Department of Teleinformatics Network Services Royal Institute of Technology



Download 290.3 Kb.
Page3/10
Date28.01.2017
Size290.3 Kb.
#8874
1   2   3   4   5   6   7   8   9   10

3IPv6 Overview


The Internet Protocol version 6 (IPv6) has been developed to replace today’s Internet Protocol version 4 (IPv4). IPv4 has its roots in the early 1970s when the Internet consisted only of limited research networks. The new protocol has been in development since 1992 when network experts realized that the nature of the Internet had changed and was in the need of a prominent upgrade.
The new protocol brings new functionality and higher performance into internetworking in several aspects. When designing IPv6, much research was made to assure that IPv6 would handle the expected growth of the Internet and all the new services that will follow with it.
In this chapter, IPv6 features related to home networking will be briefly described. For further information, please refer to the referenced sources. For application examples and usage, refer to Chapter .

3.1IPv6 Header Format


I
Pv6 introduces many enhancements to IPv4. To begin with, the IP header format has changed from a variable sized header with 12 fields and options into a fixed size 40-byte header containing only eight fields as shown in Figure 3 .3. Although the IPv6 header is bigger measured in bytes, the slimmed structure with only eight fields together with the fixed size provides for easier implementations and higher performance in hosts and routers.

Figure 3.3 Header format in IPv4 and IPv6


In brief, the following changes has been made [15]:


  • The Type of Service field (ToS) has been replaced by the Traffic Class field, which together with the new Flow Label field provides for prioritized traffic and Quality of Service (QoS). Further described in Section 3.5.

  • Time to Live (TTL) has been replaced by the Hop Limit field, which more correctly states its meaning.

  • The header checksum in IPv4 has been completely removed since error checking in most cases still is performed in the other network layers. This gives a major performance boost for routers and firewalls since they don’t have to recalculate a checksum when something in the header is changed (such as TTL or the source/destination address).

  • F
    ragmentation Offset and the Options fields have been completely removed from the IPv6 header. Instead, this information is put into separate extension headers inserted between the IPv6 header and the payload in a daisy-chain fashion as shown in Figure 3 .4. Each extension header has a next header field, which specifies the type of the following header. The technique makes the handling of extra options and special delivery cases more slimmed, and provides for easy future expansions with new headers types.

Figure 3.4 Daisy-chaining of extension headers in IPv6.

3.2ICMPv6


IPv6 uses the Internet Control Message Protocol version 6 (ICMPv6) defined in [12], which is a further development of the ICMP, available in IPv4. The changes include removal of seldom-used messages and the introduction of Internet Group Management Protocol (IGMP) messages used for joining and leaving multicast groups. ICMPv6 is also used for diagnostics (i.e. ping) and autoconfiguration (further described in Section 3.4). Table 3 .1 shows the ICMPv6 messages currently defined:
Table 3.1: Defined ICMPv6 messages

ID

Message

1

Destination Unreachable

2

Packet Too Big

3

Time Exceeded

4

Parameter Problem

128

Echo Request

129

Echo Reply

130

Group Membership Query

131

Group Membership Report

132

Group Membership Reduction

133

Router Solicitation

134

Router Advertisement

135

Neighbor Solicitation

136

Neighbor Advertisement

137

Redirect



3.3Addressing


IPv6 introduces 128-bit wide addresses instead of the 32 bits used in IPv4. With 128 bits it is theoretically possible to assign approximately 665,985,621,475,071,937 IP addresses per square millimeter of the earth’s surface, thus the lack of IP addresses seems to be solved! However, in practice the gigantic address space will be used to introduce a more hierarchical address structure than the one present in IPv4. A hierarchical structure will also optimize routing in the networks since routers then don’t have to examine the whole address.

3.3.1Address Notation


Plain old IPv4 addresses are written in “four dotted decimal” form as in
192.168.0.1
With 128 bits instead of 32 bits, this notation would require 16 decimal integers to form an IPv6 address, which could be quite troublesome to handle. Instead, IPv6 addresses are written as eight groups of hexadecimal 16-bit words separated by colons as in these two examples:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
FE80:0000:0000:0000:0200:F8FF:FE22:26C8
By using hexadecimal digits, this form is somewhat shorter than using decimal ones. Still, writing IPv6 addresses like these can be very tedious. To reduce the notation further, the specification introduces some simplifications.
There will likely be many zeros in the addresses because of the big address space available. By removing leading zeros in the words and thereby replacing words like 0200 with 200, the address is shortened. Furthermore, words consisting entirely of zeros (0000) may be replaced by a double colon (::). A double colon can represent one or more adjacent words of this kind and can therefore simplify the notation further. The second address above in compressed form now reads
FE80::200:F8FF:FE22:26C8
This is the common way of writing IPv6 address and will be used in the rest of this report. To expand the compressed address you only need to align whatever is left to the colons to the left, the rest to right and then pad with zeros. It is not possible to use multiple double colons to replace zeros since that makes the expansion ambiguous.
There is also a convenient form of writing IPv6 addresses derived from an IPv4 address. Such addresses may be expressed as a six hexadecimal groups followed by the plain old “four dotted decimal” form:
0:0:0:0:0:0:192.168.0.1
In compressed form, the address becomes very easy to handle:
::192.168.0.1
B
esides addresses assigned to individual hosts, IPv6 introduces address prefixes. An address prefix is similar to the network prefix used in IPv4 and is used in the same way (for more information, please refer to Section 3.3.3). The address prefix is denoted as an IPv6 address followed by a slash and the prefix length in bits. The following examples show the same prefix written in three different ways:

