See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
XDR - Wikipedia, la enciclopedia libre

XDR

De Wikipedia, la enciclopedia libre

eXternal Data Representation
(XDR)
Familia: Protocolo de descripción de datos
Función: Codificación de datos.

Ubicación en la pila de protocolos*
Aplicación NFS, NIS, ...
Presentación XDR
Sesión ONC RPC
Transporte TCP o UDP
Red IP

* según el Modelo OSI


Estándares: RFC 4506 (2006)

XDR (eXternal Data Representation) es un protocolo de presentación de datos, según el Modelo OSI. Permite la transferencia de datos entre máquinas de diferentes arquitecturas y sistemas operativos. Trabaja al nivel de ordenamiento de byte, códigos de caracteres y sintaxis de estructura de datos -muy similar a la de C- para servir a este propósito. Fue creado para ser utilizado con el protocolo de sesión ONC RPC (llamadas a procedimiento remoto de Sun Microsystems).

El sistema de archivos distribuido NFS utiliza XDR como un lenguaje de descripción de datos, para el intercambio de datos, el cual es utilizado con las llamadas a procedimiento remoto ONC RPC.

El estándar de XDR está definido en el RFC 4506 ( RFC 1014 y RFC 1832 obsoletos).

Tabla de contenidos

[editar] Estructura de Datos

[editar] Bloque básico de datos

El tamaño de los datos es un múltiplo de cuatro bytes. Si el tamaño de los datos no son múltiplos de cuatro bytes, se completan con una cantidad extra bytes con su contenido nulo, como muestra la figura:

(MSB) (LSB)
byte 0 byte 1 . . . byte (n-1) 0 . . . 0
«---------- n bytes ----------» «---------- r bytes ----------»
«---------- ( n + r ) bytes (múltiplo de 4) ----------»

[editar] Tipos de datos

  • Entero: 4 bytes.
(MSB) (LSB)
byte 0 byte 1 byte 2 byte 3
«---------- 32 bits ----------»
  • Entero sin signo: 4 bytes.
  • Enumeración: 4 bytes.
  • Booleano: 4 bytes.
  • Hiper entero e Hiper entero sin signo: 8 bytes.
(MSB) (LSB)
byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7
«---------- 64 bits ----------»
  • Punto flotante: 4 bytes.
  • Punto flotante doble precisión: 8 bytes.
  • Punto flotante cuádruple precisión: 16 bytes.
  • Opaco de longitud fija: se fija una longitud n, cualquiera, la cantidad de bytes es n+r, donde n+r es múltiplo de cuatro.
  • Opaco de longitud variable
  • Cadena
  • Arreglo de longitud fija
  • Arreglo de longitud variable
  • Estructura
  • Unión discriminada
  • Vacío
  • Constante
  • Definición de tipos

[editar] Descripción de datos XDR

El lenguaje XDR de descripción de datos luce similar a las descripciones de datos en C, segun la especificación RFC4506, como se observa en el siguiente ejemplo :

        const MAXUSERNAME = 32;     /* long. maxima de nombre de usuario   */
        const MAXFILELEN = 65535;   /* long. maxima de un archivo          */
        const MAXNAMELEN = 255;     /* long. maxima de un mobre de archivo */
        /*
         * Tipos de archivos:
         */
        enum filekind {
           TEXT = 0,       /* datos ascii */
           DATA = 1,       /* datos raw   */
           EXEC = 2        /* ejecutable  */
        };
        /*
         * Información de archivo, por clase de archivo:
         */
        union filetype switch (filekind kind) {
        case TEXT:
           void;                           /* no hay información extra */
        case DATA:
           string creator<MAXNAMELEN>;     /* creador de datos         */
        case EXEC:
           string interpretor<MAXNAMELEN>; /* interprete de programas  */
        };
        /*
         * Un archivo completo:
         */
        struct file {
           string filename<MAXNAMELEN>; /* nombre de un archivo           */
           filetype type;               /* información acerca del archivo */
           string owner<MAXUSERNAME>;   /* dueño del archivo              */
           opaque data<MAXFILELEN>;     /* datos del archivo              */
        };

[editar] Enlaces externos

En otros idiomas


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -