Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 4 BGP and Multicasting
Path Vector Routing Distance vector and link state routing are intradomain routing protocols used inside an autonomous system Distance vector and link state routing protocols are not suitable for interdomain routing because of scalability There is a need for a third routing protocol which we call path vector routing. Path vector routing proved to be useful for interdomain routing. Both of these routing protocols become intractable when the domain of operation becomes large. 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 creates heavy traffic because of flooding
Path Vector Routing is similar to distance vector routing Assuming that there is one node in each AS that acts as on behalf of the entire AS : Speaker Node Speaker node creates a routing table and advertises it speaker nodes in the neighboring ASs advertising the path, not the metric of the nodes
Path Vector Routing The difference between the distance vector routing and path vector routing can be compared to the difference between a national map. A national map can tell us the road to each city and the distance to be travelled if we choose a particular route; an international map can tell us which cities exist in each country and which countries should be passed before reaching that city.
Path Vector Routing At the beginning, each speaker node can know only the reachable of nodes inside its autonomous system. Node A1 is the speaker node for AS1, B1 for AS2, C1 for AS3, and Dl for AS4. Node A1 creates an initial table that shows A1 to A5 are located in AS1 and can be reached through it. Node B1 advertises that B1 to B4 are located in AS2 and can be reached through Bl. And so on. a speaker in an autonomous system shares its table with immediate neighbors. When a speaker node receives a two-column table from a neighbor, it updates its own table by adding the nodes that are not in its routing table.
Figure 22.31 Stabilized tables for three autonomous systems
Path Vector Routing Loop prevention Policy routing The instability of distance vector routing and creation of loops can be avoided in path vector routing When a router receives a message, it checks to see if its autonomous system is in the path list to the destination If it is, looping is involved and the message is ignored Policy routing Can be easily implemented through path vector routing If one of the autonomous systems listed in the path is against its policy, it can ignore that path and that destination. It does not update its routing table with this path, and it does not send this message to its neighbors.
Path Vector Routing Optimum path The optimum path is the path that fits the organization. we chose the path that had the smaller number of autonomous systems. For example, a path from AS4 to ASI can be AS4-AS3-AS2-AS1, or it can be AS4-AS3-ASI
Border Gateway Protocol (BGP) Border Gateway Protocol is an interdomain routing protocol using path vector routing Path Vector Routing Each entry in the routing table contains the destination network, the next router, and the path to reach the destination The path is usually defined as an ordered list of autonomous systems that a packet should travel through to reach the destination
Type of Autonomous System Stub AS has only one connection to another AS The hosts in the AS can send or receive data traffic from other ASs. A stub AS is either a source or a sink. Multihomed AS has more than one connection to other Ass It can receive and send data traffic to more than one AS. no transient traffic. Transit AS is a multihomed AS that also allows transient traffic. ex) national and international ISPs
BGP (cont’d) Path attributes Well-known attributes: every BGP router must recognize well-known mandatory : ORIGIN (RIP, OSPF, and so on), AS-PATH, NEXT_HOP well-known discretionary : must be recognized by each router; but is not required to be included in every update message Optional attributes Optional transitive : must be passed to the next router by the router that has not implemented this attribute Optional nontransitive : must be discarded if the receiving router has not implemented this attribute
BGP (cont’d) BGP Session External and Internal BGP The exchange of routing information between two routers using BGP takes place in a session. Use of services of TCP Referred to as semi-permanent connections External and Internal BGP
MULTICAST ROUTING PROTOCOLS In Unicast, the router forwards the received packet through only one of its interfaces. In Multicasting, the router forwards the received packet through only one of its interfaces In Broadcasting, The router may forward the received packet through several of its interfaces.
Multicast Applications Access to Distributed Databases Information Dissemination Dissemination of News Teleconferencing Distance Learning
Multicasting versus multiple unicasting In Multicasting: The packet is duplicated by the routers. The destination address is between 224.0.0.0 - 239.255.255.255 (class D address) which is the Multicast groups IP addresses. In Multiple unicasting The source sends multiple copies of the same packet, each with a different unicast destination address. Example: sending an e-mail to a group Emulation of multicasting through multiple unicasting is not efficient (use more BW) &may create long delays, particularly with a large group.
IP Multicast addresses IP Multicasting only supports UDP as higher layer There is no multicast TCP ! IP Multicast addresses It is class D address- from 224.0.0.0 to 239.255.255.255. Reserved IP Multicast address is 224.0.0.0 to 224.0.0.255. Examples of special and reserved Class D addresses, e.g,
Multicast Groups The set of receivers for a multicast transmission is called a multicast group (identified by multicast address) A user that wants to receive multicast transmissions joins the corresponding multicast group, and becomes a member of that group Every host (more precisely: interface) can join and leave a multicast group dynamically no access control Every IP datagram send to a multicast group is transmitted to all members of the group no security, no “floor control” Sender does not need to be a member of the group After a user joins, the network builds the necessary routing paths so that the user receives the data sent to the multicast group
Multicast Routing Optimal Routing: Shortest Path Trees The Goal is to connect all multicast group members by the tree. Optimal Routing: Shortest Path Trees The root of the tree is the source, and the leaves are the potential destinations. The path from the root to each destination is the shortest path. Tow approaches to find it: Unicast Routing Multicast Routing Source-Based Tree Group-Shared Tree.
Shortest Path Trees: Unicast The router has a shortest path tree to reach all destination. (The whole routing table is a shortest path tree).
Shortest Path Trees: Multicast Difficulties in handling multicast traffic is due to: A multicast packet may have destinations in more than one network. If we have n groups, we may need n shortest path trees. Can be solved using: Source-based trees Group-shared trees.
Source-Based Tree The shortest path tree for a group defines the next hop for each network that has loyal member(s) for that group. We have 5 groups in the domain: G1, G2, G3, G4, and G5. At the moment G1 has loyal members in 4 networks, G2 in 3, G3 in 2, G4 in 2, and G5 in 2. If R1 receives a packet destined to G1 It sends a copy to R2 & to R4 (all members in G1
Group-Shared Tree In the source-based tree approach, each router needs to have one shortest path tree for each group. The core has m shortest path trees and the rest of the have none. If a router receives a multicast packet, it encapsulates the packet in a unicast packet and sends it to the core router. The core router removes the multicast packet from its capsule, and consults its routing table to route the packet. (sends it as Multicast)