Vamos a ver en este capítulo
algunos estándares de red de área local (LAN) y red de área
metropolitana (MAN), agrupados bajo la norma 802 del IEEE. Para ello, dedicamos
esta primera parte a revisar algunos conceptos sobre estas redes.
Las principales características
de una LAN/MAN son:
-
No hay una estación principal,
sino que el algoritmo de control de acceso al medio está distribuído
por toda la red. No obstante, veremos que algunas estaciones podrán
tener alguna función adicional, pero siempre como algo excepcional.
-
Velocidad alta y tasa de errores
baja, debidas a la buena calidad de los materiales empleados. Esto se traduce
en una buena calidad de servicio.
-
Arquitectura o topología.
Es la forma en que las estaciones están interconectadas. Es necesario
distinguir entre topología física (la que define el medio
de transmisión -cables-) y topología lógica (la que
sigue el algoritmo de MAC). Las topologías más extendidas
son:
-
La técnica de control de
acceso al medio (MAC) será una de las vistas en el capítulo
I.2, lo que hace que se pueda elegir entre varias posibilidades.
-
Tecnología de transmisión.
Tiene dos aspectos diferentes, que son el medio físico por el que
se propaga la señal y la técnica empleada para transmitir
la información por dicho medio.
-
Medio físico:
-
fibra óptica
-
coaxial
-
UTP (Unshielded Twisted Pair
=> par trenzado simple)
-
STP (Shielded Twisted Pair
=> par trenzado apantallado)
-
Técnica de transmisión:
La estructura de la red se ajusta
al siguiente esquema:
-
Medio físico:
-
visto anteriormente.
-
Interfaz:
-
se encarga de poner bits en el
canal y de que lleguen al destino; corresponde al nivel físico de
OSI.
-
Protocolo LAN:
-
lleva una cierta información
sin errores al destino, además de manejar el acceso al medio compartido;
es el nivel de enlace de OSI.
-
Usuario:
-
a partir del nivel de red de OSI,
todas las redes dejan libertad al usuario para configurar el resto de la
torre de protocolos.
I.3.2 - Norma IEEE 802
En los años 80, el IEEE
se encontró ante la tarea de establecer un estándar para
las redes de área local, de forma que los usuarios pudieran elegir
a qué fabricante comprar la red sin encontrarse con una incompatibilidad
total entre los equipos. Este propósito se vio frustrado por la
falta de acuerdo entre los integrantes del comité. Al final, el
IEEE se tuvo que conformar con una serie de estándares que cubrían
la parte baja de la arquitectura OSI, hasta el nivel de enlace, y que compartían
el interfaz con el nivel de red (nivel 3 de OSI). De este modo se conseguía
que las aplicaciones de niveles superiores fueran independientes del modelo
concreto de red que hubiera debajo, y así funcionaran sobre todas
ellas. Es decir, se consiguió que la red fuera transparente para
el usuario.
Para lograr este objetivo era
necesario normalizar la arquitectura de protocolos de todos los modelos
de red. Al enfrentarse al nivel de enlace se dieron cuenta de la complejidad
que implicaba. La decisión que tomaron fue dividirlo en 2 subniveles:
-
MAC (Medium Access Control):
-
Controla el acceso al medio de
transmisión, que es compartido. Es diferente para cada tipo de red,
de acuerdo con la técnica que se emplee.
-
LLC: (Logical Link Control):
-
Cubre el resto de las funciones
del nivel de enlace de OSI. Es igual para todas las redes, y por lo tanto
es aquí donde se realiza la convergencia entre todos los modelos.
El servicio que el subnivel MAC
ofrece al subnivel LLC está definido como no fiable y no orientado
a conexión. Sin embargo, el servicio ofrecido por el subnivel LLC
al nivel de red no se establece de forma unívoca, sino que hay tres
opciones, dependiendo del uso que se vaya a hacer de la red:
|
LLC1
|
no fiable
no orientado a conexión
De las tres, es la más
utilizada en la práctica.
|
-
LLC2
|
fiable
orientado a conexión
|
-
LLC3
|
datagramas con asentimiento
|
Otra caracteística del
LLC es que permite el acceso a la red de varias entidades de nivel superior,
a través de diferentes puntos de acceso al servicio, conocidos como
LSAPs (Link Service Access Point). Cada LSAP es una especie de dirección
de acceso al LLC, que las entidades superiores utilizan para identificarse
como origen y destino de información dentro de la máquina.
Las entidades de nivel superior son, generalmente, procesos en ejecución
en un ordenador.
| Primitivas |
Parámetros |
| DL_UNITDATA.request |
Dirección destino
Dirección origen
Datos
Prioridad |
| DL_UNITDATA.indication |
Veamos el servicio que presta
la variante del subnivel LLC más usada, la LLC1, al nivel superior.
Consta de 2 primitivas, una petición de envío de datos (DL_UNITDATA.request)
y un aviso de llegada de datos (DL_UNITDATA.indication). Los parámetros
intercambiados entre ambos niveles son las direcciones (LSAPs) de las entidades
origen y destino, los datos y la prioridad del mensaje.
Veamos en unos esquemas el
funcionamiento de estas primitivas:
Las unidades de datos (PDUs)
tienen la siguiente estructura:
La cabecera LLC tiene la forma:
Las direcciones de la PDU del
MAC pueden ser de 16 ó 48 bits. Veremos en detalle la de 48 bits,
ya que es la más usada en las redes existentes:
universal/local:
Distingue entre direcciones globales
y locales. Las globales son direcciones únicas en el mundo, asignadas
a cada estación por el fabricante, quien anteriormente la consiguió
del IEEE. Permite designar unívocamente a una estación concreta
de una LAN/MAN desde cualquier punto del mundo. Las locales son asignadas
por el administrador de la red, y sólo tienen sentido en el ámbito
de la propia LAN/MAN.
El direccionamiento más
utilizado es el universal.
-
individual/grupo: permite
enviar en 3 modos:
-
unicast (bit=0): destino
único; es el uso general.
-
multicast (bit=1): el destino
es un grupo de usuarios determinado, configurado como tal desde el software
por el administrador del sistema.
-
broadcast (dirección=111...1):
el mensaje llega a todos los usuarios.
-
La difusión de mensajes
(broadcast)
en una red es un tema delicado, ya que puede acarrear problemas. En algunas
situaciones es muy útil, como cuando un terminal se incorpora a
la red y desea localizar a un servidor de ficheros, por lo que debe permitirse
su uso, siempre que sea racional.
I.3.3 - Redes Ethernet (802.3) |
El estándar establece
que está orientada a usarse en entornos comerciales y en pequeños
entornos industriales. Es la más popular de entre las redes de área
local, y parece tener bastante futuro por las versiones de 100 Mbps y 1
Gbps, que ya han sido implementadas con éxito.
Protocolo MAC:
Se trata de una red construída
alrededor del protocolo de acceso al medio CSMA/CD 1-persistente. Como
vimos en el capítulo 2 de este tema, es éste un protocolo
de contienda en el que las estaciones "escuchan" el medio antes y después
de transmitir. Mientras el canal está ocupado se mantienen a la
espera, y en cuanto queda libre transmiten.Si se produce una colisión
se resuelve mediante la técnica BEB (Binary Exponential Backoff).
Consiste en dividir el tiempo posterior a una colisión en ranuras
de duración 2·tau, que es el intervalo de vulnerabilidad.
Tras la colisión, las
estaciones involucradas vuelven a intentar transmitir en una de las 2 ranuras
siguientes, de forma aleatoria. Si se vuelve a producir una colisión,
esas estaciones intentarán transmitir en una de las 4 (22)
ranuras siguientes. Ante nuevas colisiones, las estaciones verán
multiplicado sucesivamente por 2 su margen de repetición, que será
de 2i tras la colisión i-ésima. Esto se mantiene
hasta la 10ª colisión, a partir de la cual el intervalo se
estabiliza en 1024 ranuras. Por último, si se alcanza la 16ª
colisión, la estación tira la toalla e informa al nivel superior
del error de transmisión.
Esta técnica permite
mantener la red en funcionamiento a altas cargas, que es el punto débil
de las técnicas de contienda. Sin embargo, este mecanismo abre la
puerta a la posibilidad de que haya estaciones en espera con más
colisiones en su haber que otras, lo que favorece a los recién llegados
en el intento de hacerse con el canal.
Formato de la trama:
-
Preámbulo (7 octetos):
1010...10 para sincronizar los relojes.
-
Delimitador de principio de trama
(SFD - 1 octeto)
-
Dirección de destino (2
ó 6 octetos)
-
Dirección de origen (2
ó 6 octetos)
-
Longitud de datos (2 octetos):
en número de bits.
-
Datos (0-1500 octetos)
-
Relleno (Padding - 0-46
octetos): asegura que el tamaño mínimo de la trama sea de
512 bits (64 octetos).
-
CRC (Cyclic Redundancy Coding
- 4 octetos): control de errores.
Vemos que no hay ningún
campo de control, al igual que no hay ningún tipo de trama de control.
Limitaciones:
Hay dos limitaciones fundamentales
en las redes Ethernet:
-
Atenuación:
-
La estación A debe ser
capaz de detectar que el mensaje de la estación B, que le llega
debilitado, está en la línea. Por lo tanto, sólo podremos
tender segmentos de línea de longitud máxima l. Para
montar líneas más largas tendremos que usar repetidores.
-
Detección de colisiones:
-
Como vimos al hablar de las técnicas
de acceso al medio por contienda, debe cumplirse que a<<1 para conseguir
una utilización del canal óptima. Dado que a=tp/xp,
es necesario que tp se mantenga pequeño, pero puede crecer
algo más si se aumenta xp.
Además, para asegurar
que se detectan las colisiones, la red debe cumplir: xp>2·tp
Tipos de Ethernet. Nomenclatura:
Los nombres de los diferentes
tipos de Ethernet siguen la misma estructura. Constan de 3 campos:
-
Velocidad (Mbps): 10, 100, 1000
(1G), ...
-
Tipo de transmisión: banda
base (BASE), banda ancha (BROAD).
-
Longitud máxima del segmento
(100m)
Las principales alternativas definidas
en el estándar son:
10BASE5:
Es la primera versión
recogida por la norma. Usa como medio físico coaxial de 50 ohmios,
un cable rígido, de buena calidad y caro. Permite segmentos de 500
metros, hasta un número máximo de 5 segmentos unidos por
repetidores. La distancia máxima es, por lo tanto, 2,5 km (igual
que vimos en el ejemplo anterior).
10BASE2:
Usa un coaxial más
barato, que además es muy flexible. El único inconveniente
es que la longitud máxima de cada segmento se reduce a 200 metros.
Siguen pudiendo conectarse 5 segmentos mediante repetidores.
10BASET:
Usa par trenzado como medio
físico, que es muy barato y, lo más importante, ya existe
en muchos edificios.
Además, se aprovechó
para solucionar el problema que planteaba el que el bus se interrumpiera,
que hacía que la red completa dejara de funcionar (por la falta
de resistencias terminales en los extremos del corte).
Se introdujo el HUB (concentrador), que no es más que una caja con
varios conectores unidos internamente formando un mismo medio físico.
Todos los sistemas están conectados al HUB, formando una configuración
que a simple vista puede parecer de estrella. De esta forma se soluciona
el problema de los cortes, ya que si una de las líneas se interrumpe,
el resto continúa trabajando sin alterarse. Además, se le
introdujeron algunas funciones adicionales, como por ejemplo la generación
de una señal de colisión en caso de detectar actividad en
más de una línea.
Los HUBs pueden interconectarse
jerárquicamente, permitiendo llegar hasta estructuras de 3 niveles
de profundidad. Así se consigue que el número de estaciones
conectadas a la red pueda ser muy elevado, siempre con cuidado de no sobrecargar
la red.
10BASEF:
-
El medio físico es ahora
fibra óptica. La principal ventaja que aporta es que la atenuación
es mucho menor, por lo que se pueden alcanzar mayores distancias sin repetidores.
Debido a su elevado coste, sólo se emplea para interconectar HUBs
lejanos.
Es importante destacar que se
pueden conectar tramos de Ethernet de distintos medios físicos en
una sóla red. Lo único que hay que tener en cuenta es que
va a seguir habiendo un único dominio de colisiones, es decir, que
sólo una estación en todo el conjunto de tramos diferentes
podrá transmitir en un instante dado.
Notas:
En redes Ethernet de alta velocidad
(100BASET, 1000BASET, ...), como el tiempo que tarda en transmitirse un
paquete (xp) disminuye, deberé aumentar el tamaño
mínimo para que el parámetro a no se haga demasiado
grande.
Finalmente, y a modo de comentario,
decir que las tarjetas de Ethernet pueden configurarse en modo promíscuo,
de forma que escuche todos los mensajes que circulan por la red, aunque
no vayan dirigidos a ella. La utilidad de esta función está
en el uso conjunto con un analizador de protocolos, que es un programa
que permite monitorizar todas las tramas de la red, para detectar posibles
averías o conflictos. Sin embargo, esta función también
tiene un peligro, y es que puede ser usada por fisgones para ver informaciones
ajenas.
I.3.4 - Redes Token Bus (802.4)
El estándar establece
que está orientada a usarse en entornos de oficina, pero también
en fábricas, plantas industriales y entornos militares. Fue desarrollada
por General Motors para cubrir la necesidad de una red que diera servicio
a una planta de producción y que reuniera dos características:
-
Tiempo de espera acotado, para
poder cursar tráfico en tiempo real.
-
Topología lineal, para
adaptarse mejor a una cadena de montaje.
Protocolo MAC:
Las características exigidas
a la red hacían que los modelos de red existentes no se ajustaran
a las necesidades: CSMA/CD (Ethernet) incumple la 1ª condición,
y Token Ring la 2ª.
El sistema que se desarrolló,
por lo tanto, es de topología lineal (bus), pero el acceso al medio,
a diferencia de Ethernet, donde es por contienda, se hace por paso de testigo,
una técnica de selección. Veamos cómo es su funcionamiento.
En el bus se establece un "anillo
lógico", es decir, una ordenación de las estaciones a él
conectadas de acuerdo con su número de dirección, de mayor
a menor. De esta forma, la estación con número de dirección
mayor precede a la de segundo mayor número, y sigue a la de número
menor. El testigo se pasa de una estación a otra siguiendo este
orden.
El protocolo debe prever la aparición
de nuevas estaciones y la desaparición de otras, incorporándolas
al anillo lógico y sacándolas de él, lo que hace que
se complique bastante. Además, para garantizar que el tiempo de
respuesta estará acotado, el testigo debe concederse por un tiempo
máximo a cada estación. Pero ya profundizaremos más
adelante en estos temas.
Formato de la trama:
-
Preámbulo (1 ó más
octetos): para sincronizar los relojes.
-
Delimitador de principio de trama
(SFD - 1 octeto): se utilizan símbolos especiales, ya que la codificación
de línea empleada permite 6 símbolos diferentes en cada período
de bit (0, 1 y otros 4).
-
Control (1 octeto): Indica si
la trama es de información o de control en los dos primeros bits
(00 => control; 01 => datos). En tramas de información, los tres
bits siguientes se utilizan para establecer si el destino de la trama debe
responder con un asentimiento nada más recibirla, sin esperar al
testigo (útil en sistemas de tiempo real), o no; los tres bits de
menor peso se utilizan para indicar la prioridad. Más adelante veremos
este tema máás en detalle.
-
Dirección de destino (2
ó 6 octetos)
-
Dirección de origen (2
ó 6 octetos)
-
Datos (0-1500 octetos)
-
CRC (Cyclic Redundancy Coding
- 4 octetos): control de errores.
-
Delimitador de fin de trama (1
octeto): indica el final de la trama.
Funcionamiento del anillo:
Veamos cómo se mantiene
el anillo en funcionamiento a través de las diferentes tramas de
control del protocolo. Éstas son:
-
Solicitar sucesor (SS)
-
Poner sucesor (PS)
-
Resolver contienda (RC)
-
Quién sigue? (QS)
-
Reclamar testigo (RT)
Analicemos varias situaciones
que pueden darse en Token Bus:
-
Entrada en el anillo:
-
Una estación (ya en el
anillo) recibe el testigo.
-
Transmite las tramas que tenga
pendientes.
-
Si sobra tiempo, manda trama SS,
indicando su dirección y la de su sucesor. Pueden pasar varias cosas:
-
Nadie contesta.
-
1 estación contesta, con
una trama PS. Se inserta en el anillo tras la estación que envió
SS y se queda el testigo de forma implícita.
-
Varias estaciones contestan, lo
que produce una colisión, que se resuelve como en CSMA/CD.
-
La estación pasa el testigo,
a no ser que ya se haya hecho implícitamente.
-
Abandono del anillo:
-
Teniendo el testigo en su poder,
la estación que desea salir envía un PS, diciendo a su antecesor
que, en adelante, la estación que le seguirá será
el sucesor del que abandona el anillo.
-
Si una estación se apaga
sin abandonar el anillo, éste se corta. Para solucionarlo, cuando
una estación no consigue pasar el testigo (nadie lo recoge) se entra
en un período de reconfiguración, en el que se utiliza QS,
y al final del cual tenemos un nuevo anillo.
Inicio del anillo:
-
Al tratar de conectarse una estación,
escucha el bus.
-
Si no se escucha nada, manda RT.
-
Si no recibe respuesta, genera
un testigo, iniciando así el anillo.
-
Periódicamente, la estación
enviará una trama SS para formar un anillo real, con más
de una estación.
Gestión de prioridades:
Desde la génesis de Token
Bus se planteó la necesidad de que hubiera distintas clases de tráfico,
cada una con su correspondiente prioridad asociada. Se establecieron 4
clases de tráfico, con prioridades 6 (más alta), 4, 2 y 0
(más baja).
-
Clase 6 => tráfico síncrono
(ha de llegar inmediatamente).
-
Clase 4 => tráfico asíncrono
urgente.
-
Clase 2 => tráfico asíncrono
normal.
-
Clase 0 => tráfico asíncrono
de tiempo disponible.
Se creó un algoritmo para
controlar las prioridades, pero se hizo de tal forma que fuera configurable.
Es decir, que tuviera la suficiente flexibilidad para, a partir de unos
pocos parámetros, ajustarse a las necesidades de cada caso.
El modelo de una estación
tiene 4 colas diferentes en su interior, una para cada grupo de paquetes,
de forma que se puedan manejar de forma independiente las distintas prioridades.
El algoritmo de una estación
es:
-
Recibe el testigo.
-
Transmite sus tramas.
-
Pasa el testigo.
-
Espera el testigo y pasa a 1.
Definimos TRT (Token Rotation
Time) como el tiempo transcurrido entre dos recepciones consecutivas
del testigo. Se mide arrancando un contador al recibir el testigo y parándolo
(para volverlo a arrancar inmediatemente) al recibirlo de nuevo. De acuerdo
con el TRT anterior, una estación va a transmitir de una u otra
forma las tramas. Para ello se sirve de los siguientes parámetros
configurables:
-
THT (Token Holding Time)=
tiempo máximo para transmitir tráfico de clase 6.
-
TRT4 = tiempo máximo para
la rotación del testigo y la transmisión de tramas de clase
4.
-
TRT2 = Ídem. clase 2.
-
TRT0 = Ídem. clase 0.
Para comprender el significado
de estas variables vamos a ver en detalle el paso 2 del algoritmo de la
estación, y después representaremos gráficamente el
algoritmo para varios casos concretos.
-
Transmite las tramas:
-
Transmite datos de clase 6 durante
TXC6 < THT
-
Transmite datos de clase 4 mientras
se cumpla TRT+TXC6+ TXC4 < TRT4
-
Transmite datos de clase 2 mientras
se cumpla TRT+TXC6+ TXC4+TXC2 < TRT2
-
Transmite datos de clase 0 mientras
se cumpla TRT+TXC6+ TXC4+TXC2+TXC0
< TRT0
Representamos ahora el algoritmo
en diferentes casos:
-
n·THT > TRT4
TRT4 > TRT2 > TRT0
Si todas las estaciones tienen
suficiente tráfico de clase 6 para transmitir, no se cursaría
tráfico de ninguna otra clase, ya que éste llenaría
todo el tiempo disponible.
A baja carga, el tiempo de
rotación (TRT) es pequeño y todas las condiciones se cumplen,
por lo que se transmiten datos de todas las clases. A medida que aumentamos
TRT, la primera condición que deja de cumplirse es TRT0, la más
restrictiva. Esto hace que baje el tráfico de clase 0 hasta hacerse
nulo. Después dejarán de cumplirse, progresivamente, TRT2,
TRT4 y, finalmente, THT.
-
TRT4/2 < n·THT <
TRT4
De esta forma sigue habiendo
tráfico de clase 4 aunque el sistema esté a plena carga.
-
n·THT < TRT4/2
I.3.5 - Redes Token Ring (802.5)
El estándar establece
que está orientada a usarse en entornos comerciales y pequeños
entornos industriales. El uso en otros ámbitos, como el doméstico
o en grandes centros de producción, si bien no está contemplado,
no se excluye. Fue creada por IBM.
Protocolo MAC:
Es una red con topología
de anillo físico y que regula el acceso al medio mediante el paso
de un testigo (token). Se trata, por lo tanto, de una técnica
de acceso al medio de selección, lo mismo que Token Bus. Esto hace
que el tiempo de rotación del testigo (i.e. el tiempo de respuesta)
esté acotado. Aunque se trata de un algoritmo distribuído,
hay una estación que tiene un papel especial en la red. Se trata
del monitor del anillo. Se elige aleatoriamente entre todas las estaciones
al arrancar la red, y tiene una serie de funciones asociadas:
-
Garantizar que haya un y sólo
un testigo circulando por el anillo.
-
Retirar tramas del anillo cuando
la estación a quien corresponde no las retira.
-
Añadir un retardo artificial
cuando el testigo no cabe en el anillo, es decir, cuando los primeros
bits del testigo alcanzan a la estación que lo está emitiendo
antes de que ésta termine de hacerlo.
En cuanto al medio físico,
la norma establecía el uso de par trenzado apantallado (STP),
por el que se transmitían datos a 1, 4 y 16 Mbps. Hace algunos años
se amplió el estándar para cubrir el uso de par trenzado
(sin apantallar) a 4 Mbps. No se dice nada de 1 Mbps porque hace ya un
tiempo que se quedó obsoleta. La transmisión es totalmente
digital, empleando codificación de línea Manchester diferencial.
Ésta se caracteriza por representar los bits 0 y 1 como una señal
con una transición en la mitad del intervalo de bit, lo que permite
recuperar mejor el reloj. La distinción entre ceros y unos es que
los ceros presentan una transición al inicio del intervalo de bit,
mientras que los unos no. El uso de esta codificación de línea
hace que haya 2 símbolos distintos de 0 y 1 que se puedan transmitir:
nivel alto (durante todo el intervalo) y nivel bajo.
Los cables no se tienden entre
estaciones, sino que se llevan a un HUB (concentrador), al igual que vimos
para Ethernet. La topología resultante parece, a simple vista, de
estrella, aunque realmente se mantiene un anillo físico. El nombre
que recibe el HUB en la norma es MSAU (Multi- Station Access Unit).
El funcionamiento del anillo
ya se vio al hablar de técnicas de selección. La estación
que desee transmitir debe esperar a recibir un testigo. En ese momento
cambia un bit en la cabecera, lo que convierte al testigo en comienzo de
la cabecera de una trama de datos. A continuación transmite el resto
de campos necesarios para completar la trama de datos. Lo hace teniendo
cuidado de no sobrepasar el tiempo máximo de posesión del
testigo THT (Token Holding Time). El valor por defecto de este parámetro
es de 10 ms. El último paso es liberar el testigo, y esto se hace
cuando se cumplen dos condiciones:
-
Se ha terminado de transmitir.
-
La cabecera ha llegado por el
otro lado.
El orden en que se cumplan
estas condiciones dependerá del valor del parámetro a. Si
a < 1, la cabecera llegará antes de que la transmisión
haya finalizado, mientras que si a > 1 será a la inversa.
En este último caso hay una posible mejora: ETR (Early Token
Release) o liberación del testigo nada más terminar de
transmitir la trama, antes de que la cabecera llegue por el otro lado.
Aunque se aumenta la eficiencia de la red, se presentan varios problemas.
Por un lado, aumenta la vulnerabilidad frente a errores, como el que una
estación deje de funcionar; por otro, la gestión de prioridades,
que veremos más adelante, es mucho más complicada y hay riesgo
de que no se lleve a cabo adecuadamente. Esta técnica se usa en
uno de los procolos de red de área metropolitana, FDDI.
Formato de las tramas:
Hay 2 tipos de trama diferentes:
la trama testigo y la trama de datos.
A continuación explicamos
los campos de que constan:
-
SD (Start Delimiter) (1
octeto):
-
Tiene la forma JK0JK000, donde
J y K son los símbolos distintos de 0 y 1 en la codificación
Manchester.
-
AC (Access Control) (1
octeto):
-
PPP = prioridad (0-7)
-
T = testigo; indica si se trata
de una trama de datos o de un testigo.
-
M = monitor
-
Al pasar la trama por el monitor,
éste pone el bit a 1. Teniendo en cuenta que al generar cualquier
trama se pone a 0, cuando el monitor ve llegar por el canal una con un
1, supone que nadie la ha recogido y la retira del canal, generando un
nuevo testigo a continuación.
-
RRR = reserva (0-7)
El significado de los campos
de prioridad y reserva se verá al hablar de gestión de prioridades
en Token Ring.
-
FC (Frame Control) (1 octeto):
-
Indica, en una trama de datos,
si contiene una trama de control o de información del subnivel LLC.
-
Datos:
-
El máximo viene limitado
por THT. Para el caso THT=10 ms:
-
4 Mbps => 4500 octetos
-
16 Mbps => 18000 octetos
-
CRC (Cyclic Redundancy Coding)
(4 octetos):
-
Control de errores.
-
ED (End Delimiter) (1 octeto):
-
Contiene el bit E, de detección
de errores. Al pasar la trama por las estaciones, éstas calculan
el CRC y, si no coincide, ponen el bit E a 1.
-
FS (Frame Status) (1 octeto):
-
Contiene 2 bits interesantes:
-
bit A (Address Recognized):
indica si el destino ha visto la trama.
-
bit C (Frame Copied): indica
si el destino ha copiado la trama.
Cuando el autor del mensaje recibe
la trama (por el otro lado) comprueba el valor de estos bits:
| A |
C |
| 1 |
1 |
=> el destino está
desconectado o la dirección es errónea |
| 1 |
0 |
=> el destino está
conectado, pero no puede atender el mensaje momentáneamente; habrá
que retransmitir |
| 0 |
0 |
=> todo ha ido bien |
Los bits A y C están duplicados
para proteger frente a errores, ya que el CRC no cubre este campo.
Gestión de prioridades:
Token Ring permite tráfico
de 8 prioridades diferentes, codificadas mediante 3 bits al efecto en el
campo AC de la cabecera de las tramas, tanto de las de datos como los testigos.
Por lo tanto, tendremos testigos de varias prioridades circulando por la
red. Es ésta la forma de regular los tráficos de las diferentes
prioridades: sólo podré transmitir si la prioridad de mis
mensajes es mayor o igual que la del testigo. De todos modos, aún cuando
no pueda transmitir, podré reservar el testigo para mi prioridad
y así transmitir más adelante.
Las normas seguidas por el
protocolo son:
-
Favorecer al máximo la
prioridad más alta, aún a costa de cegar el tráfico de las
prioridades inferiores.
-
?
Vamos a formalizar el algoritmo.
Para ello definimos los siguientes parámetros:
-
Pm = prioridad del
tráfico en la estación m
-
Pr = prioridad del
testigo o trama recibido
-
Rr = reserva del testigo
o trama recibido
El algoritmo que sigue la estación
m-ésima es:
-
Para transmitir, espera un testigo
tal que Pr =< Pm.
-
Al llegar, bien un testigo con
Pr > Pm, bien una trama de datos cualquiera, si Rr
< Pm => Rr = Pm (i.e. reserva el testigo)
-
Si la estación se queda
con el testigo (Pm >= Pr), no modifica la prioridad
de éste (vuelve a salir con Pr, no con Pm),
pero cambia la reserva (Rr), poniéndola a 0.
-
Al generar un nuevo testigo (después
de la transmisión):
-
Pr = máx(Pr,Rr,
Pm) => Ponemos Pm por si me quedan tramas sin transmitir.
-
Rr = máx(Rr,Pm)
=> Ídem.
-
Una estación que eleva
la prioridad del testigo es responsable de devolverla a su valor original
posteriormente.
Ej: Si la sube de 3 a 4, luego
deberá bajarla de 4 a 3.
Para el buen funcionamiento de
la red es necesario que el tráfico de prioridades altas no sea excesivo,
y que se establezcan claramente las prioridades para evitar trampas. |
I.3.6 - Redes FDDI (Fiber Distributed
Data Interface) |
Es una MAN que sigue un estándar
ANSI, pero que fue creada pensando en la compatibilidad con la norma IEEE
802.
Antes de entrar en detalle
con algunos de sus aspectos más importantes, comentamos sus características
generales:
-
Está orientado hacia redes
de área metropolitana, cuya cobertura es de 100 km aproximadamente.
Los dos entornos de aplicación
en los que se pensó son:
-
red backend: concepto tradicional
de red, con varias estaciones conectadas a un mismo medio.
-
red backbone: red cuya función
principal es interconectar otras redes.
-
Velocidad: 100 Mbps.
-
Topología física:
anillo.
-
Técnica de acceso al medio:
paso de testigo.
-
Topología lógica
de anillo.
-
Medio físico: fibra óptica.
-
Alta fiabilidad. Se produce en
media un error cada 2.5·1010 bits y, además, hay
posibilidad de que la red se reconfigure y siga funcionando en caso de
que se rompa una fibra.
-
Soporta del orden de 500 nodos,
aunque no todos transmitiendo al tiempo.
-
Tamaño máximo de
trama: 4500 octetos.
Diferencias entre FDDI y Token
Ring:
FDDI sigue la misma idea que Token
Ring, pero la diferencia en el tamaño de las áreas que se
pretende que cubran las redes con uno u otro estándar hace que haya
diferencias entre ambos. Veamos algunas:
-
En FDDI el testigo se libera nada
más terminar de transmitir una trama, mientras que en Token Ring
se hace cuando se ha terminado de transmitir una trama y, además,
la cabecera de dicha trama ha recorrido todo el anillo. A esta técnica
se la denomina ETR (Early Token Release).
-
En FFDI cada estación tiene
su propio reloj. No se pueden sincronizar los relojes como en Token Ring,
debido a los retardos de propagación. Esto hace que sea necesario
introducir en las estaciones un buffer que actúe a modo de "colchón"
para uniformizar el tráfico.
-
La monitorización del anillo
en FFDI es distribuida. Esto hace que mejore la fiabilidad, ya que los
problemas se detectan mejor y más rápido si el número
de estaciones que se encargan de buscarlos es mayor, además de que
la red está más protegida frente a caídas de nodos
que dependiendo de un único monitor.
Topología
En FDDI la topología física
es de doble anillo.
El que el anillo sea doble
es para tener alta fiabilidad. En caso de que fallase un tramo de fibra
óptica de uno de los anillos, se podría seguir transmitiendo
por el otro. Incluso si se rompiesen los dos tramos de fibra entre dos
estaciones, el anillo se reharía formando un sólo anillo
con las dos fibras, como se ve en la figura.
En la práctica, sólo
algunas estaciones tienen la doble conexión con fibra, ya que esto
resulta muy caro. Así, se distingue entre estaciones con una única
conexión, SAS (Single Attachment Station), y estaciones con
doble conexión, DAS (Dual Attachment Station).
Aparte de las estaciones, otro
tipo de elementos en FDDI son los concentradores, a los cuales se conectan
varias estaciones mediante cable coaxial de buena calidad y con longitudes
inferiores a 100 metros. Los concentradores también pueden tener
una única conexión de fibra, SAC (Single Attachment Concentrator),
o doble, DAC (Dual Attachment Concentrator).
Veamos en detalle un concentrador
de doble conexión (DAC), al que se conectan estaciones de una única
conexión (SAS):
Codificación
El código Manchester (utilizado
en Token Ring) supone, en el peor de los casos, dos flancos por cada bit
enviado, lo cual se traduce en un ancho de banda ocupado en MHz igual al
doble de la velocidad en Mbps. Esto hace que esta codificación sea
inviable en FDDI, pues el ancho de banda ocupado sería igual a unos
200 MHz.
Para codificar los bits se
emplea el código NRZI, que asigna al 1 un cambio de nivel y al 0,
no cambiar de nivel. Y para que haya un número suficiente de transiciones
en el canal, y facilitar así el sincronismo, se utiliza un código
4B/5B. Este último toma las 16 palabras de 5 bits con mayor alternancia
de ceros y unos y las asigna a cada una de las palabras distintas de 4
bits que se pueden formar.
Asignación de capacidades
Vamos a ver cómo se reparte
la capacidad disponible entre los distintos tráficos y estaciones.
Lo primero que advertimos es que no se puede usar el sistema de prioridades
de Token Ring, pues no se puede esperar a que llegue la cabecera de la
trama para generar el testigo debido a la pérdida de tiempo que
supondría.
Se definen dos tipos de tráfico:
-
síncrono: es el más
urgente.
-
asíncrono: se manda si
el tráfico síncrono no consume toda la capacidad de la red.
Definimos también los siguientes
parámetros:
-
TTRT (Target Token Rotation
Time). Es el tiempo de rotación de testigo. Lo acuerdan las
estaciones tras una cierta negociación. Se garantiza que el tiempo
de rotación del token valdrá en media TTRT y que nunca superará
2·TTRT.
-
SA (Synchronous Allocation).
Es el tiempo máximo asignado a cada estación para transmitir
tráfico síncrono. Toma un valor distinto para cada estación.
Los valores de SA son negociados por las estaciones y deben cumplir:
DMAX + FMAX
+ Token Time + Sum(SAi) =< TTRT
Siendo:
-
DMAX = retardo de propagación
del anillo.
-
FMAX = tiempo de transmisión
de la trama más larga.
-
Token Time = tiempo de transmisión
del testigo.
Cada estación va a manejar
internamente las siguientes variables:
-
TRT (Token Rotation Timer)
-
THT (Token Holding Timer)
-
LC (Late Counter)
Con ellas lleva a cabo el siguiente algoritmo:
-
- Al inicio:
-
TRT = TTRT (inicializa un contador)
LC = 0
-
- El contador (TRT) se va decrementando.
Si llega a 0 y no ha llegado el testigo:
-
TRT = TTRT (vuelve a inicializarse)
LC = 1
-
- Si no se recibe el testigo al
llegar TRT a 0 por segunda vez:
-
Se reinicializa el anillo.
-
- Si llega el testigo...
-
antes de TRT=0 (1ª vez) =>
Early
Token
después de TRT=0 (1ª
vez) => Late Token
-
- Si tenemos un Early Token:
-
THT <- TRT
TRT <- TTRT
Es decir, podemos transmitir
tráfico asíncrono hasta que se agote THT, que iniciamos con
el valor que sobró de TRT.
-
- Si tenemos un Late Token:
-
LC = 0
Y sólo transmitimos
tráfico síncrono.
I.3.7 - Redes DQDB (Distributed Queue
Dual Bus, 802.6)
Es la única red de área
metropolitana incluída en la norma IEEE 802. Surgió ante
la necesidad de integrar servicios (datos, voz, vídeo, ...) en una
sola red. Esto planteaba el problema de que los tráficos de voz
y vídeo son isócronos, es decir, que deben tener un ancho
de banda garantizado y un retardo acotado. La primera solución que
se planteó fue adaptar FDDI a estos servicios, con la norma FDDI-II.
Sin embargo, esta vía no cuajó y se acabó definiendo
un nuevo estándar. Pasamos a analizar sus características.
Características de DQDB:
Como hemos dicho, la red se diseñó
para soportar el tráfico síncrono o isócrono. Para
conseguirlo se emplea una topología en doble bus, estando controlado
el acceso al medio por un algoritmo de reserva, que explicaremos con mayor
extensión más adelante. Cada uno de los buses transmite en
un sólo sentido, por lo que las estaciones deben saber en todo momento
si el destino de su mensaje se encuentra a su izquierda o a su derecha,
de cara a enviar la información en el sentido correcto.
La transmisión es digital,
y las diferentes comunicaciones se multiplexan en el tiempo. Se hacen divisiones
de 125 us, y cada estación espera que le llegue una de estas
divisiones (ranuras o slots) vacía para poner su información
en ella. La duración de las ranuras se escogió de forma que
DQDB fuera compatible con el tráfico de voz cursado por la red telefónica.
Las velocidades conseguidas
por la red son de 44,7 y 155 Mbps, siendo esta última la más
usada en la práctica.
Al igual que vimos para FDDI,
DQDB está diseñada para proporcionar una gran fiabilidad,
por lo que es capaz de soportar roturas en los buses. La estrategia que
sigue en estos casos es la de crear nuevas cabeceras de bus en los puntos
de rotura, y seguir funcionando aunque sea en dos (o más) segmentos
independientes. Una forma de resolver la división es construir la
red en forma de doble anillo, con las cabeceras de los buses definidas
en un punto concreto. De este modo, al producirse la rotura, las cabeceras
se desplazan a ambos lados de dicho punto, manteniendo los buses su integridad
(aunque no su orden).
Formato de la trama:
La unidad de datos básica
de DQDB es una trama muy pequeña, de sólo 53 octetos, denominada
slot
en inglés. La razón para un tamaño tan reducido es
que de esta manera se mezclan mejor los diferentes tráficos, algunos
de los cuales constan de paquetes de datos pequeños pero con necesidad
de ser cursados inmediatamente (ej. audio).
Vemos en la figura que la cabecera
o campo de control de acceso, ACF (Acccess Control Field), ocupa
un único octeto, siendo los 52 restantes de información.
Dentro de la cabecera cabe destacar la presencia del bit de ocupado (busy)
en la primera posición, que según su estado indica si la
trama lleva información o está disponible para ser llenada.
Los tres últimos bits de la cabecera forman el campo de reserva
(request),
cuya utilidad veremos en el siguiente apartado.
Algoritmo de reserva:
Cuando una estación decide
transmitir una trama por un bus determinado debe hacer antes una reserva
en el bus de sentido contrario, usando para ello el campo de reserva de
un slot con los bits de reserva vacíos. A continuación, simplemente
debe esperar la aparición de una trama vacía en el bus por
el que desea transmitir para rellenarla con su información.
Con el fin de evitar que las
estaciones situadas al comienzo del bus llenen todos los slots vacíos
que se generen, el algoritmo hace que las estaciones por las que pasa la
reserva se den por enteradas y respeten el espacio solicitado. Con esto
se consigue un funcionamiento similar al de una cola FIFO (First In,
First Out).
Para implementar el algoritmo,
las estaciones se sirven de 2 contadores:
-
RQ (Request Counter):
-
Cada estación tiene uno
por cada bus. Se encargan de contar las peticiones que bajan por el otro
bus, para así saber las tramas vacías que habrá que
descontar antes de poder transmitir en una de ellas.
-
CD (Countdown Counter):
-
Como el anterior, también
hay uno por bus. Lleva el registro de los slots vacíos que debo
dejar pasar por el bus antes de poder transmitir.
El algoritmo es el siguiente:
-
Para transmitir espero una trama
en sentido contrario con el campo de reserva vacío, y lo ocupo.
-
Al reservar, paso el contenido
de RQ a CD. A continuación, pongo RQ a 0 y le dejo seguir contando.
-
Por cada slot libre que pasa por
el bus de transmisión decremento CD en 1.
-
Cuando CD = 0, transmito en la
siguiente trama libre.
Comentarios finales:
La ventaja principal de DQDB es
que, gracias al empleo de una técnica de acceso al medio por reserva,
consigue muy buenos comportamientos tanto a baja carga, donde el retardo
se mantiene pequeño (a diferencia de las técnicas de selección)
y acotado; como a alta carga, donde no hay colisiones (como ocurría
en las técnicas de contienda).
Sin embargo, presenta algunos
problemas, como el que las estaciones situadas en los extremos tengan una
cierta ventaja sobre el resto para hacerse con huecos para transmitir.
En cuanto al estado actual
de DQDB, no se puede hablar de un éxito comercial. Desde el principio
estuvo orientada a redes públicas para dar cobertura metropolitana,
y es en este campo donde se utiliza. Es el sustrato de las redes SMDS (Switched
Multimegabit Data Service).
|
|