CN101958840A - 报文表项创建方法和装置、组播数据流转发方法和装置 - Google Patents
报文表项创建方法和装置、组播数据流转发方法和装置 Download PDFInfo
- Publication number
- CN101958840A CN101958840A CN2010105105158A CN201010510515A CN101958840A CN 101958840 A CN101958840 A CN 101958840A CN 2010105105158 A CN2010105105158 A CN 2010105105158A CN 201010510515 A CN201010510515 A CN 201010510515A CN 101958840 A CN101958840 A CN 101958840A
- Authority
- CN
- China
- Prior art keywords
- message
- list item
- transfer
- cut
- cutting
- 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
Abstract
本发明公开了一种报文表项创建方法和装置、组播数据流转发方法和装置,组播数据流转发方法如下:查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;将组播数据流从hello报文表项中所述的实端口转发出去。本发明的组播数据流转发方法通过比较创建好的hello报文表项和剪嫁报文表项,在本设备中找出需要转发组播数据流的实端口,并将组播数据流从该实端口转发出去,有效地抑制了组播数据流转发到无需组播数据流的邻居设备中,节约了网络数据传输资源。
Description
技术领域
本发明涉及以太网组播技术领域,尤其是涉及一种报文表项创建方法和装置、组播数据流转发方法和装置。
背景技术
密集模式协议无关组播(PIM-DM,Protocol Independent Multicast Dense Mode)是一种域内组播路由协议,该协议只有最短路径树(SPT,Shortest Path Tree),其采用“扩散-剪枝”的方式对组播数据流进行转发。
在PIM-DM组播域中,运行PIM-DM协议的交换机会周期性的发送Hello报文,用于邻居发现和指定交换机(DR,Designated Router)选举。
下面结合一个基本实例,来介绍PIM-DM特有的“扩散-剪枝”机制。
如图1所示,设两台三层交换机A和B均开启PIM-DM功能;其中,端口A处于Vlan2下,端口B、C、D和E处于同一Vlan3下,端口F处于Vlan4内;用户1点播流量,用户2不点播流量。当交换机A接收到数据流,则创建PIM-DM路由表项(S,G),其中,交换机A的数据流入接口为Vlan2,出接口为Vlan3。然后交换机A根据路由表项将数据流从vlan3中的两个实端口B和C转发出去,因此交换机B和用户2都将收到交换机A转发的数据流。交换机B收到数据流后,同样创建PIM-DM路由表项(S,G),其中,交换机B的数据流入接口为Vlan3,出接口为Vlan4,然后交换机B根据路由表项将数据流从Vlan4的F实端口转发给用户1。在该实例中,用户2没有点播,因此此时用户2收到交换机A转发的数据流是一种资源的浪费。
若将上述实例中的用户2改为交换机C,参见图2该交换机C同样开启PIM-DM功能,交换机A根据路由表项将数据流从vlan3中的两个实端口B和C转发给交换机B和交换机C,交换机C收到数据流后,创建PIM-DM路由表项(S,G),但其发现自身并没有用户点播,因此向交换机A发送一个剪枝报文,交换机A,交换机A接收到该剪枝报文后再转发给交换机B,同时查询其自身的数据流出接口Vlan3下是否有其它邻居,若有则将数据流出接口设置为剪枝延迟状态,并设置剪枝延迟定时器;交换机B收到后,发现自身有用户点播,则设置加入延迟定时器,其延时时间间隔小于交换机A的剪枝延迟定时器的延时时间间隔,交换机B在加入延迟定时器到期后,向交换A发送加入报文,交换机A收到该加入报文后,又将数据流出接口Vlan3还原为为转发状态。本实例中的交换机C开启PIM-DM功能,在没有用户点播的情况下,仍然会接收到交换机A转发的数据流。
以上两个实例中可以看出,没有点播的用户或交换机仍然会接收到其他交换机转发的数据流,不但浪费了大量的带宽资源,而且增大了没有点播的用户和/或没有点播的交换机的处理负担。
发明内容
本发明的主要目的在于提供一种报文表项创建方法和装置、组播数据流转发方法和装置,抑制组播数据流转发到无需组播数据流的邻居设备中。
本发明提出一种报文表项创建方法,其包括:
判断接收的协议报文为hello报文或者为剪嫁报文;
当协议报文为hello报文,创建相应的hello报文表项;
当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
优选地,所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值;
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
优选地,所述创建相应的hello报文表项之后还包括:
开启计时功能计时;
判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文;
若否,则删除该hello报文表项;
若是,更新所述hello老化时间值,重新计时,并返回执行所述判断计时时间在所述hello老化时间值内是否收到下一条相应的hello报文的步骤。
优选地,所述剪嫁报文为剪枝报文或嫁接报文;
当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;
当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
优选地,所述创建相应的剪嫁报文表项之后还包括:
开启计时功能计时;
判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文;
若否,则删除该剪嫁报文表项;
若是,则更新所述剪嫁老化时间值,重新计时,将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配,并返回执行所述判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文步骤。
优选地,所述将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配具体包括:
当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;
当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
本发明另提出一种报文表项创建装置,其包括:
第一判断模块,用于判断接收的协议报文为hello报文或者为剪嫁报文;
创建模块,用于当协议报文为hello报文,创建相应的hello报文表项;以及当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
优选地,所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值;
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
优选地,计时模块,用于在创建相应的hello报文表项后,开启计时功能计时;以及在更新所述hello老化时间值后,重新计时;
第二判断模块,用于判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文;
删除模块,用于当计时时间在所述hello老化时间值以内,没有收到下一条相应的hello报文时,删除所述hello报文表项;
更新模块,用于当计时时间在所述hello老化时间值以内,收到下一条相应的hello报文时,更新所述hello老化时间值。
优选地,所述剪嫁报文为剪枝报文或嫁接报文;
当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;
当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
优选地,所述计时模块,还用于在创建相应的剪嫁报文表项之后,开启计时功能计时;以及在更新所述剪嫁老化时间值后,重新计时;
所述第二判断模块,还用于判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文;
所述删除模块,还用于当计时时间在所述剪嫁老化时间值以内,没有收到下一条相应剪嫁报文时,删除所述剪嫁报文表项;
所述更新模块,还用于当计时时间在所述剪嫁老化时间值以内,收到下一条相应剪嫁报文时,更新所述剪嫁老化时间值。
优选地,所述更新模块,具体还用当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;以及当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
本发明另提出一种组播数据流转发方法,基于上述所创建的报文表项,包括步骤:
查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;
在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;
将组播数据流从hello报文表项中所述的实端口转发出去。
本发明还提出一种组播数据流转发装置,基于上述所创建的报文表项,其包括:
查找模块,用于查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;以及在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;
转发模块,用于将组播数据流从hello报文表项中所述的实端口转发出去。
由上可知,通过比较创建好的hello报文表项和剪嫁报文表项,在本设备中找出需要转发组播数据流的实端口,并将组播数据流从该实端口转发出去,有效地抑制了组播数据流转发到无需组播数据流的邻居设备中,节约了网络数据传输资源。
附图说明
图1是现有技术中组播数据流进行转发的过程示意图;
图2是现有技术中另一组播数据流进行转发的过程示意图;
图3是本发明的的报文表项创建方法一实施例的流程图;
图4是本发明的创建相应的hello报文表项后续处理流程图;
图5是本发明的创建相应的剪嫁报文表项后续处理流程图;
图6是本发明的报文表项创建装置一实施例的结构示意图;
图7是本发明的报文表项创建装置另一实施例的结构示意图;
图8是本发明的组播数据流转发方法一实施例的流程图;
图9是本发明的组播数据流转发装置一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图3,提出本发明的报文表项创建方法一实施例,其包括:
步骤S101、判断接收的协议报文为hello报文或者为剪嫁报文;
步骤S102、当协议报文为hello报文,创建相应的hello报文表项;
步骤S103、当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
进一步地,上述实施例中,所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值。
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
其中,发送剪嫁报文的设备是发送hello报文的设备中的部分或全部。
所述hello报文中包含有发送下一hello报文的时间间隔值。hello报文表项中记录的hello老化时间值与接收的hello报文中发送下一hello报文时间间隔值相等。
进一步地,参见图4,上述实施例中,在所述创建相应的hello报文表项之后还包括以下处理步骤:
步骤S201、开启计时功能计时;
步骤S202、判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文;
步骤S203、若否,则删除该hello报文表项;
步骤S204、若是,更新所述hello老化时间值,重新计时,并返回执行步骤S202。
其中,是否接收hello报文是用于判断是否存在与本设备维持邻居关系的设备,本实施中,发送该hello报文的设备与本设备互为邻居设备。本实施例中创建的hello报文表项是维护设备间邻居关系的表项。本设备根据自身创建的hello报文表项,可以知晓与自身维持邻居关系的设备包括哪些。相互间维持邻居关系的设备会相互间定时发送hello报文。
因此,本实施例中,本设备若在规定的时间间隔值内没有收到对方的hello报文,则表明对方设备已与本设备已解除邻居关系,则该相应的hello报文表项需删除。其中,所述规定的时间间隔值与hello报文表项中的hello老化时间相等。
在本实施例,接收的上一条hello报文和下一条hello报文中包含的发送hello报文时间间隔值可能相等也可能不等。因此,本设备在规定的时间间隔值内收到下一条hello报文后,需更新hello老化时间值,并重新计时。其中更新后的hello老化时间值与所述下一条hello报文中的发送hello报文时间间隔值相等。
进一步地,上述实施例中,所述剪嫁报文为剪枝报文或嫁接报文;当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
进一步地,参见图5,上述实施例中,在所述创建相应的剪嫁报文表项之后还包括:
步骤S301、开启计时功能计时;
步骤S302、判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文;
步骤S303、若否,则删除该剪嫁报文表项;
步骤S304、若是,则更新所述剪嫁老化时间值,重新计时,将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配,并返回执行步骤S302。
进一步地,上述实施例中,所述将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配具体包括如下处理:
当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;
当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
其中,发送剪嫁报文的设备是与本设备维持邻居关系的设备,即邻居设备,本设备通过接收的剪嫁报文可知晓该发送剪嫁报文的邻居设备下游没有与其维持邻居关系的邻居设备,并根据剪嫁报文的类型判断本设备是否需要向发送该剪嫁报文邻居设备转发组播数据流。
因此,本设备根据创建的剪嫁报文表项中记录的发送剪嫁报文的设备地址和剪嫁报文类型,可知晓是否需要向发送该剪嫁报文邻居设备转发组播数据流。
若剪嫁报文类型为剪枝类型,则本设备不需向发送该剪嫁报文的邻居设备转发数据流。若剪嫁报文类型为嫁接类型,则本设备需向发送该剪嫁报文的邻居设备转发组播数据流。
所述剪嫁报文中包含有发送下一剪嫁报文时间间隔值,其中,剪嫁报文表项中记录的剪嫁老化时间值与接收的剪嫁报文中发送剪嫁报文时间间隔值相等。
因此,若在规定的时间间隔值内没有接收到下一条相应剪嫁报文,表明相应的邻居设备下游具有与其维持邻居关系的邻居设备,本设备需要正常向其转发组播数据流,则该相应的剪嫁报文表项应当删除。其中,所述规定的时间间隔值与剪嫁报文表项中的剪嫁老化时间值相等。
在本实施例中,接收的上一条剪嫁报文和下一条剪嫁报文中包含的发送剪嫁报文时间间隔值可能相等也可能不等。因此,在规定的时间间隔值内收到下一条剪嫁报文后,需更新剪嫁老化时间值,并重新计时。其中更新后的剪嫁老化时间值与所述下一条剪嫁报文中发送剪嫁报文时间间隔值相等。
另外,本设备收到的下一条剪嫁报文与上一条剪嫁报文其类型可能相同也可能不同,因此,本设备在收到下一条剪嫁报文后,需将剪嫁报文表项中剪嫁报文类型更新至与所述下一条相应剪嫁报文相匹配。
本实施例中创建的报文表项包括hello报文表项和剪嫁报文表项,创建所述hello报文表项和剪嫁报文表项,为后续组播数据流转发提供数据查询,本设备,可根据比较hello报文表项和剪嫁报文表项,在与本设备维持邻居关系的设备中,查找出无需转发组播数据流的邻居设备,然后将本设备中与无需转发组播数据流的设备通讯连接的实端口设置为禁止状态,抑制组播数据流通过本设备的所述实端口转发给所述无需组播数据流的邻居设备。
参见图4提出本发明的报文表项创建装置一实施例10,其包括:第一判断模块11和创建模块12。其中,第一判断模块11,用于判断接收的协议报文为hello报文或者为剪嫁报文。创建模块12,用于当协议报文为hello报文,创建相应的hello报文表项;以及当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
进一步地,上述报文表项创建装置实施例中,所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值。
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
其中,发送剪嫁报文的设备是发送hello报文的设备中的部分或全部。
所述hello报文中包含有发送下一hello报文的时间间隔值。hello报文表项中记录的hello老化时间值与接收的hello报文中发送下一hello报文时间间隔值相等。
进一步地,参见图5提出上述报文表项创建装置20另一实施例,其包括第一判断模块21、创建模块22、计时模块23、第二判断模块24、删除模块25和更新模块26。其中,第一判断模块21和创建模块22分别与上述实施例中相同名称的功能模块一致,在此不再赘述。计时模块23,用于在创建相应的hello报文表项后,开启计时功能计时;以及在更新所述hello老化时间值后,重新计时。第二判断模块24,用于判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文。删除模块25,用于当计时时间在所述hello老化时间值以内,没有收到下一条相应的hello报文时,删除所述hello报文表项。更新模块26,用于当计时时间在所述hello老化时间值以内,收到下一条相应的hello报文时,更新所述hello老化时间值。
其中,是否接收hello报文是用于判断是否存在与本设备维持邻居关系的设备,本实施中,发送该hello报文的设备与本设备互为邻居设备。本实施例中创建的hello报文表项是维护设备间邻居关系的表项。本设备根据自身创建的hello报文表项,可以知晓与自身维持邻居关系的设备包括哪些。相互间维持邻居关系的设备会相互间定时发送hello报文。
因此,本实施例中,本设备若在规定的时间间隔值内没有收到对方的hello报文,则表明对方设备已与本设备已解除邻居关系,则该相应的hello报文表项需删除。其中,所述规定的时间间隔值与hello报文表项中的hello老化时间相等。
在本实施例,接收的上一条hello报文和下一条hello报文中包含的发送hello报文时间间隔值可能相等也可能不等。因此,本设备在规定的时间间隔值内收到下一条hello报文后,需更新hello老化时间值,并重新计时。其中更新后的hello老化时间值与所述下一条hello报文中的发送hello报文时间间隔值相等。
进一步地,上述实施例中,所述剪嫁报文为剪枝报文或嫁接报文;当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
进一步地,上述实施例中,所述计时模块23,还用于在创建相应的剪嫁报文表项之后,开启计时功能计时;以及在更新所述剪嫁老化时间值后,重新计时。所述第二判断模块24,还用于判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文。所述删除模块25,还用于当计时时间在所述剪嫁老化时间值以内,没有收到下一条相应剪嫁报文时,删除所述剪嫁报文表项。所述更新模块26,还用于当计时时间在所述剪嫁老化时间值以内,收到下一条相应剪嫁报文时,更新所述剪嫁老化时间值。
进一步,上述实施例中,所述更新模块26,具体还用当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;以及当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
其中,发送剪嫁报文的设备是与本设备维持邻居关系的设备,即邻居设备,本设备通过接收的剪嫁报文可知晓该发送剪嫁报文的邻居设备下游没有与其维持邻居关系的邻居设备,并根据剪嫁报文的类型判断本设备是否需要向发送该剪嫁报文邻居设备转发组播数据流。
因此,本设备根据创建的剪嫁报文表项中记录的发送剪嫁报文的设备地址和剪嫁报文类型,可知晓是否需要向发送该剪嫁报文邻居设备转发组播数据流。
若剪嫁报文类型为剪枝类型,则本设备不需向发送该剪嫁报文的邻居设备转发数据流。若剪嫁报文类型为嫁接类型,则本设备需向发送该剪嫁报文的邻居设备转发组播数据流。
所述剪嫁报文中包含有发送下一剪嫁报文时间间隔值,其中,剪嫁报文表项中记录的剪嫁老化时间值与接收的剪嫁报文中发送剪嫁报文时间间隔值相等。
因此,若在规定的时间间隔值内没有接收到下一条相应剪嫁报文,表明相应的邻居设备下游具有与其维持邻居关系的邻居设备,本设备需要正常向其转发组播数据流,则该相应的剪嫁报文表项应当删除。其中,所述规定的时间间隔值与剪嫁报文表项中的剪嫁老化时间值相等。
在本实施例中,接收的上一条剪嫁报文和下一条剪嫁报文中包含的发送剪嫁报文时间间隔值可能相等也可能不等。因此,在规定的时间间隔值内收到下一条剪嫁报文后,需更新剪嫁老化时间值,并重新计时。其中更新后的剪嫁老化时间值与所述下一条剪嫁报文中发送剪嫁报文时间间隔值相等。
另外,本设备收到的下一条剪嫁报文与上一条剪嫁报文其类型可能相同也可能不同,因此,本设备在收到下一条剪嫁报文后,需将剪嫁报文表项中剪嫁报文类型更新至与所述下一条相应剪嫁报文相匹配。
本实施例中创建的报文表项包括hello报文表项和剪嫁报文表项,创建所述hello报文表项和剪嫁报文表项,为后续组播数据流转发提供数据查询,本设备,可根据比较hello报文表项和剪嫁报文表项,在与本设备维持邻居关系的设备中,查找出无需转发组播数据流的邻居设备,然后将本设备中与无需转发组播数据流的设备通讯连接的实端口设置为禁止状态,抑制组播数据流通过本设备的所述实端口转发给所述无需组播数据流的邻居设备中。
参见图6,提出本发明的组播数据流转发方法一实施例,基于上述报文表项创建方法中所创建的报文表项,其包括:
步骤S301、查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;
步骤S302、在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;
步骤S303、将组播数据流从hello报文表项中所述的实端口转发出去。
上述hello报文表项中记录的实端口为本设备与邻居设备通讯连接的实端口,即若邻居设备需转发组播数据流,则通过hello报文表项中记录的相应的实端口转发。
上述剪嫁报文表项中记录的实端口为本设备与邻居设备通讯连接的实端口,且该邻居设备下游没有与其维持邻居关系的邻居设备,该邻居设备可能需要转发组播数据流,也可能不需转发组播数据流。
若剪嫁报文表项中的剪嫁报文类型为剪枝类型,则对应的邻居设备无需转发组播数据流,因此该剪嫁报文表项中的实端口不能转发组播数据流。
因此,本实施例,将记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项进行比较,在该hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口,该不一致的实端口则为需要转发组播数据流的实端口,而相一致的实端口则为无需转发组播数据流的实端口,然后将组播数据流从hello报文表项中与剪嫁报文表项中实端口不一致的实端口转发出去。从而有效地抑制了组播数据流转发到无需组播数据流的邻居设备中,节约了网络数据传输资源。
参见图7,提出本发明的组播数据流转发装置30一实施例,基于上述所创建的报文表项,其包括:查找模块31和转发模块32。其中,查找模块31,用于查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;以及在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口。转发模块32,用于将组播数据流从hello报文表项中所述的实端口转发出去。
上述hello报文表项中记录的实端口为本设备与邻居设备通讯连接的实端口,即若邻居设备需转发组播数据流,则通过hello报文表项中记录的相应的实端口转发。
上述剪嫁报文表项中记录的实端口为本设备与邻居设备通讯连接的实端口,且该邻居设备下游没有与其维持邻居关系的邻居设备,该邻居设备可能需要转发组播数据流,也可能不需转发组播数据流。
若剪嫁报文表项中的剪嫁报文类型为剪枝类型,则对应的邻居设备无需转发组播数据流,因此该剪嫁报文表项中的实端口不能转发组播数据流。
因此,本实施例,将记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项进行比较,在该hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口,该不一致的实端口则为需要转发组播数据流的实端口,而相一致的实端口则为无需转发组播数据流的实端口,然后将组播数据流从hello报文表项中与剪嫁报文表项中实端口不一致的实端口转发出去。从而有效地抑制了组播数据流转发到无需组播数据流的邻居设备中,节约了网络数据传输资源。
上述实施例所描述的设备和邻居设备均为三层交换机。
应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种报文表项创建方法,其特征在于,包括步骤:
判断接收的协议报文为hello报文或者为剪嫁报文;
当协议报文为hello报文,创建相应的hello报文表项;
当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
2.根据权利要求1所述的报文表项创建方法,其特征在于,
所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值;
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
3.根据权利要求2所述的报文表项创建方法,其特征在于,所述创建相应的hello报文表项之后还包括:
开启计时功能计时;
判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文;
若否,则删除该hello报文表项;
若是,更新所述hello老化时间值,重新计时,并返回执行所述判断计时时间在所述hello老化时间值内是否收到下一条相应的hello报文的步骤。
4.根据权利要求2所述的报文表项创建方法,其特征在于,
所述剪嫁报文为剪枝报文或嫁接报文;
当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;
当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
5.根据权利要求4所述的报文表项创建方法,其特征在于,所述创建相应的剪嫁报文表项之后还包括:
开启计时功能计时;
判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文;
若否,则删除该剪嫁报文表项;
若是,则更新所述剪嫁老化时间值,重新计时,将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配,并返回执行所述判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文步骤。
6.根据权利要求5所述的报文表项创建方法,其特征在于,所述将剪嫁报文类型更新至与所述下一条剪嫁报文相匹配具体包括:
当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;
当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
7.一种报文表项创建装置,其特征在于,包括:
第一判断模块,用于判断接收的协议报文为hello报文或者为剪嫁报文;
创建模块,用于当协议报文为hello报文,创建相应的hello报文表项;以及当协议报文为剪嫁报文,创建相应的剪嫁报文表项。
8.根据权利要求7所述的报文表项创建装置,其特征在于,
所述hello报文表项记录有:发送hello报文的设备、接收hello报文的实端口、接收hello报文的实端口所处vlan和hello老化时间值;
所述剪嫁报文表项记录有:发送剪嫁报文的设备、接收剪嫁报文的实端口、接收剪嫁报文的实端口所处vlan、剪嫁报文类型和剪嫁老化时间值。
9.根据权利要求8所述的报文表项创建装置,其特征在于,
计时模块,用于在创建相应的hello报文表项后,开启计时功能计时;以及在更新所述hello老化时间值后,重新计时;
第二判断模块,用于判断计时时间在所述hello老化时间值以内时,是否收到下一条相应的hello报文;
删除模块,用于当计时时间在所述hello老化时间值以内,没有收到下一条相应的hello报文时,删除所述hello报文表项;
更新模块,用于当计时时间在所述hello老化时间值以内,收到下一条相应的hello报文时,更新所述hello老化时间值。
10.根据权利要求8所述的报文表项创建装置,其特征在于,
所述剪嫁报文为剪枝报文或嫁接报文;
当剪嫁报文为剪枝报文,则所述剪嫁报文类型为剪枝类型;
当剪嫁报文为嫁接报文,则所述剪嫁报文类型为嫁接类型。
11.根据权利要求10所述的报文表项创建装置,其特征在于:
所述计时模块,还用于在创建相应的剪嫁报文表项之后,开启计时功能计时;以及在更新所述剪嫁老化时间值后,重新计时;
所述第二判断模块,还用于判断计时时间在所述剪嫁老化时间值以内时,是否收到下一条相应剪嫁报文;
所述删除模块,还用于当计时时间在所述剪嫁老化时间值以内,没有收到下一条相应剪嫁报文时,删除所述剪嫁报文表项;
所述更新模块,还用于当计时时间在所述剪嫁老化时间值以内,收到下一条相应剪嫁报文时,更新所述剪嫁老化时间值。
12.根据权利要求11所述的报文表项创建装置,其特征在于,
所述更新模块,具体还用当所述下一条剪嫁报文为剪枝报文,将剪嫁报文类型更新为剪枝类型;以及当所述下一条剪嫁报文为嫁接报文,将剪嫁报文类型更新为嫁接类型。
13.一种组播数据流转发方法,基于权利要求1至6任一项所创建的报文表项,其特征在于,包括步骤:
查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;
在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;
将组播数据流从hello报文表项中所述的实端口转发出去。
14.一种组播数据流转发装置,基于权利要求7至12任一项所创建的报文表项,其特征在于,包括:
查找模块,用于查找记录同一vlan的hello报文表项、记录剪枝类型和所述vlan的剪嫁报文表项;以及在所述hello报文表项中查找与所述剪嫁报文表项中实端口不一致的实端口;
转发模块,用于将组播数据流从hello报文表项中所述的实端口转发出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010510515.8A CN101958840B (zh) | 2010-10-18 | 2010-10-18 | 报文表项创建方法和装置、组播数据流转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010510515.8A CN101958840B (zh) | 2010-10-18 | 2010-10-18 | 报文表项创建方法和装置、组播数据流转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101958840A true CN101958840A (zh) | 2011-01-26 |
CN101958840B CN101958840B (zh) | 2014-09-10 |
Family
ID=43485958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010510515.8A Active CN101958840B (zh) | 2010-10-18 | 2010-10-18 | 报文表项创建方法和装置、组播数据流转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101958840B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833082A (zh) * | 2012-09-24 | 2012-12-19 | 杭州华三通信技术有限公司 | 一种组播剪枝方法和路由设备 |
CN104243325A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种(s,g)表项的管理方法和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043804A1 (en) * | 2001-08-30 | 2003-03-06 | Surender Kumar | Use of IP-multicast technology for 2-party calls in mobile communication networks |
CN1761231A (zh) * | 2004-10-15 | 2006-04-19 | 中国科学技术大学 | 移动自组网络的分布式动态蜂窝路由的构建方法 |
CN1937610A (zh) * | 2006-08-21 | 2007-03-28 | 杭州华为三康技术有限公司 | 具有pim功能的解码器,采用该解码器的实时监控系统及方法 |
CN101262446A (zh) * | 2008-04-21 | 2008-09-10 | 北京星网锐捷网络技术有限公司 | 一种Hello报文的生成方法及装置 |
-
2010
- 2010-10-18 CN CN201010510515.8A patent/CN101958840B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043804A1 (en) * | 2001-08-30 | 2003-03-06 | Surender Kumar | Use of IP-multicast technology for 2-party calls in mobile communication networks |
CN1761231A (zh) * | 2004-10-15 | 2006-04-19 | 中国科学技术大学 | 移动自组网络的分布式动态蜂窝路由的构建方法 |
CN1937610A (zh) * | 2006-08-21 | 2007-03-28 | 杭州华为三康技术有限公司 | 具有pim功能的解码器,采用该解码器的实时监控系统及方法 |
CN101262446A (zh) * | 2008-04-21 | 2008-09-10 | 北京星网锐捷网络技术有限公司 | 一种Hello报文的生成方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833082A (zh) * | 2012-09-24 | 2012-12-19 | 杭州华三通信技术有限公司 | 一种组播剪枝方法和路由设备 |
CN102833082B (zh) * | 2012-09-24 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种组播剪枝方法和路由设备 |
CN104243325A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种(s,g)表项的管理方法和设备 |
CN104243325B (zh) * | 2014-09-03 | 2018-07-13 | 新华三技术有限公司 | 一种(s,g)表项的管理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101958840B (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101159665B (zh) | 实现未知组播报文向路由器端口转发的方法和装置 | |
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
US20150180672A1 (en) | Relay System and Switching Device | |
CN1589543A (zh) | 支持以太网媒体接入控制电路的方法 | |
WO2011087603A3 (en) | Decoupled cascaded mixers architecture and related methods | |
US20150180673A1 (en) | Relay System and Switching Device | |
CN109729009A (zh) | 用于实现组播业务的方法和装置 | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
CN104702509A (zh) | 一种隔离sdn协议报文和数据报文的方法及装置 | |
CN107104782A (zh) | 数据传输方法及装置 | |
WO2003084129A1 (fr) | Procede de collecte de donnees de topologie de reseau | |
CN103560947B (zh) | 一种避免中间系统邻居关系震荡的方法及装置 | |
CN102857429B (zh) | 在trill网络中承载路由的方法和装置 | |
CN105337746B (zh) | 一种组播数据的传输方法和装置 | |
CN101764756A (zh) | 组播数据转发路径的剪枝处理方法、装置和网络设备 | |
CN102801622A (zh) | 一种数据报文的转发方法及转发装置 | |
CN101958840B (zh) | 报文表项创建方法和装置、组播数据流转发方法和装置 | |
CA2572940A1 (en) | System and method for preserving multicast data forwarding during control failures in a router | |
CN109743250A (zh) | 组播报文的传输方法、第一网络设备和第二网络设备 | |
CN102710495A (zh) | 一种监控网络用户主机建立路由信息的方法及装置 | |
CN101547110A (zh) | 一种组播源的注册方法、系统和设备 | |
CN103346962A (zh) | 未知单播报文转发方法及路由桥 | |
CN100440863C (zh) | 扩展路由功能的具体源静态组功能实现方法 | |
CN103532954B (zh) | 一种面向数据中心的编码网络系统及其工作方法 | |
JP5569057B2 (ja) | 通信システム、スイッチングハブ、およびルータ |
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 |