www.cutb.edu.co
CAPA 3: REDES
Capa 3: Redes

El nivel de red se ocupa del manejo de bloques de datos desde la estación origen a la estación destino. La entidades de nivel 3 deben ser capaces de distinguir la topología de la red y encontrar el camino más adecuado para comunicar el origen con el destino.

Las condiciones de encaminamiento deben tomarse teniendo en cuenta el funcionamiento de la red. Puede darse el caso de que emisor y receptor estén en redes distintas.

Funciones del nivel de red: funciones de encaminamiento, comprobar que no se originen problemas de congestión, interconectar distintas redes. La principal misión del nivel de red es proporcionar servicios al nivel de transporte.

IMP: procesador dedicado a las comunicaciones.

Como la subred es un conjunto de entidades, los servicios del nivel de red son los servicios que ofrece la subred.

En un caso ideal, lo que se desea es que los servicios del nivel de red cumplan las siguientes características: independientes de la estructura de la subred, el nivel de transporte no tiene porque conocer el número, tipo o topología de las subredes que atraviesan sus datos, deben poner a disposición de sus usuarios un esquema de direccionamiento uniforme.

¿Cómo construir un circuito virtual sobre una red de conmutación de paquetes?

Cada datagrama se puede encaminar por separado pero todos deben llevar en su cabecera la dirección de destino. Si se utiliza un circuito virtual cada paquete llevará una identificación del circuito virtual en lugar de la dirección de destino. En la fase de establecimiento del circuito se toman las decisiones de encaminamiento. Normalmente se empleará mejor el ancho de banda cuando se utilice un circuito virtual, además en este caso todos los paquetes llegan en el mismo orden en que fueron enviados.

¿Cómo se establecen los circuitos virtuales?

Cada IMP mantiene una serie de tablas donde se almacena la información de los circuitos virtuales que atraviesan cada uno de estos IMP. Para esto tenemos que utilizar un número diferente para cada circuito virtual, aunque no es lo más correcto.

Algoritmos de encaminamiento

El nivel de red está justificado cuando existe una subred. Las decisiones de encaminamiento se basan en una estimación de la distancia entre el host que toma la decisión y el host destino. Se toman en base a una métrica establecida.
Métricas: número de saltos entre nodos, capacidad de los canales, distancia entre nodos, retardo medio de transmisión y almacenamiento.

Las decisiones de encaminamiento se toman en el momento del establecimiento del circuito virtual o cuando se recibe un paquete en el caso de datagramas.

Los algoritmos de encaminamiento se dividen en dos tipos:

1. Algoritmos adaptativos, permiten cambiar sus decisiones en función de variaciones en la topología o tráfico de la subred. En función de en qué lugar se recoja la información que va hacer variar las decisiones, se dividen en:
· Algoritmos centralizados, usan información de toda la subred pero requieren de un controlador central que se encarga de tomar las decisiones y distribuirla a todos los IMP.
· Algoritmos aislados, usan información local a ese IMP (longitud de las colas de salida, etc.).
· Algoritmos distribuidos, son una mezcla de ambos, basan sus decisiones en información de los IMP próximos.
2. Algoritmos no adaptativos (estáticos), son aquellos que se plantean a priori y se cargan en
los IMP, que siempre funcionan igual independientemente de que se produzcan cambios en la topología o en el tráfico que atraviesa la subred.

Encaminamiento por inundación

Cuando un IMP recibe un paquete lo envía por todas las líneas excepto por aquella que le ha llegado. Provoca la saturación de la subred sino se limita, ya que existen muchos duplicados.

Ventaja: seguro que llega a su destino y por el camino más corto.

Utilizado en interconexión de redes de área local. Se puede utilizar con algunas modificaciones que mejoran su rendimiento, paquetes con contador de saltos que se va decrementando en cada salto y llegan a eliminarse de la red cuando el contador llega a cero. Un buen número para el contador es el del diámetro (camino más largo que hay entre dos IMPs) de la subred.

Otra mejora: añadir un número de secuencia a cada paquete que el IMP recibe del host para que solo transmita el paquete una vez. En este caso existe el problema de que los IMP deben saber los números de secuencia que han utilizado.

Algoritmo no adaptativo, ya que las decisiones de encaminamiento están decididas a priori.

Encaminamiento por el camino más corto

El IMP cuando le llegue un paquete lo enviará por el camino más corto que lo una con el destino, para esto hace uso de una de las métricas vistas anteriormente.

El algoritmo será estático si se coloca las distancias a priori en cada IMP; pero si se produce un refresco de estas distancias, el algoritmo será adaptativo.
Cada IMP tiene una tabla de encaminamiento, en la que se indica por que línea saldrá cada paquete según su destino.

En caso de que caiga alguna línea, existirá la probabilidad de encaminar el paquete.

Encaminamiento centralizado (Enc. Delta)

Existe un controlador central de encaminamiento, un IMP recibe información de la red y construye las tablas de encaminamiento y las manda a los IMP.

Problema: si cae el organismo central deja de funcionar.

Los IMP deben de enviar información al controlador central por lo que parte del ancho de la subred se usa en su gestión. Si queremos que el sistema sea flexible y se cambie con frecuencia se tendrá mucho tráfico de información con datos para la gestión de la subred.

En el encaminamiento delta, cada IMP mide el coste de cada una de las líneas de salida enviando paquetes de prueba, con esta información se hace un paquete y se manda al controlador central, el cual con esta información que recibe calcula los k mejores caminos que unen cada par de IMPs que forman parte de la subred.

Con esto se transmiten las tablas y cada IMP toma las decisiones entre los caminos equivalentes.

Encaminamiento aislado

Las decisiones de encaminamiento las toma cada IMP de forma local. En función del destino escogerá la línea adecuada basándose en información local. El algoritmo es adaptativo (o al menos puede serlo). Puede verificar el estado de las colas de salida o comprobar el estado de los enlaces para encaminar los paquetes.

Tiene dos variantes:

Algoritmo de la patata caliente: los paquetes se encaminan por la línea que tiene la cola menor. No se tiene en cuenta el destino, por lo que es muy poco eficiente. Puede ser útil en combinación con otros algoritmos, como por ejemplo el algoritmo del camino más corto.

Algoritmo de aprendizaje retrospectivo: cada paquete lleva dirección origen y destino y al llegar cada paquete puede ir construyendo sus tablas de alcanzabilidad (según líneas). Si llega un paquete de Y, por la línea Y, sabremos que Y será alcanzable por Y. ¿Será adaptativo? En cierto modo si, siempre y cuando le llegue un paquete por otra línea. Las tablas deben actualizarse periódicamente. Es ampliamente utilizado en LAN. Si llega un paquete que no sabe dónde enviar, utiliza inundación. Es una combinación de inundación y aprendizaje retrospectivo, lo que se utiliza en puentes transparentes de LAN.

Mejora: aprender de los orígenes y saber además lo lejos que está (con un contador de
saltos). Deberá tener una tabla con todos los destinos y todas las líneas para tener todas las
posibles configuraciones. Puede que no lleguen paquetes por todas las líneas, con lo que la
tabla estará incompleta, pero las decisiones se tomarán en base a los datos disponibles.

Encaminamiento distribuido

La información que utiliza el IMP está basada en información local más información recibida de otros IMP cercanos a él. Todos los IMP saben cuales son sus adyacentes, será posible mediante intercambios de información.

Problema: hay una parte del ancho de banda que está consumido por el tráfico de tablas en la subred.

Encaminamiento jerárquico

En redes de gran tamaño con muchos IMP se necesitan grandes recursos para mantener las tablas de encaminamiento y el tipo de proceso de los IMP también será mayor. Una solución es dividir la subred en áreas, donde cada IMP sólo tiene información de su área y cómo acceder a las restantes áreas. Así, la tabla de encaminamiento no necesita una entrada para cada destino, sino que tiene una entrada por IMP de su región y una para cada región.

Utilizado en internet. El coste es que para una determinada región no se elija el mejor camino para algunos IMP concretos. En las subredes de este estilo suele haber más de dos únicos niveles.


Control de la congestión

Degradación que se produce cuando tiene demasiados paquetes circulando por la subred.

Tráfico ofrecido: cantidad de información que los hosts vierten en la subred para su encaminamiento. La subred tiene una capacidad máxima limitada, ya que sus componentes están limitados.

El número de paquetes que la red ha procesado es el tráfico cursado. Cuando el tráfico ofrecido llega a la capacidad de la subred se produce la congestión y el funcionamiento de la red se deteriora. Además la congestión se realimenta y empeora en funcionamiento.

La congestión puede producirse por:

- Congestión de IMP, se llena la cola de un IMP, el emisor intenta reenviar, no vacía los buffers, etc.
- Insuficiente capacidad de proceso en los IMP.
- Velocidad insuficiente de las líneas de salida.

Si las líneas de salida son muy lentas se colapsará el IMP porque recibirá muchos datos y no los podrá enviar.

Una causa más general es tomar malas decisiones de encaminamiento. Pueden sobrecargar un IMP determinado. La diferencia con el control de flujo del nivel 2 es que ahora hablamos de la subred como un conjunto.

