1.引言
軟件定義網絡(SDN)采用(yòng)控制與轉發分離結構,由于允許網絡擁有者和(hé)運營商對(duì)網絡行爲進行編程而取得巨大(dà)的成功,在工(gōng)業界得到(dào)廣泛認可。各種開(kāi)源項目,如ODL和(hé)ONOS等,在SDN技術發展中扮演重要角色,是推動SDN應用(yòng)的最大(dà)動力。
可編程交換是當前SDN的研究熱點之一。如何實現(xiàn)高(gāo)性能(néng)的openflow流表查表,如何擴展SDN交換平面功能(néng),如何實現(xiàn)對(duì)高(gāo)級語言編程(P4)的支持等在學術界都得到(dào)了(le)廣泛研究。然而與目前存在的大(dà)量開(kāi)源SDN控制器不同,開(kāi)源SDN交換機難以滿足SDN科研與教學的需要。OpenVSwitch功能(néng)全面,但(dàn)全軟件的實現(xiàn)方式難以滿足高(gāo)性能(néng)處理(lǐ)需求;NetFPGA實現(xiàn)了(le)openflow 1.0交換,但(dàn)近年來(lái)很(hěn)難看(kàn)到(dào)後續的發展;國内南京疊锶的ONetSwitch在FPGA上(shàng)實現(xiàn)了(le)完善的SDN交換功能(néng),但(dàn)交換機采用(yòng)FPGA内嵌的處理(lǐ)器,能(néng)力較弱,難以在處理(lǐ)器上(shàng)進行數據路徑處理(lǐ)功能(néng)的擴展。
2011年開(kāi)始,國防科技大(dà)學、北京郵電大(dà)學和(hé)東南大(dà)學等單位相關的課題組基于可編程交換平台NetMagic08進行了(le)SDN實驗平台的開(kāi)發,形成了(le)支持openflow1.0/1.3的SDN交換機。并采用(yòng)多核CPU+FPGA的架構(Netmagic Pro平台),實現(xiàn)了(le)支持SDN數據平面功能(néng)擴展的Labelcast交換機以及軟件定義隧道(dào)交換機(SDTS)等成果。2016年,課題組基于上(shàng)述成果形成FAST(Fpga bAsed Sdn swiTch)開(kāi)源項目,支持國内SDN交換技術的創新研究和(hé)相關的教學工(gōng)作(zuò)。
2. 科研與教學對(duì)開(kāi)源SDN交換機的需求
與在工(gōng)業界應用(yòng)不同,面向科研與教學領域的開(kāi)源項目的目标用(yòng)戶主要是研究機構和(hé)大(dà)學中參與SDN技術研究的老(lǎo)師和(hé)研究生,這(zhè)些(xiē)人員在網絡知(zhī)識儲備、編程水(shuǐ)平、有意投入工(gōng)程實現(xiàn)的時(shí)間等方面具有較大(dà)差異,因此對(duì)開(kāi)源SDN交換項目也(yě)有不同的需求,主要具有以下(xià)特點。
(1)内部交換機内部的實現(xiàn)流程可見
研究人員、老(lǎo)師和(hé)學生可以看(kàn)到(dào)交換機内部詳細的工(gōng)作(zuò)流程,包括硬件對(duì)報(bào)文(wén)的處理(lǐ)波形,交換機内部軟硬件交互的流程,以及交換機通過南向接口與控制器的通信流程。目前的市場采購的SDN交換機無法看(kàn)到(dào)内部工(gōng)作(zuò)流程,對(duì)研究人員來(lái)說是一個典型的“黑盒”,隻能(néng)通過各種配置命令改變交換機的處理(lǐ)行爲,或在開(kāi)源的控制器一側通過抓包軟件觀測交換機的外(wài)部行爲,對(duì)SDN交換技術的研究支持不足。
(2)能(néng)夠在交換機中增加自(zì)己的創新工(gōng)作(zuò)
SDN的創新研究有可能(néng)需要增加一個定制的模塊來(lái)修改硬件處理(lǐ)邏輯,如支持新的分組格式,新的調度算(suàn)法,也(yě)有可能(néng)是通過在硬件邏輯中(或者流表中)設置一個“鈎子”,将指定的流量定向到(dào)CPU,通過編寫軟件代碼實現(xiàn)對(duì)特定流量施加特定處理(lǐ)。目前基于ASIC的商用(yòng)SDN交換機難以支持上(shàng)述功能(néng),新型可編程SDN芯片(如Barefoot支持P4的芯片)尚未成熟,而且也(yě)是無法在硬件處理(lǐ)層次的創新實驗。
(3)需要更好(hǎo)的應用(yòng)和(hé)開(kāi)發支持
由于在教學科研領域的研究人員,特别是研究生,水(shuǐ)平層次不齊。特别電子工(gōng)程專業的可能(néng)擅長硬件設計(jì),計(jì)算(suàn)機專業的可能(néng)擅長軟件編程,以論文(wén)爲目标的研究人員可能(néng)更加注重原理(lǐ)的驗證而不是工(gōng)作(zuò)的穩定性,而部分科研院所希望能(néng)夠穩定可靠的工(gōng)作(zuò),成爲産品的原型。因此研究人員希望能(néng)夠獲得更加專業,甚至是定制的服務。
(4)平台中立,不涉及具體的商業利益
科研教學領域的研究主要是面向關鍵技術的突破和(hé)驗證,以及SDN原理(lǐ)的學習。基本不涉及到(dào)各種商業利益的紛争,因此平台應該具有中立性,不能(néng)依賴特定的平台和(hé)操作(zuò)系統,也(yě)不能(néng)與其他(tā)特定的開(kāi)源項目綁定發展。
因此,100G/40G高(gāo)速接口和(hé)幾十甚至是上(shàng)百個的端口密度不是科研與教學平台的第一需求,内部處理(lǐ)流程可見,平台處理(lǐ)功能(néng)可定制,良好(hǎo)的服務技術支持,以及不帶有商業傾向性的平台設計(jì)才是科研教學領域的最重要需求。
3.FAST的技術路線
3.1 FAST硬件架構
FAST的FPGA設計(jì)主要分爲平台相關邏輯、FAST流水(shuǐ)線模塊庫以及工(gōng)程配置文(wén)件庫三部分,如圖1所示。平台相關邏輯主要是各類用(yòng)于網絡實驗的FPGA平台,如NetMagic08,NetMagic Pro以及NetFPGA等爲了(le)支持FAST交換機需要提供的基本功能(néng),包括物理(lǐ)網絡接口分組的收發,與CPU的通信,訪問闆卡外(wài)圍協處理(lǐ)器(如TCAM)和(hé)存儲器的接口等。
FAST流水(shuǐ)線模塊庫包含了(le)實現(xiàn)SDN交換邏輯的主要功能(néng)模塊,這(zhè)些(xiē)模塊是在前期項目開(kāi)發中積累的,包括協議(yì)分析,關鍵字提取、查表,動作(zuò)(封頭/去頭,令牌桶限速等)、緩沖區(qū)管理(lǐ)和(hé)計(jì)數器等模塊。用(yòng)戶可根據這(zhè)些(xiē)模塊,針對(duì)自(zì)己的需求搭建自(zì)己的SDN轉發流水(shuǐ)線。
工(gōng)程配置文(wén)件庫類似C語言的makefile文(wén)件,用(yòng)戶可使用(yòng)工(gōng)程配置文(wén)件指定FPGA選用(yòng)的平台,将平台相關邏輯以及FAST流水(shuǐ)線多個模塊組成一個工(gōng)程。由于在FAST流水(shuǐ)線模塊設計(jì)中依賴一些(xiē)器件相關的宏(如基于Altera Quartus II工(gōng)具生成的FIFO、PLL等實例),因此目前工(gōng)程配置庫隻支持基于Altera FPGA的可編程闆卡。
FAST UM規範定義了(le)平台相關邏輯與FAST交換邏輯的接口,詳細見《FAST UM接口規範》。基于FAST UM規範設計(jì)的SDN轉發邏輯可以方便的在不同的,支持FSAT 的FPGA平台上(shàng)移植。例如SDN轉發邏輯可以在相對(duì)簡單的NetMagic08平台上(shàng)調試,完成後再移植到(dào)NetMagic Pro平台。
圖1 FAST項目的硬件架構
FAST軟件由4部分組成,包括平台相關通信庫,核心管理(lǐ)軟件,轉發面擴展軟件以及配置管理(lǐ)軟件。其中平台無關的核心管理(lǐ)軟件,轉發面擴展軟件以及配置管理(lǐ)軟件都是FAST用(yòng)戶可以修改的,統稱爲UA(User Application)。
平台相關通信庫實現(xiàn)CPU軟件與交換FPGA的通信,根據FPGA平台的不同,會(huì)采用(yòng)不同的通信方式,例如與NetMagic08平台采用(yòng)以太網方式進行通信,對(duì)于NetMagic Pro平台、NetFPGA平台則采用(yòng)PCIe總線通信的方式。但(dàn)平台相關軟件與FPGA不同的通信方式對(duì)上(shàng)層軟件(核心管理(lǐ)軟件、轉發面功能(néng)擴展軟件等)是透明(míng)的。即FAST項目定義了(le)平台相關通信庫對(duì)上(shàng)層接口的規範,詳見《FAST UA設計(jì)規範》。基于該規範開(kāi)發的上(shàng)層軟件可不考慮下(xià)層的具體通信方式。
圖2 FAST項目的軟件架構
核心管理(lǐ)軟件主要是SDN交換機數據平面中由CPU軟件實現(xiàn)的基本功能(néng),包括各種表管理(lǐ)軟件,硬件相關的驅動和(hé)管理(lǐ)軟件以及軟硬件協同處理(lǐ)中的軟件功能(néng)實現(xiàn)部分。各部分主要功能(néng)如下(xià)。
(1)表管理(lǐ)軟件:負責所有控制器配置表格的維護,控制器flowmod命令對(duì)交換機表操作(zuò)的命令主要由核心管理(lǐ)軟件響應和(hé)實現(xiàn)。
(2)算(suàn)法相關軟件:是對(duì)硬件平台的驅動。例如NetMagic Pro平台硬件采用(yòng)TCAM實現(xiàn)帶掩碼的查表,而NetMagic08平台采用(yòng)SBV算(suàn)法實現(xiàn)288位帶掩碼的查表。算(suàn)法相關軟件需要根據表管理(lǐ)軟件要求,根據平台相關的算(suàn)法實現(xiàn)特點,實現(xiàn)對(duì)硬件中流表的管理(lǐ)。
(3)統計(jì)管理(lǐ)軟件:例如實現(xiàn)SDN交換機計(jì)數器的管理(lǐ),将硬件實現(xiàn)的計(jì)數器(如流表項匹配分組數目計(jì)數器、端口接收計(jì)數器)和(hé)軟件實現(xiàn)的計(jì)數器(流表項存活時(shí)間)進行統一的管理(lǐ)。又如數據平面實現(xiàn)的令牌桶參數、輸出調度器配置的參數計(jì)算(suàn)等。
配置管理(lǐ)軟件主要實現(xiàn)SDN交換機的外(wài)部配置管理(lǐ)接口,包括SDN交換機需要的南向接口協議(yì),如openflow協,以及本地的配置管理(lǐ)界面等。
4.基于FAST架構的用(yòng)戶開(kāi)發
FAST是面向教學科研的開(kāi)源項目,必須爲網絡技術研究和(hé)教學提供簡單的第三方開(kāi)發接口。根據不同科研單位的不同需求,這(zhè)些(xiē)開(kāi)發接口分爲多個層次。用(yòng)戶可以選擇全定制功能(néng)開(kāi)發模式,即基于平台提供的FPGA開(kāi)發接口(UM接口)和(hé)軟件開(kāi)發接口(UA接口)開(kāi)發自(zì)己的功能(néng),優點是可以全新打造自(zì)己的功能(néng),效率高(gāo),但(dàn)難度較大(dà),周期長,對(duì)開(kāi)發人員的要求較高(gāo)。FAST社區(qū)不推薦用(yòng)戶采用(yòng)全定制功能(néng)開(kāi)發的模式,而推薦采用(yòng)用(yòng)戶定義功能(néng)模塊開(kāi)發模式。
用(yòng)戶可借鑒已有的FAST軟硬件架構和(hé)已有成熟的功能(néng)模塊,隻增加與自(zì)己應用(yòng)相關的模塊,優點是開(kāi)發時(shí)間短,對(duì)人員要求較低(dī),而且可以得到(dào)FAST社區(qū)最大(dà)程度的技術支持。用(yòng)戶可選擇隻開(kāi)發自(zì)定義的硬件功能(néng)模塊,或自(zì)定義的軟件功能(néng)模塊,或者同時(shí)開(kāi)發硬件和(hé)軟件模塊,實現(xiàn)特定網絡功能(néng)的協同處理(lǐ),FAST用(yòng)戶定義模塊開(kāi)發示意如圖3所示。
4.1 硬件UM開(kāi)發
FAST社區(qū)已經開(kāi)發了(le)可工(gōng)作(zuò)的SDN轉發的流水(shuǐ)線demo程序,如圖3所示。主要包含協議(yì)分析(Parser)、查表(match)以及動作(zuò)執行(match)等階段。用(yòng)戶可以在現(xiàn)有基礎上(shàng)增加自(zì)己的模塊,如對(duì)新協議(yì)的parser模塊(P4),新的動作(zuò)執行模塊(H4)等,而不需修改其他(tā)部分。FAST UM規範定義了(le)5個接口,分别是A(從(cóng)物理(lǐ)端口接收報(bào)文(wén))、B(向物理(lǐ)接口發送報(bào)文(wén))、C(将報(bào)文(wén)送軟件處理(lǐ))、D(從(cóng)軟件接收報(bào)文(wén))和(hé)E(軟件對(duì)硬件的配置接口)。
用(yòng)戶開(kāi)發的硬件模塊如果需要軟件管理(lǐ)配置,隻要将需要管理(lǐ)配置的寄存器、計(jì)數器和(hé)控制表等預先映射到(dào)虛拟地址空(kōng)間中,軟件UA按照虛拟空(kōng)間的地址,通過平台提供的API可以直接訪問到(dào)這(zhè)些(xiē)資源。虛拟地址空(kōng)間的原理(lǐ)見《FAST虛拟地址空(kōng)間設計(jì)和(hé)使用(yòng)方法》。
4.2軟件UA開(kāi)發
用(yòng)戶可在CPU的用(yòng)戶空(kōng)間進行定制模塊的開(kāi)發。用(yòng)戶程序通過平台提供的接口接收和(hé)發送數據包, 在每個數據包之前會(huì)攜帶32個字節的metadata,Metadata的定義和(hé)使用(yòng)詳見4.3節。
軟件模塊的開(kāi)發主要遵循FAST UA規範中定義的F(接收Matadata和(hé)分組的接口)、G(發送Matadata和(hé)分組的接口)和(hé)H(向系統注冊用(yòng)戶定義功能(néng)模塊的接口,獲取自(zì)己的MID号等),并将需要管理(lǐ)的硬件模塊的資源在虛拟地址空(kōng)間中定義。
根據圖2中的軟件架構,用(yòng)戶定義的模塊位于SDN交換機數據平面,因此一方面可實現(xiàn)對(duì)L2-L3功能(néng)的軟硬件協同處理(lǐ),例如對(duì)新性網絡協議(yì)的解析,另一方面也(yě)可實現(xiàn)數據平面對(duì)L4-L7處理(lǐ)功能(néng)的擴展,如擴展有狀态防火牆功能(néng),擴展對(duì)指定流的DPI功能(néng)等。
圖3 用(yòng)戶定義功能(néng)模塊開(kāi)發原理(lǐ)示意圖
(a)用(yòng)戶模塊的工(gōng)作(zuò)原理(lǐ)(b)軟硬件模塊通信攜帶的metadata格式
4.3軟硬件協同處理(lǐ)機制
FAST通過兩種機制實現(xiàn)軟硬件處理(lǐ)的協同。一是将軟硬件處理(lǐ)模塊統一編址,爲每個action模塊分配統一的MID(Module ID)。例如圖3(a)中三個硬件action模塊(H1、H2和(hé)H3)和(hé)一個軟件功能(néng)模塊(S1)都會(huì)分配一個唯一的MID。流表可以按照匹配結果将一個報(bào)文(wén)顯示的分派到(dào)指定的軟件或者硬件功能(néng)模塊。二是軟硬件分組通信時(shí)同時(shí)攜帶32字節的metadata。Metadata的定義如圖3(b)所示。
FAST規範顯式定義了(le)Matadata的前16字節(Metadata0),如表1所示。通過Matadata,FPGA UM可将報(bào)文(wén)接收的端口、長度、接收的精确時(shí)間和(hé)序列号,以及發出的硬件模塊,目的軟件模塊等信息送給軟件,平台相關軟件根據DMID信息将其送給指定的用(yòng)戶UA程序。用(yòng)戶UA程序處理(lǐ)完分組後,又可通過Metadata信息将其送給指定的硬件模塊,也(yě)可直接指定目的輸出接口(輸出調度器也(yě)通過DMID指定)。
FAST沒有對(duì)Matadata的後16字節(Metadata1)進行定義。當SMID和(hé)DMID都是用(yòng)戶自(zì)己設計(jì)時(shí),可以自(zì)行約定Metadata1的含義,平台相關硬件和(hé)軟件不對(duì)Metadata1進行任何檢查和(hé)修改。
4.4 FAST.0參考設計(jì)
目前基于圖1和(hé)圖2的硬件和(hé)軟件架構,以及圖3的軟硬件協同模型,國防科大(dà)課題組已經開(kāi)發了(le)支持openflow1.3的交換機原型FAST.0。FAST.0運行在NetMagic Pro平台,實現(xiàn)了(le)與floodlight控制器的互聯互通,以及标準的二層轉發功能(néng)。
在FPGA硬件方面,FAST.0支持以太網/IPv4分組的解析,L2-L4層關鍵字的提取,以及基于比特向量算(suàn)法(BV)的288位帶掩碼的規則匹配功能(néng);在CPU軟件方面,支持BV算(suàn)法的管理(lǐ),通用(yòng)流表管理(lǐ),标準的openflow 1.3的接口軟件等。FAST.0軟硬件代碼已經完全開(kāi)源,可作(zuò)爲用(yòng)戶基于FAST架構進行定制開(kāi)發的基礎。
5.基于FAST的創新研究示例
目前FAST項目基于NetMagic Pro等多個平台已經有支持openflow1.3的标準SDN交換機原型。基于這(zhè)個原型,用(yòng)戶可以進一步增加自(zì)己的許多功能(néng)。本節通過兩個例子說明(míng)基于FAST項目進行SDN交換機功能(néng)擴展研究的方法和(hé)流程。
在5.1的基于内容的轉發機制ICN-X實現(xiàn)中,用(yòng)戶隻需進行相關用(yòng)戶态軟件開(kāi)發,不需任何硬件編程;5.2實現(xiàn)的精準測量服務AMS(Accurate Measurement Service)中,需要分别設計(jì)軟件和(hé)硬件模塊,實現(xiàn)精确分組發送時(shí)刻控制以及時(shí)間戳标記。
5.1支持基于内容的轉發機制(ICN-X)
用(yòng)戶可在FAST交換機上(shàng)實現(xiàn)内容中心的轉發機制ICN-X。這(zhè)種機制在網絡中可以與IPv4,IPv6轉發機制共存。在FAST交換機上(shàng)實現(xiàn)ICN-X轉發機制的方法如下(xià)。
(1)将以太網type/length設置爲“X”,用(yòng)于指代上(shàng)層協議(yì)爲ICN-X;交換機可根據該域的值區(qū)别以太網幀封裝的上(shàng)層協議(yì)分組爲IPv4,IPv6,ARP、MPLS或是ICN-X。
(2)在用(yòng)戶空(kōng)間開(kāi)發ICN-X協議(yì)轉發軟件ICN-X UA,ICN-X UA實現(xiàn)ICN-X的分組轉發控制,ICN-X機制的路由和(hé)其他(tā)管理(lǐ)分組可通過ICN-X UA重新定向成Packet-in分組,發給控制器上(shàng)相關的應用(yòng)處理(lǐ)。
(3)ICN-A UA啓動時(shí)向UA管理(lǐ)器(UA-M)注冊,注冊信息包括:
ICN-X UA的模塊版本号/開(kāi)發者信息;
ICN-X UA中需要控制器管理(lǐ)的流表(如由控制器APP計(jì)算(suàn)的轉發表等);
(4)UA-M給ICN-X UA分配唯一的模塊号MID=Y;
(5)SDN控制器(應用(yòng))通過南向接口或其他(tā)方式獲取ICN-X UA的模塊号Y,以及需要通過FlowMod消息管理(lǐ)的流表信息;
(6)控制器(應用(yòng))根據Packet-in消息計(jì)算(suàn)ICN-UA中轉發規則,并通過flowMod消息配置這(zhè)些(xiē)規則;
(7)控制器(應用(yòng))産生并配置UM流表中的“鈎子規則”,如:
Rule =“Type/length=X”,“other field= don’t care”
Atcion = Goto Module Y
經過上(shàng)述步驟,用(yòng)戶定制的FAST交換機就可以在正常進行IP分組交換的同時(shí),支持新的ICN-X交換機制了(le)。ICN-X UA完成分組轉發和(hé)二層封裝後,直接将分組發送回FAST UM,同時(shí)在metadata中設置輸出端口号以及輸出調度器的MID。該分組會(huì)通過平台相關的軟件和(hé)硬件送到(dào)UM的輸出調度模塊,不經修改的從(cóng)相應的物理(lǐ)接口發出。
5.2支持精準測量服務(AMS)
主動測量是獲取網絡狀态的有效手段。例如利用(yòng)香港理(lǐ)工(gōng)大(dà)學提出的oneProbe測試方法,通過在用(yòng)戶網中向分布在全球的web服務器發送背靠背的TCP分組對(duì)(packet pair),通過計(jì)算(suàn)服務器對(duì)分組對(duì)得響應情況,精确的推斷出用(yòng)戶主機到(dào)分布在全球的互聯網服務器之間的帶寬和(hé)延時(shí)情況,從(cóng)而進一步推斷廣域網的鏈路特性。
這(zhè)種測試的精确性取決于能(néng)否控制分組對(duì)真正的背靠背發送(中間沒有插入延時(shí)),能(néng)否精确的獲取分組對(duì)發出以及返回的時(shí)間戳。由于基于标準服務器的實現(xiàn)存在測量進程收到(dào)内核調度,中斷處理(lǐ)以及系統時(shí)鐘(zhōng)不精确等特點,很(hěn)難保證測量的精确性,因此測量必須借助專用(yòng)的,昂貴的可編程網卡實現(xiàn),而且發送進程與網卡之間的時(shí)間和(hé)狀态同步控制也(yě)比較複雜(zá)。
通過對(duì)部署在用(yòng)戶網絡中的FAST交換機進行擴充,可以在交換機上(shàng)方便的提供對(duì)精确的主動測量的支持。設發起測量的主機H連接FAST交換機端口A,連接被測網絡的是FAST交換機的接口B,基本測量的流程爲:測量主機H通過FAST接口A發送兩個背靠背的TCP分組P1和(hé)P2,這(zhè)兩個分組經過交換機轉發後從(cóng)端口B發向被測網絡;被測網絡通過接口B返回對(duì)這(zhè)兩個分組的響應P1’和(hé)P2’,交換機将這(zhè)兩個分組通過接口A返回測試主機H。
通過對(duì)FAST交換機功能(néng)擴展,提供的精準測量服務包括:(1)交換機嚴格控制P1和(hé)P2從(cóng)接口B背靠背發出,中間不插入任何延時(shí);(2)交換機能(néng)夠精确記錄B口發出P1和(hé)P2,以及接收P1’和(hé)P2’的時(shí)間戳;(3)FAST交換機将時(shí)間戳信息通告給測試主機H。
要在FAST交換機上(shàng)實現(xiàn)用(yòng)戶定義的精準測量服務,需要在FAST UM中開(kāi)發專用(yòng)的分組輸出調度模塊Hams,以及相關控制軟件AMS UA。主機H使用(yòng)FAST交換機擴展的AMS服務流程如下(xià)。
(1)控制器上(shàng)AMS APP配置交換機的流表規則,将主機H與被測服務器S之間的測量報(bào)文(wén)(用(yòng)H和(hé)S的地址标識,這(zhè)些(xiē)信息可通過離線方式或在線的方式通知(zhī)控制器上(shàng)的AMS APP),對(duì)送軟件中的(預先完成向UA-M注冊,并獲取到(dào)MID)AMS UA模塊處理(lǐ);
(2)AMS UA将P1和(hé)P2兩個報(bào)文(wén)标記爲測量報(bào)文(wén)對(duì),通過Matadata1中自(zì)定義的字段發給FAST UM中的Hams模塊,Hams模塊對(duì)輸出調度器具有最高(gāo)優先級,在收到(dào)兩個報(bào)文(wén)後,通過輸出調度模塊背靠背發出,同時(shí)将發出時(shí)間記錄在Hams模塊中,在虛拟地址空(kōng)間預先注冊的寄存器中,AMS UA通過輪訓讀寫該寄存器,獲得報(bào)文(wén)發出的精确時(shí)間戳。
(3)P1’和(hé)P2’從(cóng)B端口返回後,根據流表中的規則,會(huì)定向到(dào)AMS UA處理(lǐ)。AMS UA根據報(bào)文(wén)matadata0可獲取分組到(dào)達的精确時(shí)間戳。
(4)控制器上(shàng)AMS APP從(cóng)南向接口獲取主機H測量必須的分組對(duì)精确發出時(shí)間和(hé)響應的返回時(shí)間,并提交給主機H,完成AMS服務。
6.總結
綜上(shàng)所述,FAST技術架構具有以下(xià)特點。一是基于FPGA加多核CPU的異構處理(lǐ)平台設計(jì),用(yòng)戶可以根據自(zì)己的特點通過軟件編程或硬件編程實現(xiàn)自(zì)己定制的模塊,進行交換功能(néng)的擴充;二是FAST平台采用(yòng)開(kāi)源結構,内部分組的處理(lǐ)流程完全可見;三是軟硬件設計(jì)基于平台無關接口,不依賴特定的平台實現(xiàn),可移植性好(hǎo);四是具有完善的軟硬件參考設計(jì),研究人員可以根據自(zì)己研究的需求定制自(zì)己的交換機。
參考文(wén)獻
(1)《FAST UM接口規範》
(2)《FAST UA設計(jì)規範》
(3)《FAST虛拟地址空(kōng)間設計(jì)和(hé)使用(yòng)方法》
(4)《FAST.0 硬件設計(jì)說明(míng)》
(5)《FAST.0 軟件設計(jì)說明(míng)》
(以上(shàng)文(wén)檔整在修訂,即将陸續發布。。。)