Domanda

Osservando gli standard di livello di collegamento dati, ad esempio il formato generale frame PPP o Ethernet , non è chiaro che cosa succede se il checksum non è valido. Come funziona il protocollo sa dove inizia il fotogramma successivo?

Ha solo la scansione per la prossima occorrenza di "flag" (nel caso di PPP)? Se è così, che cosa succede se il payload del pacchetto così succede a contenere "flag" in sé? Il mio punto è che, se si utilizzano campi "length" packet-framing o, non è chiaro come recuperare da pacchetti non validi in cui il campo "lunghezza" potrebbe essere danneggiato o byte "framing" potrebbe solo così capita di essere parte della payload dei pacchetti.

Aggiorna : ho trovato "framing GFP CRC-based" quello che cercavo (che non è strettamente quello che ho chiesto circa) di alzare lo sguardo. Secondo Comunicazione reti

  

Il ricevitore GFP sincronizza sul telaio GFP confine attraverso un processo a tre stati. Il ricevitore è inizialmente nella Stato di caccia , dove si esamina quattro byte alla volta per vedere se il CRC calcolato sui primi due byte è uguale il contenuto dei successivi due byte. Se non viene trovata la GFP avanza di un byte come GFP assume trasmissione sincrona ottetto proposta dal livello fisico. Quando il ricevitore trova una corrispondenza si muove al Stato di pre-sync . Mentre in questo stato intermedio ricevitore utilizza il campo sperimentale PLI (indicatore di lunghezza payload) per determinare la posizione del successivo fotogramma. Se un numero di destinazione N di rilevamento telaio successo è stato raggiunto, allora il ricevitore si muove nel stato di sincronizzazione . Lo stato di sincronizzazione è stato normale in cui il ricevitore esamina ogni PLI, convalida utilizzando CHEC (controllo di errori intestazione core), estrae il carico utile, e procede al frame successivo.

In breve, ciascun pacchetto inizia con "lunghezza" e "CRC (lunghezza)". Non c'è bisogno di fuggire i caratteri e la lunghezza del pacchetto è noto prima del tempo.

Sembra esserci due principali approcci al pacchetto di inquadratura:

  • schemi di codifica (bit / byte stuffing, Manchester codifica, 4B5B, 8b10b, etc)
  • Dati non modificato + checksum (GFP)

Il primo è più sicuro, il secondo è più efficiente. Entrambi sono inclini a errori se il carico utile succede solo a contenere un pacchetto valido e corruzione riga causa i byte procedimento per contenere il "inizio di frame" sequenza di byte ma che suona altamente improbabile. E 'difficile trovare i numeri duri per la robustezza della GFP, ma un sacco di protocolli moderni sembrano utilizzare in modo si può supporre che sanno quello che stanno facendo.

È stato utile?

Soluzione

Sei abbastanza vicino alla risposta corretta già. Fondamentalmente se inizia con un preambolo e termina in qualcosa che corrisponde come una somma di controllo, è un telaio e passato fino a strati superiori.

PPP e ethernet sia cercare il prossimo segnale di avvio telaio. Nel caso di Ethernet, è il preambolo, una sequenza di 64 bit alternati. Se un decodificatore ethernet vede che, assume semplicemente ciò che segue è una cornice. Catturando i bit e quindi verificare se il checksum corrisponde, si decide se ha un frame valido.

Per quanto riguarda il payload contenente il FLAG, in PPP È sfuggito con byte aggiuntivi per impedire tale interpretazione.

Altri suggerimenti

Sia PPP ed Ethernet hanno meccanismi per inquadrare - cioè, per rompere un flusso di bit fino in cornici, in modo che se un ricevitore perde traccia di ciò è quello che, si può prendere all'inizio del fotogramma successivo . Questi si siedono a destra nella parte inferiore dello stack di protocollo; tutti gli altri dettagli del protocollo sono costruite sull'idea di fotogrammi. In particolare, il preambolo, LCP, e FCS sono ad un livello superiore, e sono non usato per controllare inquadratura.

PPP, su collegamenti seriali come dial-up, è incorniciato utilizzando HDLC-come inquadratura . Un valore di byte di 0x7e, chiamato sequenza bandiera, indica l'inizio del frame. Il telaio prosegue fino al successivo bandiera byte. Qualsiasi verificarsi del byte bandiera nel contenuto del frame è fuoriuscito. Escaping viene applicato scrivendo 0x7D, noto come il byte di controllo di fuga, seguito dal byte di escape xor'd con 0x20. La sequenza di flag è sfuggito a 0x5e; la fuga controllo stesso deve anche essere sfuggito, a 0x5D. Altri valori possono anche essere sfuggiti se la loro presenza avrebbe sconvolto il modem. Di conseguenza, se un ricevitore perde la sincronizzazione, si può leggere solo e scartare byte finché vede un 0x7e, in cui la punta sa che è all'inizio di un telaio di nuovo. I contenuti del frame vengono strutturati, contenente alcune piccole linee dispari che non sono realmente importanti, ma sono trattenuti da una precedente protocollo IBM, insieme con il pacchetto PPP (chiamato un'unità di dati di protocollo, PDU), e inoltre il controllo telaio sequenza (FCS).

