• No results found

IPV6 TECHNOLOGY AND DNS SETUP

N/A
N/A
Protected

Academic year: 2021

Share "IPV6 TECHNOLOGY AND DNS SETUP"

Copied!
65
0
0

Loading.... (view fulltext now)

Full text

(1)

IPV6 TECHNOLOGY AND DNS SETUP

Except where reference is made to the work of others, the work described in this report is my

own or was done in collaboration with my advisory committee.

___________________

Xiaozheng Lin

W. Homer Carlisle, Chair

Associate Professor

Computer Science and

Software Engineering

Kai-Hsiung Chang

Professor

Computer Science and

Software Engineering

Chung-Wei Lee

Assistant Professor

Computer Science and

Software Engineering

John F. Pritchett

Dean

(2)

IPV6 TECHNOLOGY AND DNS SETUP

Xiaozheng Lin

In Partial Fulfillment of the

Requirements for the

Degree of

Master of Software Engineering

Auburn University

(3)

IPV6 TECHNOLOGY AND DNS SETUP

Xiaozheng Lin

Master of Software Engineering, February 2003

Directed by Dr. W. Homer Carlisle

ABSTRACT

Over the past few years, based on a concern that the Internet address space would soon be exhausted, a new version of Internet Protocol (IP), called IP Version 6 (IPv6) is in the process of standardization, and is expected to supersede the current IP version IPv4 in the near future. This report first introduces some Internet standards-based IPv6 concepts: the features of IPv6, IPv6 addressing, IPv6 address autoconfiguration. Then it describes proposed transition strategies from IPv4 to IPv6: Dual IP Layer Operation for communication between IPv6 and IPv4 nodes, some proposed tunneling mechanisms for communication of IPv6 islands over IPv4 routing infrastructure, and some other proposed mechanisms such as DSTM, NAT-PT, SOCKS, and BIS.

Finally, this report gives a brief introduction to the IPv6 project in Auburn University. Because of the prevalent use of the names (rather than addresses) to refer to network resources in these days, DNS upgrading is an urgent and important task for the smoothing transition from IPv4 to IPv6, this report gives a brief introduction to the DNS, and detailed description for DNS server setting up and test to support IPv6.

(4)

ACKNOWLEDGMENTS

(5)

TABLE OF CONTENTS

LIST OF FIGURES ...VII

LIST OF TABLES...VIII

1

INTRODUCTION ... 1

1.1

Features of IPv6... 2

1.1.1 Expanded

Addressing

Capabilities ... 2

1.1.2

Scalable Routing and Addressing Infrastructure... 2

1.1.3 Automatic

Configuration ... 3

1.1.4

Header Format Simplification... 3

1.1.5

Flow Labeling Capability... 4

1.1.6 Security ... 4

1.2

IPv6 Addressing... 5

1.2.1

IPv6 Address Allocation and Representation... 5

1.2.2

IPv6 Unicast Addresses ... 7

1.2.3

Multicast IPv6 Addresses...10

1.2.4

Anycast IPv6 Addresses ...12

1.2.5

A Node’s IPv6 Addresses ...13

1.3

Address Autoconfiguration ...14

1.3.1

Stateless Address Autoconfiguration...14

1.3.2 Stateful

Address

Autoconfiguration ...15

2

TRANSITION FROM IPV4 TO IPV6... 16

2.1

Dual IP Layer Operation ...16

2.2

IPv6 over IPv4 Tunneling Mechanisms...20

2.2.1 Configured

Tunneling...21

2.2.2 Automatic

Tunneling ...22

2.2.3 6to4 ...23

2.2.4 6over4 ...24

2.2.5

IPv6 Tunnel Broker ...24

2.2.6

Summary of Transition Mechanisms...25

2.3

DNS and IPv6 ...27

2.3.1

Introduction to DNS and DNS Server ...27

2.3.2

Resource Record in DNS Zone Files...28

2.3.3

DNS to Support IPv6 Addresses Lookup ...30

3

IPV6 PROJECT IN AUBURN... 35

(6)

4

PROJECT REPORT... 37

4.1

IPV6 Ready Test...37

4.2

DNS Setup To Support Both IPv4 and IPv6...38

4.2.1 Package

Build...39

4.2.2 DNS

Setup...41

4.2.3

Put Named into Chroot Jail ...47

4.3

Apache Web Server Setup and Configuration ...49

4.4

System Test ...51

4.4.1

DNS Server Test Script...51

4.4.2

Apache Web Server and Virtual Host Test...53

5

CONCLUSIONS AND FUTURE WORKS ... 55

(7)

LIST OF FIGURES

Figure 1 IPv6 and IPv4 Header Format ...4

Figure 2 IPv6 Aggregatable Global Unicast Address Structure...8

Figure 3 The Site-local Address Format ...10

Figure 4 The IPv6 Multicast Address ...11

Figure 5 The Subnet-Router Anycast Address...13

Figure 6 A Dual IP Layer Architecture...17

Figure 7 The Dual Stack Architecture for the Windows .NET Server 2003 Family...17

Figure 8 DSTM Architecture ...18

Figure 9 NAT-PT Architecture ...19

Figure 10 Using IPv4 Applications over an IPv6 network by BIS...20

Figure 11 6to4 Tunneling Mechanism...24

Figure 12 Tunnel Broker Model...25

Figure 13 Resource Record Components...29

Figure 14 Screen Capture for www.ipv6.auburn.edu ...54

(8)

LIST OF TABLES

Table 1 Current Allocation of the IPv6 Address Space ...6

Table 2 Special IPv6 Addresses ...7

Table 3 Defined Values for the Scope Field ...11

Table 4 Summary and Comparison of different transition mechanisms ...26

Table 5 Resource Record Type List ...29

(9)

1 INTRODUCTION

In 1993, based on a concern that the Internet address space would soon be exhausted, the Internet Engineering Task Force (IETF) created the Internet Protocol Next Generation (IPNG) work group to study and recommend a next generation Internet protocol IPv6. IPv6 means IP version 6, it is selected to supersede the current IP version (IPv4). IPv6 is designed to address several problems: running out of IPv4 addresses; support streaming sources (flows), such as audio, video etc.; improve router efficiency and so on.

IPv4 has not been substantially changed since RFC 791 was published in 1981. IPv4 is robust, easily implemented and interoperable, and has stood the test of scaling an Internet to a global utility the size of today’s Internet. However, since the recent exponential growth of the Internet, IPv4 addresses have become relatively scarce. The IPv4 address space can theoretically support about 4 billion hosts, but because of the hierarchical structure imposed by the routing system, lots of addresses are being wasted. At the same time, another problem has been caused by not having enough structure. Since an IPv4 network (class A, B or C) can be located anywhere in the world, backbone routers must maintain a record for every active network. This leads to the huge size of routing tables in the "core gateways", and is on the way to exhausting the maximum table capacity of these routers. Obviously IPv4 was never intended for the Internet that we have today, either in terms of the numbers of hosts, types of applications, or security concerns [1][2].

(10)

these enhancements extended the useful lifetime of IPv4. Nevertheless, despite the enhancements to IPv4, it is estimated the IPv4 address space will be exhausted by year 2010. Nomadic personal computing devices, network entertainment, mobile devices, and device control may possibly drive the next phase of the Internet growth. These systems all have the characteristic that they are expected to be extremely large in number. Growth of these markets will drive the need and use of IPv6 [3][5][6].

1.1 Features of IPv6

Growth is the basic issue that asked the need for IPv6. IPv6 is designed as an evolution from IPv4 rather than a radical change. IPv6 carries over useful features of IPv4 and drops its less useful features. The following are the primary features of the IPv6 protocol: [1][2][4][7]

1.1.1 Expanded Addressing Capabilities

The address size is increased 4 times from 32 bits to 128 bits in IPv6, allowing more nodes and more levels of addressing hierarchy. A 128-bit address space allows for 2128 (about 3.4×1038)

possible addresses. It also means about 6.5×1023 addresses for every square meter of the Earth’s

surface, or about 1030 addresses per person on the planet.

IPv6 allows multiple IP address for a single network interface, so it also makes it possible for simpler auto-configuration of addresses. Even though only a small number of the possible addresses are currently allocated for use by hosts, there are plenty of addresses available even for foreseeable future use. This address space is more enough to connect all of a company's equipment (e.g., computers, printers, pagers) to the Internet without address conflicts.

1.1.2 Scalable Routing and Addressing Infrastructure

(11)

The IPv6 routing option makes it possible for a mixture of "loose" and strict source routing in a single packet. In "loose" routing, only nodes that must be traversed are defined in a path, it allows other unmentioned node between these points to be traversed. In "strict" routing, an exact path is defined, a packet must follow the defined points step by step, and any unmentioned hops are illegal. In IPV6, multicast addresses are more flexible and powerful; we can define different scope to multicast addresses and make it more efficient and scalable in multicast group routing. Broadcast is no more supported and multicast in IPv6 replaces it.

1.1.3 Automatic Configuration

Network addresses management is not an easy job for network administration of a large network. There are some solutions such as Dynamic Host Configuration Protocol (DHCP) for IPv4. In IPv6, however, things can be even simpler. IPv6 supports stateless address configuration, in which, an IPv6 node can obtain its IPv6 address (called site-local addresses) by combining a network prefix that it learns from a local router with its layer-2 MAC address in the absence of a DHCP server. Even in the absence of a router, hosts on the same link can automatically configure themselves with link-local addresses and communicate with each other without any manual configuration. This greatly simplifies the assignment of a complex address space and is touted as a major advantage or feature of IPv6. IPv6 also supports stateful automatic configuration, namely hosts can get their IPv6 addresses through DHCPv6 (IPv6 version of DHCP) server. Address configuration is more flexible in IPv6. Stateful and stateless automatic configuration can be applied to IPv6 host simultaneously, since different IPv6 addresses can be assigned to the same network interface. Autoconfiguration, together with multiple prefixes in IPv6 also make network renumbering much easier.

1.1.4 Header Format Simplification

The IPv6 header has a new format that is designed to keep header overhead to a minimum. The IPv6 header is simpler and far more streamlined than that of IPv4, as shown in figure 1 [4]. All

(12)

currently, including Fragment and Authentication Encapsulating Security Payload extension. Generally, routers do not examine extension headers as the packet is forwarded so they reduce packet processing time and bandwidth consumption.

Figure 1 IPv6 and IPv4 Header Format

IPv6 headers and IPv4 headers are not interoperable. A host or router must use an implementation of both IPv4 and IPv6 in order to process both header formats.

1.1.5 Flow Labeling Capability

IPv6 defines the concept of a "flow" which identifies a packet as part of a ongoing stream data. Flow labeling allows routers to identify and provide special handling for packets belonging to a flow, it ensures better QOS control and provides better support for real-time traffic such as videoconference. Using a flow label, a router can know which end-to-end flow a packet belongs to, and then find out the packets that belong to real-time traffic. The flow label field is in the IPv6 header, so support for QOS can be achieved even when the packet payload is encrypted through IPSec.

1.1.6 Security

(13)

includes security, so support for IPSec is an IPv6 protocol suite requirement. Extensions to support security options, authentication, data integrity, and data confidentiality are built into IPv6. Those extension headers related to security include packet encryption (Encapsulated Security Payload), and source authentication (Authentication Header).

1.2 IPv6

Addressing

As in IPv4, IPv6 addresses are assigned to interfaces, not computer hosts. In IPv6, one interface can have multiple addresses. Renumbering in IPv6 is designed to happen, so renumbering to IPv6 is much easier than to IPv4.

IPv6 addresses can be divided into three types: unicast IPv6 addresses, multicast IPv6 addresses and anycast IPv6 addresses. A unicast address is for a single interface, and some special addresses are also assigned out of the unicast address space. A multicast address is for a set of interfaces that are on the same physical medium. When a packet is sent to a multicast address, the packet is sent to all of the interfaces associated with the multicast address. An anycast address is for a set of interfaces on different physical mediums. A packet sent to an anycast address is only received by one of the interfaces associated with this address (namely the nearest interface) [4].

IPv6 unicast and multicast addresses support scope. There are several types of scope for IPv6 unicast addresses: global scope addresses, link-local addresses and site-local addresses. IPv6 multicast addresses also support many different types of scope, including node scope, link scope, site scope, organization scope, and global scope. Currently, there are no broadcast addresses in IPv6. All types of IPv4 broadcast addressing are replaced in IPv6 by using multicast addresses.

1.2.1 IPv6 Address Allocation and Representation

(14)

Allocation FP & Size FP range in Hex

Reserved 0000 0000 (1/256) 0000-00FF

Unassigned 0000 0001 (1/256) 0100-01FF

Reserved for NSAP allocation 0000 001 (1/128) 0200-03FF

Unassigned 0000 010 (1/128) 0400-05FF

Unassigned 0000 011 (1/128) 0600-07FF

Unassigned 0000 1 (1/32) 0800-0FFF

Unassigned 0001 (1/16) 1000-1FFF

Aggregatable global unicast addresses 001 (1/8) 2000-3FFF

Unassigned 010 (1/8) Unassigned 011 (1/8) Unassigned 100 (1/8) Unassigned 101 (1/8) Unassigned 110 (1/8) 4000-DFFF Unassigned 1110 (1/16) E000-EFFF Unassigned 1111 0 (1/32) F000-F7FF Unassigned 1111 10 (1/64) F800-FBFF Unassigned 1111 110 (1/128) FC00-FDFF Unassigned 1111 1110 0 (1/512) FE00-FE7F

Link-local unicast addresses 1111 1110 10 (1/1024) FE80-FEBF

Site-local unicast addresses 1111 1110 11 (1/1024) FEC0-FEFF

Multicast addresses 1111 1111 (1/256) FF00-FFFF

Table 1 Current Allocation of the IPv6 Address Space

This allocation supports the direct allocation of different scope aggregation addresses, multicast addresses. More address space (85%) is unassigned. In the future, this space can be used for expansion of existing address types, or address types for new purposes.

(15)

where the 'x's are the hexadecimal values of the six high-order 16-bit pieces of the address, and the 'd's are the decimal values of the four low-order 8-bit pieces of the address. This form is used in situations such as IPv4-mapped IPv6 address or IPv4-compatible IPv6 address and so on. In a URL, an IPv6 address is enclosed in brackets, for example http://[2001:468:364:408b:210:4bff:fe9c:5c5]:80/index.html. Parsers have to be modified or upgraded to recognize IPv6 addresses [1][4].

1.2.2 IPv6 Unicast Addresses

IPv6 unicast addresses are aggregatable with contiguous bit-wise masks similar to IPv4 addresses under CIDR (classless Interdomain Routing). There are several forms of unicast address assignment in IPv6, and additional address types can be defined in the future.

IPv6 Special Unicast Addresses

There are some special Unicast Addresses assigned. Unspecified address 0:0:0:0:0:0:0:0 and

Special address Representation Comments

Localhost address ::1 To identify the interface itself, equivalent to loopback address 127.0.0.1 in IPv4

Unspecified address

:: Equivalent to the IPv4 unspecified address 0.0.0.0. It is used as a placeholder when no address is available. For example used as source address in initial DHCP request and Duplicate address detection. It can’t be assigned to an interface or used as a destination address.

IPv4-mapped IPv6

address ::ffff:a.b.c.d/96 a.b.c.d stands for the IPv4 address. It is used to represent an IPv4-only node to an IPv6 node. It is used only for internal representation. The IPv4-mapped address is never used as a source or destination address of an IPv6 packet. [1]

IPv4-compatible address

::a.b.c.d/96 a.b.c.d stands for the IPv4 address. It is used in automatic tunneling by IPv6/IPv4 nodes that want to transfer IPv6 packets over IPv4 routing infrastructure. 6to4 address 2002:a.b.c.d/48 a.b.c.d stands for the IPv4 address, it is used for

tunneling between two nodes running both IPv4 and IPv6 over an IPv4 routing infrastructure

Table 2 Special IPv6 Addresses

loopback address ::1 are assigned out of the 0000 0000 address space. Special IPv6 addresses also include some addresses defined to aid in the migration from IPv4 to IPv6, such as IPv4-compatible address, IPv4-mapped address, 6to4 address. Table 2 shows these special IPv6 addresses [1][10].

(16)

Aggregatable global unicast addresses, also known as global addresses are identified by the FP of 001 and are equivalent to public IPv4 addresses. They are globally routable and reachable on the IPv6 portion of the Internet.

A unicast address is designed to support both the current provider-based aggregation and a new type of exchange-based aggregation. The combination will allow efficient routing aggregation for sites that connect directly to providers and for sites that connect to exchanges. Sites will have the choice to connect to either type of aggregation entity. The fields within the aggregatable global unicast address also create a three-level structure as shown in Figure 2: public topology, site topology, and interface identifier [1][4][11]. The aggregatable global unicast address structure is also

shown in Figure 2. The fields in the aggregatable global unicast address are:

Figure 2 IPv6 Aggregatable Global Unicast Address Structure FP: Format Prefix (for aggregatable global unicast addresses is 001)

TLA ID: Top-Level Aggregation Identifier, size of the field is 13 bits, RES: Reserved for future use, size of the field is 8 bits,

NLA ID: Next-Level Aggregation Identifier, size of the field is 24 bits, SLA ID: Site-Level Aggregation Identifier, size of the field is 16 bits, Interface ID: Interface Identifier, size of the field is 64 bits.

TLA ID – The Top-Level Aggregation Identifier is the top level in the routing hierarchy.

Default-free routers must have a routing table entry for every active TLA, and will probably have additional entries providing routing information for the TLA ID in which they are located. A 13-bit field TLA ID allows up to 8,192 different TLA IDs. The routing topology at all levels is designed to minimize the number of additional entries fed into the default free routing tables.

FP TLA ID RES NLA ID SLA ID Interface ID

Interface Identifier

Public Topology Site

Topology

(17)

Additional TLA ID's may be added by either growing the TLA field to the right into the reserved field or by using this format for additional format prefixes.

RES – The Reserved field is 8 bits reserved for future use in expanding the size of either the

TLA ID field or the NLA ID field. At this time, it must be set to zero.

NLA ID - The Next-Level Aggregation Identifier field is used by organizations assigned a TLA

ID to create an addressing hierarchy and to identify sites. Each organization assigned a TLA ID receives 24 bits of NLA ID space. The NLA ID allows an ISP to create multiple levels of addressing hierarchy within a network to both organize addressing and routing for downstream ISPs and identify sites. The structure of the ISP’s network is invisible to the default-free routers. For example, the organization can assign the top part of the NLA ID in a manner to create an addressing hierarchy appropriate to its network. It can use the remainder of the bits in the field to identify sites it wishes to serve. This NLA ID space allows each organization to provide service to approximately as many organizations as the current IPv4 Internet can support total networks. The combination of the 001 FP, the TLA ID, and the NLA ID form a 48-bit prefix that is assigned to an organization's site that is connecting to the IPv6 portion of the Internet.

SLA ID - The Site-Level Aggregation Identifier field is used by an individual organization to

create its own local addressing hierarchy and to identify subnets within its site. This is analogous to subnets in IPv4 except that each organization has a much greater number of subnets. The organization can use these 16-bit SLA ID within its site to create 65,536 subnets or multiple levels of addressing hierarchy and an efficient routing infrastructure. The structure of the customer’s network is not visible to the ISP. Organizations may choose to either route their SLA ID "flat" (no more logical relationship between the SLA identifiers and results in larger routing tables), or to create a two or more level hierarchy (that results in smaller routing tables) in the SLA ID field.

Interface ID – Interface ID is used to identify interfaces on a link or a specific subnet. They are

(18)

Local-Use IPv6 Unicast Addresses

There are two types of local-use unicast addresses defined. They are link-local addresses and site-local addresses.

Link-local addresses are used for addressing on a single link for purposes such as auto-address configuration, neighbor discovery when no routers are present. They are identified by the FP of 1111 1110 10. On a single link IPv6 network with no router, link-local addresses are used to communicate between hosts on the same link. The scope of a link-local address is the local link. A link-local address is required for neighbor discovery processes and is always automatically configured, even in the absence of all other unicast addresses. The prefix for link-local addresses is always FE80::/64. An IPv6 router must not forward any packets with link-local source or destination addresses beyond the link.

Site-local addresses are used for addressing inside of a site without the need for a global prefix. They are identified by the FP of 1111 1110 11. The scope of a site-local address is within the site. Site-local addresses are configured either through stateless or stateful address configuration processes. Site-local addresses have the format shown in figure 3:

Figure 3 The Site-local Address Format

The first 48 bits are always fixed for site-local addresses, beginning with FEC0::/48. And they share the same structure with the aggregatable global unicast address beyond the first 48 bits of the address. So a subnetted routing infrastructure can be created and used for both site-local and aggregatable global unicast addresses.

1.2.3 Multicast IPv6 Addresses

An IPv6 multicast address is an identifier for a group of nodes. A node may belong to any number of multicast groups. IPv6 multicast addresses have the FP of 1111 1111, so it always begins with “FF”. Multicast addresses cannot be used as source addresses or as intermediate destinations in

1111 1110 11 0000…000

Subnet ID Interface ID

(19)

1111 1111 Flags

Scope Group ID

8 bits 4 bits 4 bits 112 bits

a Routing header. Multicast addresses have the format shown in Figure 4. The fields in the multicast address are FP (which is 1111 1111), Flags, Scope, and Group ID.

Figure 4 The IPv6 Multicast Address

Flags – the field of Flags indicates flags set on the multicast address. The size of this field is 4

bits. Currently, the only flag defined is the fourth bit: Transient (T) flag. The high-order 3 flags are reserved, and must be initialized to 0. When the T flag is set to 0, it indicates that the multicast address is a permanently assigned (well-known) multicast address allocated by the Internet Assigned Numbers Authority (IANA). When set to 1, it indicates that the multicast address is a transient (non-permanently-assigned) multicast address.

Scope – the field of scope is also 4 bits in size. The multicast scope value is used to limit the

scope of the multicast group. In addition to information provided by multicast routing protocols, routers use the multicast scope to determine whether multicast traffic can be forwarded.

Table 3 lists the values for the Scope field defined in [10].

Value Scope

0 Reserved

1 Node-local

scope

2 Link-local

scope

5 Site-local

scope

8 Organization-local

scope

E Global

scope

F Reserved

3,4,6,7,9,A,B,C,D Unassigned

Table 3 Defined Values for the Scope Field

Multicast addresses from FF01:: through FF0F:: are reserved, well-known addresses. For example, traffic with the multicast address of FF02::2 has a link-local scope. An IPv6 router never forwards this traffic beyond the local link.

Group ID - Identifies the multicast group, either permanent or transient. It is unique within the

(20)

node as the sender. FF02:0:0:0:0:0:0:101 means all the NTP servers on the same link as the sender. FF05:0:0:0:0:0:0:101 means all the NTP servers at the same site as the sender.

Different from permanently assigned group IDs, transient group IDs are only relevant to a specific scope and are meaningful only within the given scope. For example, a group identified by the non-permanent, site-local multicast address FF15:0:0:0:0:0:0:101 at one site has no relationship to a group using the same address at a different site, nor to a non-permanent group using the same group ID with different scope, nor to a permanent group with the same group ID.

Multicast addresses must not be used as source addresses in IPv6 packets or appear in any routing header.

There are several useful multicast addresses. For example, To identify all nodes for the node-local and link-local scopes, the following multicast addresses are defined: FF01::1 (node-local scope all-nodes multicast address) and FF02::1 (link-local scope all-nodes multicast address). To identify all routers for the node-local, link-local, and site-local scopes, the following multicast addresses are defined: FF01::2 (node-local scope all-routers multicast address), FF02::2 (link-local scope all-routers multicast address), and FF05::2 (site-local scope all-routers multicast address).

1.2.4 Anycast IPv6 Addresses

An IPv6 anycast address is assigned to more than one interface (typically belonging to different nodes). Packets addressed to an anycast address are forwarded by the routing infrastructure to the nearest interface to which the anycast address is assigned. Anycast addresses are allocated from the unicast address space, using any of the defined unicast address formats .In order to facilitate delivery, the routing infrastructure must be aware of the interfaces assigned anycast addresses and their “distance” in terms of routing metrics. There is little experience with widespread, arbitrary use of Internet anycast addresses. At present, anycast addresses are only used as destination addresses and are only assigned to routers.

(21)

format of the subnet-router anycast address [1][10].

Figure 5 The Subnet-Router Anycast Address

All router interfaces attached to a subnet are assigned the subnet-router anycast address for that subnet. The subnet-router anycast address is used for communication with one of multiple routers attached to a remote subnet.

1.2.5 A Node’s IPv6 Addresses

An IPv4 host with a single network adapter typically has a single IPv4 address assigned to that adapter. An IPv6 host, however, usually has multiple IPv6 addresses - even with a single interface. A typical IPv6 host is required to recognize the following addresses as self-identification. [9][10]

• A link-local Address for each interface

• Assigned unicast addresses (which could be a site-local address and one or multiple aggregatable global unicast addresses) for each interface

• The loopback address (::1) for the loopback interface

• All-node multicast addresses

• Solicted-node multicast address for each unicast address on each interface

• Multicast addresses of all other groups to which the host belongs

Typical IPv6 hosts are logically multihomed because they have at least two addresses with which they can receive packets-- a link-local address for local link traffic and a routable site-local or aggregatable address.

As a router, it is required to recognize all addresses that a host is required to recognize. In addition, an IPv6 router also must be able to recognize the following addresses to identify itself.

• The subnet-router anycast addresses for the interfaces it is configured to act as a router on.

• All other anycast addresses with which the router has been configured.

Subnet Prefix 000…000

(22)

• All-routers multicast addresses

• Multicast addresses of all other groups to which the router belongs.

1.3 Address

Autoconfiguration

One of most useful features of IPv6 is its ability to configure itself even without the use of a stateful protocol such as DHCP server as in IPv4. In IPv6, equipment newly added to a network can automatically configuring its network addresses. Any IPv6 host can obtain its link-local, site-local and global addresses via stateless address with no manual configuration of hosts, minimal (if any) configuration of routers, and no need for additional servers. IPv6 allows a host to generate its own addresses using a combination of locally available information and information advertised by routers

[1][12].

IPv6 also supports stateful address autoconfiguration mechanism. The above-mentioned stateless address autoconfiguration approach is used when a site is not particularly concerned with the exact addresses the hosts use, so long as they are unique and properly routable. The stateful approach is used when a site requires tighter control over exact address assignments. In IPv6, Both stateful and stateless address autoconfiguration may be used simultaneously.

1.3.1 Stateless Address Autoconfiguration

(23)

parameters. If routers are present, routers will send Advertisements contains prefix Information options that contain information used by stateless address autoconfiguration to generate site-local and global IPv6 addresses, and other configure parameters. For safety, all addresses must be tested for uniqueness prior to their assignment to an interface [12].

1.3.2 Stateful Address Autoconfiguration

Stateful configuration is based on the use of a stateful address configuration protocol to obtain addresses and other configuration options. It offers the capability of automatic allocation of reusable network addresses and additional configuration flexibility. A host will use a stateful address configuration protocol when there are no routers present on the local link or when it receives Router Advertisement Messages without prefix options. A new protocol, Dynamic Host Configuration Protocol for IPv6 (DHCPv6) is one way to perform stateful autoconfiguration. In some documents, stateful autoconfiguration means the configuration that the IPv6 addresses and other configuration parameters are obtained through DHCPv6 server. DHCPv6 is the IPv6 equivalent of DHCP in IPv4. It is used to pass out addressing and service information in the same way that DHCP is used in IPv4. This is “stateful” because the DHCP server and the client must both maintain state information to keep addresses from conflicting, to handle leases, and to renew addresses over time. DHCPv6 is not yet standardized, although there are several drafts available, which are expected to move to proposed standard status shortly [13].

(24)

2 TRANSITION FROM IPV4 TO IPV6

Because of the huge size and coverage of the Internet, it is expected that the transition from IPv4 to IPv6 will need a long time. It is impossible to expect a fast, centrally coordinated cutover. So it is very import to maintaining compatibility with IPv4 while deploying IPv6 and transitioning the Internet to IPv6. The key to a successful IPv6 transition is how to maintain compatibility of IPv6 equipment with the large installed base of IPv4 hosts and routers. The coexistence of both IPv4 and IPv6 must be arranged in a practical and simple way.

For smooth, stepwise and independent transition, a set of techniques has been specified. They implement mechanisms for the true internetworking, coexistence, easy address mapping and name service migration. To allow seamless interoperation, all hosts running IPv6 must still be able to communicate with the IPv4 hosts. The IETF specifications for IPv6 contain a lot of information concerning the transition issues. [15][24][25] Lots of transition mechanisms are proposed, most of them

are related with

• Communication between IPv4 and IPv6 nodes

• Connecting IPv6 islands isolated in the IPv4 world.

The basic transition mechanisms for IPv6 hosts and routers including Dual IP Layer Operation and IPv6 over IPv4 Tunneling. Dual stack nodes will be able to interoperate directly with both IPv4 and IPv6 nodes. Tunnel mechanisms provide ways about how IPv6 islands can communicate with each other over the cloud of IPv4 infrastructure.

2.1 Dual IP Layer Operation

In order that IPv6 and IPv4 nodes can communicate with each other, the most straightforward way for IPv6 nodes is to provide a complete IPv4 implementation. Dual IP layer operation provides complete support for both IPv4 and IPv6 in hosts and routers, as shown in figure 6 [20]. By providing

(25)

tunneling techniques.

Figure 6 A Dual IP Layer Architecture

There are some variations to the dual IP layer operation mechanism. The IPv6 protocol for the Windows .NET Server 2003 family is such an example. The IPv6 protocol driver, Tcpip6.sys, also contains a separate implementation of TCP and UDP and is sometimes referred to as a dual-stack implementation. Figure 7 shows the dual stack architecture of the IPv6 protocol for the Windows .NET Server 2003 family [20].

Figure 7 The Dual Stack Architecture for the Windows .NET Server 2003 Family

(26)

those IPv6/IPv4 nodes can acquire their IPv4 addresses by using IPv4 mechanisms such as DHCP, or acquire their IPv6 addresses by IPv6 protocol mechanisms such as stateless address autoconfiguration or DHCP v6. For Dual Nodes, the Domain Naming System (DNS) must provide a resolver library capable of dealing with the IPv4 “A” records as well as new records type for IPv6. So the Domain Name System will be an important component during the transition process to support both IPv4 and IPv6.

Apparently, the Dual IP approach brings about some inconvenience. It has some drawbacks and may cause some problem. For example, Dual IP has the need to maintain a multi-protocols, it may introduces more instability and workload to an administrator. In addition, each Dual IP host needs an IPv4 address, so the use of this mechanism will not be possible if the address space of IPv4 is exhausted to the point that new addresses can no longer be assigned. Several solutions are proposed to relieve these problems, for example, DSTM [23] and some translation type transition mechanisms

NAT-PT[21], SOCKS[18], and BIS[22] and so on.

• DSTM (the Dual Stack Transition Mechanism): DSTM proposes to use the dual stack IP approach. With DSTM, IPv4 addresses are assigned dynamically only when needed. So the use of IPv4 global addresses is reduced. DSTM is targeted to help the interoperation of IPv6 newly deployed networks with existing IPv4 networks. Figure 8 is the architecture shows how DSTM works [26].

Figure 8 DSTM Architecture

(27)

IPv4 address, and the DSTM server then will reserve one for the IPv6 host. And also tell the IPv6 host information about the DSTM gateway. Following this message exchange, IPv6 host can configures its IPv4 stack with the allocated address, and from now on, all IPv4 packets from the host are tunneled to the DSTM gateway.

• NAT-PT (Network Address Translator – Protocol Translator): As shown in figure 9 [44], a

NAT-PT device resides at the borders between an IPv6 and IPv4 network. It makes address and protocol translation at the IP level. NAT-PT allows native IPv6 hosts to communicate with native IPv4 hosts and vice versa. Similar to DSTM, NAT-PT allocates an IPv4 pool addresses to identify the IPv6 hosts and handles the mapping of the IPv4 pool address to the IPv6 host. In addition, header translation is also performed by NAT-PT.

Figure 9 NAT-PT Architecture

In NAT-PT, the communication between IPv6 and IPv4 relays on a NAT box that translates between IPv4 and IPv6. So NAT-PT will cause performance degradation, and the NAT-PT device is a single point of failure. NAT-PTs are just a temporary solution. The NAT-PT box may be removed after the transition has been completed.

(28)

SOCKS Server using the Full Qualified Domain Name (FQDN) of the IPv6 host. The SOCKS Server resolves the FWDN to an IPv6 address and sends a fake IPv4 address back to IPv4 host. So two connections are established: one connection between the IPv4 host with SOCKS Server, and the other connection between the SOCKS Server and the IPv6 host. However, all these processes are invisible to applications, since they make socket calls with the usual socket API [18].

• BIS (Bump in the Stack): BIS allows the hosts to communicate with other IPv6 hosts using existing IPv4 applications. It is highly desirable since the low availability of existing IPv6 applications. As shown in Figure 10 [44], BIS inserts modules into the hosts. The modules snoop

the data flowing between a TCP/IPv4 module and network card driver modules and translate the IPv4 into IPv6 and vice versa, to act as translators, like NAT-PT implemented within the host. When they communicate with the other IPv6 hosts, pooled IPv4 addresses are assigned to the IPv6 hosts internally, but the IPv4 addresses never flow out from them. Moreover, since the assignment is automatically carried out using DNS protocol, users do not need to know whether target hosts are IPv6 ones or not. Through BIS, existing IPv4 applications can communicate with IPv6 hosts (looking like they were dual stack hosts for both IPv4 and IPv6). BIS expands the territory of dual stack hosts. BIS can co-exist with other translators because their roles are different.

Figure 10 Using IPv4 Applications over an IPv6 network by BIS

2.2 IPv6 over IPv4 Tunneling Mechanisms

(29)

islands isolated in the IPv4 world. All of these rely on tunnels. A tunnel is a link between two IPv4 end-points that must be configured by specifying the IPv6 destinations for which the packets are to be encapsulated, and the remote IPv4 end-point to which they must be sent.

The IPv6 routing infrastructure will be built up over time. While the IPv6 infrastructure is being deployed, the existing IPv4 routing infrastructure can be used to carry IPv6 traffic. IPv6 nodes (or networks) that are separated by IPv4 infrastructures can build a virtual link by configuring a tunnel. Tunneling provides a way to make use of IPv4 routing infrastructure to carry IPv6 traffic. IPv6/IPv4 dual nodes can tunnel datagrams over regions of IPv4 routing topology by encapsulating IPv6 packets within IPv4 packets.

Tunneling can be used in a variety of ways: Router-to-Router, Host-to-Router, Host-to-Host, and Router-to-Host. The first two tunneling methods listed above are called "configured tunneling, the endpoint of this type of tunnel is an intermediary router. When tunneling to a router, the endpoint of the tunnel is different from the destination of the packet being tunneled. Since the addresses in the IPv6 packet being tunneled cannot provide the IPv4 address of the tunnel endpoint, the tunnel endpoint address is determined from configuration information on the node performing the tunneling. The last two tunneling methods are called "automatic tunneling". In automatic tunneling, the IPv6 packet is tunneled all the way to its final destination. In this case, the destination address of both the IPv6 packet and the encapsulating IPv4 header identify the same node. This fact can be exploited by encoding information in the IPv6 destination address that will allow the encapsulating node to determine the IPv4 address of the tunnel endpoint automatically[15]. Other tunneling

mechanisms including 6over4, 6to4 and tunnel broker. They are described in more detail in the following paragraphs.

2.2.1 Configured Tunneling

(30)

determination of which packets to tunnel is usually made by routing information on the encapsulating node. This is usually done via a routing table, which directs packets based on their destination address using the prefix mask and match technique. In the simplest case, the network administrator configures tunnels manually by agreement with the administrator of the network where the remote IPv4 end-point resides. Most of the interconnections between IPv6 networks used in the worldwide www.6bone.com are initially set up through manually configured tunneling.

However, having to deal with large numbers of tunnels is necessary for interconnections between IPv6 and IPv4. Configured tunneling will cause an enormous administrative workload for network managers and makes it necessary to deploy automatic tunneling configuration mechanisms. A number of other tunneling mechanisms also have been proposed, such as 6over4, 6to4, tunnel broker, and so on.

2.2.2 Automatic Tunneling

IPv6/IPv4 nodes that perform automatic tunneling are assigned an IPv4-compatible address. IPv4-compatible addresses are assigned exclusively to nodes that support automatic tunneling. A node should be configured with an IPv4-compatible address only if it is prepared to accept IPv6 packets destined to that address encapsulated in IPv4 packets destined to the embedded IPv4 address. In automatic tunneling, the tunnel endpoint address is determined from the packet being tunneled. If the destination IPv6 address is IPv4-compatible, then the packet can be sent via automatic tunneling. If the destination is IPv6-native, the packet cannot be sent via automatic tunneling.

A routing table entry can be used to direct automatic tunneling. An implementation can have a special static routing table entry for the prefix 0:0:0:0:0:0/96. (That is, a route to the all-zeros prefix with a 96-bit mask.) Packets that match this prefix are sent to a pseudo-interface driver that performs automatic tunneling. Since all IPv4-compatible IPv6 addresses will match this prefix, all packets to those destinations will be auto-tunneled.

(31)

and the source IPv4 address is the IPv4 address of interface the packet is sent via. The automatic tunneling module always sends packets in this encapsulated form, even if the destination is on an attached datalink.

This mechanism is proposed in [15], it was not widely accepted, as the fact that it calls for importing IPv4 routing tables into the IPv6 routing infrastructure effectively precludes optimal hierarchical routing, and it can be used only between individual hosts.

2.2.3 6to4

6to4 is an optional method of connecting IPv6 domains via IPv4 clouds. The objective of this method is to allow isolated IPv6 sites (or hosts), which are attached to an IPv4 network which has no native IPv6 support, to communicate with other IPv6 domains. As shown in Figure 11 [45], the router

(32)

Figure 11 6to4 Tunneling Mechanism

2.2.4 6over4

The 6over4 mechanism [28] allows isolated IPv6 hosts, located on a physical link, with no

directly connected IPv6 router, to become fully functional IPv6 hosts. 6over4 uses an IPv4 domain that supports IPv4 multicast as a virtual local link.

6over4 provides a solution to scenarios where a number of IPv6 hosts are scattered around in an IPv4 domain, and none of them have a direct IPv6 connectivity. The hosts themselves perform the tunneling. By providing a router with a native IPv6 connection, which also understands 6over4, the 6over4 hosts can also connect to native IPv6 hosts, whereby IPv6 packets can be automatically encapsulated over an IPv4 network.

6over4 relies on the existence of an underlying IPv4 domain that supports multicast, this solution poses scalability problems, and is hampered by the fact that the IP multicast service is not yet generally available on the Internet. For these reasons, it is an effective solution only for corporate or campus networks which support IP multicast

2.2.5 IPv6 Tunnel Broker

This approach involves using dedicated servers which automatically configure tunnels on behalf of users. It is a mechanism aims to allow people to try out IPv6 without any need of special or dedicated routing infrastructure [27].

(33)

request, the tunnel broker assigns an IPv6 address to the isolated host from its address space, updates the DNS automatically, sends a configuration order to the tunnel server, and sends back a script to requestor. The tunnel server establish a tunnel from the IPv6-only network to the requesting host, and running the script on the requesting hosts establish the tunnel in the reverse way [18].

Figure 12 Tunnel Broker Model

This technique is particularly suitable for connections between small users (i.e., the traditional users of dial-up Internet connectivity) and an IPv6 Service Provider.

2.2.6 Summary of Transition Mechanisms

(34)
(35)

2.3 DNS and IPv6

A Domain Name System (DNS) infrastructure is needed for successful transition from IPv4 to IPv6 and successful coexistence of them, because of the prevalent use of names (rather than addresses) to refer to network resources. DNS upgrading should be done in the earlier phase during the transition from IPv4 to IPv6. Upgrading the DNS infrastructure consists of populating the DNS servers with records to support IPv6 name-to-address and address-to-name resolutions.

2.3.1 Introduction to DNS and DNS Server

The DNS has three major components: the Domain Name Space and Resource Records, Name Servers, and Resolvers [33].

The Domain Name and Resource Records are the hierarchical, distributed tree structured database. It stores information for mapping Internet host names to IP addresses and vice versa. The data stored in the DNS is organized as tree and identified by domain names according to organizational or administrative boundaries. Conceptually, each node and leaf of the domain name space tree names a set of information. A DNS domain is a branch under the node. For administrative purposes, the name space is partitioned into areas called zones, each starting at a node and extending down to the leaf node or to nodes where other zones start. Zone and domain are important concept in DNS and they are different. A zone is a point of delegation in the DNS tree, and consists of contiguous portions of the DNS domain tree for which the DNS server has authoritative. A DNS domain is a branch of the namespace, a domain can be subdivided into several partitions and each partition can be a zone. A zone can also contain information of multiple domains.

Resolvers are programs that extract information from name servers in response to client requests. Clients look up information in the DNS by calling a resolver library, which sends queries to one or more name servers and interprets the responses.

(36)

the answer. When queried, DNS servers can provide the requested information, or provide a pointer to another server that can help resolve the query, or reply with some error message.

We have several types of DNS servers. If a DNS server contains the complete data for a zone, it is called an authoritative DNS server for this zone. Most zones have more than one authoritative servers to make the DNS tolerant of server and network failure. An authoritative server can further be divided into primary master server and slave servers. The primary master server maintained the master copy of the zone data, it loads the zone contents from some local file which is edited by humans or perhaps generated mechanically from some other local file which is edited by humans, and this file is called the master file. Slave servers load the zone contents from another server using a replication process known as a zone transfer. The data can be transferred directly from the primary master or another slave. A slave server may itself act as a master to a subordinate slave server [36].

Different from authoritative servers, caching DNS servers can’t perform the name resolution by themselves. A caching-only server has no zone database, it relies on other name servers to obtain information. After a cache-only server receives information for a query it caches the information and can respond to subsequent queries (for the same name) without querying other name servers. This will shorten the waiting time for the next time significantly, especially if you’re on a slow connection. A caching name server does not necessarily perform the complete name lookup itself. Instead, it can forward all or some of the queries to another caching name server, which is referred as a forwarder. You do not need to perform any special configuration on the computer designated as a forwarder. You must configure the DNS server that needs to forward queries by providing the IP address of the forwarders.

2.3.2 Resource Record in DNS Zone Files

(37)

www.auburn.edu. 14400 IN A 131.204.139.60

Owner name

TTL

Class

Type

RDATA

The components of a Resource Record are: owner name, TTL, type, class, RDATA. The owner name is the domain name where the RR is found. Type specifies the type of the resource record. TTL is the time to live of the RR, it describes how long a RR can be cached before it should be expired. Class identifies a protocol family or instance of a protocol. RDATA shows the type and sometimes class-dependent data that describes the RR. Figure 13 show the components of a Resource Record

[36].

Figure 13 Resource Record Components

There are different types of valid RRs, the often seen ones are types “A”, “CNAME”, “DNAME”, “MX”, “NS”, “PTR”, “SOA”, “TXT”, “A6”, “AAAA” as shown in table 5.

A A host address

CNAME Identifies the canonical name of an alias DNAME For delegation of reverse addresses MX Identifies a mail exchange for the domain NS The authoritative name server for the domain PTR A pointer to another part of the domain name space SOA Identifies the start of a zone of authority

TXT Text records

AAAA Format for IPv6 address, it is depreciated now.

A6 A new format for IPv6 address

Table 5 Resource Record Type List

(38)

Table 6 RDATA for Different Resource Records

2.3.3 DNS to Support IPv6 Addresses Lookup

Resource Record types "AAAA" and "A6" were defined to support IPv6 addresses. For dual IP operation, DNS must provide resolver libraries capable of dealing with IPv4 "A" records as well as IPv6 "AAAA" and "A6" records. The "AAAA" record is a parallel to the IPv4 "A" record. While their use is deprecated; they are useful to support older IPv6 applications. The newer "A6" record is more flexible than the "AAAA" record, and is therefore more complicated. "AAAA" should not be added where they are not absolutely necessary. When a query locates an "A6" or "AAAA" record for IPv6 and "A" record for IPv4, Recognition of a destination host’s version will be the responsibility of the Domain Name Server. DNS has three alternatives when filtering or ordering the query results: return only IPv6 address, Return only IPv4 address, or return both addresses. Depending upon the type or types of records, or in which order returned by resolution of a host name, the source host will create a packet using the appropriate protocol version [29][30].

As in the IPv4 address space, the IPv6 address space needs a “reverse mapping” of IPv6 addresses to DNS names. IPv4 address “reverse mapping” is provided by the IN-ADDR.ARPA domain. IP6.INT and IP6.ARPA domains provide “reverse mapping” of AAAA and A6 type address respectively.

A

For the IN class, a 32 bit IP address.

A6

Maps a domain name to an IPv6 address, with a provision for

indirection for leading "prefix" bits.

CNAME A

domain

name.

DNAME

Provides alternate naming to an entire subtree of the domain name

space, rather than to a single node. It causes some suffix of a queried

name to be substituted with a name from the DNAME record's

RDATA.

MX

A 16 bits preference value (lower is better) followed by a host name

willing to act as a mail exchange for the owner domain.

NS

A fully qualified domain name.

PTR

A fully qualified domain name.

(39)

IP6.INT is a special root domain defined to map an IPv6 address to a host name. An IPv6 address is represented as a name in the IP6.INT domain by a sequence of nibbles separated by dots with the suffix ".IP6.INT". The sequence of nibbles is encoded in reverse order. Each nibble is represented by a hexadecimal digit. For example, the inverse lookup domain name corresponding to the address 2001:765:4321:2:3:4:567:89ab would be [29]:

b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.2.3.4.5.6.7.0.1.0.0.2.IP6.INT.

The use of nibble format is deprecated. The more difficult and now official way of handling IPv6 forward and reverse mapping uses two new record types, A6 and DNAME, and a new domain IP6.ARPA. Actually, the main reason the AAAA record and the IP6.INT reverse-mapping scheme were replaced was because they made network renumbering difficult. For example, if an organization were to change Next-Level Aggregators, it would have to change all the AAAA records in its zone data files since 24 of the bits of an IPv6 address are an identifier for the NLA. Imagine an NLA changing TLAs. This would wreak havoc with its customers' zone data.

To make renumbering easier, A6 records can specify only a part of an IPv6 address, and then refer to the remainder of the address by a symbolic domain name. This allows zone administrators to specify only the part of the address under their control. To build an entire address, a resolver or name server must follow the chain of A6 records from a host's domain name to the TLA ID. And that chain may branch if a site network is connected to multiple NLAs or if an NLA is connected to multiple TLAs.

For example, suppose two different ISP (here means different NLAs) provide service for lab1.subnet1.ipv6.auburn.edu. The A6 record:

$ORIGIN subnet1.ipv6.auburn.edu.

lab1 IN A6 64 ::0210:4bff:fe10:0d24 subnet1.ipv6.auburn.edu.

(40)

subnet1.ipv6.auburn.edu, in turn, specifies the last 16 bits of the 64-bit prefix (the SLA ID) that we

didn't specify in lab1.ipv6.auburn.edu's A6 address as well as the domain name of the next A6 record to look up:

$ORIGIN ipv6.auburn.edu.

subnet1 IN A6 48 0:0:0:1:: nla1.tla1.net. subnet1 IN A6 48 0:0:0:1:: nla2.tla1.net.

The first 48 bits of the prefix in subnet1.auburn.ipv6.edu's record-specific data are set to zero, since they're not significant here. In fact, these records tell us to look up two A6 records next, one at nla1.tla1.net and one at nla2.tla1.net. That's because subnet1 has connections to two NLAs, NLA 1 and NLA 2. In NLA 1's zone, we'd find:

$ORIGIN tla1.net.

nla1 IN A6 0 2001:468:364:: nla1.tla-1.net.

in NLA 2’s zone, we’d find

$ORIGIN tla1.net.

nla2 IN A6 0 2002:468:555:: nla2.tla-1.net.

When lab1.subnet1.ipv6.auburn.edu is looked up, the resolver will find partial A6 records and will use the additional name to find the remainder of the data. By following this chain of A6 records, a name server can assemble all 128 bits of lab1.subnet1.ipv6.auburn.edu's two IPv6 addresses. These turn out to be:

2001:468:364:1: 0210:4bff:fe10:0d24 2001:468:555:1: 0210:4bff:fe10:0d24

(We’re connected to two NLAs for redundancy.) Note that if TLA 1 changes its NLA assignment for NLA 1, it only needs to change the A6 record for nla1.tla1.net in its zone data; the change "cascades" into all A6 chains that go through NLA 1. This makes the management of addressing on IPv6 networks very convenient, and makes changing NLAs easy, too.

(41)

Reverse mapping for A6 in IP6.ARPA domain isn’t so simple as IP6.INT, reverse mapping IPv6 addresses involves DNAME records and bitstring labels.

DNAME records are a little like wildcard CNAME records. Bitstring labels are the other half of the magic involved in IPv6 reverse mapping. They can be looked as simply as a compact way of representing a long sequence of binary (i.e., one-bit) labels in a domain name. If you wanted to permit delegation between any two bits of an IP address, that might compel you to represent each bit of the address as a label in a domain name. Bitstring labels represent IPv6 address as a shorter hexadecimal, octal, binary or dotted-octet string. The string is encapsulated between the tokens "\[" and "]" to distinguish it from a traditional label, and begins with one letter that determines the base of the string: b for binary, o for octal, and x for hexadecimal [30][31][32].

Notice that the most significant bit begins the string, as in the text representation of an IPv6 address, but in the opposite order of the labels in the IN-ADDR.ARPR domain.

Bitstring labels can also represent parts of IPv6 addresses, in which case you need to specify the number of significant bits in the string, separated from the string by a slash.

Together, DNAMEs and bitstring labels are used to match portions of a long domain name that encodes an IPv6 address and to iteratively change the domain name looked up to a domain name in a zone under the control of the organization that manages the host with that IPv6 address.

To handle the reverse lookups of lab1.subnet1.ipv6.auburn.edu In NLA 1’s zone $ORIGIN \[x200104680364/48].ip6.arpa. \[x0001/16] IN DNAME ipv6.rev.auburn.edu. In NLA 2’s zone $ORIGIN \[x200104680555/48].ip6.arpa. \[x0001/16] IN DNAME ipv6.rev.auburn.edu.

And in for Auburn only one zone file to handle both these reverse mappings

$ORIGIN ipv6.rev.auburn.edu.

\[x0210:4bff:fe10:0d24/64] IN PTR lab1.subnet1.ipv6.auburn.edu

(42)

reverse-mapping information, even though each of your hosts has multiple addresses, and of being able to switch NLAs without changing all of the zone data files.

(43)

3 IPV6 PROJECT IN AUBURN

3.1 Introduction to IPv6 Project in Auburn

Auburn University’s Department of Computer Science and Software Engineering and the Auburn University Office of Information Technology are investigating campus deployment of the Internet Protocol Version 6 (IPV6) as an Internet 2 IPv6 initiative. AUNET6 is one of the projects to install, operate, and monitor a pilot IPv6 network on the Auburn University campus. Its goal is to

• Provides experience to understand the integration of IPv4 with IPv6 and immigration issues associated with the deployment of IPv6 technology

• Support wireless and mobile uses of IPv6

• Supports multicast/anycast communications of IPv6

• Provides services required for successful utilization of the IPv6 protocol, such as voice and video applications

• Provides a framework for IPSec-IPV6 security studies

IPv6 addresses are provided to the Auburn campus as part of the University’s Southern Crossroads(Sox) and Internet 2 memberships. Auburn University’s IPv6 SoX connection uses a CISCO 4700 Router. And the initial testing is with a tunnel to SoX. Auburn has been allocated the IPv6 address prefix 2001:0468:0364::/48, the address 2001:0468:0364:65ff::1/64 is reserved for its IPv6 connection to SoX.

(44)

existing subnet number under the old “Class C” scheme used on AU Net. For examples, interfaces on subnet 131.204.27.0 will be given “prefix” 2001:0468:0364:401B/64, 131.204.139.0 will be 2001:0468:0364:408B::/64 (because 0x01B =27, 0x08B =139), etc.

Alternative assignments are being considered for subnet addresses, with assignments made to support a variety of organizational semantics, such as hardware (routers, switches, tunnels, modems), people (faculty, students, administration), buildings, functions (research, education, or administrative needs, wildcards (for wireless or mobile IP, Audio/Video, Multicast), and so on.

Currently the following tasks of the IPv6 project have been completed.

• An IPv6 Routing Plan for Aunet6

• Aunet6 Campus Static IPv6 Testing

• Client/Server IPv6 Network Programming Tests

• Tunnel Testing to Abilene Internet2

• IPv6 DNS Testing for Aunet6

(45)

4 PROJECT REPORT

In order to transit to IPv6, DNS must support 128-bit IPv6 addresses. To setup a test DNS server, and some other application for IPv6, Http2 was installed and tested. All the work was done on Linux 7.3 (kernel version 2.4.18-3) box. The DNS package used was BIND9.2.1; the apache server package used was http2.0.43.

4.1 IPV6 Ready Test

Before one can setup a DNS server for IPV6, one first has to configure the machine, to make it ready for IPv6. [35]

Modern operating system distributions already contain IPv6-ready kernels. For Linux systems, the IPv6 capability is generally compiled as a module. For Linux 7.3 with kernel version 2.4.18-3, it supports IPv6, but sometimes you have to load the IPv6 module. In order to test whether the running kernel supports IPv6:

#test –f /proc/net/if_inet6 && echo “IPv6 ready”

If it fails, you have to load the IPv6 module by

#modprobe ipv6

If this is successful, this module should be listed. The following statement will show if

everything is fine.

#lsmod | grep -w ‘ipv6’ && echo “ipv6 loaded”

In order to automatically load the ipv6 module, add an entry to /etc/modules.conf

alias net-pf-10 ipv6

Information about IPv4 and IPv6 address can be checked as follows:

#ifconfig –a

In an example, for my Linux machine, the following addresses were shown:

IPv4 address: 131.204.139.10

global: 2001:468:364:408b:210:4bff:fe9c:5c5/64 link: fe80::210:4bff:fe9c:5c5/10

(46)

these tools are strongly recommended for debugging and troubleshooting issues. They can aid in providing a diagnosis of network problem very quickly. Currently, all these tools are shipped with the Linux distribution and BIND programs.

4.2 DNS Setup To Support Both IPv4 and IPv6

In order to set up DNS, first make sure you can telnet in and out of the server machine, and make all connections to the net, and especially be able to telnet to the localhost 127.0.0.1. The telnet server was installed from rpm package shipped with the Linux disk, the command is

# rpm -i telnet-server-0.17-20.i386.rpm

Then Create or edit a service file named “telnet” in the /etc/xinetd.d directory, it should be as follows: #File: /etc/xinetd.d/telnet

# default: on

# description: The telnet server serves telnet sessions; it uses # unencrypted username/password pairs for authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no }

To limit access to server programs and improve security, edit /etc/hosts.deny and /etc/host.allow:

#file name: /etc/hosts.deny

# hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided

# by the '/usr/sbin/tcpd' server. ################### 18,Dec.,2002 ALL:ALL EXCEPT localhost:DENY

(47)

#file name: /etc/hosts.allow

# hosts.allow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided by the '/usr/sbin/tcpd' server.

################## 18,Dec.,2002#######################

#all the service program is allowed from 127.0.0.1

#telnetd is allowed from auburn university, it is convenient for me to transfer files

#all service to localhost

ALL: 127.0.0.1

//grant telnet to hosts in auburn university

in.telnetd : 131.204.

####################End of hosts.allow#####################

4.2.1 Package Build

Install OpenSSL first. In most cases, OpenSSL is already installed on the Linux system. However for a newer version, downloaded latest tarball openssl-0.9.6g.tar.gz from www.openssl.org into the directory /usr/local/src/, and extract the tarball

# cd /usr/local/src

# tar -zxvf openssl-0.9.6g.tar.gz

If it succeeds, a new directory will be created /usr/local/src/openssl-0.9.6g. Configure the software:

# cd /usr/local/src/openssl-0.9.6g

#./config -prefix=/usr/local/openssl

Compile it:

#make

Remove all existing Openssl version

# rpm -q -a | grep openssl | while read line

# do

# rpm -e -nodeps $line

# done

Install the new openssl

# make install

Update the library resolutions:

#ldconfig –v

Now everything is ready. To install BIND, download the latest tarball from http://www.isc.org, which was bind-9.2.1.tar.gz in into the src directory /usr/local/src/

(48)

# cd /usr/local/src

# tar -zxvf bind-9.2.1.tar.gz

If it succeeds, then we get a new directory /usr/local/src/bind-9.2.1

Configure the bind

# cd /usr/local/src/bind-9.2.1

# ./configure -prefix=/usr/local/bind \

# -enable-threads \

# -with-libtool \

# -with-openssl = /usr/local/openssl

Compile it:

# make

Remove all existing BIND version

# rpm -q -a | grep ‘^bind’ | while read line

# do

# rpm -e -nodeps $line

Install the new bind

# make install

Update the library resolutions:

#ldconfig –v

To install the apache server http2, download the latest tarball from http://www.apache.org, which is htttpd-2.0.43.tar.gz in the src directory /usr/local/src/

Extract the tarball like:

# cd /usr/local/src

# tar -zxvf httpd-2.0.43.tar.gz

If it succeeds, then we get a new directory /usr/local/src/httpd-2.0.43

Configure the bind

# cd /usr/local/src/httpd-2.0.43

# ./configure -prefix=/usr/local/http2 \

# -enable-threads \

# -with-libtool \

# -with-openssl = /usr/local/openssl

Compile it:

# make

Remove all existing http version

# rpm -q -a | grep ‘^http’ | while read line

# do

# rpm -e -nodeps $line

Install the new bind

# make install

References

Related documents

Local Addresses With Network Prefix •  Unique Local IPv6 Unicast Address. –  Addresses similar to the RFC 1918 / private address like in IPv4 but will

WHEREAS, if the ARTIST'S DESIGN is the winning entry for use on the 2017/2018 STAMP, the ARTIST agrees to the conditions concerning reproduction rights contained in

unlikely that anyone would actually draw a chart massive enough to display chart massive enough to display all 360 letters. However, with the number of letters in the alphabet being

Ethernet Interface Settings/Network Machine IPv4 Address IPv4 Gateway Address Machine IPv6 Address IPv6 Gateway Address IPv6 Stateless Setting DNS Configuration DDNS

Scheduling future calls: When it is determined that a company uses a janitorial service and the contact person says that there is not an immediate need for

• The Toronto District School Board ’s policies embed the principles of fairness, equity, and inclusive education and include comprehensive guidelines for religious

Tài liệu bổ sung cho lớp TOEIC tại Anh ngữ Startnow Truy cập facebook để có tài liệu hay nhất, bài giảng hiện đại nhất: www.facebook.com/CunghocTOEIC990...

In August we ran our annual ‘Local Clicks & Calls’ survey in which we ask local business owners and local search marketers about which digital marketing channels drive leads