Chapter 14
Unicast Routing Protocols:
RIP, OSPF, and BGP
Objectives
Upon completion you will be able to:
• Distinguish between intradomain and interdomain routing
• Understand distance vector routing and RIP
• Understand link state routing and OSPF
• Understand path vector routing and BGP
TCP/IP Protocol Suite 1
Figure 14.1 Autonomous systems
An autonomous system is a set of networks and routers under
the control of a single administrative authority.
Routing within an autonomous system is intradomain routing.
Routing between autonomous systems is interdomain routing.
TCP/IP Protocol Suite 2
Figure 14.2 Popular routing protocols
TCP/IP Protocol Suite 3
14.2 DISTANCE VECTOR ROUTING
In distance vector routing, the least cost route between any two nodes is
the route with minimum distance. In this protocol each node maintains a
vector (table) of minimum distances to every node
The topics discussed in this section include:
Initialization
Sharing
Updating
When to Share
Two-Node Loop Instability
Three-Node Instability
TCP/IP Protocol Suite 4
Figure 14.3 Distance vector routing tables
TCP/IP Protocol Suite 5
Figure 14.4 Initialization of tables in distance vector routing
In distance vector routing, each node shares its table with
its immediate neighbor periodically (eg every 30s) and when
there is a change.
TCP/IP Protocol Suite 6
Figure 14.5 Updating in distance vector routing
Step 1: Add cost (2) to table received from neighbor (C).
Step 2: Compare Modified Table with Old Table (row by row).
If Next node entry is different, select the row with the smaller
cost. If tie, keep the old one.
If Next node entry the same, select the new row value (regard-
less of whether new value is smaller or not).
TCP/IP Protocol Suite 7
Figure 14.6 Two-node instability – what can happen with distance vector routing
Both A and B know
where X is.
Link between A and X
fails. A updates its
table immediately.
But before A can tell B,
B sends its info to A!
A, using B’s info, up-
dates its table (error!).
Then A send its table
to B and B updates its
table (more error).
Both routers keep up-
dating tables, event-
ually hitting infinity. In
the meantime, chaos!
TCP/IP Protocol Suite 8
Figure 14.6 Two-node instability – what can happen with distance vector routing
Possible Solutions to two-node instability:
1. Define infinity to be a much smaller value, such as 100.
Then it doesn’t take too long to become stable. But now
you can’t use distance vector routing in large networks.
2. Split Horizon – instead of flooding entire table to each
node, only part of its table is sent. More precisely, if node
B thinks that the optimum router to reach X is via A, then
B does not need to advertise this piece of info to A – the
info has already come from A.
3. Split Horizon and Poison Reverse – Normally, the distance
vector protocol uses a timer. If there is no news about a
route, the node deletes the route from its table. So when A
never hears from B about the route to X, it deletes it.
Instead, Node B still advertises the value for X, but if the
source of info is A, it replaces the distance with infinity,
saying “Do not use this value; what I know about this route
comes from you.”
TCP/IP Protocol Suite 9
Figure 14.7 Three-node instability – no solutions here!
TCP/IP Protocol Suite 10
14.3 RIP
The Routing Information Protocol (RIP) is an intradomain routing
protocol used inside an autonomous system. It is a very simple protocol
based on distance vector routing.
The topics discussed in this section include:
RIP Message Format
Requests and Responses
Timers in RIP
RIP Version 2
Encapsulation
TCP/IP Protocol Suite 11
Figure 14.8 Example of a domain using RIP
Note the
metric used
here for Cost
is simply the
hop count.
TCP/IP Protocol Suite 12
Figure 14.9 RIP message format
Command: request (1) or response (2)
Version: 1 or 2 (version 2 shown in a couple slides)
Family: TCP/IP has value 2
Network address: address of the destination network
Distance: hop count from the advertising router to the destination
network
TCP/IP Protocol Suite 13
Figure 14.10 Request messages
A request message is sent by a router that has just come up or by
a router that has some time-out entries.
A response message is sent in answer to a request (solicited response,
or simply every 30 seconds (unsolicited). Response message format
shown in previous slide.
TCP/IP Protocol Suite 14
Example 1
Figure 14.11 shows the update message sent from router R1 to
router R2 in Figure 14.8. The message is sent out of interface
130.10.0.2.
The message is prepared with the combination of split horizon
and poison reverse strategy in mind. Router R1 has obtained
information about networks 195.2.4.0, 195.2.5.0, and 195.2.6.0
from router R2. When R1 sends an update message to R2, it
replaces the actual value of the hop counts for these three
networks with 16 (infinity) to prevent any confusion for R2.
The figure also shows the table extracted from the message.
Router R2 uses the source address of the IP datagram carrying
the RIP message from R1 (130.10.02) as the next hop address.
See Next Slide
TCP/IP Protocol Suite 15
Figure 14.11 Solution to Example 1
Hop=16 means dest.
is unreachable (only
works on smaller
networks)
TCP/IP Protocol Suite 16
Figure 14.12 RIP timers
Periodic timer: controls the advertising of regular updates
Expiration timer: governs the validity of a router. When a
router receives info, sets timer to 180s. No update within
180s? Route set to 16, which means unreachable.
Garbage collection timer: Set to 120s after route set to 16.
When timer expires, then toss route info.
TCP/IP Protocol Suite 17
Figure 14.13 RIP version 2 format
Note: Version 2 supports subnet masks
TCP/IP Protocol Suite 18
14.4 LINK STATE ROUTING
In link state routing, if each node in the domain has the entire topology
of the domain, the node can use Dijkstra’s algorithm to build a routing
table.
The topics discussed in this section include:
Building Routing Tables
TCP/IP Protocol Suite 19
Figure 14.15 Concept of link state routing
Every router has knowledge about the network, but from
its own perspective.
TCP/IP Protocol Suite 20
Figure 14.16 Link state knowledge
Each router knows (maintains) its states of its links.
Each router floods this info (via a Link State Packet) to other
routers periodically (when there is a change in the topology,
or every 60 to 120 minutes).
Each router takes in this data and, using Dijkstra’s
algorithm, creates the shortest path tree and corresponding
routing table.
TCP/IP Protocol Suite 21
Figure 14.17 Dijkstra algorithm
TCP/IP Protocol Suite 22
Figure 14.18 Example of formation of shortest path tree
TCP/IP Protocol Suite 23
Table 14.1 Routing table for node A
Now let’s try using the Dijkstra’s algorithm introduced in
TDC 361.
TCP/IP Protocol Suite 24
TCP/IP Protocol Suite 25
14.5 OSPF
The Open Shortest Path First (OSPF) protocol is an intradomain
routing protocol based on link state routing. Its domain is also an
autonomous system.
The topics discussed in this section include:
Areas
Metric
Types of Links
Graphical Representation
OSPF Packets
Link State Update Packet
Other Packets
Encapsulation
TCP/IP Protocol Suite 26
Figure 14.19 Areas in an autonomous system
OSPF divides an autonomous system into areas. All networks
inside an area must be connected.
Notice area border router; backbones; backbone routers;
boundary routers
The cost associated with a route is called the metric. Metric
could be min delay, max thruput, etc.
TCP/IP Protocol Suite 27
Figure 14.21 Point-to-point link
No hosts in between; T-1 connection common
TCP/IP Protocol Suite 28
Figure 14.22 Transient link
A network with several routers attached to it; all LANs and some WANs
have transient links; b. is unrealistic because too many advertisements.
In c., one of the routers also becomes labeled the designated router.
TCP/IP Protocol Suite 29
Figure 14.23 Stub link
TCP/IP Protocol Suite 30
Figure 14.24 Example of an Autonomous System and its graphical
representation in OSPF
What kind of networks are the dotted lines?
Are there any stub networks here? What are the transient networks?
TCP/IP Protocol Suite 31
Figure 14.25 Types of OSPF packets
OSPF works by transferring packets. What are the different
types of packets?
The link state update packets are the most important, but see
the next slide.
TCP/IP Protocol Suite 32
Responds to a link-state request
packet. These messages also are used
for the regular dispersal of LSAs.
Several LSAs can be included within a
single link-state update packet.
Type 1 2 3 4 5
When a router
Establishes
just came up, it
and maintains
cannot wait for all
neighbor
link state packets.
relationships.
Neighbors will
send it a database Requests pieces of the •Ack-
description (not topological database from nowledges
the full database neighbor routers. These link-state
but like an messages are exchanged update
outline). From after a router discovers packets.
this, the router (by examining database-
can then ask for description packets) that
information it parts of its topological
TCP/IP Protocol Suite
does not have. database are out of date. 33
Figure 14.26 OSPF common header
All packets have a common header.
Type is 1 to 5 as shown on previous slide.
Actually 64 bits
So this common header is 24 bytes total length
TCP/IP Protocol Suite 34
Figure 14.27 Link state update packet
This is the general form of the link state update packet.
It is used by a router to advertise the state of its links.
Note that this packet contains one or more LSAs (the yellow
part).
TCP/IP Protocol Suite 35
Figure 14.28 LSA general header
This is the general header for each LSA.
Link state age-seconds elapsed since this message was first
generated.
E: if 1, then this area is a stub area
T: if 1, router can handle multiple types of service
Link state type: 1(router link), 2(network link), etc. (next slide)
Advertising router: IP address of router advertising this msg.
Link state sequence number: simply a sequence number
Checksum is actually based on Fletcher’s checksum
TCP/IP Protocol Suite 36
Link-state advertisement (Link-state update) types
•Router Links (RL) (Type 1) are generated by all routers. These links describe the
state of the router interfaces inside a particular area. These links are only flooded
inside the router's area.
•Network Links (NL) (type 2) are generated by a DR (Designated Router) of a
particular segment; these are an indication of the routers connected to that
segment.
•Summary Links (SL) are the inter-area links (type 3); these links will list the
networks inside other areas but still belonging to the autonomous system.
Summary links are injected by the ABR (Area Border Router) from the backbone
into other areas and from other areas into the backbone. These links are used for
aggregation between areas.
•AS boundary router summary links are type 4 links that point to the ASBR
(Autonomous System Boundary Router). This is to make sure that all routers know
the way to exit the autonomous system.
•External Links (EL) (type 5), these are injected by the ASBR into the domain.
TCP/IP Protocol Suite 37
Figure 14.29 Router link
This is a router link LSA (one of the 5 kinds of LSAs).
It is used to define the links of a true router.
For example, given the following network, what might the
router link LSA look like?
TCP/IP Protocol Suite 38
Figure 14.30 Router link LSA
Default type
For what to enter in Link ID, Link data,
of service, foll.
and Link type, see the next slide.
by other types
TCP/IP Protocol Suite 39
of service
Table 14.2 Link types, link identification, and link data
TCP/IP Protocol Suite 40
Example 3
Give the router link LSA sent by router 10.24.7.9 in
Figure 14.31.
See Next Slide
Solution
This router has three links: two of type 1 (point-to-
point) and one of type 3 (stub network). Figure 14.32
shows the router link LSA.
See Figure 14.32
TCP/IP Protocol Suite 41
Figure 14.31 Example 3
TCP/IP Protocol Suite 42
Figure 14.32 Solution to Example 3
TCP/IP Protocol Suite 43
Figure 14.33 Network link (second kind of LSA)
A network link LSA defines the links of a network and
is generated by the designated router (DR).
TCP/IP Protocol Suite 44
Figure 14.34 Network link advertisement format
TCP/IP Protocol Suite 45
Example 4
Give the network link LSA in Figure 14.35.
See Next Slide
Solution.
See Figure 14.36
TCP/IP Protocol Suite 46
Figure 14.35 Example 4
TCP/IP Protocol Suite 47
Figure 14.36 Solution to Example 4
TCP/IP Protocol Suite 48
Example 5
In Figure 14.37, which router(s) sends out router link LSAs?
See Next Slide
Solution
All routers advertise router link LSAs.
a. R1 has two links, N1 and N2.
b. R2 has one link, N1.
c. R3 has two links, N2 and N3.
TCP/IP Protocol Suite 49
Figure 14.37 Example 5 and Example 6
TCP/IP Protocol Suite 50
Example 6
In Figure 14.37, which router(s) sends out the network link
LSAs?
Solution
All three network must advertise network links:
a. Advertisement for N1 is done by R1 because it is the only
attached router and therefore the designated router.
b. Advertisement for N2 can be done by either R1, R2, or R3,
depending on which one is chosen as the designated router.
c. Advertisement for N3 is done by R3 because it is the only
attached router and therefore the designated router.
TCP/IP Protocol Suite 51
Figure 14.38 Summary link to network LSA (third kind of LSA)
The summary link to network LSA is used by the area border
router to announce the existence of other networks outside
the area.
TCP/IP Protocol Suite 52
Figure 14.39 Summary link to network LSA
TCP/IP Protocol Suite 53
Figure 14.40 Summary link to AS boundary router LSA (fourth kind of LSA)
TCP/IP Protocol Suite 54
Figure 14.41 Summary link to AS boundary router LSA
TCP/IP Protocol Suite 55
Figure 14.42 External link LSA (fifth kind of LSA)
TCP/IP Protocol Suite 56
Figure 14.43 External link LSA
TCP/IP Protocol Suite 57
Figure 14.44 Hello packet (Type 1 OSPF packet)
Used to create neighborhood relationships and to test
the reachability of neighbors.
TCP/IP Protocol Suite 58
Figure 14.46 Link state request packet (Type 3 OSPF packet)
When a router needs information about a specific route
or router, it sends a link state request packet. The reply
is a link state update packet.
TCP/IP Protocol Suite 59
Figure 14.47 Link state acknowledgment packet (Type 5 OSPF packet)
TCP/IP Protocol Suite 60
Note:
OSPF packets are encapsulated in IP
datagrams.
TCP/IP Protocol Suite 61
14.6 PATH VECTOR ROUTING
Path vector routing is similar to distance vector routing. There is at least
one node, called the speaker node, in each AS that creates a routing
table and advertises it to speaker nodes in the neighboring ASs.
Only the speaker nodes communicate.
The speaker node advertises the path, not the metric of the nodes.
TCP/IP Protocol Suite 62
14.7 BGP
Border Gateway Protocol (BGP) is an interdomain routing protocol
using path vector routing. It first appeared in 1989 and has gone
through four versions.
BGP interconnects three different types of AS:
1. Stub AS, e.g. a corporate network
2. Multihomed AS, e.g. a large corporate network with connections to
multiple ASs, but does not allow traffic to pass thru (transient)
3. Transit AS - one that allows transient traffic, such as an Internet
backbone
TCP/IP Protocol Suite 63
Figure 14.51 Types of BGP messages
TCP/IP Protocol Suite 64
Note:
BGP supports classless addressing and
CIDR.
TCP/IP Protocol Suite 65
Note:
BGP uses the services of TCP
on port 179.
TCP/IP Protocol Suite 66