Title: IP Routing: GGP and RIP
1IP Routing GGP and RIP
- Network Protocols and Standards
- Autumn 2004-2005
2IP Routing Protocols
- Autonomous System
- Interior Gateway Protocols
- GGP
- RIP
- OSPF
- Exterior Gateway Protocols
- BGP
- EGP
- IP Multicast Routing
- MPLS
3IP Routing Protocols
4Routing in the Internet
- Routing Algorithms
- Bellman-Ford
- Dijkstra
- Routing Protocols
- Distance Vector
- Link State
- Routing Hierarchy
- Interior Gateway Protocols (RIP, OSPF, IGRP)
- Exterior Gateway Protocols (EGP, BGP, CIDR,
Policy Routing) - Multicasting (IGMP)
5Internet from the start
- First, there was ARPANET
- Routers had complete information about all the
possible destinations core routers - GGP (gateway-to-gateway) protocol was used for
routing a distance vector protocol
R
R
H
R
H
R
H
6Internet from the start
- Then, LANs were connected to ARPANET
7Internet from the start
- Problems with above configuration
- Routing overhead increased with the number of
connected routers - Number of routes increased with the number of
connected segments - Frequency of routing exchanges increased
- Higher likelihood that something went wrong
somewhere requiring updates - Number of different types of routers increased
- Slow deployment of new versions of routing
algorithms
8Internet from the start
Backbone Network
R1
Core Router
Local Network
R2
R3
R4
Local Network
Local Network
Local Network
9Autonomous System
Backbone Network
R
R
Core Routers
R
AS
AS
AS
AS Autonomous System
10Autonomous System
- What is an autonomous system?
- A set of routers and networks under the same
administration. Examples - A single router directly connecting one local
network to the Internet - A corporate network linking several local
networks through a corporate backbone - A set of client networks served by a single ISP
- NOTE From a routing point of view, all parts of
an AS must remain connected
11Autonomous System
- Internal connectivity within the AS means
- All routers must be connected
- Parts of network connected through core AS (yes,
core is an AS!) cannot form an AS - All routers must exchange routing information in
order to maintain the connectivity (normally
achieved by using a single routing protocol) - Routers inside an AS are called interior
gateway and the protocol they use is called
Interior Gateway Protocol (IGP)
12Autonomous System
- In 1982, the IGP of choice was GGP
- IGPs in use today are
- RIP
- OSPF
- IGRP
- Each AS is identified by a 16-bit number
- Number is assigned by the numbering authorities
13Autonomous System Benefits
- Routing overhead is lower
- Network management becomes easy
- Easier computation of new routes
- Distribution of new software versions is easier
- Failing elements can be isolated easily
- AS use an Exterior Gateway Protocol to exchange
information about reachability
14IP Routing Protocols
- Gateway-to-Gateway Protocol
- GGP
15GGP
- The old ARPANET routing protocol
- Defined in RFC 823
- A distance-vector routing protocol
- Only core routers participate in GGP
- GGP messages travel in IP datagrams with protocol
type 3 - GGP measures distance in router hops. i.e., the
number of hops along a path refers to the number
of routers
16GGP Message Types
- 4 types of GGP messages
- GGP Routing Update message (type 12)
- GGP Acknowledgment message (type 2/10)
- GGP Echo Request or Reply (type 0 or 8)
17GGP Routing Update
- A router sends this message to advertise the
destination networks it knows how to reach - To keep the size of message small, networks are
grouped by distance - In the message Distance is followed by a list
of Net addresses that are at this distance - Contains a field that tells how many distance
groups are being reported (3 in case below) - D1 Net1, Net5, Net11
- D2 Net4, Net2, Net7, Net16
- D3 Net6, Net9
18IP Routing Protocols
- Routing Information Protocol
- RIP
19Routing Information Protocol
- A distance vector based IGP
- Similar to GGP
- Designed at UC Berkeley
- Based on Xerox XNS
- Distributed with 4BSD UNIX (routed)
- First RFC was 1058, current RFC is 2453
- Started off in small networks and then extended
to larger networks - See Huitema, Chapter 5
20RIP Details
- Routers are active machines
- Advertise their routes (IP NET, distance) to
others - Hosts are passive machines
- They listen and update their routes but do not
advertise - RIP uses hop count metric
- RIP messages are transmitted using UDP at port 520
21RIP Route Computation
- There is a cost associated with each link
- Typically cost 1 i.e., number of hops
- Each router receives route advertisements from
its neighbors - Advertisements show distances to all destinations
in the network - For each destination in the network
- The router takes each received advertisement and
adds to it the cost to reach that neighbor who
sent this advertisement this gives the distance
to the destination - The router selects lowest of these as path/cost
to that destination
22Algorithm Properties
- Convergence is guaranteed in a finite time given
that topology remains static - Starting value of distance estimates to each
destination can be any non-negative number - No assumption is made as to when the updates are
sent or when the distances are computed - Each router can work based on its own clock and
send its updates asynchronously - If the network changes, routes converge to a new
equilibrium point
23Example
Router
Advertisement Distance to A is 2 Distance to B
is 3 Distance to C is 5
Advertisement Distance to A is 1 Distance to B
is 4 Distance to C is 1
Cost 3
Cost 1
P1
P3
P2
Cost 2
Advertisement Distance to A is 2 Distance to B
is 1 Distance to C is 3
Distance to Through
Destination Port P1 Port P2 Port P3
A 3 4 4
B 4 3 7
C 6 5 4
24Counting to Infinity
Routes to Target A route via B, distance 3 B
route via D, distance 2 C route via B, distance
3 D direct, distance 1
Assume that B to D link goes down, and B notices.
To reach target
x destination unreachable di directly
connected
What if the link from C to D also goes down?
Counting to Infinity!!!
25Some Solutions
- Split Horizon
- If A reaches a destination through B, it makes no
sense for B to reach the same destination through
A - Instead of broadcasting the same distance vector
on all links, send different versions on each
outgoing link by removing the entries for the
destinations that are reachable through that link - Split Horizon with Poisonous Reverse
- Include all the destinations in advertisements
even those which were missing in split horizon,
but - Set those vector distances to infinity that were
missing in the simple version of split horizon
26Triggered Updates
- Split Horizon can work in loops with two
gateways, but not with three or more - See example in book by Huitema
- Another solution to deal with count to Infinity
problem is triggered updates - A gateway is required to send an immediate update
when any route changes. This reduces the
occurrence of loops - Flood of triggered updates resolves loops faster
when these happen
27RIPv2 Message Format
16
8
24
31
AS NUMBER
VERSION (2)
COMMAND (1-5)
AUTHENTICATION TYPE
FFFF
AUTHENTICATION HEADER
MUST BE ZERO
FAMILY OF NET 1
ADDRESS OF NET 1
MASK
NEXT HOP
DISTANCE TO NET 1
28Message Format
Command Meaning
1 Request for partial or full routing information
2 Response containing network-distance pairs from senders routing table
3 Turn on trace mode (obsolete)
4 Turn off trace mode (obsolete)
5 Reserved for Sun Microsystems Internal Use
29RIPv2 Message Format
- Address format is not limited to TCP/IP
- RIP can be used with multiple network protocol
suites - Family of net i
- Identifies the protocol family under which the
network address should be interpreted - IP addresses are assigned value 2
- Next hop
- The sending router can specify another routers
IP address as next hop for the network - Set to 0.0.0.0 for sender itself
- Solves similar problem (extra hop) as ICMP
redirect
30RIP Metrics and Updates
- By default, RIP uses hop count as the distance
metric - Integers 1 through 15
- 16 denotes infinity
- Packets are normally sent every 30sec
- If a route is not refreshed within 180 seconds,
distance is set to infinity and later entry is
removed
31Input Processing
- How to process incoming RIP packets?
- Examine entries one by one
- Validation check
- Address is valid class A, B, or C
- Network number is not 127
- Host port is not a broadcast address
- Metric is not larger than infinity (16)
- Incorrect entries are ignored
- And should be reported as errors
32Input Processing
- Metric for entry is increased by link cost
- Routing table is searched for an entry
corresponding to the destination - If the entry is not present, it is added
- If the entry is present but with a larger metric
- Entry is updated and timer restarted
- Entry is present and next hop router is sender of
response message - Metric is updated and timer restarted
- For all other cases, entry is ignored
33RIP Responses
- A separate response is prepared for all connected
interfaces/ports - Information sent on different ports may vary due
to - Split Horizon processing
- Subnet summarization
- For triggered updates may include only those
entries that have been updated since last
transmission - Maximum message size 512 bytes (up to 25
entries) - Multiple messages have to be sent if more than
512 bytes - Source IP address is that of the interface on
which the message is sent - Destination IP address is the broadcast address