Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Network Layer 4-1
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-2
Router architecture oeriew two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link forwarding tables computed, pushed to input ports routing processor routing, management control plane (software) forwarding data plane (hardware) high-seed switching fabric router input ports router output ports Network Layer 4-3
Switching fabrics transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs often measured as multiple of input/output line rate N inputs: switching rate N times line rate desirable three types of switching fabrics memory memory bus crossbar Network Layer 4-4
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-5
IP datagram format IP protocol ersion number header length (bytes) type of data max number remaining hops (decremented at each router) upper layer protocol to delier payload to how much oerhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer oerhead er head. len 16-bit identifier time to lie type of serice upper layer 32 bits flgs length fragment offset header checksum 32 bit source IP address 32 bit destination IP address options (if any) data (ariable length, typically a TCP or UDP segment) total datagram length (bytes) for fragmentation/ reassembly e.g. timestamp, record route taken, specify list of routers to isit. Network Layer 4-6
IP fragmentation, reassembly network links hae MTU (max.transfer size) - largest possible link-leel frame different link types, different MTUs large IP datagram diided ( fragmented ) within net one datagram becomes seeral datagrams reassembled only at final destination IP header bits used to identify, order related fragments reassembly fragmentation: in: one large datagram out: 3 smaller datagrams Network Layer 4-7
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-8
IP4 Addressing Classful addressing Fixed subnet/host address length Inflexible CIDR: Classless InterDomain Routing subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet portion of address 9
DHCP: Dynamic Host Configuration Protocol goal: allow host to dynamically obtain its IP address from network serer when it joins network can renew its lease on address in use allows reuse of addresses (only hold address while connected/ on ) support for mobile users who want to join network (more shortly) DHCP oeriew: host broadcasts DHCP discoer msg [optional] DHCP serer responds with DHCP offer msg [optional] host requests IP address: DHCP request msg DHCP serer sends address: DHCP ack msg Network Layer 4-10
NAT: network address translation implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of eery outgoing datagram to (NAT IP address, new port #)... remote clients/serers will respond using (NAT IP address, new port #) as destination addr remember (in NAT translation table) eery (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of eery incoming datagram with corresponding (source IP address, port #) stored in NAT table Network Layer 4-11
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-12
ICMP: internet control message protocol used by hosts & routers to communicate network-leel information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) ICMP message: type, code plus first 8 bytes of IP datagram causing error Case study: traceroute implementation source sends series of UDP segments to dest with TTL set to n nth router sends source ICMP messages (type 11, code 0) Network Layer 4-13
IP6 datagram format initial motiation: 32-bit address space soon to be completely allocated. additional motiation: header format helps speed processing/forwarding header changes to facilitate QoS er pri flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits Network Layer 4-14
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-15
Graph abstraction 5 graph: G = (N,E) u 1 2 x 2 3 1 3 w y 1 5 2 z N = set of routers = { u,, w, x, y, z } E = set of links ={ (u,), (u,x), (,x), (,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Network Layer 4-16
Graph abstraction: costs u 1 2 5 2 x 3 1 3 w y 1 5 2 z c(x,x ) = cost of link (x,x ) e.g., c(w,z) = 5 cost could always be 1, or inersely related to bandwidth, or inersely related to congestion cost of path (x 1, x 2, x 3,, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + + c(x p-1,x p ) key question: what is the least-cost path between u and z? routing algorithm: algorithm that finds that least cost path Network Layer 4-17
Routing algorithm classification Q: global or decentralized information? global: all routers hae complete topology, link cost info link state algorithms decentralized: router knows physicallyconnected neighbors, link costs to neighbors iteratie process of computation, exchange of info with neighbors distance ector algorithms Q: static or dynamic? static: routes change slowly oer time dynamic: routes change more quickly periodic update in response to link cost changes Network Layer 4-18
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-19
A Link-State Routing Algorithm Dijkstra s algorithm net topology, link costs known to all nodes accomplished ia link state broadcast all nodes hae same info computes least cost paths from one node ( source ) to all other nodes gies forwarding table for that node iteratie: after k iterations, know least cost path to k dest. s notation: c(x,y): link cost from node x to y; = if not direct neighbors D(): current alue of cost of path from source to dest. p(): predecessor node along path from source to N': set of nodes whose least cost path definitiely known Network Layer 4-20
Dijkstra s algorithm: example D() p() D(w) p(w) D(x) p(x) D(y) p(y) D(z) p(z) Step N' 0 u 7,u 3,u 5,u 1 uw 6,w 5,u 11,w 2 uwx 6,w 11,w 14,x 3 uwx 10, 14,x 4 uwxy 12,y 5 uwxyz notes: construct shortest path tree by tracing predecessor nodes ties can exist (can be broken arbitrarily) u 5 3 x w 4 8 7 3 7 4 9 y z 2 Network Layer 4-21
Dijsktra s Algorithm 1 Initialization: 2 N' = {u} 3 for all nodes 4 if adjacent to u 5 then D() = c(u,) 6 else D() = 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D() for all adjacent to w and not in N' : 12 D() = min( D(), D(w) + c(w,) ) 13 /* new cost to is either old cost to or known 14 shortest path cost to w plus cost from w to */ 15 until all nodes in N' Network Layer 4-22
Network Layer 4-23 Dijkstra s algorithm: another example Step 0 1 2 3 4 5 N' u ux uxy uxy uxyw uxywz D(),p() 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) 2,x D(z),p(z) 4,y 4,y 4,y u y x w z 2 2 1 3 1 1 2 5 3 5
Dijkstra s algorithm: example (2) resulting shortest-path tree from u: w u z x y resulting forwarding table in u: destination x y w z link (u,) (u,x) (u,x) (u,x) (u,x) Network Layer 4-24
Dijkstra s algorithm, discussion algorithm complexity: n nodes each iteration: need to check all nodes, w, not in N n(n+1)/2 comparisons: O(n 2 ) more efficient implementations possible: O(nlogn) oscillations possible: e.g., support link cost equals amount of carried traffic: 1 D A 1 1+e 0 0 0 C e initially e B 1 A 2+e 0 D 0 1+e 1 C B gien these costs, find new routing. resulting in new costs 0 D A 0 2+e 1 0 0 C 1+e B gien these costs, find new routing. resulting in new costs A 2+e 0 D 0 1+e 1 C B gien these costs, find new routing. resulting in new costs 0 Network Layer 4-25
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-26
Distance ector algorithm Bellman-Ford equation (dynamic programming) let d x (y) := cost of least-cost path from x to y then d x (y) = min {c(x,) + d (y) } cost from neighbor to destination y cost to neighbor min taken oer all neighbors of x Network Layer 4-27
Bellman-Ford example u 1 2 5 x 2 3 1 3 w y 1 5 2 z clearly, d (z) = 5, d x (z) = 3, d w (z) = 3 B-F equation says: d u (z) = min { c(u,) + d (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 node achieing minimum is next hop in shortest path, used in forwarding table Network Layer 4-28
Distance ector algorithm D x (y) = estimate of least cost from x to y x maintains distance ector D x = [D x (y): y є N ] node x: knows cost to each neighbor : c(x,) maintains its neighbors distance ectors. For each neighbor, x maintains D = [D (y): y є N ] Network Layer 4-29
Distance ector algorithm key idea: from time-to-time, each node sends its own distance ector estimate to neighbors when x receies new DV estimate from neighbor, it updates its own DV using B-F equation: D x (y) min {c(x,) + D (y)} for each node y N under minor, natural conditions, the estimate D x (y) conerge to the actual least cost d x (y) Network Layer 4-30
node x table from x y z cost to x y z 0 2 7 D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 from x y z x y z 0 cost to 2 3 2 0 1 7 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 node y table from x y z cost to x y z 2 0 1 x 2 y 7 1 z node z table from cost to x y z x y z 7 1 0 time Network Layer 4-31
node x table from x y z node y table from x y z cost to x y z 0 2 7 x y z 2 0 1 D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 cost to from from x y z x y z x y z 0 cost to 2 cost to x y z 0 2 7 2 0 1 3 2 0 1 7 1 0 7 1 0 from from x y z x y z cost to x y z 0 2 3 2 0 1 3 1 0 cost to x y z 0 2 3 2 0 1 3 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 y 2 1 x 7 z node z table from cost to x y z x y z 7 1 0 from x y z cost to x y z 0 2 7 2 0 1 3 1 0 from x y z cost to x y z 0 2 3 2 0 1 3 1 0 time Network Layer 4-32
Distance ector algorithm iteratie, asynchronous: each local iteration caused by: local link cost change DV update message from neighbor distributed: each node notifies neighbors only when its DV changes neighbors then notify their neighbors if necessary each node: wait for (change in local link cost or msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors Network Layer 4-33
Distance ector: link cost changes link cost changes: node detects local link cost change updates routing info, recalculates distance ector if DV changes, notify neighbors x 1 4 y 50 1 z good news traels fast t 0 : y detects link-cost change, updates its DV, informs its neighbors. t 1 : z receies update from y, updates its table, computes new least cost to x, sends its neighbors its DV. t 2 : y receies z s update, updates its distance table. y s least costs do not change, so y does not send a message to z. Network Layer 4-34
Distance ector: link cost changes link cost changes: node detects local link cost change bad news traels slow - count to infinity problem! 44 iterations before algorithm stabilizes: see text poisoned reerse: If Z routes through Y to get to X : Z tells Y its (Z s) distance to X is infinite (so Y won t route to X ia Z) 60 x 4 y 50 1 z Network Layer 4-35
Comparison of LS and DV algorithms message complexity LS: with n nodes, E links, O(nE) msgs sent DV: exchange between neighbors only conergence time aries speed of conergence LS: O(n 2 ) algorithm requires O(nE) msgs may hae oscillations DV: conergence time aries may be routing loops count-to-infinity problem robustness: what happens if router malfunctions? LS: node can adertise incorrect link cost each node computes only its own table DV: DV node can adertise incorrect path cost each node s table used by others error propagate thru network Network Layer 4-36
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-37
Hierarchical routing our routing study thus far - idealization all routers identical network flat not true in practice scale: with 600 million destinations: can t store all dest s in routing tables! routing table exchange would swamp links! administratie autonomy internet = network of networks each network admin may want to control routing in its own network Network Layer 4-38
Hierarchical routing aggregate routers into regions, autonomous systems (AS) routers in same AS run same routing protocol intra-as routing protocol routers in different AS can run different intra- AS routing protocol gateway router: at edge of its own AS has link to router in another AS Network Layer 4-39
Interconnected ASes 3c 3a 3b AS3 1a 1c 1d 1b Intra-AS Routing algorithm AS1 Forwarding table Inter-AS Routing algorithm 2a 2c AS2 2b forwarding table configured by both intraand inter-as routing algorithm intra-as sets entries for internal dests inter-as & intra-as sets entries for external dests Network Layer 4-40
Inter-AS tasks suppose router in AS1 receies datagram destined outside of AS1: router should forward packet to gateway router, but which one? AS1 must: 1. learn which dests are reachable through AS2, which through AS3 2. propagate this reachability info to all routers in AS1 job of inter-as routing! 3c other networks 3b 3a AS3 1a AS1 1c 1d 1b 2a AS2 2c 2b other networks Network Layer 4-41
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-42
Intra-AS Routing also known as interior gateway protocols (IGP) most common intra-as routing protocols: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) Network Layer 4-43
RIP ( Routing Information Protocol) included in BSD-UNIX distribution in 1982 distance ector algorithm distance metric: # hops (max = 15 hops), each link has cost 1 DVs exchanged with neighbors eery 30 sec in response message (aka adertisement) each adertisement: list of up to 25 destination subnets (in IP addressing sense) from router A to destination subnets: z u A C B D y w x subnet hops u 1 2 w 2 x 3 y 3 z 2 Network Layer 4-44
RIP: example w x y A D B z C routing table in router D destination subnet next router # hops to dest w A 2 y B 2 z B 7 x -- 1..... Network Layer 4-45
RIP: example A-to-D adertisement next hops dest w - 1 x - 1 z C 4.... w x y A D B z C routing table in router D destination subnet next router # hops to dest w A 2 y B 2 A z B 7 5 x -- 1..... Network Layer 4-46
OSPF (Open Shortest Path First) open : publicly aailable uses link state algorithm LS packet dissemination topology map at each node route computation using Dijkstra s algorithm OSPF adertisement carries one entry per neighbor adertisements flooded to entire AS Network Layer 4-47
OSPF adanced features (not in RIP) security: all OSPF messages authenticated (to preent malicious intrusion) ECMP: equal cost multiple paths allowed (only one path in RIP) for each link, multiple cost metrics for different TOS (e.g., satellite link cost set low for best effort ToS; high for real time ToS) integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF hierarchical OSPF in large domains. Network Layer 4-48
Hierarchical OSPF boundary router backbone router area border routers backbone area 3 area 1 area 2 internal routers Network Layer 4-49
Hierarchical OSPF two-leel hierarchy: local area, backbone. link-state adertisements only in area each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. area border routers: summarize distances to nets in own area, adertise to other Area Border routers. backbone routers: run OSPF routing limited to backbone. boundary routers: connect to other AS s. Network Layer 4-50
Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto inter-domain routing protocol glue that holds the Internet together BGP proides each AS a means to: ebgp: obtain subnet reachability information from neighboring ASs. ibgp: propagate reachability information to ASinternal routers. determine good routes to other networks based on reachability information and policy. allows subnet to adertise its existence to rest of Internet: I am here Network Layer 4-51
BGP basics BGP session: two BGP routers ( peers ) exchange BGP messages: adertising paths to different destination network prefixes ( path ector protocol) when AS3 adertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix AS3 can aggregate prefixes in its adertisement other networks 3b 3c AS3 3a 1a AS1 BGP message 1c 1d 1b 2a AS2 2c 2b other networks Network Layer 4-52
BGP basics: distributing path information using ebgp session between 3a and 1c, AS3 sends prefix reachability info to AS1. 1c can then use ibgp do distribute new prefix info to all boundary routers in AS1 1b can then re-adertise new reachability info to AS2 oer 1b-to- 2a ebgp session when router learns of new prefix, it creates entry for prefix in its forwarding table. other networks 3b 3a AS3 1a AS1 1c 1d ebgp session ibgp session 1b 2a AS2 2c 2b other networks Network Layer 4-53
Path attributes and BGP routes adertised prefix includes BGP attributes prefix + attributes = route two important attributes: AS-PATH: contains ASs through which prefix adertisement has passed: e.g., AS 67, AS 17 NEXT-HOP: indicates specific internal-as router to nexthop AS. (may be multiple links from current AS to nexthop-as) gateway router receiing route adertisement uses import policy to accept/decline e.g., neer route through AS x policy-based routing Network Layer 4-54
BGP route selection router may learn about more than 1 route to destination AS, selects route based on: 1. local preference alue attribute: policy decision 2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato routing 4. additional criteria Network Layer 4-55
Example Consider the network shown below. Suppose AS3 and AS2 are running OSPF for their intra-as routing protocol. Suppose AS1 and AS4 are running RIP for their intra-as routing protocol. Suppose E-BGP and I-BGP are used for the inter-as routing protocol. Initially suppose there is no physical link between AS2 and AS4. a. Router 3c learns about prefix x from which routing protocol: OSPF, RIP, E-BGP, or I-BGP? b. How about 3a, 1c, and 1d. 56
Example Referring to the preious network, once router 1d learns about x it will put an entry (x, I) in its forwarding table. a. Will I be equal to I 1 or I 2 for this entry? b. Now suppose that there is a physical link between AS2 and AS4, shown by the dotted line. Suppose router 1d learns that x is accessible ia AS2 as well as ia AS3. Will? c. Now suppose there is another AS, called AS5, which lies on the path between AS2 and AS4. Suppose router 1d learns that x is accessible ia AS2 AS5 AS4 as well as ia AS3 AS4. Will? 57
Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-58
Multicast and broadcast Multicast - one to many transmission Special case: broadcast - one to all transmission Solutions to both are similar source duplication is inefficient: duplicate R1 duplicate creation/transmission R1 R2 R2 duplicate R3 R4 R3 R4 source duplication in-network duplication Network Layer 4-59
Broadcast: in-network duplication flooding: when node receies broadcast packet, sends copy to all neighbors problems: cycles & broadcast storm controlled flooding: node only broadcasts pkt if it hasn t broadcast same packet before node keeps track of packet ids already broadacsted or reerse path forwarding (RPF): only forward packet if it arried on shortest path between node and source spanning tree: no redundant packets receied by any node Network Layer 4-60
Broadcast: controlled flooding Node S is the broadcast source. S E A B H C I G F K J D M N L 61
Broadcast: controlled flooding S E A B H C I G F K J D M N L To aoid forwarding the same packet multiple times (forming a loop), each node remembers the receied packet id. - Second copy receied by E from C is discarded - Second copy receied by C from E is discarded as well - Node H receies two copies from two neighbors, and will discard one of them 62
Broadcast: spanning tree first construct a spanning tree nodes then forward/make copies only along spanning tree A A c B c B F E D F E D (a) broadcast initiated at A G G (b) broadcast initiated at D Network Layer 4-63
Broadcast: spanning tree: creation center node each node sends unicast join message to center node message forwarded until it arries at a node already belonging to spanning tree F 1 c A 4 E 3 2 B D 5 G (a) stepwise construction of spanning tree (center: E) F c A E B D (b) constructed spanning tree G Network Layer 4-64
Multicast routing: problem statement goal: find a tree (or trees) connecting routers haing local mcast group members tree: not all paths between routers used shared-tree: same tree used by all group members source-based: different tree from each sender to rcrs legend group member not group member router with a group member router without group member shared tree source-based trees Network Layer 4-65
Approaches for building mcast trees approaches: source-based tree: one tree per source shortest path trees reerse 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 Network Layer 4-66
Shortest path tree mcast forwarding tree: tree of shortest path routes from source to all receiers Dijkstra s algorithm s: source LEGEND R1 1 2 R4 router with attached group member R3 R2 3 4 R6 6 R7 5 R5 i router with no attached group member link used for forwarding, i indicates order link added by algorithm Network Layer 4-67
Reerse path forwarding rely on router s knowledge of unicast shortest path from it to sender each router has simple forwarding behaior: if (mcast datagram receied on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram Network Layer 4-68
Reerse path forwarding: example s: source R2 R1 R4 LEGEND router with attached group member R5 router with no attached group member R3 R6 R7 datagram will be forwarded datagram will not be forwarded result is a source-specific reerse SPT may be a bad choice with asymmetric links Network Layer 4-69
Reerse path forwarding: pruning forwarding tree contains subtrees with no mcast group members no need to forward datagrams down subtree prune msgs sent upstream by router with no downstream group members s: source R3 R2 R1 R6 P R4 P R5 R7 LEGEND P router with attached group member router with no attached group member prune message links with multicast forwarding Network Layer 4-70
Center-based trees single deliery 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 arries at center path taken by join-msg becomes new branch of tree for this router Network Layer 4-71
Center-based trees: example suppose R6 chosen as center: LEGEND R1 3 R4 router with attached group member R3 R2 1 R6 2 R5 R7 1 router with no attached group member path order in which join messages generated Network Layer 4-72
Internet Multicasting Routing: DVMRP DVMRP: distance ector multicast routing protocol, RFC1075 flood and prune: reerse path forwarding, sourcebased tree RPF tree based on DVMRP s own routing tables constructed by communicating DVMRP routers no assumptions about underlying unicast initial datagram to mcast group flooded eerywhere ia RPF routers not wanting group: send upstream prune msgs Network Layer 4-73
PIM: Protocol Independent Multicast not dependent on any specific underlying unicast routing algorithm (works with all) two different multicast distribution scenarios : dense: group members densely packed, in close proximity. group membership by routers assumed until explicitly prune flood-and-prune RPF sparse: group members widely dispersed no membership until routers explicitly join center-based approach Network Layer 4-74
Chapter 4: done! 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format, IP4 addressing, ICMP, IP6 4.5 routing algorithms link state, distance ector, hierarchical routing 4.6 routing in the Internet RIP, OSPF, BGP 4.7 broadcast and multicast routing understand principles behind network layer serices: network layer serice models, forwarding ersus routing how a router works, routing (path selection), broadcast, multicast instantiation, implementation in the Internet Network Layer 4-75