Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EL PROTOCOLO DE INTERNET
No es posible encontrar una mejor introducción al protocolo IP que las propias palabras consignadas en
System
la RFC‐791 en donde se encuentra la siguiente frase:
Antes de entrar en el tema, revisemos algunos de los campos del encabezado de IP:
Tabla 1. Estructura del encabezado ip
Whitney
con
alianza
Identificación: Normalmente llamado IP_ID, es un valor utilizado para identificar el paquete enviado. En
Grancolombiano-en
caso de que sea necesario fragmentar un paquete este identificador permite volver a ensamblar en un
solo paquete todos los paquetes que tengan el mismo IP_ID y que especifiquen que existen más
fragmentos en camino. Adicionalmente, este campo es muy útil para notificar errores sobre algún
paquete que no se pudo entregar por expiración de tiempo de vida u otros motivos.
Instrumentos: Dentro de este campo se encuentran 4 bits de los cuales se utilizan 3, de la siguiente
manera:
1. Reservado
2. DF (Don´t fragment): Este bit especifica que el paquete no se debe fragmentar en tránsito.
3. MF (More fragments): Este bit indica al receptor que el paquete ha sido fragmentado y se deben
Politécnico
esperar más secciones antes de ensamblar el paquete IP completo.
Fragment Offset: Este campo es utilizado para identificar la posición de los diferentes paquetes en el
ensamble cuando se ha fragmentado el paquete original.
Time To Live (TTL): Especifica el tiempo de vida del paquete en número de saltos, este campo es
decrementado cada vez que se envía de un router a otro. En caso de que el TTL llegue a valer cero se
envía un mensaje de error al remitente del paquete notificándole que el paquete ha dejado de ser
enrutado porque su tiempo de vida ha expirado. Este método es utilizado para evitar que los paquetes
se queden atrapados en ciclos infinitos en algunas redes.
System
Los otros campos pueden ser revisados de acuerdo con la RFC‐791.
Servicios ofrecidos por IP
University
Los principales servicios ofrecidos por IP son los siguientes:
1. Servicio de datagramas no fiables (best effort)
2. Direccionamiento global
3. Fragmentación.
International
Datagramas no fiables
Muchos se preguntarán ¿Cómo que no es fiable? Bueno, lo que sucede es que la capa de red solamente
asegura hacer su mejor esfuerzo. Teniendo en cuenta esto, puede que un paquete no llegue, llegue con
sus datos dañados, duplicado o en desorden con respecto a los otros paquetes. Las capas superiores
pueden garantizar o no la entrega segura de información. En este nivel solo nos debemos preocupar por
el método de enrutamiento de la información a través de las diferentes redes.
Whitney
IP garantiza la integridad de la cabecera de un paquete, pero no la de los datos contenidos en este
paquete. Esto se hace porque los enrutadores deben modificar el TTL decrementándolo en 1 cada vez
que se envía el paquete de un router a otro, lo que los obliga a calcular nuevamente la suma de
con
verificación de los datos que se están asegurando (la cabecera IP únicamente). En caso de que esta suma
se realizara sobre todo el paquete, la sobrecarga para los dispositivos de red sería muy alta. Por esta
alianza
razón se delega la responsabilidad de la verificación de los datos a la capa superior.
Direccionamiento global
Grancolombiano-en
Cada host debe tener una dirección IP única de 32 bits (la excepción de esta regla se tratará más
adelante, ver NAT). Pero estas direcciones no están organizadas de manera arbitraria, por el contrario,
se asignan de acuerdo con una jerarquía bien definida para favorecer el enrutamiento en Internet.
En un principio se inició la arquitectura de internet haciendo uso de clases de IPS, esto permitía asociar
grupos de direcciones IP bajo una misma clase. Entonces la ICANN (Internet Cooporation for Assigned
Names And Numbers) creó tres clases de direcciones IP A, B y C tal como se muestran a continuación.
Politécnico
Figura 1. Clases de direcciones
System
University
International
De esta manera, la ICANN asignaba clases completas a cada organización dependiendo de su tamaño.
Estas clases estaban identificadas por el Network ID. Así, una organización que obtuviera las direcciones
Whitney
de una subred de clase B tendría teóricamente 216 direcciones a su disposición, mientras que una
organización que obtuviera una clase C tendría únicamente 28 direcciones a su disposición en teoría. En
ambos casos todas sus direcciones IP tendrían el mismo prefijo correspondiente al network ID. ¿Pero
por qué decimos que son 224 o 28 direcciones en teoría? lo que sucede es que hay dos direcciones IP
con
reservadas. Para ilustrar esta situación utilizaremos un ejemplo.
alianza
Consideremos que hay una organización que ha obtenido un conjunto de direcciones Clase B
identificado por la red ID 157.253, de esta manera podemos ver que la representación binaria de 157 es
10011101, iniciando con los dos bits obligatorios para la clase B. Las dos direcciones reservadas en este
caso son:
Grancolombiano-en
1. Dirección con el prefijo Network ID terminada en ceros (157.253.0.0): esta dirección es utilizada
para referirse a la red.
2. Dirección con el prefijo Network ID terminada en unos en su representación binaria
(157.253.255.255), la cual se llama normalmente dirección de broadcast y es utilizada para
enviar paquetes a todos los nodos de la red, en caso de que el enrutador lo permita.
Eventualmente la ICANN notó que existían muchas direcciones desperdiciadas, ya que habría diferentes
organizaciones que tienen direcciones clase C y no las utilizan completas, entonces fue necesario
Politécnico
modificar este método de asignación de direcciones para atacar el problema de escasez de direcciones
IP. Este nuevo método se llamó CIDR (Classles InterDomain Routing, definido en la RFC 1519) el cuál
permite adicionar máscaras de red a los enrutadores dando más flexibilidad al enrutamiento y
asignación de direcciones IP.
Fragmentación
Cada red tiene un MTU (Maximum Tranfer Unit) el cual le especifica el tamaño máximo de paquete que
podrá viajar por dicha red. De esta manera, cuando llega un paquete que supera dicho tamaño y no
tiene el bit DF prendido, este es fragmentado en diferentes paquetes que cumplen las siguientes
condiciones:
System
• Todos comparten el mismo IP_ID.
• El paquete que se debe colocar en primer lugar contiene un valor de offset de 0, cada uno tiene
un valor diferente de offset que identifica su posición en los datos del paquete que se
ensamblará en el receptor.
University
• Todos los paquetes con excepción del último tienen el bit de MF (More Fragments) en 1 para
especificar que se deben ensamblar y que no son un paquete separado cada uno.
NAT
International
Debido a que la cantidad de direcciones IP es limitada y el crecimiento de internet ha sido tan rápido se
optó por desarrollar un protocolo que permitiera utilizar direcciones que fueran privadas y sólo visibles
para una red interna. Estas direcciones privadas inician por uno de los siguientes prefijos dependiendo
de la cantidad de hosts que se deban conectar a la misma:
Whitney
• 10, utilizando 24 bits para direcciones.
• 172.16, utilizando 20 bits para direcciones.
• 192.168, utilizando 16 bits para direcciones.
con
Para lograr hacer esto el enrutador que envía los requerimientos hacia el mundo exterior debería tener
una IP pública para poder comunicarse con el resto de sistemas, haciendo parecer que él es quien está
alianza
haciendo las solicitudes que se están ejecutando dentro de la subred. Este protocolo se llama NAT
(Network Address Translation) porque un dispositivo está haciendo la traducción de dirección privada
(solo visible desde la red interna) a una dirección y puerto externos (visibles desde internet).
Grancolombiano-en
ICMP (Internet Control Message Protocol)
“Los errores detectados pueden ser notificados por medio del Internet Control
Message Protocol (ICMP) (Protocolo de Mensajes de Control de Internet) [3] el
cual está implementado en el módulo del protocolo internet”.
¿Sería excelente poder recibir una notificación de que algún paquete no pudo ser entregado por
congestión en la red, por tiempo de vida expirado o por cualquier otro motivo no es verdad? Para esto
Politécnico
está ICMP. Aunque no hay garantía de que para todo paquete que no llegue al destino se reciba una
notificación ICMP. Este es un método que permite manejar el error y la congestión de la red.
Aunque este protocolo no se desarrolló para que fuera utilizado de manera directa por las aplicaciones,
hay algunos casos en los que esto se hace (tracert, ping). Este protocolo está diseñado para que los
módulos de implementación de IP en diferentes máquinas se puedan comunicar errores entre sí. A
pesar de que el error se haya producido en algún dispositivo intermedio siempre se notifica el error a la
fuente de la comunicación, esto se hace porque normalmente el problema se soluciona reenviando el
paquete modificando ciertos atributos como el TTL, el instrumento de fragmentación DF, entre otros.
System
A continuación haremos un repaso breve de la estructura de la cabecera de un mensaje ICMP:
jq~$ 4 <= 59 5: 67 68 75
University
Tipo: contiene el tipo de mensaje.
Code: contiene el código del mensaje.
Checksum: es la suma de verificación realizada para el paquete, y se calcula para todo el mensaje.
Whitney
Los tipos de mensaje son los siguientes:
con
alianza
Grancolombiano-en
Politécnico