国产欧美一区二区三区在线看_久久精品国产99国产精品_国产97人人超碰caoprom,色婷婷久久综合,成年人晚上看的视频,美女羞羞视频网站下载

0731-84728105
15116127200
FAST項(xiàng)目技術(shù)白皮書
發(fā)布時(shí)間: 2016-11-20
1.引言
     軟件定義網(wǎng)絡(luò)(SDN)采用控制與轉(zhuǎn)發(fā)分離結(jié)構(gòu),由于允許網(wǎng)絡(luò)擁有者和運(yùn)營(yíng)商對(duì)網(wǎng)絡(luò)行為進(jìn)行編程而取得巨大的成功,在工業(yè)界得到廣泛認(rèn)可。各種開源項(xiàng)目,如ODL和ONOS等,在SDN技術(shù)發(fā)展中扮演重要角色,是推動(dòng)SDN應(yīng)用的最大動(dòng)力。
     可編程交換是當(dāng)前SDN的研究熱點(diǎn)之一。如何實(shí)現(xiàn)高性能的openflow流表查表,如何擴(kuò)展SDN交換平面功能,如何實(shí)現(xiàn)對(duì)高級(jí)語(yǔ)言編程(P4)的支持等在學(xué)術(shù)界都得到了廣泛研究。然而與目前存在的大量開源SDN控制器不同,開源SDN交換機(jī)難以滿足SDN科研與教學(xué)的需要。OpenVSwitch功能全面,但全軟件的實(shí)現(xiàn)方式難以滿足高性能處理需求;NetFPGA實(shí)現(xiàn)了openflow 1.0交換,但近年來(lái)很難看到后續(xù)的發(fā)展;國(guó)內(nèi)南京疊鍶的ONetSwitch在FPGA上實(shí)現(xiàn)了完善的SDN交換功能,但交換機(jī)采用FPGA內(nèi)嵌的處理器,能力較弱,難以在處理器上進(jìn)行數(shù)據(jù)路徑處理功能的擴(kuò)展。
     2011年開始,國(guó)防科技大學(xué)、北京郵電大學(xué)和東南大學(xué)等單位相關(guān)的課題組基于可編程交換平臺(tái)NetMagic08進(jìn)行了SDN實(shí)驗(yàn)平臺(tái)的開發(fā),形成了支持openflow1.0/1.3的SDN交換機(jī)。并采用多核CPU+FPGA的架構(gòu)(Netmagic Pro平臺(tái)),實(shí)現(xiàn)了支持SDN數(shù)據(jù)平面功能擴(kuò)展的Labelcast交換機(jī)以及軟件定義隧道交換機(jī)(SDTS)等成果。2016年,課題組基于上述成果形成FAST(Fpga bAsed Sdn swiTch)開源項(xiàng)目,支持國(guó)內(nèi)SDN交換技術(shù)的創(chuàng)新研究和相關(guān)的教學(xué)工作。
