Multicast for ipv6

588 views

Published on

Slideshow Multicast with nice transitions

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
588
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Si R=1, alors l’adresse du Rendez-Vous point est contenu dans l’adresse multicast. http://www.ietf.org/rfc/rfc3956.txt Modified Unicast-Prefix-based Address Format Embedded Rendez-Vous point sera traité plus loin dans ce module Donc si R=1, alors P=1 (même référence au RFC 3956 et aussi RFC 3306) http://www.ietf.org/rfc/rfc3306.txt Et T=1 IPv6 Multicast at Cisco: http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6552/ps6594/product_data_sheet0900aecd80320fb8.pdf
  • PIM-SM Specification http://www.ietf.org/rfc/rfc4601.txt
  • PIMv2 http://www.ietf.org/rfc/rfc4601.txt 4.3.2. DR Election MLDv2 http://www.ietf.org/rfc/rfc3810.txt 7.6.2. Querier Election
  • PIMv2 http://www.ietf.org/rfc/rfc4601.txt 4.3.2. DR Election MLDv2 http://www.ietf.org/rfc/rfc3810.txt 7.6.2. Querier Election
  • MLD RFC 2710 Traduit en français http://www.normes-internet.com/normes.php?rfc=rfc2710&lang=fr Plus d’explications en français: http://livre.g6.asso.fr/index.php/La_construction_d'arbre_multicast_-_PIM http://www-r2.u-strasbg.fr/~hoerdt/publis/pim_tests.pdf
  • Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 52 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 ( Multicast Listener Report Message v2 ) Code: 0 (Should always be zero) Checksum: 0x30dd [correct] Include: ff0e:dead:beef::1 (ff0e:dead:beef::1) Mode: Include Aux data len: 0 Multicast Address: ff0e:dead:beef::1 Source Address: bad:cafe::1 (bad:cafe::1 )
  • Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 116 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c801:6ff:fea9:1c (fe80::c801:6ff:fea9:1c) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 ( Multicast Listener Report Message v2 ) Code: 0 (Should always be zero) Checksum: 0xa0f4 [correct] Exclude: ff02::2 (ff02::2) Exclude: ff02::d (ff02::d) Exclude: ff02::16 (ff02::16) Exclude: ff02::1:ff00:2 (ff02::1:ff00:2) Exclude: ff02::1:ffa9:1c (ff02::1:ffa9:1c)
  • http://www.renater.fr/IMG/pdf/03-IGMP-MLD_FR.pdf
  • Multicast Address . Pour un General Query, le champs Multicast Address est zéro. Pour un Multicast Address Specific Query ou un Multicast Address and Source Specific Query, il est réglé sur l’adresse multicast que l’on requiert. S Flag . Suppress Router-Side Processing QRV Querier's Robustness Variable QQIC Querier's Query Interval Code Number of Sources. Zéro pour un General Query ou Multicast Address Specific Query, et non-zero pour Multicast Address and Source Specific Query. Multicast Address Specific Query. Multicast Address and Source Specific Query
  • Multicast Address . Pour un General Query, le champs Multicast Address est zéro. Pour un Multicast Address Specific Query ou un Multicast Address and Source Specific Query, il est réglé sur l’adresse multicast que l’on requiert. S Flag . Suppress Router-Side Processing QRV Querier's Robustness Variable QQIC Querier's Query Interval Code Number of Sources. Zéro pour un General Query ou Multicast Address Specific Query, et non-zero pour Multicast Address and Source Specific Query. Multicast Address Specific Query. Multicast Address and Source Specific Query
  • Multicast Address . Pour un General Query, le champs Multicast Address est zéro. Pour un Multicast Address Specific Query ou un Multicast Address and Source Specific Query, il est réglé sur l’adresse multicast que l’on requiert. S Flag . Suppress Router-Side Processing QRV Querier's Robustness Variable QQIC Querier's Query Interval Code Number of Sources. Zéro pour un General Query ou Multicast Address Specific Query, et non-zero pour Multicast Address and Source Specific Query. Multicast Address Specific Query. Multicast Address and Source Specific Query
  • Multicast for ipv6

    1. 1. IPv6 Multicast ©Fred Bovy EIRL 2012 1
    2. 2. Topics Multicast IPv6 Addresses PIM  PIM SM  PIM-SSM  PIM Bidir Rendez-Vous point  Static  Anycast RP  BSR MLD  MLDv1  MLDv2 © Fred Bovy EIRL 2012 2
    3. 3. Multicast. RFC 4291 128 bitsFF Flag Scope 0 Interface ID  Scope – 4 bits  1=node  2=link R  4=admin  Embedded Rendez-Vous  5=site  RFC 3956  8=Organization P  E=Global  Multicast based unicast  6, 7, 9-D not assigned. F est reserved.  RFC 3956 et RFC 3306 T  Only the link-local is filtered by the routers, others must be  0 Permanent address fitered by routers (Access-List)  1 for temporary © Fred Bovy EIRL 2012 3
    4. 4. Multicast IPv4 and IPv6IP Service IPv4 Solution IPv6 SolutionÉtendue d’adresse 32-bits, Class D 128 bits. 112 bits GroupsRouting PIM, MBGP, DVMRP, PIM and MBGP MOSPFForwarding PIM-DM, PIM-SM, PIM- PIM-SM, PIM-SSM, PIM- SSM, PIM-Bidir BidirGroups Management IGMPv1, v2, v3 MLDv1, v2Domain Control Boundary, Border ScopeInterdomains Solutions MSDP Unic RP © Fred Bovy EIRL 2012 4
    5. 5. PIMv6 Basics PIM uses the unicast routing protocol to implement the Reverse Path Forwarding MP-BGP can be used to build divergent routing tables PIMv6 between Routers, MLD between Hosts and Routers © Fred Bovy EIRL 2012 5
    6. 6. PIMv6 Sparse Mode Basics. RFC 4601 The Rendez-Vous point allows Source and Receivers (listeners) to meet.. The result is a tree shared by all sources (shared tree) toward a group of listeners. Once the traffic start to flow on the Shared Tree, it is possible to switch on the Shortest Path Tree (SPT) © Fred Bovy EIRL 2012 6
    7. 7. The PIM Designated Router The 1st Hop Router, near the source is the PIMv6 Designated Router Elected with PIMv6 Hello Protocol Highest Priority Highest IPv6 address Forward traffic from the source to the RP (Register) © Fred Bovy EIRL 2012 7
    8. 8. The MLD Querier The Last Hop Router is the MLD Querier Lowest IPv6 Address Discover the local Listeners and start to build a path to the RP A shared tree is then built from the RP to the listener © Fred Bovy EIRL 2012 8
    9. 9. Multicast Routing Initialization Routers must be IPv6 Multicast Routing enabled  PIM and MLD are started on their interfaces Rendez-Vous Point address MUST be configured  Static, Embedded or  Dynamic with BSR © Fred Bovy EIRL 2012 9
    10. 10. PIMv6-SM: Shared Tree Initialisation When a listener starts to listen to a given group, it sends Unsolicited Reports A (*.G) entry is created in the Last Hop Router Multicast Routing Table (MRIB) (*,G) (*,G) MLD Multicast Listener Report (*,G) Hop-by-Hop Router Alert. Hop Limit=1 © Fred Bovy EIRL 2012 10
    11. 11. PIMv6-SM: PIM Join travel toward the RP Because it has a (*,G) entry in its MRIB, the Last Hop Router starts to send PIM Join (*,G) to its Rendez-Vous Point Upstream Neighbor. The reception of a PIM Join (*,G) creates a (*,G) entry in the MRIB which triggers the sending of a PIM Join (*,G) to its Rendez-Vous Point Upstream Neighbor PIM Join (*,G) PIM Join reaches the RP Dest: ff02::d Router Alert (*,G) (*,G) (*,G) (*,G) MLD Multicast Listener Report (*,G) Hop-by-Hop Router Alert. Hop Limit=1 © Fred Bovy EIRL 2012 11
    12. 12. PIMv6-SM: Source starts to send traffic The source can start to send traffic at any time No Signaling requires © Fred Bovy EIRL 2012 12
    13. 13. PIMv6-SM: Source Registers with the RP First Hop Multicast Router intercepts the Multicast flow Multicast traffic is encapsulated in PIM Register unicast paquets to the RP Register © Fred Bovy EIRL 2012 13
    14. 14. PIMv6-SM: Register at the RP The RP removes the unicast encapsulation of the PIM Register The RP duplicates (if multiple outgoing interfaces) and forwards the multicast toward all the Listeners © Fred Bovy EIRL 2012 14
    15. 15. PIMv6-SM: Join toward the Source When the RP receives multicast in Register paquets, it initializes a native multicast path by sending a PIM Join (S,G) toward the source It travels hop by hop to until it reaches the first hop router PIM Join (S,G) © Fred Bovy EIRL 2012 15
    16. 16. PIMv6-SM: Building the Multicast Shared Tree When the First Hop DR receives the PIM join, it is able to forward the multicast natively to the RP When the RP receives two copies of the same multicast paquet, it discards the encapsulated copy © Fred Bovy EIRL 2012 16
    17. 17. PIMv6-SM: Register-Stop … and sends a PIMv6 Register-Stop to the First Hop DR. The DR knows that it does not have to encapsulate the multicast traffic in unicast anymore Register-Stop © Fred Bovy EIRL 2012 17
    18. 18. PIMv6-SM: Flowing down the Shared Tree Traffic can now travel from the Source to all the listeners using the Shared Tree © Fred Bovy EIRL 2012 18
    19. 19. PIMv6-SM: PIM Last-Hop Switchover to theSPT Last Hop Router notices that it receives the traffic from an interface which does not point to the best path back to the Source (RPF). !!! © Fred Bovy EIRL 2012 19
    20. 20. PIMv6-SM: Last-Hop Switchover to the SPT Last Hop Router sends a PIMv6 Join (S,G) toward the Source (S,G) states are created in the MRIB by the PIMv6 Join (S,G) travelling hop by hop to the Source PIM JOIN (S,G) © Fred Bovy EIRL 2012 20
    21. 21. PIMv6-SM: Building the Shortest Path Tree (SPT)  When the DR receives the PIM JOIN (S,G), it starts to forward paquets down the Shortest Path Tree but also down the Shared Tree. © Fred Bovy EIRL 2012 21
    22. 22. PIMv6-SM: Pruning the Shared Tree When the Last Hop router receives two copies of the same flow, it decides to prune the Shared Tree It sends a (S,G,rpt-bit) Prune toward the RP (S,G,rpt-bit) Prune © Fred Bovy EIRL 2012 22
    23. 23. PIMv6-SM: Shortest Path Tree Only (SPT) When the Shortest Path Tree has been Pruned, traffic only flows on the Shortest Path Tree If traffic on the Shortest Path goes down below a configurable threshold, it is possible to switch back to the Shared Tree. © Fred Bovy EIRL 2012 23
    24. 24. PIM-SM Summary Sources and Listeners meet at the Rendez-Vous point It is possible to stay forever on the Shared Tree to minimize the states on the routers. The Rendez-Vous point must be carefully choosen on the network It is possible to use an Anycast Address for the RP with longest match prefix to choose a primary. BSR is the only dynamic RP configuration method Using MLDv2 and SSM, there is no more need for a RP © Fred Bovy EIRL 2012 24
    25. 25. Introduction to MLD ICMPv6 with IPv6 Hop-by-Hop Router Alert Option Hop Limit is 1 On each link a Querier is elected.  Lower IPv6 address is elected. The Querier sends a Query on a regular basis to ask if there any receiver present. I won ! 3 I am the I am the Querier Querier 2 1 FE80::1 FE80::100 Query FE80::1 FF02::1
    26. 26. Query Interval Host A Host B FE80:: Query FF02::1 1 The interval between General Query sent by the Querier.Default: 125 seconds © Fred Bovy EIRL 2012 26
    27. 27. Robustness Host A Host BState Change FE80:: FF02::1 R 1 This is the basis for the computation of many parameters MLD is robust to [Variable Robustness] – 1 paquet loss Default: 2. MLD has no problem loosing one MLD paquet © Fred Bovy EIRL 2012 27
    28. 28. Introduction to MLDv1 All MLD paquets are sent with Link-Local address as source. Hop Limit is 1 MLDv1 (RFC 2710) is IPv6 version of IGMP Version 2 (RFC 2236)o Multicast Listener Query  General Query. Sent to the all-nodes Link-Local multicast address to figure out which group has members.  Address-Specific Query is used to identify the members of a given group. It is sent to the address of the group which is being queried.o Multicast Listener Report  Response to a Queryo Multicast Listener Done  Sent by a Listener which does not listen to this group any more.
    29. 29. MLDv1 General Query Host A Host B FE80::General Query FF02::1 1 The Querier sends a general Query A and B starts a random timer © Fred Bovy EIRL 2012 29
    30. 30. MLDv1 Listener Report Host A Host B Listener Report FE80::A FF02::1 Host timer A expires Host A responds to the Query B listens that A replied to the router Query, stops its timer and suppress its response not to send a duplicate response. © Fred Bovy EIRL 2012 30
    31. 31. MLDv1 Leave Process Host A Host B FE80:: Done FF1E::1 FF02::2 1 A is no longer interested by FF1E::1 and sends a Done message © Fred Bovy EIRL 2012 31
    32. 32. MLDv1 Leave Process Host A Host BAddress-Specific Query FE80::5 FF1E::1  Router sends a Last Listener Query to the Multicast address left by A © Fred Bovy EIRL 2012 32
    33. 33. MLDv1 Leave Process Host A Host B Report FE80::5 FF1E::1 If B is still interested it sends a Listener Report and the router ignores the Done message If B is not interested it does not send anything and the group is removed © Fred Bovy EIRL 2012 33
    34. 34. MLDv2 (RFC 3810) MLDv2 is the IPv6 translation of IGMP Version 3 (RFC 3376) MLDv2 is backward compatible with MLDv1 No duplicate response suppression No Done message IANA allocated FF02::16 called all MLDv2-capable routers MLDv2 introduced source filtering  INCLUDE Mode : if the message includes all the source we want to ear  EXCLUDE Mode : if the message includes all the source we don’t want to ear © Fred Bovy EIRL 2012 34
    35. 35. Queries General Queries  Sent periodically  Responses are sent in Current State Report Multicast Address Specific Queries  Multicast Address and Source Specific Queries.  Sent after a state change.  Sent in response to a State Change Report © Fred Bovy EIRL 2012 35
    36. 36. Multicast Listener ReportsMLDv2 needs two types of Reports : Current State Change Report.o Sent in response to a Queryo MODE_IS_INCLUDEo MODE_IS_EXCLUDE State Change Reporto Sent after a state changeo Sent many times (Robustness)o Filter Mode Change Records • CHANGE_TO_INCLUDE • CHANGE _TO_EXCLUDEo Source List Change Records • ALLOW_NEW_SOURCE • BLOCK_OLD_SOURCES © Fred Bovy EIRL 2012 36
    37. 37. MLDv2 Query Messages Type = 130 Code Checksum Maximum Response Code Reserved Multicast Address Resv S QRV QQIC Number of Sources (N) Source Address [ 1 ] Source Address [ 2 ] Source Address [ N ] © Fred Bovy EIRL 2012 37
    38. 38. MLDv2 Multicast Listener Report Messages Type = 143 Code Checksum Reserved Nr of Mcast Address Records (M) Multicast Address Record [1] Multicast Address Record [2] … Multicast Address Record [M] © Fred Bovy EIRL 2012 38
    39. 39. MLDv2 Multicast Address Record Record Type Aux data Len Number of Sources (N) Multicast Address Source Address [ 1 ] Source Address [ 2 ] Source Address [ N ] Auxiliary Data © Fred Bovy EIRL 2012 39
    40. 40. MLDv2 General Query Host A Host B FE80::General Query FF02::1 1 Sent periodically to discover which group has listener on a link Includes:  Multicast Address=0,  Number of Source=0 © Fred Bovy EIRL 2012 40
    41. 41. MLDv2 Multicast Address Specific Query Host A Host B FE80::Multicast @ specific Query FF34::16 S:0 FF34::16 1  The Querier sends this Query to ask if a particular group has Listener on a particular interface.  Includes:  The address, by example: FF34::16  Number of Source:0 © Fred Bovy EIRL 2012 41
    42. 42. MLDv2 Multicast Listener Query © Fred Bovy EIRL 2012 42
    43. 43. MLDv2 Address and Source Specific Query Host A Host B FE80::Multicast Listener Query FF34::16 S:1 FF34::16 1 The Querier sends this message to discover if a multicast address with one or many source addresses has a Listener on a particular interface. Elle contient  The address, by example: FF34::16  Number of Source, by example: 1 © Fred Bovy EIRL 2012 43
    44. 44. Reception of a Query Source is valid Link-Local ? NO Hop Limit = 1 ? DROP Router Alert set in the Hop- by-Hop Option ? YESProcess the Query.Wait before the Response. Delay max= Maximum Response Delay © Fred Bovy EIRL 2012 44
    45. 45. MLDv2 State Change Report Host A Host B State Change FE80:: FF02::1 Report 1 The State Change Report contains a change:  Filter Change Report  Source List Change Report  Both Change Report Reports are sent robustness times on the link  Default Robustness: 2 © Fred Bovy EIRL 2012 45
    46. 46. MLDv2 State Change Report ExempleInternet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 52 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::38b1:e73c:c0f0:4442 (fe80::38b1:e73c:c0f0:4442) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytesInternet Control Message Protocol v6 Type: 143 (Multicast Listener Report Message v2) Code: 0 (Should always be zero) Checksum: 0x50d2 [correct] Allow new sources: ff34::16 (ff34::16) Mode: Allow new sources Aux data len: 0 Multicast Address: ff34::16 Source Address: 2001:db8:cafe::7 (2001:db8:cafe::7) © Fred Bovy EIRL 2012 46
    47. 47. PIM-SSM With PIM-SSM the Listener must provide the Source address. Rendez-Vous point are no more needed.  The source can be configured statically  The source can be learned from DNS with the Record G PIM-SSM is supported with MLDv2 RFC 3306. Unicast-Prefix-based IPv6 Multicast Flags: 00PT. P=1, T=1 plen = 0 network prefix = 0 FF3x::/96 x=n’importe quel scope valide © Fred Bovy EIRL 2012 47
    48. 48. Rendez-Vous Point Static  Must be manually configured on each multicast router Anycast RP  Static but the same address is configured many time with different mask length  Longest match select the preferred RP Embedded RP  RP address is embedded in the Multicast Group Dynamic with PIM BSR  BSR is a dynamic protocol which allow the Rendez-vous point automatic configuration. © Fred Bovy EIRL 2012 48
    49. 49. Anycast RP + Longest Match RP1 is preferred because routing prefers the longest match RP1: RP2: 2001:db8:1::1/64 2001:db8:1::1/63 © Fred Bovy EIRL 2012 49
    50. 50. Embedded RP – RFC 3956 The RP address can be embedded in the Multicast Group © Fred Bovy EIRL 2012 50
    51. 51. Embedded RP – Flags FF76:0130:2001:db8:9abc::4321 Flags: 7 R: Rendez-Vous Point = 1 then P: Prefix =1 and T: Temporary Prefix = 1 © Fred Bovy EIRL 2012 51
    52. 52. Embedded RP – Prefix FF76:0130:2001:db8:9abc::4321 Plen = 30 Hex = 48 dec 2001:db8:9abc:: © Fred Bovy EIRL 2012 52
    53. 53. Embedded RP – Adresse du RP FF76:0130:2001:db8:9abc::4321 Rendez-Vous Point Address 2001:db8:9abc::1 o RFC3956 © Fred Bovy EIRL 2012 53
    54. 54. PIM Boot Strap Router Many routers are Candidates BSR (C-BSR). The C-BSR elect a BSR by sending C-BSR message with priorities The message travels hop by hop. The C-BSR with the best priority becomes the BSR During the election it announces its presence on the network. This is similar to the election of the root of the spanning-tree. Some routers are configured as Candidates RP (C-RP). C-RP unicast their presence of C-RP to the C-BSR. The C-BSR sends its list of C-RP to all the PIM routers All the PIM routers receive the list of C-RP and execute the same hashing function to choose a RP for each group. © Fred Bovy EIRL 2012 54
    55. 55. Books on the Web: Safari Books Online © Fred Bovy EIRL 2012 55
    56. 56. REFERENCES © Fred Bovy EIRL 2012 56

    ×