一种实现报文转发的方法

文档序号:7624343阅读:112来源:国知局
专利名称:一种实现报文转发的方法
技术领域
本发明涉及网络传输技术领域,更确切地说是涉及一种实现报文转发的方法。
背景技术
目前,同轴光纤混合网(HFC)网络接入技术是目前比较流行的一种接入方式,其主要是通过在HFC网络上运行基于电缆的数据服务接口规范(DOCSIS)/欧洲DOCSIS标准(EuroDOCSIS)协议来提供用户宽带接入服务。
通过HFC网络实现接入时,具体还需要位于HFC网络与IP网络之间的电缆调制解调器终端系统(CMTS)提供接入方式。CMTS的接入方式主要有三种基于以太网的点到点协议(PPPoE)方式、动态主机配置协议(DHCP)方式和二层透传方式。
其中,PPPoE方式和DHCP方式都将接入在CMTS上终结,由CMTS进行简单的认证授权,而CMTS的上层设备只用作路由器。对于这种方式来说,由于CMTS本身是用于HFC网络到IP网络的桥接的,因此其用户认证鉴权管理特性一般不会很强大,并且这种方式只能由CMTS管理其下属的用户。因此,这种接入方式的缺点是系统的AAA功能不够强大,而且管理分散,无法在B-RAS上进行统一的接入用户管理。
而二层透传方式则是将CMTS作为二层桥接设备,用户PC的地址分配及认证授权工作由CMTS上层的B-RAS完成,因此可以在B-RAS上进行比较完善的用户管理工作。该方式下的组网应用如图1所示。
对于这种二层透传的接入方式来说,所有用户报文直接透传,或者打上统一的VLAN ID,或者自动为每个CM分配一个VLAN ID,并且由上层的B-RAS进行认证鉴权。这种方式虽然解决了PPPoE方式及DHCP方式下AAA功能不强、用户管理分散的缺点,但还是存在不能智能地将CM配置到不同局域网的缺陷,实现起来不够灵活。

