一种过滤节目源的方法及装置的制作方法

文档序号:7961688阅读:148来源:国知局
专利名称:一种过滤节目源的方法及装置的制作方法
技术领域
本发明涉及一种过滤节目源的方法,尤其是一种在互联网协议电视(Internet ProtocolTelevision;IPTV)中过滤节目源的方法,以及与该方法对应的装置。
背景技术
随着网络宽带化进程的加快,互联网协议电视IPTV以其直观性、实时性、互动性等特点引起了越来越多的关注。IPTV是一项系统技术,它能使音视频内容节目或信号,以IP包的方式在不同物理网络中被安全、有效且保质地传送或分发给不同用户。一个端到端的IPTV系统一般具有节目采集、存储和服务、节目传送网络、用户接收端四个部件。
IPTV系统的节目传送功能是由IP骨干网、IP城域网、有线电视前端或电信中心站、以及相应的宽带接入网络完成的。一般而言,为了节省网络资源的占用,IP作为承载网络通常采用组播技术(Multicast,也称多播技术)进行传播。IP组播是指在IP网络中将数据包以尽力传送(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(MulticastGroup)。
与组播相应的协议采用INTERNET工程任务小组(Internet Engineering Task Force;IETF)制定的Internet组管理协议(Internet Group Management Protocol;IGMP)。IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
IGMP目前已经有三个版本,分别为IGMP V1、IGMP V2、IGMP V3。IGMP V3在IGMP V1/V2的基础上增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文,即提供了源过滤组播功能(Source-Filtered Multicast;SFM)。具有源过滤组播功能SFM的主机使用IGMPV3来通告该主机所希望加入的组播组,同时还通告该主机所希望接收的组播源的地址。主机可以发送一个包括列表(Inclusion List)或一个排除列表(Exclusion List),前者规定了该主机所期望接收的组播源的地址(即规定了哪些源能发送给该组播组),而后者规定了该主机不希望接收的组播源的地址。
IGMP组播成员管理机制是针对第三层设计的,在第三层,路由器可以对组播报文的转发进行控制。但是在很多情况下,组播报文要不可避免地经过一些二层交换设备,尤其是在局域网环境里。由于IGMP协议中主机希望接收的节目源地址和多播目的地址通常封装在IP包中,这使得在数据链路层(Date Link Layer,也称二层)中的设备,例如常用的IP数字用户线路接入复用器IPDSLAM,无法对封装在上述IP包中的节目源地址和多播目的地址进行处理。

发明内容
因此,本发明的主要目的在于提供一种过滤节目源的方法,使得在数据链路层的设备能够根据此方法实现IGMP V3中规定的源过滤组播功能。
为达到上述目的,本发明的技术方案具体是这样实现的一种过滤节目源的方法,包含下面的步骤(1)利用用户请求帧中包含的节目源地址和多播目的地址动态生成多播虚拟局域网(Virtual Local Area Network;VLAN)地址和与上述多播虚拟局域网地址对应的端口列表;(2)按照节目流帧中包含的节目源地址和多播目的地址查找上述映射生成的多播虚拟局域网地址。
在上述步骤(1)中,生成上述多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,用上述用户请求帧中包含的源地址、多播目的地址、上述虚拟局域网地址作为过滤器列表选项。此外,在上述步骤(1)中,生成上述多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,将上述虚拟局域网地址、上述端口列表发送给多播表。上述多播表中还包含多播媒体接入控制地址(Media Access Control Address;MAC Address)选项。在上述步骤(2)中,在上述过滤器列表中,按照节目流帧中包含的节目源地址和多播目的地址查找上述动态生成的多播虚拟局域网地址并将该地址插入或覆盖节目流中相应位置。根据上述生成的多播虚拟局域网地址,在上述多播表中查找与上述多播虚拟局域网地址对应的端口,将节目流帧向上述查找到的端口转发。
本发明技术方案还涉及一种过滤节目源的装置,包括至少一个接收模块、一个发送模块,上述接收模块接收用户请求帧或者节目流帧,上述发送模块将接收的上述用户请求帧发送给上层设备或者将接收的节目流帧发送给用户,上述装置中还包含一个转换模块,上述转换模块将用户请求帧中包含的节目源地址和多播目的地址转换为多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表。
上述转换模块可以为一个单独的业务部分,或者,上述转换模块由至少一个业务部分和至少一个主控部分组成。在后者的情况下,上述业务部分向上述主控部分请求一个多播虚拟局域网地址,上述主控部分将用户请求帧中包含的节目源地址和多播目的地址转换为多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,将上述多播虚拟局域网地址返回给上述业务部分。
可见,本发明所提供的一种过滤节目源的方法及其装置,具有以下的优点和特点(1)本发明方法将数据链路层设备无法识别的用户申请的节目源地址和目的地址映射为多播虚拟局域网地址及其相应的端口列表,从而能够为二层设备所识别和处理。
(2)本发明方法只需对二层设备所使用的软件进行改动,对于硬件设备无需更换,因此改造成本低,易于实现。


下面结合附图对本发明的具体实施方式
作进一步详细的描述,其中图1是本发明实施例一中的业务卡IU中上行路线处理示意图。
图2是本发明实施例一中的业务卡IU中下行路线处理示意图。
图3是本发明实施例二中的业务卡IU中上行路线处理示意图。
图4是本发明实施例二中的主控卡CxU中上行路线处理示意图。
图5是本发明实施例二中的主控卡CxU中下行路线处理示意图。
图6是本发明实施例二中的业务卡IU中下行路线处理示意图。
具体实施例方式
图1是本发明实施例一中的业务卡IU中上行路线处理示意图。在上述上行线路中,从机顶盒(Set Top Box;STB)发出的请求通过数字用户线路DSL传送到IP数字用户线路接入复用器IPDSLAM的端口。IP数字用户线路接入复用器IPDSLAM是一个数据链路层(二层)设备,负责聚合数字用户线路DSL的数据,将其接入到骨干网络。并且,由于IPDSLAM是数据链路层的设备,它能够读取数据包中的MAC地址信息并根据MAC地址来进行数据交换。IPDSLAM通常包含至少两个部分,一部分为主控卡,此处表示为CxU,另一部分为业务卡,此处表示为IU,多个上述业务卡和一个主控卡相连接,在上述业务卡和主控卡内部建立高速的交换通路,方便数据包的转发。
在数字用户线路DSL上传输的信号帧的帧格式包括目的媒体接入控制(Media Access ControlMAC)地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列(Frame CheckSequence;FCS)字段。IP包中包括一个IP头字段和IGMP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息为IGMP。IGMP内容字段中指明了用户申请的节目源地址(Source IP;SrcIP)和多播目的地址(Destination IP;DstIP)。用户申请的节目源地址SrcIP可以为多个。
IP数字用户线路接入复用器IPDSLAM从它的上述端口收到数字用户线路DSL上传输的信号帧。业务卡IU中存在一个Internet组管理协议IGMP过滤器(IGMP filter),该过滤器为一个硬件设备,它能够根据接收到的上述信号帧的目的MAC地址字段、类型字段、IP包中IP头的类型字段等信息,识别出上述IP包为含有IGMP内容的包,进而将上述IP包中的IGMP内容字段转为软件处理。
用户申请的节目源地址SrcIP和多播目的地址DstIP包含在上述IP包的IGMP内容字段中,而位于二层的IPDSLAM设备从硬件上无法读取上述地址。为此,利用软件将上述用户申请的节目源地址SrcIP、多播目的地址DstIP读出,并且将这两个地址进行映射,生成一个多播虚拟局域网地址McastVLAN,以及一个该多播虚拟局域网地址McastVLAN所对应的端口列表Plist。
如果在生成上述映射表时,发现生成的多播虚拟局域网地址McastVLAN在映射表中已经存在,则无需在映射表中添加上述多播虚拟局域网地址McastVLAN,只需更新端口列表。如果发现生成的多播虚拟局域网地址McastVLAN在映射表中不存在,则将生成的多播虚拟局域网地址McastVLAN添加到上述映射表中。
然后,通过消息将上述用户申请的节目源地址SrcIP、多播目的地址DstIP、上述生成的多播虚拟局域网地址McastVLAN发送到一个IGMPV3过滤器中。上述IGMPV3过滤器也是一个硬件设备,但作用与前面提及的IGMP过滤器不同,它的主要作用是将节目流中的虚拟局域网地址替换为相应的McastVLAN。
经过上述处理后,业务卡IU将从IP数字用户线路接入复用器IPDSLAM的端口接收到的数字用户线路DSL上传输的信号帧中的IP包转发给主控卡CxU。
图2是本发明实施例一中的业务卡IU中下行路线处理示意图。在下行方向主要描述节目流的处理过程。业务卡IU接收从主控卡CxU传来的信号帧,该帧的帧格式包括目的MAC地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列FCS字段。IP包中包括一个IP头字段和IP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息中含有节目流。IP内容字段中含有用户申请的节目源地址SrcIP和多播目的地址DstIP。此外,从主控卡CxU传来的信号帧中还带有一个虚拟局域网类型字段、一个虚拟局域网优先级字段、一个视频特定的虚拟局域网标签VideoProviderVLAN。业务卡IU利用主控卡CxU传来的信号帧中IP内容字段包含的用户申请的节目源地址SrcIP和多播目的地址DstIP,在IGMP V3过滤器中进行查表,找到一个相应的多播虚拟局域网地址McastVLAN,并且将上述视频特定的虚拟局域网标签VideoProviderVLAN用该相应的多播虚拟局域网地址McastVLAN代替。
然后,在业务卡IU中的多播表中,根据多播MAC地址以及上述多播虚拟局域网地址McastVLAN查找与对应的端口列表Plist。按照端口列表Plist中的端口号,将主控卡IU接收的上述帧向相应的端口转发。
图3是本发明实施例二中的业务卡IU中上行路线处理示意图。和图1中相似,业务卡IU接收到在数字用户线路DSL上传输的信号帧,该帧的帧格式包括目的MAC地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列FCS字段。IP包中包括一个IP头字段和IGMP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息为IGMP。IGMP内容字段中指明了用户申请的节目源地址SrcIP和多播目的地址DstIP。用户申请的节目源地址SrcIP可以为多个。
IP数字用户线路接入复用器IPDSLAM从它的上述端口收到数字用户线路DSL上传输的信号帧。业务卡IU中存在的硬件设备IGMP过滤器(IGMP filter)能够根据接收到的上述信号帧的目的MAC地址字段、类型字段、IP包中IP头的类型字段等信息,识别出上述IP包为含有IGMP内容的包,进而将上述IP包中的IGMP内容字段转为软件处理。
用户申请的节目源地址SrcIP和多播目的地址DstIP包含在上述IP包的IGMP内容字段中,而位于二层的IPDSLAM设备从硬件上无法读取上述地址。为此,利用软件将上述用户申请的节目源地址SrcIP、多播目的地址DstIP读出,并且将这两个地址进行映射,生成一个多播虚拟局域网地址McastVLAN,以及一个该多播虚拟局域网地址McastVLAN所对应的端口列表Plist。
如果在生成上述映射表时,发现生成的多播虚拟局域网地址McastVLAN在映射表中已经存在,则更新端口列表并通过消息将上述生成的多播虚拟局域网地址McastVLAN和该多播虚拟局域网地址McastVLAN所对应的端口列表Plist发送到业务卡IU的多播表中。除了上述两项,多播表中还含有多播MAC地址。
如果在生成上述映射表时,发现生成的多播虚拟局域网地址McastVLAN在映射表中不存在,则业务卡IU向主控卡CxU发送一个请求,请求主控卡CxU为该业务卡IU分配一个相应的多播虚拟局域网地址McastVLAN。
业务卡IU接收到上述主控卡CxU发送过来的多播虚拟局域网地址McastVLAN后,同样通过消息将上述生成的多播虚拟局域网地址McastVLAN和该多播虚拟局域网地址McastVLAN所对应的端口列表Plist发送到业务卡IU的多播表中。除了上述两项,多播表中还含有多播MAC地址。
经过上述处理后,业务卡IU将从IP数字用户线路接入复用器IPDSLAM的端口接收到的数字用户线路DSL上传输的信号帧中的IP包转发给主控卡CxU。
图4是本发明实施例二中的主控卡CxU中上行路线处理示意图。主控卡CxU接收到业务卡IU发送的信号帧,该帧的帧格式包括目的MAC地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列FCS字段。IP包中包括一个IP头字段和IGMP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息为IGMP。IGMP内容字段中指明了用户申请的节目源地址SrcIP和多播目的地址DstIP。用户申请的节目源地址SrcIP可以为多个。
主控卡CxU中也存在一个作为硬件设备的IGMP过滤器(IGMP filter),它的作用与业务卡IU中的IGMP过滤器的作用基本相同,即根据接收到的上述信号帧的类型字段、IP包中IP头的类型字段等信息,识别出上述IP包为含有IGMP内容的包,进而将上述IP包中的IGMP内容字段转为软件处理。
一个主控卡CxU下面携带了多个业务卡IU,主控卡CxU中的映射表是该主控卡CxU携带的所有的业务卡IU的映射表的集合。当主控卡CxU接收到上述业务卡IU发送的分配一个相应的多播虚拟局域网地址McastVLAN的请求时,主控卡CxU会在它的映射表集合中进行查找。如果主控卡CxU从中(例如,在另外一个业务卡IU的映射表中)找到了利用上述用户申请的节目源地址SrcIP、多播目的地址DstIP生成的多播虚拟局域网地址McastVLAN,则将该多播虚拟局域网地址McastVLAN发送给请求分配一个多播虚拟局域网地址McastVLAN的上述业务卡IU。如果主控卡CxU在它所携带的所有业务卡IU的映射表中没有找到利用上述用户申请的节目源地址SrcIP、多播目的地址DstIP生成的多播虚拟局域网地址McastVLAN,则主控卡CxU将利用上述用户申请的节目源地址SrcIP、多播目的地址DstIP映射生成一个多播虚拟局域网地址McastVLAN,再将该映射生成的多播虚拟局域网地址McastVLAN发送给请求分配一个多播虚拟局域网地址McastVLAN的上述业务卡IU。
在将上述多播虚拟局域网地址McastVLAN发送给进行请求的业务卡IU的同时,通过消息将上述用户申请的节目源地址SrcIP、多播目的地址DstIP、上述生成的多播虚拟局域网地址McastVLAN发送到位于主控卡CxU的IGMP V3过滤器中。
经过上述处理后,主控卡CxU将从业务卡IU接收到的信号帧中的IP包转发给其上层设备。
图5是本发明实施例二中的主控卡CxU中下行路线处理示意图。主控卡CxU接收从上层设备传来的信号帧,上述帧的帧格式包括目的MAC地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列FCS字段。IP包中包括一个IP头字段和IP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息中含有IGMP协议还是节目流。IP内容字段中含有用户申请的节目源地址SrcIP和多播目的地址DstIP。此外,上述帧中还带有一个虚拟局域网类型字段、一个虚拟局域网优先级字段、一个视频特定的虚拟局域网标签VideoProviderVLAN。
主控卡CxU中存在的IGMP过滤器(IGMP filter)根据接收到的上述信号帧的类型字段、IP包中IP头的类型字段等信息,判断上述IP包是否含有IGMP内容的包,进而将上述IP包中的IGMP内容字段转为软件处理,将节目流送IGMP V3过滤器。
主控卡CxU利用上层设备传来的信号帧中IP内容字段包含的用户申请的节目源地址SrcIP和多播目的地址DstIP,在IGMP V3过滤器中进行查表,找到一个相应的多播虚拟局域网地址McastVLAN,并且将上述视频特定的虚拟局域网标签VideoProviderVLAN用该相应的多播虚拟局域网地址McastVLAN代替。
经过上述处理后,主控卡CxU将从上层设备传输过来的信号帧中的IP包转发给相应的业务卡IU。
图6是本发明实施例二中的业务卡IU中下行路线处理示意图。业务卡IU接收从主控卡CxU传来的信号帧,该帧的帧格式包括目的MAC地址DA字段、源MAC地址SA字段、类型字段,若该字段值为0800说明交付此数据包到数据链路层的网络层协议类型为IP协议、IP包字段以及帧校验序列FCS字段。IP包中包括一个IP头字段和IP内容字段。IP头中含有类型字段、IP源地址字段、IP目的地址字段等信息,IP头中的类型字段指明发送的消息中是否含有IGMP协议。IP内容字段中用户申请的节目源地址SrcIP和多播目的地址DstIP。此外,从主控卡CxU传来的信号帧中还带有一个虚拟局域网类型字段、一个虚拟局域网优先级字段、一个视频特定的虚拟局域网标签VideoProviderVLAN。
在业务卡IU中的多播表中,业务卡IU根据多播MAC地址以及上述多播虚拟局域网地址McastVLAN查找与对应的端口列表Plist。按照端口列表Plist中的端口号,将业务卡IU接收的上述帧向相应的端口转发。
上述实施例都为包含用户申请的节目源地址SrcIP的情况,IGMP V3中还可以指明只不包含节目源地址SrcIP的情况,此时只是在映射表中,节目源地址SrcIP所对应的行中不含有上述用户的端口号,而映射表的其他行都含有上述用户的端口号。
从上述实施例可见,采用本发明方法,能够将数据链路层(二层)设备IPDSLAM无法识别的用户申请的节目源地址和目的地址映射为多播虚拟局域网地址及其相应的端口列表,从而能够为二层设备所识别和处理。由于只需对二层设备所使用的软件进行改动,因此改造成本低,易于实现。
权利要求
1.一种过滤节目源的方法,其特征在于该方法包含下列步骤(1)利用用户请求帧中包含的节目源地址和多播目的地址动态生成多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表;(2)按照节目流帧中包含的节目源地址和多播目的地址查找上述动态生成的多播虚拟局域网地址。
2.如权利要求1所述的过滤节目源的方法,其特征在于在上述步骤(1)中,生成上述多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,用上述用户请求帧中包含的源地址、多播目的地址、上述虚拟局域网地址作为过滤器列表选项。
3.如权利要求1所述的过滤节目源的方法,其特征在于在上述步骤(1)中,生成上述多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,将上述虚拟局域网地址、上述端口列表发送给多播表。
4.如权利要求3所述的过滤节目源的方法,其特征在于上述多播表中还包含多播媒体接入控制地址选项。
5.如权利要求2所述的过滤节目源的方法,其特征在于在上述步骤(2)中,在上述过滤器列表中,按照节目流帧中包含的节目源地址和多播目的地址查找上述动态生成的多播虚拟局域网地址并将该地址插入或覆盖节目流中相应位置。
6.如权利要求5所述的过滤节目源的方法,其特征在于根据上述生成的多播虚拟局域网地址,在上述多播表中查找与上述多播虚拟局域网地址对应的端口,将节目流帧向上述查找到的端口转发。
7.一种过滤节目源的装置,包括至少一个接收模块、一个发送模块,上述接收模块接收用户请求帧或者节目流帧,上述发送模块将接收的上述用户请求帧发送给上层设备或者将接收的节目流帧发送给用户,其特征在于上述装置中还包含一个转换模块,上述转换模块将用户请求帧中包含的节目源地址和多播目的地址转换为多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表。
8.如权利要求7所述的过滤节目源的装置,其特征在于上述转换模块为一个单独的业务部分。
9.如权利要求7所述的过滤节目源的装置,其特征在于上述转换模块由至少一个业务部分和至少一个主控部分组成。
10.如权利要求9所述的过滤节目源的装置,其特征在于上述业务部分向上述主控部分请求一个多播虚拟局域网地址,上述主控部分将用户请求帧中包含的节目源地址和多播目的地址转换为多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表后,将上述多播虚拟局域网地址返回给上述业务部分。
全文摘要
本发明提出一种过滤节目源的方法,利用用户请求帧中包含的节目源地址和多播目的地址动态生成多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表;然后,按照节目流帧中包含的节目源地址和多播目的地址查找上述映射生成的多播虚拟局域网地址,并通过修改节目流的虚拟局域网地址达到基于端口的过滤。本发明还提出了与上述方法相对应的一种过滤节目源的装置,包括至少一个接收模块、一个发送模块、一个转换模块,上述转换模块将用户请求帧中包含的节目源地址和多播目的地址转换为多播虚拟局域网地址和与上述多播虚拟局域网地址对应的端口列表。本发明能将二层设备无法识别的用户申请的节目源地址和多播目的地址映射为多播虚拟局域网地址及其相应的端口列表,从而能够为二层设备所识别和处理。
文档编号H04L29/06GK101083612SQ20061008344
公开日2007年12月5日 申请日期2006年5月31日 优先权日2006年5月31日
发明者田立刚 申请人:西门子通信技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1