viernes, 29 de mayo de 2009

Frame Relay y Split Horizon

Posted by Nicolas | viernes, 29 de mayo de 2009 | Category: , , |

A continuación se configurará una topología Hub and Spoke sobre Frame-Relay. Sólo se configurará lo estrictamente necesario, para más detalles referirse a: Frame Relay Configuration Task List.


Como protocolo de ruteo se utilizará EIGRP.

hostname BBR1
!
interface Loopback0
ip address 10.10.10.10 255.255.255.255
!
interface Serial0
bandwidth 128
no ip address
encapsulation frame-relay
no ip mroute-cache
no fair-queue
no frame-relay inverse-arp
frame-relay lmi-type cisco
!
interface Serial0.1 multipoint
description Frame Relay DLCI 111 (P1R1) y 112 (P2R2)
ip address 172.31.1.3 255.255.255.0
frame-relay map ip 172.31.1.1 111 broadcast
frame-relay map ip 172.31.1.2 112 broadcast
!
router eigrp 1
passive-interface Loopback0
network 10.10.10.10 0.0.0.0
network 172.31.1.3 0.0.0.0
no auto-summary

hostname P1R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
no ip directed-broadcast
!
interface Serial0/0
ip address 172.31.1.1 255.255.255.0
no ip directed-broadcast
encapsulation frame-relay
frame-relay map ip 172.31.1.3 111 broadcast
no frame-relay inverse-arp
!
router eigrp 1
passive-interface Loopback0
network 1.1.1.1 0.0.0.0
network 172.31.1.1 0.0.0.0
no auto-summary

hostname P1R2
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface Serial0/0
ip address 172.31.1.2 255.255.255.0
encapsulation frame-relay
frame-relay map ip 172.31.1.3 112 broadcast
no frame-relay inverse-arp
!
router eigrp 1
passive-interface Loopback0
network 2.2.2.2 0.0.0.0
network 172.31.1.2 0.0.0.0
no auto-summary
no eigrp log-neighbor-changes

Al revisar la tabla de ruteo en P1R1 con show ip route se puede notar que efectivamente se están aprendiendo rutas por EIGRP, sin embargo sólo aquellas originadas en BBR1 y no las con origen en P1R2 (2.2.2.2/32).

P1R1#sh ip rou
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
172.31.0.0/24 is subnetted, 1 subnets
C 172.31.1.0 is directly connected, Serial0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
D 10.10.10.10/32 [90/2297856] via 172.31.1.3, 00:12:37, Serial0/0
C 10.1.1.0/24 is directly connected, FastEthernet0/0
C 10.1.0.0/24 is directly connected, FastEthernet0/1
C 10.1.5.0/24 is directly connected, Loopback1
P1R1#

Lo anterior es síntoma de una regla básica de los protocolos de ruteos del tipo Distance Vector, la regla de Split Horizon. Luego lo deshabilitamos en BBR1 con el comando ip split-horizon.

BBR1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
BBR1(config)#int s0.1
BBR1(config-subif)#no ip split-horizon
BBR1(config-subif)#end
BBR1#

Al revisar la tabla de ruteo de P1R1 se notará que esto no hizo cambio alguno. Esto es por que se ha cometido un error, el comando es específico para RIP. Para EIGRP tiene otra forma: como se explica en este FAQ de EIGRP .

BBR1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
BBR1(config)#int s0.1
BBR1(config-subif)#ip split-horizon
BBR1(config-subif)#no ip split-horizon eigrp 1
BBR1(config-subif)#
*Mar 16 21:44:46.045: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.31.1.1 (Serial0.1) is down: split horizon changed
*Mar 16 21:44:46.045: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.31.1.2 (Serial0.1) is down: split horizon changed
BBR1(config-subif)#

Luego de transcurrido un tiempo se ve en P1R1 que se aprenden todas las rutas.

P1R1#sh ip rou
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
D 2.2.2.2 [90/2809856] via 172.31.1.3, 00:06:00, Serial0/0
172.31.0.0/24 is subnetted, 1 subnets
C 172.31.1.0 is directly connected, Serial0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
D 10.10.10.10/32 [90/2297856] via 172.31.1.3, 00:06:00, Serial0/0
C 10.1.1.0/24 is directly connected, FastEthernet0/0
C 10.1.0.0/24 is directly connected, FastEthernet0/1
C 10.1.5.0/24 is directly connected, Loopback1
P1R1#

