首页> 中国专利> 四以太网口调制解调器设备上实现IGMP侦听功能的方法

四以太网口调制解调器设备上实现IGMP侦听功能的方法

摘要

本发明涉及一种四以太网口调制解调器设备上实现IGMP侦听功能的方法,包括设置交换模块中的控制寄存器从而对转发的以太网报文加上包含该报文接收端口的冗余信息、截获并分析判断以太网报文是否是IGMP报文、如果是则系统将IGMP报文送至网络驱动模块、网络驱动模块判断IGMP报文类型、对于IGMP Report报文进行转发信息添加处理、对于IGMPLeave报文进行转发信息删除处理。采用该种四以太网口调制解调器设备上实现IGMP侦听功能的方法,保证了组播报文转发到精确的端口,有效避免了交换芯片带宽的浪费,降低了对交换芯片选择的依赖性,增加了Modem设备厂家对交换芯片选择的灵活性,同时工作性能稳定可靠,大大降低了生产成本,适用范围较为广泛。

著录项

  • 公开/公告号CN101312400A

    专利类型发明专利

  • 公开/公告日2008-11-26

    原文格式PDF

  • 申请/专利权人 上海大亚科技有限公司;

    申请/专利号CN200710041230.2

  • 发明设计人 严向阳;

    申请日2007-05-25

  • 分类号H04L12/18;H04L12/26;H04L12/56;H04L12/28;

  • 代理机构上海智信专利代理有限公司;

  • 代理人王洁

  • 地址 200092 上海市控江路1555号22层

  • 入库时间 2023-12-17 20:58:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    未缴年费专利权终止 IPC(主分类):H04L12/18 授权公告日:20110330 终止日期:20170525 申请日:20070525

    专利权的终止

  • 2011-03-30

    授权

    授权

  • 2009-01-21

    实质审查的生效

    实质审查的生效

  • 2008-11-26

    公开

    公开

说明书

技术领域

本发明涉及计算机网络领域,特别涉及网络通信中组播技术领域,具体是指一种四以太网口调制解调器设备(即xDSL MODEM)上通过软件实现IGMP侦听(IGMP Snooping)的方法。

背景技术

目前,承载在IP网络上的电视业务(网络电视或IPTV)应用越来越普及。IPTV系统由节目服务器、电信中心局设备(数字用户线接入复接器,DSLAM)、四以太网口调制解调器(xDSLModem)以及接收终端机顶盒设备(STB)等构成。

IPTV终端----机顶盒(STB)在用户切换节目时会按照因特网组管理协议(IGMPv2)发送IGMP报文控制加入或者离开某个节目,每个节目都对应唯一的组播组地址,相应的节目数据流是通过UDP组播报文由IPTV节目服务器经由Modem发送到STB。作为IPTV视频数据传输的载体----四以太网口xDSL Modem构成了IPTV业务系统重要的一环。xDSL Modem设备由DSL主芯片和交换芯片构成,DSL芯片一般为内嵌嵌入式CPU的系统级芯片,嵌入式操作系统如Linux、Vxworks等均可以运行在DSL芯片上。Modem通过交换芯片提供多个以太网口,用于多台设备同时上网。

正常情况下,请参阅图1所示,交换芯片将组播报文转发给所有的端口,这不仅浪费大量的网络带宽、降低网络负载,也造成了安全漏洞。为了有效抑制组播数据在二层网络中的扩散,引入了IGMP Snooping功能,通过监听检测经过的IGMP报文,形成组成员和端口的对应关系,据此生成组播转发表,进行组播的复制转发。使得只有上传过IGMP报文的端口才能接收到加入组的组播报文。

部分交换芯片可以提供对IGMP Snooping功能的支持。原理是:交换机监听主机和路由器之间的IGMP会话。当交换机监听到主机发往某个组的IGMP Report报文,交换机将主机的端口加入到这个组的转发列表中,同样,当交换机收听到IGMP Leave报文,它就将主机的端口从转发表中删除。当有组播数据时,直接根据组播转发表进行相应的转发,并不是向所有端口转发,因此有效地节省了交换机的带宽。

但是,提供IGMP Snooping功能的交换芯片价格较昂贵,许多低端交换芯片还无法支持,这样限制了Modem设备厂家选择交换芯片的灵活性。并且,交换芯片支持的IGMP Snooping功能一般无法直接修改转发表。对于某些应用场合需要将IPTV节目组播报文转发到固定端口的需求难以满足。

发明内容

本发明的目的是克服了上述现有技术中的缺点,提供一种能够实现组播报文发送到指定的端口、有效节省网络带宽、降低Modem设备对交换芯片选择的依赖性、工作性能稳定可靠、适用范围较为广泛的四以太网口调制解调器设备上实现IGMP侦听功能的方法。

