CN105099937A - 一种pmtu的确定方法和设备 - Google Patents
一种pmtu的确定方法和设备 Download PDFInfo
- Publication number
- CN105099937A CN105099937A CN201510336841.4A CN201510336841A CN105099937A CN 105099937 A CN105099937 A CN 105099937A CN 201510336841 A CN201510336841 A CN 201510336841A CN 105099937 A CN105099937 A CN 105099937A
- Authority
- CN
- China
- Prior art keywords
- mtu
- list item
- message
- multicast
- forwarding list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种PMTU的确定方法和设备,该方法包括:组播接收者侧的DR设备利用MLD报文的接收接口的MTU、组播转发表项中维护的MTU,确定待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、组播转发表项中维护的MTU,确定待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;RP设备利用收到的加入报文中携带的MTU、加入报文的接收接口的MTU、组播转发表项中维护的MTU,确定待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,组播源在收到ICMP差错报文后,利用ICMP差错报文中的MTU确定PMTU。本发明实施例中,节约带宽资源,减少反复PMTU探测,加快PMTU的获取时间。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种PMTU的确定方法和设备。
背景技术
在IPv6协议栈中规定数据报文的分片和重组,当数据报文的长度大于链路的MTU(MaximumTransmissionUnit,最大传输单元)时,数据报文的分片将在源端设备进行,从而减轻中间转发设备的处理压力,合理利用网络资源。为了发现PMTU(PathMTU,路径MTU),需要找到源端设备到目的端设备路径上最小的MTU,其工作过程包括:源端设备按照自身的MTU对数据报文进行分片,并向目的端设备发送数据报文。中间转发设备在收到该数据报文时,如果发现该数据报文的接口支持的MTU值小于数据报文的长度,则丢弃数据报文,并向源端设备返回ICMPv6(InternetControlManagementProtocolVersion6,互联网控制信息协议版本六)差错报文,其中包含转发失败接口的MTU。源端设备在接收到该ICMPv6差错报文后,将按照ICMPv6差错报文中所携带的MTU重新对数据报文进行分片并发送。如此反复,直到目的端设备收到数据报文,从而确定数据报文从源端设备到目的端设备的路径中的最小MTU。
在上述实现方式中,如果源端设备与目的端设备之间的中间转发设备的数量很多,并且各中间转发设备的接口的MTU不同,则会导致在整个PMTU的发现过程中,各中间转发设备可能会多次发送ICMPv6差错报文,并导致确认PMTU的时间较长,较多的数据报文被丢弃,从而造成带宽资源的浪费。
发明内容
本发明实施例提供一种路径最大传输单元PMTU的确定方法,该方法包括:路由设备确定所述路由设备的设备角色;
当所述设备角色为组播接收者侧的指定路由器DR设备时,所述DR设备利用来自组播接收者的组播侦听发现MLD报文的接收接口的最大传输单元MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述DR设备与汇聚点RP设备之间的中间转发设备时,所述中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为RP设备时,所述RP设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由所述组播源在收到ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
所述DR设备利用来自组播接收者的MLD报文的接收接口的MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述DR设备在接收到来自组播接收者的MLD报文后,当不存在所述组播接收者对应的组播转发表项时,则建立所述组播接收者对应的组播转发表项,确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并在所述组播转发表项中记录所述MLD报文的接收接口的MTU;
当存在所述组播接收者对应的组播转发表项时,如果所述MLD报文的接收接口的MTU小于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并将所述组播转发表项中维护的MTU更新为所述MLD报文的接收接口的MTU;如果所述MLD报文的接收接口的MTU大于等于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述组播转发表项中维护的MTU。
所述中间转发设备或者所述RP设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述中间转发设备或者所述RP设备在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;
当存在所述加入报文对应的组播转发表项时,则所述中间转发设备或者所述RP设备从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
所述方法进一步包括:
RP发起最短路径树SPT切换;
当所述设备角色为RP设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与RP设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
所述方法进一步包括:
当接收者侧DR发起最短路径树SPT切换;
当所述设备角色为组播接收者侧的DR设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧的DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧的DR设备在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;
当存在所述加入报文对应的组播转发表项时,则所述中间转发设备或者所述DR设备从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
本发明实施例提供一种路由设备,所述路由设备具体包括:
确定模块,用于确定所述路由设备的设备角色;
处理模块,用于当所述设备角色为组播接收者侧的指定路由器DR设备时,利用来自组播接收者的组播侦听发现MLD报文的接收接口的最大传输单元MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述DR设备与汇聚点RP设备之间的中间转发设备时,利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为RP设备时,利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由所述组播源在收到ICMP差错报文后,利用所述ICMP差错报文中的MTU确定路径最大传输单元PMTU。
所述处理模块,具体用于当所述设备角色为组播接收者侧的DR设备时,在接收到来自组播接收者的MLD报文后,当不存在所述组播接收者对应的组播转发表项时,则建立所述组播接收者对应的组播转发表项,确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并在所述组播转发表项中记录所述MLD报文的接收接口的MTU;当存在所述组播接收者对应的组播转发表项时,如果所述MLD报文的接收接口的MTU小于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并将所述组播转发表项中维护的MTU更新为所述MLD报文的接收接口的MTU;如果所述MLD报文的接收接口的MTU大于等于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述组播转发表项中维护的MTU。
所述处理模块,具体用于当所述设备角色为所述DR设备与RP设备之间的中间转发设备或者RP设备时,在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
当RP发起最短路径树SPT切换时,所述处理模块,进一步用于:当所述设备角色为所述RP设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为所述组播源侧的DR设备与所述RP设备之间的中间转发设备,则利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述组播源侧的DR设备时,则利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,则利用所述ICMP差错报文中的MTU确定PMTU。
当接收者侧DR发起最短路径树SPT切换时,所述处理模块,进一步用于:
当所述设备角色为组播接收者侧的DR设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
SPT切换时,所述处理模块,具体用于当所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的设备角色为所述中间转发设备或者所述组播源侧的DR设备时,则在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
基于上述技术方案,本发明实施例中,借助PIMSM(ProtocolIndependentMulticast-SparseMode,协议无关组播-稀疏模式)路由协议或PIM-SSM(ProtocolIndependentMulticastSource-SpecificMulticast,协议无关组播-指定源组播)路由协议,通过在加入报文中携带MTU,以通过控制平面实现源端设备(组播源)和目的端设备(组播接收者)的PMTU发现机制,即使源端设备与目的端设备间的中间转发设备数量很多,各中间转发设备的接口MTU不同,也不会导致确认PMTU的时间较长,避免数据报文被丢弃,节约带宽资源,使得组播源快速知道整个组播路径或部分路径的MTU,减少反复PMTU探测,加快PMTU的获取时间。
附图说明
图1是本发明实施例的应用场景示意图;
图2是本发明实施例提供的一种PMTU的确定方法流程示意图;
图3是本发明实施例提供的一种路由设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种PMTU的确定方法,该方法可以应用于PIMSM网络、或PIM-SSM网络中,可以借助PIMSM路由协议、或PIM-SSM路由协议等,通过控制平面实现组播源和组播接收者之间的PMTU的发现机制。为了方便描述,以图1所示的PIM-SM典型场景为本发明实施例的应用场景示意图。
如图1所示的应用场景,R4为RP设备,组播源S1对应于组播组G1,组播源S2对应于组播组G2,Receiver1、Receiver2、Receiver3、Recever4是组播组G1的组播接收者。
在上述应用场景下,如图2所示,PMTU的确定方法具体包括以下步骤:
步骤201,路由设备确定本路由设备的设备角色。
本发明实施例中,路由设备的设备角色具体可以包括但不限于组播接收者侧的DR(DesignatedRouter,指定路由器)设备、组播接收者侧的DR设备与RP(RendezvousPoint,汇聚点)设备之间的中间转发设备、RP设备、组播源侧的DR设备与RP设备之间的中间转发设备、组播源侧的DR设备、组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备。
当设备角色为组播接收者侧的DR设备时,则执行步骤202。当设备角色为组播接收者侧的DR设备与RP设备之间的中间转发设备时,则执行步骤203。当设备角色为RP设备时,则执行步骤204。
步骤202,组播接收者侧的DR设备利用来自组播接收者的MLD(MulticastListenerDiscovery,组播侦听发现)报文的接收接口的MTU、该组播接收者对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU,并向上游设备(即本组播接收者侧的DR设备与RP设备间的中间转发设备或者RP设备)发送将该待通知MTU作为携带MTU的加入报文。此处的上游,是按照加入报文传输的方向来定义的,即发送加入报文的为下游设备,接收加入报文的设备为上游设备。
本发明实施例中,组播接收者侧的DR设备利用来自组播接收者的MLD报文的接收接口的MTU、该组播接收者对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU的过程,具体包括但不限于:组播接收者侧的DR设备在接收到来自组播接收者的MLD报文后,当不存在该组播接收者对应的组播转发表项时,则建立该组播接收者对应的组播转发表项,并确定该组播转发表项的待通知MTU为该MLD报文的接收接口的MTU,并在该组播转发表项中记录该MLD报文的接收接口的MTU;当存在该组播接收者对应的组播转发表项时,如果该MLD报文的接收接口的MTU小于该组播转发表项中维护的MTU,则确定该组播转发表项的待通知MTU为该MLD报文的接收接口的MTU,并将该组播转发表项中维护的MTU更新为该MLD报文的接收接口的MTU;如果该MLD报文的接收接口的MTU大于等于该组播转发表项中维护的MTU,则确定该组播转发表项的待通知MTU为该组播转发表项中维护的MTU,即该组播转发表项的待通知MTU保持不变。
如图1所示,R9在接收到来自Receiver2的MLD报文1后,发现Receiver2是组播组G1的组播接收者,由于当前不存在该组播组G1的组播转发表项,因此,R9建立组播组G1的组播转发表项,并确定该组播组G1的组播转发表项的待通知MTU为该MLD报文1的接收接口的MTU,并在该组播组G1的组播转发表项中记录该MLD报文1的接收接口的MTU,并向RP设备方向发送针对组播组G1的加入报文,即R9向R7发送加入报文,且该加入报文中携带组播组G1的组播转发表项中记录的待通知MTU。
R9在接收到来自Receiver3的MLD报文2后,发现Receiver3是组播组G1的组播接收者,由于当前存在组播组G1的组播转发表项,因此,如果MLD报文2的接收接口的MTU小于组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为该MLD报文2的接收接口的MTU,并将该组播组G1的组播转发表项中维护的MTU更新为该MLD报文2的接收接口的MTU;如果该MLD报文2的接收接口的MTU大于等于该组播组G1的组播转发表项中维护的MTU,则确定该组播组G1的组播转发表项的待通知MTU为该组播转发表项中维护的MTU。之后,R9向RP设备方向发送针对组播组G1的加入报文,即向R7发送加入报文,该加入报文中携带组播组G1的组播转发表项中记录的待通知MTU。
本发明实施例中,组播接收者侧DR设备通过不同的接口收到同网段或不同网段的另一个MLD报文时,均按照步骤202的方式,确定该组播转发表项的待通知MTU,这样可以防止现有技术中,组播接收者侧DR设备通过不同的接口收到同网段的另一个MLD报文,会抑制依据前一个MLD报文生成并发送加入报文,从而导致MTU无法通知到上游路由设备。
步骤203,中间转发设备(即组播接收者侧的DR设备与RP设备之间的一个或多个中间转发设备)利用收到的加入报文携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定组播转发表项的待通知MTU,并向上游设备(上游中间设备或者RP设备)发送将该待通知MTU作为携带MTU的加入报文。
本发明实施例中,中间转发设备利用收到的加入报文中携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU的过程,具体可以包括但不限于如下方式:中间转发设备在接收到加入报文之后,当不存在该加入报文对应的组播转发表项时,则中间转发设备建立该加入报文对应的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定该组播转发表项的待通知MTU为该最小的MTU,并在该组播转发表项中记录该最小的MTU。当存在该加入报文对应的组播转发表项时,则中间转发设备从该加入报文中携带的MTU、该加入报文的接收接口的MTU、该组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为该组播转发表项中维护的MTU,则中间转发设备确定该组播转发表项的待通知MTU为该最小的MTU;如果该最小的MTU不是该组播转发表项中维护的MTU,则中间转发设备确定该组播转发表项的待通知MTU为最小的MTU,并将组播转发表项中维护的MTU更新为最小的MTU。
本发明实施例中,中间转发设备周期性的利用组播转发表项中记录的待通知MTU生成加入报文,并周期性的向RP设备发送该加入报文;或者,在组播转发表项中记录的待通知MTU发生变化时,中间转发设备利用该组播转发表项中记录的待通知MTU生成加入报文,并向上游的中间设备或RP发送该加入报文。
如图1所示,R7在接收到来自R9的针对组播组G1的加入报文1后,假设当前不存在该组播组G1的组播转发表项,则R7建立组播组G1的组播转发表项,并从加入报文1中携带的MTU以及该加入报文1的接收接口的MTU中选取出最小的MTU,并确定组播组G1的组播转发表项的待通知MTU为该最小的MTU,并在该组播组G1的组播转发表项中记录该最小的MTU,并向RP设备方向发送针对组播组G1的加入报文,即R7向R4发送加入报文,且该加入报文中携带组播组G1的组播转发表项中记录的待通知MTU。
R7在接收到来自R10的针对组播组G1的加入报文2后,由于当前存在组播组G1的组播转发表项,因此R7从该加入报文2中携带的MTU、该加入报文2的接收接口的MTU、该组播组G1的组播转发表项中维护的MTU中选取出最小的MTU。如果该最小的MTU为该组播组G1的组播转发表项中维护的MTU,则R7确定该组播组G1的组播转发表项的待通知MTU为该最小的MTU。如果该最小的MTU不是该组播组G1的组播转发表项中维护的MTU,则R7确定该组播组G1的组播转发表项的待通知MTU为最小的MTU,将组播组G1的组播转发表项中维护的MTU更新为最小的MTU。进一步的,R7向RP设备方向发送针对组播组G1的加入报文,即R7向R4发送加入报文,且该加入报文中携带组播组G1的组播转发表项中记录的待通知MTU。
本发明实施例中,中间转发设备通过不同的接口收到同网段或不同网段的另一个加入报文时,均按照步骤203的方式,确定该组播转发表项的待通知MTU,这样可以防止现有技术中,中间转发设备通过不同的接口收到同网段的另一个加入报文,会抑制依据前一个加入报文生成并发送向上游设备的加入报文,从而导致MTU无法通知到上游路由设备。
步骤204,RP设备利用收到的加入报文中携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由组播源收到ICMP差错报文后,利用ICMP差错报文中的MTU确定PMTU。
本发明实施例中,ICMP差错报文具体包括但不限于ICMPv6差错报文,且ICMPv6差错报文具体包括但不限于IPv6ICMPtoobig(太大)报文。
本发明实施例中,RP设备利用收到的加入报文中携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU的过程,具体可以包括但不限于如下方式:RP设备在接收到加入报文之后,当不存在该加入报文对应的组播转发表项时,则建立该加入报文对应的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定该组播转发表项的待通知MTU为该最小的MTU,并在该组播转发表项中记录该最小的MTU。当存在该加入报文对应的组播转发表项时,则RP设备从该加入报文中携带的MTU、该加入报文的接收接口的MTU、该组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为该组播转发表项中维护的MTU,则确定该组播转发表项的待通知MTU为最小的MTU;如果最小的MTU不是该组播转发表项中维护的MTU,则确定组播转发表项的待通知MTU为最小的MTU,并将组播转发表项中维护的MTU更新为最小的MTU。
本发明实施例中,RP设备周期性的利用组播转发表项中记录的待通知MTU生成ICMP差错报文,并周期性的向组播源发送该ICMP差错报文;或者,在组播转发表项中记录的待通知MTU发生变化时,RP设备利用该组播转发表项中记录的待通知MTU生成ICMP差错报文,并向组播源发送该ICMP差错报文。
如图1所示,R4在接收到来自R7的针对组播组G1的加入报文3后,假设当前不存在该组播组G1的组播转发表项,则R4建立组播组G1的组播转发表项,并从加入报文3中携带的MTU以及该加入报文3的接收接口的MTU中选取出最小的MTU,并确定组播组G1的组播转发表项的待通知MTU为该最小的MTU,并在该组播组G1的组播转发表项中记录该最小的MTU,并向组播源发送针对组播组G1的ICMP差错报文,即R4向组播源发送ICMP差错报文,且该ICMP差错报文中携带组播组G1的组播转发表项中记录的待通知MTU。对于当前存在组播组G1的组播转发表项确定待通知MTU的处理,如中间设备的处理方式,在此不再赘述。
本发明实施例中,RP设备通过不同的接口收到同网段或不同网段的另一个加入报文时,均按照步骤204的方式。
本发明实施例中,一种情况是RP发起SPT切换,另一种情况是组播接收者侧的DR设备发起SPT切换。
当RP发起SPT(ShortestPathTree,最短路径树)切换时,则RP设备在加入报文中添加该加入报文对应的组播转发表项中维护的MTU,并向上游设备,即组播源侧的DR设备方向,发送携带了该组播转发表项中维护的MTU的加入报文。基于此,当设备角色为组播源侧的DR设备与RP设备之间的中间转发设备时,该中间转发设备利用收到的加入报文携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文。进一步的,当设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由组播源在收到该ICMP差错报文后,利用该ICMP差错报文中的MTU确定PMTU。
当组播接收者侧DR发起SPT切换时,则组播接收者侧的DR设备在加入报文中添加该加入报文对应的组播转发表项中维护的MTU,并向上游设备,即组播源侧的DR设备,发送携带了该组播转发表项中维护的MTU的加入报文。基于此,当设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,该中间转发设备利用收到的加入报文携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU,并向组播源侧的DR设备发送携带该待通知MTU的加入报文。进一步的,当设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU,并向组播源发送携带该待通知MTU的ICMP差错报文,由组播源在收到该ICMP差错报文后,利用该ICMP差错报文中的MTU确定PMTU。
本发明实施例中,SPT切换时,中间转发设备(即组播源侧的DR设备与RP设备之间的中间转发设备或者组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备)或者组播源侧的DR设备利用收到的加入报文中携带的MTU、该加入报文的接收接口的MTU、该加入报文对应的组播转发表项中维护的MTU,确定该组播转发表项的待通知MTU的过程,具体可以包括但不限于如下方式:中间转发设备或者DR设备在接收到加入报文之后,当不存在该加入报文对应的组播转发表项时,则建立该加入报文对应的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定该组播转发表项的待通知MTU为该最小的MTU,并在该组播转发表项中记录该最小的MTU。当存在该加入报文对应的组播转发表项时,则中间转发设备或者组播源侧的DR设备从该加入报文中携带的MTU、该加入报文的接收接口的MTU、该组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为该组播转发表项中维护的MTU,则确定该组播转发表项的待通知MTU为该最小的MTU;如果该最小的MTU不是该组播转发表项中维护的MTU,则确定该组播转发表项的待通知MTU为最小的MTU,并将组播转发表项中维护的MTU更新为该最小的MTU。
其中,当SPT切换时,中间转发设备(组播源侧的DR设备与RP设备之间的中间转发设备或者组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备)周期性的利用组播转发表项中记录的待通知MTU生成加入报文,并周期性的向组播源侧的DR设备发送该加入报文;或者,在组播转发表项中记录的待通知MTU发生变化时,中间转发设备利用该组播转发表项中记录的待通知MTU生成加入报文,并向组播源侧的DR设备发送该加入报文。进一步的,组播源侧的DR设备周期性的利用组播转发表项中记录的待通知MTU生成ICMP差错报文,并周期性的向组播源发送该ICMP差错报文;或者,在组播转发表项中记录的待通知MTU发生变化时,组播源侧的DR设备利用该组播转发表项中记录的待通知MTU生成ICMP差错报文,并向组播源发送该ICMP差错报文。
如图1所示,以RP设备发起SPT切换为例,R4(即RP设备)向R1(即组播源侧的DR设备)发送针对组播组G1的加入报文,该加入报文中携带组播组G1的组播转发表项中维护的MTU。由于R4与R1之间不存在中间转发设备,因此R1直接收到来自R4的加入报文。如果当前不存在组播组G1的组播转发表项,则R1建立组播组G1的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定组播组G1的组播转发表项的待通知MTU为该最小的MTU,并在组播组G1的组播转发表项中记录该最小的MTU。如果当前存在组播组G1的组播转发表项,则R1从该加入报文中携带的MTU、该加入报文的接收接口的MTU、组播组G1的组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为该最小的MTU;如果该最小的MTU不是组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为最小的MTU,并将组播组G1的组播转发表项中维护的MTU更新为该最小的MTU。进一步的,R1向组播源发送携带该待通知MTU的ICMP差错报文,由组播源在收到该ICMP差错报文后,利用该ICMP差错报文中的MTU确定PMTU。
如图1所示,以组播接收者侧的DR设备发起SPT切换为例,R8(即组播接收者侧的DR设备)向R1(即组播源侧的DR设备)发送针对组播组G1的加入报文,该加入报文中携带组播组G1的组播转发表项中维护的MTU。R8与R1之间的各中间转发设备(R7、R4)收到针对组播组G1的加入报文,如果当前不存在组播组G1的组播转发表项,则建立组播组G1的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定组播组G1的组播转发表项的待通知MTU为该最小的MTU,并在组播组G1的组播转发表项中记录该最小的MTU;如果当前存在组播组G1的组播转发表项,则从该加入报文中携带的MTU、该加入报文的接收接口的MTU、组播组G1的组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为该最小的MTU;如果该最小的MTU不是组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为最小的MTU,并将组播组G1的组播转发表项中维护的MTU更新为该最小的MTU;之后,各中间转发设备向上游设备,即组播源DRR1发送携带该待通知MTU的加入报文。R1收到加入报文后,如果当前不存在组播组G1的组播转发表项,则R1建立组播组G1的组播转发表项,并从该加入报文中携带的MTU以及该加入报文的接收接口的MTU中选取出最小的MTU,并确定组播组G1的组播转发表项的待通知MTU为该最小的MTU,并在组播组G1的组播转发表项中记录该最小的MTU。如果当前存在组播组G1的组播转发表项,则R1从该加入报文中携带的MTU、该加入报文的接收接口的MTU、组播组G1的组播转发表项中维护的MTU中选取出最小的MTU;如果该最小的MTU为组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为该最小的MTU;如果该最小的MTU不是组播组G1的组播转发表项中维护的MTU,则确定组播组G1的组播转发表项的待通知MTU为最小的MTU,并将组播组G1的组播转发表项中维护的MTU更新为该最小的MTU。进一步的,R1向组播源发送携带该待通知MTU的ICMP差错报文,由组播源在收到该ICMP差错报文后,利用该ICMP差错报文中的MTU确定PMTU。
本发明实施例的上述处理过程中,组播组G1的组播转发表项中记录有组播组G1的组播组信息、组播组G1的出接口信息、组播组G1的待通知MTU。
本发明实施例中,针对组播接收者侧的DR设备、组播接收者侧的DR设备与RP设备之间的中间转发设备、RP设备、组播源侧的DR设备与RP设备之间的中间转发设备、组播源侧的DR设备、组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备等各设备,在接收到针对组播组的剪枝报文时,确定该剪枝报文的接收接口的MTU、该组播组对应的组播转发表项中维护的MTU。如果该剪枝报文的接收接口的MTU大于等于该组播组对应的组播转发表项中维护的MTU,则保持该组播组对应的组播转发表项中维护的MTU不变。如果该剪枝报文的接收接口的MTU小于该组播组对应的组播转发表项中维护的MTU,则该设备利用下游设备发送的加入报文,重新学习该组播组对应的组播转发表项中维护的MTU,具体的学习过程与上述各设备的处理流程相同,在此不再赘述。
本发明实施例中,PIMSSM的应用场景下的实现方式与PIMSM的应用场景下的实现方式相同,其最终发送给组播源的MTU为组播接收者到组播源侧的DR设备之间的MTU,相应的处理过程在此不再详加赘述。
本发明实施例中,各路由设备在生成组播转发表项之后,还可以为组播转发表项设置老化定时器。该老化定时器的老化时间可以为加入状态的老化时间。进一步的,如果路由设备在老化定时器超时之前收到针对组播转发表项的协议报文或者数据报文,则路由设备更新该组播转发表项的老化定时器的超时时间。如果路由设备在老化定时器超时之前没有收到针对组播转发表项的协议报文或者数据报文,则在老化定时器超时之后,路由设备删除该组播转发表项,此时,该组播转发表项中维护的MTU被路由设备删除。
基于上述技术方案,本发明实施例中,借助PIMSM路由协议,通过在加入报文中携带MTU,以通过控制平面实现源端设备(组播源)和目的端设备(组播接收者)的PMTU发现机制,即使源端设备与目的端设备间的中间转发设备数量很多,各中间转发设备的接口MTU不同,也不会导致确认PMTU的时间较长,避免数据报文被丢弃,节约带宽资源,使组播源快速知道整个组播路径或部分路径的MTU,减少反复PMTU探测,加快PMTU获取时间。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种路由设备,如图3所示,所述路由设备具体包括:
确定模块11,用于确定所述路由设备的设备角色;
处理模块12,用于当所述设备角色为组播接收者侧的指定路由器DR设备时,利用来自组播接收者的组播侦听发现MLD报文的接收接口的最大传输单元MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;当所述设备角色为所述DR设备与汇聚点RP设备之间的中间转发设备时,利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;当所述设备角色为RP设备时,利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由所述组播源在收到ICMP差错报文后,利用所述ICMP差错报文中的MTU确定路径最大传输单元PMTU。
所述处理模块12,具体用于当所述设备角色为组播接收者侧的DR设备时,在接收到来自组播接收者的MLD报文后,当不存在所述组播接收者对应的组播转发表项时,则建立所述组播接收者对应的组播转发表项,确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并在所述组播转发表项中记录所述MLD报文的接收接口的MTU;当存在所述组播接收者对应的组播转发表项时,如果所述MLD报文的接收接口的MTU小于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并将所述组播转发表项中维护的MTU更新为所述MLD报文的接收接口的MTU;如果所述MLD报文的接收接口的MTU大于等于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述组播转发表项中维护的MTU。
所述处理模块12,具体用于当所述设备角色为所述DR设备与RP设备之间的中间转发设备或者RP设备时,在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
当RP发起最短路径树SPT切换时,所述处理模块12,进一步用于当所述设备角色为所述RP设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;当所述设备角色为所述组播源侧的DR设备与所述RP设备之间的中间转发设备时,则利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;当所述设备角色为所述组播源侧的DR设备时,则利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,则利用所述ICMP差错报文中的MTU确定PMTU。
当接收者侧DR发起最短路径树SPT切换时,所述处理模块12,进一步用于:
当所述设备角色为组播接收者侧的DR设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
SPT切换时,所述处理模块12,具体用于当所述设备角色为所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧的DR设备时,则在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种路径最大传输单元PMTU的确定方法,其特征在于,该方法包括:
路由设备确定所述路由设备的设备角色;
当所述设备角色为组播接收者侧的指定路由器DR设备时,所述DR设备利用来自组播接收者的组播侦听发现MLD报文的接收接口的最大传输单元MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述DR设备与汇聚点RP设备之间的中间转发设备时,所述中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为RP设备时,所述RP设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由所述组播源在收到ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
2.如权利要求1所述的方法,其特征在于,所述DR设备利用来自组播接收者的MLD报文的接收接口的MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述DR设备在接收到来自组播接收者的MLD报文后,当不存在所述组播接收者对应的组播转发表项时,则建立所述组播接收者对应的组播转发表项,确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并在所述组播转发表项中记录所述MLD报文的接收接口的MTU;
当存在所述组播接收者对应的组播转发表项时,如果所述MLD报文的接收接口的MTU小于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并将所述组播转发表项中维护的MTU更新为所述MLD报文的接收接口的MTU;如果所述MLD报文的接收接口的MTU大于等于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述组播转发表项中维护的MTU。
3.如权利要求1所述的方法,其特征在于,
所述中间转发设备或者所述RP设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述中间转发设备或者所述RP设备在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;
当存在所述加入报文对应的组播转发表项时,则所述中间转发设备或者所述RP设备从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
4.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
RP发起最短路径树SPT切换;
当所述设备角色为RP设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与RP设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
5.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
当接收者侧DR发起最短路径树SPT切换;
当所述设备角色为组播接收者侧的DR设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
6.如权利要求4或5任一所述的方法,其特征在于,
所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU的过程,具体包括:
所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧DR设备在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;
当存在所述加入报文对应的组播转发表项时,则所述中间转发设备或者所述DR设备从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
7.一种路由设备,其特征在于,所述路由设备具体包括:
确定模块,用于确定所述路由设备的设备角色;
处理模块,用于当所述设备角色为组播接收者侧的指定路由器DR设备时,利用来自组播接收者的组播侦听发现MLD报文的接收接口的最大传输单元MTU、所述组播接收者对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述DR设备与汇聚点RP设备之间的中间转发设备时,利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为RP设备时,利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的互联网控制信息协议ICMP差错报文,由所述组播源在收到ICMP差错报文后,利用所述ICMP差错报文中的MTU确定路径最大传输单元PMTU。
8.如权利要求7所述的路由设备,其特征在于,
所述处理模块,具体用于当所述设备角色为组播接收者侧的DR设备时,在接收到来自组播接收者的MLD报文后,当不存在所述组播接收者对应的组播转发表项时,则建立所述组播接收者对应的组播转发表项,确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并在所述组播转发表项中记录所述MLD报文的接收接口的MTU;当存在所述组播接收者对应的组播转发表项时,如果所述MLD报文的接收接口的MTU小于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述MLD报文的接收接口的MTU,并将所述组播转发表项中维护的MTU更新为所述MLD报文的接收接口的MTU;如果所述MLD报文的接收接口的MTU大于等于所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述组播转发表项中维护的MTU。
9.如权利要求7所述的路由设备,其特征在于,
所述处理模块,具体用于当所述设备角色为所述DR设备与RP设备之间的中间转发设备或者RP设备时,在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
10.如权利要求7所述的路由设备,其特征在于,
当RP发起最短路径树SPT切换时,所述处理模块,进一步用于:
当所述设备角色为RP设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为所述组播源侧的DR设备与所述RP设备之间的中间转发设备时,则利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为所述组播源侧的DR设备时,则利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,则利用所述ICMP差错报文中的MTU确定PMTU。
11.如权利要求7所述的路由设备,其特征在于,当接收者侧DR发起最短路径树SPT切换时,所述处理模块,进一步用于:
当所述设备角色为组播接收者侧的DR设备时,在加入报文中添加所述加入报文对应的组播转发表项中维护的MTU,并向上游设备发送携带了所述组播转发表项中维护的MTU的加入报文;
当所述设备角色为组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备时,中间转发设备利用收到的加入报文携带的MTU、加入报文的接收接口的MTU、加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向上游设备发送将该待通知MTU作为携带MTU的加入报文;
当所述设备角色为组播源侧的DR设备时,该DR设备利用收到的加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述加入报文对应的组播转发表项中维护的MTU,确定所述组播转发表项的待通知MTU,并向组播源发送将该待通知MTU作为携带MTU的ICMP差错报文,由所述组播源在收到所述ICMP差错报文后,利用所述ICMP差错报文中的MTU确定PMTU。
12.如权利要求10或11任一所述的路由设备,其特征在于,当发起SPT切换时,
所述处理模块,具体用于当所述设备角色为所述组播源侧的DR设备与RP设备之间中间转发设备,所述组播源侧的DR设备与组播接收者侧的DR设备之间的中间转发设备或者所述组播源侧的DR设备时,则在接收到加入报文之后,当不存在所述加入报文对应的组播转发表项时,则建立所述加入报文对应的组播转发表项,并从所述加入报文中携带的MTU以及所述加入报文的接收接口的MTU中选取出最小的MTU,并确定所述组播转发表项的待通知MTU为所述最小的MTU,并在所述组播转发表项中记录所述最小的MTU;当存在所述加入报文对应的组播转发表项时,则从所述加入报文中携带的MTU、所述加入报文的接收接口的MTU、所述组播转发表项中维护的MTU中选取出最小的MTU;如果所述最小的MTU为所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU;如果所述最小的MTU不是所述组播转发表项中维护的MTU,则确定所述组播转发表项的待通知MTU为所述最小的MTU,并将所述组播转发表项中维护的MTU更新为所述最小的MTU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510336841.4A CN105099937B (zh) | 2015-06-17 | 2015-06-17 | 一种pmtu的确定方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510336841.4A CN105099937B (zh) | 2015-06-17 | 2015-06-17 | 一种pmtu的确定方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099937A true CN105099937A (zh) | 2015-11-25 |
CN105099937B CN105099937B (zh) | 2018-10-26 |
Family
ID=54579521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510336841.4A Active CN105099937B (zh) | 2015-06-17 | 2015-06-17 | 一种pmtu的确定方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099937B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789714A (zh) * | 2016-04-07 | 2017-05-31 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN109274591A (zh) * | 2018-11-16 | 2019-01-25 | 新华三技术有限公司 | 一种组播报文转发方法及装置 |
CN110351197A (zh) * | 2018-04-04 | 2019-10-18 | 华为技术有限公司 | 数据传输方法及相关装置 |
CN110636551A (zh) * | 2018-06-25 | 2019-12-31 | 上海华为技术有限公司 | 避免报文分片的方法和装置 |
CN110995583A (zh) * | 2019-09-12 | 2020-04-10 | 华为技术有限公司 | 路径探测方法、装置及计算机存储介质 |
CN114095479A (zh) * | 2020-07-29 | 2022-02-25 | 武汉神州数码云科网络技术有限公司 | 一种IGMPv3/MLDv2成员报告报文的处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188015A1 (en) * | 2002-03-29 | 2003-10-02 | Samsung Electronics Co., Ltd. | Method for path MTU discovery on IP network and apparatus thereof |
CN1909503A (zh) * | 2005-08-05 | 2007-02-07 | 华为技术有限公司 | 一种探测路径最大传输单元的方法 |
CN101616078A (zh) * | 2009-07-16 | 2009-12-30 | 杭州华三通信技术有限公司 | 一种路径最大传输单元的发现方法、路由器及节点设备 |
CN102209034A (zh) * | 2011-05-24 | 2011-10-05 | 中兴通讯股份有限公司 | 一种二层路径最大传输单元发现方法和节点 |
CN103023777A (zh) * | 2012-11-27 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种获取全域最小最大传输单元值的方法和设备 |
CN104601469A (zh) * | 2015-01-12 | 2015-05-06 | 杭州华三通信技术有限公司 | 组播报文转发方法和设备 |
-
2015
- 2015-06-17 CN CN201510336841.4A patent/CN105099937B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188015A1 (en) * | 2002-03-29 | 2003-10-02 | Samsung Electronics Co., Ltd. | Method for path MTU discovery on IP network and apparatus thereof |
CN1909503A (zh) * | 2005-08-05 | 2007-02-07 | 华为技术有限公司 | 一种探测路径最大传输单元的方法 |
CN101616078A (zh) * | 2009-07-16 | 2009-12-30 | 杭州华三通信技术有限公司 | 一种路径最大传输单元的发现方法、路由器及节点设备 |
CN102209034A (zh) * | 2011-05-24 | 2011-10-05 | 中兴通讯股份有限公司 | 一种二层路径最大传输单元发现方法和节点 |
CN103023777A (zh) * | 2012-11-27 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种获取全域最小最大传输单元值的方法和设备 |
CN104601469A (zh) * | 2015-01-12 | 2015-05-06 | 杭州华三通信技术有限公司 | 组播报文转发方法和设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789714A (zh) * | 2016-04-07 | 2017-05-31 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN106789714B (zh) * | 2016-04-07 | 2021-04-09 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN110351197A (zh) * | 2018-04-04 | 2019-10-18 | 华为技术有限公司 | 数据传输方法及相关装置 |
CN110636551A (zh) * | 2018-06-25 | 2019-12-31 | 上海华为技术有限公司 | 避免报文分片的方法和装置 |
US11394656B2 (en) | 2018-06-25 | 2022-07-19 | Huawei Technologies Co., Ltd. | Method and apparatus for avoiding packet fragmentation |
CN109274591A (zh) * | 2018-11-16 | 2019-01-25 | 新华三技术有限公司 | 一种组播报文转发方法及装置 |
CN110995583A (zh) * | 2019-09-12 | 2020-04-10 | 华为技术有限公司 | 路径探测方法、装置及计算机存储介质 |
CN110995583B (zh) * | 2019-09-12 | 2021-04-20 | 华为技术有限公司 | 路径探测方法、装置及计算机存储介质 |
CN114095479A (zh) * | 2020-07-29 | 2022-02-25 | 武汉神州数码云科网络技术有限公司 | 一种IGMPv3/MLDv2成员报告报文的处理方法 |
CN114095479B (zh) * | 2020-07-29 | 2024-04-30 | 武汉神州数码云科网络技术有限公司 | 一种IGMPv3/MLDv2成员报告报文的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105099937B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099937A (zh) | 一种pmtu的确定方法和设备 | |
CN101605103B (zh) | 一种组播数据静态转发的方法及装置 | |
JP5760083B2 (ja) | プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 | |
CN110661702B (zh) | 一种链路备份的方法、装置及计算机可读存储介质 | |
CN102395144B (zh) | 无线接入点升级方法、系统及设备 | |
CN109067578B (zh) | 一种组播快速切换的方法和装置 | |
CN101286867A (zh) | 一种网络设备的软件升级方法与系统 | |
CN101651609A (zh) | 实现组播负载分担的方法及装置 | |
CN106878072B (zh) | 一种报文传输方法和装置 | |
CN102694664B (zh) | 组播方法及组播设备 | |
CN102340451A (zh) | 一种跟踪路由测试方法、系统、装置及设备 | |
CN101909006B (zh) | 双向转发检测报文发送、接收方法及其装置与通信系统 | |
CN102763359B (zh) | 多播网络中流控制传输协议的通信量优化器及方法 | |
CN105723664A (zh) | 一种通信方法、装置、控制器和转发面设备 | |
US9246797B2 (en) | PORT based redundant link protection | |
CN101651626A (zh) | 一种流量转发的方法及设备 | |
US20190222537A1 (en) | Modifications of headend forwarding rules to join wide area network branch hosts to multicast groups | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN102769552B (zh) | 一种通过bfd检测lsp时传输bfd报文的方法和设备 | |
CN103716169A (zh) | 点到多点的组播实现方法、网络节点和系统 | |
CN104796340A (zh) | 一种组播数据传输方法和设备 | |
US10025752B2 (en) | Data processing method, processor, and data processing device | |
CN101534263A (zh) | 一种消息交互的方法、系统和设备 | |
JP4602791B2 (ja) | 自己複製コードを利用した通信ネットワークのノード間データ転送 | |
CN103780503A (zh) | 一种负载均衡的实现方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |