Title: Unicast and Multicast
1Chapter 21
Unicast and Multicast Routing Routing Protocols
221.1 Unicast Routing
Metric
Interior and Exterior Routing
3Figure 21.1 Unicasting
- A metric is the cost assigned for passage of a
packet through a network. - A router consults its routing table to determine
the best path for a packet.
4Note
In unicast routing, the router forwards the
received packet through only one of its ports.
521.2 Unicast Routing Protocols
RIP (Routing Information Protocol)
OSPF (Open Shortest Path First)
BGP (Border Gateway Protocol)
6Figure 21.2 Popular routing protocols
- RIP and OSPF are popular interior routing
protocols used to update routing tables in an
autonomous system (AS). - BGP is an interautonomous system routing protocol
used to update routing tables.
7Figure 21.3 Autonomous systems
- An autonomous system (AS) is a group of networks
and routers under the authority of a single
administration.
8Table 21.1 A distance vector routing table
Destination Hop Count Next Router Other information
163.5.0.0 7 172.6.23.4
197.5.13.0 5 176.3.6.17
189.45.0.0 4 200.5.1.6
115.0.0.0 6 131.4.7.19
- A RIP routing table entry consists of a
destination network address, the hop count to
that destination, and the IP address of the next
router.
9RIP Updating Algorithm
Receive a response RIP message 1. Add one hop to
the hop count for each advertised destination. 2.
Repeat the following steps for each advertised
destination 1. If (destination not in the
routing table) 1. Add the advertised
information to the table. 2. Else 1.
If (next-hop field is the same) 1.
Replace entry in the table with the advertised
one. 2. Else 1. If (advertised
hop count smaller than one in the table)
1. Replace entry in the routing table. 3.
Return.
- RIP is based on distance vector routing, in which
each router shares, at regular intervals, its
knowledge about the entire AS with its neighbor.
10Figure 21.4 Example of updating a routing table
- Each routing table is updated upon receipt of RIP
messages using the RIP updating algorithm
11Figure 21.5 Initial routing tables in a small
autonomous system
- The table contains only the directly attached
networks - The hop count is initialized to 1
12Figure 21.6 Final routing tables for Figure
21.5
- Previous AS with final routing tables
13Figure 21.7 Areas in an autonomous system
- OSPF is based on link state routing, in which
each router sends the state of its neighborhood
to every other router in the area. A packet is
sent only if there is a change in the
neighborhood. - OSPF divides an AS into areas, defined as
collections of networks, hosts, and routers
14Figure 21.8 Types of links
- OSPF defines four types of links (networks)
point-to-point, transient, stub, and virtual.
15Figure 21.9 Point-to-point link
- A point-to-point link connects two routers
without any other host or router in between.
16Figure 21.10 Transient link
- A transient link is a network with several
routers attached to it
17Figure 21.11 Stub link
- A stub link is a network that is connected to
only one router
18Figure 21.12 Example of an internet
- DS Digital Signal service
- T-1 line DS-1, 1.544 Mbps, 24 voice channels
- T-3 line DS-3, 44.736 Mbps, 672 voice channels
19Figure 21.13 Graphical representation of an
internet
- Square nodes are routers
- Ovals are networks (represented by designated
routers)
20Figure 21.14 Types of LSAs
- An LSA (link state advertisement) is a mutifield
entry in a link state update packet. - Five types of LSAs disperse information in OSPF
router link, network link, summary link to
network, summary link to AS boundary router, and
external link.
21Figure 21.15 Router link
- A router link advertisement defines the links of
a true router. - A true router uses this advertisement to announce
information about all its links and what is at
the other side of the link (neighbors)
22Figure 21.16 Network link
- A router compiles all the information from the
LSAs it receives into a link state database. This
database is common to all routers in an area. - A network link advertisement defines the links of
a network. - A designated router, on behalf of the transient
network, distributes this type of LSA packet the
packet announces the existence of all router
connected to the network
23Figure 21.17 Summary link to network
- R1 floods area 1 with information about how to
reach a network located in area 0 - R2 floods area 2 with information about how to
reach the same network in area 0
24Figure 21.18 Summary link to AS boundary router
- The area border routers flood their areas with
information on routes to autonomous boundary
routers to allow a router inside an area to send
a packet to outside the AS
25Figure 21.19 External link
- The external link advertisement provides
information that allows a router inside an AS to
know which networks are available outside the AS
26Note
In OSPF, all routers have the same link state
database.
27Dijkstra Algorithm
1. Start with the local node (router) the root
of the tree. 2. Assign a cost of 0 to this node
and make it the first permanent node. 3. Examine
each neighbor node of the node that was the last
permanent node. 4. Assign a cumulative cost to
each node and make it tentative. 5. Among the
list of tentative nodes 1. Find the node with
the smallest cumulative cost and make it
permanent. 2. If a node can be reached from
more than one direction 1. Select the
direction with the shortest cumulative cost.6.
Repeat steps 3 to 5 until every node becomes
permanent.
- The Dijkstra algorithm calculates the shortest
path between to points on a network, using a
graph made of nodes and edges - The algorithm divides the nodes into two sets
tentative and permanent
28Figure 21.20 Shortest-path calculation
- Some steps of Dijkstra algorithm applied to node
A of figure 21.13
29Table 21.2 Link state routing table for router A
Network Cost Next Router Other Information
N1 5 C
N2 7 D
N3 10 B
N4 11 D
N5 15 C
- To find the cost of reaching networks outside of
the are, the routers use the summary link to
network, the summary link to boundary router, and
the external link advertisements
30Table 21.3 Path vector routing table
Network Next Router Path
N01 R01 AS14, AS23, AS67
N02 R05 AS22, AS67, AS05, AS89
N03 R06 AS67, AS89, AS09, AS34
N04 R12 AS62, AS02, AS09
- BGP is based of a routing method called path
vector routing
31Figure 21.21 Path vector messages
- In BGP, the ASs through which a packet must pass
are explicitly listed.
32Figure 21.22 Types of BGP messages
- There are four types of BGP messages open,
update, keep-alive, and notification.
3321.3 Multicast Routing
IGMP (Internet Group Management Protocol)
Multicast Trees
MBONE (multicast backbone)
34Figure 21.23 Multicasting
- Multicasting applications include distributed
databases, information dissemination,
teleconferencing, and distance learning. - For efficient multicasting we use a shortest-path
spanning tree to represent the communication path.
35Note
In multicast routing, the router may forward the
received packet through several of its ports.
36Note
IGMP is a group management protocol. It helps a
multicast router create and update a list of
loyal members related to each router interface.
37Figure 21.24 IGMP message types
- A host or router can have membership in a group.
- The three IGMP message types are the query
message, the membership report, and the leave
report.
38Figure 21.25 IGMP message format
- Type Type of message
- Maximum response time Amount of time in which a
query must be answered - Checksum Calculated over the 8-byte message
- Group address Groupid (multicast address of the
group in the special query, the membership
report, and the leave report messages.
39Table 21.4 IGMP type field
Type Value
General or special query 0x11 or 00010001
Membership report 0x16 or 00010110
Leave report 0x17 or 00010111
- The value of the field is shown in both
hexadecimal and binary notation
40Figure 21.26 IGMP operation
41Figure 21.27 Membership report
- A host maintains a list of processes that have
membership in a group. - A router maintains a list of groupids that shows
group membership for each interface. - A membership report is sent out of all interfaces
except the one from which the new interest comes
42Note
In IGMP, a membership report is sent twice, one
after the other.
43Figure 21.28 Leave report
No Response
- When a host sees that no process is interested in
a specific group it sends a leave report
44Note
The general query message does not define a
particular group.
45Figure 21.29 General query message
No Response
- The query message must be sent by only one router
(normally called the query router)
46Example 1
Imagine there are three hosts in a network, as
shown in Figure 21.30 (below). A query message
was received at time 0 the random delay time (in
tenths of seconds) for each group is shown next
to the group address. Show the sequence of report
messages.
- The events occur in the sequence Time 12, Time
30, Time 50 and Time 70
47Solution
- The events occur in this sequence
- Time 12. The timer for 228.42.0.0 in host A
expires and a membership report is sent, which is
received by the router and every host including
host B which cancels its timer for 228.42.0.0. - Time 30. The timer for 225.14.0.0 in host A
expires and a membership report is sent, which is
received by the router and every host including
host C which cancels its timer for 225.14.0.0. - Time 50. The timer for 251.71.0.0 in host B
expires and a membership report is sent, which is
received by the router and every host. - Time 70. The timer for 230.43.0.0 in host C
expires and a membership report is sent, which is
received by the router and every host including
host A which cancels its timer for 230.43.0.0.
- If each host had sent a report for every group in
the list, there would have been seven reports
with this strategy only four reports are sent
48Note
In a source-based tree approach, the combination
of source and group determines the tree.
49Note
In the group-shared tree approach, the group
determines the tree.
50Figure 21.31 Logical tunneling
- The multicast routers are seen as a group of
routers on the top of the unicast routers. - The multicast routers may not be connected
physically, but they are connected logically
51Figure 21.32 MBONE
- For multicasting between two noncontiguous
multicast routers, we make a multicast backbone
(MBONE) to enable tunneling.
5221.4 Multicast Routing Protocols
DVMRP (Distance Vector Multicast Routing Protocol)
MOSPF (Multicast Open Shortest Path First)
CBT (Core-Based Tree)
PIM (Protocol Independent Multicast)
53Figure 21.33 Multicast routing protocols
- DVRMP is a multicast routing protocol that uses
the distance routing protocol to create a
source-based tree. - MOSPF is a multicast protocol that uses multicast
link state routing to create a source-based
least-cost tree. - The Core-Based Tree (CBT) protocol is a multicast
routing protocol that uses a core as the root of
the tree. - PIM-DM is a source-based routing protocol that
uses RPF and pruning and grafting strategies to
handle multicasting - PIM-SM is a group-shared routing protocol that is
similar to CBT and uses a rendezvous point as the
source of the tree
54Figure 21.34 Reverse path forwarding
- To find if the packet has traveled the shortest
path, RPF uses the unicast routing table of RIP
55Note
In reverse path forwarding, the router forwards
only the packets that have traveled the shortest
path from the source to the router all other
copies are discarded. RPF prevents the formation
of loops.
56Figure 21.35 RPF versus RPB
- For each source, the router sends the packet only
out of those ports for which it is designated
parent.
57Note
RPB creates a shortest-path broadcast tree from
the source to each destination. It guarantees
that each destination receives one and only one
copy of the packet.
58Figure 21.36 RPF, RPB, and RPM
- Pruning is a procedure that stops the sending of
messages from an interface - Grafting is a procedure that resumes the sending
of multicast messages from and interface - Pruning and drafting are done by IGMP
59Note
RPM adds pruning and grafting to RPB to create a
multicast shortest-path tree that supports
dynamic membership changes.
60Figure 21.37 Unicast tree and multicast tree
- The least-cost trees generated by Dijkstras
algorithm in MOSPF are different fro each router,
unlike the database and the topology , which are
the same for each router
61Figure 21.38 Shared-group tree with rendezvous
router
- When the rendezvous router has received all join
messages from every member of the group, the tree
is formed
62Figure 21.39 Sending a multicast packet to the
rendezvous router
- The rendezvous router distributes the packet to
all members of the group
63Note
In CBT, the source sends the multicast packet to
the core router. The core router decapsulates the
packet and forwards it to all interested hosts.
64Note
PIM-DM uses RPF and pruning and grafting
strategies to handle multicasting. However, it is
independent of the underlying unicast protocol.
65Note
PIM-SM is similar to CBT but uses a simpler
procedure.