6. IP Multicast

45
Multimedia Networking #6 IP Multicast Semester Ganjil 2012 PTIIK Universitas Brawijaya

description

asd

Transcript of 6. IP Multicast

  • Multimedia Networking#6 IP MulticastSemester Ganjil 2012PTIIK Universitas Brawijaya

  • Schedule of Class MeetingIntroduction Applications of MNRequirements of MNCoding and CompressionRTPIP MulticastIP Multicast (contd) Overlay MulticastCDN: SolutionsCDN: Case StudiesQoS on the Internet: ConstraintsQoS on the Internet: SolutionsDiscussionSummaryMultmedia Networking*

    Multmedia Networking

  • Todays OutlineIP MulticastConcept and componentsAddressing architectureIP Multicast ProtocolsMultmedia Networking*

    Multmedia Networking

  • IP Multicast

  • MulticastMany receiversReceiving the same contentApplicationsVideo conferencingOnline gamingIP television (IPTV)Financial data feedsMultmedia Networking*

    Multmedia Networking

  • Iterated UnicastUnicast message to each recipientAdvantagesSimple to implementNo modifications to networkDisadvantagesHigh overhead on senderRedundant packets on linksSender must maintain list of receiversMultmedia Networking*

    Multmedia Networking

  • IP MulticastEmbed receiver-driven tree in network layerSender sends a single packet to the groupReceivers join and leave the treeAdvantagesLow overhead on the senderEffective use of network resources Avoids redundant network trafficDisadvantagesControl-plane protocols for multicast groupsOverhead of duplicating packets in the routersMultmedia Networking*

    Multmedia Networking

  • Multicast Communication1 flows of a packet10 flows of the same packetUnicastMulticastsendersenderMultmedia Networking*

    Multmedia Networking

  • IP Multicast CommunicationConceptMulticast data sender sends the data only once, and only the intended recipients (who want to receive the data) receive the dataIP multicast provides one-to-many or many-to-many communication effectivelyEach data (i.e. multicast stream) is classified by multicast address (and source address if SSM is used)Non-reliable communication (i.e. on top of UDP)IP multicast is basically applied to real-time applicationsMultmedia Networking*

    Multmedia Networking

  • Data FlowData senderSender sends data onceData receiverReceiver that has requested getting the data receives the dataMulticast routersRouter copies and forwards the data only toward the data receiversMulticastRouterSenderReceiverDataDataMultmedia Networking*

    Multmedia Networking

  • Communication FlowControl messagesSender announces the session information or receivers discover the session informationEach receiver requests to start and stop receiving data by join and leave operationsMulticast routers maintains membership state by having reportsMulticastRouterSenderReceiverJoin/Leave requestAnnouncementDiscoveryQueryMulticastRouterRoutingprotocolMultmedia Networking*

    Multmedia Networking

  • Multicast AddressesMulticast group defined by IP addressMulticast addresses look like unicast addresses224.0.0.0 to 239.255.255.255Using multicast IP addressesSender sends to the IP addressReceivers join the group based on IP addressNetwork sends packets along the tree

    Multmedia Networking*

    Multmedia Networking

  • Example Multicast ProtocolReceiver sends a join messages to the senderAnd grafts to the tree at the nearest pointMultmedia Networking*

    Multmedia Networking

  • IP Multicast is Best EffortSender sends packet to IP multicast addressLoss may affect multiple receivers

    Multmedia Networking*

    Multmedia Networking

  • TerminologiesGroup address (or multicast address)Used for destination addressJoin and leaveData reception state requested by receiver hostsJoin and pruneData reception state requested by routers(*,G) and (S,G)Notation of source address and group address in join-and-leave (or join-and-prune) stateMultmedia Networking*

    Multmedia Networking

  • TerminologiesScopeExpected data distribution areaClassified by multicast address or TTLTTL (Time To Live) or Hop limitExpected maximum hop count of each packetIIF and OIFIIF: Incoming interface from which data is receivedOIF: Outgoing interface to which data is sentMultmedia Networking*

    Multmedia Networking

  • TerminologiesMulticast sessionMulticast data stream classified by the multicast address is called multicast sessionMulticast channelMulticast data stream explicitly classified by the pair of multicast address and source address is called multicast channelUsed for SSMMultmedia Networking*

    Multmedia Networking

  • Multicast ProtocolsHost-to-Router ProtocolsIGMPv1, IGMPv2, IGMPv3, MLDv1, MLDv2Router-to-Router ProtocolsDVMRP, MOSPF, CBT, PIM-DM, PIM-SM, PIM-SSMMulticastRouterSender hostReceiver hostJoin/Leave requestQueryMulticastRouterMultmedia Networking*

    Multmedia Networking

  • Multicast Address Assignment

  • IP MulticastSimple to use in applicationsMulticast group defined by IP multicast addressIP multicast addresses look similar to IP unicast addrs224.0.0.0 to 239.255.255.255 (RPC 3171)265 M multicast groups at mostBest effort delivery onlySender issues single datagram to IP multicast addressRouters delivery packets to all subnetworks that have a receiver belonging to the group

    Receiver-driven membershipReceivers join groups by informing upstream routersInternet Group Management Protocol (v3: RFC 3376)Multmedia Networking*

    Multmedia Networking

  • IP Multicast AddressIP multicast addressIPv4: 224.0.0.0 239.255.255.255IPv6: FFx0::1MUST be specified as a destination addressMUST NOT be specified as a source addressDynamic address assignmentRegular applications select their multicast addresses dynamicallySome multicast addresses are assigned by IANA for special usesMultmedia Networking*

    Multmedia Networking

  • IPv4 Multicast AddressesIPv4 multicast address224.0.0.0 (0xe0000000) - 239.255.255.255 (0xefffffff)+----+----+---------+------------+| 4 | 28 bits |+----+----+---------+------------+|1110| group address |+----+----+---------+------------+Administrative scope [RFC2365]Local address (224/24)Administrative scope (239/8)Organization-Local (239.192/14)GLOP address (233/8) [RFC3180]EGLOP (233.252.0.0 - 233.255.255.255) [RFC3138]SSM address (232/8) [RFC]Multmedia Networking*

    Multmedia Networking

  • IPv6 Multicast AddressesIPv6 multicast address: FFxx::+--------+----+----+---------------------------------------------+| 8 | 4 | 4 | 112 bits |+--------+----+----+---------------------------------------------+|11111111|flgs|scop| group ID |+--------+----+----+---------------------------------------------+Flags000T (T=1: transient, T=0: well-known)Scope0x1: Interface Local0x2: Link-Local0x3: Subnet-Local0x4: Admin-Local0x5: Site-Local0x8: Organization-Local0xE: GlobalSSM address (FF3x::/32 (or 96)) [RFC3306]Multmedia Networking*

    Multmedia Networking

  • Host-to-Router Multicast Protocols

  • IGMP v1Two types of IGMP msgs (both have IP TTL of 1)Host membership query: Routers query local networks to discover which groups have membersHost membership report: Hosts report each group (e.g., multicast addr) to which belong, by broadcast on net interface from which query was received

    Routers maintain group membershipHost senders an IGMP report to join a groupMulticast routers periodically issue host membership query to determine liveness of group membersNote: No explicit leave message from clientsMultmedia Networking*

    Multmedia Networking

  • IGMP: ImprovementsIGMP v2 added:If multiple routers, one with lowest IP elected querierExplicit leave messages for faster pruningGroup-specific query messages

    IGMP v3 added:Source filtering: Join specifies multicast only from or all but from specific source addressesMultmedia Networking*

    Multmedia Networking

  • IGMP: Parameters and DesignParametersMaximum report delay: 10 secMembership query internal default: 125 secTime-out interval: 270 sec = 2 * (query interval + max delay)Is a router tracking each attached peer?No, only each network, which are broadcast mediaShould clients respond immediately to queries?Random delay (from 0..D) to minimize responses to queriesOnly one response from single broadcast domain neededWhat if local networks are layer-2 switched?L2 switches typically broadcast multicast traffic out all portsOr, IGMP snooping (sneak peek into layer-3 contents), Ciscos proprietary protocols, or static forwarding tables

    Multmedia Networking*

    Multmedia Networking

  • Router-to-Router Multicast Protocols

  • Multicast TreeMultmedia Networking*

    Multmedia Networking

  • Multicast routing: problem statementgoal: find a tree (or trees) connecting routers having local mcast group members tree: not all paths between routers usedshared-tree: same tree used by all group membersshared tree

    source-based: different tree from each sender to rcvrsMultmedia Networking*

    Multmedia Networking

  • Approaches for building mcast treesapproaches:source-based tree: one tree per sourceshortest path treesreverse path forwardinggroup-shared tree: group uses one treeminimal spanning (Steiner) center-based treeswe first look at basic approaches, then specific protocols adopting these approachesMultmedia Networking*

    Multmedia Networking

  • Single vs. Multiple SendersSource-based treeSeparate tree for each senderTree is optimized for that senderBut, requires multiple trees for multiple sendersShared treeOne common treeSpanning tree that reaches all participantsSingle tree may be inefficientBut, avoids having many different treesMultmedia Networking*

    Multmedia Networking

  • Shortest path treemcast forwarding tree: tree of shortest path routes from source to all receiversDijkstras algorithmrouter with attachedgroup memberrouter with no attachedgroup memberlink used for forwarding,i indicates order linkadded by algorithmLEGENDMultmedia Networking*

    Multmedia Networking

  • Reverse path forwardingif (mcast datagram received on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagramrely on routers knowledge of unicast shortest path from it to sendereach router has simple forwarding behavior:Multmedia Networking*

    Multmedia Networking

  • Reverse path forwarding: exampleresult is a source-specific reverse SPTmay be a bad choice with asymmetric linksrouter with attachedgroup memberrouter with no attachedgroup memberdatagram will be forwardedLEGENDdatagram will not be forwardedMultmedia Networking*

    Multmedia Networking

  • Reverse path forwarding: pruningforwarding tree contains subtrees with no mcast group membersno need to forward datagrams down subtreeprune msgs sent upstream by router with no downstream group membersrouter with attachedgroup memberrouter with no attachedgroup memberprune messageLEGENDlinks with multicastforwardingPR1R2R3R4R5R6R7s: sourcePPMultmedia Networking*

    Multmedia Networking

  • Internet Multicasting Routing: DVMRPDVMRP: distance vector multicast routing protocol, RFC1075flood and prune: reverse path forwarding, source-based treeRPF tree based on DVMRPs own routing tables constructed by communicating DVMRP routers no assumptions about underlying unicastinitial datagram to mcast group flooded everywhere via RPFrouters not wanting group: send upstream prune msgsMultmedia Networking*

    Multmedia Networking

  • DVMRP: continuedsoft state: DVMRP router periodically (1 min.) forgets branches are pruned: mcast data again flows down unpruned branchdownstream router: reprune or else continue to receive datarouters can quickly regraft to tree following IGMP join at leafodds and endscommonly implemented in commercial routerMultmedia Networking*

    Multmedia Networking

  • TunnelingQ: how to connect islands of multicast routers in a sea of unicast routers? mcast datagram encapsulated inside normal (non-multicast-addressed) datagramnormal IP datagram sent thru tunnel via regular IP unicast to receiving mcast router (recall IPv6 inside IPv4 tunneling)receiving mcast router unencapsulates to get mcast datagramphysical topologylogical topologyMultmedia Networking*

    Multmedia Networking

  • PIM: Protocol Independent Multicastnot dependent on any specific underlying unicast routing algorithm (works with all)two different multicast distribution scenarios :dense:group members densely packed, in close proximity.bandwidth more plentifulsparse:# networks with group members small wrt # interconnected networksgroup members widely dispersedbandwidth not plentifulMultmedia Networking*

    Multmedia Networking

  • Consequences of sparse-dense dichotomy: densegroup membership by routers assumed until routers explicitly prunedata-driven construction on mcast tree (e.g., RPF)bandwidth and non-group-router processing profligatesparse:no membership until routers explicitly joinreceiver- driven construction of mcast tree (e.g., center-based)bandwidth and non-group-router processing conservativeMultmedia Networking*

    Multmedia Networking

  • PIM- dense modeflood-and-prune RPF: similar to DVMRP butunderlying unicast protocol provides RPF info for incoming datagramless complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithmhas protocol mechanism for router to detect it is a leaf-node routerMultmedia Networking*

    Multmedia Networking

  • PIM - sparse modeexplicit join and prune: center-based approach, SPT to the sourcerouter sends join msg to rendezvous point (RP)intermediate routers update state and forward joinafter joining via RP, router can switch to source-specific treeincreased performance: less concentration, shorter pathsall data multicastfrom rendezvouspointrendezvouspointMultmedia Networking*

    Multmedia Networking

  • sender(s):unicast data to RP, which distributes down RP-rooted treeRP can extend mcast tree upstream to sourceRP can send stop msg if no attached receiversno one is listening!all data multicastfrom rendezvouspointrendezvouspointPIM - sparse modeMultmedia Networking*

    Multmedia Networking

  • Conclusion of Todays LectureIP Multicast runs on top of UDP under best-effort IP networksuitable for real-time applicationsIP Multicast is efficient-use of network resourcessuitable for one-many or many-many communicationIP Multicast requiresspecific address assignmenthost-to-router protocolsrouter-to-router protocolsMultmedia Networking*

    Multmedia Networking

    **239.192/14 = 239.192.0.0.0 239.195.255.255*Why no explicit leave? Unwanted packets can just be dropped at client!*Why no explicit leave? Unwanted packets can just be dropped at client!*1. Router not tracking each peer, only each network: because these local networks at broadcast media (e.g., unswitched ethernet). 2. Random delay (from 0D) in order to minimize responses to queries: Only one response from broadcast domain needed.3. L2 switches typically broadcast multicast traffic out all ports. Alternatively, IGMP snooping (sneak peek into the layer 3 content of a multicast packet), Ciscos proprietary, or static forwarding tables**Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-9*Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-11*Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-12*Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-13*Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-14*Notes:

    3.3 Network Layer: Multicast Routing Algorithms 3-15*Notes: D. Waitzman, S. Deering, C. Partridge, Distance Vector Multicast Routing Protocol, RFC 1075, Nov. 1988. The version of DVMRP in use today is considerably enhanced over the RFC1075 spec.A more up-to-date work-in-progress defines a version 3 of DVMRP: T. Pusateri, Distance Vector Multicast Routing Protocol, work-in-progress, draft-ietf-idmr-v3-05.ps

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-20*Notes:

    1. See www.mbone.com/mbone/routers.html for a (slightly outdatet) list of multicast capable routers (supporting DVMPR as well as other protocols) from various vendors.2. ftp://parcftp.xerox.com/pub/net-research/ipmulti for circa 1996 public copy mrouted v3.8 of DVMRP routing software for various workstation routing platforms.

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-21*Notes: For a general discussion of IP encapsulation, see C. Perkins, IP Encapsulation within IP, RFC 2003, Oct. 1996.The book S. Bradner, A Mankin, Ipng: Internet protocol next generation, Addison Wesley, 1995 has a very nice discussion of tunnelingTunneling can also be used to connect islands of IPv6 capable routers in a sea IPv4 capable routers. The long term hope is that the sea evaporates leaving only lands of IPv6!

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-22*Notes: a very readable discussion of the PIM architecture is S. Deering, D. Estrin, D. Faranacci, V. Jacobson, C. Liu, L. Wei, The PIM Architecture for Wide Area Multicasting, IEEE/ACM Transactions on Networking, Vol. 4, No. 2, April 1996.D. Estrin et al, PIM-SM: Protocol Specification, RFC 2117, June 1997S. Deering et al, PIM Version 2, Dense Mode Specification, work in progress, draft-ietf-idmr-pim-dm-05.txt PIM is implemented in Cisco routers and has been deployed in UUnet as part of their streaming multimedia delivery effort. See S. LaPolla, IP Multicast makes headway among ISPs, PC Week On-Line, http://www.zdnet.com/pcweek/news/1006/06isp.html

    *Notes:

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-26*Notes:

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-27*Notes:

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-28*Notes:

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-29