Breve panoramica sul Frame Relay

Il Frame Relay rappresenta la naturale evoluzione del protocollo X.25. A differenza di quest’ultimo, infatti, prevede meccanismi di correzione degli errori, funzionalità non supportata dall’X.25.

Inoltre, è bene notare che il protocollo Frame Relay fa parte del livello 2 della pila ISO/OSI ed in particolare utilizza il DLCI per identificare il percorso tra la sorgente e la destinazione. Ogni DLCI ha significato solo localmente (ovvero solo sul dispositivo in cui è stato settato) e ad ogni DLCI corrisponde generalmente un undirizzo IP (quello del router di destinazione), quindi è come se effettuassimo una vera e propria mappatura tra livello 2 e livello 3. Nella fattispecie, il collegamento che si viene a creare tra sorgente e destinazione viene chiamato circuto virtuale e può essere di tipo statico (PVC – tipico dei collegamenti router-to-router) o dinamico (SVC – tipico dei collegamenti router-to-switch frame relay).

Frame Relay Network pic.jpg

 

La banda disponibile può essere definita dall’utente, ma solitamente è compresa tra i 64 Kbps e i 2 Mbps, mentre le topologie di rete maggiormente utilizzate nell’ambito di questa tecnologia sono la full mesh, la partial mesh e la cosiddetta hub-n-spoke. Nel primo caso, come si può facilmente intuire, abbiamo una rete completamente magliata, in cui ogni nodo è direttamente collegato a tutti gli altri (per identificare il numero di collegamenti necessari nell’ambito di tale topologia occorre applicare la formula N*(N-1)/2, dove N rappresenta il numero di nodi). Nel secondo caso, invece, abbiamo una magliatura parziale, mentre nel terzo, ad un router sono collegati più router contemporaneamente. Ciò viene realizzato configurando delle interfacce virtuali, ciascuna con il proprio DLCI, in modo da consentire la creazione di più circuiti virtuali sfruttando un unico collegamento fisico, rappresentato dal classico cavo seriale.

Nell’ambito dei dispositivi Cisco, la creazione di un Virtual Circuit può essere effettuata manualmente, ovvero creando una mappatura statica tra DLCI ed indirizzo IP, oppure in modo dinamico. Quest’ultima opzione prevede l’uso della cosiddetta LMI (Local Management Interface), la quale, sfruttando gli Inverse ARP, riesce a ricavare automaticamente l’indirizzo IP dei router direttamente connessi ed associarli ad uno dei DLCI disponibili. Le tipologie di LMI supportate dalle apparecchiature Cisco sono le seguenti:

– Cisco (proprietario);

– ANSI (detto anche AnnexD);

– Q933a;

Ovviemente, affinchè due router possano comunicare tra loro, devono utilizzare necessariamente lo stesso tipo di LMI. Inoltre, una volta creato il VC, esso viene mantenuto attivo grazie all’invio di keepalive effettuato proprio tramite LMI.

Sempre per ciò che concerne i dispositivi Cisco, è possibile utilizzare due tipologie di encapsulation Frame Relay, ovvero Cisco (proprietaria) oppure IETF. Nella fattispecie, per configurare un PVC occorre digitare i seguenti comandi:

Router(config-if)# encapsulation frame-relay ietf

oppure

Router(config-if)# encapsulation frame-relay cisco

Inoltre:

Router(config-if)# ip address 192.168.1.1 255.255.255.252

(dove 192.168.1.1 rappresenta l’indirizzo IP dell’interfaccia locale)

Router(config-if)# bandwidth 64

(dove 64 sono i Kbps)

Per la mappatura statica abbiamo:

Router(config-if)# frame-relay map ip 192.168.1.2 100

oppure, per settare il DLCI localmente posso usare il seguente comando:

Router(config-if)# frame-relay interface-dlci 100

Per la mappatura dinamica, invece, occorre digitare:

Router(config-if)# frame-relay lmi-type ansi

(oppure cisco o q933a – quest’ultimo rappresenta il tipo di lmi impostato di default nell’ambito delle IOS superiori alla 11.2)

