CN103973459B - IPv6组播孤岛间的组播报文的传输方法及装置 - Google Patents
IPv6组播孤岛间的组播报文的传输方法及装置 Download PDFInfo
- Publication number
- CN103973459B CN103973459B CN201310027314.6A CN201310027314A CN103973459B CN 103973459 B CN103973459 B CN 103973459B CN 201310027314 A CN201310027314 A CN 201310027314A CN 103973459 B CN103973459 B CN 103973459B
- Authority
- CN
- China
- Prior art keywords
- multicast
- routing
- tunnel
- edge equipment
- ipv6
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种IPv6组播孤岛间的组播报文的传输方法及装置,其中,该方法包括:第一边缘设备获取专用于传递IPv6组播路由的NLRI,第一边缘设备位于IPv4网络并支持双栈;第一边缘设备向IPv4网络中除第一边缘设备之外的第二边缘设备通告NLRI;第一边缘设备根据NLRI及携带的隧道属性先后建立用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互的第一隧道和用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互的第二隧道;第一边缘设备接收经由第二边缘设备通过第二隧道传输的IPv6组播数据并转发到用户端。采用上述方案,实现了组播孤岛间穿越IPv4中间网络进行IPv6组播业务的互通。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种IPv6组播孤岛间的组播报文的传输方法及装置。
背景技术
在IP网络中,IPv4地址消耗殆尽,部署IPv6网络已经迫在眉睫,各种IPv4到IPv6网络的过渡技术迅速发展起来。单播过渡技术包括:IPv6快速部署(IPv6 Rapid Deployment,简称为6RD)、轻型双栈(Dual-Stack Lite,简称为DS-lite)、地址和端口映射(Mapping ofAddress and Port,简称为MAP)、IPv6服务提供商边缘(IPv6 Provider Edge,简称为6PE)、IPv6 VPN服务提供商边缘(Virtual Private Network Extension for IPv6 VPN,简称为6vPE)等,覆盖了公网是IP网络还是MPLS网络的过渡场景;组播过渡技术包括:DS-liteMulticast、自动组播隧道(Auto Multicast Tunnel,简称为AMT)、全连接组播(MeshMulticast)等,但均没有考虑公网是多协议标记交换(Multi-Protocol Label Switching简称为MPLS)网络时,如果穿越MPLS网络实现组播互通。
当前运营商骨干网越来越多的使用的网络技术还是IPv4 MPLS,IPv6组用户要访问另一个IPv6域内的组播源时,需要穿越IPv4 MPLS网络来访问远端IPv6网络,所以能在IPv4 MPLS网络中快速部署IPv6组播业务显得非常重要。
6PE技术解决了非VPN单播业务在IPv4向IPv6过渡场景中如何实现穿越MPLS中间网络实现V6单播业务的互通,并没有解决非VPN组播业务在IPv4向IPv6过渡场景中如何实现组播孤岛穿越IPv4中间网络(例如IPv4 MPLS)网络实现IPv6组播业务的互通问题。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,尚无有效地解决组播孤岛穿越IPv4中间网络实现IPv6组播业务的互通等技术问题,本发明提供了一种IPv6组播孤岛间的组播报文的传输方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种IPv6组播孤岛间的组播报文的传输方法,包括:
第一边缘设备获取边界网关协议(Border Gateway Protocol,简称为BGP)中预定义的专用于传递IPv6组播路由的网络层可达信息(Network Layer ReachabilityInformation,简称为NLRI),其中,第一边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈;第一边缘设备向IPv4网络的第二边缘设备通告NLRI,其中,第二边缘设备为IPv4网络中除第一边缘设备之外的边缘设备;第一边缘设备根据NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;第一边缘设备接收经由第二边缘设备通过第二隧道传输的IPv6组播数据,并转发到用户端。
优选地,上述NLRI包括以下之一路由:
1型路由,用于域内边缘设备的自动发现,其中,域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者基于流量工程扩展的资源预留协议的(ResourceReservation Protocol-Traffic Extension,简称为RSVP-TE)点到多点(Point to Multi-Point,简称为P2MP)隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告。
优选地,上述第一边缘设备建立第一隧道之前,包括:第一边缘设备通告1型路由,其中,1型路由用于触发接收到1型路由的第二边缘设备建立第一隧道。
优选地,上述路由中携带有IPv4网络的隧道属性信息。
优选地,IPv4网络隧道基于以下之一信令建立:
基于RSVP-TE信令的RSVP-TE P2MP标签交换路径(Label Switched Path,简称为LSP);
基于多点标签分配协议(Multipoint-Label Distribution Protocol,简称为mLDP)信令的mLDP点到多点(Point-to-Multipoint,简称为P2MP)标签交换路径LSP;
基于指定信源的协议无关组播(Protocol Independent Multicast-SourceSpecific Multicast,简称为PIM-SSM)信令的PIM-SSM树(Tree);
基于稀疏模式独立组播协议PIM-SM(Protocol Independent Multicast-SparseMode,简称为PIM-SM)信令的PIM-SM Tree;
基于双向独立组播协议(BIDIR-Protocol Independent Multicast,简称为BIDIR-PIM)信令的BIDIR-PIM Tree;
基于入口复制(Ingress Replication)的入口复制;
基于mLDP信令的多点到多点(Multipoint to Multipoint,简称为MP2MP)MP2MPLSP。
优选地,上述隧道属性信息包括以下之一:
RSVP-TE P2MP LSP;mLDP P2MP LSP;PIM-SSM Tree;PIM-SM Tree;BIDIR-PIMTree;Ingress Replication;mLDP MP2MP LSP。
优选地,上述1型路由、3型路由和4型路由中均携带有边缘设备的专用于IPv6组播孤岛间的组播报文的传输的路由标识,其中,该边缘设备位于IPv4网络中并支持IPv4和IPv6双栈。
优选地,第一边缘设备通过以下方式建立第二隧道:确定IPv6组播孤岛之间的自举路由(Bootstrap Router,简称为BSR)和汇聚点(Rendezvous Point,简称为RP);
第一边缘设备接收IPv6组播数据的接收端发送的PIM/组播侦听发现(MulticastListener Discovery,简称为MLD)加入消息,其中,第一边缘设备为靠近接收端的边缘设备,PIM/MLD加入消息包括:(*,G)Join/MLD版本1(Version 1,简称为v1)消息或(S,G)Join/MLD版本2(Version 2,简称为v2)消息;根据PIM/MLD加入消息触发建立第二隧道。
优选地,当第一边缘设备接收到的是(*,G)/MLDv1加入消息时,根据(*,G)创建或更新(*,G)路由信息;在第一边缘设备不属于RP时,根据创建或更新后的(*,G)路由信息生成6型路由并向RP对应的IPv6单播路由下一跳BGP邻居通告生成的6型路由;
第二边缘设备接收6型路由,并判断本地V6组播路由表中是否有(*,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(*,G)路由条目;然后判断第二边缘设备是否是RP,如果不是,则根据6型路由生成相应的(*,G)加入消息,并向直连的组播V6孤岛侧内的RP发送;如果判断该第二边缘设备是RP,则不再向其他边缘设备发送(*,G)加入消息;并在第二边缘设备发现组播源后,生成(S,G)路由条目,出接口暂时继承(*,G)条目的出接口;同时,第二边缘设备上生成3型路由并携带新的隧道属性(可以和缺省隧道使用相同的信令机制,也可以使用独立的信令机制),向所有使能有IPv6组播能力的BGP邻居通告;其中,第二边缘设备为组播源端靠近RP侧的边缘设备;
第一边缘设备接收到3型路由时,根据3型路由中携带的(S,G)信息在V6组播路由表中生成相应的(S,G)路由条目,出接口继承(*,G)条目的出接口;同时,接收到3型路由的第一边缘设备触发公网IPv4网络生成第二隧道。
优选地,第二边缘设备不为RP且RP在IPv6组播孤岛侧时,则第二边缘设备和RP设备之间需要运行组播源发现协议(Multicast Resource Discovery Protocol,简称为MSDP);第二边缘设备为RP时,则等待组播源端向该RP发送注册消息,注册消息用于第二边缘设备发现组播源。
优选地,当第一边缘设备接收到的是(S,G)/MLDv2加入消息时,判断本地边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息;如果没有,则创建新的(S,G)路由条目;然后判断本地第一边缘设备是否是组播源端,如果不是,则生成7型路由;然后将7型路由向组播源端对应的V6单播路由下一跳的BGP邻居通告;
第二边缘设备接收到7型路由,判断第二边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(S,G)路由条目;然后判断该第二边缘设备是否是组播源端,如果不是,则提取出组播源(Multicast Source)字段和组播组(Multicast Group)字段,生成新的(S,G)加入消息,向直连的组播V6孤岛侧内的组播源发送,同时,本地生成3型路由,向其他使能有IPv6组播能力的BGP邻居通告出去;如果判断本地边缘设备位于组播源端,则不再向其他设备发送(S,G)加入消息,其中,第二边缘设备为源端靠近组播源侧的边缘设备;
第一边缘设备接收到3型路由时,根据3型路由在V6组播路由表中生成相应的(S,G)路由条目;同时,接收到3型路由的边缘设备触发IPv4网络生成第二隧道。
优选地,第一边缘设备通告NLRI时,携带的BGP下一跳字段为用于BGP建链的IPv4地址映射成的IPv6地址。
优选地,IPv4网络包括以下之一:
IPv4 MPLS网络、IPv4 PIM网络、IPv4 PIM-SSM网络、IPv4 BIDIR-PIM网络、纯(Native)IPv4网络。
优选地,上述方法应用于域内隧道的建立和域间隧道的建立。
优选地,上述方法兼容组播虚拟私有网络(Multicast Virtual PrivateNetwork,简称为MVPN)。
根据本发明的另一个方面,提供了一种IPv6组播孤岛间的组播报文的传输装置,位于边缘设备中,其中,边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈,包括:获取模块,用于获取BGP中预定义的专用于传递IPv6组播路由的NLRI;通告模块,用于在IPv4网络的边缘设备间通告NLRI;建立模块,用于根据NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;传输模块,用于接收通过第二隧道传输的IPv6组播数据,并转发到用户端。
优选地,获取模块,用于获取包括以下之一路由的NLRI:
1型路由,用于域内边缘设备的自动发现,其中,域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者流量工程扩展的资源预留协议RSVP-TE点到多点标签交换路径P2MP LSP隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告。
通过本发明,采用根据预定义的专用于传递IPv6组播路由的NLRI先后建立第一隧道和用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互的第二隧道的技术手段,解决了相关技术中,尚无有效地解决组播孤岛穿越IPv4中间网络实现IPv6组播业务的互通等技术问题等技术问题,从而实现了组播孤岛间穿越IPv4中间网络进行IPv6组播业务的互通。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例1的IPv6组播孤岛间的组播报文的传输方法的流程图;
图2为根据本发明实施例1的IPv6组播孤岛间的组播报文传输方法的装置的结构框图;
图3为根据本发明实施例2的IPv6组播孤岛间的组播报文的传输方法应用场景示意图;
图4为根据本发明实施例2的携带MCAST-IPv6 NLRI的MP_REACH_NLRI报文格式示意图;
图5为根据本发明实施例2的MCAST-IPv6 NLRI报文格式的示意图;
图6为根据本发明实施例2的Intra-AS 6MPE A-D Route对应的报文格式示意图;
图7为根据本发明实施例2的Inter-AS 6MPE A-D Route对应的报文格式示意图;
图8为根据本发明实施例2的S-4MST Route对应的报文格式示意图;
图9为根据本发明实施例2的LeafA-D Route对应的路由格式示意图;
图10为根据本发明实施例2的V6-SourceA-D Route对应的报文格式示意图;
图11为根据本发明实施例2的V6-Multicast Route对应的报文格式示意图;
图12为根据本发明实施例2的隧道属性(Tunnel Attribute)对应的报文格式示意图;
图13为根据本发明实施例2的连接设备的结构示意图;
图14为根据本发明实施例3的基于mLDP P2MP LSP建立的域内组播树示意图;
图15为根据本发明实施例4的基于mLDP P2MP LSP建立的分段域间组播树示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
考虑到,尚无非VPN的IPv6组播孤岛能够穿越IPv4网络实现组播业务的互通的解决方案等技术问题,以下结合实施例提供了相关的解决方案,现详细说明。
实施例1
图1为根据本发明实施例1的IPv6组播孤岛间的组播报文的传输方法的流程图。如图1所示,该方法包括:
步骤S102,第一边缘设备获取BGP中预定义的专用于传递IPv6组播路由的NLRI,其中,第一边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈;
步骤S104,第一边缘设备向IPv4网络的第二边缘设备通告上述NLRI,其中,第二边缘设备为IPv4网络中除第一边缘设备之外的边缘设备;
步骤S106,第一边缘设备根据上述NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;
步骤S108,第一边缘设备接收经由第二边缘设备通过上述第二隧道传输的IPv6组播数据,并转发到用户端。
通过上述各个处理步骤,由于在BGP中定义了专用于传递IPv6组播路由的NLRI,并根据该NLRI建立了用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互的第一隧道,和用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互的第二隧道,从而使得IPv6组播孤岛能够穿越IPv4网络实现组播业务的互通。
在本实施例中,上述NLRI包括但不限于以下之一路由:
1型路由,用于域内边缘设备的自动发现,其中,所述域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,所述域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者RSVP-TE P2MP隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告。
在本实施例中,上述第一隧道的建立过程可以通过以下方式实现:在第一边缘设备建立第一隧道之前,该第一边缘设备通告1型路由,其中,1型路由用于触发接收到1型路由的第二边缘设备建立第一隧道。
在本实施例中,上述NLRI包括的路由中携带有IPv4网络的隧道属性信息。其中,上述IPv4网络隧道可以基于但不限于以下之一信令建立:
基于RSVP-TE信令的RSVP-TE P2MP LSP(RSVP-TE点到多点标签交换路径);
基于mLDP信令的mLDP P2MP LSP(mLDP点到多点标签交换路径);
基于PIM-SSM信令的PIM-SSM Tree(PIM-SSM组播树);
基于PIM-SM信令的PIM-SM Tree(PIM-SM组播树);
基于BIDIR-PIM信令的BIDIR-PIM Tree(BIDIR-PIM组播树);
基于Ingress Replication的入口复制;
基于mLDP信令的MP2MP LSP(mLDP多点到多点标签交换路径)。
上述IPv4网络隧道的属性信息包括但不限于以下之一:RSVP-TE P2MP LSP;mLDPP2MP LSP;PIM-SSM Tree;PIM-SM Tree;BIDIR-PIM Tree;Ingress Replication;mLDPMP2MP LSP。具体使用哪种隧道属性依据IPv4网络类型和边缘设备之间的协商而定
在本实施例中,上述1型路由、3型路由和4型路由中均携带有边缘设备的专用于IPv6组播孤岛间的组播报文的传输的路由标识,其中,该边缘设备位于IPv4网络中并支持IPv4和IPv6双栈。
上述第二隧道的建立方式有多种,其中,第一边缘设备通过以下方式建立第二隧道:确定IPv6组播孤岛之间的BSR和RP;第一边缘设备接收IPv6组播数据的接收端发送的PIM/MLD加入消息,其中,第一边缘设备为靠近接收端的边缘设备,PIM/MLD加入消息包括:(*,G)Join/MLDv1(Multicast Listener Discovery Version 1)消息或(S,G)Join/MLDv2(Mukticast Listener Discovery Version 2)息;根据PIM/MLD加入消息建立第二隧道。
在本实施例中,当第一边缘设备接收到的是(*,G)/MLDv1加入消息时,根据(*,G)创建或更新(*,G)路由信息;在第一边缘设备不属于RP时,根据创建或更新后的(*,G)路由信息生成6型路由并向RP对应的IPv6单播路由下一跳BGP邻居通告生成的6型路由;
第二边缘设备接收6型路由,并判断本地V6组播路由表中是否有(*,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(*,G)路由条目;然后判断第二边缘设备是否是RP,如果不是,则根据6型路由生成相应的(*,G)加入消息,并向直连的组播V6孤岛侧内的RP发送;如果判断该第二边缘设备是RP,则不再向其他边缘设备发送(*,G)加入消息;并在第二边缘设备发现组播源后,生成(S,G)路由条目,出接口暂时继承(*,G)条目的出接口;同时,第二边缘设备上生成3型路由并携带新的隧道属性(新的隧道属性表示,缺省隧道和数据隧道可以基于不同的协议建立,比如缺省隧道的隧道类型是mLDP P2MP隧道,数据隧道的隧道类型是RSVP P2MP隧道。可以和缺省隧道使用相同的信令机制,也可以使用独立的信令机制),向所有使能有IPv6组播能力的BGP邻居通告;其中,第二边缘设备为组播源端靠近RP侧的边缘设备;
第一边缘设备接收到3型路由时,根据3型路由中携带的(S,G)信息在V6组播路由表中生成相应的(S,G)路由条目,出接口继承(*,G)条目的出接口;同时,接收到3型路由的第一边缘设备触发公网IPv4网络生成第二隧道。
在本实施例中,第二边缘设备不为RP且RP在IPv6组播孤岛侧时,则第二边缘设备和RP设备之间需要运行MSDP协议,MSDP协议用于第二边缘设备发现组播源;第二边缘设备为RP时,则等待组播源端向该RP发送注册消息,注册消息用于第二边缘设备发现组播源。
在本实施例中,当第一边缘设备接收到的是(S,G)/MLDv2加入消息时,判断本地边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息;如果没有,则创建新的(S,G)路由条目;然后判断本地第一边缘设备是否是组播源端,如果不是,则生成7型路由;然后将7型路由向组播源端对应的V6单播路由下一跳的BGP邻居通告;第二边缘设备接收到7型路由,判断第二边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(S,G)路由条目;然后判断该第二边缘设备是否是组播源端,如果不是,则提取出组播源(MulticastSource)字段和组播组(Multicast Group)字段,生成新的(S,G)加入消息,向直连的组播V6孤岛侧内的组播源发送,同时,本地生成3型路由,向其他使能有IPv6组播能力的BGP邻居通告出去;如果判断本地边缘设备位于组播源端,则不再向其他设备发送(S,G)加入消息,其中,第二边缘设备为源端靠近组播源侧的边缘设备;第一边缘设备接收到3型路由时,根据3型路由在V6组播路由表中生成相应的(S,G)路由条目;同时,接收到3型路由的边缘设备触发IPv4网络生成第二隧道。
在本实施例中,边缘设备生成并通告NLRI时,携带的BGP下一跳字段为用于BGP建链的IPv4地址映射成的IPv6地址。
在本实施例中,上述IPv4网络包括以下之一:IPv4MPLS网络、IPv4PIM网络、IPv4PIM-SSM网络、IPv4 BIDIR-PIM网络、纯(Native)IPv4网络。
本实施例中的IPv6组播孤岛间的组播报文的传输方法应用于域内隧道的建立和域间隧道的建立。
本实施例中的上述传输方法兼容组播虚拟私有网络MVPN。
在本实施例中还提供了一种IPv6组播孤岛间的组播报文的传输装置,该装置位于边缘设备中,且该边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈。上述装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例1的IPv6组播孤岛间的组播报文的传输装置的结构框图。如图2所示,该装置包括
获取模块20,连接至通告模块22,用于获取边界网关协议BGP中预定义的专用于传递IPv6组播路由的网络层可达信息NLRI;
通告模块22,连接至建立模块24,用于在IPv4网络的边缘设备间通告NLRI;
建立模块24,连接至传输模块26,用于根据NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;
传输模块26,用于接收通过第二隧道传输的IPv6组播数据,并转发到用户端。
在本实施例中,上述获取模块20,用于获取包括以下之一路由的NLRI:
1型路由,用于域内边缘设备的自动发现,其中,域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者RSVP-TE P2MP隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告
为了更好地理解上述实施例,以下结合实施例2-4和相关附图详细说明。
实施例2
本实施例要解决的技术问题是提供一种非VPN的IPv6组播孤岛穿越IPv4MPLS网络的方法,使得非VPN的IPv6组播孤岛能够穿越IPv4网络实现组播业务的互通,应用场景如图3所示。针对这个问题,本发明提出IPv6组播服务提供商边缘6MPE(IPv6 MulticastProvider Edge)技术的概念。
为了实现6MPE技术,本实施例提供了一种非VPN的IPv6组播孤岛穿越IPv4 MPLS网络的方法:在BGP的MP_REACH_NLRI中新定义一种的Network Layer ReachabilityInformation(NLRI):MCAST-IPv6 NLRI,作为IPv6组播的特定扩展类型用来自动发现IPv6组播孤岛、以及产生和通告IPv6孤岛侧的IPv6组播路由,如图4所示:地址族标识(AFI)和子地址族标识(SAFI)需IANA定义;
网络层可达信息(NLRI)字段携带IPv6组播路由信息;
进一步地,上述方法还具有以下特点:
连接IPv6组播孤岛和IPv4 MPLS网络的连接设备需要支持双栈,该连接设备使用IPv4接口连接IPv4 MPLS网络,IPv6接口连接IPv6组播孤岛。所述连接设备在本实施例中又称为6MPE(IPv6 Multicast Provider Edge)设备;其中,连接设备的逻辑结构如图13所示,包括:BGP模块130,v6组播路由管理模块132和v4公网隧道建立和管理模块134。
进一步地,上述方法在控制层面还具有以下特点:
连接设备6MPE之间需要通过BGP协议扩展来协商MCAST-IPv6能力,协商成功后,才进行后续的组播路由交互过程;如果协商失败,即一端支持MCAST-IPv6能力,一端不支持MCAST-IPv6能力时,则不会进行后续的组播路由交互过程;
其中,MCAST-IPv6NLRI中定义的IPv6组播路由类型(即如图5所示具体路由类型)包括七种:
1#)Intra-AS 6MPE A-D Route(格式如图6所示):用于域内6MPE自动发现
2#)Inter-AS 6MPE A-D Route(格式如图7所示):用于域间6MPE自动发现
3#)S-4MST Route(格式如图8所示):用于Selective-IPv4 Multicast ServiceTunnel通告
4#)Leaf A-D Route(格式如图9所示):用于域间节点通告或者RSVP-TE P2MP隧道创建
5#)V6-Source A-D Route(格式如图10所示):用于组播源发现
6#)(*,G)Join Route:用于(*,G)Join路由的通告
7#)(S,G)Join Route:用于(S,G)Join路由的通告
其中,6#路由和7#路由均称为V6-multicast Route(格式如图11所示)。且对应路由类型的报文格式一致;
其中,域内的6MPE设备之间MCAST-IPv6能力协商成功后,各6MPE设备会生成1#Intra-AS 6MPE A-D组播路由,向各自的使能有MCAST-IPv6能力的BGP邻居通告,用来发现域内其他的连接有组播孤岛的6MPE设备;同时,接收到1# Intra-AS 6MPE A-D组播路由的6MPE设备触发公网IPv4 MPLS网络生成MPLS组播树,建立以各6MPE设备为根的组播公网隧道I,也称为缺省隧道(Default Tunnel);此时的缺省隧道主要用于IPv6组播孤岛之间穿越IPv4 MPLS网络实现组播信令交互,从而选举出IPv6组播孤岛之间的BSR/RP;
其中,1# Intra-AS 6MPE A-D组播路由中携带有6MPE的专属路由id(Router-id)该专属路由id的格式如图6所示。该路由id区别于BGP Router-id,BGP Router-id的变化不影响该专属Router-id,但是可以和BGP Router-id一致。IPv4 MPLS LSP基于该专属Router-id为根建立MPLS组播树。同时,3#组播路由和4#组播路由中也携带有该6MPERouter-id字段;
其中,所述IPv4 MPLS生成的MPLS组播隧道基于信令划分时,主要分为两种:一种是基于mLDP建立的P2MP LSP隧道和MP2MP LSP隧道,该信令方式的组播隧道是叶子节点触发建立的;另一种是基于RSVP-TE建立的P2MP LSP隧道,该信令方式的组播隧道是根节点触发建立的;
进一步地,所述IPv6组播孤岛之间的BSR/RP选举完成后,靠近接收端的6MPE设备,此处简称为出口6MPE,接收到IPv6组播孤岛接收端发起的PIM/MLD加入消息:可以是(*,G)Join/MLDv1消息或者是(S,G)Join/MLDv2消息;这里分两种情况讨论:
当出口6MPE设备接收到的是(*,G)/MLDv1加入消息时,判断本地6MPE设备的V6组播路由表中是否有(*,G)路由条目,如果有,则更新出接口信息;如果没有,则创建新的(*,G)路由条目;然后判断本地6MPE设备是否是RP,如果不是,则生成6#(*,G)Join Route,该路由类型中的Multicast Source字段设置为RP的地址,Multicast Group字段设置为组地址;然后将该6#组播路由向RP对应的V6单播路由下一跳的BGP邻居通告过去;
源端靠近RP侧的6MPE设备,此处简称为入口6MPE设备,接收到6#组播路由,判断该6MPE设备的V6组播路由表中是否有(*,G)路由条目,如果有,则更新出接口信息,添加组播公网隧道接口I(即缺省隧道接口)到出接口列表;如果没有,则创建新的(*,G)路由条目,出接口为组播公网隧道接口I(即缺省隧道接口);然后判断该6MPE设备是否是RP,如果不是,则提取出Multicast Source字段和Multicast Group字段,生成新的(*,G)加入消息,向直连的组播V6孤岛侧内的RP发送;如果判断该6MPE设备是RP,则不再向其他设备发送(*,G)加入消息;
其中,所述入口6MPE设备不为RP时,则该6MPE和RP设备之间需要运行MSDP协议,用于该6MPE设备发现组播源;
其中,所述入口6MPE设备为RP时,则等待源端向该RP发送注册消息,用于该6MPE设备发现组播源;
当所述入口6MPE设备发现组播源S后,本地V6组播路由表中生成(S,G)路由条目,出接口暂时继承(*,G)条目的出接口,即组播公网隧道接口I(即缺省隧道接口);同时,入口6MPE设备上生成3# S-4MST A-D Route,携带上新的隧道属性,向所有使能有MCAST-IPv6能力的BGP邻居通告出去;
所述出口6MPE设备接收到3#组播路由时,出口6MPE设备根据3#路由中携带的Multicast Source字段和Multicast Group字段在V6组播路由表中生成相应的(S,G)路由条目;同时,接收到3#组播路由的出口6MPE设备触发公网IPv4 MPLS网络生成新的MPLS组播树,以入口6MPE设备为根,建立新的组播公网隧道S,也称为数据隧道Data Tunnel;此时的组播公网隧道S(即数据隧道)主要用于IPv6组播孤岛之间穿越IPv4 MPLS网络实现组播数据交互;
所述组播公网隧道S(即数据隧道)生成后,根节点(即入口6MPE设备)更新(S,G)路由条目的出接口为该数据隧道接口;
当出口6MPE设备接收到的是(S,G)/MLDv2加入消息时,判断本地6MPE设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息;如果没有,则创建新的(S,G)路由条目;然后判断本地6MPE设备是否是Source端,如果不是,则生成7#(S,G)JoinRoute,该路由类型中的Multicast Source字段设置为Source的地址,Multicast Group字段设置为组地址;然后将该7#组播路由向Source对应的V6单播路由下一跳的BGP邻居通告过去;
靠近源端RP侧的6MPE设备,即入口6MPE设备接收到7#组播路由,判断本地6MPE设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息,添加组播公网隧道接口I(即缺省隧道接口)到出接口列表;如果没有,则创建新的(S,G)路由条目,出接口为组播公网隧道接口I(即缺省隧道接口);然后判断该入口6MPE设备是否是Source端,如果不是,则提取出Multicast Source字段和Multicast Group字段,生成新的(S,G)加入消息,向直连的组播V6孤岛侧内的源发送,同时,本地生成3# S-4MST A-D Route,向其他使能有MCAST-IPv6能力的BGP邻居通告出去;如果判断本地6MPE设备是Source,则不再向其他设备发送(S,G)加入消息。
所述出口6MPE设备接收到3#组播路由时,出口6MPE设备根据3#路由中携带的Multicast Source字段和Multicast Group字段在V6组播路由表中生成相应的(S,G)路由条目,出接口继承(S,G)条目的出接口;同时,接收到3#组播路由的6MPE设备触发公网IPv4MPLS网络生成新的MPLS组播树,以入口6MPE设备为根,建立新的组播公网隧道S,也称为数据隧道Data Tunnel;此时的组播公网隧道S(即数据隧道)主要用于IPv6组播孤岛之间穿越IPv4 MPLS网络实现组播数据交互;
所述组播公网隧道S(即数据隧道)生成后,根节点(即入口6MPE设备)更新(S,G)路由条目的出接口为该数据隧道接口;
进一步地,上述方法在控制层面还具有以下特点:
IPv6孤岛侧的IPv6单播路由和IPv6组播路由通过连接设备向IPv4 MPLS网络另一侧的BGP邻居通告IPv6的路由时,BGP下一跳地址需要使用IPv4-mapped IPv6地址。即连接设备之间在使用MP-BGP交换IPv6的NLRI信息时,需要将MP-BGP用于建链的IPv4地址映射成IPv4-mapped IPv6地址格式作为BGP路由下一跳。
进一步地,上述方法在控制层面还具有以下特点:
IPv4 MPLS网络主要通过mLDP的P2MP LSP或MP2MP LSP建立MPLS组播树,或者通过RSVP-TE的P2MP LSP建立MPLS组播树,作为IPv6孤岛之间组播控制报文和IPv6孤岛之间组播数据报文经过IPv4 MPLS网络实现交互的MPLS标签交换隧道。
当然,在IPv4 MPLS网络上,也可以通过组播路由协议,如PIM-SM、PIM-SSM或者Bidir-PIM等建立IP组播树,或者通过入口复制Ingress Replication方式,作为IPv6孤岛之间组播业务交互的公网隧道技术。即公网不局限于IPv4 MPLS网络,也可以使纯IPv4网络;
公网组播树具体使用基于哪种协议的隧道技术,需要连接设备在进行自动发现的过程中,携带隧道属性。当接收的隧道属性中隧道类型在本地支持时,便触发建立相应隧道类型的公网组播树,且隧道属性如图12所示:隧道标识各值表示的隧道类型如下:
1:RSVP-TE点到多点标签交换路径(RSVP-TE P2MP LSP);
2:mLDP点到多点标签交换路径(mLDP P2MP LSP);
3:PIM-SSM组播树(PIM-SSM Tree):
4:PIM-SM组播树(PIM-SM Tree):
5:BIDIR-PIM组播树(BIDIR-PIM Tree);
6:入口复制(Ingress Replication);
7:mLDP多点到多点标签交换路径(mLDP MP2MP LSP);
对于IPv4MPLS网络,主要使用的隧道类型的值分别是:1,2,7;
为了和MVPN技术保持兼容,在本方法中,始终不携带MPLS Label字段;当接收的隧道属性中隧道类型在本地不支持时,不触发公网组播树的建立。
进一步地,上述方法在转发层面还具有以下特点:
所述公网数据隧道打通后,组播源端发送V6组播流量,入口6MPE设备接收到组播流量,查找V6组播路由表,发现出接口是组播隧道接口;根据组播隧道接口查找对应的LSP,封装上该LSP对应的出标签,从出接口将该标签报文转发出去;
公网上,沿着MPLS组播树,交换外层标签并转发标签报文,直到组播树的叶子节点,即出口6MPE设备,这些出口6MPE设备发现自己是叶子节点,便弹出标签,根据V6组播数据查找V6组播路由表,从相应的出接口将V6组播数据转发到相应的组播接收端。
进一步地,上述方法还具有以下特点:
完全兼容组播VPN技术。
实施例3
图14所示场景是典型的域内应用场景之一,基于mLDP P2MP LSP建立的公网隧道,实现IPv6组播孤岛穿越相同AS域的IPv4 MPLS网络实现组播互通,且配置组播V6孤岛的RP在PE1上,对于控制面,主要流程包括以下步骤:
步骤1:所有连接设备PE1/PE2/PE3设备配置IGP/LDP/MLDP/MPBGP,BGP协议下使能MCAST-IPv6能力,两两协商成功,则IBGP邻居具有传递IPv6组播路由的能力;同时PE1/PE2/PE3上分别配置属于本发明的专属Router-id,并在IGP中通告该Router-id对应的路由,使得各Router-id之间路由可达;
步骤2:PE1和CE1直连V6接口使能PIM,PE2和CE2直连V6接口使能PIM,PE3和CE3直连V6接口使能PIM;同时,PE1/PE2/PE3上配置公网隧道类型为mLDP P2MP LSP类型;CE1/CE2/CE3上也完成相应PIM配置,CE1作为V6组播Source,CE2和CE3作为V6组播Receivers;
步骤3:PE1/PE2/PE3上IBGP邻居建立后,IPv6-Unicast通告IPv6单播路由;同时,PE1/PE2/PE3上MCAST-IPv6地址族下生成并通告路由的IP地址(Router’s IP Addr)为本PE专属路由标识(Router-id)的1#的A-D路由,携带隧道属性信息,用来自动发现其他拥有IPv6组播孤岛的PE邻居设备;
步骤4:IBGP邻居收到1#路由后,判断接收到的隧道属性类型是否和本地配置的隧道属性类型一致,如果一致,则根据隧道属性触发公网建立mLDP P2MP LSP;其中,接收路由器作为叶子节点,发送路由器作为根节点;mLDP信令交互完成后,建立以PE1/PE2/PE3分别为根的3棵组播树,即Default Tunnel;如果不一致,不触发公网隧道的建立;
步骤5:PE1/PE2/PE3根据隧道属性中的Tunnel-ID,绑定组播业务到对应的Default Tunnel,在这个过程中,打通了公网组播信令转发隧道通道;
步骤6:公网隧道打通后,组播IPv6孤岛侧的组播信令通过Default Tunnel实现交互,选举出IPv6孤岛中的BSR/RP;
步骤7:组播接收端PE2/PE3从CE2/CE3接收到V6的(*,G)Join报文,分别在本地生成(*,G)组播路由条目,其出接口为接收到(*,G)Join报文的接口,并生成6#组播路由,路由信息中的Multicast Source字段为加入报文中的RP地址,Multicast Group字段为加入报文中的Group地址;
步骤8:PE2/PE3根据Join报文中的RP地址查找V6单播路由表,将生成的6#路由向单播路由表的下一跳邻居通告过去;
步骤9:PE1(RP)接收到PE2/PE3发送的6#路由,在本地生成(*,G)组播路由条目,其出接口为公网组播隧道接口,即Default Tunnel接口;
步骤10:CE1作为源端第一跳DR接收到源端发送的组播数据报文,则封装组播数据报文到注册消息中,并发送组播注册消息给PE1(RP),即表明组播源可用;
步骤11:PE1接收到注册消息,解封装注册消息,发现组播Source在PE1上有相应的组播Group接收者,则生成相应的(S,G)组播路由条目,出接口暂时继承(*,G)路由条目的出接口;同时,发送注册停止消息和(S,G)加入消息到CE1;
步骤12:同时,PE1上根据组播源和组播组信息生成Router’s IP Addr为专属6MPERouter-id的3#组播路由,携带上新的组播隧道属性,并向PE2/PE3通告过去;
步骤13:PE2/PE3收到该3#路由,发现本地有组播接收者,根据接收到的组播隧道属性,触发公网建立新的mLDP P2MP LSP;其中,接收路由器作为叶子节点,发送路由器作为根节点;mLDP信令交互完成后,建立以PE1为根的1棵组播树,即Data Tunnel;
步骤14:PE1根据3#路由中携带的隧道属性中的新的Tunnel-ID,绑定组播业务到对应的Data Tunnel,即切换(S,G)组播路由条目的出接口为Data Tunnel接口,在这个过程中,打通了公网数据转发隧道通道;
对于转发面,主要流程包括以下步骤:
步骤1:组播源端第一跳DR的CE1接收并发送组播数据到PE1,PE1查V6组播分发表,发现出接口是组播隧道接口;
步骤2:PE1根据隧道接口对应的mLDP P2MP LSP封装该LSP的出标签到V6组播数据报文,并从该LSP的出接口将标签报文转发出去;
步骤3:P设备接收到标签报文,根据报文中的标签值查找标签转发表,发现有两个出标签,分别对应两个出接口;于是P设备复制标签报文并分别交换(swap)上出标签,从相应的出接口将标签报文转发出去;
步骤4:PE2/PE3接收到标签报文,发现自身是leaf节点,于是弹出标签值,根据内部V6组播数据,分别查找本地的V6组播分发表,转发到相应的组播接收者。
实施例4
如图15所示的场景,是典型的分段域间应用场景之一,全网使用L3VPN OptionB方式进行跨域连接。其中PE1与ASBR1建立IBGP邻居关系,属于AS1;ASBR2与PE2/PE3建立IBGP邻居关系,属于AS2;ASBR1与ASBR2之间建立EBGP邻居关系。域内基于mLDP P2MP LSP建立公网隧道,域间基于Ingress Replication建立IP-based公网隧道,然后通过BGP将各分段隧道粘合起来,从而实现IPv6组播孤岛穿越跨AS域的IPv4 MPLS网络实现组播互通,且配置组播V6孤岛的RP在PE1上,对于控制面,主要流程包括以下步骤:
步骤1:PE1使能V4/V6组播双栈能力后,向本AS内的IBGP邻居ASBR1发送1#的Intra-AS 6MPE A-D Route,并携带相关的隧道参数。
步骤2:ASBR1收到该1# A-D路由后,根据隧道参数即发起本域内的分段隧道创建。同时生成2# Inter-AS 6MPE A-D Route,并且在该A-D路由中携带类型为Ingress-replication的隧道参数,同时置Leaf请求标记位,然后将此2# A-D路由发送给EBGP邻居ASBR2。
步骤3:ASBR2收到ASBR1发送的2# Inter-AS 6MPE A-D Route后,响应Leaf节点请求,生成4# Leaf A-D Route并发送给ASBR1;同时,ASBR2根据本AS内使能的隧道能力,重构2# Inter-AS 6MPE A-D Route中的PMSI Tunnel Attribute后,将此2# Inter-AS A-D转发给本AS内的所有IBGP邻居PE2/PE3。
步骤4:ASBR1收到ASBR2发送的Leaf A-D Route后,发起one hop ASBR-ASBR的单播隧道创建。
步骤5:PE2/PE3收到ASBR2转发的2# Inter-AS 6MPE A-D Route后,根据隧道参数发起本AS内的分段隧道创建。
步骤6:PE2/PE3和PE1对称,故PE2/PE3也会进行步骤1-步骤5对称的流程,最终各AS域内生成分别以PE/ASBR为根的缺省隧道,ASBR间生成one hop ASBR-ASBR单播隧道;BGP在ASBR处将分段的各隧道粘合起来,形成PE-PE端到端的缺省公网隧道;
步骤7:V6组播路由经由BGP协议穿越V4网络的通告过程与域内场景过程一致;最终生成PE-PE端到端数据转发的公网隧道;
对于转发面,主要流程包括以下步骤:
步骤1:组播源端第一跳DR的CE1接收并发送组播数据到PE1,PE1查V6组播分发表,发现出接口是组播隧道接口;
步骤2:PE1根据隧道接口对应的mLDP P2MP LSP封装该LSP的出标签到V6组播数据报文,并从该LSP的出接口将标签报文转发出去,完成本AS内的流量分发;
步骤3:ASBR1设备接收到标签报文,查找本地Intra-AS隧道与Inter-AS隧道对应关系表,弹出隧道标签,重新封装上V4单播隧道,将组播流量在ASBR1与ASBR2之间进行单播转发;
步骤4:ASBR2收到该流量后,查找本地Inter-AS隧道与Intra-AS隧道对应关系表,解封装V4头,重新封装对应LSP隧道的出标签,向本AS内的其他P/PE设备转发组播流量。
步骤5:PE2/PE3接收到标签报文,发现自身是leaf节点,于是弹出标签值,根据内部V6组播数据,分别查找本地的V6组播分发表,转发到相应的组播接收者
至此,实现V6组播孤岛之间的业务互通。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种IPv6组播孤岛间的组播报文的传输方法,其特征在于,包括:
第一边缘设备获取边界网关协议BGP中预定义的专用于传递IPv6组播路由的网络层可达信息NLRI,其中,所述第一边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈;
所述第一边缘设备向所述IPv4网络的第二边缘设备通告所述NLRI,其中,所述第二边缘设备为所述IPv4网络中除所述第一边缘设备之外的边缘设备;
所述第一边缘设备根据所述NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,所述第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,所述第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;
所述第一边缘设备接收经由所述第二边缘设备通过所述第二隧道传输的IPv6组播数据,并转发到用户端。
2.根据权利要求1所述的方法,其特征在于,所述NLRI包括以下之一路由:
1型路由,用于域内边缘设备的自动发现,其中,所述域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,所述域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者基于流量工程扩展的资源预留协议的点到多点标签交换路径RSVP-TE P2MP隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告。
3.根据权利要求2所述的方法,其特征在于,所述第一边缘设备建立第一隧道之前,包括:
所述第一边缘设备通告所述1型路由,其中,所述1型路由用于触发所述接收到所述1型路由的第二边缘设备建立所述第一隧道。
4.根据权利要求2所述的方法,其特征在于,所述路由中携带有IPv4网络的隧道属性信息。
5.根据权利要求4所述的方法,其特征在于,所述IPv4网络隧道基于以下之一信令建立:
基于RSVP-TE信令的RSVP-TE点到多点标签交换路径P2MP LSP;
基于多点标签分配协议mLDP信令的mLDP点到多点标签交换路径P2MP LSP;
基于指定信源的协议无关组播PIM-SSM信令的PIM-SSM树Tree;
基于稀疏模式独立组播协议PIM-SM信令的PIM-SM Tree;
基于双向独立组播协议BIDIR-PIM信令的BIDIR-PIM Tree;
基于入口复制Ingress Replication的入口复制;
基于mLDP信令的多点到多点MP2MP LSP。
6.根据权利要求4所述的方法,其特征在于,所述隧道属性信息包括以下之一:
RSVP-TE P2MP LSP;mLDP P2MP LSP;PIM-SSM Tree;PIM-SM Tree;BIDIR-PIM Tree;Ingress Replication;mLDP MP2MP LSP。
7.根据权利要求2所述的方法,其特征在于,所述1型路由、所述3型路由和所述4型路由中均携带有边缘设备的专用于IPv6组播孤岛间的组播报文的传输的路由标识,其中,该边缘设备位于IPv4网络中并支持IPv4和IPv6双栈。
8.根据权利要求3所述的方法,其特征在于,所述第一边缘设备通过以下方式建立所述第二隧道:
确定IPv6组播孤岛之间的自举路由BSR和汇聚点RP;
所述第一边缘设备接收所述IPv6组播数据的接收端发送的PIM/组播侦听发现MLD加入消息,其中,所述第一边缘设备为靠近所述接收端的边缘设备,所述PIM/MLD加入消息包括:(*,G)Join/MLD版本1v1消息或(S,G)Join/MLD版本2v2消息;
根据所述PIM/MLD加入消息触发建立所述第二隧道。
9.根据权利要求8所述的方法,其特征在于,
当所述第一边缘设备接收到的是(*,G)/MLDv1加入消息时,根据所述(*,G)创建或更新(*,G)路由信息;在所述第一边缘设备不属于RP时,根据创建或更新后的(*,G)路由信息生成所述6型路由并向RP对应的IPv6单播路由下一跳BGP邻居通告所述生成的6型路由;
第二边缘设备接收所述6型路由,并判断本地V6组播路由表中是否有(*,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(*,G)路由条目;然后判断所述第二边缘设备是否是RP,如果不是,则根据6型路由生成相应的(*,G)加入消息,并向直连的组播V6孤岛侧内的RP发送;如果判断该第二边缘设备是RP,则不再向其他边缘设备发送(*,G)加入消息;并在第二边缘设备发现组播源后,生成(S,G)路由条目,出接口暂时继承(*,G)条目的出接口;同时,所述第二边缘设备上生成所述3型路由并携带新的隧道属性向所有使能有IPv6组播能力的BGP邻居通告;其中,所述第二边缘设备为组播源端靠近RP侧的边缘设备,其中,所述新的隧道属性包括与缺省隧道使用相同的信令机制或独立的信令机制;
所述第一边缘设备接收到所述3型路由时,根据所述3型路由中携带的(S,G)信息在V6组播路由表中生成相应的(S,G)路由条目,出接口继承(*,G)条目的出接口;同时,接收到3型路由的第一边缘设备触发公网IPv4网络生成所述第二隧道。
10.根据权利要求9所述的方法,其特征在于,
所述第二边缘设备不为RP且RP在IPv6组播孤岛侧时,则所述第二边缘设备和RP设备之间需要运行组播源发现协议MSDP;
所述第二边缘设备为RP时,则等待组播源端向该RP发送注册消息,所述注册消息用于所述第二边缘设备发现组播源。
11.根据权利要求8所述的方法,其特征在于,
当第一边缘设备接收到的是(S,G)/MLDv2加入消息时,判断本地边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息;如果没有,则创建新的(S,G)路由条目;然后判断本地第一边缘设备是否是组播源端,如果不是,则生成7型路由;然后将7型路由向组播源端对应的V6单播路由下一跳的BGP邻居通告;
第二边缘设备接收到所述7型路由,判断第二边缘设备的V6组播路由表中是否有(S,G)路由条目,如果有,则更新出接口信息,添加第一隧道接口到出接口列表;如果没有,则创建新的(S,G)路由条目;然后判断该第二边缘设备是否是组播源端,如果不是,则提取出组播源字段和组播组字段,生成新的(S,G)加入消息,向直连的组播V6孤岛侧内的组播源发送,同时,本地生成3型路由,向其他使能有IPv6组播能力的BGP邻居通告出去;如果判断本地边缘设备位于组播源端,则不再向其他设备发送(S,G)加入消息,其中,所述第二边缘设备为源端靠近组播源侧的边缘设备;
所述第一边缘设备接收到3型路由时,根据3型路由在V6组播路由表中生成相应的(S,G)路由条目;同时,接收到3型路由的边缘设备触发IPv4网络生成所述第二隧道。
12.根据权利要求1-11任一项所述的方法,其特征在于,
所述第一边缘设备通告所述NLRI时,携带的BGP下一跳字段为用于BGP建链的IPv4地址映射成的IPv6地址。
13.根据权利要求1-11任一项所述的方法,其特征在于,所述IPv4网络包括以下之一:
IPv4MPLS网络、IPv4PIM网络、IPv4PIM-SSM网络、IPv4BIDIR-PIM网络、Native IPv4网络。
14.根据权利要求1至11任一项所述的方法,其特征在于,所述方法应用于域内隧道的建立和域间隧道的建立。
15.根据权利要求1至11任一项所述的方法,其特征在于,所述方法兼容组播虚拟私有网络MVPN。
16.一种IPv6组播孤岛间的组播报文的传输装置,位于边缘设备中,其中,所述边缘设备位于IPv4网络中,并且支持IPv4和IPv6双栈,其特征在于,包括:
获取模块,用于获取边界网关协议BGP中预定义的专用于传递IPv6组播路由的网络层可达信息NLRI;
通告模块,用于在所述IPv4网络的边缘设备间通告所述NLRI;
建立模块,用于根据所述NLRI及携带的隧道属性先后建立第一隧道和第二隧道,其中,所述第一隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播信令的交互,所述第二隧道用于IPv6组播孤岛之间穿越IPv4网络实现组播数据的交互;
传输模块,用于接收通过所述第二隧道传输的IPv6组播数据,并转发到用户端。
17.根据权利要求16所述的装置,其特征在于,所述获取模块,用于获取包括以下之一路由的所述NLRI:
1型路由,用于域内边缘设备的自动发现,其中,所述域内表示在同一区域***AS内;
2型路由,用于域间边缘设备的自动发现,其中,所述域间表示在不同区域***AS间;
3型路由,用于选择性IPv4组播业务隧道的创建;
4型路由,用于域间节点通告或者基于流量工程扩展的资源预留协议的点到多点标签交换路径RSVP-TE P2MP LSP隧道创建;
5型路由,用于IPv6组播源发现;
6型路由,用于(*,G)加入Join路由的通告;
7型路由,用于(S,G)加入Join路由的通告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310027314.6A CN103973459B (zh) | 2013-01-24 | 2013-01-24 | IPv6组播孤岛间的组播报文的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310027314.6A CN103973459B (zh) | 2013-01-24 | 2013-01-24 | IPv6组播孤岛间的组播报文的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973459A CN103973459A (zh) | 2014-08-06 |
CN103973459B true CN103973459B (zh) | 2018-11-23 |
Family
ID=51242529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310027314.6A Expired - Fee Related CN103973459B (zh) | 2013-01-24 | 2013-01-24 | IPv6组播孤岛间的组播报文的传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973459B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283796B (zh) * | 2014-10-23 | 2018-02-09 | 新华三技术有限公司 | 一种组播分发树建立方法和装置 |
CN106789635B (zh) * | 2016-03-25 | 2020-08-14 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106357541B (zh) * | 2016-09-09 | 2019-12-17 | 新华三技术有限公司 | 一种信息传递方法和装置 |
EP3890262B1 (en) | 2019-01-07 | 2023-05-31 | Huawei Technologies Co., Ltd. | Routing distributing method, device and system |
US11516115B2 (en) * | 2020-08-18 | 2022-11-29 | Juniper Networks, Inc. | Weighted multicast join load balance |
US11233741B1 (en) * | 2020-09-02 | 2022-01-25 | Juniper Networks, Inc. | Replication mode selection for EVPN multicast |
CN112187569B (zh) * | 2020-09-14 | 2022-05-10 | 南瑞集团有限公司 | 一种电力ng方式的组播vpn测试***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852236A (zh) * | 2005-09-28 | 2006-10-25 | 华为技术有限公司 | 一种在bgp/mpls vpn实现组播的方法 |
CN101001193A (zh) * | 2006-01-11 | 2007-07-18 | 华为技术有限公司 | 一种IPv6孤岛间组播部署方法及其设备 |
CN101155115A (zh) * | 2007-07-26 | 2008-04-02 | 杭州华三通信技术有限公司 | 一种自动隧道的实现方法及设备 |
CN102820977A (zh) * | 2012-08-07 | 2012-12-12 | 福建星网锐捷网络有限公司 | 组播方法、装置及网络设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031328B2 (en) * | 2003-03-10 | 2006-04-18 | Cisco Technology, Inc. | Arrangement for traversing an IPv4 network by IPv6 mobile routers |
-
2013
- 2013-01-24 CN CN201310027314.6A patent/CN103973459B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852236A (zh) * | 2005-09-28 | 2006-10-25 | 华为技术有限公司 | 一种在bgp/mpls vpn实现组播的方法 |
CN101001193A (zh) * | 2006-01-11 | 2007-07-18 | 华为技术有限公司 | 一种IPv6孤岛间组播部署方法及其设备 |
CN101155115A (zh) * | 2007-07-26 | 2008-04-02 | 杭州华三通信技术有限公司 | 一种自动隧道的实现方法及设备 |
CN102820977A (zh) * | 2012-08-07 | 2012-12-12 | 福建星网锐捷网络有限公司 | 组播方法、装置及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103973459A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973459B (zh) | IPv6组播孤岛间的组播报文的传输方法及装置 | |
EP3783849B1 (en) | Multicast data transmission method, related apparatus and system | |
JP7208386B2 (ja) | パケット転送方法、パケット送信装置、およびパケット受信装置 | |
US7957386B1 (en) | Inter-autonomous system (AS) multicast virtual private networks | |
US20070147372A1 (en) | Method for Implementing Multicast in Virtual Router-Based Virtual Private Network | |
US7925778B1 (en) | Method and apparatus for providing multicast messages across a data communication network | |
US8571029B1 (en) | Label switched path hierarchy for intra-area segments of inter-area point-to-multipoint label switched paths | |
US8619774B2 (en) | Method and apparatus for providing multicast messages within a virtual private network across a data communication network | |
US7733876B2 (en) | Inter-autonomous-system virtual private network with autodiscovery and connection signaling | |
Aggarwal et al. | BGP encodings and procedures for multicast in MPLS/BGP IP VPNs | |
CN109150730A (zh) | 组播跨域方法、装置、***及计算机可读存储介质 | |
WO2018072704A1 (zh) | 报文传输方法、装置、节点和计算机存储介质 | |
WO2021068641A1 (zh) | 基于IPv6网络的虚拟专用网络组播方法及电子设备 | |
CN100442770C (zh) | 一种在bgp/mpls vpn实现组播的方法 | |
US11063860B2 (en) | Control plane-based EVPN optimized inter-subnet multicast (OISM) forwarding | |
WO2021057788A1 (zh) | 一种反向路径转发rpf检查方法及装置 | |
US9100201B1 (en) | Inter-site PIM-dense mode and PIM-BSR support for MPLS/BGP IP VPNs | |
US20220094626A1 (en) | Method and Apparatus for Implementing Multicast | |
CN113630320B (zh) | 计算机网络内创建隧道的方法、入口网络装置及存储介质 | |
Verrydt et al. | Study of IPv6 Multicast Deployment in MPLS Netw | |
Rekhter et al. | Inter-Area Point-to-Multipoint (P2MP) Segmented Label Switched Paths (LSPs) | |
Rekhter et al. | RFC 7524: Inter-Area Point-to-Multipoint (P2MP) Segmented Label Switched Paths (LSPs) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181123 Termination date: 20210124 |