CN102970182A - 交换机数据包缓冲区容量的测试方法及装置 - Google Patents
交换机数据包缓冲区容量的测试方法及装置 Download PDFInfo
- Publication number
- CN102970182A CN102970182A CN2012104483844A CN201210448384A CN102970182A CN 102970182 A CN102970182 A CN 102970182A CN 2012104483844 A CN2012104483844 A CN 2012104483844A CN 201210448384 A CN201210448384 A CN 201210448384A CN 102970182 A CN102970182 A CN 102970182A
- Authority
- CN
- China
- Prior art keywords
- port
- packet
- data packet
- buffer
- data
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种交换机数据包缓冲区容量的测试方法及装置,其通过配置交换机转发关系,使第一端口及第二端口均向第三端口转发数据包,且先由第一端口转发能占满整个带宽的数据包,第二端口在发送一个突发流量,此时突发流量的数据包送入数据包缓冲区内,停止第一端口发送数据包,使得数据包缓冲区内的数据包从第三端口转发出来,通过统计第一端口的发送数量及第三端口的接受数量,计算出数据包缓冲区的容量值。本发明能够精确测出三层交换机数据包缓冲区的容量值,从而可以通过测试得到不同厂商的以太网三层交换机的数据包缓冲区的大小。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及网络中转发数据包的三层交换机数据包缓冲区容量的测试方法及装置。
背景技术
现今社会的网络已高度发达,每时每刻都有大量的数据报文在网络上传输,而承载这些网络流量的载体,就是三层交换机和路由器。尤其是在汇聚层和骨干层,一台三层交换机每秒的吞吐量要达到上百Gbps,这是一个非常庞大的数据量,要完成这么大数据量的转发并保证较低的延迟以及尽可能的较少错包,需要交换机的ASIC有相应的转发能力。目前交换机转发一般有如下3种方式:
1)直通式(Cut Through)
直通方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于不需要存储,延迟非常小、交换非常快,这是它的优点。它的缺点是,因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力。由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。
2)存储转发(Store&Forward)
存储转发方式是计算机网络领域应用最为广泛的方式。它把输入端口的数据包检查,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出包。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,有效地改善网络性能。尤其重要的是它可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。
3)碎片隔离(Fragment Free)
这是介于前两者之间的一种解决方案。它检查数据包的长度是否够64个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节,则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发方式快,但比直通式慢。
以上三种转发方式中存储转发方式成为交换机领域应用最广泛的方式,然而使用该方式带来的一个显著问题就是报文转发的性能问题,其中影响交换机转发性能的一个重要因素,就是交换机数据包缓冲区(PacketBuffer)的大小。更大的数据包缓冲区意味着同一时间能存储更多的报文,允许网络有更大的流量突发。但是对于以太网交换机系统测试来说,交换机数据包缓冲区的大小却非常难以测试,这是由于数据包缓冲区并非在交换机每个接口平均分配的,而是可以根据不同接口流量大小进行自动调整,而且报文在进入数据包缓冲区的同时在往外做转发,所以很难得到一个准确的大小。
发明内容
本发明克服背景技术的缺陷,本发明提出了一种交换机数据包缓冲区容量的测试方法及装置,合理的测出交换机数据包缓冲区的大小,得到相对准确的值。
为实现上述目的,本发明提出如下技术方案:一种交换机数据包缓冲区容量的测试方法,包括如下步骤:
选取交换机中三个端口并配置其转发关系,使第一端口和第二端口均向第三端口转发数据包,且三个端口的带宽一致;
在交换机的三个端口上连接测试仪,其中第一端口和第二端口连接测试仪的发送端口,用于发送模拟网络流量的数据包,第三端口连接测试仪接收端口,用于接收转发的数据包;
所述测试仪以占用所述带宽的速率向所述第一端口发送数据包并由第三端口转发;
所述测试仪向所述第二端口发送一个突发流量,此突发流量中的数据包被缓存到交换机数据包缓冲区中;
测试仪停止向第一端口发送数据包,第三端口开始转发数据包缓冲区中的数据包;
根据所述测试仪接收到的第三端口转发的数据包个数,以及所述测试仪向第一端口发送的数据包个数,计算出数据包缓冲区的容量大小
所述突发流量的数据包大小要能占满交换机的数据包缓冲区,且多出的数据包会自动丢弃。
所述突发流量中单个数据包的大小不超过以太网的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%的准确结果,为网络运营商比较各厂商交换机转发性能提供了一个完善的测试方法。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种交换机数据包缓冲区容量的测试方法,其特征在于包括:
选取交换机中三个端口并配置其转发关系,使第一端口和第二端口均向第三端口转发数据包,且三个端口的带宽一致;
在交换机的三个端口上连接测试仪,其中第一端口和第二端口连接测试仪的发送端口,用于发送模拟网络流量的数据包,第三端口连接测试仪的接收端口,用于接收转发的数据包;
所述测试仪以占用所述带宽的速率向所述第一端口发送数据包并由第三端口转发;
所述测试仪向所述第二端口发送一个突发流量,此突发流量中的数据包被缓存到交换机数据包缓冲区中;
测试仪停止向第一端口发送数据包,第三端口开始转发数据包缓冲区中的数据包;
根据所述测试仪接收到的第三端口转发的数据包个数,以及所述测试仪向第一端口发送的数据包个数,计算出数据包缓冲区的容量大小。
2.根据权利要求1所述的方法,其特征在于:所述突发流量的数据包大小要能占满交换机的数据包缓冲区,且多出的数据包会自动丢弃。
3.根据权利要求1所述的方法,其特征在于:所述突发流量中单个数据包的大小不超过以太网的MTU值。
4.根据权利要求1所述的方法,其特征在于:所述测试仪要在交换机数据包缓冲区被占满后才停止向所述第一端口发送数据包。
5.根据权利要求1所述的方法,其特征在于:所述数据包缓冲区的容量大小为:
C=(pkt_receive-pkt_transmit)*X*8bit
其中:C表示数据包缓冲区的容量,pkt_receive表示第三端口接收到的数据包个数,pkt_transmit表示第一端口发送的数据包个数,X表示第二
端口发送的单个数据包的大小。
6.根据权利要求1所述的方法,其特征在于:所述数据包缓冲区是以Cell为单元的存储,在ASIC中数据包缓冲区被划分成数个Cell,且一个Cell最多容纳一个数据包,当数据包的大小超过一个Cell时,数据包就会占用多个Cell。
7.一种交换机数据包缓冲区容量的测试装置,其特征在于包括:交换机的第一端口,第二端口,第三端口及数据包缓冲区,所述数据包缓冲区与第一端口,第二端口及第三端口连接;另外,所述第一端口,第二端口及第三端口均连接测试仪,其中所述第一端口及第二端口连接所述测试仪的发送端口,用于发送模拟网络流量的数据包,所述第三端口连接所述测试仪的接收端口,用于接收转发的数据包。
8.根据权利要求7所述的装置,其特征在于:所述第一端口及第二端口均向所述第三端口转发数据包,且三个端口的带宽一致。
9.根据权利要求7所述的装置,其特征在于:所述第三端口的带宽被第一端口发送的数据包占满时,第二端口发送的数据包被存入数据包缓冲区中,直到第一端口停止发送数据包,存在数据包缓冲区中的数据包才能从第三端口转发出来。
10.根据权利要求7至9任意一项所述的装置,其特征在于:所述交换机的数据包缓冲区是根据所述测试仪接收到的第三端口转发的数据包个数,向所述第一端口发送的数据包个数以及向第二端口发送的单个数据包大小计算得到的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210448384.4A CN102970182B (zh) | 2012-11-12 | 2012-11-12 | 交换机数据包缓冲区容量的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210448384.4A CN102970182B (zh) | 2012-11-12 | 2012-11-12 | 交换机数据包缓冲区容量的测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970182A true CN102970182A (zh) | 2013-03-13 |
CN102970182B CN102970182B (zh) | 2016-01-27 |
Family
ID=47800073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210448384.4A Active CN102970182B (zh) | 2012-11-12 | 2012-11-12 | 交换机数据包缓冲区容量的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970182B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579811A (zh) * | 2013-10-28 | 2015-04-29 | 上海斐讯数据通信技术有限公司 | 测试大容量交换机的方法 |
CN104917586A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 传输数据的校验方法、装置及系统 |
CN105933162A (zh) * | 2016-06-24 | 2016-09-07 | 西安电子科技大学 | 基于t型结构的低时延以太网转发器及方法 |
CN109587084A (zh) * | 2015-12-30 | 2019-04-05 | 华为技术有限公司 | 一种报文存储转发方法和电路及设备 |
CN111385166A (zh) * | 2020-02-21 | 2020-07-07 | 苏州浪潮智能科技有限公司 | 一种网络交换机测试方法、装置、设备及存储介质 |
CN115297070A (zh) * | 2022-07-15 | 2022-11-04 | 中国航空无线电电子研究所 | 一种多元数据激励的arinc664交换机缓存溢出测试方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924713A (zh) * | 2010-09-07 | 2010-12-22 | 北京航空航天大学 | 一种实时保证的交换式互连缓冲容量确定方法 |
US20110103245A1 (en) * | 2009-10-29 | 2011-05-05 | Kuo-Cheng Lu | Buffer space allocation method and related packet switch |
US8254399B1 (en) * | 2009-12-16 | 2012-08-28 | Integrated Device Technology, Inc. | Method and apparatus for adaptive buffer management for traffic optimization on switches |
-
2012
- 2012-11-12 CN CN201210448384.4A patent/CN102970182B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110103245A1 (en) * | 2009-10-29 | 2011-05-05 | Kuo-Cheng Lu | Buffer space allocation method and related packet switch |
US8254399B1 (en) * | 2009-12-16 | 2012-08-28 | Integrated Device Technology, Inc. | Method and apparatus for adaptive buffer management for traffic optimization on switches |
CN101924713A (zh) * | 2010-09-07 | 2010-12-22 | 北京航空航天大学 | 一种实时保证的交换式互连缓冲容量确定方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579811A (zh) * | 2013-10-28 | 2015-04-29 | 上海斐讯数据通信技术有限公司 | 测试大容量交换机的方法 |
CN104579811B (zh) * | 2013-10-28 | 2019-07-05 | 上海斐讯数据通信技术有限公司 | 测试大容量交换机的方法 |
CN104917586A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 传输数据的校验方法、装置及系统 |
CN104917586B (zh) * | 2014-03-11 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 传输数据的校验方法、装置及系统 |
CN109587084A (zh) * | 2015-12-30 | 2019-04-05 | 华为技术有限公司 | 一种报文存储转发方法和电路及设备 |
CN105933162A (zh) * | 2016-06-24 | 2016-09-07 | 西安电子科技大学 | 基于t型结构的低时延以太网转发器及方法 |
CN105933162B (zh) * | 2016-06-24 | 2019-07-16 | 西安电子科技大学 | 基于t型结构的低时延以太网转发器及方法 |
CN111385166A (zh) * | 2020-02-21 | 2020-07-07 | 苏州浪潮智能科技有限公司 | 一种网络交换机测试方法、装置、设备及存储介质 |
CN115297070A (zh) * | 2022-07-15 | 2022-11-04 | 中国航空无线电电子研究所 | 一种多元数据激励的arinc664交换机缓存溢出测试方法 |
CN115297070B (zh) * | 2022-07-15 | 2024-02-27 | 中国航空无线电电子研究所 | 一种多元数据激励的arinc664交换机缓存溢出测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102970182B (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970182B (zh) | 交换机数据包缓冲区容量的测试方法及装置 | |
CN106850465B (zh) | 一种Flex E数据交换方法及交换设备 | |
US9313115B2 (en) | Traffic generator with priority flow control | |
CN102263697B (zh) | 一种聚合链路流量分担方法和装置 | |
CN100473054C (zh) | 一种处理分组的网络设备及方法 | |
CN103236956B (zh) | 一种对通讯设备进行吞吐量测试的方法及交换机 | |
US20030012200A1 (en) | Methods and system for resequencing out of order data packets | |
US9203728B2 (en) | Metadata capture for testing TCP connections | |
RU2008105890A (ru) | Способ расширения физической области действия сети infiniband | |
CN104852855B (zh) | 拥塞控制方法、装置及设备 | |
CN105743760A (zh) | 一种流量切换方法和装置 | |
CN104135548A (zh) | 基于fpga的静态nat实现方法及装置 | |
CN101207571A (zh) | 转发报文的方法和设备 | |
CN102209034A (zh) | 一种二层路径最大传输单元发现方法和节点 | |
WO2020259112A1 (zh) | 一种检测传输时延的方法及相关设备 | |
CN106302209A (zh) | 一种片上网络NoC及数据传输的方法 | |
CN104580002B (zh) | 大流负载均衡转发方法及装置 | |
WO2012100679A1 (zh) | 一种服务质量QoS保持方法、装置及系统 | |
CN107454008A (zh) | 一种千兆万兆以太互通系统及方法 | |
CN105141538A (zh) | 一种跨网络堆叠系统及其对报文的处理方法 | |
CN101425960B (zh) | 实现负载均分的方法和设备 | |
CN104618057B (zh) | 一种分组传送网无损伤保护倒换方法及系统 | |
CN113438182A (zh) | 一种基于信用的流量控制系统和流量控制方法 | |
CN113765721B (zh) | 一种基于fpga的以太网远程配置装置 | |
CN101252526B (zh) | 流量控制方法以及vpws网络系统 |
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 | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215021 unit 13 / 16, floor 4, building B, No. 5, Xinghan street, industrial park, Suzhou, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |