分布式系统中板卡间数据交换的方法

文档序号:7751410阅读:245来源:国知局
专利名称:分布式系统中板卡间数据交换的方法
技术领域
本发明涉及网络通信技术,尤其涉及网络通信领域的分布式系统中的板间通信技 术。
背景技术
在通信设备设计领域,由于受限于现有IC技术,采用所有操作都集中在一个板卡 上执 行的集中式架构系统,很难实现IOGbps以上高速的数据信息转发或交换;所以采用多 个板卡并行处理的分布式架构系统愈来愈普及。典型的分布式架构系统中,一般由主控板、 交换板和各种业务板卡组成;主控板可以是单主控板或者是主从备份的双主控板,交换板 也可以是一个交换板或者是主从备份的双交换板,且交换板和主控板可融合为一板。主控 板用于完成系统控制和上层协议处理,各业务板卡用于完成相应的用户业务数据的处理, 交换板用于完成板卡间的数据交换,如将当前完成相关操作的业务板板卡数据发送到需要 执行后续操作的其它业务板卡。一般来说,一个数据包从进入通信设备到从该通信设备输出,通信设备对该数据 包所执行操作的典型顺序依次为包头解析、地址学习、流标识、入口 ACL、入口 NAT、交换表 查询、路由表查询、QoS控制、出接口表查询、出口 ACL、出口 NAT、包头修改等动作。在分布 式架构系统中,通常把交换表查询和路由表查询之前的操作放在一张板卡处理(称之为输 入方向的处理),后续的QoS控制、出口表查询、包头修改等操作再交由另外的板卡处理(称 之为输出方向的处理)。以上板卡之间在并行处理数据包时,一般通过高速的交换板进行数 据交换,这种系统内的板卡间通信通常也称为数据交换。交换板一般由一至多片交换芯片 完成,如图1所示为各板卡与交换板的交换芯片互联的结构示意图。实现板卡间数据交换 的常用方式是采用专用的交换芯片;但由于专用交换芯片的部分专用特性,和交换容量相 同的普通以太网交换芯片比较而言,专用交换芯片的销售数量比较小,从而其销售价格要 比一般的普通以太网交换芯片要贵很多。在中国专禾Ij申请CN1825804A(申请日2006年8月30日,申请号为 200610067084.6,申请名称为实现分布式系统板间通信的系统和方法)中,公开了一种采 用普通以太网交换芯片进行板间数据交换的方案,该方案中,源板卡为数据包加一个18字 节的标准以太网帧头部封装得到以太网帧,用于交换板执行交换操作,即交换板上的以太 网交换芯片通过识别以太网帧头部的目的MAC地址字段,把该数据包发送到执行后续操作 的目的板卡上。由于在分布式系统中,源板卡除了把接收的数据包发送给目的板卡外,还需 要把本板卡的处理结果通知给目的板卡,从而目的板卡可以接替本板卡执行后续的操作。 所以,在该方案中,源板卡除了需要增加一个标准以太网帧头部外,还需要增加额外字段用 于携带源板卡需要发送给目的板卡除业务数据外的额外信息,如在源业务板上已完成操作 的结果信息(如流标识、通道号、各种查表结果等)。因此,在现有采用普通以太网交换芯片进行板间数据交换的方案中,板卡间进行 数据交换时,在标准以太网帧头部字段外必须增加额外字段来携带当前板卡的处理信息,从而导致交换以太数据帧头部过大,交换效率不高,实用性差。

发明内容
本发明解决现有技术中采用普通以太网交换芯片进行数据交换效率不高的问题, 提供一种在分布式系统中,采用普通以太网交换芯片实现高效数据交换的方法。本发明提供一种分布式系统中板卡间数据交换的方法,包括如下步骤a、系统初始化,配置系统中板卡间通信的所有组合,并为每个组合分配一个虚拟 局域网号,生成虚拟局域网对应关系表;b、将以上虚拟局域网对应关系表写入到交换板的以太网交换芯片中,且各板卡中 分别保存本板卡相关的虚拟局域网对应关系表,最后配置各虚拟局域网;C、板卡间进行数据交换时,发送数据的源板卡为数据包添加以太网帧头部封装得 到 以太网帧,发送封装后的以太网帧到交换板;d、交换板的以太网交换芯片接收到所述以太网帧后,由于根据目的MAC地址查找 MAC地址表失败,将所述以太网帧在虚拟局域网内广播。具体的,板卡间通信的所有组合是指板卡与以太网交换芯片相连接的端口的所有组合。具体的,所述步骤c添加的以太网帧头部中,源MAC地址和或目MAC地址字段和或 类型字段中为自定义信息。具体的,所述步骤c添加的以太网帧头部中,虚拟局域网标签域中虚拟局域网号 从和查找目的匹配的虚拟局域网对应关系表项中得到。具体的,所述添加的以太网帧头部中,虚拟局域网标签域中的优先级字段根据源 板卡对待发送数据包处理QoS策略中的优先级映射得到。进一步的,当系统可支持的最大板卡数为η时,交换机芯片需要分配和配置的虚 拟局域网数为Zn-Ccin-CV进一步的,所述步骤c中自定义的信息为当前板卡对数据包的操作结果信息。进一步的,所述步骤c中自定义的信息为需要发送给目的板卡的交换目的信息。优选的,所述以太网交换芯片关闭自动学习功能。优选的,所述板卡为业务板卡。本发明的有益效果是,利用普通以太网交换芯片进行板卡间数据交换用,无需附 加专门的交换信息字段,利用标准以太头中的现有字段就可以携带交换信息,极大地提高 交换效率,降低成本。


图1是分布式系统中板卡与以太网交换芯片互联的结构示意图。图2是本发明板卡间数据交换的流程图。图3是本发明的系统初始化流程图。
具体实施例方式下面结合附图对本发明作进一步的详细说明。
如图2所示,本发明实现分布式系统中板卡间数据交换的方法,包括步骤201,系统进行初始化,根据系统中所支持的板卡数量以及板卡间进行通信的 组合,生成虚拟局域网(VLAN)对应关系表写入到交换板的以太网交换芯片中。同时,每张 参与板卡间通信的板卡也将保存与本板卡相关的VLAN对应关系表。系统还要配置各虚拟 局域网。如图2所示为本发明的系统初始化流程图。交换板内的以太网交换芯片上的每个 端口分别与系统中板卡相连。板卡之间的数据交换实际上就表现为交换板内以太网交换芯 片上的相应端口之间的交换。根据板卡间进行通信的可能性,即进行单播、组播或者多播 通信的可能性,把各板卡之对应以太网交换交换芯片的各对应端口进行组合,当系统中有η 个板卡时,则板卡间通信的组合数为;为以上每个组合分配一个虚拟局域网号即 VLAN号,最后将以上生成的VLAN对应关系表写入交换板中的以太网交换芯片中。同时,每 张参与板间通信的板卡也将保存与本板卡相关的这种VLAN对应关系表。步骤202,当某板卡欲向其它板卡发送数据包,查找对应的VLAN关系表。本步骤 中,源板卡首先确定数据交换的通信方式是单播还是组播。如果采用单播的方式进行通信, 则通过目的板卡号在保存的VLAN对应关系表中查找对应的VLAN号;如果是采用组播的 方式进行通信,则根据组播路由表中对应组播成员所在的板卡号,或者根据组播路由表和 VLAN关系表中建立的对应组播号,在保存的VLAN对于关系表中查找对应的VLAN号。步骤203,源板卡在用户数据包上封装一个18字节的以太网帧头部,在以太网帧 头部中各字段信息设置完成后,发送该封装后的以太网帧到交换板。根据ΙΕΕΕ802. 1Q,待交换数据的标准以太网帧格式见表1,其中以太网帧头部的 长度为18字节,包括6字节的源MAC地址字段,6字节的目的MAC地址字段,4字节的虚拟 局域网标签域(VLAN TAG)字段,2字节的类型字段。表 1 以太网帧头部中4字节的VLAN TAG字段的标准组成字段见表2。将步骤202中 从与目的板卡匹配的虚拟局域网对应关系表中得到的VLAN号填入VLAN ID字段,根据根 据源板卡对该数据包的处理(流分类、QoS策略等)得到3位的交换板处理优先级号填入 Priority 字段。表 2 本实施例中,只需增加一个以太网帧头部,不再需要增加除以太网帧头部外的额 外字段就可以携带交换板需要的交换目的信息和目的板卡需要的源板卡工作结果信息。本 发明利用以太网帧头部字段,把需携带的交换目的信息和源板卡操作结果存入以上标准以太网帧头部中的源MAC地址、目MAC地址和类型等字段,即将这些字段根据实际需求由用户 重新定义。注意在使用自动检测源MAC地址的合法性的以太网交换芯片时,需要注意避免 将MAC字段定义为广播和组播地址。源板卡一般需要携带的交互目的信息如本板卡的流 量通告信息以及控制目的板卡对该数据包执行何种操作的信息。源板卡处理该数据包的操 作结果信息如流标识、QoS标识、源目板卡号(组播时仅有源卡号)、源目通道号、ACL表结 果、NAT表结果、路由表结果、流控信息等。源板卡正确填写以太网帧头部中的VLAN ID字 段和需要交换板进行优先级队列处理的Priority (优先级)号。本发明中,VLAN TAG字段 由交换板的以太网交换芯片识别和处理,交换板仅需要根据以太网帧头部中的VLAN ID和 优先级信息(共4字节)就能够正确完成具有优先级功能的交换动作。步骤204,交换板接收到该板间交换的以太网帧后,由于以太网交换芯片查找MAC 地址失败,将以太网帧在VLAN内进行广播。
本步骤中,交换板上的以太网交换芯片接收到该板间交换的以太网帧后,从帧头 部中取出V LAN ID、优先级号、源目MAC地址等信息,然后以太网交换芯片根据目的MAC地址 查找芯片内的MAC地址表,由于MAC地址已由用户自定义为需要携带的其它信息,所以查找 结果总是失败;而且为了避免自定义的目的MAC地址与系统中某个MAC地址冲突,建议以太 网交换芯片关闭自动学习功能,此时该MAC地址表为空,所以查找结果肯定是失败;查找失 败后以太网交换芯片自动在该VLAN内广播该数据。本发明利用交换芯片的一个查找失败 后将该帧在VLAN内广播的功能特性,来达到正确发送该帧到目的地的目的。由于本发明已 经预先分配了 VLAN,在单播情况下,只有连接目的板卡的交换芯片端口和连接源板卡的交 换芯片端口属于同一 VLAN中,在组播和广播情况下,只有相同的组播组成员属于同一 VLAN 中,于是当该以太网帧在VLAN中广播时,处于同一 VLAN中的目的板卡就能够接收,所以不 管是一对一的单播还是一对多的多播数据,都能保证目的板卡正确的接收到交换数据。步骤205,目的板卡接收到交换板发送来的交换以太网帧后,从以太网帧头部中的 源MAC地址、目的MAC地址和类型字段中携带的自定义的信息,获得源板卡已处理的结果, 在此结果基础上,继续进行本板的处理,替换链路头、QoS队列处理、更新相关控制表,通过 正确的出端口发送该更新了头部信息后的数据包。实施例以4个板卡的系统为例板卡间单播和组播通信的组合数为Z4-Ctl4-C14 = 16-1-4 =11个,可生成的VLAN对应关系表如下VLANl = {板卡1对应端口号、板卡2对应端口号},VLAN2 = {板卡1对应端口号、板卡3对应端口号},VLAN3 = {板卡1对应端口号、板卡4对应端口号},VLAN4 = {板卡2对应端口号,板卡3对应端口号},VLAN5 = {板卡2对应端口号,板卡4对应端口号},VLAN6 = {板卡3对应端口号,板卡4对应端口号}。VLAN7 = {板卡1对应端口号、板卡2对应端口号、板卡3对应端口号}VLAN8 = {板卡1对应端口号、板卡2对应端口号、板卡4对应端口号}
VLAN9 = {板卡1对应端口号、板卡3对应端口号、板卡4对应端口号}
VLANlO = {板卡2对应端口号、板卡3对应端口号、板卡4对应端口号}
VLANl 1 = {板卡1对应端口号、板卡2对应端口号、板卡3对应端口号、板卡4对 应端口号}将以上VLAN对应关系表写入到交换板的以太网交换芯片中,而且所有相关板卡 在保存和本板卡相关的VLAN对应关系表,如板卡1需要保存VLAN1-VLAN3、VLAN7-VLAN9、 VLANll等对应关系表项;系统进行VLAN配置。当板卡1作为源板卡需要发送数据到板卡2 (作为目的板卡)进行点对点的单播 通信时,板卡1从所保存的VLAN对应关系表中查找到VLAN号是VLANl,于是板卡1在待发 送数据包的头上添加一个包括VLAN ID是VLANl的以太网帧头部,将本板卡的操作结果得 到的数据流的优先级(可能是16位,共65535级)转换成为交换板优先级(3位,共7级), 并在其它字段源MAC地址和或目MAC地址和或类型等字段填写相关信息如源板卡号、通道 号、流标识、查表结果等,然后把它发送到交换板。交换板通过目的MAC地址查找失败后,向 VLAN中广播的方式,把该帧发送到目的板卡。该VLANl中只由两个成员,板卡1和板卡2, 由于该包来自板卡1,所以就只向板卡2转发了。目的板卡2接收到该以太网帧,在板卡1 处理结 果的基础上执行后续操作。对于1对多的组播通信情况也与单播操作类似。如板卡1向板卡2和板卡3发送 数据,则板卡1从所纪录的VLAN对应关系表中查找匹配的VLAN号,此时应为VLAN7。源板 卡板卡1在数据包的头上添加一个包括VLAN-ID是VLAN7的以太网帧头部,转换(映射) 从处理结果得到的流的优先级(可能是16位,共65535级)成为交换板优先级(3位,共7 级),并在其它字段(如源MAC、目MAC、类型等字段)填写相关信息如源板卡号、通道号、流 标识、查表结果等,然后把它发送到交换板。交换板通过目的MAC地址查找失败后,向VLAN 中广播的方式,把该帧发送到目的板卡。由于VLAN7中有三个成员,板卡1、板卡2和板卡 3,由于该包来自板卡1,所以就把该帧向板卡2和板卡3转发了。从而目的板卡板卡2和板 卡3都能接收到该数据帧并执行后续操作。本发明为有效利用以太网帧头部字段,可把需携带的源目板卡号、通道号、QoS等 信息存入标准以太网帧头部中的MAC字段中,同时利用交换机的VLAN特性,预先为板卡间 可能的通信组合分配vlan号,在数据交换时,交换机芯片利用MAC地址查找失败后将在 VLAN内广播的特性完成正确的交换。这样,交换板仅用4个字节就能够完成数据交换,而且 还具有优先级功能,无需附加专门的交换信息字段,利用标准以太头中的现有字段就可以 携带这些交换信息,减小了开销,极大地提高交换效率。
权利要求
分布式系统中板卡间数据交换的方法,其特征在于,包括如下步骤a、系统初始化,配置系统中板卡间通信的所有组合,并为每个组合分配一个虚拟局域网号,生成虚拟局域网对应关系表;b、将以上虚拟局域网对应关系表写入到交换板的以太网交换芯片中,且各板卡中分别保存本板卡相关的虚拟局域网对应关系表,最后配置各虚拟局域网;c、板卡间进行数据交换时,发送数据的源板卡为数据包添加以太网帧头部封装得到以太网帧,发送封装后的以太网帧到交换板;d、交换板的以太网交换芯片接收到所述以太网帧后,由于根据目的MAC地址查找MAC地址表失败,将所述以太网帧在虚拟局域网内广播。
2.如权利要求1所述分布式系统中板卡间数据交换的方法,其特征在于,所述板卡间 通信的所有组合是指板卡与以太网交换芯片相连接的端口的所有组合。
3.如权利要求1所述分布式系统中板卡间数据交换的方法,其特征在于,所述步骤c中 添加的以太网帧头部中,源MAC地址字段和或目MAC地址字段和或类型字段中为自定义信 肩、o
4.如权利要求1所述分布式系统中板卡间数据交换的方法,其特征在于,所述步骤c中 添加的以太网帧头部中,虚拟局域网标签域中虚拟局域网号从和查找目的匹配的虚拟局域 网对应关系表项中得到。
5.如权利要求1所述分布式系统中板卡间数据交换的方法,其特征在于,所述添加的 以太网帧头部中,虚拟局域网标签域中的优先级字段根据源板卡对待发送数据包处理QoS 策略中的优先级映射得到。
6.如权利要求1所述分布式系统中板卡间数据交换的方法,其特征在于,当系统可支 持的最大板卡数为n时,交换机芯片需要分配的VLAN数为2"-(^-(\。
7.如权利要求1或3所述分布式系统中板卡间数据交换的方法,其特征在于,所述步骤 c中自定义的信息为当前板卡对数据包的操作结果信息。
8.如权利要求1或3所述分布式系统中板卡间数据交换的方法,其特征在于,所述步骤 c中自定义的信息为需要发送给目的板卡的交换目的信息。
9.如权利要求1-8任一项所述分布式系统中板卡间数据交换的方法,其特征在于,所 述以太网交换芯片关闭自动学习功能。
10.如权利要求9所述分布式系统中板卡间数据交换的方法,其特征在于,所述板卡为 业务板卡。
全文摘要
本发明公开了一种分布式系统中板卡间数据交换的方法,包括如下步骤系统初始化,配置系统中板卡间通信的所有组合,并为每个组合分配一个虚拟局域网号,生成虚拟局域网对应关系表;将以上虚拟局域网对应关系表写入到交换板的以太网交换芯片中,以及各板卡中分别保存本板卡相关的虚拟局域网对应关系表,最后配置各虚拟局域网;板卡间进行数据交换时,发送数据的源板卡为数据包添加以太网帧头部封装得到以太网帧,发送封装后的以太网帧;交换板的以太网交换芯片接收到所述以太网帧后,将所述以太网帧在虚拟局域网内广播。本发明利用普通以太网交换芯片进行板卡间数据交换用,无需附加专门的交换信息字段,利用标准以太网头中的现有字段就可以携带交换信息,极大地提高交换效率,降低成本。
文档编号H04L12/56GK101867520SQ20101019929
公开日2010年10月20日 申请日期2010年6月12日 优先权日2010年6月12日
发明者陈一山 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1