PROTOCOLOS

Los protocolos de comunicación son grupos de reglas que definen los procedimientos convenciones y métodos utilizados para transmitir datos entre dos o más dispositivos conectados a la red. La definición tiene dos partes importantes:

*Una especificación de las secuencias de mensajes que se han de intercambiar.

*Una especificación del formato de los datos en los mensajes.

La existencia de protocolos posibilita que los componentes software separados pueden desarrollarse independientemente e implementarse en diferentes lenguajes de programación sobre computadores que quizás tengan diferentes representaciones internas de datos.

Un protocolo está implementado por dos módulos software ubicados en el emisor y el receptor. Un proceso transmitirá un mensajes a otro efectuando una llamada al módulo pasándole el mensaje en cierto formato. Se transmitirá el mensaje a su destino, dividiéndolo en paquetes de tamaño y formato determinado. Una vez recibido el paquete de su módulo realiza transformaciones inversas para regenerar el mensaje antes de dárselo al proceso receptor.



PROTOCOLOS A CAPAS: el software de red está jerarquizado en capas, cada una presenta una interfaz a las capas sobre ellas que extiende las propiedades del sistema subyacente. Cada capa se representa por un módulo en cada uno de los computadores conectados a la red.







En éste gráfico se ilustra la estructura y el flujo de datos cuando se transmite unos mensajes utilizando la pila de protocolos.

Cada capa de software de red se comunica con los protocolos que están por encima y por debajo de él mediante llamadas a procedimientos.

En el lado emisor, cada capa (excepto la superior) acepta items de datos en un formato específico de la capa superior, y después de procesarlos los transforma para encapsularlos según el formato especificado por la capa inferior a la que se los pasa para su procesamiento. De este modo cada capa proporciona un servicio a la capa superior y extiende el servicio proporcionado por la capa inferior.



CONJUNTOS DE PROTOCOLOS: al conjunto completo de capas de protocolos se las denomina como conjunto de protocolos o pila de protocolos, plasmando con ello la estructura de capas.





En éste gráfico muestra la pila de protocolos del Modelo de Referencias para Interconexión de Sistemas Abiertos (Open System Interconnection, OSI). Este es un marco de trabajo para la definición de protocolos adoptados para favorecer el desarrollo de estándares de protocolos que pudieran satisfacer los requisitos de sistemas abiertos.





Los protocolos por capas proporcionan beneficios al simplificar y generalizar las interfaces software para el acceso a los servicios de comunicación de las redes, además implica grandes costos en prestaciones.

La transmisión de un mensaje de la capa de aplicación vía la pila de protocolos con N capas que involucra N transferencias de control a las capas relevantes en la pila, una de las cuales es una entrada del sistema operativo, y realiza N copias de los datos como parte del mecanismo de encapsulación.











ENCAMINAMIENTO

Es una función necesaria en todas las redes excepto en aquellas redes LAN que proporcionan conexiones directas entre todos los pares de hosts conectados. En las redes grandes se emplea un encaminamiento adaptativo: se reevalúan periódicamente las mejores rutas para comunicar los puntos de red, teniendo en cuenta el tráfico actual y cualquier fallo como conexiones rotas o routers caídos.







La entrega de los paquetes a sus destinos es una responsabilidad colectiva de los routers situados en los puntos de conexión El paquete deberá ser transmitido en una serie de saltos, pasando a través de los routers. La determinación de las rutas a seguir para que un paquete llegue a destino es responsabilidad del algoritmo de encaminamiento por un programa en la capa de red de cada nodo.

Un algoritmo de encaminamiento tiene dos partes:

*Tomar decisiones que determinen la ruta seguida por cada paquete que viajan por la red.

*Debe actualizar dinámicamente su conocimiento de la red basándose en la monitorización del tráfico y la detección de cambios de configuración o de fallos .

Las decisiones de encaminamiento se toma salto a salto, utilizando información local para determinar el siguiente salto a dar por el paquete recién llegado. La información almacenada localmente es actualizada periódicamente por un algoritmo que distribuye información sobre el estado de los enlaces ( su carga y sus estados de error ).





En este gráfico se puede observar tablas de encaminamiento que se deben almacenar en cada routers de la red (suponiendo que la red no tenga ni enlaces ni routers caídos). Cada fila tiene la información de encaminamiento relevante para los paquetes dirigidos a cierto destino. El campo enlace espacifica el enlace de salida para los paquetes dirigidos a cada destino. Las tablas de encaminamiento contienen una entrada por cada posible destino, donde se muestra el siguiente salto que va hacer para llegar al destino final. Cuando un paquete llega a un routers , se saca su dirección destino y se busca en la tabla . La entrada resultante identifica el enlace de salida que tiene que ser utilizado para encaminar el paquete al destino .

Los algoritmo de encaminamiento se han orientado hacia el incremento de la cantidad de conocimientos de la red que se almacena en cada nodo. El mas importante es el algoritmo de estado de enlace que se basa en la distribución y actualización de una base de dato en cada nodo que representa la totalidad o una porción substancial de la red. Cada nodo es responsable de calcular las rutas óptimas para los destinos incluidos en su base de datos.



CONTROL DE LA CONGESTIÓN.

La capacidad de la red está limitada por las prestaciones de sus enlaces de comunicación y por los nodos de conmutación. Con la carga en un enlace o en un nodo se acerca a su capacidad máxima, se forman colas con los mensajes que los hosts están intentando enviar y en los nodos intermedios se almacenan las trasmisiones que no se pueden realizar al estar bloqueadas por el tráfico.

Si la carga continúa en el mismo nivel alto las colas seguirán creciendo hasta alcanzar el límite de espacio disponible en cada búfer. Una vez que un nodo alcanza este estado, no tiene otra opción que desechar los paquetes que le llega (la perdida ocasional de paquetes en el nivel de red es aceptable y puede ser remediada mediante retransmisiones en los niveles superiores). La taza de paquetes perdidos y retransmitidos alcanza un determinado nivel, el efecto en el rendimiento de la red puede ser devastador.



* Los paquetes deben ser almacenados en nodos anteriores a los sobrecargados, hasta que la congestión se reduzca. Esto incrementará los recargos de paquetes, pero no degradará el rendimiento de la red.



*En el control de la congestión se agrupan las técnicas que se diseñan para controlar este aspecto. Esto se consigue informando a los nodos a lo largo de la ruta donde se ha producido la congestión y donde debería reducirse su taza de trasmisión de paquetes. Para los nodos intermedios, esto implicará almacenamiento de paquetes entrantes en cada búfer por un largo período. Para los hosts que son fuente de paquetes, el resultado podría ser que los paquetes sean colocados en colas antes de su transmisión, o bloqueados por procesos que lo generan hasta que la red pueda admitir los paquetes.



* Las capas de red basadas en datagramas basan el control del tráfico en método de extremo a extremo. El nodo emisor debe reducir las tasas a la que transmite los paquetes basándose en la información que recibe el nodo receptor.

*En circuitos virtuales, la información sobre la congestión puede recibirse en todos los nodos, cada uno actuara en consecuencia.

DIRECCIONAMIENTO IP



El esquema utilizado debería satisfacer los siguientes requisitos:

o Debería ser universal.

o Debería ser eficiente en el uso del espacio de direccionamiento.

o El esquema de direccionamiento debe conducir por sí mismo al desarrollo de un esquema de encaminamiento flexible y eficiente.





El esquema elegido asigna una dirección IP a cada host en Internet: un número de 32 bits formado por un identificador de red, que identifica de forma única a una de las subredes de Internet, y por un identificador de host, que identifica de manera única al host conectado a esa subred; escritos como una secuencia de cuatro números decimales separados por puntos. Cada número representa uno de los cuatro bytes u octetos de la dirección IP. Esta dirección se coloca en los paquetes IP y se utiliza para encaminarlos al destino.

Existen cuatro clases de direcciones Internet: A, B, C y D. La clase D se reserva para las comunicaciones de multidifusión, que se implementa sólo sobre algunos routers. La clase E contiene un rango de direcciones no asignadas, que están reservadas para usos futuros.



Se diseñaron tres clases de direcciones par satisfacer los requisitos de los distintos tipos de organizaciones. Las direcciones de Clase A, están reservadas para grandes redes como la norteamericana NSFNet y otras redes nacionales de área amplia. Las de Clase B, se reservan para organizaciones que gestionan redes con más de 255 computadores; y las direcciones de Clase C se dedican al resto de redes.

Los indicadores de red son asignados a las organizaciones con redes conectadas a Internet por el Internet Network Information Center (NIC). Los identificadores de host para los computadores de cada red conectado a Internet son asignados por el administrador de la red en cuestión. Dado que las direcciones de host incluyen un identificador de red, cualquier computador que esté conectado a más de una red debe tener una dirección de red para cada una de ellas, y siempre que un computador se mueva a una red diferente, debe cambiar su dirección Internet.

Problema: El administrador de la red no puede predecir el crecimiento futuro de sus necesidades de direcciones de host, por ello se tomaron dos decisiones:

1.- La primera fue el inicio del desarrollo de un nuevo protocolo IP y un nuevo esquema.

2.- La segunda fue modificar el modo en que eran reservadas la direcciones IP.

• El uso del espacio de direcciones IP se volvió más efectivo con un nuevo esquema de reservas y de encaminamiento llamado encaminamiento interdominio sin clases.

Los routers gestionan la entrega de los paquetes IP a todas las subredes. También manejan el tráfico entre las subredes y desde las subredes hacia el resto del mundo.



EL PROTOCOLO IP



El protocolo IP es el encargado de transmitir datagramas (paquetes) desde un host a otro, si fuera necesario, vía routers intermediarios.

IP proporciona un servicio de entrega que se puede describir como no fiable o como el mejor posible, porque no existe garantía de entrega. Los paquetes se pueden perder, ser duplicados, sufrir retrasos o ser entregados en un orden distinto al original, pero esos errores surgen sólo cuando las redes subyacentes fallan a cuando los búferes en el destino están llenos. La única comprobación de errores realizada por IP es la suma de comprobación (checksum), de la cabecera, que es asequible de calcular y asegura que no se han detectado alteraciones en los datos bien de direccionamiento o bien de gestión del paquete.

La capa IP coloca los datagramas IP en paquetes de red adecuados para ser transmitidos por la red subyacente. Cuando un datagrama IP es mayor que la MTU de la red subyacente, se divide en el origen en paquetes más pequeños y se reensamblan en su destino final. Cada paquete tiene un identificador de fragmento que hace posible el ensamblado de los paquetes que llegan desordenados.

La capa IP debe insertar una dirección física de red del destino del mensaje antes de confiárselo a la capa inferior. Esa dirección la obtiene del módulo de resolución de direcciones en la capa de Interfaz de Red Internet.

Resolución de direcciones. El módulo de resolución de direcciones es el responsable de la conversión de las direcciones Internet a direcciones de la red, para una red subyacente dada.

La traducción es dependiente de la tecnología de red utilizada:

o Algunos hosts están conectados directamente a conmutadores de paquetes Internet.

o Algunas redes de área local permiten que las direcciones de red sean asignadas a los hosts de forma dinámica, y las direcciones pueden ser elegidas de manera que coincidan con la porción del identificador del host de la dirección Internet.

o Para las redes Ethernet, y para algunas otras redes locales, las direcciones de red de cada computador son establecidas por métodos hardware en las interfaces de red y no guardan ninguna relación con su dirección Internet.



IP truncado. Cuando se generan muchas solicitudes de servicio simple ping a un gran número de computadores situados en varios sitios (ping es un servicio simple diseñado para comprobar la disponibilidad de un host). Todas estas solicitudes ping maliciosas contenían en el campo de direcciones del emisor la dirección IP del computador objetivo. Las respuestas al ping fueron, por lo tanto , dirigidas contra el objetivo, cuyos búferes de entrada fueron sobrecargados, impidiendo que cualquier paquete IP legítimo pudiera llegar a ellos.



ENCADENAMIENTO IP

La capa IP encamina paquetes desde su origen hasta su destino. Cada router en Internet implementa la capa de software IP para proporcionar un algoritmo de encaminamiento.

Conexiones troncales. La topología de Internet está dividida conceptualmente en sistemas autónomos(AS), que están divididos a su vez en áreas. Cada AS representado en el mapa topológico tiene un área troncal. La colección de routers que conectan las áreas no troncales con la troncal y los enlaces que interconectan esos routers se conocen como la conexión troncal o la columna dorsal de la red.

Protocolos de encaminamiento. Los algoritmos de encaminamiento utilizados en Internet son:

RIP-1: Algoritmo de vector de distancias.

RIP-2: Algoritmo que incluye el encaminamiento entre dominios sin clases, un mejor encaminamiento multidifusión y la necesidad de autenticar los paquetes RIP para prevenir ataques a los routers. El algoritmo OSPF está basado en un algoritmo de búsqueda de caminos de Dijktra.

Un cambio en el algoritmo de encaminamiento implica una nueva versión del protocolo RIP. El protocolo IP no cambia cuando se introduce un nuevo protocolo RIP. Cualquier router RIP encaminará correctamente los paquetes que le lleguen por una ruta, si no óptima, si razonable, independientemente de la versión de RIP que utilice.

Dentro de cada área se aplica un único algoritmo de encaminamiento y los routers dentro de un área cooperan para mantener las tablas de encaminamiento.

Routers por defecto. Los algoritmos de encaminamiento ha hecho suponer que cada router mantiene una tabla de encaminamiento completa mostrando la ruta a cualquier destino en Internet. A la escala actual de Internet esto claramente imposible.

Dos posibles soluciones: la primera es adoptar alguna forma de agrupamiento topológico de las direcciones IP. La segunda es la precisión de la información de encaminamiento puede ser escasa en la mayoría de los routers, siempre que algunos routers clave (aquellos más cercanos a los enlaces troncales) tengan unas tablas de encaminamiento relativamente completas. El esquema de encaminamiento por defecto es ampliamente utilizado en Internet; ningún router almacena las rutas para todos los destinos en Internet.

Encaminamiento en subredes locales. Los paquetes dirigidos a la misma red del emisor se transmite al destino en un único salto, utilizando la parte del identificador del host de la dirección para obtener la dirección del host destino en la red subyacente. La capa IP utiliza ARP para conseguir la dirección de red del destino y entonces encomienda a la red subyacente la transmisión de los paquetes.

Si la capa IP del emisor descubre que el destino está en una red diferente, debe enviar el mensaje al router local. Utiliza ARP para conseguir la dirección de red de la pasarela o del router y la utiliza para que la red subyacente transmita el paquete. Las pasarelas y routers están conectados a dos a más redes y tienen varias direcciones Internet, una para cada red a la que están conectados.

Encaminamiento interdominio sin clase (CIDR). El principal problema era la escasez de direcciones de la Clase B, aquéllas para las subredes con más de 255 host conectados, mientras que se encontraban disponibles muchas de las direcciones de la Clase C. La solución CIDR es reservar un bloque de direcciones C contiguas para aquellas subredes que necesitaban más de 255 direcciones. El esquema CIDR también hacía posible la división del espacio de una dirección de Clase B en múltiples subredes.

El cambio adoptado fue añadir un campo de máscara a las tablas de encaminamiento. La máscara es un patrón de bits utilizado para seleccionar la porción de las direcciones IP que será host/subred ocupen cualquier parte de la dirección IP, proporcionando más flexibilidad que las clases A, B y C. De ahí el nombre de encaminamiento entre dominios sin clases.