IPv6 Address Representation

IPv6 addresses are 128 bits in length and represented as eight groups of four hexadecimal digits each, each group representing 16 bits. The address can be written in either lowercase or uppercase.

Preferred Format

As we know that IPv6 address is 128 bit and in 8 groups so the preferred format for writing an IPv6 address is x:x:x:x:x:x:x:x, where each “x” containing four hexadecimal values.

Each group of In IPv6 is consisting of 16 bit and the term used for a group is a hextet.  So each “x” is a single hextet, 16 bits or four hexadecimal digits.

    X   :   X    :   X     :    X   :      X   :    X  :    X   :   X

0000:0000:0000:0000:0000:0000:0000:0000

 To   : To  :  To  : To  :  To  :  To  : To  :  To

FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

If we convert in hextet into binary it should be 16 bit, for example, we 0000 hextet is equal to 0000000000000000 and FFFF hextet is equal to 1111111111111111. Following is the basic relationship table of binary, decimal, and hexadecimal.

Decimal

Binary

Hexadecimal

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

 

The IPv6 address is written using all 32 hexadecimal digits. It is the ideal method for representing the IPv6 address. But there are two rules which help to reduce the number of digits needed to represent an IPv6 address. Following is the preferred format for  

Figure 2 is a review of the relationship between decimal, binary and hexadecimal. Figure 3 has examples of IPv6 addresses in the preferred format for representing the IPv6 addresses.

2001 : 0000 : 0000 : 1111 : 1234 : 0000 : 0000 : 0100

2001 : 0DA1 : B111 : 0000 : 0000 : ABCD : 0000 : 1245

FE80 : 0000 : 0000 : 0000 : 1234 : 4567 : 89AB : CDEF 

FE80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0123

FF02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

FE02 : 0000 : 0000 : 0000 : 0000 : 0001 : FF00 : 0200

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000

Rule 1 – Omit Leading 0s

Omit leading 0 is the first rule which helps to reduce the notation of IPv6 address.  Following are the examples to omit any leading 0s (zeros) in any 16-bit section or hextet:

  • 01BC can be represented as 1BC
  • 07FA can be represented as 7FA
  • 0F00 can be represented as F00
  • 00A0 can be represented as A0
  • 000A can be represented as A

This rule only applies to leading 0s, NOT to trailing 0s, otherwise, the address would be ambiguous.  The table below shows the examples of omitting leading 0s from IPv6 address.

Preferred Format

No Leading 0s

2001 : 0000 : 0000 : 1111 : 1234 : 0000 : 0000 : 0100

2001 : 0 : 0 : 1111 : 1234 : 0 : 0 : 100

Preferred Format

No Leading 0s

2001 : 0DA1 : B111 : 0000 : 0000 : ABCD : 0000 : 1245

2001 : DA1 : B111 : 0 : 0 : ABCD : 0 : 1245

Preferred Format

No Leading 0s

FE80 : 0000 : 0000 : 0000 : 1234 : 4567 : 89AB : CDEF

FE80 : 0 : 0 : 0 : 1234 : 4567 : 89AB : CDEF

Preferred Format

No Leading 0s

FE80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0123

FE80 : 0 : 0 : 0 : 0 : 0 : 0 : 123

Preferred Format

No Leading 0s

FF02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

FF02 : 0 : 0 : 0 : 0 : 0 : 0 : 1

Preferred Format

No Leading 0s

FE02 : 0000 : 0000 : 0000 : 0000 : 0001 : FF00 : 0200

FE02 : 0 : 0 : 0 : 0 : 1 : FF00 : 200

Preferred Format

No Leading 0s

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

0 : 0 : 0 : 0 : 0 : 0 : 0 : 1

Preferred Format

No Leading 0s

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000

0 : 0 : 0 : 0 : 0 : 0 : 0 : 0

Rule 2 – Omit All 0 Segments

The second rule to reduce the notation of IPv6 addresses is that a use of double colon (::)  that can replace any single, contiguous string of one or more 16-bit segments (hextets) consisting of all 0s.

The double colon (::) can only be used once within an address, otherwise there would be more than one possible resulting address. When used with the omitting leading 0s technique, the notation of IPv6 address can often be greatly reduced. This is commonly known as the compressed format.

 

Preferred Format

No Leading 0s

Compressed

2001 : 0000 : 0000 : 1111 : 1234 : 0000 : 0000 : 0100

2001 : 0 : 0 : 1111 : 1234 : 0 : 0 : 100

2001 :  : 1111 : 1234 : 0 : 0 : 100

Preferred Format

No Leading 0s

Compressed

2001 : 0DA1 : B111 : 0000 : 0000 : ABCD : 0000 : 1245

2001 : DA1 : B111 : 0 : 0 : ABCD : 0 : 1245

2001 : DA1 : B111 :  : ABCD : 0 : 1245

Preferred Format

No Leading 0s

Compressed

FE80 : 0000 : 0000 : 0000 : 1234 : 4567 : 89AB : CDEF

FE80 : 0 : 0 : 0 : 1234 : 4567 : 89AB : CDEF

FE80 :  : 1234 : 4567 : 89AB : CDEF

Preferred Format

No Leading 0s

Compressed

FE80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0123

FE80 : 0 : 0 : 0 : 0 : 0 : 0 : 123

FE80 :  : 123

Preferred Format

No Leading 0s

Compressed

FF02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

FF02 : 0 : 0 : 0 : 0 : 0 : 0 : 1

FF02 : : 1

Preferred Format

No Leading 0s

Compressed

FE02 : 0000 : 0000 : 0000 : 0000 : 0001 : FF00 : 0200

FE02 : 0 : 0 : 0 : 0 : 1 : FF00 : 200

FE02 : : 1 : FF00 : 200

Preferred Format

No Leading 0s

Compressed

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001

0 : 0 : 0 : 0 : 0 : 0 : 0 : 1

: : 1

Preferred Format

No Leading 0s

Compressed

0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000

0 : 0 : 0 : 0 : 0 : 0 : 0 : 0

: :

 

Incorrect address:

  • 2001 : : 1111 : 1234 :  : 100

Possible expansions of ambiguous compressed addresses:

  • 2001 :  : 1111 : 1234 : 0000: 0000 : 100
  • 2001 :  : 1111 : 1234 : 0000 : 0000 : 0000 : 100
  • 2001 :  0000: 1111 : 1234 : 0000 ; 0000:0000 : 0100
  • 2001 : 0000:0000 : 1111 : 1234 :  : 100
  • 2001 : 0000 : 0000 : 0000 : 1111 : 1234 :  : 100
  • 2001 :  0000 : 0000 ; 1111 : 1234 :  : 100

 

If you found this useful please share this with your friends and family
IPv4 and IPv6 Coexistence
The IPv6 Address Types and Prefix Length

Leave a Reply

Your email address will not be published / Required fields are marked *