2. 科研與教學(xué)對(duì)開源SDN交換機(jī)的需求
      與在工業(yè)界應(yīng)用不同,面向科研與教學(xué)領(lǐng)域的開源項(xiàng)目的目標(biāo)用戶主要是研究機(jī)構(gòu)和大學(xué)中參與SDN技術(shù)研究的老師和研究生,這些人員在網(wǎng)絡(luò)知識(shí)儲(chǔ)備、編程水平、有意投入工程實(shí)現(xiàn)的時(shí)間等方面具有較大差異,因此對(duì)開源SDN交換項(xiàng)目也有不同的需求,主要具有以下特點(diǎn)。
   (1)內(nèi)部交換機(jī)內(nèi)部的實(shí)現(xiàn)流程可見
     研究人員、老師和學(xué)生可以看到交換機(jī)內(nèi)部詳細(xì)的工作流程,包括硬件對(duì)報(bào)文的處理波形,交換機(jī)內(nèi)部軟硬件交互的流程,以及交換機(jī)通過(guò)南向接口與控制器的通信流程。目前的市場(chǎng)采購(gòu)的SDN交換機(jī)無(wú)法看到內(nèi)部工作流程,對(duì)研究人員來(lái)說(shuō)是一個(gè)典型的“黑盒”,只能通過(guò)各種配置命令改變交換機(jī)的處理行為,或在開源的控制器一側(cè)通過(guò)抓包軟件觀測(cè)交換機(jī)的外部行為,對(duì)SDN交換技術(shù)的研究支持不足。
   (2)能夠在交換機(jī)中增加自己的創(chuàng)新工作
     SDN的創(chuàng)新研究有可能需要增加一個(gè)定制的模塊來(lái)修改硬件處理邏輯,如支持新的分組格式,新的調(diào)度算法,也有可能是通過(guò)在硬件邏輯中(或者流表中)設(shè)置一個(gè)“鉤子”,將指定的流量定向到CPU,通過(guò)編寫軟件代碼實(shí)現(xiàn)對(duì)特定流量施加特定處理。目前基于ASIC的商用SDN交換機(jī)難以支持上述功能,新型可編程SDN芯片(如Barefoot支持P4的芯片)尚未成熟,而且也是無(wú)法在硬件處理層次的創(chuàng)新實(shí)驗(yàn)。
   (3)需要更好的應(yīng)用和開發(fā)支持
     由于在教學(xué)科研領(lǐng)域的研究人員,特別是研究生,水平層次不齊。特別電子工程專業(yè)的可能擅長(zhǎng)硬件設(shè)計(jì),計(jì)算機(jī)專業(yè)的可能擅長(zhǎng)軟件編程,以論文為目標(biāo)的研究人員可能更加注重原理的驗(yàn)證而不是工作的穩(wěn)定性,而部分科研院所希望能夠穩(wěn)定可靠的工作,成為產(chǎn)品的原型。因此研究人員希望能夠獲得更加專業(yè),甚至是定制的服務(wù)。
   (4)平臺(tái)中立,不涉及具體的商業(yè)利益
     科研教學(xué)領(lǐng)域的研究主要是面向關(guān)鍵技術(shù)的突破和驗(yàn)證,以及SDN原理的學(xué)習(xí)。基本不涉及到各種商業(yè)利益的紛爭(zhēng),因此平臺(tái)應(yīng)該具有中立性,不能依賴特定的平臺(tái)和操作系統(tǒng),也不能與其他特定的開源項(xiàng)目綁定發(fā)展。
     因此,100G/40G高速接口和幾十甚至是上百個(gè)的端口密度不是科研與教學(xué)平臺(tái)的第一需求,內(nèi)部處理流程可見,平臺(tái)處理功能可定制,良好的服務(wù)技術(shù)支持,以及不帶有商業(yè)傾向性的平臺(tái)設(shè)計(jì)才是科研教學(xué)領(lǐng)域的最重要需求。
