TCP報文的最大負載和報文的最小長度
MTU:最大傳輸單元,以太網的MTU為1500Bytes
MSS:最大分解大小,為每次TCP數據包每次傳輸的最大數據的分段大小,由發送端通知接收端,發送大於MTU就會被分片。
MSS默認最小為536B,最小的MTU576B,MSS = MTU - IP頭(20B)- TCP頭(20B)
TCP最小數據長度為1460Bytes
以太網的最大數據幀是1518Bytes
以太網的幀頭148Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B
幀尾校驗4Bytes
數據域只剩:1518-14-4 = 1500Bytes
TCP數據包大小 1500 - IP頭(20B)- TCP頭(20B) = 1460B 這也是最大的MSS
(UDP數據包 1500 - IP頭(20B) - UDP頭(8B) = 1472B)
TCP最大負載65535-40B
TCP報文段的最大負載為65495字節,因為每個數據段必須適合IP的載荷能力,不能超過65535字節,IP頭20B,TCP包頭20B,
故最大負載為65535- 20-20=65495B
ack字段大小為84B
前導碼 8 + 目的MAC 6 + 源MAC 6 + 類型 2 + IP首部 20 + TCP首部 20 + 用戶數據 0 + 填充字符 6 + CRC 4 + 分組間隙 12 = 84B
TCP:64B
以太網幀首部 14B:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B
以太網幀尾部 4B
IP 20B
TCP 20B (UDP 8B)
填充 6B (UDP填充 18B)
一共58B,不夠64B ,填充6B。
TCP最小長度
是默認的MSS產生536B,還是ACK的長度84B,還是TCP總長(加IP,MAC)的64B