首页> 中国专利> 交换机数据包缓冲区容量的测试方法及装置

交换机数据包缓冲区容量的测试方法及装置

摘要

本发明揭示了一种交换机数据包缓冲区容量的测试方法及装置,其通过配置交换机转发关系,使第一端口及第二端口均向第三端口转发数据包,且先由第一端口转发能占满整个带宽的数据包,第二端口在发送一个突发流量,此时突发流量的数据包送入数据包缓冲区内,停止第一端口发送数据包,使得数据包缓冲区内的数据包从第三端口转发出来,通过统计第一端口的发送数量及第三端口的接受数量,计算出数据包缓冲区的容量值。本发明能够精确测出三层交换机数据包缓冲区的容量值,从而可以通过测试得到不同厂商的以太网三层交换机的数据包缓冲区的大小。

著录项

  • 公开/公告号CN102970182A

    专利类型发明专利

  • 公开/公告日2013-03-13

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN201210448384.4

  • 发明设计人 任钰彬;方沛昱;

    申请日2012-11-12

  • 分类号H04L12/26(20060101);H04L12/937(20130101);

  • 代理机构苏州慧通知识产权代理事务所(普通合伙);

  • 代理人安纪平

  • 地址 215021 江苏省苏州市工业园区星汉街5号(腾飞工业坊)B幢4楼13/16单元

  • 入库时间 2024-02-19 17:47:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-27

    授权

    授权

  • 2013-04-10

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20121112

    实质审查的生效

  • 2013-03-13

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术领域,尤其涉及网络中转发数据包的三层交 换机数据包缓冲区容量的测试方法及装置。

背景技术

现今社会的网络已高度发达,每时每刻都有大量的数据报文在网络上 传输,而承载这些网络流量的载体,就是三层交换机和路由器。尤其是在 汇聚层和骨干层,一台三层交换机每秒的吞吐量要达到上百Gbps,这是一 个非常庞大的数据量,要完成这么大数据量的转发并保证较低的延迟以及 尽可能的较少错包,需要交换机的ASIC有相应的转发能力。目前交换机 转发一般有如下3种方式:

1)直通式(Cut Through)

直通方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩 阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获 取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入 与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于不 需要存储,延迟非常小、交换非常快,这是它的优点。它的缺点是,因为 数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据 包是否有误,不能提供错误检测能力。由于没有缓存,不能将具有不同速 率的输入/输出端口直接接通,而且容易丢包。

2)存储转发(Store&Forward)

存储转发方式是计算机网络领域应用最为广泛的方式。它把输入端口 的数据包检查,在对错误包处理后才取出数据包的目的地址,通过查找表 转换成输出端口送出包。正因如此,存储转发方式在数据处理时延时大, 这是它的不足,但是它可以对进入交换机的数据包进行错误检测,有效地 改善网络性能。尤其重要的是它可以支持不同速度的端口间的转换,保持 高速端口与低速端口间的协同工作。

3)碎片隔离(Fragment Free)

这是介于前两者之间的一种解决方案。它检查数据包的长度是否够64 个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节, 则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发 方式快,但比直通式慢。

以上三种转发方式中存储转发方式成为交换机领域应用最广泛的方 式,然而使用该方式带来的一个显著问题就是报文转发的性能问题,其中 影响交换机转发性能的一个重要因素,就是交换机数据包缓冲区(Packet Buffer)的大小。更大的数据包缓冲区意味着同一时间能存储更多的报文, 允许网络有更大的流量突发。但是对于以太网交换机系统测试来说,交换 机数据包缓冲区的大小却非常难以测试,这是由于数据包缓冲区并非在交 换机每个接口平均分配的,而是可以根据不同接口流量大小进行自动调整, 而且报文在进入数据包缓冲区的同时在往外做转发,所以很难得到一个准 确的大小。

发明内容

本发明克服背景技术的缺陷,本发明提出了一种交换机数据包缓冲区 容量的测试方法及装置,合理的测出交换机数据包缓冲区的大小,得到相 对准确的值。

为实现上述目的,本发明提出如下技术方案:一种交换机数据包缓冲 区容量的测试方法,包括如下步骤:

选取交换机中三个端口并配置其转发关系,使第一端口和第二端口均 向第三端口转发数据包,且三个端口的带宽一致;

在交换机的三个端口上连接测试仪,其中第一端口和第二端口连接测 试仪的发送端口,用于发送模拟网络流量的数据包,第三端口连接测试仪 接收端口,用于接收转发的数据包;

所述测试仪以占用所述带宽的速率向所述第一端口发送数据包并由第 三端口转发;

所述测试仪向所述第二端口发送一个突发流量,此突发流量中的数据 包被缓存到交换机数据包缓冲区中;

测试仪停止向第一端口发送数据包,第三端口开始转发数据包缓冲区 中的数据包;

根据所述测试仪接收到的第三端口转发的数据包个数,以及所述测试 仪向第一端口发送的数据包个数,计算出数据包缓冲区的容量大小

所述突发流量的数据包大小要能占满交换机的数据包缓冲区,且多出 的数据包会自动丢弃。

所述突发流量中单个数据包的大小不超过以太网的MTU值。

所述测试仪要在交换机数据包缓冲区被占满后才停止向第一端口发送 数据包。

所述数据包缓冲区的容量大小为:

C=(pkt_receive-pkt_transmit)*X*8bit

其中:C表示数据包缓冲区的容量,pkt_receive表示第三端口接收到 的数据包个数,pkt_transmit表示第一端口发送的数据包个数,X表示第二 端口发送的单个数据包的大小。

所述数据包缓冲区是以Cell为单元的存储,在ASIC中数据包缓冲区 被划分成数个Cell,且一个Cell最多容纳一个数据包,当数据包的大小超 过一个Cell时,数据包就会占用多个Cell。

本发明还揭示了一种交换机数据包缓冲区容量的测试装置,包括交换 机的第一端口,第二端口,第三端口及数据包缓冲区,所述数据包缓冲区 与第一端口,第二端口及第三端口连接;另外,所述第一端口,第二端口 及第三端口均连接测试仪,其中所述第一端口及第二端口连接所述测试仪 的发送端口,用于发送模拟网络流量的数据包,所述第三端口连接所述测 试仪的接收端口,用于接收转发的数据包。

所述第一端口及第二端口均向所述第三端口转发数据包,且三个端口 的带宽一致。

所述第三端口的带宽被第一端口发送的数据包占满时,第二端口发送 的数据包被存入数据包缓冲区中,直到第一端口停止发送数据包,存在数 据包缓冲区中的数据包才能从第三端口转发出来。

所述交换机的数据包缓冲区是根据所述测试仪接收到的第三端口转发 的数据包个数,向所述第一端口发送的数据包个数以及向第二端口发送的 单个数据包大小计算得到的。

与现有技术相比,本发明提出的交换机数据包缓冲区容量的测试方法 及装置的有益效果为:此方案为一种通用的测试方法,可以对不同厂商的 以太网三层交换机的数据包缓冲区进行测试,得到一个准确值,为网络运 营商比较厂商交换机转发性能提供了一个完善的测试方法。

附图说明

图1是本发明测试方法的示意图;

图2是本发明测试装置的示意图;

图3是本发明中数据包缓冲区存储方式的示意图。

具体实施方式

下面将结合本发明的附图,对本发明优选实施例中的技术方案进行清 楚、完整的描述。

如图1所示,本发明所揭示的数据包缓冲区容量的测试方法是,在交 换机的所有端口中,选择其中三个作为测试端口,分别定义这三个端口为 第一端口Port1,第二端口Port2及第三端口Port3,且三个端口的带宽均设 定为1Gbps,三个端口的转发关系为Port1和Port2均向Port3转发数据包。

测试前,将三个端口均连接测试仪,其中Port1和Port2连接测试仪的 发送端口,用于发送模拟网络流量的数据包,Port3连接测试仪的接收端口, 用于记录转发的数据包。

然后,使用测试仪以1G的速率向交换机的Port1发送数据包,再以1G 的速率从Port3转发出来,此时Port3接口的带宽被全部占用;再使用测试 仪向交换机Port2发送一个10M的突发流量,即1秒发送10M的数据包, 并确保此突发流量的数据包大小能够占满数据包缓冲区,所述突发流量中 的每个数据包大小为1500Byte。

由于Port3的带宽全部被Port1所转发的数据流占用,Port2发送过来 的数据包将会被缓存到数据包缓冲区中,一旦数据包缓冲区被占满,多余 的数据包就会被丢弃;此时停止Port1端口的测试仪发送数据包,Port3的 带宽得到空余,原先被缓存在数据包缓冲区中的数据包就会从Port3中转发 出来,等到所有数据包均转发完成后,统计Port1端口的进包数pkt_transmit 和Port3端口的出包数pkt_receive,计算得出数据包缓冲区的容量大小,所 述数据包缓冲区的计算公式为:

数据包缓冲区=(pkt_receive-pkt_transmit)*1500Byte*8bit

如图2所示,本发明所揭示的数据包缓冲区容量测试装置,其包括交 换机第一端口1,第二端口2,第三端口3及数据包缓冲区4,所述数据包 缓冲区4与第一端口2,第二端口3及第三端口4连接;另外,所述第一 端口1,第二端口2及第三端口3连有测试仪5,其中所述第一端口1及第 二端口2连接所述测试仪5的发送端口,用于发送模拟网络流量的数据包, 所述第三端口3连接所述测试仪5的接收端口,用于接收转发的数据包。

更进一步,所述第一端口1和所述第二端口2为数据包送入交换机的 端口,所述第三端口3为数据包转发出交换机的端口,所述数据包缓冲区 4为交换机缓冲区,与三个端口共同连接,可以作为三个端口的共同缓冲 区,但是在本实施例中只有第三端口3作为转发端口,故而数据包缓冲区 4只作为第三端口3的缓冲区。

设定三个端口的带宽一致,所述第三端口3的带宽被第一端口1发送 的数据包占满时,第二端口2发送的数据包被存入数据包缓冲区4中,直 到第一端口1停止发送数据包,存在数据包缓冲区中的数据包才能从第三 端口3转发出来。

在数据包缓冲区中数据包是以Cell为单位进行存储,因此在ASIC中 会人为把数据包缓冲区划分成整数个Cell,一个Cell最多能容纳1个数据 包,如果数据包的大小超过单个Cell的大小,则会占用多个Cell。

如图3所示,整个数据包缓冲区的大小为1MByte,而Cell的大小为 256Byte,那么数据包缓冲区总共可以划分成4096个Cell:

(1MByte*1024KByte*1024Byte)/265Byte=4096Cells

每个Cell最多容纳一个小于265Byte的数据包,如果数据包大于 265Byte,那么要占用多个Cell。如数据包大小为640Byte,那么理论上要 占用640/256=2.5个Cell,但由于每个Cell最多只能装一个数据包,所以实 际需要占用3个Cell。

故而针对上述现象得知,数据包越小,对数据包缓冲区的浪费也越严 重,相反,数据包越大,对数据包缓冲区利用率越高,所以我们在测试时 需要选用不超过MTU(Max Transmit Unit,最大传输单元)的大数据包进行 测试,以尽可能减少浪费,在以太网中的MTU值为1500Byte。

本发明的测试方法为一种通用的测试方法,可以对不同厂商的以太网 三层交换机的数据包缓冲区进行测试,并得到一个实际误差低于10%的准 确结果,为网络运营商比较各厂商交换机转发性能提供了一个完善的测试 方法。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人 员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修 饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种 不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号