本公開涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地,涉及計(jì)算機(jī)網(wǎng)絡(luò)上的多播流量分布。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)是交換數(shù)據(jù)并共享資源的相互連接的計(jì)算設(shè)備的集合。在基于包的網(wǎng)絡(luò)中,計(jì)算設(shè)備通過將數(shù)據(jù)分成稱為數(shù)據(jù)包的小數(shù)據(jù)塊通信。在網(wǎng)絡(luò)中的某些設(shè)備(例如路由器和交換機(jī))保持路由和/或轉(zhuǎn)發(fā)描述通過網(wǎng)絡(luò)的路徑的信息。以這種方式,數(shù)據(jù)包可以單獨(dú)跨越網(wǎng)絡(luò)從源設(shè)備傳送到目標(biāo)設(shè)備。目標(biāo)設(shè)備從數(shù)據(jù)包提取數(shù)據(jù),并將數(shù)據(jù)組合成其原始格式。將數(shù)據(jù)分成數(shù)據(jù)包使源設(shè)備能夠只重發(fā)那些在發(fā)送過程中可能丟失的單個(gè)的數(shù)據(jù)包。
計(jì)算機(jī)網(wǎng)絡(luò)的示例包括企業(yè)網(wǎng)絡(luò)、分支網(wǎng)絡(luò),服務(wù)供應(yīng)商網(wǎng)絡(luò)、家庭網(wǎng)絡(luò),虛擬專用網(wǎng)絡(luò)(vpn)、局域網(wǎng)(lan)、虛擬lan(vlan)等。在任何情況下,計(jì)算機(jī)網(wǎng)絡(luò)都可以使遠(yuǎn)程位置源和接收器共享數(shù)據(jù)。在某些情況下,計(jì)算機(jī)網(wǎng)絡(luò)可以配置為支持多播流量,例如互聯(lián)網(wǎng)協(xié)議電視(iptv)、桌面會(huì)議、公司廣播、音樂和視頻網(wǎng)絡(luò)直播和其它形式的多媒體內(nèi)容。例如,計(jì)算機(jī)網(wǎng)絡(luò)可以利用協(xié)議獨(dú)立多播(pim)作為多播路由協(xié)議來通過計(jì)算機(jī)網(wǎng)絡(luò)為特定的多播組構(gòu)建用于從源向接收器或訂閱設(shè)備發(fā)送多播流量的分布樹。pim可以在幾個(gè)不同的模式下操作,包括密集模式(dm)、特定源多播(ssm)模式或任意源多播(asm)模式中的稀疏模式(sm)和雙向(bidir)模式。
技術(shù)實(shí)現(xiàn)要素:
在一般情況下,描述了增強(qiáng)協(xié)議獨(dú)立多播(pim)以使最末跳路由器(lhr)能夠執(zhí)行源發(fā)現(xiàn)并直接建立或加入源樹的技術(shù)。根據(jù)一個(gè)或多個(gè)本公開的技術(shù),路由器作為網(wǎng)絡(luò)中的lhr配置為產(chǎn)生識(shí)別一個(gè)或多個(gè)多播組的源發(fā)現(xiàn)加入消息,并且發(fā)送源發(fā)現(xiàn)加入消息到目標(biāo)設(shè)備,例如匯聚點(diǎn)(rp)。目標(biāo)設(shè)備可以配置為處理源發(fā)現(xiàn)加入消息,產(chǎn)生源發(fā)現(xiàn)消息,源發(fā)現(xiàn)消息包括源信息,源信息表明至少一個(gè)源活躍地為一個(gè)或多個(gè)多播組提供流量,多播組在源發(fā)現(xiàn)加入消息中被識(shí)別。目標(biāo)設(shè)備可以響應(yīng)于源發(fā)現(xiàn)加入消息中的一個(gè)或多個(gè)標(biāo)志,產(chǎn)生源發(fā)現(xiàn)消息。目標(biāo)設(shè)備可以然后發(fā)送源發(fā)現(xiàn)消息到lhr。一旦收到源發(fā)現(xiàn)消息,lhr可以為一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起直接通向至少一個(gè)源的至少一個(gè)源樹的建立。
在一個(gè)示例中,本公開涉及一種方法,包括接由網(wǎng)絡(luò)中的最末跳路由器接收獲得對(duì)應(yīng)于一個(gè)或多個(gè)多播組的多播流量的請(qǐng)求。該方法可以包括由最末跳路由器產(chǎn)生源發(fā)現(xiàn)加入消息,源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式。該方法可以包括由最末跳路由器將源發(fā)現(xiàn)加入消息發(fā)送到網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器。
在另一個(gè)示例中,本公開涉及一種網(wǎng)絡(luò)設(shè)備。在lhr包括存儲(chǔ)器和一個(gè)或多個(gè)處理單元的情況下,網(wǎng)絡(luò)設(shè)備可以配置為作為網(wǎng)絡(luò)中的最末跳路由器(lhr)。一個(gè)或多個(gè)處理單元可以配置為接收請(qǐng)求,以獲得對(duì)應(yīng)于一個(gè)或多個(gè)多播組的多播流量。一個(gè)或多個(gè)處理單元可以配置為在存儲(chǔ)器中存儲(chǔ)請(qǐng)求。一個(gè)或多個(gè)處理單元可以配置為產(chǎn)生源發(fā)現(xiàn)加入消息,源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。源發(fā)現(xiàn)加入消息符合消息格式包括pim加入消息格式。一個(gè)或多個(gè)處理單元可以配置為向網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器發(fā)送源發(fā)現(xiàn)加入消息。
在進(jìn)一步的示例中,本公開涉及一種方法,包括通過網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器接收源發(fā)現(xiàn)加入消息,源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式。該方法可以包括由rp路由器產(chǎn)生源發(fā)現(xiàn)消息,源發(fā)現(xiàn)消息包括源信息,源信息表明至少一個(gè)源活躍地為一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,多播組在源發(fā)現(xiàn)加入消息中被識(shí)別。源發(fā)現(xiàn)消息可以包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。該方法可以包括由rp路由器向最末跳路由器發(fā)送源發(fā)現(xiàn)消息。
在一個(gè)附加的示例中,本公開涉及一種網(wǎng)絡(luò)設(shè)備。在rp路由器包括存儲(chǔ)器和一個(gè)或多個(gè)處理單元的情況下,網(wǎng)絡(luò)設(shè)備可以配置為作為網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器。一個(gè)或多個(gè)處理單元可以配置為接收源發(fā)現(xiàn)加入消息,源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。源發(fā)現(xiàn)加入消息符合消息格式包括pim加入消息格式。一個(gè)或多個(gè)處理單元可以配置為在存儲(chǔ)器中存儲(chǔ)源發(fā)現(xiàn)加入消息。一個(gè)或多個(gè)處理單元可以配置為產(chǎn)生源發(fā)現(xiàn)消息,源發(fā)現(xiàn)消息包括表明至少一個(gè)源活躍地為一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,多播組在源發(fā)現(xiàn)加入消息中被識(shí)別。源發(fā)現(xiàn)消息可以包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。一個(gè)或多個(gè)處理單元可以配置為向最末跳路由器發(fā)送源發(fā)現(xiàn)消息。
本公開的一個(gè)或多個(gè)示例的細(xì)節(jié)在附圖和下面的描述中詳盡地解釋。本公開的其它特征、對(duì)象和優(yōu)點(diǎn)將從描述和圖紙,以及從權(quán)利要求中明顯地看出。
附圖說明
圖1是示出包括配置為在源和接收器之間傳輸多播流量的路由器的示例性計(jì)算機(jī)網(wǎng)絡(luò)的框圖。
圖2a是示出包括配置為通過根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的網(wǎng)絡(luò)操作在源和接收器之間傳輸多播流量的路由器的示例性計(jì)算機(jī)網(wǎng)絡(luò)的框圖。
圖2b是示出包括配置為通過根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的網(wǎng)絡(luò)操作在源和接收器之間傳輸多播流量的路由器的示例性計(jì)算機(jī)網(wǎng)絡(luò)的框圖。
圖3是示出能夠通過最末跳路由器執(zhí)行源發(fā)現(xiàn)的公開的技術(shù)的示例性路由器的框圖。
圖4是示出sdj消息格式的一個(gè)示例的概念圖。
圖5是出于sd消息格式的一個(gè)示例的概念圖。
圖6是示出根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的lhr執(zhí)行源發(fā)現(xiàn)的示例性操作的流程圖。
圖7是示出根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的在源發(fā)現(xiàn)期間通過lhr的rp路由器的示例性操作的流程圖。
具體實(shí)施方式
圖1是示出包括配置為在源16和接收器18之間傳輸多播流量的路由器的示例性計(jì)算機(jī)網(wǎng)絡(luò)10的框圖。網(wǎng)絡(luò)10可以包括私人網(wǎng)絡(luò)、公共網(wǎng)絡(luò)、任何網(wǎng)絡(luò)或上述任意的組合。例如,網(wǎng)絡(luò)10可以包括互聯(lián)網(wǎng)。作為另一個(gè)示例,網(wǎng)絡(luò)10可以包括企業(yè)網(wǎng)絡(luò)、校園網(wǎng)絡(luò)、服務(wù)供應(yīng)商網(wǎng)絡(luò)、家庭網(wǎng)絡(luò)、局域網(wǎng)(lan)、虛擬局域網(wǎng)(vlan)、虛擬專用網(wǎng)(vpn)或另外的自治系統(tǒng)。在這些示例的任何一個(gè)中,位于遠(yuǎn)程的源16和接收器18可以通過網(wǎng)絡(luò)10共享數(shù)據(jù)。在網(wǎng)絡(luò)10作為企業(yè)網(wǎng)絡(luò)的示例中,每個(gè)源16和接收器18可以包括位于一個(gè)的辦公位置的不同區(qū)域的一個(gè)或多個(gè)服務(wù)器或員工計(jì)算機(jī)終端,或者可以包括公司的遠(yuǎn)程辦公位置。
在示出的示例中,網(wǎng)絡(luò)10包括互聯(lián)網(wǎng)協(xié)議(ip),互聯(lián)網(wǎng)協(xié)議(ip)包括路由設(shè)備,路由設(shè)備可以配置為使用協(xié)議獨(dú)立多播(pim)協(xié)議為一個(gè)或多個(gè)多播組通過網(wǎng)絡(luò)10在源16和接收器18之間路由多播流量。網(wǎng)絡(luò)10包括連接到源16的第一跳路由器(fhr)12、連接到接收器18的最末跳路由器(lhr)13、多個(gè)過境路由器20a-20h(“路由器20”)和指定為匯聚點(diǎn)(rp)22(例如,rp路由器)的路由器。在一些示例中,rp路由器可以是專門用作匯聚點(diǎn)的路由器。在其它示例中,rp路由器可以與匯聚地址有關(guān)聯(lián)或者否則關(guān)聯(lián)到匯聚地址。在一些示例中,例如在利用pim協(xié)議的典型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,可以包括超出圖1所示的附加的過境路由器。例如,附加的過境路由器可以包括在rp22的左側(cè),這樣,rp22大體上集中位于網(wǎng)絡(luò)10內(nèi)。為了說明的目的,這些附加的路由器沒有顯示在圖1中。
在這里使用的術(shù)語“連接”可以指使連接的設(shè)備之間能夠通信的任何連接。在一些示例中,術(shù)語“連接”可以指有線連接。在其它示例中,術(shù)語“連接”可以指無線連接。在其它示例中,術(shù)語“連接”可以指有線和無線連接。在另外的其它示例中,術(shù)語“連接”可以指任何形式的通信耦合(例如,有線、無線、以上的其它組合)。也能理解,術(shù)語“連接”可以指直接或間接的連接。例如,參考圖1,源16可以認(rèn)為是直接連接到fhr12,但也可以認(rèn)為是間接連接到fhr12下游的任何網(wǎng)絡(luò)設(shè)備。然而,它可以理解,圖1是網(wǎng)絡(luò)配置的簡化示例。
每個(gè)源16和接收器18可以包括在遠(yuǎn)程站點(diǎn)(未顯示)中,遠(yuǎn)程站點(diǎn)可以是包括多個(gè)訂閱設(shè)備(例如臺(tái)式電腦、筆記本電腦、工作站、pda、無線設(shè)備、網(wǎng)絡(luò)準(zhǔn)預(yù)留具、文件服務(wù)器、打印服務(wù)器或其它設(shè)備)的局域網(wǎng)(lan)或廣域網(wǎng)(wan)。遠(yuǎn)程站點(diǎn)可以配置為支持多播流量,例如互聯(lián)網(wǎng)協(xié)議電視(iptv)、桌面會(huì)議、公司廣播、音樂和視頻網(wǎng)絡(luò)直播以及其它形式的多媒體內(nèi)容。
源16可以為一個(gè)或多個(gè)多播組提供流量。接收器18可以請(qǐng)求或訂閱來自一個(gè)或多個(gè)多播組的流量。在其它示例中,網(wǎng)絡(luò)10中的路由器可以連接到一個(gè)以上的源和/或一個(gè)以上的接收器。接收器18可以訂閱特定的多播組來接收多播流量。根據(jù)pim協(xié)議,rp22可以為了由網(wǎng)絡(luò)10中的源16和/或其它源提供的一定范圍的多播組,了解并存儲(chǔ)源地址。未顯示在圖1中的網(wǎng)絡(luò)10中的其它rp,可以涉及由源16和/或一個(gè)或多個(gè)其它源提供的多播組的不同范圍。以這種方式,每個(gè)fgr12、lhr13和路由器20可以沒有為了網(wǎng)絡(luò)10中提供的每個(gè)多播組了解和存儲(chǔ)源地址,但可以只是了解涉及多播組的不同范圍的rp22和其它rp的地址。在圖1所示的示例中,rp22可以知道源16的地址,但fgr12、lhr13和路由器只可以知道rp22的地址。
pim協(xié)議可以用幾個(gè)不同的模式操作,包括密集模式(dm)、特定源多播(ssm)模式或任意源多播(asm)模式中的稀疏模式(sm)和雙向(bidir)模式。關(guān)于pim協(xié)議的附加信息可以在下面發(fā)現(xiàn):adams,a.等,“protocolindependentmulticastversion2-densemodespecification,”ietfrfc3973,2005;fenner,b.等,“protocolindependentmulticast-sparsemode(pim-sm):protocolspecification(revised),”ietfrfc4601,2006;holbrook,h.和b.cain,“source-specificmulticastforip,”ietfrfc4607,2006;和handley,m.等,“bidirectionalprotocolindependentmulticast(bidirpim),”ietfrfc5015,2007,其中每個(gè)的全部內(nèi)容以引用的方式并入本文。
本文描述的一種或更多種技術(shù)可以提供增強(qiáng)pim來使最末跳路由器(lhr)(例如,lhr13)能夠執(zhí)行源發(fā)現(xiàn)以了解使lhr擁有感興趣的接收器的多播組的源地址(例如接收器18和/或任何其它接收器)。在一些示例中,lhr13可以配置為基于從一個(gè)或更多連接到lhr的接收器(例如,示例中所示的接收器18)接收的信息,通過產(chǎn)生源發(fā)現(xiàn)加入消息來執(zhí)行源發(fā)現(xiàn)。源發(fā)現(xiàn)加入消息可以是改進(jìn)的pim加入消息,改進(jìn)的pim加入消息包括附加的信息(例如,比特或標(biāo)志)以表明lhr13對(duì)從rp22接收多播組的源地址感興趣。本文中,術(shù)語“源發(fā)現(xiàn)加入消息”可稱為sdj消息。當(dāng)一個(gè)或多個(gè)本文所描述的技術(shù)是相對(duì)于pim加入消息或者否則pim加入數(shù)據(jù)包進(jìn)行描述的,應(yīng)該理解,這些一種或更多種技術(shù)可以同樣適用于pim剪枝消息或者否則pim剪枝數(shù)據(jù)包。在這樣的示例中,本文中,術(shù)語“源發(fā)現(xiàn)剪枝消息”可稱為sdp消息。作為一個(gè)示例,在理解涉及sdp消息的加入方面的功能與涉及sdp消息的剪枝方面的功能不同的同時(shí),任何涉及sdj消息的描述也可以適用于sdp消息。另一個(gè)示例,剪枝消息可以這樣產(chǎn)生,如本文描述的,其包括一個(gè)或多個(gè)sd比特,從而構(gòu)成sdp消息。sdj和/或sdp消息可以各自包括超過一個(gè)或多個(gè)sd比特的值的進(jìn)一步信息。例如,sdj和/或sdp消息可以包括一個(gè)或多個(gè)多播組標(biāo)識(shí)。
在一些示例中,sdj消息可以包括表明lhr13對(duì)執(zhí)行源發(fā)現(xiàn)感興趣的信息。表明lhr13對(duì)執(zhí)行源發(fā)現(xiàn)感興趣的信息可以是基于從連接到lhr13的一個(gè)或多個(gè)接收器收到的信息。在一些示例中,sdj消息可以包括表示的lhr對(duì)執(zhí)行源發(fā)現(xiàn)感興趣的一個(gè)或多個(gè)比特。本文中,表示的lhr13對(duì)執(zhí)行源發(fā)現(xiàn)感興趣的一個(gè)或多個(gè)比特可以稱為一個(gè)或多個(gè)sd比特。一個(gè)或多個(gè)sd比特可以構(gòu)成一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志,其中可以稱為一個(gè)或多個(gè)sd標(biāo)志。在一些示例中,sd標(biāo)志可以是一個(gè)或多個(gè)比特。例如,雙狀態(tài)sd標(biāo)志可以是單個(gè)的比特并且四狀態(tài)sd標(biāo)志可以是兩個(gè)比特。一個(gè)或多個(gè)sd比特可以在pim加入消息中構(gòu)成一個(gè)或多個(gè)預(yù)留比特。另有規(guī)定,pim加入消息中的一個(gè)或多個(gè)預(yù)留比特可以用作一個(gè)或多個(gè)sd比特(或用作一個(gè)或多個(gè)sd標(biāo)志)。
在一些示例中,一個(gè)或多個(gè)sd比特可以包括d標(biāo)志和/或f標(biāo)志。這些標(biāo)志中的每一個(gè)可以是一個(gè)或多個(gè)比特。術(shù)語“d標(biāo)志”可以是“發(fā)現(xiàn)比特”的縮寫(即,(d)iscoverybit)。術(shù)語“f標(biāo)志”可以是完整轉(zhuǎn)儲(chǔ)(fulldump)比特的縮寫(即,(f)ulldumpbit)。
在一些示例中,d標(biāo)志可以是用于特定目的預(yù)留比特,并且f標(biāo)志可以是用于特定目的的預(yù)留比特。例如,d標(biāo)志的值可以代表lhr13對(duì)源發(fā)現(xiàn)的興趣。在這樣的示例中,d標(biāo)志的值可以代表lhr13對(duì)從rp路由器獲得sd消息或者否則向rp路由器請(qǐng)求sd消息的興趣。一旦收到d標(biāo)志具有第一值的sdj消息,rp路由器可以配置為不產(chǎn)生本文描述的sd消息。然而,一旦收到d標(biāo)志具有與第一值不同的第二值的sdj消息,rp路由器22可以配置為為了對(duì)lhr131的傳輸而產(chǎn)生sd消息,lhr131產(chǎn)生并發(fā)送了sdj消息。
在一些示例中,f標(biāo)記可以代表lhr13對(duì)接收或者否則請(qǐng)求活躍源的完整轉(zhuǎn)儲(chǔ)感興趣。在這樣的示例中,f標(biāo)志的值可以代表lhr13對(duì)接收或者否則請(qǐng)求活躍源的完整列表感興趣,活躍源可通過rp路由器22處理sdj消息來識(shí)別。一旦接收在f標(biāo)志具有第一值的sdj消息,rp路由器可以配置為不產(chǎn)生標(biāo)識(shí)所有活躍源的sd消息。然而,一旦接收f標(biāo)志具有不同于第一值的第二值的sdj消息,rp路由器22可以配置為為了對(duì)lhr131的傳輸而產(chǎn)生標(biāo)志所有活躍源(例如,所有活動(dòng)的源可由rp路由器識(shí)別)的sd消息,lhr13產(chǎn)生并發(fā)送了消息的sdj。例如,f標(biāo)志的選定值可以告知rp路由器22下游路由器(例如,lhr)為了一個(gè)或多個(gè)特定組(例如,在sdj消息中識(shí)別的一個(gè)或多個(gè)組),想要所有當(dāng)前活動(dòng)的源的完整轉(zhuǎn)儲(chǔ)。在一些示例中,如果d標(biāo)志已設(shè)置為代表lhr13對(duì)從rp路由器獲取sd消息或者否則向rp路由器請(qǐng)求sd消息感興趣的值,f標(biāo)志的值可以只承載意思。例如,rp路由器22可以只提供完整轉(zhuǎn)儲(chǔ)(例如,為在sdj消息中識(shí)別的一個(gè)或多個(gè)特定組識(shí)別所有活躍源的列表),如果d標(biāo)志已設(shè)置為代表lhr13對(duì)從rp路由器獲取sd消息或者否則向rp路由器請(qǐng)求sd消息感興趣的值。否則,如果d標(biāo)志沒已設(shè)置(例如,如果d標(biāo)志具有的值表明lhr對(duì)從rp路由器22獲得sd消息或者否則向rp路由器22請(qǐng)求sd消息不感興趣,rp路由器22可以配置為忽略f標(biāo)志的值。
在一些示例中,lhr13可以發(fā)送f標(biāo)志已設(shè)置的sdj消息,如果這是lhr第一次為多播組請(qǐng)求源信息。以這種方式,lhr13接收所有涉及多播組的源信息,可以為多播組建立源信息的初始同步。前進(jìn)(例如,超出源信息的初始同步),lhr13可以只需要接收消息源的更新,所以不必用f-比特請(qǐng)求完整轉(zhuǎn)儲(chǔ)。例如,作為初始同步過程的一部分,更新可以包括源信息與之前收到的完整轉(zhuǎn)儲(chǔ)相比的任何變化。
產(chǎn)生sdj消息之后,lhr可以傳輸消息,這樣sdj消息被指定給一個(gè)或多個(gè)被指定為rp路由器的路由器。在一些示例中,lhr可以直接連接到一個(gè)或多個(gè)目標(biāo)rp路由器。在其它示例中,lhr可以間接連接到一個(gè)或多個(gè)目標(biāo)rp路由器。例如,lhr可以通過一個(gè)或多個(gè)中間網(wǎng)絡(luò)設(shè)備(例如,一個(gè)或多個(gè)路由器)間接連接到一個(gè)或多個(gè)目標(biāo)rp路由器。例如,如圖1的示例所示,lhr13可以由一個(gè)或多個(gè)路徑,通過一個(gè)或多個(gè)中間網(wǎng)絡(luò)設(shè)備間接連接到的rp路由器22。一旦接收sdj消息,網(wǎng)絡(luò)設(shè)備(例如,路由器)可以配置為向另一個(gè)網(wǎng)絡(luò)設(shè)備(例如,目標(biāo)rp路由器或其它中間路由器)轉(zhuǎn)發(fā)或者否則傳輸sdj消息。
在一些示例中,如果lhr配置為處理本文描述的sd消息,lhr13可以配置為向上游發(fā)送sdj消息。在其它示例中,lhr13可以配置為向上游發(fā)送sdj消息,如果lhr配置為接收所有d-比特已設(shè)置的下游加入。例如,中間路由器可以需要將超過一個(gè)下游路由器(多個(gè)下游路由器/對(duì)相同的流量感興趣的lhr)的興趣結(jié)合在一起。如果lhr中的一個(gè)配置為如本文描述地執(zhí)行源發(fā)現(xiàn)(例如,設(shè)置在sdj消息中d標(biāo)志和/或f標(biāo)志),但lhr中的另一個(gè)可以沒有配置為如本文描述地執(zhí)行源發(fā)現(xiàn)(例如,不能夠支持這種變化的傳統(tǒng)lhr),然后中間路由器可以不為多播組向上游發(fā)送sd比特已設(shè)置的sdj消息,因?yàn)槠湎掠温酚善?lhr中的至少一個(gè)希望接收數(shù)據(jù)流量而不是源發(fā)現(xiàn)消息。
一旦接收sdj消息,網(wǎng)絡(luò)設(shè)備(例如,rp路由器22)可以設(shè)置為處理收到的sdj消息。在一些示例中,處理sdj消息可以包括確定一個(gè)或多個(gè)sd比特的值?;谝粋€(gè)或多個(gè)sd比特的一個(gè)或多個(gè)值,網(wǎng)絡(luò)設(shè)備(例如,rp路由器22)可以設(shè)置為產(chǎn)生本文稱為sd消息的源發(fā)現(xiàn)消息。sd消息的內(nèi)容可以是基于一個(gè)或多個(gè)sd比特的一個(gè)或多個(gè)值。在一些示例中,sd消息可以包括為了一個(gè)或多個(gè)使lhr13擁有感興趣的接收器的多播組的源信息。在一些示例中,sd消息可以包括表明哪個(gè)源是活躍的或哪些源是活躍的信息。在一些示例中,sd消息可以包括識(shí)別所有活躍源的信息。在一些示例中,sd消息可以包括涉及一個(gè)或多個(gè)活躍源和/或一個(gè)或多個(gè)不活躍源的信息。
在一些示例中,網(wǎng)絡(luò)可以包括rp路由器(例如,rp路由器22),其可以配置為從一個(gè)或多個(gè)lhr(例如,lhr13)接收加入消息和sdj消息。例如,lhr13可以產(chǎn)生sdj消息和和/或非sdj消息(例如,傳統(tǒng)或常規(guī)的加入消息等)。在其它示例中,在網(wǎng)絡(luò)中至少一個(gè)lhr(例如,lhr13)可以配置為到產(chǎn)生sdj消息并且在網(wǎng)絡(luò)中至少一個(gè)lhr可以配置為產(chǎn)生非sdj消息(例如,常規(guī)的加入消息、傳統(tǒng)的加入消息等)。在rp路由器(例如,rp路由器22)接收沒有設(shè)置一個(gè)或多個(gè)sd比特(例如,沒有設(shè)置d標(biāo)志的sdj消息,或不用一個(gè)或一更多個(gè)預(yù)留的比特作為一個(gè)或多個(gè)sd比特的非sdj消息)的加入消息的示例中,rp路由器22可以設(shè)置為用傳統(tǒng)方式(例如,發(fā)起向fhr的加入,以發(fā)起到rp路由器并最終到lhr的數(shù)據(jù)任務(wù),從其中l(wèi)hr可以用來確定活躍源的標(biāo)識(shí),并且相應(yīng)地,建立了直接到源的最短路徑樹)處理這樣的加入消息。在這樣的示例中,rp路由器22可以只向輸出接口發(fā)送數(shù)據(jù)流量,加入消息從輸出接口被接收,沒有設(shè)置d比特或不存在d比特。
rp路由器22可以配置為將由rp路由器產(chǎn)生的sd消息發(fā)送到一個(gè)或多個(gè)lhr(例如,lhr13)。例如,rp路由器22可以配置為將產(chǎn)生的sd消息發(fā)送到lhr13,lhr13發(fā)送了sdj消息,為了sdj消息而產(chǎn)生sd消息。
在一些示例中,rp路由器22可以配置為只在從其中接收具有已設(shè)置的d標(biāo)志的sdj消息的接口發(fā)送產(chǎn)生的sd消息。在一些示例中,rp路由器22可以配置為定期發(fā)送sd消息,直到lhr13通知rp路由器停止發(fā)送帶有剪枝消息的sd消息。如本文使用的,已設(shè)置的d標(biāo)志或者否則正在已設(shè)置的d標(biāo)志可以參考配置為如本文描述地引起rp路由以產(chǎn)生sd消息的d標(biāo)志的值。同樣地,如本文使用的,已設(shè)置的f標(biāo)志或者否則正在已設(shè)置的f標(biāo)志可以參考配置為如本文描述地提供活躍源的完整轉(zhuǎn)儲(chǔ)f標(biāo)志的值。在一些示例中,rp路由器可以配置為在所有接口向那些支持sd消息的處理的路由器發(fā)送sd消息。在一些示例中,rp路由器22可以配置為設(shè)置sd消息中的f標(biāo)志。rp路由器22和lhr13之間的中間路由器可以在從其中f標(biāo)志已設(shè)置的sdj消息之前被接收的接口上路由具有已設(shè)置的f標(biāo)志的sd消息。
應(yīng)該理解,sd消息可能在到達(dá)lhr13的路上丟失,或由于任何原因沒有最終被預(yù)期的lhr收到(例如,lhr13,其產(chǎn)生并發(fā)送了sdj消息,并期待響應(yīng)sdj消息而來自rp路由器的sd消息)。因此,在一些示例中,rp路由器22可以配置為用于發(fā)送sd消息一次或更多次到計(jì)數(shù)限制(例如,sd發(fā)送計(jì)數(shù)限制)。在這樣的示例中,rp路由器22可以配置為第一次發(fā)送sd消息,并增加sd消息發(fā)送計(jì)數(shù)值。rp路由器22可以配置為第二次發(fā)送sd消息(例如,重發(fā)第一次的sd消息),并增加sd發(fā)送計(jì)數(shù)值,如果rp路由器沒有從lhr13收到表明它已收到sd消息的確認(rèn)接收。該過程可以持續(xù)到sd發(fā)送計(jì)數(shù)值達(dá)到sd發(fā)送計(jì)數(shù)限制。例如,如果sd發(fā)送計(jì)數(shù)限制為2,則在上面緊接的示例中,在丟棄sd消息之前,rp路由器22只可配置為發(fā)送sd消息兩次(例如,第一發(fā)送是初始傳輸并且第二發(fā)送是sd消息的第一次重傳)。在其它示例中,rp路由器22可以配置為重發(fā)sd消息的一次或更多次,直到sd發(fā)送計(jì)數(shù)值達(dá)到sd發(fā)送計(jì)數(shù)限制的點(diǎn),無論lhr是否成功接收到之前發(fā)送的sd消息。在另外的其它示例中,rp路由器22可以配置為利用共享樹上的現(xiàn)有的(s,g)剪枝消息來確定是否重發(fā)sd消息。例如,rp路由器22可以配置為定期發(fā)送sd消息直到lhr13通知rp路由器停止發(fā)送帶有剪枝消息的sd消息。
在其它示例中,預(yù)期lhr(例如,lhr13,其產(chǎn)生并發(fā)送了sdj消息,并期待響應(yīng)sdj消息而來自rp路由器的sd消息)可以配置為重發(fā)sdj消息,如果沒有收到sd消息。在這樣的示例中,與上面描述的對(duì)于rp路由器22和sd發(fā)送計(jì)數(shù)值和限制的一套方法類似地,lhr13可以重發(fā)sdj消息,基于sdj發(fā)送計(jì)數(shù)值和sdj發(fā)送計(jì)數(shù)限制。
一旦收到sd消息,lhr13可以配置為向源發(fā)起(s,g)加入消息并創(chuàng)建源樹。在一些示例中,lhr13可以配置為向rp路由器22發(fā)送(s,g-rpt)消息,rp路由器22傳輸sd消息以停止重傳sd消息。例如,lhr13可以配置為向rp路由器22發(fā)送確認(rèn)接收,通知rp路由器lhr收到了sd消息。
通過產(chǎn)生sdj消息并向rp路由器22發(fā)送sdj消息來處理,lhr13可以配置為基于與sdj消息相關(guān)的sd消息,建立或加入源樹,直接到達(dá)給定的源(例如,源16),而不是首先建立或加入通向rp路由器22的共享樹。為了本公開的目的,源樹可以定義為沿連接到接收器的lhr和連接到源的fhr之間的最短路徑的多播分布樹。在一些示例中,本文所描述的一種或更多種技術(shù)可以使多播流量遵循最短路徑樹,并避免共享rp樹。例如,基于可以導(dǎo)致多播流量避免共享rp樹的一個(gè)或多個(gè)本文所描述的技術(shù),lhr13可以配置為建立最短路徑樹。
在一些示例中,當(dāng)新的接收器變?yōu)榛钴S,lhr13可以配置為產(chǎn)生并發(fā)送sdj消息到共享樹,新的接收器是與共享樹相關(guān)的。在一些示例中,由于活躍的新的接收器發(fā)送的該sdj消息,其d標(biāo)志和f標(biāo)志都可以已設(shè)置。rp路由器22可以配置為處理和分析sdj消息,并且一旦確定f標(biāo)志已設(shè)置,rp路由器可以立即為在sdj消息中識(shí)別的一個(gè)或多個(gè)組發(fā)送所有活躍源的轉(zhuǎn)儲(chǔ)。該完整轉(zhuǎn)儲(chǔ)可以構(gòu)成響應(yīng)于sdj消息,由rp路由器22產(chǎn)生并發(fā)送的sd消息中的信息。如果在lhr13和rp路由器22之間有任何中間路由器,每個(gè)中間路由器可以配置為接收sd消息并向上游傳輸sdj消息(例如,向rp路由器)。每個(gè)中間路由器可以配置為保持在其上sdj消息被收到的接口(s)的列表。例如,每個(gè)中間路由器可以配置為在其上包括已設(shè)置的f標(biāo)志的sdj消息被收到的保持接口(s)的列表。每個(gè)中間路由器可以配置為接收消息sd消息并向下游傳輸sd消息(例如,向lhr)。在一些示例中,每個(gè)中間路由器可以配置為接收包括已設(shè)置的f標(biāo)志的sd消息,并可以配置為只在包括已設(shè)置的f標(biāo)志的sdj消息被接收的接口向下游發(fā)送sd消息。
在一些示例中,rp路由器22可以配置為總是響應(yīng)包括已設(shè)置f標(biāo)志的sdj消息。如果沒有活躍源,rp路由器22可以配置為發(fā)送具有零活躍源的sd消息(例如,sd消息的消息不識(shí)別或者否則包括任何活躍源)。在一些示例中,如果lhr13沒有接收到響應(yīng)于lhr的具有f標(biāo)識(shí)設(shè)置的sdj消息的具有f標(biāo)志已設(shè)置的sd消息,lhr應(yīng)該重發(fā)具有f標(biāo)識(shí)設(shè)置的sdj消息。
如本文更詳細(xì)的描述,本公開描述了一種或更多種技術(shù),其中l(wèi)hr(例如,lhr13)用特定的方式發(fā)現(xiàn)源,并且從而可以直接只建立通向源的“最短路徑樹”。根據(jù)本公開的一中或更多種技術(shù),lhr(例如,lhr13)可以配置為通過基于從一個(gè)或多個(gè)連接到lhr的接收器接收到的信息產(chǎn)生sdj消息來執(zhí)行源發(fā)現(xiàn)。lhr可以配置為發(fā)送sdj消息到rp指定路由器(例如,rp路由器22)。rp路由器可以直接或間接地從lhr接收sdj消息。rp路由器可以處理sdj的消息,這可以導(dǎo)致rp路由器為至少一個(gè)使lhr擁有對(duì)lhr感興趣的接收器的多播組提供源信息。例如,rp路由器可以發(fā)送sd消息到lhr,lhr可以直接或間接地接收來自rp路由器的sd消息。sd消息可以包括,例如,表明至少一個(gè)源為至少一個(gè)使lhr擁有感興趣的接收器的多播組活躍地提供流量的源信息?;趕d消息中的信息,lhr可以配置為為了至少一個(gè)多播組向至少一個(gè)源發(fā)起(s,g)pim加入消息,以直接建立或加入至少一個(gè)源樹。一個(gè)或多個(gè)本文所描述的技術(shù)可以避免在pimasm模式遇到的狀態(tài)爆炸和數(shù)據(jù)驅(qū)動(dòng)事件的問題。額外地或替代地,一個(gè)或多個(gè)本文所描述的技術(shù)可以避免預(yù)了解源信息和在pimssm模式遇到的用源信息配置主機(jī)的實(shí)際困難。
圖2a是示出計(jì)算機(jī)網(wǎng)絡(luò)10的另一個(gè)示例的框圖,計(jì)算機(jī)網(wǎng)絡(luò)10包括路由,路由器配置為在(1)一個(gè)或多個(gè)源16a-16n和(2)第一接收器18a和/或第二接收器18b之間傳輸多播流量,其中16n表示第n個(gè)源。在一個(gè)或多個(gè)源16a-16n被描述為單個(gè)框,應(yīng)該理解,一個(gè)或多個(gè)源16a-16n中的每一個(gè)可以是不同的設(shè)備。然而,在其它示例中,應(yīng)該理解,一個(gè)或多個(gè)源16a-16n中的多個(gè)可以屬于同一設(shè)備。例如,相同的設(shè)備可以承載兩個(gè)或更多個(gè)不同的源。在圖2a所示的和類似于圖1的示例中,網(wǎng)絡(luò)10包括互聯(lián)網(wǎng)協(xié)議(ip)網(wǎng)絡(luò),互聯(lián)網(wǎng)協(xié)議(ip)網(wǎng)絡(luò)包括路由設(shè)備,路由設(shè)備可以配置為為了一個(gè)或多個(gè)多播組,使用協(xié)議獨(dú)立多播(pim)協(xié)議,通過網(wǎng)絡(luò)10,在一個(gè)或多個(gè)源16a-16n和一個(gè)或多個(gè)接收器(例如,顯示兩個(gè)接收器以簡明地描述本公開的某些技術(shù))之間路由多播流量。網(wǎng)絡(luò)10包括連接到一個(gè)或多個(gè)源16a-16n的第一跳路由器(fhr)12、連接到接收器18a的第一lhr13a、連接到接收器18b的第二lhr13b、多個(gè)過境路由器20a-20d(“路由器20”)和指定為匯聚點(diǎn)(rp)的可以稱為rp路由器22的路由器22。在一些示例中,如在一個(gè)利用pim協(xié)議的典型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,可以包括超出圖2s所示的附加的過境路由器。
一個(gè)或多個(gè)源16a-16n可以每一個(gè)都為一個(gè)或多個(gè)多播組提供流量。接收器18a和/或接收器18b可以請(qǐng)求或訂閱來自一個(gè)或多個(gè)多播組的流量。例如,接收器18a可以訂閱第一多播組來接收多播流量,并且接收器18b可以訂閱第二多播組來接收多播流量。根據(jù)pim協(xié)議,為了由網(wǎng)絡(luò)10中的一個(gè)或多個(gè)源16a-16n和/或其它源提供的一定范圍內(nèi)的多播組,rp22可以了解和存儲(chǔ)源地址。網(wǎng)絡(luò)10中的其它rp(未顯示在圖2a中)可以涉及由一個(gè)或多個(gè)源16a-16n和/或其它源提供的多播組的不同范圍。以這種方式,fgr12、lhr13a,lhr13n和路由器20的每一個(gè)可以不為在網(wǎng)絡(luò)10中提供的每個(gè)多播組了解和存儲(chǔ)源地址,但可以只是了解涉及多播組的不同范圍的rp22和其它rp的地址。在圖2a所示的示例中,rp22可以知道一個(gè)或多個(gè)源16a-16n的地址(地址),但fgr12、lhr13a、lhr13b和路由器20可以只知道rp22的地址。
本文所描述的一種或更多種技術(shù)可以提供增強(qiáng)pim以使最末跳路由器(lhr)(例如,lhr13a和/或lhr13b)能夠執(zhí)行源發(fā)現(xiàn),以了解使lhr擁有感興趣的接收器(例如,接收器18a、接收器18b和/或其它的接收器)的多播組的源地址。
在一些示例中,lhr13a可以配置為基礎(chǔ)從連接到lhr的一個(gè)或多個(gè)接收器(例如,示例中所示的接收器18a)接收的消息,如本文描述的通過產(chǎn)生sdj消息執(zhí)行源發(fā)現(xiàn),并且lhr13b可以配置為通過傳統(tǒng)方式接收多播流量。在一些示例中,lhr13a可以如本文所述地產(chǎn)生并發(fā)送sdj消息,相對(duì)于如本文描述的其它lhr(例如,lhr13)。rp路由器22可以如本文描述地接收和處理由lhr13a傳輸?shù)膕dj消息。rp路由器22可以如本文描述地產(chǎn)生并向lhr13a發(fā)送sd消息。在其它示例中,lhr13a和13b都可以配置為執(zhí)行一種或更多種本公開的技術(shù)。
在一些示例中,當(dāng)接收器變?yōu)榛钴S,lhr13a和/或lhr13b的每個(gè)都可以產(chǎn)生并發(fā)送具有d標(biāo)志已設(shè)置和f標(biāo)志已設(shè)置的sdj消息。路由器路r320c和路由器r420d每個(gè)都可以分別轉(zhuǎn)發(fā)由lhr13a和lhr13b向路由器22發(fā)送的sdj消息。rp路由器22可以配置為理解一個(gè)或多個(gè)sd消息的比特(例如,d標(biāo)志和/或f標(biāo)志已設(shè)置或未設(shè)置)的含義。例如,如果rp路由器22理解d標(biāo)志并在所有的加入接收d標(biāo)志,rp路由器向路由器r320c和路由器r420d都發(fā)送f標(biāo)志已設(shè)置的sd消息。在該示例中,sd消息可以包括所有目前活躍源(如果有的話)的識(shí)別。然而,如果rp路由器沒有配置為理解一個(gè)或多個(gè)sd比特的含義,那么,rp路由器將忽略額外的比特,并像往常一樣運(yùn)行以向源請(qǐng)求流量。
在一些示例中,當(dāng)新的源變?yōu)榛钴S,fgr12可以向rp路由器22發(fā)送登記數(shù)據(jù)包。一旦收到登記數(shù)據(jù)包,rp路由器22可以形成f標(biāo)志未設(shè)置的源發(fā)現(xiàn)數(shù)據(jù)包,并且向路由器r320c和路由器r420d轉(zhuǎn)發(fā)sd消息。在一些示例中,可以周期性地發(fā)送sd消息直到(s,g-rpt)消息被看見,以減輕損失,例如,源發(fā)現(xiàn)數(shù)據(jù)包傳輸錯(cuò)誤。路由器r320c和r420d可以每個(gè)都處理任何源發(fā)現(xiàn)數(shù)據(jù)包,并將它們分別轉(zhuǎn)發(fā)給lhr13a和lhr13b。一旦接收sd消息,lhr13a和lhr13b可以每個(gè)都向rp路由器22發(fā)送(s,g-rpt)消息,以通知rp路由器收到了請(qǐng)求的源信息。lhr13a和lhr13b可以通過spt加入fgr12并提取流量。在示例中,lhr13a的spt是lhr13a到路由器r320c到fgr12的路徑,并且lhr13b的spt是lhr13b到路由器r420d到路由器r320c到fgr12的路徑。
在一些示例中,如果路由器r420d或lhr13b都沒有配置為執(zhí)行一個(gè)或多個(gè)本文所描述的技術(shù)以執(zhí)行源發(fā)現(xiàn),那么可能出現(xiàn)以下情況。如果接收器變?yōu)榛钴S,然后lhr13a可以發(fā)送d標(biāo)志已設(shè)置的sdj消息。路由器r320c可以向rp路由器22轉(zhuǎn)發(fā)sdj消息。路由器r420d可以收到d標(biāo)志已設(shè)置的sdj消息,或者可以接收傳統(tǒng)的加入消息。路由器r420d可以不支持或者否則被設(shè)置為識(shí)別d標(biāo)志。因此,在任何情況下,路由器r420d可以配置為向rp路由器22轉(zhuǎn)發(fā)d標(biāo)志未設(shè)置的sdj消息。在該示例中,rp路由器22理解不是所有接收到的加入消息都包括已設(shè)置的d標(biāo)志。在一些示例中,rp路由器22可以配置為理解一個(gè)或多個(gè)sd比特(例如,d標(biāo)志和/或f標(biāo)志已設(shè)置或未設(shè)置的含義)。例如,如果rp路由器22理解從lhr13a收到的消息上的d標(biāo)志,rp路由器向路由器r320c而不是路由器r420d發(fā)送f標(biāo)志已設(shè)置的sd消息。在該示例中,既然從路由器r420d收到的消息不包括已設(shè)置的d標(biāo)志,rp路由器22可以配置為通過傳統(tǒng)方式向路由器r420d(而不是sd消息)發(fā)送多播流量,路由器r420d然后轉(zhuǎn)發(fā)到lhr13b,在該示例中。
在一些示例中,如果路由器r420d或lhr13b都沒有配置為執(zhí)行一個(gè)或多個(gè)本文所描述的技術(shù)來執(zhí)行源發(fā)現(xiàn),那么可能出現(xiàn)以下情況。如果新的源變?yōu)榛钴S,fgr12可以向rp路由器22發(fā)送登記數(shù)據(jù)包。一旦收到登記數(shù)據(jù)包,rp路由器22可以通過(s,g)加入消息加入fgr12,來提取流量。rp路由器22可以形成源發(fā)現(xiàn)數(shù)據(jù)包,并向路由器r320c轉(zhuǎn)發(fā)sd消息。rp路由器22由于(s,g)加入消息從源接收多播流量,并向路由器r420d轉(zhuǎn)發(fā)接收到的多播流量。路由器r320c可以處理任何源發(fā)現(xiàn)數(shù)據(jù)包,并轉(zhuǎn)發(fā)給lhr13a。一旦接收sd消息,lhr13a可以發(fā)送(s,g-rpt)消息到rp路由器22,以通知rp路由器已收到請(qǐng)求的源信息。通過理解lhr13a通過sd消息建立了spt,以及理解lhr13b由rp路由器22轉(zhuǎn)發(fā)的通過多播流量建立了spt,在該示例中。在示例中,lhr13a的spt是lhr13a到路由器r320c到fgr12的路徑,并且lhr13b的spt是lhr13b到路由器r420d到路由器r320c到fgr12的路徑,lhr13a和lhr13b可以每個(gè)都通過spt加入fgr12,并提取任務(wù)。
圖2b是顯示圖2a所示的計(jì)算機(jī)網(wǎng)絡(luò)10的示例的框圖,除了圖2b進(jìn)一步包括示例性的箭頭,箭頭顯示lhr13a配置為執(zhí)行一個(gè)或多個(gè)本公開的技術(shù)的示例性處理流程。箭頭a1表示接收器18a向lhr13a請(qǐng)求多播流量。lhr13a處理接收器18a發(fā)給它的消息,并相應(yīng)地產(chǎn)生包括已設(shè)置的d標(biāo)志(例如,((*,g)+d))的sdj消息。箭頭a2表示由lhr13a傳輸?shù)铰酚善鱮320c的sdj消息。sdj消息可以被編址,這樣它被指定給rp路由器22。確定sdj消息被指定給rp路由器22,路由器r320c可以發(fā)送sdj消息到rp路由器22,其由箭頭a3顯示。基于sdj消息,rp路由器22可以配置為如果rp路由器22沒有已經(jīng)處理這樣的信息,則獲取請(qǐng)求的消息源的發(fā)現(xiàn)信息。例如,rp路由器22可以了解或者否則獲得基于從一個(gè)或多個(gè)pim登記消息的信息,由lhr13a通過sdj消息請(qǐng)求的源信息,并可以產(chǎn)生sd消息以發(fā)送回lhr13a。
箭頭a4表示rp路由器22發(fā)送指定給lhr13a路由器r320c的產(chǎn)生的sd消息。箭頭a5表示路由器r320c發(fā)送sd消息到lhr13a。基于sd消息,lhr13a可以相應(yīng)地發(fā)起通向一個(gè)或多個(gè)源16a-16n的最短路徑樹(spt)的建立。在所示的示例中,從lhr13a到一個(gè)或多個(gè)源16a-16n的spt由箭頭a6、a7和a8描述,這也代表加入消息被逐跳發(fā)送到一個(gè)或多個(gè)源16a-16n。響應(yīng)于接收由lhr13a發(fā)送的加入消息,一個(gè)或多個(gè)源16a-16n可以傳輸涉及在到lhr13a的加入消息中識(shí)別的組(s)的多播數(shù)據(jù)流量,這是箭頭a9、a10和a11所示的。
如圖2b所示,不同于在pimasm模式中,一個(gè)或多個(gè)本公開的技術(shù)可以沒有任何“共享樹”或“剪枝源樹的共享樹”的需要。因此,一種或更多種本公開的技術(shù)可以在測量、收斂、減少復(fù)雜性和故障尋找上具有直接的有效影響。一個(gè)或多個(gè)本文所描述的技術(shù)可稱為通過最末跳路由器pim源發(fā)現(xiàn)的。
圖3是示出能夠通過最末跳路由器執(zhí)行公開pim源發(fā)現(xiàn)的技術(shù)的示例性路由器50的框圖。在一個(gè)示例中,對(duì)于lhr,路由器50可以作為配置為執(zhí)行一個(gè)或多個(gè)本文所描述的技術(shù)最末跳路由器(lhr)。例如,路由器50可以基本類似于lhr13a圖2a和2b地操作。在其它示例中,路由器50可以作為配置為執(zhí)行一種或更多種本文描述的技術(shù)的rp或控制器路由器。例如,路由器50可以基本上類似于從圖2a和2b的rp路由器22地運(yùn)行。
在圖3所示的示例中,路由器50包括接口卡60a-60n(“ifc60”),配置成通過導(dǎo)入鏈路接收多播數(shù)據(jù)包,并配置為通過導(dǎo)出鏈路發(fā)送多播數(shù)據(jù)包。ifc60通過一些接口端口典型地通信地耦接到導(dǎo)入鏈路和導(dǎo)出鏈路。路由器50可以包括控制單元54,確定接收到的數(shù)據(jù)包的路由并通過ifc60相應(yīng)地轉(zhuǎn)發(fā)數(shù)據(jù)包。
控制單元54可以包括路由引擎56和轉(zhuǎn)發(fā)引擎58。路由引擎56可以作為路由器50的控制平面,并且可以包括可以為多個(gè)并發(fā)進(jìn)程的執(zhí)行提供多任務(wù)操作環(huán)境的操作系統(tǒng)。例如,路由引擎56可以為為路由器50執(zhí)行路由功能的各種協(xié)議66提供操作環(huán)境。在圖3所示的示例中,路由引擎56可以包括作為單播路由協(xié)議的邊界網(wǎng)關(guān)協(xié)議(bgp)70和內(nèi)部網(wǎng)關(guān)協(xié)議(igp)72,單薄路由協(xié)議可以用于與網(wǎng)絡(luò)中的其它路由設(shè)備交換路由信息,來發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并更新路由信息62。在本公開中描述的示例中,igp72可以是鏈路狀態(tài)路由協(xié)議,例如開放最短路徑優(yōu)先(ospf)或中間系統(tǒng)-中間系統(tǒng)(is-is)。路由引擎56可以包括作為用于利用路由信息62和pim狀態(tài)信息64與網(wǎng)絡(luò)中的其它路由設(shè)備建立多播分部樹的多播路由協(xié)議的pim68。
如本文所使用的,控制單元54可以被考慮或者否則包括一個(gè)或多個(gè)處理單元。同樣地,路由引擎56可以被考慮或者否則包括一個(gè)或多個(gè)處理單元。同樣地,轉(zhuǎn)發(fā)引擎58可以被考慮或者否則包括一個(gè)或多個(gè)處理單元。
路由信息62可以描述路由器50所在的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并且也可以描述網(wǎng)絡(luò)內(nèi)的各種路由和每個(gè)路由的適當(dāng)?shù)南乱惶?,沿每條路由的相鄰路由設(shè)備。路由信息62可以包括導(dǎo)入接口(iif)的列表和導(dǎo)出接口(oif)列表,表明在每個(gè)路由中,哪個(gè)ifc60連接到相鄰路由設(shè)備。例如,給定的路由可以包括用于給定的多播組的多播流量的多播路由。在該示例中,包括在路由器50的路由信息62中的iif列表可以包括所有具有給定多播組的pim狀態(tài)的上游路由器的上游接口列表。
pim狀態(tài)信息64可以描述到用pim68建立的多播分布樹中的相鄰路由設(shè)備的鏈路的現(xiàn)狀。例如,pim狀態(tài)信息64可以包括描述在給定的多播分布數(shù)范圍內(nèi)哪個(gè)相鄰路由設(shè)備屬于哪個(gè)多播組的pim加入狀態(tài)。路由引擎56可以分析存儲(chǔ)的路由信息62和pim狀態(tài)信息64以產(chǎn)生安裝在轉(zhuǎn)發(fā)引擎58中的轉(zhuǎn)發(fā)信息76。
轉(zhuǎn)發(fā)引擎58可以為路由器50提供數(shù)據(jù)平面功能。雖然沒有顯示在圖3中,轉(zhuǎn)發(fā)引擎58可以包括中央處理單元(cpu)、存儲(chǔ)器和一個(gè)或多個(gè)可編程數(shù)據(jù)包轉(zhuǎn)發(fā)特定用途集成電路(asic)。轉(zhuǎn)發(fā)信息76可以將網(wǎng)絡(luò)目標(biāo)與特定下一跳和ifc60的相應(yīng)端口相聯(lián)系。
根據(jù)一個(gè)或多個(gè)本公開的技術(shù),當(dāng)路由器50作為lhr,路由引擎56可以配置為產(chǎn)生sdj消息來向rp或控制器路由器請(qǐng)求源信息。在一些示例中,路由引擎56可以使用pim68為路由器50感興趣的一個(gè)或多個(gè)多播組請(qǐng)求源信息。例如,路由引擎56可以配置為發(fā)送sdj消息到rp或控制器路由器,以為路由器50感興趣的一個(gè)或多個(gè)多播組獲得源信息。一旦接收請(qǐng)求的源信息,路由引擎56可以更新pim狀態(tài)信息64,以包括活躍地為給定的多播組提供流量的源的已了解的地址。用這樣的方式,路由引擎56可使用pim68為多播組建立直接到活躍源的源樹。
進(jìn)一步根據(jù)一個(gè)或多個(gè)本公開的技術(shù),當(dāng)路由器50作為rp路由器,路由引擎56可以配置為接收和處理由lhr傳輸?shù)膕dj消息。例如,路由引擎56可以使用pim68回應(yīng)來自lhr的sdj消息。一旦接收sdj消息,路由引擎56可以查看登記數(shù)據(jù)庫74,來確定哪個(gè)源是活躍地為多播組提供流量。路由引擎56可以基于從lhr接到的和從連接到一個(gè)或多個(gè)源的第一跳路由器(fhr)接收不同消息,更新登記數(shù)據(jù)庫74。路由器50可以配置為由于處理sdj消息,為特定多播組向lhr提供源信息。
圖3所示的路由器50的體系結(jié)構(gòu)僅顯示用于示例性的目的,并且不局限于此體系結(jié)構(gòu)。在其它示例中,路由器50可以以多種方式進(jìn)行配置。在一個(gè)示例中,一些控制單元54的功能可以分布在ifc60內(nèi)。控制單元54可以單獨(dú)實(shí)現(xiàn)在軟件或硬件上,或者可以作為軟件、硬件、固件或任何上述的組合的組合來實(shí)現(xiàn)。例如,控制單元54可以包括一個(gè)或多個(gè)配置為執(zhí)行軟件指令的處理器。在這種情況下,控制單元54的各軟件模塊可以包括存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)(例如計(jì)算機(jī)存儲(chǔ)器或硬盤)上的可執(zhí)行指令。
圖4是示出具有兩個(gè)sd標(biāo)志(例如,f標(biāo)志80和d標(biāo)志82)的sdj消息格式的示例的概念圖。術(shù)語“d標(biāo)志”也可以被稱為“發(fā)現(xiàn)標(biāo)志”,并且“f標(biāo)志”也可以稱為“完整轉(zhuǎn)儲(chǔ)標(biāo)志”。在所示的示例中,兩個(gè)sd標(biāo)志都具有一個(gè)比特的長度。然而,在其它示例中,一個(gè)或多個(gè)sd標(biāo)志可以具有一個(gè)或多個(gè)比特的長度。參照?qǐng)D4的示例,兩個(gè)sd標(biāo)志具有編碼組地址消息格式83的預(yù)留比特空間84內(nèi)的兩個(gè)預(yù)留比特,兩個(gè)sd標(biāo)志的每個(gè)被用于特定的目的,如本申請(qǐng)整個(gè)描述的。如顯示的,由于編碼組地址消息格式83包括sd比特的效果,編碼組地址消息格式也可以稱為sdj消息格式。因此,如本文所使用的,在一個(gè)或多個(gè)編碼組地址消息的預(yù)留的比特用于提供一個(gè)或多個(gè)本文所描述的技術(shù)的示例中,sdj消息可以參考包括一個(gè)或多個(gè)sd比特的編碼組地址消息。編碼組地址消息可以是加入消息的一部分或者否則構(gòu)成加入消息。在其它示例中,如本文所使用的,一個(gè)或多個(gè)sd比特本身可以被視為sdj消息。例如,在編碼組地址消息中sdj消息可以被視為是d標(biāo)志和/或f標(biāo)志。
在一些示例中,d標(biāo)志可以是用于特定目的的預(yù)留比特,f標(biāo)志可以是用于特定目的的預(yù)留比特。例如,d標(biāo)志的值可以代表lhr對(duì)源發(fā)現(xiàn)的興趣。在這樣的示例中,d標(biāo)志的值可以代表lhr對(duì)從rp路由器獲得或者否則請(qǐng)求sd消息的興趣。一旦接收d標(biāo)志具有第一值的sdj消息,rp路由器可以配置為不如本文描述地產(chǎn)生sd消息。然而,一旦接收d標(biāo)志具有不同于第一值的第二值的sdj消息,為傳輸給由sdj消息產(chǎn)生和發(fā)送的lhr,rp路由器可以配置為產(chǎn)生sd消息。
在一些示例中,f標(biāo)記可以代表lhr對(duì)接收或者否則請(qǐng)求活躍源的完整轉(zhuǎn)儲(chǔ)的興趣。在這樣的示例中,f標(biāo)志的值可以代表lhr對(duì)接收完整轉(zhuǎn)儲(chǔ)的興趣。例如,f標(biāo)志的值可以代表lhr對(duì)接收或者其它請(qǐng)求由rp路由器處理sdj消息識(shí)別的活躍源的完整列表的興趣。一旦接收f標(biāo)志具有第一值的sdj消息,rp路由器可以配置為不產(chǎn)生識(shí)別所有活躍源的sd消息。然而,一旦接收f標(biāo)志具有不同于第一值的第二值s的dj消息,為傳輸給由sdj消息產(chǎn)生和發(fā)送的lhr,rp路由器可以配置為產(chǎn)生識(shí)別所有活躍源(例如,rp路由器可識(shí)別的所有活躍源)的sd消息。
圖5是示出sd消息格式的一個(gè)示例的概念圖。根據(jù)所示的示例格式化的sd消息可以包括關(guān)于組的數(shù)量、源的數(shù)量和一個(gè)或多個(gè)活躍源(例如,一個(gè)或多個(gè)活躍源地址)的身份的消息。
所示的格式可以識(shí)別多播組,lhr擁有對(duì)多播組感興趣的接收器,并且可以為多播組識(shí)別活躍源信息。在圖5所示的sd消息的數(shù)據(jù)包格式僅僅是一個(gè)示例性格式。在其它示例中,不同的數(shù)據(jù)包格式可以用于sd消息,用于為lhr感興趣的多播組傳輸源信息。如圖所示,sd消息可以為每個(gè)涉及多播組的活躍源提供各自的地址,lhr擁有對(duì)多播組感興趣的接收器(例如,活躍源地址1、活躍源地址2……活躍源地址n,n是第n個(gè)活躍源地址)。圖5還示出了如本文所描述的包括用于f標(biāo)記的比特空間的sd消息的示例。例如,sd消息中的f標(biāo)志可以表明,sd消息包括活躍源的完整轉(zhuǎn)儲(chǔ)。在一些示例中,sd消息中的f標(biāo)志可以被rp路由器和lhr路由器之間的中間路由器使用,從而中間路由器直到向哪里路由sd消息。例如,中間路由器可以將具有已設(shè)置f標(biāo)志的sd消息路由到之前從其中收到的f標(biāo)志已設(shè)置的sdj消息的接口。
在所示的示例中,f標(biāo)志在組的數(shù)量的字段的右邊。
在一些示例中,sd消息可以為每個(gè)多播組識(shí)別一個(gè)或多個(gè)活躍源,lhr在sdj消息中表達(dá)對(duì)多播組感興趣。描述的sd消息是sd消息的一個(gè)示例,可以響應(yīng)于接收和處理從lhr接收的sdj消息產(chǎn)生并向lhr發(fā)送。例如,雖然圖5所示的消息格式只顯示一個(gè)組的標(biāo)識(shí),sd消息格式的其它示例可以包括超過一個(gè)組,并允許識(shí)別每個(gè)組的一個(gè)或多個(gè)活躍源。作為另一個(gè)示例,sd消息格式可以包括用于識(shí)別lhr的lhr地址字段,rp發(fā)送sd消息到lhr。sd消息可以為每個(gè)源提供各自的地址,活躍地為每個(gè)lhr表達(dá)感興趣的多播組提供流量。
圖6是示出根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的lhr(例如,lhr13或lhr13a)執(zhí)行源發(fā)現(xiàn)的示例性操作的流程圖。圖6的示例性操作可以參考lhr13或lhr13a描述。圖6的示例性操作在用作lhr時(shí),也可以參考路由器50描述。
lhr可以配置為接收對(duì)獲得對(duì)應(yīng)于一個(gè)或多個(gè)多播組的多播流量的請(qǐng)求(102)。lhr可以配置為產(chǎn)生源發(fā)現(xiàn)加入消息,源發(fā)現(xiàn)加入消息包括請(qǐng)求加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志(104)。在一些示例中,一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。在某些示例中,一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。在一些示例中,源發(fā)現(xiàn)加入消息符合的消息格式可以包括pim加入消息格式。lhr可以配置為向網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器發(fā)送源發(fā)現(xiàn)加入消息(106)。
在一些示例中,一個(gè)或多個(gè)對(duì)應(yīng)于一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的比特是源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特。一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。
在一些示例中,lhr可以配置為接收源發(fā)現(xiàn)消息,包括表明至少一個(gè)活躍地為在源發(fā)現(xiàn)加入消息中識(shí)別的一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量的源信息。源發(fā)現(xiàn)消息可以包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。lhr可以配置為為一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起到至少一個(gè)源的至少一個(gè)源樹的建立。lhr可以配置為一旦建立至少一個(gè)源樹,就通過至少源樹為一個(gè)或多個(gè)多播組中的至少一個(gè)接收多播流量。在某些示例中,包括在源發(fā)現(xiàn)消息中的一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)與源發(fā)現(xiàn)加入消息中包括的一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
圖7是示出根據(jù)一個(gè)或多個(gè)本公開的技術(shù)的在源發(fā)現(xiàn)期間通過lhr的rp路由器的示例性操作的流程圖。圖7的示例性操作可以參考rp路由器22描述。當(dāng)用作rp時(shí),圖7的示例性操作可以參考路由器50描述。
rp路由器可以配置為接收包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志的源發(fā)現(xiàn)加入消息(110)。在一些示例中,一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以各自包括一個(gè)或多個(gè)比特。在一些示例中,一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣。在一些示例中,源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式。rp路由器可以配置為產(chǎn)生包括表明至少一個(gè)源是活躍地為一個(gè)或多個(gè)多播組提供流量的源信息的源發(fā)現(xiàn)消息,多播組在源發(fā)現(xiàn)加入信息中識(shí)別(112)。在一些示例中,源發(fā)現(xiàn)消息可以包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志。rp路由器可以配置為向最末跳路由器發(fā)送源發(fā)現(xiàn)消息(114)。
在一些示例中,源發(fā)現(xiàn)加入消息中對(duì)應(yīng)于一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的一個(gè)或多個(gè)比特是源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特。在一些示例中,源發(fā)現(xiàn)加入消息中的一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)可以表明,最末跳路由器對(duì)獲得與一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。源發(fā)現(xiàn)消息中包括的一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志可以與源發(fā)現(xiàn)加入消息中包括的一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
根據(jù)本公開,在上下文沒有表明其它內(nèi)容時(shí),術(shù)語“或”可以被解釋為“和/或”。此外,而短語,例如“一個(gè)或多個(gè)”或“至少一個(gè)”等可以已被用于本文披露的某些特征,而不是其它的特征;沒有使用這種語言的特征可以被解釋為具有這樣的含義,暗示上下文沒有表明其它的。
本公開描述的技術(shù)可以至少部分地實(shí)現(xiàn)在硬件、軟件、固件或任何上述組合中。例如,所描述的技術(shù)的各方面可以在一個(gè)或多個(gè)處理器中實(shí)現(xiàn),處理器包括一個(gè)或多個(gè)微處理器、數(shù)字信號(hào)處理器(dsp)、特別功能集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或其它等效集成或離散邏輯電路,以及這樣的器件的任意組合。術(shù)語“處理器”或“處理電路”通??梢詤⒖忌鲜鋈魏芜壿嬰娐?,單獨(dú)或與其它邏輯電路的組合,或任何其它等效電路。包括硬件的控制單元也可以執(zhí)行本公開的一種或更多種技術(shù)。作為另一個(gè)示例,本文所描述的任何網(wǎng)絡(luò)設(shè)備都可以配置為執(zhí)行本文所描述的任何功能。例如,lhr可以配置為執(zhí)行本文描述的任何lhr功能,并且rp路由器可以配置為執(zhí)行任何本文描述的rp功能。
這樣的硬件、軟件和固件可以實(shí)現(xiàn)在同一設(shè)備內(nèi)或在不同的設(shè)備,以支持本公開中所描述的各種操作和功能。此外,任何所描述的單元、模塊或組件可以一起或單獨(dú)作為獨(dú)立元件但協(xié)同操作的邏輯設(shè)備來實(shí)現(xiàn)。不同功能的模塊或單元的描述旨在突出不同的功能方面,并且不一定意味著這樣的模塊或單元必須通過獨(dú)立的硬件或軟件組件來實(shí)現(xiàn)。相反,與一個(gè)或多個(gè)模塊或單元相關(guān)聯(lián)的功能,可以通過單獨(dú)的硬件或軟件組件,或集成在共同或單獨(dú)的硬件或軟件中的組件執(zhí)行。
本公開中描述的技術(shù)也可以體現(xiàn)或編碼在計(jì)算機(jī)可讀介質(zhì)中,例如包括指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在計(jì)算機(jī)可讀介質(zhì)中內(nèi)嵌或編碼指令可以導(dǎo)致可編程處理器或其它處理器,來執(zhí)行方法,例如,當(dāng)執(zhí)行指令時(shí)。計(jì)算機(jī)可讀介質(zhì)可以包括非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和易失性通信介質(zhì)。有形的并且非易失性的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可以包括隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可編程只讀存儲(chǔ)器(prom)、可擦除可編程只讀存儲(chǔ)器(eprom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、閃存、硬盤、cd-rom、軟盤、磁帶、磁介質(zhì)、光介質(zhì)或其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。應(yīng)當(dāng)理解,術(shù)語“計(jì)算機(jī)可讀存儲(chǔ)媒體”指的是物理存儲(chǔ)介質(zhì),而不是信號(hào)、載波或其它易失性介質(zhì)。
除了或作為上述的一種替代,對(duì)下面的示例進(jìn)行說明。下面的任何示例中所描述的特征可以在本文所描述任何其它示例一起使用。
示例1:一種方法,包括:通過網(wǎng)絡(luò)中的最末跳路由器,接收對(duì)獲得對(duì)應(yīng)于一個(gè)或多個(gè)多播組的多播流量的請(qǐng)求;通過所述最末跳路由器產(chǎn)生源發(fā)現(xiàn)加入消息,所述源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志各自包括一個(gè)或多個(gè)比特,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣,并且其中,源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式;和通過所述最末跳路由器向所述網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器發(fā)送所述源發(fā)現(xiàn)加入消息。
示例2:根據(jù)示例1所述的方法,其中,對(duì)應(yīng)于所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的所述一個(gè)或多個(gè)比特是所述源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特。
示例3:根據(jù)示例1所述的方法,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。
示例4:根據(jù)示例1所述的方法,進(jìn)一步包括:通過所述最末跳路由器接收源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別,其中,所述源發(fā)現(xiàn)消息包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志;由所述最末跳路由器為所述一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起向所述至少一個(gè)源的至少一個(gè)源樹的建立;和一旦建立所述至少一個(gè)源樹,由所述最末跳路由器通過所述至少一個(gè)源樹,為所述一個(gè)或多個(gè)多播組中的至少一個(gè)接收所述多播流量。
示例5:根據(jù)示例4所述的方法,其中,所述源發(fā)現(xiàn)消息中包括的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)與所述源發(fā)現(xiàn)加入消息中包括的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
示例6:根據(jù)示例1所述的方法,進(jìn)一步包括:由所述rp路由器接收所述源發(fā)現(xiàn)加入消息;由所述rp路由器產(chǎn)生源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別;由所述rp路由器向所述最末跳路由器發(fā)送所述源發(fā)現(xiàn)消息;由所述最末跳路由器基于所述源發(fā)現(xiàn)消息,為所述一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起向所述至少一個(gè)源的至少一個(gè)源樹的建立;和一旦建立所述至少一個(gè)源樹,由所述最末跳路由器通過所述至少一個(gè)源樹,為所述一個(gè)或多個(gè)多播組中的至少一個(gè)接收所述多播流量。
示例7:在網(wǎng)絡(luò)中作為最末跳路由器(lhr)的網(wǎng)絡(luò)設(shè)備,所述lhr包括:存儲(chǔ)器;和一個(gè)或多個(gè)處理單元,配置為:接收獲取對(duì)應(yīng)于一個(gè)或多個(gè)多播組的多播流量的請(qǐng)求;將所述請(qǐng)求存儲(chǔ)在所述存儲(chǔ)器中;產(chǎn)生源發(fā)現(xiàn)加入消息,所述源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志各自包括一個(gè)或多個(gè)比特,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣,并且其中,所述源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式;并且向所述網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器發(fā)送所述源發(fā)現(xiàn)加入消息。
示例8:根據(jù)示例7所述的網(wǎng)絡(luò)設(shè)備,其中,對(duì)應(yīng)于所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的所述一個(gè)或多個(gè)比特是所述源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特。
示例9:根據(jù)示例7所述的網(wǎng)絡(luò)設(shè)備,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。
示例10:根據(jù)示例7所述的網(wǎng)絡(luò)設(shè)備,,其中,所述一個(gè)或多個(gè)處理單元被進(jìn)一步配置為:接收源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別,其中,所述源發(fā)現(xiàn)消息包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志;為所述一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起向所述至少一個(gè)源的至少一個(gè)源樹的建立;和一旦建立所述至少一個(gè)源樹,通過所述至少一個(gè)源樹,為所述一個(gè)或多個(gè)多播組中的至少一個(gè)接收所述多播流量。
示例11:根據(jù)示例10所述的網(wǎng)絡(luò)設(shè)備,其中,包括在所述源發(fā)現(xiàn)消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)與包括在所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
示例12:一種方法,包括:網(wǎng)絡(luò)中的通過匯聚點(diǎn)(rp)路由器接收源發(fā)現(xiàn)加入消息,所述源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志各自包括一個(gè)或多個(gè)比特,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣,并且其中,所述源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式;由所述rp路由器產(chǎn)生源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別,其中,所述源發(fā)現(xiàn)消息包括一個(gè)或多個(gè)發(fā)現(xiàn)標(biāo)志;由所述rp路由器產(chǎn)生源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別,其中,所述源發(fā)現(xiàn)消息包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志;以及,通過rp路由器向最末跳路由器發(fā)送源發(fā)現(xiàn)消息。
示例13:根據(jù)示例12所述的方法,其中,對(duì)應(yīng)于所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的所述一個(gè)或多個(gè)比特是所述源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特
示例14:根據(jù)示例12所述的方法,其中,所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。
示例15:根據(jù)示例12所述的方法,其中,包括在所述源發(fā)現(xiàn)消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)與包括在所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
示例16:根據(jù)示例12所述的方法,進(jìn)一步包括:由所述最末跳路由器接收所述源發(fā)現(xiàn)消息;由所述最末跳路由器為所述一個(gè)或多個(gè)多播組中的至少一個(gè)發(fā)起向所述至少一個(gè)源的至少一個(gè)源樹的建立;和一旦建立所述至少一個(gè)源樹,由所述最末跳路由器通過所述至少一個(gè)源樹,為所述一個(gè)或多個(gè)多播組中的至少一個(gè)接收所述多播流量。
示例17:作為網(wǎng)絡(luò)中的匯聚點(diǎn)(rp)路由器的網(wǎng)絡(luò)設(shè)備,所述rp路由器包括:存儲(chǔ)器;和一個(gè)或多個(gè)處理單元,配置為:接收源發(fā)現(xiàn)加入消息,所述源發(fā)現(xiàn)加入消息包括加入在源發(fā)現(xiàn)消息中識(shí)別的一個(gè)或多個(gè)多播組的請(qǐng)求和一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志各自包括一個(gè)或多個(gè)比特,其中,所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息感興趣,并且其中,所述源發(fā)現(xiàn)加入消息符合的消息格式包括pim加入消息格式;將所述源發(fā)現(xiàn)加入消息儲(chǔ)存在所述存儲(chǔ)器中;產(chǎn)生源發(fā)現(xiàn)消息,所述源發(fā)現(xiàn)消息包括源信息,所述源信息表明至少一個(gè)源活躍地為所述一個(gè)或多個(gè)多播組中的至少一個(gè)提供流量,所述多播組在所述源發(fā)現(xiàn)加入消息中被識(shí)別,其中,所述源發(fā)現(xiàn)消息包括一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志;并且向所述最末跳路由器發(fā)送所述源發(fā)現(xiàn)消息。
示例18:根據(jù)示例17所述的網(wǎng)絡(luò)設(shè)備,其中,對(duì)應(yīng)于所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的每一個(gè)的所述一個(gè)或多個(gè)比特是所述源發(fā)現(xiàn)加入消息符合的消息格式中的一個(gè)或多個(gè)預(yù)留比特。
示例19:根據(jù)示例17所述的網(wǎng)絡(luò)設(shè)備,其中,所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)表明所述最末跳路由器對(duì)獲得與所述一個(gè)或多個(gè)多播組中的至少一個(gè)相關(guān)的源信息的完整轉(zhuǎn)儲(chǔ)感興趣。
示例20:根據(jù)示例17所述的網(wǎng)絡(luò)設(shè)備,其中,包括在所述源發(fā)現(xiàn)消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)與包括在所述源發(fā)現(xiàn)加入消息中的所述一個(gè)或多個(gè)源發(fā)現(xiàn)標(biāo)志中的至少一個(gè)相同。
此外,上面描述的任意示例中詳細(xì)解釋的任何具體的特征可以結(jié)合到描述的技術(shù)的有益的示例。也就是,任何具體的特征整體上可應(yīng)用于所有本發(fā)明的示例。已經(jīng)描述了本發(fā)明的各種示例。