Chapter 22.
Network Layer: Delivery, Forwarding, and Routing
21.1 21.2 21.3 21.4
Delivery Forwarding Unicast Routing Protocols Multicast Routing Protocols
Computer Networks 22-1
Delivery
The network layer supervises the handling of the packets by the underlying physical networks. We define this handling as the delivery of a packet. Direct versus Indirect Delivery
Computer Networks
22-2
Forwarding
Forwarding means to place the packet in its route to its destination. Forwarding requires a host or a router to have a routing table Forwarding techniques to make the size of the routing table manageable
Next-hop method versus route method Network-specific method versus host-specific method Default method
Computer Networks
22-3
Forwarding Techniques
Route method versus next-hop method
Computer Networks
22-4
Forwarding Techniques
Host specific versus network-specific method
Default method
Computer Networks
22-5
Forwarding Process
In classless addressing, we need at least four columns in a routing table
Computer Networks
22-6
Example
Make a routing table for router R1, using the configuration in Figure
Computer Networks
22-7
Example
Routing table for router R1
Forwarding process for the destination address 180.70.65.140 ? Forwarding process for the destination address 18.24.32.78 ?
Computer Networks
22-8
Address Aggregation
Classless addressing increases the number of routing table entries To alleviate the problem, the address aggregation is used
Computer Networks
22-9
Longest Mask Matching
Computer Networks
22-10
Hierarchical Routing
To solve the problem of gigantic routing tables
Computer Networks
22-11
Routing Table
Static routing table: created manually Dynamic routing table: updated periodically by using one of the dynamic routing protocols such as RIP, OSPF, or BGP Common fields in a routing table
Flag: U(up), G(gateway), H(host-specific), D(added by redirection), M(modified by redirection) Reference count: number of users of this route at the moment Use: the number of packets transmitted through this router for the corresponding destination
Computer Networks
22-12
Utilities
To find the routing information and the contents of a routing table netstat and ifconfig
Computer Networks
22-13
Routing Protocols
A router consults a routing table when a packet is ready to be forwarded The routing table specifies the optimum path for the packet: static or dynamic Internet needs dynamic routing tables to be updated as soon as there is a change Routing protocols is a combination of rules and procedures for dynamic routing tables The routing protocols also include procedures for combining information received from other routers Unicast routing and multicasting routing RIP (Routing Information Protocol), OSPF (Open Shortest Path First), BGP (Border Gateway Protocol)
Computer Networks
22-14
Optimization
Which of the available pathways is the optimum pathway ? One approach is to assign a cost for passing through a network, called metric Total metric is equal to the sum of the metrics of networks that comprise the route Router chooses the route with shortest (smallest) metric RIP (Routing Information Protocol): hop count OSPF (Open Shortest Path First): allows administrator to assign a cost based on the type of service required BGP (Border Gateway Protocol): criterion is the policy
Computer Networks
22-15
Intra- and Interdomain Routing
AS (autonomous system): A group of networks and routers under the authority of a single administration Intradomain routing: inside an AS Interdomain routing: between ASs R1, R2, R3, and R4 use a intradomain and an interdomain routing protocol. The other routes use only intradomain routing protocols
Computer Networks
22-16
Popular (Unicast) Routing Protocols
Computer Networks
22-17
Distance Vector Routing
The least-cost route between any two nodes is the route with minimum distance Each node maintains a vector(table) of minimum distances to every node Distance vector routing table
Computer Networks
22-18
Distance Vector Routing: Initialization
At the beginning, each node can know only the distance between itself and its immediate neighbors
Computer Networks
22-19
Distance Vector Routing: Sharing
In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change
Computer Networks
22-20
Distance Vector Routing: Updating
When a node receives a two-column table from a neighbor, it need to update its routing table Updating rule:
Choose the smaller cost. If the same, keep the old one If the next-node entry is the same, the receiving node chooses the new row
Computer Networks
22-21
When to Share
Periodic update: A node sends its routing table, normally every 30 s Triggered update: Anode sends its two-column routing table to its neighbors anytime there is a change in its routing table Two-node instability
Computer Networks
22-22
Two-Node Instability
Defining infinity: To redefine infinity to a smaller number, such as 100 Split horizon: Instead of flooding the table through each interface, each node sends only part of its table through each interface. Node B eliminates the last line of its routing table before it sends it to A Split horizon and poison reverse: Node B can still advertise the value for X, but if the source of information is A, it can replace the distance with infinity as a warning: Do not use this value, what I know about this route comes from you.
Computer Networks
22-23
Three-Node Instability
If the instability is between three nodes, stability cannot be guaranteed.
Computer Networks
22-24
Routing Information Protocol
RIP: an intradomain routing protocol used inside an AS Simple protocol based distance vector routing Metric is simple, a hop count. The distance is defined as the number of links (networks) to reach the destination
Computer Networks
22-25
Example of RIP Updating
Computer Networks
22-26
Link State Routing
Each node has the entire topology of the domain- the list of nodes and links, how they are connected including type, cost, and condition of the links(up or down) Node can use Dijkstras algorithm to build a routing table
Computer Networks
22-27
Link State Knowledge
Each node has partial knowledge: it know the state (type, condition, and cost) of its links. The whole topology can be compiled from the partial knowledge of each node
Computer Networks
22-28
Building Routing Table
1. Creation of the states of the links by each node, called the link state packet (LSP) 2. Dissemination of LSPs to every other router, called flooding, in an efficient and reliable way 3. Formation of a shortest path tree for each node 4. Calculation of a routing table based on the shortest path tree
Creation of LSP
LSP contains node identity, the list of links (to make the topology), sequence number (to facilitate flooding and distinguish new LSPs from old ones LSPs are generated (1) when there is a change in the topology of the domain, (2) on a periodic basis, normally 60 min or 2 h
Computer Networks
22-29
Building Routing Table
Flooding of LSPs
The creating node sends a copy of the LSP out of each interface A node compares it with the copy it may already have. If the newly arrived LSP is older than the one it has, it discards the LSP. If it is newer, 1. It discards the old LSP and keeps the new one 2. It sends a copy of it out of each interface except the one from which the packet arrived
Formation of shortest path tree: Dijkstra Algorithm
After receiving all LSPs, each node will have a copy of the whole topology. Need to find the shortest path to every other node The Dijkstra algorithm creates a shortest path tree from a graph
Computer Networks
22-30
Dijkstra Algorithm
Computer Networks
22-31
Example of Dijkstra Algorithm
Computer Networks
22-32
Routing Table
Each node uses the shortest path tree protocol to construct its routing table The routing table shows the cost of reaching each node from the root
Computer Networks
22-33
Open Shortest Path First (OSPF)
Popular intradomain routing protocol based on link state routing To handle routing efficiently and in a timely manner, OSPF divides an autonomous system into area Area is a collection of network, hosts, and routers all contained within an AS AS can also be divided into many different areas Area border gateway, backbone router, virtual link
Computer Networks
22-34
Metric
The OSPF allows the administrator to assign a cost, called the metric, to each route The metric can be based on a type of service (minimum delay, maximum throughput, and so on)
Types of Links
Computer Networks
22-35
Point-to-Point Link
To connect two routers without any other host or router in between
Transient Link
A network with several routers attached to it
Computer Networks
22-36
Stub Link
Stub link is a network that is connected to only one router
Virtual Link
Virtual link created for broken link by administrator
Computer Networks
22-37
Graphical Representation of an Internet
Computer Networks
22-38
Path Vector Routing
Distance vector routing is subject to instability if there are more than a few hops in the domain of operation Link state routing needs a huge amount of resources to calculate routing tables. It also create heavy traffic because of flooding Need for a third routing algorithm for interdomain routing, called path vector routing Path vector routing is similar to distance vector routing But, only speaker node creates a routing table and advertises it to speaker nodes in each AS A speaker node advertises the path, not the metric of nodes
Computer Networks
22-39
Path Vector Routing: Initialization
Computer Networks
22-40
Path Vector Routing: Sharing and Updating
Sharing: Like distance vector routing, a speaker shares its table with immediate neighbors Updating: When a speaker receives a two-column table from a neighbor, it updates its own table Loop prevention Policy routing Optimum path
Computer Networks
22-41
Border Gateway Protocol (BGP)
Interdomain routing protocol using path vector routing Types of autonomous systems (ASs)
Stub AS: only one connection to another AS Multihomed AS: more than one connection to other Ass, but still only a source or sink for data traffic Transit AS: a multihomed AS that also allows transient traffic
Path attribute
Well-know attribute
Well-known mandatory attribute:
ORIGIN (source of the routing information) AS_PATH (the list of ASs) NEXT-HOP(the next router)
Well-known discretionary attribute Optional transitive attribute Optional nontransitive attribute
Optional attribute
Computer Networks
22-42
BGP Sessions
A session is a connection between BGP routers for the exchange of router information To create a reliable environment, BGP uses the services of TCP as semipermanent connections External and internal BGP
E-BGP sessions: used to exchange information between two speaker nodes belonging to two different ASs I-BGP sessions: used to exchange information between two routers inside an AS
Computer Networks
22-43
Unicasting
In unicasting, the router forwards the received packet through only one of its interfaces
Computer Networks
22-44
Multicasting
In multicast routing, the router may forward the received packet through several of its interfaces. Broadcasting is a special case of multicasting
Computer Networks
22-45
Multicasting vs. Multiple Unicasting
Emulation of multicasting through multiple unicasting is not efficient and may create long delays, particularly with a large group
Computer Networks
22-46
Multicasting Applications
Access to distributed databases Information dissemination Dissemination of news Teleconferencing Distance learning
Computer Networks
22-47
Multicast tree
Objectives of multicasting:
Every member of the group should receive one, and only one, copy of the multicast packet. Nonmember must not receive a copy
There must be no loops in routing The path traveled from source to each destination must be optimal
In a source-based tree approach, the combination of source and group determines the tree (DVMRP, MOSPF, PIM-DM) In the group-shared tree approach, the group determines the tree (CBT, PIM-SM)
Computer Networks
22-48
Multicast Routing
Optimal routing: Shortest path trees Unicast Routing
Each router in the domain has a table that defines a shortest path tree to possible destinations
Computer Networks
22-49
Shortest Path Tree
Multicast Routing
Each involved router needs to construct a shortest path tree for each group
Source-Based Tree and Group-Shared Tree In the source-based tree approach, each router needs to have one shortest path tree for each group
Computer Networks
22-50
Shortest Path Tree
In the group-shared tree approach, only the core router, which has a shortest path tree for each group, is involved in multicasting
Computer Networks
22-51
Multicast Protocols
Computer Networks
22-52
Multicast Link State Routing: MOSPF
Multicast link state routing uses the source-based tree approach n (the number of group) topologies and n shortest path trees made Each router has a routing table that represents as many shortest path trees as there are groups MOSPF is an extension of the OSPF protocol that uses multicast link state routing to create source-based trees MOSPF requires a new link state update packet to associate the unicast address of a host with the group address or addresses the host is sponsoring MOSPF is a data-driven protocol; the first time an MOSPF router see a datagram with a given source and group address, the router constructs the Dijkstra shortest path tree
Computer Networks
22-53
Multicast Distance Vector: DVMRP
Multicast distance vector routing uses the source-based trees, but the router never actually makes a routing table Multicast routing does not allow a router to send its routing table to its neighbors. The idea is to create a table from scratch by using the information from the unicast distance vector tables Process based on four decision-making strategies. Each strategy is built on its predecessor
Flooding Reverse Path Forwarding (RPF) Reverse Path Broadcasting (RPB) Reverse Path Multicasting (RPM)
Computer Networks
22-54
DVMRP: Strategies
Flooding broadcasts packets, but creates loops in the systems Reverse path forwarding: RPF eliminates the loop in the flooding process
Computer Networks
22-55
DVMRP: Strategies
Reverse path broadcasting: 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 Problem with RPF
Computer Networks
22-56
DVMRP: Strategies
Reverse path multicasting: RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes
Computer Networks
22-57
Core-Based Tree (CBT)
CBT is a group-shared protocol that uses a core as the root of the tree AS is divided into regions, and core (center router or rendezvous router) is chosen for each region Each router sends a unicast join message to rendezvous router When the rendezvous router has received all join messages from every member of the group, the tree is formed
Computer Networks
22-58
Sending Multicast Packets
The source sends the multicast packet (encapsulated in a unicast packet) to the core router. The core router decapsulates the packet and forwards it to all interested hosts. Each router that receives the multicast packet, in turn, forwards it to all interested ports
Computer Networks
22-59
Protocol Independent Multicast (PIM)
PIM-DM (Dense Mode) and PIM-SM (Sparse Mode) PIM-DM is used in a dense multicast environment, such as a LAN PIM-DM is a source-based tree routing protocol that uses RPF and pruning and grafting strategies for multicasting. However, it is independent of the underlying unicast protocol. PIM-SM is used in a sparse multicast environment such as a WAN PIM-SM is a group-shared routing protocol that has a rendezvous point as the source of the tree PIM-SM is similar to CBT but uses a simpler procedure.
Computer Networks
22-60
MBONE
To enable multicasting, we make a multicast backbone (MBONE) out of isolated routers, using of the concept of tunneling
Computer Networks
22-61
Logical Tunneling
A logical tunnel is established by encapsulating the multicast packet inside a unicast packet The multicast packet becomes the payload (data) of the unicast packet So far the only protocol supporting MBONE and tunneling is DVMRP
Computer Networks
22-62