CN102820977A - 组播方法、装置及网络设备 - Google Patents
组播方法、装置及网络设备 Download PDFInfo
- Publication number
- CN102820977A CN102820977A CN2012102790195A CN201210279019A CN102820977A CN 102820977 A CN102820977 A CN 102820977A CN 2012102790195 A CN2012102790195 A CN 2012102790195A CN 201210279019 A CN201210279019 A CN 201210279019A CN 102820977 A CN102820977 A CN 102820977A
- Authority
- CN
- China
- Prior art keywords
- multicast
- message
- address
- equipment
- tunnel
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种组播方法、装置及网络设备。一种方法包括:接收组播报文,组播报文的目的IP地址为组播地址;根据组播地址查询隧道组播转发表,获取加入组播地址对应的组播组的客户边缘CE设备的IPv4地址;对组播报文进行6RD隧道封装处理,获得隧道封装组播报文,隧道封装组播报文的目的IP地址为CE设备的IPv4地址;将隧道封装组播报文发送给CE设备。本发明技术方案解决了跨越6RD隧道的IPv6孤岛的组播通信问题。
Description
技术领域
本发明涉及通信技术,尤其涉及一种组播方法、装置及网络设备。
背景技术
隧道(英文为tunnel)是指将一种协议封装在另一种协议中进行透明传输的技术,隧道技术要求隧道两端的设备支持这两种协议。互联网协议第6版本(Internet Protocol Version 6,简称为IPv6)穿越互联网协议第4版本(Internet Protocol Version 4,简称为IPv4)隧道技术利用现有IPv4网络为孤立的IPv6网络(简称为IPv6孤岛)提供了连通性,IPv6报文封装在IPv4报文中穿越IPv4网络,从而实现IPv6报文的透明传输。IPv6快速部署(IPv6Rapid Deployment,简称为6RD)隧道就是其中一种,属于自动隧道。
互联网服务提供商(Internet Service Provider,简称为ISP)通过建立一个6RD域,并为6RD域分配一个IPv6前缀。一个完整的6RD域由一系列客户边缘(Customer Edge,简称为CE)设备和边缘路由器(Border Router,简称为BR)组成,6RD隧道建立于CE设备与CE设备间或CE设备与BR间。BR位于IPv4网络和IPv6网络中间,负责在6RD域和其他IPv6网络之间中继报文。CE设备连接IPv6孤岛和IPv4网络,根据该6RD域的IPv6前缀和自己的IPv4地址为下联的IPv6孤岛生成IPv6子网前缀。
其他IPv6网络中的主机与该IPv6孤岛中的主机通信时,报文到达BR后,BR会从报文携带的IPv6子网前缀中提取嵌入的CE设备的IPv4地址,从而寻址到该CE设备。由此可见,分配给IPv6孤岛的IPv6子网前缀与连接该IPv6孤岛的CE设备的IPv4地址存在着一一映射关系。而单播通信中的IP地址唯一与一个主机对应,所以在6RD隧道上进行单播通信没有问题,但是组播通信不一样,组播源发送报文到一个组播组时对应着一系列主机,报文的目的地址为类似FF:/16的组播地址,无法根据目的地址寻址到CE设备,所以跨越6RD隧道的IPv6孤岛无法进行组播通信。
发明内容
本发明提供一种组播方法、装置及网络设备,用于解决跨越6RD隧道的IPv6孤岛的组播通信问题。
本发明一方面提供一种组播方法,包括:
边缘路由器BR接收组播报文,所述组播报文的目的IP地址为组播地址;
所述BR根据所述组播地址查询隧道组播转发表,获取加入所述组播地址对应的组播组的客户边缘CE设备的互联网协议第4版本IPv4地址;
所述BR对所述组播报文进行互联网协议第6版本IPv6快速部署6RD隧道封装处理,获得隧道封装组播报文,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
所述BR将所述隧道封装组播报文发送给所述CE设备。
本发明一方面还提供一种组播装置,设置于边缘路由器BR中,所述装置包括:
第一接收模块,用于接收组播报文,所述组播报文的目的IP地址为组播地址;
转发表管理模块,用于根据所述组播地址查询隧道组播转发表,获取加入所述组播地址对应的组播组的客户边缘CE设备的互联网协议第4版本IPv4地址;
隧道封装模块,用于对所述组播报文进行互联网协议第6版本IPv6快速部署6RD隧道封装处理,获得隧道封装组播报文,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
第一发送模块,用于将所述隧道封装组播报文发送给所述CE设备。
本发明另一方面提供一种组播方法,包括:
客户边缘CE设备接收边缘路由器BR发送的隧道封装组播报文,所述隧道封装组播报文是所述BR根据组播报文中的组播地址查询隧道组播转发表获取所述CE设备的IPv4地址后,对所述组播报文进行6RD隧道封装处理生成的,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
所述CE设备对所述隧道封装组播报文进行6RD隧道解封装处理,获取所述组播报文;
所述CE设备将所述组播报文发送给加入所述组播地址对应的组播组的主机,所述主机位于所述CE设备连接的IPv6孤岛中。
本发明另一方面还提供一种组播装置,设置于客户边缘CE设备中,所述装置包括:
第二接收模块,用于接收边缘路由器BR发送的隧道封装组播报文,所述隧道封装组播报文是所述BR根据组播报文中的组播地址查询隧道组播转发表获取所述组播装置的IPv4地址后,对所述组播报文进行6RD隧道封装处理生成的,所述隧道封装组播报文的目的IP地址为所述组播装置的IPv4地址;
解封装模块,用于对所述隧道封装组播报文进行6RD隧道解封装处理,获取所述组播报文;
第二发送模块,用于将所述组播报文发送给加入所述组播地址对应的组播组的主机,所述主机位于所述CE设备连接的IPv6孤岛中。
本发明又一方面提供一种网络设备,包括本发明一方面提供的任一组播装置,或包括本发明另一方面提供的任一组播装置。
本发明提供的组播方法、装置及网络设备,在BR上设置隧道组播转发表,用于存储组播地址与加入该组播地址对应的组播组的CE设备的IPv4地址,这样BR接收到组播报文之后就可以根据组播报文中的组播地址查找组播转发表,从该隧道组播转发表中获取对应的CE设备的IPv4地址,进而完成对组播报文的6RD隧道的封装,获得隧道封装组播报文,然后发送给CE设备,而CE设备接收到隧道封装组播报文后进行解封装处理,然后根据组播地址发送给加入该组播地址对应的组播组中的主机,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。
附图说明
图1A为本发明一实施例提供的由6RD域连接IPv6孤岛和IPv6骨干网络的网络架构;
图1B为本发明一实施例提供的组播方法的流程图;
图1C为本发明一实施例提供的使用哈希表实现的隧道组播转表的示意图;
图2A为本发明另一实施例提供的组播方法的流程图;
图2B为本发明另一实施例提供的组播加入消息/组播加入应答消息的结构示意图;
图3为本发明又一实施例提供的组播方法的流程图;
图4A为本发明又一实施例提供的组播方法的流程图;
图4B为本发明又一实施例提供的单播地址请求消息/单播地址应答消息的结构示意图;
图5A为本发明又一实施例提供的组播方法的流程图;
图5B为本发明又一实施例提供的组播能力请求消息/组播能力应答消息的结构示意图;
图6为本发明又一实施例提供的组播方法的流程图;
图7为本发明又一实施例提供的组播方法的流程图;
图8为本发明又一实施例提供的组播方法的流程图;
图9为本发明又一实施例提供的组播方法的流程图;
图10为本发明一实施例提供的从CE设备和BR交互的角度描述的组播方法的流程图;
图11为本发明一实施例提供的传输组播报文的6RD域的结构示意图;
图12为本发明一实施例提供的组播装置的结构示意图;
图13为本发明另一实施例提供的组播装置的结构示意图;
图14为本发明又一实施例提供的组播装置的结构示意图。
具体实施方式
6RD隧道属于一种自动隧道,是一种可以基于现有网络架构使IPv6用户快速接入IPv6骨干网络的机制,具有自动寻址隧道端点地址的特点。为了建立6RD隧道,ISP需要首先建立一个6RD域,一个完整的6RD域通常包括一系列CE设备和BR,图1A所示为由6RD域连接IPv6孤岛和IPv6骨干网络的网络架构。图1A中的CE设备11、CE设备12和BR13组成了6RD域。ISP还会为该6RD域分配一个IPv6网络前缀,CE设备11和CE设备12根据该IPv6网络前缀和自身面向IPv4网络的IPv4地址联合为下联的IPv6孤岛分配IPv6子域前缀,实现对6RD域的IPv6网络前缀的子网化。如图1A所示,CE设备11下联第一IPv6孤岛,CE设备12下联第二IPv6孤岛,BR13连接IPv6骨干网络。在此说明,BR13除了可以连接IPv6骨干网络之外,还可以连接其他IPv6网络。本发明以下实施例中所述IPv6网络可以是IPv6骨干网络,也可以是IPv6孤岛或IPv6域。
6RD隧道建立于CE设备与CE设备间或CE设备与BR之间。以图1A所示架构为例,在CE设备11与CE设备12之间、CE设备11与BR13之间和CE设备12与BR13之间可以建立6RD隧道,图1A中的虚线所示为CE设备11与BR13之间、CE设备11与BR13之间和CE设备12与BR13之间建立的6RD隧道。在进行6RD隧道建立时,需要给CE设备配置以下参数:
(1)CE设备在广域网(Wide Area Network,简称为WAN)侧的IPv4地址;这里的WAN侧是指IPv4网络一侧。
(2)6RD域IPv4通用前缀长度:整个6RD域中所有CE设备和BR隧道源地址的共同前缀。这里的源地址是指经6RD隧道封装后的外层报文的源地址。
(3)6RD域IPv4通用后缀长度:整个6RD域中所有CE设备/BR隧道源地址的共同后缀。
(4)6RD前缀:分配给该6RD域的IPv6网络前缀。
(5)6RD BR IPv4地址:6RD域中位于边界的BR的IPv4地址。
CE设备使用以上参数可以生成IPv6子域前缀,分配给下联的IPv6孤岛中的主机使用,其他IPv6网络中的主机与该IPv6孤岛中的主机通信,则通过该IPv6子域前缀寻址到该CE设备。以图1A所示架构为例,假设ISP分配给该6RD域中的6RD前缀为2001:da8::/32,而该6RD前缀分配给该6RD域中的CE设备11和CE设备12后,CE设备11和CE设备12分别按它对应的WAN侧IPv4地址合成出一个IPv6子域前缀,分配给下联的第一IPv6孤岛和第二IPv6孤岛。其中,CE设备11的WAN侧IPv4地址为10.1.1.1(对应16进制为a01:101),故CE设备11分配给第一IPv6孤岛的IPv6子域前缀为2001:da8:a01:101::/64,其他IPv6网络(例如IPv6骨干网络或第二IPv6孤岛)中的主机凡是与第一IPv6孤岛中的主机通信,都能通过2001:da8:a01:101::/64前缀寻址到CE设备11。例如,IPv6骨干网络中有一台主机2003::2想要与第一IPv6孤岛中的主机2001:da8:a01:101::2进行通信,其中IPv6报文到达BR13进行6RD隧道封装时,BR13直接从IPv6报文的目的IP地址中提取出嵌入的IPv4地址a01:101(十进制为10.1.1.1)作为隧道封装后报文的目的IP地址,将报文封装为IPv4报文,然后IPv4报文会在IPv4网络中寻址到6RD隧道的终点CE设备11,IPv4报文到达CE设备11后,CE设备11经过6RD隧道解封装处理,将获取的IPv6报文转发给第一IPv6孤岛中的主机。
通过以上6RD隧道的寻址方式可以得知,BR到CE设备或CE设备到CE设备对报文进行隧道封装时,需要从IPv6报文的目的IP地址中提取出嵌入的IPv4地址作为隧道封装后的目的IP地址。在6RD隧道上进行单播通信没有问题,因为单播IP地址唯一与一个主机对应,而组播通信不一样,组播源发送IPv6报文到一个组播组是对应着一系列主机。如果组播源位于IPv6骨干网络,而加入该组播组的主机位于IPv6孤岛,IPv6骨干网络与IPv6孤岛之间通过6RD域连接,则BR接收到组播报文时,由于组播报文的目的地址是类似FF0E::2的组播地址,BR无法根据组播地址识别出加入该组播组的主机,无法寻址到相应的CE设备,所以无法完成组播报文的传输,这样跨越6RD隧道的IPv6孤岛就无法进行组播通信。基于此,本发明以下实施例提供了解决该问题的技术方案。
图1B为本发明一实施例提供的组播方法的流程图。本实施例的执行主体可以是6RD域中的BR,但不限于此。如图1B所示,本实施例的方法包括:
步骤101、接收组播报文,该组播报文的目的IP地址为组播地址。
步骤102、根据组播地址查询隧道组播转发表,获取加入组播地址对应的组播组的CE设备的IPv4地址。
步骤103、对组播报文进行6RD隧道封装处理,获得隧道封装组播报文,该隧道封装组播报文的目的IP地址为CE设备的IPv4地址。
步骤104、将隧道封装组播报文发送给CE设备。
在本实施例中,BR上预先建立隧道组播转发表(可记为mFIB),该隧道组播转发表用于存储6RD域中加入组播组的CE设备的IPv4地址(即CE设备在WAN侧的IPv4地址)以及CE设备所加入的组播组对应的组播地址之间的对应关系。本发明各实施例中所述的CE设备加入组播组更为具体的是指CE设备下联的IPv6孤岛中的主机加入该组播组。其中,6RD域中的多个CE设备可能同时加入同一组播组(也就是说不同CE设备下联的IPv6孤岛中的主机可能加入同一组播组),则隧道组播转发表中存储的组播地址与CE设备的IPv4地址的对应关系包括:该同一组播地址与多个CE设备的IPv4地址之间的对应关系。另外,6RD域中的CE设备还可能加入多个不同的组播组,则隧道组播转发表中就存储有每个组播组对应的组播地址与所加入该组播组的CE设备的IPv4地址之间的对应关系。这样通过隧道组播转发表就可以获知哪些CE设备映射到哪些组播组。在此说明,本发明各实施例中,所述的组播组对应的组播地址实际上是指组播组的地址。
隧道组播转发表的实现形式可以是一个链表、哈希表、或者数据库等。以哈希表实现为例,其组织形式如图1C所示。哈希表的每一项包括下一个指针(next)、组播地址(即对应组播组的地址)和CE列表,在CE列表中可能包括至少一个CE设备,通过指针指向每个CE设备的IPv4地址。
其中,上述隧道组播转发表可以由管理员或用户预先手动配置在BR上,但不限于此。例如,该隧道组播转发表还可以由CE设备和BR自动协商建立,该方法在后续实施例中进行详细说明。
基于上述,BR可以接收组播源发送的组播报文。可选的,如果组播源与BR直连,则BR可以接收组播源直接发送的组播报文。如果组播源经过中间设备与BR连接,则BR接收由中间设备转发的组播报文。组播报文的目的IP地址为组播地址。在此说明,本发明各实施例中的组播报文为IPv6组播报文。
BR接收到组播报文之后,根据组播报文的目的IP地址可以识别出接收到的是组播报文,则根据组播报文中的组播地址去查找隧道组播转发表,从隧道组播转发表中获取加入该组播地址对应的组播组的CE设备的IPv4地址。这里获得到的CE设备的IPv4地址可能是一个,也可能是两个或两个以上。
然后,BR根据获取到的CE设备的IPv4地址对组播报文进行6RD隧道封装处理,获得隧道封装组播报文。对组播报文进行6RD隧道封装处理主要是为该组播报文封装IPv4报头,获得的隧道封装组播报文的目的IPv4地址为上述CE设备的IPv4地址,源IPv4地址为该BR的单播IPv4地址。
在此说明,如果上述获取到多个CE设备的IPv4地址,则BR需要根据CE设备的IPv4地址的个数,对组播报文进行复制,然后对每个组播报文进行6RD隧道封装处理,一个组播报文对应一个CE设备的IPv4地址。
之后,BR将隧道封装组播报文发送给相应地CE设备。由于隧道封装组播报文的目的IPv4地址为CE设备的IPv4地址,所以可以在6RD域中寻址到CE设备。CE设备接收到隧道封装组播报文之后,对隧道封装组播报文进行6RD隧道解封装处理,即将隧道封装组播报文的IPv4报头去掉,获得组播报文,然后将组播报文发送给加入该组播组的主机。在本实施例中,加入该组播地址对应的组播组中的主机位于该CE设备连接的IPv6孤岛中。
由上述可见,本实施例在BR上设置隧道组播转发表,用于存储组播地址与加入该组播地址对应的组播组的CE设备的IPv4地址,这样BR接收到组播报文之后就可以根据组播报文中的组播地址查找组播转发表,从该隧道组播转发表中获取对应的CE设备的IPv4地址,进而完成对组播报文的6RD隧道的封装,获得隧道封装组播报文,然后发送给CE设备,实现了组播报文对6RD隧道的穿越,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。进一步,本实施例使得IPv6孤岛中的主机可以使用基于组播的业务,例如互联网电视(Internet ProtocolTelevision,简称为IPTV)等,有利于扩大6RD隧道的应用范围。
在本实施例的一可选实施方式中,如图2A所示,步骤101之前包括:
步骤201、接收CE设备发送的组播加入消息,该组播加入消息包括CE设备的IPv4地址和组播地址;其中,该组播加入消息是CE设备根据收到的组播侦听发现协议(Multicast Listener Discover,简称为MLD)报告消息生成的,该MLD报告消息包括该组播地址。
步骤202、将组播地址和CE设备的IPv4地址加入隧道组播转发表。
步骤203、向CE设备发送组播加入确认消息。
具体的,CE设备连接的IPv6孤岛中的主机需要申请加入组播组时,向CE设备发送MLD报告消息,并在MLD报告消息中携带所要加入组播组的组播地址。CE设备收到MLD报告消息后,根据该MLD报告消息生成组播加入消息,并将组播加入消息发送给BR,以与BR进行组播协商。该组播加入消息中包括MLD报告消息中的组播地址和CE设备IPv4地址。其中,CE设备的IPv4地址为该组播加入消息的源IP地址。该组播加入消息属于IPv4报文。
相应地,BR接收CE设备发送的组播加入消息。在接收到组播加入消息后,BR会对该组播加入消息进行解析,获取其中的组播地址和CE设备的IPv4地址。在获取到组播地址和CE设备的IPv4地址后,BR会将该组播地址和CE设备的IPv4地址加入隧道组播转发表中。如果此时尚不存在组播隧道转发表,则BR可以建立隧道组播转发表,并将获取到的组播地址和CE设备的IPv4地址加入隧道组播转发表中。然后,BR向CE设备返回组播加入确认消息,以使CE设备获知可以开展组播业务。
在一可选实施方式中,CE设备还可以向BR发送组播退出消息,以请求退出所加入的组播组。在该组播退出消息中包括申请退出的组播组的组播地址。相应地,BR收到组播退出消息后,可以根据组播地址查找隧道组播转表,从中获取加入该组播地址对应的组播组的CE设备的IPv4地址,将获取的CE设备的IPv4地址删除,如果加入该组播组的全部CE设备都退出,则BR还可以将隧道组播转发表中的该组播地址一并删除。然后,BR向CE返回组播退出应答消息,以使CE设备获知成功退出组播组。
本实施例并不限定组播加入消息、组播加入应答消息、组播退出消息、组播退出应答消息的实现格式。上述消息的一种优选实现格式如图2B所示,包括以下字段:IP头、源端口、目的端口、UDP长度、UDP校验和、类型(英文为type)、能力标识(如图2B中的M所示)、保留、魔术字(英文为MagicNumber)和组播地址(英文为Group address)等。
其中,通过类型字段的取值可以区分组播加入消息、组播加入应答消息、组播退出消息和组播退出应答消息。例如,当Type为0x05时,表示该消息为组播加入消息,当Type为0x06时,表示该消息为对组播加入消息的应答,即组播加入应答消息;当Type为0x07时,表示该消息为组播退出消息,当Type为0x08时,表示该消息为对组播退出消息的应答,即组播退出应答消息。在组播加入消息、组播加入应答消息、组播退出消息和组播退出应答消息中,M位可以置为0,不做使用。保留字段不使用。魔术字字段填充长度为32bit的魔术字,用来唯一的标识一对请求消息和应答消息,例如,如果请求消息中的魔术字为0x05,则对应该请求消息的应答消息中的魔术字也填充为0x05。组播地址字段用于填充请求加入或退出的组播组的组播地址。
该实施方式为BR与CE设备相互交互,动态建立隧道组播转发表的过程,可以根据主机加入组播组的情况随时进行隧道组播转发表的建立或更新,比较灵活,且效率较高。
在本实施例的一可选实施方式中,步骤202之后还包括:将组播地址和6RD隧道接口的标识加入组播路由表中。
在本实施例的BR上,除了存在隧道组播转发表之外,还包括组播路由表,该组播路由表用于将接收到的组播报文指向6RD隧道接口,以便于在6RD隧道接口上对组播报文进行隧道处理。该组播路由表中存储有组播地址与6RD隧道接口的标识。其中,该6RD隧道接口为一虚拟接口,用于标识需要对组播报文进行6RD隧道封装处理等操作。因此,为了使得后续接收到组播报文时,能够将组播报文发送到6RD隧道接口上,BR还将组播地址与6RD隧道接口的标识作为6RD隧道转发表项存储到组播路由表中。
基于此,如图3所示,本实施例的组播方法在步骤102之前可以包括:
步骤101a、对组播报文进行解析,获取组播地址。
步骤101b、根据组播地址查询组播路由表,获取6RD隧道接口的标识。
步骤101c、根据6RD隧道接口的标识将组播报文发送到6RD隧道接口,以在6RD接口上对组播报文进行隧道处理。这里的隧道处理包括但不限于:步骤102根据组播地址查询隧道组播转发表获取CE设备的IPv4地址的操作,步骤103对组播报文进行的6RD隧道封装处理,获取隧道封装组播报文的操作,以及步骤104将隧道封装组播报文发送给CE设备的操作。
该实施方式有利于BR将对需要进行隧道封装和不需要进行隧道封装的报文的处理分开,有利于BR对接收到的各种报文和6RD隧道进行管理。
在本实施例的一可选实施方式中,上述组播加入消息的目的IP地址为BR的单播IPv4地址,则如图4A所示,步骤201之前包括:
步骤301、接收CE设备发送的单播地址请求消息。
步骤302、向CE设备发送单播地址应答消息,该单播地址应答消息包括BR的单播IPv4地址。
该实施方式描述的是BR与CE设备通过交互,BR向CE设备提供其单播IPv4地址的过程。其中,如果6RD域中同时存在多个BR,则CE设备上配置的BR IPv4地址可能是任播IPv4地址,也就是说通过该IPv4地址,CE设备发送的消息会到达6RD域中一个较优的BR,CE设备在不同时刻发送的消息可能会到达不同的BR。在本实施例中,CE设备优选与唯一的BR进行交互,该BR是存储有该CE设备的IPv4地址与其所加入的组播组的组播地址的对应关系的BR。故在CE设备与BR开展组播业务之前,CE设备向BR发送单播地址请求消息,以请求BR的单播IPv4地址。其中,通过BR的单播IPv4地址,CE设备发送的各种消息唯一到达该BR。相应地,BR接收CE设备发送的单播地址请求消息,然后将自身的单播IPv4地址添加在单播地址应答消息中发送给CE设备。CE设备接收单播地址应答消息,对其进行解析,从中获取BR的单播IPv4地址,并在本地进行存储。基于此,BR发送给CE设备的隧道封装组播报文的源IP地址可以是BR的单播IPv4地址。除了通过将BR的单播IPv4地址作为消息内容封装在单播地址应答消息中提供给CE设备之外,BR还可以向CE设备发送内容为空的单播地址应答消息,该单播地址应答消息的源IP地址为BR的单播IPv4地址,则CE设备还可以通过提取单播地址应答消息的源IP地址,获得BR的单播IPv4地址。
本实施例并不限定单播地址请求消息、单播地址应答消息的实现格式。上述消息的一种优选实现格式如图4B所示,包括以下字段:IP头、源端口、目的端口、UDP长度、UDP校验和、类型(英文为type)、能力标识(如图4B中的M所示)、保留、魔术字(英文为Magic Number)和BR地址(英文为BR address)等。
其中,通过类型字段的取值可以区分单播地址请求消息和单播地址应答消息。例如,当Type为0x03时,表示该消息为单播地址请求消息,当Type为0x04时,表示该消息为对单播地址请求消息的应答,即单播地址应答消息。在单播地址请求消息和单播地址应答消息中,M位可以置为0,不做使用。保留字段不使用。魔术字字段填充长度为32bit的魔术字,用来唯一的标识一对请求消息和应答消息。BR地址字段在单播地址请求消息中填充为0,在单播地址应答消息中填充BR的单播IPv4地址。
在本实施例的一可选实施方式中,如图5A所示,步骤301之前包括:
步骤401、接收CE设备发送的组播能力请求消息。该组播能力请求消息的源IP地址为CE设备IPv4地址,目的IP地址为配置的BR IPv4地址。
步骤402、向CE设备发送组播能力应答消息,该组播能力应答消息携带有BR支持6RD组播的能力标识。
基于此,CE设备可以根据接收到的能力标识,确定BR具有支持6RD组播的能力,并在确定向BR具有支持6RD组播的能力之后向BR发送单播地址请求消息,以请求BR的单播IPv4地址,
该实施方式主要描述了CE设备与BR通过交互,动态进行组播能力协商,这样可以使CE设备和BR直接更加灵活的能力配置。
本实施例并不限定组播能力请求消息、组播能力应答消息的实现格式。上述消息的一种优选实现格式如图5B所示,包括以下字段:IP头、源端口、目的端口、UDP长度、UDP校验和、类型(英文为type)、能力标识(如图5B中的M所示)、保留和魔术字(英文为Magic Number)等。
其中,通过类型字段的取值可以区分组播能力请求消息和组播能力应答消息。例如,当Type为0x01时,表示该消息为组播能力请求消息,当Type为0x02时,表示该消息为对组播能力请求消息的应答,即组播能力应答消息。M比特(bit)在组播能力请求消息中置0,在组播能力应答消息中表示BR是否支持6RD组播的能力,置1表示BR支持6RD组播,置0表示不支持6RD组播。保留字段不使用。魔术字字段填充长度为32bit的魔术字,用来唯一的标识一对请求消息和应答消息。
在此说明,上述过程中,CE设备与BR之间的交互可以采用用户数据报协议(User Datagram Protocol,简称为UDP)协议,但不限于此。
图6为本发明又一实施例提供的组播方法的流程图。如图6所示,本实施例的方法包括:
步骤601、CE设备接收BR发送的隧道封装组播报文,该隧道封装组播报文是BR根据组播报文中的组播地址查询隧道组播转发表获取该CE设备的IPv4地址后,对该组播报文进行6RD隧道封装处理生成的,该隧道封装组播报文的目的IP地址为该CE设备的IPv4地址。
步骤602、CE设备对隧道封装组播报文进行6RD隧道解封装处理,获取组播报文。
步骤603、CE设备将组播报文发送给加入该组播地址对应的组播组的主机,上述主机位于CE设备连接的IPv6孤岛中。
在本实施例中,CE设备接收到的报文是由BR发送的,对组播报文进行6RD隧道封装处理后生成的隧道封装组播报文。该隧道封装组播报文中封装的是组播报文,而不是单播报文。其中,BR对组播报文进行6RD隧道封装处理之前获取CE设备的IPv4地址的过程并不像从单播报文的目的IP地址中直接提取,而是根据组播报文中的组播地址从隧道组播转发表中去获取。CE设备获取到隧道封装组播报文后,对其进行6RD隧道解封装主要是指去掉隧道封装组播报文的IPv4报头,获取其中的组播报文。然后,CE设备需要根据组播报文中的组播地址,将组播报文发送给加入该组播地址对应的组播组中的主机。其中,CE设备发送组播报文的方式是组播方式,而不是单播方式。
本实施例从CE设备的角度描述了跨6RD隧道传输组播报文的流程,可见CE设备与BR相配合,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。进一步,本实施例使得IPv6孤岛中的主机可以使用基于组播的业务,例如IPTV等,有利于扩大6RD隧道的应用范围。
在本实施例的一可选实施方式中,如图7所示,在步骤601之前包括:
步骤701、CE设备接收上述主机发送的MLD报告消息,上述MLD报告消息包括上述组播地址。
步骤702、CE设备根据上述MLD报告消息生成组播加入消息,所述组播加入消息包括CE设备的IPv4地址和组播地址。
步骤703、CE设备向BR发送组播加入消息。
步骤704、CE设备接收BR发送的组播加入确认消息。
该实施方式的详细描述可参见图2A所示实施例,在此不再赘述。
该实施方式为CE设备与BR相互交互,使BR动态建立隧道组播转发表的过程,可以根据主机加入组播组的情况随时进行隧道组播转发表的建立或更新,比较灵活,且效率较高。
在本实施例的一可选实施方式中,上述组播加入消息的目的IP地址为BR的单播IPv4地址,则如图8所示,在步骤701之前包括:
步骤801、CE设备向BR发送单播地址请求消息。
步骤802、CE设备接收BR发送的单播地址应答消息,该单播地址应答消息包括BR的单播IPv4地址。
该实施方式描述的是CE设备与BR通过交互,CE设备向BR请求BR的单播IPv4地址的过程。该实施方式的详细描述可参见图4A所示实施例,在此不再赘述。
在本实施例的一可选实施方式中,如图9所示,步骤801之前包括:
步骤901、CE设备向BR发送组播能力请求消息。
步骤902、CE设备接收BR发送的组播能力应答消息,该组播能力应答消息携带有BR支持6RD组播的能力标识。
基于此,CE设备在根据上述能力标识确定BR具有支持6RD组播的能力之后,向BR发送单播地址请求消息。
该实施方式主要描述了CE设备与BR通过交互,动态进行组播能力协商,这样可以使CE设备和BR直接更加灵活的能力配置。该实施方式的详细描述可参见图5A所示实施例,在此不再赘述。
上述实施例分别从BR的角度和CE设备的角度描述了本发明提供的组播方法的流程。图10所示实施例将从CE设备和BR交互的角度对组播方法的完整流程进行描述。如图10所示,本实施例的方法包括:
步骤1a、BR在6RD隧道接口激活(UP)后,在本地UDP 3999端口监听该6RD域中所有CE设备发送的组播能力请求消息。
步骤1b、CE设备在6RD隧道接口UP后,向BR发送组播能力请求消息。该组播能力请求消息的格式如图5B所示,UDP源端口随机选择,UDP目的端口为3999。
步骤1c、BR接收到CE设备发送的组播能力请求消息后,向CE设备发送组播能力应答消息,告知CE设备其自身是否具有支持6RD组播的能力。该组播能力应答消息的格式如图5B所示,UDP源端口为3999,目的端口为组播能力请求消息中的源端口。该组播能力应答消息携带有BR是否支持6RD组播的能力标识。
步骤1d、如果BR具有支持6RD组播的能力,则CE设备继续向BR发送单播地址请求消息,以向BR请求BR的单播IPv4地址。该单播地址请求消息的格式如图4B所示,UDP源端口随机选择,UDP目的端口为3999。
步骤1e、BR接收到单播地址请求消息后,向CE设备发送单播地址应答消息,该单播地址应答消息包括BR自身的单播IPv4地址。该单播地址应答消息的格式如图4B所示,UDP源端口为3999,目的端口为单播地址请求消息中的源端口。
步骤1f、CE设备接收到BR发送的单播地址应答消息后,将其中BR的单播IPv4地址存储下来,用于后续和BR进行组播加入协商。
步骤2a、CE设备接收CE设备侧的IPv6孤岛中的主机发送的MLD报告消息,该MLD报告消息包括主机请求加入组播组的组播地址。
步骤2b、CE设备根据MLD报告消息生成组播加入组消息,该组播加入消息包括CE设备的IPv4地址和上述组播地址。该组播加入消息的格式如图2B所示,UDP源端口随机选择,UDP目的端口为3999。
步骤2c、CE设备向BR发送组播加入消息,并启动一个消息重发定时器,定时时间为预设时间,例如可以为10秒,但不限于此。
步骤2d、BR接收到组播加入消息后,对该组播加入消息进行解析识别,当识别到这是一个请求加入组播组的消息时,将该组播加入消息中的组播地址和CE设备的IPv4地址加入到隧道组播转发表中。
步骤2e、BR向CE设备发送一个组播加入确认消息,该组播加入确认消息的格式如图2B所示,UDP源端口为3999,目的端口为组播加入请求消息中的源端口。
步骤2f、BR在组播路由表中加入一条6RD隧道接口对应的转发表项,即将6RD隧道接口的标识和组播地址加入到组播路由表中。
步骤2g、CE设备接收到BR发送到的组播加入确认消息后,取消重发定时器。
在此说明,如果在重发定时器定时结束后,尚未接收到组播加入确认消息,CE设备重新向BR发送组播加入请求消息,并重启重发定时器。
步骤3a、BR接收其他IPv6网络中的组播源发送的组播报文。
其中,组播源可以直接将组播报文发送给BR,也可以经过了其他设备转发。该组播报文的目的IP地址为组播地址。
步骤3b、BR根据组播报文的源端口、源IP地址和目的IP地址查询组播路由,查找到出接口是6RD隧道接口,将组播报文送到6RD隧道接口上以进行隧道处理,BR根据组播报文的目的IP地址查找隧道组播转发表,获取加入该组播地址对应的组播组的CE设备的IPv4地址,然后将组播报文封装为隧道封装组播报文,隧道封装组播报文的源IP地址为BR的单播IPv4地址,目的IP地址为CE设备的IPv4地址。在该过程中,如果加入该组播组的CE设备有多个,则BR会根据CE设备C设备的个数复制组播报文,将组播报文逐个进行6RD隧道封装处理。
步骤3c、BR将隧道封装组播报文发送给CE设备。
步骤3d、CE设备接收到隧道封装组播报文后,对隧道封装组播报文进行解封装,将解封装得到的组播报文转发给加入该组播组的主机。具体的,CE设备将解封装得到的组播报文重新投递回IP队列,继续进行路由转发,最终将组播报文转发给加入该组播组的主机。
由上述可见,本实施例在BR上设置隧道组播转发表,用于存储组播地址与加入该组播地址对应的组播组的CE设备的IPv4地址,这样BR接收到组播报文之后就可以根据组播报文中的组播地址查找组播转发表,从该隧道组播转发表中获取对应的CE设备的IPv4地址,进而完成对组播报文的6RD隧道的封装,获得隧道封装组播报文,然后发送给CE设备,实现了组播报文对6RD隧道的穿越,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。进一步,本实施例使得IPv6孤岛中的主机可以使用基于组播的业务,例如IPTV等,有利于扩大6RD隧道的应用范围。
图11为本发明一实施例提供的传输组播报文的6RD域的结构示意图。如图11所示,处于IPv6骨干网络中的主机120(其IP地址为2003::2)为组播源,向组播组FF0E::2发送组播报文,处于6RD孤岛中的主机121、主机122和主机125加入了组播组FF0E::2。另外,在6RD孤岛中还包括主机123、主机124、主机126和主机127。主机121、主机122和主机127分别与CE111、CE112和CE115连接,主机123和主机124与CE113连接,主机125和主机126与CE114连接。
主机120发送的组播报文源IP地址和目的IP地址分别为2003::2和FF0E::2,组播报文经过组播路由后到达BR130进行6RD隧道封装,BR130查询隧道组播转发表,根据隧道组播转发表获取到组播的下游节点有CE111、CE112和CE114,于是将组播报文复制3份,分别进行6RD隧道封装,转发给CE111、CE112和CE114,CE114接收到封装后的组播报文后,进行6RD隧道解封装,获取组播报文,然后将获取的组播报文进行组播路由转发,最终将组播报文转发给主机121、主机122、主机125、主机126,整个传输路径如图11中带箭头的实线所示。在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题,使得IPv6孤岛中的主机可以使用基于组播的业务,例如IPTV等,有利于扩大6RD隧道的应用范围。
图12为本发明一实施例提供的组播装置的结构示意图。如图12所示,本实施例的装置包括:第一接收模块131、转发表管理模块132、隧道封装模块133和第一发送模块134。
第一接收模块131,用于接收组播报文,所述组播报文的目的IP地址为组播地址。
转发表管理模块132,与第一接收模块131连接,用于根据第一接收模块131接收到的组播地址查询隧道组播转发表,获取加入该组播地址对应的组播组的CE设备的IPv4地址。
隧道封装模块133,与转发表管理模块132连接,用于对组播报文进行6RD隧道封装处理,获得隧道封装组播报文,该隧道封装组播报文的目的IP地址为转发表管理模块132获取的CE设备的IPv4地址。
第一发送模块134,与隧道封装模块133连接,用于将隧道封装模块133获得的隧道封装组播报文发送给CE设备。
在本实施例的一可选实施方式中,第一接收模块131还用于接收CE设备发送的组播加入消息,该组播加入消息包括CE设备的IPv4地址和组播地址;其中,该组播加入消息是CE设备根据接收到的MLD报告消息生成的,该MLD报告消息包括所述组播地址。
相应地,转发表管理模块132还用于将第一接收模块131接收到的组播加入消息中的组播地址和CE设备的IPv4地址加入隧道组播转发表。
相应地,第一发送模块134还用于向CE设备发送组播加入确定消息。
在本实施例的一可选实施方式中,如图13所示,本实施例的组播装置还包括:组播路由管理模块135。组播路由管理模块135,与第一接收模块131连接,用于将第一接收模块131接收到的组播加入消息中的组播地址和本实施例的组播装置的6RD隧道接口的标识加入组播路由表中。
在本实施例的一可选实施方式中,上述组播加入消息的目的IP地址为BR的单播IPv4地址,则第一接收模块131还用于接收CE设备发送的单播地址请求消息。相应地,第一发送模块134还用于向CE设备发送单播地址应答消息,该单播地址应答消息包括本实施例的组播装置的单播IPv4地址。
在本实施例的一可选实施方式中,第一接收模块131还用于接收CE设备发送的组播能力请求消息。相应地,第一发送模块134还用于向CE设备发送组播能力应答消息,该组播能力应答消息携带有本实施例的组播装置支持6RD组播的能力标识。基于此。上述单播地址请求消息是CE设备在根据所述能力标识确定本实施例的组播装置具有支持6RD组播的能力之后发送的。
在本实施例的一可选实施方式中,如图13所示,本实施例的装置还包括:解析模块136、查询模块137和转发模块138。
解析模块136,与第一接收模块131连接,用于对第一接收模块131接收到的组播报文进行解析,获取其中的组播地址。
查询模块137,与解析模块136连接,用于根据解析模块137解析出的组播地址查询组播路由表,获取6RD隧道接口的标识。
转发模块138,与查询模块137连接,用于根据查询模块137获取的6RD隧道接口的标识将组播报文发送到6RD隧道接口,以在6RD接口上对组播报文进行隧道处理。基于此,转发表管理模块132、隧道封装模块133在6RD接口上对组播报文进行相应处理。
在此说明,上述解析模块136除了解析第一接收模块131接收到的组播报文之外,还可以对第一接收模块131接收到的组播加入消息、单播地址请求消息、组播能力请求消息等进行解析处理。
本实施例提供的组播装置可用于执行图1B、图2A、图3、图4A、图5A所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的组播装置可以设置于BR中实现,但不限于此。
本发明提供的组播装置,通过设置隧道组播转发表,用于存储组播地址与加入该组播地址对应的组播组的CE设备的IPv4地址,这样在接收到组播报文之后就可以根据组播报文中的组播地址查找组播转发表,从该隧道组播转发表中获取对应的CE设备的IPv4地址,进而完成对组播报文的6RD隧道的封装,获得隧道封装组播报文,然后发送给CE设备,而CE设备接收到隧道封装组播报文后进行解封装处理,然后根据组播地址发送给加入该组播地址对应的组播组中的主机,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。
图14为本发明又一实施例提供的组播装置的结构示意图。如图14所示,本实施例的装置包括:第二接收模块141、解封装模块142和第二发送模块143。
其中,第二接收模块141,用于接收边BR发送的隧道封装组播报文,所述隧道封装组播报文是BR根据组播报文中的组播地址查询隧道组播转发表获取所述组播装置的IPv4地址后,对组播报文进行6RD隧道封装处理生成的,所述隧道封装组播报文的目的IP地址为本实施例的组播装置的IPv4地址。
解封装模块142,与第二接收模块141连接,用于对第二接收模块141接收到的隧道封装组播报文进行6RD隧道解封装处理,获取其中的组播报文。
第二发送模块143,与解封装模块142连接,用于将解封装模块142获取的组播报文发送给加入上述组播地址对应的组播组的主机,加入该组播地址对应的组播组中的主机位于本实施例的组播装置连接的IPv6孤岛中。
在本实施例的一可选实施方式中,第二接收模块141还用于接收上述主机发送的MLD报告消息,所述MLD报告消息包括上述组播地址。
相应地,本实施例的装置还包括:生成模块144。生成模块144,与第二接收模块141连接,用于根据第二接收模块141接收到的MLD报告消息生成组播加入消息,所述组播加入消息包括本实施例的组播装置的IPv4地址和上述组播地址。第二发送模块143还与生成模块144连接,还用于向BR发送生成模块144生成的组播加入消息。第二接收模块141还用于接收BR发送的组播加入确认消息。
在本实施例的一可选实施方式中,上述组播加入消息的目的IP地址为BR的单播IPv4地址,则第二发送模块143还用于向BR发送单播地址请求消息。相应地,第二接收模块141还用于接收BR发送的单播地址应答消息,所述单播地址应答消息包括BR的单播IPv4地址。
在本实施例的一可选实施方式中,第二发送模块143还用于向BR发送组播能力请求消息。相应地,第二接收模块141还用于接收BR发送的组播能力应答消息,所述组播能力应答消息携带有BR支持6RD组播的能力标识。则第二发送模块143具体用于在根据所述能力标识确定BR具有支持6RD组播的能力之后,向BR发送单播地址请求消息。
本实施例提供的组播装置的各功能模块可用于执行图6-图9所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的组播装置可以设置于CE设备中实现,但不限于此。
本实施例的组播装置,通过与上述实施例提供的组播装置相配合,在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。进一步,本实施例使得IPv6孤岛中的主机可以使用基于组播的业务,例如IPTV等,有利于扩大6RD隧道的应用范围。
本发明一实施例提供一种网络设备,包括图12或图13所示实施例提供的组播装置。关于组播装置的结构和工作原理在此不再赘述。
本实施例的网络设备也可以执行上述方法实施例提供的流程,同样可以在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。
本发明另一实施例提供一种网络设备,包括图14所示实施例提供的组播装置。关于组播装置的结构和工作原理在此不再赘述。
本实施例的网络设备也可以执行上述方法实施例提供的流程,同样可以在6RD隧道中实现了组播报文的传输,解决了跨越6RD隧道的IPv6孤岛的组播通信问题。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种组播方法,其特征在于,包括:
边缘路由器BR接收组播报文,所述组播报文的目的IP地址为组播地址;
所述BR根据所述组播地址查询隧道组播转发表,获取加入所述组播地址对应的组播组的客户边缘CE设备的互联网协议第4版本IPv4地址;
所述BR对所述组播报文进行互联网协议第6版本IPv6快速部署6RD隧道封装处理,获得隧道封装组播报文,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
所述BR将所述隧道封装组播报文发送给所述CE设备。
2.根据权利要求1所述的组播方法,其特征在于,所述边缘路由器BR接收组播报文之前包括:
所述BR接收所述CE设备发送的组播加入消息,所述组播加入消息包括所述CE设备的IPv4地址和所述组播地址;其中,所述组播加入消息是所述CE设备根据接收到的组播侦听发现协议MLD报告消息生成的,所述MLD报告消息包括所述组播地址;
所述BR将所述组播地址和所述CE设备的IPv4地址加入所述隧道组播转发表;
所述BR向所述CE设备发送组播加入确认消息。
3.根据权利要求2所述的组播方法,其特征在于,所述BR将所述组播地址和所述CE设备的IPv4地址加入所述隧道组播转发表之后包括:
所述BR将所述组播地址和所述BR的6RD隧道接口的标识加入组播路由表中。
4.根据权利要求2或3所述的组播方法,其特征在于,所述组播加入消息的目的IP地址为所述BR的单播IPv4地址;
所述BR接收所述CE设备发送的组播加入消息之前包括:
所述BR接收所述CE设备发送的单播地址请求消息;
所述BR向所述CE设备发送单播地址应答消息,所述单播地址应答消息包括所述BR的单播IPv4地址。
5.根据权利要求4所述的组播方法,其特征在于,所述BR接收所述CE设备发送的单播地址请求消息之前包括:
所述BR接收所述CE设备发送的组播能力请求消息;
所述BR向所述CE设备发送组播能力应答消息,所述组播能力应答消息携带有所述BR支持6RD组播的能力标识,所述单播地址请求消息是所述CE设备在根据所述能力标识确定所述BR具有支持6RD组播的能力之后发送的。
6.根据权利要求3所述的组播方法,其特征在于,所述BR根据所述组播地址查询隧道组播转发表,获取接入所述组播地址对应的组播组的客户边缘CE设备的互联网协议第4版本IPv4地址之前包括:
所述BR对所述组播报文进行解析,获取所述组播地址;
所述BR根据所述组播地址查询所述组播路由表,获取所述6RD隧道接口的标识;
所述BR根据所述6RD隧道接口的标识将所述组播报文发送到所述6RD隧道接口,以在所述6RD接口上对所述组播报文进行隧道处理。
7.一种组播方法,其特征在于,包括:
客户边缘CE设备接收边缘路由器BR发送的隧道封装组播报文,所述隧道封装组播报文是所述BR根据组播报文中的组播地址查询隧道组播转发表获取所述CE设备的IPv4地址后,对所述组播报文进行6RD隧道封装处理生成的,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
所述CE设备对所述隧道封装组播报文进行6RD隧道解封装处理,获取所述组播报文;
所述CE设备将所述组播报文发送给加入所述组播地址对应的组播组的主机,所述主机位于所述CE设备连接的IPv6孤岛中。
8.根据权利要求7所述的组播方法,其特征在于,所述客户边缘CE设备接收边缘路由器BR发送的隧道封装组播报文之前包括:
所述CE设备接收所述主机发送的组播侦听发现协议MLD报告消息,所述MLD报告消息包括所述组播地址;
所述CE设备根据所述MLD报告消息生成组播加入消息,所述组播加入消息包括所述CE设备的IPv4地址和所述组播地址;
所述CE设备向所述BR发送所述组播加入消息;
所述CE设备接收所述BR发送的组播加入确认消息。
9.根据权利要求8所述的组播方法,其特征在于,所述组播加入消息的目的IP地址为所述BR的单播IPv4地址;
所述CE设备接收所述主机发送的MLD报告消息之前包括:
所述CE设备向所述BR发送单播地址请求消息;
所述CE设备接收所述BR发送的单播地址应答消息,所述单播地址应答消息包括所述BR的单播IPv4地址。
10.根据权利要求9所述的组播方法,其特征在于,所述CE设备向所述BR发送单播地址请求消息之前包括:
所述CE设备向所述BR发送组播能力请求消息;
所述CE设备接收所述BR发送的组播能力应答消息,所述组播能力应答消息携带有所述BR支持6RD组播的能力标识,
其中,所述单播地址请求消息是所述CE设备在根据所述能力标识确定所述BR具有支持6RD组播的能力之后发送的。
11.一种组播装置,其特征在于,设置于边缘路由器BR中,所述装置包括:
第一接收模块,用于接收组播报文,所述组播报文的目的IP地址为组播地址;
转发表管理模块,用于根据所述组播地址查询隧道组播转发表,获取加入所述组播地址对应的组播组的客户边缘CE设备的互联网协议第4版本IPv4地址;
隧道封装模块,用于对所述组播报文进行互联网协议第6版本IPv6快速部署6RD隧道封装处理,获得隧道封装组播报文,所述隧道封装组播报文的目的IP地址为所述CE设备的IPv4地址;
第一发送模块,用于将所述隧道封装组播报文发送给所述CE设备。
12.根据权利要求11所述的组播装置,其特征在于,所述第一接收模块还用于接收所述CE设备发送的组播加入消息,所述组播加入消息包括所述CE设备的IPv4地址和所述组播地址;其中,所述组播加入消息是所述CE设备根据接收到的组播侦听发现协议MLD报告消息生成的,所述MLD报告消息包括所述组播地址;
所述转发表管理模块还用于将所述组播地址和所述CE设备的IPv4地址加入所述隧道组播转发表;
所述第一发送模块还用于向所述CE设备发送组播加入确定消息。
13.根据权利要求12所述的组播装置,其特征在于,还包括:
组播路由管理模块,用于将所述组播地址和所述组播装置的6RD隧道接口的标识加入组播路由表中。
14.根据权利要求11或12所述的组播装置,其特征在于,所述组播加入消息的目的IP地址为所述BR的单播IPv4地址;
所述第一接收模块还用于接收所述CE设备发送的单播地址请求消息;
所述第一发送模块还用于向所述CE设备发送单播地址应答消息,所述单播地址应答消息包括所述组播装置的单播IPv4地址。
15.根据权利要求14所述的组播装置,其特征在于,所述第一接收模块还用于接收所述CE设备发送的组播能力请求消息;
所述第一发送模块还用于向所述CE设备发送组播能力应答消息,所述组播能力应答消息携带有所述组播装置支持6RD组播的能力标识,所述单播地址请求消息是所述CE设备在根据所述能力标识确定所述组播装置具有支持6RD组播的能力之后发送的。
16.根据权利要求13所述的组播装置,其特征在于,还包括:
解析模块,用于对所述组播报文进行解析,获取所述组播地址;
查询模块,用于根据所述组播地址查询所述组播路由表,获取所述6RD隧道接口的标识;
转发模块,用于根据所述6RD隧道接口的标识将所述组播报文发送到所述6RD隧道接口,以在所述6RD接口上对所述组播报文进行隧道处理。
17.一种组播装置,其特征在于,设置于客户边缘CE设备中,所述装置包括:
第二接收模块,用于接收边缘路由器BR发送的隧道封装组播报文,所述隧道封装组播报文是所述BR根据组播报文中的组播地址查询隧道组播转发表获取所述组播装置的IPv4地址后,对所述组播报文进行6RD隧道封装处理生成的,所述隧道封装组播报文的目的IP地址为所述组播装置的IPv4地址;
解封装模块,用于对所述隧道封装组播报文进行6RD隧道解封装处理,获取所述组播报文;
第二发送模块,用于将所述组播报文发送给加入所述组播地址对应的组播组的主机,所述主机位于所述组播装置连接的IPv6孤岛中。
18.根据权利要求17所述的组播装置,其特征在于,所述第二接收模块还用于接收所述主机发送的组播侦听发现协议MLD报告消息,所述MLD报告消息包括所述组播地址;
所述组播装置还包括:
生成模块,用于根据所述MLD报告消息生成组播加入消息,所述组播加入消息包括所述组播装置的IPv4地址和所述组播地址;
所述第二发送模块还用于向所述BR发送所述组播加入消息;
所述第二接收模块还用于接收所述BR发送的组播加入确认消息。
19.根据权利要求18所述的组播装置,其特征在于,所述组播加入消息的目的IP地址为所述BR的单播IPv4地址;
所述第二发送模块还用于向所述BR发送单播地址请求消息;
所述第二接收模块还用于接收所述BR发送的单播地址应答消息,所述单播地址应答消息包括所述BR的单播IPv4地址。
20.根据权利要求19所述的组播装置,其特征在于,所述第二发送模块还用于向所述BR发送组播能力请求消息;
所述第二接收模块还用于接收所述BR发送的组播能力应答消息,所述组播能力应答消息携带有所述BR支持6RD组播的能力标识;
所述第二发送模块具体用于在根据所述能力标识确定所述BR具有支持6RD组播的能力之后,向所述BR发送所述单播地址请求消息。
21.一种网络设备,其特征在于,包括:权利要求11-16任一项所述的组播装置,或权利要求17-20任一项所述的组播装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210279019.5A CN102820977B (zh) | 2012-08-07 | 2012-08-07 | 组播方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210279019.5A CN102820977B (zh) | 2012-08-07 | 2012-08-07 | 组播方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102820977A true CN102820977A (zh) | 2012-12-12 |
CN102820977B CN102820977B (zh) | 2016-05-25 |
Family
ID=47304851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210279019.5A Active CN102820977B (zh) | 2012-08-07 | 2012-08-07 | 组播方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102820977B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401785A (zh) * | 2013-07-23 | 2013-11-20 | 福建星网锐捷网络有限公司 | 一种报文传输系统、方法及路由设备 |
CN103973459A (zh) * | 2013-01-24 | 2014-08-06 | 中兴通讯股份有限公司 | IPv6组播孤岛间的组播报文的传输方法及装置 |
CN108234689A (zh) * | 2018-01-05 | 2018-06-29 | 赛尔新技术(北京)有限公司 | 用于实现IPv6隧道对CE端地址自动调度的装置及其方法 |
CN104023317B (zh) * | 2014-06-17 | 2019-02-01 | 中国科学院计算技术研究所 | 一种低功耗多播路由网络及其多播路由方法 |
CN110677822A (zh) * | 2019-10-29 | 2020-01-10 | 深圳震有科技股份有限公司 | 一种利用单播协议实现组播功能的方法及系统 |
WO2021036482A1 (zh) * | 2019-08-30 | 2021-03-04 | 南京中兴软件有限责任公司 | 一种实现报文传输的方法及装置 |
CN113194509A (zh) * | 2021-04-30 | 2021-07-30 | 武汉理工大学 | 一种基于QoS的多网络融合传输系统及传输方法 |
CN113490162A (zh) * | 2021-07-04 | 2021-10-08 | 芯河半导体科技(无锡)有限公司 | 一种组播数据流转发的优化方法 |
CN114979090A (zh) * | 2022-05-27 | 2022-08-30 | 深圳市领创星通科技有限公司 | IPv6数据包处理方法、装置、计算机设备和存储介质 |
CN115550736A (zh) * | 2022-12-02 | 2022-12-30 | 浙江宇视科技有限公司 | 视频隐私区域的获取、传输方法、装置、电子设备及介质 |
WO2024045537A1 (zh) * | 2022-08-31 | 2024-03-07 | 华为技术有限公司 | 报文传输的方法和网络设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020021697A1 (en) * | 2000-07-21 | 2002-02-21 | Kazuaki Tsuchiya | Multicast routing method and apparatus for routing multicast packet |
CN101197752A (zh) * | 2007-11-19 | 2008-06-11 | 清华大学 | 软线式隧道中基于独立组播-特定源协议的组播实现方法 |
CN102281313A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种访问个人网设备的方法及系统 |
CN102546382A (zh) * | 2010-12-08 | 2012-07-04 | 中国电信股份有限公司 | IPv4overIPv6隧道中实现组播的方法和系统 |
CN102572007A (zh) * | 2011-12-06 | 2012-07-11 | 华为技术有限公司 | 跨越IPv4网络转发IPv6组播报文的方法和边缘设备 |
-
2012
- 2012-08-07 CN CN201210279019.5A patent/CN102820977B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020021697A1 (en) * | 2000-07-21 | 2002-02-21 | Kazuaki Tsuchiya | Multicast routing method and apparatus for routing multicast packet |
CN101197752A (zh) * | 2007-11-19 | 2008-06-11 | 清华大学 | 软线式隧道中基于独立组播-特定源协议的组播实现方法 |
CN102281313A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种访问个人网设备的方法及系统 |
CN102546382A (zh) * | 2010-12-08 | 2012-07-04 | 中国电信股份有限公司 | IPv4overIPv6隧道中实现组播的方法和系统 |
CN102572007A (zh) * | 2011-12-06 | 2012-07-11 | 华为技术有限公司 | 跨越IPv4网络转发IPv6组播报文的方法和边缘设备 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973459A (zh) * | 2013-01-24 | 2014-08-06 | 中兴通讯股份有限公司 | IPv6组播孤岛间的组播报文的传输方法及装置 |
CN103973459B (zh) * | 2013-01-24 | 2018-11-23 | 中兴通讯股份有限公司 | IPv6组播孤岛间的组播报文的传输方法及装置 |
CN103401785B (zh) * | 2013-07-23 | 2016-09-28 | 福建星网锐捷网络有限公司 | 一种报文传输系统、方法及路由设备 |
CN103401785A (zh) * | 2013-07-23 | 2013-11-20 | 福建星网锐捷网络有限公司 | 一种报文传输系统、方法及路由设备 |
CN104023317B (zh) * | 2014-06-17 | 2019-02-01 | 中国科学院计算技术研究所 | 一种低功耗多播路由网络及其多播路由方法 |
CN108234689B (zh) * | 2018-01-05 | 2021-02-05 | 赛尔新技术(北京)有限公司 | 用于实现IPv6隧道对CE端地址自动调度的装置及其方法 |
CN108234689A (zh) * | 2018-01-05 | 2018-06-29 | 赛尔新技术(北京)有限公司 | 用于实现IPv6隧道对CE端地址自动调度的装置及其方法 |
WO2021036482A1 (zh) * | 2019-08-30 | 2021-03-04 | 南京中兴软件有限责任公司 | 一种实现报文传输的方法及装置 |
CN110677822A (zh) * | 2019-10-29 | 2020-01-10 | 深圳震有科技股份有限公司 | 一种利用单播协议实现组播功能的方法及系统 |
CN113194509A (zh) * | 2021-04-30 | 2021-07-30 | 武汉理工大学 | 一种基于QoS的多网络融合传输系统及传输方法 |
CN113194509B (zh) * | 2021-04-30 | 2022-06-17 | 武汉理工大学 | 一种基于QoS的多网络融合传输系统及传输方法 |
CN113490162A (zh) * | 2021-07-04 | 2021-10-08 | 芯河半导体科技(无锡)有限公司 | 一种组播数据流转发的优化方法 |
CN113490162B (zh) * | 2021-07-04 | 2022-05-17 | 芯河半导体科技(无锡)有限公司 | 一种组播数据流转发的优化方法 |
CN114979090A (zh) * | 2022-05-27 | 2022-08-30 | 深圳市领创星通科技有限公司 | IPv6数据包处理方法、装置、计算机设备和存储介质 |
CN114979090B (zh) * | 2022-05-27 | 2024-07-05 | 深圳市领创星通科技有限公司 | IPv6数据包处理方法、装置、计算机设备和存储介质 |
WO2024045537A1 (zh) * | 2022-08-31 | 2024-03-07 | 华为技术有限公司 | 报文传输的方法和网络设备 |
CN115550736A (zh) * | 2022-12-02 | 2022-12-30 | 浙江宇视科技有限公司 | 视频隐私区域的获取、传输方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102820977B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102820977A (zh) | 组播方法、装置及网络设备 | |
CN101222414B (zh) | 实现组播通信的装置、系统和方法 | |
JP3792940B2 (ja) | パケットのマルチキャスト配送システム | |
US8774038B2 (en) | Multicast support for dual stack-lite and internet protocol version six rapid deployment on internet protocol version four infrastructures | |
CN101577722B (zh) | 实现强制mac转发功能的方法和装置 | |
CN101800781B (zh) | 一种穿越nat的隧道过渡方法及系统 | |
CN102025522B (zh) | 实现不同ip域之间组播的方法及边界网关路由器 | |
CN102035900B (zh) | 用于通过中继方式进行nat穿越的方法、系统和中继服务器 | |
US20130028163A1 (en) | Forwarding Internet Protocol Version 6 Link-Local Multicast to Support Roaming of Wireless Mobile Client Devices | |
CN102307144B (zh) | 一种trill网络中dhcp报文转发方法和路由桥 | |
CN104022936B (zh) | 一种隧道建立方法和装置 | |
CN101822022A (zh) | 用户设备中对三重播放服务的支持 | |
CN102271050A (zh) | 一种IPv6网络中网络设备自动配置的方法、网络设备和系统 | |
CN104618243A (zh) | 路由方法、装置及系统、网关调度方法及装置 | |
CN109076082A (zh) | 面向身份的网络和协议中的匿名身份 | |
CN102739541A (zh) | 一种路由功能启动及数据传输的方法、设备和系统 | |
US20140032782A1 (en) | Method and apparatus for route selection of host in multihoming site | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
EP2765743A1 (en) | Layer 2 inter-connecting method, apparatus and system based on ipv6 | |
CN103561122B (zh) | IPv6地址配置方法、IPv6客户端及服务器 | |
CN103227787A (zh) | 一种基于ARP代理的4over6隧道自动建立方法 | |
CN100428681C (zh) | 在ip网络中采用单播地址来标识多播组的方法 | |
CN102143241A (zh) | 主机间的访问方法、设备及系统 | |
CN101924698A (zh) | 基于ip单播路由的二层域负载均衡方法、系统和设备 | |
CN103222246B (zh) | 互联网协议版本IPv6组播地址生成的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Fujian Xingwangruijie Network Co., Ltd. |