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

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

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

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