The IPv6 protocol defines a set of headers, including the basic IPv6 header and the IPv6 extension headers. The following figure shows the fields that appear in the IPv6 header and the order in which the fields appear.
The following list describes the function of each header field.
a. version (4 bit): Indicates the protocol version, and will thus contain the number 6.
b. DS byte (8 bit): This field is used by the source and routers to identify the packets belonging to the same traffic class and thus distinguish between packets with different priorities.
c. flow label (20 bit): Label for a data flow
d. payload length (16 bit): Indicates the length of the packet data field.
e. next header (8 bit): ): Identifies the type of header immediately following the IPv6 header.
f. hop limit (8 bit): Decremented by one by each node that forwards the packet. When the hop limit field reaches zero, the packet is discarded.
g. source address (128 bit): The address of the originator of the packet.
h. destination address ( 128 bit) : The address of the intended recipient of the packet.
The extension header may include the following:
IPv6 hosts should support the following addresses:
Solicited-nodes multicast addresses (FF02::1:FF00:/104 and appending the last 24 bits of the corresponding unicast or anycast address of the device)
Any other assigned multicast addresses (in the range FF00::/8)
Routers should additionally support at least the following:
To enable routing of IPv6 packets, we need to enable IPv6 on a router by using the command : Router(config)# ipv6 unicast-routing
To enable IPv6 on an interface, use the command :Router(config-if)#ipv6 enable
To add an IPv6 address to an interface : ipv6 address <address>/<prefix> [link-local] [eui-64]
Examples: ipv6 address 2001:100:1::1/64
To leave the interface unnumbered : ipv6 unnumbered eth 0/0