Network Working Group R. R. Stewart
INTERNET-DRAFT Cisco Systems Inc.
Q. Xie
Motorola, Inc.
expires in six months May 2, 2002
Aggregate Server Access Protocol and
Endpoint Name Resolution Protocol
Common Parameters
<draft-ietf-rserpool-common-param-00.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.
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.
Abstract
Aggregate Server Access Protocol (ASAP) in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [ENRP] 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] and [ENRP] documents.
Table Of Contents
1. Introduction...............................................2
1.1 Conventions...............................................2
2. Parameters in General......................................2
3. ENRP-ASAP Common Parameters................................3
3.1 IPv4 Address Parameter....................................4
3.2 IPv6 Address Parameter ...................................5
3.3 SCTP Transport Parameter..................................5
3.4 TCP Transport Parameter...................................6
3.5 UDP Transport Parameter...................................6
3.6. Pool Member Selection Policy Parameter...................7
3.6.1 Round Robin Policy......................................8
Stewart, Xie [Page 1]
Internet Draft ASAP and ENRP Common Parameters May 2002
3.6.2 Least Used Policy.......................................8
3.6.3 Least Used with Degradation Policy......................8
3.6.4 Weighted Round Robin Policy.............................9
3.7 Pool Handle Parameter.....................................9
3.8 Pool Element Parameter....................................9
3.9 Pool Element Handle Parameter.............................11
3.10 Server Information Parameter.............................11
3.11 Operation Error Parameter................................12
3.11.1 Unrecognized Parameter Error...........................13
3.11.2 Unrecognized Message Error.............................14
3.11.3 Authorization Failure Error............................14
3.11.4 Invalid Values Error...................................14
3.11.5 Non-unique PE Identifier Error.........................15
3.11.6 Pooling Policy Inconsistent Error......................15
4. Common Message Formats.....................................15
5. Security Considerations....................................17
6. References.................................................17
7. Acknowledgments............................................17
8. Authors' Addresses.........................................17
1. Introduction
Aggregate Server Access Protocol (ASAP) in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [ENRP] 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] and [ENRP] 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. Parameters in General
All parameters parameters described below MUST be in Network Byte
Order (a.k.a. Big Endian, i.e., the most significant byte first)
during transmission. For fields with a length bigger than 4 octets,
a 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 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
Stewart, Xie [Page 2]
Internet Draft ASAP and ENRP Common Parameters May 2002
but not the last padding.
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 for use 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
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
Stewart, Xie [Page 3]
Internet Draft ASAP and ENRP Common Parameters May 2002
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.
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.11?).
The values of parameter types are defined as follows:
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 - Pool Element Handle
0xa - Server Information
0xb - Operation Error
others - (reserved by IETF)
3.1 IPv4 Address Parameter
This parameter defines a TLV that carries an IPv4 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 = 0x1 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv4 Address: 32 bits (unsigned integer)
Contains an IPv4 address. It is binary encoded.
Stewart, Xie [Page 4]
Internet Draft ASAP and ENRP Common Parameters May 2002
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 = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| 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.
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 | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: 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.
IPv4 or IPv6 Address #1 - #n:
Each indicates an IPv4 or IPv6 address parameter (as defined
above in sections 3.1 and 3.2) assigned to this SCTP user
transport. At least one IP address parameter MUST be present in
Stewart, Xie [Page 5]
Internet Draft ASAP and ENRP Common Parameters May 2002
an SCTP transport parameter.
3.4 TCP Transport Parameter
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 | (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, TCP port, reserved fields,
and IP address parameter.
TCP port: 16 bits (unsigned integer)
The TCP port number signed to this TCP user transport.
IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in
sections 3.1 and 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.
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
Stewart, Xie [Page 6]
Internet Draft ASAP and ENRP Common Parameters May 2002
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
sections 3.1 and 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.
3.6. Pool Member Selection Policy Parameter
This parameter defines a pool member selection policy. RSERPOOL
supports multiple pool member selection polices and also allows
definition of new selection polices in the future.
The enforcement rules and handling procedures of all the policies
are defined in Section xxxxx in [ASAP].
All pool member selection policies, both present and future, MUST
use the following general parameter 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 fields,
and the Policy-specific Data.
Note, the value in Length field will NOT cover any padding at
the end of the parameter, if there is one.
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
Stewart, Xie [Page 7]
Internet Draft ASAP and ENRP Common Parameters May 2002
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.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, Xie [Page 8]
Internet Draft ASAP and ENRP Common Parameters May 2002
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Weight: 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 string :
: :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 NULL terminated ASCII string.
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(es), selection policy,
and other operational or status information of the PE.
Stewart, Xie [Page 9]
Internet Draft ASAP and ENRP Common Parameters May 2002
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Registration Life |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #1 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: ..... :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #k :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: 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, all User Transports, 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.
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 #1-#k:
Each of the User Transport parameters in a PE parameter can be
either an SCTP, TCP, or UDP type transport parameter (see
sections 3.3, 3.4, 3.5). A PE MUST have at least 1 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:
Stewart, Xie [Page 10]
Internet Draft ASAP and ENRP Common Parameters May 2002
Contains one of the defined member selection policy parameters
(see section 3.6).
3.9 Pool Element Handle Parameter
This parameter is used to encode a logical handler that points to
an individual PE in a specific pool.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Pool Handle Parameter :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: PE's User 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.
Pool Handle:
Specifies the pool to which the PE belongs.
PE's User Transport:
Indicates the user transport (or one of the user transports) of
the PE. This can be either an SCTP, TCP, or UDP type transport.
3.10 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 = 0xa | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|M| (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Server Transport :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Stewart, Xie [Page 11]
Internet Draft ASAP and ENRP Common Parameters May 2002
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 (unsiged integer)
This is the ID of the ENRP server, as defined in Section 4.2.1?
in [ENRP].
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.
3.11 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 = 0xb | 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
Stewart, Xie [Page 12]
Internet Draft ASAP and ENRP Common Parameters May 2002
format described in 3.2.1, i.e.:
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.
Cause Code
Value Cause Code
--------- ----------------
0x0 (reserved by IETF)
0x1 Unrecognized Parameter
0x2 Unrecognized Message
0x3 Authorization Failure
0x4 Invalid Values
0x5 Non-unique PE Identifier
0x6 Pooling Policy Inconsistent
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 (3.11.1 - 3.11.6) define specific error
causes.
3.11.1 Unrecognized Parameter Error
This error cause is used by a receiver to report an unrecognized
parameter found in a received message to the message sender.
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 = 0x1 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Offending Parameter TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Stewart, Xie [Page 13]
Internet Draft ASAP and ENRP Common Parameters May 2002
Offending Parameter TLV:
The complete TLV of the parameter that the receiver of the
message fails to recognize.
3.11.2 Unrecognized Message Error
This error cause is used by a receiver to report an unrecognized
message type to the message sender.
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 = 0x2 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Offending Message TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Offending Message TLV:
The complete TLV of the receive message whose type the receiver
of the message fails to recognize.
3.11.3 Authorization Failure Error
This error cause is used by a message receiver to report to the
message sender that the received message has failed the
authorization check.
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 = 0x3 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: [TBD]
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.11.4 Invalid Values Error
This error cause is used by a message receiver to report to the
message sender that the received message has one or more fields
that contains an invalid value.
Stewart, Xie [Page 14]
Internet Draft ASAP and ENRP Common Parameters May 2002
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 = 0x4 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: [TBD]
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.11.5 Non-unique PE Identifier Error
This error cause is used by an ENRP server to report a collission
between two PE identifers (i.e., two PEs try to register with the
same PE identifer).
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 = 0x5 | Cause Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bad PE Identifer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Bad PE Identifer:
This is the value of the PE identifer which is found colliding
with an existing PE identifer.
3.11.6 Pooling Policy Inconsistent Error
This error cause is used by an ENRP server to report an
inconsistancy between the selection policy of a registering PE and
the current overall pool 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x2 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Offending Policy TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Offending Policy TLV:
The complete TLV of the selection policy parameter (see Section
3.6?) that is found in conflict with the current pool policy.
4. Common Message Formats
The figure below illustrates the common format for all ASAP and
Stewart, Xie [Page 15]
Internet Draft ASAP and ENRP Common Parameters May 2002
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.11).
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 Length field will be set to 4. The Message
Length field does not count any padding.
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
Stewart, Xie [Page 16]
Internet Draft ASAP and ENRP Common Parameters May 2002
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.
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 a
addressed in [ENRP] and [ASAP].
6. References
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[ENRP] Q. Xie, R. R. Stewart "Endpoint Name Resolution Protocol",
draft-ietf-rserpool-enrp-01.txt, work in progress.
[ASAP] R. R. Stewart, Q. Xie: "Aggregate Server Access Protocol
(ASAP)", <draft-ietf-rserpool-asap-00.txt>, work in progress.
7. Acknowledgments
The authors wish to thank John Loughney, Lyndon Ong, and Maureen
Stillman and many others for their invaluable comments.
8. Authors' Addresses
Randall R. Stewart Tel: +1-815-477-2127
Cisco Systems, Inc. EMail: rrs@cisco.com
8725 West Higgins Road
Suite 300
Chicago, Ill 60631
Qiaobing Xie Phone: +1-847-632-3028
Motorola, Inc. EMail: qxie1@email.mot.com
1501 W. Shure Drive, #2309
Arlington Heights, IL 60004
USA
Stewart, Xie [Page 17]
Internet Draft ASAP and ENRP Common Parameters May 2002
Expires in six months from May 2, 2002
Stewart, Xie [Page 18]