Computer Networks Chapter 4 Advanced Internetworking Problems n
Computer Networks Chapter 4: Advanced Internetworking
Problems n How do we build a routing system that can handle hundreds of thousands of networks and billions of end nodes? n How to handle address space exhaustion of IPv 4? n How to enhance the functionalities of Internet? CN_4. 2
Chapter Outline n Global Internet n Multicast n Mobile IP CN_4. 3
Chapter Goal n Understanding the scalability of routing in the Internet n Discussing IPv 6 n Understanding the concept of multicasting n Discussing Mobile IP CN_4. 4
The Global Internet The tree structure of the Internet in 1990 CN_4. 5
The Global Internet A simple multi-provider Internet CN_4. 6
Interdomain Routing (BGP) n Internet is organized as autonomous systems (AS) each of which is under the control of a single administrative entity n Autonomous System (AS) l corresponds to an administrative domain l examples: University, company, backbone network n A corporation’s internal network might be a single AS, as may the network of a single Internet service provider CN_4. 7
Interdomain Routing A network with two autonomous system CN_4. 8
Route Propagation n Idea: Provide an additional way to hierarchically aggregate routing information is a large internet. l Improves scalability n Divide the routing problem in two parts: l Routing within a single autonomous system l Routing between autonomous systems n Another name for autonomous systems in the Internet is routing domains l Two-level route propagation hierarchy 4 Inter-domain routing protocol (Internet-wide standard) 4 Intra-domain routing protocol (each AS selects its own) CN_4. 9
EGP and BGP n Inter-domain Routing Protocols l Exterior Gateway Protocol (EGP) 4 Forced a tree-like topology onto the Internet 4 Did not allow for the topology to become general – l Tree like structure: there is a single backbone and autonomous systems are connected only as parents and children and not as peers Border Gateway Protocol (BGP) 4 Assumes that the Internet is an arbitrarily interconnected set of ASs. 4 Today’s Internet consists of an interconnection of multiple backbone networks (they are usually called service provider networks, and they are operated by private companies rather than the government) 4 Sites are connected to each other in arbitrary ways CN_4. 10
BGP n Some large corporations connect directly to one or more of the backbone, while others connect to smaller, non-backbone service providers. n Many service providers exist mainly to provide service to “consumers” (individuals with PCs in their homes), and these providers must connect to the backbone providers n Often many providers arrange to interconnect with each other at a single “peering point” CN_4. 11
The Global Internet Multihomed AS Transit AS Stub AS A simple multi-provider Internet CN_4. 12
BGP-4: Border Gateway Protocol n Assumes the Internet is an arbitrarily interconnected set of AS's. n Define local traffic as traffic that originates at or terminates on nodes within an AS, and transit traffic as traffic that passes through an AS. n We can classify AS's into three types: l Stub AS: an AS that has only a single connection to one other AS; such an AS will only carry local traffic (small corporation in the figure of the previous page). l Multihomed AS: an AS that has connections to more than one other AS, but refuses to carry transit traffic (large corporation at the top in the figure of the previous page). l Transit AS: an AS that has connections to more than one other AS, and is designed to carry both transit and local traffic (backbone providers in the figure of the previous page). CN_4. 13
BGP n The goal of Inter-domain routing is to find any loop free path to the intended destination l Reachability is more concerned than optimality l Finding path close to optimal is considered to be a great achievement n Why? CN_4. 14
BGP n Scalability: An Internet backbone router must be able to forward any packet destined anywhere l Having a routing table that will provide a match for any valid IP address n Autonomous nature of the domains l Not possible to calculate meaningful path costs for a path that crosses multiple ASs l A cost of 1000 across one provider might imply a great path but it might mean an unacceptable bad one from another provider n Issues of trust l Provider A might be unwilling to believe certain advertisements from provider B CN_4. 15
BGP Each AS has: n One BGP speaker that advertises: l local networks l other reachable networks (transit AS only) l gives path information n In addition to the BGP speakers, the AS has one or more border “gateways” which need not be the same as the speakers n The border gateways are the routers through which packets enter and leave the AS CN_4. 16
BGP n BGP does not belong to either of the two main classes of routing protocols (distance vectors and link-state protocols) n BGP advertises complete paths as an enumerated lists of ASs to reach a particular network CN_4. 17
BGP Example of a network running BGP CN_4. 18
BGP Example n Speaker for AS 2 advertises reachability to P and Q l Network 128. 96, 192. 4. 153, 192. 4. 32, and 192. 4. 3, can be reached directly from AS 2. n Speaker for backbone network then advertises l Networks 128. 96, 192. 4. 153, 192. 4. 32, and 192. 4. 3 can be reached along the path <AS 1, AS 2>. n Speaker can also cancel previously advertised paths CN_4. 19
BGP Issues n It should be apparent that the AS numbers carried in BGP need to be unique n For example, AS 2 can only recognize itself in the AS path in the example if no other AS identifies itself in the same way n AS numbers are 16 -bit numbers assigned by a central authority CN_4. 20
Integrating Interdomain and Intradomain Routing All routers run i. BGP and an intradomain routing protocol. Border routers (A, D, E) also run e. BGP to other ASs CN_4. 21
Integrating Interdomain and Intradomain Routing BGP routing table, IGP routing table, and combined table at router B CN_4. 22
Routing Areas Backbone area Area border router (ABR) A domain divided into areas CN_4. 23
Next Generation IP (IPv 6) CN_4. 24
Major Features n 128 -bit addresses n Multicast n Real-time service n Authentication and security n Auto-configuration n End-to-end fragmentation n Enhanced routing functionality, including support for mobile hosts CN_4. 25
IPv 6 Addresses n Classless addressing/routing (similar to CIDR) n Notation: x: x: x: x (x = 16 -bit hex number) l contiguous 0 s are compressed: 47 CD: : A 456: 0124 l IPv 6 compatible IPv 4 address: : : 128. 42. 1. 87 n Address assignment l provider-based l geographic CN_4. 26
IPv 6 Header n 40 -byte “base” header n Extension headers (fixed order, mostly fixed length) l fragmentation l source routing l authentication and security l other options CN_4. 27
Internet Broadcast/ Multicast Routing CN_4. 28
Broadcast Routing n Deliver packets from source to all other nodes n Source duplication is inefficient: duplicate R 1 duplicate creation/transmission R 1 R 2 R 3 duplicate R 4 source duplication R 3 R 4 in-network duplication r source duplication: how does source determine recipient addresses? CN_4. 29
In-network duplication n Flooding: when node receives broadcast packet, sends copy to all neighbors l Problems: cycles & broadcast storm n Controlled flooding: node only broadcasts packet if it hasn’t broadcast same packet before l Node keeps track of packet ids already broadcasted l Or reverse path forwarding (RPF): only forward packet if it arrived on shortest path between node and source n Spanning tree l No redundant packets received by any node CN_4. 30
Spanning Tree n First construct a spanning tree n Nodes forward copies only along spanning tree A B c F A E B c D F G (a) Broadcast initiated at A E D G (b) Broadcast initiated at D CN_4. 31
Spanning Tree: Creation n Center node n Each node sends unicast join message to center node l Message forwarded until it arrives at a node already belonging to spanning tree A A 3 B c 4 F 1 2 E B c D F 5 G (a) Stepwise construction of spanning tree E D G (b) Constructed spanning tree CN_4. 32
Multicast Routing: Problem Statement n Goal: find a tree (or trees) connecting routers having local multicast group members l tree: not all paths between routers used l source-based: different tree from each sender to receivers l shared-tree: same tree used by all group members Source-based trees Shared tree CN_4. 33
Approaches for building multicast trees Approaches: n source-based tree: one tree per source l shortest path trees l reverse path forwarding n group-shared tree: group uses one tree l minimal spanning (Steiner) l center-based trees …We first look at basic approaches, then specific protocols adopting these approaches CN_4. 34
Shortest Path Tree n Multicast forwarding tree: tree of shortest path routes from source to all receivers l Dijkstra’s algorithm LEGEND S: source R 1 1 2 R 4 R 2 3 R 3 router with attached group member router with no attached group member 5 4 R 6 R 5 6 R 7 i link used forwarding, i indicates order link added by algorithm CN_4. 35
Reverse Path Forwarding q Rely on router’s knowledge of unicast shortest path from it to sender q Each router has simple forwarding behavior: if (multicast datagram received on incoming link on shortest path back to sender) then flood datagram onto all outgoing links else ignore datagram CN_4. 36
Reverse Path Forwarding: example S: source LEGEND R 1 router with attached group member R 4 R 2 R 5 R 3 R 6 R 7 router with no attached group member datagram will be forwarded datagram will not be forwarded • Result is a source-specific reverse SPT – may be a bad choice with asymmetric links CN_4. 37
Reverse Path Forwarding: pruning n Forwarding tree contains subtrees with no multicast group members l no need to forward datagrams down subtree l “prune” messages sent upstream by router with no downstream group members LEGEND S: source R 1 router with attached group member R 4 R 2 router with no attached group member P R 5 R 3 R 6 P R 7 P prune message links with multicast forwarding CN_4. 38
Shared-Tree: Steiner Tree n Steiner Tree: minimum cost tree connecting all routers with attached group members n problem is NP-complete n excellent heuristics exists n not used in practice: l computational complexity l information about entire network needed l monolithic: rerun whenever a router needs to join/leave CN_4. 39
Center-based trees n Single delivery tree shared by all n One router identified as “center” of tree n to join: l edge router sends unicast join-msg addressed to center router l join-msg “processed” by intermediate routers and forwarded towards center l join-msg either hits existing tree branch for this center, or arrives at center l path taken by join-msg becomes new branch of tree for this router CN_4. 40
Center-based trees: an example Suppose R 6 chosen as center: R 1 R 4 3 R 2 LEGEND router with attached group member 2 router with no attached group member R 5 R 3 1 R 6 R 7 1 path order in which join messages generated CN_4. 41
Internet Multicasting Routing: DVMRP n DVMRP: Distance Vector Multicast Routing Protocol, RFC 1075 n Flood and prune: reverse path forwarding, source- based tree l RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers l no assumptions about underlying unicast routing protocols (RIP, OSPF, etc) l initial datagram to multicast group flooded everywhere via RPF l routers not wanting group: send upstream prune messages CN_4. 42
DVMRP: continued… n Soft state: DVMRP router periodically (1 min. ) “forgets” branches are pruned: l Multicast data again flows down unpruned branch l downstream router: reprune or else continue to receive data n routers can quickly regraft to tree l following IGMP join at leaf n odds and ends l commonly implemented in commercial routers l Mbone routing done using DVMRP CN_4. 43
Tunneling Q: How to connect “islands” of multicast routers in a “sea” of unicast routers? physical topology logical topology n Multicast datagram encapsulated inside “normal” (non- multicast-addressed) datagram n Normal IP datagram sent thru “tunnel” via regular IP unicast to receiving multicast router n receiving multicast router unencapsulates to get multicast datagram CN_4. 44
PIM: Protocol Independent Multicast n Not dependent on any specific underlying unicast routing algorithm (works with all) n Two different multicast distribution scenarios : Dense (密): Sparse(疏): n group members n Number of networks densely packed, in “close” proximity. n bandwidth more plentiful n with group members small wrt number of interconnected networks group members “widely dispersed” n bandwidth not plentiful CN_4. 45
Consequences of Sparse-Dense Dichotomy: Dense Sparse: n group membership by n no membership until routers assumed until routers explicitly join routers explicitly prune n receiver- driven n data-driven construction of construction on multicast tree (e. g. , center-based) RPF) n bandwidth and nongroup-router processing conservative processing profligate CN_4. 46
PIM- Dense Mode Flood-and-prune RPF, similar to DVMRP but n underlying unicast routing protocol provides RPF information for incoming datagram n less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm n has protocol mechanism for router to detect it is a leaf-node router CN_4. 47
PIM - Sparse Mode n Center-based approach n Router sends join message R 1 to rendezvous point (RP) l intermediate routers update state and forward join n after joining via RP, router can switch to sourcespecific tree l increased performance: less concentration, shorter paths R 4 join R 2 R 3 join R 5 join all data multicast from rendezvous point R 6 R 7 rendezvous point CN_4. 48
PIM - Sparse Mode Sender(s): R 1 n unicast data to RP, which distributes down RProoted tree n RP can extend multicast tree upstream to source R 2 join l “no one is listening!” R 5 join R 6 n RP can send stop message if no attached receivers R 4 join all data multicast from rendezvous point R 7 rendezvous point CN_4. 49
Routing for Mobile Hosts n Mobile IP l home agent: Router located on the home network of the mobile hosts l home address: The permanent IP address of the mobile host. Has a network number equal to that of the home network and thus of the home agent l foreign agent: Router located on a network to which the mobile node attaches itself when it is away from its home network CN_4. 50
Routing for Mobile Hosts CN_4. 51
Routing for Mobile Hosts n Problem of delivering a packet to the mobile node l How does the home agent intercept a packet that is destined for the mobile node ? 4 Proxy ARP l How does the home agent then deliver the packet to the foreign agent ? 4 IP tunnel 4 Care-of-address l How does the foreign agent deliver the packet to the mobile node ? CN_4. 52
Routing for Mobile Hosts n Route optimization in Mobile IP l The route from the sending node to mobile node can be significantly sub-optimal l One extreme example 4 The mobile node and the sending node are on the same network, but the home network for the mobile node is on the far side of the Internet – Triangle Routing Problem CN_4. 53
Routing for Mobile Hosts l Solution 4 Let the sending node know the care-of-address of the mobile node. The sending node can create its own tunnel to the foreign agent 4 Home agent sends binding update message 4 The sending node creates an entry in the binding cache 4 The binding cache may become out-of-date – The mobile node moved to a different network – Foreign agent sends a binding warning message CN_4. 54
Summary n We have talked about the following issues l Scalability routing in the Internet l IPv 6 l Broadcast/Multicasting l Mobile IP CN_4. 55
End of Chapter 4
- Slides: 56