unified l2 abstractions for l3-driven fast handover · unified l2 abstractions for l3-driven fast...
TRANSCRIPT
Unified L2 AbstractionsUnified L2 Abstractionsfor L3for L3--Driven Fast HandoverDriven Fast Handover
-- Media Independent L2 Triggers from the Perspective of IP Layer Media Independent L2 Triggers from the Perspective of IP Layer --
Koki MitaniKoki Mitani
Rie ShibuiRie Shibui
Kazutaka GogoKazutaka Gogo
Fumio TeraokaFumio Teraoka
Keio UniversityKeio University
{koki,shibrie,gogo,tera}@tera.ics.keio.ac.jp{koki,shibrie,gogo,tera}@tera.ics.keio.ac.jp
OutlineOutline
•• L2 Abstractions for L3L2 Abstractions for L3--driven Fast Handoverdriven Fast Handover–– Goals of L3Goals of L3--driven fast handoverdriven fast handover
–– Architecture for control information exchangeArchitecture for control information exchange
–– L2 Primitives for L3L2 Primitives for L3--driven fast handoverdriven fast handover
•• DetailsDetails–– Mapping of Primitives and Wireless LAN ParametersMapping of Primitives and Wireless LAN Parameters
•• EvaluationEvaluation–– L3L3--Driven Fast Handover on FMIPv6Driven Fast Handover on FMIPv6
•• DemonstrationDemonstration–– L3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
•• Current SequenceCurrent Sequence
•• L3L3--Driven Fast HandoverDriven Fast Handover
Goal A: L3Goal A: L3--Driven Fast HandoverDriven Fast Handover
L2 HandoverL2 Handover
Delay
L3L3
L2L2
TimeTime
L3 HandoverL3 HandoverL3 HandoverPreparation
more than 1.5 sec
more than 1 sec
Disruption
L3L3
L2L2
L2-LinkToBeDown
L2-LinkConnect L2-LinkUp
L2 HandoverL2 Handover
L3 Handover PreparationL3 Handover Preparation L3 HandoverL3 Handover
TimeTime
Disruption
L2-LinkStatus/PeerListL2-PeerFound/Lost
Goal B: L3Goal B: L3--Driven Vertical HandoverDriven Vertical Handover
L2L2--cc
L2L2--aa
L2L2--bb
L3L3L2-LinkStatus
L3 HandoverL3 Handover
L2-LinkConnect
L3 HandoverL3 Handover
L2-LinkConnect
L2-LinkUp
Communication quality improves.Communication quality improves.
L2-LinkToBeDown
Continuous communication is difficult.Continuous communication is difficult.
TimeTime
AbstractEntity
<Layer N>Service User Layer
Service Provider Layer<Layer N-m>
Inter-LayerSystem
ProtocolEntity
AbstractEntity
ProtocolEntity
AbstractEntity
ProtocolEntity
AbstractEntity
ProtocolEntity
Request
Confirm
Indication
Response
Architecture for Control Information ExchangeArchitecture for Control Information Exchange
Request is the acquisition request of the lower layer information or a registration
of conditions for Indication.
In response, Confirm returns.
Indication is asynchronously deliveredto an upper layer when an event which needsto be notified occurs.
In response, Response returns.
Usage Types of PrimitivesUsage Types of PrimitivesType 1. Provide L2 information to upper layersType 1. Provide L2 information to upper layers
request:request: Acquisition requestAcquisition request
confirm:confirm: L2 informationL2 information
Type 2. Notify upper layers of L2 eventsType 2. Notify upper layers of L2 eventsrequest:request: Registration for notificationRegistration for notification
confirm:confirm: Valid or invalidValid or invalid
indication:indication: Asynchronous notificationAsynchronous notification
Type 3. Control L2 actions from upper layersType 3. Control L2 actions from upper layersrequest:request: ControlControl
confirm:confirm: Ack or Ack or nacknack
request
confirm
indication
request
confirm
request
confirm
TYPE 1TYPE 1
TYPE 2TYPE 2
TYPE 3TYPE 3
•• L2L2--LinkStatusLinkStatus–– Acquisition request for the current link status.Acquisition request for the current link status.
•• L2L2--PeerListPeerList–– Acquisition request for the list of possible access points.Acquisition request for the list of possible access points.
•• L2L2--PeerFound / L2PeerFound / L2--PeerLostPeerLost–– Indication of discovery/missing of candidate access points.Indication of discovery/missing of candidate access points.
•• L2L2--LinkUp / L2LinkUp / L2--LinkDownLinkDown–– Notification that a new link is brought up / an existing link isNotification that a new link is brought up / an existing link is brought down.brought down.
•• L2L2--LinkToBeDownLinkToBeDown–– Notification that the existing link is bringing down.Notification that the existing link is bringing down.
•• L2L2--LinkConnect / L2LinkConnect / L2--LinkDisconnectLinkDisconnect–– Request for connection/disconnection of the specific link.Request for connection/disconnection of the specific link.
L2 Primitives for L3L2 Primitives for L3--driven Fast Handoverdriven Fast Handover
VERY GOOD : high qualityVERY GOOD : high quality
GOOD : available (high watermark) GOOD : available (high watermark)
FAIR : adequate qualityFAIR : adequate quality
BAD : low quality (low watermark)BAD : low quality (low watermark)
VERY BAD : unavailableVERY BAD : unavailable
Link Quality LevelLink Quality Level
TYPE 1TYPE 1TYPE 2TYPE 2TYPE 3TYPE 3
OutlineOutline
•• L2 Abstractions for L3L2 Abstractions for L3--driven Fast Handoverdriven Fast Handover–– Goals of L3Goals of L3--driven fast handoverdriven fast handover
–– Architecture for control information exchangeArchitecture for control information exchange
–– L2 Primitives for L3L2 Primitives for L3--driven fast handoverdriven fast handover
•• DetailsDetails–– Mapping of Primitives and Wireless LAN ParametersMapping of Primitives and Wireless LAN Parameters
•• EvaluationEvaluation–– L3L3--Driven Fast Handover on FMIPv6Driven Fast Handover on FMIPv6
•• DemonstrationDemonstration–– L3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
L2 Primitives for Link StatusL2 Primitives for Link Status
•• L2L2--LinkStatusLinkStatus–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
–– ConditionCondition•• BandwidthBandwidth
•• Link Quality LevelLink Quality Level
L2-LinkStatusi/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}condition {
bw: 2Mbpsquality: GOOD
}
VERY GOOD : high qualityVERY GOOD : high quality
GOOD : available (high watermark) GOOD : available (high watermark)
FAIR : adequate qualityFAIR : adequate quality
BAD : low quality (low watermark)BAD : low quality (low watermark)
VERY BAD : unavailableVERY BAD : unavailable
Link Quality LevelLink Quality Level
L2 Primitives for AP DiscoveryL2 Primitives for AP Discovery
•• L2L2--PeerListPeerList–– Network Interface IDNetwork Interface ID
–– Peer ListPeer List•• One or more [Peer*, Condition*] One or more [Peer*, Condition*] tuplestuples
•• L2L2--PeerFound / L2PeerFound / L2--PeerLostPeerLost–– Network Interface IDNetwork Interface ID
–– Peer ListPeer List•• One or more [Peer*, Condition*] One or more [Peer*, Condition*] tuplestuples
* Each * Each PeerPeer and and ConditionCondition parameter consists of one or more subparameter consists of one or more sub--parameters, as described in the next slide.parameters, as described in the next slide.
L2-PeerListi/f id: ath0[Peer1, Condition1][Peer2, Condition2][Peer3, Condition3][Peer4, Condition4]
L2-PeerFoundi/f id: ath0[Peer5, Condition5]
L2-PeerLosti/f id: ath0[Peer5, Condition5]
L2 Primitives for L3 HandoverL2 Primitives for L3 Handover
•• L2L2--LinkUpLinkUp–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
•• L2L2--LinkDownLinkDown–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
L2-LinkUpi/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}
L2-LinkDowni/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}
L2 Primitives for Preparing L3 HandoverL2 Primitives for Preparing L3 Handover
•• L2L2--LinkToBeDownLinkToBeDown–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
–– ConditionCondition•• BandwidthBandwidth
•• Link Quality LevelLink Quality Level
L2-LinkToBeDowni/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}condition {
bw: 2Mbpsquality: BAD
}
VERY GOOD : high qualityVERY GOOD : high quality
GOOD : available (high watermark) GOOD : available (high watermark)
FAIR : adequate qualityFAIR : adequate quality
BAD : low quality (low watermark)BAD : low quality (low watermark)
VERY BAD : unavailableVERY BAD : unavailable
Link Quality LevelLink Quality Level
L2 Primitives for L3L2 Primitives for L3--Driven HandoverDriven Handover
•• L2L2--LinkConnectLinkConnect–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
•• L2L2--LinkDisconnectLinkDisconnect–– Network Interface IDNetwork Interface ID
–– PeerPeer•• MAC AddressMAC Address
L2-LinkConnecti/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}
L2-LinkDisconnecti/f id: ath0peer {MACaddr: 01:23:45:67:89:ab
}
OutlineOutline
•• L2 Abstractions for L3L2 Abstractions for L3--driven Fast Handoverdriven Fast Handover–– Goals of L3Goals of L3--driven fast handoverdriven fast handover
–– Architecture for control information exchangeArchitecture for control information exchange
–– L2 Primitives for L3L2 Primitives for L3--driven fast handoverdriven fast handover
•• DetailsDetails–– Mapping of Primitives and Wireless LAN ParametersMapping of Primitives and Wireless LAN Parameters
•• EvaluationEvaluation–– L3L3--Driven Fast Handover on FMIPv6Driven Fast Handover on FMIPv6
•• DemonstrationDemonstration–– L3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
What is FMIPv6?What is FMIPv6?•• L3 Fast Handover Protocol based on Mobile IPv6L3 Fast Handover Protocol based on Mobile IPv6
–– AR forwards data packets to the new location during L3 handoverAR forwards data packets to the new location during L3 handover
InternetInternet
Home Agent Home Agent ((Location Management Server))
Correspondent NodeCorrespondent Node
Mobile NodeMobile Node
PreviousPreviousAccess RouterAccess Router
NewNewAccess RouterAccess Router
Forwarding data packetsfrom/to the new location
Previous CarePrevious Care--of Addressof Address
Binding Update of Binding Update of New CareNew Care--of Addressof Address
Home AddressHome AddressPrevious CarePrevious Care--of Addressof Address
Binding CacheBinding Cache
Registration of new location by MN is in progress.
•• L3L3--Driven + FMIPv6 Predictive ModeDriven + FMIPv6 Predictive Mode
L3L3--Driven Fast HandoverDriven Fast Handover on FMIPv6on FMIPv6
L3L3
L2L2
TimeTime
L2-LinkToBeDown
L2-LinkConnect L2-LinkUp
L2 HandoverL2 Handover
L3 Handover PreparationL3 Handover Preparation L3 HandoverL3 Handover
RtSolPrRtSolPr
Mobile NodeMobile Node
Previous ARPrevious AR
New ARNew AR
HIHI
FBackFBack
FNAFNA
L2-PeerListL2-PeerFound/Lost
AP/AR DiscoveryAP/AR Discovery
FBUFBUPrRtAdvPrRtAdv
HAckHAck
Data PacketsData Packets
Exchange InformationExchange Information
Start ForwardingStart Forwarding Handoff CompleteHandoff Complete
•• FMIPv6 Reactive modeFMIPv6 Reactive mode–– The case that handover prediction failed.The case that handover prediction failed.
L3L3--Driven Fast Handover on FMIPv6Driven Fast Handover on FMIPv6
L3L3
L2L2
TimeTime
L2-LinkDown
L2-LinkConnectL2-LinkUp
L2 HandoverL2 Handover
L3 HandoverL3 Handover
RtSolPrRtSolPr
Mobile NodeMobile Node
Previous ARPrevious AR
New ARNew AR
HIHI
FBackFBack
FNA[FBU]FNA[FBU]
L2-PeerListL2-PeerFound/Lost
AP/AR DiscoveryAP/AR Discovery
FBUFBU
PrRtAdvPrRtAdv
HAckHAck
Data PacketsData Packets
Exchange InformationExchange Information
Start ForwardingStart ForwardingHandoff CompleteHandoff Complete
FMIPv6 Implementation for BSD: FMIPv6 Implementation for BSD: TARZANTARZAN
•• By Nautilus6 ProjectBy Nautilus6 Project–– http://www.nautilus6.org/http://www.nautilus6.org/
http://www.ietf.org/internethttp://www.ietf.org/internet--drafts/draftdrafts/draft--ietfietf--mipshopmipshop--fastfast--mipv6mipv6--03.txt03.txt
•• Based on SHISABased on SHISA–– Mobile IPv6 and NEMO implementation for KAME (*BSD)Mobile IPv6 and NEMO implementation for KAME (*BSD)–– http://http://www.kame.netwww.kame.net//
•• Support both MN and ARSupport both MN and AR• L2 trigger by LIES
–– InterInter--Layer Control Information Exchange ArchitectureLayer Control Information Exchange Architecture– L2 Abstraction:
http://www.ietf.org/internet-drafts/draft-koki-mobopts-l2-abstractions-02.txt
•• Manual CAR (Candidate Access Router) installationManual CAR (Candidate Access Router) installation–– car_info.confcar_info.conf
•• Buffering is not supported yet.Buffering is not supported yet.
Evaluation of L3Evaluation of L3--Driven Predictive FMIPv6Driven Predictive FMIPv6(without Buffering)(without Buffering)
L3-Driven Predictive Handover
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000Time (ms)
Tot
al P
acke
t No.
DataFBU
FBackFNA
BUBA
LINKCONNECT
PCoAPCoAL2 HandoverL2 Handover
PCoA(Forwarded to NCoA)
NCoANCoA
FBUFBUBUBU
FNAFNA
BABA(from Distant HA)(from Distant HA)
FBackFBack
LinkConnect
LinkToBeDown
LinkUp
Total Disruption Time: 60ms(L2) + 50ms(L3) = Total Disruption Time: 60ms(L2) + 50ms(L3) = 110ms110ms / / L2: Wireless Environment EmulatorL2: Wireless Environment Emulator
OutlineOutline
•• L2 Abstractions for L3L2 Abstractions for L3--driven Fast Handoverdriven Fast Handover–– Goals of L3Goals of L3--driven fast handoverdriven fast handover
–– Architecture for control information exchangeArchitecture for control information exchange
–– L2 Primitives for L3L2 Primitives for L3--driven fast handoverdriven fast handover
•• DetailsDetails–– Mapping of Primitives and Wireless LAN ParametersMapping of Primitives and Wireless LAN Parameters
•• EvaluationEvaluation–– L3L3--Driven Fast Handover on FMIPv6Driven Fast Handover on FMIPv6
•• DemonstrationDemonstration–– L3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
•• Current SequenceCurrent Sequence
•• L3L3--Driven Fast HandoverDriven Fast Handover
L3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
L2 HandoverL2 Handover
Delay
L3L3
L2L2
TimeTime
L3 HandoverL3 HandoverL3 HandoverPreparation
more than 1.5 sec
more than 1 sec
Disruption
L3L3
L2L2
L2-LinkToBeDown
L2-LinkConnect L2-LinkUp
L2 HandoverL2 Handover
L3 Handover PreparationL3 Handover Preparation L3 HandoverL3 Handover
TimeTime
Disruption
L2-LinkStatus/PeerListL2-PeerFound/Lost
•• Application: DVTS (15Mbps)Application: DVTS (15Mbps)–– Digital Video Stream on IEEE1394 Encapsulated into IPDigital Video Stream on IEEE1394 Encapsulated into IP–– Sender: MN in a carSender: MN in a car
•• L3 Mobility Protocol: PredictiveL3 Mobility Protocol: Predictive--LIN6 (No Forwarding, No Buffering)LIN6 (No Forwarding, No Buffering)– Prediction of LinkDown and Candidate AP/AR by L2 Triggers–– DAD is performed before L2 handoverDAD is performed before L2 handover
•• L2: IEEE802.11a (5GHz, 54Mbps)L2: IEEE802.11a (5GHz, 54Mbps)–– All APs are same channelAll APs are same channel–– All All APsAPs have different SSIDhave different SSID
•• Project: SIMPLEProject: SIMPLE–– Smart Internet Mobile Project with Layered EffectsSmart Internet Mobile Project with Layered Effects
Sender (MN car)Receiver (CN)
Handover: L2 (1-2ms) + L3 (RTT 1-2ms)LinkToBeDown (LinkToBeDown (Prepare L3 Handover))
��
LinkConnect (L2 switch to a specified AP)LinkConnect (L2 switch to a specified AP)
��
LinkUp (LinkUp (Finish L3 Handover))
START
IPv6 Subnet 1IPv6 Subnet 1 22 33
44
556677
Demonstration ofDemonstration ofL3L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
Sequence of L3Sequence of L3--Driven Fast Handover on PredictiveDriven Fast Handover on Predictive--LIN6LIN6
Sequence of L2 and L3 Handover: Sequence of L2 and L3 Handover: 33--4ms4ms (L3 Disruption Time)(L3 Disruption Time)
Sequence of L2 Trigger: Sequence of L2 Trigger: 40us40us
Userland DaemonUserland Daemon
KernelKernel
Wireless DeviceWireless DeviceL2 EventL2 Event
IndicationIndication
2.6 us2.6 us
13.1 us13.1 us
19.8 us19.8 us
TimeTime
L2L2
LL33
LinkDownLinkDown LinkUpLinkUp
0.8 ms0.8 ms 0.9 ms0.9 ms
AddressAddressConfigurationConfiguration Location Registration Location Registration
RTT: 1RTT: 1--2 ms2 msTimeTime
LinkLinkConnectConnect
SummarySummary•• Designed L2 abstractions as primitives.Designed L2 abstractions as primitives.
–– L2L2--PeerListPeerList / / L2L2--PeerFound / L2PeerFound / L2--PeerLostPeerLost–– L2L2--LinkStatus LinkStatus / / L2L2--LinkUp / L2LinkUp / L2--LinkDownLinkDown / / L2L2--LinkToBeDownLinkToBeDown–– L2L2--LinkConnect / L2LinkConnect / L2--LinkDisconnectLinkDisconnect
•• L3L3--driven fast handover on FMIPv6 was evaluated.driven fast handover on FMIPv6 was evaluated.•• L3L3--driven fast handover on Predictivedriven fast handover on Predictive--LIN6 demonstration.LIN6 demonstration.
IETF Document: http://www.ietf.org/internet-drafts/draft-koki-mobopts-l2-abstractions-02.txt
Teraoka Lab. Keio Univ. http://www.tera.ics.keio.ac.jp/Nautilus6 Project http://www.nautilus6.org/SIMPLE Project