1 / 62

Chapter 4 Network Layer Multicast Routing

Chapter 4 Network Layer Multicast Routing. 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6. 4.5 Routing algorithms Link state Distance Vector Hierarchical routing

kipling
Download Presentation

Chapter 4 Network Layer Multicast Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 4Network LayerMulticast Routing

  2. 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Chapter 4: Network Layer Network Layer

  3. Multicasting • Sending message to multicast address • Multicast address refers to a group of hosts • Multimedia • Teleconferencing • Databases • Distributed computation • Real-time workgroup Network Layer

  4. Multicasting within LAN • MAC level multicast addresses • IEEE 802 uses highest order bit 1 • All stations that recognise the multicast address accept the packet • Works because of broadcast nature of LAN • Packet only sent once • Much harder on internet Network Layer

  5. Multicast: act of sending datagram to multiple receivers with single “transmit” operation analogy: one teacher to many students Question: how to achieve multicast Multicast via unicast • source sends N unicast datagrams, one addressed to each of N receivers routers forward unicast datagrams multicast receiver (red) not a multicast receiver (grey) Multicast: one sender to many receivers Network Layer

  6. Multicast: act of sending datagram to multiple receivers with single “transmit” operation analogy: one teacher to many students Question: how to achieve multicast Multicast: one sender to many receivers Application-layer multicast • end systems involved in multicast copy and forward unicast datagrams among themselves Network Layer

  7. Internet Multicast Service Model 128.59.16.12 multicast group concept: use of indirection • hosts addresses IP datagram to multicast group • routers forward multicast datagrams to hosts that have “joined” that multicast group 128.119.40.186 multicast group 226.17.30.197 128.34.108.63 128.34.108.60 Network Layer

  8. Multicast groups • class D Internet addresses reserved for multicast: • host group semantics: • anyone can “join” (receive) multicast group • anyone can send to multicast group • no network-layer identification to hosts of members • needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group Network Layer

  9. Requirements for Multicasting (1) • Router must forward two or more copies of incoming packet • Addressing • IPv4 uses class D • Start 1110 plus 28 bit group id • IPv6 uses 8 bit prefix of all 1s, 4 bit flags field, 4 bit scope field 112 bit group id • Node must translate between multicast address and list of networks containing members of group • Router must translate between IP multicast address and subnet multicast address to deliver to destination network Network Layer

  10. Requirements for Multicasting (2) • Multicast addresses may be permanent or dynamic • Individual hosts may join or leave dynamically • Need mechanism to inform routers • Routers exchange information on which subnets contain members of groups • Routers exchange information to calculate shortest path to each network • Need routing protocol and algorithm • Routes determined based on source and destination addresses • Avoids unnecessary duplication of packets Network Layer

  11. Joining a mcast group: two-step process • local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) • wide area: local router interacts with other routers to receive mcast datagram flow • many protocols (e.g., DVMRP, MOSPF, PIM) IGMP IGMP wide-area multicast routing IGMP Network Layer

  12. IGMP: Internet Group Management Protocol • IGMP is a group management protocol. • It helps a multicast router create and update a list of members related to each router interface. • Position of IGMP in the network layer Network Layer

  13. IGMP message types Network Layer

  14. IGMP: Internet Group Management Protocol • host: sends IGMP report when application joins mcast group to make itself known as member of group to other hosts and routers • To join, send IGMP membership report message • IP_ADD_MEMBERSHIP socket option • host need not explicitly “unjoin” group when leaving. • Note:In IGMP, a membership report is sent twice, one after the other. report Network Layer

  15. IGMP: Internet Group Management Protocol router:periodically issues IGMP query • To all-hosts multicast address • Hosts respond with report message for each group to which it belongs • Only one host in group needs to respond to keep group alive • Host keeps timer and responds if no other reply heard in time report query Network Layer

  16. IGMP • Type: Membership query (general or group specific), membership report, leave group, max. response time • Checksum: uses IPv4 algorithm • Group address: zero for request, valid IP multicast for report or leave Network Layer

  17. IGMP version 1 router: Host Membership Query msg broadcast on LAN to all hosts host: Host Membership Report msg to indicate group membership randomized delay before responding implicit leave via no reply to Query RFC 1112 IGMP v2:additions include group-specific Query Leave Group msg last host replying to Query can send explicit Leave Group msg router performs group-specific query to see if any hosts left in group RFC 2236 IGMP v3:under development as Internet draft IGMP Network Layer

  18. IGMP Operation Example Imagine there are three hosts in a network as shown in the next slide. • A query message was received at time 0; • the random delay time (in tenths of seconds) for each group is shown next to the group address. • Show the sequence of report messages. Network Layer

  19. IGMP Operation Example Network Layer

  20. IGMP Operation Example The events occur in this sequence: Time 12: The timer for 228.42.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host B which cancels its timer for 228.42.0.0. Time 30: The timer for 225.14.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host C which cancels its timer for 225.14.0.0. Network Layer

  21. IGMP Operation Example Time 50: The timer for 251.70.0.0 in host B expires and a membership report is sent, which is received by the router and every host. Time 70: The timer for 230.43.0.0 in host C expires and a membership report is sent, which is received by the router and every host including host A which cancels its timer for 230.43.0.0. Note that if each host had sent a report for every group in its list, there would have been seven reports; with this strategy only four reports are sent. Network Layer

  22. Group Membership with IPv6 • Function incorporated in ICMPv6 • Includes all ICMPv4 plus IGMP • Includes group membership query and report • Addition of new group membership termination message Network Layer

  23. duplicate creation/transmission duplicate duplicate in-network duplication sourceduplication R4 R2 R1 R4 R3 R2 R1 R3 Broadcast routing • deliver packets from source to all other nodes • source duplication is inefficient: • source duplication: how does source determine recipient addresses? Network Layer

  24. In-network duplication • flooding: when node receives 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 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 Network Layer

  25. Source-based trees Shared tree Multicast Routing: Problem Statement • Goal: find a tree (or trees) connecting routers having local mcast group members • tree: not all paths between routers used • source-based: different tree from each sender to rcvrs • shared-tree: same tree used by all group members

  26. Approaches for building mcast 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

  27. In-network duplication • flooding: when node receives brdcst pckt, sends copy to all neighbors • Problems: cycles & broadcast storm • controlled flooding: node only brdcsts pkt if it hasn’t brdcst same packet before • Node keeps track of pckt ids already brdcsted • Or reverse path forwarding (RPF): only forward pckt if it arrived on shortest path between node and source • spanning tree • No redundant packets received by any node Network Layer

  28. Building multicast trees (cntd.) • Source Based Trees • Notation: (S, G) • specific sender • In a source-based tree approach, the combination of source and group determines the tree. • Uses more memory (O(S*G)), but can give optimal paths and delay. • Group Shared Trees • Notation: (*, G) • All senders • In the group-shared tree approach, the group determines the tree. • Uses less memory (O(G)) but suboptimal paths and delays • Data-driven • Build when data packets are sent • Demand-driven • Build when members join

  29. 1 i 5 4 3 6 2 Shortest Path Tree • mcast forwarding tree: tree of shortest path routes from source to all receivers • Dijkstra’s algorithm S: source LEGEND R1 R4 router with attached group member R2 router with no attached group member R5 link used for forwarding, i indicates order link added by algorithm R3 R7 R6

  30. Shortest Path Tree examples (a) A network. (b) A spanning tree for the leftmost router. (c) A multicast tree for group 1. (d) A multicast tree for group 2. Network Layer

  31. Reverse Path Forwarding if (mcast datagram received on incoming link on shortest path back to sender) then flood datagram onto all outgoing links else ignore datagram • rely on router’s knowledge of unicast shortest path from it to sender • each router has simple forwarding behavior:

  32. Reverse Path Forwarding: example S: source LEGEND R1 R4 router with attached group member 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

  33. Reverse 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 LEGEND S: source R1 router with attached group member R4 router with no attached group member R2 P P R5 prune message links with multicast forwarding P R3 R7 R6

  34. (b) Broadcast initiated at D (a) Broadcast initiated at A A A D D G G B B E E F F c c Spanning Tree • First construct a spanning tree • Nodes forward copies only along spanning tree Network Layer

  35. A A D D G G B E B E 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 Network Layer

  36. Shared-Tree: Steiner Tree • Steiner Tree: minimum cost tree connecting all routers with attached group members • problem is NP-complete • excellent heuristics exist • not used in practice: • computational complexity • information about entire network needed • monolithic: rerun whenever a router needs to join/leave

  37. 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

  38. Center-based trees: an example Suppose R6 chosen as center: LEGEND R1 router with attached group member R4 3 router with no attached group member R2 2 1 R5 path order in which join messages generated R3 1 R7 R6

  39. Multicast routing protocols Network Layer

  40. 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 • initial datagram to mcast group flooded everywhere via RPF • routers not wanting group: send upstream prune msgs

  41. DVMRP: continued… • soft state: DVMRP router periodically (1 min.) “forgets” branches are pruned: • mcast 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

  42. Reverse path forwarding • In reverse path forwarding (RPF), the router forwards only the packets that have traveled the shortest path from the source to the router; all other copies are discarded. • RPF prevents the formation of loops. Network Layer

  43. Reverse path broadcasting Network Layer

  44. RPF versus RPB • 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. Network Layer

  45. RPM – Reverse Path Multicasting • RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes. Network Layer

  46. RPF, RPB, and RPM Network Layer

  47. Multicast Extension to OSPF (MOSPF) • Enables routing of IP multicast datagrams within single AS • Each router uses MOSPF to maintain local group membership information • Each router periodically floods this to all routers in area • Routers build shortest path spanning tree from a source network to all networks containing members of group (Dijkstra) • Takes time, so on demand only Network Layer

  48. Forwarding Multicast Packets • If multicast address not recognised, discard • If router attaches to a network containing a member of group, transmit copy to that network • Consult spanning tree for this source-destination pair and forward to other routers if required Network Layer

  49. Interarea Multicasting • Multicast groups may contain members from more than one area • Routers only know about multicast groups with members in its area • Subset of area’s border routers forward group membership information and multicast datagrams between areas • Interarea multicast forwarders Network Layer

  50. Inter-AS Multicasting • Certain boundary routers act as inter-AS multicast forwarders • Run an inter-AS multicast routing protocol as well as MOSPF and OSPF • MOSPF makes sure they receive all multicast datagrams from within AS • Each such router forwards if required • Use reverse path routing to determine source • Assume datagram from X enters AS at point advertising shortest route back to X • Use this to determine path of datagram through MOSPF AS Network Layer

More Related