Tuesday 8 January 2013

IPv6 Multicast Group Addressing

Following are the learning from RFC about IPv6 Multicast Group Addressing

Learning IPv6

rfc4291:
=======

The type of an IPv6 address is identified by the high-order bits of
   the address, as follows:

      Address type         Binary prefix        IPv6 notation   Section
      ------------         -------------        -------------   -------
      Unspecified          00...0  (128 bits)   ::/128          2.5.2
      Loopback             00...1  (128 bits)   ::1/128         2.5.3
      Multicast            11111111             FF00::/8        2.7
      Link-Local unicast   1111111010           FE80::/10       2.5.6
      Global Unicast       (everything else)

       An IPv6 multicast address is an identifier for a group of interfaces
   (typically on different nodes).  An interface may belong to any
   number of multicast groups.  Multicast addresses have the following
   format:

   |   8    |  4 |  4 |                  112 bits                   |
   +------ -+----+----+---------------------------------------------+
   |11111111|flgs|scop|                  group ID                   |
   +--------+----+----+---------------------------------------------+

      binary 11111111 at the start of the address identifies the address
      as being a multicast address.

                                    +-+-+-+-+
      flgs is a set of 4 flags:     |0|R|P|T|
                                    +-+-+-+-+

         The high-order flag is reserved, and must be initialized to 0.

         T = 0 indicates a permanently-assigned ("well-known") multicast
         address, assigned by the Internet Assigned Numbers Authority
         (IANA).

         T = 1 indicates a non-permanently-assigned ("transient" or
         "dynamically" assigned) multicast address.
       
       
         out of 112 bits - 80 bits unused must be "zeros"
         rest 32 bits - used for group id



Unicast-Prefix-based IPv6 Multicast Addresses
===============================================
 
   |   8    |  4 |  4 |   8    |    8   |       64       |    32    |
      +--------+----+----+--------+--------+----------------+----------+
      |11111111|flgs|scop|reserved|  plen  | network prefix | group ID |
      +--------+----+----+--------+--------+----------------+----------+

                                   +-+-+-+-+
   flgs is a set of 4 flags:       |0|0|P|T|
                                   +-+-+-+-+

         o  P = 0 indicates a multicast address that is not assigned
            based on the network prefix.

         o  P = 1 indicates a multicast address that is assigned based
            on the network prefix.

         o  If P = 1, T MUST be set to 1
          plen indicates the actual number of bits in the network prefix field
          that identify the subnet when P = 1.
         
          network prefix identifies the network prefix of the unicast subnet
            owning the multicast address.  If P = 1, this field contains the
            unicast network prefix assigned to the domain owning, or allocating,
            the multicast address.  All non-significant bits of the network
            prefix field SHOULD be zero.
           
   It should be noted that the Interface Identifier requirements in
   Section 2.5.1 of [ADDRARCH] effectively restrict the length of the
   unicast prefix to 64 bits, hence the network prefix portion of the
   multicast address will be at most 64 bits.

   Group ID is set based on the guidelines outlined in [IPV6 GID].

   The scope of the unicast-prefix based multicast address MUST NOT
   exceed the scope of the unicast prefix embedded in the multicast
   address.
  
  
Embedding the Rendezvous Point (RP) Address                  
in an IPv6 Multicast Address


FF01 to FF0F are well defined multicast ipv6 address family
first 8 bit always should be '1' - for multicast addressing
next 4 bit - 0
next 4 bit  follows notation defined scope

-  0  reserved
            1  interface-local scope
            2  link-local scope
            3  reserved
            4  admin-local scope
            5  site-local scope
            6  (unassigned)
            7  (unassigned)
            8  organization-local scope
            9  (unassigned)
            A  (unassigned)
            B  (unassigned)
            C  (unassigned)
            D  (unassigned)
            E  global scope
            F  reserved


1'st 16bits
===========
FF - 8bit

4it flag
0,1,2,3,5,7 - allowed
4 - can't be

4it - scope
0 to F out of which 0,3,f are reserved

2nd 16bits
==========

8 bit reserved case of unicase prefix based/ rvcd,RRId in case of ext embedding RP
8 bit pem  - used for subnet

3,4,5,6th 16bits
===================
In case unicast prefix based  used as - Network Prefix
All bits are zeros - normally

specially 6th 16bit - can be value as '1' for defined IANA addresses

7,8th 16bits
============
Group ID - can be 32bit mac address based EUI format how system create link local ip address based on mac

8th 16bit - can't be zero - which is reserved
             and can't be 100 to 12A
             7,8th 16 bits can't be 2:7ffd/e/f, 8000,ffff
           
           




No comments:

Post a Comment