mc-ip-fundamentos

Acciones de Documento
  • Vista de contenidos
  • Marcadores (bookmarks)
  • Exportación de LTI
Autores: Jose Ignacio Moreno, Antonio Cuevas
Material de clase del módulo "La Red IP"

FUNDAMENTOS DE LA TECNOLOGÍA IP

IP (Internet Protocol, RFC791) es protocolo más famoso de la Internet. Se trata de un protocolo que opera a nivel de Red (nivel 3) según la arquitectura TCP/IP (figura 1) descrita en el módulo 1. Su labor principal consiste en transportar la información transmitida por la entidad origen de la comunicación hasta el destinatario adecuado a través de la RED de comunicaciones. Es decir, el protocolo IP se usa para mover los datagramas (nombre que toman los paquetes IP) desde el origen hasta el destino, pasando por un entramado complejo de enlaces y conmutadores de nivel de red (llamados routers). Las funciones principales que proporciona el protocolo IP para acometer este objetivo son las siguientes:

·       Direccionamiento. Mediante esta función, el protocolo permite identificar de forma única a cada uno de los equipos conectados a la red de la misma manera que un numero telefónico identifica a un terminal de forma única.

·        Encaminamiento. Esta función le permite identificar un camino posible de comunicación entre un origen y un destino.

·       Segmentación y Reensamblado. Permite adaptar el tamaño de los datagramas a las condiciones de transporte de las subredes que atraviesan, de forma que cuando un sistema IP, por ejemplo un router, deba reenviar un datagrama por un enlace donde éste 'no quepa' (excede el tamaño máximo que puede ser cursado sin interrupción), el router procederá a dividir (segmentar) dicho datagrama en dos o más para poder cursar dicha información. Del mismo modo, el receptor ensamblará los datagramas previamente segmentados para obtener el datagrama original.


image001

Figura 1: Arquitectura TCP/IP


El protocolo IP para esta labor ofrece un servicio NO ORIENTADO A CONEXIÓN y NO CONFIRMADO.

En los protocolos de red no orientados a conexión no es necesario establecer una conexión previa para transmitir información, de la misma manera que en el servicio postal no es necesario indicarle con anterioridad al destinatario el envío de una carta postal. Para operar de este modo todos los datagramas requieren transportar explícitamente la información completa de origen y destino. En el caso del protocolo IP, todos los datagramas transportan la dirección origen y destino. Los routers, por tanto, encaminan salto a salto. Al recibir un datagrama consultan la dirección destino y, en base a la información de encaminamiento que dispongan (que puede variar a lo largo del tiempo en base a caídas de los enlaces, saturación en la red, etc), deciden cual es el mejor camino hacia el destino.

Este mecanismo de funcionamiento hace que sea posible que los datagramas se pierdan, dupliquen o desordenen. Se dice que el protocolo IP ofrece un servicio "Best Effort", es decir, la red "hace lo que puede" para entregar los datagramas al destinatario, pero no garantiza que esto suceda. Es decir, si por cualquier causa un datagrama se pierde, el protocolo IP no hace nada para recuperarse frente a este error. Serán otros protocolos, como los analizados en el modulo 3, los encargados de recuperar estos errores (TCP) o no (UDP).

 

En el presente módulo  nos vamos a centrar en las dos funciones principales: direccionamiento y encaminamiento  básico; con el objetivo de conocer los tipos de direcciones IP que se pueden asignar. Siendo capaces de dimensionar una red IP, así como de conocer el encaminamiento básico utilizado por el protocolo y ejecutado por los routers, intermediarios de la comunicación entre origen y destino.

PROTOCOLO DE RED IP

Actualmente existen dos versiones del protocolo IP:

·        IPv4, definido en la RFC791, actualmente utilizado mayoritariamente por la Internet y el resto de redes IP publicas y privadas.

·        IPv6, definido en la RFC2460, evolución del protocolo IP, actualmente en fase de experimentación e implantación.

Una de las principales diferencias entre ambas y, motivo del diseño y desarrollo de IPv6, lo forman las direcciones y concretamente el número de direcciones posibles en cada una de ellas. En el caso de IPv4 se utilizan 32 bits para identificar direcciones, mientras que IPv6 amplia el rango de direcciones posibles utilizando 128 bits.

En lo que sigue nos centraremos en el análisis del protocolo IPv4. El formato del datagrama IP se presenta en la figura 2. Como se observa un datagrama IP consta de dos partes:


image002

Figura 2: Formato de Datagrama IPv4

 

·       Cabecera, que contiene la información de control del protocolo. A su vez se divide en dos partes, una fija de 20 octetos (160 bits) existente en todos los datagramas IP y una variable múltiplo de 32 bits que en los casos más habituales no aparece

·       Datos, contiene la información transportada por el protocolo IP, habitualmente contendrá información del nivel de transporte.

 

El significado de los campos que aparecen en la cabecera del datagrama son:

Vers.

Indica la versión del protocolo, en el caso de la figura 2 contendrá el valor 4 (=IPv4)

LONG

Indica la longitud de la cabecera en palabras de 32 bits (4 octetos). Máximo 24 = 16 palabras.

Servicio

Indica el tipo de servicio solicitado. Este campo habitualmente no es considerado por los routers, por lo que no suele ser utilizado.

Longitud Total

Señala la longitud total de todo el datagrama (incluidos los datos) en bytes. El tamaño máximo por tanto es de 216 = 65535 octetos.

Identificador

Es un identificador de datagrama que se utiliza en caso de segmentación.

FLAGS

Se utilizan para labores de fragmentación.

Offset

Se utiliza para identificar la posición de un fragmento cuando existe segmentación.

Time To Live (TTL)

Indica la validez de un datagrama. El origen indica un valor inicial. Cada vez que atraviesa un router, este decrementa el valor. Al llegar a 0 la red elimina el datagrama.

Protocolo

Indica el tipo de datos que transporta IP (ej: TCP, UDP, ICMP; etc).

Checksum

Se trata de un código de redundancia utilizado para determinar si se han producido errores de transmisión o no.

Dir. IP Origen

Es la dirección origen del datagrama, identifica al origen de la comunicación.

Dir. IP Destino

Es la dirección destino del datagrama, identifica al destino de la comunicación.

Opciones

Para utilizar opciones adicionales del protocolo IP. Tamaño variable hasta 11*4 bytes.

Relleno (Padding)

Utilizado para alinear el campo de opciones a 32 bits.

 

PROTOCOLOS DE CONTROL

Además del protocolo IP, la arquitectura TCP/IP utiliza una serie de protocolos que son parte integral de la misma, es decir, cualquier equipo que implemente la arquitectura debe incorporarlos. Estos protocolos se utilizan para informar de sucesos, fallos y obtención de direcciones y se denominan protocolos de control.


image003

Figura 3: Arquitectura de protocolos TCP/IP


·       ICMP: Internet Control Message Protocol (RFC792)

Cuando por algún motivo han existido irregularidades en el intercambio de la información es necesario notificarlo para que los equipos terminales involucrados tomen medidas para solucionarlo. La forma de informar sobre estos sucesos es utilizando el protocolo ICMP que demás proporciona funciones de control.

Las funciones principales que pueden informarse o notificarse utilizando este protocolo son:

·      Indicación de destino inalcanzable. Cuando un datagrama es recibido por un router y este no sabe como alcanzar el destino, el datagrama es eliminado y el origen es informado de esta acción.

·      Indicación de numero de saltos excedido. Cuando un datagrama es recibido por un router y este decrementa el valor de TTL llegando al valor "0", el router elimina el datagrama e informa al origen.

·      Solicitud/Respuesta de Eco.  Cuando un equipo desea conocer si otro esta disponible (a nivel IP) envía un mensaje ICMP de solicitud de eco (echo request). El receptor al recibirlo contesta con un mensaje de respuesta de eco (echo reply). En caso de recibir la respuesta, el origen dispone de información de que el destino "esta vivo", mientras que en caso de no recibirla supone que no esta activo. Adicionalmente podrían determinarse estadísticas sobre el tiempo que se emplea desde la transmisión de una solicitud a la recepción de su respuesta (RTT). Este intercambio de mensajes ICMP es la base del comando pingdisponible en cualquier sistema operativo con soporte TCP/IP. Normalmente por motivos de seguridad  el comando ping suele estar bloqueado por los sistemas de seguridad de las organizaciones. El alumno puede tratar de probar a ejecutar el comando ping a distintas máquinas identificadas por nombre o dirección y observar el resultado.


Ejemplo de ping:


C:\>ping www.uc3m.es

Haciendo ping a turan.uc3m.es [163.117.136.249] con 32 bytes de datos:

Respuesta desde 163.117.136.249: bytes=32 tiempo=1ms TTL=62

Respuesta desde 163.117.136.249: bytes=32 tiempo=2ms TTL=62

Respuesta desde 163.117.136.249: bytes=32 tiempo=2ms TTL=62

Respuesta desde 163.117.136.249: bytes=32 tiempo=2ms TTL=62

Estadísticas de ping para 163.117.136.249:

    Paquetes: enviados = 4, recibidos = 4, perdidos = 0

    (0% perdidos),

Tiempos aproximados de ida y vuelta en milisegundos:

    Mínimo = 1ms, Máximo = 2ms, Media = 1ms


Además del comando ping descrito anteriormente, existe otro comando de amplia utilización, que es el comando traceroute (linux) o tracert  (windows) que se basa en mensajes ICMP.

El comando traceroute permite conocer el número de saltos existentes entre un origen y un destino. Es decir, indica la ruta seguida por los mensajes entre ambos equipos. Para ello utiliza el mensaje ICMP se solicitud/respuesta de eco junto con el campo de TTL existente en el mensaje IP. [Trabajo] Opcionalmente se sugiere que el alumno a partir de esto identifique el intercambio de mensajes entre los distintos equipos en el caso de un traceroute a un destino que pase únicamente por un router intermedio.


Ejemplo de traceroute:


C:\>tracert www.uc3m.es

Traza a la dirección turan.uc3m.es [163.117.136.249]

sobre un máximo de 30 saltos:

  1     1 ms    <1 ms    <1 ms  163.117.139.2

  2     1 ms     1 ms     1 ms  router-IO.uc3m.es [163.117.49.2]

  3     1 ms     1 ms     2 ms  turan.uc3m.es [163.117.136.249]

Traza completa.

 

Reutilizar Curso
Descargar este curso