0% encontró este documento útil (0 votos)
4 vistas123 páginas

Estructura y Función del Encabezado IP

El documento detalla la estructura y funcionamiento de los paquetes IP en una red TCP/IP, incluyendo el encabezado IP, la longitud del encabezado, y el tipo de servicio. Se enfoca en el modelo DiffServ para la calidad de servicio (QoS), describiendo cómo se clasifican y gestionan los paquetes mediante el uso de Differentiated Services Code Point (DSCP) y Per Hop Behavior (PHB). Además, aborda la fragmentación de datagramas y las opciones adicionales que pueden incluirse en el encabezado IP.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas123 páginas

Estructura y Función del Encabezado IP

El documento detalla la estructura y funcionamiento de los paquetes IP en una red TCP/IP, incluyendo el encabezado IP, la longitud del encabezado, y el tipo de servicio. Se enfoca en el modelo DiffServ para la calidad de servicio (QoS), describiendo cómo se clasifican y gestionan los paquetes mediante el uso de Differentiated Services Code Point (DSCP) y Per Hop Behavior (PHB). Además, aborda la fragmentación de datagramas y las opciones adicionales que pueden incluirse en el encabezado IP.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Roberto Cárdenas C.

Flujo de datos entregados a una


estación sobre una LAN que usa TCP/IP
Encabezado IP
Formato de un paquete IP
Versión

Versión - Indica la versión de IP actualmente en uso. Actualmente es 4.


Posibles valores de Versión
Longitud del encabezado del
paquete IP (Internet Header Length)

Indica la longitud del encabezado del datagrama en palabras de 32 bits.


Ejemplo: si el encabezado es de 20 bytes (que es lo normal, si no hay
opciones), entonces IHL= (20*8)/32= 20/4 = 5 palabras
Longitud del encabezado del
paquete IP (Internet Header Length)

5
palabras
de 32 bits

Indica la longitud del encabezado del datagrama en palabras de 32 bits.


Ejemplo: si el encabezado es de 20 bytes (que es lo normal, si no hay
opciones), entonces IHL= (20*8)/32= 20/4 = 5 palabras
Tipo de servicio

Especifica cómo desearía un protocolo de las capas superiores que se


manejara un datagrama, asignando diferentes niveles de servicio de
acuerdo con su importancia.
Perfiles de tráfico (1)
Pérdida de paquetes
Perfil de tráfico (2)
Perfil de tráfico (3)
Los tres modelos de QoS
Mejor esfuerzo
Servicios Integrados (IntServ)
RSVP UDP Reservation (1)
RSVP UDP Reservation (2)
RSVP UDP Reservation (3)
Servicios Diferenciados (DiffServ)
Tipo de servicio
Codificación de TOS
DiffServ
• Los servicios diferenciados (DiffServ) es un modelo
de servicios múltiples para implementar calidad de
servicio (QoS) en una red.

• Con DiffServ, la red trata de entregar una clase de


servicio que es basada en la QoS especificada en
cada paquete.

• Esta especificación puede darse usando


Differentiated Services Code Point (DSCP) en el
encabezado del paquete IP.
Codificación DSCP

• Campo DiffServ: corresponde al campo original TOS en el encabezado IPv4, o


al campo Traffic Class de IPv6.
• Campo DSCP: corresponde a los primeros 6 bits de la izquierda del campo
DiffServ. Se usan para seleccionar un PHB (Per Hop Behaviour, envío y método
de encolamiento).
• Dentro del núcleo de la red, los paquetes son pasados de acuerdo a el PHB que
está asociado con el DSCP.
¿Cuándo se puede usar Servicios
Diferenciados?
Por ejemplo, el software Cisco IOS considera los bits de
prioridad del campo ToS si el tráfico ha sido encolado
usando Weighted Fair Queuing (WFQ), Weighted
Random Early Detection (WRED) o Weighted Round
Robin (WRR). Los bits de prioridad no se consideran
cuando se configuran políticas de enrutamiento o cola de
prioridad (PQ) o cola de espera personalizada (CQ) o el
filtrado razonable ponderado basado en clases
(CBWFQ).
WFQ
Class-Based Weighted Fair Queueing
Low Latency Queueing (LLQ)
Weighted Random Early Detection
(WRED)
WRED con varias colas
Weighted Round Robin (WRR).
Tipos de PHB
 Por defecto: usado para el servicio del mejor esfuerzo.
 Entrega expedita (EF): usado para un servicio de bajo
retardo (bits 5-7 del DSCP: 101).
 Entrega garantizada (AF): usado para un servicio con
ancho de banda garantizado (bits 5-7 del DSCP: 001,
010, 011, 100).
 Selector de clase: usado para compatibilidad con
dispositivos que no usen DiffServ (bits 2-4 del DSCP:
000).
PHB Entrega Expedita (EF)
 Asegura un tiempo de partida mínimo.
 Garantiza ancho de banda con envío priorizado.
 Tiene políticas de uso del ancho de banda: no se le
permite a la clase exceder el ancho de banda
garantizado. Si esto sucede se elimina el exceso de
tráfico.
Modelo de cola para EF

La definición del servicio EF es tal que, en promedio, esta cola debe ser pequeña
o vacía. Como consecuencia, el EF PHB es un bloque de construcción adecuado
para servicios de borde a borde de baja pérdida, baja latencia y baja oscilación.
RFC 2598 señala que EF se puede utilizar para construir servicios de "línea de
arrendamiento virtual" (trayectos de baja latencia / pérdida caracterizados por un
parámetro de ancho de banda pico) porque implementa un segmento de ancho de
banda garantizado de borde a borde protegido contra todos los demás usuarios
del Dominio DS.
Ejemplo de PHB EF: DSCP=101110

 Bits 7-5: 101. Luce como una precedencia 5 de IPv4.


 Bits 4-3: 11. Probabilidad de eliminar tráfico excesivo. El
estándar DiffServ no especifica una definición precisa de
"bajo", "medio" y "alto“. En este caso se define que la
probabilidad de pérdida mínima.
 Bit 2: 0. Sin definición
PHB Entrega Asegurada (AF)

 Garantiza ancho de banda.


 Si hay ancho de banda extra, permite su uso.
 Se codifica con el valor DSCP “aaadd0”. El valor “aaa” selecciona una clase. El
valor “dd” selecciona una probabilidad de eliminación de tráfico excesivo, la
cual puede ser alta, media o baja.
 Hay cuatro clases estandarizadas para asignar ancho de banda basadas en la
política de calidad de servicio (AF1, AF2, AF3 y AF4).
Modelo de colas de AF

Aunque AF DSCP identifica una de cuatro colas (clases), no especifica el tamaño máximo de
una cola o el intervalo de servicio de planificador asociado con cada cola. El operador de red
configura estos parámetros caso por caso (dependiendo del servicio de borde a borde
deseado de cada clase AF en ese momento). Cada clase de servicio se distingue por el nivel
de recursos de reenvío (ancho de banda y espacio de cola) que recibe en cada salto,
independientemente de los otros tres (lo que implica el uso de WFQ, WRR o planificadores
similares). Para evitar posibles reordenamientos de paquetes pertenecientes a flujos de
aplicaciones dentro de una clase de servicio, un enrutador compatible con AF no debe
asignar diferentes clases de servicio a la misma cola y no está permitido distribuir paquetes
pertenecientes a una única clase de servicio a través de varias colas.
Ejemplo de PHB EF = AF1

 Valor de precedencia: 001


 Valor de probabilidad de drop: 01
Selector de clase: compatibilidad
Marcado de tráfico
Resumen de Diffserv
 El modelo Diffserv describe servicios asociados con clases
de tráfico.
 La compleja clasificación de tráfico y acondicionamiento,
se realiza en la frontera de red, resultando en un DSCP por
paquete.
 El comportamiento de Diffserv por salto de reenvío es
fácilmente observable externamente.
 La clase PHB EF establece políticas y garantiza ancho de
banda mientras que asegura una mínima tasa de partida.
 La clase PHB AF garantiza ancho de banda mientras que
provee cuatro clases cada una con tres valores DSCP. Hay
más tolerancia al descarte.
 Existen mecanismos para compatibilidad hacia atrás.
Longitud total del datagrama

Especifica la longitud, en bytes, del paquete IP total incluyendo


los datos y el encabezado. Nótese que el tamaño máximo de un
datagrama sería de 216=65.536 bytes
Recursos de fragmentación
Identificación

Consta de un número entero que identifica el datagrama actual.


Este campo se utiliza para ayudar a reconstruir los fragmentos del
datagrama. El tamaño de los datos en bytes se puede calcular
como: Longitud de datos (bytes)= Longitud total – (IHL*4)
Recursos de fragmentación

1 fragmento = 8 bytes
Número máximo de fragmentos = 213 = 8192
Recursos de fragmentación D M
0 F F

3 bits utilizados para el control de fragmentación (Banderas):


bit 0 - reservado. Debe ser 0.
bit DF (Don’t Fragment) - 1 significa no fragmentar.
bit MF (More Fragments) - 0 indica que es el último o único fragmento y 1 que hay más fragmentos.
Recursos de fragmentación:
banderas
Determinación de fragmento
 Datagrama sin fragmentar: MF=0, Fragment Offset=0
 Primer fragmento: MF=1, Fragment Offset=0
 Último fragmento: MF=0, Fragment Offset≠0
 Fragmento intermedio: MF=1, Fragment Offset≠0
¿Por qué fragmentar?
Fragmentación

Último
paquete

Paquetes
procesados
Primer Segundo por el
paquete paquete receptor
Reensamblado
f.o.=0

f.o.=(Tam2)/8

f.o.=(Tam1)/8

Por simplicidad suponemos que mod(Tam1,8) = 0, mod(Tam2,8)=0


Reensamblado
Datos 3 (bytes)

Datos 4 (bytes)

Datos 2 (bytes)

Por simplicidad suponemos que mod(Tam1,8) = 0, mod(Tam2,8)=0


Reensamblado
Ping para generas dos paquetes
fragmentados
Reensamblaje
 Llega un paquete con la siguiente información:
 Fragment Offset (FO)=0, MF=1, TL=1500, IHL=5
 Como MF=1 y FO=0 => Primer paquete
 Número de fragmentos a colocar en el buffer desde
FO=0: Datos=TL – (IHL*4) = 1500 – (5*4) = 1480
fragmentos = fix[(Datos+7)/8]=fix[(1480+7)/8]
= fix(185.875) = 185
 Colocar en 1, 185 banderas para estos fragmentos.
Reensamblaje
 Llega un paquete con la siguiente información:
 Fragment Offset (FO)=185, MF=0, TL=121, IHL=5
 Como MF=0 y FO≠0 => Último paquete
 Número de fragmentos a colocar en el buffer desde
FO=185: Datos=TL – (IHL*4) = 121 – (5*4) = 101
fragmentos = fix[(Datos+7)/8]=fix[(101+7)/8]
= fix(13.5) = 13
El último fragmento solo tendrá: 8-[(13*8)-101]=5 bytes
 Colocar en 1, 13 banderas para estos fragmentos.
Reensamblaje
 El TL del datagrama será (TLD):
 TLD = (IHL*4) + (FO*8) + Datos = 20 + (185*8) + 101
= 1601
 ¿Cuántas banderas deben estar activadas para saber si
ya llegaron todos los paquetes?
-Banderas totales = fix{[TLD-(IHL*4) + 7]/8}
= fix(198.5) = 198
 Hasta el momento el número de banderas activadas
son: 185 + 13 = 198, por tanto se ha completado el
reensamblaje
Buffer de reensamblaje
FO=0

185*8 = 1480 bytes

FO=185

12*8 = 96 bytes
5 bytes
Fragmento 13, 5 bytes

Total datos = 1480 + 96 + 5 = 1581 bytes


Tiempo de vida (TTL)
Tiempo de vida (TTL)
Protocolo
Protocolo
Checksum
Checksum según RFC 791
Traducción
Checksum (RFC 1071)
Checksum (Comer & Stevens)
Checksum

Nota: HEX + Compl. de 1 =15


Checksum en TX

La información y el
cálculo del Header
Checksum en HEX será:
Checksum en RX
Checksum

Contienen las direcciones de 32 bits de hosts de fuente y destino del datagrama


respectivamente
Opciones
Opciones IP
Son campos adicionales que se añaden a
encabezado IP estándar de 20 bytes.
Su tamaño es variable. Pueden ir desde un
byte hasta múltiplos de cuatro bytes.
El encabezado puede tener hasta 60 bytes
(hasta 40 para opciones).
Opciones
Clases y número de opción para
aplicaciones no militares
Clases y números de opción
Clase de Número de Descripción
Opción opción
0 0 End Of Option List Opción de 1 byte usada para indicar
el final de una lista de opciones.
0 1 No Operation Opción de un byte usada para alinear
octetos en una lista de opciones.
0 3 Loose Source Routing Opción de longitud variable
usada para enlutar un datagrama a través de un camino
específico y se puede tomar rutas alternas.
0 7 Record Route Opción de longitud variable usada para
trazar una ruta a través de una interred IP.
0 9 Strict Source Routing Opción de longitud variable usada
para enlutar un datagrama a través de una ruta y no se
pueden tomar rutas alternas.
0 20 IP Router Alert Opción de longitud fija usada para
informar al router que se requiere procesamiento adicional
para un datagrama
2 4 Internet Timestamp Opción de longitud variable usada
para grabar una serie de marcas de tiempo en cada salto.
Opciones de Relleno
End Of Option List
Es un byte que se usa cuando el final de las
opciones IP no están dentro de una frontera
de 4 bytes. Sólo se usa al final de las
opciones IP, no al final de cada opción.
No Operation
Es una opción de un byte, usada entre
opciones IP cuando una opción no cae
dentro de una frontera de 4 bytes.

