网络数据包大小与传输速度
网络数据包大小与传输速度
再UDP中有用,在TCP中几乎无用。
比如说以太网中的MTU为1500,在UDP中发送一个包的有效数据为10个字节,那么一个包中要有20个字节的IP头,8个字节的UDP头,那么网络发送的有效数据比率为10/(20+8+10),如果发送1500-20-8个字节的有效数据,那么网络发送的有效数据比率为(1500-20-8)/1500,效率那个高一看便知,不过如果发的数据大与1478个字节(有效数据+IP头+UDP头>MTU)的情况下,会分为多个包,那么效率又会变化。
而,TCP中运行send函数,只将数据放入发送缓存中,当你执行多个send函数,可能这些数据都存放在发送缓存中,而真正发送时系统会自动取一定量的数据:当发送缓存中的数据小与MSS(MSS= MTU-TCP头-IP头)时,取出所有数据组成一个IP包,大与MSS时,取出MSS个数据组成IP包。
一般设备的接口的MTU值是1500,这个值指的是IP层的报文长度,当这个报文承载在以太网帧上的时候,加上以太网帧的18个字节,整个以太网帧的长度是1518。当这个以太网帧被打上VLAN信息的时候,整个二层报文的长度就会变为1522个字节。
<br> 当我们在ping 1468的时候,1468是IP层的净负荷,加上20个字节的IP报文头和8个字节的ICMP报文头,整个IP报文长度为1496个字节,再加上18字节的以太网帧封装和4个字节的VLAN信息,整个以太网帧长度就是1518的字节了。
上一篇: 2016年将是无人机时代的黎明
下一篇: iOS逆向之一--第一个tweak工程