秦華+張澤
摘 要:SDN網絡思想為解決傳統網絡中網絡層移動性管理面臨的問題提供了新的解決思路,而SDN中現有的移動性管理方案仍面臨用戶移動過程中網絡開銷大和切換時延長等問題。研究在SDN網絡中支持IPv6網絡層移動性管理機制,通過對移動感知和移動切換兩個關鍵技術進行分析設計,并結合位置預測理論提出了一種SDN網絡中支持預切換的IPv6移動性管理機制。該機制根據位置預測結果在移動發生前計算并下發切換路徑流表,降低了移動節點在移動過程中的信令開銷和切換時延。最后根據性能評估分析方法,與同樣基于SDN實現的OPMIPv6-C方案在信令開銷和切換時延兩方面進行了比較。
關鍵詞:SDN網絡;移動性管理;移動感知;移動切換;切換時延;信令開銷
DOIDOI:10.11907/rjdk.171302
中圖分類號:TP393
文獻標識碼:A 文章編號:1672-7800(2017)007-0165-05
0 引言
移動性管理解決的主要問題是保證移動終端(MN, Mobile Node)在移動過程中通信業務不中斷。在傳統網絡中已有不少網絡層移動性管理方案,其中PMIPv6[1]是一種典型的基于網絡側的管理機制,該機制通過引入兩個功能實體:移動接入網關(MAG,Mobile Access Gateway)和本地移動錨點(LMA,Local Mobility Anchor)來代替移動節點參與移動切換信令通知的過程,降低了MN的協議復雜性,并減少了對無線資源的占用,因而得到了廣泛應用。但PMIPv6選用固定的路由器執行LMA功能,MN移動后,通過在LMA與新MAG之間建立隧道重新轉發數據,因此PMIPv6方案仍面臨著隧道開銷大和路徑非優問題,并且PMIPv6仍需要為MN維護兩個IP地址。
SDN[2]網絡由于其擁有全局網絡視圖和基于流表進行轉發控制等特性,對于解決上述問題顯現出了很大優勢,主要體現在:①在SDN網絡中,利用交換機及端口號標識節點位置信息,控制器存有全局網絡下終端的位置綁定映射信息,MN移動過程中不再需要維護兩個IP地址;②SDN網絡擁有全局網絡視圖,在感知到節點移動后,可以根據全局視圖重新計算轉發路徑,以流表重新下發的方式更新數據傳輸路徑,省去了隧道建立開銷并消除路徑非優問題。
而目前基于SDN實現網絡層移動性管理機制面臨的主要挑戰是如何在盡量少的信令開銷下快速感知節點移動,并根據節點的最新接入位置對數據傳輸路徑進行快速切換,從而降低切換過程中的切換時延,保證服務質量。因此,本文以降低切換過程中的切換時延和信令開銷為目的,研究設計了利用SDN網絡特點實現IPv6網絡層移動性管理中的移動感知和移動切換機制,并結合位置預測模型設計提出了預切換機制。通過預測MN即將接入的下一個接入位置,在切換發生前下發切換路徑流表,以降低移動過程中的信令開銷和切換時延。
1 相關研究工作
針對如何利用SDN網絡優勢實現移動性管理機制,眾多學者已經提出了不同解決方案。文獻[4]將PMIPv6協議引入SDN網絡,提出了OPMIPv6方案。擴展OpenFlow交換機使其支持MAG功能,并在控制器中實現LMA的邏輯功能。當帶有MAG功能的交換機檢測到MN附著后,利用PMIPv6協議的綁定更新消息通知控制器,控制器選擇網關交換機作為實際的LMA轉發實體,然后重新計算網關交換機到MAG之間的路徑,并下發相應流表,完成路徑切換。但該方案需要借助PMIPv6協議實現移動感知功能,在信令交互方面仍存在較大開銷。本文在此基礎上展開進一步研究,將MAG和LMA功能同時抽象到控制器中,提出OPMIPv6-C方案。該方案通過擴展OpenFlow協議的Port Status和Switch Configuration消息來通知控制器MN的最新位置。該方案不依賴于PMIPv6協議的綁定更新消息,通過擴展OpenFlow協議降低信令開銷。
以上兩種方案均利用控制器下發流表更改切換路徑的優勢來消除PMIPv6的隧道開銷與路徑非優問題。但選擇固定的網關交換機作為LMA轉發實體,在路徑切換過程中需要先刪除網關交換機到接入交換機之間的流表,然后重新下發移動后的流表,這種切換方式對切換時延會產生一定影響。當MN移動過程中同時與多個通信對端通信時,需要刪除并重新下發更多流表,這將隨著通信對端主機的增多而明顯增加切換時延。
文獻[5]、[6]提出,在路徑切換前后的數據轉發路徑中存在重合的交換機,利用SDN全局網絡視圖的優勢,動態選取網絡中的交換機作為LMA轉發實體,減少交換機流表的數目,從而降低切換時延,并減少控制平面與數據平面的交互。但該方案需要提前獲取移動前的傳輸路徑作為選擇最佳轉發交換機的依據,并且對于移動過程中存在多個通信對端主機的情況,可能不存在最佳轉發交換機,使得移動切換機制失效。
文獻[7]擴展OpenFlow協議的Expermenter message消息來通知控制器MN的最新位置。該方案還設計了一種針對SDN網絡的三層網絡拓撲結構,將MN首次接入的交換機作為其家鄉代理,在MN發生移動后,控制器重新下發流表到MN家鄉代理與新接入點之間的交換機,以此解決重新計算整條通信路徑的問題。但這種路徑切換方式僅適用于文中設計的拓撲結構,并不具有良好的可擴展性。
2 移動性管理機制
2.1 移動性管理框架
在SDN網絡中實現IPv6網絡層的移動性管理,利用SDN控制器對網絡中的設備進行集中管理,并利用控制機制感知節點移動;利用OpenFlow協議向交換機下發數據轉發規則機制實現移動節點通信的連續性。基于SDN的IPv6網絡移動性管理框架如圖1所示。
移動感知機制:在控制器上增加能夠存儲全局網絡中移動節點的位置綁定映射信息,通過與OpenFlow交換機交互,獲得移動節點的最新接入位置信息,從而感知節點移動,并更新位置綁定映射表。endprint
移動預測機制:負責從移動感知機制獲得移動節點的當前接入位置信息,并根據設定的預測策略計算移動節點下一個最大可能接入的位置,并將預測結果返回給移動感知機制。
移動切換機制:通過與移動感知機制交互,獲得預測到的節點移動的下一個接入交換機,控制器根據預測位置計算預測路徑轉發流表,并提前下發預測路徑流表到相應交換機上。當移動發生后,根據確定的移動位置,進行轉發路徑優化,包括兩種情況:一是節點按照預測結果進行移動,二是節點沒有按照預測結果移動,系統需要根據不同情況作不同處理。
2.2 移動感知
根據移動節點的自身特點,當移動節點從某個接入點移動到另一個接入點時,會第一時間發送廣播ICMPv6路由請求(RS)消息,消息的源IP地址為本機當前IP地址,目的地址為ff02::1的廣播地址。在SDN網絡下,MN的第一跳OF交換機收到RS消息后,由于沒有匹配此消息的流表會默認將其封裝成Packet-in的OpenFlow協議消息上傳到控制器。上傳的Packet-in消息中外層OF協議消息攜帶著交換機標識和請求包的入端口號,內層RS消息攜帶著請求包的MN標識。移動感知模塊通過監聽數據包上傳事件,獲取上傳的包含RS消息的Packet-in消息,解析出MN標識的當前接入位置,根據移動感知機制中存儲的位置綁定映射表查看MN的當前位置信息是否發生了變化,從而實現移動感知功能。
2.3 移動切換
在WiFi網絡中,移動節點MN的移動體現在接入到不同的無線AP上,而每一個無線AP均連接到交換機的一個端口。因此,本文用二元組(switch-id,port)來標識移動節點MN的連接點位置。如圖2所示,MN當前接入AP1,其連接點(SW3,2)即為MN當前的接入位置。
為了支持移動切換機制,本文對移動節點的位置綁定映射表作如下擴展:
(MN-ID , OSW-ID , OSW-Port , CSW-ID , CSW-Port , PSW-ID , PSW-Port , Port , Priority)
其中,MN-ID標識一個移動節點;OSW、CSW、PSW分別表示移動節點移動前所在的、當前連接的及預測的下一個要接入的交換機,映射表分別記錄著MN接入這3個連接點的交換機ID和端口信息;Port記錄當前接入點交換機CSW上通向預測出的下一個接入點交換機的端口;Priority記錄移動切換機制下發的流表匹配優先值的最大值,其初始值為控制器默認初始值,移動切換機制每下發一次切換路徑流表或路徑優化流表,此優先值加1。
整個預切換機制主要包括3個階段:根據預測策略,預測移動節點MN即將接入的下一個接入位置;控制器按照預測的移動接入位置計算并下發預測路徑轉發流表,實現預切換;移動結束后,實現路徑優化。接下來將對每個階段的機制分別進行研究與設計。
2.3.1 預測策略
文獻[8]的研究結論表明,2階Markov預測模型對無線校園網絡用戶移動位置有較好的預測效果;文獻[9]在此基礎上提出L-局部預測模型,解決了2階Markov存在的狀態空間膨脹問題,降低了搜索時間開銷,并在一定程度上提高了預測準確度。因此,本文結合L-局部預測模型來預測節點移動的下一個接入位置信息。
預測機制考慮用戶移動模式的變化和用戶移動行為的時間局部性,因而不以移動用戶的所有歷史軌跡為依據進行預測,而是從歷史軌跡中選取部分最新的歷史接入位置作為預測依據。
定義1:歷史軌跡序列HT(History Trajectory)。記錄用戶按時間先后順序依次接入的位置標識序列,HT={AL1,AL2,AL3,AL4……}。其中,任一元素ALK表示一個歷史接入位置,可以重復。
定義2:預測候選隊列CQ(Candidate Queue)。HT中出現過的每一個接入位置ALK都有一個長度為L的隊列CQ與之對應。隊列CQ由歷史軌跡序列中出現在當前接入位置ALK后下一個接入位置的標識組成,每個元素均為ALK的候選接入位置,并按時間先后記錄著ALK后最近出現過的L個接入位置。
其中ALk∈HT,并且CQHT。例如,對于歷史軌跡序列HT={AL1,AL2,AL1,AL2,AL1,AL4,AL2,AL4,AL5......},接入位置TP對應的預測隊列CQ={AL2,AL3,AL4……}。
預測機制的預測策略主要包括3部分:①預測下一個接入位置;②更新維護相應的預測候選隊列;③更新維護相應的歷史軌跡序列。具體策略如下:
(1)輸入當前接入位置ALcurr,預測下一個接入位置ALpre。根據MN當前接入位置標識ALcurr搜索其對應的預測隊列CQ。如果不存在此隊列,則初始化一個長度為L的隊列,返回當前接入位置標識ALcurr;否則將該隊列中出現頻次最多的位置標識作為預測結果返回:①如果預測隊列為空,則返回當前位置;②如果頻次最多的只有一個結果,則直接將此結果作為預測結果返回;③如果有多個結果,則選取最后出現的結果作為預測結果返回。
(2)更新歷史軌跡HT。將當前位置標識ALcurr插入歷史軌跡序列,并按照步驟(3)更新插入前歷史序列最后一個位置標識的預測候選隊列CQ。
(3)更新位置標識ALK的預測候選隊列。搜索位置標識ALK對應的隊列CQ,如果不存在,則初始化一個長度為L的隊列并執行以下操作:①如果位置標識ALK對應的隊列長度小于L,則直接將當前接入位置標識ALcurr入隊;②如果隊列長度大于L,則采用先進先出(FIFO)的方式,刪除隊頭位置標識,并在隊尾插入最新接入的位置標識,從而保持ALcurr后最新的L個歷史接入信息。
2.3.2 預切換
預切換機制以保證移動節點發生移動前不影響通信數據流轉發為前提,按照預測結果提前下發切換路徑流表,在節點接入預測的連接點后能快速按照提前設定的切換路徑進行數據轉發。為了盡可能少的修改交換機流表,并能適應多源通信對端的場景,本文選用移動前MN的接入交換機作為預切換轉發起點。endprint
預切換機制的策略為:
(1)在發生移動前,控制器將當前MN的接入位置信息發送到預測機制來預測即將接入的下一個接入位置,并更新綁定映射表中的PSW-ID和PSW-Port字段。
(2)控制器根據預測結果,在移動發生前計算好當前接入位置(CSW-ID,CSW-Port)到下一個接入位置(PSW-ID,PSW-Port)之間的路徑,并將CSW通向PSW的出端口更新到位置綁定映射表中的port字段,同時將綁定映射表中的priority值加1。
(3)向切換路徑上除CSW之外的交換機下發只匹配目的IP和入端口的流表匹配規則,流表的優先值大小為綁定映射表中的priority值。為了在切換發生前不影響正常的數據轉發,不向當前接入位置CSW下發流表規則。
(4)提前下發的流規則,由入端口號的匹配來控制移動前后數據流的不同匹配轉發。
(5)當MN移動到預測的接入位置后,控制器向移動前的接入交換機發送流表修改指令,命令其從綁定映射表中的端口port轉發數據流,完成整個切換過程。
(6)更新綁定映射表的OSW-ID和OSW-Port字段,并根據當前的接入位置進行下一輪位置預測。
如圖2所示,MN當前接入位置為(SW3,2),并根據預測策略得到下一個接入位置(SW4,2),部分相關交換機上的流表變化如圖3所示。
在移動前,數據流按照正常的流規則轉發,并在SW2和SW4交換機上下發預切換路徑,如實線方格內的流表項。由于端口匹配限制,移動前此流表項并不影響正常數據轉發;當控制器檢測到MN移動到SW4后,直接向交換機SW3發送切換指令,如SW3的虛線框中的流表項。由于切換路徑上的流表已經提前下發,在切換時只需修改一個交換機的流表便可完成整個切換過程。
2.3.3 路徑優化
移動完成后,控制器根據移動后的接入位置對路徑進行優化。
當移動后的位置與預測位置相同,則移動后通信數據按照預下發的流表進行轉發。但由于利用入端口號不同來區別匹配移動前的數據流和預切換的數據流,這種入端口嚴格匹配的限制,會導致移動完成后數據傳輸存在回返路徑情況,即一個數據流經過兩次同一交換機,如圖3中的局部傳輸路徑SW2→SW3→SW2→SW4。為了消除這種回返路徑情況,在切換完成后,控制器向上一個交換機和當前交換機之間下發只匹配目的IP的轉發規則流表,取消端口嚴格匹配的限制,從而消除路徑回返情況。
當移動后的位置與預測位置不同,即MN接入到另一個接入連接點(NSW-ID,NSW-Port),控制器則采取反應切換方式,重新計算綁定映射表中上一個接入交換機OSW-ID到當前連接點(CSW-ID,CSW-Port)之間的路徑,直接向切換路徑上的所有交換機下發只匹配目的IP的轉發規則流表,將所有發往MN的下行數據轉發到MN當前的接入位置。同時將當前接入位置發送給預測機制,完成下一輪預測。
利用交換機按照流表優先值從大到小依次匹配流表轉發機制,移動切換機制以優先值遞增的方式下發預切換流表和路徑優化流表,使交換機按照最新下發的流表進行匹配,從而保證在交換機只有匹配目的IP流表規則的前提下,仍能下發匹配目的IP和特定入端口號的預切換流表,解決流表下發沖突問題,從而實現完整的預切換機制。
3 性能分析
根據移動性管理性能評估模型及開銷分析方法[10-15],基于SDN的OPMIPv6-C機制在移動開銷和切換時延方面優于傳統的PMIPv6機制[4]。在該部分,本文采用相同的評估分析方法比較OPMIPv6-C與本文機制的信令開銷和切換時延。
3.1 信令開銷分析
信令開銷表示移動過程中所有的移動信令消息產生的開銷,由移動信令消息的大小和消息經過的跳數乘積計算所得[13]。基于SDN的網絡層移動性管理機制的信令開銷主要由綁定更新通知開銷和流表修改通知開銷組成。在相同的網絡拓撲下:
(1)在綁定更新通知開銷方面,OPMIPv6-C通過擴展OpenFlow協議中的Port Status和Switch Configuration消息來實現綁定更新,而本文采用Openflow協議封裝RS報文消息來實現。在經過相同跳數的情況下,通過減少信令消息的大小,從而降低綁定更新消息的開銷。
(2)在流表修改通知開銷方面,OPMIPv6-C需要先向網關交換機到接入交換機之間的交換機發送n個flow-del消息,然后再重新發送n個flow-add消息,其中n表示網關交換機到接入交換機之間交換機的個數。本文提出的方案在預測準確的情況下,切換過程中只需向上一個接入交換機發送一個flow-mod消息;如果預測失效,則只需向上一個接入交換機和當前接入交換機之間的交換機發送flow-add消息。
因此,整體上本機制在移動節點移動過程中產生的信令開銷比OPMIPv6機制要少。
3.2 切換時延分析
切換時延指從移動節點開始不能接收到數據包到移動節點在新接入點收到第一個數據包之間的時間間隔。如表1所示為兩種不同機制下切換過程中的切換時延組成。
其中TL2表示二層切換時延,TWRS表示發送RS前的隨機時延,TRS表示構造并發送RS的時延。在這三方面,兩種機制產生的時延認為是相同的。而在發送綁定更新消息時延TBU中,由于本文機制通過解析RS消息來感知節點移動,不必單獨生成并發送綁定更新消息,所以在本方案中TBU為0。
TOF表示控制器重新計算路徑并修改交換機流表的時延,主要受需要修改流表的交換機個數和交換機處理能力的影響。本方案機制通過提前下發切換路徑流表,在發生移動后,只需定向修改上一個交換機流表,節省了重新計算路徑時延的時間,并在一定程度上減少了流表處理時延。如果預測失效,才需重新計算路徑并下發流表。endprint
TP表示發生移動后第一個數據包到達的傳輸時延。本文機制無論預測的接入位置與實際接入位置是否相同,第一個數據包都是從上一個接入交換機轉發到當前接入交換機,而不是OPMIPv6-C機制中,從網關交換機到當前接入交換機。由于兩個相鄰接入交換機之間的平均距離相比網關交換機到接入交換機之間的距離近[11],使移動后第一個轉發的數據包傳輸時延變短。
在TL2、TWRS和TRS時延相同的情況下,本機制TBU、TOF和TP的和小于OPMIPv6機制三者之和。因此,本機制相比于OPMIPv6方案,整體上降低了移動過程中的切換時延。
4 結語
本文利用SDN網絡特點提出了一種基于SDN網絡的IPv6網絡層移動性管理機制。該機制利用SDN控制器對網絡中的設備進行集中管理,并利用控制機制感知節點移動;結合L-局部預測模型并擴展節點位置綁定映射表,提出了預切換策略,通過預測節點的下一個接入位置,提前下發切換路徑流表,從而降低移動過程中的信令開銷和切換時延;之后根據移動節點的實際移動位置來優化切換路徑,解決路徑非優問題和預測失效問題;最后根據性能評估分析模型,與OPMIPv6方案進行比較,取得了預期效果。但本文只對單控制器下的SDN域內移動進行了設計,如何使本機制在多控制器下的SDN域間移動中得到更好的應用,是下一步研究的方向。
參考文獻:
[1]S GUNDAVELLI, K LEUNG, V DEVARAPALLI, et al. RFC 5213 Proxy Mobile IPv6[S].2008.
[2]MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74.
[3]RAZA SM, KIM DS , CHOO H. Leveraging PMIPv6 with SDN[C]. In: Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication,ACM,2014.
[4]KIM S M, CHOI H Y, PARK P W, et al. OpenFlow-based proxy mobile IPv6 over software defined network (SDN)[C].2014 IEEE 11th Consumer Communications and Networking Conference (CCNC). Las Vegas, USA :IEEE, 2014.
[5]WANG Y, BI J. A solution for IP mobility support in software defined networks[C].2014 23rd International Conference on Computer Communication and Networks (ICCCN). Shanghai, China: IEEE, 2014.
[6]BRADAI A, BENSLIMANE A, SINGH K D. Dynamic anchor points selection for mobility management in software defined networks[J]. Journal of Network and Computer Applications, 2015, 57 (C):1-11.
[7]高志騰. SDN移動性管理方案的研究與實現[D].北京:北京郵電大學,2014.
[8]PARK P W, KIM S M, MIN S G. OpenFlow-based mobility management scheme and data structure for the mobility service at software defined networking[J]. International Journal of Distributed Sensor Networks, 2016:1-9.
[9]TIAN M, LIU Y H, XUE-GANG Y U, et al. Location predictor for WLAN based on partial information[J]. Journal of Computer Applications, 2006.
[10]LEE J H, ERNST T, CHUNG T M. Cost analysis of IP mobility management protocols for consumer mobile devices[J]. IEEE Transactions on Consumer Electronics, 2010, 56(2): 1010-1017.
[11]LEE J H, CHUNG T M, GUNDAVELLI S. A comparative signaling cost analysis of hierarchical mobile IPv6 and proxy mobile IPv6[C].2008 IEEE 19th International Symposium on Personal, Indoor and Mobile Radio Communications. IEEE, 2008: 1-6.
[12]LO S C, LEE G, CHEN W T, et al. Architecture for mobility and QoS support in all-IP wireless networks[J]. IEEE Journal on selected areas in communications, 2004, 22(4): 691-705.
[13]HAN Y H, HWANG S H. Care-of address provisioning for efficient IPv6 mobility support[J]. Computer Communications, 2006, 29(9): 1422-1432.
[14]LEE J H, KIM Y D, LEE D W. Enhanced handover process for proxy mobile IPv6[C].Multimedia and Ubiquitous Engineering (MUE), 2010 4th International Conference on. IEEE, 2010: 1-5.
[15]SONG L, KOTZ D, JAIN R, et al. Evaluating location predictors with extensive WiFi mobility data[C].INFOCOM,Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies. IEEE, 2004: 1414-1424.endprint