datagrama ip

32
2016 Carlos Eduardo Gómez Montoya. M.Sc Luis Eduardo Sepúlveda Rodríguez. M.Sc Redes de computadores II CAPA DE RED Datagrama IP 1

Upload: luis-eduardo-sepulveda

Post on 26-Jul-2016

226 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Datagrama IP

2016

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

Redes de computadores II

CAPA DE RED

Datagrama IP

1

Page 2: Datagrama IP

ProtocoloIP

2

| Capa de Red | Protocolo IP |

Page 3: Datagrama IP

ProtocoloIP

3

• 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.

| Capa de Red | Protocolo IP |

Page 4: Datagrama IP

DatagramaIP

4

• 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.

Encabezado Datos

Encabezado Datos

Mensaje

Transporte

Aplicación

RedDatagrama

Segmento

| Capa de Red | Datagrama IP |

Page 5: Datagrama IP

DatagramaIP

5

● 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.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Opciones

Campodedatos

0 15 31

| Capa de Red | Datagrama IP |

Page 6: Datagrama IP

DatagramaIP

6

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.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 7: Datagrama IP

DatagramaIP

7

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.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 8: Datagrama IP

DatagramaIP

8

Servicios Diferenciados

● Anteriormente llamada Tipo de Servicio.

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

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

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

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

0 1 2 3 4 5 6 7

Prioridad D T R C

Page 9: Datagrama IP

DatagramaIP

9

ServiciosDiferenciados

● 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). • 0 0 1 0: Alta confiabilidad (Reliability).

• 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.

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

0 1 2 3 4 5 6 7

Prioridad D T R C

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

Page 10: Datagrama IP

DatagramaIP

10

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.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 11: Datagrama IP

DatagramaIP

11

Identificación

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 12: Datagrama IP

DatagramaIP

12

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).

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 13: Datagrama IP

DatagramaIP

13

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.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

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

Page 14: Datagrama IP

DatagramaIP

14

Bit 0: Reservado

● Es un bit que no se utiliza.

● Su valor siempre debe ser cero.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

0 1 2

DF MF

Flags(indicadores)

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

Page 15: Datagrama IP

DatagramaIP

15

Bit 1: DF (Don’t Fragment)

● Posibles valores:

• 0: Se puede fragmentar el datagrama

• 1: No se puede fragmentar el datagrama.

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

0 1 2

DF MF

Flags(indicadores)

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

Page 16: Datagrama IP

DatagramaIP

16

Bit 2: MF (More Fragment)

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

● Posibles valores:

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

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

0 15 31

0 1 2

DF MF

Flags(indicadores)

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

Page 17: Datagrama IP

DatagramaIP

17

Desplazamiento

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

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

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

● El primer fragmento tiene posición 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.

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Page 18: Datagrama IP

DatagramaIP

18

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).

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

Page 19: Datagrama IP

DatagramaIP

19

Ejemplo

● Tamaño del datagrama 1420 Bytes (1400 Bytes de datos y 20 Bytes del encabezado).

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 = 75 (75x8=600) MF = 1

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

Fragmento 3:

Longitud total = 220 Bytes Desplazamiento = 150 (150x8=1200) MF = 0

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

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

Page 20: Datagrama IP

DatagramaIP

20

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.

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

Page 21: Datagrama IP

DatagramaIP

21

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

Page 22: Datagrama IP

DatagramaIP

22

Tiempo de Vida (TTL)

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

● 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.

● Cuando llega a cero, el datagrama es descartado.

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

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

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Page 23: Datagrama IP

DatagramaIP

23

Protocolo

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

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

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

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

0 15 31

| Capa de Red | Datagrama IP | Campo Protocolo |

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Page 24: Datagrama IP

DatagramaIP

24

Suma de Comprobación ● Corresponde a una suma de

comprobación del encabezado, no incluye los datos.

● Especificada en los RFC 1071 y 1141.

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

cada router, donde el encabezado del datagrama es procesado.

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

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

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Page 25: Datagrama IP

DatagramaIP

25

Suma de comprobación

● Procedimiento

• Se divide el encabezado en words de 16 bits (W16).

• Inicialmente se suman dos W16.

• Y se repite el siguiente procedimiento hasta terminar:

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

• Posteriormente se suma el siguiente W16.

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

Page 26: Datagrama IP

DatagramaIP

26

Ejemplo de suma de comprobación

● Suponga un datagrama IP con el siguiente encabezado, expresado en hexadecimal:

● Obtenga las W16 del encabezado (1 W16 equivale a 4 dígitos hexadecimales).

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

4500022432F900B901012A7AC0A80166803B1764

4500 0224 32F9 00B9 0101 2A7A C0A8 0166 803B 1764

Page 27: Datagrama IP

DatagramaIP

27

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.

0 15 31

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

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

4500 0224 32F9 00B9 0101 2A7A C0A8 0166 803B 1764

Page 28: Datagrama IP

DatagramaIP

28

Ejemplo de suma de comprobación

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

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

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

Acarreo

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

UNO FFFF 1111 1111 1111 1111 SUMA D585 1101 0101 1000 0101 ----- ------------------- 2A7A 0010 1010 0111 1010

4500 0224 32F9 00B9 0101 2A7A C0A8 0166 803B 1764

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

Page 29: Datagrama IP

DatagramaIP

29

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 2A7A 0010 1010 0111 1010 Suma calculada 2A7A 0010 1010 0111 1010 ------------------- Complemento a 1 0000 0000 0000 0000

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

Page 30: Datagrama IP

DatagramaIP

30

Dirección IP Origen

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

0 15 31

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

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

Page 31: Datagrama IP

DatagramaIP

31

Dirección IP Destino

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

0 15 31

Versión4bits

LongitudEncabezado4bits

ServiciosDiferenciados8bits

LongitudTotal16bits

Identificación16bits

O1bit

DF1bit

MF1bit

Desplazamiento13bits

TiempodeVida8bits

Protocolo8bits

SumadeComprobación16bits

DirecciónIPOrigen32bits

DirecciónIPDestino32bits

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

Page 32: Datagrama IP

Referencias

32

Nivel de texto 1

ComputerNetworking:ATopDownApproach.6thedition.JimKurose,KeithRoss. Addison-Wesley, 2012.

RedesdeComputadoras.5aEdición. AndrewS.TanenbaumyDavidJ.Wetherall.Pearson Educación, 2012.