武忠 于紅增
(1 中國(guó)民用航空三亞空中交通管理站 海南 三亞 572000)
(2 中國(guó)電子科技集團(tuán)公司第五十四研究所河北 石家莊 050081)
IP組播技術(shù)實(shí)現(xiàn)了IP網(wǎng)絡(luò)中點(diǎn)到多點(diǎn)的高效數(shù)據(jù)傳送,能夠有效地節(jié)約網(wǎng)絡(luò)帶寬和降低網(wǎng)絡(luò)負(fù)載,在諸多方面都有廣泛的應(yīng)用[1]。根據(jù)IP組播中源和目的的不同,可以分為3種模型:任意源組播(ASM)、源過(guò)濾組播(SFM)和指定源組播(SSM)[2]。協(xié)議獨(dú)立組播-稀疏模式(Protocol Independent M ulticast Sparse Mode)默認(rèn)所有主機(jī)都不需要接收組播包,只向明確需要組播包的主機(jī)轉(zhuǎn)發(fā),支持以上3種組播模型,所支持的SSM稱為PIM-SSM。
經(jīng)過(guò)廣域網(wǎng)互聯(lián)的2個(gè)網(wǎng)絡(luò)之間傳輸指定源組播數(shù)據(jù),如果組播源地址相同,按照PIM-SSM的傳播模型,同一發(fā)送者到同一接收者的不同組播組信息必然經(jīng)過(guò)同樣的路徑傳輸。某些情形下需要將這些信息經(jīng)過(guò)不同的廣域網(wǎng)路徑傳輸,對(duì)組播分流的機(jī)理和效果進(jìn)行分析和驗(yàn)證就很必要。
單播報(bào)文的轉(zhuǎn)發(fā)過(guò)程中,路由器只關(guān)心報(bào)文中的目的地址,通過(guò)目的地址決定向哪個(gè)接口轉(zhuǎn)發(fā)。在組播中,報(bào)文是發(fā)送給一組接收者的,這些接收者用一個(gè)邏輯地址標(biāo)識(shí)。路由器在接收到報(bào)文后,必須根據(jù)源和目的地址確定出上游(指向組播源)和下游方向,把報(bào)文沿著遠(yuǎn)離組播源的方向進(jìn)行轉(zhuǎn)發(fā),這個(gè)過(guò)程稱作逆向路徑轉(zhuǎn)發(fā)[3]。
PIM-SSM屬于稀疏模式的組播路由協(xié)議,不依賴于具體的單播路由協(xié)議,只要求組播接收者到組播源的單播路由可達(dá),這些單播路由協(xié)議可以是靜態(tài)路由協(xié)議、R IP、OSPF、BGP和 IS-IS 等[4]。
組播路由表又稱為組播分發(fā)樹(shù),用來(lái)描述IP組播報(bào)文在網(wǎng)絡(luò)中經(jīng)過(guò)的路徑。組播路由項(xiàng)包含3個(gè)要素:(S,G)、iif和oiflist,其中S為源地址,G為組地址,iif為入接口,oiflist為出接口列表。組播分發(fā)樹(shù)的2個(gè)基本類型:源路徑樹(shù)和共享樹(shù)。
源路徑樹(shù)是指以組播源作為樹(shù)根,將組播源到每一個(gè)接收者的最短路徑結(jié)合起來(lái)構(gòu)成的轉(zhuǎn)發(fā)樹(shù)。由于源路徑樹(shù)使用的是從組播源到接收者的最短路徑,因此也稱為最短路徑樹(shù)(shortestpath tree,SPT)。對(duì)于某個(gè)組,網(wǎng)絡(luò)要為任何一個(gè)向該組發(fā)送報(bào)文的組播源建立一棵樹(shù),源路徑樹(shù)示意圖如圖1所示。
圖1 源路徑樹(shù)示意圖
共享樹(shù)以某個(gè)路由器作為路由樹(shù)的樹(shù)根,該路由器稱為匯集點(diǎn)(RendezvousPoint,RP),將RP到所有接收者的最短路徑結(jié)合起來(lái)構(gòu)成轉(zhuǎn)發(fā)樹(shù)。使用共享樹(shù)時(shí),對(duì)應(yīng)某個(gè)組,網(wǎng)絡(luò)中只有一棵樹(shù),所有的組播源和接收者都使用這棵樹(shù)來(lái)收發(fā)報(bào)文,組播源先向樹(shù)根發(fā)送數(shù)據(jù)報(bào)文,之后報(bào)文又向下轉(zhuǎn)發(fā)到達(dá)所有的接收者,如圖2所示。
PIM-SSM是PIM-SM支持的指定源組播,直接反向構(gòu)建從組播接收者到組播源的源路徑樹(shù)(最短路徑樹(shù)SPT),為每一個(gè)組播源與接收者之間建立一棵獨(dú)立的SPT[5]。
圖2 共享樹(shù)示意圖
路由器收到組播數(shù)據(jù)報(bào)文后,只有確認(rèn)這個(gè)數(shù)據(jù)報(bào)文是從自己到組播源的出接口上到來(lái)的,才進(jìn)行轉(zhuǎn)發(fā),否則丟棄報(bào)文。
RPF執(zhí)行過(guò)程中會(huì)用到原有的單播路由表以確定上游和下游的鄰接結(jié)點(diǎn)。只有當(dāng)報(bào)文是從上游鄰接結(jié)點(diǎn)對(duì)應(yīng)的接口(稱作RPF接口)到達(dá)時(shí),才向下游轉(zhuǎn)發(fā)。RPF的作用除了可以正確地按照組播路由的配置轉(zhuǎn)發(fā)報(bào)文外,還能避免由于各種原因造成的環(huán)路,環(huán)路避免在組播路由中是一個(gè)非常重要的問(wèn)題。RPF的主體是RPF檢查,路由器收到組播報(bào)文后,先對(duì)報(bào)文進(jìn)行RPF檢查,只有檢查通過(guò)才轉(zhuǎn)發(fā),否則丟棄。
RPF檢查過(guò)程如下:①路由器在單播路由表中查找組播源或RP對(duì)應(yīng)的RPF接口(當(dāng)使用信源樹(shù)時(shí),查找組播源對(duì)應(yīng)的RPF接口,使用共享樹(shù)時(shí)查找RP對(duì)應(yīng)的RPF接口),某個(gè)地址對(duì)應(yīng)的RPF接口是指從路由器向該地址發(fā)送報(bào)文時(shí)的出接口;②如果組播報(bào)文是從RPF接口接收下來(lái)的,則RPF檢查通過(guò),報(bào)文向下游接口轉(zhuǎn)發(fā);③否則,丟棄該報(bào)文。
經(jīng)過(guò)廣域網(wǎng)互聯(lián)的2個(gè)網(wǎng)絡(luò)A和B之間傳輸指定源組播數(shù)據(jù)(S,G1)和(S,G2),由于組播源地址相同,按照PIM-SSM的傳播模型,同一發(fā)送者到同一接收者的不同組播組信息必然經(jīng)過(guò)同樣的路徑傳輸,如圖3所示。在具備等價(jià)路由的條件下,雖然負(fù)載分擔(dān)算法可以將不同流量分布到不同的鏈路上,但傳播路徑是自動(dòng)選擇的,不可控。在某專用通信網(wǎng)中受廣域信道限制,需要將這些信息手工指定到不同的廣域網(wǎng)路徑傳輸,以實(shí)現(xiàn)不同的安全策略和負(fù)載分擔(dān)。網(wǎng)絡(luò)B中接收者R是2個(gè)組播組(S,G1)和(S,G2)成員,源S位于網(wǎng)絡(luò)A中,在路由器E上到達(dá)網(wǎng)絡(luò)A的首選路由為S2端口連接鏈路,備用路由為P3端口連接鏈路,默認(rèn)情況下,2個(gè)組播組(S,G1)和(S,G2)的流量沿著路由器A--路由器B--路由器C--路由器E--路由器F的路由傳遞。
圖3 組播分流合流示意圖
由于組播信息是沿著從組播接收者到組播源的單播路徑相反的方向傳遞的,因此,組播分流點(diǎn)、合流點(diǎn)與網(wǎng)絡(luò)拓?fù)渲袉尾ヂ酚傻姆至鼽c(diǎn)和合流點(diǎn)是一致的。
根據(jù)組播流驗(yàn)證規(guī)則(進(jìn)行RPF)和轉(zhuǎn)發(fā)規(guī)則(依據(jù)組播路由表),為了將組播組(S,G1)的流量經(jīng)路由器D所在鏈路pull到路由器E上,要在連接路由器E端口S3的上游端口處(這里為路由器D的端口S3)聲明靜態(tài)加入組播組(S,G1),這樣在路由器B上組播路由表中(S,G1)將有2個(gè)下游接口S2和S3。
路由器D的端口S3上靜態(tài)加入組播組(S,G1)后,接收者R加入組播組(S,G1)的信息還會(huì)經(jīng)PIM-SM協(xié)議經(jīng)路由器E的端口S2擴(kuò)散給路由器C和路由器B,在路由器B上S2端口經(jīng)路由器C到路由器E的鏈路上還會(huì)存在組播組 (S,G1)的流量,這部分流量造成資源的浪費(fèi),必須采取一定的措施(如基于源組播過(guò)濾的PIM策略,或普通流策略)對(duì)其進(jìn)行過(guò)濾[6]。
路由器E從端口S3收到組播組(S,G1)信息由于從不能通過(guò)RPF檢查,將被直接丟棄。網(wǎng)絡(luò)的目標(biāo)是將這些流量向S1方向正常送出,這就需要采取流策略重定向(S,G1)的流量到P1端口,而流策略優(yōu)先于RPF起作用,RPF檢查未起作用。
采取以上措施之后,從組播源S到接收者R的各個(gè)路由器上都有了正確的組播路由表,如表1所示,可以看到組播在路由器B上將被正確的分流,而從接收者R看來(lái),依然正確收到了(S,G1)和(S,G2)的組播數(shù)據(jù),這些改變對(duì)它來(lái)說(shuō)是透明的,沒(méi)有察覺(jué)的。
表1 路由器B的組播路由信息
同源同宿SSM組播的路由控制是組播路由控制的特殊情形,需要采用一系列技術(shù)組合才能實(shí)現(xiàn),借助于提出的技術(shù)已經(jīng)在某專有通信網(wǎng)絡(luò)中獲得了良好的應(yīng)用效果,充分利用了線路資源,更好地保護(hù)了用戶的數(shù)據(jù)安全,也提高了系統(tǒng)服務(wù)質(zhì)量。
根據(jù)用戶網(wǎng)絡(luò)的客觀條件,將用戶特殊需求分解為一系列子需求并采用適當(dāng)?shù)募夹g(shù)去實(shí)現(xiàn),不關(guān)注于個(gè)別技術(shù)是否最優(yōu),而關(guān)注于系統(tǒng)整體的效果,以最終達(dá)成用戶的目標(biāo),在為用戶排憂解難的過(guò)程中,也提高了綜合應(yīng)用水平,解決問(wèn)題的過(guò)程也體現(xiàn)了技術(shù)之美。
[1](美)科默.用TCP/IP進(jìn)行網(wǎng)際互連[M].北京:電子工業(yè)出版社,1998.
[2]杭州華三通信技術(shù)有限公司.路由交換技術(shù)(第3卷)[M].北京:清華大學(xué)出版社,2012.
[3]譚云蘭.Internet的組播與組播路由實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2001(3):72-75,
[4]朱華虹,閔 銳.大型IP網(wǎng)絡(luò)中組播部署方案研究[J].電信科學(xué),2005(11):14-17.
[5]徐 俊,陳雪軍,等.航天測(cè)控通信IP網(wǎng)中可控組播的實(shí)現(xiàn)[J].遙測(cè)遙控,2012(4):61-63,68.
[6]邱 劍,劉莉麗.組播路由協(xié)議對(duì)網(wǎng)絡(luò)性能的影響[J].信息技術(shù),2006(6):84-86,91.