viernes, 20 de febrero de 2015

ESPECIFICACIÓN Y VERIFICACIÓN DE PROTOCOLOS

Protocolo IP

La interconexión de distintas redes, tanto locales como de área extensa o metropolitana, introduce un problema de comunicación al involucrarse distintos sistemas de direccionamiento a veces incompatibles entre sí (tal y como decíamos al hablar del protocolo ARP). El protocolo IP (Internet Protocol) es el que se encarga de resolver estas diferencias definiendo un espacio de direcciones universal por encima de las direcciones hardware que cada red define. Esto permite que máquinas conectadas a redes remotas, y probablemente con direccionamiento hardware incompatible, puedan comunicarse a través de este protocolo.

El protocolo IP es el pilar básico de Internet (red de redes, interconectadas a nivel mundial) que permite la interconexión de redes abstrayéndose de las diferentes tecnologías de red existentes. Es, en su totalidad, un protocolo software que está desligado de los detalles del hardware de red, característica fundamental para la interconexión redes. 

Redes Conectadas a través de routers IP.

En la figura, podemos observar una de estas redes IP que contienen redes Ethernet y FDDI. Este podría ser el ejemplo de la antigua red de la UPV que consistía en una única red IP compuesta por diversos segmentos de red Ethernet conectados por una troncal basada en un doble anillo FDDI. Los elementos que separan estos segmentos de red, los puentes o bridges, trabajan a nivel de trama (nivel 2 OSI), por lo que una difusión Ethernet (dirección destino: FF:FF:FF:FF:FF:FF), se propagará a todas las máquinas de la red IP. Esta difusión no pasa a través de la pasarela R1, ya que esta define la frontera de la red IP y por otro lado trabaja con los paquetes de nivel 3...

El protocolo, por tanto, permite la interconexión de redes de forma independiente al hardware de las mismas. Veamos algunas de sus características:
  • Define una red virtual, Internet, con un espacio de direcciones virtuales, direcciones IP, que son asignadas de forma exclusiva a los hosts que pertenezcan a la misma.
  • Se encarga de llevar los mensajes de un host a otro cualquiera de Internet, independientemente de donde esté conectado.
  • El protocolo IP realiza las funciones del nivel de red, según OSI, ofreciendo un servicio sin conexión. Por lo que NO garantiza la entrega de los mensajes, el orden en que han sido enviados ni la ausencia de errores, entre otras cosas.
  • La unidad de información con la que trabaja se la denomina datagrama.
  • Los hosts y las pasarelas implementan este protocolo. Estas últimas, se centran en la tarea de conducir los datagramas desde el host origen hacia el destino remoto a través de las redes intermedias que sea necesario cruzar.

El protocolo IP, lógicamente usa direcciones IP para identificar la fuente y el destino de datagrama. Ahora bien, el datagrama viaja dentro de una trama, y ésta utiliza direcciones hardware. Y por este motivo, necesitamos los servicios del protocolo ARP, para determinar la dirección hardware que corresponde a la dirección IP del destinatario.

El Protocolo ICMP

El protocolo IP es el transporte de datagramas desde un host origen a otro cualquiera en Internet. El servicio que realiza IP es un servicio sin conexión, por lo que no se garantiza ningún tipo de calidad de servicio, pudiendo ocurrir la pérdida de datagramas, su entrega desordenada, errores en los mensajes que transporta, etc. Cuando un datagrama viaja hacia su destino tendrá que atravesar una serie de pasarelas (routers), las cuales procesan el datagrama para dirigirlo adecuadamente hacia su destino. Si una pasarela no puede encaminar ese datagrama, o bien detecta alguna condición especial en la que se ve incapacitada para hacerlo (congestión de red, líneas fuera de servicio, etc.), entonces ese datagrama se pierde. Estas y otras circunstancias en el tratamiento de los datagramas en su viaje hacia el destino, hacen necesario la creación de un mecanismo que, al menos, informe de estas situaciones al host origen, para que sea consciente de los problemas que ha sufrido el datagrama que ha enviado y, si procede, tome las acciones oportunas. De aquí nace el protocolo ICMP. El protocolo ICMP (Internet Control Message Protocol), es un mecanismo que informa de la aparición de errores en la manipulación de los datagramas. Siempre que una pasarela detecte un error o excepción en un datagrama, utiliza el protocolo ICMP para informar al host origen de la circunstancia. ICMP no realiza ninguna acción para corregir el error que se haya producido, solamente se encarga de comunicarlo al host origen para que éste realice las acciones oportunas para corregir el error.


Aunque este protocolo fue diseñado para detectar las incidencias que se producen en el transporte de un datagrama hacia el host destino, no todas ellas pueden ser detectadas. Entre estas causas se encuentra la pérdida de un datagrama que lleva un mensaje ICMP. En este punto, podríamos pensar que para solucionar este problema, esta pérdida podría ser notificada con otro mensaje ICMP. Más que solucionar el problema, lo estaríamos agravando cuando la razón de esa pérdida sea una congestión en la red. Por eso, NO SE PERMITE la notificación de mensajes ICMP causados por la pérdida de datagramas que lleven un mensaje ICMP. Otra norma general que impone este protocolo es que las notificaciones de error se hacen SOLAMENTE al host origen.

Encapsulado de un Mensaje ICMP.

PING : la utilidad Ping trabaja en la capa de red del protocolo TCP/IP6 y es un tipo de mensaje de control del protocolo ICMP, subprotocolo de IP. El funcionamiento de Ping y del protocolo ICMP, en general, están definidos en la RFC 792.
El protocolo IP encapsula el mensaje ICMP dentro de un paquete y lo envía. Suele llamarse Paquete ICMP. En el paquete pueden distinguirse dos conjuntos de datos: La Cabecera IP, que contiene los datos estándar de la Capa de red, y el subpaquete ICMP, que contiene los datos de control. En la Cabecera IP se especifican los valores protocolo como 1 y tipo de servicio como 07 de forma obligatoria. En el subpaquete ICMP se especifican los valores tipo de mensaje ICMP a 8 (petición) ó 0 (respuesta) y code a 0 (en ambos casos).

Paquete ICMP.




No hay comentarios:

Publicar un comentario