項(xiàng)的MTU值。當(dāng)然如若執(zhí)行到此時(shí),RouterB之前已學(xué)習(xí)記錄了對(duì)應(yīng)組播組地址224.6.7.8的兩個(gè)以上接口,則該建立的組播表項(xiàng)包含的出接口為該兩個(gè)以上接口,Router B可直接將該兩個(gè)以上接口支持的MTU值中取值最小的MTU值設(shè)置為該建立的組播表項(xiàng)的MTU值。
[0077]Router B將接口 B2支持的MTU值1350、組播組地址224.6.7.8攜帶在Packet TooBig Msg中發(fā)送給組播源(主機(jī)A)。
[0078]組播源(主機(jī)A)接收到Packet Too Big Msg,解析出Packet Too Big Msg攜帶的組播組地址224.6.7.8,發(fā)現(xiàn)本地已記錄組播組地址224.6.7.8對(duì)應(yīng)的MTU值1400,則比較本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1400與當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1350,發(fā)現(xiàn)前者大于后者,則將本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1400更新為當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1350,并按照MTU值1350重新將待發(fā)送至組播組地址224.6.7.8的組播數(shù)據(jù)報(bào)文進(jìn)行分片,此時(shí)分成的每一片組播數(shù)據(jù)報(bào)文的數(shù)據(jù)長(zhǎng)度就為1350。組播源(主機(jī)A)向組播組地址224.6.7.8發(fā)送分成的每一片組播數(shù)據(jù)報(bào)文。
[0079]Router A通過(guò)接口 A I接收長(zhǎng)度為1350的組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0080]Router A判斷本地存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則通過(guò)該存在的組播表項(xiàng)中的出接口(接口 A2)發(fā)送收到的組播數(shù)據(jù)報(bào)文;
[0081]Router B通過(guò)接口 B I接收長(zhǎng)度為1350的組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0082]Router B判斷本地存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則通過(guò)該存在的組播表項(xiàng)中的出接口(接口 B2)發(fā)送收到的組播數(shù)據(jù)報(bào)文;
[0083]Router C通過(guò)接口 C I接收長(zhǎng)度為1350組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0084]Router C判斷本地不存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則在本地建立組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),該建立的組播表項(xiàng)中至少包括:組播組地址224.6.7.8,出接口等;其中,出接口為本地之前已學(xué)習(xí)記錄的對(duì)應(yīng)組播組地址224.6.7.8的接口。如上所述,執(zhí)行到此時(shí),Router C之前已學(xué)習(xí)記錄了對(duì)應(yīng)組播組地址224.6.7.8的一個(gè)接口即接口 C2,則該建立的組播表項(xiàng)包含的出接口僅為接口 C2,RouterC可直接將接口 C2支持的MTU值1200設(shè)置為該建立的組播表項(xiàng)的MTU值。當(dāng)然如若執(zhí)行到此時(shí),RouterC之前已學(xué)習(xí)記錄了對(duì)應(yīng)組播組地址224.6.7.8的兩個(gè)以上接口,則該建立的組播表項(xiàng)包含的出接口為該兩個(gè)以上接口,RouterC可直接將該兩個(gè)以上接口支持的MTU值中取值最小的MTU值設(shè)置為該建立的組播表項(xiàng)的MTU值。
[0085]Router C將接口 C2支持的MTU值1200、組播組地址224.6.7.8攜帶在Packet TooBig Msg中發(fā)送給組播源(主機(jī)A)。
[0086]組播源(主機(jī)A)接收到Packet Too Big Msg,解析出Packet Too Big Msg攜帶的組播組地址224.6.7.8,發(fā)現(xiàn)本地已記錄組播組地址224.6.7.8對(duì)應(yīng)的MTU值1350,則比較本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1350與當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1200,發(fā)現(xiàn)前者大于后者,則將本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1350更新為當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1200,并按照MTU值1200重新將待發(fā)送至組播組地址224.6.7.8的組播數(shù)據(jù)報(bào)文進(jìn)行分片,此時(shí)分成的每一片組播數(shù)據(jù)報(bào)文的數(shù)據(jù)長(zhǎng)度就為1200。組播源(主機(jī)A)向組播組地址224.6.7.8發(fā)送分成的每一片組播數(shù)據(jù)報(bào)文。
[0087]Router A通過(guò)接口 A I接收長(zhǎng)度為1200的組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0088]Router A判斷本地存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則通過(guò)該存在的組播表項(xiàng)中的出接口(接口 A2)發(fā)送收到的組播數(shù)據(jù)報(bào)文;
[0089]Router B通過(guò)接口 B I接收長(zhǎng)度為1200的組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0090]Router B判斷本地存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則通過(guò)該存在的組播表項(xiàng)中的出接口(接口 B2)發(fā)送收到的組播數(shù)據(jù)報(bào)文;
[0091]Router C通過(guò)接口 C I接收長(zhǎng)度為1200的組播數(shù)據(jù)報(bào)文,解析出組播數(shù)據(jù)報(bào)文攜帶的組播組地址224.6.7.8 ;
[0092]Router C判斷本地存在組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則通過(guò)該存在的組播表項(xiàng)中的出接口(接口 C2)發(fā)送收到的組播數(shù)據(jù)報(bào)文;
[0093]目的端(主機(jī)C)最終接收到長(zhǎng)度為1200的組播數(shù)據(jù)報(bào)文。
[0094]之后,當(dāng)主機(jī)B加入組播組I時(shí),會(huì)發(fā)送組播加入報(bào)文;組播加入報(bào)文攜帶了組播組地址 224.6.7.8 ;
[0095]Router B通過(guò)接口 B3收到組播加入報(bào)文,基于上面描述,Router B會(huì)發(fā)現(xiàn)本地存在組播加入報(bào)文攜帶的組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),則將接收到組播加入報(bào)文的接口 B3添加至組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng),此時(shí)組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng)中出接口就有兩個(gè),分別為接口 B2、接口 B3,Router B判斷組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng)的MTU值(基于上面描述此時(shí)應(yīng)為1350)是否大于新添加的接口 B3支持的MTU值(不妨設(shè)1050),經(jīng)判斷發(fā)現(xiàn)組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng)的MTU值大于新添加的接口 B3支持的MTU值,則將組播組地址224.6.7.8對(duì)應(yīng)的組播表項(xiàng)的MTU值更新為新添加的接口 B3支持的MTU值(不妨設(shè)1050),并將接口 B3支持的MTU值1050、組播組地址224.6.7.8攜帶在Packet Too Big Msg中發(fā)送給組播源(主機(jī)A)。同時(shí),Router B繼續(xù)沿著組播組地址224.6.7.8對(duì)應(yīng)的組播樹(shù)繼續(xù)發(fā)送組播加入報(bào)文;而當(dāng)Router A、Router C收到組播加入報(bào)文時(shí),其會(huì)按照Router B的處理執(zhí)行,這里不再展開(kāi)描述。
[0096]當(dāng)組播源(主機(jī)A)接收到Router B發(fā)送的Packet Too Big Msg時(shí),解析出PacketToo Big Msg攜帶的組播組地址224.6.7.8,發(fā)現(xiàn)本地已記錄組播組地址224.6.7.8對(duì)應(yīng)的MTU值1200,則比較本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1200與當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1050,發(fā)現(xiàn)前者大于后者,則將本地記錄的組播組地址224.6.7.8對(duì)應(yīng)的MTU值1200更新為當(dāng)前接收的Packet Too Big Msg攜帶的MTU值1050。之后,再向組播組地址224.6.7.8發(fā)送組播數(shù)據(jù)報(bào)文時(shí)就按照新更新的MTU值1050進(jìn)行分片并發(fā)送。
[0097]至此,完成圖3所述的實(shí)施例描述。
[0098]以上對(duì)本發(fā)明提供的方法進(jìn)行了描述,下面對(duì)本發(fā)明提供的設(shè)備進(jìn)行描述:
[0099]參見(jiàn)圖4,圖4為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖。該設(shè)備應(yīng)用于路由轉(zhuǎn)發(fā)設(shè)備,如圖4所示,可包括以下單元:
[0100]接收單元,用于接收組播數(shù)據(jù)報(bào)文;
[0101]判斷單元,用于判斷本地是否存在與所述組播數(shù)據(jù)報(bào)文攜帶的組播組地址對(duì)應(yīng)的組播表項(xiàng),
[0102]處理單元,用于在所述判斷單元的判斷結(jié)果為是時(shí),依據(jù)本地存在的與所述組播組地址對(duì)應(yīng)的組播表項(xiàng)中的出接口轉(zhuǎn)發(fā)所述組播數(shù)據(jù)報(bào)文;以及,
[0103]在所述判斷單元的判斷結(jié)果為否時(shí),丟棄所述組播數(shù)據(jù)報(bào)文,在本地建立與所述組播組地址對(duì)應(yīng)的組播表項(xiàng),將本地已記錄的對(duì)應(yīng)所述組播組地址的接口作為出接口添加至該建立的組播表項(xiàng),在添加的出接口個(gè)數(shù)等于I時(shí),將該添加的出接口支持的最大傳輸單元MTU值、以及所述組播組地址攜帶在設(shè)定的通知報(bào)文中發(fā)送給所述組播組地址對(duì)應(yīng)的組播源,在添加的出接口個(gè)數(shù)大于I時(shí),將該添加的各個(gè)出接口支持的MTU值中取值最小的MTU值、以及所述組播組地址攜帶在設(shè)定的通知報(bào)文中發(fā)送給所述組播組地址對(duì)應(yīng)的組播源。
[0104]優(yōu)選地,所述接收單元進(jìn)一步接收組播加入報(bào)文;基于此,當(dāng)所述接收單元接收到組播加入報(bào)文時(shí),所述判斷單元進(jìn)一步判斷本地是否存在與所述組播加入報(bào)文攜帶的所述組播組地址對(duì)應(yīng)的組播表項(xiàng);
[0105]所述處理單元進(jìn)一步在所述判斷單元判斷出本地不存在與所述組播加入報(bào)文攜帶的所述組播組地址對(duì)應(yīng)的組播表項(xiàng)時(shí),將接收到組播加入報(bào)文的接口作為與所述組播加入報(bào)文攜帶的組播組地址對(duì)應(yīng)的接口并記錄,以及,在所述判斷單元判斷出本地存在與所述組播加入報(bào)文攜帶的所述組播組地址對(duì)應(yīng)的組播表項(xiàng)時(shí),將接收到組播加入報(bào)文的接口作為出接口添加至本地存在的與所述組播加入報(bào)文攜帶的組播組地址對(duì)應(yīng)的組播表項(xiàng)中。
[0106]優(yōu)選地,所述處理單元將本地已記錄的對(duì)應(yīng)所述組播組地址的接口作為出接口添加至該建立的組播表項(xiàng)進(jìn)一步包括:為該建立的組播表項(xiàng)設(shè)置MTU值,其中,當(dāng)添加的出接口個(gè)數(shù)等于I時(shí),設(shè)置該建立的組播表項(xiàng)的MTU值為該添加的出接口支持的MTU值,當(dāng)添加的出接口個(gè)數(shù)大于I時(shí),設(shè)置該建立的組播表項(xiàng)的MTU值為該添加的各個(gè)出接口支持的MTU值中取值最小的MTU值。
[0107]以及,所述處理單元將接收到組播加入報(bào)文的接口作為出接口添加至本地存在的與所述組播加入報(bào)文攜帶的組播組地址對(duì)應(yīng)的組播表項(xiàng)中進(jìn)一步包括:比較接收到組播加入報(bào)文的接口所支持的MTU值與本地存在的與所述組播加入報(bào)文攜帶的組播組地址對(duì)應(yīng)的組播表項(xiàng)的MTU值,如果