XDR
Название External Data Representation
Уровень (по модели OSI) Представления
Семейство TCP/IP, ONC
Назначение протокола Стандартизация формата данных
Спецификация RFC 4506 / STD 67
Разработчик Sun Microsystems

XDR (англ. External Data Representation - внешнее представление данных) — международный стандарт передачи данных в Интернете, используемый в различных RFC для описания типов. XDR позволяет организовать не зависящую от платформы передачу данных между компьютерами в гетерогенных сетях.

External Data Representation (XDR) — это стандарт IETF с 1995 года. Он позволяет данным быть упакованными не зависящим от архитектуры способом, таким образом, данные могут передаваться между гетерогенными компьютерными системами.

Среди использующих XDR программ можно назвать следующие:

Типы данных в XDR

[править | править код]

Мотивация использования XDR

[править | править код]

Разные компьютеры могут иметь разное внутреннее представление информации. Например, 32-битный Integer имеет 2 возможные формы представления:

Для некоторых функций WinSock их аргументы (то есть, параметры функций) должны храниться в обратном порядке.

— Программа преобразует сообщения из своего внутреннего представления в XDR для последующей передачи. Это называется кодированием. — Получатель преобразует полученное сообщение из XDR в собственное представление. Это называется декодированием.

Типы данных в XDR

[править | править код]

XDR указывает представление для большинства типов данных в C:

Закодированная информация содержит только данные, она не содержит информации о типе данных. Например, после кодирования 32-битного integer результатом будет 32-битный integer в XDR. Не будет информации о том, что это integer. Клиенты и серверы, использующие XDR, должны согласовывать тип данных сообщений, которыми они обмениваются.

Программная поддержка использования XDR

[править | править код]

Посылка сообщения в XDR

[править | править код]

— имя (строка символов) -ID (целое) -совокупный GPA (floating-point number)

Например: xdrmem_create() возвращает указатель на пустой поток.

       *#* помещать закодированную информацию в следующее доступное место в буфере
       *#* обновлять внутренний указатель на поток, помещая его на новое доступное свободное место 

Стандартные программы преобразования в XDR

[править | править код]

Получение сообщения в XDR

[править | править код]

Например, декодирование 32-битного целого:

Ссылки

[править | править код]
Это заготовка статьи о компьютерных сетях. Помогите Википедии, дополнив её.