lsub, gysc, urjclsub.org/export/tcpip/5.ip.pdf · • sólo para la cabecera! • osea, que tcp y...

36
IP LSUB, GYSC, URJC

Upload: trankhuong

Post on 15-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

IPLSUB, GYSC, URJC

IP• El nivel de red de TCP/IP

• Enviar “datagramas”

• De una máquina a otra

• Utilizando rutas (locales)

• Sin garantías

���2

IP

• Pero hace más cosas…

• Fragmenta datagramas grandes

• Los re-ensambla

• Y en IP v6 aún mas

���3

IP

���4

Cabecera IP Datos

Enviado como una o más tramas ethernet (pero ver luego)

Cabecera IP v4

���5

Cabecera IP v4

���6

• Versión 4

• Internet Header Length: bytes de cabecera

• (60 bytes max)

• Type of Service (bits para forwarding)

• Identifaction: Número único por datagrama

• Total Length: incluye cabecera. Max 65535

IP

���7

• Si la cabecera y datos no caben en una trama de enlace…

• Se fragmenta el datagrama en varios

• Cada uno lleva su cabecera

• Al menos se pueden enviar 512 bytes de datos

• IP v6 no fragmenta

IP

���8

• En fragmentos…

• La longitud indica la longitud del fragmento

• Todos con el mismo valor en identificación.

• Offset indica qué fragmento

IP

���9

• TTL: Time to Live

• Limita la vida del datagrama

• Cada router lo decrementa

• Cuando llega a cero, se tira el datagrama

• Y se envía un ICMP de vuelta!

IP

���10

• Proto: Número único para cada protocolo

• UDP: 17

• TCP: 6

IP

���11

• Header Checksum

• Suma de integridad

• Sólo para la cabecera

• Osea, que TCP y UDP deben comprobar integridad de sus cosas ellos mismos

IP

���12

• Opciones: Source Routing

• No es la única opción

• Estricto o Loose

• Se incluye la lista de routers que queremos seguir para el paquete

• Para prefijar “circuitos” para el paquete

IP

���13

• Opciones: Record Route

• Los routers anotan la ruta en la cabecera

• Estricto o Loose

• Se incluye la lista de routers que queremos seguir para el paquete

• Para prefijar “circuitos” para el paquete

Cabecera IP v6

���14

IP v6

���15

• La versión es 6

• La longitud total no incluye la cabecera

• Next Header: Para lo mismo que proto en v4: Cuál es la siguiente cabecera?

• No hay checksum: Total, protocolos superiores lo harían de todos modos…

IP v6

���16

• Casi todo se hace con opciones

• Cabecera v6: next: fragment

• Fragmento: next TCP

• …

• Existen datagramas jumbo de 64k

Encaminamiento

���17

• El nivel de red tiene que enviar datagramas entre máquinas

• Debe ocuparse de descubrir el camino adecuado

• Cada datagrama se envía por separado

• aunque sean de la misma conversación pueden usar caminos distintos

• Se deciden las rutas con información local

• Cada máquina usa una “tabla de rutas”

Encaminamiento

���18

WiFi en casa

Encaminamiento

���19

• Envío con IP desde una máquina a la 2.3.4.5

• Soy yo? …entonces me lo quedo yo

• La IP es de mi subred? …directamente

• En otro caso al router

• Naturalemente, si no hay entradas

Encaminamiento

���20

• Llega un datagrama a una máquina…

• Para mi? …entonces me lo quedo yo

• Si no, miro mi tabla de rutas

Encaminamiento

���21

• Tabla de rutas:

• máscara

• dirección destino

• siguiente salto

• interfaz (¿Qué enlace?)

Encaminamiento

���22

• Tabla de rutas:

1.Se aplica la máscara a la dir. destino

2.Se compara con el destino en la tabla

3.Para la coincidencia más larga, se envía al siguiente salto por el interfaz indicado

Encaminamiento

���23

• Importante:

•La dirección de los routers NO aparece en el datagrama

•Simplemente se hace reenvío del datagrama a quien corresponda

•Si las rutas están mal puestas… mala suerte.

ICMP

���24

• Internet Control Message Protocol

• protocolo para enviar mensajes de control

• notificar errores y resolver problemas

ICMP

���25

cabecera IP cabecera ICMP datos ICMP

type code cksum

…datos…

ICMP

���26

• Tipos

•0: echo reply

•8: echo request

•3: destination unreachable

•code 0: net, 1:host, 2: proto, 3:port

•11: time exceeded (TTL)

ICMP

���27

• Los errores

• no se envían para datagramas de error

• sólo para el primer fragmento

• nunca en respuesta a broadcasts

IPv6

���28

• Campo Next Header indica el tipo

• Comunes:

• Hop-by-Hop 0

• Destination Options 60

• Routing Header 43

• Fragment Header 44

• Authentication Header AH 51, Encapsulating security Payload 52, parte de IPsec, cifrado, autenticación, non-tampering, etc.

IPv6

���29

• Campo Next Header indica el tipo

• Comunes:

• TCP 6

• ICMP 1

• IPv6 41

IPv6

IPv6

• Hop-by-Hop (y Destination)

• Se tiene que mirar esta cabecera en cada salto (o en destino)

• TLV (type length value)

• Tipo 1byte: los dos bits de abajo descarta 01, descarta y manda ICMPv6 10, etc.

IPv6

IPv6

• Routing headers

• Para mandar el paquete a traves de otros hosts intermedios

• 0 deprecated (ataque)

• 1 Nimrod y 2 Mobile IP home agent

IPv6

IPv6

• Fragment

• En IPv6 sólo fragmentan los extremos

• Offset, more fragments M, Id para ver con cual va (32 bits, aleatorios)

IPv6