1 / 39

Source-Specific Multicast (SSM ) for application developers

Source-Specific Multicast (SSM ) for application developers. Agenda. Review current IP Multicast model, issues, current solution Introduce SSM model, terminology, relationship to IGMPv3 Example of operations Current vs. SSM Review SSM Co-existence, advantages

chun
Download Presentation

Source-Specific Multicast (SSM ) for application developers

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. Source-SpecificMulticast (SSM)for application developers

  2. Agenda • Review current IP Multicast • model, issues, current solution • Introduce SSM • model, terminology, relationship to IGMPv3 • Example of operations • Current vs. SSM • Review SSM • Co-existence, advantages • How to use SSM in applications • Issues

  3. Internet Standard Multicast (ISM) • ISM service model (RFC1112): • Sources simply send traffic to a host-group G,They do not know who the receivers are.sendto(sock, packet, …, G,…) • Receiversjoin the host-group Gsetsockopt(sock,…, IP_ADD_MEMBERSHIP,(G, iface), …) • Receive traffic from all sources sending to G.Recvfrom(sock, &packet, … &source, …) • Receivers not need to know who the sources are.(but may learn once they receive the packets of course).

  4. ISM, IGMPv3 and SSM • ISM: Powerful, proven model • Self-configuring, resilient distributed applications • Resource discovery mechanisms • Very easy for applications • What is New ? • IGMPv3: model extension, source filtering, enables SSM. • SSM solves ISM issues for Internet Broadcast apps. • SSM extends IP Multicast, does not replace ISM.

  5. Issues with ISM • Address allocation and management • One application per group address • Denial of Service Attacks • How to avoid unwanted sources traffic ? • Easy of scalability of service provisioning • Shared-Tree - Interdomain complexity (BGMP,..), no gain for few-sources apps. • Source-Tree - Source discovery management complexity

  6. Exploiting existing solutions • Internet standard provisioning solution: PIM-SM + MSDP • Source discovery with RPs and MSDP • Receiver initiated source-trees • SSM: Move resource discovery into applications: • Without the previous slides issues • Utilising existing PIM-SM/MSDP deployments • Co-existing with the ISM and it’s applications.

  7. Source Specific MulticastService Model • Sources simply send traffic to a host-group G,No change over Internet Standard Multicast service. sendto(sock, packet, …, G,…) • Receiverssubscribe to (S,G) channel(s) setsockopt(sock,…, IP_ADD_SOURCE_MEMBERSHIP, (S, G, iface), …) • Receive traffic from “channel” S sending to G. recvfrom(sock, &packet, … &source, …) • Receiver need to know the sources!

  8. SSM and IGMPv3 • IGMPv3 • INCLUDE{sourcelist, G} • receive traffic for G only from sources in sourcelist. • EXCLUDE{sourcelist, G} • receive traffic for G except from sources in sourcelist • SSM: • Only INCLUDE type memberships supported. IGMPv1, IGMPv2 and IGMPv3 EXCLUDE memberships are ignored in SSM by routers. • Unknown sources traffic not forwarded

  9. SSM versus ISM • SSM can break existing applications! No way to request reception of traffic from unknown sourcesExisting receiver applications will not work with SSM ! • New terminology: A group G alone has no meaning of it’s own in SSM. It is like the trailing digits in a telephone number ! Service Model: RFC1112 Source-SpecificNetwork Abstraction: group channelIdentifier: G S,GReceiver Operations: join, leave subscribe, unsubscribe

  10. ISM traffic delivery example RP

  11. ISM traffic delivery example S1Send to G S2Send to G RP

  12. ISM traffic delivery example S1Send to G S2Send to G register register First-hop routerssend register messagesto the RP RP

  13. ISM traffic delivery example S1Send to G S2Send to G registerstop register stop RP has no receiverreceiver pathsjoined, so it sendsback register-stopmessages, butremembers thatthe sources areactive RP (S1,G)(S2,G)

  14. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G RP (S1,G)(S2,G) Receivers startto join to the group

  15. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G And the last-hopDR will thensend (*,G)PIM-JOIN packets towards the RP RP (S1,G)(S2,G) (*,G) Join (*,G) Join (*,G) (*,G)

  16. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G This will establishtraffic deliveryfrom the RPtowards the receiver on the RPT, exceptthat there is no traffic yet RP (S1,G)(S2,G) (*,G) (*,G)

  17. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G (S1,G) Join (S2,G) Join But the RP knows about two source sending to G and send (Si,G)PIM-JOINS to themto get traffic fromthem RP (S1,G)(S2,G) (*,G) (*,G)

  18. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G The RP willreceive the trafficfrom sources S1 andS2 on the shortestpath RP (S1,G)(S2,G) (*,G) (*,G)

  19. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G And send it downon the RPT towardsthe receivers RP (S1,G)(S2,G) (*,G) (*,G)

  20. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G Once the last-hoprouter receive traffic from new sources, they will join to the SPT for these sources(shown only forS1 from one router) (S1,G) Join RP (S1,G) Join (S1,G),(S2,G) (S1,G),(S2,G)

  21. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G Because the inputinterface is different in this case, the router sends up (S1,G,Rpbit) Prune, once traffic arrives on the SPT RP (S1,G,RPbit) Prune (S1,G),(S2,G) (S1,G),(S2,G)

  22. ISM traffic delivery example R3Join to G R1Join to G R2Join to G S1Send to G S2Send to G And finally, traffic forwarding is on the SPTs RP (S1,G),(S2,G) (S1,G),(S2,G)

  23. ISM traffic delivery example S1Send to G S2Send to G If S1/R1 and S2/R3were independentapplications, their traffic would disturbeach other RP R3Join to G R1Join to G R2Join to G

  24. SSM traffic delivery example Now we reuse Gfor two independentapplications withSSM

  25. SSM traffic delivery example S1Send to G S2Send to G Sources send to SSM group G, no registering happens there

  26. SSM traffic delivery example S1Send to G S2Send to G Incompatible receiver joins, last-hop router has to ignore the request as there is no RP in SSM! R2Join to G

  27. SSM traffic delivery example S1Send to G S2Send to G SSM-enabled receivers subscribe to channels on the same group but for different sources R3Subscribe(S2,G) channel R1Subscribe(S1,G) channel R2Join to G

  28. SSM traffic delivery example S1Send to G S2Send to G (S2,G) Join Now we reuse Gfor two independentapplications withSSM (S1,G) Join (S1,G) Join (S2,G) Join R3Subscribe(S2,G) channel R1Subscribe(S1,G) channel R2Join to G

  29. SSM traffic delivery example S1Send to G S2Send to G And traffic flows down the shortest-paths, but legacy receivers will not get their traffic. R3Subscribe(S2,G) R1Subscribe(S1,G) R2Join to G

  30. SSM and ISM co-existence • SSM used only in “SSM-Range”: • 232.0.0.0 … 232.255.255.255 (proposed) • Scoped local ranges ? • Existing application may not use SSM-Range. • Global use of SSM-Range needed toguarantee conflict free address-reuse • Legacy application problem, not SSM problem!

  31. Advantages of SSM • No address management in SSM-Range • Each (S,G) channel traffic independent. • ~2^24 channels / source. • Group address similar to “TCP-Port” • No traffic from unwanted sources Network benefits: • Easily deployed • Support only needed in last-hop router. • Rest of the network may use PIM-SM (+access config). • Simpler service than ISM

  32. Applications for SSM • Attractive for Internet-wide broadcast-style applications: • Well known sources, very static • Primary targets for DoS attacks • Current problems with address availability • Impossible for SSM: • Resource discovery • Not useful with SSM: • Everything that should use “shared-tree” forwarding (Many Sources, frequently changing sources) • Others: • How difficult is source-discovery for an application ? • How useful is it to do it for the benefits of SSM ?

  33. Traffic delivery exampleISM + IGMPv3 (1) R3INCLUDE({S2},G) R1INCLUDE({S1},G) R2EXCLUDE ({}, G} S1Send to G S2Send to G Wishful thinking ?No, this will bepossible in the future, but more complex in thenetwork than SSM, also ... RP

  34. Traffic delivery exampleISM + IGMPv3 (2) R3INCLUDE({S2},G) R1INCLUDE({S1},G) R2EXCLUDE ({}, G} S1Send to G S2Send to G …closer to reality.No guarantee thatindependent applications traffic will always stay separate if not usingSSM RP

  35. How to support ISM + SSM (1) • Typical broadcast receiver application get address information from SDP style session information system. • Add support for source addresses. • Use IGMPv3 API. • If session info contains source address(es): • Use IGMPv3 INCLUDE membership API call(s). • Will work with ISM and SSM. • If session is does not contain source addresses: • Use simple group-join (I.e.: IGMPv3 EXCLUDE({},G) ). • Must use addresses not within the SSM-range.

  36. How to support SSM + ISM (2) • Self sustained applications (no session information): • Need to implement “source discovery” to support SSM: • Web-based applications could rely on a Webserver based servlet as an application-RP. • Applications that use INCLUDE style memberships will always work outside of the SSM-Range. • May receive complete group traffic ! • Need address management outside SSM-range !

  37. Deployment issues • To use SSM, IGMPv3 must be supported in: • The last-hop router • The receiver host OS • The application • Availability ? • Bootstrap solutions (from Cisco): • IGMP v3lite: User-level IGMPv3 API (SSM-subset) (Windows *, Linux, …). • URD: Make existing applications SSM-capable through appropriate web-based control. No changes on the receiver host required. • Not meant as a replacement to IGMPv3, but as SSM enablers. • Useful until user deploys full IGMPv3 (/Applications).

  38. References • draft-holbrook-ssm-00.txt - SSM model • draft-bhaskar-pim-ss-00.txt - PIM-SM mods. for PIM-SS • draft-ietf-idmr-igmp-v3-04.txt - IGMPv3 • draft-ietf-idmr-msf-api-00.txt - IGMPv3 API • draft-ietf-pim-v2-sm-01.txt - PIM-SM • draft-shepherd-ssm232-00.txt - Using PIM-SM with SSM-Range • ftp://ftpeng.cisco.com/ipmulticast.htmlfor further information on SSM

  39. Thank You

More Related