Best route selection process

Posted: February 13, 2016 in Routing

How best route is selected when there are multiple route available for same destination

1. Longest prefix match (more specific route)

e.g. destination is and route available are nexthop Se1/0 nexthop Se1/1
in this case route via nexthop Se1/0 will be preferred
2. Compare AD value (lower AD value is better)

3. Compare the metric (lower metric is better)

if AD is same and route is learned via same routing protocol then
selection is done by comparing metric.
4. Compare routing protocol preference

(AD value is same and but route are learned via different routing protocol)
connected > static > BGP > eigrp > ospf > isis

e.g. First condition if we have route learned via ospf (110)and eigrp(90) (AD value is not modified for both protocol) route via eigrp will be selected

Second condition if we have route learned via ospf (90)and eigrp(90) (AD value is modified for ospf and its equal to eigrp AD value 90) still route via eigrp will be preferred based on predefined routing protocol preference

Third condition if we have route learned via ospf (89)and eigrp(90) (AD value is modified for ospf and its less than eigrp AD value) route via ospf will be selected based on lowest AD value


Need for Route reflectors

Posted: February 12, 2016 in BGP

Simple reason is AS number is used for loop avoidance.

When routes are exchanged between the routers which belongs to the same As , AS_PATH list is not modified (routing update within AS).
So this situation can create routing loop and to avoid this there is BGP split horizon rule

Due to split horizon rule we need to create full mesh of IBGP sessions between the routers within same AS to avoid routing black hole. This full mesh condition is really bad consider example if there is a stub router with single neighbor with single uplink
(If there are N router in the As then we need to create (N*(N-1))/2 sessions)

To avoid such large number of BGP session and conserve useful resources we are using Route reflectors which bypasses Split horizon rule

BGP is path vector protocol

Posted: February 11, 2016 in BGP

BGP is distance vector protocol as BGP router depends on neighbor router to provide routing information about best routes to reach the destination (neighbor is the whole world for BGP routers).

BGP uses a list of AS numbers through which a packet must pass to reach the destination (this AS_PATH list fully describes the path a packet must take to reach destination)

This is the reason why BGP is called path vector protocol

Is MPLS layer 2.5 protocol

Posted: February 9, 2016 in MPLS

Simple answer is no as there is no layer 2.5 defined in standards but still we call MPLS as layer 2.5 protocol

1. MPLS label resides in front of layer 3 header and before layer 2 header
2. MPLS label are derived from IP routing table so we can say it is derived from layer 3 information but  if we observe label swapping behavior is same like Ethernet header changes on every layer 3 hop

Benefits of MPLS

1. BGP free core
2. L2 and L3 MPLS vpn
3. MPLS traffic engg

Why OSPF E1 route preferred over E2 route

Posted: December 27, 2014 in OSPF

Route selection within OSPF                                                                   ————————————-

If there is more than one route to the same destination within an OSPF domain,the route preference is defined as follows, regardless of the value of the route metric.

1.Intra-area routes are preferred over inter-area and external routes.

2.Inter-area routes are preferred over external routes.

3.External type 1 routes are preferred over external type 2 routes


Hot potato routing  – sent packet out of autonomous system as quickly as possible (consider internal AS cost to reach AS exit point )

Cold potato routing – hold on the packet in originating autonomous system until it reaches as near to destination as possible (consider external cost to reach destination from As exit point  and ignore the cost to reach AS exit point )

Consider we have 2 E2 routes for same destination with different redistributed cost on the ASBR then OSPF will only consider external cost (redistributed cost) and ignores the internal cost to reach ASBR this behaviour is same as cold potato routing.

Now consider we have 2 E2 routes for same destination with same redistributed cost on the ASBR then OSPF  will compare internal cost to reach ASBR for both routes and select lowest cost path to reach ASBR this behaviour is same as hot potato routing

Reason to prefer OSPF E1 route over E2 route is that OSPF E1 route uses lowest redistributed cost + lowest cost to reach ASBR this behaviour is hot potato + cold potato routing so packet will reach to destination as quickly as possible  

Please check below link for detailed explanation along with example

DR/BDR guarded preemption in OSPF

Posted: December 26, 2014 in OSPF

DR/BDR election is determined based on the interface level ospf priority along with router-id

Highest priority elected as DR and 2nd highest as BDR

If there is tie in priority election goes on router-id

Highest router-id will be DR and 2nd highest as BDR

OSPF DR/BDR election does not support preemption which is not correct if we create race condition (More than one DR or BDR per boradcast domain)

For example Router R1,R2,R6 all connected to the switch Sw1 (all ports in vlan 10) similarly Router R4,R5,R3 connected to switch Sw2 (all ports in vlan 10) . IP configured on the router interface connecting to switch is 10.0.0.x/24 and router loopback IP is x.x.x.x/32 (where x is router number). 

Ospf interface priority of all six router is same so as per router-id based DR/BDR election 

DR – R6   and   BDR – R2  (connected to sw1)

DR – R5   and   BDR – R4  (connected to sw2)

Now if we connect sw1 to sw2 with access port in Vlan 10

there will be 2 DR and 2 BDR on the same broadcast domain(race condition)

In this race condition DR/BDR re-election will occur but this time only DR and BDR will participate in the election(not all routers). 2 DR will compete for DR position and 2 BDR will compete for BDR position In our example

R6 will compete with R5 for DR position

R4 will compete with R2 for BDR position

As a result based on highest router-id R6 will be DR and R4 will be BDR

This process of preemption in race condition can be called as guarded preemption

Please check the below link for discussion of above topic

Need for Master/Slave election in ospf ?

Posted: December 23, 2014 in OSPF

As per ospf design there is single sequence number (DD sequence number )field in the packet in contrast to TCP communication there is no such filed in DBD packet of ospf as acknowledge sequence number as we have it in the TCP  communication

Link state database synchronization consist of two steps

1. DBD exchange

2. actual LSA exchange

For DBD exchange to happen successfully we need

1. DBD packet numbering

2. DBD packet acknowledgement

OSPF DBD exchange packet consist of single DD sequence number they need to decide who will increment sequence number

actual process as follow

1. Before any DBD exchange routers will send Empty DBD packet with [I , M , MS] bits set to 1 and with random DD

sequence number

I – begining of the process(if set to 1) ; M – Means more DBD to follow (if set to 1) ; MS – if set to 1 then Master

2. Router with highest RID will drop empty DBD packet from lower RID

Router with lowest RID will accept empty DBD packet and reply back

with DBD packet with DD sequence number of highest RID intial DBD packet and   I – bit set to 0 ; M – bit set to 1 ; MS – bit set to 0 indicating its a slave

3. And both router goes in to Exchange state where actual DBD exchange will happen