新四季網

一種基於NetFPGA可編程虛擬路由器的數據包加速轉發方法及裝置製造方法

2023-10-28 19:11:02 1

一種基於NetFPGA可編程虛擬路由器的數據包加速轉發方法及裝置製造方法
【專利摘要】本發明公開一種基於NetFPGA可編程虛擬路由器的數據包加速轉發方法和裝置。通過在數據轉發平面設計一個局部加速轉發模塊,使之與原有的常規轉發模塊形成一個雙引擎架構,兩條查找線路通過一個優先權選擇模塊進行線路切換,形成一個互補查找結構。加速路由表中的條目具有生存期,利用定時刷新機制可以對表中的數據定時更新。通過設計加速轉發模塊,使可編程虛擬路由器在對數據包的處理過程中能夠縮短數據包的查找過程、減少路由表的查找次數、減輕路由查找負擔,起到加速數據包轉發的目的。
【專利說明】—種基於NetFPGA可編程虛擬路由器的數據包加速轉發方法及裝置
【技術領域】
[0001]本發明涉及可編程路由器技術,具體是數據包加速轉發方法即裝置。
【背景技術】
[0002]可編程虛擬路由器是下一代網絡研究試驗床的核心設備,具有可編程,虛擬化特性。其可編程性可以使研究人員很方便的在可編程虛擬路由器上部署新協議、驗證新算法、擴展新功能等。在對可編程虛擬路由器的研究中,數據包轉發速率的研究是當前研究的一個重點。有專門針對路由查找算法的研究,通過提高查找算法來提升查找速率,加速數據包的處理,如基於Hash的算法、基於Trie的算法、基於比特查找樹的算法等,也有針對路由器硬體查找方法的的研究來提高轉發速率,如TCAM查找方法,CACHE+SRAM查找方法等。
[0003]基於NetFPGA的可編程虛擬路由器採用的是控制和轉發相分離的架構:控制平面採用OpenVZ+Quagga技術。其中OpenVZ是一種虛擬化技術,Quagga是一種協議部署軟體。整個控制平面是基於Iinux系統,具體是Centos系統。轉發平面採用一塊NetFPGA板卡實現數據的轉發,該板卡支持可編程功能。
[0004]目前,與本發明比較接近的一種數據包快速轉發方法是利用緩存機制(CACHE+SRAM)實現,其不足之處在於高速緩存容量有限,且高速緩存中的數據無法急時更新。當高速緩存中的條目達到一定程度後,無法繼續向高速緩存中添加條目。當數據包進入數據轉發層面需要進行全局路由查時,必須先經過高速緩存查找才能再次進入全局路由查找。當流數據過大時,路由查找延遲增大,且對於同一路由條目的多次重複性查找加重了路由器的負擔,使得路由器數據包轉發性能下降。

【發明內容】

