• kissingers
    2019-09-01
    老师,默认MTU不是1500吗?

    作者回复: 以太网是1500,其他网络并不是这样。第6部分有一节介绍IP层分片的课程有介绍

    
     2
  • 加载中……
    2019-09-28
    老师好,请教个问题:
    以下是我理解的:
    MTU:是指整个IP数据包(包含IP头和IP数据两部分)的最大值
    MSS: 是TCP数据部分(不包含TCP头)的最大值

    场景:
    比如在以太网下MTU是1500,握手协商出来的MSS是1460,如果TCP层把1460字节数据放到TCP数据部分,组装步骤如下
    步骤1、TCP报文=TCP头(20)+TCP数据(1460)=1480
    步骤2、IP报文=IP头(20)+TCP segement=1500
    这个是正好1500,没有问题。
    有另个疑问:
    因为TCP和IP的基本头部都是固定20字节,但TCP和IP都有扩展头部,所以会有大于20字节的时候
    1、在步骤1中:如果TCP还有扩展头部(4个字节)要发送,TCP头=20+4,TCP层是会把数据部分减去4字节保证最终segment大小是1480,还是会封装成1484的TCP包给IP层
    2、如果TCP包是1480,到IP层有扩展头部(总头部大于20字节),IP层就会分组后再传给数据链路层吧?
    展开

    作者回复: 理解没问题。避免IP分片是TCP的重要工作,TCP选项当然也是IP的负载,所以不能1484字节给IP层

    
    
我们在线,来聊聊吧