Fisico e Data Link
Transcript
Fisico e Data Link
Livello fisico Mezzi trasmissivi • mezzi elettrici (cavi) - energia elettrica • mezzi wireless (onde radio) - onda elettromagnetica (combinazione di campo elettrico e magnetico variabili, che si propaga nello spazio e induce a distanza una corrente elettrica in un dispositivo ricevente (antenna)) • mezzi ottici (LED, laser e fibre ottiche) - luce trasmissione di segnale analogico - variazioni graduali e continue segnale digitale - variazioni brusche in un piccolo insieme di valori trasformazioni di tipo di segnale Analisi armonica una funzione sinusoidale (es: sin, cos) è caratterizzata da •ampiezza A (differenza fra il valore massimo ed minimo) •periodo T (la quantità di tempo trascorsa la quale la funzione si ripete) •frequenza (inverso del periodo f = 1/T, misurata in cicli al secondo (Hz)) g(t) = ∞ 1 ∞ c ∑ ansen(2 π nft) + ∑ bn cos(2 π nft) 2 n=1 n =1 Una funzione g(t) definita in un intervallo T si può esprimere come una combinazione lineari di funzioni sinusoidali, dove f=1/T è la frequenza fondamentale e an e bn sono le ampiezze dell’n-esima armonica (o termine), che ha una frequenza n volte più grande della frequenza fondamentale c, an e bn sono calcolabili come opportuni integrali di g(t) in t Analisi di Fourier segnale --> intervallo di frequenza --- banda di frequenza RT2.2 1 Nyquist - Shannon I mezzi fisici hanno una banda passante: intervallo di frequenze che il mezzo può trasmettere senza alterazione () Alterazioni: attenuazione - ritardo Teorema di Nyquist un segnale analogico di banda h (0,h)Hz può essere completamente ricostruito con una campionatura di 2h volte/sec Max data rate di un canale di comunicazione con banda passante h che trasporta un segnale di V livelli discreti è 2 h log2 V Teorema di Shannon - canali con rumore Max data rate di un canale di comunicazione con banda passante h e rapporto segnale/rumore S/N è 2 h log2 (1+S/N) S/N rapporto fra potenza di segnale e di rumore, in decibel es:banda 3kHz, S/N=30dB max data rate 30.000 bps RT2.3 Mezzi Trasmissivi 1/3 Doppino Intrecciato coppia di conduttori in rame intrecciati elicoidalmente connessioni teminali del sistema telefonico Larghezza di banda alcuni Mbps fino a qualche km Conduttore di rame Cavo Coassiale Strato isolante miglior isolamnento nel sistema telefonico per lunghe distanze () baseband tutta la banda per una trasmissione digitale broadband multiplazione della banda per più trasmissioni distinte contemporanee Rivestimento esterno Calza metallica RT2.4 2 Mezzi Trasmissivi 2/3 Fibre ottiche più recenti - core cilindro in vetro, cladding strato esterno di vetro con un diverso indice di rifrazione, guaina protettiva Core Cladding Rivestimento Aria Silicio Cladding Core Velocità fino a 50.000 Gbps (50 Tbps) Bassissimo tasso di errore Leggerezza, insensibilità a disturbi elettromagnetici, difficoltà di intrusione Guaina esterna Necessità di conversione del segnale, costi di congiunzioni,comunicazione unidirezionale RT2.5 Mezzi Trasmissivi 3/3 Wireless parti di spettro elettromagnetico utilizzabili per trasmissione dati: onde radio - microonde - infrarossi - luce visibile - raggi UV assegnazione delle frequenze diverse capacità di superare ostacoli in base alla frequenza interferenze elettromagnetiche trasmissione inerentemente broadcast velocità di trasmissione funzione dell’ampiezza di banda utilizzata modulazione di frequenza di ampiezza di fase RT2.6 3 Sistema Telefonico Utilizzato da reti di computer, nato per la fonia velocità 107 - 108 tasso di errore 1 su 1012 - 1013 velocità 104 - 105 tasso di errore 1 su 105 cavo fra computer linea telefonica Centrale di commutazione Local loop Trunk Trunk:cavicoassiali/microonde/fibre ottiche RT2.7 Trasformazioni di segnale Modem - trasfomazione analogico-digitale Codec - centralina di commutazione - trasfomazione segnale Modem Codec Local loop Trunk Digitale Digitale Digitale Digitale Analogico Analogico Se la banda passante è di 3kHz, allora max data rate è 6 kbps per segnali binari Velocità maggiori con trasmissione di più valori Tecniche di modulazione (frequenza - ampiezza - fase) Es. 16 valori, 4 bit per baud; in una linea di 2400 baud si può trasmettere a 9600 bps Baud : velocità di segnalazione di una linea, quante volte al secondo può cambiare valore RT2.8 4 Standard di livello fisico Modem - trasfomazione analogico-digitale standard emessi da ITU su linea a 2.400 baud: V.32 velocità di 14.49.600 bps - 4 bit per baud V.32 bis 14.400 bps - 6 bit per baud V.34 28.800 bps - 12 bit per bad Compressione dei dati - standard V.42 bis emesso da ITU MNP 5 de facto (Microcom Network Protocol) Esempi di protocolli di livello fisico - interfaccia fra computer (DTE, Data Terminal Equipment) e modem (DCE, Data Circuit-terminating Equipment) in termini elettrici - meccanici - funzionali - procedurali Es: standard RS-232-C ed il molto simile V.24 del CCITT RT2.9 Livello Data Link offre una comunicazione affidabile ed efficiente a due macchine adiacenti, cioé connesse fisicamente da un canale di comunicazione Problemi dovuti ad errori - data rate - ritardo Funzioni - offre al livello network un’interfaccia ben definita - framing - gestione degli errori di trasmissione - controllo del flusso di traffico Servizi trasferimento dati dal livello network di origine al livello network di destinazione Servizio senza connessione non affidabile per canali con basso tasso di errore, traffico real-time, comune nelle LAN Servizio senza connessione affidabile per canali non affidabili (es. wireless) - possibili copie multiple Servizio orientato alla connessione e affidabile RT2.10 5 Gestione degli errori Rilevazione ed eventuale correzione • In trasmissione • spezza il flusso di bit in arrivo dal livello 3 in una serie di frame • calcola un'apposita funzione (checksum) per ogni frame • inserisce il checksum nel frame • consegna il frame al livello 1, che lo spedisce come sequenza di bit. • In ricezione • riceve una sequenza di bit dal livello 1 • ricostruisce i frame • per ogni frame ricalcola il checksum; • se è uguale a quello contenuto nel frame questo viene accettato, altrimenti viene considerato errato e scartato Prima cosa : come delimitare un singolo frame • conteggio dei caratteri • caratteri di inizio e fine, con character stuffing • bit pattern di inizio e fine, con bit stuffing • violazioni della codifica dei bit usata nel livello 1 RT2.11 Framing - tecniche 1/2 Conteggio caratteri Indicazione nell'header del numero di caratteri nel frame Bassa affidabilità - poco usato Caratteri di inizio e fine Inizio e fine con una particolare sequenza di caratteri ASCII • inizio frame - DLE (Data Link Escape), STX (Start of TeXt) • fine frame - DLE, ETX (End of TeXt) Ambiguità in caso di trasmissione di un byte corrispondente alla codifica di un delimitatore (es DLE) -- il livello 2 sorgente aggiunge davanti a tale byte un altro DLE, per cui in arrivo solo i singoli DLE segnano i confini dei frame -- il livello 2 destinazione rimuove i DLE aggiunti prima di consegnarli al livello 3 character stuffing Tecnica legata alla codifica ASCII ad 8 bit RT2.12 6 Framing - tecniche 2/2 Bit pattern di inizio e fine Inizio e fine con una particolare sequenza di caratteri ASCII Ogni frame inizia e finisce con flag byte (specifica sequenza di bit - bit pattern) Ambiguità possibile - Disambiguare con la tecnica del bit stuffing Es: flag byte 01111110 • in trasmissione: ogni volta che il livello 2 incontra nei dati da trasmettere 5 bit consecutivi uguali a 1 inserisce uno zero aggiuntivo • in ricezione: quando nei dati ricevuti compaiono 5 bit uguali a uno, si rimuove lo zero che li segue --> il flag byte può apparire solo all'inizio ed alla fine dei frame 3.1.4) Violazioni della codifica Violazione della codifica In molte reti (LAN) si codificano i bit al livello fisico con una certa ridondanza Ad Es.: il valore 1 (0) di un bit di dati è codificato con la coppia high/low (low/high) di bit fisici, e le coppie low/low ed high/high non sono usate Manchester encoding, usata in IEEE 802.3 Semplice determinazione dei confini di un bit dati Le coppie high/high e low/low possono essere usate per delimitare i frame RT2.13 Gestione errori Cause di errore • rumore di fondo • disturbi improvvisi • interferenze Approcci alla gestione degli errori: • correzione dell'errore : includere informazione aggiuntiva in modo da poter ricostruire il messaggio originario • rilevazione dell'errore : includere meno informazione aggiuntiva, rilevare un errore, senza necessariamente correggerlo Codici per la correzione degli errori frame (parola di codice) n=m+r bit • m bit : messaggio • r bit ridondanti (check bit) distanza di Hamming di due qualunque parole di codice il numero di bit che in esse differiscono Es:1000 1001 1011 0001 RT2.14 7 Correzione errori Date due parole con distanza di Hamming d, occorrono esattamente d errori su singoli bit per trasformare l'una nell'altra codice (code): insieme prefissato di parole di codice distanza di Hamming di un codice : min delle distanze di H. fra tutte le possibili coppie di parole del codice In particolare: - per rilevare d errori occorre un codice con distanza di Hamming (d+1) (qualunque combinazione di d errori non riesce a trasformare una parola valida in un altra valida) - per correggere d errori, occorre un codice di Hamming con distanza (2d+1) (una parola con d errori è più vicina a all’originale che a qualunque altra parola) Progettare algoritmi per il calcolo degli r check bit (in funzione degli m bit del messaggio) in modo che le parole di n = m + r bit risultanti costituiscano un codice con la desiderata distanza di Hamming codice di parità (parity code) ha distanza di Hamming uguale a 2, e rileva errori singoli RT2.15 Rilevazione errori Correzione di errori usata raramente per overhead Rilevazione - alcuni metodi Cyclic Redundancy Code (CRC) stringhe di bit come rappresentazioni di polinomi a coefficenti binari Es.: 1101 corrisponde al polinomio x3 + x2 + x0. Aritmetica polinomiale modulo 2, secondo le regole della teoria dei campi • + e - equivalgono all'or esclusivo • / come in binario, è calcolata attraverso la sottrazione modulo 2 polinomio generatore G(x) di r bit frame M(x), del quale calcolare il checksum, di m bit m>r 1. Il mittente appende in coda al frame un checksum in modo che il polinomio corrispondente (di grado m + r -1) sia divisibile per G(x) -- xrM(x) 2. Il ricevitore ricevuto il frame e checksum, divide il tutto per G(x) se il risultato non è zero c'è stato un errore RT2.16 8 CRC Metodo molto potente un codice polinomiale con r bit • rileva tutti gli errori singoli e doppi • rileva tutti gli errori di x bit, x dispari • rileva tutti i burst di errori di lunghezza ≤ r Tra i polinomi sono diventati standard internazionali: • CRC-12 x12 + x11 + x3 + x2 + x1 + 1 • CRC-16 x16 + x15 +x2 + 1 • CRC-CCITT x16 + x12 + x5 + 1 Un checksum a 16 bit corregge: • errori singoli e doppi • errori di numero dispari di bit • errori burst di lunghezza ≤ 16 • 99.997% di burst lunghi 17 • 99.998% di burst lunghi 18 Sotto ipotesi di uniformità RT2.17 Gestione della sequenza Conferme di trasmissione • il frame è arrivato correttamente (positive ack) • il frame è errato (negative ack) frame dati frame di ack Problema un frame può perdersi e il mittente rimanere bloccato in attesa di un ack che non arriverà mai Soluzione time -out del mittente per la ricezione dell'ack, ritrasmissione Problema se si perde l'ack, il destinatario può trovarsi più copie del frame Soluzione il mittente numera la sequenza all'interno di ogni frame dati RT2.18 9 Gestione del flusso Controllo del flusso di dati - Vari algoritmi di livello data link Assunzioni - nei livelli 1, 2 e 3 un insieme di processi (hw/sw) indipendenti comunicano fra loro scambiandosi messaggi mittente - quando il sw di livello 2 riceve un pacchetto dal livello 3, lo incapsula in un header ed un trailer con informazioni di controllo, poi calcola checksum e delimitatori (solitamente con hw apposito di livello 2) - il frame viene passato al livello 1 per la trasmissione destinatario - in ricezione, l' hw di livello 2 identifica i delimitatori, estrae il frame, ricalcola il checksum - se è sbagliato, il sw di livello 2 viene informato dell'errore, altrimenti il livello 2 riceve il frame (senza checksum) - il SW di livello 2 quando riceve un frame esamina le informazioni di controllo (header e il trailer) - se è OK consegna il pacchetto (solo) al livello 3, altrimenti attua le operazioni di recupero e non consegna il pacchetto al livello 3 RT2.19 Frame Struttura frame kind seq ack info Header kind seq ack info distingue il tipo di frame (dati, solo controllo, ...) numero progressivo del frame informazioni legate all'acknowledgement pacchetto di livello network completo (comprendente le informazioni di controllo di livello 3) RT2.20 10 Protocollo Ideale canale simplex molto semplice assunzioni (non realistiche) • trasmissione dei frame unidirezionale • le peer entity di livello network sono sempre pronte (non devono mai attendere per inviare o ricevere al/dal livello data link) • si ignora il tempo di elaborazione del livello data link • buffer del destinatario con spazio infinito • il canale fisico esente da errori Il protocollo : due procedure (mittente e destinatario) Mittente (loop infinito) 1. attende un pacchetto dal livello network 2. costruisce un frame dati 3. passa il frame al livello fisico 4. torna ad 1 Destinatario (loop infinito) 1. attende evento * arriva frame da livello fisico 2. estrae pacchetto 3. lo passa al livello network 4. torna ad 1 RT2.21 Protocollo Simplex Stop and Wait canale simplex stesse ipotesi precedenti eccetto • buffer del destinatario con spazio finito Il mittente deve essere opportunamente rallentato Non con ritardi prefissati (caso pessimo) Soluzione il destinatario invia una esplicita autorizzazione all'invio del prossimo frame; il mittente attende un OK dal destinatario stop and wait Mittente (loop infinito) 1. attende un pacchetto dal livello network; 2. costruisce un frame dati; 3. passa il frame al livello fisico; 4. attende evento: * arriva frame di ack (vuoto): 5. torna ad 1. Destinatario (loop infinito) 1. attende evento: * arriva frame dati da livello fisico: 2. estrae il pacchetto; 3. consegna il pacchetto al livello network; 4. invia un frame di ack (vuoto) al mittente; 5. torna ad 1. RT2.22 11 Protocollo Simplex per canale rumoroso canale simplex stesse ipotesi del protocollo simplex stop and wait eccetto • canale soggetto ad errori Protocollo precedente + timer per il mittente 1. Mittente invia frame e fa partire un timer; se non arriva l’ack entro il tempo ripete l’invio 2. Destinatario invia un ack quando riceve un frame senza errori ----->> possibile duplicazione in caso di perdita dell’ack Numero di sequenza nell’header del frame - campo seq valori …0101010101… Il mittente aspetta un ack prima di trasmettere il prossimo frame PAR (Positive Ack with Retransmission) o ARQ (Automatic Repeat Request) RT2.23 Protocollo Simplex per canale rumoroso - Algoritmo Mittente (loop infinito; [seq] rappresenta il campo seq di un frame) 0. n_seq = 0; 1. n_seq = 1 - n_seq; 2.attende un pacchetto dal livello network; 3. costruisce frame dati e copia n_seq in [seq]; 4. passa il frame dati al livello fisico; 5. resetta il timer; 6.attende un evento: * timer scaduto: torna a 4. * arriva frame di ack (vuoto) non valido: torna a 4. * arriva frame di ack (vuoto) valido: torna ad 1. Destinatario (loop infinito; [seq] rappresenta il campo seq di un frame) 0. n_exp = 1; 1. attende evento; * arriva frame dati valido da livello fisico: 2. se ([seq] == n_exp) 2.1. estrae pacchetto 2.2 lo consegna al livello network 2.3 n_exp = 1 - n_exp 3. invia frame di ack (vuoto) 4. torna ad 1. * arriva frame non valido: torna ad 1. RT2.24 12 Protocollo Simplex per canale rumoroso - Esempi 1 - Il mittente etichetta i frame dati con la sequenza ...0,1,0,1..., ma passa all'etichetta e frame successivi solo quando arriva un ack; finché ciò non succede, continua a ritrasmettere lo stesso frame - Il destinatario invia un ack di conferma per tutti i frame dati privi di errori, ma consegna al livello network solo quelli giusti, e cioé etichettati secondo la sequenza ...0,1,0,1.… Mittente Destinatario 1 x ack() trasmissione normale 0 1 x+1 ack() 1 0 x+2 1 ecc. RT2.25 Protocollo Simplex per canale rumoroso - Esempi 2 Mittente 1 Perdita di un frame Destinatario x ack() x+1 Timeout 0 1 Ritrasmissione 0 x+1 ack() 1 0 x+2 ecc. 1 RT2.26 13 Protocollo Simplex per canale rumoroso - Esempi 3 Mittente Destinatario 1 x Timeout Perdita di un ack 1 ack() 1 x 0 (non passa a livello network) ack() 0 Ritrasmissione x+1 0 ack() 1 x+2 1 ecc. RT2.27 Timeout Mittente Timeout Timeout troppo breve Vengono associati 1 1 0 Vengono associati x ack() x 0 (non passa a livello network) x+2 ack() 0 1 x+1 ack() 1 Perdita di (x+1) e (x+2) a livello rete Destinatario 0 (non passa a livello network) x+3 ack() 0 ecc. RT2.28 14 Modifica Mittente Invio di ack solo per frame non duplicati 1 Timeout x 1 ack() 1 x Timeout Possibile blocco Destinatario 0 (non passa a livello network) 1 Timeout x 0 (non passa a livello network) 1 x ecc., blocco! 0 (non passa a livello network) RT2.29 Canale duplex dati A -> B ack A -> B dati A -> B dati A -> B B A ack B -> A dati B -> A ack B -> A dati B -> A Comunicazione bidirezionale su un unico canale ack A -> B dati A -> B ack A -> B dati A -> B B A dati B -> A ack B -> A dati B -> A ack B -> A Piggybacking Risparmio di banda utilizzata , uso CPU RT2.30 15 Protocollo a finestra scorrevole - finestra del mittente canale full duplex - Algoritmi più r obusti • ogni frame inviato ha un numero di sequenza, da 0 a 2n-1 (il campo seq è di n bit) • ad ogni istante il mittente mantiene una finestra scorrevole sugli indici dei frame: solo quelli entro la finestra possono essere trasmessi • I numeri di sequenza nella finestra indicano frame da spedire o spediti, ma non ancora confermati • quando arriva dal livello network un pacchetto, si aggiunge un nuovo indice nella finestra • quando arriva un ack, l’indice corrispondente esce dalla finestra • i frame dentro la finestra devono essere mantenuti in memoria per la possibile ritrasmissione • se il buffer è pieno, il livello data link deve costringere il livello network a sospendere la consegna di pacchetti Finestra scorrevole ... 3 4 5 6 7 8 9 10 11 ... Indici dentro la finestra RT2.31 Protocollo a finestra scorrevole - finestra del destinatario • il destinatario mantiene una finestra con gli indici dei frame che possono essere accettati • se arriva un frame il cui indice è fuori dalla finestra • il frame viene scartato (non si invia il relativo ack) • se arriva un frame il cui indice è nella finestra • il frame viene accettato • viene spedito il relativo ack • la finestra viene spostata in avanti • NB: la finestra del destinatario rimane di dimensione costante se è 1 è garantito l’ordine, altrimento no Le finestre di mittente e destinatario non devono necessariamente avere uguali dimensioni, né uguali limiti inferiori o superiori Protocolli di livello data link con maggiore libertà nell'ordine di trasmissione, ma • i pacchetti devono essere riconsegnati ordinati al livello network • il canale fisico è wire-like, cioé consegna i frame nell'ordine di partenza RT2.32 16 Protocollo a finestra scorrevole di un bit - stop and wait • Mittente e destinatario usano una finestra di dimensione 1 • Protocollo stop and wait mittente e destinatario usano lo stesso algoritmo • il mittente, quando invia un frame, fa partire un timer • se prima della scadenza del timer arriva un ack con lo stesso numero di sequenza del frame che si sta cercando di trasmettere, si avanza la finestra e si passa a trasmettere il frame successivo • se arriva un ack diverso o scade il timer, si ritrasmette il frame • il destinatario • quando arriva un frame corretto, senza errori, invia un ack col corrispondente numero di sequenza • se il frame non è un duplicato lo passa al livello network e avanza la finestra l'ack è etichettato col numero di sequenza del frame a cui si riferisce I valori sono solo 0 e 1 Possibile ritrasmissione inutile di qualche frame, ma questo protocollo è sicuro RT2.33 Protocolli a finestra scorrevole - go-back-n 1/2 I protocolli stop-and-wait sono mlto inefficienti se il tempo di andata e ritorno del segnale (round-trip time) è alto (es. canali satellitari 500 + 500 msec) pipelining consentire l'invio di (alcuni) frame anche senza aver ricevuto il primo ack Problema se un frame nella sequenza si rovina molti altri frame vengono spediti prima che ciò sia notificato al mittente Prima soluzione protocollo go-back-n • il destinatario, se arriva un frame danneggiato o con un numero di sequenza non progressivo, lo ignora e ignora tutti i successivi, senza inviare gli ack • finestra di ricezione di dimensione 1 • Il destinatario accetta solo frame ordinati • il mittente quando rileva per time-out l’errore sul frame sbagliato, e sui successivi (scartati dal destinatario), e ritrasmettela sequenza di frame che inizia con quello per il quale si è verificato il time-out RT2.34 17 Protocolli a finestra scorrevole - go-back-n 2/2 Timeout 4 1 5 Errato 3 4 2 3 4 2 E Ecc. A ck 3 1 2 A ck A ck 0 4 3 3 A ck 2 A ck 1 0 0 4 Scartati NB: mittente deve mantenere in un buffer tutti i frame non confermati per poterli eventualmente ritrasmettere. Se il buffer si riempie, il mittente deve bloccare il livello network fino a che non si ricrea dello spazio Spreco di banda per un alto tasso d'errore e/o lungo time-out RT2.35 Protocolli a finestra scorrevole - selective repeat 1/2 • il destinatario mantiene nel suo buffer tutti i frame ricevuti successivamente ad un eventuale frame rovinato • non appena questo arriva nuovamente (senza errori), questo frame e tutti i successivi frame contigui che il destinatario ha mantenuto nel buffer vengono consegnati al livello network • per ogni frame arrivato bene, il destinatario invia un ack col numero più alto della sequenza completa arrivata fino a quel momento • il mittente, quando si verifica un timeout, rispedisce il frame corrispondente (selettivamente ripete la trasmissione) • mittente e destinatario devono entrambi gestire un buffer per frame • non confermati (mittente); • successivi ad un errore (destinatario) • basso spreco di banda, diminuibile inviando un NACK (Negative ACK) se • arriva un frame danneggiato • arriva un frame diverso da quello atteso (può indicare l'avvenuta perdita del frame precedente) RT2.36 18 Protocolli a finestra scorrevole - selective repeat 1/2 • il destinatario mantiene nel suo buffer tutti i frame ricevuti successivamente ad un eventuale frame rovinato • non appena questo arriva nuovamente (senza errori), questo frame e tutti i successivi frame contigui che il destinatario ha mantenuto nel buffer vengono consegnati al livello network • per ogni frame arrivato bene, il destinatario invia un ack col numero più alto della sequenza completa arrivata fino a quel momento • il mittente, quando si verifica un timeout, rispedisce il frame corrispondente (selettivamente ripete la trasmissione) • mittente e destinatario devono entrambi gestire un buffer per frame • non confermati (mittente); • successivi ad un errore (destinatario) • basso spreco di banda, diminuibile inviando un NACK (Negative ACK) se • arriva un frame danneggiato • arriva un frame diverso da quello atteso (può indicare l'avvenuta perdita del frame precedente) RT2.37 Esempi di protocolli Data Link - HDCL Protocolli data link più diffusi oggi: discendenti del protocollo SDLC (Synchronous Data Link Control), nato in ambito SNA - HDLC (standard ISO) - SLIP (architettura TCP/IP) - PPP (suo successore) HDLC - High Level Data Link Control protocollo bit oriented, usa la tecnica del bit stuffing formato del frame Bit: 8 8 8 ≥0 16 8 01111110 Address Control Dati Checksum 01111110 Address in linee multipunto identifica i diversi terminali Control contiene numeri di sequenza, ack, ecc. Dati contiene i dati da trasportare Checksum calcolata con CRC-CCITT RT2.38 19 Esempi di protocolli Data Link - HDCL e SLIP HDCL •usa una finestra scorrevole con numeri di sequenza a 3 bit, contenuti nel campo Seq interno al campo Control •utilizza il campo Next, anch'esso in Control, per il piggybacking degli ack •ha tre tipi di frame (identificati dai primi due bit di Control): • Information trasmissione dati • Supervisory per comandare diverse modalità di ritrasmissione • Unnumbered (non ha il numero di sequenza) per finalità di controllo o per trasportare il traffico di connessioni non affidabili SLIP - Serial Line nato nel 1984 (RFC 1055) per collegare Sun ad Internet via modem protocollo dell’Internet Protocol Suite usa character stuffing, spedendo in linea pacchetti IP terminati col byte 0xC0 Svantaggi •supporta solo IP •supporta solo indirizzi statici - ogni partedeve conoscere l’ind. IP dell’altra •non ha controllo degli errori •non c’è autenticazione •non è uno standard approvato di Internet RT2.39 Esempi di protocolli Data Link - PPP - Point to Point Protocol Standard IETF (RFC 1661, 1662, 1663) per linee telefoniche e per router funzionalità •framing •rilevamento degli errori •un protocollo di controllo per attivare, testare e diasattivare la linea (LCP, Link Control Protocol) •supporto di molteplici protocolli di livello network •un protocollo per negoziare opzioni di livello network (NCP, Network Control Protocol) • per ogni livello network supportato c'è un differente NCP • ad es., per IP, NCP negozia un indirizzo IP dinamico Il traffico derivante (nelle fasi iniziali e finali della connessione) dall'uso dei protocolli LCP e NCP viene trasportato dentro i frame PPP RT2.40 20 Esempi di protocolli Data Link - PPP Differenze fra HDLC e PPP - è character-oriented anziché bit-oriented, e utilizza il character stuffing (i frame sono costituiti da un numero intero di byte) - vi è un campo apposito per supporto multiprotocollo di rete Byte: 1 1 1 Flag 01111110 Address 11111111 Control 00000011 Flag Address Control Protocol Payload Checksum 1 Protocol Variabile Dati 2 oppure 4 1 Checksum Flag 01111110 come in HDLC sempre 11111111- non ci sono indirizzi, gestione linee multipunto default (00000011) indica un unnumbered frame, relativo ad un servizio non affidabile relativo al pacchetto nel payload (LCP, NCP, IP, IPX, Appletalk,..) di lunghezza variabile e negoziabile (default 1500 byte) normalmente di due byte (quattro sono negoziabili) RT2.41 21