Почему сетевой порядок байтов определяется как прямой порядок байтов? [закрыто]

88

Как написано в заголовке, мой вопрос: почему TCP / IP использует кодировку с прямым порядком байтов при передаче данных, а не альтернативную схему с прямым порядком байтов?

Неджи
источник
36
несмотря на то, что он был закрыт, эта страница была весьма полезной
Goaler444 08

Ответы:

77

RFC1700 заявил, что это должно быть так . (и определил сетевой порядок байтов как big-endian).

В документации по Интернет-протоколам принято выражать числа в десятичном формате и отображать данные в обратном порядке [COHEN]. То есть поля описываются слева направо, причем старший октет находится слева, а младший октет - справа.

Они ссылаются на

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

Реферат можно найти на IEN-137 или на этой странице IEEE .


Резюме:

Какой путь выбран, особого значения не имеет. Более важно согласовать заказ, чем согласованный порядок.

Делается вывод, что могли быть возможны как схемы с прямым порядком, так и с прямым порядком байтов. Нет схемы лучше / хуже , и любая из них может использоваться вместо другой, если она согласована во всей системе / протоколе.

Анируд Раманатан
источник
RFC 3232, похоже, говорит, что «RFC1700 является устаревшим», без предоставления какой-либо замены
MM
11
@Anirudh, этот "ответ" уклоняется от вопроса. Вопрос заключается в том, чтобы объяснить основную причину, по которой выбран bigendian вместо альтернативы ( -ов ). В отношении « Какой путь выбран, не имеет большого значения », это неверно, потому что на самом деле это имеет значение из-за того простого факта, что производительность имеет значение (а такой стандарт закреплен на самых нижних уровнях сетевых коммуникаций).
Pacerier 02 окт.2016,
2
@Pacerier Не будет разницы в производительности, о чем подробно говорится в связанной статье.
Анируд Раманатан
1
@Anirudh, это может вас заинтересовать: поищите ссылку Big Endian на wolfvision.com/wolf/commands_cynap_wolfvision/… .
atravers