Come già accennato in precedenza, spesso il Frame Relay fa uso di interfacce virtuali. Prima di definire una o più interfacce di questo tipo occorre andare ad abilitare l’interfaccia seriale di riferimento mediante il comando no shutdown, rimuovere eventuali indirizzi IP ad essa precedentemente assegnati e creare successivamente l’interfaccia virtuale vera e propria. Ad esempio:

Router(config-if)# no shutdown

Router(config-if)# interface serial 0/0.1 point-to-point (oppure multipoint)

Router(config-subif)# ip address 192.168.1.1 255.255.255.0

Router(config-if)# interface serial 0/0.2 point-to-point

Router(config-subif)# ip address 192.168.2.1 255.255.255.0

e così via. Ovviamente, per creare VC diversi per ogni sottointerfaccia, occorre utilizzare indirizzi IP appartenenti a reti diverse (come riportato nell’esempio).

E’ possibile, inoltre, consentire il traffico broadcast (come i RIP update) lungo i circuiti virtuali, digitando il comando:

Router(config-if)# frame-relay map ip 192.168.1.2 100 broadcast

Un problema tipico delle reti frame-relay è quello relativo all’uso errato dello split horizon. Nella fattispecie, tale tecnica ha come scopo quello di prevenire i routing loop non consentendo l’invio di routing update mediante la stessa interfaccia che li ha ricevuti. Ovviemente, se si utilizzasse lo split horizon nell’ambito di una topologia point-to-multipoint, i routing update ricevuti da un dato router non potrebbero essere inoltrati verso gli altri router della rete. Ecco allora che si può procedere con il disabilitare lo split horizon in modo manuale oppure attraverso la creazione di più sottointerfacce virtuali a sè stanti.

Vediamo adesso alcuni comandi utili alla diagnostica della rete Frame Relay:

Router# show frame-relay map

(mostra le mappature layer 2-to-layer 3)

Router# show frame-relay pvc <numero pvc>

 

(consente di vedere il numero di BECN e FECN, campi del frame che segnalano rispettivamente alla sorgente ed alla destinazione uno stato di congestione della rete)

Router# show frame-relay lmi
Router# clear frane-relay-inarp

(pulisce le mappature dinamiche).

NB: affinchè tale protocollo possa funzionare correttamente è necessario che vi sia un clockrate, solitamente fornito dagli switch Frame-Relay. Nel caso in cui il collegamento viene realizzato tra due router, nell’ambito della seriale relativa al DCE occorre digitare:

Router(config-if)# frame-relay intf-type dce

(comando non supportato da Packet Tracer 5.1).

Inoltre, per disabilitare la mappatura dinamica ed utilizzare solo quella statica si può scrivere:

Router(config-if)# no frame-relay inverse-arp

(anche questo comando non è supportato da Packet Tracer 5.1).

Nei prossimi post esamineremo le caratteristiche di un altro protocollo di livello 2 ampiamente utilizzato, ovvero il PPP. A presto.

Breve panoramica sul Frame Relayultima modifica: 2009-10-11T10:56:18+02:00da nazarenolatella
Reposta per primo quest’articolo

3 pensieri su “Breve panoramica sul Frame Relay

  1. Segnalo una piccola imprecisione; l’LMI non conta niente per i collegamenti router to router, ma soltanto nella gestione del link tra il router DTE e l’apparato DCE che poi metterà i dati nella wan cloud. L’LMI è quindi un parametro “locale”, al contrario dell’incapsulamento che dev’essere lo stesso tra i due router della tratta WAN.

  2. Bhè, il comando:

    Router(config-if)# frame-relay intf-type dce

    ha come scopo quello di far comportare il router da dispositivo DCE (anche se nelle reali cloud Frame-Relay tale compito è svolto dagli switch). Inutile dire che è estremamente utile usarlo nell’ambito delle simulazioni più semplici, ovvero quelle che prevedono la presenza di due soli router interconnessi mediante un link point-to-point. Ad esempio guarda qui:

    http://www.cisco.com/en/US/tech/tk713/tk237/technologies_configuration_example09186a0080094a3c.shtml

    Inoltre, tale comando era da intendersi completamente scorrelato dall’LMI e dalla parte in cui viene trattata la mappatura dinamica.

    Grazie comunque per la segnalazione, ho colto la palla al balzo per spiegare una cosa che mi pareva ovvia. Ciao.

I commenti sono chiusi.