專利名稱:響應(yīng)于檢測(cè)到即將發(fā)生的網(wǎng)絡(luò)破壞而重新路由多播流量的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聯(lián)網(wǎng),而具體而言涉及網(wǎng)絡(luò)內(nèi)的多播路由(multicast routing)。
背景技術(shù):
當(dāng)檢測(cè)到諸如鏈路或節(jié)點(diǎn)故障以及鏈路或節(jié)點(diǎn)恢復(fù)之類的路由變化 時(shí),經(jīng)常需要建立新的多播樹(shù)。在已建立了多播樹(shù)的網(wǎng)絡(luò)中發(fā)生的任何路 由變化在多播路由協(xié)議建立新的多播樹(shù)所需的時(shí)間期間都可能導(dǎo)致分組丟 失。通常,通過(guò)發(fā)送剪除(prune)消息以從現(xiàn)有的樹(shù)中去除一個(gè)或多個(gè)節(jié) 點(diǎn),然后發(fā)送加入(join)消息以向新的多播樹(shù)添加一個(gè)或多個(gè)節(jié)點(diǎn),來(lái) 建立新的多播樹(shù)。在發(fā)送剪除消息的時(shí)刻和上游節(jié)點(diǎn)處理加入消息的時(shí)刻 之間,有可能發(fā)生分組丟失。
在多播聯(lián)網(wǎng)系統(tǒng)中,使分組丟失達(dá)到最低限度是一個(gè)重要的目標(biāo)。在 當(dāng)前的因特網(wǎng)協(xié)議(IP)多播網(wǎng)絡(luò)中,故障后的收斂通常相對(duì)較快,從而 可以使由于故障引起的分組丟失達(dá)到最低限度。但是,響應(yīng)于故障仍發(fā)生 一些分組丟失。
一些被當(dāng)作故障的事件實(shí)際上是所計(jì)劃的維護(hù)事件。許多單播路由協(xié) 議提供了技術(shù),用于在去除節(jié)點(diǎn)以進(jìn)行維護(hù)之前從容地關(guān)斷節(jié)點(diǎn)。這種技 術(shù)允許了在去除節(jié)點(diǎn)之前重新計(jì)算單播路由拓?fù)?,從而防止?(或者至少 減少了)分組丟失。不幸的是,諸如PIM之類的多播路由協(xié)議當(dāng)前不支持 這種技術(shù)。因此,需要新的技術(shù)來(lái)處理所計(jì)劃的維護(hù)事件,以減少隨后的 多播流量丟失。
通過(guò)參考以下描述和附圖可以獲取對(duì)本發(fā)明的更全面理解,附圖中相
似的標(biāo)號(hào)指示相似的特征。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)的框圖。 圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的另一網(wǎng)絡(luò)的框圖。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例被配置為響應(yīng)于檢測(cè)到即將發(fā)生的網(wǎng)絡(luò) 破壞而重新路由多播流量的網(wǎng)絡(luò)設(shè)備的框圖。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例由檢測(cè)到即將發(fā)生的網(wǎng)絡(luò)破壞的網(wǎng)絡(luò)設(shè) 備執(zhí)行的方法的流程圖。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例由正在源發(fā)多播數(shù)據(jù)流到多接入局域網(wǎng) 上的網(wǎng)絡(luò)設(shè)備執(zhí)行的方法的流程圖。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)設(shè)備的框圖。 圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)設(shè)備的另一框圖。 雖然本發(fā)明允許有各種修改和替換形式,但在附圖和詳細(xì)描述中提供 了本發(fā)明的特定實(shí)施例來(lái)作為示例。應(yīng)當(dāng)理解,附圖和詳細(xì)描述并不意圖 將本發(fā)明限制到所公開(kāi)的特定形式。而是意圖在于覆蓋落在由所附權(quán)利要 求限定的本發(fā)明的精神和范圍之內(nèi)的所有修改、等同和替換。
具體實(shí)施例方式
圖1示出了實(shí)現(xiàn)支持多播的協(xié)議的網(wǎng)絡(luò),該多播例如是協(xié)議無(wú)關(guān)多播 (Protocol Independent Multicast , PIM )或距離向量多播路由協(xié)議 (DVMRP)。這里使用的PIM指的是多種不同類型的PIM中的任何一 種,包括源特定多播(Source Specific Multicast, PIM-SSM)、密集模式 (PIM-DM)、稀疏模式(PIM-SM)和雙向(PIM-Bidir)。這里描述的 技術(shù)也可結(jié)合任何其他實(shí)現(xiàn)加入和剪除型消息(即,為了被添加到多播樹(shù) 或被從多播樹(shù)中去除而由節(jié)點(diǎn)發(fā)送的消息)的多播協(xié)議使用。
如圖所示,網(wǎng)絡(luò)IO將多播源12耦合到多播訂戶14。網(wǎng)絡(luò)IO可包括 一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。網(wǎng)絡(luò)IO可利用多種不 同介質(zhì)中的任何一種(或其組合)來(lái)實(shí)現(xiàn),該介質(zhì)包括無(wú)線鏈路、衛(wèi)星鏈 路、同軸線纜、光纜等等。網(wǎng)絡(luò)IO包括若干個(gè)網(wǎng)絡(luò)設(shè)備16(1)-16(4)。每個(gè) 網(wǎng)絡(luò)設(shè)備也可被稱為節(jié)點(diǎn)或網(wǎng)絡(luò)節(jié)點(diǎn)。如圖1所示,多播源12耦合到網(wǎng)絡(luò)設(shè)備16(1)。網(wǎng)絡(luò)設(shè)備16(1)耦合到 網(wǎng)絡(luò)設(shè)備16(2)和網(wǎng)絡(luò)設(shè)備16(3)。網(wǎng)絡(luò)設(shè)備16(2)和網(wǎng)絡(luò)設(shè)備16(3)各自耦 合到網(wǎng)絡(luò)設(shè)備16(4)。網(wǎng)絡(luò)設(shè)備16(4)耦合到多播訂戶14。注意, 一個(gè)設(shè)備 或者可以通過(guò)物理鏈路直接地耦合到另一設(shè)備(如圖1所示),或者可以 通過(guò)例如邏輯隧道或若干條物理鏈路和居間的網(wǎng)絡(luò)設(shè)備來(lái)間接地耦合到另 一個(gè)設(shè)備。
多播源12被配置為向多播群組地址G發(fā)送一個(gè)或多個(gè)數(shù)據(jù)流。多播 源12是計(jì)算設(shè)備(例如主機(jī)計(jì)算機(jī)系統(tǒng)、個(gè)人數(shù)字助理、蜂窩電話、網(wǎng) 絡(luò)裝置、網(wǎng)絡(luò)設(shè)備等等),該計(jì)算設(shè)備針對(duì)經(jīng)由網(wǎng)絡(luò)10的傳輸而對(duì)數(shù)據(jù) 流進(jìn)行編碼,然后經(jīng)由網(wǎng)絡(luò)10將包含編碼后的數(shù)據(jù)流的消息發(fā)送到訂 戶。例如,多播源12可以是視頻頭端,該視頻頭端接收視頻流、使該視 頻流為傳輸作好準(zhǔn)備并且經(jīng)由網(wǎng)絡(luò)10將編碼了視頻流的消息發(fā)送到訂 戶。雖然圖1示出了單個(gè)多播源,但是應(yīng)當(dāng)注意,其他實(shí)施例可包括提供 相同和/或不同數(shù)據(jù)流到相同和/或不同多播地址的多個(gè)多播源。此外,單 個(gè)多播源可以源發(fā)(source)若干個(gè)不同的數(shù)據(jù)流到相同和/或不同的多播 地址。
多播訂戶14是計(jì)算設(shè)備,該計(jì)算設(shè)備預(yù)訂多播群組G (例如通過(guò)向 網(wǎng)絡(luò)設(shè)備16(4)發(fā)送因特網(wǎng)群組管理協(xié)議(IGMP)群組報(bào)告,這使得網(wǎng)絡(luò) 設(shè)備16(4)根據(jù)例如協(xié)議無(wú)關(guān)多播(PIM)源特定多播(SSM)協(xié)議生成多 播群組加入)。多播訂戶14隨后經(jīng)由網(wǎng)絡(luò)IO接收尋址到多播群組G的數(shù) 據(jù)流,對(duì)數(shù)據(jù)流進(jìn)行解碼,并且將解碼后的數(shù)據(jù)流呈獻(xiàn)給用戶(例如經(jīng)由 諸如監(jiān)視器之類的顯示設(shè)備和/或諸如揚(yáng)聲器之類的音頻設(shè)備)。多播訂戶 14可以是個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話、網(wǎng)絡(luò)裝置、機(jī)頂盒等 等。
網(wǎng)絡(luò)設(shè)備16(1)-16(4)包括執(zhí)行路由功能和支持路由協(xié)議的各種網(wǎng)絡(luò)設(shè) 備(例如路由器和/或交換機(jī))。每個(gè)網(wǎng)絡(luò)設(shè)備16(1)-16(4)維護(hù)一個(gè)或多個(gè) 路由表,該一個(gè)或多個(gè)路由表存儲(chǔ)著標(biāo)識(shí)去往各種數(shù)據(jù)源和/或數(shù)據(jù)消耗者 的路由的路由信息。每個(gè)網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)用來(lái)將多播數(shù)據(jù)分組從多播源12 傳送到多播訂戶14的多播路由協(xié)議。對(duì)于多播源向其發(fā)送數(shù)據(jù)的每個(gè)多
播群組,多播路由協(xié)議可建立多播樹(shù)(也稱為多播分布樹(shù)),該多播樹(shù)是 可以將分組從多播源傳送到多播訂戶的一組耦合的節(jié)點(diǎn)。
路徑是邏輯或物理的通信通道,分組(例如多播加入和剪除消息以及 多播數(shù)據(jù)分組)可經(jīng)由該通道被發(fā)送到特定的設(shè)備。路徑可包括一條或多 條物理或邏輯網(wǎng)絡(luò)鏈路,以及耦合到這種網(wǎng)絡(luò)鏈路的一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè) 備。對(duì)于本公開(kāi)來(lái)說(shuō),"分組"可包括信元、數(shù)據(jù)報(bào)、幀、消息、片段或 任何其他經(jīng)由網(wǎng)絡(luò)傳送的信息的邏輯群組。網(wǎng)絡(luò)設(shè)備執(zhí)行交換和路由功 能,以便沿著路徑將分組從源傳送到目的地。
在某些拓?fù)渥兓瘜?shí)際發(fā)生之前,網(wǎng)絡(luò)設(shè)備可被告知以這些變化,從而 允許網(wǎng)絡(luò)設(shè)備在拓?fù)鋵?shí)際變化之前開(kāi)始重新路由流量。這可以減少(或者 甚至防止)分組丟失。通知即將發(fā)生的拓?fù)渥兓囊环N方式涉及使用關(guān)斷
通告(shutdown advertisement),在下文將對(duì)此進(jìn)行更詳細(xì)描述。在其他 實(shí)施例中,其他技術(shù)可用來(lái)通知即將發(fā)生的拓?fù)渥兓?br>
可以從網(wǎng)絡(luò)10中去除網(wǎng)絡(luò)10內(nèi)的網(wǎng)絡(luò)設(shè)備和鏈路(例如由于故障、 維護(hù)、網(wǎng)絡(luò)重配置等等)。當(dāng)網(wǎng)絡(luò)設(shè)備要被從網(wǎng)絡(luò)10內(nèi)的操作中去除 時(shí),該網(wǎng)絡(luò)設(shè)備將首先在整個(gè)網(wǎng)絡(luò)中廣播關(guān)斷通告。例如,如果網(wǎng)絡(luò)設(shè)備 16(2)要被從網(wǎng)絡(luò)IO中去除(如圖1中的"X"所示),那么網(wǎng)絡(luò)設(shè)備16(2) 可向網(wǎng)絡(luò)設(shè)備16(1)和16(4)發(fā)送關(guān)斷消息。接收者之一隨后可將關(guān)斷消息 轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備16(3)。這樣,所有其他網(wǎng)絡(luò)設(shè)備都可被告知節(jié)點(diǎn)16(2)將 要離開(kāi)網(wǎng)絡(luò)。
關(guān)斷通告是標(biāo)識(shí)出發(fā)送方網(wǎng)絡(luò)設(shè)備(生成關(guān)斷通告的網(wǎng)絡(luò)設(shè)備)不應(yīng) 當(dāng)再被用于路由流量的消息。例如,在中間系統(tǒng)到中間系統(tǒng)(IS-IS)中, 這種關(guān)斷通告可通過(guò)設(shè)置由路由器發(fā)送的鏈路狀態(tài)分組(LSP)中的過(guò)載 比特來(lái)生成(注意,過(guò)載比特一般用于告之其他路由器在路由流量時(shí)不要 使用發(fā)送方路由器,因此也可用在除關(guān)斷之外的其他情形中)。在發(fā)送關(guān) 斷通告后,發(fā)送方網(wǎng)絡(luò)設(shè)備在關(guān)斷之前可繼續(xù)正常操作指定的一段時(shí)間 (例如60秒)。
網(wǎng)絡(luò)設(shè)備可被配置為自動(dòng)地(例如響應(yīng)于接收到來(lái)自管理員的關(guān)斷命 令)發(fā)送關(guān)斷通告,或者響應(yīng)于管理員提供的命令而發(fā)送關(guān)斷通告(例
如,在關(guān)斷過(guò)程期間,在實(shí)際關(guān)斷網(wǎng)絡(luò)設(shè)備之前,管理員可手工配置網(wǎng)絡(luò) 設(shè)備以發(fā)送一個(gè)或多個(gè)關(guān)斷通告)。網(wǎng)絡(luò)設(shè)備在整個(gè)網(wǎng)絡(luò)中廣播關(guān)斷通告 (例如通過(guò)向未知地址發(fā)送關(guān)斷通告(以使得通告被流播)或者通過(guò)向廣 播或多播地址發(fā)送關(guān)斷通告)。用于生成關(guān)斷通告的技術(shù)可作為單播路由 協(xié)議(例如IS-IS)的一部分來(lái)指定。
在一些實(shí)施例中,關(guān)斷通告包括路由信息,該路由信息可用來(lái)繞過(guò)要 離開(kāi)網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備重新路由單播流量。這種路由信息的簡(jiǎn)單示例是簡(jiǎn)單
地指示出發(fā)送方網(wǎng)絡(luò)設(shè)備將不再被用于路由流量的信息(例如上述IS-IS
關(guān)斷通告中包括的那種)。在一些實(shí)施例中,這種路由信息還可包括標(biāo)識(shí) 出可用于繞過(guò)發(fā)送方網(wǎng)絡(luò)設(shè)備重新路由流量的替換路由的信息。 響應(yīng)于接收到關(guān)斷通告,接收方網(wǎng)絡(luò)設(shè)備(圖1的示例中的網(wǎng)絡(luò)設(shè)備
16(1)、 16(3)和16(4))開(kāi)始重新計(jì)算單播路由,以使得流量不再經(jīng)由關(guān)斷 通告中標(biāo)識(shí)的網(wǎng)絡(luò)設(shè)備被路由。例如,網(wǎng)絡(luò)設(shè)備16(4)可以更新用于將分 組轉(zhuǎn)發(fā)到多播源12的路由,以使得該路由不再包括網(wǎng)絡(luò)設(shè)備16(2)。
當(dāng)單播路由被重新計(jì)算時(shí), 一些多播路由可能受到影響。具體地,單 播路由拓?fù)涞淖兓赡芷茐奶囟ǘ嗖ト航M的多播樹(shù)(即用來(lái)將多播分組從 多播源發(fā)送到一個(gè)或多個(gè)多播訂戶的一條或多條路徑的集合)。例如,單 播路由拓?fù)涞淖兓赡軐?dǎo)致被多播樹(shù)中的節(jié)點(diǎn)中的至少一些所使用的反向 路徑轉(zhuǎn)發(fā)(reverse path forwarding, RPF)接口的變化。反向路徑轉(zhuǎn)發(fā)接口 的變化指示出受影響的節(jié)點(diǎn)(即為之標(biāo)識(shí)出新的RPF接口的節(jié)點(diǎn))將需要 從(包括要離開(kāi)網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備的)舊的多播分布樹(shù)切換到包括新的RPF 接口的新的多播分布樹(shù)。
因此, 一旦即將發(fā)生拓?fù)渥兓粰z測(cè)到(例如,響應(yīng)于接收到關(guān)斷通 告),路由協(xié)議(多播路由協(xié)議或下層的單播路由協(xié)議)就判定是否有任 何多播樹(shù)受到影響。如果一多播樹(shù)受到影響,則多播路由協(xié)議將會(huì)計(jì)算新 的多播樹(shù),并開(kāi)始將流量從舊樹(shù)切換到新樹(shù)。例如,如果實(shí)現(xiàn)PIM-SM, PIM-SM則會(huì)使得沿著當(dāng)前的最短路徑樹(shù)的一個(gè)或多個(gè)節(jié)點(diǎn)(網(wǎng)絡(luò)設(shè)備) 在舊樹(shù)上發(fā)送剪除消息(使得這些節(jié)點(diǎn)被從該樹(shù)上去除)并且在新樹(shù)上發(fā) 送加入消息(使得這些節(jié)點(diǎn)被添加到新樹(shù))。
當(dāng)多播分布樹(shù)將受到關(guān)斷通告中標(biāo)識(shí)的即將發(fā)生的拓?fù)渥兓挠绊?時(shí),受影響的節(jié)點(diǎn)將延遲在舊的分布樹(shù)上發(fā)送剪除消息,直到經(jīng)由新的多 播分布樹(shù)接收到多播流量為止。在新的多播分布樹(shù)上發(fā)送加入消息的時(shí)刻 和經(jīng)由新的多播分布樹(shù)接收多播流量的時(shí)刻之間,將繼續(xù)經(jīng)由舊的多播分 布樹(shù)來(lái)接收和轉(zhuǎn)發(fā)多播流量。
為了明了這種情形,正從舊樹(shù)切換到新樹(shù)的網(wǎng)絡(luò)設(shè)備可生成指示出從 一個(gè)樹(shù)到另一個(gè)樹(shù)的轉(zhuǎn)換是否正在進(jìn)行中的狀態(tài)信息(例如采取與針對(duì)多 播樹(shù)的轉(zhuǎn)發(fā)信息相關(guān)聯(lián)的標(biāo)志的形式)。網(wǎng)絡(luò)設(shè)備還可更新其路由和/或轉(zhuǎn) 發(fā)信息中的一些但非全部來(lái)標(biāo)識(shí)出新的多播分布樹(shù)。例如,網(wǎng)絡(luò)設(shè)備不是 一旦轉(zhuǎn)換被啟動(dòng)就去除與舊的多播分布樹(shù)相對(duì)應(yīng)的所有狀態(tài)信息,而是可
以維護(hù)多播轉(zhuǎn)發(fā)信息(例如為多播群組標(biāo)識(shí)出RPF接口的信息),以使得
轉(zhuǎn)發(fā)信息繼續(xù)標(biāo)識(shí)出舊的多播分布樹(shù)。但是,與此轉(zhuǎn)發(fā)信息相關(guān)聯(lián)的標(biāo)志 (也被稱為"保持"標(biāo)志)可被設(shè)置為指示出轉(zhuǎn)換正在進(jìn)行中并且?guī)?biāo)志 的信息應(yīng)當(dāng)被更新以完成該轉(zhuǎn)換。雖然在轉(zhuǎn)換被啟動(dòng)之后舊的轉(zhuǎn)發(fā)信息被 維護(hù),但是一旦轉(zhuǎn)換被啟動(dòng),網(wǎng)絡(luò)設(shè)備就會(huì)更新多播路由信息以標(biāo)識(shí)新的 多播分布樹(shù)。
在狀態(tài)信息指示出轉(zhuǎn)換正在進(jìn)行中的同時(shí),網(wǎng)絡(luò)設(shè)備將會(huì)繼續(xù)轉(zhuǎn)發(fā)經(jīng) 由舊的多播分布樹(shù)接收到的分組。網(wǎng)絡(luò)設(shè)備在轉(zhuǎn)發(fā)這些多播分組時(shí)可使用
帶標(biāo)志的轉(zhuǎn)發(fā)信息(例如,帶標(biāo)志的RPF接口信息可用于驗(yàn)證多播分組是 經(jīng)由適當(dāng)?shù)慕涌诮邮盏降?,在此情形下該適當(dāng)接口是與舊的多播分布樹(shù)相 關(guān)聯(lián)的RPF接口)。
當(dāng)網(wǎng)絡(luò)設(shè)備經(jīng)由新的多播分布樹(shù)接收到多播分組時(shí),網(wǎng)絡(luò)設(shè)備將會(huì)更 新路由和/或轉(zhuǎn)發(fā)信息以實(shí)現(xiàn)到新的多播分布樹(shù)的轉(zhuǎn)換,并且還會(huì)更新?tīng)顟B(tài) 信息以指示出轉(zhuǎn)換不再進(jìn)行。 一旦轉(zhuǎn)換完成(例如,由被重置為指示出轉(zhuǎn) 換不再進(jìn)行的值的標(biāo)志所指示),經(jīng)由舊的多播分布樹(shù)接收到的任何多播 流量將會(huì)被丟棄(因?yàn)椴辉贂?huì)有任何標(biāo)識(shí)出舊的多播分布樹(shù)的路由或轉(zhuǎn)發(fā) 信息)。
當(dāng)尋址到多播群組的一個(gè)或多個(gè)分組經(jīng)由新的RPF接口 (其與新的多 播分布樹(shù)相關(guān)聯(lián))被接收到時(shí),網(wǎng)絡(luò)設(shè)備檢測(cè)到正在新的多播分布樹(shù)上接
收到分組。由于此RPF接口目前未在與該多播群組相關(guān)聯(lián)的轉(zhuǎn)發(fā)信息中被 標(biāo)識(shí),因此經(jīng)由此接口接收到的任何傳入的分組被丟棄(即,這些分組不 被轉(zhuǎn)發(fā)或路由;但是,被丟棄的分組的拷貝可被保存以供路由處理器檢 查)。新的RPF接口被配置為還在經(jīng)由不是轉(zhuǎn)發(fā)信息中標(biāo)識(shí)的RPF接口 的接口接收到多播分組時(shí)生成中斷。該接口可被配置為響應(yīng)于接收到尋址 到多播群組的單個(gè)分組、尋址到多播群組的預(yù)定數(shù)目的分組或者尋址到多 播群組的預(yù)定比率的分組,來(lái)生成中斷。
路由處理器(例如,下面的圖6中的處理器700)通過(guò)檢査針對(duì)多播 群組的轉(zhuǎn)發(fā)信息以及接收到的分組(例如為了獲得分組中包含的源(S) 和群組(G)信息)來(lái)對(duì)中斷作出響應(yīng)。由于轉(zhuǎn)發(fā)信息指示出轉(zhuǎn)換正在針 對(duì)該多播群組進(jìn)行中,因此路由處理器可以判定多播分組是否是經(jīng)由新的 RPF接口接收到的(例如,如針對(duì)多播群組的路由信息中所指示的)。如 果是,則路由處理器可以更新多播轉(zhuǎn)發(fā)信息以標(biāo)識(shí)出新的多播樹(shù),清除與 該多播轉(zhuǎn)發(fā)信息相關(guān)聯(lián)的標(biāo)志(以使得該標(biāo)志隨后指示出轉(zhuǎn)換不再進(jìn) 行),并且使得剪除經(jīng)由舊的多播分布樹(shù)被發(fā)送。
注意,在關(guān)斷通告被發(fā)送的時(shí)刻和網(wǎng)絡(luò)設(shè)備16(2)最終關(guān)斷的時(shí)刻之 間,網(wǎng)絡(luò)設(shè)備16(2)可以繼續(xù)正常操作(例如通過(guò)對(duì)分組進(jìn)行路由和/或轉(zhuǎn) 發(fā))。如果此時(shí)間段被選擇為長(zhǎng)于關(guān)斷通告被通過(guò)網(wǎng)絡(luò)傳播以及其他網(wǎng)絡(luò) 設(shè)備響應(yīng)于關(guān)斷通告更新其多播路由信息所需的平均時(shí)間,那么由于網(wǎng)絡(luò) 設(shè)備16(2)的去除引起的多播流量的破壞將會(huì)達(dá)到最低限度(或者甚至沒(méi) 有)。
作為如何使用這些技術(shù)的示例,假定在時(shí)刻T0,多播分組正在經(jīng)由包 括網(wǎng)絡(luò)設(shè)備16(1)、 16(2)和16(4)的多播分布樹(shù)(以后稱為"舊"樹(shù))被從 多播源12傳送到多播訂戶14。最初,網(wǎng)絡(luò)設(shè)備16(2)存在于網(wǎng)絡(luò)10中。 然后,網(wǎng)絡(luò)設(shè)備16(2)向(至少)網(wǎng)絡(luò)設(shè)備16(1)和16(4)發(fā)送關(guān)斷通告。這 些網(wǎng)絡(luò)設(shè)備之一隨后可以將關(guān)斷通告轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備16(3)。
網(wǎng)絡(luò)10內(nèi)正在使用的單播路由協(xié)議檢測(cè)到這個(gè)即將發(fā)生的拓?fù)渥?化,并且適當(dāng)?shù)馗略诰W(wǎng)絡(luò)10內(nèi)維護(hù)的單播路由信息。路由協(xié)議(單播 路由協(xié)議或多播路由協(xié)議)確定單播拓?fù)渥兓绊懥硕嗖シ植紭?shù),并且確
定應(yīng)當(dāng)計(jì)算新的多播分布樹(shù)。如果多播路由協(xié)議是依賴于下層的單播路由 協(xié)議的協(xié)議,例如PIM,則下層的單播路由協(xié)議可判定拓?fù)渥兓欠裼绊?多播分布樹(shù),并且如果是則警告多播路由協(xié)議。 一些不依賴于下層的單播 路由協(xié)議的多播路由協(xié)議可被配置為響應(yīng)于檢測(cè)到關(guān)斷通告而自己進(jìn)行此 判定。
一旦路由協(xié)議確定多播分布樹(shù)受到即將發(fā)生的拓?fù)渥兓挠绊懀嗖?路由協(xié)議就確定針對(duì)多播群組的多播流量應(yīng)當(dāng)經(jīng)由包括網(wǎng)絡(luò)設(shè)備16(1)、
16(3)和16(4)的新的多播分布樹(shù)來(lái)傳送。響應(yīng)于檢測(cè)到此情形,受影響的 節(jié)點(diǎn),例如網(wǎng)絡(luò)設(shè)備16(4),將會(huì)開(kāi)始從舊樹(shù)(包括網(wǎng)絡(luò)設(shè)備16(1)、 16(2) 和16(4))切換到新樹(shù)(包括網(wǎng)絡(luò)設(shè)備16(1)、 16(3)和16(4))的過(guò)程。
響應(yīng)于識(shí)別出新樹(shù),網(wǎng)絡(luò)設(shè)備16(4)更新其多播路由信息(例如,存 儲(chǔ)在路由信息庫(kù)(RIB)中)并且向網(wǎng)絡(luò)設(shè)備16(3)發(fā)送加入消息。但是, 網(wǎng)絡(luò)設(shè)備16(4)不經(jīng)由舊的多播分布樹(shù)發(fā)送剪除消息,網(wǎng)絡(luò)設(shè)備16(4)也不 去除與舊的多播分布樹(shù)相對(duì)應(yīng)的轉(zhuǎn)發(fā)信息。網(wǎng)絡(luò)設(shè)備16(4)而是更新與該 轉(zhuǎn)發(fā)信息(例如多播轉(zhuǎn)發(fā)信息庫(kù)(MFIB)中的RPF接口信息)相關(guān)聯(lián)的 標(biāo)志,以指示出轉(zhuǎn)換正在進(jìn)行中。由于轉(zhuǎn)發(fā)信息仍標(biāo)識(shí)出舊的多播分布 樹(shù),因此網(wǎng)絡(luò)設(shè)備16(4)繼續(xù)轉(zhuǎn)發(fā)經(jīng)由舊樹(shù)接收到的多播流量(即,從網(wǎng) 絡(luò)設(shè)備16(2)接收到的多播分組)。
網(wǎng)絡(luò)設(shè)備16(2)接收加入消息。由于網(wǎng)絡(luò)設(shè)備16(2)未曾接收到針對(duì)此 多播群組G的任何在先加入消息,因此網(wǎng)絡(luò)設(shè)備16(2)尚未為多播群組G 建立任何多播轉(zhuǎn)發(fā)狀態(tài)。因此,網(wǎng)絡(luò)設(shè)備16(2)為多播群組G創(chuàng)建多播轉(zhuǎn) 發(fā)狀態(tài)(在傳出接口列表中標(biāo)識(shí)通向網(wǎng)絡(luò)設(shè)備16(4)的接口),并且向網(wǎng) 絡(luò)設(shè)備16(1)發(fā)送加入消息。
網(wǎng)絡(luò)設(shè)備16(1)接收加入消息。網(wǎng)絡(luò)設(shè)備16(1)已經(jīng)為多播群組G維護(hù) 了多播轉(zhuǎn)發(fā)狀態(tài)(因?yàn)榫W(wǎng)絡(luò)設(shè)備16(1)也是舊多播樹(shù)的一部分),網(wǎng)絡(luò)設(shè) 備16(1)將通向網(wǎng)絡(luò)設(shè)備16(3)的接口添加到其針對(duì)多播群組G的傳出接口 列表中。此時(shí),多播流量將會(huì)開(kāi)始經(jīng)由新的多播樹(shù)流到網(wǎng)絡(luò)設(shè)備16(4)。
現(xiàn)在,網(wǎng)絡(luò)設(shè)備16(4)將會(huì)開(kāi)始經(jīng)由新樹(shù)接收多播流量。經(jīng)由新樹(shù)接 收到的最初的多播分組中的一個(gè)或多個(gè)將會(huì)被丟棄(例如,因?yàn)檫@些分組
是經(jīng)由不是MFIB中當(dāng)前標(biāo)識(shí)的RPF接口的接口接收到的)。但是,對(duì)這 種分組的接收也觸發(fā)了將會(huì)完成到新的多播分布樹(shù)的轉(zhuǎn)換的處理。具體 地,響應(yīng)于經(jīng)由新的RPF接口 (其通向網(wǎng)絡(luò)設(shè)備16(3))接收到尋址到多 播群組的多播分組,網(wǎng)絡(luò)設(shè)備16(4)將會(huì)更新轉(zhuǎn)發(fā)信息以標(biāo)識(shí)出新的多播 分布樹(shù)(例如通過(guò)更新MFIB以標(biāo)識(shí)新的RPF接口)并向網(wǎng)絡(luò)設(shè)備16(3) 發(fā)送指定多播群組G的剪除消息。網(wǎng)絡(luò)設(shè)備16(4)還將清除與多播轉(zhuǎn)發(fā)信 息相關(guān)聯(lián)的標(biāo)志,以指示出轉(zhuǎn)換不再進(jìn)行。此時(shí),網(wǎng)絡(luò)設(shè)備16(4)還開(kāi)始 轉(zhuǎn)發(fā)經(jīng)由新樹(shù)接收的多播流量(即,從網(wǎng)絡(luò)設(shè)備16(3)接收的多播分組) 并且丟棄經(jīng)由舊樹(shù)接收的多播流量(即,從網(wǎng)絡(luò)設(shè)備16(2)接收的多播分 組)。
響應(yīng)于剪除消息,網(wǎng)絡(luò)設(shè)備16(3)從其針對(duì)多播群組G的傳出接口列 表中去除通向網(wǎng)絡(luò)設(shè)備16(4)的接口。如果網(wǎng)絡(luò)設(shè)備16(3)現(xiàn)在在其針對(duì)該 多播群組的傳出接口列表中沒(méi)有接口,則網(wǎng)絡(luò)設(shè)備16(3)也將向網(wǎng)絡(luò)設(shè)備 16(1)發(fā)送剪除消息。響應(yīng)于此剪除消息,網(wǎng)絡(luò)設(shè)備16(1)從其針對(duì)多播群 組G的傳出接口列表中去除向網(wǎng)絡(luò)設(shè)備16(3)發(fā)送分組的接口。
圖2是一個(gè)網(wǎng)絡(luò)的框圖,在該網(wǎng)絡(luò)中,若干個(gè)網(wǎng)絡(luò)設(shè)備耦合到多接入 局域網(wǎng)(LAN),該局域網(wǎng)被標(biāo)注為L(zhǎng)AN 20。在此示例中,網(wǎng)絡(luò)10包括 網(wǎng)絡(luò)設(shè)備16(1)-16(6)。網(wǎng)絡(luò)設(shè)備16(4)、 16(5)和16(6)通過(guò)多接入LAN 20
稱合o
與圖1的示例性網(wǎng)絡(luò)中一樣,圖2的網(wǎng)絡(luò)經(jīng)歷了網(wǎng)絡(luò)設(shè)備16(2)被從操 作中去除的情形。在被去除(例如,由于被關(guān)斷)之前,網(wǎng)絡(luò)設(shè)備16(2) 在整個(gè)網(wǎng)絡(luò)中發(fā)送關(guān)斷通告。
在此情形下,網(wǎng)絡(luò)設(shè)備16(4)接收到關(guān)斷通告并且檢測(cè)到即將發(fā)生的 拓?fù)渥兓瘜?huì)影響包括網(wǎng)絡(luò)設(shè)備16(1)、 16(2)和16(5)的多播分布樹(shù)。網(wǎng)絡(luò) 設(shè)備16(4)隨后識(shí)別出它應(yīng)當(dāng)轉(zhuǎn)換到包括網(wǎng)絡(luò)設(shè)備16(1)、 16(3)和16(6)的 新的多播分布樹(shù)。因此,網(wǎng)絡(luò)設(shè)備16(4)響應(yīng)于關(guān)斷通告開(kāi)始轉(zhuǎn)換到新的 多播分布樹(shù)。
在此情形下,用于新的多播分布樹(shù)的RPF接口將會(huì)與用于舊的多播分 布樹(shù)的RPF接口相同。對(duì)于兩個(gè)樹(shù),RPF接口都是連接到LAN 20的接口。在此情形下,網(wǎng)絡(luò)設(shè)備16(4)在轉(zhuǎn)換期間可能不更新與受影響的多播 群組相對(duì)應(yīng)的轉(zhuǎn)發(fā)信息。網(wǎng)絡(luò)設(shè)備16(4)而是將會(huì)簡(jiǎn)單地更新多播路由信 息以標(biāo)識(shí)出新的RPF鄰居(網(wǎng)絡(luò)設(shè)備16(6))并且將開(kāi)始經(jīng)由RPF接口向 網(wǎng)絡(luò)設(shè)備16(6)發(fā)送加入消息(之前,網(wǎng)絡(luò)設(shè)備16(4)向作為舊的多播分布 樹(shù)的一部分的網(wǎng)絡(luò)設(shè)備16(5)發(fā)送加入消息)。由于RPF接口沒(méi)有變化, 因此網(wǎng)絡(luò)設(shè)備16(6)不需要更新任何轉(zhuǎn)發(fā)信息。
加入消息將會(huì)使得網(wǎng)絡(luò)設(shè)備16(6)(并隨后使得網(wǎng)絡(luò)設(shè)備16(3))為多 播群組G創(chuàng)建狀態(tài)信息。當(dāng)加入被傳播到網(wǎng)絡(luò)設(shè)備16(1)時(shí),網(wǎng)絡(luò)設(shè)備 16(1)將會(huì)把通向網(wǎng)絡(luò)設(shè)備16(3)的接口添加到針對(duì)多播群組G的傳出接口 列表,并且因此多播數(shù)據(jù)流量將會(huì)開(kāi)始經(jīng)由新的多播分布樹(shù)流到網(wǎng)絡(luò)設(shè)備 16(4)。
在此示例中,網(wǎng)絡(luò)設(shè)備16(4)無(wú)法區(qū)分經(jīng)由舊的和新的多播分布樹(shù)發(fā) 送的多播數(shù)據(jù)流量,因?yàn)閮深惲髁慷紝⑹墙?jīng)由相同的RPF接口接收的。這 使得網(wǎng)絡(luò)設(shè)備16(4)不能判定多播流量是否是經(jīng)由新樹(shù)接收的。因此,在 此實(shí)施例中,網(wǎng)絡(luò)設(shè)備16(6)在執(zhí)行轉(zhuǎn)換時(shí)可能不在舊的多播分布樹(shù)上發(fā) 送任何剪除消息。而是,當(dāng)網(wǎng)絡(luò)設(shè)備16(6)開(kāi)始在LAN 20上源發(fā)多播數(shù)據(jù) 流量時(shí),網(wǎng)絡(luò)設(shè)備16(5)和16(6)可被配置為檢測(cè)到兩個(gè)設(shè)備都在源發(fā)相同 的數(shù)據(jù)流量。作為響應(yīng),網(wǎng)絡(luò)設(shè)備16(5)和16(6)都將生成聲明消息(assert message)。在聲明消息中具有最低度量(metric)的設(shè)備將會(huì)繼續(xù)在LAN 20上源發(fā)多播流量;其他設(shè)備將會(huì)停止在LAN 20上發(fā)送該多播流量。注 意,從兩個(gè)上游設(shè)備都源發(fā)多播數(shù)據(jù)流量的時(shí)刻直到聲明消息被交換和處 理的時(shí)刻為止,網(wǎng)絡(luò)設(shè)備16(4)可能接收和轉(zhuǎn)發(fā)重復(fù)的多播分組。
聲明消息中包括的度量可被選擇為指示出網(wǎng)絡(luò)設(shè)備16(5)和16(6)中的 哪一個(gè)經(jīng)由LAN 20接收針對(duì)多播群組的加入消息的時(shí)間更新近。換言 之,度量可指示出發(fā)送方設(shè)備刷新各自的針對(duì)多播群組的路由信息的時(shí)間 有多新近。在一些實(shí)施例中,每個(gè)網(wǎng)絡(luò)設(shè)備使用的度量可以是從該網(wǎng)絡(luò)設(shè) 備上次接收針對(duì)多播群組的加入消息起的時(shí)間(或者可從該時(shí)間中得 出)。或者,網(wǎng)絡(luò)設(shè)備可以使用傳統(tǒng)的度量選擇技術(shù),隨后將指示出上次 何時(shí)接收到加入的信息作為附加字段插入在聲明消息中。該附加字段隨后
可被用于選擇將會(huì)繼續(xù)源發(fā)多播分組到LAN 20上的設(shè)備。聲明消息可根 據(jù)諸如PIM之類的路由協(xié)議來(lái)發(fā)送。
在此示例中,網(wǎng)絡(luò)設(shè)備16(6)接收針對(duì)多播群組G的加入消息的時(shí)間 最為新近,因此它可在LAN 20上生成具有相對(duì)較低的度量的聲明消息。 由于網(wǎng)絡(luò)設(shè)備16(5)最近未曾在LAN 20上接收到針對(duì)多播群組G的加入消 息(網(wǎng)絡(luò)設(shè)備16(4)在開(kāi)始向網(wǎng)絡(luò)設(shè)備16(6)發(fā)送加入時(shí)停止向網(wǎng)絡(luò)設(shè)備 16(5)發(fā)送加入),因此網(wǎng)絡(luò)設(shè)備16(5)可為其聲明消息度量選擇相對(duì)較高 的值(例如,表示無(wú)窮大的值),從而保證網(wǎng)絡(luò)設(shè)備16(6)將會(huì)贏得在 LAN 20上源發(fā)多播數(shù)據(jù)流的權(quán)利。
圖3是網(wǎng)絡(luò)設(shè)備16(4)(例如,如先前在圖1和2中所示)的框圖。網(wǎng) 絡(luò)設(shè)備16(4)被配置為響應(yīng)于檢測(cè)到即將發(fā)生的拓?fù)渥兓_(kāi)始在多播樹(shù) 之間切換。
網(wǎng)絡(luò)設(shè)備16(4)包括用于多播路由信息24的存儲(chǔ)裝置、用于多播轉(zhuǎn)發(fā) 信息26的存儲(chǔ)裝置和控制模塊30。網(wǎng)絡(luò)設(shè)備16(4)還可包括一個(gè)或多個(gè)接 口,該一個(gè)或多個(gè)接口被耦合以向另一網(wǎng)絡(luò)設(shè)備發(fā)送分組和從另一網(wǎng)絡(luò)設(shè) 備接收分組。每個(gè)接口可以是邏輯接口 (例如聚集接口或以太信道)或者 物理接口。
控制模塊30被配置為基于存儲(chǔ)的多播路由信息24來(lái)執(zhí)行多播路由。 控制模塊30還被配置為對(duì)存儲(chǔ)的多播轉(zhuǎn)發(fā)信息26進(jìn)行更新??刂颇K30 還可包括和/或被耦合到轉(zhuǎn)發(fā)引擎(未示出),該轉(zhuǎn)發(fā)引擎被配置為利用存 儲(chǔ)的多播轉(zhuǎn)發(fā)信息26來(lái)轉(zhuǎn)發(fā)多播數(shù)據(jù)分組??刂颇K30可實(shí)現(xiàn)單播路由 協(xié)議的一個(gè)或多個(gè)實(shí)例和多播路由協(xié)議的一個(gè)或多個(gè)實(shí)例。
信息42、 44和46提供了可為特定多播群組存儲(chǔ)的路由信息的示例。 如圖所示,此信息標(biāo)識(shí)出源地址(S) 42、群組地址(G) 44和反向路徑 轉(zhuǎn)發(fā)(RPF)信息46。 RPF信息可標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備16(1)內(nèi)的哪個(gè)接口適當(dāng) 地接收尋址到群組G的多播數(shù)據(jù)分組以及RPF鄰居(群組G的多播分布 樹(shù)中位于網(wǎng)絡(luò)設(shè)備16(4)的上游(即更接近多播源和/或會(huì)合點(diǎn))的、經(jīng)由 RPF接口到達(dá)的設(shè)備)。RPF信息從而標(biāo)識(shí)出用于到達(dá)群組G的多播樹(shù)的 根的接口和/或鄰近網(wǎng)絡(luò)設(shè)備(例如,多播樹(shù)的根可以是與群組G相關(guān)聯(lián)
的會(huì)合點(diǎn))。用于多播路由信息24的存儲(chǔ)裝置在一個(gè)實(shí)施例中被實(shí)現(xiàn)為
多播路由信息庫(kù)(MRIB)。
信息50、 52、 54、 56和58提供了可為特定多播群組存儲(chǔ)的轉(zhuǎn)發(fā)信息 的示例。如圖所示,此信息包括標(biāo)志50、源地址(S) 52、群組地址 (G) 54、傳入接口 (IIF)列表56 (其標(biāo)識(shí)RPF接口)和傳出接口 (OIF)列表58。轉(zhuǎn)發(fā)引擎使用該信息來(lái)對(duì)尋址到多播群組G的多播數(shù)據(jù) 分組進(jìn)行轉(zhuǎn)發(fā)。例如,當(dāng)具有目的地地址G的分組被接收到時(shí),轉(zhuǎn)發(fā)引擎 訪問(wèn)條目50并驗(yàn)證分組的源地址和傳入接口。如果分組是經(jīng)由除IIF56中 標(biāo)識(shí)的那個(gè)之外的接口接收的,則分組被丟棄。如果分組與條目50中的 信息相匹配,則分組被從OIF 58中列出的接口轉(zhuǎn)發(fā)。用于多播路由信息 24的存儲(chǔ)裝置在一個(gè)實(shí)施例中被實(shí)現(xiàn)為多播轉(zhuǎn)發(fā)信息庫(kù)(MFIB)。
當(dāng)控制模塊30檢測(cè)到即將發(fā)生的拓?fù)渥兓瘯r(shí)(例如,響應(yīng)于網(wǎng)絡(luò)設(shè) 備16(4)經(jīng)由接口接收到關(guān)斷通告),控制模塊30判定該拓?fù)渥兓欠駥?會(huì)影響網(wǎng)絡(luò)設(shè)備16(4)當(dāng)前加入的任何多播樹(shù)。如果是,控制模塊30則通 過(guò)在新樹(shù)上發(fā)送加入消息并同時(shí)繼續(xù)經(jīng)由舊樹(shù)接收和轉(zhuǎn)發(fā)多播數(shù)據(jù)流量, 來(lái)開(kāi)始切換到新樹(shù)。
當(dāng)對(duì)即將發(fā)生的拓?fù)渥兓臋z測(cè)使得網(wǎng)絡(luò)設(shè)備16(4)啟動(dòng)向新的多播 分布樹(shù)的轉(zhuǎn)換時(shí),控制模塊30可以通過(guò)更新RPF信息46以標(biāo)識(shí)新的RPF 接口和/或新的多播分布樹(shù)中的鄰居來(lái)啟動(dòng)轉(zhuǎn)換??刂颇K30還將更新標(biāo) 志50以指示出轉(zhuǎn)換正在進(jìn)行中。 一旦RPF信息46被更新,網(wǎng)絡(luò)設(shè)備16(4) 就將開(kāi)始向RPF信息46中標(biāo)識(shí)的RPF鄰居發(fā)送加入消息。控制模塊30將 防止任何剪除消息被發(fā)送到(舊的多播分布樹(shù)中的)舊的RPF鄰居,直到 經(jīng)由新的多播分布樹(shù)接收到多播數(shù)據(jù)流量為止。
在IIF 56標(biāo)識(shí)舊的RPF接口并且標(biāo)志50被設(shè)置為指示出轉(zhuǎn)換正在進(jìn) 行的同時(shí),網(wǎng)絡(luò)設(shè)備16(4)將會(huì)經(jīng)由舊的多播分布樹(shù)來(lái)轉(zhuǎn)發(fā)針對(duì)群組G的 多播流量并且丟棄經(jīng)由新的多播分布樹(shù)接收到的尋址到群組G的多播分 組。但是,經(jīng)由新的多播分布樹(shù)對(duì)尋址到群組G的一個(gè)或多個(gè)多播分組的 接收將會(huì)使得控制模塊30開(kāi)始完成轉(zhuǎn)換。觸發(fā)轉(zhuǎn)換的完成所需的多播分 組的數(shù)目和/或比率在一些實(shí)施例中可由管理員來(lái)配置(例如,管理員可配
置在向控制模塊30生成中斷之前需要經(jīng)由新的RPF接口接收的多播分組
的比率)。
當(dāng)網(wǎng)絡(luò)設(shè)備16(4)經(jīng)由新的多播分布樹(shù)接收到數(shù)據(jù)流量時(shí),網(wǎng)絡(luò)設(shè)備 16(4)更新多播轉(zhuǎn)發(fā)信息26中的IIF 56以為新的多播分布樹(shù)標(biāo)識(shí)新的RPF 接口。這使得網(wǎng)絡(luò)設(shè)備16(4)轉(zhuǎn)發(fā)經(jīng)由新的多播樹(shù)接收到的多播數(shù)據(jù)分組 并且丟棄經(jīng)由舊的多播樹(shù)接收到的多播數(shù)據(jù)分組。網(wǎng)絡(luò)設(shè)備16(4)還在舊 的多播樹(shù)上發(fā)送剪除消息,并清除標(biāo)志52。
在一些實(shí)施例中,新的RPF接口可以與舊的RPF接口相同。在這種 實(shí)施例中,控制模塊30可檢測(cè)到轉(zhuǎn)發(fā)信息26 (尤其是IIF 56)不需要被 更新以實(shí)現(xiàn)轉(zhuǎn)換。在這種場(chǎng)景下,控制模塊30在啟動(dòng)和完成轉(zhuǎn)換時(shí)可以 不更新標(biāo)志52。
圖4是一種方法的流程圖,該方法涉及響應(yīng)于對(duì)即將發(fā)生的拓?fù)渥兓?的檢測(cè)而在多播分布樹(shù)之間進(jìn)行切換。該方法可由諸如圖1和2的網(wǎng)絡(luò)設(shè) 備16(4)之類的節(jié)點(diǎn)來(lái)執(zhí)行,以在某些情況下切換到新的多播樹(shù)。
該方法開(kāi)始于410,此時(shí)節(jié)點(diǎn)檢測(cè)到即將發(fā)生的拓?fù)渥兓?,該即將發(fā) 生的拓?fù)渥兓瘜?huì)影響用于將多播數(shù)據(jù)分組傳送到群組G的己建立的多播 樹(shù)。節(jié)點(diǎn)可以響應(yīng)于接收到關(guān)斷通告而檢測(cè)到即將發(fā)生的拓?fù)渥兓?。路?協(xié)議(單播或多播)可確定多播樹(shù)將會(huì)受即將發(fā)生的拓?fù)渥兓挠绊懖⑶?啟動(dòng)圖4的方法。
節(jié)點(diǎn)隨后為其流量將被拓?fù)渥兓茐牡氖苡绊懙亩嗖ト航MG識(shí)別新 的上游鄰居(另一節(jié)點(diǎn))和/或新的RPF接口,如420所示。換言之,節(jié) 點(diǎn)為該多播群組識(shí)別新的多播分布樹(shù)。注意,在一些實(shí)施例中(例如,在 節(jié)點(diǎn)經(jīng)由多接入LAN耦合到多播源的那些實(shí)施例中),新的RPF接口可 以與舊的RPF接口相同。
節(jié)點(diǎn)隨后更新其針對(duì)多播群組G的路由信息,以識(shí)別新的RPF接口 和/或鄰居,如430所示。這使得節(jié)點(diǎn)開(kāi)始將針對(duì)多播群組G的加入消息 發(fā)送到新的RPF鄰居并且停止將針對(duì)多播群組G的加入消息發(fā)送到舊的 RPF鄰居。
節(jié)點(diǎn)還可設(shè)置與針對(duì)多播群組G的轉(zhuǎn)發(fā)信息相關(guān)聯(lián)的標(biāo)志,以指示出
轉(zhuǎn)換正在進(jìn)行中,如440所示。但是,節(jié)點(diǎn)將會(huì)繼續(xù)維護(hù)標(biāo)識(shí)出多播群組 G的舊多播分布樹(shù)的轉(zhuǎn)發(fā)信息,并且也將繼續(xù)轉(zhuǎn)發(fā)經(jīng)由舊的多播分布樹(shù)接 收的多播流量。
直到經(jīng)由新的RPF接口或者從新的RPF鄰居接收到尋址到多播群組 G的多播流量為止(如在450處所確定的),節(jié)點(diǎn)將繼續(xù)轉(zhuǎn)發(fā)經(jīng)由舊的 RPF接口和/或從舊的RPF鄰居接收的多播流量,如460所示。
一旦經(jīng)由新的RPF接口和/或從新的RPF鄰居接收到一定量的針對(duì)群 組G的多播流量,節(jié)點(diǎn)即可清除標(biāo)志(在440處設(shè)置)并更新轉(zhuǎn)發(fā)信息以 標(biāo)識(shí)新的RPF接口,如470所示。這使得節(jié)點(diǎn)開(kāi)始對(duì)經(jīng)由新的RPF接口 接收到的尋址到群組G的多播分組進(jìn)行轉(zhuǎn)發(fā),并且丟棄經(jīng)由舊的RPF接 口接收到的尋址到群組G的多播分組。節(jié)點(diǎn)還可經(jīng)由舊的RPF接口發(fā)送 剪除消息,如480所示。
注意,其他實(shí)施例可包括取代了和/或添加到以上所示的那些操作的不 同操作。另外,在一些實(shí)施例中(例如,在新的RPF接口與舊的RPF接 口相同的那些實(shí)施例中),可以不執(zhí)行操作440-480。而是,節(jié)點(diǎn)可以通 過(guò)只執(zhí)行操作420和430來(lái)實(shí)現(xiàn)轉(zhuǎn)換。
圖5是可被源發(fā)相同的多播數(shù)據(jù)流到多接入LAN上的節(jié)點(diǎn)使用的方 法的一個(gè)示例的流程圖。該方法可由諸如圖2的網(wǎng)絡(luò)設(shè)備16(5)和16(6)之 一之類的節(jié)點(diǎn)執(zhí)行。
該方法開(kāi)始于510,此時(shí)正在多接入LAN上源發(fā)多播流的節(jié)點(diǎn)檢測(cè)到 另一個(gè)設(shè)備正在LAN上源發(fā)相同的多播流。如果該節(jié)點(diǎn)和該另一設(shè)備都 在向同一多播群組發(fā)送分組,則該節(jié)點(diǎn)和該另一設(shè)備正在源發(fā)相同的多播 流。這產(chǎn)生了 LAN上分組重復(fù)的危險(xiǎn)。操作510可利用用于避免多接入 LAN上的分組重復(fù)的傳統(tǒng)技術(shù)來(lái)執(zhí)行。
響應(yīng)于檢測(cè)到另一設(shè)備正在源發(fā)相同的多播流,節(jié)點(diǎn)生成本地度量, 該本地度量基于從節(jié)點(diǎn)上次經(jīng)由LAN接收到指定多播群組的加入消息起 經(jīng)過(guò)的時(shí)間量,如520所示。此度量可以是表示時(shí)間量的值(例如從用于 確定與多播群組相關(guān)聯(lián)的多播狀態(tài)信息何時(shí)期滿的計(jì)數(shù)器拷貝的),或者 是從該時(shí)間量得出的值。
節(jié)點(diǎn)隨后將包括本地度量的聲明消息發(fā)送到LAN上,如530所示。 聲明消息的格式可由路由協(xié)議(例如PIM)指定。聲明消息可以標(biāo)識(shí)兩個(gè) 設(shè)備正向其發(fā)送多播分組的多播群組以及發(fā)送方設(shè)備的因特網(wǎng)協(xié)議(IP) 地址。聲明消息可在成本字段(該成本字段傳統(tǒng)上被用于指示出將分組從 多播源發(fā)送到發(fā)送方節(jié)點(diǎn)的例如就網(wǎng)絡(luò)跳而言的相對(duì)"成本")或者專用 于傳達(dá)指示出從接收到加入起經(jīng)過(guò)的時(shí)間的信息的特殊字段中包括本地度
節(jié)點(diǎn)隨后等待接收來(lái)自正源發(fā)多播流的另一節(jié)點(diǎn)的相應(yīng)聲明消息(如 果尚未接收到的話)。如果根據(jù)在540處所判定的,該聲明消息中的相應(yīng) 的度量(其指示出從該另一設(shè)備經(jīng)由LAN接收到針對(duì)多播群組的加入消 息起經(jīng)過(guò)的時(shí)間)高于本地度量,則節(jié)點(diǎn)將會(huì)繼續(xù)源發(fā)多播流到LAN 上,如560所示。如果聲明消息中的度量低于本地度量,則在550,節(jié)點(diǎn) 將會(huì)停止源發(fā)多播流。如果度量等于本地度量,則節(jié)點(diǎn)可使用其他信息 (例如成本信息或IP地址)來(lái)判定是否繼續(xù)源發(fā)多播流到LAN上。
圖6是網(wǎng)絡(luò)設(shè)備16 (例如圖1和2的網(wǎng)絡(luò)設(shè)備16(1)-16(6)之一)的框 圖。在此圖中,網(wǎng)絡(luò)設(shè)備16包括若干個(gè)線路卡(線路卡702(1)-702(N)),這些線路卡經(jīng)由數(shù)據(jù)總線730和結(jié)果總線740可通信地耦合到 轉(zhuǎn)發(fā)引擎710和處理器700,該處理器包括控制模塊30。控制模塊30被 耦合以維護(hù)多播路由信息24和多播轉(zhuǎn)發(fā)信息26 (例如,如圖3所示)。 控制模塊30可執(zhí)行圖4和/或5的方法。
線路卡702(1)-702(N)包括若干個(gè)端口處理器750(1,1)-750(N,N),這些
端口處理器由端口處理器控制器760(1)-760(N)控制。還將注意到,轉(zhuǎn)發(fā)引
擎710和路由處理器700不僅經(jīng)由數(shù)據(jù)總線730和結(jié)果總線740耦合到彼
此,而且還通過(guò)通信鏈路770可通信地耦合到彼此。注意,在替換實(shí)施例
中,每個(gè)線路卡可包括一轉(zhuǎn)發(fā)引擎。
根據(jù)本發(fā)明的實(shí)施例,當(dāng)消息(例如關(guān)斷通告、加入消息等等)被接
收到時(shí),該消息被網(wǎng)絡(luò)設(shè)備(例如網(wǎng)絡(luò)設(shè)備16)以下述方式識(shí)別和分析。 在接收到時(shí),消息(或者其控制信息的一些或全部)被從接收到該消息的 端口處理器750(1,1)-750(N,N)之一發(fā)送到耦合到數(shù)據(jù)總線730的那些設(shè)備 中的一個(gè)或多個(gè)(例如,其他端口處理器750(1,1)-750(N,N)、轉(zhuǎn)發(fā)引擎
710和/或路由處理器700)。對(duì)該消息的處理例如可由轉(zhuǎn)發(fā)引擎710來(lái)確 定。例如,轉(zhuǎn)發(fā)引擎710可確定消息應(yīng)當(dāng)被轉(zhuǎn)發(fā)到端口處理器750(1,1)-750(N,N)中的一個(gè)或多個(gè)。這可以通過(guò)向端口處理控制器760(1)-760(N)中 的相應(yīng)的一個(gè)或多個(gè)指示出在端口處理器750(1,1)-750(N,N)中給定的一個(gè) 或多個(gè)中保存的消息的拷貝應(yīng)當(dāng)被轉(zhuǎn)發(fā)到端口處理器750(1,1)-750(N,N)中 的適當(dāng)?shù)囊粋€(gè)來(lái)實(shí)現(xiàn)。
圖7示出了網(wǎng)絡(luò)設(shè)備16的框圖,該圖示出了控制模塊30 (例如,如 圖6所示)如何可用軟件來(lái)實(shí)現(xiàn)。如圖所示,網(wǎng)絡(luò)設(shè)備16包括被配置為 執(zhí)行存儲(chǔ)在存儲(chǔ)器806中的程序指令的一個(gè)或多個(gè)處理器802 (例如微處 理器、PLC (可編程邏輯器件)或ASIC (專用集成電路))。存儲(chǔ)器806 可包括各種類型的RAM (隨機(jī)訪問(wèn)存儲(chǔ)器)、ROM (只讀存儲(chǔ)器)、閃 存、MEMS (微電機(jī)系統(tǒng))存儲(chǔ)器,等等。處理器802和存儲(chǔ)器806可被 包括在路由處理器(例如,圖6的路由處理器700)中。處理器802和存 儲(chǔ)器806被耦合以通過(guò)總線或其他互連來(lái)發(fā)送和接收數(shù)據(jù)和控制信號(hào)。
在此示例中,可執(zhí)行以實(shí)現(xiàn)控制模塊30的程序指令被存儲(chǔ)在存儲(chǔ)器 806中。此外,多播路由信息24和多播轉(zhuǎn)發(fā)信息26也可被存儲(chǔ)在存儲(chǔ)器 806中,以供控制模塊30使用。實(shí)現(xiàn)控制模塊30的程序指令和數(shù)據(jù)可被 存儲(chǔ)在各種計(jì)算機(jī)可讀介質(zhì)(例如存儲(chǔ)器806)上。在一些實(shí)施例中,控 制模塊30軟件被存儲(chǔ)在諸如CD (致密盤)、DVD (數(shù)字多功能盤)、硬 盤、光盤、磁帶設(shè)備、軟盤等等之類的計(jì)算機(jī)可讀介質(zhì)上。為了被處理器 802執(zhí)行,實(shí)現(xiàn)控制模塊30的指令和數(shù)據(jù)被從其他計(jì)算機(jī)可讀介質(zhì)加載到 存儲(chǔ)器806中。實(shí)現(xiàn)控制模塊30的指令和/或數(shù)據(jù)也可經(jīng)由諸如因特網(wǎng)之 類的網(wǎng)絡(luò)或者通過(guò)承載介質(zhì)被傳輸?shù)骄W(wǎng)絡(luò)設(shè)備16以便被存儲(chǔ)在存儲(chǔ)器806 中。在一些實(shí)施例中,計(jì)算機(jī)可讀介質(zhì)是諸如網(wǎng)絡(luò)和/或無(wú)線鏈路之類的承 載介質(zhì),其中傳送著編碼有實(shí)現(xiàn)控制模塊30的數(shù)據(jù)和指令的諸如電信 號(hào)、電磁信號(hào)或數(shù)字信號(hào)之類的信號(hào)。
雖然已經(jīng)聯(lián)系若干個(gè)實(shí)施例描述了本發(fā)明,但是本發(fā)明并不意圖限于 這里闡述的特定形式。相反,本發(fā)明意圖覆蓋可被合理地包括在由所附權(quán) 利要求限定的本發(fā)明的范圍內(nèi)的所有替換、修改和等同。 工業(yè)應(yīng)用性
本發(fā)明的實(shí)施例可被用在聯(lián)網(wǎng)領(lǐng)域。
權(quán)利要求
1. 一種方法,包括檢測(cè)即將發(fā)生的拓?fù)渥兓?;響?yīng)于對(duì)所述即將發(fā)生的拓?fù)渥兓臋z測(cè),為多播群組標(biāo)識(shí)新的多播分布樹(shù);向所述新的多播分布樹(shù)的根發(fā)送加入消息;在發(fā)送所述加入消息后,繼續(xù)經(jīng)由當(dāng)前的多播分布樹(shù)對(duì)尋址到所述多播群組的多播流量進(jìn)行轉(zhuǎn)發(fā)。
2. 如權(quán)利要求1所述的方法,還包括響應(yīng)于經(jīng)由所述新的多播分布樹(shù)接收到一個(gè)或多個(gè)多播數(shù)據(jù)分組,利 用所述新的多播分布樹(shù)而不是所述當(dāng)前的多播分布樹(shù)來(lái)對(duì)尋址到所述多播 群組的后續(xù)多播流量進(jìn)行轉(zhuǎn)發(fā)。
3. 如權(quán)利要求2所述的方法,還包括響應(yīng)于對(duì)所述即將發(fā)生的拓?fù)渥兓臋z測(cè),更新與所述多播群組相對(duì) 應(yīng)的路由信息,其中所述路由信息在被更新之后標(biāo)識(shí)出新的反向路徑轉(zhuǎn)發(fā) 鄰居。
4. 如權(quán)利要求3所述的方法,還包括響應(yīng)于經(jīng)由所述新的多播分布樹(shù)接收到所述一個(gè)或多個(gè)多播數(shù)據(jù)分 組,更新與所述多播群組相對(duì)應(yīng)的轉(zhuǎn)發(fā)信息,其中所述轉(zhuǎn)發(fā)信息在被更新 之后標(biāo)識(shí)出所述新的多播分布樹(shù)。
5. 如權(quán)利要求1所述的方法,其中所述檢測(cè)即將發(fā)生的拓?fù)渥兓牟襟E包括接收來(lái)自節(jié)點(diǎn)的關(guān)斷通告,其中所述節(jié)點(diǎn)位于所述當(dāng)前的多播分布樹(shù)中。
6. 如權(quán)利要求1所述的方法,其中所述標(biāo)識(shí)新的多播分布樹(shù)的步驟包括標(biāo)識(shí)新的反向路徑轉(zhuǎn)發(fā)鄰居,并且所述加入消息被發(fā)送到所述新的反向路徑轉(zhuǎn)發(fā)鄰居。
7. 如權(quán)利要求6所述的方法,其中所述標(biāo)識(shí)新的多播分布樹(shù)的步驟還包括標(biāo)識(shí)新的反向路徑轉(zhuǎn)發(fā)接口 ,其中所述新的反向路徑轉(zhuǎn)發(fā)接口耦合到 所述新的反向路徑轉(zhuǎn)發(fā)鄰居。
8. 如權(quán)利要求1所述的方法,還包括經(jīng)由多接入局域網(wǎng)(LAN)接收所述加入消息,其中所述接收由第一 節(jié)點(diǎn)執(zhí)行;將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上; 檢測(cè)到另外的節(jié)點(diǎn)也在將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上;以及基于所述另外的節(jié)點(diǎn)為所述多播群組刷新路由信息的時(shí)間是否比所述第一節(jié)點(diǎn)更為新近,來(lái)判定是否繼續(xù)將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上。
9. 如權(quán)利要求8所述的方法,還包括 向所述另外的節(jié)點(diǎn)發(fā)送聲明消息,其中 所述聲明消息包括度量,并且所述度量指示出所述第一節(jié)點(diǎn)為所述多播群組刷新路由信息的時(shí)間有 多新近。
10. —種網(wǎng)絡(luò)設(shè)備,包括多播狀態(tài)信息,該多播狀態(tài)信息包括多播路由信息(24)和多播轉(zhuǎn)發(fā) 信息(26);控制模塊(30),該控制模塊被耦合以訪問(wèn)所述多播狀態(tài)信息,其中所述控制模塊(30)被配置為響應(yīng)于對(duì)即將發(fā)生的拓?fù)渥兓臋z測(cè),更新所述多播路由信息(24),以為多播群組標(biāo)識(shí)新的多播分布樹(shù);以及禁止更新所述多播轉(zhuǎn)發(fā)信息(26)以標(biāo)識(shí)所述新的多播分布樹(shù), 直到一個(gè)或多個(gè)多播數(shù)據(jù)分組經(jīng)由所述新的多播分布樹(shù)被接收到為止。
11. 如權(quán)利要求IO所述的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于所述多播路由信息(24)被更新以標(biāo)識(shí)所述新的多播分布樹(shù),向所述新的多播分布樹(shù)的根發(fā)送加入消息;并且所述網(wǎng)絡(luò)設(shè)備被配置為在所述多播轉(zhuǎn)發(fā)信息(26)被更新之前,繼續(xù) 經(jīng)由所述多播轉(zhuǎn)發(fā)信息中標(biāo)識(shí)的舊的多播分布樹(shù)來(lái)對(duì)尋址到所述多播群組 的多播流量進(jìn)行轉(zhuǎn)發(fā)。
12. 如權(quán)利要求IO所述的網(wǎng)絡(luò)設(shè)備,其中所述控制模塊(30)被配置為響應(yīng)于經(jīng)由所述新的多播分布樹(shù)接收到所述一個(gè)或多個(gè)多播數(shù)據(jù)分 組,更新所述多播轉(zhuǎn)發(fā)信息(26)以標(biāo)識(shí)所述新的多播分布樹(shù)。
13. 如權(quán)利要求IO所述的網(wǎng)絡(luò)設(shè)備,其中所述控制模塊(30)被配置 為響應(yīng)于所述網(wǎng)絡(luò)設(shè)備接收到關(guān)斷通告而檢測(cè)所述即將發(fā)生的拓?fù)渥兓?br>
14. 一種系統(tǒng),包括 第一網(wǎng)絡(luò)設(shè)備,其中所述第一網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于對(duì)即將發(fā)生的拓?fù)渥兓臋z測(cè),為多播群組標(biāo)識(shí)新的多播分布樹(shù);向所述新的多播分布樹(shù)的根發(fā)送加入消息; 在發(fā)送所述加入消息后,繼續(xù)經(jīng)由當(dāng)前的多播分布樹(shù)對(duì)尋址 到所述多播群組的多播流量進(jìn)行轉(zhuǎn)發(fā)。
15. 如權(quán)利要求14所述的系統(tǒng),其中所述第一網(wǎng)絡(luò)設(shè)備被配置為 禁止更新所述多播轉(zhuǎn)發(fā)信息以標(biāo)識(shí)所述新的多播分布樹(shù),直到一個(gè)或多個(gè)多播數(shù)據(jù)分組經(jīng)由所述新的多播分布樹(shù)被接收到為止。
16. 如權(quán)利要求14所述的系統(tǒng),其中所述第一網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于接收到關(guān)斷通告而檢測(cè)所述即將發(fā)生的拓?fù)渥兓?br>
17. 如權(quán)利要求14所述的系統(tǒng),還包括-通過(guò)多接入LAN耦合到所述第一網(wǎng)絡(luò)設(shè)備的第二網(wǎng)絡(luò)設(shè)備,其中所 述第二網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于接收到所述加入消息,將尋址到所述多播群組的數(shù)據(jù)分組 源發(fā)到所述多接入LAN上;檢測(cè)到第三網(wǎng)絡(luò)設(shè)備也在將尋址到所述多播群組的數(shù)據(jù)分組源發(fā) 到所述多接入LAN上;以及基于所述第三網(wǎng)絡(luò)設(shè)備為所述多播群組刷新路由信息的時(shí)間是否 比所述第二網(wǎng)絡(luò)設(shè)備更為新近,來(lái)判定是否繼續(xù)將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上。
18. 如權(quán)利要求17所述的系統(tǒng),其中所述第二網(wǎng)絡(luò)設(shè)備被配置為 向所述第三網(wǎng)絡(luò)設(shè)備發(fā)送聲明消息,其中所述聲明消息包括度量,并且所述度量指示出所述第二網(wǎng)絡(luò)設(shè)備為所述多播群組刷新路由信息 的時(shí)間有多新近。
19. 一種系統(tǒng),包括用于響應(yīng)于對(duì)即將發(fā)生的拓?fù)渥兓臋z測(cè)為多播群組標(biāo)識(shí)新的多播分布樹(shù)的裝置;用于向所述新的多播分布樹(shù)的根發(fā)送加入消息的裝置; 用于在發(fā)送所述加入消息后繼續(xù)經(jīng)由當(dāng)前的多播分布樹(shù)對(duì)尋址到所述 多播群組的多播流量進(jìn)行轉(zhuǎn)發(fā)的裝置。
20. 如權(quán)利要求19所述的系統(tǒng),還包括 用于在第一節(jié)點(diǎn)處接收所述加入消息的裝置;用于將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上的 裝置;用于檢測(cè)到另外的節(jié)點(diǎn)也在將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到 所述多接入LAN上的裝置;以及用于基于所述另外的節(jié)點(diǎn)為所述多播群組刷新路由信息的時(shí)間是否比 所述第一節(jié)點(diǎn)更為新近來(lái)判定是否繼續(xù)將尋址到所述多播群組的數(shù)據(jù)分組 源發(fā)到所述多接入LAN上的裝置。
21. —種網(wǎng)絡(luò)設(shè)備,包括接口 (750(1,1)-750(N,N)),所述接口被耦合到多接入網(wǎng)絡(luò)并且被配置為接收指定多播群組的加入消息;以及耦合到所述接口 (750(1,1)-750(N,N))的控制模塊(30),其中 所述控制模塊(30)被配置為將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到 所述多接入LAN上;檢測(cè)到第二網(wǎng)絡(luò)設(shè)備也在將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上;以及基于所述第二網(wǎng)絡(luò)設(shè)備為所述多播群組刷新路由信息的時(shí)間是否 比所述網(wǎng)絡(luò)設(shè)備更為新近,來(lái)判定是否繼續(xù)將尋址到所述多播群組的數(shù)據(jù)分組源發(fā)到所述多接入LAN上。
全文摘要
公開(kāi)了用于響應(yīng)于檢測(cè)到即將發(fā)生的網(wǎng)絡(luò)破壞而重新路由多播流量的各種系統(tǒng)和方法。一種方法包括檢測(cè)即將發(fā)生的拓?fù)渥兓?,并且作為響?yīng),為多播群組標(biāo)識(shí)新的多播分布樹(shù)。隨后向新的多播分布樹(shù)的根發(fā)送針對(duì)該多播群組的加入消息。在發(fā)送加入消息后,繼續(xù)經(jīng)由當(dāng)前的多播分布樹(shù)對(duì)尋址到多播群組的多播流量進(jìn)行轉(zhuǎn)發(fā)。不經(jīng)由新的多播分布樹(shù)轉(zhuǎn)發(fā)多播流量,直到經(jīng)由新的多播分布樹(shù)接收到一個(gè)或多個(gè)多播數(shù)據(jù)分組為止。
文檔編號(hào)H04L12/18GK101385275SQ200780005918
公開(kāi)日2009年3月11日 申請(qǐng)日期2007年1月31日 優(yōu)先權(quán)日2006年2月16日
發(fā)明者斯特凡諾·普雷維蒂, 艾斯布蘭德·韋南德斯, 迪諾·法里納齊, 阿里恩·伯爾斯 申請(qǐng)人:思科技術(shù)公司