Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Модель OSI по слоям |
---|
Представление внешних данных ( XDR ) - это стандартный формат сериализации данных для таких целей, как компьютерные сетевые протоколы. Это позволяет передавать данные между различными компьютерными системами. Преобразование из локального представления в XDR называется кодированием . Преобразование из XDR в локальное представление называется декодированием . XDR реализован как программная библиотека функций, которая переносима между различными операционными системами, а также не зависит от транспортного уровня .
XDR использует базовую единицу из 4 байтов, сериализованных в обратном порядке; данные меньшего размера по-прежнему занимают по четыре байта после кодирования. Типы переменной длины, такие как строка и непрозрачный, дополняются до суммы, кратной четырем байтам. Числа с плавающей запятой представлены в формате IEEE 754 .
История [ править ]
XDR был разработан в середине 1980-х в Sun Microsystems и впервые широко опубликован в 1987 году. [1] XDR стал стандартом IETF в 1995 году.
Формат данных XDR используется многими системами, в том числе:
- Сетевая файловая система (протокол)
- Файловая система ZFS
- Протокол управления сетевыми данными NDMP
- Вызов удаленной процедуры Open Network Computing
- Программное обеспечение для резервного копирования Legato NetWorker (позже будет продано EMC)
- NetCDF (формат научных данных)
- Язык R и среда для статистических вычислений
- HTTP-NG Wire Протокол Binary
- Механизм JavaScript SpiderMonkey для сериализации / десериализации скомпилированного кода JavaScript.
- Ганглиев распределенная система мониторинга
- Стандарт сетевого мониторинга sFlow
- Библиотека виртуализации libvirt , API и UI
- Firebird (сервер базы данных) для дистанционного Binary Wire протокола
- Звездная платежная сеть
Типы данных XDR [ править ]
- логический
- int - 32-битное целое число
- unsigned int - беззнаковое 32-битное целое число
- гипер - 64-битное целое число
- unsigned hyper - беззнаковое 64-битное целое число
- IEEE float
- IEEE двойной
- четырехместный (новое в RFC1832)
- перечисление
- состав
- нить
- массив фиксированной длины
- массив переменной длины
- union - размеченный союз
- непрозрачные данные фиксированной длины
- непрозрачные данные переменной длины
- void - нулевое количество байтов
- optional - необязательные данные обозначены аналогично указателям C, но представлены как тип данных, на который «указывает» с логическим флагом «присутствует или нет». Семантически это опционный тип .
См. Также [ править ]
- Формат обмена структурированными данными ( SDXF )
- Удаленный вызов процедур
- Первая абстрактная синтаксическая нотация
- Формат данных Описание Язык
- Сравнение форматов сериализации данных
Ссылки [ править ]
- ^ Sun Microsystems (1987). «XDR: Стандарт представления внешних данных» . RFC 1014 . Сетевая рабочая группа . Проверено 11 июля 2011 года .
Внешние ссылки [ править ]
Стандарт XDR существует в трех различных версиях в следующих RFC:
- RFC 4506 2006 Этот документ не вносит технических изменений в RFC 1832 и публикуется с целью отметить соображения IANA, дополнить соображения безопасности и отличить нормативные ссылки от информативных.
- RFC 1832 версии 1995 г. В RFC 1014 добавлены числа с плавающей запятой четверной точности.
- Cisco XDR: Технические примечания
- jsxdrapi.c , основной исходный файл SpiderMonkey, использующий XDR
- protocol.cpp основной исходный файл xdr, используемый в удаленном протоколе Firebird
- Реализация rpcgen, анализатора XDR, в GNU Libc.
- Грамматика racc лаборатории Mu Dynamics Research Labs для XDR
- IvmaiAsn ASN1 / ECN / XDR Tools (набор инструментов, содержащий конвертер XDR / RPC-to-ASN.1)