Introduction to IPV6 on WS08

NOTE: THIS DOCUMENT IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND.

Internet Protocol version 6
Windows Sever 2008 being Microsoft’s next generation Server Operating System provides an advance suite of network protocols for secure networking with enhanced address space by incorporating the next generation Internet protocol IPv6. IPv6 (Internet Protocol version 6) is a network layer protocol for packet-switched internetworks. It is the successor of currently applied IPv4. The major enhancements provided by IPv6 over IPv4 were:

  1. Increased number of address space required by increasing no of networked devices.
  2. Better support of real-time data deliveries i.e. Quality of Service.
  3. Maintaining a homogenous interface to different physical networks for higher level protocol layers.

IPv6 Address format: IPv6 has 128 bits address space separated by a colon (:) into eight blocks of 16-bits size and each 16-bit block is represented in its Hexadecimal equivalent values. Thus it can be represented as below.

IPv6 address format: fe80:a2f2:1:0:0:6d31:78b3:11c1 & 2a1d:2311:1111:a423:0:143c:0:a342

[Note: A contiguous sequence of 16 bits blocks equal to zero can be compressed to " :: " ,but note that in an IPv6 address only 1 sequence of contiguous zeros can be compressed and any other sequence or a single zero block after this cannot be shrinked. Hence -fe80:0:0:0:a423:0:143c:a342 is same as -fe80::a423:0:143c:a342 ]

IPv6 Addresses in URLs: An IPv6 address can be represented in web URLs in format as http:// [ IPv6 address ] Another way to represent an IPv6 address is through ipv6-literal.net names. In this format an IPv6 address is post-fixed with .ipv6-literal.net while replacing all the colons (:) in address by dashes (-).Hence IPv6 address 2001:adb8:100a:2a5f::1 can be represented as 2001-adb8-100a-2a5f- -1.ipv6-literal.net

Address Types in IPv6: There are three basic address types in IPv6 as stated below.

Unicast Addresses: Unicast address refers to the address of a single interface All interfaces are required to have at least one link-local unicast address. Unicast addresses have the following format:

n bits
128-n bits
Subnet prefix
Interface ID

Anycast Addresses: An IPv6 anycast address is an address that is assigned to more than one interface belonging to different nodes, with the property that a packet sent to an anycast address is routed to the "nearest" interface having that address, according to the routing protocols' measure of distance. Anycast addresses have the following format:

n bits
128-n bits
Subnet Prefix
00000000000000


Multicast Addresses: An IPv6 multicast address is an identifier for a group of nodes. A node may belong to any number of multicast groups. Multicast addresses have the following format:

8 bits
4 bits
4 bits
1284 bits
11111111
Flag
Scope
Group ID


Reserved Unicast Addresse:
  • Unspecified Address - 0:0:0:0:0:0:0:0
  • Loopback Address - 0:0:0:0:0:0:0:1


IPv6 support with Windows Server 2008: With Windows Server 2008 IPv6 can be used to completely replace the IPv4. Hence all the roles and features which require the use of an IPv4 address can be configured with an IPv6 address. Few of the major functionalities involving IPv6 address are mentioned below.


  • Creating a DHCP server with IPv6 address scope.
  • Creating a DNS server with IPv6 zones.
  • Creating Active Directory Domain Controller with IPv6 address.
  • Network Interaction out of the subnet.
  • Communication to IPv4 and IPv6 Infrastructures through tunneling mechanisms etc.


Communication over IPv4 Infrastructure from an IPv6 host: An IPv6 host can communicate to an IPv4 client over an IPv4 infrastructure using different tunneling mechanisms supported with Windows Server 2008. Various data transactions over IPv4 infrastructure can be achieved by using either of the below mentioned addressing formats used for tunneling in IPv6.


  • Using IPv4-compatible IPv6 address
  • Using IPv4-mapped IPv6 address
  • Using 6to4 address
  • Using ISATAP address
  • Using Teredo address


Pv4-compatible IPv6 address: This is a technique for hosts and routers to dynamically tunnel IPv6 packets over IPv4 routing infrastructure. An administrator assigns an IPv4-compatible IPv6 address and host name entry to the Name Service for an IPv4/IPv6 host where no IPv6 router is available. IPv6 nodes that utilize this technique are assigned special IPv6 unicast addresses that carry an IPv4 address in the low-order 32-bits. It has the following format:

80 bits
16
32 bits
0000...................................0000
0000
….IPv4 address….

The "IPv4-Compatible IPv6 address" is now deprecated because the current IPv6 transition mechanisms no longer use these addresses.

IPv4-mapped IPv6 address: This is similar to IPv4-compatible IPv6 address with the difference that the first 80 bits are equal to zero followed by 16 bits equal to hexadecimal FFFF in place of 0000 in IPv4-compatible address. The format for this is given as:


80 bits
16
32 bits
0000...................................0000
FFFF
….IPv4 address….


6to4 addresses: IPv6 uses 6to4 addresses to communicate between two IPv6/IPv4 nodes over the IPv4 Internet. A 6to4 address combines the prefix 2002::/16 with the 32 bits of the public IPv4 address of the node to create a 48-bit prefix — 2002:WWXX:YYZZ::/48, where WWXX:YYZZ is the colon-hexadecimal representation of w.x.y.z, a public IPv4 address. Therefore, the IPv4 address 192.168.35.7 translates into a 6to4 address prefix of 2002:c0a8:2307::/48.It has the following format.

16 bits
32 bits
16 bits
64 bits
0010 0000 0000 0010
…………WWXX YYZZ…….…
SLA ID
Interface ID

NOTE: Complete 6to4 prefix ( Total 48 bits )

To configure 6to4 address, follow the steps below.

1. Enable the 6to4 tunneling by command - netsh interface ipv6 6to4 set state state=enabled undoonstop=disabled

2. Enable 6to4 on interface by command - netsh interface ipv6 6to4 set interface "Interface Name/Index" enabled

3. Enable 6to4 for routing by command -netsh interface ipv6 6to4 set routing routing=enabled sitelocals=enabled

4. You can check the status by show command - netsh interface ipv6 6to4 show <parameter(state/interface/routing)>

5. Now on the system assign 6to4 address to the interface by following command -netsh interface ipv6 add address "Interface Name/Index" 2002:aabb:ccdd::aabb:ccdd Here aabbccdd is the hexadecimal value of IPv4 address and 2002::/16 represents 6to4 address prefix.


ISATAP addresses: ISATAP stands for Intra-Site Automatic Tunnel Addressing Protocol and is used to communicate between two IPv6/IPv4 nodes over an IPv4 intranet. An ISATAP address combines a 64-bit unicast link-local, site-local, or global prefix (a global prefix might be a 6 to 4 prefix) with a 64-bit suffix constructed of the ISATAP identifier 0:5EFE, followed by the IPv4 address assigned to an interface of the host. The prefix is known as the subnet prefix. Although a 6to4 address can incorporate only a public IPv4 address, an ISATAP address can incorporate either a public or a private IPv4 address. It has the following format.


64 bits
32 bits
32 bits
bnet Prefix
<Link Local, site-local or global prefix>
0000:5EFE
WWXX: YYZZ


To configure ISATAP address, follow the steps below.

1. On the system assign a static IPv4 address to the interface. You can verify by command -ipconfig

2. Now enable ISATAP by following command -netsh interface ipv6 isatap set state enable

3. You can check for the state of ISATAP by following command -netsh interface ipv6 isatap show state

4. On SUT type the following command to check for the ISATAP address -netsh interface ipv6 show address

It will display interface link-local address for ISATAP as - fe80::5efe:A.B.C.D%Zone ID (where A.B.C.D is the static IPv4 address and zone ID is the Interface Index e.g. 2,3,10 etc)


Teredo addresses: Teredo is an IPv6 transition technology that provides address assignment and host-to-host automatic tunneling for unicast IPv6 traffic over IPv4 infrastructure.6to4 tunneling requires the tunnel endpoint to have a public IPv4 address. However, many hosts are currently attached to the IPv4 Internet through one or several NAT devices, usually because of IPv4 address shortage. In such a situation, the only available public IPv4 address is assigned to the NAT device, and the 6to4 tunnel endpoint needs to be implemented on the NAT device itself. Teredo alleviates this problem by encapsulating IPv6 packets within UDP/IPv4 datagrams, which most NATs can forward properly. To summarize, Teredo is an IPv6 transition technology that allows automatic IPv6 tunneling between hosts that are located across one or more IPv4 NATs. The address format for Teredo tunneling is as follows.


