【路由器的MTU设置,为什么会对微信的图片发送有影响?】
路由器的MTU设置,为什么会对微信的图片发送有影响?
MTU(最大传输单元):定义了某种通信协议在某层传输最大数据包的大小。
以太网中MTU值一般设置为1500;
PPPOE拨号MTU值一般设置为1492(因PPPOE拨号时会自带8个字节的头部)。
数据包在转发过程中,若本机的MTU值比网关的MTU值大,那么数据包将会进行分片来传送,这样会产生很多数据包碎片,增加了丢包率,降低了网络传输效率;
若本机MTU值比网关MTU值小太多,数据包虽然不用分片就可以直接传输,但没有把网络传输效率发挥到最大,造成网络资源的浪费;
若本机MTU值等于或稍微小于网关MTU值,那么数据包可以直接进行传输,减少丢包率,并且可以将网络传输效率发挥到最大。
下面来解答此题:某些路由器MTU值默认为1500,而家用网络一般采用PPPOE上网模式,自带8个字节的头部,数据大小即为1508,比各个网关的MTU值大,因此会进行分包。在分成多个数据包碎片后,大大增加了丢包率,在微信服务器端会一直重传1500字节的数据包,然后被丢弃,就造成图片发送慢的现象了。
采用PPPOE拨号上网模式,建议把路由器MTU值改为1480。
欢迎在评论中探讨其它问题。