Showing posts with label Routing. Show all posts
Showing posts with label Routing. Show all posts

Wednesday, June 6, 2012

Link state Routing Protocol


Link state Routing Protocol Feature:
  • Use multicast to build neighbor relationship rather than broadcast
  • After initial routing tables exchange, routers send small, event-based updates
 LS Routing Protocol Advantages:
  • Much faster to converge
  • Force you to design your network design correctly
  • No routing loops issue
 LS Routing Protocol Disadvantage:
  • Demand on router resources
  • Technical complexity
  • Requires actual network design

Distance Vector Routing Protocol


Distance Vector Routing Protocol Feature: 
  •  Distance Vector (DV) Routing Protocols exchange entire routing table at specific (30 Second) intervals
  •  Distance Vector (DV) Routing Protocol is easy to configure
  •  Distance Vector (DV) Protocol has looping issues
 Distance Vector Routing Protocol Loop Prevention mechanism:
 Cisco routers have 5 loop prevention mechanisms to prevent loop issue 
  •  Maximum hope count – with rip max 16 hops
  •  Router Poisoning – with rip, manually set 16 hops to kill route.
  • Triggered Update – trigger update send about any change
  •  Split Horizon – do not sent update, back in the same direction you receive them on network set are being advertise
  •  Hold Down Timer – set hold down timer, Cisco default hold down time is 180 seconds  


Monday, March 26, 2012

how to configure eigrp


Enhanced Interior Gateway Routing Protocol - (EIGRP) (Administrative Distance – Internal EIGRP -90, External EIGRP -170) (Multicast 224.0.0.10) (Only Protocol that remember Backup Route)

EIGRP Features:  (All Document Collect from CISCO)
  • Cisco proprietary and is Hybrid (containing Advanced distance vector and several link-state features)
  • Fast convergence stores all its neighbors’ routing tables so that it can quickly adapt to alternate routes. If no appropriate route exists, EIGRP queries its neighbors to discover an alternate route which continues until an alternate route is found. (Actually EIGRP dose, that learn 10.10.10.0/24 is best way to get destination so it’s primary route, and put into routing table, if the route get second way, third way, fourth way so on, to get designation, so the second best path keep into the topology table as feasible successor for backup route. If primary route is failed then second one goes into routing table, it take less than 200MS time)
  • Support for VLSM and discontiguous subnets as a classless routing protocol, EIGRP advertises a subnet mask for each destination network; enabling it to support discontiguous subnetworks and VLSM. Routes are automatically summarized at the major network number boundary, and can be configured to summarize on any bit boundary on any router interface.
  • Partial updates Sends partial triggered updates as opposed to periodic updates--sent only when the path or metric changes containing information about the changed route. For this reason EIGRP consumes significantly less bandwidth than IGRP. This behavior is different than that of link-state protocols, in which an update is transmitted to all link-state routers within an area.
  • Support for multiple network-layer protocols EIGRP supports IP, AppleTalk, and Novell NetWare Internet Packet Exchange (IPX) through the use of protocol-dependent modules. The rapid convergence and sophisticated metric structure of EIGRP offers superior performance and stability when implemented in IPX and AppleTalk networks.
  • Flexible network design
  • Multicast and unicast instead of broadcast address EIGRP uses multicast and unicast, rather than broadcast. The multicast address used for EIGRP is 224.0.0.10.
  • Manual summarization at any point or any interfaces on network
  • 100% loop-free classless routing
  • Easy configuration for WANs and LANs
  • Load balancing across unequal-cost pathways- you may have redundant link, one is 512Kb (Primary) and other one 256Kb, so EIGRP send 2 packet by using 512Kb link and 1 packet by using 256Kb link. No other protocol can’t do like this.
  • EIGRP support MD5 authentication

EIGRP Key Technologies:
  • Neighbor discovery/recovery -- Uses Hello packets between neighbors
  • Reliable Transport Protocol (RTP) -- Guaranteed, ordered delivery of EIGRP packets to all neighbors. 
  • DUAL finite-state machine -- Selects lowest-cost, loop-free, paths to each destination
  • Protocol-dependent modules (PDMs) -- EIGRP supports IP, AppleTalk, and Novell NetWare; Each protocol has its own EIGRP module and operates independently from any of the others that may be running.
 On EIGRP DUAL uses three separate tables for the route calculation:

Neighbor table: Contains information on all other directly connected (neighbor) routers. A separate table exists for each supported protocol (IP, IPX, etc). Each entry corresponds to a neighbour with the description of network interface and address. In addition, a timer is initialized to trigger the periodic detection of whether the connection is alive. This is achieved through "Hello" packets. If a "Hello" packet is not received from a neighbor for a specified time period, the router is assumed down and removed from the neighbor table.