为了实现上述的目的,本发明的四以太网口调制解调器设备上实现IGMP侦听功能的方法如下:

该四以太网口调制解调器设备上实现IGMP侦听功能的方法,包括该调制解调器设备中的交换模块和网络驱动模块,其主要特点是,所述的方法包括以下步骤:

(1)系统进行初始化操作;

(2)系统设置所述的交换模块中的控制寄存器,使得该交换模块对于转发的以太网报文加上包含该报文接收端口的冗余信息;

(3)系统截获以太网报文,并分析判断该以太网报文是否是IGMP报文;

(4)如果不是,则系统进行非IGMP报文处理操作,并结束;

(5)如果是,则系统将该IGMP报文送至网络驱动模块;

(6)网络驱动模块判断该IGMP报文类型是IGMP Report报文还是IGMP Leave报文;

(7)如果是IGMP Report报文,则进行转发信息添加处理;

(8)如果是IGMP Leave报文,则进行转发信息删除处理;

(9)系统进行IGMP报文后续处理操作。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的冗余信息还可以包括以太网报文后面添加的“Egress Trailer”附加信息或者以太网报文中间添加的“Special Tag”附加信息。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的非IGMP报文处理操作包括以下步骤:

(1)判断该报文是否添加有冗余信息;

(2)如果有冗余信息,则移除相应的冗余信息;

(3)系统将该报文送至后续模块进行处理。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的转发信息添加处理包括以下步骤:

(1)系统在尚未建立转发表项数据结构的情况下建立该转发表项数据结构,其中的每个转发表项包括组播组地址信息和转发列表信息;

(2)从该IGMP报文中取出相应的组播组地址和源端口信息;

(3)根据该组播组地址在该转发表项数据结构中进行匹配搜索;

(4)如果该组播组地址有转发表项匹配,则检查该转发表项的转发列表中是否存在相应的源端口信息;

(5)如果不存在,则在该转发列表中加入该源端口信息,并进行交换机静态MAC地址表项添加更新处理;如果存在,则直接返回;

(6)如果该组播组地址没有转发表项匹配,则在该转发表项数据结构中创建新的转发表项并将填入相应的组播组地址信息和转发列表信息,然后进行交换机静态MAC地址表项添加更新处理。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的交换机静态MAC地址表项添加更新处理包括以下步骤:

(1)网络驱动模块通过交换模块访问交换机中相应的MAC地址转发表;

(2)在该MAC地址转发表中添加包括该报文的源MAC地址和所述的源端口信息的静态MAC地址表项。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的转发信息删除处理包括以下步骤:

(1)从该IGMP报文中取出相应的组播组地址和源端口信息;

(2)根据该组播组地址在该转发表项数据结构中进行匹配搜索;

(3)如果该组播组地址有转发表项匹配,则检查该转发表项的转发列表中是否存在相应的源端口信息;

(4)如果存在,则从转发列表中剔除源端口;

(5)判断此时的该转发列表是否为空,如果为空,则从该转发表项数据结构中将相应的转发表项删除;

(6)进行交换机静态MAC地址表项删除更新处理。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的交换机静态MAC地址表项删除更新处理包括以下步骤:

(1)网络驱动模块通过交换模块访问交换机中相应的MAC地址转发表;

(2)在该MAC地址转发表中删除包括该报文的源MAC地址和所述的源端口信息的静态MAC地址表项。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的IGMP报文后续处理操作包括以下步骤:

(1)判断该报文是否添加有冗余信息;

(2)如果有冗余信息,则移除相应的冗余信息;

(3)系统将该报文送至后续模块进行处理。

该四以太网口调制解调器设备上实现IGMP侦听功能的方法的移除冗余信息包括以下步骤:

(1)判断该冗余信息是以太网报文后面添加的“Egress Trailer”附加信息还是以太网报文中间添加的“Special Tag”附加信息;

(2)如果是“Egress Trailer”附加信息,则在报文结尾移除“Egress Trailer”附加信息;

(3)如果是“Special Tag”附加信息,则在报文中间移除“Special Tag”附加信息。

采用了该发明的四以太网口调制解调器设备上实现IGMP侦听功能的方法,由于其通过软件方式实现了IGMP Snooping功能,从而保证了组播报文转发到精确的端口,有效避免了交换芯片带宽的浪费,而且本发明的方法还降低了对交换芯片选择的依赖性,增加了Modem设备厂家对交换芯片选择的灵活性,同时工作性能稳定可靠,大大降低了生产成本,适用范围较为广泛。

附图说明

图1为现有技术中正常情况下交换机对组播报文的转发示意图。

图2为本发明的四以太网口调制解调器设备上实现IGMP侦听功能的方法的流程图。

图3为使用本发明的四以太网口调制解调器设备上实现IGMP侦听功能的方法的IPTV系统架构示意图。

具体实施方式

为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。

请参阅图2所示,该四以太网口调制解调器设备上实现IGMP侦听功能的方法,包括该调制解调器设备中的交换模块和网络驱动模块,其主要特点是,所述的方法包括以下步骤:

(1)系统进行初始化操作;

(2)系统设置所述的交换模块中的控制寄存器,使得该交换模块对于转发的以太网报文加上包含该报文接收端口的冗余信息,该冗余信息还可以包括以太网报文后面添加的“EgressTrailer”附加信息或者以太网报文中间添加的“Special Tag”附加信息;

(3)系统截获以太网报文,并分析判断该以太网报文是否是IGMP报文;

(4)如果不是,则系统进行非IGMP报文处理操作,并结束;该非IGMP报文处理操作包括以下步骤:

(a)判断该报文是否添加有冗余信息;

(b)如果有冗余信息,则移除相应的冗余信息;

(c)系统将该报文送至后续模块进行处理;

(5)如果是,则系统将该IGMP报文送至网络驱动模块;

(6)网络驱动模块判断该IGMP报文类型是IGMP Report报文还是IGMP Leave报文;

(7)如果是IGMP Report报文,则进行转发信息添加处理,包括以下步骤:

(a)系统在尚未建立转发表项数据结构的情况下建立该转发表项数据结构,其中的每个转发表项包括组播组地址信息和转发列表信息;

(b)从该IGMP报文中取出相应的组播组地址和源端口信息;

(c)根据该组播组地址在该转发表项数据结构中进行匹配搜索;

(d)如果该组播组地址有转发表项匹配,则检查该转发表项的转发列表中是否存在相应的源端口信息;

(e)如果不存在,则在该转发列表中加入该源端口信息,并进行交换机静态MAC地址表项添加更新处理;如果存在,则直接返回;该交换机静态MAC地址表项添加更新处理包括以下步骤:

(i)网络驱动模块通过交换模块访问交换机中相应的MAC地址转发表;

(ii)在该MAC地址转发表中添加包括该报文的源MAC地址和所述的源端口信息的静态MAC地址表项;

(f)如果该组播组地址没有转发表项匹配,则在该转发表项数据结构中创建新的转发表项并将填入相应的组播组地址信息和转发列表信息,然后进行交换机静态MAC地址表项添加更新处理,该处理过程与上述过程相同;

(8)如果是IGMP Leave报文,则进行转发信息删除处理,包括以下步骤:

(a)从该IGMP报文中取出相应的组播组地址和源端口信息;

(b)根据该组播组地址在该转发表项数据结构中进行匹配搜索;

(c)如果该组播组地址有转发表项匹配,则检查该转发表项的转发列表中是否存在相应的源端口信息;

(d)如果存在,则从转发列表中剔除源端口;

(e)判断此时的该转发列表是否为空,如果为空,则从该转发表项数据结构中将相应的转发表项删除;

(f)进行交换机静态MAC地址表项删除更新处理,包括以下步骤:

(i)网络驱动模块通过交换模块访问交换机中相应的MAC地址转发表;

(ii)在该MAC地址转发表中删除包括该报文的源MAC地址和所述的源端口信息的静态MAC地址表项;

(9)系统进行IGMP报文后续处理操作,包括以下步骤:

(a)判断该报文是否添加有冗余信息;

(b)如果有冗余信息,则移除相应的冗余信息,包括以下步骤:

(i)判断该冗余信息是以太网报文后面添加的“Egress Trailer”附加信息还是以太网报文中间添加的“Special Tag”附加信息;

(ii)如果是“Egress Trailer”附加信息,则在报文结尾移除“Egress Trailer”附加信息;

(iii)如果是“Special Tag”附加信息,则在报文中间移除“Special Tag”附加信息;

(c)系统将该报文送至后续模块进行处理。

在实际应用当中,本发明的基本思想是通过软件的方法在四以太网口调制解调器上实现了IGMP Snooping功能,其效果是限制组播报文复制到所有端口,实现其发送到精确的端口,因此为节省带宽提供了便利,另外,通过软件实现IGMP Snooping也降低了Modem设备对交换芯片选择的依赖性。

采用本发明的方法的操作过程如下:

1、软件访问交换芯片里面的控制寄存器,设置交换芯片对于转发的以太网报文加上冗余信息,冗余信息中必须包含该报文接收端口信息。

需要注意的是,不同厂家交换芯片冗余信息添加的方式可能不同,有的是在所有的以太网报文后面添加称为“Egress Trailer”的附加信息,有的交换芯片可以指定针对IGMP报文在报文中间加上“Special Tag”。

2、运行在DSL芯片上的操作系统截获IGMP报文,并进行分析和处理。

对于非IGMP报文,如果交换芯片对所有报文都加上“Egress Trailer”,需要先移除冗余信息,再交由操作系统其他模块处理。

操作系统首先建立并维护一个转发数据结构FDB,FDB的每个表项,包含三个成员:

●Occupied——记录该表项是否已被占用

●MulticastID——用于记录组播组地址

●PortMap——转发列表,用于记录该组播组数据报文转发目的网口

详细处理过程是,网络驱动模块监测接收到的每个报文,如果是IGMP报文进入以下步骤:

(1)取出报文中的组播组地址和源端口信息,然后根据报文的类型分别进行处理;

(2)如果是IGMP Report报文,在FDB中搜索该组播组地址是否有表项匹配。如果有匹配,检查源端口是否已在该表项转发列表中,如果不在,则在转发列表PortMap中加入该端口,按照步骤3更新交换芯片静态(固定)MAC地址表项;如果已在转发列表中,则直接进入步骤4;

如果该组播组地址在FDB中没有匹配表项,取出FDB中未占用的表项,创建新的表项并赋值。按照步骤3更新交换芯片静态(固定)MAC地址表项;

(3)如果是IGMP Leave报文,同样在FDB中查询该组播组地址是否有表项匹配。如果有,从转发列表中剔除源端口,假如这时转发列表为空,则从FDB中删除该表项。再按照以下步骤3更新交换芯片静态(固定)MAC地址表项。如果该组播组地址在FDB中没有匹配项,无需做任何动作,直接进入以下步骤4。

3、更新交换芯片静态(固定)MAC地址表项。

交换芯片工作在数据链路层,根据MAC地址来转发报文,交换机保存一个MAC地址表,MAC地址表显示了主机的MAC地址与交换机端口之间的映射关系。当主机发出一个报文时,交换机将检查收到报文的源MAC地址,并查找MAC地址表中与之相匹配的项。如果没有,交换机将在MAC地址表中记录该MAC地址和接收该数据报文的交换机端口,这个过程被称作地址学习。交换机还将报文的目的MAC地址与MAC地址表进行查找匹配,当有匹配项时,交换机将把该报文转发到该匹配项指定的端口。交换芯片支持通过写寄存器访问MAC地址表项,可以添加、修改、删除表项。一个MAC地址表项可以指明是动态或者静态。从一个地址加入地址表以后开始计时,在老化时间内各端口未收到源地址为该MAC地址的报文,那么,该表项将从MAC地址表中被删除。静态MAC地址表项不受地址老化时间影响。通过添加静态MAC地址表项可以指定该地址报文从固定端口转发出去,直到该表项被删除为止。

4、删除IGMP报文中交换芯片添加的冗余信息,并将报文交给操作系统其他模块继续处理。针对交换芯片不同的冗余信息附加方式,采取不同的方法移除。如果IGMP报文中添加了“Egress trailer”,这时需要在报文结尾移除“Egress Trailer”。对于采用“Special Tag”方式添加的报文,只需在报文中间移除“Special Tag”。

再请参阅图3所示,其中的STB-B发送IGMP Report报文请求点播某个频道节目;当IGMP报文经过交换芯片时会被加上冗余信息,其中包含该报文源端口号4;驱动模块捕获到IGMPReport报文后,通过访问交换芯片里面的MAC地址转发表,添加静态(固定)表项,指明该组播组数据报文转发到端口4。然后移除报文中的冗余信息,并交由操作系统其他模块继续处理。

当IPTV节目服务器收到点播请求应答时,会送出节目组播报文,经数字用户线接入复用器(DSLAM,DSL Access Multiplexer)传输到Modem设备;交换芯片在转发列表中查询到该组播报文对应端口4,于是将其转发到该端口4;从而STB-B便可以成功接收到节目组播报文。

采用了上述的四以太网口调制解调器设备上实现IGMP侦听功能的方法,由于其通过软件方式实现了IGMP Snooping功能,从而保证了组播报文转发到精确的端口,有效避免了交换芯片带宽的浪费,而且本发明的方法还降低了对交换芯片选择的依赖性,增加了Modem设备厂家对交换芯片选择的灵活性,同时工作性能稳定可靠,大大降低了生产成本,适用范围较为广泛。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号