超低延遲多協(xié)議網(wǎng)絡(luò)設(shè)備的制造方法
【專利說明】超低延遲多協(xié)議網(wǎng)絡(luò)設(shè)備
[0001]相關(guān)申請的交叉引用
[0002]本申請要求于2012年9月18日提交的、名稱為“Ultra Low LatencyMult1-Protocol Networking Device (超低延遲多協(xié)議網(wǎng)絡(luò)設(shè)備)”的美國臨時(shí)申請N0.61/702,317的優(yōu)先權(quán),該臨時(shí)申請的整體通過引用結(jié)合于此。
技術(shù)領(lǐng)域
[0003]本公開一般地涉及減少網(wǎng)絡(luò)設(shè)備中的延遲。
【背景技術(shù)】
[0004]超低延遲(ULL)網(wǎng)絡(luò)對諸如高頻交易(HFT)用戶(其中按每納秒計(jì)數(shù))之類的某些用戶來說是關(guān)鍵的。更具體地,比對手更快使得HFT客戶能夠在波動性周期期間捕捉機(jī)會,增加訂單流、流動性以及加速價(jià)格發(fā)現(xiàn)。
[0005]諸如交換機(jī)之類的傳統(tǒng)的網(wǎng)絡(luò)設(shè)備建立于順序地做出決策的傳統(tǒng)方法之上。雖然這樣簡化了設(shè)計(jì)考慮,但是由于決策被延期并且重要的資源(即,復(fù)制表)是需要的,因此順序的方法也引入了內(nèi)在的延遲。
【附圖說明】
[0006]圖1是具有多個(gè)處理決策路徑的網(wǎng)絡(luò)設(shè)備的框圖,多個(gè)處理決策路徑包括被配置為對分組做出超低延遲處理決策的快速處理決策路徑。
[0007]圖2是示出了用于圖1的網(wǎng)絡(luò)設(shè)備的快速處理決策路徑中的表的示例的示圖。
[0008]圖3是示出了共享訪問控制列表表的多個(gè)處理決策路徑的框圖。
[0009]圖4是示出了在網(wǎng)絡(luò)設(shè)備中使用多個(gè)處理決策路徑執(zhí)行的操作的流程圖。
【具體實(shí)施方式】
[0010]皿
[0011]本文提出了針對網(wǎng)絡(luò)設(shè)備中的分組實(shí)現(xiàn)處理決策的超低延遲確定的技術(shù)。分組在網(wǎng)絡(luò)設(shè)備的端口處被接收。在第一處理決策路徑中基于分組的內(nèi)容和一個(gè)或多個(gè)網(wǎng)絡(luò)策略來確定處理決策。在與第一處理路徑并行的第二處理決策路徑中,通過訪問存儲了處理決策的表來確定處理決策。針對與被包含在表中的一個(gè)或多個(gè)特定分組流參數(shù)相匹配的分組,第二處理決策路徑能夠比第一處理決策路徑更快地輸出處理決策。如果第二處理決策路徑做出了處理決策,則使用由第二處理決策路徑確定的處理決策,否則使用由第一處理決策路徑確定的處理決策。
[0012]示例實(shí)施例
[0013]在計(jì)算機(jī)網(wǎng)絡(luò)中,數(shù)據(jù)以分組的形式從源被傳送到目的地,分組通常穿過一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備(例如,交換機(jī)、路由器、防火墻等)。在傳送期間,網(wǎng)絡(luò)設(shè)備可能執(zhí)行了一個(gè)或多個(gè)操作,這將延遲引入到分組傳送過程中。
[0014]參照圖1。圖1示出了網(wǎng)絡(luò)設(shè)備10的框圖并且主要地示出了與本文提出的超低延遲處理決策技術(shù)相關(guān)的網(wǎng)絡(luò)設(shè)備10的那些組件。網(wǎng)絡(luò)設(shè)備10包括多個(gè)端口 20 (I)-20 (N),在這些端口處分組從網(wǎng)絡(luò)到達(dá)網(wǎng)絡(luò)設(shè)備,并且分組從這些端口離開網(wǎng)絡(luò)設(shè)備到網(wǎng)絡(luò)。端口20 (I)-20 (N)中的任何端口都可以作為進(jìn)入端口或外出端口。單個(gè)分組在圖1中以標(biāo)號22示出。
[0015]網(wǎng)絡(luò)設(shè)備10還包括第一處理決策路徑30、第二處理決策路徑40和決策決定邏輯單元50。第一處理決策路徑30例如是交換信息庫(SIB),包括多個(gè)處理單元32 (I)-32 (8),如下文中所進(jìn)一步描述的,這些處理單元基于分組的內(nèi)容和一個(gè)或多個(gè)網(wǎng)絡(luò)策略來順序地執(zhí)行決策操作。如果分組具有與被存儲在第二處理決策路徑40的表中的一個(gè)或多個(gè)特定流參數(shù)相匹配的流參數(shù),則第二處理決策路徑40可以比第一處理決策路徑30更快地產(chǎn)生針對分組的處理決策。也就是說,第二處理決策路徑40主要地包含表(如下文中關(guān)于圖2所進(jìn)一步描述的)。第二處理決策路徑40可能不總是能夠針對分組產(chǎn)生處理決策,并且事實(shí)上僅當(dāng)分組具有與被存儲在第二處理決策路徑40的表中的一個(gè)或多個(gè)特定流參數(shù)相匹配的流參數(shù)時(shí),第二處理決策路徑40才對分組產(chǎn)生處理決策。
[0016]在傳統(tǒng)的網(wǎng)絡(luò)設(shè)備中,僅SIB或等價(jià)的功能組件可用于基于到達(dá)分組的內(nèi)容和網(wǎng)絡(luò)策略來做出分組處理決策。SIB可以處理諸如開放最短路徑優(yōu)先(OSPF)之類的協(xié)議控制分組和邊界網(wǎng)關(guān)協(xié)議(BGP)分組。一旦這些協(xié)議集中于一定決策,則對未來到達(dá)的匹配分組采取交換動作。通過這些交換信息庫組件,間接實(shí)現(xiàn)了擴(kuò)展(scale)。例如,對交換決策的匹配被置于交換信息庫中,并且隨后的動作能在結(jié)果數(shù)據(jù)庫中找到。多個(gè)匹配可以指向相同的結(jié)果數(shù)據(jù)庫以采取相同的動作。該方法引起了延遲,但是實(shí)現(xiàn)了可擴(kuò)展性。本文提出的是通過將可選擇的處理決策編程到第二處理決策路徑40中來實(shí)現(xiàn)超低延遲的技術(shù),第二處理決策路徑40與第一處理決策路徑30并行操作。第二處理決策路徑40可以被稱為可配置的交換機(jī)單元。
[0017]現(xiàn)在描述第一處理決策路徑的處理單元32 (1)-32 (8)。如本領(lǐng)域中所已知的,跨網(wǎng)絡(luò)被傳輸?shù)姆纸M包括報(bào)頭部分和有效載荷。報(bào)頭通常包括關(guān)于分組的源和目的地的信息、以及在第2層(L2)、第3層(L3)和第4層(L4)處以及在深度分組檢測(DPI)字段中的其它信息。因此,在任何給定的分組中,在第2層字段、第3層字段、第4層字段和深度分組檢測字段中具有分組流參數(shù)信息,該信息可用于確定針對分組做出怎樣的處理決策。因此,第一處理決策路徑30包括順序地檢查分組的報(bào)頭中的所有這些字段以便針對分組做出處理決策的邏輯。具有L2聚集字段單元32 (I),其聚集了用于做出L2處理決策的所有的L2字段。L2決策單元32 (2)基于L2字段來做出L2處理決策。具有L3聚集字段單元32 (3),其聚集了所有的L3字段,并且L3決策單元32(4)基于L3字段來做出L3處理決策。類似地,具有聚集L4字段的L4聚集字段單元32 (5)和基于L4字段來做出L4處理決策的L4決策單元32出)。最后,具有聚集DPI字段的DPI聚集字段單元32 (7)和基于DPI字段來做出DPI處理決策的DPI決定單元32 (8)。
[0018]被供應(yīng)到第一處理決策路徑30的關(guān)于分組的分組流信息(例如,第2層字段、第3層字段等)也被并行供應(yīng)到第二處理決策路徑40。然而,如圖1所示,由于所有的相關(guān)字段被聚集和處理,因此使用第一處理路徑30對分組做出處理決策所需的時(shí)間量是相當(dāng)多的。第一處理決策路徑30通常能夠針對被期待通過網(wǎng)絡(luò)設(shè)備處理的任何分組做出處理決策。相對地,第二處理決策路徑40使用了存儲適用于網(wǎng)絡(luò)設(shè)備接收的某些分組(例如,那些被預(yù)料為相對更有可能重復(fù)發(fā)生的分組)的處理決策的表。針對與被存儲在第二處理決策路徑40的表中的一個(gè)或多個(gè)特定分組流參數(shù)相匹配的分組,第二處理決策路徑40能夠比第一處理決策路徑30更快地輸出處理決策,決策決定邏輯單元50被配置為在第二處理決策路徑40能夠做出處理決策的情況下選擇由第二處理決策路徑40做出(輸出)的處理決策以供使用,否則使用由第一處理決策路徑30做出的處理決策。因此,在一些情況中,第二處理決策路徑40在它的表中可能不具有允許它針對分組做出處理決策的條目。在這樣的情況中,決策決定邏輯單元50簡單地使用由第一處理決策路徑30輸出的處理決策。然而,在其它情況中,第二處理決策路徑40可以具有與接收的分組的一個(gè)或多個(gè)流參數(shù)相匹配的條目并且可以在第一處理決策路徑30之前非常迅速地輸出針對分組的處理決策。在這種情況中,決策決定邏輯單元50將使用來自第二處理決策路徑40的處理決策。由第一處理決策路徑做出的處理決策以及第二處理決策路徑做出的處理決策可以包括下列各項(xiàng)中的至少一個(gè):轉(zhuǎn)發(fā)、交換(橋接)、旁路、丟棄等。
[0019]第一處理決策路徑30的處理決策輸出34被耦合到?jīng)Q策決定邏輯單元50并且第二處理決策路徑40的處理決策輸出42也被耦合到?jīng)Q策決定邏輯單元50。另外,如標(biāo)號36處所示,第一處理決策路徑30的處理決策輸出34被反饋到第二處理決策路徑40以用處理決策輸出34(即,SIB決策)填充第二處理決策路徑40的表,從而使得第二處理決策路徑40能夠做出快速的處理決策以供處理隨后接收的具有得出該特定處理決策的流參數(shù)的分組。因此,由第一處理決策路徑40 (即,SIB)實(shí)現(xiàn)的學(xué)習(xí)被用于填充第二處理決策路徑40的表。
[0020]仍然參照圖1,在一個(gè)示例中,第一處理決策路徑30、第二處理決策