next up previous
Next: Capa Datos Up: cc51c: Comunicacion de Datos Previous: Introducción

Capa Física

En este capítulo estudiamos los protocolos de bajo nivel utilizados para transmitir datos punto a punto. Tradicionalmente se estudiaba mucho el problema de codificar datos digitales (ondas cuadradas) en señales análogas (ondas sinusoidales). Actualmente, el principal problema es aprovechar bien el medio físico, dando acceso a múltiples emisores ya sea multiplexando o compartiendo la señal física. Por otro lado, protocolos como ATM pueden verse como niveles físicos, pero realmente son cada vez más software, y la codificación final de la señal en el cable es cada vez menos importante.

Por razones de tiempo, este capítulo se concentra más en los protocolos de acceso al medio físico y multiplexión que en codificación de la señal.

Límites Teóricos

Cualquier medio físico de transporte de señal está sujeto a ciertas restricciones, en particular que se pierde intensidad en la señal a medida que se difunde. Al enviar información binaria, se requiere transmitir una onda cuadrada por el cable. Desgraciadamente, esta seña no se adapta bien al típico cable de comunicación, donde se envían señales análogas (voltajes, radio, luz) y los cambios de valores (voltajes, frecuencia, intensidad) no son discretos (y la forma de la curva empeora con la distancia).

El número de cambios de estado de la línea por segundo se conoce como baud. Esto no corresponde a los bits/s (o bps), puesto que usualmente se codifican varios bits en cada estado (según el numero de estados diferentes de la línea: con 8 estados puedo transmitir de a tres bits a la vez).

El ancho de banda de la línea indica cuantas frecuencias soporta la línea, esto limita seriamente la capacidad de bits/s que se pueden transmitir. Por ejemplo, en una línea telefónica, solo se transmite un rango audible y generable por la voz humana, esto da una frecuencia máxima de unos 3000 Hz. Usando codificación binaria normal, no hay como llegar a más de 9600 bps. Se mejora usando codificaciones muy astutas en varias frecuencias a la vez.

Medio Físico

Cable Coaxial

Fue uno de los esquemas más usado en redes locales, por la simplicidad de instalación y bajo costo. La idea es implementar un bus, es decir un cable en que todos leen los mismos datos. El cable debe estar conectado de punta a punta y en cada extremo tiene una resistencia de 50 Ohms (terminador). Internamente es un cable de datos, rodeado de una malla.

La capacidad de transmisión es buena y muy tolerante al ruido. Tasas de 10Mbps para cables de hasta 1 Km.

Sin embargo, la forma de conectar computadores al cable es delicada: una T debe insertarse en el cable y conectarlo directamente a la interfaz de comunicación. También existen los vampiros, que solo sirven para cable coaxial grueso que es menos manipulable. Esto genera múltiples problemas en instalaciones de tamaño medio, puesto que el coaxial es muy estable si no se toca, pero no soporta bien los tirones y movimientos. Un trozo de coaxial con problemas impide la comunicación en toda la red.

Par Trenzado

El Par Trenzado es el medio más usado de comunicación por el sistema telefónico. Dos cables de cobre telefónicos trenzados en forma helicoidal (para evitar que hagan de antena) permiten tasas de transferencia punto a punto de varios Mbps, dependiendo del largo, del grosor y de la calidad de los conectores. Se habla de nivel 3 cuando cumplen con la norma para telefonía y nivel 5 cuando cumplen con la norma para datos a alta velocidad. Sobre un par nivel 5 actualmente se puede transmitir a 100 Mbps en distancias inferiores a 100 metros.

Su interés es tan alto, que hoy día se usan para reemplazar cableado de coaxial, haciendo una estrella del bus (o estrellando el bus). Para esto se usa un concentrador, donde llegan todos los pares trenzados, y que repite los datos hacia todos los cables. Esto disminuye las colisiones, evita los puntos de falla globales (salvo por el concentrador mismo) y permite usar el cableado telefónico normal para redes locales.

Fibra Óptica

