IP Version 6
IPv6
IPv6 stands for Internet Protocol version 6. It is the second version of the Internet Protocol to be used generally across the virtual world. The first version was IPv4. IPv5 was a protocol of a different sort, intended to support video and audio rather than all-purpose addressing. IPv6 is also known as IPng, which stands for IP Next Generation.
One of the main upgrades in IPv6 is in the number of addresses available for networked devices. For example, each mobile phone or other kind of electronic device can have its own IPv6 address. IPv6 allows 3.4x10^38 addresses. This is mainly due to the number of bits in each protocol. IPv4 addresses have 32 bits in them and so allow a maximum of four billion addresses. IPv6 addresses have 128 bits.
However, IPv4 is still the protocol of choice for most of the Internet. The transition will be a steady one, and IPv6 is the future of Internet addressing, mainly because industry experts believe that they are close to running out of available addresses altogether.
Another example of an IPv6 upgrade is multicasting, which is standard in IPv6 but only optional in IPv4. Multicasting is delivering a data stream to multiple destinations at the same time, with no duplication unless called for. Those functionalities are not supported by IPv4. The other two types of addressing that are standard practice for IPv6 are unicast and anycast. The former is a transmission from just one host to just one other host; the latter is from one host to the nearest of many hosts.
IPv6 also has two other significant advantages over IPv4. IPv6 offers a higher level of built-in security, and it has been specifically designed with mobile devices in mind. The security comes in the form of IPsec, which allows authentication, encryption, and compression. The mobility comes in the form of Mobile IP ,which allows roaming between different networks without losing an established IP address. Both of these functionalities are requirements of IPv6 and so are designed to be built into every IPv6 stack, address, and network.
Differences Between IPv4 and IPv6
The following table highlights some of the key differences between IPv4 and IPv6.
Differences between IPv4 and IPv6
| IPv4 |
IPv6 |
|
Source and destination addresses are 32 bits (4 bytes) in length. |
Source and destination addresses are 128 bits (16 bytes) in length. |
|
IPSec support is optional. |
IPSec support is required. |
|
IPv4 header does not identify packet flow for QoS handling by routers. |
IPv6 header contains Flow Label field, which identifies packet flow for QoS handling by router. |
|
Both routers and the sending host fragment packets. |
Only the sending host fragments packets; routers do not. |
|
Header includes a checksum. |
Header does not include a checksum. |
|
Header includes options. |
All optional data is moved to IPv6 extension headers. |
|
Address Resolution Protocol (ARP) uses broadcast ARP Request frames to resolve an IP address to a link-layer address. |
Multicast Neighbor Solicitation messages resolve IP addresses to link-layer addresses. For more information, see “Neighbor Discovery” in “How IPv6 Works.” |
|
Internet Group Management Protocol (IGMP) manages membership in local subnet groups. |
Multicast Listener Discovery (MLD) messages manage membership in local subnet groups. |
|
ICMP Router Discovery is used to determine the IPv4 address of the best default gateway, and it is optional. |
ICMPv6 Router Solicitation and Router Advertisement messages are used to determine the IP address of the best default gateway, and they are required. For more information, see “Neighbor |
|
Broadcast addresses are used to send traffic to all nodes on a subnet. |
IPv6 uses a link-local scope all-nodes multicast address. |
|
Must be configured either manually or through DHCP. |
Does not require manual configuration or DHCP. |
|
Uses host address (A) resource records in Domain Name System (DNS) to map host names to IPv4 addresses. |
Uses host address (AAAA) resource records in DNS to map host names to IPv6 addresses. |
|
Uses pointer (PTR) resource records in the IN-ADDR.ARPA DNS domain to map IPv4 addresses to host names. |
Uses pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names. |
|
Must support a 576-byte packet size (possibly fragmented). |
Must support a 1280-byte packet size (without fragmentation). |
FEATURES OF IPv6
FEATURE - Address Space
CHANGE - Increase from 32-bit to 128-bit address space
FEATURE - Management
CHANGE - Stateless autoconfiguration means no more need to configure IP addresses for end systems, even via DHCP
FEATURE - Performance
CHANGE - Predictable header sizes and 64-bit header alignment mean better performance from routers and bridges/switches
FEATURE - Multicast/Multimedia
CHANGE - Built-in features for multicast groups, management, and new "anycast" groups
FEATURE - Mobile IP
CHANGE - Eliminate triangular routing and simplify deployment of mobile IP-based systems
FEATURE - Virtual Private Networks
CHANGE - Built-in support for ESP/AH encrypted/authenticated virtual private network protocols; built-in support for QoS tagging
Configure IPv6 features
on FreeBSD, Windows XP, Windows Server 2003 and Linux
FreeBSD (tested on 4.9):
ADDRESS = 2001:918:fffc:12:1::2
GATEWAY= fe80::209:c0ff:fe30:4357
INTERFACE = xl0
| Add the IPv6 address for the interface |
ifconfig xl0 inet6 add 2001:918:fffc:12:1::2 prefixlen 64 |
|
Remove IPv6 address from the interface |
ifconfig xl0 inet6 2001:918:fffc:12:1::10 prefixlen 64 delete |
|
Autoconfiguration on/off |
sysctl net.inet6.ip6.accept_rtadv=1 |
|
Add specific route to host |
route add -inet6 2001:800:40::1 fe80::209:c0ff:fe30:4357%xl0 |
|
Add specific route to network |
route add -inet6 2001:800:40::/48 fe80::209:c0ff:fe30:4357%xl0 |
|
Remove specific route |
route delete -inet6 2001:800:40::/48 fe80::209:c0ff:fe30:4357%xl0 |
|
Add default IPv6 route |
route add -inet6 ::/0 fe80::209:c0ff:fe30:4357%xl0 |
|
Remove default IPv6 route |
route delete -inet6 ::/0 fe80::209:c0ff:fe30:4357%xl0 |
|
Display current routing table |
netstat -r |
|
Display current interface configuration |
ifconfig |
WindowsXP/Windows Server 2003
ADDRESS = 2001:918:fffc:12:1::2
GATEWAY= fe80::209:c0ff:fe30:4357
INTERFACE = Local Area Connection
|
Add the IPv6 address for the interface |
netsh interface ipv6 set address "Local Area Connection" 2001:918:0:12:1::2 |
|
Remove IPv6 address from the interface |
netsh interface ipv6 delete address "Local Area Connection" 2001:918:0:12:1::2 |
|
Enable IPv6 |
Netsh interface ipv6 install |
|
Disable IPv6 |
Netsh interface ipv6 uninstall |
|
Add specific route to host |
netsh interface ipv6 add route 2001:918:fffc:12::/64 "Local Area Connection" |
|
Add specific route to network |
netsh interface ipv6 add route 2001:918:fffc:12::/64 "Local Area Connection" |
|
Remove specific route |
netsh interface ipv6 delete route 2001:918:fffc:12::/64 "Local Area Connection" |
|
Add default IPv6 route |
netsh interface ipv6 add route ::/0 "Local Area Connection" fe80::209:c0ff:fe30:4357 |
|
Remove default IPv6 route |
netsh interface ipv6 delete route ::/0 "Local Area Connection" fe80::209:c0ff:fe30:4357 |
|
Establish v6-in-v4 tunnel |
netsh interface ipv6 add v6v4tunnel "Local Area Connection" <local IPv4 Adress> <Remote IPv4 Adress> |
|
Display current routing table |
netsh interface ipv6 show route |
|
Display current interface configuration |
Ipconfig |
|
IPv6 Firewall disable |
Netsh firewall set adapter "Local Area Connection" filter=disable |
|
IPv6 Firewall enable |
Netsh firewall set adapter "Local Area Connection" filter= enable |
|
Check connectivity |
Ping www.kame.net |
|
Trace route |
Tracert www.kame.net |
|
Disable IPv6 privacy addresses |
netsh interface ipv6 set privacy disabled |
|
Enable IPv6 privacy addresses |
netsh interface ipv6 set privacy enabled |
Linux
ADDRESS = 2001:918:fffc:12:1::2 prefixlen 64
GATEWAY= fe80::209:c0ff:fe30:4357
INTERFACE = eth0
| Add the IPv6 address for the interface |
ifconfig eth0 add 2001:918:fffc:12:1::2/64 |
|
Remove IPv6 address from the interface |
ifconfig eth0 del 2001:918:fffc:12:1::2/64 |
|
Autoconfiguration on |
echo "1" > /proc/sys/net/ipv6/conf/eth0/accept_ra |
|
Autoconfiguration off |
echo "0" > /proc/sys/net/ipv6/conf/eth0/accept_ra |
|
Enable IPv6 |
compile kernel with IPv6 support |
|
Add specific route to host |
route –A inet6 add 2001:800:40::1 gw fe80::209:c0ff:fe30:4357 dev eth0 |
|
Add specific route to network |
route –A inet6 add 2001:800:40::/48 gw fe80::209:c0ff:fe30:4357 dev eth0 |
|
Remove specific route |
route –A inet6 del 2001:800:40::1 gw fe80::209:c0ff:fe30:4357 dev eth0 |
|
Add default IPv6 route |
route –A inet6 add ::/0 gw fe80::209:c0ff:fe30:4357 dev eth0 |
|
Remove default IPv6 route |
route –A inet6 del ::/0 fe80::209:c0ff:fe30:4357 dev eth0 |
|
Display current routing table |
netstat –nr –A inet6 |
|
Display current interface configuration |
ifconfig |
|
Check connectivity |
ping6 www.kame.net |
|
Trace route |
traceroute6 www.kame.net |
Internet News
- Browsing potential of Internet Explorer 9 excites Microsoft Tech talk nick ... - Wilkes Barre Times-Leader
- Email scams grow more sophisticated - Sydney Morning Herald
- Internet scams target young - ABC Online
- U.S. Reaches $33 Million Settlement with Online Gaming Operator - Wall Street Journal
- Law Office of Brodsky Smith, LLC Announces Investigation of Internet Brands ... - MarketWatch (press release)
