国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡(luò)處理器單元和用于網(wǎng)絡(luò)處理器單元的方法

      文檔序號:7798717閱讀:131來源:國知局
      網(wǎng)絡(luò)處理器單元和用于網(wǎng)絡(luò)處理器單元的方法
      【專利摘要】一種用于處理網(wǎng)絡(luò)中的分組的網(wǎng)絡(luò)處理器單元(10)及其方法,該網(wǎng)絡(luò)處理器(10)包括:通信接口(14),被配置成接收和傳送分組;至少一個處理裝置(16),用于處理分組或其部分;嵌入式交換機(12),被配置成在通信接口(14)和處理裝置(16)之間交換分組;以及其中,嵌入式交換機(12)被配置成分析接收的分組并確定該分組是否應(yīng)被丟棄;如果分組不應(yīng)被丟棄,則該交換機被配置成存儲所接收的分組,發(fā)送該分組的第一部分給處理裝置(16)以便對其進行處理,從處理裝置(16)接收經(jīng)處理的該分組的第一部分并傳送所述經(jīng)處理的該分組的第一部分。
      【專利說明】網(wǎng)絡(luò)處理器單元和用于網(wǎng)絡(luò)處理器單元的方法
      [0001]本申請是申請?zhí)枮?00980119421.3 (國際申請?zhí)枮镻CT/EP2009/056592)、國際申請日為2009年5月29日、發(fā)明名稱為“網(wǎng)絡(luò)處理器單元和用于網(wǎng)絡(luò)處理器單元的方法”的中國發(fā)明專利申請的分案申請。
      【技術(shù)領(lǐng)域】
      [0002]本發(fā)明涉及用于處理網(wǎng)絡(luò)中的分組的方法和網(wǎng)絡(luò)處理器單元,并且特別涉及具有嵌入式分組交換機的方法和網(wǎng)絡(luò)處理器單元。
      【背景技術(shù)】
      [0003]網(wǎng)絡(luò)處理器可以被用作單芯片交換機/路由器或用在模塊化交換機/路由器中的入或出線路卡上。許多現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器包括用在網(wǎng)絡(luò)處理器的不同模塊之間的若干中間緩沖器,導(dǎo)致網(wǎng)絡(luò)處理器具有比所需更多的緩沖器空間。此外,若干中間緩沖器可能導(dǎo)致處理期間的等待時間。
      [0004]圖1示意性示出了具有若干中間緩沖器的現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器I。如所示出的,網(wǎng)絡(luò)處理器I包括業(yè)務(wù)管理器(traffic manager) 2、接口 3、具有隊列和調(diào)度器的緩沖器4a,4b,4c、處理裝置5、以及可選的外部存儲器6a,6b,參照圖1。從接口 3接收的分組數(shù)據(jù)在輸入緩沖器4a中緩沖、通過處理裝置5處理、在中間緩沖器4b中緩沖,之后被寫入業(yè)務(wù)管理器2的緩沖器。從業(yè)務(wù)管理器2,分組數(shù)據(jù)經(jīng)由輸出緩沖器4c在接口 3上被調(diào)度和傳送。由于不同系統(tǒng)之間的需求變化,導(dǎo)致分組處理的理想次序變化。例如,離開業(yè)務(wù)管理器的全部或部分業(yè)務(wù)在傳送之前可能需要附加的穿過處理裝置,如通過環(huán)回路徑7所示的。在其它情況下,可能需要兩次穿過業(yè)務(wù)管理器。
      [0005]現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器I的缺陷是需要比所需更大的大緩沖器尺寸。例如,如果突發(fā)的分組數(shù)據(jù)穿過圖1的網(wǎng)絡(luò)處理器1,則它首先存儲在輸入緩沖器4a中,之后在中間緩沖器4b中最后在輸出緩沖器4c中。這意味著每一個緩沖器(輸入緩沖器、中間緩沖器以及輸出緩沖器)必須提供用于常規(guī)量的分組數(shù)據(jù)以及用于突發(fā)大小的緩沖空間。
      [0006]現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器的另一缺陷是穿過網(wǎng)絡(luò)處理器的分組順序流。如圖1所示,首先,分組在接口上被接收;第二,它們在輸入緩沖器中被緩沖;第三,它們被處理裝置處理;第四,它們在中間緩沖器中被緩沖;第五,它們被寫入業(yè)務(wù)管理器的緩沖器;以及第六,它們在輸出緩沖器中被緩沖;以及第七,它們在接口上被傳送。
      [0007]Su等人的US2005/0169259公開了一種分組交換單元,包括端口、分組交換控制單元、微處理器數(shù)據(jù)傳輸接口、微處理器、以及分組緩沖器。分組緩沖器包括分組區(qū)、索引緩沖器以及傳輸隊列電路。分組交換控制單元和微處理器數(shù)據(jù)傳輸接口兩者都可以分別從/向端口和微處理器傳輸分組。
      [0008]Su等人的分組交換單元的缺陷在于,它也需要大的緩沖空間,原因是端口具有存儲和轉(zhuǎn)發(fā)功能意味著在將分組移入分組緩沖器之前通過端口存儲。
      [0009]Langner的US2007/0230475公開了一種基于交換機的網(wǎng)絡(luò)處理器,包括輸入接口、輸出接口、處理部件、以及具有雙向端口的交換機。網(wǎng)絡(luò)處理器將信息與通過輸入接口接收的分組關(guān)聯(lián),并且該信息基于交換機的交換操作串行次序通過多個處理部件順序地處理。該網(wǎng)絡(luò)處理器可被看作在各處理部件的輸入和輸出之間根據(jù)應(yīng)用提供可選擇的互連。對于特定應(yīng)用,分組將因此僅流到所需的以及處于恰當(dāng)次序的特定處理部件。處理部件的次序通過交換機的配置和處理部件的配置來獲得。
      [0010]Langner的網(wǎng)絡(luò)處理器的缺陷是:針對給定應(yīng)用(如安全交易服務(wù)器應(yīng)用、安全套接字層(SSL)VPN防火墻應(yīng)用或安全因特網(wǎng)協(xié)議(IPSEC) VPN防火墻應(yīng)用)的分組交換的預(yù)定串行次序。在針對特別應(yīng)用進行配置之后,所有的分組將具有相同的串行處理次序,并因此將采用相同的路徑穿過網(wǎng)絡(luò)處理器。

      【發(fā)明內(nèi)容】

      [0011]本發(fā)明的目的是克服現(xiàn)有技術(shù)的缺陷和缺點。更特別地,本發(fā)明的目的是使網(wǎng)絡(luò)處理器中的緩沖器尺寸最小,并為分組提供靈活的路徑穿過網(wǎng)絡(luò)處理器以便適應(yīng)不同的系統(tǒng)需求。
      [0012]上述目的尤其利用按照獨立權(quán)利要求的方法和網(wǎng)絡(luò)處理器單元來完成。本發(fā)明另外的實施例在從屬權(quán)利要求中詳細說明。
      【專利附圖】

      【附圖說明】
      [0013]本發(fā)明的實施例將參考以下附圖詳細描述,附圖中:
      [0014]圖1示意性圖示了現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器的框圖;
      [0015]圖2示意性圖示了按照本發(fā)明實施例的網(wǎng)絡(luò)處理器的框圖;
      [0016]圖3示意性圖示了按照本發(fā)明實施例的網(wǎng)絡(luò)處理器的框圖;
      [0017]圖4a示意性圖示了按照本發(fā)明的網(wǎng)絡(luò)處理器實施例的框圖;
      [0018]圖4b示意性圖示了按照本發(fā)明的網(wǎng)絡(luò)處理器實施例的框圖;
      [0019]圖5a示意性圖示了按照本發(fā)明的網(wǎng)絡(luò)處理器實施例的框圖,其中示出了嵌入式交換機的調(diào)度視圖;以及
      [0020]圖5b示意性圖示了按照本發(fā)明的網(wǎng)絡(luò)處理器實施例的框圖,其中示出了嵌入式交換機的調(diào)度視圖。
      【具體實施方式】
      [0021]現(xiàn)在將參考附圖詳細描述本發(fā)明,附圖中,相同的參考標(biāo)號表示相同或?qū)?yīng)的特征、構(gòu)件或裝置。
      [0022]按照本發(fā)明,圖1所示的現(xiàn)有技術(shù)的網(wǎng)絡(luò)處理器中所包括的輸入緩沖器、中間緩沖器和輸出緩沖器由嵌入式交換機來代替。按照本發(fā)明,功能塊(例如,諸如端口的通信接口、處理裝置、業(yè)務(wù)管理器、分組格式化器或與嵌入式交換機通信并將分組數(shù)據(jù)寫入嵌入式交換機的另一構(gòu)件)被配置以選擇分組數(shù)據(jù)的輸出地址。在實施例中,嵌入式交換機包括在去往網(wǎng)絡(luò)處理器的諸如功能塊的不同模塊(諸如去往處理裝置、一個或多個接口以及可能的業(yè)務(wù)管理器)的隊列之間共享的緩沖存儲器,由此所需的總緩沖尺寸減小。
      [0023]因此,按照本發(fā)明,同一分組突發(fā)在嵌入式交換機中最多每次僅發(fā)生一次。此外,本發(fā)明的尋址機制(籍此將分組數(shù)據(jù)寫到嵌入式交換機的功能塊選擇輸出地址,例如輸出端口)能夠靈活地組織穿過網(wǎng)絡(luò)處理器的模塊(例如穿過處理裝置和業(yè)務(wù)管理器)的數(shù)據(jù)路徑。而且,借助于本發(fā)明,可以基于屬性集將分組從接收接口直接交換到傳送接口,所述屬性可以基于與分組一起接收的(例如在分組頭部中的)信息。此外,本發(fā)明的統(tǒng)一通信接口和靈活的尋址使不同的子系統(tǒng)(例如處理裝置)能夠連接到嵌入式交換機的不同端口。
      [0024]應(yīng)理解,術(shù)語分組在本申請文件中使用時可能指各種類型的數(shù)據(jù)單元,包括但不限于因特網(wǎng)協(xié)議版本4 (IPv4)分組、因特網(wǎng)協(xié)議版本6 (IPv6)分組、IEEE802.3幀、點到點協(xié)議(PPP)幀、ATM信元、或其它協(xié)議數(shù)據(jù)單元(PDU)。此外,分組可以是這樣的rou(例如、信元、分段或存儲頁)的、控制消息的、或者在網(wǎng)絡(luò)處理系統(tǒng)內(nèi)相互通信的另一類型的數(shù)據(jù)單元的一部分。
      [0025]圖2示意性圖示了按照本發(fā)明實施例的網(wǎng)絡(luò)處理器10,有時也稱為網(wǎng)絡(luò)處理單元。網(wǎng)絡(luò)處理器10包括交換機12、通信接口 14和處理裝置16。交換機12被設(shè)置為與接口 14和處理裝置16通信。
      [0026]圖3示意性圖示了網(wǎng)絡(luò)處理器10的實施例,該網(wǎng)絡(luò)處理器10還包括設(shè)置成與交換機12和通信接口 14通信的業(yè)務(wù)管理器18??蛇x的外部存儲器20、22可以被設(shè)置成分別與處理裝置16和業(yè)務(wù)管理器18通信。
      [0027]該網(wǎng)絡(luò)處理器可以是各種已知類型中的任一種,包括在國際專利申請N0.PCT/EP2007/055777(其通過引用結(jié)合于此)中描述的處理器,但是它還可以是加密的處理器、字符串搜索處理器、和/或通用CPU。該處理器可以包括各種已知類型的處理裝置,包括如國際專利申請N0.PCT/SE2005/001969(其通過引用結(jié)合于此)中描述的同步處理管道。此夕卜,該處理器可以包括諸如分組格式化器和/或業(yè)務(wù)管理器之類的處理裝置。
      [0028]交換機12被配置為提供業(yè)務(wù)管理功能,包括服務(wù)類別分離、分層調(diào)度、業(yè)務(wù)整形、以及空間和邏輯多播。
      [0029]此外,交換機12 (優(yōu)選嵌入式交換機),在此還被稱為共享存儲器交換機(SMS),被配置成在通信接口(例如在接收/傳送接口 14中之一)和處理裝置16之間交換分組。在實施例中,所述交換優(yōu)選基于與分組一起接收的信息(例如設(shè)置屬性)。此外,交換機12適于在數(shù)據(jù)路徑上以匹配系統(tǒng)需求(即匹配網(wǎng)速)的數(shù)據(jù)率來交換分組數(shù)據(jù)。
      [0030]圖4a,4b示意性圖示了網(wǎng)絡(luò)處理器10的實施例,其中交換機12包括分組緩沖器24、輸入端口(有時也稱為寫端口)26a、輸出端口(有時也稱為讀端口)26b、輸入仲裁器28、隊列映射器30、丟棄單元34、隊列管理器36、以及分組調(diào)度器38。如圖4所示,網(wǎng)絡(luò)處理器10的實施例還可包括設(shè)置成與交換機12通信的分組格式化器32。
      [0031]在實施例中,交換機12被配置成利用交換機12的嵌入式存儲器中的緩沖器來完成分組交換,參照圖4a,4b。該緩沖器可以例如是諸如分組緩沖器24之類的嵌入式緩沖器。
      [0032]如圖4a,4b中示例性圖示的,分組緩沖器24(有時也被稱為主分組緩沖器)包括用于儲存分組數(shù)據(jù)的數(shù)據(jù)儲存器24-1以及控制單元24-2,控制單元24-2包括用于執(zhí)行隊列的邏輯和控制存儲器以及用于多播和/或單播的裝置??刂拼鎯ζ鞅慌渲贸纱鎯︽溄拥牧斜碓?包括例如到分組數(shù)據(jù)的指針、到其它鏈接的列表元素的指針)以及分組屬性(諸如分組類型和分組長度)。共享存儲器交換機12的分組緩沖器24可以利用以下端口中的一個或多個端口來讀取或?qū)懭?多個端口 26(26a,26b);處理裝置端口(例如可編程管道端口(PP端口)、業(yè)務(wù)接口端口(TI端口)、可選的分組格式化器端口(PF端口)、和/或可選的業(yè)務(wù)管理器端口(TM端口))。
      [0033]PP,TI,PF,TM端口 26可包括一個或多個子端口,即該端口內(nèi)的一個或多個邏輯地址。子端口可由來自接收子系統(tǒng)(例如來自處理裝置16、業(yè)務(wù)管理器18和/或分組格式化器32)的背壓來調(diào)節(jié)(throttle)。例如,對應(yīng)于TX以太網(wǎng)MAC的TI子端口可以調(diào)節(jié)在調(diào)度器中針對去往業(yè)務(wù)接口 14的隊列映射到該子端口的節(jié)點。PP讀端口可具有對應(yīng)于業(yè)務(wù)接口的16個子端口。TI讀端口可具有對應(yīng)于業(yè)務(wù)接口的64個子端口。TM讀端口可具有單個子端口。PF讀端口可具有2個子端口。當(dāng)在端口 26上對具有不同子端口的分組進行讀取或?qū)懭霑r,可以將分組交織,即屬于第一子端口的第一分組的第一部分可在端口上被讀取或?qū)懭耄笫窃诘谝环纸M的第二部分之前在該端口上讀取或?qū)懭氲诙纸M的第一部分。
      [0034]分組緩沖器24可以被配置成以存儲-轉(zhuǎn)發(fā)方式來操作,即分組緩沖器24被配置成存儲完整的輸入分組之后將其發(fā)出,使得存儲器交換機12可以證實所接收分組的分組完整性并丟棄有差錯標(biāo)記的分組。此外,在實施例中,分組緩沖器24被配置成存儲4MB的分組數(shù)據(jù)并吸收高達32K的分組。它可以支持400MHz的分組寫速率和分組讀速率。在另一實施例中,它可以支持800MHz的分組寫速率和400MHz的分組讀速率。然而,應(yīng)理解該分組寫速率和分組讀速率可以改變,并且可以分別是另一適當(dāng)?shù)膶懰俾屎妥x速率。分組緩沖器24還可以包括64個多播隊列,每個隊列可以容納64個分組。
      [0035]在實施例中,交換機12被配置成不修改分組對齊,即不修改該分組或包含在該分組中的數(shù)據(jù)。此外,為了給網(wǎng)絡(luò)處理器10接收的分組預(yù)留用于附加的頭部的空間,業(yè)務(wù)接口 14應(yīng)優(yōu)選被配置成例如通過增加分組偏移值PBase來將分組偏移移位。通信接口 14還可以在將來自交換機12的分組傳輸?shù)嚼邕B接的單元之前,將額外的頭部空間從該分組中剝離。被配置成接收和傳送完整分組的其它處理裝置也可以將分組偏移移位。這些處理裝置包括例如業(yè)務(wù)管理器、分組格式化器、加密處理單元或字符串搜索處理單元。
      [0036]在實施例中,當(dāng)從隊列讀取分組以便插入到處理裝置16中時,頭256個字節(jié)被發(fā)送到處理裝置16。如果分組長度PLen和分組偏移值PBase的和為256字節(jié)或更少,則整個分組進入處理裝置16。如果分組較長,即如果PLen和PBase的和大于256個字節(jié),則該分組的尾部被保持在分組緩沖器24的專區(qū)中(例如在數(shù)據(jù)儲存器24-1中),并且當(dāng)分組頭部從分組裝置16退出時,該分組尾部與分組頭部被重新連接。然而,在另一實施例中,整個分組被發(fā)送到處理裝置16,不管分組長度如何。此外,處理裝置16可以被配置成處理分組的部分、全部分組以及它們的組合。還應(yīng)理解,交換機接收的分組或其部分可以被交織。
      [0037]在實施例中,如果接收的分組具有變化的長度,則在分組短的情況下(例如,在64字節(jié)和256字節(jié)之間且包含64字節(jié)和256字節(jié))比在分組長的情況下(例如大于256字節(jié))分組速率更高。在僅長分組的第一部分被發(fā)送到處理裝置16的實施例中,處理裝置16的容量可被超額預(yù)訂(oversubscribe),即低于針對短分組以最大分組速率處理分組所需的容量。如果處理裝置16被超額預(yù)訂,則嵌入式交換機12可以存儲臨時的短突發(fā)分組。如果這些突發(fā)的范圍被限制,且處理裝置16的容量大于平均分組速率,則所有接收的分組可以仍然由處理裝置16來處理,原因是該處理裝置16可以追上和處理先前在具有長分組的周期期間存儲的突發(fā)。[0038]在實施例(其中長分組的頭部被發(fā)送到處理裝置16,并且處理裝置16的作用就象同步管道一樣適于以受保證的150MHz分組速率或另一適當(dāng)分組速率來處理短分組)中,如果分組長的話,可能有未使用的處理容量,因為針對長分組的分組速率可能小于該受保證的分組速率,導(dǎo)致可插入分組到該同步管道的時隙未被使用。在這樣的實施例中,從處理裝置16退出的分組頭部可以被存儲在嵌入式交換機12中,并重新進入處理裝置16以供進一步處理,從而利用了另外未使用的處理容量。在處理完成之后,分組頭部從處理裝置16退出并與嵌入式交換機12中的分組尾部重新連接。例如在分組集合的子集需要比其它分組更多的處理時(例如由于它們需要添加額外的協(xié)議頭部),這種擴展的處理是有用的。
      [0039]交換機12被配置成支持單播、邏輯多播和/或空間多播。分組類型和附加的輸入?yún)?shù)作為分組屬性隨分組被傳遞到寫端口內(nèi),如下所述。
      [0040]在實施例中,嵌入式交換機12包括用于邏輯多播的裝置,由此嵌入式交換機12至少部分地基于隨分組接收的信息以及可選地還部分基于一個或多個查找表中的信息,通過將屬性NumCopies隨寫入到隊列中的分組一起存儲而存儲拷貝數(shù)量。當(dāng)從隊列讀取分組時,該分組的NumCopies個拷貝被傳送。
      [0041]因此,通過邏輯多播,分組被讀取多次。當(dāng)這樣的分組出列時,可以將用于拷貝數(shù)量的參考計數(shù)器遞減。然而,應(yīng)理解,參考計數(shù)器可以針對每個拷貝遞增直到達到拷貝的最大數(shù)量。如果拷貝的數(shù)量到達最小數(shù)(例如零)或者最大數(shù),該分組從隊列中解除分配。否貝U,該分組被保留在隊列中,并且當(dāng)被對應(yīng)調(diào)度器選擇時重復(fù)地出列。邏輯多播可以支持高達每個分組64個拷貝,它適合于包括3層多播,即ISO OSI模型三層多播,例如IP分組的多播以及VPLS(虛擬專LAN服務(wù))泛洪的大范圍應(yīng)用。
      [0042]在實施例中,嵌入式交換機12包括用于空間多播的裝置,由此嵌入式交換機12至少部分地基于隨分組接收的信息以及可選地還部分地基于一個或多個查找表中的信息、來選擇至少兩個隊列并將接收的分組寫到所選擇的兩個隊列。
      [0043]因此,通過空間多播,分組描述符被并行寫到多個空間多播隊列而非常規(guī)隊列,并且參考計數(shù)器被初始化。對于每個空間多播隊列,多播拷貝被創(chuàng)建且參考計數(shù)器被遞增或遞減。如果拷貝數(shù)量達到最小數(shù)量(例如零)或最大數(shù)量,該分組從該隊列中解除分配。這些空間多播隊列可被配置成遮蔽交換機12中的隊列。這意味著空間多播隊列被讀取而不是被對應(yīng)的調(diào)度器選擇的隊列??臻g多播適合于到物理端口的低等待時間多播,其中多媒體分布或二層多播或廣播是典型的應(yīng)用。每個空間多播隊列能夠容納高達任何分組大小的64個分組。
      [0044]應(yīng)理解,可以組合邏輯和空間多播。對于被寫到空間多播隊列的分組,拷貝數(shù)量可以是高達64K。該組合可以用于針對物理端口內(nèi)的邏輯子端口制作拷貝。
      [0045]在實施例中,交換機12的輸入仲裁器28被配置成服務(wù)于來自交換機12的輸入端口 26a的交織分組并朝向分組緩沖器24將其傳遞給隊列映射器30,參照圖4a,4b。因此,輸入仲裁器28可以被配置成將來自一個或多個輸入端口 26的分組數(shù)據(jù)緩沖并調(diào)度到交換機12。來自一個或多個輸入端口 26的分組數(shù)據(jù)43a由包含在輸入仲裁器28中并由輸入仲裁器28服務(wù)的隊列接收。該輸入仲裁器28被配置成將來自不同輸入端口 26a的分組數(shù)據(jù)43a進行交織,當(dāng)時將一個存儲頁寫入交換機12。如果隊列裝滿,則可以激活用于溢出保護的機制,如背壓44a,44b,尾部丟棄或頭部丟棄。[0046]在實施例中,隊列映射器30被配置成接收來自輸入仲裁器28的分組屬性42a。分組屬性隨分組通過業(yè)務(wù)接口 14、可選分組格式化器32、可選業(yè)務(wù)管理器18和/或處理裝置16中的一個或多個發(fā)送。在其它實施例時,分組屬性還可以單獨被發(fā)送而不發(fā)送分組。隊列映射器30被配置成解碼分組屬性并根據(jù)分組屬性生成隊列映射。隊列映射包括隊列號和其中寫入分組的可選一個或多個多個多播隊列,以及一旦分組出列制作多少數(shù)量的拷貝。隊列映射還可以由丟棄單元34使用,該丟棄單元被配置成決定是丟棄還是讓分組排隊。
      [0047]在實施例中,業(yè)務(wù)接口 14、處理裝置16、業(yè)務(wù)管理器18和可選的分組格式化器32中的至少一個基于從交換機12接收的分組屬性和/或分組數(shù)據(jù)的處理來設(shè)置分組屬性。該處理可以通過執(zhí)行計算機程序、通過有限狀態(tài)機或通過利用存儲器查找(例如在內(nèi)容可尋址的存儲器或RAM中的查找)的分類、或者通過其它由本領(lǐng)域普通技術(shù)人員所理解的適當(dāng)方式來實現(xiàn)。在其它實施例中,分組屬性按每端口、每子端口、每個流或端口內(nèi)的每個其它邏輯單元來配置。
      [0048]在一個實施例中,分組屬性42a是輸入端口 26a上的帶外信號,即屬性不是通過與分組相同的信道來發(fā)送。在另一實施例中,分組屬性42a在帶內(nèi)發(fā)送,并且交換機12 (例如隊列映射器30)被配置成從分組數(shù)據(jù)43a提取分組屬性43a。例如,隊列映射器30或輸入仲裁器28可以被配置成提取/獲取存儲在分組的頭部和/或尾部中的屬性。尾部可以包括放置在分組末端的補充數(shù)據(jù)。
      [0049]隊列映射器30包括被配置成存儲有關(guān)于隊列映射的信息的映射數(shù)據(jù)庫31。
      [0050]分組屬性可包含直接或間接的隊列映射。在直接映射的情況下,分組屬性包含隊列映射,該隊列映射被直接中繼到丟棄單元以便確定是否應(yīng)由隊列管理器將分組數(shù)據(jù)寫到對應(yīng)于該直接隊列映射的隊列。在間接隊列映射的情況下,隊列映射器30使用分組屬性42a從映射數(shù)據(jù)庫31中查找隊列映射,并且隨后該分組屬性被中繼給丟棄單元以便確定是否應(yīng)由隊列管理器將分組數(shù)據(jù)寫到查找的隊列。然而,應(yīng)理解,所述屬性可以被中繼給丟棄單元以便確定在直接或間接將分組映射到隊列之前是否應(yīng)將其丟棄。
      [0051]此外,分組屬性可包含有關(guān)于分組丟棄、分組開始、分組結(jié)束、差錯、分組長度、分組中字段的偏移、源節(jié)點、源端口、源子端口、源隊列、目的節(jié)點、目的端口、目的子端口、目的隊列、業(yè)務(wù)類別、顏色、鏡像、存儲地址、存儲器占用、多播狀態(tài)、數(shù)據(jù)保護的信息或可與分組關(guān)聯(lián)的其它信息。
      [0052]在實施例中,交換機12包括用于丟棄接收的分組而不是將其寫到隊列的裝置。丟棄分組的決定至少部分地基于當(dāng)前的隊列長度和/或平均隊列長度和/或存儲在表格中的信息和/或隨分組接收的信息。
      [0053]用于丟棄分組的裝置可以由前述的丟棄單元34實現(xiàn)。
      [0054]在實施例中,交換機12還包括用于丟棄隊列頭部的分組而不是將其傳送到輸出端口的裝置。丟棄分組的決定可以至少部分地基于當(dāng)前的隊列長度和/或平均隊列長度和/或存儲在表格中的信息和/或隨分組接收的信息和/或隊列中分組花費的時間。
      [0055]用于丟棄分組的裝置可以由丟棄單元34實現(xiàn),該丟棄單元被配置成針對每個接收的分組檢查對用于緩沖區(qū)預(yù)留以及有效隊列管理的規(guī)則的符合性,并作出通過或丟棄的決定。丟棄單元34可以被配置成包括用于加權(quán)隨機早期丟棄(WRED)的裝置以及針對可選地共享存儲器池的隊列進行尾部丟棄的裝置。丟棄單元34還可以包括配置成檢測分組差錯的裝置。丟棄單元34還可維持隊列長度并包含用于背壓生成的配置寄存器。
      [0056]通過丟棄單元34中的配置,分組緩沖器24可被分割成不同的存儲器使用類型的多個區(qū)域。丟棄單元34可被配置成監(jiān)督這些區(qū)域的使用,并應(yīng)用用于分組丟棄或背壓的一組機制來保護緩沖器存儲區(qū)域并防止毀滅性的緩沖器情形。
      [0057]在實施例中,交換機12還可包括隊列管理器36,該隊列管理器36包括配置成保持隊列狀態(tài)并管理鏈接的用于隊列和自由控制存儲器的列表的排隊塊(enqueue block)。該排隊塊還可通過如丟棄單元所請求的將分組和存儲頁添加到鏈接列表的尾部實現(xiàn)分組的排隊。隊列管理器26還可包括配置成通過如分組調(diào)度器38所請求的從鏈接列表彈出分組和存儲頁來實現(xiàn)分組的出列。
      [0058]在實施例中,交換機12包括一個或多個內(nèi)部隊列組,組的數(shù)量對應(yīng)于端口數(shù)量。
      [0059]如圖5a示意性示出的,在實施例中,交換機12包括朝向處理裝置16的隊列組:PP隊列;朝向業(yè)務(wù)接口 14或可選的業(yè)務(wù)管理器18的隊列組:TX隊列,以及到可選的業(yè)務(wù)格式化器32的隊列組:PF隊列。每個隊列組具有分組調(diào)度器38。
      [0060]如圖5b示意性示出的,在實施例中,交換機12包括朝向處理裝置16的一組隊列:PP隊列;朝向業(yè)務(wù)接口 14的一組隊列:TX隊列;朝向可選的業(yè)務(wù)管理器18的一組隊列:ΤΜ隊列;到可選的分組格式化器32的一組隊列:PF隊列;以及用于調(diào)度針對待丟棄的分組數(shù)據(jù)的讀取操作的一組隊列:丟棄隊列。每組隊列具有分組調(diào)度器38,其中某些在圖4a,4b中示意性示出。
      [0061]此外,如圖4a,4b和圖5a,5b示意性示出的,交換機12包括分組調(diào)度器38,其被配置成將來自交換機12的隊列的分組調(diào)度到與交換機12通信的一個或多個功能塊,所述調(diào)度利用調(diào)度算法來執(zhí)行。交換機12可以每個輸出端口具有至少一個調(diào)度器,其確定針對該隊列的業(yè)務(wù)次序。
      [0062]在實施例中,分組調(diào)度器38被配置成利用虧損加權(quán)循環(huán)法(DWRR)、嚴格優(yōu)先隊列(SPQ)以及循環(huán)法(RR)中的一種或組合來調(diào)度分組。然而,應(yīng)理解可以使用其它的適當(dāng)調(diào)度算法。例如,輸出端口調(diào)度器可以按照以下至少一種調(diào)度算法來服務(wù)隊列:循環(huán)法、加權(quán)循環(huán)法、虧損循環(huán)法、虧損加權(quán)循環(huán)法、嚴格優(yōu)先隊列、先來先服務(wù)、最早截止期優(yōu)先、時分復(fù)用或另一適當(dāng)調(diào)度算法。
      [0063]在實施例中,分組調(diào)度器38可包括:包含至少兩層調(diào)度器的一個或多個分層調(diào)度器。例如,分組調(diào)度器38可包括:處理裝置調(diào)度器-PP調(diào)度器,其被配置成將分組數(shù)據(jù)調(diào)度到處理裝置16 ;業(yè)務(wù)管理器調(diào)度器-TM調(diào)度器,其被配置成將分組數(shù)據(jù)調(diào)度到業(yè)務(wù)管理器;接口調(diào)度器-TX調(diào)度器,其被配置成將分組數(shù)據(jù)向業(yè)務(wù)接口 -TX接口,14b調(diào)度;分組格式化調(diào)度器-PF調(diào)度器,其被配置成將分組數(shù)據(jù)調(diào)度到分組格式化器32 ;和/或丟棄調(diào)度器,其被配置成調(diào)度分組丟棄。
      [0064]交換機的輸出端口調(diào)度器(例如TX調(diào)度器)包括業(yè)務(wù)整形器,如令牌桶、漏桶或用于實現(xiàn)業(yè)務(wù)整形的其它適當(dāng)裝置或算法,其限制了從每個調(diào)度器輸出的數(shù)據(jù)速率。
      [0065]PP調(diào)度器和TX調(diào)度器可以被配置成每個都服務(wù)512個隊列,并且PF調(diào)度器可被配置成服務(wù)16個隊列。
      [0066]在實施例中,交換機可包括輸出仲裁器41,參照圖4b和5b。輸出仲裁器41可對應(yīng)于輸入仲裁器28。輸出仲裁器41被配置成從分組調(diào)度器38接收分組讀取操作的請求,并從主分組緩沖器24將這些操作轉(zhuǎn)換成數(shù)據(jù)讀取操作。輸出仲裁器41被配置成控制輸出端口 26b之間的讀取帶寬的共享。在實施例中,輸出仲裁器41被配置成利用虧損加權(quán)循環(huán)法(DWRR)、嚴格優(yōu)先隊列(SPQ)以及循環(huán)法(RR)中的一種或組合來調(diào)度分組。然而,應(yīng)理解可以使用其它適當(dāng)?shù)恼{(diào)度算法。例如,輸出端口調(diào)度器可以按照以下至少一種調(diào)度算法來服務(wù)隊列:循環(huán)法、加權(quán)循環(huán)法、虧損循環(huán)法、虧損加權(quán)循環(huán)法、嚴格優(yōu)先隊列、先來先服務(wù)、最早截止期優(yōu)先、時分復(fù)用或另一適當(dāng)調(diào)度算法。在實施例中,至少一個輸出端口具有子端口。在這種情況下,輸出仲裁器41進一步調(diào)度這些子端口并控制該輸出端口的子端口之間的帶寬共享。
      [0067]交換機12的實施例包括狀態(tài)格式化器40,其被設(shè)置成與分組緩沖器24和分組調(diào)度器38通信,并被配置成當(dāng)隊列水平超過配置的水位標(biāo)志時產(chǎn)生對分組調(diào)度器的背壓。依靠可配置的連接矩陣,背壓信號可靈活地映射到分組調(diào)度器中的隊列或節(jié)點。
      [0068]如圖5a,5b所示,調(diào)度可以被來自處理裝置16、分組格式化器32、業(yè)務(wù)接口 14、或業(yè)務(wù)管理器18的背壓進行開/關(guān)調(diào)節(jié)。換句話說,分組數(shù)據(jù)到處理裝置16、分組格式化器32、業(yè)務(wù)接口 14、或業(yè)務(wù)管理器18的調(diào)度可以被中斷,如果它們的緩沖器滿了并且不能夠接收任何更多的分組數(shù)據(jù)的話。分組調(diào)度器38停止調(diào)度和發(fā)送分組數(shù)據(jù),直到緩沖器被清空并且再一次能夠接收分組數(shù)據(jù)。
      [0069]以下示例描述了由網(wǎng)絡(luò)處理器進行的四個示例性分組的處理。可以利用網(wǎng)絡(luò)處理器的相同配置并發(fā)地處理這些分組和其它分組。因此,同一個網(wǎng)絡(luò)處理器配置可以導(dǎo)致穿過網(wǎng)絡(luò)處理器的不同流路徑。
      [0070]所有的四個分組43a最初采用相同的路徑。它們由業(yè)務(wù)接口 14接收。通過配置業(yè)務(wù)接口 14,分組屬性42a被設(shè)置成到朝向處理裝置16的PP隊列的直接映射。除非該分組被丟棄單元34丟棄,否則該分組在所選的PP隊列中排隊,且其分組數(shù)據(jù)被存儲在主分組緩沖器24的數(shù)據(jù)儲存器24-1中。從該PP隊列,分組被分組調(diào)度器38調(diào)度,并且部分或全部的分組數(shù)據(jù)被輸出仲裁器41從主分組緩沖器24中讀取,并經(jīng)由PP端口 26b發(fā)送給處理裝置16。分組屬性由交換機12基于隊列號來設(shè)定。處理裝置16借助于執(zhí)行程序代碼序列的計算機程序處理分組,其可執(zhí)行分組數(shù)據(jù)和/或分組屬性的分類和編輯,以及本領(lǐng)域普通技術(shù)人員公知的分組信息和數(shù)據(jù)庫的其它操作。處理裝置16檢查分組內(nèi)容(如分組頭部)并執(zhí)行表格查找。基于這些操作,四個分組以四種不同方式來處理,這將在以下第1)-4)點中描述。
      [0071]I)處理裝置16將第一示例性分組標(biāo)識為將穿過交換機12、業(yè)務(wù)管理器18以及再次穿過交換機12之后被送往業(yè)務(wù)接口 14的用戶分組。為了實現(xiàn)該目的,處理裝置16將容納了對于業(yè)務(wù)管理器18的輸入?yún)?shù)的頭部添加到分組,并且將分組屬性設(shè)置成對朝向業(yè)務(wù)管理器18的隊列的直接映射。在經(jīng)由交換機12傳送分組后,如上所述,業(yè)務(wù)管理器18利用輸入頭部中的參數(shù)來設(shè)置對朝向業(yè)務(wù)接口 14的隊列的直接映射。在另一個穿過交換機12到業(yè)務(wù)接口 14之后,分組被傳送給外部接收器(未示出)。
      [0072]2)處理裝置16將第二示例性分組標(biāo)識為低等待時間控制分組,其將穿過交換機12直接到業(yè)務(wù)接口 14。為實現(xiàn)該目的,處理裝置16將分組屬性設(shè)置成到朝向業(yè)務(wù)接口 14的隊列的直接映射。在另一個穿過交換機12到業(yè)務(wù)接口 14之后,該分組被傳送給外部接收器(未不出)。
      [0073]3)處理裝置16將第三示例性分組標(biāo)識為多播分組,例如多播視頻分組。該分組應(yīng)被拷貝到多個實例并被發(fā)送給業(yè)務(wù)接口 14的不同端口。為實現(xiàn)該目的,可編程的管道16將分組屬性設(shè)置成標(biāo)識多播組的間接映射。然而,應(yīng)理解,到多播隊列的直接映射也是可能的,但是由于存在許多多播隊列,提供直接的映射需要資源,因此,為了節(jié)省帶寬,優(yōu)選提供間接映射。隊列映射器30使用多播組作為關(guān)鍵字以便在映射數(shù)據(jù)庫31中查找。該查找返回其中分組排隊的多播隊列列表。除非拷貝被丟棄單元34丟棄,否則每個拷貝被寫到多播隊列。在穿過交換機12到業(yè)務(wù)接口 14之后,每個分組被傳送給外部接收器(未示出)。
      [0074]4)處理裝置16將第四示例性分組標(biāo)識為將要通過例如IPv4分段(fragmentation)來分段的用戶分組。該分組將穿過交換機12、分組格式化器32、再一次穿過交換機12、業(yè)務(wù)管理器18、以及最后一次穿過交換機12,之后被發(fā)送到業(yè)務(wù)接口 14以便傳輸。為實現(xiàn)該目的,處理裝置16針對給分組格式化器32的輸入?yún)?shù)增加頭部并將分組屬性設(shè)置成到朝向業(yè)務(wù)管理器18的隊列的直接映射。在已經(jīng)如上所述地經(jīng)由交換機12傳遞分組之后,分組格式化器32使用配置參數(shù)或輸入頭部中的參數(shù)來控制將要執(zhí)行的功能和/或操作。此外,分組格式化器32設(shè)置到返回處理裝置16的隊列的直接映射。此后,采用與用于第一示例性分組的從處理裝置16進行過程步驟的相同的過程步驟。
      [0075]盡管已經(jīng)按照所示出的實施例描述了本發(fā)明,本領(lǐng)域的一個普通技術(shù)人員將容易認識到在不背離本發(fā)明范圍的情況下可能進行變化。因此,預(yù)期的是包含在以上描述中并在附圖中示出的所有內(nèi)容應(yīng)被理解為說明性的而非限制的意義。
      【權(quán)利要求】
      1.一種用于處理分組的網(wǎng)絡(luò)處理器單元,所述網(wǎng)絡(luò)處理器單元包括: 接口,被配置成接收和傳送分組; 至少一個處理器,用于處理分組或所述分組的部分; 交換機,被配置成在所述接口和所述至少一個處理器之間交換分組; 業(yè)務(wù)管理器,被配置成與所述接口和所述交換機通信;以及 緩沖器,被包括在所述交換機中,所述緩沖器被配置成通常至少在所述接口、所述至少一個處理器和所述業(yè)務(wù)管理器之間被共享,其中分組突發(fā)在所述交換機中最多每次僅發(fā)生一次。
      2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器單元,其中所述交換機還被配置成分析在所述分組突發(fā)中接收的分組并且確定所述分組是否應(yīng)被丟棄。
      3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)處理器單元,其中所述交換機還被配置成當(dāng)所述分組不應(yīng)被丟棄時存儲所述接收的分組并且發(fā)送所述分組的第一部分至所述至少一個處理器以處理所述分組。
      4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)處理器單元,其中所述交換機還被配置成從所述至少一個處理器接收所述分組的經(jīng)處理的所述第一部分并且傳送所述分組的經(jīng)處理的所述第一部分。
      5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器單元,其中所述交換機被配置成:存儲所述分組的第二部分,從所述至少一個處理器接收所述分組的經(jīng)處理的所述第一部分,并且重新組裝所述分組的經(jīng)處理的所述第一部分和所述分組的所述第二部分,之后傳送所重新組裝的分組。
      6.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)處理器單元,其中所述緩沖器在處理所述第一部分的同時存儲所述第二部分,所述第一部分是所述分組的頭部,所述第二部分是所述分組的主體。
      7.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器單元,其中被布置成與所述交換機通信的所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器或分組格式化器被配置成基于所述分組的處理來設(shè)置分組屬性。
      8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)處理器單元,其中所述交換機基于所設(shè)置的分組屬性確定功能塊并且發(fā)送所述分組至所述功能塊,所述功能塊是所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器和所述分組格式化器之一。
      9.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器單元,其中被布置成與所述交換機通信的所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器或分組格式化器被配置成基于從所述交換機接收的信息來設(shè)置分組屬性。
      10.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器單元,其中所述交換機還被配置有自/至所述接口和所述至少一個處理器的輸入/輸出端口,由此在所述輸入端口之一上接收的分組基于所述分組的分組屬性被排隊至所述輸出端口的隊列并且經(jīng)由所述隊列傳送。
      11.一種用于處理分組的網(wǎng)絡(luò)處理器單元的方法,所述方法包括: 通過接口接收和傳送分組; 通過至少一個處理器處理分組或所述分組的部分; 通過交換機在所述接口和所述至少一個處理器之間交換分組; 通過業(yè)務(wù)管理器與所述接口和所述交換機通信;以及通常至少在所述接口、所述至少一個處理器和所述業(yè)務(wù)管理器之間共享所述交換機的緩沖器,其中分組突發(fā)在所述交換機中最多每次僅發(fā)生一次。
      12.根據(jù)權(quán)利要求11所述的方法,還包括: 分析在所述分組突發(fā)中接收的分組;并且 確定所述分組是否應(yīng)被丟棄。
      13.根據(jù)權(quán)利要求12所述的方法,還包括: 當(dāng)所述分組不應(yīng)被丟棄時,存儲所述接收的分組;并且 發(fā)送所述分組的第一部分至所述至少一個處理器以處理所述分組。
      14.根據(jù)權(quán)利要求13所述的方法,還包括: 從所述至少一個處理器接收所述分組的經(jīng)處理的所述第一部分;并且 傳送所述分組的經(jīng)處理的所述第一部分。
      15.根據(jù)權(quán)利要求11所述的方法,還包括: 存儲所述分組的第二部分; 從所述至少一個處理器接收所述分組的經(jīng)處理的所述第一部分;并且重新組裝所述分組的經(jīng)處理的所述第一部分和所述分組的所述第二部分,之后傳送所重新組裝的分組。
      16.根據(jù)權(quán)利要求15所述的方法,還包括: 在處理所述第一部分的同時在所述緩沖器中存儲所述第二部分,所述第一部分是所述分組的頭部,所述第二部分是所述分組的主體。
      17.根據(jù)權(quán)利要求11所述的方法,還包括: 通過被布置成與所述交換機通信的所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器或分組格式化器,基于所述分組的處理來設(shè)置分組屬性。
      18.根據(jù)權(quán)利要求17所述的方法,還包括: 基于所設(shè)置的分組屬性確定功能塊;并且 發(fā)送所述分組至所述功能塊,所述功能塊是所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器和所述分組格式化器之一。
      19.根據(jù)權(quán)利要求11所述的方法,還包括: 通過被布置成與所述交換機通信的所述接口、所述至少一個處理器、所述業(yè)務(wù)管理器或分組格式化器,基于從所述交換機接收的信息來設(shè)置分組屬性。
      20.根據(jù)權(quán)利要求11所述的方法,還包括: 從/向所述接口和所述至少一個處理器輸入/輸出分組;并且將在所述交換機的輸入端口之一上接收的分組基于所述分組的分組屬性排隊至所述交換機的輸出端口的隊列并且經(jīng)由所述隊列傳送。
      【文檔編號】H04L12/933GK103944837SQ201410090177
      【公開日】2014年7月23日 申請日期:2009年5月29日 優(yōu)先權(quán)日:2008年5月30日
      【發(fā)明者】G·諾德馬克, T·博登, J·卡爾斯特倫, V·蘇科尼克, M·珀森 申請人:馬維爾國際有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1