欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

組播流量收斂的改善的制作方法

文檔序號:7737210閱讀:126來源:國知局
專利名稱:組播流量收斂的改善的制作方法
技術(shù)領(lǐng)域
本申請公開的實施例涉及計算機聯(lián)網(wǎng),尤其涉及網(wǎng)絡中拓撲結(jié)構(gòu)變化之后組播流量的收斂。
背景技術(shù)
組播是在互聯(lián)網(wǎng)協(xié)議(IP)基礎(chǔ)結(jié)構(gòu)上用于點到多點通信的技術(shù)。組播利用網(wǎng)絡基礎(chǔ)結(jié)構(gòu),要求源僅向網(wǎng)絡發(fā)出單個數(shù)據(jù)包,即使需要將其傳送到多個目的地。通過使得網(wǎng)絡節(jié)點復制數(shù)據(jù)包(僅當需要時)用于傳送到多個接收器來完成所述利用。通過源和接收器使用組播組地址(例如IP組播)來發(fā)送和接收內(nèi)容。源將組播組地址用作它們的數(shù)據(jù)包中的目的地IP地址。接收器使用組播組地址以向與組播組地址相關(guān)聯(lián)的組播流量進行“預訂”。換言之,這些接收器使用組播組地址以向網(wǎng)絡傳達接收尋址到該組播組的流量的愿望?;ヂ?lián)網(wǎng)組管理協(xié)議(IGMP)是用于管理IP組播組成員資格的協(xié)議的實例。典型地,IP主機經(jīng)由組播路由器發(fā)出廣播到其他網(wǎng)絡主機的IGMP詢問。網(wǎng)絡裝置(例如第2層交換機)可以“監(jiān)聽”主機與路由器之間的對話,這是在現(xiàn)有技術(shù)中稱為IGMP偵聽的處理。 當裝置聽到來自主機的組播組“加入”消息時,裝置記錄它聽到消息的接口(例如端口)并將接口加入組中。類似地,當裝置聽到組播組“離開”消息或者響應計時器到期時,交換機將從組中移除該主機的交換機接口。通常將這些“加入”和/或“離開”消息稱為“IGMP報告”。因此,IGMP偵聽表基于IGMP報告將作為組播組成員的主機和/或接口的列表維護在硬件(例如緩存)中。當使用組播的網(wǎng)絡中有拓撲結(jié)構(gòu)變化時,將IGMP偵聽表清空并發(fā)出IGMP詢問,因此網(wǎng)絡中的裝置可以再獲知IGMP偵聽成員資格。如果在拓撲結(jié)構(gòu)變化期間網(wǎng)絡中有數(shù)據(jù)包,那么因為IGMP偵聽表的清空,這些數(shù)據(jù)包將在硬件中經(jīng)歷緩存缺失。經(jīng)歷緩存缺失的所有數(shù)據(jù)包被發(fā)送到裝置CPU用于軟件中的轉(zhuǎn)送,有時候?qū)④浖械霓D(zhuǎn)送稱為“慢通道”轉(zhuǎn)送,因為軟件中的轉(zhuǎn)送比硬件中的轉(zhuǎn)送數(shù)據(jù)包顯著更慢。但是更麻煩的是如下的情況在拓撲結(jié)構(gòu)變化期間,在網(wǎng)絡中有數(shù)千的數(shù)據(jù)包。在這種情況下,在CPU隊列中有數(shù)千的數(shù)據(jù)包,消耗CPU資源,否則CPU資源可用于通過新的 IGMP偵聽表條目再規(guī)劃硬件緩存。換言之,當網(wǎng)絡中的組播數(shù)據(jù)包數(shù)量增加時,它增加了網(wǎng)絡中組播流量的收斂時間(即,用于再規(guī)劃硬件緩存以恢復組播流量中的緩存缺失的可接受比率的時間)。此外,上述情景假設(shè)了單個虛擬局域網(wǎng)(VLAN)。如果在網(wǎng)絡中有大量 (例如數(shù)千)的VLAN,則會將每個IGMP詢問發(fā)送到每個VLAN,導致每個VLAN上的所有主機利用表示它們的IGMP成員資格的各自的IGMP報告作出響應。因此,CPU負擔更多的慢通道轉(zhuǎn)送,進一步加重了組播收斂問題。

發(fā)明內(nèi)容
本申請公開的實施例有助于拓撲結(jié)構(gòu)變化之后網(wǎng)絡中組播流量的收斂。當網(wǎng)絡節(jié)點接收組播數(shù)據(jù)包時,處理數(shù)據(jù)包。如果節(jié)點檢測到針對數(shù)據(jù)包的緩存缺失,則將該數(shù)據(jù)包經(jīng)由硬件洪泛到網(wǎng)絡的端口上。此外,(導致了緩存缺失的)數(shù)據(jù)包的拷貝被發(fā)送到線外 (out-of-line)處理單元。數(shù)據(jù)包的拷貝被處理,而不將拷貝從處理單元轉(zhuǎn)送到網(wǎng)絡上。對數(shù)據(jù)包的處理包括經(jīng)由硬件提取層建立用于數(shù)據(jù)包的硬件緩存條目。