La luz tiene una frecuencia del orden de los MHz, lo que permite un ancho de banda enorme. El sistema de transmisión se basa en un emisor de luz, un receptor y un medio de transmisión: fibra de vidrio o de sílice.

Gracias a los coeficientes de refracción de la luz, se puede enviar luz sin perder nada de un punto al otro. Incluso, varios rayos pueden viajar al mismo tiempo usando diferentes ángulos de refracción (fibras multimodo). Una fibra que es justo del largo de onda de la luz usada puede utilizarse como fibra monomodo, sin refracción, lo que permite mejores tasas de transmisión por mayor distancia (pero con equipamiento más caro).

Actualmente, 1 Gbps es normal en fibra óptica, pero en redes locales es bastante menos.

Aun no se dispone comercialmente de multiplexores en frecuencia de fibra óptica, pero ya existen en laboratorios. Esto permite pasar señas con 1 MHz cada una a la vez por una sola fibra.

Antenas directas

Varias maneras de conectar punto a punto lugares ``visibles": infrarojos, laser, UHF, microondas.

Satélites

Los satélites de comunicaciones están en órbita geo-estacionaria, a 36.000 km sobre el ecuador. Cada satélite posee varios Transponders, cada uno con capacidad de 50 Mbps (existen satélites experimentales para llegar a Gbps). Esta capacidad puede ser dividida en múltiples canales más lentos (800 64 Kbps por ejemplo).

El problema de los satélites es el retardo de la señal. La tasa de transferencia (bits/s) no indica cuánto demora la señal en llegar al otro lado. La órbita geo-estacionaria está tan lejos que en subir y bajar del satélite la onda demora unos 300 ms. Esto implica una ida y vuelta de una señal de 600 ms (aproximadamente medio segundo).

En algunos casos (envío de archivo) esto no es relevante, pero en otros (comunicación interactiva) es desastroso.

Red Telefónica

La red telefónica es probablemente el medio de transporte de datos más usado en el mundo, a pesar de que nunca fue diseñada para ello. Con sus más de 300 millones de suscriptores en el mundo, presente en todas partes, es demasiado atractiva para usarla, a pesar de sus limitaciones.

La red telefónica tradicional (que en jerga telecomunicaciones se denomina POTS: Plain Old Telephone System) provee una línea de comunicaciones punto a punto que transmite entre 0 y 3000 Hz. Además, la calidad sólo concierne que las frases sean distinguibles, por lo tanto el nivel de ruido tolerable es enorme, y no todas las frecuencias intermedias pasan con la misma calidad. Aunque ya la mayoría de las centrales telefónicas son digitales (en Chile todas lo son) y las troncales son de fibra óptica, la mayoría del ruido se genera en el par trenzado que une el teléfono con la central más cercana. La calidad de ese tendido es muy variable, y depende de la época en que fue hecho. A pesar de las apariencias, en realidad la mayoría del capital de las compañías de teléfonos está en esos cables. Se estima que el total de cables a las casas (conocido como local loop) tendidos en el mundo dan para ir y volver a la luna unas 1000 veces.

Curiosamente, el par trenzado debería ser capaz de soportar 2 Mbps sin problemas, y las centrales digitales mucho más. Por lo tanto, disponemos de la infraestructura para obtener datos a velocidad más que razonables desde la casa. Lo que nadie descubre aún es cómo vender ese servicio. Algunos intentos se hacen con ISDN (o RDSI: Red Digital de Servicios Integrados), que permite conexiones a 128 Kbps si ambos teléfonos tienen ese servicio. Sin embargo, mientras las estructuras de precio sean como el teléfono, y los anchos de banda sean parecidos, nadie quiere pagar más por ello. En USA, ISDN se ha vuelto una alternativa atractiva en algunos estados, en particular para accesar Internet.

Para poder transmitir datos por la línea telefónica tradicional, se usa un modem (Modulator/Demodulator). La idea es transformar la onda cuadrada digital en una onda sinusoidal análoga. Inicialmente, los modems usaban modulación en frecuencia (un tono=0 otro tono=1) y operaban a 300 bps, que obedecen a los 300 bauds de la línea. Luego, usando múltiples tonos, 1.200 y 2.400 fueron comunes. Usando modulación de fase y luego técnicas sumamente avanzadas de adaptación dinámica de frecuencias, se pasó a 4.800, 14.400 y 28.800 bps.

Técnicas de Interconexión

En redes de área amplia, donde deben interconectarse múltiples puntos unos con otros, es imposible pensar en conexiones físicas punto a punto, por lo que se utilizan varias técnicas para compartir troncales entre varias comunicaciones simultáneas.

Multiplexión

Dos técnicas clásicas se utilizan para multiplexar una línea (o sea simular varias líneas lógicas sobre una línea física): multipexión en frecuencia y multiplexión en el tiempo.

Al multiplexar en frecuencia, se asignan rangos de frecuencias a cada conexión, dividiendo la línea en segmentos reservados exclusivamente para cada canal lógico. Según la cantidad de Hz disponibles en la línea puedo multiplexar más o menos.

Al multiplexar en tiempo, los canales lógicos ocupan la línea completa (con todas las frecuencias disponibles) por turnos. Estos turnos son típicamente slots de tiempo predefinidos, garantizando entonces un ancho de banda disponible para cada canal lógico.

Estas dos técnicas pueden mezclarse, típicamente haciendo multiplexión en Frecuencia y luego cada canal lógico puede ser multiplexado en tiempo.

Ambas técnicas adolecen de un problema: reservan el ancho de banda aunque no se use. En el caso de redes de computadores esto es un gran pecado, puesto que muchas conexiones permanecen sin transmitir largos períodos de tiempo.

Conmutación

Como no existen líneas directas punto a punto entre todos los participantes de una red como la red telefónica, además de multiplexar las troncales, debe existir una forma de establecer una conexión virtual punto a punto. Existen dos métodos clásicos para esto: conmutación de circuitos y conmutación de paquetes.

La conmutación de circuitos es el paradigma de las redes telefónicas. Básicamente, al pedir una conexión, se realiza una reserva de recursos desde el origen hasta el destino. Originalmente, se reservaban pares de cobre entre los switches que físicamente se iban cerrando para establecer una línea entre origen y destino. Hoy en día todo se basa en multiplexión en frecuencia y tiempo, pero la idea es la misma: una vez establecida la conexión existe un canal lógico reservado entre ambas partes. Si después no hablo durante dos minutos, el costo de recursos es el mismo que si hablo.

Una ventaja de este esquema es que nunca hay congestión en mis conexiones, puesto que los recursos están reservados: el retardo es siempre el mismo. La congestión se maneja en base a tonos ocupados al pedir realizar la llamada.

La otra alternativa es conmutación de paquetes. En este caso, no se reservan recursos par las conexiones, sino que se simulan sobre paquetes de datos (con un formato muy bien definido). Estos paquetes deben ser ruteados uno por uno hacia su destino, multiplexando en forma natural las troncales (es una multiplexión en el tiempo, pero sin slots pre-asignados). En este caso, el uso de los recursos es optimal, puesto que si no transmito, no gasto nada. Sin embargo, son de naturaleza muy dinámica, presentando problemas de congestión y de retardo variable. Por otro lado, los paquetes pueden perderse, desordenarse, etc.

Existe una guerra religiosa actualmente sobre estos puntos, que revisaremos más adelante.

MAC: Acceso al Medio

Las redes locales típicamente se organizan en base a un esquema de red de broadcast (difusión). O sea, múltiples computadores se conectan a un medio común, que permite difusión (radio en el aire, coaxial, etc).

Acá estudiaremos los protocolos utilizados para compartir este medio entre todos los participantes, conocidos como MAC (Medium Access Control).

El modelo es simple: un medio compartido donde todos pueden escribir y leer. Si dos o más computadores transmiten al mismo tiempo se produce una colisión, que es detectable (y distinta a cualquier dato posible).

Protocolos ALOHA