3FFE:0000:0A12:1200:0000:0000:0000:0000/60

3FFE::A12:1200:0:0:0:0/60

3FFE:0:A12:1200::/60


Even if only the 60 firsts bits are interesting, the following notations is NOT legal (the faulty expansion is shown for each prefix accordingly):
3FFE::A12:1200/60 

3FFE:0000:0000:0000:0000:0000:0A12:1200/60 =

3FFE::/60
3FFE:0:A12:120::/60  3FFE:0000:0A12:0120:0000:0000:0000:0000/60 =

3FFE:0:A12:0120::/60


3.3.2Address Assignment


IPv6 addresses are assigned to interfaces such as Ethernet NICs, PPP virtual interfaces and so on. However, an interface is not limited to one single address as in IPv4, but can in fact have an infinite number of addresses assigned to it. This is very useful for separating different kinds of network traffic over the same interface.

3.3.3The IPv6 Address Space


The IPv6 address space is gigantic! Going from 32 to 128 bits wide addresses means a drastic increase in addresses available. Moreover, the 128 bits not only makes it possible to assign billions of billions of hosts, but also provides for a greater hierarchical structure than the network, subnetwork and host layers defined in IPv4.
In the top level of hierarchy in the IPv6 address space, different address types are defined. Each type has its own address subspace identified by an address prefix similar to those used in Classless Inter-domain Routing (CIDR). Table 3 .2 below shows the initial allocation defined in [17]. The table shows the named allocation together with its corresponding prefix followed by the fraction of the address space it allocates.
Table 3.2 Initial allocation of address prefixes.

Allocation

Prefix
(binary)


Prefix
(hex)


Fraction of
address space














Reserved

0000 0000

::/8

1/256 (0.4%)

Unassigned

0000 0001

100::/8

1/256













NSAP Allocation

0000 001

200::/7

1/128 (0.8%)

IPX Allocation

0000 010

400::/7

1/128













Unassigned

0000 011

600::/7

1/128

Unassigned

0000 1

800::/5

1/32 (3.1%)

Unassigned

0001

1000:/4

1/16 (6.3%)













Aggregatable Global Unicast Addresses

001

2000::/3

1/8 (12.5%)

Unassigned

010

4000::/3

1/8

Unassigned

011

6000::/3

1/8

Unassigned

100

8000::/3

1/8

Unassigned

101

A000::/3

1/8

Unassigned

110

C000::/3

1/8













Unassigned

1110

E000::/4

1/16 (6.3%)

Unassigned

1111 0

F000::/5

1/32 (3.1%)

Unassigned

1111 10

F800::/6

1/64 (1.6%)

Unassigned

1111 110

FC00::/7

1/128 (0.8%)

Unassigned

1111 1110 0

FE00::/9

1/512 (0.2%)

Link-Local Unicast Addresses

1111 1110 10

FE80::/10

1/1024 (0.1%)

Site-Local Unicast Addresses

1111 1110 11

FEC0::/10

1/1024













Multicast Addresses

1111 1111

FF::/8

1/256 (0.4%)

As indicated in the table, more than 70% of the address space remains unassigned. These unassigned prefixes can later be replaced by additional existing address types (e.g. more multicast or aggregatable addresses) or with new ones. There are already plans to include a geographically based address scheme where the address maps directly to a geographical position and vice versa.


3.3.4Unicast Addresses


A unicast address identifies a single interface, and packets sent to a unicast destination address are delivered to that unique interface alone. IPv6 includes different subtypes of unicast addresses.

Aggregatable Unicast Addresses


A
ggregatable Global Unicast Addresses is a hierarchically structured addressing scheme intended to be the initially used assignment plan for IPv6 nodes [18]. This address format is designed to optimize high-speed routing in the core networks of the Internet by introducing a multi-level address topology divided into Public, Site and Interface topologies. The address format is as follows:
The address format consists of four ID fields for a four level hierarchical structure:


  • Top-Level Aggregation Identifiers (TLA ID) used in the top level in the routing hierarchy.

  • Next-Level Aggregation Identifiers (NLA ID) used by organizations.

  • Site-Level Aggregation Identifiers (SLA ID) which corresponds to today’s subnets in IPv4.

  • Interface ID, which specifies a single interface of an IPv6 host.

