專利名稱:基于FPGA的支持QoS用網(wǎng)絡(luò)處理器系統(tǒng)及數(shù)據(jù)包處理方法
技術(shù)領(lǐng)域:
基于現(xiàn)場可編程門陣列(FPGA)的支持服務(wù)質(zhì)量(QoS)用網(wǎng)絡(luò)處理器系統(tǒng)及數(shù)據(jù)包處理方法屬于IP服務(wù)質(zhì)量技術(shù)領(lǐng)域。
所述的鏈路層處理電路(1-1)是光載波等級信號48(OC-48)接口鏈路層處理電路、光載波等級信號12(OC-12)接口鏈路層處理電路、光載波等級信號3(OC-3)接口鏈路層處理電路、千兆以太網(wǎng)接口處理電路、萬兆以太網(wǎng)接口處理電路、百兆以太網(wǎng)接口處理電路中的一種或任意幾種的組合。
所述的交換機(jī)構(gòu)接口是芯片VSC870、VSC871、VSC872中的任何一種;所述的查找電路含有控制電路模塊(4-1),和該控制電路模塊雙向連接的三態(tài)內(nèi)容可尋址存儲器(TCAM)(4-2),以及輸入端和三態(tài)內(nèi)容可尋址存儲器(TCAM)輸出端相連接且和該控制電路模塊雙向連接的同步靜態(tài)存儲器(SSRAM)(4-3);其中控制電路模塊(4-1)含有輸入端分別和數(shù)據(jù)包包頭接收接口、地址解析協(xié)議(ARP)查找接收接口、地址解析協(xié)議(ARP)刷新接口相連用來調(diào)度的操作選擇電路,輸入端接路由表和分類規(guī)則庫刷新接口而輸出端和上述操作選擇電路相連以便把接收到的刷新命令分解成微指令的指令分解電路,用于向上述指令分解電路輸出地址解析協(xié)議(ARP)表老化請求信號的地址解析協(xié)議(ARP)老化請求計(jì)數(shù)電路,輸入端與操作選擇電路相連而輸出端與指令分解電路相連的地址解析協(xié)議(ARP)刷新控制電路,輸入端和操作選擇電路輸出端相連而輸出端和三態(tài)內(nèi)容可尋址存儲器(TCAM)輸入端相連的三態(tài)內(nèi)容可尋址存儲器(TCAM)控制電路,和同步靜態(tài)存儲器(SSRAM)輸入/輸出連接及三態(tài)內(nèi)容可尋址存儲器(TCAM)輸出端相連而輸出端與操作選擇電路相連的查找數(shù)據(jù)接收電路,輸入端分別與上述查找數(shù)據(jù)接收電路、操作選擇電路相連而輸出端分別與地址解析協(xié)議(ARP)刷新控制電路、路由查找和IP包分類結(jié)果發(fā)送接口、地址解析協(xié)議(ARP)查找結(jié)果發(fā)送接口相連的查找數(shù)據(jù)處理電路。
本發(fā)明提出的數(shù)據(jù)包處理方法其特征在于所述的鏈路層處理電路(1-1)接收的數(shù)據(jù)包為以太網(wǎng)幀,根據(jù)以太網(wǎng)幀格式的類型字段值來區(qū)分IP包和地址解析協(xié)議(ARP)包;若為IP包,則把數(shù)據(jù)包的以太網(wǎng)幀的幀頭和幀尾去掉,得到IP包,發(fā)送給包頭處理電路;若為地址解析協(xié)議(ARP)請求包,在進(jìn)行地址解析協(xié)議(ARP)協(xié)議處理后,發(fā)送地址解析協(xié)議(ARP)發(fā)送包,并向查找電路發(fā)出地址解析協(xié)議(ARP)更新消息;若為地址解析協(xié)議(ARP)應(yīng)答包,向查找電路發(fā)出地址解析協(xié)議(ARP)更新消息。
所述的查找方法,它依次含有以下步驟(1)接收以下數(shù)據(jù)包頭信息并緩存IP包頭信息、TCP(傳輸控制協(xié)議)包頭信息或者UDP(用戶數(shù)據(jù)報(bào))包頭信息;接收地址解析協(xié)議(ARP)(地址解析協(xié)議)查找的IP地址,刷新路由表和分類規(guī)則庫的消息,刷新地址解析協(xié)議(ARP)表的以太網(wǎng)地址和IP地址對并緩存;(2)使查找系統(tǒng)內(nèi)部定時(shí)產(chǎn)生一個(gè)地址解析協(xié)議(ARP)表老化的消息;(3)對接收到的消息和上述地址解析協(xié)議(ARP)表老化的消息做以下的組合處理(3.1)把刷新路由表和分類規(guī)則庫的消息,上述地址解析協(xié)議(ARP)表老化的消息各自分解為特定格式的微指令消息并緩存;(3.2)按下述具體情況分別執(zhí)行不同的操作步驟當(dāng)在查找系統(tǒng)內(nèi)部定時(shí)設(shè)置的信號處于有效狀態(tài),并且有特定格式微指令消息存在時(shí),便選中該特定格式微指令消息對應(yīng)查找系統(tǒng)中的三態(tài)內(nèi)容可尋址存儲器(TCAM)(4-2),并通過三態(tài)內(nèi)容可尋址存儲器(TCAM)對同步靜態(tài)存儲器(SSRAM)(4-3)做讀寫操作;當(dāng)存在數(shù)據(jù)包包頭信息(包括IP包頭信息、TCP包頭信息、UDP包頭信息)時(shí),選中數(shù)據(jù)包包頭信息通過三態(tài)內(nèi)容可尋址存儲器(TCAM)和同步靜態(tài)存儲器(SSRAM)做路由查找、IP包分類的查找操作;當(dāng)存在用于進(jìn)行地址解析協(xié)議(ARP)查找的IP地址時(shí),便選中地址解析協(xié)議(ARP)查找的IP地址通過三態(tài)內(nèi)容可尋址存儲器(TCAM)和同步靜態(tài)存儲器(SSRAM)做地址解析協(xié)議(ARP)查找操作;當(dāng)存在用來刷新地址解析協(xié)議(ARP)表的外來以太網(wǎng)地址和IP地址對時(shí),便選中用于刷新地址解析協(xié)議(ARP)表的以太網(wǎng)地址和IP地址對通過三態(tài)內(nèi)容可尋址存儲器(TCAM)和同步靜態(tài)存儲器(SSRAM)做刷新地址解析協(xié)議(ARP)表的查找操作。
對外發(fā)送路由查找、IP包分類和地址解析協(xié)議(ARP)查找的結(jié)果;實(shí)驗(yàn)證明它能高速完成上述網(wǎng)絡(luò)處理功能。
圖2.網(wǎng)絡(luò)處理器系統(tǒng)與外接芯片的連接圖。
圖3網(wǎng)絡(luò)處理器系統(tǒng)
圖1中查找電路(1-3)的功能圖。
圖4網(wǎng)絡(luò)處理器系統(tǒng)圖1中查找電路(1-3)的物理連接圖。
圖5圖4中(4-1)的內(nèi)部結(jié)構(gòu)圖。
2.包頭處理電路(1-2)進(jìn)行IP包頭的處理(進(jìn)行IP包頭校驗(yàn),檢查IP包的存活周期并將其減一),同時(shí)提出路由查找和IP包分類的請求,根據(jù)結(jié)果將IP包送往CPU接口(1-8)或者發(fā)送給輸入隊(duì)列電路(1-4)進(jìn)行緩存。
3.查找電路(1-3)查找電路完成路由查找、IP包分類、地址解析協(xié)議(ARP)表功能,為軟件提供刷新路由表和分類規(guī)則庫的接口,查找電路使用三態(tài)內(nèi)容可尋址存儲器(TCAM)同時(shí)實(shí)現(xiàn)路由查找、IP包分類和地址解析協(xié)議(ARP)查找功能。
4.輸入隊(duì)列電路(1-4)本電路使用多隊(duì)列先進(jìn)先出(FIFO)存儲器對IP包進(jìn)行輸入多隊(duì)列緩存。
5.調(diào)度電路(1-5)本電路實(shí)現(xiàn)多隊(duì)列調(diào)度功能,實(shí)現(xiàn)多達(dá)64隊(duì)列的調(diào)度,采用請求應(yīng)答式的靜態(tài)優(yōu)先級與輪詢相結(jié)合的調(diào)度策略(也可以采用其它支持QoS的調(diào)度策略)支持不同的服務(wù)質(zhì)量。
6.輸出隊(duì)列電路(1-6)本電路使用多隊(duì)列先進(jìn)先出(FIFO)存儲器實(shí)行按輸出物理端口進(jìn)行IP包輸出排隊(duì)緩存與調(diào)度。
7.包發(fā)送電路(1-7)發(fā)送IP包到鏈路層處理電路,從本機(jī)發(fā)出的IP包也通過CPU接口(1-8)包發(fā)送電路發(fā)送出去。
8.CPU接口(1-8)網(wǎng)絡(luò)處理器與其它通用處理器通訊的接口,通過該接口接收到本機(jī)的IP包,從本機(jī)發(fā)送IP包,刷新路由表和規(guī)則庫。
9.三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)網(wǎng)絡(luò)處理器對外連接的三態(tài)內(nèi)容可尋址存儲器(TCAM)存儲器的接口,查找電路通過這個(gè)接口訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)存儲器和同步靜態(tài)存儲器(SSRAM)存儲器。
10.多隊(duì)列先進(jìn)先出(FIFO)存儲器接口一(1-10)網(wǎng)絡(luò)處理器對外的存儲器接口之一,輸入隊(duì)列電路通過此接口訪問多隊(duì)列先進(jìn)先出(FIFO)存儲器。
11.多隊(duì)列先進(jìn)先出(FIFO)存儲器接口二(1-11)網(wǎng)絡(luò)處理器對外的存儲器接口之二,輸出隊(duì)列電路(1-6)通過此接口訪問多隊(duì)列先進(jìn)先出(FIFO)存儲器。
12.交換網(wǎng)絡(luò)接口(1-12)網(wǎng)絡(luò)處理器與交換網(wǎng)絡(luò)通訊的接口。
上述各電路的連接關(guān)系為鏈路層處理電路(1-1)接收網(wǎng)絡(luò)處理器外部芯片發(fā)送的數(shù)據(jù)包,向包頭處理電路(1-2)發(fā)送IP包,向查找電路(1-3)發(fā)送地址解析協(xié)議(ARP)查找和地址解析協(xié)議(ARP)刷新的請求,并接收查找電路(1-3)返回的地址解析協(xié)議(ARP)查找結(jié)果。包頭處理電路(1-2)向查找電路(1-3)發(fā)送路由查找和IP包分類請求并接收(1-3)返回的路由查找和IP包分類結(jié)果,向輸入隊(duì)列電路(1-4)發(fā)送路由查找和IP包分類結(jié)果以及IP包。查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口電路(1-9)完成路由查找、IP包分類和地址解析協(xié)議(ARP)表功能。輸入隊(duì)列電路(1-4)控制多隊(duì)列先進(jìn)先出(FIFO)存儲器接口一(1-10)完成IP包的入隊(duì)列和出隊(duì)列操作,根據(jù)調(diào)度電路(1-5)的請求發(fā)送IP包。交換網(wǎng)絡(luò)接口(1-12)接收調(diào)度電路(1-5)的IP包,并將它們發(fā)送到網(wǎng)絡(luò)處理器外部的交換機(jī)構(gòu)芯片,從交換機(jī)構(gòu)芯片接收IP包發(fā)送到輸出隊(duì)列電路(1-6)。輸出隊(duì)列電路(1-6)控制多隊(duì)列先進(jìn)先出(FIFO)存儲器接口二(1-11)完成IP包的入隊(duì)列和出隊(duì)列操作,并向包發(fā)送電路(1-7)發(fā)送IP包。包發(fā)送電路(1-7)將IP包發(fā)送到鏈路層處理電路(1-1)。數(shù)據(jù)鏈路層處理電路(1-1)將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)處理器外部的以太網(wǎng)控制器芯片。CPU接口與網(wǎng)絡(luò)處理器外部通用CPU通訊,將IP包發(fā)送到包發(fā)送電路(1-7),從包頭處理電路(1-2)接收IP包,并且發(fā)送路由表和分類規(guī)則庫刷新命令到查找電路(1-3)。
本發(fā)明的網(wǎng)絡(luò)處理器需要配合其它芯片使用,它與其它芯片的連接如圖2所示,其中各部分的名稱為1.網(wǎng)絡(luò)處理器(2-1)本發(fā)明的主要內(nèi)容,可通過現(xiàn)場可編程陣列(FPGA)實(shí)現(xiàn)。
2.TCAM芯片(2-2)內(nèi)容可尋址的存儲器。
3.SSRAM芯片(2-3)同步靜態(tài)存儲器。
4.多隊(duì)列先進(jìn)先出(FIFO)存儲器一(2-4)作為輸入隊(duì)列緩存,使用一種多隊(duì)列先進(jìn)先出(FIFO)存儲器,在存儲器芯片內(nèi)部完成先進(jìn)先出(FIFO)的功能。
5.多隊(duì)列先進(jìn)先出(FIFO)存儲器二(2-5)作為輸出隊(duì)列緩存,使用一種多隊(duì)列先進(jìn)先出(FIFO)存儲器,在存儲器芯片內(nèi)部完成先進(jìn)先出(FIFO)的功能。
6.交換機(jī)構(gòu)芯片(2-6)交換網(wǎng)絡(luò)芯片,可以采用Vitesse公司VSC870/VSC871/VSC872芯片。
7.通用CPU(2-7)與網(wǎng)絡(luò)處理器通訊的CPU。
8.以太網(wǎng)控制器(2-8)向網(wǎng)絡(luò)處理器收發(fā)數(shù)據(jù)包,一個(gè)網(wǎng)絡(luò)處理器與兩個(gè)或多個(gè)以太網(wǎng)控制器相連。
上述各芯片的連接關(guān)系為以太網(wǎng)控制器(2-8)向網(wǎng)絡(luò)處理器(2-1)發(fā)送數(shù)據(jù)包,同時(shí)接收來自網(wǎng)絡(luò)處理器的數(shù)據(jù)包,一個(gè)網(wǎng)絡(luò)處理器與兩個(gè)以太網(wǎng)控制器相連。三態(tài)內(nèi)容可尋址存儲器(TCAM)(2-2)受網(wǎng)絡(luò)處理器(2-1)的控制,完成讀寫和查找功能。同步靜態(tài)存儲器(SSRAM)(2-3)受三態(tài)內(nèi)容可尋址存儲器(TCAM)(2-2)的控制,但是數(shù)據(jù)線與網(wǎng)絡(luò)處理器相聯(lián)。多隊(duì)列先進(jìn)先出(FIFO)存儲器一(2-4)和多隊(duì)列先進(jìn)先出(FIFO)存儲器二(2-5)都受網(wǎng)絡(luò)處理器的控制。交換機(jī)構(gòu)芯片(2-6)與網(wǎng)絡(luò)處理器相連,可以互相發(fā)送和接收數(shù)據(jù)包。通用CPU(2-7)與網(wǎng)絡(luò)處理器相連,它向網(wǎng)絡(luò)處理器發(fā)送數(shù)據(jù)包,從網(wǎng)絡(luò)處理器接收數(shù)據(jù)包,同時(shí)發(fā)送路由表和分類規(guī)則刷新命令。
本發(fā)明涉及的處理過程包括對IP包的處理過程,對地址解析協(xié)議(ARP)包的處理過程,路由表和規(guī)則庫的刷新過程,它們的詳細(xì)過程如下所示。
1.鏈路層處理電路區(qū)分?jǐn)?shù)據(jù)包的方法鏈路層處理電路接收到的數(shù)據(jù)包為以太幀,IP和地址解析協(xié)議(ARP)包都封裝在以太網(wǎng)幀里邊,通過以太網(wǎng)幀的一個(gè)類型字段區(qū)分,如果類型字段植為0X0800,那么這個(gè)數(shù)據(jù)包就是IP包,如果類型字段植為0X0806,那么這個(gè)數(shù)據(jù)包就是地址解析協(xié)議(ARP)包。
2.對IP包的處理器過程從以太網(wǎng)控制器(2-8)送到網(wǎng)絡(luò)處理器的IP包由鏈路層處理電路(1-1)進(jìn)行處理,鏈路層處理電路(1-1)將以太網(wǎng)幀的頭部處理掉,將兩路數(shù)據(jù)復(fù)用成一路,以IP包格式送給包頭處理電路(1-2)。包頭處理電路(1-2)進(jìn)行IP頭校驗(yàn),同時(shí)將包頭信息發(fā)送給查找電路(1-3),并等待查找電路(1-3)的結(jié)果。查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)芯片(2-2)和同步靜態(tài)存儲器(SSRAM)芯片(2-3),先進(jìn)行IP包的分類,然后進(jìn)行路由查找,將路由查找和IP包分類的結(jié)果返回給包頭處理電路(1-2)。包頭處理電路(1-2)收到查找分類的結(jié)果后,將結(jié)果附在IP包的前面,將IP包通過CPU接口(1-8)傳給本機(jī)或者送到輸入隊(duì)列電路(1-4)。輸入隊(duì)列電路(1-4)根據(jù)IP包的優(yōu)先級和輸出端口通過多隊(duì)列FIFO存儲器接口一(1-10)電路將IP包送到多隊(duì)列FIFO存儲器一(2-4)進(jìn)行緩存,調(diào)度電路(1-5)根據(jù)輸入隊(duì)列和交換網(wǎng)絡(luò)的狀況,采用靜態(tài)優(yōu)先級與輪詢相結(jié)合的調(diào)度策略調(diào)度IP包,從輸入隊(duì)列電路(1-4)取出IP包,經(jīng)交換網(wǎng)絡(luò)接口(1-12)發(fā)送給交換機(jī)構(gòu)芯片(2-6)。
從交換機(jī)構(gòu)芯片(2-6)到網(wǎng)絡(luò)處理器的IP包經(jīng)交換網(wǎng)絡(luò)接口(1-12)被送到輸出隊(duì)列電路(1-6)。輸出隊(duì)列電路(1-6)根據(jù)IP包的優(yōu)先級和發(fā)送端口通過多隊(duì)列FIFO存儲器接口二(1-11)電路將IP包送到多隊(duì)列FIFO存儲器二(2-5)進(jìn)行緩存,包發(fā)送電路(1-7)將IP包從輸出隊(duì)列電路(1-6)取出發(fā)送給鏈路層處理電路(1-1)。鏈路層處理電路(1-1)向查找電路(1-3)提出地址解析協(xié)議(ARP)查找請求,并等待查找結(jié)果。查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)芯片(2-2)和同步靜態(tài)存儲器(SSRAM)芯片(2-3)執(zhí)行地址解析協(xié)議(ARP)查找操作,將查找結(jié)果送給鏈路層處理電路(1-1)。如果查找失敗,鏈路層處理電路(1-1)丟棄IP包,并發(fā)送地址解析協(xié)議(ARP)請求包;如果查找成功,鏈路層處理電路(1-1)將IP包封裝到以太網(wǎng)幀里發(fā)送到以太網(wǎng)控制器(2-8)。
3.對地址解析協(xié)議(ARP)包的處理過程如果以太網(wǎng)控制器(2-8)向網(wǎng)絡(luò)處理器發(fā)送地址解析協(xié)議(ARP)請求包,鏈路層處理電路(1-1)接收此數(shù)據(jù)包,在鏈路層處理電路(1-1)內(nèi)部進(jìn)行的地址解析協(xié)議(ARP)協(xié)議處理,如果地址解析協(xié)議(ARP)請求的目的是本端口地址,則發(fā)送地址解析協(xié)議(ARP)應(yīng)答包到以太網(wǎng)控制器(2-8),同時(shí)向查找電路(1-3)發(fā)出更新地址解析協(xié)議(ARP)表命令,查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)芯片(2-2)和同步靜態(tài)存儲器(SSRAM)芯片(2-3),更新地址解析協(xié)議(ARP)表。
如果以太網(wǎng)控制器(2-8)向網(wǎng)絡(luò)處理器發(fā)送地址解析協(xié)議(ARP)應(yīng)答包,鏈路層處理電路(1-1)生成地址解析協(xié)議(ARP)更新命令,查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)芯片(2-2)和同步靜態(tài)存儲器(SSRAM)芯片(2-3),更新地址解析協(xié)議(ARP)表。
4.路由表和規(guī)則庫的刷新過程通用CPU(2-7)向網(wǎng)絡(luò)處理器發(fā)送路由表和規(guī)則庫的刷新命令,網(wǎng)絡(luò)處理器中CPU接口(1-8)接收到刷新命令后,將刷新命令發(fā)送給查找電路(1-3),查找電路(1-3)通過三態(tài)內(nèi)容可尋址存儲器(TCAM)接口(1-9)訪問三態(tài)內(nèi)容可尋址存儲器(TCAM)芯片(2-2)和同步靜態(tài)存儲器(SSRAM)芯片(2-3)刷新路由表和分類規(guī)則庫。
本發(fā)明提出一種網(wǎng)絡(luò)處理器的系統(tǒng),能夠進(jìn)行快速的IP包處理,同時(shí)能夠支持IP服務(wù)質(zhì)量(QoS),該體系結(jié)構(gòu)需與其它芯片結(jié)合完成上述的功能。其優(yōu)點(diǎn)為1.由一個(gè)網(wǎng)絡(luò)處理器芯片完成IP包頭處理,路由查找,IP包分類,多隊(duì)列的緩存和調(diào)度,鏈路層的處理。2.網(wǎng)絡(luò)處理器對外提供特定的接口,包括千兆以太網(wǎng)接口,三態(tài)內(nèi)容可尋址存儲器(TCAM)和同步靜態(tài)存儲器(同步靜態(tài)存儲器(SSRAM))接口,雙端口存儲器接口,交換網(wǎng)絡(luò)接口,CPU接口。通過這些接口與其它芯片相連,完成網(wǎng)絡(luò)處理器的功能。3.采用三態(tài)內(nèi)容可尋址存儲器(三態(tài)內(nèi)容可尋址存儲器(TCAM))同時(shí)實(shí)現(xiàn)路由查找、IP包分類和地址解析協(xié)議(ARP)(地址解析協(xié)議)表功能。4.在輸入側(cè)采用多隊(duì)列FIFO存儲器進(jìn)行多隊(duì)列管理,實(shí)施多隊(duì)列調(diào)度算法;在輸出側(cè)采用多隊(duì)列FIFO存儲器進(jìn)行輸出排隊(duì)并進(jìn)行輸出調(diào)度。
權(quán)利要求
1.基于FPGA的支持IP服務(wù)質(zhì)量(QoS)用網(wǎng)絡(luò)處理器系統(tǒng),其特征在于,它含有都做在一個(gè)現(xiàn)場可編程門陣列(FPGA)上的下述電路與多個(gè)以太網(wǎng)控制器互連的鏈路層處理電路;從上述鏈路層處理電路接收分類處理后的IP包的包頭處理電路;查找電路,它是協(xié)議檢測與路由控制電路,接收包頭處理電路的包頭信息,據(jù)此進(jìn)行路由查找和IP包分類查找,并返回查找結(jié)果;接收鏈路層處理電路發(fā)送的ARP查找和ARP刷新請求,并返回ARP查找結(jié)果;輸入隊(duì)列電路,它是一種存儲器緩沖與控制電路,接收包頭處理電路發(fā)送的IP包并通過多隊(duì)列先進(jìn)先出(FIFO)存儲器接口一緩存到外接的多隊(duì)列先進(jìn)先出(FIFO)存儲器一;在接收到調(diào)度電路的請求后把IP包從緩存中讀出;調(diào)度電路,它是一種選擇器電路,根據(jù)外接的交換機(jī)構(gòu)芯片通過交換網(wǎng)絡(luò)接口發(fā)送來的狀態(tài)選擇特定的IP包,并向輸入隊(duì)列電路請求獲得此IP包,在接收到輸入隊(duì)列電路的IP包后,將此IP包通過交換網(wǎng)絡(luò)接口發(fā)送出去;交換網(wǎng)絡(luò)接口,它是一種雙向高速并行接口電路,向外接的交換機(jī)構(gòu)芯片送IP包,同時(shí)從外接的交換機(jī)構(gòu)芯片接收IP包,并把此IP包發(fā)送到輸出隊(duì)列電路;輸出隊(duì)列電路,它是一種存儲器緩沖與控制電路。把從交換網(wǎng)絡(luò)接口發(fā)來的IP包通過多隊(duì)列先進(jìn)先出(FIFO)存儲器二緩存到外接的多隊(duì)列先進(jìn)先出(FIFO)存儲器二;在接收到包發(fā)送電路的請求后把此IP包從緩存中讀出,發(fā)送給包發(fā)送電路;包發(fā)送電路,它是網(wǎng)絡(luò)處理器發(fā)送方向上的選擇與控制電路,收到輸出隊(duì)列電路發(fā)送的IP包后把它發(fā)送給鏈路層處理電路;外接通用CPU的CPU接口,它和外部通用CPU通訊,把IP包發(fā)送到包發(fā)送電路,從包頭處理電路接收IP包,并發(fā)送路由表和分類規(guī)則庫刷新命令到查找電路;三態(tài)內(nèi)容可尋址存儲器(TCAM)接口,它是網(wǎng)絡(luò)處理器連接外部TCAM并實(shí)現(xiàn)對TCAM控制的電路,經(jīng)TCAM接口與查找電路互連,使查找電路通過它訪問外接的TCAM芯片和SSRAM芯片,同時(shí)實(shí)現(xiàn)路由查找、IP分類和ARP(地址解析協(xié)議)查找功能;其中,外接的SSRAM受TCAM控制且SSRAM的數(shù)據(jù)線與網(wǎng)絡(luò)處理器相連。
2.根據(jù)權(quán)利要求1所述的基于FPGA的支持QoS用網(wǎng)絡(luò)處理器系統(tǒng),其特征在于,所述的交換機(jī)構(gòu)接口是芯片VSC870、VSC871、VSC872中的任何一種。
3.根據(jù)權(quán)利要求1所述的基于FPGA的支持QoS用網(wǎng)絡(luò)處理器系統(tǒng)而提出的數(shù)據(jù)包處理方法,其特征在于所述的鏈路層處理電路接收的數(shù)據(jù)包為以太網(wǎng)幀,根據(jù)以太網(wǎng)幀格式的類型字段值來區(qū)分IP包和ARP包;若為IP包,則把數(shù)據(jù)包的以太網(wǎng)幀的幀頭和幀尾去掉,得到IP包,發(fā)送給包頭處理電路,查找電路據(jù)此進(jìn)行路由查找和IP包分類查找,并返回查找結(jié)果。若為ARP請求包,在進(jìn)行ARP協(xié)議處理后,發(fā)送ARP發(fā)送包,并向查找電路發(fā)出ARP更新消息;若為ARP應(yīng)答包,向查找電路發(fā)出ARP更新消息。
4.根據(jù)權(quán)利要求1所述的基于FPGA的支持QoS用網(wǎng)絡(luò)處理器系統(tǒng),其特征在于所述的查找電路含有控制電路模塊,和該控制電路模塊雙向連接的TCAM,以及輸入端和TCAM輸出端相連接且和該控制電路模塊雙向連接的SSRAM;其中控制電路模塊含有輸入端分別和數(shù)據(jù)包包頭接收接口、ARP查找接收接口、ARP刷新接口相連用來調(diào)度的操作選擇電路,輸入端接路由表和分類規(guī)則庫刷新接口而輸出端和上述操作選擇電路相連以便把接收到的刷新命令分解成微指令的指令分解電路,用于向上述指令分解電路輸出ARP表老化請求信號的ARP老化請求計(jì)數(shù)電路,輸入端與操作選擇電路相連而輸出端與指令分解電路相連的ARP刷新控制電路,輸入端和操作選擇電路輸出端相連而輸出端和TCAM輸入端相連的TCAM控制電路,和SSRAM輸入/輸出連接及TCAM輸出端相連而輸出端與操作選擇電路相連的查找數(shù)據(jù)接收電路,輸入端分別與上述查找數(shù)據(jù)接收電路、操作選擇電路相連而輸出端分別與ARP刷新控制電路、路由查找和IP包分類結(jié)果發(fā)送接口、ARP查找結(jié)果發(fā)送接口相連的查找數(shù)據(jù)處理電路。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)包處理方法,其特征在于所述的查找方法,它依次含有以下步驟(1)接收以下數(shù)據(jù)包頭信息并緩存IP包頭信息、TCP(傳輸控制協(xié)議)包頭信息或者UDP(用戶數(shù)據(jù)報(bào))包頭信息;接收ARP(地址解析協(xié)議)查找的IP地址,刷新路由表和分類規(guī)則庫的消息,刷新ARP表的以太網(wǎng)地址和IP地址對并緩存;(2)使查找系統(tǒng)內(nèi)部定時(shí)產(chǎn)生一個(gè)ARP表老化的消息;(3)對接收到的消息和上述ARP表老化的消息做以下的組合處理(3.1)把刷新路由表和分類規(guī)則庫的消息,上述ARP表老化的消息各自分解為特定格式的微指令消息并緩存;(3.2)按下述具體情況分別執(zhí)行不同的操作步驟當(dāng)在查找系統(tǒng)內(nèi)部定時(shí)設(shè)置的信號處于有效狀態(tài),并且有特定格式微指令消息存在時(shí),便選中該特定格式微指令消息對應(yīng)查找系統(tǒng)中的三態(tài)內(nèi)容可尋址存儲器(TCAM),并通過TCAM對同步靜態(tài)存儲器(SSRAM)做讀寫操作;當(dāng)存在數(shù)據(jù)包包頭信息(包括IP包頭信息、TCP包頭信息、UDP包頭信息)時(shí),選中數(shù)據(jù)包包頭信息通過TCAM和SSRAM做路由查找、IP包分類的查找操作;當(dāng)存在用于進(jìn)行ARP查找的IP地址時(shí),便選中ARP查找的IP地址通過TCAM和SSRAM做ARP查找操作;當(dāng)存在用來刷新ARP表的外來以太網(wǎng)地址和IP地址對時(shí),便選中用于刷新ARP表的以太網(wǎng)地址和IP地址對通過TCAM和SSRAM做刷新ARP表的查找操作;對外發(fā)送路由查找、IP包分類和ARP查找的結(jié)果。
6.根據(jù)權(quán)利要求1所述的鏈路層處理電路,其特征在于所述的鏈路層處理電路是光載波等級信號48(OC-48)接口、或光載波等級信號12(OC-12)接口、或光載波等級信號3(OC-3)接口的處理電路,千兆以太網(wǎng)接口處理電路,萬兆以太網(wǎng)接口處理電路和百兆以太網(wǎng)接口處理電路中的一種或任意幾種的組合。
全文摘要
基于FPGA的支持QoS用網(wǎng)絡(luò)處理器系統(tǒng)及數(shù)據(jù)包處理方法屬于IP技術(shù)領(lǐng)域,其特征在于它是用FPGA實(shí)現(xiàn)的,含有與多個(gè)以太網(wǎng)控制器互連的鏈路層處理電路;輸入端與上述鏈路層處理電路相連的包頭處理電路;同時(shí)與上述兩者互連的查找電路;依次與包頭處理電路相連的輸入隊(duì)列電路、調(diào)度電路、交換網(wǎng)絡(luò)接口;依次與交換網(wǎng)絡(luò)接口輸出端相連的輸出隊(duì)列電路、包發(fā)送電路;分別與包頭處理電路、查找電路和包發(fā)送電路相連的外接通用CPU的接口;位于查找電路和外接的TCAM之間接口;分別位于輸入隊(duì)列電路和輸出隊(duì)列電路的與它們各自的外接存儲器之間的多隊(duì)列FIFO存儲器接口及交換網(wǎng)絡(luò)接口。它能快速處理IP包,同時(shí)能支持IPQoS。
文檔編號H04L12/02GK1431806SQ03102678
公開日2003年7月23日 申請日期2003年2月14日 優(yōu)先權(quán)日2003年2月14日
發(fā)明者劉斌, 李旭東, 戴智偉 申請人:清華大學(xué)