El esquema para un sistema final, es decir, aquel que
procesa información y realiza funciones ajenas a las específicas de la red,
es:
Modelo OSI.
En un sistema intermedio, aquel que no procesa
información sino que retransmite lo que los sistemas finales generan, sólo
están presentes los niveles 1 y 2, y en algunas ocasiones el 3.
Vamos a analizar un poco más a fondo cada nivel:
Nivel 0 o Medio Físico:
Su finalidad es transportar la señal. Puede ser un par
de cables, el aire...
Nivel 1 o Nivel Físico:
Su objetivo es garantizar el envío de bits. Debe
resolver problemas como decidir qué voltaje es un '1' y qué voltaje es un
'0' o determinar cuántos microsegundos dura un bit. No está en los cables
pero sí forman parte de este nivel los conectores y la codificación.
Nivel 2 o Nivel de Enlace:
Su objetivo es establecer una conexión fiable entre
dos equipos directamente conectados. Para ello, implementará control de
errores, control de acceso al medio, establecimiento de conexiones...
Nivel 3 o Nivel de Red:
Su principal objetivo es lograr una comunicación
extremo a extremo independiente de las subredes, es decir, de las tecnologías
que se encuentren entre ambos extremos. Para ello, entre otras funciones, debe
administrar los recursos de la red. Se encarga , por tanto, de establecer la
ruta que ha de seguir un paquete, realizar control de congestión...
Nivel 4 o Nivel de Transporte:
Trata de garantizar una comunicación fiable extremo a
extremo sin preocuparse de la red que los une.
Los niveles situados por encima de estos están siendo
muy cuestionados, hasta el punto de que algunos opinan que estos niveles deberían
formar parte de las aplicaciones y no del sistema de comunicaciones.
Diálogo:
Comunicación entre dos entidades.
Entidades gemelas:
Son entidades que se entienden.
Dialogo salto a salto:
Es el diálogo entre dos entidades conectadas al mismo
medio físico.
Salto:
Paso por un vano de transmisión. Entendemos por vano un
tramo de cables con sus repetidores y sus adaptadores.
Diálogo extremo a extremo:
Es el diálogo entre dos sistemas finales.
Gráficamente:
Diálogos entre
entidades.

Nivel de enlace.
Vamos a fijarnos más detenidamente en el nivel de enlace. En primer lugar,
para diseñar este nivel es necesario conocer algunos datos importantes del
nivel físico como son:
Probabilidad de error.
Caudal.
Retardo de Propagación: Tiempo que un bit pasa en la línea.
Retardo de Transmisión: Tiempo que se tarda en poner un
paquete en la línea.
Además es conveniente saber qué interfaz tenemos, es
decir, qué reglas ha de respetar el Nivel de Enlace para hacer uso del Nivel
Físico. Hay que conocer el tipo de conector que une los niveles, sus características
mecánicas, eléctricas y la interfaz funcional para que las señales
signifiquen lo mismo para los dos niveles.
El Nivel de Enlace agrupa los bits en unidades funcionales denominadas tramas.
La información no se envía como un chorro continuo sino en grupos. El
esquema básico es:
Aspecto general de una
trama.
Como ya sabemos el Nivel de Enlace comunica entidades
conectadas a un mismo medio. Dentro de esta función es obligada la detección
y/o la corrección de errores. Ésta se suele hacer utilizando una de las
siguientes técnicas:
FEC
(Forward Error Correction):
Son los códigos de canal, que permiten la detección y
la corrección a partir de unos bits de redundancia.
ARQ
(Automatic
Repeat Request):
Los errores, una vez detectados, se recuperan con
retransmisiones.
Estudiemos las diferentes técnicas ARQ que existen:
a) ARQ parada y espera.
El transmisor envía una trama y espera hasta que
recibe la confirmación por parte del receptor de que la trama llegó
correctamente. Gráficamente:
ARQ con parada y
espera.
Al finalizar el envío de cada
trama el transmisor dispara un TIMER. Pasado un determinado
tiempo, si no ha recibido confirmación retransmite asumiendo que la trama no
llegó correctamente. De forma gráfica:
ARQ con parada y espera
: ejemplo de un error.
Pero el sistema así implementado plantearía un grave
problema: si se pierde el asentimiento, el transmisor retransmitirá la trama
y el receptor, que cree haber asentido la trama anterior, la recibirá como si
fuese nueva. Por tanto, se corre el peligro de duplicar tramas.
Para solucionar este problema,
se numeran las tramas incorporando en ellas un número de secuencia.
(Es algo equivalente a ponerlas nombre.) De esta forma el receptor sabrá si
la trama que le llega es repetición de la anterior o es nueva. Se numeran
tanto las tramas de información como las de asentimiento, aunque en cada caso
el número de secuencia tiene distinto significado.
El significado de la numeración es el siguiente:
Para tramas de
información: El transmisor lleva un contador con el número de
tramas que ha enviado. Si, por ejemplo, ha enviado 3 tramas, a la cuarta le
pondrá el número cuatro. Esta trama la denotaremos en los gráficos como I3
porque se empieza a contar desde 0, es decir, la primera trama será I0, la
segunda I1, la tercera I2 y la cuarta I3.
Aunque así explicado parezca bastante sencillo,
el problema se complicará todavía un poco por hecho de que este número se
introduce en el principio del espacio de la trama reservado para la información.
No podemos numerar las tramas con todos los números naturales que queramos,
sino que se utilizarán, como veremos en breve, los menos números posibles.
(En el caso de ARQ parada y espera que nos ocupa bastará con dos números (0
y 1) para identificar las tramas. Se denomina a este sistema protocolo de bit
alternante.)
Para tramas de
asentimiento: El receptor lleva otro contador con el número de trama
que está esperando, es decir, si ha recibido I0 e I1, estará esperando la
trama I2 y será 2 el número del contador. Al confirmar una trama, se envía
un mensaje de asentimiento o ACK con el número de este contador, lo que
quiere decir que, por ejemplo, al recibir la trama I2 el contador se pondrá a
3 y se confirmará dicha trama enviando un ACK3 y no un ACK2. Con esto, el
transmisor sabrá que el receptor ya tiene la trama I2 y que ha quedado a la
espera de la I3.
b) ARQ con rechazo simple.
El objetivo es aprovechar el tiempo que pierde el
transmisor esperando el ACK o asentimiento. Para ello, lo que se hace es
enviar tramas también durante ese tiempo.
Es fácil suponer que así implementado este sistema
dará problemas. Vamos a ver qué pasaría manteniendo el protocolo de bit
alternante. Por ejemplo, se manda I0 y no se recibe correctamente. A
continuación, si el timer lo permite, se envían I1 e I0, siendo esta última
una trama diferente de la primera pero que tiene el mismo nombre por sólo
disponer del 0 y el 1 como posibles nombres. El receptor, que sigue esperando
la I0 que llegó mal, despreciará I1 por no ser lo que esperaba y aceptará
la segunda I0 como si fuese la primera . Por tanto, se pierden tramas y, lo
que es peor, no se es consciente de ello. Veamos todo esto de forma gráfica:
FIGURA 4.6
Problema de los números de secuencia.
De entrada, hay que añadir más números de secuencia,
más posibles nombres, el problema es decidir cuántos. Los números de
secuencia van codificados y ocupan sitio en la trama. Esto es, cuantos más números
se empleen menos información se podrá mandar en una trama. Hay que buscar,
por tanto, un compromiso entre el rendimiento y la capacidad de transmisión.
Para ello hacemos uso de un concepto muy importante:
Ventana de Transmisión
: Se denomina así al número de tramas que se pueden transmitir antes de
recibir el asentimiento de la primera. En otras palabras, el número máximo
de tramas sin confirmación que el transmisor puede depositar en la red.
El tamaño de la ventana de transmisión vendrá fijado
esencialmente por dos motivos:
El primero es el número de números de secuencia. Esto
es, los posibles nombres que pueden tener las tramas. No se puede reutilizar
el nombre de una trama que no haya sido confirmada pues se corre el riesgo de
perder tramas como hemos visto en el ejemplo anterior.
El segundo es la memoria disponible en el transmisor.
Las tramas que no hayan sido confirmadas deben guardarse en memoria por si
fuese necesaria su retransmisión. Si fijamos un tamaño de ventana mil,
deberemos tener espacio en memoria para almacenar esas mil tramas.
Con este término acabamos de definir el funcionamiento
de los protocolos de ventana deslizante. En el caso de ARQ rechazo simple se añade
una particularidad: al producirse un error y no llegar el asentimiento de una
trama, se retransmite esa trama y todas las que se enviaron a partir de ella.
c) ARQ con rechazo selectivo.
En líneas generales funciona con la misma filosofía
que el caso anterior. También aquí se trata de aprovechar el tiempo que el
transmisor está esperando los asentimientos y también se hace transmitiendo
en ese tiempo. La diferencia está en el método de retransmisión. En este
caso, al producirse un error se retransmite únicamente la trama que no ha
sido asentida. Con esto, se mejora aún más la capacidad de transmisión
aunque se generan fuertes exigencias de memoria en el receptor. Éste debe
almacenar en memoria todas las tramas que lleguen después de una errónea en
espera de que ésta llegue bien para poder ordenarlas posteriormente.
Veamos un ejemplo gráfico de estos dos últimos métodos.
Para ARQ con rechazo simple:
ARQ con rechazo simple.
Para ARQ con rechazo selectivo:
ARQ con rechazo
selectivo.
El rechazo selectivo lleva asociado otro concepto muy
importante:
Ventana de Recepción:
Son las tramas que el receptor puede aceptar después de la última secuencia
completa. En otras palabras, si el tamaño de la ventana de recepción es 3,
las tramas permitidas van desde I0 hasta I7 y se acaba de recibir I2,
aceptaremos que nos lleguen I3, I4 o I5. Cualquiera de ellas sería guardada
si llegase correctamente. Pero si lo que llega es I6 se despreciará aunque
sea correcta por estar fuera de la ventana de recepción. Cuando llegue I3 se
habrá completado otro ciclo desde la I3 anterior hasta la que se acaba de
recibir. Completar un ciclo significa que no faltan tramas intermedias. (Si se
recibe I4 en vez de I3 se acepta pero no se ha completado un ciclo por faltar
I3. Hay que recordar que tampoco se asiente como ya hemos visto). La
consecuencia de completar un ciclo es que la ventana de recepción avanza, es
decir, al llegar I3 nos ponemos a esperar I4, I5 e I6.
Vamos a ver un ejemplo que nos aclare su utilización.
Supongamos que el número de secuencia se codifica en 3 bits, es decir, hay 8
posibles nombres para las tramas (0..7), y que no manejamos el concepto de
ventana de recepción.
En un determinado momento se está esperando la llegada
de trama I0 pero llega la I7. ¿Qué ha ocurrido? El problema de forma gráfica:
Problema con la ventana
de recepción.
Existen dos posibilidades :
Primera posibilidad:
Se ha perdido la trama I0 que estamos esperando y también las tramas I1, I2,
I3, I4, I5 e I6. La que ha llegado es una trama I7 nueva que tendremos que
almacenar hasta que lleguen las anteriores.
Primera posibilidad.
Segunda posibilidad:
Se ha perdido el asentimiento de la trama I7, ha saltado el Timer
correspondiente y la trama I7 recibida es la retransmisión de la anterior.
Como ya había llegado bien se desecha.
Segunda posibilidad.
No hay forma de saber lo que ha ocurrido. Si hubiésemos
utilizado el concepto de ventana de recepción esto no hubiera sucedido.
Veamos cómo: Basta con fijar la ventana una unidad menor que el número máximo
de secuencia. En este caso la fijamos a 6, lo que significa que, en la figura
4.10, que la ventana de recepción quedaría cubierta con I6. Por tanto, la
trama I7 se despreciará siempre. En el primer caso, ya no la aceptaremos
porque está fuera de la ventana de transmisión y en el segundo por ser
retransmisión de una que ya había llegado bien. Aunque no sabemos lo que ha
pasado, ya sabemos lo que hay que hacer : rechazar.
En realidad, las cosas funcionan correctamente si se
cumple:

donde
es
el nº máximo de secuencia,
es
el tamaño de la ventana de transmisión y
es
el tamaño de la ventana de recepción.


Protocolo
de envío continuo.
Consiste en diseñar los tamaños de ventana de forma
que el transmisor sólo se vea obligado a parar en caso de producirse un
error. Es decir, pueda transmitir sin pausa en ausencia de fallos.
Interconexión de redes.
Problema:
Pretendemos que dialoguen usuarios que están
conectados a redes de distintas tecnologías (p.ej.: Ethernet, Token Ring,
FDDI, X.25, Frame Relay, ATM...).
Dificultades:
Pueden estar soportadas por medios físicos diferentes
(fibra óptica, coaxial fino o grueso, par trenzado, etc.)
Pueden tener diferentes velocidades (FDDI a 100 Mbps y
Ethernet a 10 Mbps).
Su MTU (Maximun Transmition Unit), es decir el tamaño máximo
de transmisión, también puede ser diferente.
Unas subredes pueden ser orientadas a conexión y otras
no.
En unos casos el servicio que ofrezcan será fiable
(X.25) y en otros no (Ethernet).
Soluciones:

Sistemas intermedios: Son sistemas
auxiliares que interconectan subredes y que no incluirán todos los niveles
OSI (probablemente hasta el 3 o menos).
Pueden ser desde simples conectores a routers
muy complejos.
La idea es que sólo se puede establecer un diálogo
nivel a nivel cuando estos son iguales. Cuando no lo son, es necesario el
sistema intermedio para convertir de un protocolo a otro.
Según el nivel que marca la diferencia sea el físico, el de enlace o el de
red, tendremos:

Todos los niveles son iguales salvo el nivel físico.

A estos dispositivos se les llama:
Repetidores: son activos y como tales
amplifican la señal además de convertir formatos.
Adaptadores de impedancias: son pasivos.
Utilidades:
Red Ethernet con coaxial a un lado y par trenzado al
otro.
Si tenemos varios edificios que cablear, puede que no
sea posible unirlos directamente, pues la cobertura de una red Ethernet no
pasa de los 100-200 metros.
Lo que sí podemos hacer por ejemplo, es usar un par de
repetidores por edificios a conectar y unirlos con fibra óptica.

Utilización de Hubs, que amplifican y distribuyen todas
las señales que les llegan a todas las estaciones conectadas.
Conceptualmente es igual que si todos estuvieran conectados al mismo cable.

Así pues este tipo de interconexión permite solucionar problemas tanto de
incompatibilidad del medio como de cobertura.
En este caso es el nivel 2 el que diferencia ambas subredes (si además el 1
es diferente usaríamos esto mismo).

Estos sistemas intermedios (denominados bridges
o puentes) deben ser inteligentes (CPU + memoria),
pues deben entender y procesar las tramas de nivel 2.
Funcionamiento:

El bridge se dedica a escuchar las tramas del Token
Ring(TR) y de Ethernet.
Cada trama que llega se copia en su memoria interna.
La CPU analiza C2 (cabecera de nivel 2 del TR en este
caso). Si el destino está en el TR descarta la trama, pues se supone que de A
a B llegará sin problemas.
Si el destino está en la red Ethernet, crea una cabecera C2' (cabecera
Ethernet de nivel 2) convirtiendo C2 y rellena el campo de datos con los datos
originales (los de C2).
Problemas:
Si los protocolos son muy distintos, no vale este
esquema.
Si la longitud máxima de las tramas es diferente,
tengo que obligar al que la tiene mayor a transmitir sólo a la longitud máxima
del menor (o bien usar un router, pero ya a nivel 3).
Utilidades:
Entornos locales (Ethernet, Token Ring...), que han
sido ambos estandarizados por el mismo organismo (IEEE) y tienen una
estructura de cabeceras parecidas.
Util para redes iguales con distintas velocidades
(frecuente en TR).
También se usa para unir varios segmentos del mismo
tipo (Ethernet por ejemplo) con el fin de obtener mayor privacidad. El tráfico
local de cada segmento no será enviado a otros.
Sólo se enviarán los que tengan dirección destino en
otro segmento.
(De otra forma podría pinchar el cable y ver todo el tráfico que
circule e incluso utilizar analizadores de protocolo).

Interconexión a nivel de red.

Los sistemas intermedios encargados de realizar esta
función se llaman routers, encaminadores, enrutadores (...)

