250 likes | 473 Views
Multicast Routing. Multicasting. Sending message to multicast address Multicast address refers to a group of hosts Multimedia Teleconferencing Databases Distributed computation Real-time workgroup. Multicasting within LAN. MAC level multicast addresses IEEE 802 uses highest order bit 1
E N D
Multicast Routing Network Layer
Multicasting • Sending message to multicast address • Multicast address refers to a group of hosts • Multimedia • Teleconferencing • Databases • Distributed computation • Real-time workgroup Network Layer
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
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
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
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
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
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
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
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
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
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
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
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:adds support for "source filtering", that is, the ability for a system to report interest in receiving packets *only* from specific source addresses, or from *all but* specific source addresses, sent to a particular multicast address. RFC3376 IGMP Network Layer
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
IGMP Operation Example Network Layer
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
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
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
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
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
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
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
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
Multicast routing protocols Network Layer