3.FAST的技術(shù)路線
3.1 FAST硬件架構(gòu)
FAST的FPGA設(shè)計(jì)主要分為平臺(tái)相關(guān)邏輯、FAST流水線模塊庫(kù)以及工程配置文件庫(kù)三部分,如圖1所示。平臺(tái)相關(guān)邏輯主要是各類用于網(wǎng)絡(luò)實(shí)驗(yàn)的FPGA平臺(tái),如NetMagic08,NetMagic Pro以及NetFPGA等為了支持FAST交換機(jī)需要提供的基本功能,包括物理網(wǎng)絡(luò)接口分組的收發(fā),與CPU的通信,訪問(wèn)板卡外圍協(xié)處理器(如TCAM)和存儲(chǔ)器的接口等。
FAST流水線模塊庫(kù)包含了實(shí)現(xiàn)SDN交換邏輯的主要功能模塊,這些模塊是在前期項(xiàng)目開發(fā)中積累的,包括協(xié)議分析,關(guān)鍵字提取、查表,動(dòng)作(封頭/去頭,令牌桶限速等)、緩沖區(qū)管理和計(jì)數(shù)器等模塊。用戶可根據(jù)這些模塊,針對(duì)自己的需求搭建自己的SDN轉(zhuǎn)發(fā)流水線。
工程配置文件庫(kù)類似C語(yǔ)言的makefile文件,用戶可使用工程配置文件指定FPGA選用的平臺(tái),將平臺(tái)相關(guān)邏輯以及FAST流水線多個(gè)模塊組成一個(gè)工程。由于在FAST流水線模塊設(shè)計(jì)中依賴一些器件相關(guān)的宏(如基于Altera Quartus II工具生成的FIFO、PLL等實(shí)例),因此目前工程配置庫(kù)只支持基于Altera FPGA的可編程板卡。
FAST UM規(guī)范定義了平臺(tái)相關(guān)邏輯與FAST交換邏輯的接口,詳細(xì)見《FAST UM接口規(guī)范》。基于FAST UM規(guī)范設(shè)計(jì)的SDN轉(zhuǎn)發(fā)邏輯可以方便的在不同的,支持FSAT 的FPGA平臺(tái)上移植。例如SDN轉(zhuǎn)發(fā)邏輯可以在相對(duì)簡(jiǎn)單的NetMagic08平臺(tái)上調(diào)試,完成后再移植到NetMagic Pro平臺(tái)。

圖1 FAST項(xiàng)目的硬件架構(gòu)
     FAST軟件由4部分組成,包括平臺(tái)相關(guān)通信庫(kù),核心管理軟件,轉(zhuǎn)發(fā)面擴(kuò)展軟件以及配置管理軟件。其中平臺(tái)無(wú)關(guān)的核心管理軟件,轉(zhuǎn)發(fā)面擴(kuò)展軟件以及配置管理軟件都是FAST用戶可以修改的,統(tǒng)稱為UA(User Application)。
     平臺(tái)相關(guān)通信庫(kù)實(shí)現(xiàn)CPU軟件與交換FPGA的通信,根據(jù)FPGA平臺(tái)的不同,會(huì)采用不同的通信方式,例如與NetMagic08平臺(tái)采用以太網(wǎng)方式進(jìn)行通信,對(duì)于NetMagic Pro平臺(tái)、NetFPGA平臺(tái)則采用PCIe總線通信的方式。但平臺(tái)相關(guān)軟件與FPGA不同的通信方式對(duì)上層軟件(核心管理軟件、轉(zhuǎn)發(fā)面功能擴(kuò)展軟件等)是透明的。即FAST項(xiàng)目定義了平臺(tái)相關(guān)通信庫(kù)對(duì)上層接口的規(guī)范,詳見《FAST UA設(shè)計(jì)規(guī)范》。基于該規(guī)范開發(fā)的上層軟件可不考慮下層的具體通信方式。

圖2 FAST項(xiàng)目的軟件架構(gòu)
     核心管理軟件主要是SDN交換機(jī)數(shù)據(jù)平面中由CPU軟件實(shí)現(xiàn)的基本功能,包括各種表管理軟件,硬件相關(guān)的驅(qū)動(dòng)和管理軟件以及軟硬件協(xié)同處理中的軟件功能實(shí)現(xiàn)部分。各部分主要功能如下。
     (1)表管理軟件:負(fù)責(zé)所有控制器配置表格的維護(hù),控制器flowmod命令對(duì)交換機(jī)表操作的命令主要由核心管理軟件響應(yīng)和實(shí)現(xiàn)。
     (2)算法相關(guān)軟件:是對(duì)硬件平臺(tái)的驅(qū)動(dòng)。例如NetMagic Pro平臺(tái)硬件采用TCAM實(shí)現(xiàn)帶掩碼的查表,而NetMagic08平臺(tái)采用SBV算法實(shí)現(xiàn)288位帶掩碼的查表。算法相關(guān)軟件需要根據(jù)表管理軟件要求,根據(jù)平臺(tái)相關(guān)的算法實(shí)現(xiàn)特點(diǎn),實(shí)現(xiàn)對(duì)硬件中流表的管理。
     (3)統(tǒng)計(jì)管理軟件:例如實(shí)現(xiàn)SDN交換機(jī)計(jì)數(shù)器的管理,將硬件實(shí)現(xiàn)的計(jì)數(shù)器(如流表項(xiàng)匹配分組數(shù)目計(jì)數(shù)器、端口接收計(jì)數(shù)器)和軟件實(shí)現(xiàn)的計(jì)數(shù)器(流表項(xiàng)存活時(shí)間)進(jìn)行統(tǒng)一的管理。又如數(shù)據(jù)平面實(shí)現(xiàn)的令牌桶參數(shù)、輸出調(diào)度器配置的參數(shù)計(jì)算等。
配置管理軟件主要實(shí)現(xiàn)SDN交換機(jī)的外部配置管理接口,包括SDN交換機(jī)需要的南向接口協(xié)議,如openflow協(xié),以及本地的配置管理界面等。
4.基于FAST架構(gòu)的用戶開發(fā)
     FAST是面向教學(xué)科研的開源項(xiàng)目,必須為網(wǎng)絡(luò)技術(shù)研究和教學(xué)提供簡(jiǎn)單的第三方開發(fā)接口。根據(jù)不同科研單位的不同需求,這些開發(fā)接口分為多個(gè)層次。用戶可以選擇全定制功能開發(fā)模式,即基于平臺(tái)提供的FPGA開發(fā)接口(UM接口)和軟件開發(fā)接口(UA接口)開發(fā)自己的功能,優(yōu)點(diǎn)是可以全新打造自己的功能,效率高,但難度較大,周期長(zhǎng),對(duì)開發(fā)人員的要求較高。FAST社區(qū)不推薦用戶采用全定制功能開發(fā)的模式,而推薦采用用戶定義功能模塊開發(fā)模式。
     用戶可借鑒已有的FAST軟硬件架構(gòu)和已有成熟的功能模塊,只增加與自己應(yīng)用相關(guān)的模塊,優(yōu)點(diǎn)是開發(fā)時(shí)間短,對(duì)人員要求較低,而且可以得到FAST社區(qū)最大程度的技術(shù)支持。用戶可選擇只開發(fā)自定義的硬件功能模塊,或自定義的軟件功能模塊,或者同時(shí)開發(fā)硬件和軟件模塊,實(shí)現(xiàn)特定網(wǎng)絡(luò)功能的協(xié)同處理,F(xiàn)AST用戶定義模塊開發(fā)示意如圖3所示。
4.1 硬件UM開發(fā)
     FAST社區(qū)已經(jīng)開發(fā)了可工作的SDN轉(zhuǎn)發(fā)的流水線demo程序,如圖3所示。主要包含協(xié)議分析(Parser)、查表(match)以及動(dòng)作執(zhí)行(match)等階段。用戶可以在現(xiàn)有基礎(chǔ)上增加自己的模塊,如對(duì)新協(xié)議的parser模塊(P4),新的動(dòng)作執(zhí)行模塊(H4)等,而不需修改其他部分。FAST UM規(guī)范定義了5個(gè)接口,分別是A(從物理端口接收?qǐng)?bào)文)、B(向物理接口發(fā)送報(bào)文)、C(將報(bào)文送軟件處理)、D(從軟件接收?qǐng)?bào)文)和E(軟件對(duì)硬件的配置接口)。
     用戶開發(fā)的硬件模塊如果需要軟件管理配置,只要將需要管理配置的寄存器、計(jì)數(shù)器和控制表等預(yù)先映射到虛擬地址空間中,軟件UA按照虛擬空間的地址,通過(guò)平臺(tái)提供的API可以直接訪問(wèn)到這些資源。虛擬地址空間的原理見《FAST虛擬地址空間設(shè)計(jì)和使用方法》。