NOTA: Se advierte que ni TR ni
Ethernet tienen nivel 3. Se han incluído en el ejemplo, por hacer un
paralelismo con el caso anterior. Se entiende así que lo que representan son
dos subredes generales cualesquiera.
Se observa que las PDUs de nivel superior se encapsulan en el campo de
datos de los niveles inferiores.
Funcionamiento:
Después de copiar en memoria la trama de nivel 2, corta
y tira su cabecera.
Del campo de datos saca la trama de nivel 3 y analiza su
cabecera (C3) en la CPU.
En base a C3:
Encaminará.
Generará C3' y en definitiva otra PDU de nivel 3 (con
los mismos datos que tenía la de C3).
Generará tramas de nivel 2 con C2' (la dirección
origen de C2' será el punto (1) de la figura y no la del TR como ocurría en
el caso anterior).
Antes generábamos C2' desde C2. Ahora C2 se tira y C2'
se genera desde C3'.
Problema:
Es muy difícil de implementar y sólo es posible en el
caso de redes muy parejas.
Solución:
Enterrar los problemas de incompatibilidad bajo un nuevo
nivel.
Se añadirá un nuevo nivel (Nivel de Interred) que estará
en todos los sistemas y que evitará la conversión de un protocolo a otro.

Funcionamiento:

El paso de CI a CI' ya no es una conversión de
protocolos, pues ahora estamos siempre en el mismo protocolo.
Serán muy parecidas (a excepción de algunos contadores, como el del contador
de saltos, etc.).
C3' y C2' se generarán desde CI' (CI). C3 y C2 se tiran.
Problema:
Mayor número de niveles implica más cabeceras y más
datos de control. Como consecuencia de ello la eficiencia disminuye.
METODOS DE INTERCONEXIONES DE REDES.
La figura muestra como se relaciona cada producto de
interconexion de redes con el modelo de referencia OSI (Open System
Interconexion). Las tareas que estos productos realizan sobre la red estan
relacionados con los niveles con los que son compatibles en la jerarquia de
protocolos. Cuando mas alto se encuentre un producto en la pila de protocolo
mas caro y complejo es.
- Repetidores : Estos funcionan en el nivel físico. Envían paquetes desde
un sector de red primario (Cable) a otro extremo. No interactúan con los
protocolos de mas alto nivel.
- Puentes : Interconectan dos o mas redes, pasando los paquetes entre ellas.
Soportan distintos tipos de redes.}
- Routers : Estos son similares a los puentes.
- Gateways (Pasarela): Funcionan en los niveles mas alto de la jerarquía de
protocolos, permitiendo que puedan interconectarse los sistemas y redes que
utilizan protocolos incompatibles.

PROTOCOLOS DE COMUNICACION.
Hace unos cuantos años parecia como si la mayor parte
de los fabricantes de ordenadores y software fueran a seguir las
especificaciones de la Organizacion internacional para el estandar
(International Organization for Standarization, OSI). OSI define como los
fabricantes pueden crear productos que funcionen con los productos de otros
vendedores si la necesidad de controladores especiales o equipamientos
opcional. Su objetivo es la apertura. El unico problema para implantar el
modelo ISO/ISO fue que muchas compañias ya habian desarrollado metodos para
interconectar sus hardware y software con otros sistemas. Aunque pidieron un
soporte futuro para lo estandares OSI, sus propios metodos estaban a menudo
tan atrincherados que el acercamiento hacia OSI era lento o inexistente.
Novell y potras compañias de redes expandieron sus propios estandares para
ofrecer soporte a otros sistemas, y relegaron los sistemas abiertos a un
segundo plano. Sin embargo, los estandares OSI ofrecen un modo util para
comparar la interconexion de redes entre varios vendedores. En el modelo OSI,
hay varios niveles de hardware y el software. Podemos examinar lo que hace
cada nivel de la jerarquia para ver como los sistemas se comunican por LAN.
NIVEL DE PROTOCOLO .
Los protocolos de comunicaciones definen las
reglas para la transmision y recepcion de la informacion entre los nodos de la
red, de modo que para que dos nodos se puedan comunicar entre si es necesario
que ambos empleen la misma configuracion de protocolos.
Entre los protocolos propios de una red de area
local podemos distinguir dos principales grupos. Por un lado estan los
protocolos de los niveles fisico y de enlace, niveles 1 y 2 del modelo OSI,
que definen las funciones asociadas con el uso del medio de transmision: envio
de los datos a nivel de bits y trama, y el modo de acceso de los nodos al
medio. Estos protocolos vienen univocamente determinados por el tipo de red
(Ethernet, Token Ring, etc.). El segundo grupo de protocolos se refiere a
aquellos que realizan las funciones de los niveles de red y transporte,
niveles 3 y 4 de OSI, es decir los que se encargan basicamente del
encaminamiento de la informacion y garantizar una comunicacion extremo a
extremo libre de errores.
Estos protocolos transmiten la informacion a
traves de la red en pequeños segmentos llamados paquetes. Si un ordenador
quiere transmitir un fichero grande a otro, el fichero es dividido en paquetes
en el origen y vueltos a ensamblar en el ordenador destino. Cada protocolo
define su propio formato de los paquetes en el que se especifica el origen,
destino, longitud y tipo del paquete, asi como la informacion redundante para
el control de errores.
Los protocolos de los niveles 1 y 2 dependen del
tipo de red, mientras que para los niveles 3 y 4 hay diferentes alternativas,
siendo TCP/IP la configuracion mas extendida. Lo que la convierte en un
estandar de facto. Por su parte, los protocolos OSI representan una solucion
tecnica muy potente y flexible, pero que actualmente esta escasamente
implantada en entornos de red de area local.

La jerarquia de protocolo OSI.
PAQUETES DE INFORMACION.
La informacion es <<embalada>> en
<<sobres>> de datos para la transferencia. Cada grupo, a menudo
llamado paquetes incluye las siguientes informaciones - Datos a la carga. La
informacion que se quiere transferir a traves de la red, antes de ser añadida
ninguna otra informacion. El termino carga evoca a la pirotecnia, siendo la
pirotecnia una analogia apropiada para describir como los datos son
<<disparados>> de un lugar a otro de la red.
- Direccion. El destino del paquete. Cada segmento de la red tiene una
direccion, que solamente es importante en una red que consista en varias LAN
conectadas. Tambien hay una direccion de la estacion y otra de la aplicacion.
La direccion de la aplicacion se requiere para identificar a que aplicacion de
cada estacion pertenece el paquete de datos.
- Codigo de control. Informa que describe el tipo de paquete y el tamaño. Los
codigos de control tambien codigos de verificacion de errores y otra
informacion.
JERARQUIA DE PROTOCOLO OSI.
Cada nivel de la jerarquia de protocolos OSI de
la fig. 1.5 tiene una funcion especifica y define un nivel de comunicaciones
entre sistemas. Cuando se define un proceso de red, como la peticion de un
archivo por un servidor, se empieza en el punto desde el que el servidor hizo
la peticion. Entonces, la peticion va bajando a traves de la jerarquia y es
convertida en cada nivel para poder ser enviada por la red.
- Nivel Fisico.
Define las caracteristicas fisicas del sistema
de cableado, abarca tambien los metodos de red disponibles, incluyendo Token
Ring, Ethernet y ArcNet. Este nivel especifica lo siguiente :
- Conexiones electricas y fisicas.
- Como se convierte en un flujo de bits la informacion que ha sido
paquetizada.
- Como consigue el acceso al cable la tarjeta de red.
- Nivel de Enlace de Datos.
Define las reglas para enviar y recibir informacion a traves de la conexion
fisica entre dos sistemas.
- Nivel de Red.
Define protocolos para abrir y mantener un camino entre equipos de la red. Se
ocupa del modo en que se mueven los paquetes.
- Nivel de Transporte.
Suministra el mayor nivel de control en el proceso que mueve actualmente datos
de un equipo a otro.
- Nivel de Sesion.
Coordina el intercambio de informacion entre equipos, se llama asi por la
sesion de comunicacion que establece y concluye.
- Nivel de Presentacion.
En este los protocolos son parte del sistema operativo y de la aplicacion que
el usuario acciona en la red.
- Nivel de Aplicacion.
En este el sistema operativo de red y sus aplicaciones se hacen disponibles a
los usuarios. Los usuarios emiten ordenes para requerir los servicios de la
red.