message to perform reverse address
translation. This flag is set if CARD
protocol messages are piggybacked with
a protocol that performs reverse
address translation. For details,
refer to Section 4.4 of this document.
T-flag: Indicates that the requesting entity is
interested in obtaining all
certificates from the responder. This
flag is only valid on the AR-AR
interface.
The flag combination A=1 and C=0 is invalid, and the flag
T=1 is invalid on the MN-AR interface. The AR MUST
discard an invalid message and log an appropriate error
message.
Reserved:
Initialized to zero, ignored on receipt.
Sequence Number:
Allows requests to be correlated with replies.
Valid Sub-Options:
- L2 ID sub-option
- Preferences sub-option
- Requirements sub-option
- Trusted Anchor sub-option
To ensure that requirements on boundary alignment are met, individual
sub-options MUST meet the 64-bit boundary alignment requirements
respectively. This will ensure that the entire CARD Request option
meets the 8n alignment constraint.
5.1.2.2. CARD Reply Option
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 | Length |Vers.|P|U|L| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Options
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Fields:
Type: Assigned by IANA for IPv4 and IPv6 [Ke04].
Length: The length of the option in units of 8 octets, including
the type and length fields as well as sub-options.
Vers.: 3-bit version code. For this specification, Vers.=1.
Flags: P-flag: Indicates the CARD-protocol message
piggybacking capability of the CARD
Reply message sender. A description
for proper use of this flag can be
found in Section 4.4 of this document.
U-flag: Indicates an unsolicited CARD Reply.
This flag is only valid on the AR-AR
interface.
L-flag: Set if this message is the last message
in a multiple ICMP message reply. This
flag is only valid on the MN-AR
interface.
The flag U=1 on an AR-MN message is invalid. An invalid
message should be discarded and an appropriate error
message logged.
Reserved:
Initialized to zero, ignored on receipt.
Sequence Number:
Allows requests to be correlated with replies.
Valid Sub-Options:
- L2 ID sub-option
- Capability Container sub-option
- Address sub-option
- Router Certificate sub-option
To ensure requirements on boundary alignment are met, individual
sub-options MUST meet 64-bit boundary alignment requirements
respectively. This will ensure that the entire CARD Request option
meets the 8n alignment constraint.
5.1.3. Sub-Options Format
All sub-options are of the following form:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Sub-Option Data . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub-Option Type: 8-bit identifier of the type of option. The
sub-options defined in this document are listed
in the table below. The table also indicates
on which interfaces the sub-option is valid.
Description Type Interface
| | / \
| | MN-AR AR-AR
---------------------------------------------------------------
L2 ID 0x01 x
Address 0x02 x
Capability Container 0x03 x x
Preferences 0x04 x x
Requirements 0x05 x
Trusted Anchor 0x06 x
Router Certificate 0x07 x x
Sub-Option-Length: 8-bit unsigned integer indicating the length of
the sub-option, including the sub-option type and
sub-option length fields. Sub-option lengths are
in units of 8 octets, aligned on a 64-bit
boundary. Sub-options that are shorter are padded
with null octets; the extent of the padding is
determined by the sub-option contents.
5.1.3.1. L2 ID Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Context-ID | Status Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| L2-Type | L2 ID . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Sub-Option Type:
0x01
Sub-Option Length:
Length of the sub-option.
Context-ID: Associates the L2 ID, IP address and other parameters
that belong to the same AR IP address but are encoded
in separate sub-options.
Status Code: This field allows ARs to inform a requesting entity
about processing results for a particular L2 ID. The
L2 ID sub-option MUST be sent back to the requesting
entity with a CARD Reply message.
The following status codes are specified:
0x00: NONE - This value MUST be set when the L2 ID is
included in a CARD Request.
0x01: CANDIDATE - MUST be set in a CARD Reply when a
L2 ID sub-option is included with information
about candidate APs’ L2 IDs. Candidate L2 IDs
are sent if the CARD Request did not include a
specific L2 ID for resolution. If CANDIDATE is
set, the AR MUST set the Context-ID field of
individual parameters to a value that allows
associated L2 ID, address, and capability
information to be matched on the receiver side.
0x02: MATCH - MUST be set in the CARD Reply to
identify that this L2 ID matches previously
resolved CAR information for a different L2 ID.
If MATCH is set, the AR sets the Context-ID in
the L2-ID sub-option to identify the matching
previously resolved L2 ID.
0x03: RESOLVER ERROR - MUST be set in the CARD Reply
if the L2 ID cannot be resolved. The AR sets
this value for the Status Code in the returned
L2 ID sub-option.
L2 type: Indicates the interface type. Allocated by IANA
[Ke04].
L2 ID: The variable length Layer-2 identifier of an
individual CAR’s access point. The length without
padding is determined by the L2 type.
5.1.3.2. Preferences Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Preferences
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub-Option Type:
0x04
Sub-Option Length:
Length of the sub-option.
Preferences: List of capability attribute values (see Section
5.1.4).
Only ATTRIBUTE (AVP Code; see Section 5.1.4) fields MUST be present
and set for individual capabilities, which are of interest to the
requesting entity. The LIFETIME and VALUE (Data) indicator will not
be processed and can be omitted. The AVP LENGTH indicator is also
not present, as the preferences are indicated only with a list of
16-bit encoded ATTRIBUTE fields. If 64-bit boundary alignment
requirements cannot be met with the list of ATTRIBUTE values, padding
the missing 16-bit MUST be done with an ATTRIBUTE value of 0x0000.
An ATTRIBUTE code of 0x0 is reserved so that the end of the ATTRIBUTE
code list can be determined when an ATTRIBUTE value of 0x0 is read.
The use of the Preferences sub-option is optional and is for
optimization purposes.
5.1.3.3. Requirements Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Requirements
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub-Option Type:
0x05
Sub-Option Length:
Length of the sub-option.
Requirements: AVP-encoded requirements (see Section 5.1.4)
AVPs MUST be encoded according to the rule described in Section
5.1.4. Both the ATTRIBUTE (AVP Code) and VALUE (Data) fields MUST be
present and set appropriately. The end of the Requirements list can
be determined when an ATTRIBUTE value of 0x0 is read.
The use of the Requirements sub-option is optional and is for
optimization purposes.
5.1.3.4. Capability Container Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Context-ID |P| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AVPs
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Sub-Option Type:
0x03
Sub-Option Length:
Length of the sub-option.
Context-ID: Associates the L2 ID, IP address, and other parameters
that belong to the same AR IP address but are encoded
in separate sub-options.
Flags: P-flag: Indicates piggybacking capability of the CAR
whose capabilities are conveyed in this
Capability Container. This flag allows an MN
to know after a CARD process whether a
selected new AR can perform piggybacking.
Reserved: Initialized to zero, ignored on receipt.
AVPs: AVPs are a method of encapsulating capability
information relevant for the CARD protocol. See
Section 5.1.4 for the AVP encoding rule and list
parsing.
5.1.3.5. Address Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Context-ID | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - -
Sub-Option Type:
0x02
Sub-Option Length:
Length of the sub-option. For IPv4, the length is 1
(8 octets); for IPv6 the length is 3 (24 octets).
Context-ID: Associates the L2 ID, IP address, and other parameters
that belong to the same AR IP address but are encoded
in separate sub-options.
Address Type: Indicates the type of the address.
0x01 IPv4
0x02 IPv6
Address: The Candidate Access Router’s IP address.
5.1.3.6. Trusted Anchor Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Component |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Trusted Anchor Name
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - -
Sub-Option Type:
0x06
Sub-Option Length:
Length of the sub-option.
Reserved: Initialized to zero, ignored on receipt.
Component: A 2 octet unsigned integer field set to 65,535 if the
sender desires to retrieve all the certificates in the
certification path. Otherwise, it is set to the
component identifier corresponding to the certificate
that the receiver wants to retrieve.
Trusted Anchor Name:
DER encoding for the X.501 name of certification path
component(see [Arkko04] for more detail on
certification path component name encoding).
A CARD Request message containing Trusted Anchor sub-options MUST NOT
contain any other sub-options, except for a single L2 ID sub-option
identifying the AP of interest.
Trusted anchor sub-options SHOULD be retransmitted for individual
components not received within CARD_REQUEST_RETRY seconds, rather
than retransmitting a request for the whole list. Subsequent
retransmissions SHOULD take into account any received options and
only request those that have not been received.
5.1.3.7. Router Certificate Sub-Option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Option Type|Sub-Option Len | Context-ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| All Components | Component |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Certificate... |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub-Option Type:
0x07
Sub-Option Length:
Length of the sub-option.
Context-ID: Associates the L2 ID, IP address and other parameters
that belong to the same AR IP address but are encoded
in separate sub-options.
Reserved: Initialized to zero, ignored on receipt.
All Components:
2 octet unsigned integer giving the total number of
certificates in the certification path.
Component: 2 octet unsigned integer giving the location of this
certificate in the certification path.
Certificate: Variable-length field containing the X.509v3 router
certificate encoded in ASN.1 (see [Arkko04] for more
detail on a certificate profile that includes
encoding).
Padding: Variable-length field making the option length a
multiple of 8, beginning after the ASN.1 encoding of
the certificate and continuing to the end of the
option, as specified by the Length field.
A CARD Reply containing a Router Certificate sub-option MUST NOT
include more than one such sub-option, and the CARD Reply MUST
contain the matching L2 ID sub-option and router Address sub-option