сетевой порядок байт



Автор Михаил Акулькин задал вопрос в разделе Системное администрирование

Объясните, что такое обратный и прямой порядок байт. И как происходит выход в интернет у пользователей с little-endian и получил лучший ответ

Ответ от Extrn[гуру]
порядок байт, это последовательность, в которой многобайтовое число (short, int, long) записывается в память компьютера.
порядок бывает little-endian, когда младший байт числа записывается первым, а старший последним.
или big-endian, где наоборот, старший байт записывается первым.
например число 1 запишется в 32битную ячейку памяти следюущим образом в зависимости от порядка байт:
little-endian - 01 00 00 00
big-endian - 00 00 00 01
большинство современных систем либо имеют порядок little-endian, либо имеют возможность переключения с одного на другой.
для интернета, который изначально планировался как способ объединения самых разных типов компьютеров и сетей в единое пространство, существует так называемый сетевой порядок байт. это всегда big endian
любая реалиазия ip-сокетов имеет функции htonl, htons, ntohl, ntohs, которые соответственно переводят:
htonl - беззнаковое 32битное целое из локального порядка в сетевой
htons - беззнаковое 16битное целое из локального порядка в сетевой
ntohl - беззнаковое 32битное целое из сетевого порядка в локальный
ntohs - беззнаковое 16битное целое из сетевого порядка в локальный
если порядок байт на машине совпадает с сетевым (является big-endian), число после преобразования остается прежним. иначе (на little-endian машинах, в том числе на x86) - порядок байт меняется на противоположный.
остается только добавить, что в posix реализации эти функции определены в заголовке #include <arpa/inet.h>
в windows реализации - в #include <Winsock2.h>

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Объясните, что такое обратный и прямой порядок байт. И как происходит выход в интернет у пользователей с little-endian
Правительство Москвы на Википедии
Посмотрите статью на википедии про Правительство Москвы
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*