城域网传输设备中数据报文广播/多播的实现方法

文档序号:7945396阅读:312来源:国知局
专利名称:城域网传输设备中数据报文广播/多播的实现方法
技术领域
本发明涉及以太网的多播和广播技术,特别是关于城域网传输设备中数据报文广播/多播的实现方法。
背景技术
在以太网中,所有以太帧的开始96位为源介质访问控制(MAC,MediaAccess Control)地址和目的MAC地址两部分,并且其定义都是相同的。目的MAC地址共有48位,分为单播、广播和多播三类。单播地址第一个字节的最低位为0,如00-E0-FC-00-00-06;多播地址第一个字节的最低位为1,如01-E0-FC-00-00-06;广播地址的48位全部为1,即FF-FF-FF-FF-FF-FF。在实际处理中,并不是具有广播地址的报文,简称广播报文,才做广播处理,而对于找不到目的端口的单播报文同样也做广播处理。
参见图1所示,以太网报文处理流程如下步骤101、桥接设备收到以太网报文后,首先判断目的MAC地址是否等于全1,如果为全1,表明该报文为广播报文,且直接将其广播处理,否则,执行步骤102;步骤102、判断该报文目的MAC地址第一个字节的最低位是否为1,如果为1,则将其进行多播处理,否则,执行步骤103;步骤103、判断该报文是否查找到目的端口,如果是,则将其进行单播处理,否则,将其进行广播处理。
参见图2所示,现有技术中报文广播处理的具体过程如下步骤201、将一个需要广播的报文送入广播处理入口;
步骤202、复制一份该广播报文;步骤203、将复制后的报文绑定到一个出端口队列中等待调度;步骤204、判断该报文是否还有其它端口,如果有,执行步骤202,否则,结束。
从上述步骤可以看出,复制后的报文在局域网(LAN)内所有物理端口中逐一绑定后,压入出端口队列,等待发送。并且,上述过程只能在以太网的桥接设备中实现,而对于城域网设备的数据业务接入单元却显的力不从心。这主要是由于桥接设备中一个物理端口只对应一个逻辑通道,需要广播的报文能和唯一的物理通道绑定;而城域网设备中数据业务接入单元的上行业务采用虚通道技术,每一个虚通路由都有对应的唯一标识(Tag),该标识是网络链路端点之间的一种逻辑联系,是在两个或多个端点之间传送报文的通信链路,用于端点之间信息转移。并且,具有同一标识符的一组报文流,在传输过程中组合在一起构成虚通道(VC)。也就是说,同一物理端口中存在多个虚通道,而每个虚通道在逻辑上是独立的,因此需要广播的报文也就不能识别逻辑上的虚通道,导致无法发送多播或广播报文。

发明内容
有鉴于此,本发明提供了一种城域网传输设备中数据报文广播/多播的实现方法,使其在城域网设备中实现报文的广播/多播。
城域网传输设备中数据报文广播/多播实现方法,是这样实现的。
A.将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识;所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;B.按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。
所述步骤A进一步包括A1.预先设置虚通道标识索引表,用于存放端口广播域/多播组内所有虚通道标识;
A2.根据来自端口的广播报文/多播报文所属端口和虚拟局域网(VLAN)域,确定该广播报文/多播报文的群索引和转发路由,然后将确定的群索引值加在该广播/多播报文头部,再根据确定的转发路由将该含有群索引值的广播报文/多播报文送入交换网模块;A3.交换网模块收到该含有群索引值的广播报文/多播报文后,复制该广播报文/多播报文,且复制份数与步骤A1中所述虚通道标识索引表含有的虚通道标识数量相等,然后对广播报文/多播报文复制件进行调度;A4.调度出广播报文/多播报文复制件至发送处理模块,发送处理模块根据每个广播报文/多播报文复制件中含有的群索引值索引虚通道标识索引表得到对应的虚通道标识,将对应的虚通道标识加在每个广播报文/多播报文复制件的头部。
来自端口的报文为广播报文,步骤A1中所述虚通道标识索引表存储广播域中所有虚通道标识。
来自端口的报文为多播报文,步骤A1中所述虚通道标识索引表存储多播组中所有虚通道标识。
来自端口的报文为多播报文,预先设置的虚通道标识索引表存储广播域中所有虚通道标识,所述步骤A1进一步包括预先设置多播过滤表,用于存储该多播组内的所有虚通道标识;并且在步骤A4给多播报文添加完虚通道标识后,索引多播过滤表,根据多播过滤表中含有的虚通道标识,丢弃不属于多播组内的虚通道标识的多播报文复制件。
步骤A3中所述调度为串行调度方式。
步骤A4所述索引虚通道标识索引表,为报文添加虚通道标识的过程包括根据广播报文/多播报文复制件含有的群索引值索引虚通道标识索引表,读取虚通道标识索引表中的标识指针值,读取群索引值加上该标识指针值处的标识,将该标识封装在报文头部;
将该标识指针值加上1,判断标识指针是否大于该广播域/多播组所包含的虚通道数,如果不大于,则将标识指针存储回表项的原位置,否则,则将标识指针初始化后,存储回原位置。
本发明通过采用标记方法,实现在城域网设备的数据业务接入单元中报文的广播和多播,所有操作均可由预先设置的软件完成,因此该方法灵活、易控,并且对传统的广播/多播技术是一个很好的完善和补充。


