Представление внешних данных
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Модель OSI по слою |
---|
Внешнее представление данных ( XDR ) — это стандартный формат сериализации данных , используемый, например, в протоколах компьютерных сетей . Это позволяет передавать данные между различными типами компьютерных систем. Преобразование из локального представления в XDR называется кодированием . Преобразование из XDR в локальное представление называется декодированием . XDR реализован как программная библиотека функций, которая переносима между различными операционными системами и не зависит от транспортного уровня .
XDR использует базовую единицу размером 4 байта, сериализуемую в обратном порядке; меньшие типы данных по-прежнему занимают по четыре байта каждый после кодирования. Типы переменной длины, такие как string и opaque, дополняются до суммы, кратной четырем байтам. Числа с плавающей запятой представлены в формате IEEE 754 .
История [ править ]
XDR был разработан в середине 1980-х годов в компании Sun Microsystems и впервые широко опубликован в 1987 году. [2] XDR стал IETF стандартом в 1995 году.
Формат данных XDR используется многими системами, в том числе:
- Сетевая файловая система (протокол)
- ZFS Файловая система
- NDMP Протокол управления сетевыми данными
- Удаленный вызов процедур открытых сетевых вычислений
- Программное обеспечение для резервного копирования Legato NetWorker (позже проданное EMC)
- NetCDF (формат научных данных)
- Язык R и среда для статистических вычислений
- HTTP -NG Двоичный протокол
- Механизм JavaScript SpiderMonkey для сериализации/десериализации скомпилированного кода JavaScript.
- Ganglia мониторинга Распределенная система
- Стандарт sFlow мониторинга сети
- Библиотека виртуализации libvirt , API и пользовательский интерфейс
- Firebird (сервер базы данных) для удаленного протокола двоичных проводов
- Звездная платежная сеть
Типы данных XDR [ править ]
- логическое значение
- int – 32-битное целое число
- unsigned int – беззнаковое 32-битное целое число
- гипер – 64-битное целое число
- беззнаковый гипер – беззнаковое 64-битное целое число
- IEEE с плавающей запятой
- IEEE двойной
- четверной (новое в RFC1832)
- перечисление
- структура
- нить
- фиксированной длины массив
- переменной длины массив
- профсоюз – дискриминируемый профсоюз
- фиксированной длины непрозрачные данные
- переменной длины непрозрачные данные
- void – количество нулевых байтов
- необязательный – необязательные данные обозначаются аналогично указателям C, но представляются как тип данных, «указанный на» с логическим флагом «присутствует или нет». Семантически это тип опции .
См. также [ править ]
- Формат обмена структурированными данными ( SDXF )
- Удаленный вызов процедур
- Обозначение абстрактного синтаксиса один
- Формат данных Описание Язык
- Сравнение форматов сериализации данных
Ссылки [ править ]
- ^ «X.225: Информационные технологии – Взаимосвязь открытых систем – Протокол сеанса, ориентированный на соединение: Спецификация протокола» . Архивировано из оригинала 1 февраля 2021 года . Проверено 10 марта 2023 г.
- ^ Сан Микросистемс (1987). «XDR: Стандарт представления внешних данных» . РФК 1014 . Сетевая рабочая группа. дои : 10.17487/RFC1014 . Проверено 11 июля 2011 г.
Внешние ссылки [ править ]
Стандарт XDR существует в трех различных версиях в следующих RFC:
- RFC 4506, 2006 г. Этот документ не вносит технических изменений в RFC 1832 и публикуется с целью отметить соображения IANA, расширить соображения безопасности и отличить нормативные ссылки от информативных.
- RFC 1832, версия 1995 года. В RFC 1014 добавлена плавающая запятая четырехкратной точности.
- RFC 1014, версия 1987 года.
- XDR Cisco: технические примечания
- jsxdrapi.c — основной исходный файл SpiderMonkey, использующий XDR.
- протокол.cpp — основной исходный файл xdr, используемый в удаленном протоколе Firebird.
- Реализация rpcgen, парсера XDR, в GNU Libc.
- Racc-грамматика Mu Dynamics Research Labs для XDR
- IvmaiAsn ASN1/ECN/XDR Tools (набор инструментов, содержащий преобразователь XDR/RPC в ASN.1)