[0005]針對數據轉發過程中的查找延遲及同一路由條目的多次重複性查找而加重路由負擔的問題,本發明在原有架構的基礎上,提出一種加速數據包轉發的路由查找架構,解決數據包查找過程中同一路由條目的多次查找,縮短查找流程,提高系統的轉發性能。
[0006]本發明的技術方案如下:
一種基於NetFPGA可編程虛擬路由器的數據包加速轉發裝置,所述裝置在數據轉發層面包括常規轉發模塊和加速轉發模塊,構成一種並行架構,實現雙引擎查找,常規轉發模塊對應於常規查找線路,加速轉發模塊對應於加速查找線路,所述裝置包含:數據包頭部解析模塊、索引查找模塊、優先權判定模塊、IP查找模塊、ARP查找模塊、加速查找模塊、輸出選擇模塊、數據包緩衝隊列模塊和數據包重新封裝模塊;其中索引查找模塊、優先權判定模塊、加速查找模塊和輸出選擇模塊構成加速轉發模塊;索引查找模塊、優先權判定模塊、IP查找模塊、ARP查找模塊和輸出選擇模塊構成常規轉發模塊。
[0007]所述數據包頭部解析模塊,用於提取數據包包頭的相關信息,通過該模塊為數據包的後續查找提供相應信息; 所述索引查找模塊,用於關鍵字的查找,根據頭部解析模塊給出的關鍵字信息進行關鍵字的查找,為查找關鍵字匹配一個地址信息,該地址信息為路由表中路由條目的存儲地址;索引查找模塊由兩個TCAM (—種三態內容尋址存儲器,採用硬體並行查找結構,查找速度快)構成,其中一個用於加速路由表索引查找(命名為TCAM_A),另一個用於常規路由表索引查找(命名為TCAM_B),兩個TCAM並行運行。TCAM中存放的著查找路由條目所需的關鍵字信息和對應路由條目的地址信息,格式如圖3所示。
[0008]所述優先權判定模塊,用於選擇優先權最高的的查找線路進行路由查找,當前一模塊有數據輸出時,該模塊通過判決規則,選擇一條優先權最高的線路作為輸出,並啟動對應的查找線路。對於TCAM_A啟動加速查找線路(如圖2中下支路),對於TCAM_B啟動常規查找線路(如圖2中上支路),默認TCAM_A返回值優先權高於TCAM_B返回值優先權。
[0009]所述加速查找模塊,存儲數據轉發所需的路由信息;該模塊根據接收到的地址信息返回加速路由表中對應地址的路由信息,並對路由條目生存期進行修改。即該模塊根據優先權判定模塊提供的地址信息,通過內部加速路由表,返回相應地址的路由條目。加速路由表的存儲格式如圖4中所示,包括下一跳MAC值,輸出埠號,生存期。該模塊採用定時刷新機制,根據查找頻率和刷新頻率,對加速路由表中條目的生存期進行修改。該模塊還能通過反饋線路添加新的條目信息,且支持用戶操作。
[0010]所述輸出選擇模塊,該模塊配合優先權判定模塊,用於選擇合適的查找線路上的輸出數據作為查找結果的輸出,並與加速查找模塊逆向通信。如果選擇的是常規查找線路作為輸出,除了將數據輸出到數據包重新封裝模塊,還要將查找結果通過反饋線路(如圖2中虛線箭頭所示)發送到加速表查找模塊及TCAM_A模塊。
[0011]所述數據包緩衝隊列模塊,該模塊配合查找線路對數據包進行緩衝,為後面的數據包重新封裝提供相應的數據。該模塊接收到輸出選擇模塊的數據後,調取緩衝隊列中的數據包,對數據包進行重新封裝,包括修改下一跳MAC,輸出埠,生存期TTL等,封裝完成後將新的數據包輸出。
[0012]本發明通過在數據轉發層面設計一個加速轉發模塊,使數據包在路由轉發時,減少對常規路由表中同一路由條目的多次查找,縮短數據包的查找過程,從而減少數據包在路由器中的逗留時間,減輕路由查找負擔,起到加速數據包轉發的目的。
[0013]本發明採用雙引擎構架,加速查找線路和常規查找線路並行運行,互不影響,僅通過一個優先權判定模塊進行線路的快速切換。其次,加速路由表還採用了定時刷新機制對表中的條目定時更新,從而解決了加速路由表的容量不足問題。
【專利附圖】

【附圖說明】
[0014]圖1為可編程虛擬路由器架構圖;
圖2為數據包處理模塊內部框圖;
圖3 TCAM_A內部存儲結構圖;
圖4加速路由表結構圖;
圖5為數據包加速處理流程圖。
【具體實施方式】[0015]如圖1所示為可編程虛擬路由器基本架構圖,本發明在數據平面添加了一個加速轉發模塊,如圖2中虛框包含部分,包括以下幾個部分:索引查找模塊,優先權判定模塊,力口速表查找模塊,輸出選擇模塊。該模塊與常規轉發模塊並行運行,構成雙引擎查找架構。
[0016]圖2為數據包處理的內部框圖。整個數據包轉發包括數據包頭部解析模塊、索引查找模塊、優先權判定模塊、IP查找模塊、ARP查找模塊、加速查找模塊、輸出選擇模塊、數據包緩衝隊列模塊和數據包重新封裝模塊。
[0017]A、數據包頭部解析模塊,該模塊用於提取數據包包頭的相關信息,包括提取目的MAC、源MAC、目的IP位址、源IP位址、埠號、生存期TTL、校驗和等。通過該模塊為數據包的後續查找提供相應信息。
[0018]B、索引查找模塊,該模塊用於關鍵字查找,包含兩個TCAM。TCAM中的內容如圖3所示,前一項存儲的是關鍵字信息,後一項是一個地址信息,該地址指向加速路由表中的路由條目,TCAM採用並行查找,一次性能夠對所有關鍵字信息進行匹配。TCAM_A在進行查找匹配時,當發現存在與查找關鍵字匹配的信息時返回該關鍵字信息對應的地址信息;當沒有與查找關鍵字匹配的信息時,則停止查找。TCAM_B在進行查找匹配時,當有關鍵字信息與查找關鍵字匹配時,返回對應的地址信息;當沒有關鍵字信息匹配時,且沒有默認信息匹配時則停止查找,並丟棄該數據包。
[0019]C、優先權判定模塊,該模塊通過判定規則,當兩個TCAM均有返回值時,選擇一條優先權最高的返回值作為該模塊輸出,並啟動對應的查找線路。對於TCAM_A啟動加速查找線路(如圖2中下支路),對於TCAM_B啟動常規查找線路(如圖2中上支路)。默認TCAM_A返回值優先權高於TCAM_B返回值優先權。
[0020]D、加速查找模塊,該模塊根據接收到的地址信息返回加速路由表中對應地址的路由信息(如下一跳MAC,輸出埠號),並對路由條目生存期進行修改。加速路由表中的內容信息如圖4所示,存儲有下一跳MAC,輸出埠號,生存期。該模塊通過定時刷新機制對表中的內容進行更新,主要是對生存期的修改(根據加速路由表刷新頻率對條目生存期做遞減操作,但是當加速路由表中的某一條目被查找一次時,則對該條目生存期加1,生存期最大為7最小為0),對於生存期為O的條目進行刪除,並隨時準備添加新條目信息。
[0021]E、輸出選擇模塊,該模塊配合優先權判定模塊選擇合適線路上的數據進行輸出。當進行常規查時,將查找結果(如下一跳MAC及輸出埠號。對於IPv4數據包的處理中,數據包進入查找模塊時需要進行兩次查找,一次進行IP查找得到下一跳IP位址及輸出埠號,一次進行ARP查找得到下一跳MAC)通過反饋線路(如圖2中虛箭頭所示)發送到加速查找模塊及TCAM_A中,並在加速路由表中給該條目產生一個生存期(默認為3)。
[0022]F、數據包緩衝隊列模塊,該模塊配合查找線路對數據包進行緩衝,為後面的數據包重新封裝提供相應的數據。
[0023]G、數據包重新封裝模塊,該模塊接收到選擇輸出模塊的數據後,調取緩衝隊列中的數據包,對數據包進行重新封裝,包括修改下一跳MAC,輸出埠,生存期TTL等。封裝完成後將新的數據包輸出。
[0024]數據包加速轉發流程如圖5所示,具體轉發步驟如下:
步驟一:在路由器中,當數據包依次進入路由查找模塊時,數據包首先進入數據包頭部解析模塊,該模塊能夠獲得路由查找所需的關鍵字(對於IPv4協議,即為32位目的IP位址)。
[0025]步驟二:根據步驟一,將提取到的查找關鍵字與兩個TCAM模塊中的的關鍵字信息進行對比。在TCAM_A中當發現存在與查找的關鍵字匹配的信息時返回該關鍵字信息對應的地址信息Address。當TCAM_A中沒有與查找關鍵字匹配的條目時,則停止查找。在TCAM_B中,當存在與查找關鍵字匹配的信息時,返回對應的地址信息Address。當TCAM_B中沒有與查找關鍵字匹配對象時,且沒有默認匹配的信息時則停止查找,並丟棄該數據包。
[0026]步驟三:根據步驟二,當兩個TCAM中都返回值Address信息時,則進入優先權判定模塊,通過判定規則(默認TCAM_A返回值優先權最高。當TCAM_A沒有返回值,且TCAM_B有返回值時,以TCAM_B的返回值作為輸出)選擇合適的TCAM返回值Address信息為優先權判定模塊的輸出值,並啟動相應的查找線路(即選擇TCAM_A返回值為優先權判定模塊的輸出時,啟動加速查找線路(圖2中的下支路)。選擇TCAM_B返回值作為優先權判定模塊的輸出時,啟動常規查找線路(圖2中的上支路)。
[0027]步驟四:根據步驟三,當啟動加速查找線路時,加速查找模塊根據得到的Address信息直接輸出加速路由表中對應地址的路由信息,包括下一跳MAC地址和輸出埠號,並且將表中該條目的生存期加I (最高為7)。當啟動常規查找線路時,IP查找模塊根據線路上的Address信息返回IP路由表中該地址對應的信息(其中包括下一跳IP位址信息和輸出埠號),並將下一跳IP位址信息發送到ARP查找模塊,ARP查找模塊根據接收到的下一跳IP位址信息與ARP表中的條目進行查找匹配,返回下一跳MAC地址信息。如果ARP表中沒有對應下一跳MAC信息時,則通過輸出埠向本地連接的網段廣播一個ARP請求,請求下一跳設備MAC地址信息。正常情況下,下一跳設備會發送一個帶有其MAC地址信息的ARP應答。
[0028]步驟五:根據步驟四,輸出選擇模塊根據優先權判定模塊選擇合適的線路上的數據作為查找結果輸出。當選擇常規查找線路作為輸出時,除了直接輸出查找結果外還要將查找結果通過反饋線路(如圖2中虛箭頭所示)發送到加速查找模塊,加速查找模塊將反饋信息以符合加速路由表存儲格式的形式存入表中,並將更新信息反饋給TCAM_A。
[0029]步驟六:根據步驟五,數據包重新封裝模根據上一模塊的輸出,從數據緩衝隊列中讀取數據包,並對數據包頭部對應欄位進行相應修改,完成封裝之後將新數據包轉發出去。
[0030]從以上實施例可以看出,本發明通過在數據轉發平面設計一個局部加速轉發模塊,使之與原有的常規轉發模塊形成一個雙引擎架構,兩條查找線路通過一個優先權選擇模塊進行線路切換,形成一個互補查找結構。加速路由表中的條目具有生存期,利用定時刷新機制可以對表中的數據定時更新。通過設計加速轉發模塊,使可編程虛擬路由器在對數據包的處理過程中能夠縮短數據包的查找過程、減少路由表的查找次數、減輕路由查找負擔,起到加速數據包轉發的目的。
【權利要求】
1.一種基於NetFPGA可編程虛擬路由器的數據包加速轉發裝置,其特徵在於:所述裝置在數據轉發層面包括常規轉發模塊和加速轉發模塊,構成一種並行架構,實現雙引擎查找,常規轉發模塊對應於常規查找線路,加速轉發模塊對應於加速查找線路,所述裝置包含: 數據包頭部解析模塊、索引查找模塊、優先權判定模塊、IP查找模塊、ARP查找模塊、加速查找模塊、輸出選擇模塊、數據包緩衝隊列模塊和數據包重新封裝模塊;其中加速查找模塊和輸出選擇模塊構成加速查找路線;IP查找模塊、ARP查找模塊和輸出選擇模塊構成常規查找路線; 所述數據包頭部解析模塊,用於提取數據包包頭的相關信息,通過該模塊為數據包的後續查找提供相應信息; 所述索引查找模塊,用於關鍵字的查找,為查找關鍵字匹配一個地址信息,該地址信息為路由表中路由條目的存儲地址;索引查找模塊由兩個TCAM構成,TCAM_A用於加速路由表索引查找,TCAM_B用於常規路由表索引查找,兩個TCAM並行運行; 所述優先權判定模塊,用於選擇優先權最高的查找線路進行路由查找,對於TCAM_A啟動加速查找線路,對於TCAM_B啟動常規查找線路,默認TCAM_A返回值優先權高於TCAM_B返回值優先權; 所述加速查找模塊,存儲數據轉發所需的路由信息;該模塊根據接收到的地址信息返回加速路由表中對應地址的路由信息,並對路由條目生存期進行修改; 所述輸出選擇模塊,用於選擇合適的查找線路上的輸出數據為查找結果的輸出,並與加速查找模塊逆向通信; 所述數據包緩衝隊列模塊,該模塊配合查找線路對數據包進行緩衝,為後面的數據包重新封裝提供相應的數據;· 所述數據包重新封裝模塊,該模塊接收到輸出選擇模塊的數據後,調取緩衝隊列中的數據包,對數據包進行重新封裝,包括修改下一跳MAC,輸出埠,生存期TTL等,封裝完成後將新的數據包輸出。
2.根據權利要求1所述基於NetFPGA可編程虛擬路由器的數據包加速裝置,其特徵在於:所述數據包頭部解析模塊提取數據包包頭的相關信息包括提取目的MAC、源MAC、目的IP位址、源IP位址、埠號、生存期TTL、校驗和等。
3.根據權利要求1所述基於NetFPGA可編程虛擬路由器的數據包加速裝置,其特徵在於:所述索引查找模塊的TCAM_A在進行查找匹配時,當發現存在與查找關鍵字匹配的信息時返回該關鍵字信息對應的地址信息;當沒有與查找關鍵字匹配的信息時,則停止查找;TCAM_B在進行查找匹配時,當有關鍵字信息與查找關鍵字匹配時,返回對應的地址信息;當沒有關鍵字信息匹配時,且沒有默認信息匹配時則停止查找,並丟棄該數據包。
4.根據權利要求1所述基於NetFPGA可編程虛擬路由器的數據包加速裝置,其特徵在於:所述加速查找模塊包含一個加速路由表,其中含有下一跳MAC地址、輸出埠號、生存期,加速路由表採用刷新機制,定時更新表中內容,且加速查找模塊支持用戶操作。
5.根據權利要求4所述基於NetFPGA可編程虛擬路由器的數據包加速裝置,其特徵在於:所述加速路由表定時更新表中內容主要是對生存期的修改,即根據加速路由表刷新頻率對條目生存期做遞減操作,但是當加速路由表中的某一條目被查找一次時,則對該條目生存期加1,生存期最大為7最小為O,對於生存期為O的條目進行刪除,並隨時準備添加新條目信息。
6.根據權利要求4所述基於NetFPGA可編程虛擬路由器的數據包加速裝置,其特徵在於:所述輸出選擇模塊在進行常規查時,將查找結果通過反饋線路發送到加速查找模塊及TCAM_A中,並在加速路由表中給該條目產生一個生存期,該生存期默認為3。
7.一種基於NetFPGA可編程虛擬路由器的數據包加速方法,其特徵在於:數據轉發層面在接收到數據包後,首先進行數據包頭部解析獲取查找關鍵字,索引查找模塊根據接收到的數據進行關鍵字匹配,當兩個TCAM均有返回值時利用優先權判定模塊選擇優先權最高的TCAM返回值為輸出,當選擇加速路由表索引查找(TCAM_A)返回值為輸出時,則進入加速查找線路進行查找,當選擇常規路由表索引查找(TCAM_B)返回值為輸出時,則進入常規查找線路進行查找,並將常規查找的結果通過反饋線路存儲到加速路由表和加速路由表索引查找(即TCAM_A)中,最後由輸出選擇模塊選擇執行查找的線路上的數據作為查找結果,數據包重新封裝模塊根據查找結果,調取數據緩衝隊列中的數據進行相應欄位修改,重新封裝後將新數據包轉發出去·。
【文檔編號】H04L12/741GK103856407SQ201410113046
【公開日】2014年6月11日 申請日期:2014年3月25日 優先權日:2014年3月25日
【發明者】張毅, 侯海兵, 趙國鋒, 胡書敏, 胡健 申請人:重慶郵電大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