張 棟,徐任暉,喬廬峰,續(xù) 欣,魯銘洋
(中國人民解放軍陸軍工程大學(xué),江蘇 南京 210007)
無人機(jī)集群的發(fā)展越來越迅速,應(yīng)用范圍不斷擴(kuò)展。當(dāng)無人機(jī)集群應(yīng)用于戰(zhàn)場環(huán)境時(shí),其對(duì)載荷業(yè)務(wù)數(shù)據(jù)和控制數(shù)據(jù)傳輸有很高的要求。如圖1 所示,無人機(jī)集群戰(zhàn)場環(huán)境包括無線通信、衛(wèi)星通信、延遲容忍網(wǎng)絡(luò)等多種通信方式;包括陸地、海上、空中、指揮所等多個(gè)作戰(zhàn)單元。多種通信手段需要互聯(lián)互通,多個(gè)協(xié)議之間需要彼此協(xié)調(diào)。網(wǎng)絡(luò)拓?fù)涫冀K處于變化之中。由于無人機(jī)集群是一種由具有移動(dòng)性的無線設(shè)備組成的網(wǎng)絡(luò),拓?fù)涫冀K處于頻繁變化的狀態(tài),因此無人機(jī)集群需要這樣一個(gè)軟件架構(gòu),使集群能夠自主根據(jù)感知情況計(jì)算行動(dòng)資源,動(dòng)態(tài)完成感知、決策、實(shí)施等一系列任務(wù)。無人機(jī)集群在向分布式、大規(guī)模、智能自治方向發(fā)展,重點(diǎn)需要集群自治、人機(jī)組隊(duì)、集群感知、集群組網(wǎng)和集群智能[1]這5 種能力。此外,為了有效應(yīng)對(duì)軍事任務(wù)需求,無人機(jī)集群還要能夠克服固定架構(gòu)網(wǎng)絡(luò)的不足,適應(yīng)戰(zhàn)場未知多變環(huán)境,因而需要一個(gè)開放、可動(dòng)態(tài)調(diào)整的網(wǎng)絡(luò)架構(gòu)。
圖1 無人機(jī)集群戰(zhàn)場要素
軟件定義網(wǎng)絡(luò)(Soft Design Network,SDN)具有網(wǎng)絡(luò)可編程、業(yè)務(wù)調(diào)度靈活、開放性好、成本低的特點(diǎn),因此基于SDN 架構(gòu)的無人機(jī)網(wǎng)絡(luò)研究日益得到重視。軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)由美國斯坦福大學(xué)Clean Slate 研究組提出[2],具體如圖2 所示。SDN 設(shè)計(jì)初衷是為了使硬件標(biāo)準(zhǔn)化,用軟件對(duì)所有的設(shè)備進(jìn)行統(tǒng)一控制。通過編程實(shí)現(xiàn)對(duì)硬件數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則的控制,從而達(dá)到對(duì)流量進(jìn)行自由操控的目的。
圖2 SDN 體系結(jié)構(gòu)
現(xiàn)今SDN 主要應(yīng)用于數(shù)據(jù)中心業(yè)務(wù)。SDN 技術(shù)能很好地契合數(shù)據(jù)中心網(wǎng)絡(luò)的集中網(wǎng)絡(luò)管理、虛擬機(jī)部署和智能遷移、靈活組網(wǎng)多路徑轉(zhuǎn)發(fā)、虛擬多租戶、云計(jì)算基礎(chǔ)設(shè)施服務(wù)(Infrastructure as a Service,IaaS)等方面的需求,非常適合在數(shù)據(jù)中心網(wǎng)絡(luò)中應(yīng)用。SDN 處理大容量數(shù)據(jù)時(shí),其資源管控、隊(duì)列調(diào)度能力比較強(qiáng),對(duì)功耗不敏感[3]。SDN應(yīng)用于數(shù)據(jù)中心時(shí),僅用于處理2 層交換或3 層交換,不能滿足多層交換的需求。如圖3 所示為典型無人機(jī)集群網(wǎng)絡(luò),圖中共有3 個(gè)無人機(jī)網(wǎng)絡(luò),每個(gè)無人機(jī)網(wǎng)絡(luò)都有一個(gè)負(fù)責(zé)人master,master 具有組織協(xié)調(diào)功能,負(fù)責(zé)協(xié)調(diào)各項(xiàng)資源。集群中任何一個(gè)無人機(jī)都可以充當(dāng)master。無人機(jī)之間、無人機(jī)集群之間可能采用不同的網(wǎng)絡(luò)協(xié)議手段。例如,無人機(jī)集群之間采用的是延遲容忍網(wǎng)絡(luò)(Delay Tolerance Network,DTN)協(xié)議,集群內(nèi)無人機(jī)之間采用無線傳輸控制協(xié)議(Transmission Control Protocol,TCP)等協(xié)議。
圖3 無人機(jī)蜂群
綜上,SDN 應(yīng)用于無人機(jī)網(wǎng)絡(luò)需要滿足以下需求:(1)小型化、低功耗、集成度高;(2)滿足大容量數(shù)據(jù)交換需求;(3)要具有服務(wù)質(zhì)量(Quality of Service,QoS)保證能力。
傳統(tǒng)流表功耗較高,硬件資源消耗較大。查找時(shí),傳統(tǒng)流表采用片內(nèi)查找的方法,片內(nèi)資源較少,表項(xiàng)數(shù)量不可能做得太大。因此亟須一種新的算法統(tǒng)一設(shè)計(jì)流表和規(guī)則表,功耗較低,并且能夠處理大容量數(shù)據(jù)。
本文設(shè)計(jì)一種流表算法,采用多級(jí)流表查找方式。每一級(jí)流表關(guān)注不同的字段。根據(jù)實(shí)際應(yīng)用需求,靈活組合形成不同級(jí)的流表。流表級(jí)數(shù)越高,查找優(yōu)先級(jí)越高。例如,最高級(jí)的流表關(guān)注源IP地址、目的IP 地址、源端口號(hào)、目的端口號(hào)、服務(wù)類型字段,次一級(jí)流表關(guān)注源IP 地址、目的IP地址和服務(wù)類型字段,最低一級(jí)流表關(guān)注源IP地址、目的IP 地址。將規(guī)則表和流表統(tǒng)一設(shè)計(jì),降低資源消耗,同時(shí)兼顧靈活性、功耗、查找速度,使其達(dá)到平衡狀態(tài),更加適用于大容量查詢的場景。
Open Flow 是開放網(wǎng)絡(luò)基金會(huì)(Open Network Foundation,ONF)給出的SDN 架構(gòu)中的首個(gè)標(biāo)準(zhǔn)協(xié)議,用于定義控制器和轉(zhuǎn)發(fā)設(shè)備之間的接口。Open Flow 協(xié)議將網(wǎng)絡(luò)設(shè)備的控制層面和數(shù)據(jù)層面解耦合實(shí)現(xiàn)網(wǎng)絡(luò)流量的控制和管理,現(xiàn)已成為SDN最重要的南向接口標(biāo)準(zhǔn)。自從2009 年12 月發(fā)布第一個(gè)版本以來,Open Flow 協(xié)議已經(jīng)有多個(gè)版本發(fā)布,2014 年8 月發(fā)布最新的1.5 版本。交換機(jī)通過Open Flow 協(xié)議與控制器進(jìn)行通信,控制器使用Open Flow 協(xié)議下發(fā)指令給網(wǎng)絡(luò)設(shè)備,它可以添加、更新和刪除網(wǎng)絡(luò)設(shè)備中流表的表項(xiàng)。交換機(jī)通過解析數(shù)據(jù)包匹配流表中的特定字段,執(zhí)行控制器下發(fā)的后續(xù)操作指令。Open Flow 使用流水線來完成包的匹配工作。在Open Flow v1.0 版本中,還未提出多級(jí)流表的概念,整個(gè)交換機(jī)都只使用一個(gè)流表,包含非常多的流表項(xiàng),每一個(gè)流表項(xiàng)的字段均為全匹配域。在后續(xù)的版本中才出現(xiàn)了多級(jí)流表的概念。
Open Flow v1.1 版本協(xié)議中規(guī)定多級(jí)流表。許多硬件廠商受到自己設(shè)備原始設(shè)計(jì)的限制,很難提供足夠的支持,目前普遍支持的只有能力受限的兩級(jí)流表,靈活性低。此外,傳統(tǒng)的網(wǎng)絡(luò)協(xié)議字段大多是5 元組(源IP 地址、目的IP 地址、源端口號(hào)、目的端口號(hào)、網(wǎng)絡(luò)協(xié)議),而Open Flow 協(xié)議包含更多的協(xié)議字段,如圖4 所示,在Open Flow v1.1版本中就包含有數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層在內(nèi)的12 個(gè)協(xié)議字段。為了在數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)提供更豐富、更靈活的規(guī)則,Open Flow v1.5 版本協(xié)議包含的字段數(shù)量已達(dá)40 多個(gè)[4]。這些字段數(shù)量多、長度不等、匹配方式不同,導(dǎo)致數(shù)據(jù)包的轉(zhuǎn)發(fā)速度和存儲(chǔ)效率下降。數(shù)據(jù)包的轉(zhuǎn)發(fā)速度決定著Open Flow 交換機(jī)的吞吐能力。數(shù)據(jù)包轉(zhuǎn)發(fā)速度和存儲(chǔ)效率的降低已經(jīng)成為Open Flow 交換機(jī)提高轉(zhuǎn)發(fā)性能的瓶頸,因此,設(shè)計(jì)一個(gè)高效的流表匹配算法對(duì)SDN 的發(fā)展至關(guān)重要。
圖4 Open Flow 協(xié)議包頭流表項(xiàng)
SDN 交換機(jī)和傳統(tǒng)交換機(jī)本質(zhì)上都是根據(jù)規(guī)則將接收到的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),區(qū)別在于遵循的規(guī)則標(biāo)準(zhǔn)不同。傳統(tǒng)交換機(jī)得到網(wǎng)絡(luò)數(shù)據(jù)后,要對(duì)數(shù)據(jù)包進(jìn)行解析,之后進(jìn)行鏈路發(fā)現(xiàn)、地址學(xué)習(xí)、路由建立、協(xié)議控制等一系列步驟,再?zèng)Q定數(shù)據(jù)轉(zhuǎn)發(fā)的端口,這大大降低了傳統(tǒng)交換機(jī)的工作效率。SDN 交換機(jī)將傳統(tǒng)交換機(jī)需要完成的復(fù)雜的邏輯控制和計(jì)算交給控制端完成,交換機(jī)只需要執(zhí)行控制端下發(fā)的指令就可以完成轉(zhuǎn)發(fā)。
本文設(shè)計(jì)的SDN 交換機(jī)結(jié)構(gòu)如圖5 所示,是基于Xlinx ZYNQ-7100系列開發(fā)板(Field Programmable Gate Array,F(xiàn)PGA)實(shí)現(xiàn)整體架構(gòu)。片內(nèi)包括處理系統(tǒng)(Processing System,PS)側(cè)的處理器平臺(tái)、可編程邏輯(Programmable Logic,PL)側(cè)的邏輯部分。處理器平臺(tái)和邏輯部分通過高級(jí)可擴(kuò)展接口(Advanced eXtensible Interface,AXI)與總線連接。片外為雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate SDRAM,DDR)和Flash 等存儲(chǔ)載體。邏輯部分包括以太網(wǎng)MAC 控制器接收模塊MAC_RX、以太網(wǎng)MAC 控制器發(fā)送模塊MAC_TX、交換單元、轉(zhuǎn)發(fā)表(流表)、分組處理單元、輸出隊(duì)列管理器、DTN 消息處理引擎和TCP 引擎等。轉(zhuǎn)發(fā)表通過分組處理單元與交換單元連接。交換單元有一端口,與DTN 消息處理引擎和TCP 引擎連接。DTN 消息處理引擎通過DDR 接口電路與片外DDR3 存儲(chǔ)連接。片外各有一塊DDR3 存儲(chǔ)和Flash 存儲(chǔ),作為處理器平臺(tái)工作的內(nèi)存和閃存。
圖5 SDN 交換機(jī)硬件結(jié)構(gòu)設(shè)計(jì)
MAC 接收控制器接收上一節(jié)點(diǎn)傳來的數(shù)據(jù),并將數(shù)據(jù)傳遞給后級(jí)分組處理單元。分組處理單元將數(shù)據(jù)幀頭中的關(guān)鍵信息,如源IP、目的IP、源端口、目的端口、服務(wù)類型等抽取出來,并將這些關(guān)鍵信息傳入轉(zhuǎn)發(fā)表(流表)。轉(zhuǎn)發(fā)表(流表)收到這些信息后根據(jù)優(yōu)先級(jí)匹配相應(yīng)的流表項(xiàng)。如果匹配成功,則將查找結(jié)果返回給分組處理單元;如果未匹配成功,則將傳入的信息丟棄。分組處理單元接收到查找結(jié)果后,根據(jù)結(jié)果中的輸出端口映射位圖、數(shù)據(jù)幀長度及轉(zhuǎn)發(fā)優(yōu)先級(jí)等信息形成該數(shù)據(jù)幀的本地頭,后由交換單元轉(zhuǎn)發(fā)至相應(yīng)的端口。
轉(zhuǎn)發(fā)表(流表)是SDN 交換機(jī)的核心單元。轉(zhuǎn)發(fā)表(流表)應(yīng)滿足以下條件:(1)添加表項(xiàng)時(shí),表項(xiàng)信息中帶有優(yōu)先級(jí);(2)優(yōu)先級(jí)可以根據(jù)業(yè)務(wù)需求靈活配置;(3)查找表項(xiàng)時(shí),從優(yōu)先級(jí)最高的表項(xiàng)到優(yōu)先級(jí)最低的表項(xiàng)依次查找;(4)采取多級(jí)流表查找的方式;(5)考慮使用靜態(tài)隨機(jī)存儲(chǔ)器(Static Random Access Memory,SRAM)實(shí)現(xiàn)查表結(jié)構(gòu),降低資源消耗,更加適用于大容量查詢的場景。
為滿足以上條件,設(shè)計(jì)以下算法實(shí)現(xiàn)功能。首先采用算法1 實(shí)現(xiàn)表項(xiàng)的添加。
算法2 描述了流表表項(xiàng)刪除的過程。刪除流表表項(xiàng)時(shí),首先根據(jù)需要?jiǎng)h除的關(guān)鍵字clear_key 搜索四桶哈希電路中關(guān)鍵字的key 值。若能搜索到,則刪除key 所對(duì)應(yīng)的表項(xiàng);若不能搜索到,則返回未搜索到信號(hào)clear_nak。
算法3 描述了表項(xiàng)查找的過程。查找表項(xiàng)時(shí),首先提取出關(guān)鍵信息;其次根據(jù)關(guān)鍵信息,按照優(yōu)先級(jí)由高到低的順序依次匹配表項(xiàng)。如果匹配成功,則輸出查找結(jié)果;如果并未匹配成功,則繼續(xù)查找下一優(yōu)先級(jí)的表項(xiàng);如果到最低一級(jí)優(yōu)先級(jí)仍未匹配成功,則輸出查找結(jié)果為全0。
流表項(xiàng)的存儲(chǔ)與查找采用四桶哈希查找電路。哈希查找電路的工作原理是利用哈希函數(shù)建立關(guān)鍵字到哈希表地址空間的映射,將關(guān)鍵字進(jìn)行哈希散列運(yùn)算得到哈希值(Hash),并將哈希值作為存儲(chǔ)地址來存儲(chǔ)表項(xiàng)。這種映射是一種壓縮映射,不同的關(guān)鍵字可能會(huì)產(chǎn)生相同的Hash,從而導(dǎo)致沖突。為了盡可能減少哈希沖突,可以采用哈希多桶技術(shù),這里采用四桶哈希表結(jié)構(gòu)[5]。
四桶哈希技術(shù)通過增大哈希表的位寬,使得一個(gè)Hash 對(duì)應(yīng)的存儲(chǔ)空間中可以同時(shí)存儲(chǔ)4 個(gè)關(guān)鍵字及其對(duì)應(yīng)的結(jié)果信息,從而減少哈希沖突。本設(shè)計(jì)中的哈希查找電路的關(guān)鍵字是目的IP 地址、源IP 地址、源端口、目的端口、服務(wù)類型等從幀頭中提取的關(guān)鍵信息。本設(shè)計(jì)中,關(guān)鍵字可以根據(jù)業(yè)務(wù)需要靈活配置,只要關(guān)鍵字位數(shù)小于或等于128 位即可。輸出結(jié)果是流號(hào)(flow_id)、輸出端口映射位圖、源MAC、目的MAC 等。同樣的,輸出結(jié)果在寫入時(shí)也可以根據(jù)業(yè)務(wù)需要靈活配置,只需要輸出結(jié)果位數(shù)小于或等于144 位即可。
哈希查找電路實(shí)現(xiàn)的功能有表項(xiàng)添加操作、表項(xiàng)刪除操作和表項(xiàng)查找操作。表項(xiàng)添加操作是在Hash 對(duì)應(yīng)的存儲(chǔ)中寫入流表項(xiàng)。哈希查找電路添加表項(xiàng)時(shí),利用哈希函數(shù)計(jì)算關(guān)鍵字key 得到Hash,以Hash 為地址將關(guān)鍵字key 及其對(duì)應(yīng)的result 寫入,完成表項(xiàng)添加操作。哈希查找電路查找表項(xiàng)時(shí),根據(jù)關(guān)鍵字key 值計(jì)算出Hash 值,通過Hash 值讀取4 個(gè)哈希桶中對(duì)應(yīng)的表項(xiàng)。表項(xiàng)匹配成功,得到相應(yīng)的查找結(jié)果result。哈希查找電路進(jìn)行刪除操作時(shí),根據(jù)關(guān)鍵字key 得到Hash 讀取4 個(gè)哈希桶中對(duì)應(yīng)的表項(xiàng),將該表項(xiàng)全部清零,完成表項(xiàng)刪除操作。
整個(gè)轉(zhuǎn)發(fā)電路中,優(yōu)先級(jí)劃分的標(biāo)準(zhǔn)是一個(gè)關(guān)鍵問題。當(dāng)優(yōu)先級(jí)劃分的標(biāo)準(zhǔn)確定后,才能明確各個(gè)表項(xiàng)的優(yōu)先級(jí)。優(yōu)先級(jí)的劃分應(yīng)該滿足以下條件:(1)添加表項(xiàng)時(shí)應(yīng)該帶入優(yōu)先級(jí);(2)表項(xiàng)查找時(shí),可能會(huì)產(chǎn)生多個(gè)結(jié)果,這時(shí)需要通過優(yōu)先級(jí)確定輸出結(jié)果;(3)查找時(shí)先查找優(yōu)先級(jí)較高的表項(xiàng),再查找優(yōu)先級(jí)較低的表項(xiàng);(4)要能夠根據(jù)業(yè)務(wù)需求靈活設(shè)置表項(xiàng)的優(yōu)先級(jí)。
綜上,本文設(shè)計(jì)采用匹配中關(guān)鍵信息的多少來劃分優(yōu)先級(jí),即能匹配中的關(guān)鍵信息越多優(yōu)先級(jí)越高,匹配中的關(guān)鍵信息越少優(yōu)先級(jí)越低。當(dāng)添加表項(xiàng)時(shí),關(guān)鍵字key 值的高8 位作為優(yōu)先級(jí)的數(shù)值。
如圖6 所示為包含優(yōu)先級(jí)的數(shù)據(jù)幀結(jié)構(gòu)。添加流表項(xiàng)時(shí),關(guān)鍵字key 值高8 位為優(yōu)先級(jí)數(shù)值,優(yōu)先級(jí)越高數(shù)值越大。key 值中除需要匹配的數(shù)據(jù)位外,其余數(shù)據(jù)位均為0。表項(xiàng)查找時(shí),從數(shù)據(jù)幀中提取關(guān)鍵信息后,組建查找關(guān)鍵字se_key。se_key值高8 位為優(yōu)先級(jí)數(shù)值,se_key 值中除需要匹配查找的數(shù)據(jù)位外,其余數(shù)據(jù)位均為0。
圖6 包含優(yōu)先級(jí)的數(shù)據(jù)幀結(jié)構(gòu)
如圖7 所示為查找流程。當(dāng)數(shù)據(jù)幀進(jìn)入查找電路后,經(jīng)過幀提取,得到不同優(yōu)先級(jí)的查找關(guān)鍵字se_key_1,se_key_2,…,se_key_n。首先查找優(yōu)先級(jí)最高的關(guān)鍵字se_key_n。如果能夠查找到,則直接輸出結(jié)果;如果不能查找到,則查找優(yōu)先級(jí)低一級(jí)的關(guān)鍵字se_key_n-1。對(duì)于關(guān)鍵字se_key_n-1,如果能查找到,則輸出查找結(jié)果;如果不能查找到,則依次類推,繼續(xù)查找優(yōu)先級(jí)低一級(jí)的關(guān)鍵字。如果最低優(yōu)先級(jí)的查找關(guān)鍵字se_key_1 也不能被查找到,那么輸出查找結(jié)果全0。
圖7 查找流程
本文以Xilinx ZYNQ-7100 開發(fā)板為硬件平臺(tái)搭建SDN 交換機(jī)電路。其轉(zhuǎn)發(fā)表(流表)算法電路仿真如圖8 至圖12 所示。圖8 和圖9 為表項(xiàng)添加仿真結(jié)果。
圖8 表項(xiàng)添加仿真結(jié)果
圖9 表項(xiàng)查找仿真結(jié)果1
圖8 中共添加4 個(gè)流表項(xiàng),在圖中分別以數(shù)字1 到4 標(biāo)出,標(biāo)1 處至標(biāo)4 處的優(yōu)先級(jí)依次增大。由cpu_add_ack 信號(hào)值為1’b1 可知,4 個(gè)表項(xiàng)添加成功。通過add_key 信號(hào)可以看到,這4 個(gè)表項(xiàng)匹配分別為:表項(xiàng)1 僅匹配目的IP 地址32’hc0_a8_01_01,表項(xiàng)2 僅匹配源IP 地址32’hc0_a8_01_02,表項(xiàng)3匹配目的IP地址32’hc0_a8_01_01和源IP 地址32’hc0_a8_01_01,表項(xiàng)4 匹配目的IP 地址32’hc0_a8_01_01、源IP 地址32’hc0_a8_01_02、協(xié)議類型8’h11、源端口16’h99_98 和目的端口16’h99_99。
圖9 給出了表項(xiàng)查找仿真結(jié)果。由于數(shù)據(jù)幀提取后匹配表項(xiàng)的優(yōu)先級(jí)由高到低,所以圖9 中se_key 有2 個(gè)值,即它匹配中了表項(xiàng)3。表項(xiàng)3 對(duì)應(yīng)的動(dòng)作action 為從端口3 和端口2 轉(zhuǎn)發(fā)數(shù)據(jù)。從圖10 可以看到,數(shù)據(jù)已經(jīng)從端口3 和端口2 轉(zhuǎn)發(fā)出去,表項(xiàng)查找成功。
圖11 為表項(xiàng)刪除仿真結(jié)果。clear_key 是表項(xiàng)3對(duì)應(yīng)的關(guān)鍵字,刪除的是表項(xiàng)3。由于表項(xiàng)3 刪除,且表項(xiàng)查找時(shí)總是由優(yōu)先級(jí)高的表項(xiàng)到優(yōu)先級(jí)低的表項(xiàng)。因此再次查找時(shí),查找結(jié)果應(yīng)為表項(xiàng)2。表項(xiàng)2 對(duì)應(yīng)的動(dòng)作action 為從端口3、端口2 和端口1 轉(zhuǎn)發(fā)。從圖12 可以看到,數(shù)據(jù)已經(jīng)從端口3、端口2 和端口1 轉(zhuǎn)發(fā)出去,表項(xiàng)3 刪除成功。根據(jù)表1 所示的資源利用率統(tǒng)計(jì)表,查找表(Lookup Table,LUT)資 源 利 用 率 為15.01%,觸 發(fā) 器(Flip-Flop,F(xiàn)F)資源利用率為10.33%,塊狀存儲(chǔ)器(Block Ram,BRAM)資源利用率為39.21%。整體資源消耗率較低。每秒最高支持6×107次查找。
表1 資源利用率統(tǒng)計(jì)表
圖11 表項(xiàng)刪除仿真結(jié)果1
圖12 表項(xiàng)刪除仿真結(jié)果2
本文給出了一種針對(duì)無人機(jī)集群的SDN 交換機(jī)的系統(tǒng)設(shè)計(jì)方案,由數(shù)據(jù)收發(fā)單元、交換單元、轉(zhuǎn)發(fā)表(流表)、分組處理單元、輸出隊(duì)列管理器、DTN 消息處理引擎和TCP 引擎組成。為滿足多樣化的業(yè)務(wù)需求,設(shè)計(jì)的流表可靈活配置轉(zhuǎn)發(fā)優(yōu)先級(jí),靈活設(shè)置表項(xiàng)關(guān)鍵字及其對(duì)應(yīng)的匹配結(jié)果,搜索鍵值最高支持128 bit。針對(duì)SDN 交換機(jī)關(guān)鍵電路在Xilinx ZYNQ-7100 平臺(tái)開發(fā)板上進(jìn)行了設(shè)計(jì)與仿真分析,結(jié)果表明,轉(zhuǎn)發(fā)表(流表)電路可以滿足多樣化業(yè)務(wù)需求,并能為不同業(yè)務(wù)流提供所需的QoS 保證。