  | 
		
Compaq TCP/IP Services for OpenVMS
Compaq TCP/IP Services for OpenVMS
Guide to IPv6
Order Number: 
AA--RNJ3A--TE
 
  
January 2001
 
This manual describes the Compaq 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 Information: 
This is a new manual.
 
Software Version: 
Compaq TCP/IP Services for OpenVMS Version 5.1
 
Operating Systems: 
OpenVMS Alpha Versions 7.1, 7.2-1, OpenVMS VAX Versions 7.1, 7.2
 
 
 
 
 
 
Compaq Computer Corporation Houston, Texas
 
  
© 2001 Compaq Computer Corporation
 
COMPAQ, VAX, VMS, and the Compaq logo Registered in U.S. Patent and
Trademark Office.
 
OpenVMS and Tru64 are trademarks of Compaq Information Technologies
Group, L.P. in the United States and other countries.
 
All other product names mentioned herein may be the trademarks or
registered trademarks of their respective companies.
 
Confidential computer software. Valid license from Compaq or authorized
sublicensor 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.
 
Compaq shall not be liable for technical or editorial errors or
omissions contained herein. The information in this document is
provided "as is" without warranty of any kind and is subject to change
without notice. The warranties for Compaq products are set forth in the
express limited warranty statements accompanying such products. Nothing
herein should be construed as constituting an additional warranty.
 
 
ZK6645
 
This document is available on CD-ROM.
 
 
  
Preface
The Compaq TCP/IP Services for OpenVMS product is the Compaq implementation of the TCP/IP
networking protocol suite and internet services for OpenVMS Alpha and
OpenVMS VAX 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.
 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.
 
The manual is also for programmers who want to rewrite their
applications for the IPv6 environment.
 Document Structure
This manual contains the following chapters and appendixes:
 
  
    | 
      Chapter 1
     | 
    
       Describes the IPv6 environment, the roles of systems in this
       environment, the types and function of the different IPv6 addresses,
       and how to connect to the 6bone network.
     | 
   
  
    | 
      Chapter 2
     | 
    
       Describes how to configure the IPv6 software.
     | 
   
  
    | 
      Chapter 3
     | 
    
       Provides guidelines for running BIND in an IPv6 environment.
     | 
   
  
    | 
      Chapter 4
     | 
    
       Describes the resources for monitoring IPv6 network traffic.
     | 
   
  
    | 
      Chapter 5
     | 
    
       Describes how to solve IPv6 problems.
     | 
   
  
    | 
      Chapter 6
     | 
    
       Describes the IPv6 additions to the socket API.
     | 
   
  
    | 
      Chapter 7
     | 
    
       Describes how to port applications.
     | 
   
  
    | 
      Appendix A
     | 
    
       Describes the supported IPv6 RFCs.
     | 
   
  
    | 
      Appendix B
     | 
    
       Lists commands and processes supported in this version.
     | 
   
  
    | 
      Appendix C
     | 
    
       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  | 
   
  
    | 
      DIGITAL TCP/IP Services for OpenVMS Concepts  and Planning
     | 
    
       This manual provides conceptual information about networking and the
       TCP/IP protocol including a description of the Compaq implementation of
       the Berkeley Internet Name Domain (BIND) service and the Network File
       System (NFS). It outlines general planning issues to consider before
       configuring your system to use the TCP/IP Services software.
        This manual also describes the manuals in the documentation set,
      provides a glossary of terms and acronyms for the TCP/IP Services software
      product, and documents how to contact the InterNIC Registration Service
      to register domains and access Requests for Comments (RFCs).
      | 
   
  
    | 
      Compaq 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.
     | 
   
  
    | 
      Compaq TCP/IP Services for OpenVMS  Installation and Configuration
     | 
    
      This manual explains how to install and configure the TCP/IP Services
      product.
     | 
   
  
    | 
      DIGITAL 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. This manual explains how to use these services to
      communicate with systems on private internets or on the worldwide
      Internet.
     | 
   
  
    | 
      Compaq TCP/IP Services for OpenVMS Management
     | 
    
      This manual describes how to configure and manage the TCP/IP Services
      product.
        Use this manual with the Compaq TCP/IP Services for OpenVMS  Management Command Reference manual.
      | 
   
  
    | 
      Compaq TCP/IP Services for OpenVMS  Management Command Reference
     | 
    
      This manual describes the TCP/IP Services management commands.
        Use this manual with the Compaq TCP/IP Services for OpenVMS Management manual.
      | 
   
  
    | 
      Compaq 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.
     | 
   
  
    | 
      Compaq TCP/IP Services for  OpenVMS UNIX Command Reference Card
     | 
    
      This reference card contains information about commonly performed
      network management tasks and their corresponding TCP/IP management and
      Compaq Tru64 UNIX command formats.
     | 
   
  
    | 
      DIGITAL 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.
     | 
   
  
    | 
      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.
     | 
   
  
    | 
      Compaq 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.
     | 
   
  
    | 
      Compaq 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 6bone
      network.
     | 
   
 