Topology table: contains the metric (cost information) of all routes to any destination within the autonomous system. This information is received from neighboring routers contained in the Neighbor table. The primary (successor) and secondary/Backup (feasible successor) routes to a destination will be determined with the information in the topology table. Among other things, each entry in the topology table contains the following:
"Feasible Distance (FD)": The calculated metric of a route to a destination within the autonomous system.
"Advertised Distance OR Reported Distance (RD)": The metric to a destination as advertised by a neighboring router. RD is used to calculate the FD, and to determine if the route meets the "feasibility condition".
Route Status: A route is marked either "active" or "passive". "Passive" routes are stable and can be used for data transmission. "Active" routes are being recalculated DUAL algorithm, and/or not available.
Stuck In Active (SIA): The condition when a route becomes unreachable and not all queries for it are answered; adjacencies with unresponsive neighbors are reset



Rules of Feasible Successor: “To be considered a Feasible Successor, The AD Must be less than the FD of the Successor” (The rules is provide the facility loop prevention ) Means if a link to be consider as ‘Feasible Successor’ or Backup route then the link “Advertised Distance (AD)” must be less than the “Feasible Distance (FD)” of the ‘Successor’ or Primary Route.


Example:
FD of Primary Route OR “Successor” = 110 Cost (AD/RD =10 Cost)
AD/RD of which one to be consider as “Feasible Successor” = 20 Cost
 “AD” is less than the FD of  Primary (20<110), so this link should be consider as FS or Backup route


Example of The Diffusing Update Algorithm (DUAL) Algorithm : (This is the engine that's run EIGRP)
How does EIGRP determine which routes are loop-free?

Each of A’s neighbors is reporting reachability to E: (B with a cost of 10, C with a cost of 10, D with a cost of 30) These three costs are called the reported distance (RD), the distance each neighbor is reporting to a given destination
At A, the total cost to reach E is: (20 through B, 25 through C, 45 through D. The best of these three
paths is the path through B, with a cost of 20. This is the feasible distance (FD)
A uses the FD and the RD to determine which paths are loop-free. The best path (FD) is used as a benchmark; all paths with RDs lower than the FD cannot contain loops. The algorithm may mark
some loop-free paths as loops. However, it is guaranteed never to mark a looped path as loop-free
At A: The path through B is the best path (FD), at 20. C can reach E with a cost of 10; 10 (RD) is less than 20 (FD), so this path is loop-free. D can reach E with a cost of 30; 30 (RD) is not less than 20 (FD), so EIGRP assumes this path is a loop.

Routing table: contains the best route(s) to a destination (in terms of the lowest "metric"). These routes are the successors from the topology table.
DUAL evaluates the data received from other routers in the topology table and calculates the primary (successor) and secondary (feasible successor) routes. The primary path is usually the path with the lowest metric to reach the destination, and the redundant path is the path with the second lowest cost (if it meets the feasibility condition). There may be multiple successors and multiple feasible successors. Both successors and feasible successors are maintained in the topology table, but only the successors are added to the routing table and used to route packets.
For a route to become a feasible successor, its RD must be smaller than the FD of the successor. If this feasibility condition is met, there is no way that adding this route to the routing table could cause a loop.
If all the successor routes to a destination fail, the feasible successor becomes the successor and is immediately added to the routing table. If there is no feasible successor in the topology table, a query process is initiated to look for a new route.

Example: EIGRP Tables:
  
EIGRP Neighbor Status: 


#show ip eigrp neighbor

  • H (handle): A number used internally by the Cisco IOS software to track a neighbor.
  • Address: The neighbor’s network-layer address.
  • Interface: The interface on this router through which the neighbor can be reached.
  • Hold timer – Seconds remaining before declaring neighbor down. By default hello timer on EIGRP once every 5 seconds, its say hello, if miss 3 hello in 15 seconds, that have the neighbor goes down.
  • Uptime – How long since the last time neighbor was discovered.
  • Smooth Round Trip Timer (SRTT): The average numbers of milliseconds it takes for an EIGRP packet to be sent to this neighbor and for the local router to receive an acknowledgment of that packet. This timer is used to determine the retransmit interval, also known as the retransmit timeout (RTO).
  • RTO: The amount of time, in milliseconds, that the router waits for an acknowledgment before retransmitting a reliable packet from the retransmission queue to a neighbor.
  • Queue count: The number of packets waiting in the queue to be sent out. If this value is constantly higher than 0, a congestion problem (Link Problem) might exist. A 0 indicates that no EIGRP packets are in the queue.
  • Seq Num: The sequence number of the last update, query, or reply packet that was received from this neighbor.


 EIGRP packet types:
  •  Hello: used by routers for neighbor discovery. Packets are sent as multicast (224.0.0.10) and do not require an acknowledgment.If the neighbor replay Hello, than build neighbor relationship
  • Update: Update packets contain route change information (Routing Table). They are sent reliably to the affected routers only. These updates can be unicast or multicast.
  • Query: Router performs route computation and does not have a feasible successor, it sends a reliable query packet to its neighbors to determine if they have a feasible successor (Backup route) for the destination. Queries are normally multicast but can be retransmitted as unicast packets in certain cases. (Here we see the distance vector feature, if the neighbor reply more than 15 hope, so that destination is unreachable (like - 10.10.10.0/24 16h))
  • Reply: A router sends a reply packet in response to a query packet. Replies are unicast reliably to the originator of the query.
  • ACK: The acknowledgment (ACK) packet acknowledges update, query, and reply packets. ACK packets are unicast hello packets and contain a nonzero acknowledgment number.

Initial Route Discovery on EIGRP:

  
This metric can be based on five criteria, but EIGRP uses only two of these criteria by default:  
  • Bandwidth: The smallest bandwidth between source and destination
  • Delay: The cumulative interface delay along the path Other criteria can be used, but are not recommended, because they typically result in frequent recalculation of the topology table:
  • Reliability: This value represents the worst reliability between source and destination, based on keepalives.
  • Loading: This value represents the worst load on a link between source and destination, computed based on the packet rate and the configured bandwidth of the interface.
  • MTU: This criterion represents the smallest MTU in path. MTU is included in the EIGRP routing update but is not actually used in the metric calculation.
(EIGRP metric is IGRP metric multiplied by 256)
(By default, EIGRP metric: Metric = bandwidth (slowest link) + delay (sum of delays) )


Some Troubleshooting Commands:

Router#show ip route
Router#show ip eigrp interfaces
Router#show ip eigrp neighbors
Router#show ip eigrp topology
Router#show ip eigrp traffic
Router#clear ip eigrp neighbors
Router#debug ip eigrp [packet | neighbors]


EIGRP Configuration Commands and Tips:
Router#enable
Router#configure terminal
Router(config)#router eigrp 100                                        >> “100” is Autonomous system number
Router(config-router)#network 192.168.110.0 0.0.0.255  >> NW NM 

Router(config-router)#redistribute static                           >> for Static routes
Router(config-router)#no auto-summary                          >> never advertise class full (Default class)
Router(config-router)#exit



What does the EIGRP networks command?
HQ(config-router)#network 172.16.0.0 0.0.255.255
> Feature of the network command, is that send hello to form neighbor relationship and advertise about this network to other
> Here check only network bit based on wildcard mask, and leave all from the host bit. 
> Send hello on any of 172.16.0.0 network. Means the router send hello to all network that is started with 172.16. based on network command (wildcard Mask)
> And advertise about 172.30.0.0 network to other network that is connected to this router under EIGRP.  


Specific interface Advertise:
R2(config-router)#network 192.168.100.2 0.0.0.0 
> specific wildcard mask for an interface
> Only Specific interface (int s2/0, ip add 192.168.100.2 255.255.255.252) that only allow to send out hello message to form neighbor relationship.
 




Configure default network on EIGRP:
R2(config)#ip default-network 10.100.200.00
> The static route marked with “s*” (* - Candidate default route) on HQ router. Configure ip default network on EIGRP, after apply this command, On branch router it marked with “D*”
#ip route 0.0.0.0 0.0.0.0 nexthop
> if this default command apply in eigrp, that may advertise all network to the neighbor..  
#default information originate
 


EIGRP Passive Interface:
EIGRP should not form neighbor relationships on any interface where other EIGRP routers do not exist.

R2(config-router)#router eigrp 100
R2(config-router)#passive-interface fastEthernet 1/0

> This command prevent sending hello to neighbor and no neighbor relationship is form, but will still advertise network. (If you remove network command for the network then it also prevent advertise network)

If you need to configure many interface as passive, first
HQ(config-router)#passive-interface default  >>  for all interfaces than
HQ(config-router)#no passive-interface serial 2/0 >> which one not passive


EIGRP Summary route :
Which interface advertise summary route, its depend on network topology.
HQ(config)#interface serial 2/0 >> exit point of router
HQ(config-if)#ip summary-address eigrp 100 172.16.0.0 255.255.248.0 >> configure as required

Important rule of routing: AD, Matrix, Edge of router doesn’t matter, If anyone has more specific route about any network than router was always choose that way to route all



EIGRP Unequal Load balancing:
EIGRP by default Variance is 1 >> means actually load lance of equal cost link
If I type Variance 2 >> means I want to load balance between unequal cost link (rules – variance 2 means, actually the primary FD is multiple by 2, if 3 than multiple by 3 with primary FD (two time bad, three time bad), if the result match with the FD of backup (successor) link, that may consider as unequal load balance link. (check out # show ip eigrp topology) )

HQ(config-router)#variance 2  >> load balance between 2 unequal link
 

Example Topology: post soon