新四季網

一種處理分組的網絡設備及方法

2023-10-24 21:55:32 2


專利名稱::一種處理分組的網絡設備及方法
技術領域:
:本發明涉及數據網絡中的網絡設備,特別涉及一種當有大量數據通過網絡設備時縮減處理延遲時間的方法和裝置。
背景技術:
:分組交換網可包括一個或多個網絡設備,例如乙太網交換設備,每個乙太網交換設備包括幾個模塊,用於處理通過所述設備傳送的信息。特別地,該設備包括入站模塊、存儲器管理單元(MMU)以及出站模塊。所述入站模塊具有交換功能,能夠確定分組應傳送到哪一個目標埠。MMU用於存儲分組信息並執行資源檢測。出站模塊用於執行分組更改並將分組發送到至少一個適當的目標埠。設備上的埠之一可以是CPU埠,使得能在設備和外部交換/路由控制實體或CPU之間相互發送和接收信息。當網絡設備接收分組時,要執行許多處理以確定接收到的分組的屬性。多數情況下,當分組的剩餘部分仍在接收時,對分組的估計已完成。其部分原因是由於對分組做出確定所需要的信息可在分組報頭中找到,在對分組做出轉發或其它決策時不需要剖析分組的剩餘部分(亦即有效載荷)。對於分組整體尺寸較大的巨型幀,這種情況更是經常發生。在現有技術的網絡設備中,設備要等待直到所有的分組都讀入存儲器------網絡設備利用該存儲器暫時存儲分組數據。在這樣的情況下,當數據已經可以轉發、刪除或進行其它處理時,還要花費時間等待整個分組的存儲,是一種「浪費」。因此,在必要縮減現有技術中的網絡設備處理分組的延遲時間。
發明內容根據本發明的一個方面,提供了一種處理分組的網絡設備,包括對入站分組執行交換功能的入站模塊;存儲分組的存儲器管理單元;以及將入站分組發送至出站埠的出站模塊;其中存儲器管理單元用於將入站分組的初始信元存儲在存儲器中,決定直通處理是否需要激活,將當直通處理激活時,在將入站分組的最終信元存儲到存儲器中之前,將初始信元轉發給出站埠。優選地,所述存儲器管理單元用於檢測入站埠的入站速度是否大於或等於出站埠的出站速度,當入站速度大於或等於出站速度時,激活直通處理。優選地,所述存儲器管理單元用於檢測多播包的每個目標埠的速度,當每個目標埠的速度都小於入站速度時,激活直通處理。優選地,所述存儲器管理單元用於確定入站分組是否是大尺寸的分組,當入站分組是大尺寸的分組時,激活直通處理。優選地,所述存儲器管理單元用於在將信元轉發給出站埠之前,等待接收預定數量的入站分組的信元。優選地,所述存儲器管理單元用於根據出站埠的延遲因子來設定信元的預定數量。優選地,所述存儲器管理單元用於在將信元轉發給出站埠之前,等待接收入站分組的多個信元,其中信元數量的設置需保證出站埠的緩衝器不會過載。根據本發明的一個方面,提供一種在網絡設備中處理分組的方法,所述方法包括以下步驟接收入站分組的信元;確定入站分組的出站埠;將入站分組信元的初始信元存儲在存儲器中;決定直通處理是否需要激活;以及當直通處理激活時,在將入站分組的最終信元存儲到存儲器中之前,將初始信元轉發給出站埠。優選地,所述決定的步驟包括,檢測入站埠的入站速度是否大於或等於出站埠的出站速度,當入站速度大於或等於出站速度時,激活直通處理。優選地,所述檢測步驟還包括檢測多播分組的每個目標埠的速度,當每個目標埠的速度都小於入站速度時,激活直通處理。優選地,所述決定步驟包括確定入站分組是否是大尺寸的分組,當入站分組是大尺寸的分組時,激活直通處理。優選地,所述方法還包括,在決定步驟之後,在執行轉發步驟之前,等待接收預定數量的入站分組的信元。優選地,所述方法還包括根據出站埠的延遲因子來設定信元的預定數量。優選地,所述方法還包括,在決定步驟之後,在將信元轉發給出站埠之前,等待接收入站分組的多個信元,其中信元數量的設置需保證出站埠的緩衝器不會過載。根據本發明的一個方面,提供一種在網絡設備中處理分組的裝置,包括用於接收入站分組的信元的接收裝置;用於確定入站分組的出站埠的確定裝置;用於將入站分組信元的初始信元存儲到存儲器中的存儲裝置;用於決定直通處理是否需要激活的決定裝置;以及用於當直通處理激活時在將入站分組的最終信元存儲到存儲器中之前將初始信元轉發給出站埠的轉發裝置。優選地,所述決定裝置包括用於檢測入站埠的入站速度是否大於或等於出站埠的出站速度的檢測裝置,以及用於當入站速度大於或等於出站速度時激活直通處理的激活裝置。優選地,所述檢測裝置還包括用於檢測多播分組的每個目標埠的速度的第二檢測裝置,以及當每個目標埠的速度都小於入站速度時激活直通處理的激活裝置。優選地,所述決定裝置包括大小確定裝置,用於確定入站分組是否是大尺寸的分組,以及激活裝置,當入站分組是大尺寸的分組時,用於激活直通處理。優選地,所述設備還包括等待裝置,用於等待接收預定數量的入站分組的信元,以及轉發裝置,用於在將信元轉發給出站埠之前,等待直至預定數量的信元被接收。優選地,所述裝置還包括根據出站埠的延遲因子、設定信元的預定數量的裝置。附圖是本發明的說明書的一部分,其有助於更深入地理解本發明,圖示了本發明的實施例,與說明書一道解釋了本發明的原理。其中圖1示出了本發明的實施例可在其中實現的網絡設備;圖2示出了根據本發明的一個實施例的集中式入站管線結構示意圖。圖3示出了根據本發明的一個實施例的剖析單元的組成部分示意圖。圖4示出了根據本發明的一個實施例的集中式出站管線結構示意圖。圖5示出了根據本發明的一個實施例的查表單元的實施例示意圖。圖6示出了根據本發明的一個實施例的能夠處理分組並減少延遲時間的存儲器管理單元以及存儲器示意圖。圖7示出了根據本發明的一個實施例的確定延遲因子的示意圖。具體實施例方式以下將參照本發明的優選實施例對本發明進行說明,這些實施例的例子已在附圖中示出。圖1示出了一種網絡設備,例如交換設備,本發明的實施例可在其中實現。設備100包括入站模塊102、MMU104、以及出站模塊106。入站模塊102用於對入站分組執行交換功能。MMU104用於存儲分組,並對每個分組執行資源檢測。出站模塊106用於執行分組更改並將分組發送到適當的目標埠。入站模塊102、MMU104以及出站模塊106中的每一個模塊都包括多個用於處理該模塊產生的指令的周期。設備100採用管線化(pipelined)方式處理入站分組。根據一個實施例,設備100具有在每個時鐘周期處理一個分組的管線(pipeline)處理能力。根據本發明的一個實施例,設備100具有133.33MHz的核心時鐘。這意味著設備100具有133.33M分組/秒的處理能力。設備100還可包括一個或多個內部構造的高速埠(例如HiGigTM高速埠)108a-108x、一個或多個外部乙太網埠109a-109x,以及CPU埠110。高速埠108a-108x用於系統內的各個網絡設備的相互連接,從而形成在外部源埠和一個或多個外部目標埠之間傳送分組的內部交換結構。這樣,從包括有多個相互連接的網絡設備的系統外部是看不見這些高速埠108a-108x的。CPU埠110用於將分組發送到外部交換/路由控制實體或CPU,或者從外部交換/路由控制實體或CPU接收信息。根據本發明的一個實施例,CPU埠110可看作是外部乙太網埠109a-109x中的一個埠。設備100通過CPU處理模塊111(例如CMIC)與外部/離線(off-chip)CPU接口相連(interfacewith),其中CPU處理模塊111是與PCI總線接口相連的,而PCI總線將設備100連接到外部CPU上。網絡信息流(traffic)通過外部乙太網埠109a-109x進、出設備100。特別地,設備100中的信息流從外部乙太網源埠路由至一個或多個唯一的目標乙太網埠109a-109x。在本發明的一個實施例中,設備100支持物理乙太網埠和邏輯(中繼)埠。物理乙太網埠是設備100上的物理埠,由全球埠標識符進行標識。在實施例中,全球埠標識符包括模塊標識符和本地埠號,本地埠號可唯一標識設備100和特定的物理埠。中繼埠是一組物理外部乙太網埠,其作用就象單個的鏈路層埠。每個中繼埠都配置了一個全球中繼群組標識符(TGID)。根據實施例,設備100可支持多達128個中繼埠以及多達29個外部物理埠,其中每個中繼埠具有多達8個成員(members)。設備100上的目標埠109a-109x可以是物理外部乙太網埠或中繼埠。如果目標埠是中繼埠,設備100通過使用雜亂信號來選擇成員,從而動態地選擇物理外部乙太網埠。這種動態選擇使設備100能夠在中繼的埠之間分擔動態負載。一旦分組進入設備100的源埠109a-109x,即被發送給入站模塊102進行處理。分組可從XBOD或GBOD進入設備100。XBOD是具有一個10GE/12GMAC的模塊(block),支持來自高速埠108a-108x的分組。GBOD是具有12個10/100/1GMAC的模塊(block),支持來自埠109a-109x的分組。圖2示出了入站模塊102的集中式入站管線結構200。入站管線200處理入站分組,主要是確定出站位圖,並在某些情況下計算出分組的那一部分可以更改。入站管線200包括數據保持寄存器202、模塊報頭(moduleheader)保持寄存器204、判定器206、配置單元208、剖析(parser)單元210、丟棄單元21以及交換單元213。入站管線200從XBOD、GBOD或CPU處理模塊111接收數據並將信元數據存儲在數據保持寄存器202中。判定器206負責為來自GBOD、XBOD和CPU的請求設定時間表。配置單元208用於建立交換所需的具有全部主要埠-特定域的對照表。剖析單元210剖析入站的分組和高速模塊報頭(moduleheader),如果出現,通過第三層(L3)信道表查尋來處理信道化分組,生成用戶定義域,在外部IPv4報頭上檢測網際網路協議版本4(IPv4)的校驗和,執行地址檢測並為下行的查尋處理準備相關的域。丟棄單元212查尋各種早期的丟棄狀況,或者丟棄分組或者防止分組通過管線200發送。交換單元213執行入站管線200中全部的交換操作,包括地址解析。根據本發明的一個實施例,對每個XBOD或GBOD,入站管線包括一個1024位的信元數據保持寄存器202和一個96位的模塊報頭寄存器204。在進行判定之前,數據保持寄存器202將入站數據累積成一個連續的128位元組信元,而模塊報頭寄存器204存儲入站的96位模塊報頭,供以後在入站管線200中使用。特別地,保持寄存器202存儲入站狀態信息,包括分組的起始信元(SOP)信號、分組的結束信元(EOP)域、用於指示分組應被清除的清除域、用於指示對於某一特定的分組統計計數器應更新的統計更新域、用於指示有關分組到達高速埠的高速域、用於指示當前的高速分組是否是中止分組的中止分組域、用於指示所累加的信元總字節數的信元字節計數域、及源埠域。如本領域的技術人員所知悉,保持寄存器202還可存儲以上未提及的其它域。入站管線200每六個時鐘周期為來自XBOD和GBOD的請求設定時間表,並向每個XBOD和GBOD發送信號指示來自XBOD和GBOD的請求將於何時處理。CPU處理模塊111在某時(attime)向將入站模塊102發送一個信元,並在發送隨後的信元之葡,等待入站模塊102已經使用該信元的指示。根據判定器206作出的哪個源埠被準予接入入站管線200的判定,入站管線200多路復用來自每一個XBOD、GBOD和CPU處理的信號。一旦從XBOD或GBOD接收信號,緩衝寄存器202計算出源埠,XBOD或GBOD連接映射到設備100上的特定物理埠號碼,寄存器202將與已設定時間表的信元有關的信息傳遞到判定器206。當判定器206從緩衝寄存器202接收信息時,取決於資源衝突的情況,判定器206可發出(issue)分組運算(operation)代碼、指令運算代碼或FP更新代碼中的至少一個。根據本發明的一個實施例,判定器206包括主判定器207和輔助判定器209。主判定器207是基於時分復用(TDM)的判定器,負責為來自GBOD和XBOD的請求設定時間表,其中來自主判定器207的請求具有最高優先權。輔助判定器209為全部非XBOD/GBOD請求設定時間表,包括CPU分組接入請求、CPU存儲器/寄存器讀/寫請求、學習運算(learnoperation)、壽命運算(ageoperation)、CPU表插入/刪除請求、更新請求以及速率限定計數器更新請求。輔助判定器209的請求是根據可利用的主判定器207的空隙時段來設定時間表的。當主判定器207給予XBOD或GBOD一個時段,信元數據從寄存器202中取出,與來自寄存器202的其它信息一起發送到入站管線200。XBOD/GBOD將某些狀態位,例如SOP、EOP和MOP狀態位,發送到主判定器207,以便為XBOD/GBOD請求設定時間表,及解決與輔助判定器209之間的任何判定衝突。在為XBOD/GBOD信元設定時間表之後,主判定器207將某些狀態位,例如SOP、EOP和MOP狀態位轉發給輔助判定器209。輔助判定器209還負責在特定的周期內執行所有的資源檢測,以保證同時進行的任何運算都不會接入相同的資源。這樣,輔助判定器209能夠為每個請求周期中的最大指令運算代碼或分組運算代碼設定時間表。根據一個實施例,輔助判定器209實現資源檢測處理和嚴格的優先級判定設置。資源檢測處理考慮所有可能的待決請求,根據請求需使用的資源來確定哪個請求可以發送。入站管線200的資源被分成SOP信元的查尋資源、所有的信元的MMU存取、EOP信元的EOP資源以及第二層(L2)運算的L2_MOD_FIFO資源。L2_MOD_FIFO資源是16欄目表(16entrytable),用於追蹤至第二層(L2)表的全部更新。由於L2_MOD_FIFO資源是有限的,當L2_MOD_FIFO資源佔用已滿,輔助判定器209就會限制某些運算(operations)。另外,輔助判定器209不會把對任何地址解析處理的接入設定得快於每三個時鐘周期一次。在本發明的實施例中執行的嚴格的優先級判定設置的情況下,要求輔助判定器209將最高級的優先權給予CPU接入請求、將第二級優先權給予CPU分組發送請求、將第三級優先權給予速率更新請求、將第四級優先權給予CPU存儲器重置運算、將第五級優先權給予學習和壽命運算(learnandageoperations)。當對信元數據進行處理時,輔助判定器209向配置單元208發送分組信號(包括SOP和EOP)、1024位分組信元數據、L2_MOD_FIFO鎖定位、指令運算代碼信息和指令寫入數據。本領域的技術人員知悉,判定器可將其它類型和/或配置的信息發送給配置單元208。配置單元208包括埠表,用於保持執行交換操作所需的全部主要埠特定域,其中一個欄目對應有每個埠的信息。配置單元208還包括幾個寄存器,當配置單元208從判定器206獲得信息時,配置單元208在第一個周期為埠表設置(setup)入站,在第二個周期為其它埠特定的寄存器多路復用輸出。在第二個周期結束時,配置單元208向剖析單元210發送輸出信息,包括SOP、EOP、MOP、PURGE和統計更新。剖析單元210管理入站管線緩衝器,當查尋請求經過管線200時,入站管線緩衝器保持128位元組信元。當查尋請求到達管線200的末尾時,數據從入站管線緩衝器中取出,並發送到MMU104。如果數據是在高速埠上接收的,剖析單元210剖析出伴隨分組的96位模塊報頭。圖3示出了剖析單元210的組成部分。根據圖3,剖析單元210包括源中繼映射表(maptable)302、L2剖析模塊304、第三層(L3)剖析模塊306、L3信道查尋模塊308、IPv4校驗和模塊310、第四層(L4)剖析模塊312和用戶定義域(UDF)剖析模塊314。剖析單元210利用源中繼映射表302進行源中繼解析。L2剖析模塊304支持對不同類型的第二層(L2)封裝的剖析,包括乙太網II、802.3、SNAP以及802.3LLC分組類型。L3剖析模塊306支持對不同類型的第三層(L3)封裝的剖析,包括具有或者不具有可選項的IPv4分組、IPv6分組以及ARP分組。另外,L3剖析模塊306支持對信道化分組的剖析,以使IP-in-IP和IPv6overIPv4信道能夠實現。L3信道查尋模塊308包括128個欄目的TCAML3信道表,以使剖析器210能夠確定入站分組是否是信道化IPv4分組。IPv4校驗和模塊310檢測外部IPv4報頭上的IPv4校驗和,並檢測具有或者不具有可選項的外部IPv4報頭上的IPv4校驗和。L4剖析模塊312支持L4剖析,UDF剖析模塊314支持用戶定義域剖析,以允許用戶與分組的第一個128位元組內的任意域相匹配。對全部域進行剖析後,剖析單元210將入站信元數據寫入入站管線緩衝器,並將寫指針往下傳遞到管線。由於分組數據被寫入入站管線緩衝器,分組數據不需要進一步傳送,剖析過的模塊報頭信息可丟棄。然後丟棄單元212查尋各種早期的丟棄狀況,並丟棄分組和/或防止分組通過設備發送。交換單元213對入站分組執行地址解析處理和其它交換操作。根據本發明的一個實施例,交換單元213包括第一交換單元214和第二交換單元216。第一交換單元214決定(resolve)任何丟棄狀況、執行BPDU處理、檢測L2原站運動、決定L2和L3單播分組、L3多播分組以及IPMC分組的大多數目標處理。第一交換單元214還通過將不同類型的協議分組拷貝到CPU上或將它們丟棄,來執行協議分組控制交換。第一交換單元214還執行全部的源地址檢測,並確定在工作站運動情況下L2欄目是否需要被學習或被重新被學習。第一交換單元214還執行目標呼叫,以確定根據目標交換信息如何交換分組。特別地,第一交換單元214計算出單播分組的目標埠或者多播分組的埠位圖、計算新的優先級、選擇性地將分組轉入CPU,並在各種錯誤狀況下丟棄分組。第一交換單元214還包括DSCP表,用於將入站IPv4或IPv6DSCP映射到新值上。第一交換單元214還包括速率限制計數器(counters),它可為多播、廣播和DLF信息流提供程序控制特定速率的能力。第一交換單元214進行高速交換處理,該高速交換處理與埠109a-109i的交換處理分離,並根據單元報頭運算代碼交換入站高速分組。然後第二交換單元216執行FP動作解析(actionresolution)、源埠移除(sourceportremoval)、中繼解析(trunkresolution)、高速中繼(highspeedtrunking)、埠阻斷(portblocking)、CPU優先級處理、端對端線端(end-to-endHeadofLine)(HOL)資源檢測、資源檢測、鏡像、最大傳送長度(MTU)檢測,其中最大傳送長度(MTU)檢測用於確認入站/出站分組的長度小於最大傳送長度。第二交換單元216採用第一交換單元214的交換決策、任何L3路由信息和FP重新定向,從而產生交換的最終目標。第二交換單元216還從目標埠位圖中移除源埠,並執行中繼解析處理,從而為單播分組的目標埠、入站的鏡像到埠和出站的鏡像到埠決定中繼(線路)。第二轉換單元216還通過檢測源埠是否是高速中繼群組的一部分來執行高速中繼,如果是,移除源高速中繼群組的全部埠。第二交換單元216還通過執行各種原因的屏蔽,包括捕捉(meshing)和出站屏蔽,來執行埠阻斷。第二交換單元216還為正向CPU發送的分組確定優先權/服務等級。第二交換單元216還在鏡像操作之前執行資源檢測,以便為出站鏡像操作生成精確的埠位圖,並將可能已被鏡像操作添加的任何資源受限的埠移除。然後第二交換單元216將p總線域(p-busfields)和信元數據輸出到MMU104。p總線域指示出站單元106如何交換和更改分組。當從MMU104接收分組時,對於72千兆字節埠帶寬和CPU處理帶寬,出站模塊106支持執行多個出站功能。根據一個實施例,出站模塊106能夠處理多於72千兆的信息流,也就是每個GE埠24千兆,4個高速埠(12G),以及CPU處理埠0.2GE。出站模塊106接收從乙太網埠109a-109i、MMU104輸入的初始分組,並將更改的或者未更改的分組傳送到目標埠109j-109x。根據本發明的一個實施例,設備100內的所有分組更改都是在出站模塊106中進行的,且出站模塊106的核心處理的運行能夠比目標埠109a-109x的處理運行更快。因此,出站模塊106在埠上提供了延遲機制,以防止埠109a-109x發生過載,從而按照埠的速度為每個埠提供服務。在本發明的實施例中,出站模塊106通過1024位數據接口連接到MMU104上,MMU104發送的所有分組都通過出站模塊106。特別地,MMU104將未更改的分組數據和控制信息傳遞給出站模塊106。控制信息包括表查尋結果和在入站模塊102中做出的交換決策。所有的埠108和109以及CPU處理111共用來自MMU104的數據總線。這樣,總線使用「基於請求」的時分復用(TDM)方式,其中在總線上各千兆埠每72個周期輪到一次,各高速埠108每6個周期輪到一次。CPU處理分組數據通過空時段(總線上出現的空閒時間)傳送。當接收MMU104的信息時,在數據被傳送到適當的目標埠109a-109x之前,出站模塊106剖析分組數據、進行表查尋、執行交換邏輯、更改、排列(align)、及進一步緩衝分組。出站模塊106通過32位S總線接口連接到CPU處理模塊111上,CPU利用該32位S總線接口向出站模塊106發送請求。請求典型地用於讀取出站模塊的資源,也就是寄存器、存儲器和/或統計計數器。一旦接收到請求,出站模塊106將請求轉換成命令,並使用一種機制(將在以下詳細描述)在管線上可利用的時段將CPU指令存儲並插入到管線中。圖4示出了出站單元106的集中式出站管線結構圖。出站管線包括判定器402、剖析器406、表查尋單元408、決策單元410、更改單元412以及數據緩衝器414。為接入出站管線資源,判定器402對來自MMU的分組數據和控制信息、來自CPU的信息提供判定。剖析器406為表查尋和更改執行分組剖析。表查尋單元408為剖析器406發送的信息執行表查尋。決策單元410用於確定是否對分組進行更改、丟棄或其它處理。更改單元412根據入站模塊的前面單元的輸出對分組數據做出更改。來自MMU104的所有入站分組數據都被發送到初始分組緩衝器404。在本發明的一個實施例中,初始分組緩衝器是1044位寬、18字深。出站管線接收兩個輸入來自MMU104的分組數據和控制信息、以及來自S總線的CPU運算。初始分組緩衝器404存儲分組數據並對來自MMU104的任何空周期保持追蹤。初始分組緩衝器404輸出其寫地址,剖析器406將帶有管線指令的最近寫地址傳遞到更改單元414。判定器402收集來自MMU104的分組數據和控制信息、來自CPU的對寄存器和存儲器的讀取/寫入請求,使來自MMU104的分組數據和控制信息同步,並將來自CPU的請求寫入保持寄存器。根據來自CPU的請求類型,判定器402產生管線寄存器和存儲器接入(access)指令以及硬體表初始化指令。當判定器402收集分組數據、CPU請求和硬體表初始化消息之後,其產生適當的指令。根據實施例,判定器402生成分組指令的起始信元、分組指令的未端信元、分組指令的中間信元、分組指令的首尾信元、寄存器讀運算指令、寄存器寫運算指令、存儲器讀運算指令、存儲器寫運算指令、存儲器復位(reset)寫運算指令、存儲器復位(reset)寫全部運算指令以及無運算指令。判定器402賦予與分組指令的起始信元和分組指令的首尾信元相關的出站管線資源以最高的優先級。判定器402賦予分組指令的末端信元、分組指令的中間信元、寄存器讀運算指令、寄存器寫運算指令、存儲器讀運算指令和存儲器寫運算指令以第二級優先權。判定器402賦予存儲器復位寫運算指令和存儲器復位寫全部運算指令以第三級優先權。判定器402賦予無運算指令以最低的優先級。當從判定器402處接收指令後,剖析器406利用判定器402發送的控制信息及配置寄存器,剖析與分組指令的起始信元和分組指令的首尾信元有關的分組數據。根據實施例,對分組數據進行剖析以獲得L4和L3域,該L4和L3域出現在分組的第一個148位元組。然後表查尋單元408從剖析器406接收所有的分組域和寄存器值。圖5進一步示出了表查尋單元408。表查尋單元408包括L3模塊502、VLAN單元504、VLAN解碼單元506、IP信道查尋單元508。在本發明的實施例中,L3模塊502包括8k深的下一跳表(nexthoptable)510以及4k深的接口表512。下一跳表510是根據MMU104的13位寬下一跳(nexthop)目錄編成索引的,下一跳表510根據分組的類型提供所用的MAC地址和的接口號碼,以為接口表512做索引。對於全部存儲器讀取運算和存儲器寫入運算指令,表查尋單元408解碼地址,並在對應的表中寫入或讀取數據。VLAN單元504用於獲取VLAN相關的信息以及輸出埠的生成樹狀態。VLAN單元504包括VLAN表514和單元(STG)表516。VLAN表514根據來自分組或接口表512的VLANID編制索引。如果VLAN表查尋結果是「失敗」,也就是無效VLAN,則該分組將被丟棄。如果VLAN條目是有效的,但是輸出埠不是VLAN的成員,則該分組也被丟棄。VLAN表輸出VLAN成員列表、無標記位圖以及用於索引STG表516的STG組號碼。STG表516輸出STG向量,STG向量包含輸出埠的生成樹狀態。VLAN單元504還確定在出站管線中是否應該為CPU和入站鏡像情況更改分組。VLAN解碼單元506將入站VLAN轉換成新的一個,並搜索各種表。VLAN解碼單元506包括內容可尋址存儲器(CAM)518和相關的數據隨機可尋址存儲器(RAM)520。CAM518的搜索是以VLANID和目標埠號碼為入口的,如果找到相關的入口,可從CAM518中獲得地址,從而接入相關的數據RAM520。IP信道查尋單元508從適當的表、寄存器和被剖析的分組域獲得部分(partial)信道IP報頭。IP信道查尋單元508包括IP信道表522。該IP信道表522編成索引,給出了接口表512中的信道索引,並在其它的信息中輸出信道類型,這些信道類型用於區別出站管線所遵循的信道協議。接下來,來自表查尋單元406的信息被傳送到決策單元410,在決策單元410中做出決策,確定是否對分組進行更改、丟棄或其它處理。例如,決策單元410首先在分組傳輸的起始查尋清除位(flushbits),如果清除位被設定,則將該分組標記為「丟棄」。在本發明的實施例中,如果已經在傳送中為分組設定清除位,則該分組被完全傳送,下一個分組被清除。在另一個實施例中,MMU104可將分組標記為清除、老化(aged)或信元錯誤,決策單元410既可丟棄這些分組,也可傳送這些分組但是將它們標記為錯誤的。在另一個例子中,如果VLAN解碼功能是激活的,但是CAM518查尋失敗,如果某些域被設定,決策單元410則丟棄該分組。決策單元408還確定分組是否需要進行L4交換或L3路由,並確定需要在分組上執行的鏡像功能的類型。之後更改單元412為分組構造信道IP報頭和模塊報頭,使分組內的替換(replacement)改變,並計算內、外IP報頭的IP的校驗和。更改單元412從初始緩衝器404接收分組數據接口,初始緩衝器404使更改單元412為初始緩衝器404提供讀取地址,並相應地獲得分組數據和基本控制數據。然後更改單元412根據從初始緩衝器404接收到的數據,產生分組的中部和分組指令的未端,並根據這些命令做出變化。更改單元412還從決策單元410接收全部分組決策和管線命令,並使用這種信息對分組做出進一步的改變。特別地,需要被入站分組域填充的信道IP報頭的全部域被填充。另外,IP信道報頭的IP校驗和的計算與報頭的構建並行進行。更改單元412還從初始緩衝器404中讀回分組和控制信息,並執行所有的分組更改和域替換。它在一條總線上輸出CPU運算和硬體命令、以及與其相關的數據和地址,還在另一條總線上的輸出分組數據和控制信息。另外,更改單元412對報頭進行物理封裝和解包,以及特徵標記移除和插入。如果分組進入高速埠,更改單元412將分組從乙太網格式轉換成高速格式。更改單元412還通過填充(padding)小於64位元組的分組來排列分組,還通過將數據排列到1314位範圍來清除空穴。之後,1314位「完整的」數據字從更改單元412輸出至數據緩衝器414。數據緩衝器414將來自更改單元412的完整數據字存儲在存儲器中。在出站管線將分組發送到目標埠109a-109x之前,分組數據存儲在數據緩衝器414中,以達到管線延遲和埠速度匹配。只要MMU104有自由空間,數據緩衝器414就能從MMU104請求數據。作為上述分組發送和處理的一部分,與之前的技術相比,本發明在處理接收到的數據分組時,能使延遲時間減少。該過程在圖6中示出。如上所述,存儲管理單元(MMU)606用於管理在分組存儲器601中數據的存儲和重新獲取。分組存儲器被看作MMU的一部分,但是本發明也可應用於分組存儲器中的直通處理,這種分組存儲器可以設置網絡設備內,也可以設置在網絡設備外部。根據本發明的至少一個實施例,在分組被分組存儲器601完全接收之前,允許MMU606將分組發送到出站埠605。信元的臨界數量被提供,用於確定在允許MMU將分組發送到出站埠之前必須接收到多少個信元。在一個實施例中,這個值可被配置成預定數量的信元,取決與網絡設備的延遲時間。在圖6中,接收到的信元的數量用「n」表示。為了激活這個功能,可設定寄存器內的一個位域。當由於不夠預定數量的信元,分組未被傳送時,在之後所接收的每個信元每次到達時,都執行直通檢測,直至滿足條件。可能已到達分組的末端,或者分組通過直通檢測並開始直通處理。必須將埠的埠速度參數提供給MMU606,從而使該模塊做出正確的決策,該決策關於當沒有接收完分組時是否允許轉發。如果入站埠速度快於或等於出站埠的速度,可使用直通處理。如果入站埠速度慢於出站埠的速度,可發生欠載(under-run),從而不允許直通處理。多播和廣播分組也受到埠速度性能的影響。所有參與多播或廣播的埠必須滿足上述的要求,才能允許直通處理。MMU還採用延遲因子「m」,如圖7所示。該延遲因子的取值範圍為1至7,主要取決於目標埠的速度。如圖所示,根據目標埠的速度從10Mbs至12Gbs來設定該因子1至7。由於出站埠處潛在的延遲可能引起過載或者堆積(backups),所以採用了延遲因子。通過使用該因子,這些內在的延遲可被補償,直通處理可順利執行。通過實施本發明,用戶可減少給定的分組從網絡設備的入口至網絡設備的出口的延遲時間。與之前的技術方法相反,在同一個分組可從網絡設備中出來之前,不需要等待整個分組被網絡設備完全接收。雖然以上是通過實施例對直通處理進行說明,但是本發明不限於上述的實施例。相反,它包括允許在存儲器內進行直通處理的任何網絡設備,使得在分組開始傳送到出站埠之前,無需完全接收分組。如本領域的技術人員所知悉,在上述優選實施例中,本發明的上述配置,可通過適當的半導體製造技術及線路布圖,在半導體基底(例如矽)上實現。根據上述的結構描述,半導體設計和製造技術專業的技術人員能夠將本發明的各種模塊、埠和表、緩衝器等在單個的半導體基底上實現。本發明的範圍也包括在分立的電子器件上實現本發明所揭露的各種部件,從而不必通過使用單個的半導體基片,也可利用本發明的功能特徵。關於本發明,網絡設備可以是任何處理網絡數據的設備,可包括交換機、路由器、橋接器、網關或者伺服器。另外,雖然上面的討論特別提及對分組的討論,但是,在實際應用的內容中,可包括任何種類的數據報文、數據分組和信元,或網絡設備之間交換的任何類型的數據。前面的描述是針對本發明的特定實施例。但是,很顯然可以對所描述的實施例做出其它的變化和更改,並獲得它們的一些或所有優點。因此,本發明的權利要求的目的是涵蓋所有落入本發明的精神實質和範圍內的這樣的更改和變化。本發明要求申請日為2004年11月30日、申請號為60/631,624的美國臨時專利申請的優先權,本申請參考該在先申請並將其結合於本申請中。權利要求1.一種處理分組的網絡設備,包括對入站分組執行交換功能的入站模塊;存儲分組的存儲器管理單元;以及將入站分組發送至出站埠的出站模塊;其中存儲器管理單元用於將入站分組的初始信元存儲在存儲器中、決定直通處理是否需要激活,並當直通處理激活時,在將入站分組的最終信元存儲到存儲器中之前,將初始信元轉發給出站埠。2.根據權利要求1所述的網絡設備,其特徵在於所述存儲器管理單元用於檢測入站埠的入站速度是否大於或等於出站埠的出站速度,當入站速度大於或等於出站速度時,激活直通處理。3.根據權利要求2所述的網絡設備,其特徵在於所述存儲器管理單元用於檢測多播分組的每個目標埠的速度,當每個目標埠的速度都小於入站速度時,激活直通處理。4.根據權利要求1所述的網絡設備,其特徵在於所述存儲器管理單元用於確定入站分組是否是大尺寸的分組,當入站分組是大尺寸的分組時,激活直通處理。5.一種在網絡設備中處理分組的方法,所述方法包括以下步驟接收入站分組的信元;確定入站分組的出站埠;將入站分組信元的初始信元存儲在存儲器中;決定直通處理是否需要激活;以及當直通處理激活時,在將入站分組的最終信元存儲到存儲器中之前,將初始信元轉發給出站埠。6.根據權利要求5所述的方法,其特徵在於所述決定步驟包括,檢測入站埠的入站速度是否大於或等於出站埠的出站速度,當入站速度大於或等於出站速度時,激活直通處理。7.根據權利要求6所述的方法,其特徵在於所述檢測步驟還包括檢測多播分組的每個目標埠的速度,當每個目標埠的速度都小於入站速度時,激活直通處理。8.一種在網絡設備中處理分組的裝置,所述裝置包括用於接收入站分組的信元的接收裝置;用於確定入站分組的出站埠的確定裝置;用於將入站分組信元的初始信元存儲到存儲器中的存儲裝置;用於決定直通處理是否需要激活的決定裝置;以及用於當直通處理激活時在將入站分組的最終信元存儲到存儲器中之前將初始信元轉發給出站埠的轉發裝置。9.根據權利要求8所述的裝置,其特徵在於所述決定裝置包括用於檢測入站埠的入站速度是否大於或等於出站埠的出站速度的檢測裝置,以及用於當入站速度大於或等於出站速度時激活直通處理的激活裝置。10.根據權利要求9所述的裝置,其特徵在於所述檢測裝置還包括用於檢測多播分組的每個目標埠的速度的第二檢測裝置,以及當每個目標埠的速度都小於入站速度時激活直通處理的激活裝置。全文摘要一種處理分組的網絡設備,該網絡設備包括對入站分組執行交換功能的入站模塊;存儲分組的存儲器管理單元;以及將入站分組發送至出站埠的出站模塊。所述存儲器管理單元被配置來將入站分組的初始信元存儲在存儲器中,確定直通處理是否被激活,當直通處理被激活時,在入站分組的最終信元存儲到存儲器中之前,將初始信元轉發給出站埠。文檔編號H04L12/56GK1798101SQ20051012656公開日2006年7月5日申請日期2005年11月29日優先權日2004年11月30日發明者希恩海森·吳申請人:美國博通公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