Datagrama IP

Page 1

CAPA DE RED

Datagrama IP

Carlos Eduardo Gómez Montoya. M.Sc Luis Eduardo Sepúlveda Rodríguez. M.Sc

2016

Redes de computadores II

1


Protocolo IP | Capa de Red | Protocolo IP |

2


Protocolo IP | Capa de Red | Protocolo IP |

Es un protocolo no orientado a conexión, no confiable.

No hay garantía que un datagrama llegue a su destino.

Los datagramas utilizan caminos independientes para llegar al destino.

Los datagramas se pueden perder o dañar.

Los datagramas pueden llegar en desorden.

3


Datagrama IP | Capa de Red | Datagrama IP |

• Un datagrama IP se compone de dos partes: • El encabezado (longitud = 20 bytes). • El campo de datos (longitud = variable de 0 a 40 bytes). • Usualmente lleva un segmento de capa de transporte. • Usualmente lleva un mensaje de capa de aplicación.

Datagrama

Segmento

Encabezado

Encabezado

Datos

Mensaje

Aplicación

Datos

Transporte Red

4


Datagrama IP | Capa de Red | Datagrama IP |

● El encabezado tiene una parte fija de 20 bytes (5 words) y una parte opcional de longitud variable. ● El formato del encabezado se muestra en a continuación.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits Opciones Campo de datos

5


Datagrama IP | Capa de Red | Datagrama IP | Campo Versión |

Versión ● El campo versión describe el formato de la cabecera IP. La versión 4 es la más usada en la actualidad, aunque la versión 6 está en plan de implementación nacional.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

6


Datagrama IP | Capa de Red | Datagrama IP | Campo Longitud del Encabezado |

Longitud del Encabezado ● Longitud del encabezado del datagrama, está medida en palabras (words) de 32 bits. ● HLEN (Header Length) ● Nótese que el valor mínimo para una cabecera correcta es 5 words, equivalentes a 160 bits.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

7


Datagrama IP | Capa de Red | Datagrama IP | Campo Servicios Diferenciados |

Servicios Diferenciados

● Puede ser utilizado o ignorado dependiendo del tipo de red.

● Anteriormente llamada Tipo de Servicio.

● Los primeros tres bits especificaban la prioridad (0 – baja; 7 – alta) pero ya no se utilizan.

● Pensado para solicitar determinada calidad en la transmisión(QoS – Quality of Service). 0

1

2

3

4

5

6

Prioridad

D

T

R

C

0

7

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

8


Datagrama IP | Capa de Red | Datagrama IP | Campo Servicios Diferenciados |

Servicios Diferenciados

• 0 0 0 1: Bajo costo (Cost). • Ejemplo: Algunos protocolos podrían preferir mínimo retardo, mientras que otros pueden necesitar alta transferencia de datos.

● Los siguientes cuatro bits son flags (sólo se podría utilizar uno de ellos): • 1 0 0 0: Bajo retardo (Delay). • 0 1 0 0: Alta tasa de transferencia (Throughput).

● El último bit queda en 0, y no tiene un uso determinado.

• 0 0 1 0: Alta confiabilidad (Reliability).

0

1

2

3

4

5

6

Prioridad

D

T

R

C

0

7

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

9


Datagrama IP | Capa de Red | Datagrama IP | Campo Longitud Total |

Longitud Total ● Corresponde a la longitud del datagrama, medida en Bytes, incluyendo el encabezado y los datos. ● Este campo permite que la longitud máxima de un datagrama sea de 64 KBytes, equivalente 65,535 Bytes.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

10


Datagrama IP | Capa de Red | Datagrama IP | Campo Identificación |

Identificación ● Es un valor de reconocimiento asignado por el remitente. Ayuda en el ensamblaje de fragmentos de un datagrama.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

11


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

Fragmentación de Datagramas ● Un datagrama debe tener un tamaño que le permita ser encapsulado completamente en un frame para ser enviado por la red física. ● El datagrama puede pasar por diferentes clases de redes con diferentes capacidades de transferencia. ● La capacidad máxima de transferencia de datos de una red física se le llama MTU (del inglés Maximum Transmission Unit). 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

12


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

Fragmentación de Datagramas ● La MTU de Ethernet es 1500 Bytes por frame. ● Cuando un datagrama pasa de una red a otra con menor MTU, el datagrama se debe fragmentar. ● Cada parte de un datagrama se llama fragmento. ● Estos 16 bits permiten implementar la fragmentación de un datagrama. 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

13


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

Bit 0: Reservado ● Es un bit que no se utiliza. ● Su valor siempre debe ser cero.

0

1

2

Flags (indicadores)

DF MF 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

14


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

Bit 1: DF (Don’t Fragment) ● Posibles valores: • 0: Se puede fragmentar el datagrama • 1: No se puede fragmentar el datagrama. 0

1

2

Flags (indicadores)

DF MF 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

15


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

Bit 2: MF (More Fragment)

● Posibles valores: • 0: No hay mas fragmentos. Este datagrama es el último fragmento.

● Es un indicador que permite saber si un datagrama es el último de una serie de fragmentos que provienen del mismo datagrama.

• 1: Hay mas fragmentos. Este datagrama no es el último fragmento. 0

1

2

Flags (indicadores)

DF MF 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

16


Datagrama IP | Capa de Red | Datagrama IP | Fragmentación de Datagramas |

● Todos los fragmentos excepto el último del datagrama deben tener una longitud que sea múltiplo de 8 Bytes (Words de 64 bits).

Desplazamiento ● Este campo indica a que parte del datagrama pertenece este fragmento.

● El primer fragmento tiene posición 0.

● La posición del fragmento se mide en unidades de 8 Bytes (64 bits) que es considerada la unidad elemental de fragmentos.

0

● Los 13 bits de este campo permiten un máximo de 8192 fragmentos por datagrama. Lo que equivale a una longitud máxima de datagrama de 65.536 bytes, uno más que en el campo de Longitud Total; suficiente para re-emsamblar un datagrama de cualquier tamaño.

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

17


Datagrama IP | Capa de Red | Datagrama IP | Ejemplo de Fragmentación |

Ejemplo

● 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), por lo tanto, 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).

18


Datagrama IP | Capa de Red | Datagrama IP | Ejemplo de Fragmentación |

Ejemplo

● Tamaño del datagrama 1420 Bytes (1400 Bytes de datos y 20 Bytes del encabezado). Fragmento 1: Longitud total = Desplazamiento = MF =

Fragmento 2: 620 Bytes 0 1

Contiene los primeros 600 Bytes de los datos del datagrama original.

Longitud total = Desplazamiento = MF =

Fragmento 3: 620 Bytes 75 (75x8=600) 1

Contiene los siguientes 600 Bytes de los datos del datagrama original.

Longitud total = Desplazamiento = MF =

220 Bytes 150 (150x8=1200) 0

Contiene los últimos 200 Bytes de los datos del datagrama original.

19


Datagrama IP | Capa de Red | Datagrama IP | Ejemplo de Fragmentación |

Ejemplo

• 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 el reensamblado se hace teniendo en cuenta el desplazamiento. • Si el datagrama hubiera tenido su bit (DF) en 1, no hubiera podido atravesar el router R1 y hubiera descartado el datagrama.

20


Datagrama IP | Capa de Red | Datagrama IP | Ejemplo de Fragmentaci贸n |

21


Datagrama IP | Capa de Red | Datagrama IP | Campo Tiempo de vida TTL |

Tiempo de Vida (TTL)

● Cuando llega a cero, el datagrama es descartado.

● Indica el tiempo máximo que el datagrama puede existir.

● La intención es hacer que los datagramas imposibles de entregar sean descartados, y limitar el máximo periodo de vida de un datagrama.

● Cada router intermedio disminuye en 1 el valor del TTL. Si el datagrama es almacenado para posterior reenvío, se disminuye en 1 el TTL por cada segundo almacenado en caso de congestión.

0

● El valor por defecto es de 32 o 64 según la huella de identificación de cada sistema operativo. 15

Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

22


Datagrama IP | Capa de Red | Datagrama IP | Campo Protocolo |

Protocolo

● Otros protocolos pueden ser: ICMP (1), IP (4), y algunos relacionados con IPv6 (41, 43, 44, 58, 59 y 60).

● Indica el protocolo del siguiente nivel usado en la parte de datos del datagrama IP.

● La tabla completa puede ser consultada en http://www.iana.org/assignments/ protocol-numbers/protocol-numbers.xml.

● Las dos opciones más usadas son TCP (6) y UDP (17).

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

23


Datagrama IP | Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Suma de Comprobación

cada router, donde el encabezado del datagrama es procesado.

● Corresponde a una suma de comprobación del encabezado, no incluye los datos.

● Se define como el complemento a 1 de 16 bits de la suma de todas las palabras de 16 bits del encabezado.

● Especificada en los RFC 1071 y 1141.

● A la hora de calcularla el valor inicial de este campo es cero.

● Dado que algunos campos del encabezado cambian (como el tiempo de vida -TTL), esta suma es recalculada y verificada en 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

24


Datagrama IP | Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Suma de comprobación

• Si se produce acarreo, el acarreo se suma al total, de manera que quede un W16.

● Procedimiento

• Posteriormente se suma el siguiente W16.

• Se divide el encabezado en words de 16 bits (W16). • Inicialmente se suman dos W16. • Y se repite el siguiente procedimiento hasta terminar: 0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

25


Datagrama IP | Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Ejemplo de suma de comprobación ● Suponga un datagrama IP con el siguiente encabezado, expresado en hexadecimal: 4500022432F900B901012A7AC0A80166803B1764 ● Obtenga las W16 del encabezado (1 W16 equivale a 4 dígitos hexadecimales). 4500

0224

32F9

00B9

0101

0

2A7A

C0A8

0166

15 Versión 4 bits

Longitud Encabezado 4 bits

Tiempo de Vida 8 bits

1764 31

Servicios Diferenciados 8 bits

Identificación 16 bits

803B

Longitud Total 16 bits O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

26


Datagrama IP | Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Ejemplo de suma de comprobación ● No considere el valor correspondiente al campo Suma de comprobación: ● Realice la suma, cada vez tomando dos números. Si hay acarreo, debe sumarlo al resultado antes de continuar sumando.

4500

0224

32F9

00B9

0101

0

2A7A

C0A8

0166

15 Versión 4 bits

Longitud Encabezado 4 bits

Tiempo de Vida 8 bits

1764 31

Servicios Diferenciados 8 bits

Identificación 16 bits

803B

Longitud Total 16 bits O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

27


Datagrama IP

D

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

H

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

| Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Ejemplo de suma de comprobación 4500

0224

32F9

00B9

0101

2A7A

C0A8

0166

803B

1764

Acarreo

4500 0224 ---4724

4724 32F9 ---7A1D

7A1D 00B9 ---7AD6

7AD6 0101 ---7BD7

7BD7 C0A8 ----13C7F

3C7F 1 ----3C80

3C80 0166 ----3DE6

3DE6 803B ----BE21

BE21 1764 ----D585

● Posteriormente se calcula el complemento a 1 del resultado de la suma así:

UNO SUMA

FFFF D585 ----2A7A

1111 1111 1111 1111 1101 0101 1000 0101 ------------------0010 1010 0111 1010

● La suma de comprobación que el transmisor incluye en el datagrama es: 2A7A

28


Datagrama IP | Capa de Red | Datagrama IP | Campo Suma de Comprobación |

Ejemplo de suma de comprobación ● El receptor suma los Words de 16 bits (suma calculada) y si al calcular el complemento a 1 con la suma enviada, se obtiene como resultado 16 bits en 0, entonces puede concluir que el paquete es correcto y puede entregarlo a quien corresponda. ● Complemento a 1 entre la suma enviada y la suma de verificación calculada,

Suma enviada Suma calculada Complemento a 1

2A7A 2A7A

0010 1010 0111 1010 0010 1010 0111 1010 ------------------0000 0000 0000 0000

29


Datagrama IP | Capa de Red | Datagrama IP | Campo Dirección IP Origen |

Dirección IP Origen ● Corresponde a la dirección del host que ha enviado el datagrama inicialmente.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

30


Datagrama IP | Capa de Red | Datagrama IP | Campo Dirección IP Destino |

Dirección IP Destino ● Corresponde a la dirección del host que ha enviado el datagrama inicialmente.

0

15 Versión 4 bits

Longitud Encabezado 4 bits

Servicios Diferenciados 8 bits

Identificación 16 bits Tiempo de Vida 8 bits

31 Longitud Total 16 bits

O 1 bit

DF MF 1 1 bit bit

Protocolo 8 bits

Desplazamiento 13 bits Suma de Comprobación 16 bits

Dirección IP Origen 32 bits Dirección IP Destino 32 bits

31


Referencias Nivel de texto 1

Computer Networking: A Top Down Approach. 6th edition. 
 Jim Kurose, Keith Ross. Addison-Wesley, 2012.

Redes de Computadoras. 5a Edición. Andrew S. Tanenbaum y David J. Wetherall. Pearson Educación, 2012.

32


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.