发明内容
有鉴于此,本发明所要解决的主要问题在于提供一种实现报文转发的方法,以便能够根据CM分配VLAN域。
为解决上述问题,本发明提供了以下技术方案一种实现报文转发的方法,预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,该方法进一步包括以下步骤a.CMTS在收到用户侧报文后,判断发送该报文的CM是否属于所述预设的VLAN域,如果不是,则按照正常的转发流程进行转发,并结束本处理流程,否则,执行步骤b;b.CMTS确定用于转发该报文的出接口,并在报文的报文头中加上发送该报文的CM所属VLAN域的ID,之后将该报文通过该出接口转发出去。
所述将网络中的CM分配到各个VLAN域为保存所分配的CM的标识信息与VLAN ID的对应关系;或者保存CM与CMTS之间的上行通道与VLAN ID的对应关系。
所述保存CM的标识信息与VLAN ID的对应关系为保存CM的MAC地址与VLAN ID的对应关系;所述步骤a中判断CM是否属于VLAN域为判断所述对应关系中是否存有该CM的MAC地址所对应的VLAN ID;所述保存CM的标识信息与VLAN ID的对应关系或者为保存CM的MAC地址与VLAN ID的对应关系,并在CM在上线后,获取该CM所对应的VLAN ID,保存该CM ID与VLAN ID的对应关系;所述步骤a中判断CM是否属于VLAN域为判断所述CM ID与VLAN ID的对应关系中是否存有该CM所对应的VLAN ID。
所述步骤b中,CMTS确定用于转发该报文的出接口为CMTS确定该报文为单播报文后,获取二层转发表中与该报文对应的出接口。
该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属同轴光纤混合网HFC侧的出接口;步骤b中,所述CMTS在获取二层转发表中的出接口之前,进一步包括根据该报文的目的地址查找二层转发表,如果存在相应的二层转发表,则执行获取该二层转发表中相应出接口的步骤,否则,确定该CM所属VLAN域的网络侧上行出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤b中,所述CMTS确定用于转发该报文的出接口为确定该报文的类型为组播或广播报文后,确定该CM所属VLAN域的出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
所述步骤b中,所述CMTS在确定该报文为组播报文后,并在将该报文通过该出接口转发出去之前,进一步包括判断自身是否支持IGMP协议报文侦听IGMP SNOOP,如果是,则通过IGMP SNOOP流程对该组播报文进行转发;否则,执行将该报文通过该出接口转发的步骤。
所述步骤b中,所述CMTS在报文的报文头中加上VLAN ID之前,进一步包括判断所确定的出接口是否为上行出接口,如果是,则执行在报文头中加上VLAN ID及后续步骤;否则,直接执行将该报文通过该出接口转发的步骤。
本发明的另一种实现报文转发的方法,预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,该方法进一步包括以下步骤A.CMTS在收到网络侧报文后,判断该报文的报文头中是否携带了VLAN ID,如果不是,则按照正常的转发流程进行转发,并结束本处理流程,否则,执行步骤B;B.CMTS确定用于转发该报文的出接口,在该报文的控制域中增加该VLAN ID,之后将该报文通过该出接口转发出去。
所述将网络中的CM分配到各个VLAN域为保存所分配的CM的标识信息与VLAN ID的对应关系,或者保存CM到CMTS的上行通道与VLANID的对应关系。
所述步骤B中,所述确定用于转发该报文的出接口为CMTS确定该报文为单播报文后,获取二层转发表中与该报文对应的出接口。
该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤B中,所述CMTS在获取二层转发表中的出接口之前,进一步包括根据该报文的目的地址查找二层转发表,如果存在相应的二层转发表,则执行获取该二层转发表中相应出接口的步骤,否则,确定该CM所属VLAN域的网络侧上行出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤B中,所述CMTS确定用于转发该报文的出接口为确定该报文为组播或广播报文后,确定该CM所属VLAN域的出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
所述步骤B中,所述CMTS在确定该报文为组播报文后,并在将该报文通过该出接口转发出去之前,进一步包括判断自身是否支持IGMPSNOOP,如果是,则通过IGMP SNOOP流程对该组播报文进行转发;否则,执行将该报文通过该出接口转发的步骤。
所述步骤B之前进一步包括CMTS判断该报文头中的VLAN ID所对应的VLAN域是否存在,如果不存在,则丢弃该报文;否则,执行步骤B。
所述步骤B中,在将报文转发出去之前,进一步包括去掉该报文的报文头中的VLAN ID。
本发明方案通过预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,之后CMTS在确定收到的用户侧报文属于预设的VLAN域后,确定用于转发该报文的出接口,并在报文的报文头中加上该VLAN域的ID,之后将该报文通过该出接口发送出去,使得在实现了报文上行转发的同时,还实现了基于CM分配不同的VLAN域,即实现了智能配置CM所对应的VLAN ID。
类似地,本发明方案通过预先设置各个VLAN域及相应的ID,并将网络中的CM分配到各个VLAN域中,之后CMTS在确定收到的网络侧报文中携带了VLAN ID后,确定用于转发该报文的出接口,在该报文的控制域中增加该VLAN ID,之后将该奥委通过该出接口转发出去,使得在实现了报文下行转发的同时,还实现了基于CM分配不同的VLAN域,即实现了智能配置CM所对应的VLAN ID。
基于本发明方案,CMTS可以看作具有桥接功能、且基于CM的二层交换机,即若干个CM及一个或多个备份上行接口组成一个广播域,在该广播域中进行报文转发,从而与B-RAS配合实现可运营可管理的接入方案。
在VPN网络中,本发明方案通过将VLAN域作为VPN,使得CMTS可以作为基于CM的二层CE设备使用,与PE设备配合方便地实现二层或三层的VPN,做到在属于同一VPN的不同CM之间进行广播,不依赖于PE。
且具有本发明方案所述功能的CMTS还可以通过多台互联的方式,实现简单的二层局域网或者是基于VLAN的VPN网络。
本发明方案还可以将VLAN域作为SERVICE域,从而可以将CM分配到其它的群体中。


图1为现有技术的系统结构图;图2为本发明方案中上行转发报文的实现流程图;图3为本发明方案中下行转发报文的实现流程图;图4为本发明实施例中上行转发报文的完整流程图;图5为本发明实施例中下行转发报文的完整流程图。
具体实施例方式
本发明方案主要是基于CM配置不同VLAN域,并在报文中设置相应的CM所属VLAN域的ID,使得CMTS能够具有更强大的接入功能。这样,CMTS将各种用户报文发送给B-RAS后,可以通过B-RAS对用户报文进行统一的认证鉴权,也即可以通过B-RAS实现比较完善的用户管理工作。
具体来说,本发明方案首先需要设置各个VLAN域及相应的ID,然后将网络中的CM分配到各个VLAN域中。其中,将网络中的CM分配到各个VLAN域可以是通过保存CM的标识信息与VLAN ID的对应关系实现。且保存对应关系具体可以是保存CM的MAC地址与VLAN ID的对应关系;也可以保存CM ID与VLAN ID的对应关系,该保存操作具体为先保存CM的MAC地址与VLAN ID的对应关系,并在CM上线后,获取该CM所对应的VLAN ID,之后保存该CM ID与VLAN ID的对应关系。
由于CM到CMTS的上行通道通常有多条,且多个CM可以使用同一条上行通道,因此还可以通过保存CM到CMTS的上行通道与VLAN ID的对应关系实现。
另外,还需要配置各个VLAN域在网络侧的上行出接口。配置各个VLAN在网络侧的出接口可以通过表1实现,且在配置出接口时,同一个VLAN可以配置多个出接口,并可将接口分为主用接口和备用接口,而同一个出接口也可以属于多个VLAN。

