560 likes | 724 Views
Computer Networks Chapter 4: Advanced Internetworking. Problems. How do we build a routing system that can handle hundreds of thousands of networks and billions of end nodes? How to handle address space exhaustion of IPv4? How to enhance the functionalities of Internet?. Chapter Outline.
E N D
Problems • How do we build a routing system that can handle hundreds of thousands of networks and billions of end nodes? • How to handle address space exhaustion of IPv4? • How to enhance the functionalities of Internet?
Chapter Outline • Global Internet • Multicast • Mobile IP
Chapter Goal • Understanding the scalability of routing in the Internet • Discussing IPv6 • Understanding the concept of multicasting • Discussing Mobile IP
The Global Internet The tree structure of the Internet in 1990
The Global Internet A simple multi-provider Internet
Interdomain Routing (BGP) • Internet is organized as autonomous systems (AS) each of which is under the control of a single administrative entity • Autonomous System (AS) • corresponds to an administrative domain • examples: University, company, backbone network • A corporation’s internal network might be a single AS, as may the network of a single Internet service provider
Interdomain Routing A network with two autonomous system
Route Propagation • Idea: Provide an additional way to hierarchically aggregate routing information is a large internet. • Improves scalability • Divide the routing problem in two parts: • Routing within a single autonomous system • Routing between autonomous systems • Another name for autonomous systems in the Internet is routing domains • Two-level route propagation hierarchy • Inter-domain routing protocol (Internet-wide standard) • Intra-domain routing protocol (each AS selects its own)
EGP and BGP • Inter-domain Routing Protocols • Exterior Gateway Protocol (EGP) • Forced a tree-like topology onto the Internet • Did not allow for the topology to become general • 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) • Assumes that the Internet is an arbitrarily interconnected set of ASs. • 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) • Sites are connected to each other in arbitrary ways
BGP • Some large corporations connect directly to one or more of the backbone, while others connect to smaller, non-backbone service providers. • 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 • Often many providers arrange to interconnect with each other at a single “peering point”
The Global Internet • Multihomed AS A simple multi-provider Internet • Transit AS • Stub AS
BGP-4: Border Gateway Protocol • Assumes the Internet is an arbitrarily interconnected set of AS's. • Define localtrafficas traffic that originates at or terminates on nodes within an AS, and transit trafficas traffic that passes through an AS. • We can classify AS's into three types: • 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). • 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). • 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).
BGP • The goal of Inter-domain routing is to find any loop free path to the intended destination • Reachability is more concerned than optimality • Finding path close to optimal is considered to be a great achievement • Why?
BGP • Scalability: An Internet backbone router must be able to forward any packet destined anywhere • Having a routing table that will provide a match for any valid IP address • Autonomous nature of the domains • Not possible to calculate meaningful path costs for a path that crosses multiple ASs • A cost of 1000 across one provider might imply a great path but it might mean an unacceptable bad one from another provider • Issues of trust • Provider A might be unwilling to believe certain advertisements from provider B
BGP Each AS has: • One BGP speakerthat advertises: • local networks • other reachable networks (transit AS only) • gives path information • In addition to the BGP speakers, the AS has one or more border “gateways” which need not be the same as the speakers • The border gateways are the routers through which packets enter and leave the AS
BGP • BGP does not belong to either of the two main classes of routing protocols (distance vectors and link-state protocols) • BGP advertises complete pathsas an enumerated lists of ASs to reach a particular network
BGP Example Example of a network running BGP
BGP Example • Speaker for AS 2 advertises reachability to P and Q • Network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS 2. • Speaker for backbone network then advertises • Networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along the path <AS 1, AS 2>. • Speaker can also cancel previously advertised paths
BGP Issues • It should be apparent that the AS numbers carried in BGP need to be unique • 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 • AS numbers are 16-bit numbers assigned by a central authority
Integrating Interdomain and Intradomain Routing All routers run iBGP and an intradomain routing protocol. Border routers (A, D, E) also run eBGP to other ASs
Integrating Interdomain and Intradomain Routing BGP routing table, IGP routing table, and combined table at router B
Routing Areas Backbone area Area border router (ABR) A domain divided into areas
Major Features • 128-bit addresses • Multicast • Real-time service • Authentication and security • Auto-configuration • End-to-end fragmentation • Enhanced routing functionality, including support for mobile hosts
IPv6 Addresses • Classless addressing/routing (similar to CIDR) • Notation: x:x:x:x:x:x:x:x (x = 16-bit hex number) • contiguous 0s are compressed: 47CD::A456:0124 • IPv6 compatible IPv4 address: ::128.42.1.87 • Address assignment • provider-based • geographic
IPv6 Header • 40-byte “base” header • Extension headers (fixed order, mostly fixed length) • fragmentation • source routing • authentication and security • other options
duplicate creation/transmission duplicate duplicate in-network duplication sourceduplication R2 R3 R4 R2 R3 R4 R1 R1 Broadcast Routing • Deliver packets from source to all other nodes • Source duplication is inefficient: • source duplication: how does source determine recipient addresses?
In-network duplication • Flooding: when node receives broadcast packet, sends copy to all neighbors • Problems: cycles & broadcast storm • Controlled flooding: node only broadcasts packet if it hasn’t broadcast same packet before • Node keeps track of packet ids already broadcasted • Or reverse path forwarding (RPF): only forward packet if it arrived on shortest path between node and source • Spanning tree • No redundant packets received by any node
(b) Broadcast initiated at D (a) Broadcast initiated at A A A D D G G B E E B F F c c Spanning Tree • First construct a spanning tree • Nodes forward copies only along spanning tree
A A D D G G B E E B F F c c Spanning Tree: Creation • Center node • Each node sends unicast join message to center node • Message forwarded until it arrives at a node already belonging to spanning tree 3 4 2 5 1 • Stepwise construction of spanning tree (b) Constructed spanning tree
Source-based trees Multicast Routing: Problem Statement • Goal: find a tree (or trees) connecting routers having local multicast group members • tree: not all paths between routers used • source-based: different tree from each sender to receivers • shared-tree: same tree used by all group members Shared tree
Approaches for building multicast trees Approaches: • source-based tree: one tree per source • shortest path trees • reverse path forwarding • group-shared tree: group uses one tree • minimal spanning (Steiner) • center-based trees …We first look at basic approaches, then specific protocols adopting these approaches
1 i 5 4 3 6 2 Shortest Path Tree • Multicast forwarding tree: tree of shortest path routes from source to all receivers • Dijkstra’s algorithm LEGEND S: source router with attached group member R1 R4 router with no attached group member R2 R5 link used for forwarding, i indicates order link added by algorithm R3 R7 R6
Reverse Path Forwarding • Rely on router’s knowledge of unicast shortest path from it to sender • 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
Reverse Path Forwarding: example S: source LEGEND R1 router with attached group member R4 R2 router with no attached group member R5 datagram will be forwarded R3 R7 R6 datagram will not be forwarded • Result is a source-specific reverse SPT • may be a bad choice with asymmetric links
Reverse Path Forwarding: pruning • Forwarding tree contains subtrees with no multicast group members • no need to forward datagrams down subtree • “prune” messages sent upstream by router with no downstream group members LEGEND S: source R1 router with attached group member R4 router with no attached group member R2 P P R5 prune message P R3 links with multicast forwarding R7 R6
Shared-Tree: Steiner Tree • Steiner Tree: minimum cost tree connecting all routers with attached group members • problem is NP-complete • excellent heuristics exists • not used in practice: • computational complexity • information about entire network needed • monolithic: rerun whenever a router needs to join/leave
Center-based trees • Single delivery tree shared by all • One router identified as “center” of tree • to join: • edge router sends unicast join-msg addressed to center router • join-msg“processed” by intermediate routers and forwarded towards center • join-msg either hits existing tree branch for this center, or arrives at center • path taken by join-msg becomes new branch of tree for this router
Center-based trees: an example Suppose R6 chosen as center: R1 LEGEND R4 3 router with attached group member R2 2 router with no attached group member R5 R3 1 1 R7 R6 path order in which join messages generated
Internet Multicasting Routing: DVMRP • DVMRP: Distance Vector Multicast Routing Protocol, RFC1075 • Flood and prune:reverse path forwarding, source-based tree • RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers • no assumptions about underlying unicast routing protocols (RIP, OSPF, etc) • initial datagram to multicast group flooded everywhere via RPF • routers not wanting group: send upstream prune messages
DVMRP: continued… • Soft state: DVMRP router periodically (1 min.) “forgets” branches are pruned: • Multicast data again flows down unpruned branch • downstream router: reprune or else continue to receive data • routers can quickly regraft to tree • following IGMP join at leaf • odds and ends • commonly implemented in commercial routers • Mbone routing done using DVMRP
Tunneling Q: How to connect “islands” of multicast routers in a “sea” of unicast routers? logical topology physical topology • Multicast datagram encapsulated inside “normal” (non-multicast-addressed) datagram • Normal IP datagram sent thru “tunnel” via regular IP unicast to receiving multicast router • receiving multicast router unencapsulates to get multicast datagram
Not dependent on any specific underlying unicast routing algorithm (works with all) Two different multicast distribution scenarios : PIM: Protocol Independent Multicast • Dense (密): • group members densely packed, in “close” proximity. • bandwidth more plentiful • Sparse(疏): • Number of networks with group members small wrtnumber of interconnected networks • group members “widely dispersed” • bandwidth not plentiful
Dense group membership by routers assumeduntil routers explicitly prune data-driven construction on multicast tree (e.g., RPF) bandwidth and non-group-router processing profligate Sparse: no membership until routers explicitly join receiver- drivenconstruction of multicast tree (e.g., center-based) bandwidth and non-group-router processing conservative Consequences of Sparse-Dense Dichotomy:
PIM- Dense Mode • Flood-and-prune RPF, similar to DVMRP but • underlying unicast routing protocol provides RPF information for incoming datagram • less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm • has protocol mechanism for router to detect it is a leaf-node router
Center-based approach Router sends join message to rendezvous point (RP) intermediate routers update state and forward join after joining via RP, router can switch to source-specific tree increased performance: less concentration, shorter paths PIM - Sparse Mode R1 R4 join R2 join R5 join R3 R7 R6 all data multicast from rendezvous point rendezvous point
Sender(s): unicast data to RP, which distributes down RP-rooted tree RP can extend multicast tree upstream to source RP can send stop message if no attached receivers “no one is listening!” PIM - Sparse Mode R1 R4 join R2 join R5 join R7 R6 all data multicast from rendezvous point rendezvous point
Routing for Mobile Hosts • Mobile IP • home agent:Router located on the home network of the mobile hosts • 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 • foreign agent:Router located on a network to which the mobile node attaches itself when it is away from its home network