summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4066.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4066.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4066.txt')
-rw-r--r--doc/rfc/rfc4066.txt2579
1 files changed, 2579 insertions, 0 deletions
diff --git a/doc/rfc/rfc4066.txt b/doc/rfc/rfc4066.txt
new file mode 100644
index 0000000..6ad2001
--- /dev/null
+++ b/doc/rfc/rfc4066.txt
@@ -0,0 +1,2579 @@
+
+
+
+
+
+
+Network Working Group M. Liebsch, Ed.
+Request for Comments: 4066 A. Singh, Ed.
+Category: Experimental H. Chaskar
+ D. Funato
+ E. Shim
+ July 2005
+
+
+ Candidate Access Router Discovery (CARD)
+
+Status of This Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. It does not specify an Internet standard of any kind.
+ Discussion and suggestions for improvement are requested.
+ Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2005).
+
+Abstract
+
+ To enable seamless IP-layer handover of a mobile node (MN) from one
+ access router (AR) to another, the MN is required to discover the
+ identities and capabilities of candidate ARs (CARs) for handover
+ prior to the initiation of the handover. The act of discovery of
+ CARs has two aspects: identifying the IP addresses of the CARs and
+ finding their capabilities. This process is called "candidate access
+ router discovery" (CARD). At the time of IP-layer handover, the CAR,
+ whose capabilities are a good match to the preferences of the MN, is
+ chosen as the target AR for handover. The protocol described in this
+ document allows a mobile node to perform CARD.
+
+Table of Contents
+
+ 1. Introduction.................................................. 2
+ 2. Terminology................................................... 3
+ 3. CARD Protocol Functions....................................... 4
+ 3.1. Reverse Address Translation............................. 4
+ 3.2. Discovery of CAR Capabilities........................... 4
+ 4. CARD Protocol Operation....................................... 4
+ 4.1. Conceptual Data Structures.............................. 7
+ 4.2. Mobile Node - Access Router Operation................... 8
+ 4.3. Current Access Router - Candidate Access Router
+ Operation............................................... 11
+ 4.4. CARD Protocol Message Piggybacking on the MN-AR
+ Interface............................................... 13
+
+
+
+Liebsch, et al. Experimental [Page 1]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 5. Protocol Messages............................................. 14
+ 5.1. CARD Messages for the Mobile Node-Access Router
+ Interface............................................... 14
+ 5.2. CARD Inter-Access Router Messages....................... 28
+ 6. Security Considerations....................................... 31
+ 6.1. Veracity of CARD Information............................ 31
+ 6.2. Security Association between AR and AR.................. 31
+ 6.3. Security Association between AR and MN.................. 32
+ 6.4. Router Certificate Exchange............................. 32
+ 6.5. DoS Attack.............................................. 34
+ 6.6. Replay Attacks.......................................... 34
+ 7. Protocol Constants............................................ 34
+ 8. IANA Considerations........................................... 35
+ 9. Normative References.......................................... 35
+ 10. Informative References........................................ 35
+ 11. Contributors.................................................. 36
+ 12. Acknowledgements.............................................. 36
+ Appendix A. Maintenance of Address Mapping Tables in
+ Access Routers....................................... 37
+ Appendix A.1. Centralized Approach Using a Server Functional
+ Entity.......................................... 37
+ Appendix A.2. Decentralized Approach Using Mobile Terminals'
+ Handover........................................ 38
+ Appendix B. Application Scenarios................................ 40
+ Appendix B.1. CARD Operation in a Mobile IPv6-Enabled Wireless
+ LAN Network..................................... 40
+ Appendix B.2. CARD Operation in a Fast Mobile IPv6-Enabled
+ Network......................................... 43
+
+1. Introduction
+
+ IP mobility protocols, such as Mobile IP, enable mobile nodes to
+ execute IP-level handover among access routers. Work is underway
+ [Kood03][Malk03] to extend the mobility protocols to allow seamless
+ IP handover. Seamless IP mobility protocols will require knowledge
+ of candidate access routers (CARs) to which a mobile node can be
+ transferred. The CAR discovery protocol enables the acquisition of
+ information about the access routers that are candidates for the
+ mobile node's next handover.
+
+ CAR discovery involves identifying a CAR's IP address and the
+ capabilities that the mobile node might use for a handover decision.
+ There are cases in which a mobile node has a choice of CARs. The
+ mobile node chooses one according to a match between the mobile
+ node's requirements for a handover candidate and the CAR's
+ capabilities. However, the decision algorithm itself is out of the
+ scope of this document.
+
+
+
+
+Liebsch, et al. Experimental [Page 2]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ The problem statement for CAR discovery is documented in [TKCK02].
+ In this document, a protocol is described to perform CAR discovery.
+ Section 3 describes two main functions of the CAR discovery protocol.
+ Section 4 describes the core part of the CARD protocol operation.
+ The protocol message format is described in Section 5. Section 6
+ discusses security considerations, and Section 7 contains a table of
+ protocol parameters. Appendix A contains two alternative techniques
+ for dynamically constructing the CAR table mapping between the access
+ point L2 ID and Access Router IP address, which is necessary for
+ reverse address translation. The default method is static
+ configuration. Appendix B contains two sample scenarios for using
+ CARD.
+
+2. Terminology
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [Brad97].
+
+ This document uses terminology defined in [MaKo03].
+
+ In addition, the following terms are used:
+
+ Access Router (AR)
+
+ An IP router residing in an access network and connected to one or
+ more APs. An AR offers IP connectivity to MNs.
+
+ Candidate AR (CAR)
+
+ An AR to which an MN has a choice when performing IP-level
+ handover.
+
+ Capability of an AR
+
+ A characteristic of the service offered by an AR that may be of
+ interest to an MN when the AR is being considered as a handover
+ candidate.
+
+ L2 ID
+
+ An identifier of an AP that uniquely identifies that AP. For
+ example, in 802.11, this could be a MAC address of an AP.
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 3]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ CARD Initiating Trigger
+
+ An L2 trigger used to initiate the CARD process. For example, a
+ MN can initiate CARD as soon as it detects the L2 ID of a new AP
+ during link layer scan.
+
+ Access Point (AP)
+
+ A wireless access point, identified by a MAC address, providing
+ service to the wired network for wireless nodes.
+
+3. CARD Protocol Functions
+
+ The CARD protocol accomplishes the following functions.
+
+3.1. Reverse Address Translation
+
+ If an MN can listen to the L2 IDs of new APs prior to making a
+ decision about IP-level handover to CARs, a mechanism is needed for
+ reverse address translation. This function of the CARD protocol
+ enables the MN to map the received L2 ID of an AP to the IP address
+ of the associated CAR that connects to the AP. To get the CAR's IP
+ address, the MN sends the L2 ID of the AP to the current AR, and the
+ current AR provides the associated CAR's IP address to the MN.
+
+3.2. Discovery of CAR Capabilities
+
+ Information about the capabilities of CARs can assist the MN in
+ making optimal handover decisions. This capability information
+ serves as input to the target AR selection algorithm. Some of the
+ capability parameters of CARs can be static, whereas others can
+ change with time.
+
+ A definition of capabilities is out of the scope of this document.
+ Encoding rules for capabilities and the format of a capability
+ container for capability transport are specified in Section 5.
+
+4. CARD Protocol Operation
+
+ The CARD protocol allows MNs to resolve the L2 ID of one or more APs
+ to the IP addresses of the associated CARs. The L2 IDs are typically
+ discovered during an operation by the MN and are potential handover
+ candidates. Additionally, CARD allows MNs to discover particular
+ capabilities associated with the CARs, such as available bandwidth,
+ that might influence the handover decision of the MN. Furthermore,
+ the protocol allows ARs to populate and maintain their local CAR
+ table (Section 4.1) with the capabilities of CARs. For this, the
+ CARD protocol makes use of CARD Request and CARD Reply messages
+
+
+
+Liebsch, et al. Experimental [Page 4]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ between an MN and its current AR (Section 5.1.2), and between an MN's
+ current AR and individual CARs, respectively (Section 5.2.2).
+
+ To allow an MN to retrieve a CAR's address and capability
+ information, the CARD Request and CARD Reply messages used between an
+ MN and its current AR may contain one or more access points' L2 IDs
+ and the IP addresses of associated CARs, respectively. Optionally,
+ the CARD Reply messages can also contain a CAR's capability
+ information. A CAR's capabilities are specified as a list of
+ attribute-value pairs, which are conveyed in a Capability Container
+ message parameter.
+
+ Information about CARs and associated capabilities MAY be used by the
+ MN to perform target access router selection during its IP handover.
+ The current AR returns replies according to its CAR table (see
+ Section 4.1) and returns a RESOLVER ERROR (see Section 5.1.3.1) if
+ the request cannot be resolved.
+
+ The CARD protocol also enables an MN to optionally indicate its
+ preferences on capabilities of interest to its current AR by
+ including the Preferences message parameter in the CARD Request
+ message. The MN's current AR MAY use this information to perform
+ optional capability pre-filtering for optimization purposes, and it
+ returns only these capabilities of interest to the requesting MN.
+ The format of this optional Preferences message parameter is
+ described in Section 5.1.3.2.
+
+ Optionally, the MN can provide its current AR with a list of
+ capability attribute-value pairs, indicating not only the capability
+ parameters (attributes) required for capability pre-filtering, but
+ also a specific value for a particular capability. This allows the
+ MN's current AR to perform CAR pre-filtering and to send only address
+ and capability information of CARs whose capability values meet the
+ requirements of the MN back to the requesting MN. The format of this
+ optional Requirements message parameter is described in Section
+ 5.1.3.3.
+
+ For example, using the optional Preferences message parameter, an MN
+ may indicate to its current AR that it is interested only in
+ IEEE802.11a interface-specific capability parameters, as this is the
+ only interface the MN has implemented. The MN's current AR sends
+ back only CARs with IEEE802.11a-specific capabilities. Similarly,
+ using the optional Requirements message parameter, an MN may indicate
+ to its current AR that it is only interested in CARs that can satisfy
+ a given QoS constraint. Here, an MN sends the respective QoS
+ attribute with the QoS constraint value to its current AR using the
+ optional Requirements message parameter. The QoS constraint is
+ denoted as an attribute-value pair and encapsulated with the
+
+
+
+Liebsch, et al. Experimental [Page 5]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Requirements message parameter, which is appended to the MN-
+ originated CARD Request message. The Requirements message parameter
+ may be used to indicate the cutoff values of the capabilities for any
+ desired CARs. According to the received optional list of attributes
+ in the Preferences parameter or a list of attribute-value pairs in
+ the Requirements message parameter, the MN's current AR MAY use these
+ parameters for deciding the content of the solicited CARD Reply
+ message, which is to be sent back to the MN. Alternatively, if the
+ MN's current AR does not perform optimization with regard to
+ capability or CAR pre-filtering, the current AR MAY choose to
+ silently ignore the optional Requirements and Preferences message
+ parameter as received in the CARD Request message.
+
+ The MN can additionally request from the AR a certification path that
+ is anchored at a certificate from a shared, trusted anchor. The MN
+ includes in the CARD Request message a list of trusted anchors for
+ which the MN has a certificate, and the AR replies with the
+ certification path. If no match is found, the AR returns the trusted
+ anchor names from the CARD Request. The MN can ask for a chain for
+ either the current AR or a CAR. If the trusted anchor list is
+ accompanied by an AP L2 ID for the MN's current AP, the returned
+ chain is for the current AR. If the L2 ID is for an AP that the MN
+ has heard during scanning and is not connected to the current AR, the
+ returned chain is for a CAR. The chain is returned as a sequence of
+ CARD Reply messages, each message containing a single certificate,
+ the L2 identifier for the AP sent in the CARD Request, and a router
+ address for the CAR (or for the AR itself if a request was made for
+ the AR). When the chain is complete, the MN can use it to obtain the
+ AR's certified key and thereby validate signatures on CARD messages
+ and other messages between the MN and the current AR. The MN only
+ has to send the trusted anchor option if it does not have the
+ certification path for the AR already cached. If the MN has the
+ certification path cached, through preconfiguration, through previous
+ receipt of the chain from this router, or by having received the
+ chain through a previous router, then the trusted anchor does not
+ have to be sent. More information about certificate exchange and its
+ use in CARD security can be found in Section 6.
+
+ The CARD protocol operation, as described in this section,
+ distinguishes signaling messages exchanged between an MN and its
+ current AR from those exchanged between ARs. Hence, descriptions of
+ signaling messages in the following sections have preceding
+ identifiers referring to the associated interface. Messages that are
+ exchanged between an MN and AR are designated as "MN-AR", and
+ messages between ARs are designated as "AR-AR".
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 6]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ +--------------+ (1a)AR-AR CARD Request +----------+
+ | Current |------------------------->| CAR |
+ | AR |<-------------------------| |
+ +--------------+ (2a)AR-AR CARD Reply +----------+
+ ^ |
+ | | MN-AR
+ MN-AR | | CARD Reply(3m)
+ CARD Request(2m) V
+ +--------------+
+ | Mobile |
+ | Node |<-- CARD Init Trigger
+ +--------------+ (1m)
+
+ Figure 1: MN-initiated CARD Protocol Overview
+
+ Figure 1 describes the operation of the MN-AR CARD Request/Reply
+ protocol and AR-AR CARD Request/Reply protocol. On receipt of the
+ access points' L2 IDs or the appearance of a CARD initiation trigger
+ (1m), the MN may pass on one or more AP L2 IDs to its current AR
+ using the MN-AR CARD Request message (2m). If the MN wants its AR to
+ perform capability discovery in addition to reverse address
+ translation, this must be indicated in the MN-AR CARD Request message
+ by setting the C-flag. If the C-flag is not set, the AR receiving
+ the CARD Request message will perform only reverse address
+ translation. The MN's current AR resolves the L2 ID to the IP
+ address of the associated CAR or, if the MN has not attached any L2
+ ID message parameters, just reads out all CARs' IP address
+ information using the reverse address translation information (L2 ID
+ to IP address mapping) from its local CAR table. The current AR then
+ returns to the MN using the MN-AR CARD Reply message (3m), the IP
+ addresses of any CARs, each CAR's set of L2 IDs with CANDIDATE
+ indicated in the L2 ID sub-option status field, and, if capability
+ information has been requested, associated capabilities.
+
+ For the AR-AR CARD Request/Reply protocol, the requesting AR sends a
+ CARD Request message to its peer when the CAR table entries time out
+ (1a). The peer returns a CARD Reply message with the requested
+ information (2a).
+
+4.1. Conceptual Data Structures
+
+ ARs SHALL maintain an L2-L3 address mapping table (CAR table) that is
+ used to resolve L2 IDs of candidate APs to the IP address of the
+ associated CAR. By default, this address-mapping table is configured
+ statically for the CARD protocol operation. Optionally, the CAR
+ table MAY be populated dynamically. Two possible approaches are
+ described in Appendices A.1 and A.2.
+
+
+
+
+Liebsch, et al. Experimental [Page 7]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ ARs SHOULD also keep and maintain individual CARs' capabilities in
+ the local CAR table, with the associated capability lifetime taken
+ into account. If the lifetime of an individual capability entry has
+ expired, the respective capability information is updated. An AR may
+ also initiate capability exchange prior to expiration of the
+ capabilities associated with a CAR in the CAR table, thereby
+ populating its CAR table. The AR's CAR table may be implemented
+ differently; therefore additional details are not provided here. ARs
+ MUST maintain their own AP-to-AR mappings and capability information
+ in their CAR tables, in order to provide newly booted MNs with this
+ information so that an MN can obtain the AR's certification path.
+
+ MNs SHOULD maintain discovered address and capability information of
+ CARs in a local cache to avoid requesting the same information
+ repeatedly and to select an appropriate target AR from the list of
+ CARs as quickly as possible when a handover is imminent.
+
+4.2. Mobile Node - Access Router Operation
+
+4.2.1. Mobile Node Operation
+
+ To initiate CARD, an MN sends a CARD Request to its current AR,
+ requesting it to resolve the L2 ID of nearby access points to the IP
+ address of associated CARs and also obtain capability parameters
+ associated with these CARs. If the requesting MN wants its current
+ AR to resolve specific L2 IDs, the MN-AR CARD Request MUST contain
+ the CARD protocol-specific L2 ID message parameters. If the MN wants
+ its AR to perform only reverse address translation without appending
+ the CARs' capabilities, the MN refrains from setting the C-flag in
+ the CARD Request message. If the MN wants to perform capability
+ discovery, the MN MUST set the C-flag in the CARD Request message.
+ The CARD Request MAY also contain the Preferences or Requirements
+ message parameter, indicating the MN's preferences on capability
+ attributes of interest or its requirements on CARs' capability
+ attribute-value pairs.
+
+ If the MN appends multiple L2 ID sub-options to a CARD Request, the
+ AR MUST assume that each L2 ID is associated with an AP that connects
+ to a different CAR. Since L2 IDs, address information, and
+ capability information are transmitted with separate sub-options,
+ each sub-option carries a Context-ID, to allow parameters that belong
+ together to be matched. Therefore, the MN MUST assign different
+ Context-ID values to the L2 ID sub-options it appends to the CARD
+ Request message. The Status-Code field of the L2 ID sub-option MUST
+ always be set to NONE (0x00) by the MN. The MN MUST set the sequence
+ number to a randomly generated value, and the AR MUST include the
+ sequence number in all messages of the reply. If the reply spans
+ multiple messages, each message contains the same sequence number.
+
+
+
+Liebsch, et al. Experimental [Page 8]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Upon receipt of the corresponding MN-AR CARD Reply message, the MN
+ correlates the CARD Reply with the appropriate CARD Request message
+ and then processes all MN-AR CARD Reply message parameters to
+ retrieve its CAR's address and capability information. If the MN is
+ unable to correlate the CARD Reply with any previously sent CARD
+ Request messages, the MN SHOULD silently discard the reply. This may
+ happen when the MN reboots after sending a CARD Request message to
+ the connected AR.
+
+ An MN uses exponential backoff to retransmit the CARD Request in the
+ event that a CARD Reply is not received within CARD_REQUEST_RETRY
+ seconds. The retransmitted CARD Request MUST have the same sequence
+ number as the original. With the exception of certification paths,
+ which are large by nature, an AR SHOULD attempt to limit the
+ information in a CARD Reply to a single message. Should that be
+ impossible, the AR MAY send the reply in multiple messages. The last
+ message of a reply MUST always have the L-flag set in the CARD Reply
+ option to indicate that the message is the last for the associated
+ sequence number. An AR retransmitting replies to a CARD Request MUST
+ always send the full CARD Reply sequence. The Trusted Anchor sub-
+ option and the Router Certificate sub-option provide a means whereby
+ the MN can request specific certificates in a certification path, in
+ the event that the CARD Reply carrying a certification path spans
+ multiple messages and one of them is lost. However, a request for
+ specific certificates that were not received in the initial CARD
+ Reply MUST be treated as a new request by the MN and MUST use a
+ different sequence number.
+
+ Processing the Context-ID of Address sub-options allows the MN to
+ assign the resolved IP address of a specific CAR to an L2 ID.
+
+ In some cases, an L2 ID parameter is present in a CARD Reply message.
+ The Status-Code field in the L2 ID parameter indicates one of the
+ following reasons for its being sent toward the MN.
+
+ RESOLVER ERROR Status-Code indication:
+ If the MN's current AR could not resolve a particular L2 ID, this
+ status code is returned to the MN.
+
+ MATCH Status-Code indication:
+ If an L2 ID is encountered that shares a CAR with a previously
+ resolved L2 ID, the AR returns MATCH to the MN. This status code
+ indicates that the Context-ID of this particular L2 ID sub-option
+ has been set to the Context-ID of the associated CAR's Address and
+ Capability Container sub-option, which is sent with this CARD
+ Reply message. This approach avoids sending the same CAR's
+ address and capability information multiple times with the same
+ CARD Reply message in case two or more L2 IDs resolve to the same
+
+
+
+Liebsch, et al. Experimental [Page 9]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ CAR. An MN uses the Context-ID received in the L2 ID sub-option
+ as the key to find the serving CAR of the given AP from the
+ content of the received CARD Reply message.
+
+ CANDIDATE Status-Code indication:
+ If the MN does not append any L2 ID to the CARD Request, the AR
+ sends back the L2 ID and address information of all CARs. Because
+ the received parameters' Context-IDs cannot be correlated with an
+ L2 ID's Context-ID of a previously sent request, the AR chooses
+ values for the Context-ID and marks these candidate L2 IDs with
+ CANDIDATE in the status code of the distributed L2 IDs. However,
+ individual values of L2 IDs' Context-ID allow the MN to assign a
+ particular L2 ID to the associated Address and the possibly
+ received Capability Container sub-option.
+
+ As described in Section 4.5, an MN can use CARD when it initially
+ boots up to determine whether piggyback operation is possible. An
+ MN can also use CARD initially to determine the capabilities and
+ certificates for an AR on which it boots up or if it cannot obtain
+ the certificates beforehand. To do this, the MN includes an L2
+ Identifier option with its current AP L2 ID and the requested
+ information. The AR replies with its own information.
+
+4.2.2. Current Access Router Operation
+
+ Upon receipt of an MN's MN-AR CARD Request, the connected AR SHALL
+ resolve the requested APs' L2 ID to the IP address of any associated
+ CARs. If no L2 ID parameter has been sent with the MN-AR CARD
+ Request message, the receiving AR retrieves all CARs' IP addresses
+ and, if the C-flag was set in the request, the capability
+ information.
+
+ In the first case, where the AR resolves only requested L2 IDs, the
+ AR does not send back the L2 ID to the requesting MN. If, however,
+ two or more L2 IDs match the same CAR information, the L2 ID sub-
+ option is sent back to the MN, indicating a MATCH in the Status-Code
+ field of the L2 ID. Furthermore, the AR sets the Context-ID of the
+ returned L2 ID to the value of the resolved CAR's L2 ID, Address, and
+ Capability Container sub-option. If an AR cannot resolve a
+ particular L2 ID, an L2 ID sub-option is sent back to the MN,
+ indicating a RESOLVER ERROR in the L2 ID sub-option's Status-Code
+ field.
+
+ In the second case, where the AR did not receive any L2 ID with a
+ CARD Request, all candidate APs' L2 IDs are sent to a requesting MN
+ with the CARD Reply message. The AR marks the Status-Code of
+ individual L2 IDs as CANDIDATE, indicating to the MN that the
+
+
+
+
+Liebsch, et al. Experimental [Page 10]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ associated Context-ID cannot be matched with the ID of a previously
+ sent request.
+
+ In any case, the AR MUST set the Context-ID of the Address and the
+ Capability Container sub-option to the same value as that of the
+ associated L2 ID sub-option.
+
+ Optionally, when allowed by local policies and supported by
+ respective ARs for capability discovery, the AR MAY retrieve a subset
+ of capabilities or CARs, satisfying the optionally appended
+ Preferences and Requirement message parameter, from its local CAR
+ table. CARs' address information and associated capabilities are
+ then delivered to the MN using the MN-AR CARD Reply message. The
+ CARs' IP address and the capabilities SHALL be encoded according to
+ the format for CARD protocol message parameters as defined in Section
+ 5.1.3 of this document. The capabilities are encoded as attribute-
+ value pairs, which are encapsulated in a Capability Container message
+ parameter according to the format defined in Section 5.1.3.4. The
+ responding current AR SHALL copy the sequence number received in the
+ MN-AR CARD Request to the MN-AR CARD Reply.
+
+4.3. Current Access Router - Candidate Access Router Operation
+
+4.3.1. Current Access Router Operation
+
+ The MN's current AR MAY initiate capability exchange with CARs either
+ when it receives an MN-AR CARD Request or when it detects that one or
+ more of its local CAR table's capability entries' lifetimes are about
+ to expire. An AR SHOULD preferentially utilize its CAR table to
+ fulfill requests rather than signal the CAR directly, and it SHOULD
+ keep the CAR table up to date for this purpose, in order to avoid
+ injecting unnecessary delays into the MN response.
+
+ The AR SHOULD issue an AR-AR CARD Request to the respective CARs if
+ complete capability information of a CAR is not available in the
+ current AR's CAR table, or if such information is expired or about to
+ expire. The AR-AR CARD Request message format is defined in Section
+ 5.2.2. The sequence number on the AR-AR interface starts with zero
+ when the AR reboots. The sending AR MUST increment the sequence
+ number in the CARD Request by one each time it sends a CARD Request
+ message.
+
+ The AR MAY append its own capabilities, which are encoded as
+ attribute-value pairs and encapsulated with the Capability Container
+ message parameter, to the released AR-AR CARD Request. If the AR-AR
+ CARD Request conveys the current AR's capabilities to the CAR, the
+ associated Capability Container can have any value set for the
+ Context-ID, as there is no need for the receiving CAR to process this
+
+
+
+Liebsch, et al. Experimental [Page 11]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ field due to the absence of an L2 ID and an Address sub-option.
+ Furthermore, the current AR MAY set the P-flag in the Capability
+ Container sub-option to inform the CAR about its own capability to
+ perform CARD protocol message piggybacking.
+
+ Optionally, a current AR MAY append the Preferences sub-option to the
+ AR-AR CARD Request to obtain only capability parameters of interest
+ from a CAR.
+
+ Upon receipt of the AR-AR CARD Reply, sent by the CAR in response to
+ the previously sent request, the MN's current AR SHALL extract the
+ capability information from the payload of the received message and
+ store the received capabilities in its local CAR table. The lifetime
+ of individual capabilities is to be set according to the lifetime
+ indicated for each capability received. The values of the table
+ entries' timeouts shall depend upon the nature of individual
+ capabilities.
+
+ Optionally, CARs can send unsolicited CARD Reply messages to globally
+ adjacent ARs if the configuration of their APs or capabilities
+ changes dynamically. If the current AR receives an unsolicited CARD
+ Reply message from a CAR for which there is an entry in its local CAR
+ table, the current AR checks that the sequence number of the received
+ CARD Reply has increased compared to that of the previously received
+ unsolicited CARD Reply message, which has been sent from the same
+ CAR. Then, the current AR can update its local CAR table according
+ to the received capabilities. If a new CAR is added, an AR may
+ receive a CARD Reply from a CAR that is not in its CAR table, or from
+ a CAR that has rebooted. In this case, the sequence number is 0.
+ The requirement that ARs share an IPsec security association,
+ detailed in Section 6, ensures that an AR never accepts CARD
+ information from an unauthenticated source.
+
+4.3.2. Candidate Access Router Operation
+
+ Upon receipt of an AR-AR CARD Request, a CAR shall extract the
+ sending AR's capabilities, if the sending AR has included its
+ capabilities. The CAR SHALL store the received capabilities in its
+ CAR table and set the timer for individual capabilities
+ appropriately. The values of the table entries' timeouts depend on
+ the nature of capabilities in the AR-AR CARD Reply message. The CAR
+ must include the same sequence number in the AR-AR CARD Reply Message
+ as that received in the AR-AR CARD Request Message. The AR-AR CARD
+ Reply shall include the CAR's capabilities as list of attribute-value
+ pairs in the Capability Container message parameter. If the sending
+ AR has appended an optional Preferences sub-option, the CAR MAY
+ perform capability filtering and send back only those capabilities of
+ interest to the requesting AR, identified according to the
+
+
+
+Liebsch, et al. Experimental [Page 12]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Preferences sub-option. Because the AR-AR CARD Reply is based on a
+ previously received AR-AR CARD Request, the CAR MUST set the U-flag
+ of the AR-AR CARD Reply to 0.
+
+ Optionally, the CAR MAY send an unsolicited CARD Reply message to
+ globally adjacent ARs if one or more of its capability parameters
+ change. Each unsolicited CARD Reply message should have as
+ destination address the adjacent AR's unicast address and must have
+ the U-flag set. Consecutive unsolicited CARD Reply messages MUST
+ have the sequence number incremented accordingly, starting with 0
+ when the AR boots.
+
+4.4. CARD Protocol Message Piggybacking on the MN-AR Interface
+
+ CARD supports another mode of CAR information distribution, in which
+ the capabilities are piggybacked on fast handover protocol messages.
+ To allow MNs and ARs appending the ICMP-option type CARD Request and
+ CARD Reply (Section 5.1.2) to the ICMP-type Fast Mobile IPv6 [Kood03]
+ signaling messages, the MN and AR should know about the signaling
+ peer's capability for CARD protocol message piggybacking. This
+ requires dynamic discovery of piggybacking capability using the
+ P-flag in the MN-AR CARD Request and the MN-AR CARD Reply message, as
+ well as in the Capability Container message parameter. The format of
+ these messages and parameters is described in Section 5.1.
+
+ The MN sends the very first CARD Request to its current AR using the
+ ICMP-type CARD main header for transport, as described in Section
+ 4.2.1. If the MN supports CARD-protocol message piggybacking, the
+ P-flag in this very first CARD Request message is set. On receipt of
+ the CARD Request message, the current AR learns about the MN's
+ piggybacking capability. To indicate its piggybacking capability,
+ the AR sets the P-flag in the CARD Reply message. If the AR does not
+ support piggybacking, all subsequent CARD-protocol messages between
+ the MN and the AR are sent stand-alone, using the CARD main header.
+ If both nodes (the MN and its current AR) support CARD-protocol
+ message piggybacking, subsequent CARD protocol messages can be
+ conveyed as an option via the Fast Mobile IPv6 Router Solicitation
+ for Proxy (RtSolPr) and Proxy Router Advertisement (PrRtAdv)
+ messages. During the CARD process, an MN learns about CARs'
+ piggybacking capability at the discovery phase, as the Capability
+ Container (described in Section 5.1.3.4) also carries a P-flag. This
+ allows the MN to perform CARD protocol message piggybacking
+ immediately after a handover to a selected CAR, assuming that this
+ CAR supports CARD protocol piggybacking.
+
+ If a MN prefers the reverse address translation function of the Fast
+ Mobile IPv6 protocol, it can use CARD protocol message piggybacking
+ to retrieve only the CARs' capability information. To indicate that
+
+
+
+Liebsch, et al. Experimental [Page 13]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ reverse address translation is not required, the piggybacked CARD
+ Request message MUST have the A-flag set. This causes the current AR
+ to append only Capability Container sub-options. To associate a
+ Capability Container sent as a parameter of the CARD Reply message to
+ the IP address for the appropriate CAR, the Context-ID of an
+ individual Capability Container MUST be used as an index, pointing to
+ the associated IP address in the PrRtAdv message options. The
+ Context-ID of individual Capability Containers is set appropriately
+ by the MN's current AR. Details about how individual Context-ID
+ values can be associated with a particular IP address option of the
+ PrRtAdv message is out of the scope of this document.
+
+5. Protocol Messages
+
+5.1. CARD Messages for the Mobile Node-Access Router Interface
+
+5.1.1. MN-AR Transport
+
+ The MN-AR interface uses ICMP for transport. Because ICMP messages
+ are limited to a single packet, and because ICMP contains no
+ provisions for retransmitting packets if signaling is lost, the CARD
+ protocol incorporates provisions for improving transport performance
+ on the MN-AR interface. MNs SHOULD limit the amount of information
+ requested in a single ICMP packet, as ICMP has no provision for
+ fragmentation above the IP level.
+
+ MNs and ARs use the Experimental ICMP-type main header [Ke04] when
+ CARD protocol messages cannot be conveyed via ICMP-type Fast Mobile
+ IPv6 [Kood03]. The MN-AR interface MUST implement and SHOULD use the
+ CARD ICMP-type header for transport. If available, the MN-AR
+ interface MAY use the ICMP-type Fast Mobile IPv6 [Kood03] for
+ transport (Section 4.4).
+
+ 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 | Code | Checksum |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Subtype | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Options ...
+ +-+-+-+-+-+-+-+-+-+-+-+- - - -
+
+ IP Fields:
+
+ Source Address:
+ An IP address assigned to the sending interface.
+
+
+
+
+Liebsch, et al. Experimental [Page 14]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Destination Address:
+ An IP address assigned to the receiving interface.
+
+ Hop Limit: 255
+
+ ICMP Fields:
+
+ Type: Experimental Mobility type (assigned by IANA for
+ IPv4 and IPv6, see [Ke04]).
+
+ Code: 0
+
+ Checksum: The ICMP checksum.
+
+ Subtype: Experimental Mobility subtype for CARD; see [Ke04].
+
+ Reserved: This field is currently unused. It MUST be
+ initialized to zero by the sender and MUST be
+ ignored by the receiver.
+
+ Valid Options:
+
+ CARD Request: The CARD Request allows entities to request CARD-
+ specific information from ARs. To support
+ processing of the CARD Request message on the
+ receiver side, further sub-options may be carried,
+ serving as input to the reverse address translation
+ function and/or capability discovery function.
+
+ CARD Reply: The CARD Reply carries parameters, previously
+ requested with a CARD Request, back to the sender
+ of the CARD Request.
+
+ Valid Sub-Options:
+
+ Support level is indicated in parentheses.
+
+ Layer-2 ID (mandatory):
+ The Layer-2 ID sub-option [5.1.3.1] carries
+ information about the type of an access point as
+ well as the Layer-2 address of the access point
+ associated with the CAR whose IP address and
+ capability information is to be resolved.
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 15]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Capability Container (mandatory):
+ The Capability Container sub-option carries
+ information about a single CAR's capabilities. The
+ format of this sub-option is described in Section
+ 5.1.3.4.
+
+ Address (mandatory):
+ The Address sub-option carries information on an
+ individual CAR's resolved IP address. The format
+ of the Address sub-option is described in Section
+ 5.1.3.5.
+
+ Trusted Anchor (mandatory):
+ The Trusted Anchor sub-option carries the name of a
+ trusted anchor for which the MN has a certificate.
+ The format of the Trusted Anchor sub-option is
+ described in Section 5.1.3.6.
+
+ Router Certificate (mandatory):
+ The Router Certificate sub-option carries one
+ certificate in the path for the current AR or for a
+ CAR. The chain includes certificates starting at a
+ trusted anchor, which the AR shares in common with
+ the MN, to the router itself. The format of the
+ Router Certificate sub-option is described in
+ Section 5.1.3.7.
+
+ Preferences (optional):
+ The Preferences sub-option carries information
+ about attributes of interest to the requesting
+ entity. Attributes are encoded according to the
+ AVP encoding rule, which is described in Section
+ 5.1.4. For proper settings of AVP Code and Data
+ field, see Section 5.1.3.2. This sub-option is
+ used only if optional capability pre-filtering is
+ performed on ARs, and it provides only capabilities
+ of interest to a requesting MN.
+
+ Requirements (optional):
+ The Requirements sub-option carries information
+ about attribute-value pairs required for pre-
+ filtering of CARs on the MN's current AR. This
+ parameter conveys MN specific attribute-value pairs
+ to allow the MN's current AR to send only
+ information about CARs of interest back to the
+ requesting MN. CARs are filtered on ARs according
+ to the CARs' capability parameters and given policy
+ or threshold, as encoded in the Requirements sub-
+
+
+
+Liebsch, et al. Experimental [Page 16]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ option. Attribute-value pairs are encoded
+ according to the AVP encoding rule, which is
+ described in Section 5.1.4. Rules for proper
+ setting of the AVP Code and Data field for the
+ Requirements sub-option are described in Section
+ 5.1.3.3.
+
+ CARD Requests that fail to elicit a response are retransmitted. The
+ initial retransmission occurs after a CARD_REQUEST_RETRY wait period.
+ Retransmissions MUST be made with exponentially increasing wait
+ intervals (doubling the wait each time). CARD Requests should be
+ retransmitted until either a response (which might be an error) has
+ been obtained or CARD_RETRY_MAX seconds have occurred. ARs MUST
+ discard any CARD Requests having the same sequence number after
+ CARD_RETRY_MAX seconds. If a CARD Reply spans multiple ICMP
+ messages, the same sequence number MUST be used in each message.
+
+ MNs that retransmit a CARD Request use the same CARD sequence number.
+ This allows the AR to cache its reply to the original request and
+ then to send it again, should a duplicate request arrive. This
+ cached information should only be held for a maximum of
+ CARD_RETRY_MAX seconds after receipt of the request. Sequence
+ numbers SHOULD be chosen randomly. Random sequence numbers avoid
+ duplicates if MNs restart frequently and simplify sequence-number
+ maintenance on both the MN and AR when MNs frequently appear and
+ disappear due to movement between CARs.
+
+5.1.2. CARD Options Format
+
+ All 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |Vers.| ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ~ ... ~
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Fields:
+
+ Type: 8-bit identifier of the type of option, assigned by
+ IANA. See [Ke04] for CARD Request and CARD Reply
+ values.
+
+ Length: 8-bit unsigned integer. The length of the option,
+ including the type and length fields in units of 8
+ octets. The value 0 is invalid.
+
+
+
+Liebsch, et al. Experimental [Page 17]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Vers.: 3-bit version code. For this specification,
+ Vers.=1.
+
+5.1.2.1. CARD Request 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|C|A|T| Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sub-Options
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
+
+ Fields:
+
+ Type: Assigned by IANA for IPv4 and IPv6; see [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
+ Request message sender. A description
+ for proper use of this flag can be
+ found in Section 4.4 of this document.
+
+ C-flag: Indicates that the requesting entity is
+ also interested in associated CARs'
+ capabilities. If the MN wants the AR
+ to append CARs' capability parameters
+ to the CARD Reply in addition to
+ address information, the MN must set
+ this flag.
+
+ A-flag: Indicates that the requesting entity
+ does NOT want the receiver of this
+ 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.
+
+
+
+
+
+Liebsch, et al. Experimental [Page 18]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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.
+
+
+
+
+Liebsch, et al. Experimental [Page 19]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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 . . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+Liebsch, et al. Experimental [Page 20]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+
+ 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.
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 21]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 22]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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.
+
+
+
+
+
+Liebsch, et al. Experimental [Page 23]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+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
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 24]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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.
+
+
+
+
+Liebsch, et al. Experimental [Page 25]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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).
+
+
+
+
+Liebsch, et al. Experimental [Page 26]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ 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
+ for the router possessing the chain with the Context-ID field set to
+ a nonzero value, and with no other sub-options. Any other sub-
+ options included in a CARD Reply SHOULD be ignored. If the reply
+ spans multiple ICMP messages, the L2 ID sub-option and router Address
+ sub-option MUST be included in the first message sent, and the
+ Context-ID field in the Router Certificate sub-options in all the
+ messages MUST be set to the same value as that in the L2 ID and
+ Address sub-options. The replying AR SHOULD order the returned
+ certification path so that the certificate immediately after the
+ trust anchor in the path is the first certificate sent, in order to
+ allow immediate verification. The trust anchor certificate itself
+ SHOULD NOT be sent.
+
+5.1.4. Capability AVP Encoding Rule
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | AVP Code | AVP Length | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Attribute Lifetime | Data . . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
+
+ AVP Code: Identifies the attribute uniquely. The AVP Code
+ 0x0000 is reserved and MUST NOT be assigned to a
+ capability.
+
+ AVP Length: The 2 octet AVP length field indicates the number of
+ octets in this AVP, including the AVP Code, AVP
+ Length, Reserved, Lifetime, and Data fields.
+
+ Reserved: Initialized to zero, ignored on receipt.
+
+ Lifetime: Specifies the lifetime of the encoded capability in
+ seconds. In the case of a static capability, the
+ Lifetime field MUST be set to the maximum value
+ (0xffff), which indicates that the lifetime of this
+ capability parameter never expires. A lifetime value
+ of 0x0000 deletes a capability entry.
+
+
+
+
+Liebsch, et al. Experimental [Page 27]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Data: This variable-length field has the Value of the
+ capability attribute encoded.
+
+ Because an AVP Code of 0x0 is reserved, it can be used by the sub-
+ option list parsing to determine when the end of a list of
+ Capabilities has been reached and where the sub-option padding
+ starts. AVPs themselves are not zero padded.
+
+ Note: This document provides no detailed information on how to encode
+ the individual capability attribute values, which is to be encoded in
+ the Data field. Details on the interpretation of individual
+ capability parameters are out of the scope of this document.
+
+5.2. CARD Inter-Access Router Messages
+
+5.2.1. AR-AR Transport
+
+ Because the types of access networks in which CARD might be useful
+ are not currently deployed or, if they have been deployed, have not
+ been extensively measured, it is difficult to know whether congestion
+ will be a problem for inter-router CARD. Part of the research task
+ in preparing CARD for consideration as a candidate for possible
+ standardization is to quantify this issue. However, in order to
+ avoid potential interference with production applications (should a
+ prototype CARD deployment involve running over the public Internet),
+ it seems prudent to recommend a default transport protocol that
+ accommodates congestion.
+
+ This suggests that implementations of CARD MUST support and that
+ prototype deployments of CARD SHOULD use the Stream Control Transport
+ Protocol (SCTP) [Stew00] as the transport protocol between routers,
+ especially if deployment over the public Internet is contemplated.
+ SCTP supports congestion control, fragmentation, and partial
+ retransmission based on a programmable retransmission timer. SCTP
+ also supports many advanced and complex features, such as multiple
+ streams and multiple IP addresses for failover, that are not
+ necessary for experimental implementation and prototype deployment of
+ CARD. The use of these SCTP features for CARD is not recommended at
+ this time.
+
+ The SCTP Payload Data Chunk carries the CARD messages. CARD messages
+ on the inter-router interface consist of just the CARD Request or
+ CARD Reply options. The User Data part of each SCTP message contains
+ the CARD option for the message type. For instance, a CARD Reply
+ message is constructed by including the CARD Reply option and all the
+ appropriate sub-options within the User Data part of an SCTP message.
+
+
+
+
+
+Liebsch, et al. Experimental [Page 28]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ A single stream is used for CARD with in-sequence delivery of SCTP
+ messages. Each message, unless fragmented, corresponds to a single
+ CARD query or response. Unsolicited CARD Reply messages can also be
+ sent to peers to notify them of changes in network configuration or
+ capabilities. A single stream provides simplicity. Use of multiple
+ streams to prevent head-of-line blocking is for future study. Since
+ timeliness is not an issue with inter-router CARD, and since there
+ being more than one CARD transaction between two routers active at
+ any one time is unlikely, having ordered delivery simplifies the
+ implementation. The Payload Protocol Identifier in the SCTP header
+ is 'CARD'. CARD uses the Seamoby SCTP port number [Ke04].
+
+ The format of Payload Data Chunk taken from [Stew00] is shown in the
+ following diagram.
+
+ 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 = 0 | Reserved|U|B|E| Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TSN |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Stream Identifier S | Stream Sequence Number n |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Payload Protocol Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / User Data (seq n of Stream S) /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ 'U' bit The Unordered bit. MUST be set to 0 (zero).
+ 'B' bit The Beginning fragment bit. See [Stew00].
+
+ 'E' bit The Ending fragment bit. See [Stew00].
+
+ TSN Transmission Sequence Number. See [Stew00].
+
+ Stream Identifier S
+ Identifies the CARD stream.
+
+ Stream Sequence Number n
+ Sequence number. See [Stew00].
+
+ Payload Protocol Identifier
+ Set to 'CARD'.
+
+ User Data Contains the CARD message.
+
+
+
+Liebsch, et al. Experimental [Page 29]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ In order to avoid generating congestion on startup, ARs MUST wait a
+ random amount of time between 0 and CARD_STARTUP_WAIT seconds upon
+ reboot before sending an AR-AR CARD Request to one of its CARs. An
+ AR that receives a CARD Request from another AR that is not in its
+ CAR table MUST NOT solicit the AR but rather MUST wait until the AR
+ sends an unsolicited CARD Reply advertising the AR's information. An
+ AR that is starting up MUST send unsolicited CARD Replies to all its
+ CARs to make sure that their CAR tables are properly populated.
+
+ The frequency of unsolicited CARD Reply messages MUST be strictly
+ limited to CARD_MIN_UPDATE_INTERVAL, in order to avoid overwhelming
+ CARs with traffic. ARs are free to discard messages that arrive more
+ frequently.
+
+ If a CARD deployment will never run over the public Internet, and if
+ it is known that congestion is not a problem in the access network,
+ alternative transport protocols MAY be appropriate vehicles for
+ experimentation. Implementations of CARD MAY support UDP for such
+ purposes. In that case, the researcher MUST be careful to
+ accommodate good Internet transport protocol engineering practices,
+ such as using retransmits with exponential backoff. In addition,
+ whether SCTP is an appropriate transport protocol for all inter-
+ router CARD operations is an open research question. Investigation
+ of this issue (for example, to determine whether a lighter-weight
+ protocol might be more appropriate than SCTP) may be of interest to
+ some researchers.
+
+5.2.2. Protocol Payload Types
+
+ The AR-AR interface MUST insert the CARD Request option and CARD
+ Reply option directly into the body of the SCTP User Data field. The
+ sequence number for the CARD Request on the AR-AR interface MUST be
+ initialized to zero when the AR reboots, and MUST be incremented
+ every time a CARD Request message is sent. The replying AR MUST
+ include a sequence number from the CARD Request in the CARD Reply.
+ If an unsolicited CARD Reply is sent, the sending AR MUST increment
+ the sequence number. Sequentially increasing sequence numbers allows
+ the receiving AR to determine whether the information has already
+ been received.
+
+ On the AR-AR interface, the Capability Container parameter is used to
+ convey capabilities between ARs. Optionally, the Preferences
+ parameter can be used for capability pre-filtering during the inter-
+ AR capability discovery procedure. Payload types and encoding rules
+ are the same as those described for the respective sub-option types
+ in Section 5.1 for the MN-AR interface. The same TLV-encoded format
+ is used to attach the options as payload to the protocol main header.
+ Additionally, an AR can set the T flag in the CARD Request header in
+
+
+
+Liebsch, et al. Experimental [Page 30]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ order to obtain the certificates for the CAR. The description of
+ sub-options in Section 5.1.3 includes information on what flag
+ settings are prohibited on the AR-AR interface.
+
+6. Security Considerations
+
+6.1. Veracity of CARD Information
+
+ The veracity of the CARD protocol depends on the ability of an AR to
+ obtain accurate information about geographically neighboring ARs, and
+ to provide accurate information about its own APs and capabilities to
+ other ARs. The CARD protocol described in the body of this document
+ does not contain any support for determining the AR-to-AP mapping or
+ capabilities, either for a specific AR or for a CAR. Therefore,
+ methods for determining the accuracy of the information exchanged
+ between ARs are out of scope for the base CARD protocol. The
+ appendices of this document describe procedures for discovering the
+ identities of the geographically adjacent ARs and APs (including
+ capabilities) and discuss relevant security considerations.
+ Alternatively, this information could be statically configured into
+ the AR.
+
+6.2. Security Association between AR and AR
+
+ CARD contains support allowing ARs to exchange capability
+ information. If this protocol is not protected from modification, a
+ malicious attacker can modify the information. Also, if the
+ information is delivered in plain text, a third party can read it.
+
+ To prevent the information from being compromised, the CARD messages
+ between ARs MUST be authenticated. The messages also SHOULD be
+ encrypted for privacy of the information, if required.
+ Confidentiality might be required if the traffic between two ARs in
+ an operator's network traversed the public Internet, for example.
+
+ Two ARs engaging in the CARD protocol MUST use IKE [HarCar98] to
+ negotiate an IPsec ESP security association for message
+ authentication. If confidentiality is desired, the two ARs MUST
+ additionally negotiate an ESP security association for encryption.
+ Replay protection SHOULD also be enabled with IKE. To protect CARD
+ protocol messages between ARs, IPsec ESP [AtKe98] MUST be used with a
+ non-null integrity protection and origin authentication algorithm and
+ SHOULD be used with a non-null encryption algorithm for protecting
+ the confidentiality of the CARD information.
+
+ An AR can provide the certificates for its CARs if the certificates
+ are available. The AR requests certificates from its CARs by setting
+ the T flag in the CARD Request message. All certificates are sent.
+
+
+
+Liebsch, et al. Experimental [Page 31]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ If CARD is used to exchange information between different
+ administrative domains, additional security policy issues may apply.
+ Such issues are out of the scope of this document. Use of CARD
+ between administrative domains is not recommended at this time, until
+ the policy issues involved are more thoroughly understood.
+
+6.3. Security Association between AR and MN
+
+ A malicious node can send bogus CARD Reply messages to MNs by
+ masquerading as the AR. The MN MUST authenticate the CARD Reply
+ messages from the AR. Since establishing an IPSec security
+ association between the MN and AR is likely to be a performance
+ issue, IKE is not an appropriate mechanism for setting up the
+ security association. Instead, the SEND security association is used
+ [Arkko04]. ARs MUST include a SEND Signature Option on CARD Reply
+ messages. The format of the signature option is the same for both
+ IPv4 and IPv6 CARD, though SEND itself is only defined for IPv6. A
+ Mobile IPv4 ICMP Foreign Agent Advertisement option type code for the
+ SEND signature option [Ke04] has been allocated.
+
+ No authentication is required for CARD Requests since CARD
+ information is provided by the AR to optimize link access. In
+ contrast, CARD Reply authentication is required because a bogus AR
+ could provide the MN with CARD information that would lead the MN to
+ handover to a bogus router, which could steal traffic or propagate a
+ denial of service attack on the MN. The asymmetry of the
+ authentication requirement is the same as that involving Router
+ Advertisements in IPv6 router discovery [Arkko04].
+
+ Since CARD is a discovery protocol, confidentiality is not generally
+ necessary on the MN-AR interface. In specific cases where different
+ network operators share the same access network infrastructure,
+ network operators may want to hide information about operator-
+ specific capabilities for business reasons. The base CARD protocol
+ contains no support for such cases. However, should such a case
+ arise in the future, an AVP for an encrypted capability can be
+ defined at that time.
+
+6.4. Router Certificate Exchange
+
+ Because SEND is only available in IPv6, the procedures for obtaining
+ certificates differ depending on whether CARD is used with IPv4 or
+ IPv6. In IPv6, when the MN receives a CARD reply with signature from
+ an AR for which it does not have a certificate, it SHOULD use SEND
+ DCS/DCA to obtain the AR's certificate chain. ARs MUST be configured
+ with a certification path for this purpose, and MNs MUST be
+ configured with a set of certificates for shared trusted anchors to
+ allow verification of the AR certificates. An MN may not necessarily
+
+
+
+Liebsch, et al. Experimental [Page 32]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ need to use Cryptographically Generated Addresses (CGAs) with CARD,
+ so CGA support is OPTIONAL for CARD. A certificate profile for ARs
+ is described in the SEND specification [Arkko04].
+
+ In IPv4, there is no DCS/DCA message for obtaining the certificate.
+ If the MN does not have a certificate for the AR, the MN sends a CARD
+ Request message containing the L2 ID of its current AP and one
+ Trusted Anchor sub-option (Section 5.1.3.6) for each shared trusted
+ anchor for which the MN has a certificate, to obtain the
+ certification path for the current AR. The Component field of the
+ Trusted Anchor sub-option is set to 65535 to indicate that the entire
+ certification path is needed. No other options should be included in
+ the request. The AR replies by sending a CARD Reply containing the
+ L2 ID sub-option sent in the request, an Address sub-option for
+ itself, and a Router Certificate sub-option (Section 5.1.3.7)
+ containing one certificate in its certification path that matches one
+ of the requested trust anchors, and no other sub-options, setting the
+ Context-ID of all sub-options to match. The All Components field is
+ set to the path length, and the Component field is set to the number
+ of this component in the path. If the path is longer than one
+ certificate, the AR sends the L2 ID sub-option and the Address sub-
+ option in the first certificate and the other certificates in
+ separate ICMP messages, due to the limitation on ICMP message length,
+ with the same Context-ID set on each Route Certificate sub-option,
+ and with the Component field properly set. The router SHOULD NOT
+ send the trusted anchor's certificate and SHOULD send certificates in
+ order from the certificate after the trusted anchor. If the trusted
+ anchor option does not match any certificate, the AR returns the
+ Trusted Anchor sub-options in the reply. The MN SHOULD immediately
+ conduct a Certificate Revocation List (CRL) check on any certificates
+ obtained through CARD certificate exchange, to make sure that the
+ certificates are still valid.
+
+ Certification paths for CARs may be fetched in advance of handover by
+ requesting them as part of the CARD protocol. In that case, the MN
+ includes Trusted Anchor sub-options in the CARD request along with
+ the L2 ID sub-option for the AP for which the CAR certificate is
+ desired, and the AR replies as above, except that the L2 ID, address,
+ and certificates are for the CAR instead of for the AR itself. This
+ allows the MN to skip the DCS/DCA or CARD certificate exchange when
+ it moves to a new router.
+
+ Because the amount of space in an ICMP message is limited, the router
+ certification paths SHOULD be kept short.
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 33]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+6.5. DoS Attack
+
+ An AR can be overwhelmed with CARD Request messages. The AR SHOULD
+ implement a rate-limiting policy so that it does not send or process
+ more than a certain number of messages per period. The following is
+ a suggested rate limiting policy. If the number of CARD messages
+ exceeds CARD_REQUEST_RATE, the AR SHOULD begin to drop messages
+ randomly until the rate is reduced. MNs SHOULD avoid sending
+ messages more frequently than CARD_REQUEST_RATE. ARs SHOULD also
+ avoid sending unsolicited CARD Replies or CARD Requests more
+ frequently than CARD_MIN_UPDATE_INTERVAL, but, in this case, the
+ existence of an IPsec security association ensures that messages from
+ unknown entities will be discarded immediately during IPsec
+ processing.
+
+ MNs MUST discard CARD Replies for which there is no outstanding CARD
+ Request, as indicated by the sequence number.
+
+6.6. Replay Attacks
+
+ To protect against replay attacks on the AR-AR interface, ARs SHOULD
+ enable replay protection when negotiating the IPsec security
+ association using IKE.
+
+ On the MN-AR interface, the MN MUST discard any CARD Replies for
+ which there is no outstanding request, as determined by the sequence
+ number. For ARs, an attacker can replay a previous request from an
+ MN, but the attack is without serious consequence because the MN
+ ignores the reply in any case.
+
+7. Protocol Constants
+
+ Constant Section Default Value Meaning
+ --------------------------------------------------------------------
+ CARD_REQUEST_RETRY 5.1.1 2 seconds Wait interval before
+ initial retransmit
+ on MN-AR interface.
+
+ CARD_RETRY_MAX 5.1.1 15 seconds Give up on retry
+ on MN-AR interface.
+
+ CARD_STARTUP_WAIT 5.2.1 1-3 seconds Maximum startup wait
+ for an AR before
+ performing AR-AR
+ CARD.
+
+ CARD_MIN_UPDATE_INTERVAL 5.2.1 60 seconds Minimum AR-AR update
+ interval.
+
+
+
+Liebsch, et al. Experimental [Page 34]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+
+ CARD_REQUEST_RATE 6.5 2 requests/ Maximum number of
+ sec. messages before
+ AR institutes rate
+ limiting.
+
+8. IANA Considerations
+
+ See [Ke04] for instructions on IANA allocation.
+
+9. Normative References
+
+ [Brad97] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [Stew00] Stewart, R., Xie, Q., Morneault, K., Sharp, C.,
+ Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M.,
+ Zhang, L., and V. Paxson, "Stream Control Transmission
+ Protocol", RFC 2960, October 2000.
+
+ [AtKe98] Kent, S. and R. Atkinson, "IP Encapsulating Security
+ Payload (ESP)", RFC 2406, November 1998.
+
+ [HarCar98] Harkins, D. and D. Carrel, "The Internet Key Exchange
+ (IKE)", RFC 2409, November 1998.
+
+ [Arkko04] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
+ Neighbor Discovery (SEND)", RFC 3971, March 2005.
+
+ [Ke04] Kempf, J., "Instructions for Seamoby and Experimental
+ Mobility Protocol IANA Allocations", RFC 4065, July 2005.
+
+10. Informative References
+
+ [TKCK02] Trossen, D., Krishanmurthi, G. Chaskar, H., Kempf, J.,
+ "Issues in candidate access router discovery for seamless
+ IP-level handoffs", Work in Progress.
+
+ [MaKo03] Manner, J. and M. Kojo, "Mobility Related Terminology",
+ RFC 3753, June 2004.
+
+ [Kood03] Koodli, R., Ed., "Fast Handovers for Mobile IPv6", RFC
+ 4068, July 2005.
+
+ [Funa02] Funato, D., et al., "Geographically Adjacent Access Router
+ Discovery Protocol", Work in Progress.
+
+
+
+
+
+Liebsch, et al. Experimental [Page 35]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ [Tros03] Trossen, D., et al., "A Dynamic Protocol for Candidate
+ Access-Router Discovery", Work in Progress.
+
+ [ShGi00] Shim, E. and R. Gitlin, "Fast Handoff Using Neighbor
+ Information", Work in Progress.
+
+ [Malk03] El Malki, K., et al., "Low Latency Handoffs in Mobile
+ IPv4", Work in Progress.
+
+11. Contributors
+
+ The authors would like to thank Vijay Devarapalli (Nokia) and Henrik
+ Petander (Helsinki University of Technology) for formally reviewing
+ the protocol specification document and providing valuable comments
+ and input for technical discussions. The authors would also like to
+ thank James Kempf for reviewing and for providing a lot of valuable
+ comments and editing help.
+
+12. Acknowledgements
+
+ The authors would like to thank (in alphabetical order) Dirk Trossen,
+ Govind Krishnamurthi, James Kempf, Madjid Nakhjiri, Pete McCann,
+ Rajeev Koodli, Robert C. Chalmers, and other members of the Seamoby
+ WG for their valuable comments on the previous versions of the
+ document, as well as for the general CARD-related discussion and
+ feedback. In addition, the authors would like to thank Erik Nordmark
+ for providing valuable insight about the piggybacking of CARD options
+ upon Fast Mobile IPv6 messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 36]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+Appendix A. Maintenance of Address Mapping Tables in Access Routers
+
+ This appendix provides information on two optional CAR table
+ maintenance schemes for reverse address mapping in access routers.
+ These schemes replace static configuration of the AP L2 ID-to-CAR IP
+ address mapping in the CAR table. Details on these mechanisms are
+ out of the scope of this document. The intention of this appendix is
+ to provide only a basic idea on flexible extensions to the CARD
+ protocol, as described in this document.
+
+Appendix A.1. Centralized Approach Using a Server Functional Entity
+
+ The centralized approach performs CARD over the MN-AR interface as
+ described in Section 4 of this document. Additionally, the
+ centralized approach introduces a new entity, the CARD server, to
+ assist the current AR in performing reverse address translation. The
+ centralized approach requires that neighboring ARs register with the
+ CARD server to populate the reverse address translation table. The
+ registration of AR addresses with the CARD server is performed prior
+ to initiation of any reverse address translation request.
+
+ Figure A.1 illustrates a typical scenario of the centralized CARD
+ operation. In this example, ARs have registered their address
+ information with a CARD server in advance. When an MN discovers the
+ L2 ID of APs during L2 scanning, it passes one or more L2 IDs to its
+ current AR, and the AR resolves them to the IP address of the AR.
+ For this, the AR first checks whether the mapping information is
+ locally available in its CAR table. If it is not, the MN's current
+ AR queries a CARD server with the L2 ID. In response, the CARD
+ server returns the IP address of the CAR to the current AR. Then,
+ the current AR directly contacts the respective CAR and performs
+ capability discovery with it. The current AR then passes the IP
+ address of the CAR and associated capabilities to the MN. The
+ current AR then stores the resolved IP address within its local CAR
+ table. The centralized CARD protocol operation introduces additional
+ signaling messages, which are exchanged between the MN's current AR
+ and the CARD server. The signaling messages between an AR and the
+ CARD server function are shown with the preceding identifier "AR-
+ Server", referring to the associated interface.
+
+ An initial idea of performing reverse address translation using a
+ centralized server is described in [Funa02].
+
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 37]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ +----------+
+ +------------>| CARD |<-------------+
+ |+------------| Server |-------------+|
+ || +----------+ ||
+ || ||
+ || ~~~~~~~~~~~ ||
+ (3)AR-Server||(4)AR-Server{ } ||(0) CARD
+ CARD || CARD { } ||Reg Req/
+ Request || Reply { IP Cloud } | Reply
+ || { } ||
+ || { } ||
+ |V ~~~~~~~~~~~ V|
+ +---------+ (5)AR-AR CARD Request +-----+-----+
+ | Current |------------------------->| CAR | CAR |
+ | AR |<-------------------------| 1 | 2 |
+ +---------+ (6)AR-AR CARD Reply +-----+-----+
+ ^ | | |
+ (2)MN-AR | |(7)MN-AR | |
+ CARD | | CARD | |
+ Request| V Reply +---+ +---+
+ +--------------+ (1) AP1 L2 ID +--|AP1| |AP2|
+ | Mobile |<---------------------+ +---+ +---+
+ | Node |<--------------------------------+
+ +--------------+ (1) AP2 L2 ID
+
+ Figure A.1: Centralized Approach for L2-L3 Mapping
+
+Appendix A.2. Decentralized Approach Using Mobile Terminals'
+ Handover
+
+ This approach performs CARD over the MN-AR interface as described in
+ Section 4. However, it employs one additional message, called the
+ Router Identity message, over the MN-AR interface to enable ARs to
+ learn about the reverse address translation tables of their
+ neighboring ARs, without being dependent on any centralized server.
+
+ In this approach, CAR identities in the CAR table of an AR are
+ maintained as soft state. The entries for CARs are removed from the
+ CAR table if they are not refreshed before the timeout period expires
+ and are created or refreshed according to the following mechanism.
+
+ The key idea behind the decentralized approach is to bootstrap and
+ maintain the association between two ARs as neighbors of each other
+ using the actual handover of MNs occurring between them as input.
+ The first handover between any two neighboring ARs serves as the
+ bootstrap handover to invoke the discovery procedure, and the
+ subsequent handover serves to refresh the association between the
+ neighboring ARs. After the bootstrap handover, the MNs can perform
+
+
+
+Liebsch, et al. Experimental [Page 38]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ CARD and thus seamless handover using the CAR information. This idea
+ was presented in [ShGi00] and [Tros03].
+
+ Maintenance of the CAR table is done by using an additional option
+ for the CARD protocol operation performed between an MN and its
+ current AR. This message serves as Router Identity message.
+
+ Upon the completion of an inter-AR handover, the MN SHOULD send a
+ Router Identity message to its current AR. This message contains the
+ identity (IP address) of the previous AR (pAR), and can be sent as a
+ specific sub-option in the MN-AR CARD Request message. It SHOULD be
+ acknowledged with the MN-AR CARD Reply. The Router Identity message
+ enables the MN's current AR to learn that the pAR (still) has an AP
+ whose coverage overlaps with one of the APs of the current AR, and
+ vice versa. With this information, the MN's current AR can create or
+ refresh an entry for the pAR as its neighbor. If handover is no
+ longer possible between two ARs, the associated entries eventually
+ timeout and are removed from each AR's CAR table.
+
+ Prior to trusting the MN's report, however, the current AR may
+ perform a number of checks to ensure the validity of the received
+ information. One simple method is to verify the accuracy of the
+ Router Identity message by sending an AR-AR CARD Request message to
+ the pAR. The AR-AR CARD Request includes the identity of the MN.
+ Upon receiving this message, the pAR verifies that the MN was indeed
+ attached to it during a reasonable past interval and responds to the
+ current AR. In this way, each handover of a MN results in a bi-
+ directional discovery process between the two participating ARs.
+
+ Upon receiving a positive verification response, the current AR
+ creates or refreshes, as applicable, the entry for the pAR in its
+ local CAR table. In the former case, the current AR and the pAR
+ exchange capabilities using the AR-AR CARD Request and AR-AR CARD
+ Reply protocol messages. When a new entry is created, the ARs MUST
+ exchange their reverse address translation tables. They may exchange
+ other capabilities at this time or may defer exchange to a later time
+ when some MN undergoing handover between them performs CARD as
+ described in Section 4. In the latter (refresh) case, ARs may
+ exchange capabilities or defer exchanges until a later time when
+ another MN undergoes handover.
+
+ Finally, note that in a handover-based protocol, a first handover
+ between a pAR and an MN's current AR cannot use CARD, as this
+ handover bootstraps the CAR table. However, in the long term, such a
+ handover will only amount to a small fraction of total successful
+ handover between the two ARs. Also, if the MN engaging in such a
+ first handover is running a non-delay sensitive application at the
+ time of handover, the user may not even realize its impact.
+
+
+
+Liebsch, et al. Experimental [Page 39]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+Appendix B. Application Scenarios
+
+ This section provides two examples of application scenarios for CARD
+ protocol operation. One scenario describes a CARD protocol operation
+ in a Mobile IPv6 (MIPv6) network, providing access to the
+ infrastructure via wireless LAN Access Points and associated Access
+ Routers. A second scenario describes CARD protocol operation in a
+ Mobile IPv6-enabled network, which has enhanced support for fast
+ handover integrated (Fast Mobile IPv6), also providing wireless LAN
+ access to the infrastructure.
+
+ This application scenario assumes a moving MN having access to the
+ infrastructure through wireless LAN (IEEE802.11) APs. Mobility
+ management is performed using the Mobile IPv6 protocol. The
+ following figure illustrates the assumed access network design.
+
+Appendix B.1. CARD Operation in a Mobile IPv6-Enabled Wireless LAN
+ Network
+
+ -----------------------------
+ / \ +----+
+ | NETWORK |---| HA |
+ \ / +----+
+ -----------------------------
+ | |
+ +-----+ +-----+
+ | AR1 |---------+ | AR2 |
+ +-----+ | +-----+
+ | subnet 1 | |subnet 2
+ +-----+ +-----+ +-----+
+ | AP1 | | AP2 | | AP3 |
+ +-----+ +-----+ +-----+
+ ^ ^ ^
+ \
+ \
+ \
+ v
+ +-----+
+ | MN | - - ->>>- - - ->>>
+ +-----+
+
+ Figure B.1: Assumed Network Topology
+
+ A Mobile IPv6 Home Agent (HA) maintains location information for the
+ MN in its binding cache. In Figure B.1, the MN holds a care-of
+ address for the subnet 1, supported by AR1. As the MN moves, the
+ MN's current environment offers two further wireless LAN APs with
+ increasing link-quality as candidate APs for a handover. To
+
+
+
+Liebsch, et al. Experimental [Page 40]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ facilitate decision making, parameters associated with ARs are taken
+ into account during the decision process. The AR-related parameters
+ can be, for example, available QoS resources or the type of access
+ technologies supported from an AR. To learn about these candidate
+ ARs' capabilities and associated IP address information, the MN
+ performs CARD. This requires retrieving information about candidate
+ APs' L2 IDs. Furthermore, associated link-quality parameters are
+ retrieved to ascertain whether approaching APs are eligible
+ candidates for a handover. If AP2 and AP3 are suitable candidate
+ APs, the MN encapsulates both L2 IDs (AP2 and AP3) into a CARD
+ Request message, using the L2 ID sub-option, and sends the message to
+ its current AR (AR1).
+
+ AR1 resolves each L2 ID listed in L2 ID options to the associated IP
+ address of the respective CAR, making use of its local CAR table.
+ According to the environment illustrated in Figure B.1, the
+ associated AR IP address of the candidate AP2 will be the same as the
+ MN is currently attached to, which is AR1. The corresponding IP
+ address of the candidate AR, to which AP3 is connected, is the
+ address of AR2. IP addresses of the MN's CARs are now known to AR1,
+ which retrieves the CARs' capabilities from the CAR table. Assuming
+ that it has valid entries for respective capability parameters to
+ refresh dynamic capabilities, whose associated lifetimes in AR1's CAR
+ table have expired, AR1 performs Inter-AR CARD for capability
+ discovery. Since capability information for AR1 is known to AR1, a
+ respective Inter-AR CARD Request is sent only to AR2. In response,
+ AR2 sends a CARD Reply message back to AR1, encapsulating the
+ requested capability parameters with the signaling message in a
+ Capability Container sub-option.
+
+ Next, AR1 sends its own capabilities and the dynamically discovered
+ ones of AR2 back to the MN via a CARD Reply message. Furthermore,
+ AR1 stores the capability parameters of AR2 with the associated
+ lifetimes in its local CAR table.
+
+ Upon receipt of the CARD Reply message, the MN performs target AR
+ selection, taking AR1's and AR2's capability parameters and
+ associated APs' link-quality parameters into account. If the
+ selected AP is AP2, no IP handover needs to be performed. If AP3 and
+ the associated AR2 are selected, the MN needs to perform an IP
+ handover according to the Mobile IPv6 protocol operation.
+
+
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 41]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Figure B.2 illustrates the signaling flow of the previously described
+ application scenario of CARD within a Mobile IPv6-enabled network.
+
+ MN AP1 AR1 AP2 AP3 AR2
+ | | | | | |
+ | connected | | | | |
+ 0-------------0-------0 | | |
+ | | | | | |
+ | | | | | |
+ | | | |
+ | <~~~~~~~~~L2-SCAN (AP2)~~~~~| | |
+ | <~~~~~~~~~L2-SCAN (AP3)~~~~~~~~~~~~~~~~~| |
+ | | | |
+ | (MN-AR) CARD Req | | | |
+ |-------------------->| (AR-AR) CARD Req |
+ | | |---------------------------------------->|
+ | | | (AR-AR) CARD Repl |
+ | (MN-AR) CARD Repl |<----------------------------------------|
+ |<--------------------| | | |
+ | | | | | |
+ [target AR | | | | |
+ selection] | | | | |
+ | | | | | |
+ // // // // // //
+ [either...] | | | | |
+ | | | | | |
+ |-------- L2 attach --------->| | |
+ | | | | | |
+ | connected | | | |
+ 0---------------------0-------0 | |
+ | | | | | |
+ // // // // // //
+ [... or] | | | | |
+ | | | | | |
+ |--------------- L2 attach -------------->| |
+ | | | | | |
+ | connected | | | |
+ 0-----------------------------------------0---------------------0
+ | | | | | |
+ | | |
+ | MIPv6 Binding Update to the HA | |
+ |------------------------------------------------ - - - > |
+ | | | | | |
+
+ Figure B.2. CARD Protocol Operation within a Mobile IPv6-Enabled
+ Wireless LAN Network
+
+
+
+
+
+Liebsch, et al. Experimental [Page 42]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+Appendix B.2. CARD Operation in a Fast Mobile IPv6 Network
+
+ This application scenario assumes that ARs can perform the fast
+ handover protocol sequence for Mobile IPv6 [Kood03]. The MN scans
+ for new APs for handover, similar to Figure B.1. To discover the ARs
+ (CARs), the MN attaches a MN-AR CARD Request option to the ICMP-type
+ Fast Mobile IPv6 RtSolPr message, which is sent to the MN's current
+ AR (pAR, previous AR).
+
+ Candidate APs' L2 IDs are encapsulated using the CARD protocol's L2
+ ID sub-options, which allow the MN to send multiple L2 IDs of
+ candidate APs to its current AR. (This potentially replaces the "New
+ Attachment Point Link-Layer Address" option of the Fast Mobile IPv6
+ protocol.)
+
+ The pAR resolves the received list of candidate APs' L2 IDs to the IP
+ addresses of associated CARs. The pAR checks its local CAR table to
+ retrieve information about the CARs' capabilities. If any table
+ entries have expired, the pAR acquires this CAR's capabilities by
+ sending an AR-AR CARD Request to the respective CAR. The CAR replies
+ with an AR-AR CARD Reply message, encapsulating all capabilities in a
+ Capability Container sub-option and attaching them to the CARD Reply
+ option. On receipt of the CARs' capability information, the pAR
+ updates its local CAR table and forwards the address and capability
+ information to the MN by attaching a MN-AR CARD Reply option to the
+ Fast Mobile IPv6 PrRtAdv message. When the MN's handover is
+ imminent, the MN selects its new AR and the associated new AP from
+ the discovered list of CARs. According to the Fast Mobile IPv6
+ protocol, the MN notifies the pAR of the selected new AR with the
+ Fast Binding Update (F-BU) message, allowing the pAR to perform a
+ fast handover according to the Fast Mobile IPv6 protocol.
+
+ Optionally, the pAR could perform selection of an appropriate new AR
+ on behalf of the MN after the pAR has the MN's CARs' addresses and
+ associated capabilities available. The MN must send its requirements
+ for the selection process to its pAR together with the MN-AR CARD
+ Request message After the pAR has selected the MN's new AR, the
+ address and associated capabilities of the chosen new AR are sent to
+ the MN with the CARD Reply option in the Fast Mobile IPv6 PrRtAdv
+ message.
+
+
+
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 43]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+ Figure B.3 illustrates how CARD protocol messages and functions work
+ with the Fast Mobile IPv6 protocol.
+
+ MN pAR NAR CAR2
+ | | as CAR1 |
+ | | | |
+ |-------RtSolPr------>| | |
+ | [MN-AR CARD Req] |-- AR-AR CARD Req*->| |
+ | |-- AR-AR CARD Req*------------>|
+ | |<--AR-AR CARD Repl*------------|
+ | |<--AR-AR CARD Repl*-| |
+ |<------PrRtAdv-------| | |
+ | [MN-AR CARD Repl] | | |
+ | | | |
+ NAR selection | | |
+ |------F-BU---------->|--------HI--------->| |
+ | |<------HACK---------| |
+ | <--F-BACK--|--F-BACK--> | |
+ | | | |
+ Disconnect | | |
+ | forward | |
+ | packets===============>| |
+ | | | |
+ | | | |
+ Connect | | |
+ | | | |
+ RS (with FNA option)======================>| |
+ |<-----------RA (with NAACK option)--------| |
+ |<=================================== deliver packets |
+ | | |
+
+ Figure B.3. Fast Handover Protocol Sequence with
+ CARD Protocol Options
+
+ * In Figure B.3, the CARD protocol interaction between the pAR and
+ CARs is only required if the lifetime of any capability entries in
+ the pAR's CAR table have expired. Otherwise, the pAR can respond
+ to the requesting MN immediately after retrieving the CARs'
+ addresses and capability information from its CAR table.
+
+
+
+
+
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 44]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+Authors' Addresses
+
+ Hemant Chaskar
+ AirTight Networks
+ 339 N. Bernardo Avenue
+ Mountain View, CA 94043, USA
+
+ EMail: hemant.chaskar@airtightnetworks.net
+
+
+ Daichi Funato
+ NTT DoCoMo, Inc.
+ Communication Systems Laboratory
+ Wireless Laboratories
+ 3-5, Hikarinooka, Yokosuka,
+ Kanagawa 239-8536, Japan
+
+ Phone: +81-46-840-3921
+ EMail: funato@mlab.yrp.nttdocomo.co.jp
+
+
+ Marco Liebsch
+ NEC Network Laboratories
+ Kurfuersten-Anlage 36,
+ 69115 Heidelberg, Germany
+
+ Phone: +49 6221-90511-46
+ EMail: marco.liebsch@netlab.nec.de
+
+
+ Eunsoo Shim
+ Panasonic Digital Networking Laboratory
+ Panasonic Corporation
+ Two Research Way
+ Princeton, NJ 08540
+
+ Phone: +1-609-734-7354
+ EMail: eunsoo@research.panasonic.com
+
+
+ Ajoy Singh
+ Motorola Inc
+ 2G11, 1501 West Shure Dr.
+ Arlington Heights, IL 60004, USA
+
+ Phone: +1 847-632-6941
+ EMail: asingh1@email.mot.com
+
+
+
+
+Liebsch, et al. Experimental [Page 45]
+
+RFC 4066 Candidate Access Router Discovery (CARD) July 2005
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2005).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights 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; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at ietf-
+ ipr@ietf.org.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+Liebsch, et al. Experimental [Page 46]
+