Internet Protocol Version 6 (IPv6)
|
|
|
|
- Voice / IP Fax / Internet
- Tri-band WCDMA (850/1900/2100)
- Quad band GSM (850/900/1800/1900)
- HSDPA/EDGE/GPRS Data
- RJ11 Interface
- USB 2.0 Interface
- Ethernet Port
- 4 port 10/100 Mbit Router
- WiFi 802.11
|
|
|
|
|
|
IP Version 6 is the next generation of IP (protocol) and Address
assignment on
the Internet. Eventually everyone will be using IPv6 addresses. The
current
version is IPv4 and is rapidly running out of IP Address blocks to
assign to networks.
For this reason the Next Generation of IP Addressing and Internet
Routing has
been created.
By default right now you are on the IPv4 Internet and you do not have
access to
the IPv6 Internet. It is possible to get on the IPv6 Internet and I can
tell
you how. In short IPv6 provides a huge increase in the amount of IP
Address
Space on the Internet. Even a small organization or a single user can
get a
large chunk of IPv6 address space and connect other computers to the
Internet.
My example of the Turtle Dancing on
http://www.kame.net was a way to show whether or not you could reach
the IPv6
Internet. If the turtle does not dance on that web page then you are
not on
IPv6 you are only on IPv4.
Alan Spicer Telecom has an Internet Protocol Version 6 (IPv6)
address and
the corresponding hostname:
Hostname: <I'll leave this
out for now, I'm working on some security issues>
IPv6 IP Address:<I'll leave
this out for now, I'm working on some security issues>
I am also
experimenting with a larger assignment of IP Address Space. What's cool
about
that is that I can have lots and lots of real Internet IP Addresses
(65,536 sub
networks of near 18,446,744,073,709,551,616 IP Addresses.)
What many of you will immediately
realize, and some not, is that this eliminates the need to do some
kludgy address translations that are currently done in IPv4 networks.
Most of your routers and Windows XP as Connection Sharing are doing 2
things:
1.) NAT - Network Address Translation - works with Private Addressing
(#2 below) and translates you back-and-forth to the "Real
Internet IP Address".
2.) RFC 1918 Private IP Addressing - There are several chunks of IP
Address Space set aside for private networks. The most common one seen
on consumer level Routers and Wireless Access Points is: 192.168.x.x
(the last two vary depending on the setup). These addresses on their
own are not routeable on the *real* Internet. Something has to
translate them and assist you in communicating. This is what we call a
"kludge".
In IPv6 there are so many addresses that this is simply not necessary.
Everyone, every device, ("probably every transistor" -- someone said)
can have it's own *real* Internet address without the need of Address
Translation conversions. That's pretty cool!
Freenet6
basically assigns me, upon my request (automatically by software), and
without
hassle (like hassle associated with getting Static IP Addresses from
your
ISP!), a Global Address Prefix called a "48" or "/48". That means they
give me
a Route off of their system that is advertised to the Global Internet
(Anyone
with IPv6 capability can reach it.) That is:
My Global
Routing Prefix <I'll leave this out for now, I'm working on some
security issues>
Each pair of 4
hexadecimal characters is 16 bits. The first 3
represents the 48
bits prefix, which is why they call it a /48 or a "48". Inside of that
is 80
more bits, of which 16 bits is Subnet ID (something I can configure how
ever I
want) and 64 bits is Interface ID, for any computer or device that I
want to
put the Internet.
Subnet: 2^16th
power = 65536 networks I can have.
Interface ID:
2^64th = 18,446,744,073,709,551,616 connected devices
(network
cards) I can have.
Call your ISP
one day and ask them for a live static IP and ask how much it costs?
Then tell
them, oh forget it, I've got trillions of static IP addresses already
myself.
Have a nice day.
Of course to do
what I am doing with the "48 prefix" requires you to run "something" as
a
router that understand IPv6, and just as important something that can
run IPv6
Router Advertisement service. I don't know how yet to do that with
Microsoft Windows.
Chances are I'll probably find out soon enough. (Update: This can be
done with
Windows; the software from Freenet6 sets this up for you. I
haven't
tested this
personally though.) **** Another
update on this please see: Update About
Windows XP.
For now I am
using the Linux Operating System on another PC to do this via the RADVD
- Route
Advertising Daemon, which is basically a Server program. It sends
Router
Advertisement messages, specified by RFC 2461, to a local
Ethernet
LAN periodically and when requested by a node sending a Router
Solicitation
message.
That's bunch of
complicated gobble-de-gook to some people but basically you can think
of RADVD
as a sort DHCP Server. The similarities being that it does say "I'm an
Ipv6
Router" (analogous to DHCP telling "set me as your Default Gateway"),
it does
say "This is our network prefix" (analogous
to "your
IP is", and "your subnet mask is"). Basically it says "if you want, go
ahead
and auto-configure yourself on this network prefix and set me as your
IPv6
Gateway to the world". It's not DHCP in the strictest sense since there
is a
DHCPv6 protocol specification out there. But you should get the picture
anyway.
You can get your
own IPv6 account from http://www.freenet6.net/
at no cost (It's FREE) which will give you a Username and Password, as
well as
let you download their software program to put your computer on the
IPv6
Internet. For all that hard work that you will do, (You've got to turn
on IPv6
in Windows XP as well if that's what you use!) really it's not as hard
as you
would think, you may just impress your friends or get a free beer or
coffee
from someone. Here's some information taken from a Microsoft Web Site:
IPv6 Addressing
The most obvious distinguishing feature of IPv6 is its use of much
larger
addresses. The size of an address in IPv6 is 128 bits, which is four
times
larger than an IPv4 address. A 32-bit address space includes 232 or
4,294,967,296 possible addresses. A 128-bit address space includes 2128
or 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 3.4 x 1038)
possible addresses.
The IPv4 address space was designed in the late 1970s, and it seemed
impossible to exhaust. However, addresses were not allocated in a way
that
anticipated changes in technology and an explosion in the number of
hosts on
the Internet. The IPv4 address space was consumed to the point that, by
1992,
it clearly needed a replacement.
It is even harder to conceive that the IPv6 address space will be
consumed. A
128-bit address space provides 655,570,793,348,866,943,898,599 (6.5 x 1023)
addresses for every square meter of the Earth's surface.
It is important to remember that the decision to make the IPv6
address 128
bits long was not so that every square meter of the Earth could have
6.5 x 1023
addresses. Rather, the relatively large size of the IPv6 address is
designed to
be subdivided into hierarchical routing domains that reflect the
topology of
the modern Internet. The use of 128 bits allows multiple levels of
hierarchy
and flexibility in designing hierarchical addressing and routing that
is
currently lacking in the IPv4-based Internet.
RFC 3513 describes the IPv6 addressing architecture.
IPv6 Address Syntax
IPv4 addresses are represented in dotted-decimal format. These
32-bit
addresses are divided along 8-bit boundaries. Each set of 8 bits is
converted
to its decimal equivalent and separated from the other sets by periods.
For
IPv6, the 128-bit address is divided along 16-bit boundaries. Each
16-bit block
is converted to a 4-digit hexadecimal number and separated by colons.
The
resulting representation is known as colon-hexadecimal.
The following is an IPv6 address in binary form:
0010000111011010000000001101001100000000000000000010111100111011
0000001010101010000000001111111111111110001010001001110001011010
The
128-bit address is divided along 16-bit boundaries:
0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010
Each
16-bit block is converted to hexadecimal and delimited with colons. The
result
is:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A
IPv6
representation can be further simplified by removing the leading zeros
within
each 16-bit block. However, each block must have at least a single
digit. With
leading zero suppression, the address representation becomes:
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
Compressing
Zeros
Some
types of addresses contain long sequences of zeros. To further simplify
the
representation of IPv6 addresses, a contiguous sequence of 16-bit
blocks set to
0 in the colon-hexadecimal format can be compressed to "::,"
known as double-colon.
For
example, the link-local address of FE80:0:0:0:2AA:FF:FE9A:4CA2
can be compressed to FE80::2AA:FF:FE9A:4CA2. The multicast address
FF02:0:0:0:0:0:0:2 can be compressed to FF02::2.
Zero
compression can be used to compress only a single contiguous series of
16-bit
blocks expressed in colon-hexadecimal notation. You cannot use zero
compression
to include part of a 16-bit block. For example, you cannot express
FF02:30:0:0:0:0:0:5 as FF02:3::5.
To
determine how many 0 bits are represented by the double colon, you can
count
the number of blocks in the compressed address, subtract this number
from 8,
and then multiply the result by 16. For example, the address FF02::2
has two
blocks (the "FF02" block and the "2" block.) The number of 0 bits
expressed by
the double colon is 96 (96 = (8 - 2) x 16).
Zero
compression can be used only once in a given address. Otherwise, you
could not
determine the number of 0 bits represented by each double colon.
IPv6
Prefixes
The
prefix is the part of the address that indicates which bits have fixed
values
or reflect the subnet identifier. Prefixes for IPv6 subnet identifiers
and routes
are expressed in the same way as Classless Inter-Domain Routing (CIDR)
notation
for IPv4, that is, in address/prefix-length notation. For example,
21DA:D3::/48 is a route prefix and
21DA:D3:0:2F3B::/64 is a subnet
prefix.
Note
|
|
IPv4 implementations commonly use a dotted decimal
representation of the network prefix known as the subnet mask. IPv6
does not support subnet masks. IPv6 supports only the prefix-length
notation.
|
Types
of IPv6 Addresses
IPv6
supports three types of addresses:
|
|
Unicast
A unicast address identifies a
single interface within the scope of the type of unicast
address. With the appropriate unicast
routing topology, packets addressed to a unicast
address are delivered to a single interface. To accommodate
load-balancing systems, RFC 3513 allows multiple interfaces to use the
same address as long as they appear as a single interface to the IPv6
implementation on the host.
|
|
|
Multicast
A multicast address identifies multiple interfaces. With the
appropriate multicast routing topology, packets addressed to a
multicast address are delivered to all interfaces that are identified
by the address. A multicast address is used for one-to-many
communication, with delivery to multiple interfaces.
|
|
|
Anycast
An anycast address identifies
multiple interfaces. With the appropriate routing topology, packets
addressed to an anycast address are
delivered to a single interface, the nearest interface that is
identified by the address. The nearest interface is defined as being
closest in terms of routing distance. An anycast
address is used for one-to-one-of-many communication, with delivery to
a single interface.
|
IPv6
addresses always identify interfaces, not nodes. A node is identified
by any unicast address that is assigned to
one of its interfaces.
This
is only a portion of: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/9bcf5d01-a1df-4053-939b-904e20753553.mspx
http://www.microsoft.com/ipv6/
If
you want to learn more about it you can check out those web pages. Or
search
with your favorite search engine.
****
Here's the update ... This is an
important and interesting information because it basically says that
Windows XP can automatically get connected to IPv6 if the machine
running XP is directly on the Internet itself (routers and Wireless
AP's connected to Cable and DSL, etc. don't count here, I mean the
machine has the Broadband Connection Directly itself. Meaning it has an
IPv4 Internet Address in "ipconfig".) I believe this
only works in Windows Update Service Pack 2 (SP2) because I don't
believe I saw this in SP1.
I kept
wondering why when I enable IPv6 in my machine connected directly to
DSL, it gets its own tunnel for IPv6, and this was messing with the
tunnel that I set up on a Linux box. I finally packet sniffed and
caught 206.123.31.116 (tsps3.freenet6.net) as being a tunnel connection
being established. I searched on Google.com for the port 3653 (udp)
being used and found:
| 3653 |
tcp/udp |
tsp |
Tunnel Setup Protocol |
TSP is the name used by Freenet6. So I go looking further to see what
Microsoft is setting up automatically and how that relates to Freenet6?
They must have an arrangement with Freenet6 (hexago.com)? I open up
Services on Windows XP and start to look for a "tsp" service ... but
first I can't believe what I see! IPv6 Helper Service. So I search
again on Google.com for that. And this is the first thing I find.
This page is for Windows CE, but I bet it is about Windows XP as well.
It tells that Windows XP can become a 6to4 router. I had a little bit
of trouble finding links that tell much about this IPv6 Helper Service.
This seems to be one of the few links that describe what's going on
*really*. I suspect that Tunnel Server has changed from what they tell
us below, because I got: tsp3.freenet6.net (206.123.31.116). As far as
I know I'm not running any software on my system from Freenet6
directly. When I turn off the IPv6 Helper Service (Start, Run,
services.msc, find IPv6 Helper Service and set it to "manual" startup
and stopped it) the tunnel goes away along with all of the 2001: IPv6
Addresses. This must be hard coded into the service, what server to
use. If someone knows better than this I'd appreciate a note. I don't
necessarily like my Ipv6 Service configured and routed by the Operating
System Maker even if it does still use Freenet6. Also I think 2001:
IPv6 Addresses are more *real* IPv6 Addresses than 2002: ones are. (why
I think that I may qualify at a later date.) The following described
IPv6 Helper Service
is also in Windows XP SP2, although the
article is about Windows CE.
IPv6 Helper Service
By using automatic IPv6 Helper service
configuration, any host that is running the IPv6 protocol and is
configured with an IPv4 public address is automatically configured as a
6to4 host. A 6to4 host can perform its own tunneling to reach either
6to4 hosts in other sites or hosts on the test Internet (6bone). The
following list shows the tasks IPv6 Helper service performs
automatically:
- The service configures 6to4 addresses
on the interface that is named 6to4 Tunneling Pseudo-Interface
(interface ID 3) for all public IPv4 addresses that are assigned to
interfaces on the device.
- The service creates a 2002::/16 route
that forwards all 6to4 traffic with the 6to4 Tunneling Pseudo-Interface
(interface ID 3). It also encapsulates all traffic forwarded by this
host to 6to4 destinations with an IPv4 header.
- The service performs a Domain Name
System (DNS) query for the name 6to4.ipv6.microsoft.com to obtain the
IPv4 address of the Microsoft 6to4 relay router on the Internet.
By enabling Internet Connection Sharing
(ICS), you can use a computer running the IPv6 protocol for Windows XP
as a 6to4 router. This computer can both encapsulate and forward 6to4
traffic to other 6to4 hosts or sites on the Internet, and can forward
6bone traffic to a 6to4 relay router on the Internet. The following
list shows the tasks the IPv6 Helper service performs if ICS is enabled
on an interface that is assigned a public IPv4 address:
- The service enables routing on the
private interface.
- The service sends Router
Advertisements that contain 6to4 address prefixes based on the public
IPv4 address of the public interface. The SLA ID in the 6to4 address
prefix is set to the interface ID of the interface on which the
advertisements are sent.
See Also
IPv6
Configurations | Connecting
to the Test Internet (6bone) | IPv6
RFCs and Internet Drafts