在TCP协议中,主机可以根据自身的需要决定TCP通信时是否携带option字段,来扩展TCP功能。option字段属于TCP首部的扩展部分,且是可选项,TCP根据首部中的offset字段值确定TCP报文是否携带option字段。
TCP首部固定的部分有20个字节,如果没有扩展部分(option字段),20个字节后面的部分就是TCP的payload。此时offset字段为5(4字节为单位),4 x 5 = 20,正好是TCP首部的长度。
如果有option字段,比如option MSS,长度为4字节。那么TCP首部的长度就是20 + 4 = 24,TCP payload必须排在option MSS的后面。此时offset字段值为6,4 x 6 = 24,正好是TCP首部的长度。
像option MSS字段,用来表示最大数据段长度,它的格式为:
其中02是type,04是length,05 B4是value。
如果在CAPL中组装一条T