Strato DL e strati OSI adiacenti Strato di collegamento (DL) Protocollo di Rete Strato di Rete DL- utente DL- servizio Protocollo di Collegamento Strato di Collegamento Strato Fisico 2 Strato di collegamento (DL) Strato di collegamento (DL) delimitazione controllo di errore recupero di errore, controllo di flusso Strato DL, esempi HDLC/LAPB/X.25 SLIP PPP Strato di collegamento (DL) Assicura l indipendenza della comunicazione dalle caratteristiche del sottostante strato fisico (indipendenza dalle sue modalità operative) Fornisce i meccanismi per il trasferimento di blocchi di informazione (UI) garantendo una corretta delimitazione e identificazione delle stesse lo strato fisico è in generale capace di trasferire solo blocchi elementari di informazione (bit o byte) Può fornire meccanismi e procedure per un trasferimento affidabile delle informazioni (nei confronti di perdite, errori, duplicazioni, fuori sequenza) rivelazione degli errori trasmissivi recupero del corretto trasferimento delle UI in caso di errori In aggiunta, può implementare le seguenti funzioni controllo di flusso gestione (instaurazione, abbattimento e re-inizializzazione) di una DLconnessione 3 4 1
classificazione orientati al carattere orientati al bit modo di trasmissione asincrono sincrono servizio connectionless (CL) connection oriented (CO) Protocolli di linea relazioni tra le stazioni master-slave peer-to-peer canali punto-punto punto-multipunto colloquio half-duplex full-duplex Protocolli di DL Classificati in base alla minima quantità informativa che sono in grado di trattare: orientati al carattere orientati al bit Le DL-PDU, ovvero le UI di un DL protocollo, vengono indicate spesso con il termine di trama Modo di trasmissione: Asincorno Sincrono 5 6 Servizio offerto dal DL Connection oriented (CO) Connectionless (CL) trame errate scartate e ritrasmissioni a carico dei livelli superiori (LAN, ISDN dove BER è basso) Servizio DL Servizio: con connessione (connection oriented) legame logico tra le SDU scambiate (possibilità di controllo di flusso e di sequenzialità) articolato in 3 fasi (instaurazione, trasferimento, abbattimento) senza connessione (connection less) necessità di indirizzamento completo del DL-SDU possibilità di perdita di sequenza due modalità: servizio confermato servizio non confermato 7 8 2
Protocolli di linea DL: implementazione Il tipo di protocollo utilizzato e funzione della separazione tra DTE e del bit rate della linea Basso bit rate (modem): orientato al carattere (Kermit, X-Modem simplex, BSC Half-duplex) con stop&wait Alto bit-rate: orientato al bit (HDLC full-duplex) con controllo a finestra Implementazione: in gran parte implementato in un adattatore (noti come scheda di interfaccia di rete Network Interface Card) Scheda PCMCIA, scheda Ethernet Contiene RAM, DSP, interfaccia per il bus dell host e una per il link 9 10 DL-servizio con connessione Al DL-utente possono essere forniti i mezzi per Esempio di primitive di un DL-servizio con connessione instaurare una DL-connessione con un altro DL utente negoziare la voluta qualità di servizio sulla DL-connessione da instaurare trasferire DL-SDU su una DL-connessione operare un controllo di flusso operare una re-inizializzazione (reset) abbattere una DL-connessione Servizio Primitiva Tipo Parametri Instaurazione di una DL-connessione Trasferimento di dati Reset DL-CONNECT DL-DATA DL-RESET Richiesta Indicazione Risposta Conferma Richiesta Indicazione Richiesta Indicazione Risposta Conferma Indirizzo chiamante Indirizzo chiamato Qualità di servizio Qualità di servizio Origine reset Ragioni reset Abbattimento di una DL-connessione DL-DISCONNECT Richiesta Indicazione Origine abbattimento Ragioni abbattimento 11 12 3
Tipi di trasmissione Tipi di trasmissione Il livello di linea si occupa del trasferimento dati su link SERIALE Tipi di trasferimento: Parallela: informazione trasferita in parallelo (8bit) su un bus di comunicazione contenente dati segnali di temporizzazione (clock) Seriale: informazione viene serializzata e quindi trasferita un bit per volta. Esistono meccanismi di sincronizzazione che evitano l uso di segnali di temporizzazione (clock) 13 14 Configurazione di Linea Modem: (MOdulatore( DEModulatore) Tx seriali su rete pubblica Trasforma il segnale digitale in analogico e viceversa Rende il segnale idoneo alla tx 15 16 4
Interfaccia DTE-DCE DCE EIA - 232 Principali: CCITT v.24 e v.28 v.35 G.703 e G.704 17 18 Trasmissione asincrona Ogni Byte di informazione e tx separatamente dagli altri. Il clock di rx e solo nominalmente uguale a quello di tx Trasmissione sincrona Struttura in trama Tx e rx sincronizzano il loro clock prima della trasmissione Overhead di sincronizzazione e ridotto 19 20 5
Delimitazione delle trame Controllo e recupero da errori Controllo di flusso Gestione della connessione Funzioni DL Delimitazione Delimitazione delle UI all interno di un flusso o blocco di bit/byte per riconoscere/distinguere l inizio e fine di ciascuna UI Funzione eseguita in genere quando uno strato si deve interfacciare con uno strato sottostante di tipo Stream oriented in molti casi implementata sopra i protocolli di strato PH, ma anche sopra protocolli di trasporto come TCP, TLS o altri Modalità di implementazione: Sequenze di bit (flag) o caratteri speciali inseriti a inizio e fine trama Violazione del codice di linea usato a livello fisico inserimento di simboli speciali/riservati (e.g. manchester, 4/5, etc) Temporizzazioni ricevute su canali di servizio Conteggio dei caratteri o dei bit 21 22 Protocolli orientati al bit Protocolli orientati al bit Uso di Flag di delimitazione (sequenza di 8 bit): es. Sequenza di flag 01111110. Come impedire la presenza casule del flag? informazione da trasmettere 1111000111111100010010101111111 inserimento bit di stuffing 111100011111011000100101011111011 Algoritmo di bit-stuffing: stuffing: dopo ogni cinque 1 consecutivi, aggiungere uno 0 de-stuffing: dopo cinque 1 togliere lo 0 seguente trama 01111110 11110001111101100010010101111101101111110 01111110 flag flag Utilizzato da HDLC, PPP, LAPB, X.25 ricezione 01111110 11110001111101100010010101111101101111110 01111110 23 riconoscimento flagd inizio eliminazione di un bit dopo 5 uno consecutivi riconoscimento flag di fine 24 6
Protocolli orientati al carattere Binary Synchronous Communications (BSC) vecchio protocollo a caratteri di IBM uso di caratteri speciali per delimitare trame (SYN) e all interno header (SOH) e dati (STX, ETX) Inserimento di simboli di inizio e fine UI L inizio e la fine della UI vengono identificati con speciali campi delimitatori (detti anche flag) composti da particolari sequenze di bit o da caratteri di controllo Esempi: Campo di delimitazione (01111110) 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 0 SYN SYN SOH Header STX Text ETX Caratteri/flag di inizio (SF) e fine (EF) SF EF SF EF SF Problema: bisogna evitare che i delimitatori appaiano all interno delle trame 25 Soluzioni: 1) i delimitatori sono caratteri non ammessi (simboli riservati) 2) bit-stuffing/char-stuffing 26 bit-stuffing & char-stuffing Obbiettivo del bit/char stuffing: eliminare (mascherare) eventuali presenze dei simboli delimitatori all interno della UI Normalmente gli algoritmi utilizzati operano sul blocco dati da inviare in modo sequenziale operando in modo sequenziale sui simboli elementari (bit o byte) componenti la UI char stuffing: : esempio Char di delimitazione di inizio e di fine: END (decimal 192) Stuffing: If a data byte is the same code as END char, a two byte sequence of ESC (decimal 219) + 220 is sent instead (i.e. 192 219+220) If a data byte is the same code as ESC char, a two byte sequence of ESC+221 is sent instead (i.e. 219 219+221) riempimento (stuffing) delimitazione svuotamento delimitazione Sequenza originaria di cifre binarie 11 12 9 219 7 192 220 14 Sequenza dopo l'operazione di riempimento char di stuffing 11 12 9 219 221 7 219 220 220 14 flag Sequenza inviata (e ricevuta) delimitatori 192 11 12 9 219 221 7 219 220 220 14 192.... 27 Sequenza dopo l'operazione di svuotamento 11 12 9 219 7 192 220 14 28 7
Delimitazione delle trame RS-232 trasmissione seriale asincrona delimitazione attraverso approccio misto bit di start (1 transizione alto-basso) e conteggio dei bit (8 bits) per la fine PCM trasmissione sincrona (plesiocrona) delimitazione attraverso conteggio dei bit e dei bytes (allineamento di byte e allineamento di trama) Delimitazione delle trame Ethernet delimitazione attraverso simboli speciali codifica di manchester (Ethernet 10Mb/s): bit di start dopo preambolo e assenza di carrier per la fine della trama codifica 4B/5B (Ethernet 100Mb/s): in altri casi, utilizzo di simboli riservati (e.g. codifica 4/5B) SLIP delimitazione attraverso carattere di END alla fine (e opz. anche all inizio) utilizzo di char stuffing 29 30 Delimitazione delle trame HDLC, LAPB, X.25, PPP delimitazione tramite Flag (01111110) utilizzo di bit stuffing HTTP delimitazione tramite flag di fine message header (linea vuota = CRLF), più conteggio dei carattteri del payload ovvero [RFC 2616]: Any response message which does not include a message-body (such as the 1xx, 204, and 304 responses) is always terminated by the first empty line (CRLF) after the header fields If a Content-Length header field is present, its decimal value in OCTETs represents the body (payload) length Delimitazione delle trame Controllo e recupero da errori Controllo di flusso Gestione della connessione Funzioni DL 31 32 8
Controllo d errored Controllo d errored In ricezione è possibile che venga riconosciuta una sequenza di bit diversa da quella trasmessa (bit errati) 10011010100100100101000101000 100010101001 1010010100011000 cause a livello fisico: rumore termico (mezzi trasmissivi, apparati di ricezione e trasmissione) interferenza da altre trasmissioni sullo stesso mezzo disturbi elettromagnetici perdite di sincronismo I livelli della pila possono introdurre dei rimedi agli errori collaborando ad offrire un servizio con basso tasso di errore trasporto rete linea fisico trasporto rete linea fisico 33 34 9