Mecanismos para evitar la congestión:

- Reservas de buffers (en subredes de circuito virtual). Al mismo tiempo que se crea el circuito, se reserva espacio para los paquetes que van a circular por ese circuito virtual. Si un determinado paquete ya no cabe, puede intentar crear otro circuito.

- Rechazo de paquetes (en redes con servicio de datagrama). Cuando un IMP no puede procesar un determinado paquete simplemente lo rechaza y se encamina por otro lado.

- Limitar el número de paquetes que pueden circular o “control isarrítmico de la congestión”. Se ponen a circular unos paquetes de permiso. Cuando un host quiere transmitir retira uno de estos paquetes, envía, el destino recoge los datos, los procesa, y regenera el paquete de permiso. Esto garantiza que el número de paquetes es fijo pero igual se puede congestionar un IMP. Además, ¿cómo se hacen circular los paquetes para que toda estación pueda transmitir? y además, si se pierde un paquete estamos limitando el tráfico por debajo del máximo del mecanismo de purga y reinicialización de la red.

- Paquetes de restricción. Cada IMP monitoriza sus líneas de salida y hace una estimación de su uso, si se sobrepasa un umbral, avisa a las estaciones que le obligan a utilizar esa línea de salida mediante un paquete de restricción. El host origen disminuirá en un porcentaje el tráfico hacia el host destino.


Protocolo IP - Internet Protocol

TCP / IP : son un conjunto de protocolos:

- Telnet FTP, http.
- TCP / UDP.
- IP ICMP.
- ARP.
- RARP.

Todos estos protocolos se originaron en los años 80.

IP es un protocolo sin conexión y no fiable. A la unidad de datos del nivel de red, el protocolo IP la denomina datagramas.

NIC (Network Information Center): Organismo encargado de gestionar las direcciones de Internet. La dirección de red se indica poniendo los octetos del host a cero. Una dirección con todos los bits del host a uno hace referencia a todas las máquinas de la red.

Direccionamiento IP

Una dirección IP está compuesta por dos partes: un identificador de red y un identificador de host. Todas las direcciones IP se componen de cuatro octetos, y en función del espacio destinado a cada parte se definen varias clases de direcciones:

Direcciones de clase A: formadas por un octeto para el identificador de red y tres para el identificador del host. Se caracterizan porque el primer bit es un cero.

Se pueden crear 125 redes de clase A, ya que la dirección todo ceros y todo unos no se puede utilizar.

Direcciones de clase B: formadas por dos octetos para el identificador de red y dos para el identificador del host. Se caracterizan porque comienzan por 10.

Tendremos 214 - 2 redes, cada una de ellas de 65.534 máquinas.

Direcciones de clase C: formadas por tres octetos para el identificador de red y un único octeto para el identificador del host.

Tendremos 2.097.152 redes de 254 máquinas cada una.

Al igual que en los casos anteriores no son válidas las direcciones de host formadas todas por ceros o por unos.

Direcciones de clase D: direcciones multicast, hacen referencia a un grupo de estaciones destinatarias.

Puede darse el caso de que no se ajuste la dirección asignada a nuestras necesidades, para esto tenemos la máscara de subred que indica el número de bits de una dirección IP que se destinan al identificador de red.

Máscara de subred para direcciones de la clase:
A: 255.0.0.0
B: 255.255.0.0
C: 255.255.255.0

Es posible utilizar parte de los bits que en principio identificarían al host para identificar la red. En lugar de usar la máscara de bits por defecto se amplia el número de bits.

Ejemplo:
Clase B
150 128 0 0 - dirección IP
111111 111111 0 . . . 0 0 . . . 0 - máscara por defecto.
111111 111111 10 . . . 0 0 . . . 0 - máscara extendida.
Esto indicará que habrá dos redes:
150.128.00 . . . 0
150.128.10 . . . 0

No se puede usar un solo bit para extender la máscara, en este caso se debería expander la máscara en dos bits.

- Siempre que se usa una máscara extendida se perderá espacio de direccionamiento.
- Cuando más extendamos la máscara, menos espacio de direccionamiento perderemos.

¿Cómo sabe una estación si otra estación está en la misma red que ella?
Mirando la parte de la dirección que identifica la red.

Sabemos si están en la misma red haciendo un AND entre las direcciones de las estaciones y la máscara y comprobando que obtenemos el mismo resultado, es decir, la dirección de la red.

Razones para dividir una red en varias subredes:

- Eficiencia.
- Seguridad.
- Mejorar la gestión.

