thumb|right|Tarjeta de red ATM de 25 Mbps con interfaz PCI y conexión de par trenzado.
El modo de transferencia asíncrona (Asynchronous Transfer Mode, ATM) es, según el ya desaparecido ATM Forum, "un concepto de telecomunicaciones definido por las normas de las organizaciones ANSI y UIT para el transporte de una gama completa de tráfico de usuarios, incluidas las señales de voz, datos y video". ATM fue desarrollado para satisfacer las necesidades de la Red digital de servicios integrados de banda ancha, tal como se definió a fines de la década de 1980 y diseñada para integrar redes de telecomunicaciones. Además, fue diseñado para redes que deben manejar el tráfico tradicional de datos de alto rendimiento (por ejemplo, transferencias de archivos) y contenido de baja latencia en tiempo real, como voz y video. El modelo de referencia para ATM se asemeja a las tres capas más bajas del modelo de referencia ISO-OSI: capa de red, capa de enlace de datos y capa física.
ATM proporciona una funcionalidad similar tanto a la conmutación de circuitos como a las redes de conmutación de paquetes: ATM utiliza multiplexación por división de tiempo asincrónica y codifica datos en paquetes pequeños de tamaño fijo (tramas ISO-OSI) llamadas celda. Esto difiere de los enfoques como el Protocolo de Internet o Ethernet que usan paquetes y tramas de tamaño variable. ATM utiliza un modelo orientado a la conexión en el que se debe establecer un circuito virtual entre dos puntos finales antes de que comience el intercambio de datos real. Estos circuitos virtuales pueden ser "permanentes", es decir, conexiones dedicadas que normalmente están preconfiguradas por el proveedor del servicio, o "conmutadas", es decir, configuradas por llamada usando señalización y desconectadas cuando finaliza la llamada.
ATM es un protocolo central utilizado sobre la red troncal SONET/SDH de la red telefónica pública conmutada y la red digital de servicios integrados (RDSI), pero su uso está disminuyendo a favor de la red de siguiente generación en la cual la comunicación se basa en el Protocolo IP.
Capa 2 - datagramas En la capa de enlace de datos del modelo de referencia ISO-OSI (capa 2), las unidades básicas de transferencia se denominan genéricamente trama. En ATM estas tramas son de una longitud fija (53 octetos o bytes) y se denominan específicamente "celdas".
Tamaño de la celda Si una señal de voz se reduce a paquetes y se ve forzada a compartir un enlace con un tráfico de datos desbordado (tráfico con algunos paquetes de datos grandes), no importa lo pequeños que puedan ser los paquetes de voz, siempre se encontrarán con paquetes de datos de tamaño completo. En condiciones normales de espera, las celdas pueden experimentar retrasos máximos en la espera. Para evitar esta emisión, todos los paquetes ATM, o "celdas", son del mismo tamaño. Además, la estructura de celdas fijas permite que el ATM pueda ser fácilmente conmutado por el hardware sin los retrasos inherentes introducidos por el software de conmutación y las tramas de enrutamiento.
Por lo tanto, los diseñadores de ATM utilizaron pequeñas celdas de datos para reducir jitter (la variación de retardo, en este caso) en la multiplexación de flujos de datos. La reducción del jitter (y también de los retrasos de ida y vuelta de extremo a extremo) es particularmente importante cuando se transporta tráfico de voz, ya que la conversión de la voz digitalizada en una señal de audio analógica es un proceso intrínsecamente computación en tiempo real, y para hacer un buen trabajo, el decodificador (codec) que hace esto necesita un flujo de datos espaciado uniformemente (en el tiempo). Si el siguiente elemento de datos no está disponible cuando se necesita, el códec no tiene más remedio que producir silencio o adivinar - y si los datos llegan tarde, es inútil, porque el período de tiempo en el que debería haberse convertido en una señal ya ha pasado.
En el momento del diseño de ATM, 155 Mbit/s jerarquía digital síncrona (SDH) con una carga útil de 135 Mbit/s se consideraba un enlace de red óptico rápido, y muchos jerarquía digital plesiócrona (PDH) en la red digital eran considerablemente más lentos, oscilando entre 1,544 y 45 Mbit/s en los EE.UU., y entre 2 y 34 Mbit/s en Europa.
A 155 Mbit/s, un paquete de datos de longitud completa de 1500 bytes (12000 bits), suficiente para contener un máximo-tamaño de paquete IP para Ethernet, necesitaría 77,42 µs para transmitir. En un enlace de baja velocidad, como un enlace de 1,544 Mbit/s línea T1, el mismo paquete tardaría hasta 7,8 milisegundos.
Un retardo de cola inducido por varios de estos paquetes de datos podría superar la cifra de 7,8 ms varias veces, además de cualquier retardo de generación de paquetes en el paquete de voz más corto. Esto era claramente inaceptable para el tráfico de voz, que necesita tener un bajo jitter en el flujo de datos que se introduce en el códec si se quiere producir un sonido de buena calidad. Un sistema de voz en paquetes puede producir esta baja fluctuación de varias maneras:
Usando un búfer de reproducción entre la red y el códec, uno lo suficientemente grande como para que el códec se mueva sobre casi todo el jitter de los datos. Esto permite suavizar el jitter, pero el retardo introducido por el paso a través del buffer requiere cancelador de ecos incluso en redes locales; esto se consideraba demasiado caro en ese momento. Además, aumentaba el retardo a través del canal y dificultaba la conversación en los canales de alto retardo. Usando un sistema que intrínsecamente proporciona un bajo jitter (y un retraso general mínimo) al tráfico que lo necesita. Operar con base en un usuario 1:1 (es decir, una tubería dedicada).
El diseño de ATM apuntaba a una interfaz de red de baja fluctuación. Sin embargo, se introdujeron "celdas" en el diseño para proporcionar retrasos cortos en las colas mientras se seguía soportando el tráfico datagrama. ATM dividió todos los paquetes, datos y flujos de voz en trozos de 48 bytes, añadiendo un encabezado de enrutamiento de 5 bytes a cada uno de ellos para que pudieran ser reensamblados más tarde. La elección de 48 bytes fue política y no técnica.D. Stevenson, "Electropolitical Correctness and High-Speed Networking, or, Why ATM is like a Nose", Proceedings of TriCom '93, April 1993.
Cuando el CCITT (ahora el UIT-T) estaba normalizando el ATM, las partes de los Estados Unidos querían una carga útil de 64 bytes porque se consideraba que esto era un buen compromiso en cargas útiles más grandes optimizadas para la transmisión de datos y cargas útiles más cortas optimizadas para aplicaciones en tiempo real como la voz; las partes de Europa querían cargas útiles de 32 bytes porque el pequeño tamaño (y por lo tanto los cortos tiempos de transmisión) simplifican las aplicaciones de voz con respecto a la cancelación de eco. La mayoría de los partidos europeos finalmente aceptaron los argumentos de los estadounidenses, pero Francia y algunos otros se mantuvieron a favor de una longitud de celda más corta. Con 32 bytes, Francia habría podido implementar una red de voz basada en ATM con llamadas de un extremo a otro de Francia sin necesidad de cancelación de eco. Se eligieron 48 bytes (más 5 bytes de encabezado = 53) como compromiso entre las dos partes. Se eligieron cabeceras de 5 bytes porque se pensó que el 10% de la carga útil era el precio máximo a pagar por la información de enrutamiento. ATM multiplexó estas celdas de 53 bytes en lugar de paquetes que redujeron el jitter de la contención de celda en el peor de los casos en un factor de casi 30, reduciendo la necesidad de canceladores de eco.
Estructura de una celda ATM Una celda ATM consta de una cabecera de 5 bytes y una carga útil de 48 bytes. El tamaño de la carga útil de 48 bytes se eligió tal y como se ha descrito anteriormente.
ATM define dos formatos de celda diferentes: Interfaz usuario-red (UNI) y red de red. (NNI). La mayoría de los enlaces ATM utilizan el formato de celda UNI.
Esquema de una celda ATM UNI .
7 4 3 0 GFC VPI VPI VCI VCI VCI PT CLP HEC
Carga útil y relleno si es necesario (48 bytes)Esquema de una celda ATM NNI
7 4 3 0 VPI VPI VCI VCI VCI PT CLP HEC
Carga útil y relleno si es necesario (48 bytes)
GFC = El campo genérico de control de flujo (GFC) es un campo de 4 bits que se añadió originalmente para admitir la conexión de redes ATM a redes de acceso compartido, como un anillo de doble bus de cola distribuido (DQDB). El campo GFC fue diseñado para dar a la Interfaz Usuario-Red (UNI) 4 bits para negociar la multiplexación y el control de flujo entre las celdas de varias conexiones ATM. Sin embargo, el uso y los valores exactos del campo GFC no se han estandarizado, y el campo siempre se establece en 0000. VPI = Identificador de Ruta Virtual (8 bits UNI, o 12 bits NNI) VCI = Identificador de Canal Virtual (16 bits) PT = Tipo de carga útil (3 bits) PT bit 3 (msbit): celda de gestión de red. Si es 0, se aplica la celda de datos de usuario y lo siguiente: PT bit 2: Indicación explícita de congestión hacia delante (EFCI); 1 = congestión de la red experimentada PT bit 1 (lsbit): Bits de usuario a usuario (AAU) del ATM. Utilizado por AAL5 para indicar los límites de los paquetes. CLP = Prioridad de pérdida de celda (1-bit) HEC = Control de errores de cabecera (CRC de 8 bits, polinomio = X8 + X2 + X + 1)
ATM utiliza el campo PT para designar varios tipos especiales de celdas para operaciones, administración y gestión (OAM), y delinear los límites de los paquetes en algunos capa de adaptación ATMs (AAL). Si el el bit más significativo (MSB) del campo PT es 0, se trata de una celda de datos de usuario, y los otros dos bits se utilizan para indicar la congestión de la red y como un bit de encabezamiento de propósito general disponible para las capas de adaptación ATM. Si el MSB es 1, se trata de una celda de gestión, y los otros dos bits indican el tipo. (Segmento de gestión de red, gestión de red de extremo a extremo, gestión de recursos y reservado para uso futuro.
Varios protocolos de enlace ATM utilizan el campo HEC para controlar un algoritmo enmarcado basado en CRC, que permite localizar las celdas ATM sin sobrecarga más allá de lo que de otro modo se necesitaría para la protección del cabezal. El CRC de 8 bits se utiliza para corregir errores de encabezado de un solo bit y detectar errores de encabezado de varios bits. Cuando se detectan errores de encabezado de múltiples bits, las celdas actuales y subsiguientes se omiten hasta que se encuentra una celda sin errores de encabezado.
Una celda UNI reserva el campo GFC para un sistema local control de flujo/submultiplexación entre usuarios. Con ello se pretendía permitir que varios terminales compartieran una única conexión de red, de la misma manera que dos Integrated Services Digital Network. (RDSI) pueden compartir una sola conexión RDSI de tarifa básica. Los cuatro bits GFC deben ser cero por defecto.
El formato de celda NNI replica el formato UNI casi exactamente, excepto que el campo GFC de 4 bits se reasigna al campo VPI, extendiendo el VPI a 12 bits. Así pues, una única interconexión ATM NNI es capaz de tratar casi 212 VPs de hasta casi 216 VCs cada uno (en la práctica, algunos de los números de VP y VC están reservados).
Celdas en la práctica ATM soporta diferentes tipos de servicios a través de AALs. Los AAL estandarizados incluyen AAL1, AAL2 y AAL5, y los raramente utilizados AAL3 y AAL4. AAL1 se utiliza para servicios de velocidad binaria constante (CBR) y emulación de circuitos. La sincronización también se mantiene en AAL1. AAL2 a AAL4 se utilizan para Variable de tasa de bits (VBR) y AAL5 para datos. El AAL que se utiliza para una celda determinada no está codificado en la celda. En su lugar, se negocia o configura en los puntos finales en función de la conexión virtual.