gpt4 book ai didi

networking - 网络数据包中的哪些字段应该转换为网络字节序

转载 作者:可可西里 更新时间:2023-11-01 02:32:53 26 4
gpt4 key购买 nike

我知道主机和网络上的字节顺序可能不同但为什么字节顺序很重要?

我认为有两个原因:

1 路由器检查ip header(likeaddresses),路由器只识别big-endian order(network byte order)2 用于接收主机识别数据包的字节顺序。由于接收主机不知道发送主机的字节顺序,如果字节顺序不转换为网络字节顺序,则它不知道数据包字节顺序。

我说得对吗?

那么对于下面的字段,应该转换成字节序,为什么?

1 TCP/UDP Header options, like MSS, timestamps
2 TCP/UDP header checksum
3 TCP sequence number
4 UDP/TCP data fields

最佳答案

作为二进制数据(尤其不是 ASCII)发送/存储的每个长于单个字节的字段都需要具有明确定义的字节顺序。否则,正如您所指出的,接收方不知道如何解释发送方发送的内容。

您的具体问题的答案是#1、#2 和#3 需要按网络字节顺序排列。至于 UDP/TCP 负载(#4)中的字段,由您决定。建议使用网络字节顺序(大端),以与几乎所有其他协议(protocol)保持一致,但如果您正在定义协议(protocol),则可以根据需要选择小端。有些有。

关于networking - 网络数据包中的哪些字段应该转换为网络字节序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15526598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com