CN101729420A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN101729420A CN101729420A CN200910250570A CN200910250570A CN101729420A CN 101729420 A CN101729420 A CN 101729420A CN 200910250570 A CN200910250570 A CN 200910250570A CN 200910250570 A CN200910250570 A CN 200910250570A CN 101729420 A CN101729420 A CN 101729420A
- Authority
- CN
- China
- Prior art keywords
- module
- edge switch
- data packet
- map
- switch
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims description 29
- 230000032683 aging Effects 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 230000003068 static effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据处理方法,包括以下步骤:所述中心交换机接收来自所述源边缘交换机的数据包,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map;当判断结果为需要更新Module_map时,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map;所述中心交换机根据所述Module_map将所述数据包发送给所述目的边缘交换机。本发明中,交换芯片间实现了自动转发,并减少了大量的配置工作;而且不需要配置就能够实现多交换芯片之间的堆叠,降低了多芯片堆叠带来的开发难度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
目前的以太网交换机中,一般都使用透明桥接技术,该透明桥接通常用于将两个或多个Ethernet(以太网)网络连接或扩展到一个单一的逻辑LAN(Local Area Network,局域网)中。
在透明桥接技术中,网桥根据末端结点与网桥端口的关联表每次只将帧传送一跳(hop),网桥相对网络末端结点来说是透明的,即透明网桥不需要更改数据帧的内容,也不作为数据帧的源或目的地址,从而使得由该透明网桥连接起来的各个网段看起来像是在一条电缆上。其中,透明桥接一般都有五个操作过程,分别为学习(Learning)、扩散或者洪泛(Flooding)、过滤(Filtering)、转发(Forwarding)和老化(Aging)。
图1为一种透明桥接示意图,交换机的不同端口属于不同的网段(即冲突域),其中,各个网段的节点都被添加到LAN交换机的端口中。在图1中,节点A和节点C位于网段(segment)A中,节点B位于网段C中,节点D位于网段B中。其中,不同的网段即不同的冲突域(collision domain),而以太网使用一种叫CSMA/CD(Carrier Sense Multiple Access with CollisionDetection,载波侦听多路访问和冲突侦察)的机制来实现网络通迅,在这种机制下,网络上没有数据包传输时,节点才能发送数据包;如果两个节点同一时刻发送数据包,冲突将产生,数据包会丢失;两个节点需要等待一个随机的时间片之后重新发送数据包来避免冲突,网络上两个或多个数据包相互可达的节点被看成是一个冲突域。如果网络上有大量的节点在同一个冲突域,将会产生大量的冲突以至于网络不可通迅。
在节点A向节点B发送数据的过程中,该交换机(即图1中的LAN交换机)从节点A中获得第一个数据包,并从该第一个数据包中读取MAC(Media Access Control,媒体访问控制)地址,由该MAC地址索引地址查询表,然后将网段A的标识号保存到对应的地址查询表中。当交换机接收到后续来自节点A的数据包时,根据MAC地址所对应的地址查询表,节点A的MAC地址对应网段A(即冲突域A),该交换机将知道去往节点A的数据包发往哪里。上述过程被称为学习。
由于交换机不知道节点B在哪里,该交换机需要将来自节点A的数据包发送到除了节点A所对应网段之外的所有网段中,即该交换机需要将来自节点A的数据包发送到网段B和网段C中,该交换机将一个数据包发送到所有网段来查找特定节点(节点B)的过程,被称为扩散。
由于来自节点A的数据包被扩散到了节点B上,该节点B将获得一个来自节点A的数据包,并向节点A发送一个响应数据包。当该响应数据包到达交换机时,该交换机能够从该响应数据包中获得节点B的MAC地址,由该MAC地址索引地址查询表,然后将网段C的标识号保存到对应的地址查询表中。由于交换机已经知道了节点A的地址,能够直接将该响应数据包发送到节点A上,而由于节点A与节点B是位于不同网段的,交换机需要连接两个网段,并完成两个网段之间数据包的发送过程,这个过程被称为转发。
当下一个数据包需要从节点A发送到节点B时,当该数据包到达交换机时,由于该交换机已经知道了节点B的地址,因此,该交换机可以直接将该数据包转发到节点B上。
在节点C向节点A发送数据包的过程中,当该数据包到达交换机时,交换机将查询节点C的MAC地址,由该MAC地址索引地址查询表,然后将网段A的标识号保存到对应的地址查询表中,由于交换机已经有了节点A的地址,此时,交换机能够确定节点C和节点A位于相同的网段上(即都位于网段A上),因此,在数据包从节点C发送到节点A的过程中,该交换机并不需要将网段A与另一个网段进行连接,即交换机会忽略同一个网段内两个节点之间的数据包传输过程,这个过程被称为过滤。
由于学习和扩散将继续为交换机添加不同节点所对应的地址查询表,大多数交换机都需要使用大量的内存来维护地址查询表,而为了交换机能够不必要浪费时间在查询地址查询表上,并节约内存资源,需要删除老化的信息。其中,当一个节点所对应的条目被添加到地址查询表时,该条目会得到一个时间戳,每当该节点所对应的数据包到达交换机时,该时间戳就会被更新;此外,交换机中一般都有一个用户可配置的计时器,对于一定时间内没有活动的节点(即没有数据包传输的节点),需要将该节点对应的条目从地址查询表中删除,以释放内存资源,上述过程被称为老化。在图1中,两个节点共享同一个冲突域,在新式的局域交换网中,每一个节点都有自身的冲突域。注意当在冲突域A中的节点和在冲突域B中的节点以10M速度进行通迅时,在冲突域C中的节点同样可以和在冲突域B中的节点以10M的速度通迅。
为了实现透明桥接技术,在bcm交换芯片间的转发过程中,使用了一种Higig协议,通过使用Higig协议,可以进行以太网报文的灵活交换。其中,该Higig协议是用于背板交换的10Gbps接口协议。
具体的,Higig协议的核心思想是将转发需要的控制信息(例如,组播广播方式、虚拟局域网VLAN控制、优先级等信息等)和交换机Fabric(结构)转发报文需要的信息(例如,源Source/目的Destination Module ID、Source/Destination Port ID等)组合成一个12字节的头部,即Higig头部。
HiGig协议对以太报文进行了修改,在以太报文的payload(有效载荷)前增加了12Bytes的HiGig头部,从而使得原来一个64Bytes的以太报文在HiGig端口变成了76Bytes的以太报文;而为了保证10Gbps链路交换时的线速性能,需要将IPG部分修改成8Bytes,如图2所示,为对应HiGig协议的以太报文格式示意图,其中,HiGig头部占据了原以太报文的部分IPG和全部的Preamble,使得总长度保持不变,并保证了10Gbps链路交换时的线速性能。
具体的,Higig头部结构体可以表示为:
struct higig_head
{
USHORT start:8;
USHORT hgi:2;
USHORT cng:1;
USHORT hdr_ext_len:3;
USHORT dst_modid_6:1;
USHORT src_modid_6:1;
USHORT vid_high:8;
USHORT vid_low:8;
USHORT src_modid:5;
USHORT opcode:3;
USHORT pfm:2;
USHORT src_port_tgid:6;
USHORT dst_port:5;
USHORT cos:3;
USHORT header_type:2;
USHORT reserved:1;
USHORT dst_modid:5;
USHORT dst_t:1;
USHORT dst_tgid:3;
USHORT ingress_tagged:1;
USHORT mirror_only:1;
USHORT mirror_done:1;
USHORT mirror:1;
USHORT src_mod_5:1;
USHORT dst_mod_5:1;
USHORT 13:1;
USHORT label_present:1;
USHORT vc_label_19_16:4;
USHORT vc_label_15_8:8;
USHORT vc_label_7_0:8;
};
现有技术中,bcm交换芯片在转发过程中,是采用静态转发方式的,而静态转发所需要的地址和端口信息,均是静态配置在Module_map表中的。当接收到数据包后,可以根据Higig头部中的信息查找Module_map表,从而查找到转发所需要的地址和端口信息,继而将HiGig报文发送出去。其中,该Module_map表是根据需要预先静态配置好的。如图3和图4所示,其中,图3为Higig头部的示意图,图4为一种静态配置的Module_map表(即staticModule_map)。
具体的,在转发过程中,所有的数据包中都携带了Higig头部,根据Higig头部中的目的module_id和数据包入端口查找static Module_map,并找到对应的出端口,然后根据该出端口将数据包发送出去。
然而,现有技术中至少存在以下问题:
Module_map表需要静态配置,即需要手工配置Module_map表,对于比较复杂的多芯片结构来说,配置的工作量比较大,容易出现错误,而且动态更改时比较困难。
发明内容
本发明提供了一种数据处理方法及装置,以自动配置Module_map表,从而减少了大量的配置工作。
本发明提供了一种数据处理方法,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,所述方法包括以下步骤:
所述中心交换机接收来自所述源边缘交换机的数据包,所述数据包中携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号;
所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map;
当判断结果为需要更新Module_map时,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map;所述中心交换机根据所述Module_map将所述数据包发送给所述目的边缘交换机;
当判断结果为不需要更新Module_map时,所述中心交换机根据所述Module_map直接将所述数据包发送给所述目的边缘交换机。
其中,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map包括:
所述中心交换机从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;
当所述Module_map中有所述源边缘交换机对应的索引时,所述中心交换机确定不需要更新所述Module_map;
当所述Module_map中没有所述源边缘交换机对应的索引时,所述中心交换机确定需要更新所述Module_map。
其中,所述Module_map中的字段包括bitmap字段、aging time字段和valid字段;
所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map包括:
所述中心交换机根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引;并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
其中,将所述数据包发送到所述目的边缘交换机包括:
所述中心交换机从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;
当所述Module_map中有所述目的边缘交换机对应的索引时,所述中心交换机通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,
当所述Module_map中没有所述目的边缘交换机对应的索引时,所述中心交换机通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
本发明提供了一种数据处理装置,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,所述装置作为中心交换机,包括:
接收模块,用于接收来自所述源边缘交换机的数据包,所述数据包中携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号;
判断模块,与所述接收模块连接,用于根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map;
更新模块,与所述判断模块连接,用于当判断结果为需要更新Module_map时,根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map;
发送模块,与所述接收模块和更新模块分别连接,用于根据所述Module_map将所述数据包发送给所述目的边缘交换机。
其中,所述判断模块具体用于,从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;
当所述Module_map中有所述源边缘交换机对应的索引时,确定不需要更新所述Module_map;
当所述Module_map中没有所述源边缘交换机对应的索引时,确定需要更新所述Module_map。
其中,述Module_map中的字段包括bitmap字段、aging time字段和valid字段;
所述更新模块具体用于,根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引;并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
其中,所述发送模块具体用于,从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;
当所述Module_map中有所述目的边缘交换机对应的索引时,通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,
当所述Module_map中没有所述目的边缘交换机对应的索引时,通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
与现有技术相比,本发明具有以下优点:
本发明中,交换芯片间实现了自动转发,并减少了大量的配置工作;而且不需要配置就能够实现多交换芯片之间的堆叠,降低了多芯片堆叠带来的开发难度。
附图说明
图1为现有技术中透明桥接示意图;
图2为现有技术中对应HiGig协议的以太报文格式示意图;
图3为现有技术中Higig头部的示意图;
图4为现有技术中静态配置的Module_map表;
图5是本发明中一种数据处理方法流程图;
图6是本发明中基于图5原理的一种数据处理方法组网示意图;
图7是本发明中基于图6组网示意图的一种数据处理方法流程图;
图8是本发明中一种数据处理装置结构图。
具体实施方式
本发明的核心思想是:在各个边缘交换机发送给中心交换机的数据包中携带源边缘交换机的芯片号和目的边缘交换机的芯片号以及其他数据包转发的相关信息,例如:数据包类型、源端口号、目的端口号等,在中心交换机上,根据该源边缘交换机的芯片号,可以确定是否需要更新Module_map,如果需要更新Module_map时,则可以根据该源边缘交换机的芯片号和数据包的输入端口(即中心交换机上接收到该数据包的端口)更新Module_map;从而实现了Module_map的动态更新,继而实现了交换芯片间的自动转发过程,并减少了大量的配置工作;而且不需要配置就能够实现多交换芯片之间的堆叠,降低了多芯片堆叠带来的开发难度。
本发明提供了一种数据处理方法,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,所述方法如图5所示,包括以下步骤:
步骤501,所述中心交换机接收来自所述源边缘交换机的数据包,其中所述数据包中至少携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号。
步骤502,所述中心交换机根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口判断是否需要更新Module_map。当判断结果为是时,转到步骤503,当判断结果为否时,转到步骤504。
具体的,根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口判断是否需要更新Module_map包括:所述中心交换机从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;当所述Module_map中有所述源边缘交换机对应的索引时,所述中心交换机确定不需要更新所述Module_map;当所述Module_map中没有所述源边缘交换机对应的索引时,所述中心交换机确定需要更新所述Module_map。
步骤503,所述中心交换机根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口更新所述Module_map。
具体的,所述Module_map中的字段包括bitmap字段、aging time字段和valid字段;其中,bitmap用于标识数据包出去的端口;aging time用于标识当前表项的存活时间,当Module_map中对应的表项一直没有更新时,或者当前表项不可用时,将aging time置为0,该aging time为0表示该当前表项不可用;valid用于标识当前表项是否可用,例如,当valid为0时表示当前表项不可用,当valid为1时表示当前表项可用,当然,实际应用中,还可以用其他的数值表示当前表项不可用或可用,本发明中不再详加赘述。
进一步的,在Module_map中,还需要为每条记录设置一个索引,而为了通过使用该索引从Module_map中能够查找到目标端口和目的芯片,需要使用输入端口和源芯片号的信息表示该索引。例如,通过使用input_port(输入端口)*128+源芯片号为索引;当然,在实际应用中,还可以使用其他方式表示索引。需要说明的是,在选择索引时,需要保证索引不会出现重复,当芯片号一共有128个时,通过使用input_port*128+源芯片号为索引时,则可以保证索引不会出现重复,对于其他的索引方式,只要能够保证索引不出现重复,即能够实现本技术方案,对与其他的索引方式,本发明中不再详加赘述,以input_port*128+源芯片号为索引为例进行说明。
如表1所示的一种Module_map,其中,该表1中的内容可以根据实际需要进行调整。
表1
索引 | bitmap | aging time | valid |
基于表1所示的一种Module_map,所述中心交换机根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口更新所述Module_map包括:所述中心交换机根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引(例如,input_port*128+源芯片号);并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
例如,当中心交换机从自身的端口2接收到来自边缘交换机的数据包时,如果判断出需要更新Module_map(即Module_map中没有该数据包中携带的源边缘交换机的芯片号和数据包的输入端口对应的索引),则中心交换机需要提取源芯片号(即边缘交换机的芯片号,以芯片号是5为例进行后续说明),并更新Module_map。此时,由于数据包是从端口2输入的,即输入端口为端口2,源芯片号为5,索引可以为2*128+5,bitmap为端口2,aging time为存活时间的最大值(或者根据实际需要设置一个时间值),valid为1并表示当前表项可用。如表2所示的更新后的Module_map。
表2
索引 | Bitmap | aging time | Valid |
2*128+5 | 端口2 | 存活时间值 | 1 |
可以看出,当后续过程中,如果中心交换机接收到一个数据包,并从数据包中获取到目的芯片号为5时,则通过查找Module_map,能够找到索引(2*128+5),得到bitmap为端口2,即可以通过使用端口2将数据包发送到芯片号为5所对应的边缘交换机上。其中,对于索引中的源芯片号,如果是数据包需要发送的目的地址所对应的芯片号时,则该源芯片号为对应该数据包的目的芯片号,即源芯片号和目的芯片号是相对的。
本发明中,上述过程为学习过程,在实际应用中,如果数据包不是第一次从边缘交换机A发送到中心交换机时,则Module_map中将有对应的表项,即相应的判断结果为不需要根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口更新Module_map,在此不再详加赘述。
步骤504,所述中心交换机根据所述Module_map将所述数据包发送给所述目的边缘交换机。
具体的,由于所述数据包中还携带了所述目的边缘交换机的芯片号,则本步骤中,所述中心交换机根据所述Module_map将所述数据包发送到所述目的边缘交换机包括:所述中心交换机从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;
当所述Module_map中有所述目的边缘交换机对应的索引时,所述中心交换机通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,当所述Module_map中没有所述目的边缘交换机对应的索引时,所述中心交换机通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
如图6所示,为图5技术方案的一种具体应用场景对应的示意图,中心交换机将接收来自各个边缘交换机的数据包,其中,在边缘交换机向中心交换机发送数据包时,需要在该数据包中携带转发信息,该转发信息包括但不限于:数据包类型,源芯片号,源端口号,目的芯片号,目的端口号。
具体的,各个边缘交换机是通过自身的交换芯片来进行数据包的转发操作的,即需要通过使用交换芯片在数据包中添加转发信息,而每个交换芯片都有唯一的标识。
本发明中以边缘交换机A下的终端1需要向边缘交换机B下的终端2发送数据包为例进行说明,当边缘交换机A接收到来自终端1的数据包后,需要将该数据包发送到中心交换机上,并在该数据包中携带上述的转发信息,该边缘交换机获取并将转发信息携带在数据包中的过程为现有的处理方式,本发明中不再赘述。其中,该数据包类型包括单播数据包、组播数据包和广播数据包等类型,该源芯片号为边缘交换机A对应的唯一标识的芯片号,该目的芯片号为边缘交换机B对应的唯一标识的芯片号,为了方便描述,本发明中以单播数据包为例进行说明。
当数据包到达中心交换机后,中心交换机上相应的数据处理过程如图7所示,包括以下步骤:
步骤701,当数据包从中心交换机的端口进入时,中心交换机提取源芯片号,并根据该源芯片号和该数据包的输入端口判断是否需要更新相关的Module_map。
其中,该数据包的转发信息中携带了源芯片号和目的芯片号的信息,该中心交换机可以直接从数据包的转发信息中提取出源芯片号,即中心交换机直接从数据包中提取出边缘交换机A对应的芯片号。
具体的,当Module_map中没有边缘交换机A对应的芯片号和该数据包的输入端口所对应的索引时,需要更新Module_map,转到步骤702中;而如果有边缘交换机A对应的芯片号和该数据包的输入端口所对应的索引时,则不需要更新Module_map,转到步骤703中。
步骤702,中心交换机更新Module_map。
本步骤中,该中心交换机需要根据该边缘交换机A对应的芯片号和该数据包的输入端口更新Module_map,其中,与现有技术中静态配置Module_map不同的是,本发明中是以动态学习的方式更新Module_map的。
具体的,该Module_map中包含的字段为bitmap,aging time,valid,此外,在Module_map中,每条记录还对应一个索引,例如,通过使用input_port(输入端口)*128+源芯片号为表示该索引。如表1所示的Module_map。
本步骤中,当中心交换机从自身的端口接收到来自边缘交换机A的数据包时,则中心交换机需要提取源芯片号,并根据该源芯片号和上述的端口更新Module_map,该过程不再赘述。
可以看出,当后续过程中,如果中心交换机接收到一个数据包,并从数据包中获取到目的芯片号为边缘交换机A芯片号时,通过查找Module_map,能够找到对应的索引,从而能够将数据包发送到边缘交换机A上。
步骤703,中心交换机根据该Module_map发送该数据包。其中,由于该数据包的目的地址为边缘交换机B下的终端2,即需要将该数据包发送到边缘交换机B上。
具体的,由于在该数据包中携带了目的芯片号(即边缘交换机B的芯片号),通过使用该目的芯片号查找Module_map,当查找到Module_map中有该边缘交换机B所对应的索引时,则说明之前已经更新了边缘交换机B所对应的Module_map,此时,只需要根据该边缘交换机B所对应的索引,找出对应的bitmap中的端口,即可以通过使用该端口将数据包发送到边缘交换机B上。
而通过使用目的芯片号查找Module_map,但是没有查找到Module_map中有该边缘交换机B所对应的索引时,则说明之前没有更新边缘交换机B所对应的Module_map,此时,需要从边缘交换机A对应端口之外的所有端口将该数据包发送出去,由于边缘交换机A对应端口之外的所有端口中有边缘交换机B对应的端口,即可以将该数据包发送到边缘交换机B上。
需要说明的是,上述过程中,并不局限于没有边缘交换机B所对应的索引时,通过边缘交换机A对应端口之外的所有端口将数据包发送出去,例如,当查找到边缘交换机B所对应的索引,但是该索引所对应的表项无法使用时,也需要通过边缘交换机A对应端口之外的所有端口将数据包发送出去。
本发明中,该索引所对应的表项无法使用的原因包括aging time的时间值为0,或者,valid为0时表示当前表项不可用。其中,在实际应用中,每个表项对应的aging time时间值不断在减少,当变为0时将当前表项valid置为0,即不可用;而如果中心交换机接收到对应的数据包时,则需要重新设置agingtime时间值,依次类推。
本发明中还提出了一种数据处理的装置,如图8所示,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,所述数据处理的装置作为所述中心交换机,包括:
接收模块810,用于接收来自所述源边缘交换机的数据包,其中所述数据包中携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号的转发信息。
判断模块820,与所述接收模块810连接,用于根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口判断是否需要更新Module_map。
所述判断模块820具体用于,从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;当所述Module_map中有所述源边缘交换机对应的索引时,确定不需要更新所述Module_map;当所述Module_map中没有所述源边缘交换机对应的索引时,确定需要更新所述Module_map。
更新模块830,与所述判断模块820连接,用于当判断结果为需要更新Module_map时,根据所述数据包中携带的源边缘交换机的芯片号和数据包的输入端口更新所述Module_map。
其中,所述Module_map中的字段包括bitmap字段、aging time字段和valid字段;所述更新模块830具体用于,根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引;并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
发送模块840,与所述接收模块810和更新模块830分别连接,用于根据所述Module_map将所述数据包发送给所述目的边缘交换机。
其中,由于所述数据包中还携带了所述目的边缘交换机的芯片号;所述发送模块840具体用于,从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;当所述Module_map中有所述目的边缘交换机对应的索引时,通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,当所述Module_map中没有所述目的边缘交换机对应的索引时,通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (8)
1.一种数据处理方法,其特征在于,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,所述方法包括以下步骤:
所述中心交换机接收来自所述源边缘交换机的数据包,所述数据包中携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号;
所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map;
当判断结果为需要更新Module_map时,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map;所述中心交换机根据所述Module_map将所述数据包发送给所述目的边缘交换机;
当判断结果为不需要更新Module_map时,所述中心交换机根据所述Module_map直接将所述数据包发送给所述目的边缘交换机。
2.如权利要求1所述的方法,其特征在于,所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map包括:
所述中心交换机从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;
当所述Module_map中有所述源边缘交换机对应的索引时,所述中心交换机确定不需要更新所述Module_map;
当所述Module_map中没有所述源边缘交换机对应的索引时,所述中心交换机确定需要更新所述Module_map。
3.如权利要求2所述的方法,其特征在于,所述Module_map中的字段包括bitmap字段、aging time字段和valid字段;
所述中心交换机根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map包括:
所述中心交换机根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引;并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
4.如权利要求1-3中任一项所述的方法,其特征在于,将所述数据包发送到所述目的边缘交换机包括:
所述中心交换机从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;
当所述Module_map中有所述目的边缘交换机对应的索引时,所述中心交换机通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,
当所述Module_map中没有所述目的边缘交换机对应的索引时,所述中心交换机通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
5.一种数据处理装置,应用于包括中心交换机和至少两个边缘交换机的系统中,所述至少两个边缘交换机中包括源边缘交换机和目的边缘交换机,其特征在于,所述装置作为中心交换机,包括:
接收模块,用于接收来自所述源边缘交换机的数据包,所述数据包中携带了所述源边缘交换机的芯片号和所述目的边缘交换机的芯片号;
判断模块,与所述接收模块连接,用于根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口判断是否需要更新Module_map;
更新模块,与所述判断模块连接,用于当判断结果为需要更新Module_map时,根据所述数据包中携带的所述源边缘交换机的芯片号和所述数据包的输入端口更新所述Module_map;
发送模块,与所述接收模块和更新模块分别连接,用于根据所述Module_map将所述数据包发送给所述固的边缘交换机。
6.如权利要求5所述的装置,其特征在于,
所述判断模块具体用于,从所述数据包中提取所述源边缘交换机的芯片号,并根据所述源边缘交换机的芯片号和数据包的输入端口判断所述Module_map中是否有所述源边缘交换机对应的索引;
当所述Module_map中有所述源边缘交换机对应的索引时,确定不需要更新所述Module_map;
当所述Module_map中没有所述源边缘交换机对应的索引时,确定需要更新所述Module_map。
7.如权利要求6所述的装置,其特征在于,述Module_map中的字段包括bitmap字段、aging time字段和valid字段;
所述更新模块具体用于,根据所述源边缘交换机的芯片号和所述数据包的输入端口获取所述源边缘交换机对应的索引;并根据所述数据包的输入端口更新所述bitmap字段,并对所述aging time字段和所述valid字段赋值。
8.如权利要求5-7中任一项所述的装置,其特征在于,
所述发送模块具体用于,从所述数据包中提取所述目的边缘交换机的芯片号,并根据所述源边缘交换机的芯片号判断所述Module_map中是否有所述目的边缘交换机对应的索引;
当所述Module_map中有所述目的边缘交换机对应的索引时,通过使用该索引对应的bitmap中的端口将所述数据包发送到所述目的边缘交换机;或者,
当所述Module_map中没有所述目的边缘交换机对应的索引时,通过使用所述数据包输入端口之外的所有端口将所述数据包发送出去,其中,所述数据包输入端口之外的所有端口中包含所述目的边缘交换机对应的端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102505705A CN101729420B (zh) | 2009-12-15 | 2009-12-15 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102505705A CN101729420B (zh) | 2009-12-15 | 2009-12-15 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729420A true CN101729420A (zh) | 2010-06-09 |
CN101729420B CN101729420B (zh) | 2012-11-14 |
Family
ID=42449661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102505705A Active CN101729420B (zh) | 2009-12-15 | 2009-12-15 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729420B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523113A (zh) * | 2011-12-15 | 2012-06-27 | 盛科网络(苏州)有限公司 | 以太网oam中跨芯片聚合链路上配置mep的芯片实现方法及系统 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103763219A (zh) * | 2013-12-30 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 交换机芯片堆叠方法 |
CN104283803A (zh) * | 2014-10-11 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种控制报文转发的方法和装置 |
CN107040327A (zh) * | 2017-06-14 | 2017-08-11 | 深圳市华信天线技术有限公司 | 主从机tdma时隙同步校准方法及装置 |
CN108874987A (zh) * | 2018-06-11 | 2018-11-23 | 深圳市风云实业有限公司 | 表项管理方法、装置及交换芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744563B (zh) * | 2004-08-31 | 2011-06-22 | 杭州华三通信技术有限公司 | 在以太网交换机上实现策略路由的方法 |
US7751421B2 (en) * | 2004-12-29 | 2010-07-06 | Alcatel Lucent | Traffic generator and monitor |
CN101488862B (zh) * | 2009-02-23 | 2012-02-08 | 中兴通讯股份有限公司 | 分布式以太网交换机及其内部的mac地址维护方法 |
-
2009
- 2009-12-15 CN CN2009102505705A patent/CN101729420B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523113A (zh) * | 2011-12-15 | 2012-06-27 | 盛科网络(苏州)有限公司 | 以太网oam中跨芯片聚合链路上配置mep的芯片实现方法及系统 |
CN102523113B (zh) * | 2011-12-15 | 2014-12-17 | 盛科网络(苏州)有限公司 | 以太网oam中跨芯片聚合链路上配置mep的芯片实现方法及系统 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103166874B (zh) * | 2013-03-25 | 2016-03-02 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US9571392B2 (en) | 2013-03-25 | 2017-02-14 | Hewlett Packard Enterprise Development Lp | Forwarding packets |
CN103763219A (zh) * | 2013-12-30 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 交换机芯片堆叠方法 |
CN104283803A (zh) * | 2014-10-11 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种控制报文转发的方法和装置 |
CN104283803B (zh) * | 2014-10-11 | 2018-12-11 | 新华三技术有限公司 | 一种控制报文转发的方法和装置 |
CN107040327A (zh) * | 2017-06-14 | 2017-08-11 | 深圳市华信天线技术有限公司 | 主从机tdma时隙同步校准方法及装置 |
CN107040327B (zh) * | 2017-06-14 | 2019-04-02 | 深圳市华信天线技术有限公司 | 主从机tdma时隙同步校准方法及装置 |
CN108874987A (zh) * | 2018-06-11 | 2018-11-23 | 深圳市风云实业有限公司 | 表项管理方法、装置及交换芯片 |
CN108874987B (zh) * | 2018-06-11 | 2020-09-29 | 深圳市风云实业有限公司 | 表项管理方法、装置及交换芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN101729420B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2100406B1 (en) | Method and apparatus for implementing multicast routing | |
US20080112400A1 (en) | System for Providing Both Traditional and Traffic Engineering Enabled Services | |
EP4142219A1 (en) | Message processing method and apparatus, announcement method and apparatus, network bridge node, source device, storage medium, and message processing system | |
CN101729420B (zh) | 一种数据处理方法及装置 | |
US20090135833A1 (en) | Ingress node and egress node with improved packet transfer rate on multi-protocol label switching (MPLS) network, and method of improving packet transfer rate in MPLS network system | |
EP3432527B1 (en) | Information processing method and device, and computer storage medium | |
CN101459536A (zh) | 端口配置方法和交换设备 | |
US20080259920A1 (en) | Method and apparatus for establishing virtual resilient packet ring (RPR) subrings over a common communications path | |
EP1810456A1 (en) | Systems and methods for accelerated learning in ring networks | |
CN112491706B (zh) | 数据报文的处理方法及装置、存储介质、电子装置 | |
JP2006087107A (ja) | 回復力のあるパケット・リング・ネットワークにおいてトラフィックをブリッジする方法及びシステム | |
CN102546409B (zh) | 一种基于trill网络的处理报文的方法和路由桥 | |
US9948542B2 (en) | Filtering on classes and particulars of a packet destination address at lower-protocol layers in a networked device | |
WO2022160665A1 (zh) | 一种报文转发的方法、报文处理方法及设备 | |
US20110249676A1 (en) | Method and System for Forwarding and Switching Traffic in a Network Element | |
US20110222541A1 (en) | Network System, Edge Node, and Relay Node | |
US11784919B2 (en) | Method for sending BIERv6 packet and first network device | |
CN102932228A (zh) | Trill网络的通信方法及装置、系统 | |
EP2728815B1 (en) | Method and rbridge for avoiding esadi protocol packet storms | |
CN111490941B (zh) | 一种多协议标签交换mpls标签处理方法和网络设备 | |
CN104954259B (zh) | 一种实现ptn业务收敛的方法及pe | |
CN114079583A (zh) | 发送组播报文的方法、获取转发表项的方法及装置 | |
WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
WO2023109672A1 (zh) | 业务处理方法、装置及系统 | |
WO2023078144A1 (zh) | 报文处理方法、装置及系统 |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310013 Binjiang District, Hangzhou, Binjiang Avenue, No. Huarong Times Building, room 1601, room 3880 Patentee after: Hangzhou Dipu Polytron Technologies Inc Address before: 310013 Binjiang District, Hangzhou, Binjiang Avenue, No. Huarong Times Building, room 1601, room 3880 Patentee before: Hangzhou Dipu Technology Co., Ltd. |