Este es el protocolo que dio origen a muchos en uso hoy en día. La idea es muy simple, cuando se desea transmitir se transmite. Habrán colisiones, y tanto los emisores como el resto detectarán eso. La colisión destruye los paquetes emitidos, los que deberán ser re-emitidos. Los protocolos entonces deben determinar cuándo hacerlo (por ejemplo, no sirve esperar un tiempo fijo, puesto que ambos transmitirán otra vez juntos).

Una alternativa es esperar un tiempo aleatorio antes de retransmitir.

Si suponemos paquetes de largo fijo a transmitir, y que cada estación transmite en cuanto tiene datos, la probabilidad de colisión en redes cargadas es muy alta puesto que basta con que el último bit de un paquete se transmita junto con el primer bit de otro para que ambos colisionen y se destruyan.

Un dato importante en estas redes compartidas es cuánto es el factor de utilización máximo que se puede lograr del medio. Es decir, si tengo un coaxial de capacidad total 10 Mbps, cuánto puedo ocupar realmente entre todos los participantes. Esto no es trivial, porque requiero que haya mucha carga de tráfico para utilizar más ancho de banda, pero al aumentar el tráfico aumentan las colisiones.

En el caso del protocolo ALOHA puro, se obtiene que el máximo factor de utilización es 18%, lo que dista mucho de ser razonable.

Una optimización al protocolo es dividir el tiempo en slots fijos sincronizados (slotted ALOHA). Un computador sólo puede transmitir en un comienzo de slot (que dura justo el tamaño de un paquete). Esto disminuye la probabilidad de colisiones, permitiendo un factor de utilización máximo de 37%.

CSMA

Una optimización importante a ALOHA puro es no transmitir si el canal está ocupado, lo que implica escuchar antes de hablar (Carrier Sense). Si el canal está ocupado, puedo quedar escuchando hasta que se desocupe y ahí transmitir (CSMA 1-persistente).

Esto no es muy bueno, porque al aumentar la carga, aumenta la probabilidad de que más de un computador esté escuchando el canal ocupado, esperando transmitir, y por lo tanto habrá una colisión cuando ambos intenten. Para evitar esto, en vez de esperar que el canal se desocupe, esperamos un tiempo aleatorio antes de volver a intentar (CSMA no persistente).

IEEE 802.3: Ethernet

Es un algoritmo CSMA/CD 1-persistente, con una tasa de 10 Mbps (ahora está de moda una nueva versión a 100 Mbps: Fast Ethernet).

Para poder escribir bytes en el cable, debemos codificarlos y encapsularlos. El encapsulamiento (framing) es típicamente tarea del MAC. En Ethernet, el paquete puede verse en la Figura 2.1.

  
Figure 2.1: Paquete Ethernet

El Preámbulo sirve para sincronizar los relojes del emisor y receptor. Luego viene un comienzo de paquete y la direcciones de origen y destino. Las direcciones ethernet son de 48 bits, y son asignadas centralizadamente a los fabricantes para evitar dos iguales en la misma red local. Se usan direcciones de grupos (multicasts) y la dirección con todos los bits en 1, que es para todos (broadcast). Los paquetes son de tamaño variable, con máximo 1500 bytes. El campo de PAD, sirve para los paquetes de datos menores de 46 bytes, que son rellenados para dar un largo total al menos de 64 bytes, para evitar que pueda ser transmitido antes de llegar al final del cable. Al final, se agrega un checksum, que permite validar que todos los bits del paquete llegaron sin alteración.

Si se produce una colisión, el emisor espera un tiempo aleatorio antes de reintentar. El tiempo se divide en espacios (slots) de 512 bits. Con probabilidad se transmite en el slot 0 o 1. Si vuelve a ocurrir una colisión, con probabilidad se transmite en el slot 0, 1, 2 o 3. A la tercera, se espera un número aleatorio de slots entre 0 y . Luego, al ocurrir la colisión i, se sigue esperando entre 0 y . Después de 10 colisiones, se espera entre 0 y 1023 slots. Después de 16 colisiones se aborta la transmisión.

