一种点到点协议实现组播业务的方法

文档序号:7650454阅读:148来源:国知局
专利名称:一种点到点协议实现组播业务的方法
技术领域
本发明涉及网络通信技术,尤其涉及一种点到点协议实现组播业务的方法。
背景技术
PPP(The Point-to-Point Protocol,点到点协议)协议是TCP/IP(Transmission ControlProtocol/Internet Protocol,传输控制协议/互联网络协议)协议栈中数据链路层的协议,提供一种标准的方式在点对点的链路上传输多个网络层协议的数据报文,PPP协议包括各种网络控制协议族(NCPNetwork Control Protocol)如IPCP(The PPP Internet ProtocolControl Protocol,PPP IP控制协议),链路控制协议族(LCPLink Control Protocol)以及认证协议族等。其中,网络控制协议主要用来协商链路上传输的数据包的格式和类型,链路控制协议主要用来建立、拆除和监控PPP数据链路,认证协议主要用来提供网络安全的保证。
为了在点对点的链路上建立通信,PPP链路的两端必须发送LCP数据包进行数据链路的测试和配置。等链路建立起来之后,还可能要进行两端的认证,然后,PPP必须发送NCP数据包选择并配置一个或多个网络层协议,当所选择的网络层协议配置成功之后,每个网络层发送的数据包就可以在链路上传送了。链路一直保持着直到有明确的LCP或NCP数据包断开链路或某些外来的事件发生(如定时器超时或网络管理员干涉)。
IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。不同用户如果接收同一个组播流,服务器只需发送一份数据,网络只需在用户的分支点进行复制,在分支点以上的网络只需传送一个数据流。IP组播技术实现了IP网络中点到多点的高效数据传送。IGMP(Internet Group Management Protocol,互联网组管理协议)负责所连网络组成员关系的收集与维护。该协议收发通用查询报文、特定组查询报文、主机报告报文和离开报文来维护协议的各种状态信息。IPv6中使用MLD(Multicast ListenerDiscovery,组播收听者发现)取代IGMP,并完成类似的功能。
从上面可以看出,组播协议没有提供用户认证支持,不能对组播用户进行有效的控制,也不能对组播用户进行有效的计费。
目前大部分的宽带接入方式是基于PPP协议的,尤其是PPPoE(PPP over Ethernet,以太网上的点到点协议)已经成为宽带接入运营商首选的宽带接入方式。PPP协议要求端与端之间是点到点的关系,不适用于组播要求的点对多点关系,即PPP协议本身并不支持组播业务。由于PPP协议的点到点特性,需要对每个PPP会话进行组播复制,导致PPP组播流在二层环境中进行大量的复制,使组播业务的开展受到极大的限制。这在一定程度上影响IPTV(Internet Protocol Television,交互式网络电视)等新业务的开展。

发明内容
因此本发明所要解决的技术问题是提供一种点到点协议实现组播业务的方法,该方法能够保证点到点协议像IP组播一样支持组播业务,同时解决了IP组播用户认证和计费的难题,提高了组播业务的安全性。
本发明具体是这样实现的一种点到点协议实现组播业务的方法,包括如下步骤PPP用户端和网络端获得组播性能信息;PPP用户端和网络端协商各自支持的组播性能;PPP用户端和网络端根据协商的组播性能来进行组播数据转发。
按上述方案,所述组播性能信息包括组播封装格式组播数据转发时使用的封装格式,组播数据包括组播协议数据和组播承载转发数据;组播电路组播数据转发的电路。
按上述方案,所述组播封装格式包括PPP封装、IP封装、VPN封装。
按上述方案,进行组播数据转发时,组播协议数据和组播承载转发数据的封装格式可以任意组合,包括但不限于下面的组合组播数据中的组播协议数据使用PPP封装来转发,组播数据中的组播承载转发数据使用IP封装来转发;或者,组播数据中的组播协议数据使用PPP封装和IP封装来转发,组播数据中的组播承载转发数据使用IP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用PPP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用IP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用VPN封装来转发。
按上述方案,组播电路和PPP用户端接入的电路可以是相同的电路,也可以是不同的电路;组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路可以是相同的电路,也可以是不同的电路。
按上述方案,PPP用户端和网络端协商各自支持的组播性能通过在LCP或者NCP协议中扩充对应的组播性能配置选项来完成。
按上述方案,所述扩充组播性能配置选项包括组播封装格式配置选项和组播电路配置选项。
按上述方案,进行组播数据转发时,PPP数据的转发电路和组播电路可以是相同的电路,也可以是不同的电路。
按上述方案,进行组播数据转发时,PPP用户端和网络端之间的网络设备上的组播转发表的建立方式包括如果组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路是不同的电路,则PPP网络端在所述两条组播电路上同时向PPP用户端发送组播查询报文,以使中间网络设备上的组播协议的Snooping/Proxy功能正常运行;或者通过网管配置方式;或者由PPP网络端通过管理协议的方式、或者通过动态组播管理协议的方式,建立中间网络设备上的组播转发表;如果组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路是同一条电路,则通过组播协议的Snooping/Proxy的方式;或者通过网管配置方式;或者由PPP网络端通过管理协议的方式、或者通过动态组播管理协议的方式,建立中间网络设备上的组播转发表。
按上述方案,PPP用户端获得组播性能信息来自PPP用户端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息;PPP网络端获得组播性能信息来自PPP网络端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息,和/或通过与AAA服务器和/或策略服务器交互来获取的组播性能信息,和/或通过与VPN或隧道协议交互来获取的组播性能信息。
由于采用了上述处理过程,本发明与现有技术相比,具有以下优点本发明可以保证点到点协议完全像IP组播一样支持组播业务,而且在组播转发处理上比IP组播更灵活,同时还保留了点到点协议的易于管理用户的特性,解决了IP组播用户认证和计费的难题,也解决了点到点协议的组播流大量复制问题,同时提高了组播业务的安全性,提供了点到点协议支持组播业务的完美解决方案,满足了网络运营商对组播业务的要求,用于提高多业务网络的运营管理统一性,方便多业务的开展。


