HP OpenVMS Systems Documentation

Content starts here HP TCP/IP Services for OpenVMS

HP TCP/IP Services for OpenVMS

Guide to IPv6

Order Number: AA-RNJ3B-TE


September 2003

This manual describes the HP TCP/IP Services for OpenVMS IPv6 features and how to install and configure IPv6 on your system. In addition, this manual describes changes in the socket application programming interface (API) and how to port your applications to run in an IPv6 environment.

Revision/Update Information: This manual supersedes the Compaq TCP/IP Services for OpenVMS Guide to IPv6, Version 5.1.

Software Version: HP TCP/IP Services for OpenVMS Version 5.4

Operating Systems: OpenVMS Alpha Versions 7.3-1, 7.3-2




Hewlett-Packard Company Palo Alto, California


© Copyright 2003 Hewlett-Packard Development Company, L.P.

UNIX® is a trademark of The Open Group.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Proprietary computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.

ZK6645

The HP TCP/IP Services for OpenVMS documentation is available on CD-ROM.

This document was prepared using DECdocument, Version V3.3-1e.

Contents Index


Preface

The HP TCP/IP Services for OpenVMS product is the HP implementation of the TCP/IP networking protocol suite and internet services for OpenVMS systems.

TCP/IP Services provides a comprehensive suite of functions and applications that support industry-standard protocols for heterogeneous network communications and resource sharing.

This manual describes IPv6 features included in this version of TCP/IP Services. The manual covers installing and configuring your system for IPv6, changes to the socket API, and how to port your applications to run in an IPv6 environment.

See the HP TCP/IP Services for OpenVMS Installation and Configuration manual for information about installing, configuring, and starting this product.

Intended Audience

This manual is for experienced OpenVMS and UNIX system managers and assumes a working knowledge of OpenVMS system management, TCP/IP networking, and TCP/IP terminology.

Document Structure

This manual contains the following chapters and appendixes:

Chapter 1 Describes IPv6 terminology, the types and function of the different IPv6 addresses, and typical IPv6 configurations.
Chapter 2 Describes how to configure the IPv6 software.
Chapter 3 Provides guidelines for running BIND in an IPv6 environment.
Chapter 4 Describes how to manage and monitor an IPv6 network.
Chapter 5 Describes how to configure and use mobile IPv6.
Chapter 6 Describes how to solve IPv6 problems.
Chapter 7 Describes the IPv6 additions to the socket API.
Chapter 8 Describes how to port applications.
Appendix A Describes the supported IPv6 RFCs.
Appendix B Describes deprecated functions that have been replaced by new ones.

Related Documents

Table 1 lists the documents available with this version of TCP/IP Services.

Table 1 TCP/IP Services Documentation
Manual Contents
Compaq TCP/IP Services for OpenVMS Concepts and Planning This manual provides conceptual information about TCP/IP networking on OpenVMS systems, including general planning issues to consider before configuring your system to use the TCP/IP Services software.

This manual also describes the manuals in the TCP/IP Services documentation set and provides a glossary of terms and acronyms for the TCP/IP Services software product.

HP TCP/IP Services for OpenVMS Release Notes The release notes provide version-specific information that supersedes the information in the documentation set. The features, restrictions, and corrections in this version of the software are described in the release notes. Always read the release notes before installing the software.
HP TCP/IP Services for OpenVMS Installation and Configuration This manual explains how to install and configure the TCP/IP Services product.
HP TCP/IP Services for OpenVMS User's Guide This manual describes how to use the applications available with TCP/IP Services such as remote file operations, email, TELNET, TN3270, and network printing.
HP TCP/IP Services for OpenVMS Management This manual describes how to configure and manage the TCP/IP Services product.
HP TCP/IP Services for OpenVMS Management Command Reference This manual describes the TCP/IP Services management commands.
HP TCP/IP Services for OpenVMS Management Command Quick Reference Card This reference card lists the TCP/IP management commands by component and describes the purpose of each command.
HP TCP/IP Services for OpenVMS UNIX Command Equivalents Reference Card This reference card contains information about commonly performed network management tasks and their corresponding TCP/IP management and Tru64 UNIX command formats.
Compaq TCP/IP Services for OpenVMS ONC RPC Programming This manual presents an overview of high-level programming using open network computing remote procedure calls (ONC RPCs). This manual also describes the RPC programming interface and how to use the RPCGEN protocol compiler to create applications.
HP TCP/IP Services for OpenVMS Guide to SSH This manual describes how to configure, set up, use, and manage the SSH for OpenVMS software.
Compaq TCP/IP Services for OpenVMS Sockets API and System Services Programming This manual describes how to use the Sockets API and OpenVMS system services to develop network applications.
Compaq TCP/IP Services for OpenVMS SNMP Programming and Reference This manual describes the Simple Network Management Protocol (SNMP) and the SNMP application programming interface (eSNMP). It describes the subagents provided with TCP/IP Services, utilities provided for managing subagents, and how to build your own subagents.
HP TCP/IP Services for OpenVMS Tuning and Troubleshooting This manual provides information about how to isolate the causes of network problems and how to tune the TCP/IP Services software for the best performance.
HP TCP/IP Services for OpenVMS Guide to IPv6 This manual describes the IPv6 environment, the roles of systems in this environment, the types and function of the different IPv6 addresses, and how to configure TCP/IP Services to access the IPv6 network.

For additional information about HP OpenVMS products and services, access the HP website at the following location:


http://www.openvms.hp.com/

For a comprehensive overview of the TCP/IP protocol suite, refer to the book Internetworking with TCP/IP: Principles, Protocols, and Architecture, by Douglas Comer.

Reader's Comments

HP welcomes your comments on this manual. Please send comments to either of the following addresses:

Internet openvmsdoc@hp.com
Postal Mail Hewlett-Packard Company
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698

How to Order Additional Documentation

For information about how to order additional documentation, visit the following World Wide Web address:


http://www.hp.com/go/openvms/doc/order

Conventions

The name TCP/IP Services means both:

  • HP TCP/IP Services for OpenVMS Alpha
  • HP TCP/IP Services for OpenVMS VAX

The following conventions are used in this manual. In addition, please note that all IP addresses are fictitious.

Ctrl/ x A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
PF1 x A sequence such as PF1 x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
[Return] In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.)

In the HTML version of this document, this convention appears as brackets, rather than a box.

... A horizontal ellipsis in examples indicates one of the following possibilities:
  • Additional optional arguments in a statement have been omitted.
  • The preceding item or items can be repeated one or more times.
  • Additional parameters, values, or other information can be entered.
.
.
.
A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
( ) In command format descriptions, parentheses indicate that you must enclose choices in parentheses if you specify more than one.
[ ] In command format descriptions, brackets indicate optional choices. You can choose one or more items or no items. Do not type the brackets on the command line. However, you must include the brackets in the syntax for OpenVMS directory specifications and for a substring specification in an assignment statement.
| In command format descriptions, vertical bars separate choices within brackets or braces. Within brackets, the choices are optional; within braces, at least one choice is required. Do not type the vertical bars on the command line.
{ } In command format descriptions, braces indicate required choices; you must choose at least one of the items listed. Do not type the braces on the command line.
bold type Bold type represents the introduction of a new term. It also represents the name of an argument, an attribute, or a reason.
italic type Italic type indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type).
UPPERCASE TYPE Uppercase type indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
Example This typeface indicates code examples, command examples, and interactive screen displays. In text, this type also identifies URLs, UNIX commands and pathnames, PC-based commands and folders, and certain elements of the C programming language.
- A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
numbers All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.


Chapter 1
What Is IPv6?

In the early 1990s, members of the Internet community realized that the address space and certain aspects of the current TCP/IP architecture were not capable of sustaining the explosive growth of the Internet. The problems included the exhaustion of the Internet address space, the size of routing tables, and requirements for new technology features.

The Internet Engineering Task Force (IETF) made several efforts to study and improve the use of the 32-bit Internet Protocol (IPv4) addresses. They also tackled the longer-term goal of identifying and replacing protocols and services that would limit growth.

These efforts identified the 32-bit addressing architecture of IPv4 as the principal problem affecting router overhead and network administration. In addition, IPv4 addresses were often unevenly allocated in blocks that were too large or too small; therefore, these addresses were difficult to change within any existing network.

In July 1994, the Internet Protocol Next Generation (IPng) directorate announced Internet Protocol Version 6 (IPv6) as the replacement network layer protocol, and IETF working groups began to build specifications. (See RFC 1752, The Recommendation for the IP Next Generation Protocol, for additional information about the IPv6 protocol selection process.)

IPv6 is both a completely new network layer protocol and a major revision of the Internet architecture. As such, it builds upon and incorporates experience gained with IPv4. This chapter describes the following:

  • Terminology
  • IPv6 addressing
  • Using tunnels
  • IPv6 environment

1.1 Terminology

The following terms are used in this chapter:

  • Node
    Any system that uses the IPv6 protocol to communicate.
  • Router
    A node that forwards IPv6 packets addressed to other nodes. These systems typically have more than one network interface installed and configured.
  • Host
    Any system that is not a router.
  • Link
    A medium or facility over which nodes communicate with each other at the Link layer. Examples include Ethernet, FDDI links, or internet layer tunnels.
  • Interface
    A node's attachment to a link, which is usually assigned an IPv6 address or addresses. This can be a physical NIC (for example, WE0) or virtual network interface (for example, IT0).
  • Tunnel
    A link over which a packet of one protocol is encapsulated inside the packet of another protocol. In this manner, one protocol's packets an be carried over another protocol's infrastructure. The process for doing this is called tunneling. See Section 1.4 for more information on the types of tunnels that are available for you to use.

1.2 Introduction to IPv6 Addresses

The most noticeable feature of IPv6 is the address itself. The address size is increased from 32 bits to 128 bits. The following sections describe the components of the IPV6 address.

1.2.1 Address Text Representation

Use the following syntax to represent IPv6 addresses as text strings:



x:x:x:x:x:x:x:x

The x is a hexadecimal value of a 16-bit piece of the address. For example, the following addresses are IPv6 addresses:



FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

1070:0:0:0:0:800:200C:417B

IPv6 addresses can contain long strings of zero (0) bits. To make it easier to write these addresses, you can use a double colon (::) once in an address to represent one or more 16-bit groups of zeros. For example, you can compress the second IPv6 address example in the following way:



1070::800:200C:417B

Alternately, you can use the following syntax to represent IPv6 addresses in an environment of both IPv4 and IPv6 nodes:



x:x:x:x:x:x:d.d.d.d

In this case, x is a hexadecimal value of a 16-bit piece of the address (six high-order pieces) and d is a decimal value of an 8-bit piece of address (four low-order pieces) in standard, dotted-quad IPv4 form. For example, the following are IPv6 addresses:



0:0:0:0:0:0:13.1.68.3

0:0:0:0:0:FFFF:129.144.52.38

When compressed, these addresses are as follows:



::13.1.68.3

::FFFF:129.144.52.38

Like IPv4 address prefixes, IPv6 address prefixes are represented using the Classless Inter-Domain Routing (CIDR) notation. This notation has the following format:



ipv6-address/prefix-length

For example, you can represent the 60-bit hexadecimal prefix 12AB00000000CD3 in any of the following ways:



12AB:0000:0000:CD30:0000:0000:0000:0000/60

12AB::CD30:0:0:0:0/60

12AB:0:0:CD30::/60

1.2.2 Types of Addresses

There are three types of IPv6 addresses:

  • Unicast
  • Anycast
  • Multicast

    Note

    Unlike IPv4, IPv6 does not define a broadcast address. To get the function of a broadcast address, use a multicast address. (See Section 1.2.2.3.)

