Overview of IPv6


IPv6 was spelled out in a series of RFCs published in the summer of 1995. Quite a few focus on the minute details of a new protocol, such as extensions to existing routing protocols to support the new address size and architecture. Rather than subjecting you to an exhaustive review of these RFCs, a more focused look at some of the more salient points (as they relate to IP addressing) should suffice.

Address Architecture

The addressing architecture for IPv6 was originally stipulated in RFC 1884, published in December 1995. This RFC was updated and obsoleted by RFC 2373 in July 1998. The revolutionary nature of the next generation of IP was evident in this document. Specifically, the proposed address space was enormous, and the way it was carved up demonstrated the sophistication that comes only with decades of experience with a technology set. The new protocol was everything a network engineer could have hoped for. More importantly, it appeared poised to solve all the long-standing "problems" with IPv4, and great pains were obviously taken to ensure ease of migration. Much of this was accomplished just within the address architecture.

128-Bit Address

The most significant aspect of the new Internet Protocol is the sheer size of its address space. At 128 bits in length, the new address space is 4 times the size of the IPv4 address space if you count the number of bits in the address. Mathematically, this works out to 340,282,366,920,938,463,463,374,607,431,768,211,456 possible addresses, which is obviously more than 4 times the number of available addresses IPv4 offers. In fact, that's such a huge number, I don't know of any mnemonics for some of the groupings. There are millions, billions, trillions, and quadrillions, but after that, things get fuzzy. Those mnemonics represent just under half of the total number. In other words, the address space is so large that it is beyond the scale most people are familiar with.

Base16 Address Notation

This new address space is also treated to a new notation format. Instead of addresses being referenced in a four-part dotted-decimal format, IPv6 addresses are expressed using a hexadecimal notation with colons. For ease of use, the 128-bit address is broken into eight groups of 16 bits, which are separated by colons. For example, FF01:0:0:0:0:0:0:101 is a valid, but reserved, IPv6 address.

Each of the eight 16-bit fields can have a maximum value of 1111111111111111 in Base2, which translates into 65,535 in Base10 and FFFF in Base16. The Base10 is included just for your edification; it is not used in IPv6 address notation. The Scientific Calculator included in every Microsoft desktop operating system lets you practice converting any symbolic string between Base2, Base10, and even Base16. A little practice might make the IPv6 addressing scheme seem a bit less daunting.

NOTE

The technical update of IP with version 6 is so complete that even IPv4's reserved loopback address has been replaced with a much simpler and technically elegant mechanism in IPv6. The IPv6 loopback address is 0:0:0:0:0:0:0:1.


It is important to note that, even though the address space has been defined, not all of it is usable. Only about 15% of the total address space is currently defined well enough to be used. The remainder is unallocated and will provide ample room for growth after the protocol reaches widespread usage. The fact that so much of the space is unutilized creates the opportunity for some keystroke-saving shorthand. IPv6 permits you to truncate a repetitive string of 0s by substituting a double colon. For example, FF01::101 is an acceptable shorthand for FF01:0:0:0:0:0:0:101. Despite the convenience of this shorthand, the bottom line is that, with IPv6, DNS becomes an absolute necessity!

Be careful not to mistake binary for decimal or hexadecimal numbers. Up to this point, we really haven't discussed the Base16 number system. You should be intimately familiar with Base10 and we've looked at Base2 so many times throughout this book that it, too, should be familiar. Base16, also known as hexadecimal or just plain hex, is just another number system. This one uses 16 symbols to represent numeric values. Table 15-1 demonstrates the relationship between Base2, Base10, and Base16.

Table 15-1. Comparing Binary, Decimal, and Hex

Binary

Decimal

Hex

0

0

0

1

1

1

10

2

2

11

3

3

100

4

4

101

5

5

110

6

6

111

7

7

1000

8

8

1001

9

9

1010

10

A

1011

11

B

1100

12

C

1101

13

D

1110

14

E

1111

15

F

10000

16

10

10001

17

11


Did you notice in the table that the symbols 0 and 1 (as well as their myriad combinations) represent legitimate numbers in all three of these number systems? For example, the symbolic string 10 is valid in all three, but it represents different values in each system. In Base2, it translates to a decimal 2. In Base10, it's obviously a ten. In Base16, it represents one group of 16 and no 1s. That's where the potential for confusion comes in. Some of those symbols are also used in both Base2 and Base10. This raises the potential for confusion if the number system being used isn't explicitly identified.

Ordinarily this wouldn't be a problem. Mathematicians tend to be well-disciplined enough that they explicitly identify the number system they are using, especially when it isn't Base10. Unfortunately, the RFCs that stipulate the address architecture often identify the contents of reserved fields. These fields are of many different sizes, and that often means two or more fields lie within a single 16-bit address group! Fields used as flags with reserved values that are less than 16 bits in length are explicitly identified using binary bit-string values, even though the address itself is expressed in hex. I'll point those out as we come to them.




IP Addressing Fundamentals
IP Addressing Fundamentals
ISBN: 1587050676
EAN: 2147483647
Year: 2002
Pages: 118
Authors: Mark Sportack

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net