表1之后即可基于上述设置实现报文的转发。由于报文转发包括上行转发和下行转发,因此下面分别对这两种转发进行描述。
实现上行转发的实现流程如图2所示,对应以下步骤步骤201、CMTS在收到用户侧发送来的报文后,确定发送该报文的CM。
步骤202~203、CMTS判断该CM是否属于预设的VLAN域,如果是,则进入步骤204;否则,按照正常的转发流程进行转发,并结束本处理流程。
如果CMTS保存了CM的MAC地址与VLAN ID的对应关系,则判断CM是否属于VLAN域为判断所述对应关系中是否存有该CM的MAC地址所对应的VLAN ID。而如果CMTS进一步保存了CM ID与VLAN ID的对应关系,则判断CM是否属于VLAN域为判断所述CM ID与VLAN ID的对应关系中是否存有该CM所对应的VLAN ID。
步骤204、CMTS确定用于转发该报文的出接口,并在报文的报文头中加上发送该报文的CM所属VLAN域的ID,之后将该报文通过该出接口转发出去。
实现下行转发的实现流程如图3所示,对应以下步骤步骤301~303、CMTS接收网络侧发送来的报文,之后判断该报文的报文头中是否携带了VLAN ID,如果不是,则按照正常的转发流程进行转发,并结束本处理流程;否则,执行步骤304。
步骤304、CMTS确定用于转发该报文的出接口,在该报文的控制域中增加该VLAN ID,之后将该报文通过该出接口转发出去。
由于该报文中携带的VLAN ID可能是不存在的,因此在执行步骤304之前,可以先判断该VLAN ID所对应的VLAN域当前是否存在,如果不存在,则丢弃该报文;如果存在,则继续执行步骤304的处理。
通过上述两个处理流程则实现了上行及下行方向的报文转发。
本发明方案中,VLAN ID可以用于标识VLAN,也可以用于标识VPN及SERVICE等其它群体,因此,所设置的VLAN域具体可以为VLAN、VPN、SERVICE域等。
下面以具体实施例对针对VLAN域的上行及下行的转发过程进行描述。
本实施例的预先设置与前述相同。具体地,以根据CM的标识信息设置与VLAN ID的对应关系为例,可以保存CM的MAC地址与VLAN ID的对应关系,该对应关系可以通过表2提供。其中,可以设置为一个MAC地址只能属于某一个VLAN。

表2进一步地,还可以设置CM ID与VLAN ID的对应关系,以便加快查询速度。由于CMTS中会为所有在线CM保存一个在线CM属性表,比如,CMTS在CM上线时保存在线CM属性表,该属性表中存有CM的出接口等信息,因此,可以直接将CM所对应的VLAN ID信息加入该在线CM属性表中。具体来说,可以对在线CM属性表进行扩展,并且由CMTS在CM上线后查找上述表1,从而获取该CM所对应的VLAN ID,然后将该VLAN ID保存到扩展后的在线CM属性表中。保存了VLAN ID的在线CM属性表如表3所示。

