一種包含數據包接收模塊的網絡路由器的制造方法
【技術領域】
[0001]本發明涉及一種包含數據包接收模塊的網絡路由器。
【背景技術】
[0002]圖1為一種現有的常用的帶虛通道的二維片上網絡路由器架構,輸入端口內包括多個虛通道,這種片上網絡路由器包括五個數據處理模塊:
1、用于確定當前時刻,哪一條虛通道內的數據包能作為輸入數據包的虛通道仲裁模塊
VA ;
2、用于對輸入的數據包作拆包處理,分析包頭的源地址、目的地址信息,然后進行路由計算,決定著數據包的發送方向的路由計算模塊RC ;
3、用于決定哪一個端口的輸入數據包獲得交換權利的的交換仲裁模塊SA;
4、位于數據通路單元中,用于將數據包從指定輸入端口傳輸至指定輸出端口的交換傳輸模塊ST ;
5、位于數據通路單元中,用于將數據包發送至下一個路由器的輸出傳輸模塊LT。
[0003]根據路由器中不同模塊的工作性質可以將其歸屬于控制邏輯和數據通路兩類,其中,控制邏輯包括虛通道仲裁(VA)模塊,路由計算(RC)模塊,交換仲裁(SA)模塊,這些模塊均關系到控制數據包的輸入、輸出以及轉發方向,關系到數據包能否被正確發送到目的地。
[0004]路由器中其余部分,即片上網絡中路由器之間的鏈路及緩存空間,被分類為數據通路,它們為數據包提供傳輸路徑和緩存空間,當數據通路發生故障時,只會影響數據包內容,而不會影響數據包的轉發路徑。
[0005]片上網絡故障可由多種物理因素影響造成,諸如工藝水平,電路老化,噪聲干擾,外部粒子攻擊及電壓驟降等,除了在生產時就已經發生的先天缺陷外,片上網絡在運行間會一直受到上述因素影響,這些故障發生在控制邏輯上,即為控制邏輯故障;若發生在數據通路,則為數據通路故障。
[0006]其中部分控制邏輯故障將導致數據包轉發方向出錯,數據包的實際傳輸路徑出現偏差,偏離無故障情況下的原有路徑,我們把這種情況定義為非法路徑故障;由于故障數據包傳輸路徑出現錯誤,就會占用其他正常傳輸的數據包資源,阻塞其他數據包的正常傳輸,整個片上網絡將因為非法路徑故障,導致惡性數據包相互競爭資源,最后網絡產生死鎖,導致系統徹底崩潰,另外,非法路徑故障也會讓部分數據包在網絡中一直環繞,無法到達目的地,在網絡中出現活鎖,嚴重影響網絡性能;反觀數據通路故障,容錯及糾錯技術成熟,可通過糾錯編碼或數據包重傳機制等技術克服。
[0007]現有的片上網絡數據包接收方法為:數據包到達片上網絡路由器某一輸入端口,經過虛通道仲裁模塊VA判斷后,被輸入至路由計算模塊RC ;路由計算模塊RC通過判斷數據包自帶的目的地址信息,確定它是否已經到達終點;如已經到達終點,路由計算模塊RC將會把數據包轉發到該路由器的本地端口,至此,數據包完成了整個傳輸過程。
[0008]分析現有的片上網絡數據包接收方法,可以發現,數據包能否被正確接收,與控制邏輯是否出現故障有極大關系,若控制邏輯出現故障,數據包進入非法路徑,沒有在到達終點時及時被路由器的本地端口接收;又或者數據包被誤判為到達終點,錯誤地被另一個路由器(非終點)接收,這些情況都會損害片上網絡性能,影響其余數據包的正常傳輸;所以,片上網絡路由器能夠及時、可靠地接收數據包將對提高片上網絡的可靠性有極大幫助。
【發明內容】
[0009]本發明的目的在于克服現有技術的不足,提供一種包含數據包接收模塊的網絡路由器,克服現有數據包接收過程無法在控制邏輯故障發生時提供可靠接收服務的缺點,在硬件實現時,本發明電路結構簡單,能有效減少運行時所受不利因素影響,提高片上網絡數據包接收服務質量。
[0010]本發明的目的是通過以下技術方案來實現的:一種包含數據包接收模塊的網絡路由器,包括數據包接收單元、輸入單元、邏輯控制單元、交換傳輸單元和輸出單元;所述的數據包接收單元的輸出端分別與輸入單元和輸出單元連接,輸入單元的輸出端與邏輯控制單元連接,邏輯控制單元的輸出端與交換傳輸單元連接,交換傳輸單元的輸出端與輸出單元連接;
所述的輸入單元包括多個輸入端口,其中一個為本地輸入端口 ;所述的數據包接收單元包括多個數據包接收模塊;所述的輸出單元包括多個輸出端口,其中一個為本地輸出端口 ;每個數據包接收模塊分別對應一個不同的輸入端口,所述的數據包接收模塊的輸出端與對應的不同輸入端口連接;每一個數據包接收模塊還都分別與輸出單元的本地輸出端口連接;
所述的輸入端口包括多個虛通道;
所述的邏輯控制單元包括虛通道仲裁模塊VA、路由計算模塊RC和交換仲裁模塊SA,每個虛通道仲裁模塊VA對應一個路由計算模塊RC和一個輸入端口 ;所述的虛通道仲裁模塊VA的輸入端與對應輸入端口連接,虛通道仲裁模塊VA的輸出端與對應的路由計算模塊RC連接,路由計算模塊RC的輸出端與交換傳輸單元連接;所述的交換仲裁模塊SA的輸入端分別與每一個輸入端口連接,交換仲裁模塊SA的輸出端與交換傳輸單元連接,所述的交換傳輸單元分別與輸出單元的每個輸出端口連接;
所述的虛通道仲裁模塊VA用于確定當前時刻,哪一條虛通道內的數據包能作為輸入數據包;
所述的路由計算模塊RC用于對輸入的數據包作拆包處理,分析包頭的源地址、目的地址信息,然后進行路由計算,決定著數據包的發送方向;
所述的交換仲裁模塊SA用于決定哪一個端口的輸入數據包獲得交換權利;
所述的數據包接收模塊用于在數據包進入路由器時,判斷該數據包是否已經到達終點:(I)若該數據包已經到達終點,它將會被直接轉發至路由器的本地輸出端口,被本地處理單元接收,完成整個傳輸過程;(2)若數據包沒有到達終點,將數據包傳輸至對應的輸入端口,繼續執行傳輸過程。
[0011 ] 所述的數據包接收模塊包括多個第一級與門電路、一個第二級與門電路和一個多路選擇器;第一級與門電路的輸入端接收數據包目的地地址信息與本路由器地址信息;第一級與門電路的輸出端與第二級與門電路連接,第二級與門電路的輸出端與多路選擇器的一個輸入端連接,多路選擇器的另一個輸入端接收數據包內容,多路選擇器的輸出端分別與本地輸出端口和數據包接收模塊對應的輸入端口連接。
[0012]本發明的有益效果是:(1)在路由器輸入端增加數據包接收模塊,能在路由器遭受控制邏輯故障的情況下,順利完成數據包接收工作,減少故障帶來的片上網絡性能損失;
(2)確保在每一個路由器輸入端口都能實現獨立的數據包接收服務,避免多個輸入端口公用一個數據包接收模塊所產生的競爭情況;(3)發明通過判斷數據包的目的地址字段,就能確定數據包是否已經到達目的地;(4)本發明的數據包接收模塊在硬件實現時,僅需數個邏輯門單元,因為邏輯簡單,本發明能有效降低遭受故障的概率。
【附圖說明】
[0013]圖1為現有的片上網絡路由器原理框圖;
圖2為本發明的原理框圖;
圖3為數據包接收模塊原理示意圖;
圖4為實施例一的示意圖。
【具體實施方式】
[0014]下面結合附圖進一步詳細描述本發明的技術方案,但本發明的保護范圍不局限于以下所述。
[0015]如圖2所示,一種包含數據包接收模塊的網絡路由器,包括數據包接收單元、輸入單元、邏輯控