ITU (CCITT) X.25 Insieme di raccomandazioni per i primi tre livelli architetturali nelle reti pubbliche per dati. Trasferimento dellinformazione a pacchetto in modalità orientata alla connessione con velocità da 75 bit/s fino a 192 Kbit/s. In Italia la rete pubblica conforme a X.25 è ITAPAC.
RETE X.25 DCE DTE DTE: Data Terminal Equipment DCE: Data Circuit-terminating Equipment
X.25 è una definizione di interfaccia tra un DTE (apparato dutente: terminale, elaboratore o concentratore) e un DCE (apparato di rete: modem e collegamento a un nodo della rete) interfaccia = protocolli dei livelli 1, 2 e 3 del modello OSI
P 1 P 2 P 3 liv. pacchetto livello trama livello fisico modem livello fisico livello trama liv. pacchetto DTEDCE DTE e DCE
DTE PSE: Packet Switching Exchange DCE PSE
strati di trasferimento trasferimento trasferimento trasferimento trasferimento utilizzazione utilizzazione apparecchioterminale nodo di accesso transito accessoapparecchioterminale sezione di accesso sezione di rete interna sezione di accesso protocolli di utilizzazione Architetture di rete
livello 3 livello 2 livello 1 livello 3 livello 2 livello 1 DTE DCEPSEDCE protocollo di applicazione protocollo di presentazione protocollo di sessione protocollo di trasporto protocolli interni non specificati da X.25
Livelli X.25 1.livello FISICO: V24 o X21bis (RS-232C) per collegamenti analogici, X.21 per collegamenti digitali, X.31 per linee ISDN 2. livello TRAMA: LAPB (HDLC) 3.livello PACCHETTO: X.25 specifica le procedure e il formato delle PDU (pacchetti) che DTE e DCE si scambiano
Altre raccomandazioni char mode DTE packet mode DTE DCEPADPSEDCE X.28 X.29 X.3 PAD: Packet Assembly/Disassembly
Livello pacchetto (3) di X.25 Due tipi di servizi: chiamata virtuale (VC): prevede tre fasi (instaurazione del collegamento, trasferimento dati, abbattimento del collegamento); i DTE si scambiano pacchetti dati e pacchetti di segnalazione
Livello pacchetto (3) di X.25 Due tipi di servizi: chiamata virtuale (VC) circuito virtuale permanente (PVC): collegamento stabilito su base contrattuale; i DTE si scambiano solo dati
Funzioni del livello pacchetto X.25 apertura e svincolo dei circuiti virtuali trasferimento dati sui circuiti virtuali recupero malfunzionamenti sui circuiti virtuali controllo di flusso controllo di sequenza multiplazione dei circuiti virtuali
Numero di canale logico A ogni VC e PVC viene assegnato un numero di gruppo di canale logico ( < 16) e un numero di canale logico ( < 256) con significato locale. connection end-point identifier E il connection end-point identifier del modello di riferimento OSI.
Numero di canale logico LIC HIC LTC HTC LOC HOC 4095 PVCVC canali unidirezionali entranti canali bidirezionali canali unidirezionali uscenti Per evitare conflitti il DTE utilizza prima i numeri alti e il DCE utilizza prima i numeri bassi.
Formato pacchetti GFILCG LCN TYPE C GFI= general format identifier LCG= logical channel group number LCN= logical channel number TYPE= packet type identifier C= bit di controllo (sempre 0 per i dati)
Pacchetti per apertura e chiusura chiamata (solo VC) DTE DCE CAR (call request) CAC (call accepted) CLR (clear request) CLC (clear confirmation) DCE DTE INC (incoming call) CON (call connected) CLI (clear indication) CLC
Pacchetti dati (VC e PVC) DTE DCEDCE DTE D (data) INT(interrupt) INTC(interrupt confirm) I pacchetti di tipo interrupt eludono il controllo di flusso.
Pacchetti per controllo di flusso DTE DCE DCE DTE RR(receiver ready) RNR(receiver not ready) REJ(reject) RR RNR REJ chiede delle ritrasmissioni da DCE a DTE
Controllo di flusso si utilizza un meccanismo a finestra la dimensione W della finestra viene negoziata con il gestore (default W = 2) il trasmettitore può inviare W pacchetti di tipo D prima di avere riscontro i riscontri sono cumulativi un pacchetto D fuori sequenza (per perdita o duplicazione) causa un RESET del circuito virtuale un riscontro fuori finestra causa un RESET del circuito virtuale
Pacchetti per reinizializzazioni DTE DCE DCE DTE RES (reset request) REC (reset confirmation) RTR (restart request) RTC (restart confirm.) REI (reset indication) REC RTI (restart indication) RTC Reset riinizializza un VC o PVC. Restart riinizializza una interfaccia, chiudendo tutte le VC.
Errori e funzioni opzionali DTE DCEDCE DTE diagnostic Registration requestRegistration confirm
Trasferimento di dati su VC X.25 DTE A DTE B CAR INC CON CAC D D D D D D D D CLR CLC CLI CLC apertura chiamata trasferim. dati chiusura chiamata figura formato CAR
Pacchetti di apertura Indirizzi Due possibilità (selezionate nel campo GFI): raccomandazione E.164 (numerazione ISDN) raccomandazione X.121 figure formati indirizzi
Facilities (prestazioni dutente) numerazione estesa utilizzo del bit D addebito al chiamato unidirezionalità del flusso dati dimensioni non standard dei pacchetti finestre non standard modalità fast select ridirezione chiamata...
Fast Select Facility X.25 DTE A DTE B CAR INC CLI CLR Permette di realizzare servizi di tipo datagram con riscontro figure macchina a stati e formato D
Pacchetto D bit Q:distingue due tipi di dati bit D:identifica ACK remoto bit M:concatenazione pacchetti (normalmente 128 byte per pacchetto) Non si esegue controllo di errore figura formato CLR
Trasferimento di dati DTE ,2 6,12 1 3,2 5 6,12 2,16
DTE B rifiuta la chiamata X.25 DTE A DTE B CAR INC CLI CLR CLC
La rete rifiuta la chiamata X.25 DTE A DTE B CAR CLI CLC
La rete svincola la VC X.25 DTE A DTE B CLI CLC CLI CLC malfunzionamento
DTE C Collisione di apertura X.25 DTE A DTE B INC CAR CLI CLC INC CON CAC Il DCE cede il passo
Collisione di chiusura X.25 DTE A DTE B CLR CLC CLI CLR Si perde la causa di svincolo specificata da DTE A
Livello trama (2) di X.25 Si occupa di trasferire correttamente le unità dati sul collegamento fisico tra DTE e DCE e viceversa. I pacchetti (PDU di livello 3) sono incapsulati nelle trame. X.25 adotta una variante del protocollo ISO HDLC (High-Level Data Link Control) denominata LAPB (Link Access Procedure Balanced)
Trame e pacchetti X.25 pacchetto informazione aggiuntiva e/o dati LCGLCG GFIGFI LCNLCN typetype delimitatore indirizzo controllo I CRCCRC delimitatore
Protocolli di livello collegamento LAPB e HDLC derivano, come altri, dal protocollo SDLC (Syncronous Data Link Control) utilizzato nellarchitettura IBM SNA. LANSI ha standardizzato SDLC come ADCCP (Advanced Data Communication Control Procedure) e lISO come HDLC. Il CCITT (poi ITU) ha derivato da HDLC LAP (Link Access Procedure) prima, LAPB poi.
Protocolli di livello collegamento Della stessa famiglia sono: LAPD (Link Access Procedure D-Channel) LAPF (Link Access Procedure to Frame Mode Bearer Service) LLC (Logical Link Control) PPP (Point-to-Point Protocol)
Caratteristiche comuni Il formato delle PDU è: protocolli orientati al bit, con bit-stuffing per garantire la trasparenza dei dati (il flag non può comparire nella PDU) lindirizzo serve per le configurazioni multipunto (master/slave) il campo di controllo differenzia le PDU indirizzo controllo dati CRC /16 >=0 16 8
Configurazione Master/Slave master slave Le PDU delle stazioni primarie (master) sono dette comandi (command), quelle delle stazioni secondarie (slave) sono dette risposte (response)
Tre gruppi di PDU 0 N(S) P/F N(R) 1 0 S S P/F N(R) 1 1 M M P/F M M M Informazione Supervisione Non numerate (Unnumbered) P/F = bit di poll/final
Tre gruppi di PDU Informazione Supervisione Non numerate (Unnumbered) Dati in modalità connessa Riscontri (positivi e negativi) Gestione collegamento Dati in modalità non connessa
Due schemi di numerazione 0 P/F 1 0 S S x x x x P/F N(R) 1 1M M P/FM M M xxxxxxxx Informazione Supervisione Non numerate (Unnumbered) Numerazione normale (modulo 8) ed estesa (modulo 128), con campi di controllo di 1 o 2 byte. N(R) N(S)
Modi operazionali (HDLC) Normal Response Mode (NRM) Adatto a linee punto-punto o multipunto sbilanciate, con una stazione primaria e una o più stazioni secondarie. La stazione primaria pone a 1 il bit di P/F e abilita la stazione secondaria, che porrà a 1 il bit P/F della sua ultima PDU.
Modi operazionali (HDLC) Asynchronous Response Mode (ARM) Adatto a configurazioni sbilanciate. La stazione secondaria non deve aspettare linterrogazione (poll) della primaria. Normal Response Mode (NRM)
Modi operazionali (HDLC) Asynchronous Response Mode (ARM) Asynchronous Balanced Mode (ABM) Utilizzato in configurazioni punto-punto bilanciate. Il bit P/F richiede risposte immediate. Normal Response Mode (NRM)
Trame di tipo I (C/R) I campi di N(S) e N(R) consentono un controllo di errore con protocollo a finestra. N(S)= numero di sequenza della PDU trasmessa N(R)= numero di sequenza della PDU attesa
Trame di supervisione (S) RR(Receiver Ready - C/R) riscontro positivo RNR(Receiver Not Ready - C/R) riscontro positivo e dichiarazione di non disponibilità del ricevitore REJ(Reject - C/R) richiesta di ritrasmissione di tutte le PDU a partire da N(R) SREJ(Selective Reject - C/R) richiesta di ritrasmissione della sola PDU N(R) e riscontro fino a N(R)-1; non ammessa da LAPB e 802.2
Trame non numerate (U) Ci sono 5 bit di tipo M, quindi si possono distinguere 32 PDU. Sei trame vengono utilizzate per (ri)inizializzare il collegamento SNRM(E) : Set Normal Response Mode SARM(E) : Set Asynchronous Response Mode SABM(E) : Set Asynchronous Balanced Mode E = numerazione estesa (Extended) Sono sempre PDU di tipo comando.
Trame non numerate (U) DISC (Disconnect - C) annuncia che il collegamento viene abbattuto UA (Unnumbered Acknowledgement - R) è il riscontro a PDU di inizializzazione o di tipo DISC DM (Disconnect Mode - R) viene emessa quando il collegamento non è inizializzato FRMR (FRaMe Reject - R) indica la ricezione di una PDU corretta ma non riconosciuta, codifica in 24 bit di dati il perchè del rifiuto
Trame non numerate (U) UI(Unnumbered Information - C/R) utilizzata per dati in modalità non orientata alla connessione XID(eXchange IDentification - C/R) TEST(C/R) UP(Unumbered Poll - C) SIM(Set Initialization Mode - C) RIM(Request Initialization Mode - R)... figura trame LAPB
Bit di Poll / Final Nelle trame di comando il bit P/F viene riferito come bit P. Nelle trame di risposta come bit F. Il bit di Poll messo a 1 dal DTE (o DCE) sollecita una risposta dal DCE (o DTE). Il bit di Final posto a 1 specifica la risposta conseguente uninterrogazione (poll). DTE e DCE non possono emettere un altro P=1 prima di aver ricevuto F = 1.
Indirizzi LAPB Il DTE ha indirizzo (3) Il DCE ha indirizzo (1) Il valore 3 è contenuto nei comandi DCE DTE e nelle risposte DTE DCE Il valore 1 è contenuto nei comandi DTE DCE e nelle risposte DCE DTE Lindirizzo permette di distinguere i comandi dalle risposte.
Q V Q V V,UA,F Q,I00 V,I10 V,I00,P V,I21 Q,I10,P V,RR2,F V,I32 V,I42 V,I52 V,I62 V,I72,P V,RR3 V,RR4 Q,I25 Q,I36 V,I03 V,I14 V,I24 Q,I47 V,RR2,F V,RR5,P Q,I52,P V,RR3,F Q,RNR6,F V,RNR6,P V,RR3,F V,DISC,P V,UA,F V,SABM,P Esempio di dialogo modo non connesso modo non connesso Q,RR2,F
Recupero errore con time-out Q V V,I10 V,I00 V,I20 V,I30 V,I40 V,I50 V,I60 V,RR7 trasferim. dati timeout V,RR0,P V,RR7,F V,I70
Q V Q,I00 V,I10 V,I00 V,I21 Q,I10 V,I32 V,I23 Q,I21 V,REJ2 Q,I31 Q,I41 trasferim. dati V,I34 V,I45 Q,I53 Recupero errore con REJ
Q V Q,I10 V,I11 V,I00,P V,I22 V,I21,F V,I33,P V,I45 Q,I31 Q,I41 Q,I61 trasferim. dati V,I16,P V,I20 V,I72,F Recupero errore con bit P/F Q,I00 V,I51,F
Recupero con time-out e REJ Q V V,I10 V,I00 V,I20 V,I30 V,I40 V,I50 V,I60 V,RR7 trasferim. dati timeout V,I00 V,REJ7 V,I70 V,I10
Parametri del protocollo T 1 timeout di ritrasmissione T 2 tempo massimo di elaborazione di una trama e invio riscontro N 1 massimo numero di bit nelle trame N 2 massimo numero di ritrasmissioni Kmassimo numero di trame non riscontrate I gestori definiscono i valori per questi parametri.
Procedura Multilink in X.25 E una prestazione opzionale che prevede lutilizzo simultaneo di più linee affasciate tra DTE e DCE. E necessario garantire la sequenzialità delle SDU trasportate.
Reti a mezzo trasmissivo condiviso LLC MAC PHY >2 2 1 PHY= Physical (e mezzi trasmissivi) MAC= Medium Access Control LLC= Logical Link Control
Servizio offerto dal livello MAC MA_DATA. request (destination_address, m_sdu, requested_service_class) requested_service_class = priorità richiesta per il trasferimento
Servizio offerto dal livello MAC MA_DATA. request (destination_address, m_sdu, requested_service_class) MA_DATA.indication (destination_address, source_address, m_sdu, reception_status, requested_service_class) reception_status = successo o fallimento del trasferimento
Servizio offerto dal livello MAC MA_DATA. request (destination_address, m_sdu, requested_service_class) MA_DATA.indication (destination_address, source_address, m_sdu, reception_status, requested_service_class) MA_DATA.confirm (transmission_status, provided_service_class)
Indirizzi MAC LLC MAC PHY = MSAP La delimitazione e il corretto trasferimento delle unità dati sono compito del livello MAC.
IEEE Logical Link Control Protocollo per reti locali ispirato a HDLC. Standard ISO 8802/2. Principali caratteristiche: protocollo orientato al carattere (non si utilizzano i delimitatori ) non si controllano gli errori (non cè il campo CRC) le PDU contengono indirizzo sorgente e indirizzo destinazione
Indirizzi LLC RETE servizio LLC LLC protocollo LLC = LSAP MAC + PHY + mezzi trasmissivi servizio MAC
Servizio LLC Tre tipi di servizio: tipo 1:Unacknowledged Connectionless Service tipo 2:Connection - Oriented Service tipo 3:Semireliable Service tipo 3:Semireliable Service
Servizio LLC tipo 2 Servizio orientato alla connessione ispirato a HDLC. Cinque insiemi di primitive di servizio: creazione della connessione trasferimento dei dati chiusura della connessione riinizializzazione della connessione controllo di flusso
Creazione della connessione L_CONNECT.request (local_address, remote_address, service_class) L_CONNECT.indication (local_address, remote_address, status, service_class) L_CONNECT.confirm (local_address, remote_address, status, service_class)
Creazione della connessione RETE LLC RETE indication request confirm Non si utilizzano le primitive di tipo response. La connessione è identificata dalla coppia di LSAP (non si usano i connection_end_point identifier)
Trasferimento dei dati L_DATA_CONNECT.request (local_address, remote_address, l_sdu) L_DATA_CONNECT.indication (local_address, remote_address, l_sdu) L_DATA_CONNECT.confirm (local_address, remote_address, status) La primitiva di conferma ha significato remoto. Il parametro service_class è associato alla connessione.
Chiusura e reset.request (local_address, remote_address).indication (local_address, remote_address, reason).confirm (local_address, remote_address, status) L_DISCONNECT L_RESET
Controllo di flusso L_CONNECTION_FLOWCONTROL.request (local_address, remote_address, amount) Regola la quantità di informazione che può essere ricevuta sullinterfaccia. RETE LLC RETE request
Controllo di flusso L_CONNECTION_FLOWCONTROL.indication (local_address, remote_address, amount) Regola la quantità di informazione che lentità del livello 3 può far passare sullinterfaccia. RETE LLC RETE indication
Protocollo LLC di tipo 2 RETE servizio LLC LLC protocollo LLC = LSAP MAC + PHY + media servizio MAC Utilizza un insieme di PDU simile a quello di LAPB.
PDU utilizzate da LLC di tipo 2 InformazioneII SupervisioneRRRRRNRREJ Non numerateSABMEUA DISCDM FRMR ComandiRisposte Si utilizza la numerazione estesa.
Formato PDU indirizzo indirizzo controllo informazione DSAP SSAP 8 bit 8 bit 8 o 16 bit 8 x M bit Un bit normalmente a zero nellindirizzo sorgente distingue i comandi dalle risposte. Il campo di controllo è di 8 bit nelle PDU non numerate, di 16 nelle PDU numerate. La dimensione massima dipende dai vincoli del livello MAC.
LLC tipo 1: servizio Servizio non connesso senza riscontri. L_DATA.request(local_address, remote_address, l_sdu, service_class) L_DATA.indication(local_address, remote_address, l_sdu service_class)
LLC tipo 1: unità dati Si usano tre PDU non numerate. UI(Unumbered Information - C) trasferimento di informazione XID(eXchange IDentification - C/R) scambio di identificativi e del tipo di servizi offerti TEST(C/R) controllo della connettività fisica
Esempio di attivazione di primitive MAC + PHY + media Tutte le PDU contengono gli indirizzi X e Y. X Y RETE LLC
modo non connesso SABM,P UA,F I00 I10 I00,P I21 I12 RR1,F RR2,P RNR3 RNR3,F LLC MAC LLC LLC MAC LLC LDC.request > < LDC.request LDC.request > LDC.indication < > LDC.indication LDC.indication < > LDC.indication < LDC.request < LCF.request(0) > LDC.confirm LDC.confirm < LDC. < confirm(refuse) LDC.request > LDC.confirm < LDC = L_DATA_CONNECT LCF = L_CONNECTION_FLOWCONTROL L_CONNECT. request > > L_CONNECT. indication L_CONNECT. < confirm
RR2,P RNR3 RNR3,F LLC MAC LLC LLC MAC LLC LDC.indication < < LCF.request(0) > LDC.confirm LDC. < confirm(refuse) LDC.request > 0) RR3 LCF.indication(>0) < LDC.request > I32 > LDC.indication RR2,P RR4,F DISC,P UA,F LDC.confirm < L_DISCONNECT. request > > L_DISCONNECT. indication L_DISCONNECT.< confirm modo non connesso