draft-ietf-rserpool-common-param-03.txt   draft-ietf-rserpool-common-param-04.txt 
Network Working Group R. Stewart Network Working Group R. Stewart
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Expires: August 27, 2003 Q. Xie Expires: November 12, 2003 Q. Xie
Motorola, Inc. Motorola, Inc.
M. Stillman M. Stillman
Nokia Nokia
M. Tuexen M. Tuexen
Siemens AG Siemens AG
February 26, 2003 May 14, 2003
Aggregate Server Access Protocol (ASAP) and Endpoint Name Resolution Aggregate Server Access Protocol (ASAP) and Endpoint Name Resolution
Protocol (ENRP) common parameters document Protocol (ENRP) Parameters
draft-ietf-rserpool-common-param-03.txt draft-ietf-rserpool-common-param-04.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that other
other groups may also distribute working documents as groups may also distribute working documents as Internet-Drafts.
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt. www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 27, 2003. This Internet-Draft will expire on November 12, 2003.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract Abstract
Aggregate Server Access Protocol (ASAP) [4] in conjunction with the This document details the parameters of the Aggregate Server Access
Endpoint Name Resolution Protocol (ENRP) [5] provides a high Protocol (ASAP) and Endpoint Name Resolution Protocol (ENRP)
availability data transfer mechanism over IP networks. protocols defined within the Reliable Server Pooling (RSERPOOL)
architecture.
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 [4] and ENRP [5] documents.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . 3
2. Parameters in General . . . . . . . . . . . . . . . . . . 4 2. Parameters in General . . . . . . . . . . . . . . . . . . 4
3. ENRP-ASAP Common Parameters . . . . . . . . . . . . . . . 5 3. ENRP-ASAP Common Parameters . . . . . . . . . . . . . . . 5
3.1 IPv4 Address Parameter . . . . . . . . . . . . . . . . . . 6 3.1 IPv4 Address Parameter . . . . . . . . . . . . . . . . . . 6
3.2 IPv6 Address Parameter . . . . . . . . . . . . . . . . . . 7 3.2 IPv6 Address Parameter . . . . . . . . . . . . . . . . . . 7
3.3 SCTP Transport Parameter . . . . . . . . . . . . . . . . . 7 3.3 SCTP Transport Parameter . . . . . . . . . . . . . . . . . 7
skipping to change at page 2, line 29 skipping to change at page 2, line 25
3.5 UDP Transport Parameter . . . . . . . . . . . . . . . . . 9 3.5 UDP Transport Parameter . . . . . . . . . . . . . . . . . 9
3.6 Pool Member Selection Policy Parameter . . . . . . . . . . 10 3.6 Pool Member Selection Policy Parameter . . . . . . . . . . 10
3.6.1 Round Robin Policy . . . . . . . . . . . . . . . . . . . . 12 3.6.1 Round Robin Policy . . . . . . . . . . . . . . . . . . . . 12
3.6.2 Least Used Policy . . . . . . . . . . . . . . . . . . . . 12 3.6.2 Least Used Policy . . . . . . . . . . . . . . . . . . . . 12
3.6.3 Least Used with Degradation Policy . . . . . . . . . . . . 12 3.6.3 Least Used with Degradation Policy . . . . . . . . . . . . 12
3.6.4 Weighted Round Robin Policy . . . . . . . . . . . . . . . 13 3.6.4 Weighted Round Robin Policy . . . . . . . . . . . . . . . 13
3.7 Pool Handle Parameter . . . . . . . . . . . . . . . . . . 13 3.7 Pool Handle Parameter . . . . . . . . . . . . . . . . . . 13
3.8 Pool Element Parameter . . . . . . . . . . . . . . . . . . 13 3.8 Pool Element Parameter . . . . . . . . . . . . . . . . . . 13
3.9 Server Information Parameter . . . . . . . . . . . . . . . 15 3.9 Server Information Parameter . . . . . . . . . . . . . . . 15
3.10 Operation Error Parameter . . . . . . . . . . . . . . . . 16 3.10 Operation Error Parameter . . . . . . . . . . . . . . . . 16
3.10.1 Unrecognized Parameter Error . . . . . . . . . . . . . . . 17 3.10.1 Unspecified Error . . . . . . . . . . . . . . . . . . . . 17
3.10.2 Unrecognized Message Error . . . . . . . . . . . . . . . . 17 3.10.2 Unrecognized Parameter Error . . . . . . . . . . . . . . . 17
3.11 Cookie Parameter . . . . . . . . . . . . . . . . . . . . . 17 3.10.3 Unrecognized Message Error . . . . . . . . . . . . . . . . 17
3.12 PE Identifier Parameter . . . . . . . . . . . . . . . . . 18 3.10.4 Invalid Values Error . . . . . . . . . . . . . . . . . . . 17
3.13 Communication Restrictions Parameter . . . . . . . . . . . 18 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
4. Common Message Formats . . . . . . . . . . . . . . . . . . 20 4. Common Message Formats . . . . . . . . . . . . . . . . . . 20
5. Security Considerations . . . . . . . . . . . . . . . . . 22 5. Security Considerations . . . . . . . . . . . . . . . . . 22
Normative References . . . . . . . . . . . . . . . . . . . 23 Normative References . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . 23
Intellectual Property and Copyright Statements . . . . . . 25 Intellectual Property and Copyright Statements . . . . . . 25
1. Introduction 1. Introduction
Aggregate Server Access Protocol (ASAP) [4] in conjunction with the Aggregate Server Access Protocol (ASAP) [4] in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [5] provides a high Endpoint Name Resolution Protocol (ENRP) [5] provides a high
skipping to change at page 4, line 9 skipping to change at page 4, line 9
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
they appear in this document, are to be interpreted as described in they appear in this document, are to be interpreted as described in
RFC2119 [2]. RFC2119 [2].
2. Parameters in General 2. Parameters in General
All parameters described below MUST be in Network Byte Order (a.k.a. All parameters described below MUST be in Network Byte Order (a.k.a.
Big Endian, i.e., the most significant byte first) during Big Endian, i.e., the most significant byte first) during
transmission. For fields with a length bigger than 4 octets, a transmission.
number in a pair of parentheses may follow the field name to indicate
the length of the field in number of octets.
Please note that messages in both ENRP and ASAP are often composed of Please note that messages in both ENRP and ASAP are often composed of
multiple parameters. These parameters may also be nested. In such a multiple parameters. These parameters may also be nested. In such a
case a nested parameter will include the length of the padding case a nested parameter will include the length of the padding
between the nested parameters but not the last padding. between the nested parameters but not the last padding.
3. ENRP-ASAP Common Parameters 3. ENRP-ASAP Common Parameters
Parameters are defined in the following Type-length-value (TLV) Parameters are defined in the following Type-Length-Value (TLV)
format: format:
0 1 2 3 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 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 Type | Parameter Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: Parameter Value : : Parameter Value :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameter Type: 16 bits (unsigned integer) Parameter Type: 16 bits (unsigned integer)
The Type field is a 16 bit identifier of the type of parameter. It The Type field is a 16 bit identifier of the type of parameter. It
takes a value of 0 to 65534. takes a value of 0 to 65534.
The value of 65535 is reserved for IETF-defined extensions. Values The value of 65535 is reserved for IETF-defined extensions. Values
other than those defined in specific ENRP parameter description are other than those defined in specific ENRP parameter description are
reserved for use by IETF. reserved by IETF. (Additional types, when needed, will be defined in
the future through appropriate IETF/IANA procedures.)
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 Parameter Length does not
include any padding bytes that may appear at the end of this
parameter.
Parameter Value: variable-length.
The Parameter Value field contains the actual information to be
transferred in the parameter.
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 pads 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 SHOULD 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)
The Parameter Types are encoded such that the highest-order two bits The Parameter Types are encoded such that the highest-order two bits
specify the action that must be taken if the processing endpoint does specify the action that must be taken if the processing endpoint does
not recognize the Parameter Type. not recognize the Parameter Type.
00 Stop processing this ENRP or ASAP message and discard it, do not 00 Stop processing this ENRP or ASAP message and discard it, do not
process any further parameters within it. process any further parameters within it.
01 Stop processing this ENRP or ASAP message and discard it, do not 01 Stop processing this ENRP or ASAP message and discard it, do not
process any further parameters within it, and report the process any further parameters within it, and report the
skipping to change at page 6, line 41 skipping to change at page 6, line 20
0x3 - SCTP Transport 0x3 - SCTP Transport
0x4 - TCP Transport 0x4 - TCP Transport
0x5 - UDP Transport 0x5 - UDP Transport
0x6 - Pool Member Selection Policy 0x6 - Pool Member Selection Policy
0x7 - Pool Handle 0x7 - Pool Handle
0x8 - Pool Element 0x8 - Pool Element
0x9 - Server Information 0x9 - Server Information
0xa - Operation Error 0xa - Operation Error
0xb - Cookie 0xb - Cookie
0xc - PE Identifier 0xc - PE Identifier
0xd - Communication restrictions
others - (reserved by IETF) 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 3.1 IPv4 Address Parameter
This parameter defines a TLV that carries an IPv4 address. This parameter defines a TLV that carries an IPv4 address.
0 1 2 3 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 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 | | Type = 0x1 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address | | IPv4 Address |
skipping to change at page 8, line 30 skipping to change at page 8, line 30
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets, Indicates the entire length of the parameter in number of octets,
including the Type, Length, SCTP port, reserved fields, and all IP including the Type, Length, SCTP port, reserved fields, and all IP
address parameters present. address parameters present.
SCTP port: 16 bits (unsigned integer) SCTP port: 16 bits (unsigned integer)
The SCTP port number signed to this SCTP user transport. The SCTP port number signed to this SCTP user transport.
Transport use: 16 bits (unsigned interger) Transport use: 16 bits (unsigned integer)
This field represents how the pool element intends this transport This field represents how the pool element intends this transport
address to be used. The field MUST be populated with one of the address to be used. The field MUST be populated with one of the
following values: following values:
Type | Value Type | Value
------------------+---------------- ------------------+----------------
CONTROL or DATA | 0x0000 DATA ONLY | 0x0000
CONTROL ONLY | 0x0001 DATA plus CONTROL | 0x0001
DATA ONLY | 0x0002
IPv4 or IPv6 Address #1 - #n: IPv4 or IPv6 Address #1 - #n:
Each indicates an IPv4 or IPv6 address parameter (as defined above in 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. Section 3.1 and Section 3.2) assigned to this SCTP user transport. An
At least one IP address parameter MUST be present in an SCTP SCTP Transport parameter may have a mixed list of IPv4 and IPv6
transport parameter. addresses and at least one IP address parameter MUST be present in an
SCTP transport parameter.
3.4 TCP Transport Parameter 3.4 TCP Transport Parameter
This parameter defines a TLV that describes a user transport using This parameter defines a TLV that describes a user transport using
TCP protocol. TCP protocol.
0 1 2 3 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 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 | | Type = 0x4 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 9, line 27 skipping to change at page 9, line 27
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets, Indicates the entire length of the parameter in number of octets,
including the Type, Length, TCP port, reserved fields, and IP address including the Type, Length, TCP port, reserved fields, and IP address
parameter. parameter.
TCP port: 16 bits (unsigned integer) TCP port: 16 bits (unsigned integer)
The TCP port number signed to this TCP user transport. The TCP port number signed to this TCP user transport.
Transport use: 16 bits (unsigned interger) Transport use: 16 bits (unsigned integer)
This field represents how the pool element intends this transport This field represents how the pool element intends this transport
address to be used. The field MUST be populated with one of the address to be used. The field MUST be populated with one of the
following values: following values:
Type | Value Type | Value
------------------+---------------- ------------------+----------------
CONTROL or DATA | 0x0000 DATA ONLY | 0x0000
CONTROL ONLY | 0x0001 DATA plus CONTROL | 0x0001
DATA ONLY | 0x0002
IPv4 or IPv6 Address: IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in Indicates an IPv4 or IPv6 address parameter (as defined above in
Section 3.1 and Section 3.2) assigned to this TCP user transport. 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 Unlike in an SCTP transport, only one IP address parameter can be
present in a TCP transport parameter. present in a TCP transport parameter.
3.5 UDP Transport Parameter 3.5 UDP Transport Parameter
skipping to change at page 10, line 39 skipping to change at page 10, line 39
Unlike in an SCTP transport, only one IP address parameter can be Unlike in an SCTP transport, only one IP address parameter can be
present in a UDP transport parameter. present in a UDP transport parameter.
Note: A UDP port MUST NOT be used for control information. For this Note: A UDP port MUST NOT be used for control information. For this
reason, no Transport Use field is provided. UDP MUST always be reason, no Transport Use field is provided. UDP MUST always be
treated as a "Data Only" type transport use. treated as a "Data Only" type transport use.
3.6 Pool Member Selection Policy Parameter 3.6 Pool Member Selection Policy Parameter
This parameter defines a pool member selection policy. RSERPOOL This parameter defines a pool member selection policy. RSERPOOL
supports multiple pool member selection polices and also allows supports multiple pool member selection policies and also allows
definition of new selection polices in the future. definition of new selection policies in the future.
The enforcement rules and handling procedures of all the policies are The enforcement rules and handling procedures of all the policies are
defined in Section xxxxx in ASAP [4]. defined in Section xxxxx in ASAP [4].
All pool member selection policies, both present and future, MUST use All pool member selection policies, both present and future, MUST use
the following general parameter format: the following general parameter format:
0 1 2 3 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 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 | | Type = 0x6 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy Type | Policy-specific Data.... | Policy Type | Policy-specific Data....
+-+-+-+-+-+-+-+-+------------------------------------------------ +-+-+-+-+-+-+-+-+------------------------------------------------
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets, Indicates the entire length of the parameter in number of octets,
including the Type, Length, Policy Type fields, and the including the Type, Length, Policy Type, and the Policy-specific Data
Policy-specific Data. fields.
Note, the value in Length field will NOT cover any padding at the end Note, the Length field value will NOT include any padding at the end
of the parameter, if there is one. of the parameter.
Policy Type: 8 bits (unsigned integer) Policy Type: 8 bits (unsigned integer)
Specifies the type of selection policy. Specifies the type of selection policy.
Currently defined policy types are: Currently defined policy types are:
Value Policy Value Policy
----- --------- ----- ---------
0x0 (reserved by IETF) 0x0 (reserved by IETF)
skipping to change at page 13, line 49 skipping to change at page 13, line 49
of the parameter. of the parameter.
Pool Handle: Pool Handle:
defined as a sequence of (Length - 4) bytes. defined as a sequence of (Length - 4) bytes.
3.8 Pool Element Parameter 3.8 Pool Element Parameter
This parameter is used in multiple ENRP messages to represent an ASAP 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 endpoint (i.e., a PE in a pool) and the associated information, such
as its transport address(es), selection policy, and other operational as its transport address, selection policy, and other operational or
or status information of the PE. status information of the PE.
0 1 2 3 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 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 | | Type = 0x8 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Identifier | | PE Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Home ENRP Server Identifier | | Home ENRP Server Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Registration Life | | Registration Life |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #1 : : User Transport param :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: ..... :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #k :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Member Selection Policy param : : Member Selection Policy param :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets, Indicates the entire length of the parameter in number of octets,
including the Type, Length, PE Identifier, Registration Life, all including the Type, Length, PE Identifier, Registration Life, User
User Transports, and Member Selection Policy parameters. Transport, and Member Selection Policy parameters.
Note, the value in Length field will NOT cover any padding at the end Note, the value in Length field will NOT cover any padding at the end
of this Pool Element parameter. of this Pool Element parameter.
PE Identifier: 32 bits (unsigned integer) PE Identifier: 32 bits (unsigned integer)
Uniquely identifies the PE in the pool. The PE picks its identifier Uniquely identifies the PE in the pool. The PE picks its identifier
when it starts up. See Section ???? in [ASAP] for recommendations on when it starts up. See Section ???? in [ASAP] for recommendations on
PE identifier generation. PE identifier generation.
Home ENRP Server Identifier: 32 bits (unsigned integer) Home ENRP Server Identifier: 32 bits (unsigned integer)
Indicates the current home ENRP server of this PE. Set to all 0's if Indicates the current home ENRP server of this PE. Set to all 0's if
the PE's home ENRP server is undetermined. the PE's home ENRP server is undetermined.
Registration Life: 32 bits (signed integer) Registration Life: 32 bits (signed integer)
Indicates the life time of the registration in number of seconds. A Indicates the life time of the registration in number of seconds. A
value of -1 indicates infinite life time. value of -1 indicates infinite life time.
User Transport #1-#k: User Transport:
Each of the User Transport parameters in a PE parameter can be either This can be either an SCTP, TCP, or UDP type transport parameter (see
an SCTP, TCP, or UDP type transport parameter (see Section 3.3, Section 3.3, Section 3.4, Section 3.5). A PE MUST have one and only
Section 3.4, Section 3.5). A PE MUST have at least 1 User Transport one User Transport.
and MAY have multiple User Transports. When multiple transports are
present, they MAY be of mixed types (i.e., SCTP, TCP, and UDP).
Member Selection Policy: Member Selection Policy:
Contains one of the defined member selection policy parameters (see Contains one of the defined member selection policy parameters (see
Section 3.6). Section 3.6).
3.9 Server Information Parameter 3.9 Server Information Parameter
This parameter is used in ENRP to pass basic information of an ENRP This parameter is used in ENRP to pass basic information of an ENRP
server. server.
skipping to change at page 16, line 38 skipping to change at page 16, line 28
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets. 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 Note, the value in Length field will NOT cover any padding at the end
of the parameter. of the parameter.
Error causes are defined as variable-length parameters using the Error causes are defined as variable-length parameters using the
format described in 3.2.1 of RFC2960 [3], i.e.: following format:
0 1 2 3 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 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 Code | Cause Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: Cause-specific Information : : Cause-specific Information :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Cause Code: 16 bits (unsigned integer) Cause Code: 16 bits (unsigned integer)
Defines the type of error condition being reported. Defines the type of error condition being reported.
Cause Code Cause Code
Value Cause Code Value Cause Code
--------- ---------------- --------- ----------------
0 Unspecified Error
1 Unrecognized Parameter 1 Unrecognized Parameter
2 Unrecognized Message 2 Unrecognized Message
3 Invalid Values 3 Invalid Values
4 Non-unique PE Identifier 4 Non-unique PE Identifier
5 Pooling Policy Inconsistent 5 Inconsistent Pooling Policy
6 Lack of Resources 6 Lack of Resources
7 Inconsistent Transport Type
8 Inconsistent Data/Control Configuration
other values reserved by IETF other values reserved by IETF
Cause Length: 16 bits (unsigned integer) Cause Length: 16 bits (unsigned integer)
Set to the size of the parameter in bytes, including the Cause Code, Set to the size of the parameter in bytes, including the Cause Code,
Cause Length, and Cause-Specific Information fields, but not Cause Length, and Cause-Specific Information fields, but not
including any padding at the end of this error cause TLV. including any padding at the end of this error cause TLV.
Cause-specific Information: variable length Cause-specific Information: variable length
This field carries the details of the error condition. This field carries the details of the error condition.
The following subsections (Section 3.10.1 - Section 3.10.2) define The following subsections (Section 3.10.1 - Section 3.10.9) define
specific error causes. specific error causes.
3.10.1 Unrecognized Parameter Error 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 This error cause is used to report an unrecognized parameter. The
unrecognized parameter is included as cause specific information. unrecognized parameter TLV is included as cause specific information.
3.10.2 Unrecognized Message Error 3.10.3 Unrecognized Message Error
This error cause is used to report an unrecognized message. The This error cause is used to report an unrecognized message. The
unrecognized message is included as cause specific information. 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.
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 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 3.11 Cookie Parameter
This parameter defines a TLV that carries a Cookie. This parameter defines a TLV that carries a Cookie.
0 1 2 3 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 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 | | Type = 0xb | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 18, line 31 skipping to change at page 20, line 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Identifier | | PE Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PE Identifier: 32 bits (unsigned integer) PE Identifier: 32 bits (unsigned integer)
Uniquely identifies the PE in the pool. The PE picks its identifier Uniquely identifies the PE in the pool. The PE picks its identifier
when it starts up. See Section ???? in [ASAP] for recommendations on when it starts up. See Section ???? in [ASAP] for recommendations on
PE identifier generation. PE identifier generation.
3.13 Communication Restrictions Parameter
This parameter defines a TLV that can be used by the sender to
restrict name server searches to a limited number of transport types.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Type | Data Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Control Type: 16 bits (unsigned integer)
This field requests the search be restricted to PE's that have a
control channel type of the specified value. One of the following
values MUST be used:
Type | Value
-----------+-------------
ANY | 0x0000
SCTP ONLY | 0x0001
TCP ONLY | 0x0002
Data Type: 16 bits (unsigned integer)
This field requests the search be restricted to PE's that have a data
channel type of the specified type. One of the following values MUST
be used:
Type | Value
-----------+-------------
ANY | 0x0000
SCTP ONLY | 0x0001
TCP ONLY | 0x0002
UDP ONLY | 0x0003
4. Common Message Formats 4. Common Message Formats
The figure below illustrates the common format for all ASAP and ENRP The figure below illustrates the common format for all ASAP and ENRP
messages. Each message is formatted with a Message Type field, a messages. Each message is formatted with a Message Type field, a
message-specific Flag field, a Message Length field, and a Value message-specific Flag field, a Message Length field, and a Value
field. field.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 20, line 36 skipping to change at page 20, line 36
255 is reserved for future use as an extension field. 255 is reserved for future use as an extension field.
Message Types are encoded such that the highest-order two bits Message Types are encoded such that the highest-order two bits
specify the action that must be taken if the message receiver does specify the action that must be taken if the message receiver does
not recognize the Message Type. not recognize the Message Type.
00 Stop processing this message and discard it. 00 Stop processing this message and discard it.
01 Stop processing this message and discard it, and report the 01 Stop processing this message and discard it, and report the
unrecognized message in an 'Unrecognized Message' error (see unrecognized message in an 'Unrecognized Message' error (see
Section Section 3.10.2). Section Section 3.10.3).
10 reserved. 10 reserved.
11 reserved. 11 reserved.
Message Flags: 8 bits Message Flags: 8 bits
The usage of these bits depends on the message type as given by the 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 Message Type. Unless otherwise specified, they are set to zero on
transmit and are ignored on receipt. transmit and are ignored on receipt.
Message Length: 16 bits (unsigned integer) Message Length: 16 bits (unsigned integer)
This value represents the size of the message in bytes including the This value represents the size of the message in bytes including the
Message Type, Message Flags, Message Length, and Message Value Message Type, Message Flags, Message Length, and Message Value
fields. Therefore, if the Message Value field is zero-length, the fields. Therefore, if the Message Value field is zero-length, the
Length field will be set to 4. The Message Length field does not Length field will be set to 4.
count any padding.
Note, the value in Message Length field will NOT cover any padding at Note, the value in Message Length field will NOT cover any padding at
the end of this message. the end of this message.
Message Value: variable length Message Value: variable length
The Message Value field contains the actual information to be The Message Value field contains the actual information to be
transferred in the message. The usage and format of this field is transferred in the message. The usage and format of this field is
dependent on the Message Type. dependent on the Message Type.
The total length of a message (including Type, Length and Value 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 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 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 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 field. The sender should never pad with more than 3 bytes. The
receiver MUST ignore the padding bytes. receiver MUST ignore the padding bytes.
5. Security Considerations 5. Security Considerations
This document contains common parameter formats only. As such it This document contains common parameter formats only. As such it
specifies no new security constraints on either ENRP or ASAP. specifies no new security constraints on either ENRP or ASAP. Details
Details on ENRP and ASAP security constraints are a addressed in ENRP on ENRP and ASAP security constraints are addressed in ENRP [5] and
[5] and ASAP [4] . ASAP [4] .
Normative References Normative References
[1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996. 9, RFC 2026, October 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[3] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, [3] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson,
"Stream Control Transmission Protocol", RFC 2960, October 2000. "Stream Control Transmission Protocol", RFC 2960, October 2000.
[4] Stewart, R., Xie, Q. and M. Stillman, "Aggregate Server Access [4] Stewart, R., Xie, Q. and M. Stillman, "Aggregate Server Access
Protocol (ASAP)", draft-ietf-rserpool-common-param-01 (work in Protocol (ASAP)", draft-ietf-rserpool-common-param-01 (work in
progress), May 2002. progress), May 2002.
[5] Xie, Q., Stewart, R. and M. Stillman, "Enpoint Name Resolution [5] Xie, Q., Stewart, R. and M. Stillman, "Endpoint Name Resolution
Protocol (ENRP)", draft-ietf-rserpool-enrp-04 (work in Protocol (ENRP)", draft-ietf-rserpool-enrp-04 (work in
progress), May 2002. progress), May 2002.
Authors' Addresses Authors' Addresses
Randall R. Stewart Randall R. Stewart
Cisco Systems, Inc. Cisco Systems, Inc.
8725 West Higgins Road 8725 West Higgins Road
Suite 300 Suite 300
Chicago, IL 60631 Chicago, IL 60631
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/