CCIE R&S Prep: IPv6 Part 3

Author
Peter Welcher
Architect, Operations Technical Advisor

This is the third CCIE R&S prep blog on IPv6, IPv6 Part 3. For prior CCIE R&S prep blogs and the ground rules blog, see the Related Links section at the end. This blog covers things to know about IPv6 multicast. As with the other blogs, I do not attempt to cover how multicast works, just facts to memorize, odd items you might have missed, etc.

IPv6 Multicast

See Cisco’s “IPv6 Multicast Deployment And Configuration Guide” PDF for an old but thorough overview of IPv6 multicast and configuration!

  • PIMv6 uses link-local addressing only.
  • A multicast IPv6 address maps to MAC address as 33:33:<low order 32 bits>.
  • RPF is based on the global neighbor address. The standard now matches the link-local and the RPF neighbor IPv6 addresses up.
  • Source registers create a unidirectional VTI tunnel. Register stop is sent directly, not via a tunnel.
  • PIMv6 does not support dense mode.
  • Recall IPv6 has embedded RP support.
  • There is no autoRP for IPv6, use BSR.
! CONFIG SAMPLE ————————————————————- 
! CONFTYPE: PIM SM and MLD enable 
! Globally enable PIM (Sparse Mode) and MLD on all IPv6 interfaces. That’s it! 
! 
ipv6 multicast-routing [vrf name] ! to get started doing IPv6 MC 
! 
! other commands similar to IPv4 equivalents 
interface … 
  no ipv6 pim ! disables PIM on interface 
  ipv6 pim [vrf name] … ! various commands 
!
! To set up BSR:
ipv6 pim bsr { announce | candidate } { bsr | rp } ipv6-addr
! Examples:
ipv6 pim bsr candidate bsr 3001::1 
ipv6 pim bsr candidate rp  3001::2 
!
Well-Known IPv6 multicast addresses

See also  http://en.wikipedia.org/wiki/Multicast_address. Really! Wikipedia has become a  pretty good network reference.

Most of the routing protocol last bytes carry over from IPv4 multicast, e.g. 10 for EIGRP. However, be careful: in IPv6 they’re written in hex.

Here are the other IPv6 multicast addresses to know:

Type of Multicast Address Address
All-nodes (link local) FF02::1
All-routers (link local) FF02::2
Solicited node FF02::0001:FFxx:xxxx
DHCPv6 server/relay FF02::1:2
DHCPv6 server FF02::1:3
All site routers FF05::2
IPv6 SSM FF3x::/96 (x=scope) – treat as a reserved /32 block in case of changes
MLD
  • MLD: Multicast Listener Discovery is used instead of IGMP. It uses ICMPv6. MLDv1 is based on IGMPv2, and MLDv2 is defined in the same RFC as IGMPv3, RFC 4604.
  • MLD uses TTL=1. For queries, the multicast group field is set to 0 for general queries, otherwise the specific group. Reports and Done messages use the specific group address.
  • MLD is sent with “Router Alert” set, so no PIM state is created. Leaves go to FF02::2 (all routers on link), general queries to All Nodes on the link, FF02::1.

For more on MLD, see  http://www.cisco.com/en/US/docs/ios-xml/ios/ipmulti_lsm/configuration/15-sy/ipv6-mcast-mld-xe.html.

! CONFIG SAMPLE ————————————————————- 
! CONFTYPE: MLD Commands 
interface … 
  ipv6 mld join-group ipv6-mc-group 
  ipv6 mld explicit-tracking aclname
  ! for groups in ACL, snoop host/port/group info, for stats, fast-leave
  ! and proxy reporting 
!
IPv6 Multicast Addressing

From https://netcraftsmen.com/ccie-rs-prep-ipv6-part-2/ (oldie but goodie?):

IPv6 multicast addresses begin with the prefix FF00::/8. That means the first byte is all one bits. The next two nibbles (4 bit half-bytes) are used for flags and scope.

The format as specified in RFC4291:

|    8   |  4  |  4  |                    112 bits                 |  
+——–+—–+—–+———————————————+  
|11111111|flags|scope|                    group ID                 |  
+——–+—–+—–+———————————————+  
|   FF   |0TPR |scope|                    group ID                 |  
+——–+—–+—–+———————————————+