表3针对VLAN的上行转发的基本过程与图2所示流程相同,针对VLAN的下行转发的基本过程与图3所示流程相同。不过,在上述步骤204中,CMTS在报文的报文头中加上发送该报文的CM所属VLAN的ID时,可以先判断所确定的出接口是否为上行出接口,如果是,则执行在报文中加上VLAN ID的步骤;否则,直接将该报文通过该出接口发送出去。类似地,在步骤304中,CMTS在报文的DOCSIS控制域中增加该报文的报文头中所携带的VLAN ID时,也可以先判断所确定的出接口是否为上行出接口,如果是,则执行增加VLAN ID的步骤;否则,直接将该报文通过该出接口发送出去。
进一步地,在上述步骤204中及304,CMTS确定用于转发该报文的出接口具体可以针对不同的报文类型实现。具体来说,CMTS如果能够确定该报文为单播报文,则可以通过二层转发表确定相应的出接口,即获取二层转发表中与该报文对应的出接口。当然,之前会有根据目的地址查找二层转发表的处理。二层转发表具体如表4所示。其中,为便于转发,如果MAC地址为PC的,则该表4中对应的CM标识必须为有效值,如果MAC地址为上行接口所接的设备,则对应的CM标识应为0之类的数值,以表示无效。

表4
如果报文可能是组播报文或广播报文,则本发明方案还需要在CMTS中保存各个VLAN中的在线CM信息。保存各个VLAN中在线CM的信息可以通过在上述表1中增加在线CM的标识链实现,增加了在线CM标识链后的表1如表5所示,其中,表5中所增加的链表首地址为属于同一VLAN的在线CM标识的列表的地址。

