IRTF MobOpts RG F. Teraoka Internet-Draft K. Gogo Intended status: Informational K. Mitsuya Expires: March 25, 2007 R. Shibui K. Mitani KEIO University September 21, 2006 Unified L2 Abstractions for L3-Driven Fast Handover draft-irtf-mobopts-l2-abstractions-01.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 25, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Teraoka, et al. Expires March 25, 2007 [Page 1] Internet-Draft L2 Abstractions September 2006 Abstract This draft proposes unified L2 abstractions for L3-driven fast handovers. For efficient network communication, it is vital for a protocol layer to know or utilize other layer's information such as a form of L2 triggers. However, each protocol layer is basically designed independently. Since each protocol layer is also implemented independently in current operating systems, it is very hard to exchange control information between protocol layers. To solve the problem, this draft defines nine kinds of L2 abstractions in the form of "primitive" to achieve fast handovers in the network layer. This mechanism is called "L3-driven fast handovers" because the network layer initiates L2 and L3 handovers by using the "primitives". Teraoka, et al. Expires March 25, 2007 [Page 2] Internet-Draft L2 Abstractions September 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Primitives for L2 Abstractions . . . . . . . . . . . . . . . . 7 4. Definitions of Primitives . . . . . . . . . . . . . . . . . . 9 4.1. L2-LinkStatus (Type 1) . . . . . . . . . . . . . . . . . . 9 4.2. L2-PeerList (Type 1) . . . . . . . . . . . . . . . . . . . 9 4.3. L2-PeerFound (Type 2) . . . . . . . . . . . . . . . . . . 9 4.4. L2-PeerLost (Type 2) . . . . . . . . . . . . . . . . . . . 9 4.5. L2-LinkUp (Type 2) . . . . . . . . . . . . . . . . . . . . 10 4.6. L2-LinkDown (Type 2) . . . . . . . . . . . . . . . . . . . 10 4.7. L2-LinkGoingDown (Type 2) . . . . . . . . . . . . . . . . 10 4.8. L2-LinkConnect (Type 3) . . . . . . . . . . . . . . . . . 10 4.9. L2-LinkDisconnect (Type 3) . . . . . . . . . . . . . . . . 10 5. Definitions of Static Parameters . . . . . . . . . . . . . . . 11 5.1. Network Interface ID . . . . . . . . . . . . . . . . . . . 11 6. Definitions of Dynamic Parameters . . . . . . . . . . . . . . 12 6.1. Peer . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.2. Condition . . . . . . . . . . . . . . . . . . . . . . . . 12 6.3. Peer List . . . . . . . . . . . . . . . . . . . . . . . . 12 6.4. Enable/Disable . . . . . . . . . . . . . . . . . . . . . . 12 6.5. Ack/Error . . . . . . . . . . . . . . . . . . . . . . . . 12 7. Architectural Considerations . . . . . . . . . . . . . . . . . 13 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Appendix A. Example Scenario . . . . . . . . . . . . . . . . . . 19 Appendix B. Example Operation for FMIPv6 . . . . . . . . . . . . 21 B.1. Example Operation-1 for FMIPv6 . . . . . . . . . . . . . . 21 B.2. Example Operation-2 for FMIPv6 . . . . . . . . . . . . . . 23 B.3. Experiment . . . . . . . . . . . . . . . . . . . . . . . . 25 Appendix C. Example Mapping of Primitives and IEEE802.11 . . . . 27 C.1. L2-LinkStatus . . . . . . . . . . . . . . . . . . . . . . 27 C.2. L2-PeerList . . . . . . . . . . . . . . . . . . . . . . . 27 C.3. L2-PeerFound . . . . . . . . . . . . . . . . . . . . . . . 27 C.4. L2-PeerLost . . . . . . . . . . . . . . . . . . . . . . . 28 C.5. L2-LinkUp . . . . . . . . . . . . . . . . . . . . . . . . 28 Teraoka, et al. Expires March 25, 2007 [Page 3] Internet-Draft L2 Abstractions September 2006 C.6. L2-LinkDown . . . . . . . . . . . . . . . . . . . . . . . 28 C.7. L2-LinkGoingDown . . . . . . . . . . . . . . . . . . . . . 28 C.8. L2-LinkConnect . . . . . . . . . . . . . . . . . . . . . . 28 C.9. L2-LinkDisconnect . . . . . . . . . . . . . . . . . . . . 29 Appendix D. Implementation and Evaluation of the Proposed Model . . . . . . . . . . . . . . . . . . . . . . . . 30 Appendix E. Changes from 01 . . . . . . . . . . . . . . . . . . . 32 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33 Intellectual Property and Copyright Statements . . . . . . . . . . 35 Teraoka, et al. Expires March 25, 2007 [Page 4] Internet-Draft L2 Abstractions September 2006 1. Introduction In recent years, the execution environment around computers is not static and changes dynamically. Especially, when a mobile node moves to a different network, its communication environment considerably changes. For example, in the case of wireless communication, parameters such as radio strength largely changes depending on time or site. For efficient network communication, it is vital for a protocol layer to know or utilize other layer's control information. There are several proposals for seamless handovers in IPv6 network such as Fast Handovers for Mobile IPv6 (FMIPv6) [1] and Hierarchical Mobile IPv6 (HMIPv6) [2]. In FMIPv6, the network layer must know the indication of a handover from the link layer in advance to achieve seamless handovers. However, control information exchange between protocol layers is not allowed because each protocol layer is designed independently. To solve the problem, this draft defines nine kinds of L2 abstractions in the form of "primitive" to achieve fast handovers in the network layer. This mechanism is called "L3-driven fast handovers" because the network layer initiates L2 and L3 handovers by using the "primitives". Teraoka, et al. Expires March 25, 2007 [Page 5] Internet-Draft L2 Abstractions September 2006 2. Terminology This document uses the following terms. L3-Driven Fast Handover The handover mechanism which is initiated by the network layer on a mobile node. Since this mechanism allows the handover preparation in L3 before the start of an L2 handover on the mobile node, it can reduce packet loss during a handover. The L3-driven fast handover mechanism requires L2 information as a trigger of a handover procedure. Peer The attachment point of a mobile node. (e.g., An access point in IEEE 802.11 networks.) Primitive A unit of information which is sent from one layer to another. There are four classes of primitives: Request, Confirm, Indication and Response. Teraoka, et al. Expires March 25, 2007 [Page 6] Internet-Draft L2 Abstractions September 2006 3. Primitives for L2 Abstractions Each layer offers its services in the form of primitives. There are four classes of primitives as shown in Figure 1: Request, Confirm, Indication, and Response. The request is issued by the layer that wants to get the services or the information from another layer, and the confirm is the acknowledgment of the request. The indication is the notification of the information to the layer that requested the service, and the response is the acknowledgment of the indication. In this architecture, a layer can evenly communicate with each other. ------------------------------------------------------ Request Response || /\ /\ || Layer N || || || || ------------||------||----------||------||------------ || || || || \/ || || \/ Layer N-m Confirm Indication ------------------------------------------------------ Figure 1: Primitives The primitive consists of five fields: the protocol layer id to which this primitive should be sent, the protocol id to which protocol entity this primitive should be sent, the primitive class (i.e., request, confirm, indication, or response), the primitive name, and parameters. There are three different usages of "Primitives": Type 1. To provide L2 information to upper layers immediately A "Request" primitive is an acquisition request for L2 information. As a "Confirm" primitive, L2 information returns immediately. Type 2. To notify upper layers of L2 events asynchronously "Request" and "Confirm" primitives are used just for registration. When an event occurs, an "Indication" primitive is asynchronously delivered to an upper layer. Teraoka, et al. Expires March 25, 2007 [Page 7] Internet-Draft L2 Abstractions September 2006 Type 3. To control L2 actions from upper layers A "Request" primitive is a request for operation. Ack or nack returns immediately as a "Confirm" primitive. Teraoka, et al. Expires March 25, 2007 [Page 8] Internet-Draft L2 Abstractions September 2006 4. Definitions of Primitives To obtain and exchange L2 information, the following Primitives are defined. 4.1. L2-LinkStatus (Type 1) The L2-LinkStatus.request primitive is sent to the link layer when an upper layer needs the current information of a link. The L2- LinkStatus.request primitive contains the "Network Interface ID" parameter. In response, the L2-LinkStatus.confirm primitive returns. The L2-LinkStatus.confirm primitive contains three parameters: "Network Interface ID", "Peer", and "Condition". "Peer" and "Condition" indicate the current status of the link between the mobile node and a peer. 4.2. L2-PeerList (Type 1) The L2-PeerList.request primitive is sent to the link layer when an upper layer needs a list of the candidate peers. The L2- PeerList.request primitive contains the "Network Interface ID" parameter. In response, the L2-PeerList.confirm primitive returns with the "Network Interface ID" parameter and the "Peer List" parameter. The "Peer List" parameter is a list of the candidate peers. 4.3. L2-PeerFound (Type 2) The L2-PeerFound.indication primitive is asynchronously provided to an upper layer when new peers are detected. This primitive carries the "Network Interface ID" parameter and the "Peer List" parameter. The "Peer List" parameter contains the information of new peers detected by the mobile node. In order to use this notification, the registration process using the L2-PeerFound.request primitive and the L2-PeerFound.confirm primitive is needed in advance. The L2- PeerFound.request primitive has two parameters: "Network Interface ID" and "Enable/Disable". The "Enable/Disable" parameter shows whether this notification function is turned on. When this registration succeeds, the L2-PeerFound.confirm primitive returns with the "Network Interface ID" parameter and the "Ack" parameter in response. 4.4. L2-PeerLost (Type 2) The L2-PeerLost.indication primitive is asynchronously provided to an upper layer when a peer included in the list of candidate peers disappears. This primitive carries the "Network Interface ID" parameter and the "Peer List" parameter. The "Peer List" parameter Teraoka, et al. Expires March 25, 2007 [Page 9] Internet-Draft L2 Abstractions September 2006 contains the information of the peers which disappeared from the candidates list. The registration process using the L2- PeerLost.request primitive and the L2-PeerLost.confirm primitive is similar to the L2-PeerFound primitive described above. 4.5. L2-LinkUp (Type 2) The L2-LinkUp.indication primitive is asynchronously provided to an upper layer when a new link is connected. This primitive carries the "Network Interface ID" parameter and the "Peer" parameter. The L2- LinkUp.request primitive contains the "Network Interface ID" parameter and the "Enable/Disable" parameter for registration. When the registration succeeded, the L2-LinkUp.confirm primitive with the "Network Interface ID" parameter and the "Ack" parameter returns. 4.6. L2-LinkDown (Type 2) The L2-LinkDown.indication primitive is asynchronously provided to an upper layer when an existing link is disconnected. The registration processing is same as the L2-LinkUp primitive described above. 4.7. L2-LinkGoingDown (Type 2) The L2-LinkGoingDown.indication primitive is asynchronously provided to an upper layer when an existing link is about to be disconnected. This notification contains two parameters: "Network Interface ID" and "Peer". The "Peer" parameter indicates the attachment point at which the link quality is degrading. In the registration processing, the L2-LinkGoingDown.request primitive carries the "Network Interface ID" parameter and the "Enable/Disable" parameter. 4.8. L2-LinkConnect (Type 3) The L2-LinkConnect.request primitive is sent to the link layer when an upper layer has to establish a new link to the specific "Peer". This primitive carries the "Network Interface ID" parameter and the "Peer" parameter. This operation begins after the link layer returns the L2-LinkConnect.confirm primitive with "Ack". 4.9. L2-LinkDisconnect (Type 3) The L2-LinkDisconnect.request primitive is sent to the link layer when an upper layer has to tear down an existing link to the specific "Peer". This primitive carries the "Network Interface ID" parameter and the "Peer" parameter. This operation begins after the link layer returns the L2-LinkDisconnect.confirm primitive with "Ack". Teraoka, et al. Expires March 25, 2007 [Page 10] Internet-Draft L2 Abstractions September 2006 5. Definitions of Static Parameters This section lists static parameters. Once the values of static parameters are configured, they basically remain unchanged during communication. The following parameters are transferred as a part of primitives. 5.1. Network Interface ID The "Network interface ID" parameter uniquely identifies the network interface in the node. The syntax of the identifier is implementation-specific (e.g., name, index or unique address assigned to each interface). This parameter also contains the network interface type which indicates the kind of technology of the network interface (e.g., IEEE802.11a/b/g, 3GPP, etc.). This parameter is required in all primitives. Teraoka, et al. Expires March 25, 2007 [Page 11] Internet-Draft L2 Abstractions September 2006 6. Definitions of Dynamic Parameters This section lists dynamic parameters. The values of dynamic parameters change frequently during communication. The following parameters are transferred as a part of primitives. 6.1. Peer The "Peer" parameter uniquely identifies the peer. 6.2. Condition The "Condition" parameter consists of the following sub-parameters: available bandwidth and link quality level. These sub-parameters are the abstracted information that indicates the current quality-of service. The abstraction algorithms of sub-parameters depend on hardware devices and software implementation. The useful range of link quality is divided into five levels; EXCELLENT, GOOD, FAIR, BAD, NONE in descending order. 6.3. Peer List The "Peer List" parameter consists of arbitrary couples of two sub- parameters: "Peer" and "Condition". This parameter shows a list of peers and its condition. 6.4. Enable/Disable The "Enable/Disable" flag is used for turning event notification on/ off. When an upper layer needs notifications, the "Request" primitive with "Enable" is sent to the link layer as registration. When an upper layer needs no more notifications, the "Request" primitive with "Disable" is sent. 6.5. Ack/Error When an upper layer requests some notifications, the link layer receives and confirms this "Request". If the "Request" is valid, the "Confirm" primitive with "Ack" is sent to the upper layer. If it is invalid, the "Confirm" with "Error" is sent to the upper layer. Teraoka, et al. Expires March 25, 2007 [Page 12] Internet-Draft L2 Abstractions September 2006 7. Architectural Considerations The IAB document "Architectural Implications of Link Indications" [3] discusses the role and the issues of link indications within the Internet Architecture. This section discusses the architectural considerations mentioned in Section 2 of the IAB document. [1] Proposals should avoid use of simplified link models in circumstances where they do not apply. The information in each layer should be abstracted before it is sent to another layer. For example, in IEEE 802.11, the Received Signal Strength Indicator (RSSI), the number of retransmissions and existence of association between the mobile node and the access point are used so that the link layer indications can adjust themselves to various environments or situations. The thresholds needed for some link indications are defined from empirical study. In the conventional protocol layering model, the Protocol Entity (PE) is defined as the entity that processes a specific protocol. Our proposal introduced the Abstract Entity (AE) to achieve link independency of the link indications. An AE and a PE make a pair. An AE abstracts the PE-dependent information to the PE-independent information. Figure 2 shows AEs and PEs using primitives. [2] Link indications should be clearly defined, so that it is understood when they are generated on different link layers. To make the link information/indications clear, our proposal defines the 4 types of primitives; request/confirm and indication/response as described in Section 3. The request is used to obtain the information of another layer. The confirm is the reply to the request and it includes the requested information. The indication is generated when a particular event occurred. The response is the reply to the indication. In our proposal about IEEE 802.11b, L2-LinkUp is defined as the status in which an association to the AP is established, and L2-LinkDown is defined as the status in which an association to the AP is not established. L2-LinkGoingdown is generated when the link quality becomes below the predefined threshold. Since Teraoka, et al. Expires March 25, 2007 [Page 13] Internet-Draft L2 Abstractions September 2006 the Received Signal Strength Indicator (RSSI) and the number of retransmissions are used to abstract and evaluate the link quality, L2-LinkGoingDown represents the link quality in both directions. It should use an average of RSSI or the number of retransmissions damped for one second or more to cope with transient link conditions. [3] Proposals must demonstrate robustness against misleading indications. Since RSSI changes largely even when the mobile node stands still according to the measurements in our experiments, our proposal uses the RSSI, the number of retransmissions, and the existence of an association to calculate the link status as described above. In our experiments, there were some "ping- pong" handovers between two APs. Such ping-pong handovers could be reduced by detecting the most suitable AP by L2- LinkStatus when L2-LinkGoingDown is notified. The use of L2 indications is related to parameter thresholds which trigger handover. These thresholds vary based on the deployment scenario, and if not configured properly, could lead to misleading indications. [4] Upper layers should utilize a timely recovery step so as to limit the potential damage from link indications determined to be invalid after they have been acted on. The proposed L3-driven handover described in Appendix D uses the L2-LinkGoingDown indication as the trigger for starting handover. L2-LinkGoingDown is indicated when the link quality goes down below the specific threshold. This indication is not canceled even if the link quality goes up soon. As described above, L2-LinkStatus can be used to detect the most suitable AP. The IP layer can cancel a handover if it finds that the current AP is the most suitable one by using L2-LinkStatus when L2-LingGoingDown is notified. [5] Proposals must demonstrate that effective congestion control is maintained. Since this mechanism is coupled to the IP layer, and not directly to the transport layer, the proposed mechanism is not Teraoka, et al. Expires March 25, 2007 [Page 14] Internet-Draft L2 Abstractions September 2006 directly affecting congestion control. [6] Proposals must demonstrate the effectiveness of proposed optimizations. In IPv6 mobility, the L3-driven handover mechanism using link indications can dramatically reduce gap time due to handover. The L3-driven handover mechanism needs the L2-LinkGoingDown indication to predict disconnection. But L2-LinkGoingDown is not sometimes trusted because it is difficult to abstract the link quality. Invalid L2-LinkGoingDown may cause redundant handover. A handover mechanism using only L2-LinkUp/ L2-LinkDown can also reduce gap time modestly. An example of an implementation and an evaluation of the L3-driven handover mechanism is described in Appendix D. [7] Link indications should not be required by upper layers, in order to maintain link independence. Our proposal does not require any modifications to the transport and upper layers. [8] Proposals should avoid race conditions, which can occur where link indications are utilized directly by multiple layers of the stack. Since our proposal defines the link indications to only the IP layer, race conditions between multiple layers never happen. [9] Proposals should avoid inconsistencies between link and routing layer metrics. Our proposal does not deal with routing metrics. [10] Overhead reduction schemes must avoid compromising interoperability and introducing link layer dependencies into the Internet and Transport layers. Teraoka, et al. Expires March 25, 2007 [Page 15] Internet-Draft L2 Abstractions September 2006 As described above, the link indications in our proposal are abstracted to the information independent of link types to reduce the gap time due to a handover, and the ordinary host can execute handover without using the link indications defined in our proposal. [11] Proposals advocating the transport of link indications beyond the local host need to carefully consider the layering, security and transport implications. In general, implicit signals are preferred to explicit transport of link indications since they add no new packets in times of network distress, operate more reliably in the presence of middle boxes such as NA(P)Ts, are more likely to be backward compatible, and are less likely to result in security vulnerabilities. Our proposal does not define exchange of link indications between nodes. --------------------------------------------------------- ----------=========== ----------=========== | |[ ] | |[ ] | PE |[ AE ] | PE |[ AE ] | |[ ] | |[ ] ----------=========== ----------=========== Layer N || /\ || /\ ------------||---||-------------------||---||------------ Request|| || Response|| || || || || || || || || || || ||Confirm || ||Indication ------------||---||-------------------||---||------------ \/ || \/ || ----------=========== ----------=========== | |[ ] | |[ ] | PE |[ AE ] | PE |[ AE ] | |[ ] | |[ ] ----------=========== ----------=========== Layer N-m ---------------------------------------------------------- Figure 2: AE and PE with Primitives Teraoka, et al. Expires March 25, 2007 [Page 16] Internet-Draft L2 Abstractions September 2006 8. Security Considerations The IAB document "Architectural Implications of Link Indications" [3] discusses the role and the issues of link indications within the Internet Architecture. This section discusses the security considerations mentioned in Section 4 of the IAB document. [1] Spoofing Our proposal is no more insecure than a particular link layer on which it is implemented. [2] Indication validation Transportation of the link indications between nodes is not assumed, hence this consideration is out of scope in our proposal. [3] Denial of service Our proposal is no more insecure than a particular link layer on which it is implemented. Teraoka, et al. Expires March 25, 2007 [Page 17] Internet-Draft L2 Abstractions September 2006 9. References [1] Koodli, R., "Fast Handovers for Mobile IPv6", RFC 4068, July 2005. [2] Soliman, H., Castelluccia, C., Malki, K., and L. Bellier, "Hierarchical Mobile IPv6 Mobility Management (HMIPv6)", RFC 4140, August 2005. [3] Aboda, B., "Architectural Implications of Link Indications", draft-iab-link-indications-05 (work in progress), July 2006. [4] Ishiyama, M., Kunishi, M., Esaki, H., and F. Teraoka, "LINA: A New Approach to Mobility Support in Wide Area Networks", IEICE Transactions on Communication vol. E84-B, no. 8, pp. 2076-2086, August 2001. Teraoka, et al. Expires March 25, 2007 [Page 18] Internet-Draft L2 Abstractions September 2006 Appendix A. Example Scenario For example, the picture below shows L3-driven fast handover mechanism using the L2 triggers on MN. L2 L3 | | |<----------LinkUP.req-----------| |-----------LinkUP.cnf---------->| |<-------LinkGoingDown.req-------| |--------LinkGoingDown.cnf------>| = = | | Low | Signal-----LinkGoingDown.ind------>| | | |<---------PeerList.req----------| |----------PeerList.cnf------>Handover | Preparation |<-------LinkConnect.req---------| L2 Handover--LinkConnect.cnf-------->: : : : : finish---------LinkUp.ind----->L3 Handover | finish | | L2: Link Layer on MN L3: Network Layer on MN req: Request cnf: Confirm ind: Indication Figure 3: L3-Driven Fast Handover Mechanism First, the L3 issues LinkUp.request to receive LinkUp.indication when the link becomes available. The L3 also issues LinkGoingDown.request to receive LinkGoingDown.indication when the link quality goes down below the threshold. In the beginning of the L3-driven handover procedure, the L2 detects the radio signal strength is going down. Then the L2 sends L2- LinkGoingDown.indication to the L3. The L3 prepares for handover (e.g., CoA generation, DAD, ND cache creation, and routing table setting) and sends L2-PeerList.request to the L2 if the list of access points is needed. Teraoka, et al. Expires March 25, 2007 [Page 19] Internet-Draft L2 Abstractions September 2006 If the L3 decides to perform handover according to some rules, the L3 sends L2-LinkConnect.request with some parameters about candidate access points to request L2 handover. L2 handover begins after the L3 sends L2-LinkConnect.confirm to the L2. When the L2 handover finished, the L2 sends L2-LinkUp.indication to notify the L3. Finally, the L3 performs handover (e.g., sending BU). One of the important features of L3-driven fast handover using Primitives is that the L3 handover preparation can be done during communication. So, it can reduce disruption time during handover. Teraoka, et al. Expires March 25, 2007 [Page 20] Internet-Draft L2 Abstractions September 2006 Appendix B. Example Operation for FMIPv6 Here shows 2 scenarios of L3 driven fast handover for FMIPv6. Scenario 2 is differ from scenario 1 for the timing of sending some messages. B.1. Example Operation-1 for FMIPv6 Figure 4 shows the predictive mode of FMIPv6 operation with L3-driven link switching mechanism. Teraoka, et al. Expires March 25, 2007 [Page 21] Internet-Draft L2 Abstractions September 2006 MN-L2 MN-L3 PAR-L3 | | | AP<---------PeerList.req----------| | Scan---------PeerList.cnf--------->| | | |---RtSolPr-->| | |<--PrRtAdv---| |---------PeerFound.ind--------->| | | |---RtSolPr-->| | |<--PrRtAdv---| | | | ~ ~ ~ | | | Low | | Signal-----LinkGoingDown.ind------>| | NAR-L3 | |-----FBU---->| | | | |----HI---->| | | |<--HAck----| | |<----FBack---| | |<-------LinkConnect.req---L3 Handover | | L2 Handover--LinkConnect.cnf-------->: | : : | : : | finish---------LinkUp.ind---------->: | | :-----------FNA---------->| | finish<======packets=========| | | | MN-L2 : Link Layer on Mobile Node MN-L3 : Network Layer on Mobile Node PAR-L3 : Network Layer on Previous Access Router NAR-L3 : Network Layer on New Access Router req : Request cnf : Confirm ind : Indication RtSolPr : Router Solicitation for Proxy PrRtAdv : Proxy Router Advertisement FBU : Fast Binding Update FBack : Fast Binding Acknowledgment FNA : Fast Neighbor Advertisement HI : Handover Initiate HAck : Handover Acknowledge Figure 4: L3-Driven Fast Handover Mechanism with FMIPv6 scenario 1 When the MN establishes link connectivity to the PAR, it performs router discovery. The MN sends RtSolPr message to the PAR to resolve the access point identifiers to the subnet router information. To Teraoka, et al. Expires March 25, 2007 [Page 22] Internet-Draft L2 Abstractions September 2006 send RtSolPr, a MN discovers one or more access points by sending L2- PeerList.request to the link layer. As a response to L2- PeerList.request, L2-PeerList.confirm returns with "Peer List" parameter which contains identifiers and conditions of nearby access points. After initial AP discovery, L2-PeerFound.indication with "Peer List" is also sent from the link layer when one or more access points are discovered. When the link layer of the MN detects that radio signal strength is going down, it sends L2-LinkGoingDown.indication to the network layer. Then, the MN sends the FBU message to the PAR as the beginning of the L3 handover procedure. The NCoA required for the FBU message is determined according to the MN's policy database and the received PrRtAdv message. As a response to the FBU message, the MN receives the FBack message and then immediately switches its link by L2-LinkConnect.request with the specific "Peer" parameter. The handover policy of the MN is outside the scope of this document. After L2 handover, the link layer of the MN sends L2- LinkUp.indication to the network layer. The MN immediately sends the FNA message to the NAR. The NAR will send tunneled and buffered packets to the MN. B.2. Example Operation-2 for FMIPv6 Figure 5 shows the predictive mode of FMIPv6 operation with L3-driven link switching mechanism. Teraoka, et al. Expires March 25, 2007 [Page 23] Internet-Draft L2 Abstractions September 2006 MN-L2 MN-L3 PAR-L3 | | | AP<---------PeerList.req----------| | Scan---------PeerList.cnf--------->| | | |---RtSolPr-->| | |<--PrRtAdv---| |---------PeerFound.ind--------->| | | |---RtSolPr-->| | |<--PrRtAdv---| | | | ~ ~ ~ | | | Low | | Signal-----LinkGoingDown.ind------>| | NAR-L3 | |-----FBU---->| | |<-------LinkConnect.req---L3 Handover | | L2 Handover--LinkConnect.cnf-------->: | | | | |----HI---->| | | |<--HAck----| | | |---FBack-->| | |<----FBack---------------| : : | finish---------LinkUp.ind---------->: | | :-----------FNA---------->| | finish<======packets=========| | | | MN-L2 : Link Layer on Mobile Node MN-L3 : Network Layer on Mobile Node PAR-L3 : Network Layer on Previous Access Router NAR-L3 : Network Layer on New Access Router req : Request cnf : Confirm ind : Indication RtSolPr : Router Solicitation for Proxy PrRtAdv : Proxy Router Advertisement FBU : Fast Binding Update FBack : Fast Binding Acknowledgment FNA : Fast Neighbor Advertisement HI : Handover Initiate HAck : Handover Acknowledge Figure 5: L3-Driven Fast Handover Mechanism with FMIPv6 scenario 2 Unlike the scenario 1, the MN in scenario 2 sends LinkConnect.req from the network layer to the link layer after MN sends the FBU message. As the MN sends the FBack message to both AR (not only the Teraoka, et al. Expires March 25, 2007 [Page 24] Internet-Draft L2 Abstractions September 2006 PAR but also the NAR), the MN can get the FBack message sent by the PAR through the NAR, and then it moves to the NAR. B.3. Experiment We implemented FMIPv6 and the proposed L2 primitives on FreeBSD-5.4. Figure 6 shows our test network. The MN is connected to access routers by using IEEE802.11a wireless LAN. The MN moves from the PAR to the NAR. | +--+---+ |Router| +--+---+ | 100BaseTX ---+--------+---------+---------+---------+------------ | | | | +--+--+ +--+--+ +--+--+ +--+--+ | PAR | | NAR | | HA | | CN | +-----+ +-----+ +-----+ +-----+ | | IEEE802.11a IEEE802.11a PAR, NAR: nexcom EBC |Channel 7 |Channel7 MN: ThinkPad X31 OS: FreeBSD-5.4 | | KAME/SHISA/TARZAN +-----+ +-----+ | MN | -------> | MN | +-----+ +-----+ Figure 6: Test Network Scenario 1 was used in this experiment. Upon receiving L2- LinkGoingDown.indication, the L3 of the MN sends the FBU message and then receives the FBack message. It took 20ms from the transmission of the FBU message and the reception of the FBack message. After receiving the FBack message, the L3 of the MN issues L2- LinkConnect.request to the L2. When L2 handover finishes, the L3 receives L2-LinkUp.ind from the L2. It took 1ms for an L2 handover. Next, the MN sends the FNA message to the NAR. Upon receiving the FNA message, the NAR starts forwarding packets to the NM. ICMP echo request packets were sent at 10ms intervals. It was observed that no or 1 ICMP echo reply packet was lost during a handover. Teraoka, et al. Expires March 25, 2007 [Page 25] Internet-Draft L2 Abstractions September 2006 MN PAR NAR | | | |----- RtSolPr --->| | |<---- PrRtAdv ----| | | | | +--- |------ FBU ------>| | | | |------- HI ------>| 20ms| | | | | | |<----- HAck ------| | | | | +--- |<-------------- FBack -------------->| | | | +-- disconnect | | | 1ms| | | | connect | | 8-10ms| | | | | 7ms| | | | | | | | +----- FNA -------------------------->| +-- |<------------------------ deliver packets | | | Figure 7: Measured Results Teraoka, et al. Expires March 25, 2007 [Page 26] Internet-Draft L2 Abstractions September 2006 Appendix C. Example Mapping of Primitives and IEEE802.11 This section shows examples of the mapping between "Primitives" and IEEE802.11 parameters. C.1. L2-LinkStatus Most of parameters of L2-LinkStatus are related to the configuration of network interface hardware. The operating system and the device driver module can easily collect such information. However, to create the "Condition" parameter, the MN should maintain statistics and parameters related to the current wireless environment. There are two sub-parameters of the "Condition" parameter: available bandwidth and link quality level. The available bandwidth of the current peer can be obtained by maintaining the transmission rate indication and the statistics of frame transmission at every time a frame is sent. A link quality level can be updated by maintaining the following parameters and statistics at every time a frame is received: receive signal strength indication (RSSI), transmission/ reception rate indication, transmit/receive latency, bit error rate, frame error rate and noise level. Link quality level is divided into five levels: EXCELLENT, GOOD, FAIR, BAD, and NONE in descending order. Some parameters can be managed by setting threshold from software. When the parameters cross the threshold, an interrupt is generated for the software. C.2. L2-PeerList In IEEE 802.11 networks, L2-PeerList returns the detected APs which quality level exceeds the specified threshold as peer candidates (by the "Peer List" parameter). Therefore, the MN should always maintain the database of available access points according to reception of beacon frame, probe response frame and all frames. This AP database is managed in consideration of time, number of frames and signal strength. There are some kinds of network interface hardware that can notify events to operating system only when the desired event occurs, by setting a threshold from software. Moreover, the MN can transmit the probe request frame for access point discovery, if needed. C.3. L2-PeerFound In IEEE 802.11 networks, L2-PeerFound is notified when new peers which link quality level exceeds the specified threshold are detected by listening beacons or scanning APs. If the received frame (mainly the beacon or the probe response) is not in the AP database described in Appendix C.2, then the link layer creates L2-PeerFound.indication. Teraoka, et al. Expires March 25, 2007 [Page 27] Internet-Draft L2 Abstractions September 2006 For example, if the threshold of link quality level specified by L2- PeerFound.request is GOOD, the L2-PeerFound.ind is made and sent to the upper layer when peer's link quality becomes stronger than to the level of GOOD. C.4. L2-PeerLost In IEEE 802.11 networks, L2-PeerLost is notified when an AP included in the list of candidate APs is got lost by listening beacons or scanning APs. If the entry in the AP database described in Appendix C.2 expires, or link quality level goes under the threshold, then the link layer creates L2-PeerLost.indication. To calculate the link quality level, the signal strength of the received frame (mainly the beacon or the probe response) can be used. For example, if the threshold of the link quality specified by L2-PeerLost is BAD, L2- PeerLost.ind is made and sent to the upper layer when peer's link quality becomes weaker than the level of BAD. C.5. L2-LinkUp In IEEE 802.11 networks, L2-LinkUp is notified when association or reassociation event occurs. When such event occurs, the MN receives the association response frame or the reassociation response frame. Immediately after receiving it, the link layer creates L2- LinkUp.indication. C.6. L2-LinkDown In IEEE 802.11 networks, L2-LinkDown is notified when disassociation event occurs or when no beacon is received during a certain time. When such event occurs, the MN sends the disassociation frame to the AP, or the entry of the specific AP is deleted from the AP database described in Appendix C.2. By detecting such events, the link layer creates L2-LinkDown.indication. C.7. L2-LinkGoingDown In IEEE 802.11 networks, L2-LinkGoingDown is notified when the radio signal strength of the connected AP is going down and becomes under the specified threshold. C.8. L2-LinkConnect In IEEE802.11 networks, each AP is identified by the BSSID and the service set of several APs is identified by the SSID. When L2- LinkConnect is used to connect a specific AP or a service set, the link layer should set the BSSID or the SSID. Also, the channel should be set appropriately at the same time by searching the Teraoka, et al. Expires March 25, 2007 [Page 28] Internet-Draft L2 Abstractions September 2006 database described in Appendix C.2. To connect to the AP, the MN should be authenticated by the AP. The MN sends the authentication message to the AP, and then the MN sends the association message to associate with the AP. C.9. L2-LinkDisconnect In IEEE802.11 networks, the MN sends the disassociation message to the AP for disconnection. When L2-LinkDisconnect is used for disconnection from the current AP, the link layer should send the disassociation message to the appropriate AP, and stop data transmission. Teraoka, et al. Expires March 25, 2007 [Page 29] Internet-Draft L2 Abstractions September 2006 Appendix D. Implementation and Evaluation of the Proposed Model This section describes an implementation of the proposed link indication architecture and its evaluation. An IEEE802.11a wireless LAN device driver was modified to provide abstract link layer information in the form of primitives defined in Section 4. The modified driver has two AP lists. One contains the device dependent information such as the RSSI, the retransmission count, various AP parameters and various statistics. The device dependent information except for the AP parameters is updated whenever the device receives a frame. If the received frame is the management frame, the AP parameters are also updated according to the parameters in the frame. Another AP list contains the abstract information. The abstract information is updated periodically by using the device dependent information. In the abstraction processing, for example, the RSSI or the retransmission count is converted to the common indicator "link quality". L2-PeerList and L2-LinkStatus were implemented by using only the abstract information. Thus, the upper layers can use information of the current AP and the adjacent APs without depending on the devices. L2-PeerFound or L2-PeerLost is notified if the link quality went up or down beyond the thresholds when the abstract information is updated. If the link quality of the current AP went down below the specific threshold, L2-LinkGoingDown is notified. L2-LinkUp or L2- LinkDown is notified when an association with an AP is established or destroyed. To realize L2-LinkConnect and L2-LinkDisconnect, functions to connect or disconnect to the specified AP were implemented. In these functions, since only abstract information is needed to specify the AP, other layers need not to know the device dependent information. In our outdoor testbed, there are eight ARs, each of which is located at a 80-100m interval. The AP is collocated at the AR. IEEE802.11a was used as the link layer. The same wireless channel was used at all the APs. Thus there are eight wireless IPv6 subnets in the testbed. The mobile node in a car moved at a speed of 30-40 km/h. When link quality of the current AP goes down, the mobile node executes L3-driven handover described in Appendix A. An application called DVTS was running on the mobile node and sent digital video data at about a 15Mbps data rate through the wireless IPv6 subnet to the correspondent node, which replayed received digital video data. In this environment, the L2 handover needed less than 1 msec and mobility protocol LIN6 [4] needed a few msec for location registration. Thus, the total gap time due to the handover was 3-4 Teraoka, et al. Expires March 25, 2007 [Page 30] Internet-Draft L2 Abstractions September 2006 msec. In most case, there was no influence to the replayed pictures over handover. Teraoka, et al. Expires March 25, 2007 [Page 31] Internet-Draft L2 Abstractions September 2006 Appendix E. Changes from 01 - References were updated. Teraoka, et al. Expires March 25, 2007 [Page 32] Internet-Draft L2 Abstractions September 2006 Authors' Addresses Fumio Teraoka Graduate School of Science and Technology, KEIO University 3-14-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8522 Japan Phone: 45-566-1425 Email: tera@ics.keio.ac.jp URI: http://www.tera.ics.keio.ac.jp/ Kazutaka Gogo Faculty of Science and Technology, KEIO University 3-14-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8522 Japan Phone: 45-566-1425 Email: gogo@tera.ics.keio.ac.jp URI: http://www.tera.ics.keio.ac.jp/ Koshiro Mitsuya Jun Murai Lab, Shonan Fujisawa Campus, KEIO University 5322 Endo Fujisawa, Kanagawa 252-8520 Japan Phone: +81-466-49-1100 Email: mitsuya_at_sfc.wide.ad.jp URI: Rie Shibui Graduate School of Science and Technology, KEIO University 3-14-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8522 Japan Phone: 45-566-1425 Email: shibrie@tera.ics.keio.ac.jp URI: http://www.tera.ics.keio.ac.jp/ Teraoka, et al. Expires March 25, 2007 [Page 33] Internet-Draft L2 Abstractions September 2006 Koki Mitani Graduate School of Science and Technology, KEIO University 3-14-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8522 Japan Phone: 45-566-1425 Email: koki@tera.ics.keio.ac.jp URI: http://www.tera.ics.keio.ac.jp/ Teraoka, et al. Expires March 25, 2007 [Page 34] Internet-Draft L2 Abstractions September 2006 Full Copyright Statement Copyright (C) The Internet Society (2006). 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Teraoka, et al. Expires March 25, 2007 [Page 35]