©2005 Roberto Cárdenas


Uso de End Of Option List y No Operation
Uso de End Of Option List y No Operation
Record Route
Es una opción de longitud variable que se usa para
grabar las direcciones IP de las interfaces de los routers
que la reenvían y en la medida que atraviesa la interred
IP.

©2005 Roberto Cárdenas


Record Route
Record Route
Cuando un datagrama pasa de un router a
otro, cada router añade su dirección IP a la
lista, cada router también modifica el campo
Next Slot Pointer field. Como las opciones
pueden tener máximo 40 bytes, se pueden
grabar hasta 9 direcciones IP.

©2005 Roberto Cárdenas


Record Route
Next Slot Pointer: apunta en sitio en el
datagrama el próximo donde se grabará una
dirección IP. Mínimo valor es 4 (comenzando en 1).
Cada router suma 4 a Next Slot Pointer.

©2005 Roberto Cárdenas


Record Route
Enrutamiento de origen o de
fuente
 El enrutamiento de origen se diseñó para permitir a los
usuarios en el origen de una transmisión de paquetes
IP especificar las direcciones IP de los dispositivos
(también denominados "saltos") a lo largo de la ruta
que desean que un paquete IP lleve a su destino.
 La intención original de las opciones de ruta de origen
de IP era proporcionar herramientas de control de
enrutamiento para ayudar al análisis de diagnóstico.
Enrutamiento de origen o de
fuente
 Si, por ejemplo, en la transmisión de un paquete a un
destino determinado se produce un éxito irregular, se
puede utilizar primero la ruta de registro o la opción IP
de marca de tiempo para descubrir las direcciones de
los dispositivos a lo largo de la ruta o rutas que toma el
paquete. A continuación, puede utilizar la opción de
ruta suelta o la ruta de origen estricta para dirigir el
tráfico a lo largo de una ruta específica, utilizando las
direcciones que aprendió de los resultados que produjo
la ruta de registro o las opciones de marca de hora.
Enrutamiento de origen o de
fuente
 Al cambiar las direcciones de los dispositivos para
alterar la ruta y enviar varios paquetes a lo largo de
diferentes rutas, puede observar cambios que mejoran
o disminuyen la tasa de éxito. A través del análisis y el
proceso de eliminación, usted podría ser capaz de
deducir dónde está el problema.
Ejemplo de uso de enrutamiento
de origen o de fuente
Strict Source Route Option
Ejemplo de Strict Source Route
Option
Ejemplo de Strict Source Route
Option
Ejemplo de Strict Source Route
Option
Ejemplo de Strict Source Route
Option
Ejemplo de Strict Source Route
Option
Loose Source Route Option
Loose Source Route Option
Permite que existan otros routers entre los indicados
como destino.

Ejemplo: se envía un datagrama desde el host A hacia el


host C, sin embargo, otros tres equipos van a participar
en el envío de la información.

©2005 Roberto Cárdenas


Loose Source Route Option

Paquete
emitido por
Host A.
Código de
la opción: 131
(Loose Source
Rute)
Loose Source Route Option

Longitud de
la opción: 23 bytes.
(6 palabras de
32 bits*4)-1=23

End of Option List


Loose Source Route Option

Como el apuntador
es 4, se apunta a la
dirección del Host
B.
Loose Source Route Option

Paquete emitido por


el host B
Host B agrega 4 al
anterior apuntador.
Apuntador = 4+4 =8.
 Este paquete se
dirige al Host C
Loose Source Route Option

Paquete emitido por


el host D
Host D agrega 4 al
anterior apuntador.
Apuntador = 12+4 =16.
 Este paquete se
dirige al Host E
IP Router Alert
Puede ser usada para notificar al router en tránsito que
se debe examinar más en detalle los contenidos de in
paquete IP

Es útil a protocolos que son direccionados a un destino


pero que requieren procesamiento complejo en routers a
lo largo del camino.

Esta opción es usada p.e. por RSVP (QoS) e IGMP


version 2.
©2005 Roberto Cárdenas
IntServ (Integrated Services)
 Filosofía: Reserva de recursos
 Cada router del trayecto ha de tomar nota y efectuar