表5之后,CMTS如果确定该报文为组播报文或广播报文,则可以确定发送该报文的CM所属VLAN的出接口,并确定该VLAN中的在线CM信息,之后再根据在线CM属性表确定这些在线CM所属HFC侧的出接口,将所确定的VLAN出接口和在线CM所属HFC侧的出接口作为用于转发报文的出接口。此时的转发是将报文进行广播。
如果设置了表5,则CMTS还可以进一步在CM下线后,将该CM的相关信息从标识列表中删除。
另外,CMTS如果确认该报文为组播报文,则还可以判断自身是否支持IGMP SNOOP,如果支持,则可以通过IGMP SNOOP流程对该组播报文进行转发;否则,执行将该报文通过该出接口转发的步骤。
当然,如果CMTS确定该报文为单播报文,且没有查找到相应的二层转发表,还可以采用上述针对组播和广播的方案确定出接口,即确定发送该报文的CM所属VLAN的出接口,以及该VLAN中在线CM所属HFC侧的出接口,并将这些出接口作为用于转发报文的出接口。此时的转发也是将报文进行广播。
在上述通过出接口转发报文后,接收到的CM根据报文中携带的VLANID判断本CM是否可以接收该报文,如果该VLAN ID与本CM的VLAN ID相同,则接收该报文;否则,丢弃该报文。
在上行方向的转发处理中,如果是通过广播方式广播报文,则还可以学习源MAC地址以及接口到二层转发表中,以便下一次能够根据二层转发表进行转发。类似地,对于下行方向的转发处理中,在转发报文后可以学习该报文的源MAC地址。
上述实施例中,实现报文上行转发的完整处理流程如图4所示,实现报文下行转发的完整处理流程则如图5所示。
以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。
权利要求
1.一种实现报文转发的方法,其特征在于,预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,该方法进一步包括以下步骤a.CMTS在收到用户侧报文后,判断发送该报文的CM是否属于所述预设的VLAN域,如果不是,则按照正常的转发流程进行转发,并结束本处理流程,否则,执行步骤b;b.CMTS确定用于转发该报文的出接口,并在报文的报文头中加上发送该报文的CM所属VLAN域的ID,之后将该报文通过该出接口转发出去。
2.根据权利要求1所述的方法,其特征在于,所述将网络中的CM分配到各个VLAN域为保存所分配的CM的标识信息与VLAN ID的对应关系;或者保存CM与CMTS之间的上行通道与VLAN ID的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述保存CM的标识信息与VLAN ID的对应关系为保存CM的MAC地址与VLAN ID的对应关系;所述步骤a中判断CM是否属于VLAN域为判断所述对应关系中是否存有该CM的MAC地址所对应的VLAN ID;所述保存CM的标识信息与VLAN ID的对应关系或者为保存CM的MAC地址与VLAN ID的对应关系,并在CM在上线后,获取该CM所对应的VLANID,保存该CM ID与VLAN ID的对应关系;所述步骤a中判断CM是否属于VLAN域为判断所述CM ID与VLAN ID的对应关系中是否存有该CM所对应的VLAN ID。
4.根据权利要求1所述的方法,其特征在于所述步骤b中,CMTS确定用于转发该报文的出接口为CMTS确定该报文为单播报文后,获取二层转发表中与该报文对应的出接口。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属同轴光纤混合网HFC侧的出接口;步骤b中,所述CMTS在获取二层转发表中的出接口之前,进一步包括根据该报文的目的地址查找二层转发表,如果存在相应的二层转发表,则执行获取该二层转发表中相应出接口的步骤,否则,确定该CM所属VLAN域的网络侧上行出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤b中,所述CMTS确定用于转发该报文的出接口为确定该报文的类型为组播或广播报文后,确定该CM所属VLAN域的出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
7.根据权利要求6所述的方法,其特征在于所述步骤b中,所述CMTS在确定该报文为组播报文后,并在将该报文通过该出接口转发出去之前,进一步包括判断自身是否支持IGMP协议报文侦听IGMP SNOOP,如果是,则通过IGMP SNOOP流程对该组播报文进行转发;否则,执行将该报文通过该出接口转发的步骤。
8.根据权利要求1所述的方法,其特征在于所述步骤b中,所述CMTS在报文的报文头中加上VLAN ID之前,进一步包括判断所确定的出接口是否为上行出接口,如果是,则执行在报文头中加上VLAN ID及后续步骤;否则,直接执行将该报文通过该出接口转发的步骤。
9.一种实现报文转发的方法,其特征在于,预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,该方法进一步包括以下步骤A.CMTS在收到网络侧报文后,判断该报文的报文头中是否携带了VLANID,如果不是,则按照正常的转发流程进行转发,并结束本处理流程,否则,执行步骤B;B.CMTS确定用于转发该报文的出接口,在该报文的控制域中增加该VLAN ID,之后将该报文通过该出接口转发出去。
10.根据权利要求9所述的方法,其特征在于,所述将网络中的CM分配到各个VLAN域为保存所分配的CM的标识信息与VLAN ID的对应关系,或者保存CM到CMTS的上行通道与VLAN ID的对应关系。
11.根据权利要求9所述的方法,其特征在于所述步骤B中,所述确定用于转发该报文的出接口为CMTS确定该报文为单播报文后,获取二层转发表中与该报文对应的出接口。
12.根据权利要求11所述的方法,其特征在于,该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤B中,所述CMTS在获取二层转发表中的出接口之前,进一步包括根据该报文的目的地址查找二层转发表,如果存在相应的二层转发表,则执行获取该二层转发表中相应出接口的步骤,否则,确定该CM所属VLAN域的网络侧上行出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
13.根据权利要求9所述的方法,其特征在于,该方法进一步包括CMTS在CM上线时保存各个在线CM的属性,所述属性至少包括CM所属HFC侧的出接口;步骤B中,所述CMTS确定用于转发该报文的出接口为确定该报文为组播或广播报文后,确定该CM所属VLAN域的出接口,并确定该VLAN域中在线CM所属HFC侧的出接口,将所述网络侧上行出接口及所述在线CM所属HFC侧的出接口作为用于转发报文的出接口。
14.根据权利要求13所述的方法,其特征在于所述步骤B中,所述CMTS在确定该报文为组播报文后,并在将该报文通过该出接口转发出去之前,进一步包括判断自身是否支持IGMP SNOOP,如果是,则通过IGMP SNOOP流程对该组播报文进行转发;否则,执行将该报文通过该出接口转发的步骤。
15.根据权利要求9所述的方法,其特征在于,所述步骤B之前进一步包括CMTS判断该报文头中的VLAN ID所对应的VLAN域是否存在,如果不存在,则丢弃该报文;否则,执行步骤B。
16.根据权利要求9所述的方法,其特征在于所述步骤B中,在将报文转发出去之前,进一步包括去掉该报文的报文头中的VLAN ID。
全文摘要
本发明公开了一种实现报文转发的方法,该方法预先设置各个VLAN域及相应的ID,将网络中的CM分配到各个VLAN域中,并配置各个VLAN域在网络侧的上行出接口,该方法进一步包括a.CMTS在收到用户侧报文后,判断发送该报文的CM是否属于所述预设的VLAN域,如果不是,则按照正常的转发流程进行转发,并结束本处理流程,否则,执行步骤b;b.CMTS确定用于转发该报文的出接口,并在报文的报文头中加上发送该报文的CM所属VLAN域的ID,之后将该报文通过该出接口转发出去。本发明同时还公开了另一种实现报文转发的方法。本发明方案在实现了报文上行及下行转发的同时,还实现了基于CM分配不同VLAN域,即实现了智能配置CM所对应的VLAN ID。
文档编号H04L12/56GK1852234SQ200510104959
公开日2006年10月25日 申请日期2005年9月22日 优先权日2005年9月22日
发明者王军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1