Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Представление внешних данных ( 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 )
  • Удаленный вызов процедур
  • Первая абстрактная синтаксическая нотация
  • Формат данных Описание Язык
  • Сравнение форматов сериализации данных

Ссылки [ править ]

  1. ^ 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)