Ethernet utilizza un approccio logicamente simile, di avere simboli riconoscibili come frame iniziale e finale marcatori anziché dati, ma piuttosto che byte riservati più un meccanismo di fuga, utilizza uno schema di codifica in grado di esprimere i simboli di controllo speciali che sono distinti dai byte di dati - un po 'come usare punteggiatura per rompere una sequenza di lettere. I dettagli del sistema utilizzato variano con la velocità.

standard (10 Mb / s) ethernet è codificato utilizzando una cosa chiamata Manchester codifica , in che ogni bit da trasmettere è rappresentato come due successivi livelli sulla linea, in modo che vi sia sempre una transizione tra livelli in ogni bit, che aiuta il ricevitore a rimanere sincronizzato. limiti di frame sono indicati dal violare la regola di codifica, che porta a non essere un po 'senza transizione (ho letto questo in un libro anni fa, ma non riesco a trovare una citazione in linea - potrei sbagliarmi su questo). In effetti, questo sistema si espande il codice binario a tre simboli -. 0, 1, e violazione

veloce (100 Mb / s) ethernet utilizza uno schema di codifica diverso, basato su un 5b / 4b codice , dove gruppi di quattro bit di dati (nybble) sono rappresentati come gruppi di cinque bit sul filo, e trasmessi direttamente, senza il regime Manchester. L'espansione di cinque bit consente sedici modelli necessari utilizzati essere scelti per soddisfare il requisito di transizioni di livello frequenti, di nuovo per aiutare il ricevitore rimanere sincronizzato. Tuttavia, c'è ancora spazio per scegliere alcuni simboli aggiuntivi, che possono essere trasmessi, ma non corrispondono al valore dei dati, in effetti, ampliando il set di nybble a ventiquattro simboli - le nybble 0 a F, e simboli chiamati A, E , J, K, T, R, S e H. Ethernet utilizza una coppia JK per marcare inizia telaio, e TR per marcare le estremità del telaio.

Gigabit Ethernet è simile a Fast Ethernet, ma con uno schema di codifica diversa - le versioni in fibra ottica utilizza un 8b codice / 10b anziché il codice 5b / 4b, e la versione twisted-pair utilizza qualche accordo codice quinary molto complessa che non capisco. Entrambi gli approcci producono lo stesso risultato, che è la capacità di trasmettere sia byte di dati o uno di un piccolo insieme di addsimboli speciali pre- sentano, e quei simboli speciali sono utilizzati per inquadrare.

In cima a questa struttura di base framing, v'è quindi un preambolo fisso, seguita da un delimitatore telaio, ed alcuni campi di controllo di diversa inutilità (ciao, LLC / SNAP!). Validità di questi campi può essere utilizzato per convalidare il telaio, ma non può essere usato per definire cornici per conto proprio.

Per quanto ne so, PPP supporta solo il rilevamento degli errori, e non supporta alcuna forma di correzione di errori o di recupero.

Sostenuta da Cisco qui: http: / /www.cisco.com/en/US/docs/internetworking/technology/handbook/PPP.html

sezione Attivazione linea Wikipedia PPP descrive i principi fondamentali di RFC 1661. Un Frame Check sequenza è utilizzato per rilevare errori di trasmissione in un frame (descritto nella sezione precedente Encapsulation).

Lo schema da RFC 1661 in questa pagina Wikipedia descrive come la fase del protocollo di rete può ripartire con Link Establishment su un errore.


Inoltre, le note dalla pagina Cisco sollevata dal Suvesh.

  

protocollo PPP Link-controllo

     

Il PPP LCP fornisce un metodo per stabilire, configurazione, la manutenzione, e che chiude la connessione point-to-point. LCP passa attraverso quattro fasi distinte.

     

In primo luogo, la creazione di collegamento e la negoziazione di configurazione si verificano. Prima i datagrammi del livello di rete (per esempio, IP) può essere scambiato, LCP prima deve aprire la connessione e negoziare i parametri di configurazione. Questa fase è completata quando un frame di configurazione-riconoscimento è stato inviati e ricevuti.

     

Questa è seguita dalla determinazione della qualità del collegamento. LCP consente una fase di determinazione della qualità del collegamento opzionale seguendo il link-establishment e la fase di configurazione-negoziazione. In questa fase, il collegamento viene verificato per determinare se la qualità del collegamento è sufficiente per richiamare protocolli di livello di rete. Questa fase è facoltativa. CMP può ritardare la trasmissione di informazioni di rete protocollo di livello fino a questa fase è completata.

     

A questo punto, rete protocollo a livello di negoziazione configurazione si verifica. Dopo LCP ha terminato la fase di determinazione della qualità del collegamento, protocolli di livello di rete possono essere configurate separatamente dal PCN appropriato e possono essere portati e smontati in qualsiasi momento. Se LCP chiude il collegamento, informa i protocolli di livello di rete in modo che possano prendere i provvedimenti opportuni.

     

Infine, la risoluzione si verifica di collegamento. LCP può terminare il link in qualsiasi momento. Questo di solito è fatto su richiesta di un utente, ma può accadere a causa di un evento fisico, come ad esempio la perdita del vettore o della scadenza di un timer di inattività periodo.

     

Esistono tre classi di frame LCP. telai Link-establishment vengono utilizzati per stabilire e configurare un collegamento. telai Link-terminazione sono utilizzati per interrompere un collegamento, e le cornici link-manutenzione vengono utilizzati per gestire e il debug di un collegamento.

     

Questi telai sono utilizzati per compiere l'opera di ciascuna delle fasi LCP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top