Browse Prior Art Database

Basic Socket Interface Extensions for IPv6 (RFC2133)

IP.com Disclosure Number: IPCOM000002688D
Original Publication Date: 1997-Apr-01
Included in the Prior Art Database: 2000-Sep-13
Document File: 26 page(s) / 65K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

R. Gilligan: AUTHOR [+4]

Abstract

The de facto standard application program interface (API) for TCP/IP applications is the "sockets" interface. Although this API was developed for Unix in the early 1980s it has also been implemented on a wide variety of non-Unix systems. TCP/IP applications written using the sockets API have in the past enjoyed a high degree of portability and we would like the same portability with IPv6 applications. But changes are required to the sockets API to support IPv6 and this memo describes these changes. These include a new socket address structure to carry IPv6 addresses, new address conversion functions, and some new socket options. These extensions are designed to provide access to the basic IPv6 features required by TCP and UDP applications, including multicasting, while introducing a minimum of change into the system and providing complete compatibility for existing IPv4 applications. Additional extensions for advanced IPv6 features (raw sockets and access to the IPv6 extension headers) are defined in another document [5].

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 5% of the total text.

Network Working Group R. Gilligan

Request for Comments: 2133 Freegate

Category: Informational S. Thomson

Bellcore

J. Bound

Digital

W. Stevens

Consultant

April 1997

Basic Socket Interface Extensions for IPv6

Status of this Memo

This memo provides information for the Internet community. This memo

does not specify an Internet standard of any kind. Distribution of

this memo is unlimited.

Abstract

The de facto standard application program interface (API) for TCP/IP

applications is the "sockets" interface. Although this API was

developed for Unix in the early 1980s it has also been implemented on

a wide variety of non-Unix systems. TCP/IP applications written

using the sockets API have in the past enjoyed a high degree of

portability and we would like the same portability with IPv6

applications. But changes are required to the sockets API to support

IPv6 and this memo describes these changes. These include a new

socket address structure to carry IPv6 addresses, new address

conversion functions, and some new socket options. These extensions

are designed to provide access to the basic IPv6 features required by

TCP and UDP applications, including multicasting, while introducing a

minimum of change into the system and providing complete

compatibility for existing IPv4 applications. Additional extensions

for advanced IPv6 features (raw sockets and access to the IPv6

extension headers) are defined in another document [5].

Table of Contents

1. Introduction ................................................ 2

2. Design Considerations ....................................... 3

2.1. What Needs to be Changed .................................. 3

2.2. Data Types ................................................ 5

2.3. Headers ................................................... 5

2.4. Structures ................................................ 5

3. Socket Interface ............................................ 5

3.1. IPv6 Address Family and Protocol Family ................... 5

3.2. IPv6 Address Structure .................................... 6

3.3. Socket Address Structure for 4.3BSD-Based Systems ......... 6

3.4. Socket Address Structure for 4.4BSD-Based Systems ......... 7

3.5. The Socket Functions ...................................... 8

3.6. Compatibility with IPv4 Applications ...................... 9

3.7. Compatibility with IPv4 Nodes ............................. 9

3.8. IPv6...