网络带宽与传输性能的基本计算方法

    在进行网络应用的开发过程中,对网络带宽和传输性能的评估及测试是必不可少的。

    下面就以当前互联网中广泛使用的TCP/IP协议为例,介绍一下在1Gb的以太网环境中一些性能数据的计算方法。

    首先,看一下一个标准以太网帧的帧格式:


802.3 以太网帧结构

    前导码                                7个octet 

    帧开始符                             1个octet

    MAC 目标地址                    6 octets

    MAC 源地址                        6 octets

    802.1Q 标签 (可选)              (4 octets)

    以太类型或长度                    2 octets

    负载                                    46–1500 octets

    冗余校验                             4 octets

    帧间距                                12 octets

    (共计                                84(88) ~ 1538(1542)B)


    对于1Gb的以太网络来说(以不含802.1Q标签为例):

    原始带宽:                                1Gb / 8 = 125MB/s

    每秒可以传输的数据包数目 :    MAX:    125,000,000B / 84B = 1488095.238

                                                     MIN:    125,000,000B / 1538B = 81274.382 (不含巨帧时)

    TCP/IP报文头部长度:              ip_hdl + tcp_hdl + tcp_opl(timestamp) = 20B + 20B + 12B = 52B

    TCP协议的最大吞吐率:            81274 *  (1500-52)B = 117,684,752     ~     117MB/s    (base on 1000)

                                                                                                                  or    114MiB/s    (base on 1024)


    说明:这里的TCP协议最大吞吐率是根据TCP的payload部分长度来计算的,计算公式为:

    throughput = packet per second * payload per packet;

    其中,

    packet per second = 125,000,000B / (38B + 52B + payload per packet);

    payload per packet = 0 ~ 1500B - 52B;

    稍作转换后如下:

    throughput =(1 / (a+x))* x = 1 - a / (a+x);    x 代表 payload per packet;

    可以看出,随着x的增加,将会获得更好的吞吐率性能。





你可能感兴趣的:(网络带宽与传输性能的基本计算方法)