4.2軟件UA開發(fā)
      用戶可在CPU的用戶空間進(jìn)行定制模塊的開發(fā)。用戶程序通過(guò)平臺(tái)提供的接口接收和發(fā)送數(shù)據(jù)包, 在每個(gè)數(shù)據(jù)包之前會(huì)攜帶32個(gè)字節(jié)的metadata,Metadata的定義和使用詳見4.3節(jié)。
     軟件模塊的開發(fā)主要遵循FAST UA規(guī)范中定義的F(接收Matadata和分組的接口)、G(發(fā)送Matadata和分組的接口)和H(向系統(tǒng)注冊(cè)用戶定義功能模塊的接口,獲取自己的MID號(hào)等),并將需要管理的硬件模塊的資源在虛擬地址空間中定義。
      根據(jù)圖2中的軟件架構(gòu),用戶定義的模塊位于SDN交換機(jī)數(shù)據(jù)平面,因此一方面可實(shí)現(xiàn)對(duì)L2-L3功能的軟硬件協(xié)同處理,例如對(duì)新性網(wǎng)絡(luò)協(xié)議的解析,另一方面也可實(shí)現(xiàn)數(shù)據(jù)平面對(duì)L4-L7處理功能的擴(kuò)展,如擴(kuò)展有狀態(tài)防火墻功能,擴(kuò)展對(duì)指定流的DPI功能等。

圖3 用戶定義功能模塊開發(fā)原理示意圖
(a)用戶模塊的工作原理(b)軟硬件模塊通信攜帶的metadata格式
4.3軟硬件協(xié)同處理機(jī)制
     FAST通過(guò)兩種機(jī)制實(shí)現(xiàn)軟硬件處理的協(xié)同。一是將軟硬件處理模塊統(tǒng)一編址,為每個(gè)action模塊分配統(tǒng)一的MID(Module ID)。例如圖3(a)中三個(gè)硬件action模塊(H1、H2和H3)和一個(gè)軟件功能模塊(S1)都會(huì)分配一個(gè)唯一的MID。流表可以按照匹配結(jié)果將一個(gè)報(bào)文顯示的分派到指定的軟件或者硬件功能模塊。二是軟硬件分組通信時(shí)同時(shí)攜帶32字節(jié)的metadata。Metadata的定義如圖3(b)所示。
     FAST規(guī)范顯式定義了Matadata的前16字節(jié)(Metadata0),如表1所示。通過(guò)Matadata,F(xiàn)PGA UM可將報(bào)文接收的端口、長(zhǎng)度、接收的精確時(shí)間和序列號(hào),以及發(fā)出的硬件模塊,目的軟件模塊等信息送給軟件,平臺(tái)相關(guān)軟件根據(jù)DMID信息將其送給指定的用戶UA程序。用戶UA程序處理完分組后,又可通過(guò)Metadata信息將其送給指定的硬件模塊,也可直接指定目的輸出接口(輸出調(diào)度器也通過(guò)DMID指定)。
     FAST沒(méi)有對(duì)Matadata的后16字節(jié)(Metadata1)進(jìn)行定義。當(dāng)SMID和DMID都是用戶自己設(shè)計(jì)時(shí),可以自行約定Metadata1的含義,平臺(tái)相關(guān)硬件和軟件不對(duì)Metadata1進(jìn)行任何檢查和修改。
4.4 FAST.0參考設(shè)計(jì)
     目前基于圖1和圖2的硬件和軟件架構(gòu),以及圖3的軟硬件協(xié)同模型,國(guó)防科大課題組已經(jīng)開發(fā)了支持openflow1.3的交換機(jī)原型FAST.0。FAST.0運(yùn)行在NetMagic Pro平臺(tái),實(shí)現(xiàn)了與floodlight控制器的互聯(lián)互通,以及標(biāo)準(zhǔn)的二層轉(zhuǎn)發(fā)功能。
     在FPGA硬件方面,F(xiàn)AST.0支持以太網(wǎng)/IPv4分組的解析,L2-L4層關(guān)鍵字的提取,以及基于比特向量算法(BV)的288位帶掩碼的規(guī)則匹配功能;在CPU軟件方面,支持BV算法的管理,通用流表管理,標(biāo)準(zhǔn)的openflow 1.3的接口軟件等。FAST.0軟硬件代碼已經(jīng)完全開源,可作為用戶基于FAST架構(gòu)進(jìn)行定制開發(fā)的基礎(chǔ)。
5.基于FAST的創(chuàng)新研究示例
     目前FAST項(xiàng)目基于NetMagic Pro等多個(gè)平臺(tái)已經(jīng)有支持openflow1.3的標(biāo)準(zhǔn)SDN交換機(jī)原型。基于這個(gè)原型,用戶可以進(jìn)一步增加自己的許多功能。本節(jié)通過(guò)兩個(gè)例子說(shuō)明基于FAST項(xiàng)目進(jìn)行SDN交換機(jī)功能擴(kuò)展研究的方法和流程。
     在5.1的基于內(nèi)容的轉(zhuǎn)發(fā)機(jī)制ICN-X實(shí)現(xiàn)中,用戶只需進(jìn)行相關(guān)用戶態(tài)軟件開發(fā),不需任何硬件編程;5.2實(shí)現(xiàn)的精準(zhǔn)測(cè)量服務(wù)AMS(Accurate Measurement Service)中,需要分別設(shè)計(jì)軟件和硬件模塊,實(shí)現(xiàn)精確分組發(fā)送時(shí)刻控制以及時(shí)間戳標(biāo)記。
5.1支持基于內(nèi)容的轉(zhuǎn)發(fā)機(jī)制(ICN-X)
用戶可在FAST交換機(jī)上實(shí)現(xiàn)內(nèi)容中心的轉(zhuǎn)發(fā)機(jī)制ICN-X。這種機(jī)制在網(wǎng)絡(luò)中可以與IPv4,IPv6轉(zhuǎn)發(fā)機(jī)制共存。在FAST交換機(jī)上實(shí)現(xiàn)ICN-X轉(zhuǎn)發(fā)機(jī)制的方法如下。      
(1)將以太網(wǎng)type/length設(shè)置為“X”,用于指代上層協(xié)議為ICN-X;交換機(jī)可根據(jù)該域的值區(qū)別以太網(wǎng)幀封裝的上層協(xié)議分組為IPv4,IPv6,ARP、MPLS或是ICN-X。      
(2)在用戶空間開發(fā)ICN-X協(xié)議轉(zhuǎn)發(fā)軟件ICN-X UA,ICN-X UA實(shí)現(xiàn)ICN-X的分組轉(zhuǎn)發(fā)控制,ICN-X機(jī)制的路由和其他管理分組可通過(guò)ICN-X UA重新定向成Packet-in分組,發(fā)給控制器上相關(guān)的應(yīng)用處理。      
(3)ICN-A UA啟動(dòng)時(shí)向UA管理器(UA-M)注冊(cè),注冊(cè)信息包括:      
ICN-X UA的模塊版本號(hào)/開發(fā)者信息;      
ICN-X UA中需要控制器管理的流表(如由控制器APP計(jì)算的轉(zhuǎn)發(fā)表等);      
(4)UA-M給ICN-X UA分配唯一的模塊號(hào)MID=Y;      
(5)SDN控制器(應(yīng)用)通過(guò)南向接口或其他方式獲取ICN-X UA的模塊號(hào)Y,以及需要通過(guò)FlowMod消息管理的流表信息;      
(6)控制器(應(yīng)用)根據(jù)Packet-in消息計(jì)算ICN-UA中轉(zhuǎn)發(fā)規(guī)則,并通過(guò)flowMod消息配置這些規(guī)則;      
(7)控制器(應(yīng)用)產(chǎn)生并配置UM流表中的“鉤子規(guī)則”,如: Rule =“Type/length=X”,“other field= don’t care” Atcion = Goto Module Y 經(jīng)過(guò)上述步驟,用戶定制的FAST交換機(jī)就可以在正常進(jìn)行IP分組交換的同時(shí),支持新的ICN-X交換機(jī)制了。ICN-X UA完成分組轉(zhuǎn)發(fā)和二層封裝后,直接將分組發(fā)送回FAST UM,同時(shí)在metadata中設(shè)置輸出端口號(hào)以及輸出調(diào)度器的MID。該分組會(huì)通過(guò)平臺(tái)相關(guān)的軟件和硬件送到UM的輸出調(diào)度模塊,不經(jīng)修改的從相應(yīng)的物理接口發(fā)出。
5.2支持精準(zhǔn)測(cè)量服務(wù)(AMS)
     主動(dòng)測(cè)量是獲取網(wǎng)絡(luò)狀態(tài)的有效手段。例如利用香港理工大學(xué)提出的oneProbe測(cè)試方法,通過(guò)在用戶網(wǎng)中向分布在全球的web服務(wù)器發(fā)送背靠背的TCP分組對(duì)(packet pair),通過(guò)計(jì)算服務(wù)器對(duì)分組對(duì)得響應(yīng)情況,精確的推斷出用戶主機(jī)到分布在全球的互聯(lián)網(wǎng)服務(wù)器之間的帶寬和延時(shí)情況,從而進(jìn)一步推斷廣域網(wǎng)的鏈路特性。
     這種測(cè)試的精確性取決于能否控制分組對(duì)真正的背靠背發(fā)送(中間沒(méi)有插入延時(shí)),能否精確的獲取分組對(duì)發(fā)出以及返回的時(shí)間戳。由于基于標(biāo)準(zhǔn)服務(wù)器的實(shí)現(xiàn)存在測(cè)量進(jìn)程收到內(nèi)核調(diào)度,中斷處理以及系統(tǒng)時(shí)鐘不精確等特點(diǎn),很難保證測(cè)量的精確性,因此測(cè)量必須借助專用的,昂貴的可編程網(wǎng)卡實(shí)現(xiàn),而且發(fā)送進(jìn)程與網(wǎng)卡之間的時(shí)間和狀態(tài)同步控制也比較復(fù)雜。
     通過(guò)對(duì)部署在用戶網(wǎng)絡(luò)中的FAST交換機(jī)進(jìn)行擴(kuò)充,可以在交換機(jī)上方便的提供對(duì)精確的主動(dòng)測(cè)量的支持。設(shè)發(fā)起測(cè)量的主機(jī)H連接FAST交換機(jī)端口A,連接被測(cè)網(wǎng)絡(luò)的是FAST交換機(jī)的接口B,基本測(cè)量的流程為:測(cè)量主機(jī)H通過(guò)FAST接口A發(fā)送兩個(gè)背靠背的TCP分組P1和P2,這兩個(gè)分組經(jīng)過(guò)交換機(jī)轉(zhuǎn)發(fā)后從端口B發(fā)向被測(cè)網(wǎng)絡(luò);被測(cè)網(wǎng)絡(luò)通過(guò)接口B返回對(duì)這兩個(gè)分組的響應(yīng)P1’和P2’,交換機(jī)將這兩個(gè)分組通過(guò)接口A返回測(cè)試主機(jī)H。
     通過(guò)對(duì)FAST交換機(jī)功能擴(kuò)展,提供的精準(zhǔn)測(cè)量服務(wù)包括:(1)交換機(jī)嚴(yán)格控制P1和P2從接口B背靠背發(fā)出,中間不插入任何延時(shí);(2)交換機(jī)能夠精確記錄B口發(fā)出P1和P2,以及接收P1’和P2’的時(shí)間戳;(3)FAST交換機(jī)將時(shí)間戳信息通告給測(cè)試主機(jī)H。
     要在FAST交換機(jī)上實(shí)現(xiàn)用戶定義的精準(zhǔn)測(cè)量服務(wù),需要在FAST UM中開發(fā)專用的分組輸出調(diào)度模塊Hams,以及相關(guān)控制軟件AMS UA。主機(jī)H使用FAST交換機(jī)擴(kuò)展的AMS服務(wù)流程如下。
     (1)控制器上AMS APP配置交換機(jī)的流表規(guī)則,將主機(jī)H與被測(cè)服務(wù)器S之間的測(cè)量報(bào)文(用H和S的地址標(biāo)識(shí),這些信息可通過(guò)離線方式或在線的方式通知控制器上的AMS APP),對(duì)送軟件中的(預(yù)先完成向UA-M注冊(cè),并獲取到MID)AMS UA模塊處理;      
(2)AMS UA將P1和P2兩個(gè)報(bào)文標(biāo)記為測(cè)量報(bào)文對(duì),通過(guò)Matadata1中自定義的字段發(fā)給FAST UM中的Hams模塊,Hams模塊對(duì)輸出調(diào)度器具有最高優(yōu)先級(jí),在收到兩個(gè)報(bào)文后,通過(guò)輸出調(diào)度模塊背靠背發(fā)出,同時(shí)將發(fā)出時(shí)間記錄在Hams模塊中,在虛擬地址空間預(yù)先注冊(cè)的寄存器中,AMS UA通過(guò)輪訓(xùn)讀寫該寄存器,獲得報(bào)文發(fā)出的精確時(shí)間戳。      
(3)P1’和P2’從B端口返回后,根據(jù)流表中的規(guī)則,會(huì)定向到AMS UA處理。AMS UA根據(jù)報(bào)文matadata0可獲取分組到達(dá)的精確時(shí)間戳。      
(4)控制器上AMS APP從南向接口獲取主機(jī)H測(cè)量必須的分組對(duì)精確發(fā)出時(shí)間和響應(yīng)的返回時(shí)間,并提交給主機(jī)H,完成AMS服務(wù)。
6.總結(jié)
      綜上所述,F(xiàn)AST技術(shù)架構(gòu)具有以下特點(diǎn)。一是基于FPGA加多核CPU的異構(gòu)處理平臺(tái)設(shè)計(jì),用戶可以根據(jù)自己的特點(diǎn)通過(guò)軟件編程或硬件編程實(shí)現(xiàn)自己定制的模塊,進(jìn)行交換功能的擴(kuò)充;二是FAST平臺(tái)采用開源結(jié)構(gòu),內(nèi)部分組的處理流程完全可見;三是軟硬件設(shè)計(jì)基于平臺(tái)無(wú)關(guān)接口,不依賴特定的平臺(tái)實(shí)現(xiàn),可移植性好;四是具有完善的軟硬件參考設(shè)計(jì),研究人員可以根據(jù)自己研究的需求定制自己的交換機(jī)。
參考文獻(xiàn)
(1)《FAST UM接口規(guī)范》
(2)《FAST UA設(shè)計(jì)規(guī)范》
(3)《FAST虛擬地址空間設(shè)計(jì)和使用方法》
(4)《FAST.0 硬件設(shè)計(jì)說(shuō)明》
(5)《FAST.0 軟件設(shè)計(jì)說(shuō)明》
(以上文檔整在修訂,即將陸續(xù)發(fā)布。。。)