reserva solicitada.
 Lo realiza el protocolo Resource Reservation Protocol
(RSVP), descrito en RFC 2205. El número de protocolo
es 46.
IP Router Alert

• Un valor en ‘Value’ indica que el router debe revisar el paquete.


• Con el mensaje Path, se envía la opción IP Router Alert (RFC 2113) para que los
routers no conmuten simplemente hacia el destino sino que intercepten el
paquete para permitir optimizaciones en el procesamiento.

©2005 Roberto Cárdenas


Especificación de Internet
Timestamp
 El originador elabora una lista de hasta cuatro
direcciones en el encabezado del paquete.
 Cada router a lo largo del camino revisa si su propia IP
es la primera dirección sin sello.
 Si es así, proporciona el sello de tiempo antes de
reenviar.
Funcionamiento de Timestamp
Funcionamiento de Timestamp
Funcionamiento de Timestamp
Funcionamiento de Timestamp
Funcionamiento de Timestamp
Internet Timestamp
Se puede grabar la pareja tiempo-dirección IP o solo
tiempo.

©2005 Roberto Cárdenas


Internet Timestamp
Overflow: campo llenado por los routers para indicar el
número de routers que fueron capaces de grabar sus
direcciones y marcas de tiempo.
Flags: 0: se omite la dirección IP;
1: se graba la dirección IP, permitiéndose hasta 4
pares;
3: solo se graba si la dirección IP coincide.

©2005 Roberto Cárdenas


Prueba Timestamp
Pruebas
Loose Source Route Option:

ping -j IP_address_of_first_hop IP_address_of_second_hop …


destination_IP_address

Strict Source Route Option:

ping -k IP_address_of_first_hop IP_address_of_second_hop …


destination_IP_address

Internet Timestamp:
ping -s slots destination

©2005 Roberto Cárdenas


¿Por qué ping –j normalmente no
trabaja?
 Con Loose Source Routing, se puede especificar uno o
varios hosts por los cuales los paquetes deben pasar
antes de llegar al destino. Sin embargo veamos que en
la práctica puede no trabajar. Ver siguiente ejemplo.
¿Por qué ping –j normalmente no
trabaja?
Utilidad del enrutamiento de
origen tipo “loose”
 El enrutamiento de origen tiene un gran potencial para el
abuso, y por lo tanto la mayoría de los administradores de
red bloquean todos los paquetes con enrutamiento de
fuente en sus enrutadores de borde. Por lo tanto, en la
práctica, las rutas de origen sueltas (loose) no van a
trabajar.
 Esto es lamentable, ya que la capacidad de ver una ruta
inversa (que se puede hacer utilizando Source Routing)
sería muy útil para diagnosticar problemas de red.
 Rutas normal e inversa pueden ser (y a menudo lo son)
completamente diferentes ("asimétricas"). Si difieren, un
problema en la conexión podría ser un problema, ya sea con
la ruta hacia el destino, o con el camino de vuelta desde el
objetivo.
El problema de seguridad con
enrutamiento de fuente
 Los atacantes pueden usar enrutamiento de fuente
(source routing) para probar la red forzando paquetes
en partes específicas de la red.
 Un atacante puede obtener información acerca de la
topología de la red u otra información que pudiera
usar para desarrollar un ataque. Durante un ataque,
podría usar enrutamiento de fuente para eludir
restricciones de seguridad existentes.
Ejemplo de ataque con
enrutamiento de origen
Ejemplo de ataque con
enrutamiento de origen
El firewall sólo permite tráfico [Link]/24 si viene a través de
ethernet1, una interfaz vinculada como externa. Los dispositivos 3 y
4 hacen cumplir los controles de acceso, pero los dispositivos 1 y 2
no. Además, el dispositivo 2 no comprueba la suplantación de IP. El
atacante falsifica la dirección de origen y, utilizando la opción de
ruta de fuente suelta, dirige el paquete a través del dispositivo 2 a la
red [Link]/24 y desde allí el dispositivo 1. El dispositivo 1 lo envía al
dispositivo 3, que lo reenvía al firewall. Debido a que el paquete
provenía de la subred [Link]/24 y tiene una dirección de origen de
esa subred, parece ser válida. Sin embargo, queda un remanente de
la opción de ruta de fuente suelta. En este ejemplo, ha habilitado la
denegación de ruta de origen de IP para la interfaz externa. Cuando
el paquete llega a ethernet3, el dispositivo lo rechaza.
Datos

Contiene información de las capas superiores.

También podría gustarte