410 likes | 561 Views
IPv6 Multicast on TEIN2 . Xing Li CERNET NOC/TEIN2 NOC 2008-07-16. Outline . Review of IP multicast Features IPv4 IPv6 Multicast configurations TEIN2 example Multicast tools ssmping/asmping smclock6/smjoin6 TEIN2 multicast testing homepage Multicast debugging
E N D
IPv6 Multicast on TEIN2 Xing Li CERNET NOC/TEIN2 NOC 2008-07-16
Outline • Review of IP multicast • Features • IPv4 • IPv6 • Multicast configurations • TEIN2 example • Multicast tools • ssmping/asmping • smclock6/smjoin6 • TEIN2 multicast testing homepage • Multicast debugging • IPv6 Multicast address plan • Discussions • Suggestions • Remarks
R R S S R R R R One to many communication • Application level one to many communication • multiple unicasts • IP multicast
Why Multicast • When sending same data to multiple receivers • better bandwidth utilization • less host/router processing • quicker participation • Application • Video/Audio broadcast (One sender) • Video conferencing (Many senders) • Real time news distribution • Interactive gaming
IPv4 multicast protocols • Subnet • IGMPv2 (ASM) • IGMPv3 (SSM) • Inner AS • PIM-SM (ASM/SSM) • RP (ASM) • Anycast RP + MSDP (ASM) • Inter AS • PIM-SM (ASM/SSM) • MSDP (ASM) • mBGP
IPv6 multicast protocols • Subnet • MLDv1 ASM (IPv4: IGMPv2) • MLDv2 SSM (IPv4: IGMPv3) • Inner AS • PIM-SM (ASM/SSM) • RP (ASM) • Inter AS • PIM-SM (ASM/SSM) • mBGP • Embedded RP (ASM)
IPv6 Multicast OS support • All IPv6 systems (should) support MLDv1 • Linux and Windows Vista support MLDv2
ASM: PIM-SM, RP and embedded RP • Multicast routing is usually done via PIM-SM • PIM-SM requires an RP for source discovery • All routers must use the same RP and somehow know its address • Initially packet from a source will be sent to the RP • When a host joins a group, join messages are sent hop by hop towards the RP • The RP serves as a meeting place between source and receivers • This works well within a site or a single administrative domain • MSDP doesn’t scale since source information is flooded to all RPs, so IETF decided not to have MSDP for IPv6 • Embedded RP encodes the RP address into the group address • The difference is that with MSDP, there is only (S, G) joints between domains, while with embedded RP, there will also be (*, G) joints between domains
SSM: PIM-SM • SSM is available for both IPv4 and IPv6 • Some believe only SSM is needed for interdomain multicast • SSM simplifies multicast signaling in the network • no needed for RPs, PIM register, switching between shared and source specific trees … • But very difficult for multi-party applications • conferencing where everyone is a source and everyone needs to know the IP address of others • SSM is supported by very few applications and systems • Edge routers and hosts need to support MLDv2 • Hosts need to support RFC3678, which is the API for specifying source filters • Applications need to be changed to support this API
For TEIN2 Backbone S=2001:254::/32 G=ff3e:0020:2001:254:x:x:x:x However, the static RP is not supported by TEIN2 backbone, the embedded RP should be used for the NRENs
For TEIN2 Backbone S=2001:254::/32 Embedded RP (BJ) A=2001:254::1G=ff7e:0120:2001:254:x:x:x:x Embedded RP (HK) A=2001:254::2G=ff7e:0220:2001:254:x:x:x:x Embedded RP (SG) A=2001:254:8000::1G=ff7e:0130:2001:254:8000:x:x:x
For TEIN2 Backbone S=2001:254::/32 G=ff3e::x:x:x:x SSM is more reliable.
Multicast configurations (juniper) pim { rp { bootstrap { family inet { import im-bs-policy; export ex-bs-policy; } family inet6 { import im-bs-policy; export ex-bs-policy; } } embedded-rp; static { address 202.179.240.2; } } interface all { mode sparse; version 2; } interface fxp0.0 { disable; } interface lo0.0 { disable; } interface so-0/1/0.0 { disable; } } protocols { igmp { interface all { disable; } interface ge-0/3/0.3 { version 2; } interface ge-0/3/0.4 { version 2; } } mld { interface all { disable; } interface ge-0/3/0.3 { version 1; } interface ge-0/3/0.4 { version 1; } }
IPv6 Multicast Challenges • Configuration • Everything has to be correct • Debugging • Methodology • End-systems tools • Router commands • Management • Sender security • Receiver security
Tool - smclock6/smjoin6 (1) http://sasm3.net/SMJOIN/
TEIN2 multicast testing homepage (1) http://sasm3.net/
Multicast address plan (1) • Multicast is hard to control and manage • IPv6 multicast BCP • Source address control • Group address control
IPv6 Multicast address plan (2) • Source address control • PI: 2001:DB8::/32 • Site: 2001:DB8:yyyy::/48 • MCsrc: 2001:DB8:ABCD:yyyy::/64 • SSM group address control • Site scope: FF35::wxxx:yyyy/96 • Backbone scope: FF38::wxxx:yyyy/96 • Global scope: FF3e::wxxx:yyyy/96 • w factor • 0x8: 0.1Mbps, • 0xC: 1Mbps, • 0xE: 10Mbps, • 0xF:100Mbps,
Discussion (1) • Router related issues • For the Juniper router (any model and any software version), you cannot configure ASM (IGMPv2/MLDv1) and SSM (IGMPv3/MLDv2) in the same interface. Therefore, you should configure the interface of the router to the corresponding IGMP/MLD version for the the specific testing (ASM or SSM). Also note that this is for the access router directly connected to the host which is receiving the multicast packets and it does not effect the multicast packet sending process. • For the Cisco router (for example 7600 and IOS 12.2(18)SXD6), you cannot configure the IPv4 multicast and IPv6 multicast in the same interface. To fix the problem, you can use IOS 12.2(18)SXF8. • For the Cisco router (for example 7600 and IOS 12.2(18)SXF8), it does not support BGP address family IPv6 multicast (SAFI=2 and SAFI=3). You should use the cisoc IOS hidden command to tell router to use the unicast routing table for the multicast RPF check. Example: 7600(config)#ipv6 rpf use-bgp
Discussion (2) • Host related issues • The Microsoft Window XP cannot support IPv6 SSM. Therefore, IPv6 ssmping test will fail in the Windows system. In addition XP cannot support IPv6 DNS query, therefore it may not be able to resolve the DNS IPv6 address mapping in pure IPv6 environment • We recommend version 2.6.18-1.2798 or higher for the Linux system to test the IPv6 SSM and ASM embedded RP. The old versions (for example 2.4.21-27.ELsmp) cannot work correctly. • Be careful on the value of IP_MULTICAST_TTL or IPV6_MULTICAST_HOPS of the multicast senders. The old version of the Linux system (for example 2.6.9-1.667) set this value to 1 and the multicast pakcet can only be received in the same subnet and cannot be sent cross routers. • Microsoft Internet Explorer does not support URL containing IPv6 address (for example the URL http://[2001:254:6:1::3]:8099/cgi-bin/asmping.pl) . You may use Firefox.
Discussion (3) • For the inter-domain multicast, SSM is much more reliable and controllable • Windows XP is the most popular DVTS platform, but it does not support SSM • Users may use Linux platform to reply the SSM and ASM, use dvmcast tool or similar tools • http://sasm3.net/DVPING/
Suggestions • Form an active inter-domain IPv6 multicast WG • Publish an group address usage guideline • Run distributed IPv6 multicast measurement servers • Promote IPv6 multicast applications
Remarks • Multicast is very useful for academic applications • IPv6 multicast has more flexibility • Tools and router access are both important. • IPv6 multicast configuration and debugging process is an enjoyable process (-: