Почему сетевой порядок байтов определяется как big-endian?
Как написано в заголовке, мой вопрос таков: почему TCP/IP использует кодирование с прямым порядком байтов при передаче данных, а не альтернативную схему с прямым порядком байтов?
1 ответ
RFC1700 заявил, что так и должно быть. (и определил сетевой порядок байтов как big-endian).
В документации интернет-протоколов существует соглашение о том, чтобы выражать числа в десятичном виде и отображать данные в "старшем порядке" [COHEN]. То есть поля описываются слева направо, с наиболее значимым октетом слева и наименее значимым октетом справа.
Ссылка, которую они делают, это
On Holy Wars and a Plea for Peace
Cohen, D.
Computer
Тезисы можно найти на IEN-137 или на этой странице IEEE.
Резюме:
Какой путь выбран, не имеет большого значения. Более важно согласовать порядок, чем согласованный порядок.
Делается вывод, что схемы с прямым и обратным порядком байтов могли быть возможны. Нет лучшей / худшей схемы, и ее можно использовать вместо другой, если она согласована во всей системе / протоколе.