Este algoritmo se conoce como binary exponential backoff, y es muy interesante porque intenta evitar sobrecargar la red con retransmisiones una vez que la red ya está saturada.

Ethernet muestra en la práctica un factor de utilización cercano al 50%. En teoría el mejor caso es alrededor del 80%.

Token Ring

El problema con ethernet es que la distribución del acceso al medio e aleatoria, por lo que puede ser injusta, perjudicando a un computador durante un periodo de tiempo.

En algunos casos es muy importante garantizar un acceso igualitario al medio, de modo de garantizar que siempre podremos transmitir, independientementede la carga. El clásico esquema utilizado para esto es el paso de una ficha (token) entre los participantes. Quien posee la ficha, puede transmitir. Quien quiere transmitir, debe esperar a recibir la ficha.

Por razones de justicia en el acceso, típicamente estas redes se organizan en anillo, de modo de que el token pueda circular en forma natural.

Un ejemplo bastante difundido de estas redes es FDDI (Fiber Distributed Data Interface) que utiliza fibra óptica (aunque también existe sobre cobre) en un doble anillo a 100 Mbps (4 fibras multimodo).

El layer MAC usa direcciones ethernet y permite broadcast (un paquete que da la vuelta completa al anillo).

Al emitir un paquete, se espera a recibirlo por el otro lado para descartarlo. Al terminar de emitir un paquete, se escribe el token en la red para señalar que está disponible. El token es un paquete físico especial, que no debe confundirse con un paquete de datos. Ninguna estación puede retener el token por más de un tiempo dado (10 ms).

Al estar la red bajo carga, siempre habrán paquetes encolados en los computadores esperando ser enviados. El protocolo es tomar el token, transmitir un paquete y escribir el token, permitiendo un acceso igualitario a la red, y un uso del ancho de banda de casi un 100%.

Para mantener el anillo funcional, el MAC layer es bastante complejo. En todo momento existe un computador que ha sido elegido como monitor de la red. Éste se encarga de revisar si el anillo está funcional, si existe un token en él, existencia de direcciones duplicadas, etc. En FDDI, es incluso capaz de recuperarse de fallas en segmentos del anillo, utilizando el anillo secundario (ver Figura 2.2).

  
Figure: Reconfiguración del Anillo FDDI

Redes de Banda Ancha

Está claro que el ancho de banda es siempre escaso, independientemente de cuánto haya disponible. Por lo tanto, se ha desarrollado un enorme esfuerzo de investigación en redes de Banda Ancha, con el objetivo de llegar a redes de Gigabits/s.

Dos líneas de desarrollo son las más prometedoras: la multiplexión en frecuencia de la fibra óptica y ATM. A pesar que la primera es mucho más atractiva, puesto que el ancho de banda total disponible en ese caso en una fibra es enorme, aun es demasiado caro construir un filtro que cambie dinámicamente las frecuencias del laser. Sin embargo, es probablemente la tecnología que desplazará a ATM en cinco o diez años.

ATM es la tecnología más de moda en el ambiente de redes rápidas. Es un protocolo híbrido, que toma muchos elementos aprendidos de los diversos sistemas existentes, y su objetivo es soportar muchos servicios distintos sobre el mismo medio: desde POTS, video, hasta correo electrónico y datos.

Los conceptos básicos de ATM son muy simples: todo el recorrido de la conexión va por fibra óptica (aunque un buen cableado de par trenzado puede usarse también) la que se multiplexa usando paquetes de datos. Los paquetes son minimales, y por ello se llaman celdas. Una celda es de tamaño fijo, y muy rápida para ser ruteada (ver Figura 2.3).

  
Figure 2.3: Celda ATM

