Lecture 10
Lecture 10
Lecture 10
Network Layer: Routing protocols
Fall 2007
Dr. L. Christofi Fall 2007
0. Overview
In this lecture we will cover the following topics:
Dr. L. Christofi
Fall 2007
1.#
ROUTING PROTOCOLS
Packets go from source to destination via routers. The router consults the routing table. Routing table can be static [does not change automatically] or dynamic [changes automatically] Routing protocols are needed to create the routing tables dynamically. A routing protocol is a combination of rules and procedures that lets routers in the internet inform one another of changes. It allows routers to share whatever they know about the internet or their neighborhood.
Dr. L. Christofi Fall 2007
In unicast routing, there is only one source and only one destination. When a router receives a packet, it forwards the packet through only one of its ports (the one belonging to the optimum path) as defined in routing table. It discards the packet, if there is no route.
Dr. L. Christofi
Fall 2007
1.#
RIP (Routing Information Protocol): Cost of passing each network is same; it is one hop count.
If a packet passes through 10 networks to reach the destination, the total cost is 10 hop counts.
OSPF (Open Shortest Path First): Administrator can assign cost for passing a network based on type of service required.
OSPF allows each router to have more than one routing table based on required type of service. Maximum throughput, minimum delay
BGP (Border Gateway Protocol): Criterion is the policy, which is set by the administrator.
Dr. L. Christofi
Fall 2007
Dr. L. Christofi
Fall 2007
1.#
Autonomous systems
Solid lines show the communication between routers that use interior routing protocols. Broken lines show the communication between routers that use an exterior routing protocols.
Dr. L. Christofi Fall 2007
Routing table
Has one entry for each destination network of which the router is aware. Each entry has destination network address, the shortest distance to reach the destination in hop count, and next router to which the packet should be delivered to reach its final destination. Hop count is the number of networks that a packet encounters to reach its final destination.
Dr. L. Christofi
Fall 2007
1.#
Hop Count 7 5 4 6
Other information
Dr. L. Christofi
Fall 2007
Dr. L. Christofi
Fall 2007
10
1.#
Dr. L. Christofi
Fall 2007
11
When a router is added to a network, it initializes a routing table for itself, using its configuration file. The table consists only the directly attached networks and the hop counts, which are initialized to 1. The next-hop field, which identifies the next router, is empty.
Dr. L. Christofi Fall 2007
12
1.#
Each routing table is updated upon receipt of RIP messages using the RIP updating algorithm.
Dr. L. Christofi Fall 2007
13
OSPF
Open Shortest Path First Special routers called autonomous system boundary routers are responsible for dissipating information about other autonomous systems into the current system. OSPF divides an autonomous system into areas.
Dr. L. Christofi
Fall 2007
14
1.#
Autonomous System
Dr. L. Christofi
Fall 2007
15
Dr. L. Christofi
Fall 2007
16
1.#
OSPF
Metric
Administrator can assign the cost to each route. Based on type of service (minimum delay, maximum throughput, and so on)
Dr. L. Christofi
Fall 2007
17
Dr. L. Christofi
Fall 2007
18
1.#
Dr. L. Christofi
Fall 2007
19
Dr. L. Christofi
Fall 2007
20
1.#
Dr. L. Christofi
Fall 2007
21
Dr. L. Christofi
Fall 2007
22
1.#
Dr. L. Christofi
Fall 2007
23
Dr. L. Christofi
Fall 2007
24
1.#
Dr. L. Christofi
Fall 2007
25
A designated router, on behalf of the transient network, distributes this type of LSA packet. The packet announces the existence of all the routers connected to the network.
Dr. L. Christofi
Fall 2007
26
1.#
A router must also know about the networks outside its area, and the area border routers can provide this information. An area border router is active in more than one area. It receives router link and network link advertisements and creates a routing table for each area.
Dr. L. Christofi
Fall 2007
27
If a router inside an area wants to send a packet outside the autonomous system, it should first know the route to an autonomous boundary router; the summary link to AS boundary router provides this information.
Dr. L. Christofi
Fall 2007
28
1.#
A router inside an autonomous system wants to know which networks are available outside the autonomous system; the external link advertisement provides this information. The AS boundary router floods the autonomous system with the cost of each network outside the autonomous system, using a routing table created by a exterior routing protocol.
Dr. L. Christofi
Fall 2007
29
Dijkstra Algorithm
Every router in the same area has the same link state database. Dijkstra algorithm
Calculates the shortest path between two points on a network, using a graph made up of nodes and edges. Algorithm divides the nodes into two sets: tentative and permanent. It chooses nodes, makes them tentative, examines them, and if they pass the criteria, makes them permanent.
Dijkstra Algorithm
1. 2. 3. 4. 5. Start with the local node (router): the root of the tree. Assign a cost of 0 to this node and make it the first permanent node. Examine each neighbor node of the node that was the last permanent node. Assign a cumulative cost to each node and make it tentative. 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.
30
Dr. L. Christofi
Fall 2007
1.#
Shortest-path calculation
The number next to each node represents the cumulative cost from the root node. Note that if a network can be reached through two directions with two cumulative costs, the direction with the smaller cumulative cost is kept, and the other one is deleted.
Fall 2007
Dr. L. Christofi
31
Shortest-path calculation
Dr. L. Christofi
Fall 2007
32
1.#
Network N1 N2 N3 N4 N5
Cost 5 7 10 11 15
Dr. L. Christofi
Fall 2007
33
BGP
Border Gateway Protocol Inter-autonomous system routing protocol. BGP is based on a routing method called path vector routing.
Dr. L. Christofi
Fall 2007
34
1.#
Dr. L. Christofi
Fall 2007
35
Path AS14, AS23, AS67 AS22, AS67, AS05, AS89 AS67, AS89, AS09, AS34 AS62, AS02, AS09
Dr. L. Christofi
Fall 2007
36
1.#
Autonomous boundary routers that participate in path vector routing advertise the reach ability of the networks in their own autonomous systems to neighbor autonomous boundary routers. Concept of neighborhood here is the same as the one described in the RIP or OSPF protocol. Two autonomous boundary routers connected to the same network are neighbours.
Dr. L. Christofi Fall 2007
37
Dr. L. Christofi
Fall 2007
38
1.#
Path Attributes
Path is a list of attributes Each attribute gives some information about the path List of attributes help the receiving router make a better decision when applying its policy. Two categories: well-known and optional
Well-known: Every BGP router should recognize
Mandatory
ORIGIN: source of routing information [RIP, OSPF, ] AS_PATH NEXT_HOP
Dr. L. Christofi
Fall 2007
39
Open: To create a neighborhood relationship If the neighbor accepts the neighborhood relationship, it responds with a keep-alive message, which means that a relationship has been established between two routers Update message is used by router to withdraw destinations that have been advertised previously, announce a router to a new destination, or do both. Keep-alive: Routers exchange this message regularly (before their hold time expires) to tell each other that they are alive. Notification: Sent by a router whenever an error condition is detected or a router wants to close the connection.
Fall 2007
Dr. L. Christofi
40
1.#
Dr. L. Christofi
Fall 2007
41
Multicasting
Dr. L. Christofi
Fall 2007
42
1.#
IGMP
Internet Group Management Protocol Group Management
IGMP is not a multicasting routing protocol IGMP is a protocol that manages group membership. In any network, there are one or more multicast routers that distribute multicast packets to hosts or other routers. IGMP helps the multicast router create and update the list of groups in the network for which there is at least one loyal member.
Dr. L. Christofi
Fall 2007
43
Dr. L. Christofi
Fall 2007
44
1.#
Checksum: 16-bit field carrying checksum calculated over 8-byte message. Group address: 0 for general query message. The value defines the groupid (multicast address of the group) in special query, the membership report and leave report messages.
Dr. L. Christofi
Fall 2007
45
Dr. L. Christofi
Fall 2007
46
1.#
IGMP operation
IGMP operates locally. A multicast router connected to a network has a list of multicast addresses of the groups for which the router distributes packets to groups with at least one loyal member in that network. For each group, there is one router which has the duty of distributing the multicast packets destined for that group. A host or multicast router can have membership in a group. When a host has membership, it means that one of its processes (an application program) receives multicast packets from some group. When a router has membership, it means that a network connected to one of its other interfaces receives these multicast packets. In both cases, the host and the router keep a list of groupids and relay their interest to the distributing router.
Routers R1 & R2 may be distributors for some of the groups [given in router R] in other networks, but not on this network.
Dr. L. Christofi
Fall 2007
47
A host or a router can join a group. A host maintains a list of processes that have membership in a group. When a process wants to join a new group, it sends its request to the host. The host adds the name of the process and the name of the requested group to its list. If this is the first entry for this particular group, the host sends a membership report message. If this is not the first entry, there is no need to send the membership report since the host is already a member of the group; it already receives multicast packets for this group.
Dr. L. Christofi
Fall 2007
48
1.#
Dr. L. Christofi
Fall 2007
49
Leave report
Hosts send a leave report when there is no process interested in a specific group. When a multicast router receives a leave report, it cannot immediately purge that group from its list because the report comes from just one host or a router. No Response Multicast router generates a specific query with specific groupid to identify whether the group can be purged or not. If no response within the specified response time, the group can be purged from the list.
Fall 2007
Dr. L. Christofi
50
1.#
Monitoring membership
Multicast router monitors all the hosts or routers in a LAN to see if they want to continue their membership in a group. What happens: A case where a only alive host shuts down without sending the leave report. Router periodically (by default, every 125sec) sends a general query message. In this message, the group address field is set to 0.0.0.0. This means the query for membership continuation is for all groups in which a host is involved, not just one. Query message is sent by only one router (normally called query router) to prevent unnecessary traffic. The router expects reply for each group within the maximum response time of 10 sec. When a host or router receives the general query message, it responds with a membership report if it is interested in a group. If there is a common interest (two hosts, for example, are interested in the same group), only one response is sent for that group to prevent unnecessary traffic.
Dr. L. Christofi
Fall 2007
51
No Response
Dr. L. Christofi
Fall 2007
52
1.#
Query message
Delayed Response
When a host or router receives a query message, it does not respond immediately; it delays the response. Each host or router uses a random number to create a timer, which expires between 1 and 10 seconds. The expiration time can be in steps in 1s or less. Each group in the list has its own timer. Each host or router waits until its timer has expired before sending a membership report message. As the membership report is a broadcast, the waiting host or router receives the report and knows that there is no need for duplication of report message by many hosts.
Dr. L. Christofi
Fall 2007
53
Example
Imagine there are three hosts in a network, as shown in figure 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.
Dr. L. Christofi
Fall 2007
54
1.#
Solution
The events occur in this sequence: 1. Time 12. The timer for 228.42.0.0 in host A expires and a membership report is 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 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 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 which is received by the router and every host including host A which cancels its timer for 230.43.0.0.
sent,
2.
sent,
3.
sent,
4.
sent,
Dr. L. Christofi
Fall 2007
55
Multicast Trees
Objectives of Multicasting are
Each member of the group should receive one, and only one, copy of the multicast packet. Receipt of multiple copies is not allowed. Nonmembers must not receive a copy. There must be no loops in routing; that is, a packet must not visit a router more than once. The path traveled from the source to each destination must be optimal (the shortest path).
Source-Based Tree
A single tree is made for each combination of source and group. MOSPF, DVMRP, PIM-DM.
Group-Shared Tree
Each group in the system shares the same tree. Tree changes when the group changes but remains the same when the group remains the same. Group determines the tree and not the source. Approaches to find multicast tree: Steiner tree [only theoretical], rendezvous-point tree. CBT, PIM-SP
Dr. L. Christofi Fall 2007
56
1.#
MBONE
Only a small fraction of Internet routers are multicast routers. A multicast router may not find another multicast router in the neighborhood to forward the multicast packet. Tunneling helps to connect the multicast routers logically. Routers enclosed in broken circles are capable of multicasting. To enable multicasting, we make a multicast backbone (MBONE) out of these isolated routers, using the concept of tunneling.
Dr. L. Christofi
Fall 2007
57
MBONE
Logical tunnel is established by encapsulating the multicast packet inside a unicast packet. The intermediate (nonmulticast) routers forward the packet as unicast routers and deliver the packet from one island to another. DVMRP supports both MBONE and tunneling.
Dr. L. Christofi Fall 2007
58
1.#
59
Dr. L. Christofi
Fall 2007
60
1.#
In RPF, 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.
Dr. L. Christofi
Fall 2007
61
In RPF, looping is avoided but does not guarantee the receipt of only one copy. This is because the packet is forwarded based on source address and not on destination address. To eliminate duplication, we must define only one parent router for each network. A network can receive a multicast packet from a particular source only through a designated parent router. For each source, the router sends the packet only out of these ports for which it is the designated parent. This policy is called Reverse Path Broadcasting (RPB). RPB guarantees that the packet reaches every network and that every network receives only one copy. Select the router with the shortest path to the source as the designated parent router. RPB creates a shortest-path broadcast tree from the source to each destination. It guarantees that each destination receives one and only copy of the packet.
Fall 2007
Dr. L. Christofi
62
1.#
Dr. L. Christofi
Fall 2007
63
Dr. L. Christofi
Fall 2007
64
1.#
MOSPF
Multicast Open Shortest Path First Uses multicast link state routing to create source-based trees. First, the tree is a least-cost tree (using a metric) instead of a shortest-path tree. Second, the tree is made all at once instead of gradually (the tree is said to be premade, prepruned, and ready to be used). Least-Cost Trees
Each router knows the entire topology of the network. Each router uses Dijkstra algorithm to create a least-cost trees that has the router as the root and the rest of the routers as nodes of the tree. Least cost trees in MOSPF is different for each router.
Dr. L. Christofi
Fall 2007
65
In multicast routing, we need one tree for each source-group pair, and the root must be the source. This is done using the database by asking the router to use Dijkstras algorithm to create a tree with the source as the root. Three problems exist:
Algorithm uses unicast addresses but the tree we need requires group addresses. Membership can change frequently. Applying Dijkstra algorithm for each multicast packet is very expensive timewise.
Dr. L. Christofi
Fall 2007
66
1.#
Link state packets can also solve the second problem if they are sent whenever there is a change in the membership. The router can calculate the least-cost trees on demand (when it receives the first multicast packet). In addition, the tree can be saved in the cache memory for future use by the same source-group pair. MOSPF is a data-driven protocol.
Dr. L. Christofi
Fall 2007
67
CBT
Core-Based Tree
Group-shared protocol that uses a core as the root of the tree. Autonomous system is divided into regions, and a core (center router or rendezvous router) is chosen for each region. Formation of tree After rendezvous router is selected, every router is informed of the unicast address of the selected router. All routers sends a unicast join message that passes through all routers that are located between sender and rendezvous router. Each intermediate router extracts the necessary information from the message, such as the unicast address of the sender and the port through which the packet has arrived, and forwards the message to the next router in the path. When the rendezvous router has received all join messages from every member of the group, the tree is formed. Now every router knows its upstream and downstream router.
Dr. L. Christofi Fall 2007
68
1.#
If a router wants to leave the group, it sends a leave message to its upstream router. The upstream router removes the link to that router from the tree and forwards the message to the upstream router, and so on.
Dr. L. Christofi
Fall 2007
69
CBT
Tree is made from the leaves
There is no tree in the beginning; the joining (grafting) gradually makes the tree.
Dr. L. Christofi
Fall 2007
70
1.#
A multicast packet is send from source to rendezvous router and it forwards the message to all members of the group. Packet from source to members of group as below:
Source [may be or may be part of the tree] encapsulates the multicast packet inside a unicast packet with the unicast destination address of the core and sends it to the core. This part of delivery is done using a unicast address; the only recipient is the core router. Core decapsulates the unicast packet and forwards it to all interested ports, which is part of the tree and is not pruned by IGMP Each router that receives the multicast packet, in turn, forwards it to all interested ports.
Dr. L. Christofi
Fall 2007
71
Dr. L. Christofi
Fall 2007
72
1.#
Multicasting is applied in distributed databases, information dissemination, distance learning, and particularly multimedia communications.
Dr. L. Christofi
Fall 2007
73
Dr. L. Christofi
Fall 2007
74
1.#
Dr. L. Christofi
Fall 2007
75
Dr. L. Christofi
76
1.#
References
B.A. Forouzan, Data Communications and Networking, 4th edition, McGraw-Hill, 2007
W. Stalling, Local and Metropolitan Area Networks, 6th edition, Prentice Hall, 2000 W. Stallings, Data and Computer Communications, 7th edition, Prentice Hall, 2004
F. Halsall, Data Communications, Computer Networks and Open Systems, 4th edition, Addison Wesley, 1995
Dr. L. Christofi
Fall 2007
77
1.#