Wednesday, January 30, 2013

Understanding RIP, IGRP and Static Route Configuration

ip route[address][subnet mask][next hop IP]
Routers can only forward packets to subnets in its routing table
ip route[address][subnet mask][next hop IP]
the new routes can be verified with
ip route [address][subnet mask][interface]
show ip route (displays all of router’s ip routes)
-> Disadvantage to doing this is that static routing works one-way
(add route on Router A to Router B, but Router B still doesn’t have route to Router A)
Extended Ping Command: Simulates a ping from ethernet host, but actually comes from router itself. When a ping from a router works, but a ping from a host does not, the extended ping could help you re-create the problem without needing to work with the end user on the phone.
1. ping
2. Target Address (IP)
3. Extended Commands = y
4. Source Address (IP)

Distance Vector Concepts
Advertise entire routing table (subnet number and metric) to directly connected neighbors.
Key Points:
  • Updates are sent to all neighboring routers through active interfaces, once every so many seconds.
  • If a router learns multiple routes to the same subnet, it chooses the best route based on the metric (number of hops).
  • Failure to receive updates after x amount of time results in removal of that route
  • Routers add directly connected subnets to their routing tables, even without a routing protocol
Distance Vector Loop Avoidance Features eliminate roundabout "ghost" routes to failed or cyclically-linked routers.
Route Poisoning: Router notices link is down, continues to advertise the route, but with very large metric (view as infinite and invalid). Other routers remove their routes to the downed subnet.
RIP uses 16 as the infinite metric

Split Horizon:If 2 routers advertise tables at about the same time, with one link down, they would continually exchange incorrect routing metrics (counting to infinity). Split horizon doesn't allow this because all routes with outgoing interface x are not included in updates sent out that same interface x.
In other words, if route to subnet comes in through interface 1, don’t send update of the same route out interface 1
Ex) Router A’s Ethernet goes down, set metric to 16 and send to neighbor. At the same time, Router B sends update to Router A, using the old metric that the cost is 2. Now Router A = 2, Router B = 16. After x amount of time, the two routers exchange routing table and in turn switch the metrics. This process would repeat indefinitely.

*Split Horizon with Poison Reverse (or Poison Reverse):Cisco’s proprietary distance vector routing protocols use this (used by default). Spit horizon used when network links up, but when link fails, allows broadcast of infinite metric (including previously blocked port from Split Horizon).

*Hold-Down Timer:Defeats the counting-to-infinity problem when multiple/redundant links exist between routers. Routers must wait the duration of the hold-down timer before believing any "good" information about that route.

Triggered/Flash Updates: Sends new update as soon as route fails.

Multiple routes to the same subnet have equal metrics
Either use the first route learned or put multiple routes to the same subnet in the
routing table.
Routing loops occur due to updates passing each other over a single link
Split horizon—The routing protocol advertises routes out an
interface only if they were not learned from updates entering
that interface.

Split horizon with poison reverse—The routing protocol uses
split-horizon rules unless a route fails. In that case, the route is
advertised out all interfaces, including the interface in which
the route was learned, but with an infinite-distance metric.
Routing loops occur because routing information loops
through alternative paths
Route poisoning—When a route to a subnet fails, the subnet is
advertised with an infinite-distance metric. This term
specifically applies to routes that are advertised when the
route is valid. Poison reverse refers to routes that normally are
not advertised because of split horizon but that are advertised
with an infinite metric when the route fails.
Counting to infinity
Hold-down timer—After finding out that a route to a subnet
has failed, a router waits a certain period of time before
believing any other routing information about that subnet.

Triggered updates—When a route fails, an update is sent
immediately rather than waiting on the update timer to expire.
Used in conjunction with route poisoning, this ensures that all
routers know of failed routes before any hold-down timers
can expire.

Comparing RIP and IGRP
Update Timer
30 seconds
90 seconds
Hop count
Bandwidth/delay (also, reliability, MTU, and load)
Hold-Down Timer
Flash Updates
Infinite-Metric Value

