千兆以太网极限传输速度计算与分析

您所在的位置:网站首页 网线怎么测试传输速率 千兆以太网极限传输速度计算与分析

千兆以太网极限传输速度计算与分析

2024-07-08 10:59| 来源: 网络整理| 查看: 265

  众所周知,千兆以太网标识的传输速度是1.0 Gbps,那么在实际传输的过程中,能够达到的最大传输速度又是多少呢?这篇文章结合理论计算及实际测试告诉你答案。

计算器

  这里提供一个计算器来方便计算各网络情况下的速度:

预备知识 数据长度单位 计数单位: 比特:bit缩写b,表示1个二进制位,可以表示0或1 字节:Byte缩写B,表示8个二进制位,可以表示0~255 换算关系:1 Byte = 8 bit 内部换算关系: 字节(Byte) 比特(bit) 1024 Byte = 1 KByte 1000 bit = 1 Kbit 1024 KByte = 1 MByte 1000 Kbit = 1 Mbit 1024 MByte = 1 GByte 1000 Mbit = 1 Gbit 后文皆以B表示Byte,以b表示bit,务必注意区分 网络设备通常以bit作为单位,而操作系统中计算文件大小通常以Byte作为单位 数据传输速度单位 比特率:bps(bits per second),每秒传输比特数 波特率:baud,每秒传输码元数 计算过程 物理层

  我们在操作系统的许多地方都可以找到,千兆以太网标识的传输速度是1.0 Gbps,也就意味着在网线等传输媒介中每秒可以传输1 * 10^9个比特。换算成字节,并不能简单的除以8,因为Gb与GB并不是简单的8倍关系。

物理层数据实际传输速度: 1000 Mb 119.21 MB,计算公式:10^9 / 8 / 1024 / 1024 ≈ 119.21 数据链路层

  在数据链路层中,RFC894规定,以太网MTU(最大传输单元)为1500B,也就是说一个以太网帧可以携带1500B的数据,加上帧头14B数据(不考虑4B的802.1Q标签),帧尾校验码4B数据,帧前导码8B(7B前导码+1B帧开始界定符),帧间间隔12B,传输一个帧实际上要消耗1538B带宽。

数据链路层数据实际传输速度: 975.29 Mb,计算公式:1000 / 1538 * 1500 ≈ 975.29 116.26 MB,计算公式:119.21 / 1538 * 1500 ≈ 116.26 网络层

  如今网络层绝大多数网络设备都使用IP协议,其中IPv4首部固定长度20B,可选部分最大40B(这里不讨论),IPv6首部固定长度40B,因此我们可以很容易得出网络层数据实际传输速度。

网络层数据实际传输速度: IPv4: 962.29 Mb,计算公式:1000 / 1538 * (1500 - 20) ≈ 962.29 114.71 MB,计算公式:119.21 / 1538 * (1500 - 20) ≈ 114.71 IPv6: 949.28 Mb,计算公式:1000 / 1538 * (1500 - 40) ≈ 949.28 113.16 MB,计算公式:119.21 / 1538 * (1500 - 40) ≈ 113.16 传输层

  在传输层有面向连接的TCP协议,其中首部固定长度20B,这里不考虑附加字段;面向无连接的UDP协议,其中首部固定长度8B。

传输层数据实际传输速度: TCP via IPv4: 949.28 Mb,计算公式:1000 / 1538 * (1500 - 20 - 20) ≈ 949.28 113.16 MB,计算公式:119.21 / 1538 * (1500 - 20 - 20) ≈ 113.16 UDP via IPv4: 957.08 Mb,计算公式:1000 / 1538 * (1500 - 20 - 8) ≈ 957.08 114.09 MB,计算公式:119.21 / 1538 * (1500 - 20 - 8) ≈ 114.09 TCP via IPv6: 936.28 Mb,计算公式:1000 / 1538 * (1500 - 40 - 20) ≈ 936.28 111.61 MB,计算公式:119.21 / 1538 * (1500 - 40 - 20) ≈ 111.61 UDP via IPv6: 944.08 Mb,计算公式:1000 / 1538 * (1500 - 40 - 8) ≈ 944.08 112.54 MB,计算公式:119.21 / 1538 * (1500 - 40 - 8) ≈ 112.54 实验与测试

  实验使用iPerf3工具测试链路带宽,使用CAT-5e双绞线将2台PC连接至同个交换机,分别以网络层IPv4、IPv6协议,传输层TCP、UDP协议组合,共计4组测试,其中测试UDP协议时,使用-b 1000M参数,指定传输带宽为1.0 Gbps。

TCP via IPv4理论传输速度:949.28Mb/113.16MB,实际测试结果: UDP via IPv4理论传输速度:957.08Mb/114.09MB,实际测试结果: TCP via IPv6理论传输速度:936.28Mb/111.61MB,实际测试结果: UDP via IPv6理论传输速度:944.08Mb/112.54MB,实际测试结果: 结论与展望 数据链路层 以太网帧 巨型帧* 网络层 IPv4 IPv6 IPv4 IPv6 传输层 TCP UDP TCP UDP TCP UDP TCP UDP Ethernet* 1.13MB/s 1.14MB/s 1.12MB/s 1.13MB/s 1.18MB/s 1.18MB/s 1.18MB/s 1.18MB/s Fast Ethernet* 11.32MB/s 11.41MB/s 11.16MB/s 11.25MB/s 11.82MB/s 11.83MB/s 11.79MB/s 11.81MB/s Gigabit Ethernet 113.16MB/s 114.09MB/s 111.61MB/s 112.54MB/s 118.18MB/s 118.34MB/s 117.92MB/s 118.07MB/s

注:*表示尚未进行实际测试

  经过测试,理论计算与实验结果完全相同,因此我们可以认为:在一般情况下,所有网络设备均达到千兆标准,且没有发生网络拥塞时,数据实际传输速度约为113MB每秒,此为使用TCP协议在IPv4网络下的结果,大部分网络协议在千兆网络下,例如Samba、rsync、iSCSI等,可以视此结果为极限最大值。基于UDP的其他协议或使用IPv6网络时,可以参考上表的结论;其他速率的网络,可以参考上文的计算方法。实际使用时,由于网络设备可能存在缺陷、发生网络拥塞、发生以太网碰撞,IP协议/TCP协议头部存在其他可选字段等情况,以及应用层协议存在的开销,实际传输速率会存在波动,可能达不到理论最大值。  不难看出,若要提高极限传输速度,那么必须减少网络协议首部的开销,提高数据传输的有效率,即有效数据大小 / 实际消耗的带宽。一个有效的解决方案便是使用巨型帧,可以使得数据链路层的MTU达到9000B,理论上传输速率可以提高到118.23MB每秒,但是由于网络设备的原因,未能测试巨型帧的情况,有待以后补充。

参考文献 What is the actual maximum throughput on Gigabit Ethernet? - CableFree Ethernet frame - Wikipedia IPv4 - Wikipedia IPv6 packet - Wikipedia Transmission Control Protocol - Wikipedia User Datagram Protocol - Wikipedia


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3