图1是本发明的流程图;图2是根据本发明的实施例的网络结构图;图3是根据本发明的实施例的PPP会话流程图;图4是NCP协议中的配置选项定义格式示意图;图5是本发明的实施例中扩充的组播封装格式配置选项定义格式示意图;图6是本发明的实施例中扩充的组播电路配置选项定义格式示意图。
具体实施例方式
以下结合附图对本发明的具体实施作进一步的说明本发明包括如下步骤第一步、PPP两端获得组播性能信息;第二步、PPP两端协商各自支持的组播性能;第三步、PPP两端根据协商的组播性能来进行组播数据转发。
所述第一步中,PPP两端获得的组播性能信息可以来自下面的途径
1)PPP用户端在PPP用户端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息。
2)PPP网络端在PPP网络端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息,和/或通过与AAA(Authentication、Authorization and Accounting,认证、授权和计费)服务器和/或策略服务器交互来获取的组播性能信息,和/或通过与VPN(Virtual Private Network,虚拟专用网)或隧道协议交互得到组播性能信息。
所述组播性能信息包括1、组播封装格式组播封装格式是组播数据转发时使用的封装格式,也可以说是数据转发方式,在下面统一称为组播封装格式。这里的组播数据包括组播协议数据和组播承载转发数据,组播协议数据包括IGMP和MLD协议报文。组播协议数据和组播承载转发数据都具有下面的封装格式1)PPP封装PPP封装的含义是组播数据使用PPP封装来转发。这种封装类型兼容了现有PPP协议组播业务的实现。
2)IP封装IP封装的含义是组播数据使用IP封装来转发。这种封装类型可以保证点到点协议完全像IP组播一样支持组播业务,同时还保留了PPP协议的易于管理用户的特性。
3)VPN封装VPN封装的含义是组播数据使用VPN方式来转发。可以使用VPN转发组播流的机制,来提高组播业务的安全性。
此外,组播协议数据还有下面的封装PPP封装和IP封装它的含义是组播协议数据同时发送了两份,一份使用PPP封装来发送,另一份使用IP封装来发送。
进行组播数据转发时,组播协议数据和组播承载转发数据的封装格式可以任意组合。各种组合的描述如下
1)组播协议数据使用PPP封装来转发,组播承载转发数据使用IP封装来转发;这种情况下,由于组播协议数据使用PPP封装来转发,所以可以对组播协议的请求加入组播组的报文进行用户特定的业务接纳处理,对组播用户进行有效的控制,还可以使用组播协议的查询报文和报告报文作为用户特定的组播组的keepalive(保持活动)机制,检测用户当前加入了哪些组播组和加入组播组的时长,来对组播用户进行有效的计费。由于组播承载转发数据使用IP封装来转发,所以就不需要对每个PPP会话进行组播复制,解决了PPP的组播流大量复制问题。这时要求连接PPP用户端和网络端之间的中间设备支持PPP会话中的组播协议的Snooping/Proxy,或者由PPP网络端通过动态协议来建立中间设备上的组播转发表。
2)组播协议数据使用PPP封装和IP封装来转发,组播承载转发数据使用IP封装来转发;这种情况下,使用PPP封装来发送的组播协议数据可以完成上面所述1)中的功能,使用IP封装来发送的组播协议数据可以被连接PPP用户端和网络端之间的中间设备来完成组播协议的Snooping/Proxy功能,这样中间设备的现有组播实现保持不变,兼容了现有的设备。
由于此时PPP两端可以同时接收到PPP封装和IP封装的组播协议数据,所以两端可以通过匹配源地址的方法,来检查两种封装的组播协议数据是否相同,并关联两种封装的组播协议数据和IP封装的组播承载转发数据,这里的源地址可以是IP地址或者MAC地址。
3)组播协议数据和组播承载转发数据都使用PPP封装来转发;这种情况下,与现有的PPP组播实现相同,兼容了现有的PPP组播实现。
4)组播协议数据和组播承载转发数据都使用IP封装来转发;这种情况下,与现有的IP组播实现相同,实现了PPP组播数据的高效复制。
5)组播协议数据和组播承载转发数据都使用VPN封装来转发;这种情况下,可以使用VPN转发组播流的机制,来提高组播业务的安全性。
6)其它组合;其它组合的情况下,没有多大意义,在此予以省略。
2、组播电路组播电路是组播数据转发的电路,它和PPP用户端接入的电路可以是相同的电路,也可以是不同的电路。组播协议数据的转发电路和组播承载转发数据的转发电路可以是相同的电路,也可以是不同的电路。这样就使得PPP组播在组播转发处理上比IP组播更灵活,实现了组播业务的控制平面和转发平面相分离的原则,可以使用户的宽带上网业务和组播业务的转发通道相隔离,可以有效的支持各种业务。组播电路包括各种用户接入的链路、VPN、隧道,比如以太网VLAN、ATM(Asynchronous Transfer Mode,异步传输模式)PVC(PermanentVirtual Circuit,永久虚电路)、物理端口、或者VPN通道等。
所述第二步中,组播性能的协商是通过在LCP或者NCP协议中扩充对应的组播性能配置选项来完成的。不管扩充的配置选项的个数和格式,只要扩充的配置选项可以完成对应的组播性能协商就可以了。
PPP用户端和网络端协商各自支持的组播性能时,如果PPP任何一端不支持组播性能选项,可以忽略此选项,继续进行其它选项的协商。
所述第三步中,进行组播数据转发时,PPP数据的转发电路和组播数据的转发电路可以是相同的电路,也可以是不同的电路。组播协议数据的转发电路和组播承载转发数据的转发电路可以是相同的电路,也可以是不同的电路。
在PPP用户端和PPP网络端之间的网络设备上的组播转发表的建立方式有两种1)在组播协议数据的转发电路和组播承载转发数据的转发电路是相互独立时,此时PPP网络端需要在上面的两条电路上同时向PPP用户端发送组播查询报文,来使得中间设备上的组播协议的Snooping/Proxy功能能正常运行,或者通过网管配置方式,或者由PPP网络端通过管理协议如SNMP(Simple Network Management Protocol,简单网络管理协议)的方式、或者通过动态组播管理协议如DSL(Digital Subscriber Loop数字用户环路)论坛L2CM(Layer2Control Mechanism,二层控制机制)的方式,来建立中间设备上的组播转发表。
2)在组播协议数据的转发电路和组播承载转发数据的转发电路是同一条电路时,此时可通过组播协议的Snooping/Proxy的方式,也可以通过上面所述的1)中的方式,来建立中间设备上的组播转发表。
以下是本发明的一个具体实施例如图2所示,在本实施例的网络结构中,PPP终端10通过以太网交换机20,连接到接入服务器30,同时AAA服务器40也连接到接入服务器30,接入服务器30的网络侧连接到Internet 50。在PPP终端10和以太网交换机20之间、以及在以太网交换机20和接入服务器30之间的链路是以太网链路,其中粗线是组播电路VLAN 60(Virtual Local Area Network,虚拟局域网),细线是PPP电路VLAN 70。
PPP终端10具有PPPoE功能和组播功能,并且有两个上联口,一个用于PPP数据的传输,另一个用于组播数据的传输。以太网交换机20也有和PPP终端10相同功能的两个上联口,它的用户侧接口也分为传输组播数据的组播接口和传输PPP数据的PPP接口,以太网交换机20具有把网络侧组播电路和PPP电路上的数据分别转发到相应的用户侧接口上的功能。接入服务器30具有PPPoE终结功能、组播功能和AAA客户端功能。
如图1所示,本实施例包括如下步骤第一步S101PPP两端获得组播性能信息;在本实施例中,PPP用户端通过本地配置来得到组播性能信息,PPP网络端在两端进行认证时获得组播性能信息。以AAA服务器为例,在认证过程中,PPP网络端通过与AAA服务器的认证交互,来获取PPP用户端和网络端的组播性能信息。它们的组播性能信息都相同组播电路为图2中的以太网VLAN 60,组播封装格式为IP封装。
第二步S102PPP两端协商各自支持的组播性能;在本实施例中,组播性能的协商是通过在NCP协议中扩充对应的组播性能配置选项来完成的。如图3所示,在本实施例的PPP会话流程图中,PPP用户端是以PPPoE客户端为例,PPP网络端是以PPPoE服务器-接入服务器为例。在开始进行PPP LCP协商之前要先进行PPPoE发现阶段的会话,然后才开始PPP会话阶段。PPPoE发现阶段的会话流程如下1、PPPoE客户端首先主动发送广播包PADI(PPPoE Active Discovery Initiation,PPPoE主动发现开始)寻找接入服务器。
2、接入服务器收到PADI包后,如果可以提供主机要求的服务,则回应PPPoE客户端一个PADO包(PPPoE Active Discovery Offer,PPPoE主动发现提供)。
3、PPPoE客户端在回应PADO的接入服务器中选择一个合适的服务器,并发送PADR(PPPoEActive Discovery Request,PPPoE主动发现请求)告知接入服务器。
4、接入服务器收到PADR包后开始为用户分配一个唯一的会话标识符,启动PPP状态机以准备开始PPP会话,并发送一个会话确认包PADS(PPPoE Active DiscoverySession-confirmation,PPPoE主动发现会话确认)。
PPP会话阶段主要是LCP、认证、NCP三个协议的协商过程。
在本实施例中,NCP扩充的配置选项有两个,分别对应于所述第一步S101中的组播性能信息,它们分别为组播封装格式选项和组播电路选项,并且使用和NCP一样的选项定义格式来定义。NCP的选项定义格式如图4所示,包括类型域(Type),是一个八位字节,表示选项的类型;长度域(Length),是一个八位字节,表示该选项的长度,包括类型、长度和数据域的长度;数据域(Data),是零个或者多个八位字节,包含选项的特殊详细信息。
所述扩充的配置选项的描述如下1、组播封装格式选项这个选项用来协商所述组播封装格式信息,它的格式如图5所示。
Type值定义为10,也可以定义为其它值,只要保证类型值不冲突就可以了。Length值为4。Packet-Type长度为1个八位字节,表示组播数据类型,可取的值有1)组播协议数据;2)组播承载转发数据。
Packet-Encap长度为1个八位字节,表示组播数据封装类型,可取的值有1)PPP封装;2)IP封装;3)PPP和IP封装;4)VPN封装。
组播封装格式选项是可选项,它的缺省值为PPP封装。如果不协商这个选项,则使用PPP封装来转发组播数据,这样就与现有的PPP组播实现相兼容。
2、组播电路选项这个选项用来协商所述组播电路信息,它的格式如图6所示。
Type值定义为11,也可以定义为其它值,只要保证类型值不冲突就可以了。Length值不小于2。Multicast-Circuit是个字符串,它表示组播电路信息,格式举例如下1)使用ATM电路时的格式是″atm slot/portvpi.vci″,其中,atm表示ATM电路,slot、port、vpi、vci分别表示电路所在的槽位、端口、虚通路、虚通道。
2)使用以太网电路时的格式是″eth slot/port[vlan-id][.second-vlan-id]″,其中,eth表示以太网电路,slot、port、vlan-id、second-vlan-id分别表示电路所在的槽位、端口、虚拟局域网标识、内部虚拟局域网标识。
在本实施例中的格式为“eth 3/010”(slot=3,port=0,vlan-id=10,second-vlan-id不存在)组播电路选项是可选项,如果不协商这个选项,则使用PPP用户所在的电路来转发组播数据。这样就与现有的PPP组播实现相兼容。
第三步S103PPP两端根据协商的组播性能来进行组播数据转发;PPP用户端请求组播数据可以通过向接入服务器发送组播report报文来实现,也可以是静态配置请求组播数据。
根据前面所述第二步S102中的协商结果,用户端的IGMP report报文通过VLAN 60以IP封装发送到以太网交换机20,以太网交换机20再通过VLAN 60以IP封装把IGMP report报文发送接入服务器30。以太网交换机20通过IGMP Snooping来建立组播转发表。接入服务器30接受此报文的请求后,建立组播分发树,然后通过VLAN 60以IP封装的格式向PPPoE客户端转发组播数据。同时PPP的数据通过VLAN 70转发给PPPoE客户端。这样就实现了组播业务的控制平面和转发平面相分离的原则,可以使用户的宽带上网业务和组播业务的转发通道相隔离,可以有效的支持各种业务。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种点到点协议实现组播业务的方法,其特征在于,包括如下步骤PPP用户端和网络端获得组播性能信息;PPP用户端和网络端协商各自支持的组播性能;PPP用户端和网络端根据协商的组播性能来进行组播数据转发。
2.如权利要求1所述的实现组播业务的方法,其特征在于,所述组播性能信息包括组播封装格式组播数据转发时使用的封装格式,组播数据包括组播协议数据和组播承载转发数据;组播电路组播数据转发的电路。
3.如权利要求2所述的实现组播业务的方法,其特征在于,所述组播封装格式包括PPP封装、IP封装、VPN封装。
4.如权利要求3所述的实现组播业务的方法,其特征在于,进行组播数据转发时,组播协议数据和组播承载转发数据的封装格式可以任意组合,包括但不限于下面的组合组播数据中的组播协议数据使用PPP封装来转发,组播数据中的组播承载转发数据使用IP封装来转发;或者,组播数据中的组播协议数据使用PPP封装和IP封装来转发,组播数据中的组播承载转发数据使用IP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用PPP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用IP封装来转发;或者,组播数据中的组播协议数据和组播承载转发数据都使用VPN封装来转发。
5.如权利要求2所述的实现组播业务的方法,其特征在于,组播电路和PPP用户端接入的电路可以是相同的电路,也可以是不同的电路;组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路可以是相同的电路,也可以是不同的电路。
6.如权利要求1所述的实现组播业务的方法,其特征在于,PPP用户端和网络端协商各自支持的组播性能通过在LCP或者NCP协议中扩充对应的组播性能配置选项来完成。
7.如权利要求6所述的实现组播业务的方法,其特征在于,所述扩充组播性能配置选项包括组播封装格式配置选项和组播电路配置选项。
8.如权利要求2所述的实现组播业务的方法,其特征在于,进行组播数据转发时,PPP数据的转发电路和组播电路可以是相同的电路,也可以是不同的电路。
9.如权利要求2所述的实现组播业务的方法,其特征在于,进行组播数据转发时,PPP用户端和网络端之间的网络设备上的组播转发表的建立方式包括如果组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路是不同的电路,则PPP网络端在所述两条组播电路上同时向PPP用户端发送组播查询报文,以使中间网络设备上的组播协议的Snooping/Proxy功能正常运行;或者通过网管配置方式;或者由PPP网络端通过管理协议的方式、或者通过动态组播管理协议的方式,建立中间网络设备上的组播转发表;如果组播数据中组播协议数据的组播电路和组播承载转发数据的组播电路是同一条电路,则通过组播协议的Snooping/Proxy的方式;或者通过网管配置方式;或者由PPP网络端通过管理协议的方式、或者通过动态组播管理协议的方式,建立中间网络设备上的组播转发表。
10.如权利要求1至9中任意一项所述的实现组播业务的方法,其特征在于,PPP用户端获得组播性能信息来自PPP用户端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息;PPP网络端获得组播性能信息来自PPP网络端上本地配置的组播性能信息,和/或通过与管理系统交互来获取的组播性能信息,和/或通过与AAA服务器和/或策略服务器交互来获取的组播性能信息,和/或通过与VPN或隧道协议交互来获取的组播性能信息。
全文摘要
本发明公开了一种点到点协议实现组播业务的方法,包括如下步骤PPP用户端和网络端获得组播性能信息;PPP用户端和网络端协商各自支持的组播性能;PPP用户端和网络端根据协商的组播性能来进行组播数据转发。本发明解决了IP组播用户认证和计费的难题,提高了组播业务的安全性,用于提高多业务网络的运营管理统一性,方便多业务的开展。
文档编号H04L1/00GK101039204SQ200710087590
公开日2007年9月19日 申请日期2007年4月3日 优先权日2007年4月3日
发明者曹文利 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1