+ All Categories
Home > Documents > Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer...

Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer...

Date post: 27-Jun-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
19
c The British Computer Society 2015. All rights reserved. For Permissions, please email: [email protected] Advance Access publication on 2 September 2015 doi:10.1093/comjnl/bxv064 Software-Defined Mobility Support in IP Networks You Wang and Jun Bi Department of Computer Science, Tsinghua National Laboratory for Information Science and Technology (TNList), Institute for Network Sciences and Cyberspace, Tsinghua University, Beijing 100084, China Corresponding author: [email protected] A large number of solutions have been proposed to support mobility in IP networks including original Mobile IP, its derivatives and several newly proposed protocols. However, these solutions often show drawbacks in terms of triangle routing, handoff inefficiency, heavy signaling overhead, etc. when han- dling diversified mobility scenarios. In this paper, we argue that these problems can be addressed by an adaptive mobility solution based on software-defined networks (SDN). We discuss why SDN helps to solve the problems in current IP mobility protocols and give our design and algorithm to demon- strate how they are solved. We show performance benefits of the SDN-based proposal comparing with existing solutions by making evaluations based on real network topologies. We also implement our proposal using Mininet and experiment on it to prove that it is not only theoretically but also prac- tically feasible to realize software defined mobility support in IP networks. Keywords: mobility management; Mobile IP; home agent; software-defined networks; OpenFlow Received 12 January 2015; revised 5 May 2015 Handling editor: Javier Barria 1. INTRODUCTION Internet mobility has been an active research topic for over two decades. Generally, the basic problem in supporting Internet mobility is to deliver data to a mobile receiver, whose location in the network topology is dynamically changing [1]. A large number of solutions have been proposed to address the prob- lem. Amongst all related proposals, Mobile IP [2,3] is one of the earliest and most well-known protocol. Mobile IP is an Internet Engineering Task Force (IETF) standardized protocol which allows mobile nodes (MNs) to keep session survivability while roaming around and changing IP addresses. To achieve this goal, Mobile IP uses Home Address (HoA) to identify an MN and Care-of Address (CoA) to locate an MN. Mobile IP intro- duces a mobility anchoring node called home agent (HA) to store each MN’s HoA-to-CoA mapping. Having this mapping, HA is responsible for tunneling packets to and from the MN. The employment of a single HA means that the MN’s map- ping can only be kept at a fixed location. This restriction implies that Mobile IP favors mobility scenarios when the MN only moves around its home network. Otherwise, it brings triangle routing problem as all the packets from correspon- dent nodes (CNs) to the MN have to take a detour to pass the HA. Triangle routing leads to data path stretch, large handoff signaling cost, as well as heavy load on HA. Different kinds of approaches have been proposed to address the problem. One class of such solutions deploys multiple mobility anchors over the network [47] and distributes the MN’s mapping among the anchors. In this way, triangle routing can be alleviated. However, it still requires further study on how these mobil- ity anchors should be deployed in the network. Actually, a trade-off exists on the mobility anchor deployment: if they are deployed relatively far away from MNs, triangle routing problem still exists; otherwise, if they are deployed close to the MNs, an MN’s switching between different mobility anchors becomes frequent, which brings additional signaling cost [8]. There are some recently proposed IP mobility protocols that do not belong to Mobile IP derivatives, such as HIP [9] and ILNP [10]. Instead of deploying mobility anchors in the network, in these protocols CNs themselves serve as mobility anchors since they always learn the MNs’ up-to-date locations by querying a global mapping system or receiving mapping updates directly from the MNs. As a result, triangle routing never exists in such protocols. However, according to RFC 4830 [11], these protocols have drawbacks in supporting micro-mobility scenarios: since an MN’s mapping are always distributed to the CN side, it may result in large signaling Section B: Computer and Communications Networks and Systems The Computer Journal, Vol. 59 No. 2, 2016 at Tsinghua University on March 2, 2016 http://comjnl.oxfordjournals.org/ Downloaded from
Transcript
Page 1: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

c© The British Computer Society 2015. All rights reserved.For Permissions, please email: [email protected]

Advance Access publication on 2 September 2015 doi:10.1093/comjnl/bxv064

Software-Defined Mobility Supportin IP Networks

You Wang and Jun Bi∗

Department of Computer Science, Tsinghua National Laboratory for Information Science and Technology(TNList), Institute for Network Sciences and Cyberspace, Tsinghua University, Beijing 100084, China

∗Corresponding author: [email protected]

A large number of solutions have been proposed to support mobility in IP networks including originalMobile IP, its derivatives and several newly proposed protocols. However, these solutions often showdrawbacks in terms of triangle routing, handoff inefficiency, heavy signaling overhead, etc. when han-dling diversified mobility scenarios. In this paper, we argue that these problems can be addressed byan adaptive mobility solution based on software-defined networks (SDN). We discuss why SDN helpsto solve the problems in current IP mobility protocols and give our design and algorithm to demon-strate how they are solved. We show performance benefits of the SDN-based proposal comparing withexisting solutions by making evaluations based on real network topologies. We also implement ourproposal using Mininet and experiment on it to prove that it is not only theoretically but also prac-

tically feasible to realize software defined mobility support in IP networks.

Keywords: mobility management; Mobile IP; home agent; software-defined networks; OpenFlow

Received 12 January 2015; revised 5 May 2015Handling editor: Javier Barria

1. INTRODUCTION

Internet mobility has been an active research topic for over twodecades. Generally, the basic problem in supporting Internetmobility is to deliver data to a mobile receiver, whose locationin the network topology is dynamically changing [1]. A largenumber of solutions have been proposed to address the prob-lem. Amongst all related proposals, Mobile IP [2,3] is one of theearliest and most well-known protocol. Mobile IP is an InternetEngineering Task Force (IETF) standardized protocol whichallows mobile nodes (MNs) to keep session survivability whileroaming around and changing IP addresses. To achieve thisgoal, Mobile IP uses Home Address (HoA) to identify an MNand Care-of Address (CoA) to locate an MN. Mobile IP intro-duces a mobility anchoring node called home agent (HA) tostore each MN’s HoA-to-CoA mapping. Having this mapping,HA is responsible for tunneling packets to and from the MN.

The employment of a single HA means that the MN’s map-ping can only be kept at a fixed location. This restrictionimplies that Mobile IP favors mobility scenarios when the MNonly moves around its home network. Otherwise, it bringstriangle routing problem as all the packets from correspon-dent nodes (CNs) to the MN have to take a detour to pass theHA. Triangle routing leads to data path stretch, large handoff

signaling cost, as well as heavy load on HA. Different kinds ofapproaches have been proposed to address the problem. Oneclass of such solutions deploys multiple mobility anchors overthe network [4–7] and distributes the MN’s mapping amongthe anchors. In this way, triangle routing can be alleviated.However, it still requires further study on how these mobil-ity anchors should be deployed in the network. Actually, atrade-off exists on the mobility anchor deployment: if theyare deployed relatively far away from MNs, triangle routingproblem still exists; otherwise, if they are deployed close to theMNs, an MN’s switching between different mobility anchorsbecomes frequent, which brings additional signaling cost [8].

There are some recently proposed IP mobility protocolsthat do not belong to Mobile IP derivatives, such as HIP [9]and ILNP [10]. Instead of deploying mobility anchors in thenetwork, in these protocols CNs themselves serve as mobilityanchors since they always learn the MNs’ up-to-date locationsby querying a global mapping system or receiving mappingupdates directly from the MNs. As a result, triangle routingnever exists in such protocols. However, according to RFC4830 [11], these protocols have drawbacks in supportingmicro-mobility scenarios: since an MN’s mapping are alwaysdistributed to the CN side, it may result in large signaling

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 2: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

160 Y. Wang and J. Bi

overhead (especially on wireless links) and mapping updatelatency during each network-layer handoff, which could havebeen avoided by handling the handoff locally.

Therefore, a key problem of traditional Internet mobilitysolutions is their lack of flexibility to handle diversified mobil-ity scenarios. Existing solutions make different design choicesto implement mobility functions which usually make them ben-eficial in one scenario but not suitable for another. To addressthis problem, we have proposed a preliminary idea usingsoftware-defined networks (SDN) and OpenFlow [12]. SDN isan emerging network architectural approach, while OpenFlowis one of the most well-known instantiations of SDN. In SDN,network structures, functions and performance can be definedin a simpler way which is usually achieved by providing pro-grammable devices and a centralized control logic. As we willshow in this article, IP mobility can also be software defined ina flexible and efficient way.

Although we propose to integrate SDN and Internet mobilitysupport, we are not simply implementing or extending exist-ing IP mobility solutions in an SDN way. This article is morefocused on addressing the question whether and how SDN ben-efits Internet mobility in a general case. We present a summaryof our answer from two aspects: on one hand, programmableSDN devices provide the basis to design an adaptive protocolto address diversified mobility scenarios. Specifically, mobilityanchor functionality can be easily implemented or removedon SDN devices, making it possible to deploy dynamic andtemporary mobility anchors rather than using static and per-manent mobility anchors as is employed by existing solutions.On the other hand, centralized control of SDN facilitates therealizing of such an adaptive protocol. It is because, centralizedcontrol can record all kinds of mobility details, e.g. how theMN moves, how the CN-to-MN traffic flows etc. These detailshelp to generate optimal strategies to handle different mobil-ity scenarios via a light-weight algorithm without introducingcomplex distributed protocols.

Throughout the article, we extend the above summarizedanswer via theoretical modeling and proof as well as practicalevaluations and experiments. The answer also contributes tothe design and improvement of traditional mobility protocols.For instance, SDN’s benefits to Internet mobility imply thatoffering a certain level of flexibility can be beneficial to copewith diversified mobility scenarios in the Internet.

The rest of this paper is organized as follows. In Section 2, wereview related work and introduce two categories of mobilitysolutions that serve as comparatives to the SDN-based proposalin following sections. Then we present both general designand an OpenFlow-based instantiation of the SDN-based pro-posal in Section 3. In Section 4, we discuss on a key problem inSDN-based mobility support and present an algorithm to solvethe problem with optimal results. The algorithm is evaluated inSection 5 using real network topologies. The evaluation alsoserves as a comparison between the SDN-based proposal andexisting IP mobility solutions. In Section 6, implementation

and experiments of the proposal based on Mininet are demon-strated. Finally, we conclude the paper and discuss on futurework in Section 7.

2. RELATED WORK

In this section, we give an overview of related IP mobility pro-tocols. First, we review Mobile IP, its extensions as well asother protocols that share similar ideas to store and distributeMN’s mapping among mobility anchors deployed in the net-work, and we call them network-based protocols. Then, wereview host-based protocols which mainly rely on end hosts tomaintain MNs’ mappings. Finally, we mention some existingresearch on providing IP mobility support in SDN architecture.

2.1. Network-based mobility protocols

One of the earliest Internet mobility solutions is Mobile IPwhich began its standardization in the IETF about two decadesago. Since then various Mobile IP derivatives have been pro-posed to improve the original protocol in order to adapt to theevolving Internet. Mobile IP and its derivatives can be regardedas network-based solutions, since their mobility managementfunctions are mainly implemented at the network-side.

As explained in Section 1, Mobile IP centralizes both mobil-ity signaling and data forwarding functions into a single HA,which increases signaling cost and data path stretch whenMN is not within the home network. To address the problem,some Mobile IP extensions have been proposed. HMIPv6 [13]deploys Mobility Anchor Points (MAP) and uses them tolocalize mobility signaling when the MN is away from HA.Specifically, MN attaches to a nearby MAP which is locatedusing a Regional CoA (RCoA), and then the MAP is respon-sible for keeping the mappings between the MN’s HoA and aLocal CoA (LCoA), which is exactly the MN’s current loca-tion, and tunneling packets to the MN. When attaching to anew MAP, to keep its reachability, MN informs HA of the newMAP’s RCoA. Proxy Mobile IPv6 (PMIPv6) [14] is a similarsolution, and it frees MNs from mobility signaling and employsMobile Access Gateways (MAG) to perform mobility manage-ment functions on behalf of MNs. However, both HMIPv6 andPMIPv6 cannot avoid triangle routing when MN is not locatedwithin its home network, because data packets toward the MNstill need to be redirected by the HA.

The major drawback of Mobile IP and its extensions men-tioned above is that all the packets from CN to MN have totake a detour to pass the HA, which is known as the trianglerouting problem. In recent years, a series of Mobile IP deriva-tives, which follow Distributed Mobility Management (DMM)architectural paradigm [15–18], arise to address the problem.DMM solutions distribute the functionality of HA to multi-ple mobility anchors deployed in the network so that the MNcan always choose a nearby mobility anchor to maintain itsmapping and perform packet redirection. Thus, the MN’s HoA

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 3: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 161

never represents a fixed location and triangle routing can bealleviated or even eliminated. In order to reach the MN, therelationship between the MN and its current mobility anchoris propagated among the deployed mobility anchors in thenetwork, which can be realized in either a push or pull mech-anism [15,16]. DMM research is still in the early stage, butit is considered as a promising way to evolve Mobile IP net-works and is currently under standardization in the IETF DMMgroup [18].

There exist various solutions that follow DMM architec-tural paradigm. HA Migration [4] assigns anycast addressesto all HAs distributed in the Internet. MNs and CNs also uti-lize anycast to find and attach to the nearest HA. To maintainreachability of an MN, its mapping is synchronized amongall the deployed HAs in the network. Distributed IP MobilityApproach (DIMA) [5] also distributes central HA function-ality onto several new inter-working entities called MobilityAgents (MA), and then MAs form a distributed hash table(DHT) to store the mappings of MNs. Peer-to-Peer HA Net-work (P2PHAN) [6] has the similar idea, while it uses a P2Pnetwork to discover a close HA for MNs. DHARMA proto-col [7] organizes distributed HAs as an overlay network andproposes both measurement and heuristic based algorithms tolocate a nearby HA.

2.2. Host-based mobility protocols

Host-based mobility protocols address triangle routing byplacing mobility functions on end hosts. MIPv6 offered sucha solution called Route Optimization (RO) mode [3]. In ROmode, MN sends its new mapping directly to CN after it movesto another network. The main drawback of RO mode is its com-plex validation procedure between MN and CN for securityreasons, as both sides have no pre-knowledge to validate eachother’s identity.

Other host-based mobility protocols belong to identifier-locator split (ILS) designs. ILS is an architectural model whichpoints out that IP address has embedded both identifier andlocator semantics and a split of the two is necessary. Such solu-tions assign stable identifiers to MNs, and maintain dynamicbindings between identifiers and locators (commonly repre-sented by IP addresses) in a global mapping system (DNS playsthe role in most cases). When CN starts communication withMN, it queries the mapping system to obtain the current locatorof the MN. When the MN moves to a new network, it keeps itsidentifier unchanged and obtains a new locator, and then theMN sends the new identifier-to-locator mapping to not only themapping system but also the CN side so that CN can directlyreach the MN’s current location as soon as possible. Therefore,the mobility handoff is actually accomplished in an end-to-endway in such solutions.

Host identity protocol (HIP) [9], identifier-locator networkprotocol (ILNP) [10] and LISP MN [19] are typical solu-tions that fall into this category. HIP uses self-authenticating

identifier called host identity (HI) to identify a mobile host.HI is obtained by hashing the public key of a key pair thatbelongs to the host. With self-authenticating identifiers, eachhost is able to prove ownership to its HI through cryptographicmethods. ILNP does not introduce new namespaces but uti-lizes IPv6 address space to identify mobile hosts. ILNP splitsIPv6 address space into an identifier part and a locator part: thefirst 64 bits of IPv6 address remains to be used for routing inthe network, while the last 64bits are used to uniquely identifymobile hosts. Both HIP and ILNP modify the current TCP/IPstack on hosts to realize their functions and rely on DNS tostore the mappings.

LISP Mobile Node (LISP-MN) is developed based onLocator Identifier Separation Protocol (LISP) [20], which isa core-edge separation design. LISP proposes a separation ofEndpoint Identifiers (EID) from Routing Locators (RLOC)and deploys ingress/egress Tunnel Routers (TR) to maintainEID-to-RLOC mappings. LISP-MN utilizes EID as identi-fier and RLOC as locators of mobile hosts. It implements alightweight TR on each mobile host to realize the mappingfunctions. LISP-MN does not rely on DNS, but makes use ofseveral alternative Map-Servers proposed by LISP as its globalmapping system.

2.3. SDN-related mobility protocols

Many efforts have been paid to apply SDN to mobile andwireless networks, a large number, of which pay attention toWLAN or cellular networks. OpenRoads [21,22] proposesto improve robustness during mobility handoff using multi-cast in OpenFlow networks. They showed how this is doneby demonstration and described their testbed deployment. Intheir following paper [23], they further abstract their idea asseparating wireless services from infrastructures and renameOpenRoads to OpenFlow Wireless which serves as a blueprintfor an open wireless network. OpenRadio [24] proposes pro-grammable wireless devices by enabling programmability ofthe physical and MAC layer. It is realized by introducing asoftware abstraction layer which decomposes wireless proto-cols into decision rules and processing algorithms and providesmodular APIs to programmers. Odin [25] focuses on enterpriseWLAN and proposes light virtual Access Points (AP) that havestable associations with users and can be hosted by differentphysical APs. The virtual APs are controlled by a specific con-troller via OpenFlow. In this way, Odin facilitates programmersto implement mobility management functions such as seamlesshandoff, load balancing etc.

Integrating SDN and cellular networks includes researchon software-defined radio access networks (RAN) and corenetworks. SoftRAN [26] employs centralized control of allphysical base stations in a geographical area which are regardedas radio elements. The authors take the latency between thecontroller and base stations into consideration and put somecontrol plane functionalities down to the radio elements for

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 4: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

162 Y. Wang and J. Bi

better trade-off. OpenRAN [27] is another software-definedRAN architecture which applies cloud computing. OpenRANconsiders convergence of heterogeneous wireless networks,which is a desirable feature not supported by SoftRAN.CellSDN [28] is proposed with the goal of implementing a net-work operating system on LTE networks. Their later researchis called Softcell [29] which focuses more on the core network.

Research on SDN-based Internet mobility is also emerging.Some studies propose to implement PMIPv6 protocol in SDNand OpenFlow environment [30,31]. They claim that the SDNversion of PMIPv6 is more efficient and deployable. Otherstudies propose Mobile IP extensions or derivatives enhancedby SDN and OpenFlow [32,33]. This paper differs from theabove studies, as we are neither, proposing an SDN version ofexisting mobility protocols nor focusing on design and imple-mentation of an OpenFlow-based mobility solution. The aim ofthis paper is to give a general discussion on whether and howSDN benefits Internet mobility management.

3. PROTOCOL DESIGN

In this section, we describe an SDN-based IP mobility solution.We first give a general design of our proposal, followed byan instantiated design based on OpenFlow. Note that thoughwe choose OpenFlow in this paper, the proposed solution canalso be designed and implemented in a similar way using othertechniques that adopt SDN architecture paradigm.

3.1. General design

Since SDN proposes a clear separation of control plane and dataplane, IP mobility management functions based on SDN can

also be separated into control-plane functions and data-planefunctions. Figure 1 demonstrates the overview of our proposal.

In the control plane, two sub-functions are required toaccomplish mobility management. One sub-function requiresSDN controllers to collect the current location of each MN andmaintain a mapping for it. The mapping dynamically binds anMN’s identifier to its locator. The definition of identifier is thesame as that in ILS-related researches, i.e. some stable infor-mation that does not need to change when the MN changesits location in the network. Identifiers do not have a restrictedformat but can be any field in the packet that is recognizableto SDN controllers and devices. MN’s locator should be rep-resented by some packet field that can be used to reach theMN’s current location. Normally, IP addresses serve as locatorsof MNs.

To realize this sub-function, MNs themselves or their servingSDN devices are required to inform controllers of the attach-ment and detachment of each MN. When an MN leaves oneSDN domain and enters another, inter-SDN domain communi-cation is required to synchronize mappings of the MN betweencontrollers in different domains.

The other control-plane sub-function requires the controllerto download each MN’s mapping to related SDN devices. It canbe subdivided into two cases. The first is a ‘response’ case: thecontroller downloads an MN’s mapping to the SDN devices thatare requesting the mapping. The second is an ‘update’ case: afterthe controller receives an MN’s new mapping, to keep the MN’sreachability, it downloads the mapping to some SDN devicesthat are holding the MN’s stale mapping.

In the data plane, SDN devices directly receive packets des-tined to MNs from CNs and forward the packets according to themappings downloaded from controllers. When an SDN device

FIGURE 1. General design of SDN-based IP mobility solution, where mobility management functions are separated into control and data planefunctions.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 5: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 163

lacks required mapping for packet delivery, it triggers a control-place function to request the mapping from controller.

The control and data plane functions described abovecomprise the basic mobility management functions in SDN.Protocol details such as how the mappings are collected anddownloaded depend on the specific technology that implementsthe SDN functions. We exemplify the protocol details usingOpenFlow in the following subsections.

3.2. An OpenFlow-based instantiation

The OpenFlow-based design employs IP addresses (both IPv4and IPv6 addresses can be applied) to identify and locate MNs.Like all the other mobility protocols, we assign a stable identi-fier to each MN which is a non-routable IP address and belongsto a specific address block. An MN’s locator is representedby a routable IP address which is not owned by the MN butits first-hop OpenFlow switch. It means MNs never require tore-configure IP addresses when attaching to new networks, butthe network side helps to accomplish the work, which is similarto PMIPv6 [14].

OpenFlow controller is responsible for maintaining map-pings which relate MNs’ identifiers to their locators. For eachMN, a subset of OpenFlow switches in the network serve asmobility anchors. They store replica of the MN’s mapping inthe form of a flow table entry downloaded from the controller,and redirect packets toward the MN according to the flow entry.

To describe details of the protocol, we illustrate how CNreaches MN in Fig. 2 in both communication initiation (leftfigure) and handoff (right figure) procedures. We assume thatidentifier of MN and CN are IP_M and IP_C, respectively.When switch S3 detects the attachment of the MN, it learns

the MN’s identifier, assigns a locator IP_S3 to the MN, andthen sends a mapping update message which contains a (IP_M,IP_S3) tuple to its controller. The controller stores the mappinglocally and immediately downloads a flow table entry to S3which indicates ‘for all packets with destination address IP_S3,rewrite their destination addresses to IP_M’.

First, we describe the communication initiation process. Welet a CN begin communicating with the MN. Since the CN onlyknows identifier of the MN, the destination address in the pack-ets it sends to the MN is IP_M. When the CN’s first-hop switchS1 receives such a packet, it learns IP_M is non-routable, andthere are no local flow entries that match the address. Thus itforwards the packet to its controller via Packet-in. The con-troller (for simplicity, here we assume the controller of S1 andS3 are the same one, and the case with multiple controllerswill be discussed later) looks IP_M up in the local mappingtable and gets the corresponding locator. Then, the controllerforwards the packet to S3 via Packet-out and at the same timepushes the mapping to S1 by downloading a flow entry whichindicates ‘for all packets with destination address IP_M, rewritetheir destination addresses to IP_S3’. The following packetsflow directly from CN to MN: first they are redirected from S1to S3, and then from S3 to the MN. All the operations aboveare accomplished by the network side and are transparent to theend hosts.

Next, we describe the handoff process. We assume the MNleaves S3 and attaches to S4. Similarly, detecting the attach-ment, S4 assigns IP_S4 to the MN and sends Mapping Updateto the controller. Controller receives the update and learns thatthe MN has just moved. Thus, it is responsible for accomplish-ing the handoff by modifying existing CN-to-MN flow pathtowards the MN’s new location. Take the scenario in Fig. 2

FIGURE 2. Protocol overview: how to initiate communication between CN and MN (left figure) and how to handle movement of MN (right figure).

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 6: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

164 Y. Wang and J. Bi

as an example: since the controller knows how the flow goesfrom CN to MN, it temporarily makes S2 the mobility anchorfor the MN by downloading the MN’s new mapping (anotherflow entry) to S2 that indicates ‘for all packets with desti-nation address IP_S3, rewrite their destination addresses toIP_S4’. Then the new CN-to-MN flow will go through threeredirections: S1 to S2, S2 to S4 and S4 to the MN.

Of course, Fig. 2 only shows one possibility to place themobility anchor and accomplish the handoff, and there mayexist various choices in practice, especially in more compli-cated scenarios. We regard the mobility anchor placementalgorithm a key component of SDN-based mobility solutionsand we will further discuss this issue in Section 4.

3.3. Discussion

Considering that the scenario shown in Fig. 2 is simple, in thissubsection we discuss cases that are more complicated to com-plement the protocol design.

3.3.1. Multiple controllersIf CN and MN are located far apart from each other, or locatedin different domains, it is possible that they belong to dif-ferent controllers. If the two controllers are within the sameadministrative domain, the problem may become simplersince intra-domain communication between controllers ismore common. Some existing examples include Onix [34],HyperFlow [35] etc. If the two controllers belong to differ-ent administrative domains, inter-domain interaction betweencontrollers is required.

We give a solution to handle session initiation and handoffprocess in inter-domain scenarios. As shown in Fig. 3 (leftfigure), when a CN initiates a new session with an MN located

in another domain, the Packet-in to the local controller will trig-ger an inter-controller query and response process to retrievethe locator of the MN. To deliver the query to the MN’s servingcontroller, CN’s serving controller can just flood the query to allother controllers, or store a mapping locally to map each MN’sidentifier to a corresponding controller. The following proce-dures are similar to the single-controller case, i.e. downloadingthe MN’s mapping to the CN’s serving OpenFlow switch whichthen performs packet rewrite and forwards the packets towardthe MN.

The handoff process can be divided into two cases. In the firstcase, the MN performs an intra-domain movement. We proposeto use the same method as the single-controller case to handlethis case, i.e. only modifying intra-domain flow path to redirectthe traffic toward the MN’s new location, which we regard asa reasonable solution. In the second case, the MN performs aninter-domain movement as shown in Fig. 3 (right figure). Thiscase is much less frequent but more difficult to deal with, sinceit requires to modify inter-domain flow path for traffic redirec-tion which is not a pre-knowledge of the controllers. A simpleapproach is that, after the MN’s new serving controller learns theinter-domain movement event, it floods the MN’s new mappingto the other controllers. As soon as the CN’s serving controllerreceives the mapping, it is able to modify the CN-to-MN flowpath from its source. However, the flood-based approach maybecome unscalable when deployed in large scale. For that case, atwo-step mapping update approach can be applied by first updat-ing the MN’s previous serving controller which then updates theCN’s serving controller.

3.3.2. Dual mobilityIn all previous examples, CN stays immobile all the time. How-ever, both communicating sides can be mobile in practice. When

FIGURE 3. Cross-domain session initiation (left figure) and handoff process (right figure).

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 7: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 165

CN is also moving, MN can use exactly the same way to reachCN. Actually both sides are treated equally in the protocol, andit is only for convenience to distinguish MN and CN in the pre-vious descriptions. Note that if CN is also mobile, its first-hopswitch should rewrite the source address of packets sent by CNto the CN’s locator, which makes the MN side directly send replypackets to the CN without passing them to the controller.

In the scenarios that both communicating sides move simul-taneously, which is usually called a dual mobility case, the com-munication can still be restored after movement. It is because, onone hand, controllers serve as stable rendezvous points for MNs,and wherever the MNs move, their locations can be obtained byquerying the controller. On the other hand, the proposed pro-tocol inherently ensures that CNs can always reach the MN’scurrent location even if the CNs themselves are moving. It isbecause, when a CN moves to a new location, its new first-hopswitch, which does not know where the MN locates, triggers aPacket-in to the controller and consequently gets the MN’s up-to-date location from the controller.

3.3.3. Incremental deploymentOur proposal supports incremental deployment. Generally, theSDN-based mobility solution can be regarded as a extreme caseof network-based mobility solution in which the HA function-ality is deployed onto every device in the network. Thus, in apartial deployment scenario, our proposal just degrades intoa typical network-based mobility solution (with centralizedcontrol) which can still work. However, partial deploymentinevitably brings performance degradations and we will givemore discussion on this topic in the next section.

Specifically, as for the OpenFlow-based design, we suggestthat the MNs’ first-hop devices should be OpenFlow switches.Otherwise, the MNs may have to re-configure IP addresses dur-ing their movements. Besides, using OpenFlow switches as theCNs’ first-hop devices is also recommended, because if it is notthe case, CNs need to access their nearby OpenFlow switchesusing additional mechanisms such as anycast employed by HAMigration [4]. Besides deploying at both MN and CN sides,more OpenFlow deployment is the icing on the cake whichhelps to improve the performance of our proposal.

We also present an integration of SDN and Mobile IP tosupport partial deployment scenarios in the OpenFlow-baseddesign where the MNs’ first-hop devices can be Non-OpenFlowdevices. In this approach, each time an MN attaches to an Open-Flow switch, it configures the OpenFlow switch as its HA. TheHA will not be used until the MN attaches to a Non-OpenFlowdevice. In this case, the MN turns to Mobile IP mode by regard-ing its identifier as the HoA and configuring a new IP addresswith local prefix (if necessary) as its CoA, and acknowledgingthe HA of its HoA-to-CoA mapping. Then the HA redirects thepackets destined to the MN’s HoA to the MN’s CoA via tunnel-ing with the help of the controller. In this way, the MN continuesto benefit from mobility support with the cost of possible tri-angle routing. However, as soon as the MN attaches to another

FIGURE 4. Support partial deployment scenario by integratingOpenFlow and Mobile IP.

OpenFlow switch, tunneling can be terminated since the con-troller is again able to redirect ongoing traffic toward the MN’snew serving OpenFlow switch. To realize this integration,MNs are required to implement Mobile IP functionality, whilecontrollers should be able to instruct OpenFlow switches tobehave as HAs. Figure 4 demonstrates this approach, in whichthe interactions between OpenFlow switches and controllersare omitted.

4. MOBILITY ANCHOR PLACEMENT

In this section, we further research into the mobility anchorplacement during MN’s handoff procedure. Recall the handoffprocess in the OpenFlow-based design, theoretically the mobil-ity anchor can be placed on any switch on the CN-to-MN flowpath before MN’s movement (e.g. S1, S2 and S3 in Fig. 2).However, choosing some switch may lead to serious perfor-mance drawbacks. For example, it is a straightforward idea toplace mobility anchor on MN’s first-hop switch before move-ment (e.g. S3 in Fig. 2), but this method will result in trianglerouting in most cases. Another idea is to place mobility anchoron CN’s first-hop switch (e.g. S1 in Fig. 2), but this method mayresult in a large number of flow entry downloading and highhandoff latency, which is analogous to the end-to-end mappingupdate method adopted by host-based mobility protocols.

Note that this placement problem is not restricted to theOpenFlow-based design but serves as a general problem inSDN-based mobility management. It is because, as long as amechanism adopts SDN paradigm, it enables the programma-bility of network devices which makes it possible to flexiblyplace mobility anchoring functionalities onto the devices. Incontrast, this placement problem does not exist in most existingIP mobility solutions since they always employ fixed mobilityanchor deployment (on specific servers, routers etc.) rather

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 8: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

166 Y. Wang and J. Bi

than dynamically placing mobility anchors into the network.As will be shown, this difference is the root of the advantagesof SDN-based approach over traditional Internet mobilityapproaches. However, this section is more focused on theintra-domain case because as is described in Section 3.3.1, ourcurrent inter-domain handoff solution adopts a fixed anchorplacement algorithm, i.e. placing mobility anchors to the sourceof each CN-to-MN flow.

4.1. Mobility anchor placement problem

To formalize the problem, first we need to make clear goal of themobility anchor placement algorithm. Considering that we havevarious performance metrics to evaluate a handoff process, wegive the following three goals:

Goal-1: keep optimal forwarding path. This goal ensures theshortest forwarding data path between MN and CN and avoidstriangle routing.

Goal-2: minimize the distance between the MN and mobil-ity anchor. The purpose of this goal is to localize the signalingcaused by the MN’s mobility events. It is reasonable to inferthat longer MN-to-anchor distance also implies that the MN’sserving controller may be located farther away from the mobil-ity anchor, making handoff latency larger. Besides, to downloadflow entry to a distant switch also increases the possibility totrigger inter-controller communications, which further reduceshandoff efficiency. On the contrary, small MN-to-anchor dis-tance is helpful to confine mobility signaling within a limitedarea and ensure an efficient handoff.

Goal-3: minimize the number of mobility anchors placedper movement, which is equivalent to the number of mappingupdates downloaded from controller per movement. This goalcan help to both limit the mobility-related flow entry maintainedon switches and reduce the signaling overhead introduced bymapping downloading.

Given these goals, we define a general Mobility AnchorPlacement Problem (MAPP) as an optimization problem:given a set of switches to place the mobility anchors for anMN, MAPP problem is to find a subset of the switches whichoptimizes some goals.

However, the proposed goals conflict with each other inmany cases, e.g. placing mobility anchor on MN’s first-hopswitch before movement will always satisfy Goal-3 but hasa large possibility to conflict with Goal-1. Thus we furtherspecify MAPP into the following two problems:

MAPP-1: MAPP that takes Goal-2 as optimization objectiveand Goal-1 as constraint.

MAPP-2: MAPP that takes Goal-3 as optimization objectiveand Goal-1 as constraint.

As we will show in the following, MAPP-1 is easier to solvewhile MAPP-2 is more difficult. However, under certain cir-cumstance, solutions to both problems are identical, whichmeans Goal-2 and -3 can be optimized at the same time. Notethat Goal-1 serves as the constraint and thus is always satisfied.

4.2. Problem formalization and solution

4.2.1. MAPP-1Before formalizing MAPP-1, we first assume that during a hand-off procedure, the MN moves from switch sn to s′

n and the CNstays attaching to switch s1 as shown in Fig. 5. Then, we givethese definitions.

Definition 1. pathprev is defined as a set of switcheson the MN–CN path before movement of the MN, e.g.{s1, s2, . . . , si, . . . , sn} in Fig. 5.

pathcurrent is defined as a set of switches on the shortest MN–CN path after movement of the MN, e.g. {s1, s2, . . . , si, . . . , s′

n} inFig. 5.

Path pair is a (pathprev, pathcurrent) tuple.Switch s satisfies path pair p means after placing mobil-

ity anchor (of the MN) on s, the new MN-CN path pathnew

equals to pathcurrent. This ensures Goal-1, i.e. optimality of theforwarding path (no triangle routing).

Then, we formalize MAPP-1 as the following problem.

Problem 1. Given each path pair p, find a switch s which sat-isfies p and minimize its distance to the MN.

The solution to Problem 1 is relatively simple. First, we giveanother group of definitions.

Theorem 1. Satisfactory Switch Set Cp for path pair p isdefined as ∀s ∈ Cp, s satisfies p, e.g. {s1, s2, . . . , si} is a Cp forpath pair (pathprev, pathcurrent) in Fig. 5.

Fork Node of path pair p is defined as the node where twopaths of the path pair ‘forks’, e.g. si is the fork node of path pair(pathprev, pathcurrent) in Fig. 5.

Then we give our solution.

Algorithm 1. Given a path pair p, find its fork node s.

FIGURE 5. Demonstration of Definitions 1–3: pathprev consists ofnodes from s1 to sn, while pathcurrent consists of nodes from s1 to s′n,and si is the fork node.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 9: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 167

The complexity of the algorithm is O(d · n) where n repre-sents number of path pairs and d represents length of the path.

We prove that Algorithm 1 satisfies the goals.

Theorem 2. Given a path pair p, switch s generated by Algo-rithm 1 is the nearest switch to the MN that satisfies p.

Proof. Find the largest satisfactory switch set Cp for path pair p,i.e. the common ‘prefix’ of the two paths, e.g. {s1, s2, . . . , si} inFig. 5. Obviously, the fork node is nearest switch to the MN inCp.

4.2.2. MAPP-2We give more definitions and then formalize MAPP-2.

Definition 2. Switch s satisfies a set of path pairs P means∀p ∈ P, s satisfies p.

A set of switches S satisfies a set of path pairs P means ∀p ∈ P,∃s ∈ S s.t. s satisfies p.

Problem 2. Given a set of n path pairs P, find the smallest setof switches S which satisfies P.

We describe solution to Problem 2 using two steps:Step 1: for each path pair p, find the largest satisfactory switch

set Cp;Step 2: find the smallest set S s.t. for each Cp, S

⋂Cp �= ∅.

The complexity of Step 1 is O(d · n). Step 2 can be reducedby Set Covering Problem which is NP-hard, thus Problem 2is an NP-hard problem. Here, we prove the NP-hardness ofProblem 2.

Theorem 3. Problem 2 is NP-hard.

Proof. Given any Set Covering Problem, we can find a corre-sponding case of Problem 2.

Set Covering Problem: P is the set of all path pairs, Si repre-sents a subset of P whose elements can be satisfied by switch si,given a family of such subsets, find the smallest subfamily S ofthe subsets whose union is P.

For each p ∈ P, let Cp = ∅, then search the family of subsets,if p ∈ Si, let Cp = Cp ∪ {si}. Then, we get the sets Cp in Step 2,which takes O(d · n).

Set Cp obtained from Problem 2 also satisfies the Set Cov-ering Problem: since for each path pair p, S ∩ Cp �= ∅, thus∃si ∈ S s.t. si satisfies p, which implies p ∈ Si in the Set Cover-ing Problem. Therefore, we have ∪Si = P.

We try to solve Problem 2. Obviously, we can use exhaus-tive search to get the optimal result, but its complexity isO(dn) and is unacceptable. Therefore, we need to find heuristicalgorithms. We find that under certain circumstance, Prob-lem 2 can be solved using a simple algorithm. We describe thecircumstance as the following assumption.

Assumption 1. Two paths to the same destination share iden-tical ‘suffix’ after they ‘meet’.

Assumption 1 is satisfied as long as the packet forwardingbetween MN and CN only relies on destination IP address,which is a common case in current intra-domain scenarios.With this assumption, we propose our solution to Problem 2.

Algorithm 2. Find the fork node si of each path pair p ∈ P,S = ∪{Si}.

Actually, Algorithm 2 is the same as Algorithm 1 except thatAlgorithm 2 works on a set of path pairs. Algorithm 2 takesO(d · n) to get the optimal result. Here, we prove the optimalityof Algorithm 2.

Lemma 1. If Assumption 1 is satisfied, given a set of path pairsP which is satisfied by some switch s, the fork nodes of all pathpairs in P are identical.

Proof. For each p ∈ P, let the ‘prefix’ of two paths of p bepathprefix. Since s satisfies P, s belongs to each pathprefix of pathpairs in P. Thus, all the pathprefix must have met ‘before’ s (e.g.they meet at sj in Fig. 6).

According to Assumption 1, all the pathprefix share the same‘suffix’, which contains the fork node. Therefore, the fork nodesof all pathprefix are also identical.

Theorem 4. If Assumption 1 is satisfied, given a set of pathpairs P, set S generated by Algorithm 2 is the smallest set whichsatisfies P.

Proof. Let Sf be the set generated by Algorithm 2. Since Sf con-tains all the fork nodes of all path pairs in P, Sf satisfies P.

Then, we prove that ∀S that satisfies P, we have |S| ≥ |Sf |.For each s ∈ S, suppose s satisfies Ps which is a subset of P.According to Lemma 1, the fork nodes of all path pairs in Ps are

FIGURE 6. Demonstration of the proof of Lemma 1: three path pre-fixes Prefix_1, Prefix_2 and Prefix_3 ‘meet’ at node sj, and they sharethe same ‘suffix’, i.e. node sj, s and si.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 10: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

168 Y. Wang and J. Bi

identical. Let the fork node be si, then if we replace s with si inS, S will contain the fork nodes of all path pairs in Ps.

Then ∀s ∈ S, we apply the replacement to s. After all thereplacements, S becomes S′. As S satisfies P, ∀p ∈ P, ∃s ∈ Ss.t. s satisfies p, thus the fork node of p appears at least once inthe replacement. Therefore, S′ will contain the fork nodes of allpath pairs in P. Since the replacement will not increase the sizeof S, we have |S| ≥ |S′| ≥ |Sf |.

Therefore Sf is the smallest set which satisfies P.

Note that Algorithm 2 also optimizes Problem 1. Thus ifAssumption 1 is satisfied, Algorithm 2 can generate opti-mal results for both Problems 1 and 2, which means we cansimultaneously achieve all three goals.

When Assumption 1 cannot be satisfied, we give anotheralgorithm to solve Problem 2:

Algorithm 3. Greedy Set Covering

Step 1: let X = P, S = ∅.Step 2: repeat the following process until X = ∅: find i s.t. Si

contains the largest number of elements in X , then let S = S ∪{Si}, X = X \ Si.

According to existing research [36], Greedy Set Coveringalgorithm takes O(d · n2) to get a result with approximationratio ln n + 1.

Note that Algorithm 3 also generates optimal result whenAssumption 1 is satisfied. The proof is omitted in this paper.

4.3. MAPP-extension

Considering that Goal-1 may not be mandatory in some practi-cal cases, we also give discussion on other MAPP that relax therestrictions of Goal-1. We give the following definition.

Definition 3. Switch s L-satisfies a path pair p means afterplacing mobility anchor on s, the length of the new MN-CN path|pathnew| ≤ L · |pathcurrent|.

L-satisfy relaxes the restriction of Goal-1, i.e. keeping opti-mal forwarding path, and allows triangle routing to some extent.We call L the relax factor, which is actually the upper bound ofthe path stretch caused by the mobility anchor placement.

Similarly, we give the relaxed form of Problems 1 and 2.

Problem 3. Given each path pair p, find a switch s whichL-satisfies p and minimize its distance to the MN.

Problem 4. Given a set of n path pairs P, find the smallest setof switches S which L-satisfies P.

Actually, Problems 1 and 2 are particular cases of Problems 3and 4 (L = 1 and pathnew = pathcurrent). Since the only differ-ence of solving the two sets of problems is the calculation of sat-isfactory switch set and the fork node, we can use exactly the

FIGURE 7. Demonstration of the MAPP-extension problem: theremay exist multiple pathnew to select, and pathcurrent only serves as oneof them. sk is the fork node in this case instead of si.

same algorithm, i.e. Algorithm 2, to solve Problems 3 and 4. Wedemonstrate how it is done using a simple example shown inFig. 7. As Goal-1 is relaxed, there may exist multiple pathnew

(including pathcurrent) to select, which all satisfy the path stretchrestriction. Figure 7 shows three candidate pathnew that forks onsi, sj and sk , respectively, and the rightmost path is pathcurrent.Therefore, all the switches on the path from s1 to sk belong to thesatisfactory switch set and sk is the fork node in this case. Theproof of the optimality of the solution is omitted here to avoidrepetition.

Since the satisfactory switch set becomes larger and the forknode becomes nearer to the MN, the solution to Problem 3 and 4is expected to generate nearer MN-to-anchor distance and lessflow entry downloading comparing with Problems 1 and 2.Actually, as will be demonstrated by the evaluation in the fol-lowing section, Algorithm 2 can trade an increase in data pathstretch off a decrease in MN-to-anchor distance and flow entrydownloading.

4.4. Discussion

4.4.1. Flow table sizeWe make some further discussions on the goals of the mobil-ity anchor placement. Since flow table size on an OpenFlowswitch is limited and our proposal will clearly occupy part ofthe total capacity, the readers may wonder why we do not takeminimizing the number of mappings maintained on the Open-Flow switches as one of our goals. We argue that optimizingthis goal may not be cost effective, since such an algorithmrequires taking all the switches’ mappings into considerationand thus are more costly and highly dynamic.

However, we can cope with the capacity limitation on Open-Flow switches from another angle. An upper bound of totalmappings maintained on each switch can be set. This limitationdoes not break the previous theorems and algorithms, exceptthat switches run out of capacity should be excluded from thesatisfactory switch set.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 11: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 169

Moreover, we can further reduce the global flow table size bysetting a proper lifetime for each mapping so that the switchescan delete related mappings as soon as a traffic flow ends.

4.4.2. Partial deployment scenarioThe proposed algorithms can also be applied to partial deploy-ment scenarios where not all the devices can serve as mobilityanchors. In fact, these devices are just ignored by the algorithmsand never affect the optimality of the algorithms in each specificscenario. However, there exists a large possibility that the algo-rithms in full deployment scenarios outperform that in partialdeployment scenarios.

5. ALGORITHM EVALUATION

In this section, we make several evaluations to see how thepreviously proposed algorithms perform in real networktopologies. We use the three goals proposed in Section 4.1 asevaluation metrics, i.e. data path stretch, MN-to-anchor dis-tance and the number of mapping updates required for eachmovement. Since it is difficult to get practical routing datawhich conflicts with Assumption 1 in Section 4.2, we onlyevaluate Algorithm 2, which is also proposed in Section 4.2,under Assumption 1 using real intra-domain topologies withshortest path routing.

The evaluations are divided into two sets. Set A evaluatesAlgorithm 2 that takes Goal-1 as constraint and addressesMAPP-1 and MAPP-2 proposed in Section 4.2. Set B evaluatesAlgorithm 2 that relaxes the restriction of Goal-1 and addressesMAPP-extension problems proposed in Section 4.3.

As will be further explained below, the two sets of eval-uations also serve as comparisons between our SDN-basedsolution and existing host-based and network-based IP mobil-ity solutions reviewed in Section 2. To better demonstrate theresults, we also separate the comparison into two sets. As forhost-based mobility solutions, since they strictly bring noneextra routing path stretch (always satisfy Goal-1 in Section 4.1),we regard them as comparatives of Algorithm 2 in Section 4.2and include them into evaluation Set A. As for network-basedmobility solutions, since they allow stretch to be larger than 1,we regard them as comparatives of Algorithm 2 in Section 4.3and include them into evaluation Set B.

5.1. Methodology

Our evaluation topology and routing data are calculated usingintra-domain topologies from Rocketfuel [37] includingAS1221, AS1755, AS6461, AS3257, AS3967 and AS1239. Asevaluations based on different topologies show similar results,we choose three of them to demonstrate, and they are AS1221with 208 nodes, AS3257 with 322 nodes and AS6461 with 276nodes. To study the performance of our algorithm based onvarious topologies, we generated another two topologies to add

differentiation: one is a 200-nodes hierarchical topology witha densely inter-connected core network and several tree-likeedge networks, and the other is a 200-nodes flat topology inwhich nodes randomly connect to each other with an averagedegree.

For each topology, each node in the topology serves as theMN for one turn. In each turn, we select 10 randomly locatednodes as CNs. The MN performs 100 movements per turnusing a modified Markov chain-based random walk model:during each movement, the MN randomly attaches to a newnode which is one-hop away from its previous location. Foreach movement, different algorithms (including Algorithm 2)are applied to download the MN’s new mapping into the topol-ogy and consequently generate different values of stretch,MN-to-anchor distance and mapping update number. Afterall the evaluation turns end, we collect average values of allperformance metrics of the algorithms evaluated.

To further study the behaviors of the algorithms in differentmobility scenarios, we also vary the default values of someparameters in the evaluation. The first parameter is the num-ber of CN corresponding to each MN. The second parameteris the hop interval of MN’s movement, which means the hopdistance between the two nodes an MN attaches to before andafter its movement. The third parameter is the MN’s mobilityrange which is represented by a hop value. The mobility rangerestricts the maximum distance that the MN can move from itsoriginal location.

5.2. Evaluation Set A

First, we evaluate Algorithm 2 when routing path stretch is fixedto 1. We introduce two algorithms as comparatives.

Algorithm-random: for each path pair p, this algorithm ran-domly selects a switch s which satisfies p as mobility anchor.This algorithm serves as one of the most straight forwardmethod to place the MN’s mapping.

Algorithm-CN : for each path pair p, this algorithm selects thefirst-hop switch of CN as mobility anchor. This algorithm sim-ulates the handoff behaviors of host-based mobility solutions,since they all send the MN’s mapping directly to the CN sideafter each movement of the MN.

Evaluation results based on default parameter values aredemonstrated in Fig. 8. The y-axis represents average numberof mapping update required for each CN in Fig. 8, and normal-ized average MN-to-anchor distance in Fig. 8b. The x-axis inboth figures represents the evaluation topology including threeintra-domain ones, the hierarchical one (‘Hier’) and the flatone (‘Flat’).

We can see that Algorithm 2 has the lowest value in bothfigures. Figure 8a shows that, on average value, Algorithm 2only generates ∼0.3–0.5 mapping update per CN in threeintra-domain topologies, while the other two algorithms alwaysrequire one mapping update per CN. Thus, Algorithm 2 is quitehelpful in reducing the signaling overhead caused by mapping

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 12: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

170 Y. Wang and J. Bi

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Flat AS6461 AS3257 AS1221 Hier

Nor

mal

ized

ave

rage

MN

-to-

anch

or d

ista

nce

(a)

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Flat AS6461 AS3257 AS1221 Hier

Ave

rage

map

ping

upd

ates

per

CN

(b)

FIGURE 8. Results of the comparison among three algorithms inevaluation Set A in terms of the average number of mapping updatesper CN (a) and the normalized average MN-to-anchor distance (b)based on five different topologies.

updates and decreasing the number of flow table entries main-tained on switches in our proposal. We also observe that themapping updates generated by Algorithm 2 in flat topologiesis more than that in hierarchical topologies. Just as the fact thathierarchical topology helps to reduce routing table size, it alsohelps to reduce mapping maintenance.

Figure 9b shows that MN-to-anchor distance of Algo-rithm 2 only takes ∼15% of the network diameter, whichmeans mobility anchor is located ∼1–2 hops away from MNon average, and this offers a good guarantee on the handoffefficiency. Algorithm-CN has the largest MN-to-anchor value,since it always pushes mapping to the CN side. The value ofAlgorithm-random stays between Algorithm-CN and Algo-rithm 2. Again, we find that when evaluation topology becomesflatter, MN-to-anchor values of three algorithms approximateto each other. It is because with the ‘flatten’ of topology, aver-age distance between nodes also drops. Therefore, we can saythat our algorithm is more beneficial in topologies that are morehierarchical.

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

(a)

(b)

1

1 10 100

Ave

rage

map

ping

upd

ates

per

CN

Number of CN

Algorithm-2Algorithm-random

Algorithm-CN

0.1

0.15

0.2

0.25

0.3

0.35

1 10 100

Nor

mal

ized

MN

-to-

anch

or d

ista

nce

Number of CN

Algorithm-2Algorithm-random

Algorithm-CN

FIGURE 9. Results of the comparison among three algorithms inevaluation Set A in terms of the average mapping updates per CN (a)and the normalized average MN-to-anchor distance (b) based on fivedifferent topologies.

To demonstrate the universality of the results, we run moreevaluations based on AS3257 by varying the number of CN,movement hop interval and mobility range. Figure 9 showshow the performance metrics change when the number of CNvaries from 1 to 100. Figure 9a shows that the mapping updatesper CN of Algorithm 2 drops as the CN number increases.When CN number is small, the probability to send one mappingupdate for each CN is larger, since the CNs can be distributedfar away from each other. As more CNs are introduced, thechance that multiple CNs share one mapping update grows, andas can be observed from Fig. 9a, only ∼16 mapping updatesare required on average facing 100 CNs.

Figure 9b shows that the average MN-to-anchor distance ofAlgorithm 2 increases slowly with the growing of CN number.Even if the CN number reaches 100, the average MN-to-anchordistance is ∼0.18 (∼3 hops). Note that both performancemetrics of the other two algorithms are not affected by theCN number.

Figure 10 shows how the performance metrics change whenthe MN’s movement hop interval increases from 1 to 9. The

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 13: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 171

0.4

0.5

0.6

0.7

0.8

0.9

1(a)

(b)

1 2 3 4 5 6 7 8 9

Ave

rage

map

ping

upd

ates

per

CN

Hop per movement

Algorithm-2Algorithm-random

Algorithm-CN

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

1 2 3 4 5 6 7 8 9

Nor

mal

ized

MN

-to-

anch

or d

ista

nce

Hop per movement

Algorithm-2Algorithm-random

Algorithm-CN

FIGURE 10. Results of the comparison among three algorithms inevaluation Set A based on AS3257 in terms of the average numberof mapping updates per CN (a) and the normalized average MN-to-anchor distance (b) when the hop interval of MN’s movement variesfrom 1 to 9.

results prove that, along with the increasing of the hop interval,number of mapping updates of Algorithm 2 and MN-to-anchordistance of all algorithms grow. The results are in line with theintuition that short-distance movements can always be han-dled locally, but long-distance movements usually cause globaldynamics which implies more and farther mapping updates.Though the performance of Algorithm 2 decreases when thehop interval becomes large, it still outperforms the other twoalgorithms.

We also evaluated the algorithms by changing the MN’smobility range and find that this parameter hardly affects theperformance of all the three algorithms. So we omit relateddemonstration in this evaluation set.

5.3. Evaluation Set B

In this subsection, we allow the upper bound of the data pathstretch of Algorithm 2, which is exactly the relax factor defined

in Section 4.3, to be larger than 1. As is mentioned in the pre-vious section, it is expected that when the stretch restriction isrelaxed, Algorithm 2 is able to further ‘compress’ the mappingupdate number and MN-to-anchor distance. Similarly, we intro-duce another algorithm as the comparative.

Algorithm-DMM : this algorithm simulates the behaviors ofthe generalized form of DMM solution as described in Section 1.We assume that each node in the topology can serve as HA forthe MN. In the beginning, the MN chooses the node it attachesto as the HA. After each movement, we evaluate the stretch gen-erated due to traffic indirection on the HA. If the stretch valuedoes not exceed an upper bound, the MN remains to use that HAwhich now serves as the mobility anchor. This case leads to onlyone mapping update to the HA. Otherwise, the MN abandons theprevious HA and chooses the node it attaches to after movementas the new HA. In this case, all CNs serve as mobility anchorsand one mapping update to each of the CNs is required.

Evaluation results based on default parameter values aredemonstrated in Fig. 11. The y-axis also represents the two per-formance metrics, and the x-axis represents the average stretch,which is obtained by varying the stretch upper bound from 1to 5 in both algorithms. The results prove that, in most cases,average mapping updates and MN-to-anchor distance of thetwo algorithms drop along with the increasing of the stretch.However, we also observe some exceptions: after the averagestretch grows to a certain value (larger than ∼1.5), averageMN-to-anchor distance of Algorithm-DMM stops decreasingand begins slightly increasing instead. It is because, when thestretch upper bound is large, Algorithm-DMM always makesthe MN use the same HA which can be located quite far awayfrom the MN, and this contributes to the increasing of theMN-to-anchor distance.

The results also demonstrate the performance benefits ofAlgorithm 2 over Algorithm-DMM. This can be explained bythe fact that, Algorithm 2 is always more flexible in placingthe mobility anchor of MNs since all the nodes can serve ascandidate mobility anchors, while Algorithm-DMM only hastwo choices, i.e. to place the mobility anchor on the HA orCNs. Therefore, Algorithm 2 has an advantage in balancingthe trade-off between data path stretch and mapping updates.Moreover, this evaluation already favors Algorithm-DMMsince we assume that the algorithm is able to calculate thestretch values when selecting HAs, which is difficult to realizein practical DMM solutions (but this feature is easier to realizein SDN due to the centralized control).

Again, we evaluated the two algorithms by varying the num-ber of CN, movement hop interval and mobility range basedon AS3257. As for CN number and hop interval, the resultsand conclusions are similar to those in evaluation Set A, sowe omit related demonstrations. As for mobility range, wefind that Algorithm-DMM performs better when the mobilityrange is small as shown in Fig. 12 where the mobility rangevaries from 1 to 5. If the MN is confined within a 1-hop area,both mapping updates number and MN-to-anchor distance of

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 14: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

172 Y. Wang and J. Bi

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

Ave

rage

map

ping

upd

ates

per

CN

Average stretch

(a)Algorithm-2 AS-1221Algorithm-2 AS-3257Algorithm-2 AS-6461

Algorithm-DMM AS-1221Algorithm-DMM AS-3257Algorithm-DMM AS-6461

0.05

0.1

0.15

0.2

0.25

0.3

0.35

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

Nor

mal

ized

MN

-to-

anch

or d

ista

nce

Average stretch

(b)Algorithm-2 AS-1221Algorithm-2 AS-3257Algorithm-2 AS-6461

Algorithm-DMM AS-1221Algorithm-DMM AS-3257Algorithm-DMM AS-6461

FIGURE 11. Results of the comparison among two algorithms inEvaluation Set B based on three different topologies in terms ofaverage mapping updates per CN (a) and the normalized averageMN-to-anchor distance (b) when the stretch restriction is relaxed todifferent extents.

Algorithm-DMM approximate Algorithm 2 when the averagestretch value is ∼1.3. It is because local-area movement andsome tolerance on the stretch make Algorithm-DMM alwayschoose the same HA for an MN which significantly reduces themapping updates and MN-to-anchor distance. This scenario isthe only one in which both algorithms generate similar valuesof the two performance metrics.

6. IMPLEMENTATION AND EXPERIMENT

We proved the benefits of the SDN-based proposal theoreti-cally in the previous section, while in this section we examinethe practical performance of the proposal through implemen-tation and experiments on Mininet Platform [38]. We run twosets of experiments: in Set A we focus on analyzing handoffperformance of our proposal in a simulated campus network,while in Set B we demonstrate that our proposal supports moremobility scenarios including inter-domain movements and

1 1.5

2 2.5

3 3.5

4 4.5

5

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Ave

rage

map

ping

upd

ates

per

CN

Average stretch Mobility Range

(a)

Algorithm-2Algorithm-DMM

1 1.5

2 2.5

3 3.5

4 4.5

5

1 1.1

1.2 1.3

1.4 1.5

1.6 1.7

0.05

0.1

0.15

0.2

0.25

0.3

Nor

mal

ized

MN

-to-

anch

or d

ista

nce

Average stretch Mobility Range

(b)

Algorithm-2Algorithm-DMM

FIGURE 12. Results of the comparison among two algorithms inevaluation Set B based on AS3257 in terms of the average num-ber of mapping updates per CN (a) and the normalized averageMN-to-anchor distance (b) when the stretch restriction is relaxed todifferent extents and the mobility range varies from 1 to 5.

dual mobility. To complement the experiments which includelimited number of switches and mobile users, we also give adiscussion on the scalability issues in larger-scale deploymentscenarios.

6.1. Implementation

We implemented our protocol based on Mininet 2.1.0. InMininet, movement of an MN is simulated by detaching theMN from one switch and attaching it to another, which willtrigger Port-status messages sent to the controller, making it beaware of the MNs attachment and detachment. Pox [39] is cho-sen as the controller in our implementation. Note that Mininetcurrently does not support layer-3 routing, but our protocol isa network-layer protocol, thus before running the protocol werealize layer-3 routing by pre-downloading static routing tablesto all the switches.

The implementation follows the protocol design inSection 3.2. However, there are some details we have not

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 15: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 173

mentioned. For instance, in order to redirect all existingCN-to-MN traffic after the MN moves to a new location, thecontroller needs to keep a record of all CN–MN pairs in a localhost pair table (HPT). Each time the controller downloads a flowentry for some CN in the session initiation process, it adds oneentry into HPT indicating that there exists a flow from the CN(represented by its first-hop switch) to the MN. When the down-loaded flow entry expires, the controller will be acknowledgedand then deletes the relevant entry in HPT. As for scenariosthat require inter-controller communication, we employ TCPsocket to realize queries and responses between controllers.

6.2. Experiment Set A

6.2.1. MethodologyWe make several experiments to test the end-to-end per-formance based on our implementation. We construct anintra-domain topology according to the real campus networkin our university. As shown in Fig. 13, the topology contains21 switches (S1 to S21) and 30 links. We assign 100 Mbpsbandwidth and 1 ms delay to each of the links. Since in thecurrent version of Mininet, in-band control between switchand controller is not supported, control traffic is out-of-band inour experiment. We introduce two hosts into the experiment:H2 serves as MN and can move freely within the topology,while H1 serves as CN and always attaches to switch S4. We

assign 10 Mbps bandwidth and 1 ms delay to the ‘wireless link’between the host and attached switch. We ran Iperf, which isa commonly used network testing tool, between the two hostsand collect values of TCP throughput and packet loss rate aswell as other metrics to study the impacts of H2’s movementon the end-to-end performance.

6.2.2. ResultsIn the first experiment, we ran Iperf using both TCP and UDPmode between H1 and H2 for 1 min. During this time period,H2 moves in sequence from switch S1 to S21 and performs 21handoffs, which implies that H2 moves at intervals of ∼2.5 s.Figure 14 plots the TCP throughput and packet loss rate col-lected in each 0.5 s during the total experiment time, fromwhich we can infer that handoff events indeed brings degrada-tion of end-to-end performance, but the effects are transient andthe data transmission recovers immediately after the handoffevent is handled.

To further study each handoff process, we take a closer lookat the handoff events by capturing each packet transferredbetween H1 and H2 in the Iperf-TCP experiment and plot-ting the RTT values and TCP sequence numbers during onehandoff event around the 21st second in Fig. 15. Figure 15ashows two phases of abnormal RTT values: the missing RTTvalues are due to the lost packets which are forwarded to theMN’s stale address, and the higher-valued RTT values are due

FIGURE 13. Topology of experiment Set A which consists of 21 switches and two hosts. H1 keeps immobile, H2 moves randomly among theswitches. We use Iperf to test the end-to-end performance between H1 and H2 during the movement.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 16: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

174 Y. Wang and J. Bi

0

2

4

6

8

10

12

0 10 20 30 40 50 60

TC

P th

roug

hput

(M

bps)

Simulation time (s)

(a)

Iperf TCP

0

5

10

15

20

25

30

35

40

0 10 20 30 40 50 60

Pac

ket l

oss

(%)

Simulation time (s)

(b)

Iperf UDP

FIGURE 14. The TCP throughput (a) and packet loss (b) per 0.5 swhich are collected during the MN’s 21 handoff events traversing thesimulation topology in 1 min.

to the retransmitted packets which are forwarded to the MN’snew address. Figure 15b further demonstrates that, when theMN becomes on-line at the new location, CN began receivingduplicated acknowledgments generated by the MN due to thepacket lost. Then the TCP transmission between the two hostsenters fast retransmit, which makes both sides quickly recoversfrom packet loss caused by the handoff event.

However, by observing both Figs. 14 and 15, we find thatwhen the MN detaches from its previous location, it alwaystakes a relatively long time (∼100 ms) before it resumes packetreceiving at the new location. This handoff time may be unac-ceptable to some applications such as voice or video calls. Tofind out what actions constitute the handoff time, we also cap-tured the control packets (port-status, flow-mode, packet-in,packet-out etc.) to and from the controller in the Iperf-TCPexperiment.

We analyzed the captured control packets and split the hand-off time into two periods. One is calculated by subtracting thetime when the controller detects the MN is off-line from thetime when the controller detects the MN is on-line again, and

0

0.05

0.1

0.15

0.2

(a)

(b)

20.8 20.85 20.9 20.95 21 21.05 21.1 21.15 21.2

RT

T(s

)

Simulation time (s)

Round Trip Time

2.38e+007

2.385e+007

2.39e+007

2.395e+007

2.4e+007

2.405e+007

2.41e+007

2.415e+007

2.42e+007

2.425e+007

2.43e+007

20.8 20.85 20.9 20.95 21 21.05 21.1 21.15 21.2

TC

P s

eque

nce

Simulation time (s)

TCP sequence (pkt)TCP sequence (ack)

FIGURE 15. Round trip time (RTT) (a) and TCP sequence numbers(b) collected from each packet transferred between the two hosts dur-ing one handoff event at about the 21st second.

this period represents the time spent by Mininet to carry outthe handoff event (make the MN attach to a new switch). Theother is calculated by subtracting the time when the controllerdetects the MN is on-line from the time when new flow entriesare downloaded to switches, and this period represents the timespent by the controller to handle the handoff. Then we plot bothtime periods of the 21 handoff events in Fig. 16.

Results show that period-1, i.e. the MN’s offline time (fromdetaching to being detected again at new location), is dominantin the total handoff time, which is a common case in most mobil-ity protocols and can hardly be optimized by our proposal. How-ever, considering the fact that period-2 takes much less time toaccomplish, and the offline time can usually be further reducedin practical environment, we argue that the handoff efficiency ofour proposal is still acceptable especially when compared withmost traditional mobility solutions.

We ran another experiment to test average TCP throughputand packet loss rate with different mobility frequencies. Results

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 17: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 175

0

0.05

0.1

0.15

0.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Tim

e (s

)

Handoff index

handoff period 1handoff period 2

FIGURE 16. Plots of the time spent in each one of the 21 handoffevents traversing the simulation topology in 1 min, where ‘period 1’indicates the time spent to make the MN attach to a new switch inMininet and ‘period 2’ indicates the time spent to calculate and down-load flow entries to relevant switches.

are plotted in Fig. 17, which shows that mobility frequency hasa relatively large impact on the end-to-end performance onlywhen the MN is moving very fast. However, even if the MNattaches to a new switch every second, our proposal can stillhandle all the handoff events. When the MN moves every 5 sor slower, the MN’s mobility can hardly generate any impacton the overall performance.

6.3. Experiment Set B

In this evaluation set, we construct a topology with three inter-connected domains as shown in Fig. 18, each of which deploysthree switches and one controller. The bandwidth and delay ofinter-domain, intra-domain and ‘wireless’ links are assignedto 100 Mbps/10 ms, 100 Mbps/1 ms and 10 Mbps/1 ms, respec-tively. The three controllers also perform out-of-band control.As a result, although the controllers are distant from each otherin the topology, they are actually deployed on the same physicalserver separated from the Mininet platform.

As a complement to the intra-domain experiments, weassume the MN and CN are located in different domains, andboth of them can perform intra- and inter-domain movements.The handling of inter-domain session initiation and handoffare implemented the same as described in Section 3.3.1. Wecompare the performance of our proposal in different mobilityscenarios including intra- and inter-domain mobility as well assingle and dual mobility. In each experiment, we run Iperf TCPand UDP tests between CN and MN for 1 min during whichperiod the MN (or both sides) performs 20 movements.

The results of experiment Set B are listed in Table 1 includ-ing average values of packet loss rate and TCP throughputcollected in different scenarios, which prove that our proposalalso works in inter-domain and dual mobility scenarios. As

7.6

7.8

8

8.2

8.4

8.6

8.8

9

9.2

9.4(a)

(b)

1 2 3 4 5

TC

P th

roug

hput

(M

bps)

Mobility interval (s)

Throughput

1

2

3

4

5

6

7

8

9

1 2 3 4 5

Pac

ket l

oss

rate

(%

)

Mobility interval (s)

Packet loss rate

FIGURE 17. The manner how the TCP throughput (a) and packet lossrate (b) vary when mobility interval grows from 1 s to 5 s.

for the performance, we can infer that inter-domain move-ment leads to a slight degradation of end-to-end performance,which is because of the extra inter-controller communications.Besides, dual mobility also increases packet loss and lowersthroughput when compared with single mobility.

6.4. Discussion

In this subsection, we further present a discussion on the scal-ability of our proposal when applied to larger-scale networks.There are mainly two concerns over the performance of ourproposal in large-scale deployment scenarios. First, with theincreasing of switches and hosts, the controller is required tohandle more and more mobile events within a short time. Sec-ond, as the size of the network grows, it may take a long timefor the controller to be informed of and handle a mobile event,which will bring down the handoff efficiency. We discuss onthe two issues, respectively.

As for the controller overhead, generally there are two waysto reduce the burden on one controller: one is to move somefunctionality from the control plane to the data plane, and the

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 18: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

176 Y. Wang and J. Bi

FIGURE 18. Topology of experiment Set B which consists threeinterconnected domains. Both H1 and H2 can perform intra- and inter-domain movements. We use Iperf to test end-to-end performancebetween H1 and H2 during the movement.

TABLE 1. Average values of packet loss rate and TCP throughputcollected in different mobility scenarios in experiment Set B.

Intra-domain Inter-domainStable movement movement

Single mobility 2.53% 3.33%0% 8.73 Mbps 8.69 Mbps

Dual mobility 9.59 Mbps 3.3% 3.55%8.64 Mbps 8.22 Mbps

other is to distribute one controller’s functionality over multiplecontrollers. The first way is not suitable for our proposal, sinceit will certainly lose some visibility of the entire network whichis required by our algorithm to keep optimality. The secondway can be applied into our proposal as is already discussed inSection 3.3.1.

When considering the overhead on a single controller, ear-lier research shows that one controller can handle 30k requestsper second, and this number was boosted by an order of mag-nitude later [40]. Recent effort even achieves more than 1 mil-lion responses per second using a single thread [41]. To look atthe requests generated by our proposal, we argue that though thenumber of mobile users under a single controller can be quitelarge, normally their movement speed is much slower than thatin our experiment. Therefore, we believe that the total number ofmobility events to be handled in our proposal will not bring toomuch overhead to the controller.

As for handoff latency, we suggest that the delay betweenswitches and controllers should be as small as possible, even if

this leads to more controller deployment. After all, in most ofthe time, mobile users’ movements are short-haul and can behandled by a local controller without triggering inter-controlleroperations. Besides, the flow installation cost on switches isanother factor that affects the handoff latency. Though this delayis usually negligible on software switches, the resource limita-tion on hardware switches may bring a slight increase (about10 ms) on the total handoff latency. However, it is expectedthat switches can be able to generate negligible latency for flowsetup in a few years [40].

7. CONCLUSIONS AND FUTURE WORK

In this article, we address mobility support in IP networksunder SDN architecture. We argue that SDN has advantages inhandling problems in current mobility protocols because of itsprogrammable devices, centralized control as well as other fea-tures. We designed an OpenFlow-based protocol to realize ouridea, proved its advantages over existing IP mobility solutionsthrough both theoretical proof and simulations, implementedthe protocol on Mininet and demonstrated its feasibility tohandle host mobility by making experiments.

There are several works left for future research. First, we aregoing to further extend the scales of our simulations on Mininetplatform which can help to evaluate scalability issues of our pro-posal. Second, we are planning to move our experiment platformfrom virtual machines to real networks with wireless environ-ments in order to obtain more realistic and convincing results.

FUNDING

This work is supported by the National High-tech R&D Program(‘863’ Program) of China (No. 2013AA013505) and NationalScience Foundation of China (No. 61472213).

REFERENCES

[1] Zhenkai, Z., Lixia, Z. and Ryuji, W. (2011) A survey of mobilitysupport in the Internet. RFC 6301.

[2] Perkins, C. (2010) IP mobility support for IPv4, revised. RFC5944.

[3] Perkins, C., Johnson, D. and Arkko, J. (2011) Mobility support inIPv6. RFC 6275.

[4] Wakikawa, R., Valadon, G. and Murai, J. (2006) MigratingHome Agents Towards Internet-Scale Mobility Deployments.CoNEXT’06, Lisboa, Portugal, December 4–7. ACM, USA.

[5] Fischer, M., Andersen, F.-U., Kopsel, A., Schafer, G. andSchlager, M. (2008) A Distributed IP Mobility Approach for 3GSAE. PIMRC’08, Cannes, France, September 15–18, pp. 1–6.IEEE, USA.

[6] Rumín, R.C. and Guerrero, C. (2007) P2P Based Architecturefor Global Home Agent Dynamic Discovery in IP Mobility. VTCSpring’07, Dublin, Ireland, April 22–25, pp. 899–903. IEEE,USA.

[7] Mao, Y., Knutsson, B., Lu, H. and Smith, J.M. (2005)DHARMA: Distributed Home Agent for Robust Mobile Access.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from

Page 19: Software-Defined Mobility Support in IP Networksnetarchlab.tsinghua.edu.cn/~junbi/Computer Journal-2016.pdf · tives, which follow Distributed Mobility Management (DMM) architectural

Software-Defined Mobility Support in IP Networks 177

INFOCOM’05, Miami, USA, March 13–17, pp. 1196–1206.IEEE, USA.

[8] Vilhar, A., Novak, R. and Kandus, G. (2010) The impact of net-work topology on the performance of MAP selection algorithms.Comput. Netw., 54, 1197–1209.

[9] Moskowitz, R., Nikander, P., Jokela, P. and Henderson, T.R.(2008) Host identity protocol. RFC 5201.

[10] Atkinson, R. and Bhatti, S. (2012) Identifier-locator network pro-tocol (ILNP) architectural description. RFC 6740.

[11] Kempf, J. (2007) Problem statement for network-based localizedmobility management (NETLMM). RFC 4830.

[12] Wang, Y. and Bi, J. (2014) A Solution for ip Mobility Support inSoftware Defined Networks. The 23rd IEEE Int. Conf. ComputerCommunications and Networks (ICCCN14), Shanghai, China,August 4–7, pp. 1–8. IEEE, USA.

[13] Soliman, H., Castelluccia, C., Malki, K.E. and Bellier, L. (2005)Hierarchical mobile IPv6 mobility management (HMIPv6). RFC4140.

[14] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K. andPatil, B. (2008) Proxy mobile IPv6. RFC 5213.

[15] Zúniga, J.C., Bernardos, C.J., de la, Oliva, Costa, R.P.F.D. andReznik, A. (2013) Distributed mobility management: a standardslandscape. IEEE Commun. Mag., 14, 80–87.

[16] Chan, H.A., Yokota, H., Xie, J., Seite, P. and Liu, D. (2011) Dis-tributed and dynamic mobility management in mobile internet:current approaches and issues. JCM, 6, 4–15.

[17] Jong-Hyouk, L., Jean-Marie, B., Pierrick, S. and Anthony, C.H.(2013) Distributed ip mobility management from the perspectiveof the ietf: motivations, requirements, approaches, comparison,and challenges. IEEE Wireless Commun., 20, 159–168.

[18] Distributed Mobility Management (DMM) IETF Working Group.http://tools.ietf.org/wg/dmm/ (accessed August 28, 2015).

[19] Farinacci, D., Lewis, D., Meyer, D. and White, C. (2015) LISPmobile node. draft-meyer-lisp-mn-12.

[20] Farinacci, D., Fuller, V., Meyer, D. and Lewis, D. (2013) Thelocator/id separation protocol (LISP). RFC 6830.

[21] Yap, K.-K., Huang, T.-Y., Kobayashi, M., Chan, M., Sherwood,R., Parulkar, G. and McKeown, N. (2009) Lossless Handoverwith n-Casting between WiFi-WiMAX on OpenRoads. ACMMobicom (Demo), Beijing, China, September 20–25, pp. 40–52.ACM, USA.

[22] Yap, K.-K., Kobayashi, M., Underhill, D., Seetharaman, S.,Kazemian, P. and McKeown, N. (2009) The Stanford Open-Roads Deployment. ACM Int. Workshop on ExperimentalEvaluation and Characterization, Beijing, China, September20–25, pp. 59–66. ACM, USA.

[23] Yap, K.-K., Sherwood, R., Kobayashi, M., Huang, T.-Y., Chan,M., Handigol, N., McKeown, N. and Parulkar, G. (2010)Blueprint for Introducing Innovation into Wireless MobileNetworks. ACM SIGCOMM Workshop on Virtualized Infras-tructure Systems and Architectures, New Delhi, India, August30–September 3, pp. 25–32. ACM, USA.

[24] Manu, B., Jeffrey, M., Sachin, K. and Philip, L. (2012) Openra-dio: A Programmable Wireless Dataplane. Proc. 1st Workshopon Hot Topics in Software Defined Networks, Helsinki, Finland,August 13–17, pp. 109–114. ACM, USA.

[25] Lalith, S., Julius, S.-Z., Ruben, M., Anja, F. and Teresa, V. (2012)Towards Programmable Enterprise Wlans with Odin. Proc. 1stWorkshop on Hot Topics in Software Defined Networks, Helsinki,Finland, August 13–17, pp. 115–120. ACM, USA.

[26] Aditya, G., Daniel, P., Erran, L.L. and Sachin, K. (2013) Softran:Software Defined Radio Access Network. Proc. 2nd ACM SIG-COMM Workshop on Hot Topics in Software Defined Network-ing, Hong Kong, China, August 12–16, pp. 25–30. ACM, USA.

[27] Mao, Y., Yong, L., Depeng, J., Li, S., Shaowu, M. and Lieguang,Z. (2013) Openran: A Software-Defined Ran Architecture viaVirtualization. Proc. ACM SIGCOMM 2013 Conf. SIGCOMM ,Hong Kong, China, August 12–16, pp. 549–550. ACM, USA.

[28] Erran, L.L., Morley, M.Z. and Jennifer, R. (2012) TowardSoftware-Defined Cellular Networks. 2012 European Work-shop on Software Defined Networking (EWSDN), Darmstadt,Germany, October 25-26, pp. 7–12. IEEE, USA.

[29] Xin, J., Erran, L.L., Laurent, V. and Jennifer, R. (2013) Softcell:Scalable and Flexible Cellular Core Network Architecture. Proc.9th ACM Conf. Emerging Networking Experiments and Tech-nologies, Santa Barbara, USA, December 9–12, pp. 163–174.ACM, USA.

[30] Kyoung-Hee, L. et al. (2014) Mobility management frameworkin software defined networks. Int. J. Softw. Eng. Appl., 8, 1–10.

[31] Seong-Mun, K., Hyon-Young, C., Pill-Won, P., Sung-Gi, M. andYoun-Hee, H. (2014) OpenFlow-Based Proxy Mobile IPv6 OverSoftware Defined Network (SDN). 2014 IEEE 11th ConsumerCommunications and Networking Conf. (CCNC), Las Vegas,USA, January 10–13, pp. 119–125. IEEE, USA.

[32] Yuhong, L., Haimeng, W., Ming, L., Bofan, Z. and Huanqu, M.(2013) Software Defined Networking for Distributed MobilityManagement. 2013 IEEE Globecom Workshops (GC Wkshps),Atlanta, USA, December, 9–13, pp. 885–889. IEEE, USA.

[33] Pupatwibul, P., Banjar, A., Sabbagh, A.A. and Braun, R. (2013)Developing An Application Based on OpenFlow to EnhanceMobile IP Networks. LCN Workshops’13, Sydney, Australia,October 21–24, pp. 936–940. IEEE, USA.

[34] Koponen, T. et al. (2010) Onix: A Distributed Control Platformfor Large-Scale Production Networks. OSDI’10, Vancouver,Canada, October 4–6, pp. 351–364. USENIX Association, USA.

[35] Tootoonchian, A. and Ganjali, Y. (2010) Hyperflow: A Dis-tributed Control Plane for Openflow. Internet Network Manage-ment Conf. Research on Enterprise Networking, San Jose, USA,April 27, pp. 3–3. USENIX Association, USA.

[36] Chvatal, V. (1979) A greedy heuristic for the set-covering prob-lem. Math. Oper. Res., 4, 233–235.

[37] Rocketfuel: An ISP topology mapping engine. http://www.cs.washington.edu/research/networking/rocketfuel/ (accessedAugust 28, 2015).

[38] Mininet: An Instant Virtual Network on your Laptop (or otherPC). http://mininet.org/ (accessed August 28, 2015).

[39] POX Controller. http://www.noxrepo.org/pox/about-pox/(accessed August 28, 2015).

[40] Yeganeh, S.H., Tootoonchian, A. and Ganjali, Y. (2013) On scala-bility of software-defined networking. IEEE Commun. Mag., 51,136–141.

[41] Erickson, D. (2013) The Beacon OpenFlow Controller.HotSDN’13, Hong Kong, China, August 12–16, pp. 13–18.ACM, USA.

Section B: Computer and Communications Networks and SystemsThe Computer Journal, Vol. 59 No. 2, 2016

at Tsinghua U

niversity on March 2, 2016

http://comjnl.oxfordjournals.org/

Dow

nloaded from


Recommended