32 bits
32 bits
16 bits
16 bits
32 bits
Teredo Prefix
Teredo IPv4 address
Flag
Obscured External Port
Obscured External Address


For more information about Teredo Addressing refer to the link https://www.microsoft.com/technet/network/ipv6/teredo.mspx


Referances :
http://www.microsoft.com/IPv6 http://playground.sun.com/ipv6/specs/specifications.html#SPEC http://jungla.dit.upm.es/%7Eecastro/IPv6-web/ipv6.html

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/ipv6_guide_for_windows_sockets_applications_2.asp


RFCs of Interest:

RFC1881 - IPv6 Address Allocation Management. IAB & IESG. December 1995. (Format: TXT=3215 bytes) (Status: INFORMATIONAL) ¨

RFC1887 - An Architecture for IPv6 Unicast Address Allocation. Y. Rekhter & T. Li, Editors. December 1995. (Format: TXT=66066 bytes) (Status: INFORMATIONAL) ¨

RFC1924 - A Compact Representation of IPv6 Addresses. R. Elz. April 1996. (Format: TXT=10409 bytes) (Status: INFORMATIONAL) ¨

RFC1933 - Transition Mechanisms for IPv6 Hosts and Routers. R. Gilligan & E. Nordmark. April 1996. (Format: TXT=47005 bytes) (Status: PROPOSED STANDARD) ¨

RFC2147 - TCP and UDP over IPv6 Jumbograms. D. Borman. May 1997. (Format: TXT=1883 bytes) (Status: PROPOSED STANDARD) ¨

RFC2292 - Advanced Sockets API for IPv6. W. Stevens, M. Thomas. February 1998. (Format: TXT=152077 bytes) (Status: INFORMATIONAL) ¨

RFC2375 - IPv6 Multicast Address Assignments. R. Hinden, S. Deering. July 1998. (Format: TXT=14356 bytes) (Status: INFORMATIONAL) ¨

RFC2460 - Internet Protocol, Version 6 (IPv6) Specification. S. Deering, R. Hinden. December 1998. (Format: TXT=85490 bytes) (Obsoletes RFC1883) (Status: DRAFT STANDARD) ( in French ) ¨

RFC2461 - Neighbor Discovery for IP Version 6 (IPv6). T. Narten, E. Nordmark, W. Simpson. December 1998. (Format: TXT=222516 bytes) (Obsoletes RFC1970) (Status: DRAFT STANDARD) ¨

RFC2462 - IPv6 Stateless Address Autoconfiguration. S. Thomson, T. Narten. December 1998. (Format: TXT=61210 bytes) (Obsoletes RFC1971) (Status: DRAFT STANDARD) ¨

RFC2464 - Transmission of IPv6 Packets over Ethernet Networks. M. Crawford. December 1998. (Format: TXT=12725 bytes) (Obsoletes RFC1972) (Status: PROPOSED STANDARD) ¨

RFC2471 - IPv6 Testing Address Allocation. R. Hinden, R. Fink, J. Postel (deceased). December 1998. (Format: TXT=8031 bytes) (Obsoletes RFC1897) (Status: EXPERIMENTAL)

RFC2473 - Generic Packet Tunneling in IPv6 Specification. December 1998. (Format: TXT=77956 bytes) (Status: PROPOSED STANDARD


No user avatar
jmr144k
Latest page update: made by jmr144k , Feb 27 2008, 5:59 PM EST (about this update About This Update jmr144k Edited by jmr144k

30 words added

view changes

- complete history)
Keyword tags: ipv6 windows server 2008 ws08
More Info: links to this page

Related Content

  (what's this?Related ContentThanks to keyword tags, links to related pages and threads are added to the bottom of your pages. Up to 15 links are shown, determined by matching tags and by how recently the content was updated; keeping the most current at the top. Share your feedback on Wetpaint Central.)