The following sections describe the unicast, anycast, and multicast address types.

1.2.2.1 Unicast Addresses

A unicast address is an identifier for an interface. Packets sent to a unicast address are delivered to the node containing the interface that is identified by the address.

Figure 1-1 shows the format of unicast addresses.

Figure 1-1 Unicast Addresses


This address typically consists of a 64-bit prefix followed by a 64-bit interface ID, as shown in Figure 1-2.

Figure 1-2 64-Bit Prefix Plus 64-Bit Interface ID


An interface ID identifies an interface on a link. The interface ID is required to be unique on a link, but it may also be unique over a broader scope. In many cases, the interface ID is derived from its Link layer address. The same interface ID can be used on multiple interfaces on a single node.

According to RFC2373, most prefixes must have 64-bit interface identifiers. For a 48-bit MAC addresses, the interface identifier is created by inserting the hexadecimal values of 0xFF and 0xFE in the middle of the address and inverting the universal/local bit (bit 7) in the resulting 64-bit address. Figure 1-3 shows how this process works.

Figure 1-3 Creating an Interface ID from a MAC Address


The following list describes commonly used unicast addresses and their values:

  • Unspecified address
    Indicates the absence of an address and is never assigned to an interface. The unspecified address has the following value:


    
    0:0:0:0:0:0:0:0 (normal form)
    
    :: (compressed form)
    
    
  • Loopback address
    Used by a node to send IP datagrams to itself and is typically assigned to the loopback interface.
    The IPv6 loopback address has the following value:


    
    0:0:0:0:0:0:0:1 (normal form)
    
    ::1 (compressed form)
    
    
  • Global unicast addresses
    These addresses are globally routable.
    Figure 1-4 shows the format of the global unicast address.

    Figure 1-4 IPv6 Global Unicast Address



    RFC 2374 defined aggregatable global unicast address formats that included Top Level Aggregator (TLA) and Next Level Aggregator (NLA). RFC 3587 replaces replaces RFC 2374, and makes it and the TLS/NLA structure historic.
  • IPv6 addresses with embedded IPv4 addresses
    Used in mixed IPv4 and IPv6 environments and can be either of the following:
    • IPv4-compatible IPv6 address
      Used by IPv6 nodes to tunnel IPv6 packets across an IPv4 routing infrastructure. The IPv4 address is carried in the low-order 32 bits. Figure 1-5 shows the format of the IPV4-compatible IPV6 address.

      Figure 1-5 IPv4-Compatible IPv6 Address


      Note

      Do not use IPv4-compatible IPv6 addresses in DNS or in TCPIP$ETC:IPNODES.
    • IPv4-mapped IPv6 address
      Used to represent an IPv4 address and to identify nodes that do not support IPv6. This address is not used in an IPv6 packet. Figure 1-6 shows the format of the IPv4-mapped IPv6 address.

      Figure 1-6 IPv4-Mapped IPv6 Address



  • Local-use IPv6 unicast addresses can be either of the following:
    • Link-local
      Used for addressing on a single link when performing address autoconfiguration or neighbor discovery or when no routers are present. Figure 1-7 shows the format of the link-local address.

      Figure 1-7 IPv6 Link-Local Unicast Address



    • Site-local
      Used for sites or organizations that are not connected to the global Internet. Figure 1-8 shows the format of the site-local address.

      Figure 1-8 IPv6 Site-Local Unicast Address



      If you plan to use site-local addresses, be aware of the following guidelines:
      • Do not connect a single node to multiple sites.
      • Do not use site-local addresses in the global DNS (the addresses should not be visible outside the site).
      • Dynamic DNS updates for site-local addresses are not supported.
      • Do not advertise or propagate routes containing site-local prefixes outside the site.

Interfaces typically have multiple IPv6 addresses. After IPv6 is configured and the system boots, the LAN and configured tunnel interfaces are automatically assigned a link-local address. If a router is on the link, the system also autoconfigures a global unicast address on the interfaces.


Next Contents Index