There is also a reserved field (RES) to provide future expansion of the TLA and/or NLA fields.



Local addresses


IPv6 defines three types of addresses for local use only – that is IP packets containing local source or destination addresses are limited to physical area. Local packets are never routed outside this local area.
The Loopback address, 0:0:0:0:0:0:0:1 (or ::1), is referring to the virtual interface built-in into every IPv6 host for host-local communication. It has the same functionality as the localhost interface (127.0.0.1) in IPv4.
Link-local addresses are used for communication over a single link or segment in an IPv6 network. In reality this could mean a single household, a small office or just two hosts directly connected to each other. Every IPv6 interface is required to have at least one link-local address assigned and automatically assigns itself one at boot time. How this assignment is done depends on the underlying media (i.e. Ethernet, ATM, IEEE 1394 etc.).
A
link-local address is constructed by the prefix FE80::/10 and a 64-bit interface ID padded with 54 bits of zeros in between:
Link-local addresses are heavily used in IPv6’s autoconfiguration procedures as will be shown in Section 3.4.
Site-local addresses are designed to let sites with multiple links or segments communicate locally without the need for a global prefix. This could be the case for an isolated corporate network or residential area without the need of global communication.
T
he structure of the site-local address is similar to the link-local, except for the new prefix FEC0::/10 and a new field for subnet ID.

3.3.5Multicast Addresses


A multicast address is used to send packets from one source to multiple destinations. IPv6 will make multicasting a more common way of communicating since every IPv6 router is required to handle multicast routing.
A
n IPv6 multicast address consists of the address prefix 11111111 (FF::/8) followed by some flags, the scope of the multicast and finally an identifier for the multicast group:
In the flags field, the fourth bit indicates if the multicast address is transient or not. Transient addresses are constructed for temporary multicasting sessions such as a videoconference while a non-transient address is reserved for special pre-registered services. For example, the multicast group FF02::1 refers to all nodes on the current link, and FF02::2 refers to all routers. For a complete list of registered multicast addresses, please refer to IANA’s web page [2].
The scope field tells how far the packets sent to the multicast group may be routed in some sense of routing distance. In IPv4 the TTL field in the IP header is used to limit the scope. IPv6 provides a much more precise definition closer related to real world boundaries. This requires however that the routers are configured to know their location and to which areas they belong. Table 3 .3 shows the currently assigned scope values defined in [17].
Table 3.3 Multicast scopes

Value

Definition Scope

0

Reserved

1

Node-local scope

2

Link-local scope

5

Site-local scope

8

Organization-local scope

E

Global scope

F

Reserved

The “missing” values are currently unassigned and are available to network administrators to define themselves. In the concept of home networking, these could represent additional geographical hierarchies, e.g. “National scope”, “Continental scope” and so on.


Finally, the group identifier in the address distinguishes a multicast session within the current scope. In IPv6, multicast is considered as a common type of communication, which is not the case with IPv4. This can be easily conceived by looking at the 112-bit wide group identifier in IPv6 compared to the 28 bits available in the IPv4 class D addresses. For example, multicasts in IPv6 replace broadcasts in IPv4.

3.3.6Anycast Addresses


A
nycasting is new feature introduced with IPv6. An anycast address is an IPv6 address assigned to multiple interfaces, often belonging to separate nodes. The anycast addresses are indistinguishable from unicast address and may use any unicast address assignment scheme. Packets sent to an anycast address are received by the interface closest to the sender, in means of the routing protocols’ measure of distance. Figure 3 .5 shows a simple example with two hosts (A and C) both specifying B as their destination address. The actual server requested depends on the network topology since the shortest route is chosen.
Figure 3.5 Anycasting in IPv6
Anycasting could be used for load balancing between multiple DNS, web or database servers. Fuzzy routing is another feature possible with anycast addresses where the sender specifies that the packets should be routed through any router in a specified network. Since anycasting is quite new to the Internet world, it is still a topic for research and new applications are evolving continuously

3.3.7Domain Name System (DNSv6)


DNS extensions to support IPv6 have been proposed in [31]. The extensions include a new record type for IPv6 addresses called AAAA and a new DNS domain for the IPv6 address rooted as IP6.INT. Thereby, an IPv6 address such as
4321:0:1:2:3:4:567:89ab
will have the lookup address
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.INT.
Currently, another new resource type called A6 is being defined [14] to better support prefixes and simplify renumbering. When the A6 resource type are widely deployed, the AAAA type will no longer be needed.

Download 290.3 Kb.

Share with your friends:
1   2   3   4   5   6   7   8   9   10




The database is protected by copyright ©ininet.org 2024
send message

    Main page