为什么将网络字节顺序定义为big-endian?[关闭]


88

如标题中所述,我的问题是,为什么TCP / IP在传输数据时使用大端编码,而不是替代的小端编码?


36
尽管该页面已被关闭,但该页面还是很有帮助的
Goaler444

Answers:


77

RFC1700声明必须是这样。(并将网络字节顺序定义为big-endian)。

Internet协议文档中的约定是用十进制表示数字,并以“大端”顺序显示图片数据[COHEN]。即,字段从左到右描述,最高有效字节在左侧,最低有效字节在右侧。

他们做的参考是

On Holy Wars and a Plea for Peace 
Cohen, D. 
Computer

可以在IEN-137此IEEE页面上找到摘要。


概要:

选择哪种方式并没有太大的区别。达成协议比达成协议更为重要。

结论是,大端和小端方案都是可能的。没有更好/更糟糕的方案,只要它在整个系统/协议中保持一致,就可以替代其中的一种方案。


RFC 3232似乎说“ RFC1700已过时”而未进行任何替换
MM

11
@Anirudh,这个“答案”避免了这个问题。的问题是要求为什么大尾端被选择,而不是替代(底层原因小号)。关于“选择哪种方式并不会造成太大的差异”,这是错误的,因为实际上,这很重要,这是因为简单的事实就是性能很重要(并且这样的标准已根植于网络通信的最底层)。
Pacerier '16

2
@Pacerier在性能方面没有任何区别,这是链接的论文详细讨论的内容。
阿尼鲁德·拉马纳森

1
@Anirudh,这可能会让您感兴趣:在wolfvision.com/wolf/commands_cynap_wolfvision/…查找Big Endian链接。
违反
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.