TCP头部有一个头部长度字段,而UDP头部没有,这是为什么?这个问题是否合理?

3
我的问题与在Stack Overflow上提出的问题相反:InverseQuestion。但我认为我从那里得不到一个明确的答案。我的问题是在我刚刚参加的期中考试中提出的,分值很高。我认为这不是一个合法的问题,因为UDP头确实有一个长度字段(涉及头和数据),如我嵌入的截图所示。我可以列出数十个类似的图表和解释。但老师只是标记为错误,没有解释。自那以后我们一直在争论,我无法得到一个简单易懂的答案,为什么每个互联网上的UDP头图都显示一个长度字段,如果没有长度怎么办?能否有人用简单的英语帮我理解一下?我是否误解了所有这些类似的图表?谢谢。UDP Diagram https://www.computernetworkingnotes.com/ccna-study-guide/segmentation-explained-with-tcp-and-udp-header.html https://www.lifewire.com/tcp-headers-and-udp-headers-explained-817970

1
你正在混淆“报头长度”和“长度”。UDP报头长度固定为8个字节,因此不需要成为数据包的一部分。TCP/IP报头长度是可变的,因此需要成为数据包的一部分。 - undefined
1个回答

2
TCP头部有一个头部长度字段而UDP头部没有,这可能是一个合理的问题。
- UDP头部包含头部+数据长度 - TCP头部包含32位DWORD中的头部长度 - IP头部包含IP数据包的总长度
重要提示:
- UDP头部固定为8个字节,对于常量来说,使头部变大没有意义 - TCP头部可以因选项而变化
如果您想知道为什么UDP包括数据而TCP不包括,请查看每个RFC规范的草案。然而,可能没有任何原因,不要忘记这些协议已经定义了几十年了。

@RossJacobs他已经这样回答了这个问题:“可能是一个有效的问题”,并且他给出了理由,而且他们是正确的。请停止这样做。 - undefined
@user207421 当你删除评论时,你可能需要查看编辑历史记录的时间戳。当我看到回答时,它正在请求澄清。 - undefined
你不明白“头部长度”和“头部长度+数据长度”的区别吗?我无能为力。我回答了你提出的问题。 - undefined
不,Alexis_FR_JP,那不是我说的。我是在回应你的评论和@user207421的评论,他说我混淆了"header length (TCP)"和"length (UDP)",而我的观点是"length (UDP)"包括了头部和数据,所以我不明白它们怎么能是互斥的概念。据我所理解,这篇论文问题之所以被认为是有效的唯一原因是因为TCP 字面上将该字段称为"header length",而UDP 字面上只称其为"length"。当你看到UDP "length"中包含的内容时,这似乎是无关紧要的细微差别——一个头部长度! - undefined
你的问题是“[]是一个有效的问题吗”句号。 - undefined
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接