La configurazione di Frame Relay su un router Cisco prevede, come prima operazione, l’impostazione di un indirizzo IP sull’interfaccia seriale e, come secondo passaggio, l’abilitazione dell’encapsulation Frame Relay sulla seriale stessa:
Router(config)#int serial 0/0
Router(config-if)#ip address 192.168.0.6 255.255.255.252
Router(config-if)#encapsulation frame-relay
Router(config-if)#no shutdown
La condivisione di collegamenti multipli tramite una sola interfaccia fisica causerebbe problemi negli aggiornamenti di routing dei protocolli Distance Vector: infatti, per il meccanismo dello Split Horizon, un router che riceve informazioni di rete attraverso una determinata interfaccia, non può rispedire indietro sulla stessa interfaccia aggiornamenti su quella rete. Considerando l’esempio qui sotto, il Router1 non potrebbe inoltrare al Router3 informazioni sulle reti collegate al Router2:
Per evitare questo problema, si suddivide l’interfaccia fisica in più sottointerfacce logiche (sub-interfaces), permettendo così di definire per ognuna di esse una subnet a se stante: trattandosi di interfacce e reti diverse, la ritrasmissione delle rotte e degli aggiornamenti di routing non viene bloccata dallo Split Horizon.
Le subinterfaces possono essere di 2 tipi:
- Point-to-point. Un’interfaccia point-to-point è utilizzata per stabilire un circuito virtuale permanente (PVC) verso un router remoto. Ogni coppia di interfacce (quella locale e quella del router remoto) risiede in una specifica sottorete e ogni interfaccia ha un unico DLCI. Con questa configurazione, lo Split Horizon e le trasmissioni di tipo broadcast non sono un problema, perché i router sono collegati in maniera punto-punto.
- Multi-point: Un’interfaccia multipoint è utilizzata per stabilire più connessioni PVC verso più interfacce di un router remoto. Questa configurazione non risolve i problemi con lo Split Horizon: infatti l’algoritmo deve essere disattivato per i protocolli di routing distance vector che lavorano con collegamenti multipoint. Si usano se non ci sono problemi di raggiungibilità grazie all’adozione di rotte statiche e se è necessario un risparmio di indirizzi IP.
Definire la modalità point-to-point o multipoint
Router(config-if)#interface serial interfaccia.subinterface multipoint|point-to-point
E’ consigliato usare, come numero di subinterface, lo stesso numero del DLCI.
Mapping statico tra l'indirizzo IP del router remoto e il PVC (tramite DLCI locale)
Router(config-if)#no frame relay inverse-arp
Router(config-if)#frame-relay map ip indirizzo_ip dlci
Il primo comando disabilita il mapping dinamico. Il secondo comando è da usare per ogni circuito configurato sull’interfaccia. Si ricorda che normalmente i router utilizzano il mapping dinamico sfruttando Inverse ARP per scoprire quale IP si trova all’altro capo del circuito. I due metodi, statico e dinamico, non possono coesistere. Nei casi di un solo PVC su interfaccia fisica, quindi nei link punto-punto, non serve alcun mapping.
Impostare il tipo di protocollo LMI
Router(config-if)#frame-relay lmi-type ansi|cisco|q933i
Se non viene specificato, il default è Cisco.
Definire il DLCI da utilizzare per inviare il traffico a destinazione
Router(config-if)#frame-relay interface-dlci dlci
Questo comando è obbligatorio per le interfacce di tipo point-to-point e per quelle multipoint nel quale è stato abilitato il mapping dinamico tramite Inverse ARP. Questo consente al router di creare automaticamente la mappa IP-DLCI per ogni subinterface. mentre non è richiesto per le sub-interface multipoint configurate con mapping statico.
Verifiche sul circuito
Il comando show frame-relay pvc mostra lo stato di ogni circuito PVC e le statistiche sul traffico che lo attraversa; visualizza inoltre il numero di pacchetti BECN e FECN ricevuti dal router. Un PVC nello stato di DELETED indica che il DLCI configurato sul router non ha corrispondenza con il DLCI assegnato al circuito
Router#show frame-relay pvc
PVC Statistics for interface Serial0/0/0 (Frame Relay DTE)
DLCI = 201, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0/0
input pkts 1405 output pkts 32795 in bytes 1096228
out bytes 6216155 dropped pkts 0 in FECN pkts 0
in BECN pkts 0 out FECN pkts 0 out BECN pkts 0
in DE pkts 0 out DE pkts 0
out bcast pkts 32795 out bcast bytes 6216155
Stato dell’interfaccia Frame Relay
Per la verifica sullo stato dell’interfaccia Frame Relay si usa il commando show interface serial. Se l’output del comando indica che sono in down sia l’interfaccia fisica che il line protocol, si tratta certamente di un problema fisico di livello 1, da ricercare eventualmente nel cablaggio. L’interfaccia fisica andrà in down anche nella situazione di indirizzo DLCI statico mal configurato. Per un controllo su quest’ultimo, utilizzare il comando show frame-relay pvc già visto, assicurandosi che il PVC non sia nello stato di DELETED.
Router#show interface serial 0/0/0
Serial0/0/0 is up, line protocol is up (connected)
Hardware is HD64570
Internet address is 192.168.1.1/24
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation Frame Relay, loopback not set, keepalive set (10 sec)
LMI enq sent 161, LMI stat recvd 160, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Verifiche su LMI
Se l’output del comando show interface serial indica che l’interfaccia fisica è up, ma il line protocol è down, il problema è di livello 2. L’interfaccia seriale potrebbe trovarsi nella situazione di non ricevere messaggi LMI di keep alive dallo switch Frame Relay del service provider. Per verificare quali messaggi sono scambiati tra i router e lo switch Frame Relay del provider, si utilizza il comando show frame-relay lmi, il cui output permette di controllare che non vi siano valori diversi da zero in uno qualsiasi degli Invalid Counters.
Router#show frame-relay lmi
LMI Statistics for interface Serial0/0/0 (Frame Relay DTE) LMI TYPE = CISCO
Invalid Unnumbered info 0 Invalid Prot Disc 0
Invalid dummy Call Ref 0 Invalid Msg Type 0
Invalid Status Message 0 Invalid Lock Shift 0
Invalid Information ID 0 Invalid Report IE Len 0
Invalid Report Request 0 Invalid Keep IE Len 0
Num Status Enq. Sent 129 Num Status msgs Rcvd 128
Num Update Status Rcvd 0 Num Status Timeouts 16
Inoltre è necessario assicurarsi che il valore LMI type sia quello corretto per il circuito. Il seguente comando modifica il tipo di LMI:
Router#frame-relay lmi-type [ansi, cisco, q933a]
Debug degli LMI Exchange
Se il valore LMI type è corretto per il circuito, ma vengono indicati messaggi non validi, il comando debug frame-relay LMI può fornire ulteriori informazioni. L'output del comando mostra, in tempo reale, i messaggi di debug LMI che vengono inviati e ricevuti tra lo switch Frame Relay e il router.
Router#debug frame-relay lmi
Frame Relay LMI debugging is on
Displaying all Frame Relay LMI data
Serial0(out): StEnq, myseq 8, yourseen 6, DTE up:
datagramstart =3D 0xE40D84, datagramsize =3D 13
FR encap =3D 0xFCF10309
00 75 01 01 00 03 02 08 06
Serial0(in): Status, myseq 8
RT IE 1, length 1, type 0
KA IE 3, length 2, yourseq 7, myseq 8
PVC IE 0x7, length 0x6, dlci 214, status 0x2, bw 0
PVC IE 0x7, length 0x6, dlci 415, status 0x2, bw 0
I messaggi di stato LMI inviati dal router sono indicati con la voce “out”, mentre quelli che si ricevono dallo switch Frame Relay sono indicati con la voce “in”. Un messaggio type 0 è un messaggio che indica un full LMI status: all'interno di questo messaggio, i valori dlci status 0x2 indica che il DLCI indicato è attivo. I valori comuni del campo status DLCI sono:
- 0x0: Inattivo. Lo switch ha il DLCI programmato ma non utilizzabile, probabilmente l’altro PVC è down;
- 0x2: Attivo. Lo switch Frame Relay ha un DLCI operativo;
- 0x4: Deleted. Lo switch Frame Relay non ha un DLCI programmato per il router.
Un messaggio di type 1 indica uno scambio di tipo LMI keepalive.
Verifiche a livello 3
Quando un’interfaccia viene configurata con l’encapsulation Frame Relay, l’ARP inverso risulta abilitato di default. E’ comunque possibile impostare manualmente un’associazione statica per uno specifico DLCI, in particolare nelle situazioni in cui il router all’altro capo del circuito non supporta l’ARP inverso. Il comando da utilizzare in questo caso è il seguente (ricordando che al DLCI corrisponde l’IP del router posto all’altro capo del circuito):
Router(config-if)#frame-relay map ip {ip address} {dlci} [broadcast]
Il comando show frame-relay map visualizza sia le voci apprese tramite Inverse ARP, sia le associazioni statiche:
Router#show frame-relay map
Serial0/0/0 (up): ip 192.168.4.1 dlci 201, dynamic, broadcast, CISCO, status defined, active
Può succedere a volte che i livelli 1 e 2 siano operativi ma sul PVC non vi sia comunicazione IP. Un router che deve raggiungere un altro router remoto attraverso la rete Frame Relay, deve mappare l'indirizzo IP di quel router remoto con il corretto DLCI locale. Se l'indirizzo IP del router remoto non appare nella tabella del Frame Relay mapping, potrebbe esserci un mancato supporto all’Inverse ARP.
Tra i router ai due capi del circuito deve essere configurato un routing che preveda il supporto a collegamenti di backup, attivabili automaticamente in caso di caduta della rete Frame Relay. La modalità di configurazione più usata per il supporto alle linee di backup è rappresentata dalle floating static routes. Una floating static route è una rotta statica con distanza amministrativa superiore a quella della rotta dinamica corrispondente. Ad esempio, in caso di routing con RIP, la cui distanza amministrativa è di 120, l’amministratore può configurare una rotta statica utilizzando l’interfaccia Fast Ethernet e specificando una distanza amministrativa di 130, come nell’esempio sottostante:
Router(config)#ip route 172.18.225.0 255.255.255.0 172.18.0.250 130
Questa rotta verrà inserita nella tabella di routing solo se la rotta principale viene persa per la caduta del link. Finché la connessione Frame Relay risulterà disponibile, l’interfaccia Fast Ethernet non verrà utilizzata.