IPv6 multicast flag bits:

  • 0: reserved
  • T bit: transient bit: 0 = permanently-assigned “well known” multicast address, 1 = transient (non-permanent, including embedded RP)
  • P bit: provider bit: P = 0 is a “normal” multicast address, P = 1 requires T =1, and indicates a multicast address based on network prefix (“prefix-based”). This allows Internet Service Provider (ISP) – assigned multicast addresses without some method for allocating multicast addresses across ISPs. For details, see RFC3306.
  • R bit: RP bit:  R = 1 indicates the address embeds the address of the Rendezvous Point (RP). This in turn forces T = 1.

The 4 bits for scope govern how broadly the multicast is to be forwarded. The IPv6 multicast assigned scope values per RFC4291 are:

Scope bits Scope Comments
0 Reserved
1 Interface local Single interface, e.g. loopback
2 Link local Single link
3 Reserved
4 Admin local
5 Site local
6 Reserved
7 Reserved
8 Organization local
9-D Reserved
E Global scope
F Reserved

The unassigned scopes are for “administrative control of additional multicast regions”.

Multicast with embedded RP

The prefix FF70::/12 indicates embedded RP (“prefix-based”) information. For details see RFC3956 at  http://www.ietf.org/rfc/rfc3956.txt, or see  http://blog.ine.com/2010/03/28/embedded-rp-ipv6-multicast-tips-and-tricks-part-3/. Here it is in color:

Embedded example: 

FF7s:0rpp:xxxx:xxxx:xxxx:xxxx:mmmm:mmmm

FF7<Scope>:0<RP Interface ID><HEX prefix Length>:<64 bit RP Prefix>:<32 bit group ID>

where s = scope (hex), hex 0, r = RIID = RP interface ID (4 bits), p = prefix length (8 bits, typically 0x04 = 64), x = the relevant RP prefix bits, m = 32 bits of multicast groups available for that RP (can’t be all 0’s). This assumes the RIID is a single hex digit, so the RP address is a /64 subnet or prefix, many 0’s, then that one RIID hex digit.

Example: FF72:0404:2001:db8:0101:0101:0000:0001

Scope is 2 (link local), hex 0, RP interface ID is 4, prefix length 04 meaning 64 bits, 2001:db8:0101:0101 is the RP prefix (address 2011:db8:0101:0101::4, putting the interface ID at the end), and 0000:0001 is the 32 bits of multicast group.

IPv6 SSM
  • IPv6 SSM: it is like embedded RP multicast, but does not have embedded RP prefix, since the MLD behavior and packet header will provide that info and there is no RP. The corresponding fields are zero instead.
  • SSM mapping can be used for hosts that don’t support MLDv2 (= IGMPv3). You use either DNS (default) or static maps to look up the source of a MLD v1 report.
! CONFIG SAMPLE ————————————————————- 
! CONFTYPE: SSM 
! 
! SSM: configuring mapping:
ipv6 mld [vrf vrf-name] ssm-map enable 
! Static group(s) to source mapping: 
ipv6 mld [vrfvrf-name] ssm-map static groups-access-list source-address  
! Group mapped to DNS name for source(s): 
no ipv6 mld [vrf vrf-name] ssm-map query dns 
!

Related Links

Prior blogs in this CCIE R&S Prep series:

My prior blogs / articles on IPv6:

Life Log

Sorry for high latency in getting this article (or any blog) out. Consultant interface congestion (i.e. busy)! I’m looking forward to two days teaching the LAN aspect of Nexus 5500’s at the Cisco office north of Atlanta Monday-Tuesday next week! While the Nexus 5500 FCoE is great functionality, others just don’t need it and aren’t interested. Hence a SAN-less / FCoE-less mini-course.

I put this at the end to make it easy for Greg Ferro to skip over it <grin>. He wants the tech and nothin’ but the tech.

Disclosure

The vendors for Network Field Day 5 (#NFD5) paid for my travel expenses and perhaps small items, so I wish to disclose that in my blogs now. The vendors in question are: Cisco, Brocade, Juniper, Plexxi, Ruckus, and SolarWinds. I’d like to think that my blogs aren’t influenced by that. Yes, the time spent in presentations and discussion gets me and the other attendees looking at and thinking about the various vendors’ products, marketing spin, and their points of view. I intend to try to remain as objective as possible in my blogs. I’ll concede that cool technology gets my attention!

Stay tuned!

Twitter: @pjwelcher

One response to “CCIE R&S Prep: IPv6 Part 3

Leave a Reply