For additional information about Compaq OpenVMS products and
services, access the Compaq website at the following location:
 
 
  
    
       
      
http://www.openvms.compaq.com/
 
 |   
For a comprehensive overview of the TCP/IP protocol suite, you might
find the book Internetworking with TCP/IP: Principles, Protocols,
and Architecture, by Douglas Comer, useful.
 Reader's Comments
Compaq welcomes your comments on this manual. Please send comments to
either of the following addresses:
 
  
    | 
      Internet
     | 
    
      openvmsdoc@compaq.com
     | 
   
  
    | 
      Mail
     | 
    
      Compaq Computer Corporation
        OSSG Documentation Group, ZKO3-4/U08
        110 Spit Brook Rd.
        Nashua, NH 03062-2698
     | 
   
 
How to Order Additional Documentation
Visit the following World Wide Web address for information about how to
order additional documentation:
 
 
  
    
       
      
http://www.openvms.compaq.com/
 
 |   
If you need help deciding which documentation best meets your needs,
call 800-282-6672.
 Conventions
The name TCP/IP Services means both:
 
  - Compaq TCP/IP Services for OpenVMS Alpha
  
 - Compaq TCP/IP Services for OpenVMS VAX
  
The name UNIX refers to the Compaq Tru64 UNIX operating system.
 
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 text
     | 
    
      This typeface represents the introduction of a new term. It also
      represents the name of an argument, an attribute, or a reason.
     | 
   
  
    | 
      italic text
     | 
    
      Italic text 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 TEXT
     | 
    
      Uppercase text indicates a command, the name of a routine, the name of
      a file, or the abbreviation for a system privilege.
     | 
   
  
    | 
      
      Monospace text
      
     | 
    
       Monospace type indicates code examples and interactive screen displays.
       This typeface indicates UNIX system output or user input, commands,
      options, files, directories, utilities, hosts, and users.
       In the C programming language, this typeface identifies the
      following elements: keywords, the names of independently compiled
      external functions and files, syntax summaries, and references to
      variables or identifiers introduced in an example.
      | 
   
  
    | 
      -
     | 
    
      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
  
 - IPv6 environment
  
 - IPv6 configuration
  
 - Postconfiguration tasks
  
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. An
  interface is usually assigned an IPv6 address or addresses.
  
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:
 
 
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:
 
 
Alternately, you can use the following syntax to represent IPv6
addresses in an environment of both IPv4 and IPv6 nodes:
 
 
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.
 
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)
 
 |   
   - IPv6 addresses with embedded IPv4 addresses 
 Used in mixed IPv4
  and IPv6 environments and can be either of the following:
  
   - Local-use IPv6 unicast addresses can be either of the following:
  
  
  
  
		 |