Si se prueba conectividad nos llevaremos otra desilución.

P1R1#ping 2.2.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
P1R1#

Veamos qué pasó aquí. El destino está efectivamente en la tabla de ruteo de P1R1 y el mapeo del next hop está correcto a nivel de Frame-Relay según indica el comando show frame-relay map.

P1R1#sh ip route 2.2.2.2
Routing entry for 2.2.2.2/32
Known via "eigrp 1", distance 90, metric 2809856, type internal
Redistributing via eigrp 1
Last update from 172.31.1.3 on Serial0/0, 04:30:50 ago
Routing Descriptor Blocks:
* 172.31.1.3, from 172.31.1.3, 04:30:50 ago, via Serial0/0
Route metric is 2809856, traffic share count is 1
Total delay is 45000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 3/255, Hops 2
P1R1#

P1R1#sh frame-relay map
Serial0/0 (up): ip 172.31.1.3 dlci 111(0x6F,0x18F0), static,
broadcast,
CISCO, status defined, active
P1R1#

El análisis desde P1R2 mostrará qué es lo que está faltando. El ping es generado por la interface s0/0 de P1R1, así que la respuesta desde P1R2 es destinada a 172.31.1.1.

P1R2#sh ip rou 172.31.1.1
Routing entry for 172.31.1.0/24
Known via "connected", distance 0, metric 0 (connected, via interface)
Redistributing via eigrp 1
Routing Descriptor Blocks:
* directly connected, via Serial0/0
Route metric is 0, traffic share count is 1

P1R2#sh frame-relay map
Serial0/0 (up): ip 172.31.1.3 dlci 112(0x70,0x1C00), static,
broadcast,
CISCO, status defined, active
P1R2#

El destino aparece en la tabla de ruteo, sin embargo Frame-Relay no sabe que DLCI utilizar para transportar el frame (definición de frame en RFC 1122: Requirements for Internet Hosts -- Communication Layers). Esto se configura con el comando frame-relay map. Una forma automática de obtener estos valores es utilizando el comando frame-relay inverse-arp, sin embargo no permite llevar el control completo de la red.

P1R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
P1R2(config)#interface Serial0/0
P1R2(config-if)#frame-relay map ip 172.31.1.1 112 broadcast
P1R2(config-if)#^Z
P1R2#

Con esto se soluciona el inconveniente ;)

P1R1#ping 2.2.2.2 

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 44/46/52 ms
P1R1#

