GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — External Data Representation - Wikipedia

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article includes a list of general references but lacks sufficient corresponding inline citations. Please help improve this article by introducing more precise citations. (February 2017) (Learn how and when to remove this message)
icon
This article needs more citations. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "External Data Representation" – news · newspapers · books · scholar · JSTOR
(February 2017) (Learn how and when to remove this message)
(Learn how and when to remove this message)

External Data Representation (XDR) is a technical standard format for data serialization, for uses such as computer network protocols. It allows data to be transferred between different kinds of computer systems. Converting from the local representation to XDR is called encoding. Converting from XDR to the local representation is called decoding. XDR is implemented as a software library of functions which is portable between different operating systems and is also independent of the transport layer.

XDR uses a base unit of 4 bytes, 32 bits, serialized in big-endian order; smaller data types still occupy four bytes each after encoding. Variable-length types such as string and opaque are padded to a total divisible by four bytes. Floating-point numbers are represented in IEEE 754 format.

History

XDR was developed in the mid 1980s at Sun Microsystems, and first widely published in 1987.[2] XDR became an Internet Engineering Task Force (IETF) Internet Standard in 1995.

The XDR data format is in use by many systems, including:

  • Network File System protocol
  • ZFS, former Zettabyte File System
  • Network Data Management Protocol (NDMP)
  • Open Network Computing Remote Procedure Call (Sun RPC)
  • EMC NetWorker, former Legato NetWorker, backup software, sold later by EMC
  • NetCDF, a scientific data format
  • The R language and environment for statistical computing
  • The HTTP-NG binary wire protocol
  • The SpiderMonkey JavaScript engine, to serialize/deserialize compiled JavaScript code
  • The Ganglia distributed monitoring system
  • The sFlow network monitoring standard
  • The libvirt virtualization library, application programming interface (API) and user interface (UI)
  • The Firebird (database server) for remote binary wire protocol
  • Stellar payment network

XDR data types

  • boolean
  • int – 32-bit integer
  • unsigned int – unsigned 32-bit integer
  • hyper – 64-bit integer
  • unsigned hyper – unsigned 64-bit integer
  • IEEE float
  • IEEE double
  • quadruple – new in RFC1832
  • enumeration
  • structure
  • string
  • fixed length array
  • variable length array
  • union – discriminated union
  • fixed length opaque data
  • variable length opaque data
  • void – zero byte quantity
  • optional – optional data is notated similarly to C pointers, but is represented as the data type "pointed to" with a Boolean "present or not" flag. Semantically this is option type.

See also

  • Structured Data eXchange Format (SDXF)
  • Remote procedure call
  • Abstract Syntax Notation One (ASN.1)
  • Data Format Description Language
  • Comparison of data-serialization formats

References

  1. ↑ "X.225 : Information technology – Open Systems Interconnection – Connection-oriented Session protocol: Protocol specification". Archived from the original on 1 February 2021. Retrieved 10 March 2023.
  2. ↑ Sun Microsystems (1 June 1987). "XDR: External Data Representation Standard". RFC 1014. Network Working Group. doi:10.17487/RFC1014. Retrieved 20 June 2025.

External links

The XDR standard exists in three different versions in the following RFCs:

  • RFC 4506 2006 This document makes no technical changes to RFC 1832 and is published for the purposes of noting IANA considerations, augmenting security considerations, and distinguishing normative from informative references.
  • RFC 1832 1995 version. Added quadruple precision floating point to RFC 1014.
  • RFC 1014 1987 version.
  • Cisco's XDR: Technical Notes
  • jsxdrapi.c[link removed], the main source file of SpiderMonkey that uses XDR
  • protocol.cpp main xdr source file used in Firebird remote protocol
  • The GNU Libc implementation of rpcgen, the XDR parser.[link removed]
  • Mu Dynamics Research Labs racc grammar for XDR
  • IvmaiAsn ASN1/ECN/XDR Tools (a collection of tools containing an XDR/RPC-to-ASN.1 converter)
Retrieved from "https://en.wikipedia.org/w/index.php?title=External_Data_Representation&oldid=1374164078"
Categories:
  • Networking standards
  • Internet Standards
  • Internet protocols
  • Data modeling languages
  • Data serialization formats
  • Data communication
  • Sun Microsystems software
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Articles lacking in-text citations from February 2017
  • All articles lacking in-text citations
  • Articles needing additional references from February 2017
  • All articles needing additional references
  • Articles with multiple maintenance issues
  • Deprecated archive template links
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.