En la máscara de la subred, se marca con unos los bits del identificador de red y con ceros los bits del identificador del host.

Cuando utilicemos direcciones IP no podremos usar direcciones con todo ceros o todo unos en el identificador de red, el del host, o en la máscara de la subred.

Cuando se intercambia información entre dos estaciones dentro de la misma red se utilizan encaminamiento directo, en cambio si las estaciones no se encuentran en la misma red se usa encaminamiento indirecto ya que se necesita la participación de un tercer elemento denominado gateway o router (encaminador).

Protocolo ICMP (Internet Control Message Protocol)

Es el que detecta los errores y los reporta al nodo que ha originado el datagrama. Para su transmisión los mensajes de este protocolo se encapsulan en datagramas IP.

El mensaje ICMP lleva información sobre la causa del error y los 64 primeros octetos del campo de datos del datagrama que ha causado el error.

Causas de error que producen mensajes ICMP:

- Tiempo de vida igual a cero, TTL = 0.
- Parámetro desconocido en el encabezamiento.
- Destino inalcanzable.
- Congestión del nodo (“source quench”).

Otro problema con el que nos encontramos es la transmisión de datagramas IP sobre redes de área local.

Protocolo ARP (Address Resolution Protocol)

Cuando no sabe que dirección física corresponde a una dirección IP, envía una trama MAC a las demás estaciones que forman la red, indicando la dirección IP que busca. La estación que tiene esa dirección IP contesta indicando su dirección física.

El protocolo ARP mantiene una tabla con las equivalencias entre direcciones IP y direcciones MAC.

RARP (Reverse Addres Resolution Protocol)

Se usa en estaciones sin disco en las que no se les puede grabar su dirección IP, las cuales obtienen su dirección IP difundiendo su dirección física. Una estación mantendrá una tabla de equivalencia de direcciones y responderá con la dirección IP asociada.

DHCP (Dinamic Host Configuration Protocol)

Existe un servicio DHCP que manda las direcciones IP a las estaciones que quiere conocer su dirección.


Interconexión de redes

Cualquier dispositivo que se dedica a la interconexión de redes lo denominaremos relé.

Relé: dispositivo físico y lógico que sirve para llevar a cabo la unión de dos redes a cualquier nivel.

Clasificación de los relés:

Capa o Nivel OSI---------------------Relé
Físico-----------------------------------Repetidor
Enlace----------------------------------Puente (Bridge)
Red-------------------------------------Encaminador (Router)
Transporte----------------------------Pasarela (Gateway)
o superiores

Gateway: denominado también conversor de protocolo.

1º) Repetidor
Dispositivo más elemental para la conexión de dos redes. Actúa a nivel 1 y sirve para regenerar la señal que transmite los datos. Son dispositivos hardware sin posibilidad de configuración.

Los dos medios físicos que conecta deben ser iguales.

2º) Puentes
Son un relé que opera a nivel de enlace.
Un puente podrá conectar dos redes ethernet.

El puente no modificará ni el contenido de las tramas ni su formato, simplemente decidirá si una trama que circula por un medio físico va a pasar al otro segmento o no. Solamente se añadirá una pequeña parte denominada protocolo de puente, que es quien tomará las decisiones.

Cada red tiene diferente topología, diferente formato y longitud de trama, diferentes velocidades de transmisión; por ejemplo, la 802.5 establece un sistema de prioridades que no establece la 802.3. En la 802.5 las tramas indicaban si había sido reconocidas y copiadas, algo que en este caso deberá realizar el relé. El relé deberá tener dos subniveles de acceso al medio distintos.

El nivel físico capturará la trama y la pasará al MAC que la reconoce y extrae el campo de datos y lo pasa al control de enlace lógico que encapsulará toda la información en una trama de la red a la que se va a pasar esa información. Una trama del segmento de red 802.5 puede dar lugar a varias tramas del segmento 802.3

Los puentes más comunes son los que unen dos redes iguales.

¿Por qué puede ser interesante unir distintos segmentos de red?

Fiabilidad: si tenemos muchos equipos conectados a una red, un corte en el cable deja inservible toda la red, en cambio si se segmenta la red solo produciría problemas en su segmento.

Prestaciones: si se realiza una buena división de la red de manera que se consiga minimizar el tráfico intersegmentos y maximizar el tráfico intrasegmentos.

Seguridad: a veces es conveniente que el tráfico de una red no sea accesible desde otro segmento de la red.

Ubicación geográfica: si cada segmento de red está separado de los demás, será necesario recurrir a dispositivos que proporcionen esa conexión remota.

Puentes transparentes

Se basan en el principio de que para hacerlo funcionar solo hace falta conectarlo a los dos segmentos que se quiere conectar, no hace falta configurarlo. Lo único que requiere es que las redes respeten el estándar de direccionamiento 802.

En su operación se distinguen tres fases:

- Retransmisión: si el puente no sabe dónde está la estación destino inunda todos los segmentos con la trama excepto por el que le ha llegado. Si el puente ya sabe donde está la estación destino simplemente la retransmite hacia el segmento de red donde se encuentra la estación destino.


- Aprendizaje retrospectivo: el puente extrae información de las tramas que le van llegando.

Si se cambia una estación de red, tendremos una entrada errónea en la tabla de la red hasta que esa estación mande una trama o venza el temporizador asociado a dicha entrada de la tabla, en cuyo caso se borra la entrada.

- Control de bucles: se ponen dos puentes por razones de seguridad y fiabilidad. Para evitar los bucles debemos conseguir que solo funcione un puente y que el otro solo entre en funcionamiento si falla el otro.

Para que esto funcione se usa el algoritmo “spanning-tree” de forma que se define un camino único para dos segmentos de red y así se evitan los bucles.

¿Cómo aplicamos el algoritmo en este caso?

Cuando aplicamos el algoritmo los puentes transparentes dejan de serlo, ya que los puentes necesitan un identificador único dentro de la red. Además será necesario definir unas direcciones multicast que permitan intercambiar información entre los puentes. También será necesario identificar dentro de cada puente sus puertos con un identificador único.

Pasos a seguir para construir el árbol de expansión:

- Definir el puente raíz, el que tiene el identificador más bajo (B1)
- Costo de comunicación entre cada uno de los puentes y el puente raíz, se puede calcular de diversas    maneras o puede ser configurado por el administrador.
-  Cada puente debe ser capaz de determinar cual es su puerto raíz, el que le permite enlazar con el puente    raíz por el camino de menor costo.
- Todos los puentes tienen unos puertos designados, para cada segmento de LAN hay un puerto    designado, que es a través del cual se envían y reciben tramas a ese segmento de red.

Los puentes transparentes se utilizan en redes del tipo 802.3, mientras que en redes 802.5 se usan puentes con encaminamiento desde el origen (source route), estos asumen que la ruta completa fuente-destino está presente en todas las tramas interedes, luego cada estación debe conocer la ruta completa has todos los posibles destinos.

Cada puente se identifica con 4 bits y una red con 12 bits. Luego una ruta estará formada por varios pares de octetos (puente/red).

Esta información va en el campo de datos de la trama, lo cual se indica a través de un bit RII (routing information indicator), que es el bit más significativo del campo dirección de origen.

Direcciones MAC, primer bit indica si la dirección es única (0), o de un conjunto de estaciones (1).

Routers

El hecho de operar a nivel de red da la posibilidad de intercambiar tramas entre redes muy distintas. Su funcionamiento es un poco más lento que los puentes ya que necesitan más tiempo de proceso.
Los routers se usan para constituir redes de área extensa. Muchas veces aparecen como dos equipos unidos mediante una línea de comunicación, lo que se denomina semipuentes o semirouters.

Los routers utilizan el nivel 3 para determinados protocolos y otros se usan a nivel 2, es decir, algunos protocolos se puentean y otros sé enrutan.

El router tiene una tabla de direcciones de red que le indica si debe pasar una trama a la otra red o no.
Los routers son los encargados de la fragmentación ya que conectan las dos redes y saben el tamaño máximo de los paquetes que pueden circular por ellas.

Fragmentación transparente:
el router fragmenta los paquetes que le llegan si es necesario.
Ventajas: las estaciones no se preocupan del problema de la fragmentación
Problemas: se pierde la posibilidad de usar la red de forma más eficiente, no se pueden usar rutas distintas para los diversos fragmentos de un paquete.

Fragmentación no transparente:
cuando el router de entrada a una red recibe un paquete que no cabe en esa red, lo fragmenta pero nadie lo reconstruye sino que es la estación final la encargada de sacar todos los datos de los fragmentos.
Ventajas: los paquetes se pueden encaminar de una manera óptima.
Problemas: todas las estaciones deben ser capaces de reensamblar los paquetes, además la carga de la red aumenta. Otro problema es el de la identificación de los fragmentos.

- IGRP (Internet Gateway Routing Protocol), sirve para que los routers intercambien sus tablas de    encaminamiento.
- DNS, sistema que produce las traducciones entre los nombres y las direcciones IP.



Hosted by www.Geocities.ws

1