En total 8 comentarios:

  1. Que tal compañero, pues con una duda, estoy realizando esta practica en el packet tracert 5.2, pues aplique el comando "no ip split-horizont eigrp 10" y pues en la configuracion de la interfaz me sigue apareciendo "no ip spli-horizon" y no puedo ver las rutas del router P1R2. Te comento que agregue otra ruta al router P1R2 por una fastethernet. pero el router P1R1 no logro verlo, sera algun problema del packet tracer?? Un saludo y gracias.

  2. Hola, si es que te aparece "no ip split-horizon" es por que estás trabajando sobre una interface Ethernet y esto aplicará sobre RIP. Si aplicas "no ip split-horizon eigrp 10" también debería aparecer en la configuración de la interface y aplicará sobre EIGRP AS 10. No estoy seguro qué se trata el ejercicio estás realizando, pero tengo la impresión de que probablemente tu problema no se deba a split horizon sino más bien a redistribución de protocolos de ruteo. Si configuraste la ruta estáticamente quizás quieras agregar "redistribute static" bajo "router eigrp 10".

  3. Que tal Nicolas, te comento, perdon por poner la configuracion aqui, pero de verdad que estoy casi por darme un tiro y aventar la computadora, ni today de los smaching me consuela.
    Ya realice de nuevo el Hub and spoke de cero y sigo sin avanzar. te agrego las configuraciones de mis 3 router.
    Router 1
    interface Serial0/0
    no ip address
    encapsulation frame-relay
    !
    interface Serial0/0.1 multipoint
    bandwidth 512
    ip address 192.168.1.1 255.255.255.248
    no ip split-horizon
    frame-relay map ip 192.168.1.2 102 broadcast cisco
    frame-relay map ip 192.168.1.3 103 broadcast cisco
    router eigrp 10
    network 192.168.1.0 0.0.0.7
    no auto-summary

    Router 2

    interface FastEthernet0/0
    ip address 10.80.80.2 255.255.255.128
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    shutdown
    !
    interface Serial0/0
    bandwidth 256
    ip address 192.168.1.2 255.255.255.248
    encapsulation frame-relay
    frame-relay map ip 192.168.1.1 201 broadcast cisco
    frame-relay map ip 192.168.1.3 201

    router eigrp 10
    network 192.168.1.0 0.0.0.7
    network 10.80.80.0 0.0.0.127
    no auto-summary

    Router 3.

    interface Serial0/0
    bandwidth 256
    ip address 192.168.1.3 255.255.255.248
    encapsulation frame-relay
    frame-relay map ip 192.168.1.1 301 broadcast cisco
    frame-relay map ip 192.168.1.2 301

    router eigrp 10
    network 192.168.1.0 0.0.0.7
    no auto-summary

    Te digo que ya quite el broadcast cuando el mapa es por el mismo DLCI, lo agregue, esta es una configuracion nueva.

    Entre los routers me dan ping, y se hacen las adjacencias entre el router el 1 y el 2 y entre el 1 y el 3. Pero la red 10.80.80.0 del router 2 no la alcanzo a ver por EIGRP desde el router 3.

    En la interface s0/0.1 del router 1, agregue el comnado no ip split-horizont, como lo mencionas aqui en tu blog para el EIGRP y nada. en si cuando le doy "no ip split-horizont" no me autocompleta eigrp el comando

    Te pido ayuda por favor, estoy a punto de darme agarrar a golpes mi maquina.

    te agradezco tu tiempo por ayudarme.

  4. Hola, creo tienes una "t" de más en el comando y es posible sea la razón que no te autocomplete. Debes especificar que es para EIGRP AS 10 con "no ip split-horizon eigrp 10". Repliqué tu configuración y añadiendo lo que te señalo se logra que R3 conozca por EIGRP 10.80.80.0/25



    R1#sh run int s0/0.1
    Building configuration...

    Current configuration : 199 bytes
    !
    interface Serial0/0.1 multipoint
    bandwidth 512
    ip address 192.168.1.1 255.255.255.248
    frame-relay map ip 192.168.1.2 102 broadcast CISCO
    frame-relay map ip 192.168.1.3 103 broadcast CISCO
    end

    R1#conf t
    Enter configuration commands, one per line. End with CNTL/Z.
    R1(config)#int s0/0.1
    R1(config-subif)#no ip split-horizon eigrp 10
    R1(config-subif)#
    *Mar 1 00:05:10.675: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 192.168.1.3 (Serial0/0.1) is down: split horizon changed
    *Mar 1 00:05:10.675: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 192.168.1.2 (Serial0/0.1) is down: split horizon changed
    R1(config-subif)#
    *Mar 1 00:05:52.615: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 192.168.1.3 (Serial0/0.1) is up: new adjacency
    *Mar 1 00:05:56.379: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 192.168.1.2 (Serial0/0.1) is up: new adjacency
    R1(config-subif)#
    R1(config-subif)#do sh run int s0/0.1
    Building configuration...

    Current configuration : 229 bytes
    !
    interface Serial0/0.1 multipoint
    bandwidth 512
    ip address 192.168.1.1 255.255.255.248
    no ip split-horizon eigrp 10
    frame-relay map ip 192.168.1.2 102 broadcast CISCO
    frame-relay map ip 192.168.1.3 103 broadcast CISCO
    end

    R1(config-subif)#



    R3#sh ip rou eigrp
    10.0.0.0/25 is subnetted, 1 subnets
    D 10.80.80.0 [90/11026432] via 192.168.1.1, 00:07:56, Serial0/0
    R3#

  5. no ip mroute-cache
    no fair-queue

    Podrias explicarme que hacen estos comandos en EIGRP?

  6. Ninguno es propio de EIGRP

  7. Hola que tal. Estuve probado lo mismo para mis practicas de CCIE, y vos sabes que si el Hub router en vez de colocarle la conf en una subint multipoint, colocás todo en la global, las rutas son publicadas igual, sin la necesidad de deshabilitar split horizon.

    Tenes idea porque puede ser?

  8. Si mal no recuerdo, split horizon está deshabilitado por defecto en las interfaces físicas (main), al contrario de las subinterfaces (todo en el contexto de frame-relay).


Leave a Reply