图1为以太网报文处理流程图;图2为现有技术中广播报文处理流程图;图3为本发明实现城域传输设备中数据报文广播/广播系统示意图;图4为本发明处理广播报文的具体流程图;图5为虚通道广播报文的复制件调度示意图;图6为虚通道标识索引表;图7为多播过滤表示意图。
具体实施例方式
本发明的核心内容是将需要广播或多播的报文复制成与所需虚通道数量相等的复制件,且在所有广播或多播报文复制件的帧首部分别加上对应虚通道号,然后根据虚通道号将广播或多播报文的复制件分别发送至对应虚通道中。
下面结合附图和具体实施例进一步说明本发明的具体实施方案。
如图3所示,实现城域传输设备中数据单元广播的系统包括端口301、接收处理模块302、交换网模块303、发送处理模块304和虚通道305等。其中,接收处理模块302和发送处理模块303为城域传输设备上行传输中使用的处理模块。
参见图4所示,本发明处理报文的具体过程如下
步骤401、报文从端口进入接收处理模块,接收处理模块根据报文的MAC地址,判断该报文是否是多播报文,如果不是,执行步骤402,否则,执行步骤403;步骤402、将该报文进行单播处理;步骤403、判断该报文是否是广播报文,如果不是,则执行步骤404,否则,执行步骤405;步骤404、将该报文进行多播处理;步骤405、根据广播报文所属端口和虚拟局域网(VLAN)域,确定群索引和转发路由;步骤406、将步骤405确定的群索引值添加在该报文的头部;步骤407、再根据步骤405确定的转发路由将该广播报文送入交换网模块;步骤408、交换网模块收到该广播报文后,复制广播报文,且复制的份数和所用虚通道标识索引表含有的虚通道数相等;步骤409、将所有广播报文复制件送入同一出端口队列进行调度;步骤410、交换网模块调度出的一个含有群索引值的广播报文复制件,且送入发送处理模块;步骤411、发送处理模块收到含有群索引的广播报文后,将群索引值从广播报文中分离出来,利用该群索引值索引虚通道标识索引表得到对应的虚通道号,再将每个广播报文复制件加上虚通道号;步骤412、根据该广播报文的虚通道号,发送处理模块将该广播报文发送至相应虚通道中。
从上述过程中可以看出,由于每个去往虚通道的报文都具有确定的目的物理端口,所以当多个虚通道属于同一个广播域时,广播报文需要进行复制,本实施例中由交换网硬件完成数据报文的复制,并且,在报文出交换网,到达物理端口前,广播报文已被复制成和虚通道数目相等的多份报文,但这时每份报文还没有和虚通道一一对应。
为了防止报文乱续,在步骤409中对广播报文的复制件要进行统一调度。如图5所示,虚通道所在的物理端口对应一个调度器,调度器下挂接多个等待调度的队列。其中,一个调度队列作为单播报文拷贝的专用队列,另一个调度队列作为多播或广播报文的拷贝件的专用队列,而且所有多播和广播报文的拷贝件都入到该队列中。因此,所有拷贝件都能够串行的、按顺序从物理端口出去,同样也是按顺序去读取虚通道标识,保证报文不会乱序。
并且,由于广播报文在复制之前会获得一个群索引(Group_Index),该群索引指向虚通道标识索引表。当广播/多播报文被交换网复制后,每份报文都将存在该索引值,并且都指向虚通道标识的索引表。
图6所示为虚通道标识索引表,该索引表宽度为2个字节,其中第0个字节为N,N为自然数,表示有N个报文与N个虚通道相对应,也就是需要对N个报文分别打上N个不同的标识(Tag),这里,该标识包括Tag1+Tag2;第1个字节标识指针(Tag_Pointer)表示当前报文所需要打上标识Tag的偏移量,也就是从该处读取虚通道标识。当存在多个线程或者任务并行处理时,需要对每个线程或者任务的读写进行互斥操作。
系统读取虚通道标识以及将其封装具体操作过程如下A.先读第1个字节处的Tag_Pointer的值;B.以群索引(Group_Index)与Tag_Pointer之和为偏移量,读取(Group_Index+Tag_Pointer)处的Tag(包括Tag1+Tag2)标识,封装在报文头部;C.将Tag_Pointer加1;D.判断Tag_Pointer是否等于N,如果不等于N,则将Tag_Pointer存储回表项的原来位置;如果等于N,则将Tag_Pointer赋值“0”后,再存储回表项的原来位置;F、下一个报文重复步骤A~D。
其中,上述Tag_Pointer初始化值为0。
另外,上述实现报文的广播过程同样可以适用多播报文,只是多播报文在对应多播组内进行广播,而不是将报文转发到系统所有虚通道中,因此,在这种情况下,虚通道标识索引表是存放多播组内所有的虚通道标识。但是,如果多播报文与广播报文使用的虚通道标识索引表是一样的,那么只要在步骤411和步骤412之间增加丢弃被打上不属于该多播组中的虚通道标识的报文的过程即可,本实施例采用多播过滤表来过滤出不属于多播组的虚通道。
如图7所示,每个多播组对应一个多播过滤表,并且每个虚通道对应过滤表中的一位,虚通道号和多播过滤表中的比特位是一一对应的。如果一个比特位的值为1,则说明其对应的虚通道属于该多播组,若该比特位的值为0,则说明该比特位对应的虚通道不属于该多播组,则具有该虚通道号的多播报文需要被过滤。比如,图中0、4、5号虚通道对应的比特位为0,因此,被打上0、4、5虚通道标识的报文将被丢弃,而1、2、3等虚通道号对应比特位为1,则被打上1、2、3虚通道号的报文将发送到1、2、3通道中。
本发明在传统以太网端口的广播/多播技术基础上,在城域网传输产品中,采用标记技术实现了基于虚通道技术的多播和广播。所有操作由软件完成,因此灵活,易控,并且对传统的广播/多播技术是一个很好的完善和补充。
权利要求
1.城域网传输设备中数据报文广播/多播的实现方法,其特征在于,该方法包括以下步骤A.将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识;所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;B.按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。
2.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括A1.预先设置虚通道标识索引表,用于存放端口广播域/多播组内所有虚通道标识;A2.根据来自端口的广播报文/多播报文所属端口和虚拟局域网(VLAN)域,确定该广播报文/多播报文的群索引和转发路由,然后将确定的群索引值加在该广播报文/多播报文头部,再根据确定的转发路由将该含有群索引值的广播报文/多播报文送入交换网模块;A3.交换网模块收到该含有群索引值的广播报文/多播报文后,复制该广播报文/多播报文,且复制份数与步骤A1中所述虚通道标识索引表含有的虚通道标识数量相等,然后对广播报文/多播报文复制件进行调度;A4.调度出广播报文/多播报文复制件至发送处理模块,发送处理模块根据每个广播报文/多播报文复制件中含有的群索引值索引虚通道标识索引表得到对应的虚通道标识,将对应的虚通道标识加在每个广播报文/多播报文复制件的头部。
3.根据权利要求2所述的方法,其特征在于,来自端口的报文为广播报文,步骤A1中所述虚通道标识索引表存储广播域中所有虚通道标识。
4.根据权利要求2所述的方法,其特征在于,来自端口的报文为多播报文,步骤A1中所述虚通道标识索引表存储多播组中所有虚通道标识。
5.根据权利要求2所述的方法,其特征在于,来自端口的报文为多播报文,预先设置的虚通道标识索引表存储广播域中所有虚通道标识,所述步骤A1进一步包括预先设置多播过滤表,用于存储该多播组内的所有虚通道标识;并且在步骤A4给多播报文添加完虚通道标识后,索引多播过滤表,根据多播过滤表中含有的虚通道标识,丢弃不属于多播组内的虚通道标识的多播报文复制件。
6.根据权利要求2所述的方法,其特征在于,步骤A3中所述调度为串行调度方式。
7.根据权利要求2所述的方法,其特征在于,步骤A4所述索引虚通道标识索引表,为报文添加虚通道标识的过程包括根据广播报文/多播报文复制件含有的群索引值索引虚通道标识索引表,读取虚通道标识索引表中的标识指针值,读取群索引值加上该标识指针值处的标识,将该标识封装在报文头部;将该标识指针值加上1,判断标识指针是否大于该广播域/多播组所包含的虚通道数,如果不大于,则将标识指针存储回表项的原位置,否则,则将标识指针初始化后,存储回原位置。
全文摘要
本发明公开了一种城域网传输设备中数据报文广播/多播的实现方法,其特征在于,该方法包括将来自端口的广播报文/多播报文复制;在所有广播报文/多播报文复制件上分别加上所属广播域/多播组中的一个虚通道标识,所述广播报文/多播报文复制件与广播域/多播组中的虚通道一一对应;按照虚通道标识将广播报文/多播报文复制件发送至相应虚通道中。本发明通过在城域网设备的数据业务接入单元中采用标记方法实现报文的广播/多播,并且灵活、易控。
文档编号H04L12/28GK1509020SQ0215670
公开日2004年6月30日 申请日期2002年12月17日 优先权日2002年12月17日
发明者徐前锋, 蓝建栋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1