Network Working Group R. Stewart
Internet-Draft Cisco Systems, Inc.
Expires: April 22, 2004 Q. Xie
Motorola, Inc.
M. Stillman
Nokia
M. Tuexen
October 23, 2003
Aggregate Server Access Protocol (ASAP) and Endpoint Name Resolution
Protocol (ENRP) Parameters
draft-ietf-rserpool-common-param-05.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 22, 2004.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document details the parameters of the Aggregate Server Access
Protocol (ASAP) and Endpoint Name Resolution Protocol (ENRP)
protocols defined within the Reliable Server Pooling (RSERPOOL)
architecture.
Stewart, et al. Expires April 22, 2004 [Page 1]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . 3
2. Parameters in General . . . . . . . . . . . . . . . . . . 4
3. ENRP-ASAP Common Parameters . . . . . . . . . . . . . . . 5
3.1 IPv4 Address Parameter . . . . . . . . . . . . . . . . . . 6
3.2 IPv6 Address Parameter . . . . . . . . . . . . . . . . . . 7
3.3 SCTP Transport Parameter . . . . . . . . . . . . . . . . . 7
3.4 TCP Transport Parameter . . . . . . . . . . . . . . . . . 8
3.5 UDP Transport Parameter . . . . . . . . . . . . . . . . . 9
3.6 Pool Member Selection Policy Parameter . . . . . . . . . . 10
3.6.1 Round Robin Policy . . . . . . . . . . . . . . . . . . . . 12
3.6.2 Least Used Policy . . . . . . . . . . . . . . . . . . . . 12
3.6.3 Least Used with Degradation Policy . . . . . . . . . . . . 12
3.6.4 Weighted Round Robin Policy . . . . . . . . . . . . . . . 13
3.7 Pool Handle Parameter . . . . . . . . . . . . . . . . . . 13
3.8 Pool Element Parameter . . . . . . . . . . . . . . . . . . 13
3.9 Server Information Parameter . . . . . . . . . . . . . . . 15
3.10 Operation Error Parameter . . . . . . . . . . . . . . . . 16
3.10.1 Unspecified Error . . . . . . . . . . . . . . . . . . . . 17
3.10.2 Unrecognized Parameter Error . . . . . . . . . . . . . . . 17
3.10.3 Unrecognized Message Error . . . . . . . . . . . . . . . . 17
3.10.4 Invalid Values Error . . . . . . . . . . . . . . . . . . . 17
3.10.5 Non-unique PE Identifier Error . . . . . . . . . . . . . . 18
3.10.6 Inconsistent Pool Policy Error . . . . . . . . . . . . . . 18
3.10.7 Lack of Resources Error . . . . . . . . . . . . . . . . . 18
3.10.8 Inconsistent Transport Type Error . . . . . . . . . . . . 18
3.10.9 Inconsistent Data/Control Configuration Error . . . . . . 18
3.11 Cookie Parameter . . . . . . . . . . . . . . . . . . . . . 18
3.12 PE Identifier Parameter . . . . . . . . . . . . . . . . . 19
3.13 PE Checksum Parameter . . . . . . . . . . . . . . . . . . 19
4. Common Message Formats . . . . . . . . . . . . . . . . . . 21
5. Security Considerations . . . . . . . . . . . . . . . . . 23
Normative References . . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . 26
Stewart, et al. Expires April 22, 2004 [Page 2]
Internet-Draft ASAP & ENRP Common Parameters October 2003
1. Introduction
Aggregate Server Access Protocol (ASAP) [3] in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [4] provides a high
availability data transfer mechanism over IP networks.
Both protocols work together and so share many common parameters used
in message formats. This document details the common message
parameters shared between the two protocols. This document provides
parameter formats only, for procedures and message composition please
refer to the respective ASAP [3] and ENRP [4] documents.
1.1 Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
they appear in this document, are to be interpreted as described in
RFC2119 [2].
Stewart, et al. Expires April 22, 2004 [Page 3]
Internet-Draft ASAP & ENRP Common Parameters October 2003
2. Parameters in General
All parameters described below MUST be in Network Byte Order (a.k.a.
Big Endian, i.e., the most significant byte first) during
transmission.
Please note that messages in both ENRP and ASAP are often composed of
multiple parameters. These parameters may also be nested. In such a
case a nested parameter will include the length of the padding
between the nested parameters but not the last padding.
Stewart, et al. Expires April 22, 2004 [Page 4]
Internet-Draft ASAP & ENRP Common Parameters October 2003
3. ENRP-ASAP Common Parameters
Parameters are defined in the following Type-Length-Value (TLV)
format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Parameter Type | Parameter Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Parameter Value :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameter Type: 16 bits (unsigned integer)
The Type field is a 16 bit identifier of the type of parameter. It
takes a value of 0 to 65534.
The value of 65535 is reserved for IETF-defined extensions. Values
other than those defined in specific ENRP parameter description are
reserved by IETF. (Additional types, when needed, will be defined in
the future through appropriate IETF/IANA procedures.)
The Parameter Types are encoded such that the highest-order two bits
specify the action that must be taken if the processing endpoint does
not recognize the Parameter Type.
00 Stop processing this ENRP or ASAP message and discard it, do not
process any further parameters within it.
01 Stop processing this ENRP or ASAP message and discard it, do not
process any further parameters within it, and report the
unrecognized parameter in an 'Unrecognized Parameter' error (see
Section 3.10).
10 Skip this parameter and continue processing.
11 Skip this parameter and continue processing, but report the
unrecognized parameter in an 'Unrecognized Parameter' error (see
Section 3.10).
The values of parameter types are defined as follows:
Stewart, et al. Expires April 22, 2004 [Page 5]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Value Parameter Type
----- ----------
0x0 - (reserved by IETF)
0x1 - IPv4 Address
0x2 - IPv6 Address
0x3 - SCTP Transport
0x4 - TCP Transport
0x5 - UDP Transport
0x6 - Pool Member Selection Policy
0x7 - Pool Handle
0x8 - Pool Element
0x9 - Server Information
0xa - Operation Error
0xb - Cookie
0xc - PE Identifier
others - (reserved by IETF)
Parameter Length: 16 bits (unsigned integer)
The Parameter Length field contains the size of the parameter in
bytes, including the Parameter Type, Parameter Length, and Parameter
Value fields. Thus, a parameter with a zero-length Parameter Value
field would have a Length field of 4.
The total length of a parameter (including Type, Parameter Length and
Value fields) MUST be a multiple of 4 bytes. If the length of the
parameter is not a multiple of 4 bytes, the sender MUST pad the
parameter at the end (i.e., after the Parameter Value field) with all
zero bytes. The length of this padding is not included in the
Parameter Length field. A sender MUST NOT pad with more than 3
bytes. The receiver MUST ignore the padding bytes.
(Editor's note: clarify further that any padding inside in the
parameter, such as the padding in sub-param is included in the total
length)
Parameter Value: variable-length.
The Parameter Value field contains the actual information to be
transferred in the parameter.
3.1 IPv4 Address Parameter
This parameter defines a TLV that carries an IPv4 address.
Stewart, et al. Expires April 22, 2004 [Page 6]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x1 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv4 Address: 32 bits (unsigned integer)
Contains an IPv4 address. It is binary encoded.
3.2 IPv6 Address Parameter
This parameter defines a TLV that carries an IPv6 address.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x2 | Length = 0x14 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 Address: 128 bit (unsigned integer)
Contains an IPv6 address. It is binary encoded.
3.3 SCTP Transport Parameter
This parameter defines a TLV that describes a user transport using
SCTP protocol.
Stewart, et al. Expires April 22, 2004 [Page 7]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x3 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SCTP port | Transport Use |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address #1 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address #n :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, SCTP port, reserved fields, and all IP
address parameters present.
SCTP port: 16 bits (unsigned integer)
The SCTP port number signed to this SCTP user transport.
Transport use: 16 bits (unsigned integer)
This field represents how the pool element intends this transport
address to be used. The field MUST be populated with one of the
following values:
Type | Value
------------------+----------------
DATA ONLY | 0x0000
DATA plus CONTROL | 0x0001
IPv4 or IPv6 Address #1 - #n:
Each indicates an IPv4 or IPv6 address parameter (as defined above in
Section 3.1 and Section 3.2) assigned to this SCTP user transport. An
SCTP Transport parameter may have a mixed list of IPv4 and IPv6
addresses and at least one IP address parameter MUST be present in an
SCTP transport parameter.
3.4 TCP Transport Parameter
Stewart, et al. Expires April 22, 2004 [Page 8]
Internet-Draft ASAP & ENRP Common Parameters October 2003
This parameter defines a TLV that describes a user transport using
TCP protocol.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x4 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP port | Transport Use |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, TCP port, reserved fields, and IP address
parameter.
TCP port: 16 bits (unsigned integer)
The TCP port number signed to this TCP user transport.
Transport use: 16 bits (unsigned integer)
This field represents how the pool element intends this transport
address to be used. The field MUST be populated with one of the
following values:
Type | Value
------------------+----------------
DATA ONLY | 0x0000
DATA plus CONTROL | 0x0001
IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in
Section 3.1 and Section 3.2) assigned to this TCP user transport.
Unlike in an SCTP transport, only one IP address parameter can be
present in a TCP transport parameter.
3.5 UDP Transport Parameter
This parameter defines a TLV that describes a user transport using
UDP protocol.
Stewart, et al. Expires April 22, 2004 [Page 9]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x5 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP port | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, UDP port, reserved fields, and IP address
parameter.
UDP port: 16 bits (unsigned integer)
The UDP port number signed to this UDP user transport.
IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in
Section 3.1 and Section 3.2) assigned to this UDP user transport.
Unlike in an SCTP transport, only one IP address parameter can be
present in a UDP transport parameter.
Note: A UDP port MUST NOT be used for control information. For this
reason, no Transport Use field is provided. UDP MUST always be
treated as a "Data Only" type transport use.
3.6 Pool Member Selection Policy Parameter
This parameter defines a pool member selection policy. RSERPOOL
supports multiple pool member selection policies and also allows
definition of new selection policies in the future.
The enforcement rules and handling procedures of all the policies are
defined in Section xxxxx in ASAP [3].
All pool member selection policies, both present and future, MUST use
the following general parameter format:
Stewart, et al. Expires April 22, 2004 [Page 10]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x6 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy Type | Policy-specific Data....
+-+-+-+-+-+-+-+-+------------------------------------------------
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, Policy Type, and the Policy-specific Data
fields.
Note, the Length field value will NOT include any padding at the end
of the parameter.
Policy Type: 8 bits (unsigned integer)
Specifies the type of selection policy.
Currently defined policy types are:
Value Policy
----- ---------
0x0 (reserved by IETF)
0x1 Round Robin
0x2 Least Used
0x3 Least Used with Degradation (a.k.a. dog pile)
0x4 Weighted Round Robin
others (reserved by IETF)
Policy-specific Data:
The structure and fields for each presently defined policy types are
described in detail in the following subsections. The enforcement
rules and handling procedures of these policies are defined in
Section xxxxx in ASAP [3].
Stewart, et al. Expires April 22, 2004 [Page 11]
Internet-Draft ASAP & ENRP Common Parameters October 2003
3.6.1 Round Robin Policy
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x1 | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Reserved: 24 bits
MUST be set to 0's by sender and ignored by the receiver.
3.6.2 Least Used Policy
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x2 | Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Load: 24 bits (signed integer)
(TBD)
3.6.3 Least Used with Degradation Policy
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x3 | Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Load: 24 bits (signed integer)
(TBD)
Stewart, et al. Expires April 22, 2004 [Page 12]
Internet-Draft ASAP & ENRP Common Parameters October 2003
3.6.4 Weighted Round Robin Policy
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x4 | Weight |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Load: 24 bits (signed integer)
(TBD)
3.7 Pool Handle Parameter
This parameter holds a pool handle (i.e., a pool name).
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x7 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Pool Handle :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, and Pool Handle string.
Note, the value in Length field will NOT cover any padding at the end
of the parameter.
Pool Handle:
defined as a sequence of (Length - 4) bytes.
3.8 Pool Element Parameter
This parameter is used in multiple ENRP messages to represent an ASAP
endpoint (i.e., a PE in a pool) and the associated information, such
as its transport address, selection policy, and other operational or
status information of the PE.
Stewart, et al. Expires April 22, 2004 [Page 13]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x8 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Home ENRP Server Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Registration Life |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Member Selection Policy param :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
including the Type, Length, PE Identifier, Registration Life, User
Transport, and Member Selection Policy parameters.
Note, the value in Length field will NOT cover any padding at the end
of this Pool Element parameter.
PE Identifier: 32 bits (unsigned integer)
Uniquely identifies the PE in the pool. The PE picks its identifier
when it starts up. See Section ???? in [ASAP] for recommendations on
PE identifier generation.
Home ENRP Server Identifier: 32 bits (unsigned integer)
Indicates the current home ENRP server of this PE. Set to all 0's if
the PE's home ENRP server is undetermined.
Registration Life: 32 bits (signed integer)
Indicates the life time of the registration in number of seconds. A
value of -1 indicates infinite life time.
User Transport:
This can be either an SCTP, TCP, or UDP type transport parameter (see
Section 3.3, Section 3.4, Section 3.5). A PE MUST have one and only
one User Transport.
Member Selection Policy:
Stewart, et al. Expires April 22, 2004 [Page 14]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Contains one of the defined member selection policy parameters (see
Section 3.6).
3.9 Server Information Parameter
This parameter is used in ENRP to pass basic information of an ENRP
server.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x9 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|M| (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Server Transport :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets.
Note, the value in Length field will NOT cover any padding at the end
of the parameter.
Server ID: 32 bit (unsigned integer)
This is the ID of the ENRP server, as defined in Section xxxxxx in
ENRP [4] .
Multicast Flag (M): 1 bit
If set to '1', indicates the ENRP server is allowed to use multicast
for communications. If set to '0', multicast is not used by the
server.
Reserved: 31 bits
MUST be set to 0's by sender and ignored by the receiver.
Server Transport:
This is an SCTP Transport Parameter, as defined in Section 3.3 that
contains the network access address(es), SCTP port number, etc. of
the ENRP server.
Stewart, et al. Expires April 22, 2004 [Page 15]
Internet-Draft ASAP & ENRP Common Parameters October 2003
3.10 Operation Error Parameter
This parameter is used in both ENPR and ASAP for a message sender to
report an error(s) to a message receiver.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xa | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: one or more Error Causes :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets.
Note, the value in Length field will NOT cover any padding at the end
of the parameter.
Error causes are defined as variable-length parameters using the
following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code | Cause Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Cause-specific Information :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Cause Code: 16 bits (unsigned integer)
Defines the type of error condition being reported.
Stewart, et al. Expires April 22, 2004 [Page 16]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Cause Code
Value Cause Code
--------- ----------------
0 Unspecified Error
1 Unrecognized Parameter
2 Unrecognized Message
3 Invalid Values
4 Non-unique PE Identifier
5 Inconsistent Pooling Policy
6 Lack of Resources
7 Inconsistent Transport Type
8 Inconsistent Data/Control Configuration
other values reserved by IETF
Cause Length: 16 bits (unsigned integer)
Set to the size of the parameter in bytes, including the Cause Code,
Cause Length, and Cause-Specific Information fields, but not
including any padding at the end of this error cause TLV.
Cause-specific Information: variable length
This field carries the details of the error condition.
The following subsections (Section 3.10.1 - Section 3.10.9) define
specific error causes.
3.10.1 Unspecified Error
This error cause is used to report an unspecified error by the
sender. There is no cause specific information.
3.10.2 Unrecognized Parameter Error
This error cause is used to report an unrecognized parameter. The
unrecognized parameter TLV is included as cause specific information.
3.10.3 Unrecognized Message Error
This error cause is used to report an unrecognized message. The
unrecognized message TLV is included as cause specific information.
3.10.4 Invalid Values Error
This error cause is used to report one or more invalid values found
in a received parameter. The offending TLV that contains the invalid
value(s) is included as cause specific information.
Stewart, et al. Expires April 22, 2004 [Page 17]
Internet-Draft ASAP & ENRP Common Parameters October 2003
3.10.5 Non-unique PE Identifier Error
This error cause is used by an ENRP server to indicate to a
registering PE that the PE Identifier it chooses has already been
used by another PE in the pool. There is no cause specific
information.
3.10.6 Inconsistent Pool Policy Error
This error cause is used by an ENRP server to indicate to a
registering PE that the Pool Policy it chooses does not match the
overall policy of the pool. A Pool Member Selection Policy TLV (see
Section 3.6) that indicates the overall pool policy is included as
cause specific information.
3.10.7 Lack of Resources Error
This error cause is used to indicate that the sender does not have
certain resources to perform a requested function. There is no cause
specific information.
3.10.8 Inconsistent Transport Type Error
This error cause is used by an ENRP server to indicate to a
registering PE that the User Transport it chooses does not match the
overall user transport of the pool. A Transport TLV that indicates
the overall pool user transport type is included as cause specific
information.
3.10.9 Inconsistent Data/Control Configuration Error
This error cause is used by an ENRP server to indicate to a
registering PE that the Transport Use field in the User Transport it
sent in its registration is inconsistent to the pool's overall data/
control channel configuration. There is no cause specific
information.
3.11 Cookie Parameter
This parameter defines a TLV that carries a Cookie.
Stewart, et al. Expires April 22, 2004 [Page 18]
Internet-Draft ASAP & ENRP Common Parameters October 2003
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xb | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Cookie :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of bytes,
including the Type, Length, and Cookie.
Cookie: variable length
The Cookie is an arbitrary byte string of (Length - 4) bytes.
3.12 PE Identifier Parameter
This parameter defines a TLV that carries a PE Identifier.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xc | Length=0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PE Identifier: 32 bits (unsigned integer)
Uniquely identifies the PE in the pool. The PE picks its identifier
when it starts up. See Section ???? in ASAP [3] for recommendations
on PE identifier generation.
3.13 PE Checksum Parameter
This parameter defines a TLV that carries a PE Checksum.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xd | Length=0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Stewart, et al. Expires April 22, 2004 [Page 19]
Internet-Draft ASAP & ENRP Common Parameters October 2003
PE Checksum: 32 bits (unsigned integer)
An overall checksum of all PEs in the current namespace owned by an
ENRP server (which is normally the sender of this TLV). The
definition and calculation of this checksum is defined in Section
???? in ENRP [4].
Stewart, et al. Expires April 22, 2004 [Page 20]
Internet-Draft ASAP & ENRP Common Parameters October 2003
4. Common Message Formats
The figure below illustrates the common format for all ASAP and ENRP
messages. Each message is formatted with a Message Type field, a
message-specific Flag field, a Message Length field, and a Value
field.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Type | Msg Flags | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Message Value :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type: 8 bits (unsigned integer)
This field identifies the type of information contained in the
Message Value field. It takes a value from 0 to 254. The value of
255 is reserved for future use as an extension field.
Message Types are encoded such that the highest-order two bits
specify the action that must be taken if the message receiver does
not recognize the Message Type.
00 Stop processing this message and discard it.
01 Stop processing this message and discard it, and report the
unrecognized message in an 'Unrecognized Message' error (see
Section 3.10.3).
10 reserved.
11 reserved.
Message Flags: 8 bits
The usage of these bits depends on the message type as given by the
Message Type. Unless otherwise specified, they are set to zero on
transmit and are ignored on receipt.
Message Length: 16 bits (unsigned integer)
This value represents the size of the message in bytes including the
Message Type, Message Flags, Message Length, and Message Value
fields. Therefore, if the Message Value field is zero-length, the
Stewart, et al. Expires April 22, 2004 [Page 21]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Length field will be set to 4.
Note, the value in Message Length field will NOT cover any padding at
the end of this message.
Message Value: variable length
The Message Value field contains the actual information to be
transferred in the message. The usage and format of this field is
dependent on the Message Type.
The total length of a message (including Type, Length and Value
fields) MUST be a multiple of 4 bytes. If the length of the message
is not a multiple of 4 bytes, the sender MUST pad the message with
all zero bytes and this padding is not included in the message length
field. The sender should never pad with more than 3 bytes. The
receiver MUST ignore the padding bytes.
Stewart, et al. Expires April 22, 2004 [Page 22]
Internet-Draft ASAP & ENRP Common Parameters October 2003
5. Security Considerations
This document contains common parameter formats only. As such it
specifies no new security constraints on either ENRP or ASAP. Details
on ENRP and ASAP security constraints are addressed in ENRP [4] and
ASAP [3] .
Stewart, et al. Expires April 22, 2004 [Page 23]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Normative References
[1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[3] Stewart, R., Xie, Q., Stillman, M. and M. Tuexen, "Aggregate
Server Access Protocol (ASAP)", draft-ietf-rserpool-asap-08
(work in progress), October 2003.
[4] Xie, Q., Stewart, R. and M. Stillman, "Endpoint Name Resolution
Protocol (ENRP)", draft-ietf-rserpool-enrp-07 (work in
progress), October 2003.
Authors' Addresses
Randall R. Stewart
Cisco Systems, Inc.
8725 West Higgins Road
Suite 300
Chicago, IL 60631
USA
Phone: +1-815-477-2127
EMail: rrs@cisco.com
Qiaobing Xie
Motorola, Inc.
1501 W. Shure Drive, #2309
Arlington Heights, IL 60004
USA
Phone: +1-847-632-3028
EMail: qxie1@email.mot.com
Maureen Stillman
Nokia
127 W. State Street
Ithaca, NY 14850
USA
Phone: +1-607-273-0724
EMail: maureen.stillman@nokia.com
Stewart, et al. Expires April 22, 2004 [Page 24]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Michael Tuexen
Germany
Phone:
EMail: tuexen@fh-muenster.de
Stewart, et al. Expires April 22, 2004 [Page 25]
Internet-Draft ASAP & ENRP Common Parameters October 2003
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
Stewart, et al. Expires April 22, 2004 [Page 26]
Internet-Draft ASAP & ENRP Common Parameters October 2003
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Stewart, et al. Expires April 22, 2004 [Page 27]