network-byte-orderがビッグエンディアンとして定義されているのはなぜですか?[閉まっている]


88

見出しに書かれているように、私の質問は、TCP / IPがデータを送信するときにビッグエンディアンエンコーディングを使用し、代替のリトルエンディアンスキームを使用しないのはなぜですか?


36
閉鎖されたという事実にもかかわらず、このページは非常に役に立ちました
Goaler444 2013

回答:


77

RFC1700は、そうしなければならないと述べました。(およびネットワークのバイト順序をビッグエンディアンとして定義)。

インターネットプロトコルのドキュメントの規則は、数値を10進数で表現し、データを「ビッグエンディアン」の順序で表すことです[COHEN]。つまり、フィールドは左から右に記述され、最も重要なオクテットが左側に、最も重要でないオクテットが右側に表示されます。

彼らが行う参照は

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

要約は、IEN-137またはこのIEEEページにあります


概要:

どちらの方法を選択しても、それほど大きな違いはありません。注文が合意されるよりも、注文について合意することが重要です。

ビッグエンディアンとリトルエンディアンの両方のスキームが可能であった可能性があると結論付けています。より良い/より悪いスキームはなく、システム/プロトコル全体で一貫している限り、どちらかを他のスキームの代わりに使用できます。


RFC 3232は、置き換えを行わずに「RFC1700は廃止されました」と言っているようです
MM

11
@Anirudh、この「答え」は質問を避けています。問題は、alternative(s)の代わりにビゲンディアンが選択される根本的な理由を尋ねることです。「どちらの方法を選択してもあまり違いはありません」、実際にはパフォーマンスが重要であるという単純な事実のために重要であるため、これは誤りです(そして、そのような標準はネットワーク通信の最下層に定着しています)。
Pacerier 2016年

2
@Pacerierリンクされた論文で詳細に説明されているように、パフォーマンスの点で違いはありません。
Anirudh Ramanathan 2016

1
@ Anirudh、これはあなたの興味を引くかもしれません:wolfvision.com/wolf/commands_cynap_wolfvision/でビッグエンディアンのリンクを探してください…
横断
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.