Configuring RIP and IGRP
Configuration Mode
router rip
router igrp [as number]
router igrp [as number]
enable IGRP for the AS and enter (config-router) mode.
network [net number]
Router subcommand
advertise to other routers that this router has a path to the given network.
{interface type interface number}
Router subcommand
don't send routing updates out through the given interface.
Router subcommand
keep at most number'''different routes to the same destination in the routing table.
traffic-share {balanced | min}
Router subcommand

traffic-share {balanced | min}
Router subcommand
share traffic between routes, either proportionally or just between those of the minimum metric value.

EXEC Commands
show ip route
Shows the entire routing table, or a subset if parameters are entered.
show ip protocols
Shows routing protocol parameters and current timer values.
debug ip rip
Issues log messages for each RIP update.
debug ip igrp transactions [ip address]
Issues log messages with details of the IGRP updates.
debug ip igrp transactions [ip address]
Issues log messages with details of the IGRP updates.
debug ip igrp events [ip address]
Issues log messages for each IGRP packet.
Sends a series of ICMP echoes with increasing TTL values to verify the current route to a host.
RIP Configuration
router rip
network [network address1] -> Use network number (address w/ normal class address)
network [network address2]

IGRP ConfigurationIGRP Configuration
router igrp [as number] -> Note: All routers should use the same AS number
network [network address1]
network [network address2]
show running-config -> I = address found by IGRP, C = directly connected
I [100/8539] via, 00:00:50, Ethernet0
-> The [100/8359] can be broken into two separate parts:
  • 100 = administrative distance
  • 8539 = metric (function of bandwidth and delay)
  • The higher the bandwidth, the lower the metric
  • The lower the cumulative delay, the lower the metric

Bandwidth Defaults
LAN Interfaces = default reflects the correct bandwidth
Serial Interfaces = defaults to 1544 kbps (T1 speed)
-> Configure using the bandwidth [kbps] interface command

To migrate from RIP to IGRP (Commands)
  • no router rip
  • router igrp [as number]
  • network [network ID]

Debug/show commands include
  • debug ip rip
  • show ip route
  • debug ip igrp transactions (detailed info on updates)
  • debug ip igrp events (summary that states updates received)
  • show ip protocol (Update timer, elapsed time since update received)

Additional Notes
- If multiple route exist, router chooses best metric route
If routes tie, keep the first/pre-existing route

Command: maximum-paths 1 (default is maximum-paths 4)

When RIP places multiple routes, router balances traffic

Command to use lowest-cost: traffic-share min

variance allows metrics to be considered equal, since IGRP/EIGRP metrics are calculated through formula and often won’t be exactly the same.
Example: metric = 100, variance = 2, If value > (lowest metric * variance), add route
Administrative Distance: In order to compare metrics between different routing protocols, use administrative distance to denote how believable an entire routing protocol is on a single router.
-> The lower the number, the better

Default Administrative Distances
Route Type
Administrative Distance
EIGRP summary route
EIGRP (internal)
EIGRP (external)
iBGP (external)

Reference from
More Related Topics:

Monday, January 21, 2013

Configure IPv6 Address on Cisco Routers

IP version 6 (IPv6) is a new version of the Internet Protocol (IP), intended to replace the older IPv4 which is still employed on the vast majority of Internet hosts. IPv6 increases the IP address size from 32 bits to 128 bits to support a much greater number of addressable hosts. IPv4 can support 232 = 4,294,967,296 or over four billion unique addresses but this address space has almost exhausted due to immense expansion in the size of the Internet over the years. IPv6 on the other hand can support 2128 = 3.4 * 1038 addresses, a number so large that it would solve the scarcity of IP address space once and for ever.

IPv6 conventions write the 128 bit IPv6 address as 8 quartets of hex digits, separated by colons, for example:

As you can see, IPv6 addresses are lengthy even in hexadecimal. Two conventions are used to shorten what must be typed for an IPv6 address:
  • Omit the leading 0s in any given quartet. However you must leave at least one number in any quartet.
  • Represent consecutive quartets of all 0s with double colon (or :: ) but only for one such occurrence in a given address.

In order to see these conventions in action, consider the following IPv6 address:

The leftmost consecutive quartets of all 0s can be represented with double colon (::). Even if we have more consecutive zeros later on, only one time is allowed to have the double colon notation in the IP. So we have the following valid abbreviation for the above IPv6 address.

There are three general types of IPv6 addresses: unicastmulticast, and anycast. There are further categories in unicast addresses one of which is IPv6 global unicast addresses. An IPv6 global unicast address is similar to a public IP address in IPv4, that is, an IP address that can be routed across the public Internet.
Figure 1 – IPv6 Global Unicast Address

There are two options for static configuration of IPv6 addresses on Cisco routers. For one option, you configure the entire 128-bit IPv6 address, and for the other, you just configure the 64-bit prefix and tell the device to use an EUI-64 calculation for the interface ID portion of the address. Extended Unique Identifier or EUI-64 format allows a host to automatically assign itself a unique 64-bit IPv6 interface identifier without manual configuration. Both options result in the router interface learning its full 128-bit IPv6 address and prefix-length, one way or the other.

Let’s now configure IPv6 addresses for the network shown in Figure 2. The figure shows two IPv6 subnet numbers with the two links.

Figure 2 – IPv6 Configuration

Let’s first configure interfaces Fa0/0 and S0/0 of R1:
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#interface FastEthernet0/0
R1(config-if)#ipv6 address 2000:0:0:D::/64 eui-64
R1(config-if)#interface Serial0/0
R1(config-if)#ipv6 address 2000:0:0:C::1/64

Let’s now verify if IPv6 addresses have been correctly configured using commands show ipv6 interface brief and show ipv6 interface as show below.
R1#show ipv6 interface brief
FastEthernet0/0            [up/up]
Serial0/0                  [up/up]

R1#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C000:17FF:FE7C:0
No Virtual link-local address(es):
Global unicast address(es):
2000::D:C000:17FF:FE7C:0, subnet is 2000:0:0:D::/64 [EUI]
Joined group address(es):
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds

Let’s now proceed to configure IPv6 addresses on R2 and R3 as well.
R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#interface Serial0/0
R2(config-if)#ipv6 address 2000:0:0:C::2/64

R3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#interface FastEthernet0/0
R3(config-if)#ipv6 address 2000:0:0:D::/64 eui-64

Let’s now go back to R1 and verify if we can ping the IPv6 address 2000:0:0:C::2 on interface S0/0 of R2.
R1#ping 2000:0:0:C::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2000:0:0:C::2, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/8/28 ms

Reference from

More Related Networking Tips: