柳依岸,郜 帥,侯心迪,劉寧春
(北京交通大學(xué) 電子信息工程學(xué)院 移動(dòng)專(zhuān)用網(wǎng)絡(luò)國(guó)家工程研究中心,北京 100044)
在傳統(tǒng)互聯(lián)網(wǎng)TCP/IP結(jié)構(gòu)體系創(chuàng)造之初,終端設(shè)備大多采用以“固定、有線”為主的連通方式,網(wǎng)絡(luò)結(jié)構(gòu)固定,使得IP具有身份和位置雙重屬性[1],這種在當(dāng)時(shí)簡(jiǎn)單有效的設(shè)計(jì)在如今卻直接或間接帶來(lái)了現(xiàn)網(wǎng)中移動(dòng)性[2]、路由可擴(kuò)展性[3]、網(wǎng)絡(luò)安全[4]等問(wèn)題。
針對(duì)上述問(wèn)題,國(guó)內(nèi)外許多團(tuán)隊(duì)提出從根本上重新設(shè)計(jì)的網(wǎng)絡(luò)原理、機(jī)制、體系結(jié)構(gòu),部分采取顛覆性的演進(jìn)設(shè)計(jì),以避免傳統(tǒng)互聯(lián)網(wǎng)TCP/IP體系中的根源性問(wèn)題。具有代表性的包括位置身份分離協(xié)議LISP[5]、主機(jī)標(biāo)識(shí)協(xié)議HIP[6]、面向數(shù)據(jù)分發(fā)的網(wǎng)絡(luò)NDN[7]、移動(dòng)性網(wǎng)絡(luò)MobilityFirst[8]、面向云計(jì)算的網(wǎng)絡(luò)NEBULA[9]、不同主體靈活通信的XIA[10]。國(guó)內(nèi)張宏科院士團(tuán)隊(duì)的標(biāo)識(shí)網(wǎng)絡(luò)(Smart Identifier Network,SINET)[11-12],提出了全新網(wǎng)絡(luò)體系結(jié)構(gòu)的“網(wǎng)通層”和“服務(wù)層”兩層總體模型與理論。標(biāo)識(shí)網(wǎng)絡(luò)將網(wǎng)絡(luò)結(jié)構(gòu)劃分為核心網(wǎng)與接入網(wǎng)兩個(gè)部分,為了解決IP地址的二義性,定義了接入標(biāo)識(shí)與路由標(biāo)識(shí),在接入網(wǎng)中使用接入標(biāo)識(shí)傳輸,核心網(wǎng)中使用路由標(biāo)識(shí)傳輸,并提出接入標(biāo)識(shí)與路由標(biāo)識(shí)分離映射理論,建立接入標(biāo)識(shí)與路由標(biāo)識(shí)的映射機(jī)制,完成身份位置的解綁。標(biāo)識(shí)網(wǎng)絡(luò)的接入標(biāo)識(shí)與路由標(biāo)識(shí)分離映射理論解決了傳統(tǒng)互聯(lián)網(wǎng)TCP/IP體系的設(shè)計(jì)性問(wèn)題,為傳統(tǒng)網(wǎng)絡(luò)移動(dòng)支持性差、安全性差、路由可聚合性差等問(wèn)題提供了可行的替代方案,對(duì)未來(lái)網(wǎng)絡(luò)發(fā)展有積極意義,是具有影響力的下一代互聯(lián)網(wǎng)代表架構(gòu)[13]。
目前在部分專(zhuān)用網(wǎng)絡(luò)中標(biāo)識(shí)網(wǎng)絡(luò)的部署應(yīng)用已經(jīng)取得了良好效果,然而標(biāo)識(shí)網(wǎng)絡(luò)很難在現(xiàn)有的網(wǎng)絡(luò)中使用,現(xiàn)有的TCP/IP網(wǎng)絡(luò)體系的應(yīng)用非常成熟,更具體地說(shuō)IP協(xié)議深深地嵌入到主機(jī)網(wǎng)絡(luò)和應(yīng)用軟件中以及路由器硬件和軟件中,架構(gòu)更替面臨極高的部署障礙。
近年可編程交換平臺(tái)[14]依托軟件定義網(wǎng)絡(luò)(Software Defined Networking,SDN)[15]的快速發(fā)展,為打破當(dāng)前網(wǎng)絡(luò)設(shè)備封閉的局限性帶來(lái)希望。可編程網(wǎng)絡(luò)平臺(tái)架構(gòu)中,采用轉(zhuǎn)發(fā)與控制分離的思想,將網(wǎng)絡(luò)中的路由交換解耦為數(shù)據(jù)面與控制面,數(shù)據(jù)面負(fù)責(zé)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)邏輯,控制面負(fù)責(zé)網(wǎng)絡(luò)的控制邏輯。轉(zhuǎn)發(fā)邏輯由可編程的數(shù)據(jù)平面實(shí)現(xiàn),能夠靈活地設(shè)計(jì)并實(shí)現(xiàn)不同的報(bào)文解析處理流程與轉(zhuǎn)發(fā)邏輯,控制平面負(fù)責(zé)從數(shù)據(jù)平面收集信息,實(shí)現(xiàn)網(wǎng)絡(luò)的復(fù)雜控制計(jì)算邏輯,指揮數(shù)據(jù)平面的轉(zhuǎn)發(fā),同樣具有可編程的靈活性??删幊探粨Q平臺(tái)的發(fā)展降低了網(wǎng)絡(luò)創(chuàng)新開(kāi)發(fā)和部署運(yùn)維的成本,采用可編程平臺(tái)使得標(biāo)識(shí)網(wǎng)絡(luò)的推廣與應(yīng)用成為可能。
該文在標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)性管理機(jī)制的研究基礎(chǔ)上,提出采用可編程網(wǎng)絡(luò)平臺(tái)架構(gòu)實(shí)現(xiàn)基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)性管理機(jī)制。首先根據(jù)可編程平臺(tái)特點(diǎn)設(shè)計(jì)總體架構(gòu),在數(shù)據(jù)平面設(shè)計(jì)報(bào)文處理與轉(zhuǎn)發(fā)邏輯,在控制平面設(shè)計(jì)網(wǎng)絡(luò)功能對(duì)應(yīng)的處理模塊。然后實(shí)現(xiàn)搭建一套原型系統(tǒng)進(jìn)行功能測(cè)試與性能測(cè)試。
近年針對(duì)標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)性管理機(jī)制的研究主要集中在基于Linux系統(tǒng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)平臺(tái)上。在文獻(xiàn)[16]中提出了標(biāo)識(shí)網(wǎng)絡(luò)的網(wǎng)絡(luò)層移動(dòng)管理基礎(chǔ),標(biāo)識(shí)分離映射機(jī)制。在文獻(xiàn)[17]中針對(duì)標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)管理方案提出改進(jìn)的層次移動(dòng)管理機(jī)制、位置管理機(jī)制、尋呼機(jī)制。在文獻(xiàn)[18]中引入移動(dòng)管理域優(yōu)化了映射關(guān)系處理。在上述文獻(xiàn)中大多根據(jù)Linux系統(tǒng)網(wǎng)絡(luò)轉(zhuǎn)發(fā)平臺(tái)特點(diǎn)設(shè)計(jì)標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)切換管理機(jī)制。在傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中由于網(wǎng)絡(luò)的控制能力分散在各個(gè)網(wǎng)元設(shè)備中,所以需要將定制軟件安裝進(jìn)網(wǎng)絡(luò)拓?fù)渲写蟛糠志W(wǎng)元設(shè)備與終端中,例如在文獻(xiàn)[18]中,需要將定制軟件部署至標(biāo)識(shí)映射服務(wù)器(Identity Map Server,IDMS)、接入交換路由器(Access Switch Router,ASR)、移動(dòng)終端(Mobile Node,MN)中。當(dāng)移動(dòng)終端發(fā)生移動(dòng)切換,新的映射關(guān)系由新的本地ASR生成并發(fā)布至IDMS,并由IDMS通知原ASR更新舊的映射關(guān)系。當(dāng)發(fā)生三角路由時(shí)主要由ASR處理失效的映射關(guān)系。在傳統(tǒng)平臺(tái)中網(wǎng)絡(luò)控制能力分散在各個(gè)網(wǎng)元設(shè)備中,大部分的邏輯處理工作由各網(wǎng)元設(shè)備處理并在網(wǎng)元設(shè)備之間通過(guò)信令交互與交換信息。邏輯處理在一定程度上占用了ASR的部分計(jì)算能力,同時(shí)部分信令的開(kāi)銷(xiāo)也占用了一定的設(shè)備轉(zhuǎn)發(fā)能力,這種情況下可能會(huì)更快地產(chǎn)生ASR單點(diǎn)失效的問(wèn)題。由于網(wǎng)絡(luò)拓?fù)渲懈鱾€(gè)網(wǎng)元均需要定制化的開(kāi)發(fā),網(wǎng)絡(luò)系統(tǒng)在開(kāi)發(fā)、部署、運(yùn)維、推廣上可能會(huì)存在障礙。
該文提出基于可編程網(wǎng)絡(luò)平臺(tái)架構(gòu)實(shí)現(xiàn)標(biāo)識(shí)網(wǎng)絡(luò)移性管理機(jī)制,由于轉(zhuǎn)發(fā)與控制分離的特點(diǎn),控制面集中網(wǎng)絡(luò)的管控能力,部分需要ASR處理的邏輯與信令交互集中至控制器處理,相較于傳統(tǒng)的基于Linux系統(tǒng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)平臺(tái)省去了部分ASR之間信令交互的資源開(kāi)銷(xiāo)與時(shí)間開(kāi)銷(xiāo)??删幊唐脚_(tái)易于開(kāi)發(fā)部署推廣的特點(diǎn)一定程度上也便于標(biāo)識(shí)網(wǎng)絡(luò)的推廣與應(yīng)用。
基于可編程平臺(tái)的控制與轉(zhuǎn)發(fā)分離的理念,標(biāo)識(shí)網(wǎng)絡(luò)架構(gòu)總體分為數(shù)據(jù)平面和控制平面兩部分設(shè)計(jì)。數(shù)據(jù)平面負(fù)責(zé)根據(jù)可編程設(shè)計(jì)的數(shù)據(jù)面解析處理邏輯處理報(bào)文,并按照控制面下發(fā)的流表進(jìn)行轉(zhuǎn)發(fā)。控制平面負(fù)責(zé)網(wǎng)絡(luò)整體的管控能力,同時(shí)對(duì)數(shù)據(jù)面下發(fā)流表指導(dǎo)轉(zhuǎn)發(fā),配合數(shù)據(jù)平面實(shí)現(xiàn)網(wǎng)絡(luò)基礎(chǔ)通信功能,包括標(biāo)識(shí)網(wǎng)絡(luò)中設(shè)備注冊(cè)、認(rèn)證、映射發(fā)布與查詢(xún)。以及在此之上提供標(biāo)識(shí)網(wǎng)絡(luò)的移動(dòng)性管理機(jī)制??删幊唐脚_(tái)下標(biāo)識(shí)網(wǎng)絡(luò)整體架構(gòu)如圖1所示。
圖1 基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)架構(gòu)
標(biāo)識(shí)網(wǎng)絡(luò)邏輯上將網(wǎng)絡(luò)拓?fù)鋭澐譃榻尤刖W(wǎng)與核心網(wǎng)。接入網(wǎng)中的終端采用128位全局唯一的接入標(biāo)識(shí)AID(Access Identifier,AID)表示身份信息,并且在移動(dòng)切換過(guò)程中不會(huì)改變。當(dāng)終端接入網(wǎng)絡(luò)完成認(rèn)證,控制面會(huì)給終端分配代表接入位置信息的RID(Route Identifier,RID),RID用于報(bào)文在核心網(wǎng)中路由。接入交換路由器(Access Switch Router,ASR)負(fù)責(zé)接入網(wǎng)內(nèi)的通信以及跨域通信時(shí)身份標(biāo)識(shí)與路由標(biāo)識(shí)的轉(zhuǎn)換,從而實(shí)現(xiàn)身份與位置分離,ASR的流表中包含了當(dāng)前域內(nèi)所有的終端的AID與RID映射關(guān)系。核心路由器(Core Router,CR)負(fù)責(zé)核心網(wǎng)的報(bào)文轉(zhuǎn)發(fā)。
2.1.1 數(shù)據(jù)平面設(shè)計(jì)
數(shù)據(jù)平面依靠可編程交換設(shè)備實(shí)現(xiàn)對(duì)報(bào)文解析、報(bào)文處理、報(bào)文轉(zhuǎn)發(fā)的功能,通過(guò)數(shù)據(jù)平面的設(shè)計(jì)實(shí)現(xiàn)標(biāo)識(shí)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)、設(shè)備認(rèn)證、映射查詢(xún)、移動(dòng)切換等網(wǎng)絡(luò)功能。數(shù)據(jù)平面的報(bào)文處理邏輯如圖2所示。
圖2 基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)數(shù)據(jù)平面轉(zhuǎn)發(fā)邏輯
(1)當(dāng)數(shù)據(jù)平面可編程交換設(shè)備收到一個(gè)數(shù)據(jù)報(bào),首先按照標(biāo)識(shí)網(wǎng)絡(luò)解析報(bào)文首部,判斷報(bào)文是否存在核心網(wǎng)首部,若存在執(zhí)行(2);若不存在則執(zhí)行(3);
(2)對(duì)具有核心網(wǎng)首部的報(bào)文,根據(jù)核心網(wǎng)首部中的目的RID,在RID核心網(wǎng)轉(zhuǎn)發(fā)流表中查詢(xún)是否有對(duì)應(yīng)的流表能夠轉(zhuǎn)發(fā),若存在流表執(zhí)行按照對(duì)應(yīng)的端口號(hào)轉(zhuǎn)發(fā)到核心網(wǎng),流程結(jié)束;若不存在流表執(zhí)行(4);
(3)對(duì)無(wú)核心網(wǎng)首部的報(bào)文即接入網(wǎng)報(bào)文,判斷接入網(wǎng)首部中的標(biāo)志位是否標(biāo)記為信令報(bào)文,若是執(zhí)行向控制器轉(zhuǎn)發(fā)并結(jié)束流程;若不是執(zhí)行(5);
(4)對(duì)核心網(wǎng)報(bào)文,根據(jù)核心網(wǎng)首部中的目的RID,在RID本域解封裝流表中查詢(xún)是否有對(duì)應(yīng)的流表,若存在流表將核心網(wǎng)報(bào)文解封裝,去掉核心網(wǎng)首部,執(zhí)行(6);若不存在流表轉(zhuǎn)發(fā)到核心網(wǎng)默認(rèn)端口,流程結(jié)束;
(5)對(duì)接入網(wǎng)報(bào)文,根據(jù)接入網(wǎng)首部中的目的AID,在AID本域終端轉(zhuǎn)發(fā)流表中查詢(xún)是否有對(duì)應(yīng)的流表能夠轉(zhuǎn)發(fā),若存在流表執(zhí)行按照對(duì)應(yīng)端口號(hào)轉(zhuǎn)發(fā)到本域接入網(wǎng),流程結(jié)束;若不存在流表執(zhí)行(7);
(6)對(duì)核心網(wǎng)報(bào)文解封裝后的接入網(wǎng)報(bào)文,根據(jù)接入網(wǎng)首部中的目的AID,在AID本域終端轉(zhuǎn)發(fā)流表中查詢(xún)是否有對(duì)應(yīng)的流表能夠轉(zhuǎn)發(fā),若存在流表執(zhí)行按照對(duì)應(yīng)端口號(hào)轉(zhuǎn)發(fā)到本域接入網(wǎng),流程結(jié)束;若不存在流表向控制器轉(zhuǎn)發(fā),發(fā)起三角路由處理流程;
(7)對(duì)目的AID不在本域的接入網(wǎng)報(bào)文,根據(jù)接入網(wǎng)首部中的目的AID,在目的AID-RID映射流表中查詢(xún)是否有目的AID映射的RID,若存在流表執(zhí)行封裝核心網(wǎng)首部,將源、目的AID映射成源、目的RID,執(zhí)行(8);若不存在,向控制器轉(zhuǎn)發(fā)報(bào)文,發(fā)起映射查詢(xún),結(jié)束流程;
(8)對(duì)接入網(wǎng)報(bào)文封裝成核心網(wǎng)報(bào)文,根據(jù)核心網(wǎng)首部的目的RID,在RID核心網(wǎng)轉(zhuǎn)發(fā)流表中查詢(xún)是否有對(duì)應(yīng)的流表能夠轉(zhuǎn)發(fā),若存在流表執(zhí)行按照對(duì)應(yīng)的端口號(hào)轉(zhuǎn)發(fā)到核心網(wǎng),流程結(jié)束;若不存在流表,轉(zhuǎn)發(fā)到核心網(wǎng)默認(rèn)端口,流程結(jié)束。
2.1.2 控制平面設(shè)計(jì)
在可編程網(wǎng)絡(luò)平臺(tái)中,控制平面負(fù)責(zé)網(wǎng)絡(luò)整體的功能實(shí)現(xiàn),從基本的端到端通信到復(fù)雜的網(wǎng)絡(luò)管控都依賴(lài)于控制平面。在可編程平臺(tái)下的標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)性管理機(jī)制中,控制平面也是系統(tǒng)運(yùn)行的核心??刂破矫嫱ㄟ^(guò)接收數(shù)據(jù)平面轉(zhuǎn)交的報(bào)文獲取數(shù)據(jù)平面的信息,進(jìn)而發(fā)起不同的網(wǎng)絡(luò)流程進(jìn)入不同的處理邏輯。在控制平面處理流程中通過(guò)向數(shù)據(jù)平面下發(fā)不同的流表完成對(duì)數(shù)據(jù)平面的轉(zhuǎn)發(fā)工作的指揮??刂破矫婵傮w架構(gòu)設(shè)計(jì)如圖3所示,控制平面系統(tǒng)包括四個(gè)模塊,負(fù)責(zé)不同的功能。
圖3 控制平面系統(tǒng)架構(gòu)
映射服務(wù)器負(fù)責(zé)存儲(chǔ)全局設(shè)備的映射關(guān)系,并將存儲(chǔ)的數(shù)據(jù)對(duì)外提供查詢(xún)、更新、注冊(cè)等功能。
標(biāo)識(shí)分離映射控制模塊負(fù)責(zé)處理從數(shù)據(jù)平面轉(zhuǎn)交的報(bào)文,解析報(bào)文意圖并從報(bào)文中提取報(bào)文信息,例如源目的AID、標(biāo)志位、報(bào)文負(fù)載等,并根據(jù)報(bào)文意圖開(kāi)啟不同的邏輯流程,向后續(xù)模塊傳遞信息。設(shè)計(jì)如下:
(1)當(dāng)標(biāo)識(shí)分離映射控制模塊收到數(shù)據(jù)平面轉(zhuǎn)交的接入認(rèn)證報(bào)文時(shí),會(huì)提取出報(bào)文中的源AID、報(bào)文負(fù)載密文、報(bào)文來(lái)源的數(shù)據(jù)平面交換機(jī)以及交換機(jī)端口號(hào),將信息轉(zhuǎn)交給標(biāo)識(shí)接入認(rèn)證模塊,開(kāi)啟接入認(rèn)證流程。
(2)當(dāng)收到數(shù)據(jù)平面轉(zhuǎn)交的映射查詢(xún)報(bào)文時(shí),會(huì)提取出報(bào)文中的目的AID、報(bào)文來(lái)源的數(shù)據(jù)平面交換機(jī),將信息轉(zhuǎn)交給標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊,開(kāi)啟映射查詢(xún)流程。
(3)當(dāng)收到數(shù)據(jù)平面轉(zhuǎn)交的移動(dòng)接入報(bào)文,會(huì)提取出報(bào)文中的源AID、報(bào)文來(lái)源的數(shù)據(jù)平面交換機(jī)以及交換機(jī)端口號(hào),將信息轉(zhuǎn)交給移動(dòng)性管理模塊,開(kāi)啟移動(dòng)切換流程。
(4)當(dāng)收到數(shù)據(jù)平面轉(zhuǎn)交的三角路由報(bào)文,會(huì)提取出報(bào)文中的源AID、報(bào)文來(lái)源的數(shù)據(jù)平面交換機(jī),將信息轉(zhuǎn)交給移動(dòng)性管理模塊,開(kāi)啟三角路由處理流程。
標(biāo)識(shí)接入認(rèn)證模塊負(fù)責(zé)對(duì)設(shè)備進(jìn)行接入認(rèn)證,并處理設(shè)備所在接入域的交換機(jī)的流表邏輯。當(dāng)標(biāo)識(shí)接入認(rèn)證模塊收到標(biāo)識(shí)分離映射控制模塊的接入認(rèn)證請(qǐng)求,會(huì)根據(jù)傳遞過(guò)來(lái)的信息:設(shè)備源AID、接入認(rèn)證報(bào)文負(fù)載密文、報(bào)文來(lái)源交換機(jī)、報(bào)文來(lái)源交換機(jī)端口號(hào),解密報(bào)文密文,認(rèn)證設(shè)備身份。完成身份認(rèn)證后會(huì)向設(shè)備所在接入域的交換機(jī)下發(fā)AID本域終端轉(zhuǎn)發(fā)流表,最后將信息轉(zhuǎn)交給標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊,開(kāi)啟映射注冊(cè)流程。
標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊負(fù)責(zé)處理設(shè)備的映射關(guān)系以及處理數(shù)據(jù)平面中映射關(guān)系對(duì)應(yīng)的流表,并將處理結(jié)果與映射服務(wù)器同步,包括映射注冊(cè)、映射查詢(xún)、映射更新。設(shè)計(jì)如下:
(1)當(dāng)標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊收到映射注冊(cè)請(qǐng)求,會(huì)根據(jù)請(qǐng)求中的信息為終端分配與接入域相關(guān)的RID,并將映射關(guān)系寫(xiě)入映射服務(wù)器以同步到全局。新的RID本域解封裝流表下發(fā)到接入認(rèn)證設(shè)備所在接入域的交換機(jī),使得數(shù)據(jù)平面會(huì)解封裝該RID對(duì)應(yīng)的報(bào)文。最后會(huì)將該設(shè)備的AID、RID映射關(guān)系、所在接入域交換機(jī)、交換機(jī)端口號(hào)等信息轉(zhuǎn)交給移動(dòng)性管理模塊存儲(chǔ)。
(2)當(dāng)收到標(biāo)識(shí)分離映射控制模塊發(fā)送的映射查詢(xún)請(qǐng)求,會(huì)根據(jù)請(qǐng)求中的目的AID向映射服務(wù)器查詢(xún)AID對(duì)應(yīng)的RID映射關(guān)系,并將查詢(xún)到的映射關(guān)系下發(fā)到發(fā)起映射查詢(xún)的設(shè)備所在接入域的數(shù)據(jù)平面交換機(jī)中,指揮發(fā)往該目的AID的報(bào)文的核心網(wǎng)首部封裝。
(3)當(dāng)收到移動(dòng)性管理模塊的映射更新請(qǐng)求,會(huì)根據(jù)請(qǐng)求中的信息為終端重新分配與接入域相關(guān)的RID,并將更新后的映射關(guān)系寫(xiě)入映射服務(wù)器,同時(shí)向設(shè)備所在的接入域交換機(jī)下發(fā)新的本域RID解封裝流表,最后將更新后的映射關(guān)系通知給移動(dòng)性管理模塊。
移動(dòng)性管理模塊負(fù)責(zé)根據(jù)移動(dòng)切換報(bào)文判斷移動(dòng)切換的信息,管理移動(dòng)前后的映射關(guān)系同步以及數(shù)據(jù)平面的流表邏輯。
(1)當(dāng)移動(dòng)性管理模塊收到標(biāo)識(shí)分離映射控制模塊發(fā)送的移動(dòng)切換請(qǐng)求,首先根據(jù)源AID在存儲(chǔ)的信息中查詢(xún)AID接入的交換機(jī)并與移動(dòng)接入報(bào)文的來(lái)源交換機(jī)對(duì)比:(a)如果是在同一臺(tái)交換機(jī)不同的端口之間移動(dòng),則向來(lái)源交換機(jī)下發(fā)新的AID本域終端轉(zhuǎn)發(fā)流表,更新數(shù)據(jù)平面中記錄的接入交換機(jī)端口信息,因?yàn)槿栽谕唤尤胗騼?nèi),故映射關(guān)系無(wú)需處理。(b)如果是設(shè)備在不同的接入域交換機(jī)間移動(dòng),首先根據(jù)模塊內(nèi)存儲(chǔ)的先前接入交換機(jī)的信息,將先前接入交換機(jī)內(nèi)本設(shè)備的AID本域終端轉(zhuǎn)發(fā)流表清除,向新接入的接入域交換機(jī)下發(fā)AID本域終端轉(zhuǎn)發(fā)流表,再將信息發(fā)送給標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊開(kāi)啟映射更新流程,為設(shè)備重新注冊(cè)新的接入域相關(guān)的RID并處理對(duì)應(yīng)的流表。
(2)三角路由是由于設(shè)備移動(dòng)切換后新的AID-RID映射關(guān)系無(wú)法直接同步到先前與設(shè)備通信的接入域,先前的通信對(duì)端依然按照舊的映射關(guān)系將報(bào)文錯(cuò)誤的發(fā)送到設(shè)備移動(dòng)切換前的接入域交換機(jī)中,數(shù)據(jù)平面感知到三角路由報(bào)文時(shí)會(huì)將報(bào)文轉(zhuǎn)交給控制面處理,最終到達(dá)移動(dòng)性管理模塊。當(dāng)收到三角路由報(bào)文,會(huì)根據(jù)報(bào)文源AID在存儲(chǔ)中找到發(fā)送此報(bào)文的對(duì)端接入域交換機(jī),將信息轉(zhuǎn)交給標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊,將對(duì)端交換機(jī)中過(guò)期的目的AID-RID映射流表通過(guò)映射查詢(xún)流程更新,從而解決三角路由問(wèn)題。
在可編程平臺(tái)架構(gòu)下的標(biāo)識(shí)網(wǎng)絡(luò)劃分為數(shù)據(jù)平面與控制平面,數(shù)據(jù)平面負(fù)責(zé)對(duì)報(bào)文進(jìn)行處理并按照控制平面的指導(dǎo)轉(zhuǎn)發(fā),控制平面負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)中的負(fù)責(zé)邏輯功能,維護(hù)標(biāo)識(shí)網(wǎng)絡(luò)的映射關(guān)系,通過(guò)數(shù)據(jù)平面轉(zhuǎn)交的報(bào)文獲取數(shù)據(jù)平面的信息,并且通過(guò)下發(fā)流表實(shí)現(xiàn)對(duì)數(shù)據(jù)平面的控制。以圖1為例介紹基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)工作流程。標(biāo)識(shí)網(wǎng)絡(luò)將網(wǎng)絡(luò)劃分為接入網(wǎng)與核心網(wǎng),接入網(wǎng)中的設(shè)備通過(guò)接入交換路由器(ASR)接入網(wǎng)絡(luò),圖1中展示了三個(gè)接入網(wǎng)通過(guò)核心網(wǎng)聯(lián)通。其中移動(dòng)終端MN位于接入網(wǎng)1,對(duì)應(yīng)的通信對(duì)端是位于接入網(wǎng)3的有線固定終端CN,MN與CN位于不同的接入網(wǎng),需要通過(guò)核心網(wǎng)路由通信。MN會(huì)因?yàn)橐苿?dòng)從不同的接入網(wǎng)接入網(wǎng)絡(luò)。
2.2.1 基礎(chǔ)通信工作流程
以圖1中的拓?fù)浣Y(jié)構(gòu)下移動(dòng)終端MN與有線終端CN的通信為例,介紹基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)通信的具體工作流程。如圖4所示,流程中移動(dòng)終端MN與有線終端CN已經(jīng)完成設(shè)備注冊(cè),映射服務(wù)器中包含了這兩臺(tái)終端的AID-RID映射關(guān)系。當(dāng)移動(dòng)終端MN首次與有線終端CN通信時(shí),通信報(bào)文到達(dá)移動(dòng)終端MN所在接入網(wǎng)1的接入交換路由器ASR1時(shí),由于此時(shí)數(shù)據(jù)平面還沒(méi)有目的AID-RID映射流表,數(shù)據(jù)平面將報(bào)文轉(zhuǎn)交給控制平面,發(fā)起標(biāo)識(shí)映射查詢(xún)流程。控制器收到數(shù)據(jù)平面轉(zhuǎn)交的報(bào)文,由標(biāo)識(shí)映射分離控制模塊提取報(bào)文中的信息,解析報(bào)文的意圖,轉(zhuǎn)交給標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊向映射服務(wù)器發(fā)起映射查詢(xún)??刂破鲝挠成浞?wù)器查詢(xún)到通信對(duì)端CN的AID-RID映射關(guān)系,完成映射查詢(xún)流程,將映射關(guān)系以目的AID-RID映射流表的形式下發(fā)至ASR1。
圖4 基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)基礎(chǔ)通信流程
當(dāng)移動(dòng)終端MN后續(xù)的通信報(bào)文到達(dá)ASR1時(shí),擊中目的AID-RID映射流表,報(bào)文被封裝上核心網(wǎng)首部向核心網(wǎng)內(nèi)轉(zhuǎn)發(fā),在核心網(wǎng)通過(guò)RID路由到有線終端CN所在接入網(wǎng)3的接入交換路由器ASR3。報(bào)文擊中數(shù)據(jù)平面RID本域解封裝流表,解封裝核心網(wǎng)首部,根據(jù)目的AID路由到接入網(wǎng)3中的有線終端CN。
2.2.2 移動(dòng)切換工作流程
仍以圖1中拓?fù)浣Y(jié)構(gòu)為例,介紹基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)切換工作流程以及三角路由的產(chǎn)生與處理流程。如圖5所示,當(dāng)移動(dòng)終端移動(dòng)切換后接入到接入域2的無(wú)線AP,AP感知到終端接入向ASR2發(fā)送移動(dòng)切換報(bào)文,ASR2收到并解析移動(dòng)切換報(bào)文發(fā)起移動(dòng)切換流程轉(zhuǎn)交給控制面處理??刂破魇盏綌?shù)據(jù)平面移動(dòng)切換報(bào)文,解析報(bào)文意圖,提取報(bào)文中的信息,轉(zhuǎn)交給移動(dòng)性管理模塊進(jìn)入移動(dòng)切換流程。移動(dòng)性管理模塊首先根據(jù)終端新的接入位置信息分配新的RID,并將新的映射關(guān)系通過(guò)標(biāo)識(shí)映射發(fā)布與查詢(xún)模塊更新給映射服務(wù)器。收到映射服務(wù)器的更新響應(yīng)后,向移動(dòng)終端新接入的ASR2下發(fā)移動(dòng)終端MN的RID本域解封裝流表和AID本域終端轉(zhuǎn)發(fā)流表,此時(shí)移動(dòng)終端MN的通信恢復(fù)。同時(shí)由于移動(dòng)終端MN已經(jīng)離開(kāi)接入域1,所以還要將ASR1中移動(dòng)終端MN的AID本域終端轉(zhuǎn)發(fā)流表刪除,移動(dòng)切換流程結(jié)束。
圖5 移動(dòng)切換流程與三角路由處理
在移動(dòng)終端MN離開(kāi)接入域1后,通信對(duì)端CN如果繼續(xù)與MN通信,由于ASR3中的目的AID-RID映射流表對(duì)應(yīng)的映射關(guān)系是MN移動(dòng)之前的映射關(guān)系,此時(shí)報(bào)文擊中過(guò)期的目的AID-RID映射流表,經(jīng)過(guò)封裝核心網(wǎng)首部后在核心網(wǎng)中路由到ASR1,ASR1將報(bào)文解封裝后無(wú)法擊中對(duì)應(yīng)的AID本域終端轉(zhuǎn)發(fā)流表,此時(shí)產(chǎn)生了三角路由,ASR1會(huì)將報(bào)文轉(zhuǎn)交給控制器處理??刂破魇盏饺锹酚傻膱?bào)文后,解析報(bào)文意圖,提取報(bào)文中的信息,轉(zhuǎn)交給移動(dòng)性管理模塊,進(jìn)入三角路由處理流程。移動(dòng)性管理模塊會(huì)根據(jù)報(bào)文中的信息找到具有過(guò)期流表的ASR3,并向它更新目的AID-RID映射流表,后續(xù)的通信報(bào)文就會(huì)根據(jù)最新的映射關(guān)系路由到移動(dòng)終端MN所在的ASR2,三角路由處理流程結(jié)束。
基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)原型系統(tǒng)網(wǎng)絡(luò)拓?fù)淙鐖D6所示。數(shù)據(jù)平面由四臺(tái)可編程P4交換機(jī)構(gòu)成,型號(hào)均為Barefoot Networks Wedge100BF-32X。其中三臺(tái)ASR1、ASR2、ASR3作為接入網(wǎng)接入交換路由器,代表三個(gè)接入網(wǎng)。一臺(tái)作為核心網(wǎng)交換路由器CR。兩個(gè)無(wú)線接入點(diǎn)AP1和AP2分別與ASR1和ASR2連接??刂破矫嬗蓛膳_(tái)高性能服務(wù)器構(gòu)成,一臺(tái)作為控制器使用,另一臺(tái)作為映射服務(wù)器使用,配置為Intel? Xeon? Silver 4212 CPU @ 2.20 GHz * 48,搭載62.6GiB內(nèi)存。數(shù)據(jù)平面ASR1、ASR2、ASR3分別與CR相連,數(shù)據(jù)平面四臺(tái)可編程P4交換機(jī)通過(guò)P4Runtime協(xié)議與控制面進(jìn)行通信。移動(dòng)終端MN通過(guò)無(wú)線接入點(diǎn)AP1接入ASR1,也可以移動(dòng)切換到AP2接入ASR2。有線終端CN與ASR3相連。
圖6 基于可編程平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)原型系統(tǒng)網(wǎng)絡(luò)拓?fù)?/p>
首先對(duì)設(shè)備注冊(cè)與通信功能進(jìn)行測(cè)試。移動(dòng)終端MN與有線終端CN在接入網(wǎng)絡(luò)后首先向ASR1和ASR3發(fā)送接入認(rèn)證報(bào)文,交換機(jī)收到接入認(rèn)證報(bào)文后轉(zhuǎn)發(fā)至控制平面的控制器處理??刂破鹘馕鼋尤胝J(rèn)證報(bào)文中的信息以及負(fù)載密文,通過(guò)后為終端設(shè)備分配RID并將映射關(guān)系發(fā)布至映射服務(wù)器。并將對(duì)應(yīng)的流表下發(fā)至ASR1與ASR3。圖7(a)展示了控制器中終端注冊(cè)的日志,其中包括報(bào)文解析、身份認(rèn)證、映射注冊(cè)、流表下發(fā)的過(guò)程。
(a)終端注冊(cè)控制器日志
在移動(dòng)終端MN與有線終端CN均完成設(shè)備注冊(cè)后,便可開(kāi)始通信。當(dāng)MN首次與CN通信時(shí),會(huì)觸發(fā)映射查詢(xún),報(bào)文從ASR1轉(zhuǎn)交到控制器進(jìn)行映射查詢(xún),映射查詢(xún)的結(jié)果將以流表的形式下發(fā)到ASR1。當(dāng)映射查詢(xún)結(jié)束后,MN的通信報(bào)文將經(jīng)過(guò)ASR1核心網(wǎng)首部封裝,經(jīng)核心網(wǎng)路由器CR的轉(zhuǎn)發(fā)到達(dá)ASR3,解封裝后到達(dá)CN。通過(guò)上述流程,當(dāng)CN也完成映射查詢(xún)后,MN與CN能夠進(jìn)行雙向段端到端通信,在CN上部署視頻服務(wù),MN能夠訪問(wèn)播放,實(shí)現(xiàn)了網(wǎng)絡(luò)功能的正常運(yùn)行。
再對(duì)移動(dòng)切換功能進(jìn)行測(cè)試。在移動(dòng)終端MN與有線終端CN完成設(shè)備注冊(cè)并通信后,MN發(fā)起移動(dòng)切換,從ASR1的AP1接入點(diǎn)切換至ASR2的AP2接入點(diǎn),AP2感知到無(wú)線終端接入,向ASR2發(fā)送移動(dòng)切換報(bào)文,ASR2將移動(dòng)切換報(bào)文轉(zhuǎn)交給控制器進(jìn)行移動(dòng)切換流程。圖7(b)展示了控制器中移動(dòng)切換日志,其中包括報(bào)文解析、流表刪除、映射關(guān)系更新、流表下發(fā)。移動(dòng)切換流程結(jié)束后,CN與MN的通信恢復(fù)。
首先根據(jù)移動(dòng)切換流程分析移動(dòng)切換時(shí)延組成,時(shí)延組成如圖8所示。從AP感知到終端移動(dòng)接入發(fā)出移動(dòng)切換報(bào)文開(kāi)始,網(wǎng)絡(luò)層切換時(shí)延分為三部分,從數(shù)據(jù)平面Packet_in轉(zhuǎn)交至控制平面的時(shí)延、控制平面處理的時(shí)延、控制平面流表下發(fā)至數(shù)據(jù)平面生效的時(shí)延。Packet_in時(shí)延和流表生效時(shí)延受數(shù)據(jù)平面到控制平面網(wǎng)絡(luò)實(shí)體端到端時(shí)延和控制平面與數(shù)據(jù)平面通信協(xié)議解析時(shí)延的影響,經(jīng)多次測(cè)試均值在4.8 ms左右。控制平面處理流程時(shí)延由報(bào)文信息解析時(shí)延、映射關(guān)系更新時(shí)延、流表處理流程時(shí)延三部分構(gòu)成。每部分時(shí)延受控制器系統(tǒng)運(yùn)行狀態(tài)影響,且在控制系統(tǒng)不同模塊之間數(shù)據(jù)傳輸時(shí)延經(jīng)多次測(cè)試為5.2 ms左右。實(shí)驗(yàn)環(huán)境中不同網(wǎng)絡(luò)實(shí)體之間往返時(shí)延RTT多次測(cè)試結(jié)果見(jiàn)表1。
表1 實(shí)驗(yàn)環(huán)境中不同網(wǎng)絡(luò)實(shí)體之間的往返時(shí)間 ms
圖8 網(wǎng)絡(luò)層切換時(shí)延組成
下面對(duì)移動(dòng)性管理機(jī)制進(jìn)行多次重復(fù)性能測(cè)試,在移動(dòng)終端MN與有線終端CN完成設(shè)備注冊(cè)與映射查詢(xún),能夠正常通信時(shí),在CN上以每秒1 000次的速率向MN發(fā)送數(shù)據(jù)包,同時(shí)使MN在AP1與AP2之間反復(fù)切換,利用抓包軟件測(cè)量AP接入點(diǎn)處從AP發(fā)出移動(dòng)切換報(bào)文到收到CN發(fā)送的數(shù)據(jù)包之間的時(shí)間間隔,該時(shí)間間隔即為切換時(shí)延。
圖9為MN移動(dòng)切換30次獲取的實(shí)驗(yàn)結(jié)果。其中切換時(shí)延最大值為75 ms,最小值為41 ms,圖中橫線為平均值55 ms。從實(shí)驗(yàn)結(jié)果來(lái)看,該移動(dòng)性管理機(jī)制能夠滿(mǎn)足大部分實(shí)時(shí)應(yīng)用需求?;诳删幊唐脚_(tái)中集中化管控的控制平面系統(tǒng)減少了在傳統(tǒng)交換設(shè)備平臺(tái)中原本不同ASR之間傳遞信息的流程,將原本ASR之間交互的信息統(tǒng)一到控制器中處理,省去了不同ASR之間通信與處理時(shí)延,性能測(cè)試結(jié)果也顯示相對(duì)于文獻(xiàn)[18]中基于傳統(tǒng)交換設(shè)備平臺(tái)的標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)切換性能更快。
圖9 移動(dòng)切換性能測(cè)試結(jié)果
針對(duì)標(biāo)識(shí)網(wǎng)絡(luò)在現(xiàn)網(wǎng)中的部署障礙,結(jié)合標(biāo)識(shí)網(wǎng)絡(luò)優(yōu)勢(shì)與可編程網(wǎng)絡(luò)平臺(tái)特性,該文提出一種基于可編程平臺(tái)下的標(biāo)識(shí)網(wǎng)絡(luò)移動(dòng)性管理機(jī)制?;诳删幊唐脚_(tái)控制與轉(zhuǎn)發(fā)分離的理念,數(shù)據(jù)平面設(shè)計(jì)一套報(bào)文解析與處理流程,實(shí)現(xiàn)對(duì)標(biāo)識(shí)網(wǎng)絡(luò)報(bào)文的處理轉(zhuǎn)發(fā)以及對(duì)標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備注冊(cè)、移動(dòng)切換的支持??刂破矫嫱ㄟ^(guò)設(shè)計(jì)控制平面系統(tǒng)與映射服務(wù)器,實(shí)現(xiàn)設(shè)備身份認(rèn)證與映射關(guān)系注冊(cè)、映射關(guān)系查詢(xún)、設(shè)備移動(dòng)切換等網(wǎng)絡(luò)功能。同時(shí)對(duì)應(yīng)該設(shè)計(jì),搭建了一套對(duì)應(yīng)的原型系統(tǒng),并進(jìn)行了功能測(cè)試和性能測(cè)試,測(cè)試結(jié)果表明該機(jī)制能夠支持標(biāo)識(shí)網(wǎng)絡(luò)的運(yùn)行以及對(duì)設(shè)備移動(dòng)切換具有良好支持,切換性能滿(mǎn)足大部分實(shí)時(shí)應(yīng)用需求。