Frame Relay è stato originariamente sviluppato come estensione per ISDN, che doveva essere in grado di poter trasportare la tecnologia circuit-switched in una rete packet-switched. È un “mezzo” non molto costoso in confronto alle cosiddette leased lines per poter creare link WAN.
Gli switch Frame Relay creano dei circuiti virtuali, chiamati virtual circuits (VC) per connettere le LAN alla WAN. La rete Frame Relay esiste fra il router (CPE) e lo switch del carrier; la tecnologia intermedia, usata per il trasporto dei dati tra gli switch Frame Relay non deve essere strettamente correlata al protocollo Frame Relay stesso.
Frame Relay è un servizio WAN packet-switched, connection-oriented ed opera al livello Data Link del modello OSI. Usa un subset del protocollo HDLC (High-Level Data-Link Control) chiamato LAPF (Link Access Procedure for Frame Relay). I frame trasportano i dati fra i devices degli utenti (aziende, casa, ufficio, etc.) chiamati data terminal equipment (DTE) e i data communications equipment (DCE) situati al bordo (edge) WAN. (tipicamente in centrale Telecom).
I frame mandati da un DTE attraversano la rete e vengono recapitati agli altri DTE attraverso i DCE.
La connessione attraverso Frame Relay tra due DTE è chiamata, come detto, Virtual Circuit (VC). I VC possono essere stabiliti dinamicamente inviando un segnale alla rete, in questo caso si chiamano SVC (Switched Virtual Circuit). Tuttavia, gli SVC non vengono usati comunemente ed al loro posto si usano i PVC (Permanent Virtual Circuit) che sono preconfigurati dall’ISP Carrier. Un VC viene creato mappando l’input-port e l’output-port in ogni Frame Relay switch e così linkando ogni switch fino a creare un percorso continuo da una estremità all’altra della rete (DTE-to-DTE). Dato che il protocollo Frame Relay è stato progettato per poter operare su linee digitali di alta qualità, non è stato previsto un meccanismo di error-recovery. Se un frame contiene un errore verrà scartato senza avvisi.
I vari VC su un singolo accesso possono essere riconosciuti perchè hanno un proprio Data Link Connection Identifier (DLCI). Il DLCI in genere ha valore solo locale, può essere differente ad ogni “estremità” del VC e viene salvato nel campo address di ogni frame trasmesso. (è nell’atto pratico un indirizzo layer 2).
Il protocollo Frame Relay opera nel seguente modo:
– Prende i pacchetti di dati da un protocollo di rete (layer 3) come IP o IPX;
– Fa l’encapsulation dei pacchetti, li posiziona nella porzione “data” del frame Frame Relay; (aggiunge l’address che contiene il DLCI, il checksum ed il Flag di delimitazione).
– Passa i frame al livello fisico per la consegna.
Come detto in precedenza, il frame del Frame Relay è un subset del frame dell’HDLC, per cui esso è delimitato da un campo di 1 byte. Il flag viene contraddistinto con 01111110. Il Frame Check Sequence (FCS) è usato per determinare se si sono presentati errori nel campo layer 2 address durante la trasmissione. L’FCS viene calcolato prima della trasmissione ed il risultato inserito nel campo FCS. Alla destinazione, l’FCS viene ricalcolato e comparato con il valore presente nel frame. Se i risultati sono uguali, il frame viene processato altrimenti viene scartato. Nel caso in cui un frame venga scartato, non ci saranno notifiche a riguardo inviate al mittente. L’Error Control viene fatto dai livelli superiori del modello OSI.
La velocità di una Frame Relay è data dalla velocità dell’ “accesso” o dell’interfaccia (porta). Le velocità d’interfaccia (port speed) vanno generalmente da 64 kbps a 4 Mbps, invece, alcuni ISP offrono velocità fino a 45 Mbps.
Generalmente ci sono diversi PVC che operano alla velocità di accesso con ogni VC che ha banda dedicata. Viene chiamato CIR (Committed Information Rate) ed è il rate con cui l’ISP accetta i bits sui VC. Ci sono casi in cui gli switch accettano frame ad un rate in eccesso rispetto al CIR, però ci sono alcuni ISP che accettano velocità massime che sono inferiori alla velocità dell’interfaccia. La differenza tra il CIR e la velocità massima (che è uguale a quella dell’interfaccia o inferiore) è chiamata EIR (Excess Information Rate). Anche se gli switch accettano i frame che sono in eccesso rispetto al CIR, ogni frame in eccesso viene flaggato, settando un bit DE (Discard Eligible) a “1” nel campo address. Viene mantenuno un bit counter per ogni singolo VC.
I frame che arrivano ad uno switch vengono accodati (queued) o bufferati prima della fase di forwarding (consegna). Come in ogni sistema che usa il metodo delle code, può esser possibile che uno switch si sovraccarichi causando rallentamenti, lag e delay (ritardi). I delay causano ritrasmissioni non necessari che si presentano quando i protocolli dei livelli superiori non ricevono l’ACK entro un certo periodo di tempo. In situazioni gravi, può compromettere seriamente il rendimento della rete. Per evitare questo problema gli switch Frame Relay usano una policy per droppare i frame e mantenere la coda libera. I frames con i bit DE settati, saranno i primi ad essere droppati (scartati) in caso di congestione o in caso di superamento dell’EIR.
Quando uno switch vede la propria coda aumentare, prova dapprima a diminuire il flusso dei frame e lo fa notificando il problema ai DTE, settando il bit Explicit Congestion Notification (ECN) nel campo address del frame.
Il bit Forward ECN (FECN) viene settato in ogni frame che lo switch riceve nel link congestionato. Il bit Backward ECN (BECN) viene settato in ogni frame che lo switch invia sul link congestionato. I DTE che ricevono frame con il bit ECN settato, diminuiscono il flusso dei frame fino a quando la congestione non sparisce. Se la congestione avviene su un trunk interno, i DTE possono comunque ricevere la notifica anche se non sono direttamente responsabili del lag.
I bit DE, FECN e BECN sono parte del campo address del frame LAPF.
Come detto prima, Frame Relay è stato progettato per operare con latenze end-to-end minime. Ogni cosa che avrebbe potuto contribuire alla latenza è stata eliminata. Quando è stato deciso di implementare Frame Relay come tecnologia separata da ISDN, c’è stato il bisogno per i DTE di dover acquisire dinamicamente le informazioni sullo status della rete. Questa opzione era stata omessa nel progetto originale del protocollo. Le estensioni per il trasferimento dello status sono chiamate Local Management Interface (LMI).
Il DLCI ha un campo di 10 bit per gli identificatori dei VC (da 0 a 1023). Alcune estensioni LMI sono riservati (un pò come il concetto degli IP privati) e quindi, riduce il numero dei VC permessi. I messaggi LMI sono scambiati tra il DTE ed il DCE tramite l’uso di questi DLCI riservati.
Le estensioni LMI servono per:
– Meccanismo Keepalive, per verificare che il VC sia UP.
– Multicast
– Flow (flusso) control
– Danno significato globale ai DLCI (generalmente i DLCI sono SOLO locali)
– Status control.
Ci sono diversi tipi di LMI, ognuno incompatibile con gli altri. Il tipo di LMI impostato sul router deve corrispondere con quello usato dall’ISP. Gli LMI più conosciuti sono:
– Cisco;
– Ansi – Corrispondente allo standard ANSI T1.617 Annex D;
– q933a – Corrispondente allo standard ITU Q933 Annex A.
I messaggi LMI sono trasportati in una variante del frame LAPF che include 4 campi extra nell’header per poter essere compatibili con i frame LAPD usati da ISDN. Il campo address trasporta uno dei DLCI riservati. I campi successivi, sono quello del controllo, protocol discriminator e call reference.
Ci sono anche 4 IE (Information Elements) che seguono l’header. Ogni IE consiste in:
– L’identificativo dell’IE costituito da 1 byte;
– La lunghezza del campo IE;
– Uno o più bytes contenenti dati che includono lo status del DLCI.
Lo status aiuta a verificare l’integrità ed il funzionamento dei link logici e fisici, informazioni molto importanti in un ambiente di routing dato che i protocolli di routing si basano sull’integrità dei link per poter creare decisioni d’instradamento.
Di seguito, una tabella riassuntiva con i VC Identifiers.
VC Identifiers VC Types
_________________________________
0 LMI (ANSI, ITU).
1-15 Riservati per uso futuro.
992-1007 CLLM.
1008-1002 Riservati per uso futuro (ANSI, ITU).
1019-1020 Multicasting (Cisco).
1023 LMI (Cisco).
Concludiamo per il momento, aggiungendo che i messaggi LMI combinati con l’Inverse ARP permettono di poter mappare il data-link layer address e il network layer address cioè DLCI:IP. I messaggi di Inverse ARP vengono mandati per ogni tipo di protocollo configurato sul link.