ASPECTOS DEL NIVEL DE RED

Se puede decir que la capa de red es la última de bajo nivel que está relacionada con la transmisión de datos punto a punto. En el nivel de red interactuan varios dispositivos de red que se encargan de dirigir los paquetes en la subred hasta su destino final.

Servicios

La capa de red ofrece servicios a la de transporte por medio de la interfase red/transportey cumple con estos objetivos:

La industria telefónica propone que el servicio ofrecido a la capa de transporte sea de tipo orientada a la conexión y la comunidad de Internet propone que sea de tipo no orientada a la conexión, cada facción apoyada por su propia experiencia. Lo importante de esto reside en que dependiendo de la elección se tendrá el control de flujo y chequeo de errores en la capa de red o en la de transporte, lo cual se traduce en que la parte dura la hará el proveedor de la subred o el usuario en sus aplicaciones.

Si combinamos un servicio orientado a la conexión en el nivel de transporte con una subred no orientada a la conexión, tendremos el chequeo de errores y control de flujo en la capa de transporte y una capa de red bastante sencilla y, lógicamente, eficiente.

La comunidad de Internet propone la suite de protocolos TCP/IP para ofrecer servicios orientados a la conexión y confiables (TCP), así como no orientados a la conexión y no confiables (UDP), mientras que la industria telefónica ofrece ATM con servicios orientados a la conexión y confiables.

La combinación ineficiente resulta cuando la comunidad de Internet utiliza TCP/IP sobre una subred con ATM porque se duplica el control de flujo y chequeo de errores.

Circuitos virtuales y subredes

Un circuito virtual es un enlace que se establece entre dos entes de una subred. Está asociado a los servicios orientados a la conexión y su analogía es un cable que se tiende entre los dos entes. En la vida real, este circuito se establece como una ruta negociada entre los dispositivos de la subred y permanece mientras el par de entes no negocien su terminación. Por otro lado, si los paquetes de un enlace viajan por rutas distintas se establece un servicio no orientado a la conexión y a los paquetes se les denomina "datagramas" (datagrama por su analogía a telegrama).

 

Ruteo

Como djimimos, la labor principal de la capa de red es dirigir por el mejor camino a los paquetes desde un orígen a su destino. La decisión de cuál es el mejor camino puede basarse en varios factores como son:

Dependiendo del usuario, algunos pueden preferir dar pocos saltos, mientras otros prefieren líneas con pocos errores, otros desean líneas baratas, etc.

Los aparatos que deciden qué rutas van a seguir los paquetes o datagramas se denominan "enrutadores". Cuando son encendidos, envían mensajes especiales (generalmente de tipo broadcast) bajo un protocolo de enrutamiento para determinar qué caminos tiene disponibles localmente y cuáles tienen los enrutadores vecinos. También pueden intercambiar las rutas conocidas de vecinos con otros vecinos, creando así tablas de enrutamiento dinámicas. El administrador de la red también puede insertar rutas a mano creando rutas estáticas.

Los algoritmos de ruteo entonces pueden ser dinámicos o estáticos. Entre los algoritmos estáticos tenemos:

Para comprender mejor los algoritmos y protocolos de enrutamiento dinámicos, necesitamos comprender dos conceptos que son:

Regresando a los algoritmos de ruteo, en el tipo de los algoritmos dinámicos tenemos:

1. Descubrir los vecinos y registrar sus direcciones de red.

2. Medir el precio para llegar a cada enrutador vecino.

3. Construir un mensaje que contenga todo lo aprendido.

4. Enviar el paquete de conocimiento a los enrutadores vecinos.

5. Calcular la ruta más corta hacia cada enrutador alcanzable.

1. Se puede expandir el mensaje por el árbol mínimo de expansión (obtención difícil)

2. Se puede expandir por inundación (requiere mecanismo de paro)

3. El mensaje original puede contener una lista de destinos múltiples (preferible)

4. El mensaje se puede expandir por un árbol de sendero inverso (preferible)

 

Congestionamiento de la red

El congestionamiento se refiere a que la capacidad de la subred en cuanto a almacenar datos que están pendientes de ser entregados excede a los recursos disponibles tales como memoria para colas, el ancho de banda de los enlaces, el número de enlaces y otros.

Los datos pendientes se pueden acumular debido a que la cantidad de datos que los emisores intentan enviar excede a la capacidad de la subred en cuanto al ancho de banda, o bien que la caida de enlaces o un mal control de flujo provocan la congestión. Recordemos que que el control de flujo tiene que ver con emisores y destinatarios que trabajan a velocidades diferentes y que requieren cierta sincronización en cuanto a la velocidad en que procesan datos en la red.

El control de congetionamiento de la red tiene dos vertientes de solución: estáticas y dinámicas. Las estáticas establecen que el buen diseño de la red y las dinámicas en una retroalimentación de la subred.

Para la solución dinámica, se realizan tres pasos en general que son:

1. Monitoreo de la red: Si se incrementa el valor del número de paquetes descartados porque ya no hay buffers de almacenamiento, el tamaño de las colas de almacenamiento, el número de paquetes retransmitidos que no son por colisiones, el tiempo promedio de entrega, entonces hablamos de congestionamiento.

2. Enviar la información de congestión al lugar indicado: Cada enrutador puede asociar a los paquetes de enrutamiento o al procolo del nivel de red algunos bits que indiquen el estado del monitoreo, para que sus vecinos modifiquen el enrutado de pauqtes y se eviten congestiones de manera dinámica.

3. Ajustar la operación del sistema apropiado: Una vez que un elemento de la subred o un emisor o receptor recibe información de monitoreo indicando que hay un problema de congestión, éste debe tomar alguna acción para detener o disminuir la congestión, tal como enviar sus paquetes por una ruta alterna o tomar una acción de control de flujo (disminuir el número de paquetes por segundo enviados).

Tabla de políticas generales en la congestión

El primer paso para lidiar con la congestión de tráfico consiste en tratar de evitarla. Se pueden realizar algunas acciones en los niveles de enlace de datos, red y transporte como se indica en la tabla siguiente.

 

Firewalls

La inclusión de redes privadas dentro de Internet y la necesidad de mantenerlas protegidas contra ataques al mismo tiempo ha dado cabida a la instalación de mecanismos de protección para incrementar la seguridad en dichas redes. La idea general de incluir una red privada en Internet es la de tener acceso a las herramientas e información de esta red de redes, a la vez que aprovechar su alcance para llegar a miembros alejados de una misma corporación.

Para lograr un acceso más o menos amigable a Internet sin perder la seguridad interna se ha acuñado el concepto de Firewall (muro de fuego), cuya función principal es la de levantar un obstáculo para la transmisión y recepción de información de y hacia la red privada o protegida. El obstáculo (firewall) sólo puede ser vencido conociendo una o varias claves de acceso pre-establecidas por el administrador del firewall

Las soluciones firewall generalmente consisten de una parte de software y otra de hardware. El hardware puede ser desde una computadora personal con funciones de pasarela (gateway) en hardware o software. La parte de software consiste de programas que filtran los paquetes dejando pasar sólo aquellos que cumplen las políticas de seguridad de la red protegida, o bien de programas que convierten una petición de servicio hacia un formato de seguridad.

Entre los servicios más comunes de un firewall podemos encontrar:

ATM

La capa llamada ATM del modelo ATM es lo más cercano a las características de la capa de red del modelo OSI, aunque muchos expertos consideran que la capa ATM es la de ligado de datos. Aceptemos la controversia y procedamos a ver esta capa como la de red.

La capa ATM es orientada a la conexión, y es novedosa porque no incluye el uso de reconocimientos porque fue diseñada para trabajar con medios físicos de transporte libres de errores como la fibra óptica. Además, ATM en general se usa para enviar información en tiempo real, lo cual hace peor el re-enviar una celda dañada que ignorarla.

ATM se basa en la creación de circuitos virtuales unidireccionables, de manera que para crear un canal virtual full duplex crea dos circuitos con el mismo identificador lógico, y en dichos canales las celdas siempre se envían y llegan en orden. Además, los canales virtuales pueden agruparse y tratarse como una unidad llamada sendero virtual.

Formato de las celdas de ATM

En la capa de ATM se localizan dos interfases: la UNI (User Network Interface) y la NNI (Network to Network Interface). La primera define el límite entre un nodo y la red de ATM y la segunda se refiere a la relación entre dos conmutadores (switches) de ATM. En ambos casos las celdas consisten en encabezados de 5 octetos de longitud y una sección de datos (payload) de 48 octetos

Servicios de ATM

Para la versión 4.0 de ATM la comunidad se dio cuenta de qué era lo que el estándard podía transmitir y qué era lo que el público deseaba transmitir, por lo cual se modificó el estándard para satisfacer mejor a los usuarios y se escogieron los servicios más deseables para que los fabricantes produjeran dispositivos más ad hoc.

 

CBR es útil para ofrecer los servicios que típicamente resuelve el sistema telefónico, aunque no hay control de errores, ni congestionamiento ni ningún otro procesamiento extra. RT-VBR garantiza que la aplicación obtendrá el ancho de banda requerido y es útil en servicios de tiempo real como las videoconferencias y el despliegue de presentaciones tipo filme. NRT-VBR es igual que el anterior, excepto que el protocolo puede tener un retraso en la entrega tal como en el servicio de correo electrónico. ABR está enfocado a ofrecer un ancho de banda base y si la aplicación requiere más entonces hará su mejor esfuerzo para incrementarla. UBR no promete ningún ancho de banda base ni control de flujo ni chequeo de errores, lo cual es útil para enviar paquetes IP y no incrementar la sobrecarga en el nivel de transporte. Si la red está congestionada, los paquetes son descartados sin avisar, pero si hay ancho de banda sobrante, se entregan la mayor cantidad de paquetes posibles.

 

Calidad del servicio en ATM

Para efectos de establecer una especie de control de calidad en los servicios (CBR, ABR, UBR, etc.), se han definido una serie de parámetros que el cliente y el proveedor pueden negociar de acuerdo a la tabla siguiente.

La calidad del servicio se define con parámetros de envío de celdas por un lado y en la entrega de las mismas por el otro. Por ejemplo, el cliente podría negociar que el CMR sea a lo más 1 celda por segundo, es decir, que solamente se entregue una celda en un destino equivocado por segundo, tomando en cuenta que tal vez el PCR sea 150,000 celdas por segundo.

El protocolo IP

Internet como ya hemos visto es una red de redes y se expande a nivel mundial, su protocolo base es TCP/IP, y fue diseñado desde el principio para trabajar entre redes. La manera general en que trabaja TCP/IP es que la aplicación le entrega una cadena de datos al protocolo de transporte ( TCP o UDP ) el cual se encarga de contactar a la capa de red (IP) y entregarle datagramas que pueden ser hasta de 65 Kb de longitud (aunque la mayoría de las tarjetas de red manejas una longitud máxima de 1500 bytes denominada Maximum Transmission Unit). La capa de red IP transmite los datagramas, tal vez divididos en unidades más pequeñas (fragmentos) hasta el destino, haciendo su mejor esfuerzo porque los paquetes lleguen a su destino. En el destino la capa IP ensambla los fragmentos y entrega los datagramas a la capa de transporte quien a su vez se los entrega a la aplicación.

Un paquete de IP tiene una estructura compuesta de una parte de encabezado y otra de datos. El encabezado consta de 20 octetos fijos y de una parte de opciones cuyo tamaño es variable (de cero o más octetos).

Algunos números de IP son especiales. Aquellos Ips cuyo número de red sean puros ceros indican que el destino es la red local. Si el destino consiste de un número con puros unos, quiere decir que el destino son todos los nodos de una red. Si el destino comienza con el número 127.x.y.z, los paquetes no son puestos en la red sino que se procesan en el mismo nodo como si fueran paquetes que llegaron y su propósito es hacer pruebas.

Algunas notas acerca de IP Versión 6

El crecimiento de Internet tan enorme aunado al desperdicio provocado por las división en sólo 5 clases ha redundado en que el número de direcciones IP disponibles actualmente se acerque a cero.

Otro problema importante es el surgimiento de protocolos nuevos ( como ATM, Frame Relay, etc.) donde no es tan natural la unión con redes típicas (legacy networks).

Para solucionar los dos problemas anteriores y otros más, el Internet Engineering Task Force (IETF), que es un organismo que trabaja para que Internet sea más eficiente, convocó a todas las empresas e instituciones a proponer soluciones en 1990, y para diciembre de 1992 se tenían ya siete y después de discutirlas se llegó a proponer un nuevo estándard llamado Simple Internet Protocol Plus o IPv6. Se diseñó tomando en cuenta toda la experiencia reunida en IP y se plantearon los siguientes objetivos a resolver:

  1. Soportar miles de millones de nodos con direcciones de 16 bytes.
  2. Simplificar las funciones de enrutamiento.
  3. Incluir mecanismos de seguridad (autentificación y privacía).
  4. Incluir mecanismos para tener calidad de servicio y tiempo real.
  5. Apoyar el servicio de "multicast" permitiendo la definición de rangos.
  6. Apoyo a los nodos móviles sin cambiar su dirección.
  7. Permitir al protocolo evolucionar haciéndolo extensible.
  8. Permitir a los protocolos antiguos y modernos coexistir.

IPv6 no es compatible con la versión 4 de uso en 1997, aunque lo es con TCP, UDP, ICMP, OSPF, IGMP, BGP y DNS.

Lo que tenemos que esperar en el corto plazo es la forma de migrar nuestras redes actuales hacia nuevos esquemas de direccionamiento, nuevas tarjetas de red y el surgimiento de nuevas versiones para programar en red y aplicaciones nativas sobre IPv6.