TCP over IPv4的最小数据包大小是多少?
大家好,我非常坚持这个问题。
假设我想传输12KB的数据
并通过IPv4 TCP
我做了以下计算
20 Bytes for TCP Headers
4 Bytes for Source Address
4 Bytes for Destination Address
4 Bytes on Zeros, Protocol and TCP Length
2 Bytes on Checksum
12 Bytes on Data
但我尝试用我的朋友检查我的朋友结果,我们得到了不同的结果......
我在TCP上使用wikipedia上的例子,我只是假设
TCP标头是20Bytes 以及上面的计算(我使用粉红色的所有TCP Pseudo Header)。
在我的计算中我做错了什么。我朋友中的两个回答比我多6个字节
我的TCP标头是20个字节 IPV4是14个字节 数据是12字节
我们之间的唯一区别是我的fren IPv4是20个字节。在我的ipv4计算中,哪个字段做错了?
由于
答案 0 :(得分:2)
最小TCP标头大小为20个字节,最小IPv4标头大小为20个字节。因此,假设您实际上可以通过TCP发送0字节,那么包含0字节数据的TCP / IPv4数据包将至少为40个字节,您不能这样做。因此,最小值为41个字节。
答案 1 :(得分:2)
快速Google搜索会产生diagram of the TCP header。
您似乎缺少以下字段。
不确定您将哪个分类为“协议”等,但缺少的主要部分看起来像序列号。 TCP头的最小值应为20个字节。