下面的描述包括附圖的討論,附圖通過本發(fā)明實施例的實施方式的實例給出說明。附圖應當理解作為實例,而不是作為限制。如同本申請中使用的,對一個或多個“實施例”的參考應當理解為描述包括在本發(fā)明至少一個實施方式中的特定特征、結(jié)構(gòu)或特點。因此,本申請中出現(xiàn)的措辭例如“在一個實施例中”或“在替代實施例中”描述本發(fā)明的不同實施例和實施方式,不一定都表示相同的實施例。但是,它們也不一定相互排斥。圖1是方框圖,示出網(wǎng)絡裝置。圖2是方框圖,示出根據(jù)不同實施例使用組播的網(wǎng)絡。圖3是流程圖,示出用于組播收斂的處理。圖4是方框圖,示出現(xiàn)有技術(shù)以太網(wǎng)自動保護交換(EAPS)系統(tǒng)。圖5是方框圖,示出采用以太網(wǎng)自動保護交換(EAPS)的網(wǎng)絡裝置。圖6是流程圖,示出用于EAPS環(huán)形網(wǎng)絡中組播收斂的處理。圖7是方框圖,示出用于實踐本申請所述各種實施例的適當計算環(huán)境。
具體實施例方式在下面的描述中,提供多種細節(jié)。但是對本領(lǐng)域技術(shù)人員顯而易見的是,不需要這些特殊細節(jié)也能實踐本發(fā)明。在一些實例中,為了避免模糊本發(fā)明,將公知結(jié)構(gòu)和裝置示出為方框圖形式而不是詳細示出。本申請?zhí)峁┑姆椒ā⒃O(shè)備和系統(tǒng)有助于拓撲結(jié)構(gòu)變化之后網(wǎng)絡中組播流量收斂的改善。當網(wǎng)絡節(jié)點接收組播數(shù)據(jù)包時,處理數(shù)據(jù)包。如果節(jié)點檢測到關(guān)于數(shù)據(jù)包的緩存缺失,則數(shù)據(jù)包經(jīng)由硬件洪泛到網(wǎng)絡的端口上。此外,(導致緩存缺失的)數(shù)據(jù)包的拷貝被發(fā)送到線外處理單元。數(shù)據(jù)包的拷貝被處理,而不將拷貝從處理單元轉(zhuǎn)送到網(wǎng)絡上。對數(shù)據(jù)包的處理包括經(jīng)由硬件提取層建立用于數(shù)據(jù)包的硬件緩存條目。在一些實施例中,當新的組播流開始在網(wǎng)絡上發(fā)送流量時,緩存缺失出現(xiàn)并被檢測到。不是簡單地將緩存缺失轉(zhuǎn)送到CPU以用于獲知(在硬件中)并隨后將其轉(zhuǎn)送(即慢通道轉(zhuǎn)送)到網(wǎng)絡上(例如IGMP偵聽使能),而是采用特殊的轉(zhuǎn)送模式。在這種特殊的轉(zhuǎn)送模式中,導致緩存缺失的數(shù)據(jù)包一開始經(jīng)由硬件洪泛到網(wǎng)絡的端口。此外,緩存缺失被發(fā)送到CPU以用于處理。處理包括獲知每個數(shù)據(jù)包的(一個或多個)地址(例如源IP地址和組播組IP地址)以及在硬件中規(guī)劃新的條目。通過規(guī)劃硬件中的條目,具有相同源和組 (S,G)地址的未來數(shù)據(jù)包會導致緩存命中并立即僅被轉(zhuǎn)送出有實際接收器的那些端口。僅在有實際接收器的端口上轉(zhuǎn)送可稱為“選擇性轉(zhuǎn)送”。被選擇性轉(zhuǎn)送的數(shù)據(jù)包會從該時刻起停止被洪泛。在各種實施例中,具體地,通過CPU的處理不包括將緩存缺失數(shù)據(jù)包拷貝從CPU轉(zhuǎn)送到網(wǎng)絡上(例如“慢通道轉(zhuǎn)送”,“軟件轉(zhuǎn)送”等等)。這是因為慢通道轉(zhuǎn)送會導致重復的數(shù)據(jù)包在網(wǎng)絡上發(fā)出(假定導致緩存缺失的數(shù)據(jù)包已經(jīng)洪泛到網(wǎng)絡)。例如可經(jīng)由命令行接口(CLI),由用戶來控制特殊的轉(zhuǎn)送模式。在采用用于具有環(huán)形拓撲結(jié)構(gòu)(例如以太網(wǎng)自動保護交換(EAPS)環(huán)形拓撲結(jié)構(gòu)) 的網(wǎng)絡的實施例中,響應于檢測到網(wǎng)絡中的拓撲結(jié)構(gòu)變化,可自動觸發(fā)類似的特殊轉(zhuǎn)送模式。當EAPS環(huán)形網(wǎng)絡中拓撲結(jié)構(gòu)變化時,轉(zhuǎn)送條目(稱為轉(zhuǎn)送數(shù)據(jù)庫(FDB)條目)被清空并必須被再獲知。因此,在這些實施例中,檢測的拓撲結(jié)構(gòu)變化會導致環(huán)形網(wǎng)絡進入硬件洪泛模式,通過計時器確定硬件洪泛模式的上限。本申請使用的洪泛表示例如基于VLAN成員資格在網(wǎng)絡裝置的出站端口上發(fā)送數(shù)據(jù)包的拷貝。換言之,洪泛可導致數(shù)據(jù)包在網(wǎng)絡裝置的出站端口上轉(zhuǎn)送,但是不一定在所有出站端口上。在洪泛周期里,導致緩存缺失的數(shù)據(jù)包也被轉(zhuǎn)送到網(wǎng)絡裝置處理單元。處理單元創(chuàng)建針對每個緩存缺失數(shù)據(jù)包組播緩存條目,并且緩存條目經(jīng)由硬件提取層在硬件中被規(guī)劃。在硬件條目上產(chǎn)生命中的后續(xù)數(shù)據(jù)包將基于與條目相關(guān)聯(lián)的所規(guī)劃的出站端口在硬件中轉(zhuǎn)送。通過這種方式,隨著新的組播緩存條目被規(guī)劃,緩存缺失將最終逐漸停止。當硬件洪泛模式計時器到期時,網(wǎng)絡裝置可以回復到它之前的操作模式。例如,如果在“初始硬件洪泛”模式之前,裝置操作在IGMP偵聽使能模式下,那么當計時器到期時, 裝置可以回復到IGMP偵聽使能模式。在不使用IGMP偵聽的實施例中,可能必須當時間到期時,將當前/最新的組播緩存列表推送到硬件提取層(HAL),以防止將來的緩存缺失。圖1是方框圖,示出根據(jù)各種實施例的網(wǎng)絡裝置。網(wǎng)絡裝置110包括一個或多個硬件表120 (例如緩存)、處理單元130 (例如中央處理單元(CPU)、網(wǎng)絡處理單元(NPU)等等)以及數(shù)據(jù)包處理器140。數(shù)據(jù)包處理器140接收進入數(shù)據(jù)包。對于每個進入數(shù)據(jù)包(具有源地址和組播組地址),數(shù)據(jù)包處理器140進行硬件表120的查找,以確定進入數(shù)據(jù)包的源地址和組播組地址(S,G)是否與表中的其中一個條目匹配。如果匹配,則數(shù)據(jù)包處理器 140將數(shù)據(jù)包轉(zhuǎn)出到網(wǎng)絡(例如基于組播組地址)。如果(S,G)地址組合與表120中的條目不匹配,則數(shù)據(jù)包處理器140將具有(S,G) 地址組合的所有流量洪泛到網(wǎng)絡并產(chǎn)生緩存缺失。這種緩存缺失事件或者簡稱緩存缺失被發(fā)送到處理單元130,具體而言發(fā)送到內(nèi)核132。內(nèi)核132將緩存缺失發(fā)送到組播(MC)管理器134。在一些實施例中,洪泛會導致流量在網(wǎng)絡裝置110的所有出站端口上發(fā)出。在其他實施例中,例如基于VLAN成員資格,僅在出站端口上轉(zhuǎn)送數(shù)據(jù)包。與數(shù)據(jù)包處理器140洪泛(S,G)流量結(jié)合,處理單元130工作以解決緩存缺失。 MC管理器134啟動代理IGMP詢問,代理IGMP詢問在網(wǎng)絡上被發(fā)出?;陧憫诖鞩GMP 詢問接收的任何IGMP報告,MC管理器134通過用于(S,G)流量的轉(zhuǎn)送條目規(guī)劃硬件提取層(HAL) 136。HAL 136隨后配置硬件表120以包括轉(zhuǎn)送條目。一旦對于(S,G)組已經(jīng)“獲知”(即規(guī)劃)轉(zhuǎn)送條目,則后續(xù)(S,G)流量將“命中”硬件表120,并根據(jù)轉(zhuǎn)送條目被轉(zhuǎn)送 (即沒有洪泛)。重要的是注意,在處理之后緩存缺失沒有轉(zhuǎn)送回網(wǎng)絡(就像標準IGMP偵聽使能模式中的情況那樣)。在本申請所述的實施例中,緩存缺失不是通過CPU以慢通道方式轉(zhuǎn)送到網(wǎng)絡以避免重復數(shù)據(jù)包(就像所討論的,因為數(shù)據(jù)包會已經(jīng)由硬件洪泛轉(zhuǎn)送到網(wǎng)絡)。在各種實施例中,用戶經(jīng)由命令行接口 138控制裝置110使用的初始硬件洪泛模式。因此,用戶可以使裝置操作在正常IGMP偵聽使能模式或偵聽禁用模式下,或者用戶可以操作裝置以使用具有初始硬件洪泛模式的IGMP偵聽使能。圖2是方框圖,示出采用組播和IGMP偵聽的網(wǎng)絡。在標準偵聽使能情景中,網(wǎng)絡 200是這樣的網(wǎng)絡,其中組播發(fā)射器(MC Tx)210發(fā)出IGMP詢問,以確定哪個節(jié)點(如果有的話)對接收針對特定組播組(例如組ABC)的組播流量感興趣。組播接收器(MC Rx) 224 從MC Tx 210接收詢問并報告它對接收針對組ABC的組播流量感興趣。各種網(wǎng)絡節(jié)點“監(jiān)聽”MC Tx 210與MC Rx 224之間的通信,注意,通過針對組ABC更新它們各自的組播列表, MC Rx 2M對針對組ABC的組播流量感興趣。例如,假定MC Rx經(jīng)由端口 P2可通信地連接到節(jié)點222,節(jié)點222將端口 P2加入它的針對組ABC的組播列表中。同樣地,假定端口 P2 是流量將到達MC Rx 2 的端口,節(jié)點220將其端口 P2加入它的針對組ABC的組播列表中。 如圖2所示,節(jié)點218、216、214和212也將它們各自的P2端口加入它們各自的針對組ABC 的組播列表中。通過這種方式,到達節(jié)點212的組ABC流量將通過網(wǎng)絡適當?shù)剞D(zhuǎn)送到MC Rx 224。此外,在標準偵聽使能情景中,將緩存缺失發(fā)送到CPU。這些數(shù)據(jù)包可通過CPU以慢通道方式轉(zhuǎn)送,但是直到硬件提取層對硬件進行了規(guī)劃,才會在硬件中轉(zhuǎn)送它們。但是,在各種情景中,可在網(wǎng)絡200上啟動新的組播流而沒有上述IGMP詢問和/ 或報告。例如,如果針對組XYZ的流從節(jié)點2 啟動而沒有任何前述IGMP詢問和/或報告, 則假定網(wǎng)絡200中的節(jié)點都不具有用于組XYZ的任何組播列表條目,到達網(wǎng)絡200的每個組XYZ數(shù)據(jù)包會導致緩存缺失。利用上述的標準IGMP偵聽使能技術(shù),這些緩存缺失將堵塞在網(wǎng)絡節(jié)點的處理單元的慢通道轉(zhuǎn)送隊列中,消耗處理資源,延遲CTZ流的收斂。如果在網(wǎng)絡200上,在相同或較近的時間啟動多個新的不同的流,則收斂延遲增加。在各種實施例中,例如上述網(wǎng)絡節(jié)點的緩存缺失會導致網(wǎng)絡節(jié)點進入初始硬件洪泛的狀態(tài)。本申請使用的“硬件洪泛”或“初始硬件洪泛”表示作為對緩存缺失的初始響應, 硬件洪泛的動作。如上所述,緩存缺失被發(fā)送到網(wǎng)絡裝置處理單元(例如圖1的處理單元 130)用于處理。在通過處理單元處理緩存缺失的時間周期里,至少部分地發(fā)生初始硬件洪泛。一旦處理了緩存缺失(例如在硬件中已經(jīng)針對CTZ組播組規(guī)劃了新的條目),那么屬于 XYZ組的后續(xù)數(shù)據(jù)包就會“命中”緩存(即針對XYZ數(shù)據(jù)包的表查找會產(chǎn)生匹配)。緩存命中被接受(即它們將僅在對應的轉(zhuǎn)送條目中定義的出站端口上被轉(zhuǎn)送,與洪泛它們相反)。因此,當“命中”緩存的數(shù)據(jù)包的數(shù)量增加時,用于處理單元中緩存缺失的處理隊列的尺寸縮小。初始硬件洪泛減小處理單元的處理負擔,有助于(一個或多個)流收斂的加快。圖3是流程圖,示出用于組播收斂的處理。在310,在網(wǎng)絡裝置接收組播數(shù)據(jù)包。 在320,網(wǎng)絡裝置至少部分地基于數(shù)據(jù)包的源IP地址和組的組播IP地址(即(S,G)地址組合)確定是否有針對數(shù)據(jù)包的緩存命中或緩存缺失。如果數(shù)據(jù)包導致緩存命中,則在330, 根據(jù)緩存條目中的轉(zhuǎn)送信息轉(zhuǎn)送數(shù)據(jù)包。如果數(shù)據(jù)包導致緩存缺失,則在340,網(wǎng)絡裝置關(guān)于具有該(S,G)組合的流量進入初始硬件洪泛狀態(tài)。硬件洪泛導致數(shù)據(jù)包根據(jù)VLAN成員資格轉(zhuǎn)送到網(wǎng)絡裝置的出站端口。換言之,可以在網(wǎng)絡裝置的所有出站端口上轉(zhuǎn)送數(shù)據(jù)包,但是不一定是所有出站端口。除了洪泛數(shù)據(jù)包以外,在350,還將導致緩存缺失的數(shù)據(jù)包的拷貝發(fā)送到網(wǎng)絡裝置上的處理單元。然后在360,處理單元產(chǎn)生用于(S,G)組合的緩存條目。緩存缺失數(shù)據(jù)包的發(fā)送和處理可能在硬件洪泛開始之前、期間和/或之后發(fā)生。緩存條目允許具有相同的 (S,G)組合的后續(xù)數(shù)據(jù)包在硬件中轉(zhuǎn)送,不需要緩存缺失處理。如上所述,緩存缺失數(shù)據(jù)包的處理不包括慢通道轉(zhuǎn)送,因為會在網(wǎng)絡上產(chǎn)生重復的數(shù)據(jù)包。圖4是方框圖,示出現(xiàn)有技術(shù)以太網(wǎng)自動保護交換(EAPS)系統(tǒng)。EAPS系統(tǒng)400包括一個或多個EAPS域401。為了發(fā)送和接收EAPS系統(tǒng)控制消息417,針對每個EAPS域401 創(chuàng)建控制VLAN 403。創(chuàng)建EAPS域401用于保護由一個或多個數(shù)據(jù)輸送VLAN 404構(gòu)成的群組。EAPS系統(tǒng)400在環(huán)形網(wǎng)絡402上操作。環(huán)形網(wǎng)絡402上的一個節(jié)點被指定為主節(jié)點405。主節(jié)點405上的兩個環(huán)形端口被指定為基本端口 406和輔助端口 407。環(huán)形網(wǎng)絡402上的所有其他節(jié)點都是傳輸節(jié)點411,分別有自己的環(huán)形端口 412。每個主節(jié)點405 和傳輸節(jié)點411分別具有轉(zhuǎn)送數(shù)據(jù)庫(FDB)408和413,在數(shù)據(jù)庫408和413中它們存儲關(guān)于網(wǎng)絡通信通道的信息。主節(jié)點405具有狀態(tài)寄存器409,用于存儲環(huán)形網(wǎng)絡402的狀態(tài)。 為了說明的目的,將環(huán)形網(wǎng)絡402的狀態(tài)或者描述為“失敗”,表示在環(huán)形網(wǎng)絡402中有故障或中斷,或者描述為“完成”,表示環(huán)形網(wǎng)絡沒有終端,或者環(huán)形網(wǎng)絡已經(jīng)恢復,并且所有節(jié)點都正確地通信。傳輸節(jié)點411具有狀態(tài)寄存器414和預轉(zhuǎn)送計時器415,傳輸節(jié)點在狀態(tài)寄存器414中存儲預轉(zhuǎn)送狀態(tài)。傳輸節(jié)點411還具有臨時阻塞端口存儲區(qū)(TBP)416,傳輸節(jié)點在TBP中存儲臨時阻塞的端口的識別信息。主節(jié)點405和傳輸節(jié)點411利用控制消息417以經(jīng)由控制VLAN 403通信。實施例中控制消息417的一些實例是健康檢查消息、下行鏈接消息以及沖刷FDB消息。傳輸節(jié)點411將控制VLAN 403上發(fā)送的消息識別為控制消息417,因為它具有與轉(zhuǎn)送數(shù)據(jù)庫413 中的條目相對應的特殊MAC(媒體訪問控制)地址。主節(jié)點和傳輸節(jié)點在將控制消息417 拷貝到節(jié)點的中央處理單元(CPU)之前轉(zhuǎn)送控制消息417,在所述節(jié)點中,除了別的之外, 它被記入日志以用于故障排除。在通過CPU處理之前轉(zhuǎn)送控制消息417有助于故障之后以較之通過前述現(xiàn)有技術(shù)方法能實現(xiàn)的少得多的時間實現(xiàn)環(huán)形網(wǎng)絡402的收斂。主節(jié)點405具有hello計時器418,hello計時器418是用于發(fā)送健康檢查控制消息417的時鐘。一旦hello計時器418啟動,它就提示主節(jié)點405以定期的間隔(例如每一秒鐘)在控制VLAN 403上發(fā)送健康檢查消息417。健康檢查消息417環(huán)繞環(huán)形網(wǎng)絡402 轉(zhuǎn)送,幾乎立即返回主節(jié)點405。當主節(jié)點405發(fā)送健康檢查消息417時,它設(shè)定失敗計時器410。如果在健康檢查消息返回主節(jié)點405之前失敗計時器410到期,則主節(jié)點405確定在環(huán)形網(wǎng)絡402中有故障。即使在故障期間也發(fā)送健康檢查消息417。當故障恢復時,主節(jié)點405立即知道,因為健康檢查消息417的返回恢復。圖5是方框圖,示出根據(jù)各種實施例,采用以太網(wǎng)自動保護交換(EAPS)的網(wǎng)絡裝置。網(wǎng)絡裝置510包括一個或多個硬件表520 (例如緩存)、處理單元530 (例如中央處理單元(CPU)、網(wǎng)絡處理單元(NPU)等等)以及數(shù)據(jù)包處理器M0。在一些實施例中,只要EAPS 拓撲結(jié)構(gòu)變化,EAPS 538就向MC管理器534與其端口列表一起發(fā)送VLAN列表。MC管理器 534已具有已經(jīng)在硬件提取層(HAL) 536中規(guī)劃的轉(zhuǎn)送條目的列表和在它的基于IGMP報告的軟件表中的其他條目的列表。因此,當MC管理器5;34從EAPS 538接收VLAN列表和端口列表時,MC管理器5;34 將該信息與IGMP報告非常相似地來對待。換言之,對于已經(jīng)在HAL 536中規(guī)劃的轉(zhuǎn)送條目, MC管理器534會將EAPS出站端口(對應于特定組播流)添加到其緩存列表,并將更新的緩存列表發(fā)送到HAL 536。區(qū)別在于通過MC管理器5;34接收EAPS出站端口列表,比IGMP報告快得多,因此顯著減少(一個或多個)組播流的收斂時間。對于用于尚未針對已知組播流在HAL 536中規(guī)劃的轉(zhuǎn)送條目,MC管理器534會將 EAPS端口添加到它已有的組播組列表。對于不是在HAL536中的流,數(shù)據(jù)流僅當這些流到達網(wǎng)絡裝置時恢復,導致第2層(L2)緩存缺失并將L2緩存缺失發(fā)送到MC管理器534。MC管理器534會通過利用新的緩存條目更新HAL 536來處理緩存缺失。一旦新的緩存條目已經(jīng)創(chuàng)建,用于(一個或多個)新流的數(shù)據(jù)流就會在硬件中交換。在另一實施例中,除了從EAPS 538接收端口列表(而不是等待IGMP報告)之外, MC管理器534啟動硬件洪泛狀態(tài)并啟動計時器。在一些實施例中計時器可以在45秒左右, 但是根據(jù)網(wǎng)絡的特定需要,它可以更短,也可以更長。作為啟動洪泛狀態(tài)的一部分,MC管理器534規(guī)劃HAL536,以將相關(guān)VLAN設(shè)定為硬件洪泛模式。通過這種硬件洪泛狀態(tài)/模式, 如上所述,MC管理器534接收L2緩存缺失,創(chuàng)建緩存條目并規(guī)劃HAL 536,并且隨著硬件條目被填充,L2緩存缺失將開始逐漸停止。但是,硬件(即數(shù)據(jù)包處理器540和(一個或多個)硬件表520)會處于這樣的狀態(tài)它處于硬件洪泛模式(例如在特定VLAN上),但是同時,通過基于用于緩存命中的出站端口的轉(zhuǎn)送,將接受硬件上的緩存命中。因此,對于那些在硬件中規(guī)劃的條目,數(shù)據(jù)包將不會被洪泛或發(fā)送到處理單元530。但是,對于所有其他有緩存缺失的組播數(shù)據(jù)包,這些數(shù)據(jù)包將在硬件中被洪泛,同時緩存缺失數(shù)據(jù)包的拷貝被發(fā)送到CPU 530以用于處理(即,獲知和/或產(chǎn)生新的緩存條目,而不將數(shù)據(jù)包轉(zhuǎn)回到網(wǎng)絡)。一旦洪泛計時器到期,MC管理器534就回復到標準IGMP偵聽使能模式。應當注意,當EAPS 538向MC管理器534發(fā)送消息以啟動硬件洪泛時,已有的緩存條目不應當被沖刷。否則,將產(chǎn)生另外的緩存缺失并發(fā)送到處理單元530,導致進一步的處理壓力。在涉及EAPS環(huán)的實施例中,有可能將沒有接收器的出站端口添加到組播組列表。 利用定期的IGMP老化,發(fā)送到?jīng)]有接收器的端口的流量將最終移出,但是會比期望的更久。因此,可采用“快”移出。例如,如果正在使用IGMP詢問,則在一定的時間周期里(例如5-10秒,或更短,或更長)應期望IGMP報告。用于接收報告的期望時間可用作“快”移出時間,以減少不必要流量的量。圖6是流程圖,示出EAPS環(huán)形網(wǎng)絡中組播收斂的處理。在610,檢測EAPS網(wǎng)絡中的拓撲結(jié)構(gòu)變化。作為響應,在620,至少一個節(jié)點清空其IGMP偵聽表。在630,發(fā)送代理 IGMP詢問以再獲知組播轉(zhuǎn)送條目。在640,在某一時刻,在640檢測EAPS網(wǎng)絡上的緩存缺失。在650,不是將緩存缺失數(shù)據(jù)包發(fā)送到處理單元以用于慢通道轉(zhuǎn)送,而是在一個或多個出站端口經(jīng)由硬件將數(shù)據(jù)包洪泛到網(wǎng)絡。在660,將緩存缺失數(shù)據(jù)包的拷貝發(fā)送到裝置的處理單元,在670,對于緩存缺失數(shù)據(jù)包在裝置的處理單元創(chuàng)建硬件緩存條目。處理單元不會將緩存缺失數(shù)據(jù)包慢通道轉(zhuǎn)送回網(wǎng)絡。圖7示出以計算機系統(tǒng)700的示例性形式,機器的示意性表示,在計算機系統(tǒng)700中可執(zhí)行一組指令,用于使得機器進行本申請討論的任意一個或多個方法。在替代實施例中,可將機器連接到(例如網(wǎng)絡方式)局域網(wǎng)(LAN)中的其他機器、企業(yè)內(nèi)部互聯(lián)網(wǎng)、外部網(wǎng)絡或者互聯(lián)網(wǎng)。在客戶機-服務器網(wǎng)絡環(huán)境中,可在服務器或客戶機的能力里操作機器, 或者對等(或分布式)網(wǎng)絡環(huán)境中將機器操作為個別機器。機器可以是個人計算機(PC)、 平板計算機、機頂盒、個人數(shù)字助理(PDA)、蜂窩電話、或者能夠執(zhí)行一組指令(連續(xù)的或其他的)的任何機器,所述一組指令指定機器要采取的動作。此外,當僅示出單個機器時,也可以采用術(shù)語“機器”以包括機器(例如計算機)的任意集合,它們獨立或聯(lián)合地執(zhí)行一組 (或多組)指令,以進行本申請討論的任意一個或多個方法。示例性計算機系統(tǒng)700包括處理器702、內(nèi)存704 (例如只讀存儲器(ROM)、閃存、 動態(tài)隨機訪問存儲器(DRAM)例如同步DRAM (SDRAM)或Rambus DRAM (RDRAM)等等)、靜態(tài)存儲器806(例如閃存、靜態(tài)隨機訪問存儲器(SRAM)等等)以及輔助存儲器818(例如數(shù)據(jù)存儲裝置),它們經(jīng)由總線相互通信。處理器702表示一個或多個通用處理裝置,例如微處理器、中央處理單元等等。具體而言,處理器702可以是復雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令集架構(gòu)(VLIW)微處理器、實現(xiàn)其他指令集的處理器或者實現(xiàn)指令集的組合的處理器。處理器702也可以是一個或多個專用處理裝置,例如專用集成電路(ASIC)、場可編程柵極陣列(FPGA)、數(shù)字信號處理器(DSP)、網(wǎng)絡處理器等等。處理器702被配置為執(zhí)行處理邏輯126,處理邏輯1 用于進行本申請討論的操作和步驟。計算機系統(tǒng)700可進一步包括網(wǎng)絡接口裝置716。計算機系統(tǒng)700還可包括視頻顯示單元710(例如液晶顯示器(LCD)或陰極射線管(CRT))、文字數(shù)字輸入裝置712(例如鍵盤)以及指針控制裝置(例如鼠標)。輔助存儲器718可包括機器可讀存儲介質(zhì)(或者具體而言計算機可讀存儲介質(zhì))7 ,上面存儲一組或多組指令(例如軟件72 ,指令實現(xiàn)本申請所述的一種或多種方法或功能。在通過計算機系統(tǒng)700執(zhí)行軟件的過程中,軟件722也可以完全或只是部分地置于內(nèi)存704中和/或處理裝置702中,內(nèi)存704和處理裝置702也構(gòu)成機器可讀存儲介質(zhì)。軟件722可經(jīng)由網(wǎng)絡接口裝置716進一步在網(wǎng)絡720上傳輸或接收。雖然在示例性實施例中將機器可讀存儲介質(zhì)7 示出為單個介質(zhì),但是可以采用術(shù)語“機器可讀存儲介質(zhì)”以包括存儲一組或多組指令的單個介質(zhì)或多個介質(zhì)(例如收斂式數(shù)據(jù)庫或分布式數(shù)據(jù)庫,和/或相關(guān)聯(lián)的緩存和服務器)。也可以采用術(shù)語“機器可讀存儲介質(zhì)”以包括能夠存儲或編碼一組指令的任意介質(zhì),所述一組指令用于通過機器執(zhí)行,使得機器進行本發(fā)明的任意一個或多個方法。因此可以采用術(shù)語“機器可讀存儲介質(zhì)”以包括,但不限于固態(tài)存儲器、光學存儲器或磁存儲器。本申請描述了各種操作或功能,它們可實施或限定為軟件代碼或指令。這些內(nèi)容可以是直接可執(zhí)行的(“目標”或“可執(zhí)行”形式)、源代碼或差代碼??山?jīng)由有代碼或存儲其上的指令的制造的物品提供本申請描述的實施例的軟件實施方式,或經(jīng)由操作通信接口的方法提供本申請描述的實施例的軟件實施方式,以經(jīng)由通信接口發(fā)送數(shù)據(jù)。機器可讀介質(zhì)或計算機可讀介質(zhì)可使得機器進行所述的功能或操作,并包括存儲采用機器(例如計算裝置、電子系統(tǒng)等等)可訪問形式的信息的任意機構(gòu),例如可記錄/不可記錄介質(zhì)(例如只讀存儲器(ROM)、隨機訪問存儲器(RAM)、磁盤存儲介質(zhì)、光學存儲介質(zhì)、閃存裝置等等)。通信接口包括連接到任何硬連接的、無線的、光學的等等介質(zhì)以與另一裝置(例如存儲器總線接口、處理器總線接口、互聯(lián)網(wǎng)連接、磁盤控制器等等)通信的任意機構(gòu)??赏ㄟ^提供配置參數(shù)和/或發(fā)送信號來配置通信接口,以制備通信接口,提供描述軟件內(nèi)容的數(shù)據(jù)信號。 經(jīng)由發(fā)送到通信接口的一個或多個指令或信號可訪問通信接口。本發(fā)明還涉及進行本申請操作的系統(tǒng)。該系統(tǒng)可特別構(gòu)造用于要求的目的,或者可包括通用計算機,通過計算機中存儲的計算機程序來選擇性地啟動或再配置通用計算機??蓪⑦@種計算機程序存儲在計算機可讀存儲介質(zhì)中,例如但不限于任意類型的盤,包括軟盤、光盤、CDR0M、磁光盤、只讀存儲器(ROM)、隨機訪問存儲器(RAM)、EPR0M、EEPR0M、磁卡或光卡、或適合于存儲電子指令的任意類型的介質(zhì),分別連接到計算機系統(tǒng)總線。本申請?zhí)峁┑姆椒ê惋@示并非本來就涉及任何特定計算機或其他設(shè)備。通過根據(jù)本申請的教導的程序,可使用各種通用系統(tǒng),或者可證明便于構(gòu)造更專業(yè)的系統(tǒng)以進行所述方法的要求操作。這些系統(tǒng)的結(jié)構(gòu)將出現(xiàn),如同下面的描述所提出的。此外,本發(fā)明并非參照任何特定編程語言或操作系統(tǒng)來描述。應當理解,可使用各種編程語言來實現(xiàn)如同本申請所述的本發(fā)明的教導,并且可在多種操作系統(tǒng)里實現(xiàn)所述教導。本申請所述的各種部件可以是用于進行本申請所述功能的器件。本申請所述的每個部件包括軟件、硬件或者它們的組合。本申請所述的操作和功能可實施為軟件模塊、硬件模塊、專用硬件(例如專用硬件、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)等等)、內(nèi)嵌控制器、硬連接電路等等。除了本申請所述之外,對本發(fā)明公開的實施例和實施方式可作出不脫離其范圍的各種變型。因此,應當在示例性而不是限制性的意義上解釋本申請的說明和實例。只能參照后附權(quán)利要求書來衡量本發(fā)明的范圍。
權(quán)利要求
1.一種方法,包括在傳輸節(jié)點接收來自源節(jié)點的組播數(shù)據(jù)包,所述組播數(shù)據(jù)包具有源地址和組播組地址;對于所述組播數(shù)據(jù)包在所述傳輸節(jié)點檢測硬件緩存缺失;經(jīng)由硬件將所述組播數(shù)據(jù)包洪泛到網(wǎng)絡的端口上,其中所述洪泛包括至少部分地基于虛擬局域網(wǎng)(VLAN)成員資格,將所述組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到所述傳輸節(jié)點的相鄰節(jié)點; 將所述組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到線外處理單元;以及軟件處理所述組播數(shù)據(jù)包的緩存缺失拷貝,而不將所述緩存缺失拷貝從所述處理單元轉(zhuǎn)送到所述網(wǎng)絡上,所述軟件處理包括經(jīng)由硬件提取層建立用于所述組播數(shù)據(jù)包的硬件緩存條目。
2.如權(quán)利要求1所述的方法,其中所述線外處理單元是中央處理單元(CPU)或網(wǎng)絡處理單元(NPU)的其中之一。
3.如權(quán)利要求1所述的方法,其中在所述網(wǎng)絡的節(jié)點上使能互聯(lián)網(wǎng)組管理協(xié)議(IGMP) 偵聽。
4.一種方法,包括檢測網(wǎng)絡中的拓撲結(jié)構(gòu)變化,所述網(wǎng)絡采用以太網(wǎng)自動保護交換(EAPS)和互聯(lián)網(wǎng)組管理協(xié)議(IGMP)偵聽;清空與所述EAPS網(wǎng)絡相關(guān)聯(lián)的IGMP偵聽表; 在所述EAPS網(wǎng)絡上發(fā)出IGMP代理詢問;對于具有源地址和組播組地址的組播數(shù)據(jù)包,在EAPS節(jié)點檢測硬件緩存缺失; 經(jīng)由硬件將所述組播數(shù)據(jù)包洪泛到EAPS網(wǎng)絡的端口上,其中所述洪泛包括至少部分地基于虛擬局域網(wǎng)(VLAN)成員資格,將所述組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到所述EAPS節(jié)點的相鄰節(jié)點;將所述組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到線外處理單元;以及軟件處理所述組播數(shù)據(jù)包的緩存缺失拷貝,而不將所述緩存缺失拷貝從所述處理單元轉(zhuǎn)送到所述EAPS網(wǎng)絡上,所述軟件處理包括經(jīng)由硬件提取層建立用于所述組播數(shù)據(jù)包的硬件緩存條目。
5.如權(quán)利要求4所述的方法,其中所述硬件洪泛通過對應的計時器開始。
6.如權(quán)利要求5所述的方法,進一步包括當所述計時器到期時停止所述硬件洪泛。
7.如權(quán)利要求4所述的方法,其中使能IGMP偵聽。
8.一種網(wǎng)絡裝置,包括數(shù)據(jù)包處理器,該數(shù)據(jù)包處理器接收具有源地址和組播組地址的組播數(shù)據(jù)包; 硬件緩存,該硬件緩存存儲用于組播流量的轉(zhuǎn)送條目,所述轉(zhuǎn)送條目至少部分地基于源地址和組播組地址;所述數(shù)據(jù)包處理器進一步基于對所述硬件緩存的查找,檢測針對所述組播數(shù)據(jù)包的硬件緩存缺失, 將所述組播數(shù)據(jù)包洪泛到網(wǎng)絡的端口上,其中洪泛包括至少部分地基于VLAN成員資格,將所述組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到所述傳輸節(jié)點的相鄰節(jié)點,以及將所述組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到處理單元;以及所述處理單元軟件處理所述組播數(shù)據(jù)包的緩存缺失拷貝,而不將所述緩存缺失拷貝轉(zhuǎn)送到所述網(wǎng)絡上,所述軟件處理包括經(jīng)由硬件提取層建立用于所述組播數(shù)據(jù)包的硬件緩存條目。
9.如權(quán)利要求8所述的網(wǎng)絡裝置,其中所述處理單元包括以太網(wǎng)自動保護交換(EAPS) 部件,用于在EAPS網(wǎng)絡上配置所述網(wǎng)絡裝置。
10.如權(quán)利要求8所述的網(wǎng)絡裝置,其中所述處理單元包括命令行接口(CLI),用于在網(wǎng)絡上配置所述網(wǎng)絡裝置。
11.如權(quán)利要求8所述的網(wǎng)絡裝置,所述裝置使能IGMP偵聽。
12.如權(quán)利要求9所述的網(wǎng)絡裝置,其中所述數(shù)據(jù)包處理器進一步包括計時器,其中當所述計時器到期時,通過所述數(shù)據(jù)包處理器的洪泛停止。
13.一種計算機可讀存儲介質(zhì),具有內(nèi)容以提供指令,導致機器執(zhí)行操作,包括 在傳輸節(jié)點接收來自源節(jié)點的組播數(shù)據(jù)包,所述組播數(shù)據(jù)包具有源地址和組播組地址;對于所述組播數(shù)據(jù)包在所述傳輸節(jié)點檢測硬件緩存缺失;經(jīng)由硬件將所述組播數(shù)據(jù)包洪泛到網(wǎng)絡的端口上,其中所述洪泛包括至少部分地基于虛擬局域網(wǎng)(VLAN)成員資格,將所述組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到所述傳輸節(jié)點的相鄰節(jié)點; 將所述組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到線外處理單元;以及軟件處理所述組播數(shù)據(jù)包的緩存缺失拷貝,而不將所述緩存缺失拷貝從所述處理單元轉(zhuǎn)送到所述網(wǎng)絡上,所述軟件處理包括經(jīng)由硬件提取層建立用于所述組播數(shù)據(jù)包的硬件緩存條目。
14.如權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中所述線外處理單元是中央處理單元(CPU)或網(wǎng)絡處理單元(NPU)的其中之一。
15.如權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中在所述網(wǎng)絡的節(jié)點上使能互聯(lián)網(wǎng)組管理協(xié)議(IGMP)偵聽。
16.一種計算機可讀存儲介質(zhì),包括檢測網(wǎng)絡中的拓撲結(jié)構(gòu)變化,所述網(wǎng)絡采用以太網(wǎng)自動保護交換(EAPS)和互聯(lián)網(wǎng)組管理協(xié)議(IGMP)偵聽;清空與所述EAPS網(wǎng)絡相關(guān)聯(lián)的IGMP偵聽表; 在所述EAPS網(wǎng)絡上發(fā)出IGMP代理詢問;對于具有源地址和組播組地址的組播數(shù)據(jù)包,在EAPS節(jié)點檢測硬件緩存缺失; 經(jīng)由硬件將所述組播數(shù)據(jù)包洪泛到EAPS網(wǎng)絡的端口上,其中所述洪泛包括至少部分地基于虛擬局域網(wǎng)(VLAN)成員資格,將所述組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到所述EAPS節(jié)點的相鄰節(jié)點;將所述組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到線外處理單元;以及軟件處理所述組播數(shù)據(jù)包的緩存缺失拷貝,而不將所述緩存缺失拷貝從所述處理單元轉(zhuǎn)送到所述EAPS網(wǎng)絡上,所述軟件處理包括經(jīng)由硬件提取層建立用于所述組播數(shù)據(jù)包的硬件緩存條目。
17.如權(quán)利要求16所述的計算機可讀存儲介質(zhì),其中所述硬件洪泛通過對應的計時器開始。
18.如權(quán)利要求17所述的計算機可讀存儲介質(zhì),進一步包括當所述計時器到期時停止所述硬件洪泛。
19.如權(quán)利要求16所述的計算機可讀存儲介質(zhì),其中使能IGMP偵聽。
全文摘要
在傳輸節(jié)點接收從源節(jié)點發(fā)送的組播數(shù)據(jù)包(310)。組播數(shù)據(jù)包包括源地址和組播組地址。對于組播數(shù)據(jù)包在傳輸節(jié)點檢測硬件緩存缺失(320)。將組播數(shù)據(jù)包硬件洪泛到網(wǎng)絡的端口(340)。洪泛包括基于虛擬局域網(wǎng)(VLAN)成員資格,將組播數(shù)據(jù)包的拷貝轉(zhuǎn)送到傳輸節(jié)點的相鄰節(jié)點。將組播數(shù)據(jù)包的緩存缺失拷貝發(fā)送到線外處理單元(350),在線外處理單元軟件處理組播數(shù)據(jù)包的緩存缺失拷貝。處理包括經(jīng)由硬件提取層建立用于組播數(shù)據(jù)包的硬件緩存條目(360)。不將緩存缺失拷貝轉(zhuǎn)送到網(wǎng)絡上。
文檔編號H04L12/56GK102197627SQ200980143097
公開日2011年9月21日 申請日期2009年7月24日 優(yōu)先權(quán)日2008年8月29日
發(fā)明者吉姆·潘, 唐納德·B·戈洛斯爾, 巴拉卡什·卡什耶普, 曼普瑞特·S·桑杜, 樸基弘, 科薩萬·蒂魯凡卡塔薩姆, 蘇尼爾·P·沙哈, 阿尼爾·利姆 申請人:極進網(wǎng)絡有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
荣成市| 钦州市| 扎鲁特旗| 武义县| 上蔡县| 鄂托克前旗| 汝城县| 蒲城县| 保山市| 丹巴县| 奎屯市| 略阳县| 安多县| 富锦市| 连山| 夏河县| 石阡县| 昌邑市| 韩城市| 岳池县| 遵义县| 图木舒克市| 凤凰县| 海城市| 时尚| 文山县| 太康县| 双牌县| 白山市| 云浮市| 达孜县| 辽阳县| 福海县| 临沭县| 桃江县| 崇阳县| 肇源县| 阿巴嘎旗| 西和县| 利川市| 长武县|