IP Routing: GGP and RIP

gascitytankNetworking and Communications

Oct 28, 2013 (4 years and 15 days ago)

107 views

Nov 04, 2004

CS573: Network Protocols and Standards

1

IP Routing: GGP and RIP

Network Protocols and Standards

Autumn 2004
-
2005

Nov 04, 2004

CS573: Network Protocols and Standards

2

IP Routing Protocols


Autonomous System


Interior Gateway Protocols


GGP


RIP


OSPF


Exterior Gateway Protocols


BGP


EGP


IP Multicast Routing


MPLS

Nov 04, 2004

CS573: Network Protocols and Standards

3

IP Routing Protocols

Autonomous Systems

Nov 04, 2004

CS573: Network Protocols and Standards

4

Routing 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)

Nov 04, 2004

CS573: Network Protocols and Standards

5

Internet 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

R

R

H

H

H

Nov 04, 2004

CS573: Network Protocols and Standards

6

Internet from the start


Then, LANs were connected to ARPANET

R

R

R

ARPANET

LAN

LAN

LAN

Core Routers

Nov 04, 2004

CS573: Network Protocols and Standards

7

Internet 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

Nov 04, 2004

CS573: Network Protocols and Standards

8

Internet from the start

Backbone Network

R
1

Local Network

Core Router

R
2

R
3

Local Network

Local Network

R
4

Local Network

Nov 04, 2004

CS573: Network Protocols and Standards

9

Autonomous System

R

R

R

Backbone Network

AS

AS

AS

Core Routers

AS: Autonomous System

Nov 04, 2004

CS573: Network Protocols and Standards

10

Autonomous 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

Nov 04, 2004

CS573: Network Protocols and Standards

11

Autonomous 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)

Nov 04, 2004

CS573: Network Protocols and Standards

12

Autonomous 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

Nov 04, 2004

CS573: Network Protocols and Standards

13

Autonomous 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

Nov 04, 2004

CS573: Network Protocols and Standards

14

IP Routing Protocols

Gateway
-
to
-
Gateway Protocol

GGP

Nov 04, 2004

CS573: Network Protocols and Standards

15

GGP


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

Nov 04, 2004

CS573: Network Protocols and Standards

16

GGP 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)

Nov 04, 2004

CS573: Network Protocols and Standards

17

GGP 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

Nov 04, 2004

CS573: Network Protocols and Standards

18

IP Routing Protocols

Routing Information Protocol

RIP

Nov 04, 2004

CS573: Network Protocols and Standards

19

Routing 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

Nov 04, 2004

CS573: Network Protocols and Standards

20

RIP 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

Nov 04, 2004

CS573: Network Protocols and Standards

21

RIP 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

Nov 04, 2004

CS573: Network Protocols and Standards

22

Algorithm 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

Nov 04, 2004

CS573: Network Protocols and Standards

23

Example

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

Advertisement:

Distance to A is 2

Distance to B is 1

Distance to C is 3

Cost = 2

Cost = 3

Cost = 1

P1

P2

P3

Distance to

Through

Destination

Port P1

Port P2

Port P3

A

3

4

4

B

4

3

7

C

6

5

4

Nov 04, 2004

CS573: Network Protocols and Standards

24

Counting 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.

A

D

B

C

1

1

1

1

10

1

Target

di

D

C

C

Via

1

11

12

12

Dist

1

3

-

3

Dist

di

D

B

C

x

B

B

A

Via

From

1

4

4

4

Dist

di

A

C

C

Via

di

A

C

C

Via

1

6

6

6

Dist

di

A

C

C

Via

1

5

5

5

Dist



1

11

11

11

Dist

di

A

C

C

Via

x = destination unreachable; di = directly connected

What if the link from C to D also goes down? Counting to Infinity!!!

To reach target …

Nov 04, 2004

CS573: Network Protocols and Standards

25

Some 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

Nov 04, 2004

CS573: Network Protocols and Standards

26

Triggered 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

Nov 04, 2004

CS573: Network Protocols and Standards

27

RIPv2 Message Format

MUST BE ZERO

AS NUMBER

AUTHENTICATION TYPE

NEXT HOP

DISTANCE TO NET 1

16

8

24

VERSION (2)

COMMAND (1
-
5)

FFFF

FAMILY OF NET 1

ADDRESS OF NET 1

MASK

AUTHENTICATION HEADER

31

… … … …

Nov 04, 2004

CS573: Network Protocols and Standards

28

Message Format

Command

Meaning

1

Request for partial or full routing information

2

Response containing network
-
distance pairs from

sender’s routing table

3

Turn on trace mode (obsolete)

4

Turn off trace mode (obsolete)

5

Reserved for Sun Microsystems Internal Use

Nov 04, 2004

CS573: Network Protocols and Standards

29

RIPv2 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 router’s 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

Nov 04, 2004

CS573: Network Protocols and Standards

30

RIP 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

Nov 04, 2004

CS573: Network Protocols and Standards

31

Input 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

Nov 04, 2004

CS573: Network Protocols and Standards

32

Input 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

Nov 04, 2004

CS573: Network Protocols and Standards

33

RIP 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