Para que esto sea posible, se requiere que haya un protocolo de conexión que asigne los números de Path Virtual y Circuito Virtual en todos los switches involucrados. Esta última característica hace que ATM sea muy parecido a un sistema de conmutación de circuitos, pero con reserva minimal de recursos. El problema de ATM está en esa componente: establecer la conexión. La idea es que se quieren soportar servicios muy diferentes: Constant Bit Rate (CBR) como video, Available Bit Rate (ABR) como datos, etc. Todos ellos van a costar diferente (porque son distintas calidades de servicio) y debe entonces garantizarse que, si la conexión se establece, se obtendrá la calidad deseada. Sin embargo, los switches no quieren realmente reservar la capacidad requerida, y quieren aprovechar los momentos sin transmitir (ejemplo: silencio en las conversaciones telefónicas) para ocupar los recursos en las conexiones que sí tienen tráfico.

Existe gran controversia hoy en día si ATM realmente llegará a convertirse en una solución par dar servicios públicos a gran escala, o solo será un buen protocolo de red troncal de banda ancha.

Interconexión de Redes Físicas

Las redes tienen limitaciones de crecimiento, por restricciones físicas o por capacidad de tráfico. Frecuentemente nos vemos enfrentados a tomar decisiones para lograr crecer sin cambiar la tecnología completa. La red más usada en el mundo a nivel local actualmente es ehternet, y por ello existen múltiples esquemas que permiten pasar paquetes ehternet por tecnologías de mayor capacidad. Estudiaremos aquí las soluciones más típicas utilizadas a nivel físico.

Repeaters

Las redes tienden a tener distancias máximas y número de puntos máximos, y cuando quiero exceder esos números puedo colocar un repetidor, que es como un amplificador de señal (aunque puede también cambiar la tecnología, como pasar a fibra óptica). No posee ninguna inteligencia y no filtra ningún paquete.

Bridges

Un bridge es un repetidor inteligente. La idea básica es aprender mirando los paquetes que pasan a través de él. Si conecto la red A con la red B, y viene un paquete desde la red A, enviado por la máquina X, puedo concluir que la máquina X está en la red A y no en la B. Si recuerdo eso, la próxima vez que llegue un paquete para la máquina X desde la red A, sé que no requiero pasarlo a la red B (puesto que X se encuentra al otro lado) y puedo descartarlo.

La tecnología es más compleja que eso, porque los bridges pueden interconectar las redes en múltiples puntos, generando ciclos (esto es útil para redundancia y no es posible con sólo repetidores). Para ello utilizan un algoritmo de árbol cubriente que ha sido estandarizado por la IEEE.

Por otro lado, los bridges muchas veces aprovechan de cambiar la tecnología de transporte, y me permiten pasar ethernet sobre FDDI o sobre ATM, por ejemplo. Hay que tener cuidado, sin embargo, porque los tamaños máximos de paquetes en estas tecnologías son distintos y no tengo cómo enviar paquetes grandes en una red donde no me caben. Por ello, esto sirve para conectar dos ethernets a través de una FDDI, pero no es útil para conectar máquinas en el FDDI con máquinas en una ethernet.

Switches

Al cablear las redes ethernet con par trenzado, se utiliza un hub (concentrador) que implementa el bus compartido. Al crecer el tráfico en la red, las colisiones aumentan. Por ello, se ha agregado memoria RAM a los concentradores e inteligencia para hacer de bridges. Eso es llamado típicamente un switch. Un buen switch filtra tráfico y no genera colisiones entre puertas, puesto que puede almacenar los paquetes mientras espera para transmitirlos. Son mucho más caros que los concentradores, por lo que típicamente se encuentran al centro de la red, conectando múltiples concentradores, separando los dominios de colisión (uno por cada HUB).

VLANs

Finalmente, se puede aprovechar un sólo switch para múltiples redes ethernet. Eso me separa los dominios de colisiones y los de broadcast, tal como si estuvieran en HUBs separados. La gracia es que es configurable por software y por puerta (configurando en qué ethernet está cada puerta) y utilizando técnicas de bridging puedo pasar las múltiples ethernets por cables de mayor velocidad (como ATM).



next up previous
Next: Capa Datos Up: cc51c: Comunicacion de Datos Previous: Introducción



José M. Piquer
Mon Oct 20 12:36:57 CDT 1997