Protocolo IP Análisis del formato del datagrama IP Profesor: Andrés Herrera Rodríguez Curso de Redes II Universidad del Quindío 2015
S 1
¿Que es Protocolo IP? El protocolo IP (Internet Protocol) es la base fundamental de Internet. Porta datagramas desde la fuente hasta el destino. El nivel de transporte parte el flujo de datos en datagramas. Durante su transmisión se puede partir un datagrama en fragmentos que se montan de nuevo en el destino. Las principales características de este protocolo son: S S S S S S S
Protocolo orientado a no conexión. Fragmenta paquetes si es necesario. Direccionamiento mediante direcciones lógicas IP de 32 bits. Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito. Realiza el "mejor esfuerzo" para la distribución de paquetes. Tamaño máximo del paquete de 65635 bytes. Sólo se realiza verificación por suma al encabezado del paquete y no a los datos que contiene.
2
Fragmentaci贸n de datagramas
3
Fragmentación de datagramas
S Un datagrama debe tener un tamaño que le permita ser
encapsulado completamente en un frame para ser enviado por la red física. S El datagrama pasa por diferentes clases de redes con
diferentes capacidades de transferencia.
4
Fragmentación de datagramas
S La capacidad máxima de transferencia de datos de una red
física se le llama MTU. S La MTU de Ethernet es 1500 bytes por frame. S Cuando un datagrama pasa de una red a otra con menor
MTU, el datagrama se debe fragmentar. S Cada parte de un datagrama se llama fragmento.
5
• Supongamos que el host A envía un datagrama de 1400 bytes de datos + 20 bytes de encabezado al host B (1420 bytes en total). • El datagrama no tiene ningún problema en atravesar la red 1 ya que 1420 < 1500. • El datagrama no puede atravesar la red 2 (1420 >= 620). • El router R1 debe fragmentar el datagrama para atravesar la red 2. • Cada uno de estos fragmentos es un nuevo datagrama con la misma Identificación pero distinta información en el campo de Desplazamiento de fragmentación y el bit de Más fragmentos (MF).
6
Fragmento 1: Longitud total = 620 bytes; Desplazamiento = 0; MF=1 (contiene los primeros 600 bytes de los datos del datagrama original) Fragmento 2: Longitud total = 620 bytes; Desplazamiento = 600; MF=1 (contiene los siguientes 600 bytes de los datos del datagrama original) Fragmento 3: Longitud total = 220 bytes; Desplazamiento = 1200; MF=0 (contiene los Ăşltimos 200 bytes de los datos del datagrama original)
7
• El router R2 recibirá los tres fragmentos y los enviará a la red 3 sin reensamblarlos. • Cuando el host B reciba los fragmentos, recompondrá el datagrama original. • Los enrutadores no reensamblan los fragmentos porque sería una carga de trabajo adicional. • El host destino puede recibir los fragmentos en desorden pero al reensamblado se hace teniendo en cuenta el desplazamiento. • Si el datagrama hubiese tenido su bit (NF) en 1, no habria podido atravesar el router R1 y seria descartado el datagrama.
8
Ejemplo 2
9
Datagrama IP
S Un datagrama IP se compone de dos partes: S El encabezado. S El campo de datos. S Usualmente lleva un segmento de capa de transporte. S Usualmente lleva un mensaje de capa de aplicación.
10
Datagrama IP
S El encabezado tiene una parte fija de 20 bytes y una parte
opcional de longitud variable. S El formato del encabezado se muestra en la figura a
continuación.
11
Datagrama IP
12
Datagrama IP
Versión: 4 bits S El campo Versión describe el formato de la cabecera IP. La
versión 4 es la más usada en la actualidad.
13
Datagrama IP
Longitud del encabezado: 4 bits S Longitud del encabezado del Datagrama, es la longitud del
encabezado medido en palabras de 32 bits. Nótese que el valor mínimo para una cabecera correcta es 5.
14
Datagrama IP
Servicios diferenciados: 8 bits S Anteriormente la llama Tipo de Servicio. S Es un campo pensado para solicitar determinada calidad en la
transmisión.
S Es un campo que podría ser utilizado o ignorado dependiendo del
tipo de red.
S Los primeros tres bits especifican la prioridad (0 – baja; 7 – alta)
pero ya no se utilizan.
15
Datagrama IP
Servicios diferenciados: 8 bits S Los siguientes cuatro bits son flags (sólo se podría utilizar uno de
ellos):
S 1 0 0 0: Bajo retardo (Delay). S 0 1 0 0: Alta tasa de transferencia (Throughput). S 0 0 1 0: Alta confiabilidad (Reliability). S 0 0 0 1: Bajo costo (Cost). S Ejemplo: Algunos protocolos podrían preferir mínimo retardo, mientras que otros pueden necesitar alta transferencia de datos.
S Un bit en 0, sin uso.
16
Datagrama IP
Longitud Total: 16 bits S Corresponde a la longitud del Datagrama, medida en bytes,
incluyendo el encabezado y los datos. S Este campo permite una longitud máxima de Datagrama
de 64 KBytes = 65,535 bytes.
17
Datagrama IP
Identificación: 16 bits S Es un valor de identificación asignado por el remitente.
Ayuda en el ensamblaje de fragmentos de un Datagrama.
18
Datagrama IP
Flags (indicadores): 3 bits S Son diversos indicadores de control. S Bit 0: reservado, debe ser cero. S Bit 1: (DF) No Fragmentar (Don't Fragment). S Bit 2: (MF) Más Fragmentos (More Fragments).
19
Datagrama IP
Reservado S Es un bit que no se utiliza. S Debe ser cero.
20
Datagrama IP
No Fragmentar. S DF (Don't Fragment). S 0 = Se puede fragmentar el datagrama. S 1 = No se puede fragmentar el datagrama.
21
Datagrama IP
Mas fragmentos S Es un indicador que permite saber si un datagrama es el último de
una serie de fragmentos que provienen del mismo datagrama. S 0 = No hay más fragmentos. Este datagrama es el último
fragmento. S 1 = Hay más fragmentos. Este datagrama no es el último
fragmento.
22
Datagrama IP
Desplazamiento: 13 bits S Este campo indica a que parte del Datagrama pertenece este
fragmento. S La posición del fragmento se mide en unidades de 8 octetos
(64 bits). S El primer fragmento tiene posición 0.
23
Datagrama IP
Tiempo de Vida: 8 bits S Indica el tiempo máximo que el Datagrama puede existir. S Cada router intermedio disminuye en 1 el valor del TTL. S Cuando llega a cero, el Datagrama es destruido. S La intención es hacer que los Datagramas imposibles de entregar sean
descartados, y limitar el máximo periodo de vida de un Datagrama.
S El valor por defecto es de 32 o 64.
24
Datagrama IP
Protocolo (Nivel Superior): 8 bits S Indica el protocolo del siguiente nivel usado en la parte de datos del
Datagrama IP.
S Las dos opciones más usadas son TCP (6) y UDP (17). S Otros protocolos pueden ser: ICMP (1), IP (4), y algunos
relacionados con IPv6 (41, 43, 44, 58, 59 y 60).
S La tabla completa puede ser consultada en
http://www.iana.org/assignments/protocol-numbers/protocolnumbers.xml. 25
Datagrama IP
Suma de comprobación: 16 bits S
Corresponde a una suma de comprobación del encabezado, no incluye los datos.
S
Especificada en los RFC 1071 y 1141.
S
Dado que algunos campos del encabezado cambian (como el tiempo de vida), esta suma es recalculada y verificada en cada router, donde el encabezado del Datagrama es procesado.
S
Se define como el complemento a uno de 16 bits de la suma de todas las palabras de 16 bits del encabezado.
S
A la hora de calcularla el valor inicial de este campo es cero.
26
Suma de comprobación
S Se divide el encabezado en Words de 16 bits. S Inicialmente se suman dos W16. S Y se repite el siguiente procedimiento hasta terminar: S Si se produce acarreo, el acarreo se suma al total, de manera
que quede un W16. S Se suma el siguiente W16.
27
Suma de comprobación
S Suponga un datagrama IP con el siguiente encabezado,
expresado en hexadecimal: S 4500022432F900B901012A7AC0A80166803B1764
S Obtenga las W16 del encabezado (1 W16 equivale a 4
dígitos hexadecimales). 4500 0224 32F9 00B9 0101 2A7A C0A8 0166 803B 1764
28
Suma de comprobación
S No considere el valor del campo de la Suma de
comprobación: S 2A7A
S Realice la suma, cada vez tomando dos números. Si hay
acarreo, debe sumarlo al resultado antes de continuar sumando.
29
Suma de comprobaci贸n 4500 0224 ---4724
4724 32F9 ---7A1D
3DE6 803B ----BE21
BE21 1764 ----D585
7A1D 00B9 ---7AD6
7AD6 0101 ---7BD7
7BD7 3C7F C0A8 1 ----- ----13C7F 3C80
3C80 0166 ----3DE6
Luego se calcula el complemento A1 del resultado. FFFF - D585 = 2A7A
La suma de comprobaci贸n que el transmisor incluye en el datagrama es: 2A7A.
30
Datagrama IP
Sď &#x201C;â&#x20AC;Ż El receptor suma los diez Words de 16 bits y si al calcular el
complemento a 1 del resultado obtiene como resultado 16 bits en 0, puede concluir que el paquete es correcto y puede entregarlo a quien corresponda.
31
Datagrama IP
Direcci贸n IP Origen: 32 bits
32
Datagrama IP
Direcci贸n de Destino: 32 bits
33
Datagrama IP Opciones El campo opciones permite extender el protocolo IP versión 4. S Fue pensado para que se utilizara rara vez. S La existencia de este campo da al Datagrama IP una longitud
variable. S El campo de longitud variable tiene que ser de longitud múltiplo de
32 bits. De lo contrario, se debe rellenar para ajustar la longitud del encabezado. 34
Datagrama IP Opción
Descripción
Seguridad
Especificar qué tan secreto es el Datagrama
Enrutamiento estricto desde el origen
Indicar la ruta completa a seguir
Enrutamiento libre desde el origen
Da una lista de enrutadores que no deben evitarse
Registrar ruta
Hace que cada enrutador agregue su direcciòn IP
Marca de tiempo
Hace que cada enrutador agregre su direción IP y su marca de tiempo.
35
Bibliografía •
GOMEZ, Carlos. Introducción al desarrollo de aplicaciones de red en Java. http://issuu.com/ carlosegomez/docs/progred. 1ª Edición. Universidad del Quindío, 2010.
•
KUROSE, James y ROSS, Keith. Computer Networking: A top-down Approach. 5th Edition. Addison-Wesley. 2010.
•
TANENBAUM, Andrew y WETHERALL, David. Computer Networks 5th Edition. Pearson, 2011.
•
VMware, Inc. (2012). VMWare Compatibility List. Recuperado el Octubre de 10 de 2012, de sitio web de VMWare: http://www.vmware.com/resources/ compatibility/search.php
36
S