Sunday, February 27, 2011

Frame-Relay & OSPF with different Network types

  ---------// OSPF & Frame-Relay //----------

Topology Diagram :


=> Interfaces details ( DLCI details can be found in Topology diagram )

R1(config-router)#do sh prot | e do
Global values:
  Internet Protocol routing is enabled
Serial0/0 is up, line protocol is up
  Internet address is 10.0.0.1/24
Loopback11 is up, line protocol is up
  Internet address is 11.11.11.11/32


R2(config-router)#do sh ip int brie | e un
Interface                  IP-Address      OK? Method Status                Protocol
Serial0/0                  10.0.0.2        YES manual up                    up 
Loopback22                 22.22.22.22     YES manual up                    up 
R2(config-router)#


R3(config-router)#do sh ip int brie | e un
Interface                  IP-Address      OK? Method Status                Protocol
Serial0/0                  10.0.0.3        YES manual up                    up 
Loopback33                 33.33.33.33     YES manual up                    up 



=> COnfigure and Build L2 & L3 mappings ( Frame-relay connectivity )
=> Now it's a Mesh topology R1 can reach R2 & R3
                            R2 can reach R1 & R3
       R3 can reach R1 & R2


Configuration : 

=> point-to-multipoint

R1(config-router)#do sh run int se 0/0
Building configuration...

Current configuration : 284 bytes
!
interface Serial0/0
 ip address 10.0.0.1 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 serial restart-delay 0
 clock rate 2016000
 frame-relay map ip 10.0.0.2 102 broadcast
 frame-relay map ip 10.0.0.3 103 broadcast
 no frame-relay inverse-arp
end


R1(config-router)#do sh run | s r o
router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0


R2(config-router)#do sh run int se 0/0
Building configuration...

Current configuration : 284 bytes
!
interface Serial0/0
 ip address 10.0.0.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 serial restart-delay 0
 clock rate 2016000
 frame-relay map ip 10.0.0.1 201 broadcast
 frame-relay map ip 10.0.0.3 203 broadcast
 no frame-relay inverse-arp
end


R2(config-router)#
R2(config-router)#do sh run | s r o
router ospf 1
 router-id 2.2.2.2
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
R2(config-router)#


R3#sh run int se 0/0
Building configuration...

Current configuration : 264 bytes
!
interface Serial0/0
 ip address 10.0.0.3 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 serial restart-delay 0
 frame-relay map ip 10.0.0.1 301 broadcast
 frame-relay map ip 10.0.0.2 302 broadcast
 no frame-relay inverse-arp
end


R3#sh run | s r o
router ospf 1
 router-id 3.3.3.3
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
R3#


Check the Routing Table :

R1(config-router)#do sh ip ro os
     33.0.0.0/32 is subnetted, 1 subnets
O       33.33.33.33 [110/65] via 10.0.0.3, 00:06:48, Serial0/0
     22.0.0.0/32 is subnetted, 1 subnets
O       22.22.22.22 [110/65] via 10.0.0.2, 00:06:48, Serial0/0
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
O       10.0.0.2/32 [110/64] via 10.0.0.2, 00:06:48, Serial0/0
O       10.0.0.3/32 [110/64] via 10.0.0.3, 00:06:48, Serial0/0
R1(config-router)#


R2(config-router)#do sh ip ro os
     33.0.0.0/32 is subnetted, 1 subnets
O       33.33.33.33 [110/65] via 10.0.0.3, 00:06:08, Serial0/0
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
O       10.0.0.3/32 [110/64] via 10.0.0.3, 00:06:08, Serial0/0
O       10.0.0.1/32 [110/64] via 10.0.0.1, 00:06:08, Serial0/0
     11.0.0.0/32 is subnetted, 1 subnets
O       11.11.11.11 [110/65] via 10.0.0.1, 00:06:08, Serial0/0
R2(config-router)#


R3(config-router)#do sh ip ro os
     22.0.0.0/32 is subnetted, 1 subnets
O       22.22.22.22 [110/65] via 10.0.0.2, 00:05:31, Serial0/0
     10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
O       10.0.0.2/32 [110/64] via 10.0.0.2, 00:05:31, Serial0/0
O       10.0.0.1/32 [110/64] via 10.0.0.1, 00:05:31, Serial0/0
     11.0.0.0/32 is subnetted, 1 subnets
O       11.11.11.11 [110/65] via 10.0.0.1, 00:05:31, Serial0/0
R3(config-router)#


Testing / Reachability :
R1(config-router)#do ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/22/48 ms
R1(config-router)#do ping 10.0.0.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/24/56 ms
R1(config-router)#


R2(config-router)#do ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/24/52 ms
R2(config-router)#do ping 10.0.0.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/17/48 ms
R2(config-router)#


R3#ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/20/56 ms
R3#ping 10.0.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/23/68 ms
R3#


=> So things are working as expected till now. Life is good.
=> It's time to play now by changing the Network type to watch a big game here.
   There lies the tricks and concept behind the DR/BDR election process, how much it is dependent and how to tweak the parameters of network types & interface natural behavior to participate in Election process.
   It's quite natural that Election process will happen per situation and necessary only for those interface types ( Based on Media types )


 -----// point-to-Point //--------

R1(config-if)#ip ospf network point-to-point
R1(config-if)#
*Mar  1 02:06:42.187: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar  1 02:06:42.191: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
R1(config-if)#


=> See the above reaction the movement we change the network type, they are not happy and walkout from neighborship. The reason behind is because of Hello & Dead timer value changes

Let us compare now :

R1(config-if)#do sh ip os int se 0/0
Serial0/0 is up, line protocol is up
  Internet Address 10.0.0.1/24, Area 0
  Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5


R2#sh ip ospf interface se 0/0
Serial0/0 is up, line protocol is up
  Internet Address 10.0.0.2/24, Area 0
  Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_MULTIPOINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5


=> Hope you got the point here, both the interface types have mismatch in Hello & Dead timer values.
=> So can't agree each other, this is very important to form Neighborship.
So i just matched those values manually here

R1(config-if)#ip os hello-interval 30
R1(config-if)#ip os dead-interval  120


R1(config-if)#
*Mar  1 02:27:12.575: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
*Mar  1 02:27:13.131: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from LOADING to FULL, Loading Done
*Mar  1 02:27:22.871: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
*Mar  1 02:27:27.915: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from LOADING to FULL, Loading Done
*Mar  1 02:27:29.647: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
*Mar  1 02:27:29.815: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset
*Mar  1 02:27:30.115: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from LOADING to FULL, Loading Done


=> Now they just come back and go down, so still stability is not there ( I need to research more on this )

Debug :

R1(config-if)#do deb frame packet
Frame Relay packet debugging is on
R1(config-if)#
*Mar  1 02:32:12.571: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from F                                                                 ULL to DOWN, Neighbor Down: Adjacency forced to reset
*Mar  1 02:32:14.971: Serial0/0(i): dlci 103(0x1871), pkt type 0x800, datagramsi                                                                 ze 68
*Mar  1 02:32:14.979: Serial0/0: broadcast search
*Mar  1 02:32:14.983: Serial0/0: Broadcast on DLCI 103  link 7
*Mar  1 02:32:14.983: Serial0/0(o): dlci 103(0x1871), pkt type 0x800(IP), datagr                                                                 amsize 128
*Mar  1 02:32:14.987: Serial0/0(o): dlci 102(0x1861), pkt type 0x800(IP), datagr                                                                 amsize 128
*Mar  1 02:32:15.023: broadcast dequeue
*Mar  1 02:32:15.023: Serial0/0(o):Pkt sent on dlci 103(0x1871), pkt type
0x800(IP), datagramsize 128
*Mar  1 02:32:15.023: broadcast dequeue
*Mar  1 02:32:15.023: Serial0/0(o):Pkt sent on dlci 102(0x1861), pkt type
0x800(IP), datagramsize 128


-----// point-to-multipoint nonbroadcast //--------

R1(config-if)#ip ospf network point-to-multipoint non-broadcastR1(config-if)#
*Mar  1 02:39:38.115: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar  1 02:39:38.119: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
R1(config-if)#
*Mar  1 02:39:42.671: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from LOADING to FULL, Loading Done
*Mar  1 02:39:52.931: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0 from LOADING to FULL, Loading Done
R1(config-if)#


R1(config-if)#do sh ip os neigh
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           0   FULL/  -        00:01:50    10.0.0.2        Serial0/0
3.3.3.3           0   FULL/  -        00:01:39    10.0.0.3        Serial0/0
R1(config-if)#
R1(config-if)#
R1(config-if)#
R1(config-if)#do ping 22.22.22.22

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 22.22.22.22, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/20/56 ms
R1(config-if)#do ping 33.33.33.33

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 33.33.33.33, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/25/56 ms
R1(config-if)#


=> Things are still working because we manually done the mapping job in L2 level, so there is no reachability issue by this.

=> Another fair game, now i am going to configure " ip ospf network point-to-multipoint non-broadcast" on R2

-------------
Before :

R2(config-if)#do sh ip os neigh
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.3           0   FULL/  -        00:01:56    10.0.0.3        Serial0/0
1.1.1.1           0   FULL/  -        00:01:55    10.0.0.1        Serial0/0
R2(config-if)#
R2(config-if)#
R2(config-if)#ip ospf network point-to-multipoint non-broadcastR2(config-if)#
*Mar  1 02:47:36.151: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar  1 02:47:36.159: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
R2(config-if)#
R2(config-if)#do sh ip os neigh


It will tear down the connections and come's back only for R3, because R3 is still "Broadcast" and R1 will NOT be neighbor any more. Because R1 also configured "Nonbroadcast"

R2(config-if)#do sh ip os neigh
R2(config-if)#
*Mar  1 02:48:02.631: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Serial0/0 from LOADING to FULL, Loading Done


After some time : Still no connectivity to R1

R2(config-if)#do sh ip os neigh
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.3           0   FULL/  -        00:01:57    10.0.0.3        Serial0/0

R2(config-if)#
BUT...BUT....i am still able to ping "R1"
How? because we are done with manual bindings like below config shows.


R2(config-if)#do ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/31/96 ms

R2(config-if)#do ping 11.11.11.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.11.11.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/28/88 ms

R2(config-if)#do sh run int se 0/0
Building configuration...

Current configuration : 298 bytes
!
interface Serial0/0
 ip address 10.0.0.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint non-broadcast
 serial restart-delay 0
 clock rate 2016000
 frame-relay map ip 10.0.0.1 201 broadcast
 frame-relay map ip 10.0.0.3 203 broadcast
 no frame-relay inverse-arp
end


R2(config-if)#
------------

=> In some situation we need to use 'Neighbor <ip>' command to tell the OSPF process whom to contact, the best practice is to configure on HUB Router rather Spoke.
=> HUB Router know to provide reachability with other neighbors, this is simple and no confusion to process.



Happy Labbing ^_^






No comments:

Post a Comment