輸出實(shí)時(shí)網(wǎng)絡(luò)流量延遲以及緩沖區(qū)占用
【專利說明】輸出實(shí)時(shí)網(wǎng)絡(luò)流量延遲以及緩沖區(qū)占用
[0001]相關(guān)申請(qǐng)
[0002]本申請(qǐng)要求于2012年9月18日提交的、題目為“輸出實(shí)時(shí)網(wǎng)絡(luò)流量延遲以及緩沖區(qū)占用”的美國(guó)臨時(shí)申請(qǐng)序列號(hào)61/702,320的優(yōu)先權(quán),其全部?jī)?nèi)容通過引用合并于此。
技術(shù)領(lǐng)域
[0003]本公開一般涉及在網(wǎng)絡(luò)設(shè)備中緩沖區(qū)的占用的分析。
【背景技術(shù)】
[0004]在計(jì)算機(jī)網(wǎng)絡(luò)中,數(shù)據(jù)以分組通常穿過一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備(例如,交換機(jī)、路由器、防火墻等)的分組的形式從源被傳輸至目的地。在傳輸過程中,會(huì)在結(jié)果中出現(xiàn)某些錯(cuò)誤,例如,冗余數(shù)據(jù)被添加到原始數(shù)據(jù)、丟棄分組等。大規(guī)??蓴U(kuò)展數(shù)據(jù)中心和云計(jì)算系統(tǒng)在網(wǎng)絡(luò)裝置上施加了更多的流量負(fù)載,使得過度供應(yīng)的網(wǎng)絡(luò)已經(jīng)不再可能。監(jiān)控網(wǎng)絡(luò)設(shè)備中的緩沖區(qū)對(duì)獲得網(wǎng)絡(luò)管理、分析、以及執(zhí)行的認(rèn)識(shí)是很有用的。
【附圖說明】
[0005]圖1是示出了基于網(wǎng)絡(luò)設(shè)備中的緩沖區(qū)的占用被配置為產(chǎn)生緩沖區(qū)分析分組的網(wǎng)絡(luò)設(shè)備的圖解。
[0006]圖2是示出了緩沖區(qū)分析邏輯的一個(gè)示例實(shí)現(xiàn)的框圖。
[0007]圖3是通常示出緩沖區(qū)分析分組的格式的圖解。
[0008]圖4是描述在網(wǎng)絡(luò)設(shè)備中產(chǎn)生并且輸出緩沖區(qū)分析分組的操作的流程圖。
[0009]圖5是描述在從緩沖分析分組接收并且恢復(fù)信息的設(shè)備中的操作的流程圖。
[0010]圖6是示出了來自緩沖區(qū)分析分組的緩沖區(qū)占用的回放示例的圖解。
【具體實(shí)施方式】
[0011]鍵
[0012]本文所提出的技術(shù)促進(jìn)對(duì)在網(wǎng)絡(luò)設(shè)備中緩沖區(qū)占用的監(jiān)控。分組在網(wǎng)絡(luò)設(shè)備上被接收。描述在網(wǎng)絡(luò)設(shè)備中由分組流動(dòng)通過緩沖區(qū)引起的緩沖區(qū)的占用的信息被捕獲。包括該信息的分析分組被產(chǎn)生。來自網(wǎng)絡(luò)設(shè)備的該分析分組用于恢復(fù)被包括在其中的信息,用來分析、重演(reply)緩沖區(qū)占用等。
[0013]示例實(shí)施例
[0014]由于網(wǎng)絡(luò)中斷(例如,微爆發(fā)(microburst))會(huì)在任何時(shí)間發(fā)生,在緩沖占用中的完全網(wǎng)絡(luò)可視性以及通過輸出和后處理重演占用的能力是很重要的。而且,重演緩沖區(qū)占用的能力允許有效的網(wǎng)絡(luò)問題診斷,以提供正確的行動(dòng)。諸如端口鏡像(即,交換端口分析器(SPAN))之類的現(xiàn)有的解決方法并不提供緩沖區(qū)占用的可視性。正因如此,本文提出了用于監(jiān)控并且重演緩沖區(qū)占用的技術(shù)。
[0015]現(xiàn)在參考圖1,示出了網(wǎng)絡(luò)環(huán)境5的圖解,其中基于網(wǎng)絡(luò)設(shè)備10的緩沖區(qū)的占用被配置為產(chǎn)生緩沖區(qū)分析分組的網(wǎng)絡(luò)設(shè)備10被提供。網(wǎng)絡(luò)設(shè)備10包括多個(gè)端口12(1)-12(N),其中任何一個(gè)可以在任何時(shí)間用作入站端口或出站端口。網(wǎng)絡(luò)設(shè)備包括緩沖區(qū)14、緩沖區(qū)分析邏輯16、中央處理單元(CPU) 18和存儲(chǔ)器19。應(yīng)該理解的是網(wǎng)絡(luò)設(shè)備10具有其他的組件,比如交換結(jié)構(gòu)或?qū)S眉呻娐?ASIC),并且緩沖區(qū)14可以屬于交換結(jié)構(gòu)。在網(wǎng)絡(luò)設(shè)備10中通常會(huì)有很多的緩沖區(qū),但是為簡(jiǎn)單起見在圖1中僅示出一個(gè)緩沖區(qū)。應(yīng)該理解的是本文所提出的技術(shù)針對(duì)在網(wǎng)絡(luò)設(shè)備中多個(gè)緩沖區(qū)中的每一個(gè)緩沖區(qū)是有用的。緩沖區(qū)分析邏輯14可以在硬件中通過數(shù)字邏輯門(并且被嵌入在交換結(jié)構(gòu)中)來實(shí)現(xiàn),或通過存儲(chǔ)在存儲(chǔ)器19中的軟件來實(shí)現(xiàn),并且該軟件由CPU 18執(zhí)行。
[0016]分組20通過端口 12(1)_12(N)中的任意一個(gè)端口到達(dá)網(wǎng)絡(luò)設(shè)備10。圖1示出了分組到達(dá)端口 12 (I)、12 (2)、和12(3)的示例。網(wǎng)絡(luò)設(shè)備10通過端口 12 (5)-12 (N)被耦合到網(wǎng)絡(luò)40(例如,局域網(wǎng)或廣域網(wǎng)(因特網(wǎng))),最終與一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備50 (1)-50 (M)中的任意一個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行通信。
[0017]通常,在網(wǎng)絡(luò)設(shè)備10中,緩沖區(qū)分析邏輯16捕獲描述由分組流動(dòng)通過緩沖區(qū)引起緩沖區(qū)14的占用的信息,并且產(chǎn)生包括該信息的緩沖分析分組30。通過以下結(jié)合圖2的描述會(huì)變得顯而易見,有兩種類型的緩沖區(qū)分析分組:入隊(duì)緩沖區(qū)分析分組和出隊(duì)緩沖區(qū)分析分組。緩沖區(qū)分析分組30隨后以允許重演緩沖區(qū)的占用的幾種方式中的任意一種方式,在可編程的時(shí)間表(或基于分組大小)從網(wǎng)絡(luò)設(shè)備10輸出。
[0018]第一,網(wǎng)絡(luò)設(shè)備10可將針對(duì)緩沖分析分組的目的地的地址(例如,連接到網(wǎng)絡(luò)40的任意設(shè)備(比如,具有CPU 62和存儲(chǔ)器64的采集器設(shè)備60)的地址)插入緩沖區(qū)分析分組30。網(wǎng)絡(luò)設(shè)備10通過網(wǎng)絡(luò)40向目的地采集器設(shè)備60發(fā)送分析分組30,該分析分組可以在任意位置,在網(wǎng)絡(luò)設(shè)備10的本地位置或遠(yuǎn)離網(wǎng)絡(luò)設(shè)備10。
[0019]第二,網(wǎng)絡(luò)設(shè)備10可將分析分組30輸出至專用端口,例如,將采集器設(shè)備70連接到網(wǎng)絡(luò)設(shè)備10的端口 12(4)。專用分析端口 12(4)可以參與端口通道或固定端口將擴(kuò)展帶寬分配給單個(gè)或多個(gè)監(jiān)控端口。由于采集器設(shè)備70被直接連接到端口 12(4),所以它通常位于本地網(wǎng)絡(luò)設(shè)備10。采集器設(shè)備70包括CPU 72和存儲(chǔ)器74。
[0020]第三,在網(wǎng)絡(luò)設(shè)備10中,分析分組30可以被輸出至板載CPU 18和存儲(chǔ)器19,使得CPU 18和存儲(chǔ)器19也可被用作采集器設(shè)備。在任意這些情況中,CPU 18、62、和72可以基于存儲(chǔ)在它們分別關(guān)聯(lián)的存儲(chǔ)器19、64和74中的軟件指令重演并分析緩沖區(qū)14的占用。此外,針對(duì)關(guān)聯(lián)的CPU18、62、和72分析分組被分別地存儲(chǔ)在存儲(chǔ)器19、64和74中。
[0021]網(wǎng)絡(luò)設(shè)備10可以是任意目前已知的或在以后開發(fā)的網(wǎng)絡(luò)設(shè)備,包括交換機(jī)、路由器、網(wǎng)關(guān)、主機(jī)設(shè)備上的軟件棧、虛擬網(wǎng)絡(luò)接口卡(VNIC)、虛擬交換機(jī)、物理網(wǎng)絡(luò)接口卡(包括那些支持虛擬化的接口卡)。
[0022]存儲(chǔ)器19、64和74可包括只讀存儲(chǔ)器(ROM),隨機(jī)存取存儲(chǔ)器(RAM),磁盤存儲(chǔ)介質(zhì)設(shè)備,光存儲(chǔ)介質(zhì)的設(shè)備,閃存設(shè)備,電、光、或其他物理/有形存儲(chǔ)器存儲(chǔ)設(shè)備。因此,在通常情況下,存儲(chǔ)器19、64和74可包括一個(gè)或多個(gè)編碼有軟件的有形(非暫態(tài))計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器設(shè)備),該軟件包括計(jì)算機(jī)可執(zhí)行指令并且當(dāng)該軟件(由相關(guān)CPU)執(zhí)行時(shí)可操作以執(zhí)行本文描述的操作。
[0023]現(xiàn)在參考對(duì)緩沖區(qū)分析邏輯16更為詳細(xì)描述的圖2。圖2示出了緩沖分析邏輯16,包括入隊(duì)(enqueue)分析分組產(chǎn)生器80和出隊(duì)(dequeue)分析分組產(chǎn)生器82。另外,準(zhǔn)入控制塊84、離開控制塊86、分組匯編器88、以及多路復(fù)用器90。準(zhǔn)入控制塊84和離開控制塊86通常會(huì)在網(wǎng)絡(luò)設(shè)備中找到,并且是用于做出處理決定(比如,丟棄、調(diào)度速率、速率限制、監(jiān)管、整形等)的硬件或(軟件)塊。
[0024]入隊(duì)分析分組產(chǎn)生器80被配置為產(chǎn)生描述/總結(jié)被入隊(duì)到緩沖區(qū)14的分組的分析分組,總結(jié)稱為由參考標(biāo)號(hào)32示出的入隊(duì)分析分組。類似地,出隊(duì)分析分組產(chǎn)生器82被配置為產(chǎn)生描述/總結(jié)從緩沖區(qū)14被出站的分組的分析分組,總結(jié)稱為由參考標(biāo)號(hào)34示出的出隊(duì)分析分組。分組匯編器88針對(duì)來自網(wǎng)絡(luò)設(shè)備的輸出匯編準(zhǔn)備從緩沖區(qū)14離開的分組20。
[0025]針對(duì)入隊(duì)至緩沖區(qū)14的分組,入隊(duì)分析分組產(chǎn)生器80捕獲信息,該信息描述了一個(gè)或多個(gè)分組到達(dá)網(wǎng)絡(luò)設(shè)備的入站端口的身份、2層的源地址和目的地地址、3層源地址和目的地地址、4層的源地址和目的地地址、服務(wù)類別、以及到達(dá)入站端口的時(shí)間戳。類似地,針對(duì)從緩沖區(qū)14出隊(duì)的分組,出隊(duì)分析分組產(chǎn)生器82捕獲信息,該信息描述了一個(gè)或多個(gè)分組離開網(wǎng)絡(luò)設(shè)備的出站端口的身份、2層的源地址和目的地地址、3層源地址和目的地地址、以及離開出站端口的時(shí)間戳。
[0026]由入隊(duì)分析分組產(chǎn)生器80產(chǎn)生的入隊(duì)緩沖區(qū)分析分組32、由出隊(duì)分析分組產(chǎn)生器82產(chǎn)生的出隊(duì)緩沖區(qū)分析分組34、以及由分組匯編器88輸出的分組20全部被提供至多路復(fù)用器90的相應(yīng)的輸入。在任意給定時(shí)間,多路復(fù)用器90有選擇地輸出分組20、入隊(duì)緩沖區(qū)分析分組32或出隊(duì)緩沖區(qū)分析分組34。優(yōu)先給定輸出分組20,以便保持通過網(wǎng)絡(luò)設(shè)備10的適當(dāng)?shù)木W(wǎng)絡(luò)流量?;跁r(shí)間(根據(jù)時(shí)間表)或入隊(duì)至緩沖區(qū)或從緩沖區(qū)出隊(duì)的分組的大小觸發(fā)分析分組的輸出。
[0027]現(xiàn)在參考圖3。圖3示出了入隊(duì)緩沖區(qū)分析分組32或出隊(duì)緩沖區(qū)分析分組34的示例格式。如上所述,入隊(duì)緩沖區(qū)分析分組32總結(jié)了正在被入隊(duì)至緩沖區(qū)的分組,出隊(duì)緩沖區(qū)分析分組34總結(jié)了正在從緩沖區(qū)出隊(duì)的分組。隨著時(shí)間累積通過緩沖區(qū)的分組時(shí),這些分析分組允許回放緩沖區(qū)的占用特征以及通過緩沖區(qū)的分組的流量流動(dòng)。如圖3所述,入隊(duì)緩沖區(qū)分析分組32和出隊(duì)緩沖區(qū)分析分組34包括以太網(wǎng)頭部字段100、普通頭部字段110、一個(gè)或多個(gè)記錄字段120 (I)-120 (N)、以及循環(huán)冗余檢測(cè)(CRC)字段130。
[0028]以太網(wǎng)頭部字段110是用來壓縮分析分組的目的地地址的字段,例如將分析分組指引至目的地,即,包括網(wǎng)絡(luò)設(shè)備本身CPU的本地或遠(yuǎn)程采集器設(shè)備(如圖1所示)。為此目的,以太網(wǎng)頭部字段I1包括諸如介質(zhì)訪問控制(MAC)目的地地址/源地址(DA/SA)、可選的IEEE 802.1Q虛擬局域網(wǎng)(VLAN)路由信息、包括IP SA和IP DA的可選的因特網(wǎng)協(xié)議(IP)頭部之類的信息。此外,以太網(wǎng)頭部字段110包括用來將緩沖分析分組路由至其要求的目的地的信息。
[0029]普通頭部字段HO包括從已經(jīng)被入隊(duì)至緩沖區(qū)或從緩沖器被出隊(duì)(視情況而定)的分組的頭部捕獲的信息。因此,普通頭部字段總結(jié)了在網(wǎng)絡(luò)設(shè)備中被入隊(duì)至緩沖區(qū)和從緩沖器被出隊(duì)的分組的頭部。例如,普通頭部字段包括普通頭部版本的信息(以允許向后/向前兼容性)、表示入隊(duì)或出隊(duì)分組的時(shí)間尺度的時(shí)間尺度信息、分組到達(dá)和/或離開緩沖器以允許重演的時(shí)間戳、允許采集器來確定在當(dāng)前分析分組和最新接收分析分組之間已經(jīng)有多少被丟失的記錄編號(hào)(如果有記錄的話)、以及一個(gè)或多個(gè)諸如服務(wù)類別、服務(wù)類型之類的用戶定義字段等。
[0030]記錄字段120包括用戶配置的緩沖區(qū)分析邏輯以捕獲的入隊(duì)或出隊(duì)分組的數(shù)據(jù)。數(shù)據(jù)的示例可以被包括在包括如下的記錄字段中:
[0031]格式版本,以表示用于向后/向前兼容性的記錄字段的格式版本。
[0032]L2頭部字段(MAC SA/DA)或被壓縮的版本(即,最后24位)和優(yōu)先級(jí)
[0033]L3頭部(IP SA/DA)或被壓縮的版本(即,最后16位)和優(yōu)先級(jí)和協(xié)議類型
[0034]L4 頭部(TCP/UDP SA/DA)
[0035]用戶定義字段,包括一個(gè)或多個(gè):
[0036]輸入/輸出端口
[0037]丟棄一分組是否被丟棄的指示。
[0038]隊(duì)列id——與分組關(guān)聯(lián)的隊(duì)列(單播或多播)的標(biāo)識(shí)符。
[0039]隊(duì)列長(zhǎng)度——分組關(guān)聯(lián)的隊(duì)列的長(zhǎng)度。
[0040]分組長(zhǎng)度——分組大小的總長(zhǎng)。
[0041]時(shí)間戳(絕對(duì)或相對(duì)于來自諸如精確時(shí)間協(xié)