You are on page 1of 11

Protocolo IP

Indice
La pila OSI vs TCP/IP. Introduccin al protocolo IP. Formato de cabecera IP. Direccionamiento:
Clases. Subnetting. Supernetting y CIDR. Direccionamiento en la actualidad.

Direcciones especiales. Tablas de rutas. Fragmentacin.

OSI vs TCP/IP
Aplicacin Presentacin Sesin Transporte Red N.E.D. Fsico Acceso al medio fsico TCP / UDP IP TCP IP Aplicacin HTTP

Ethernet

OSI
Es un estndar de referencia: 7 niveles. No suelen implementarse todos.

TCP/IP
TCP/IP suele explicarse mediante 4 niveles: Acceso: Permite que los datagramas IP viajen por un determinado medio. IP: Es el protocolo de nivel 3, no orientado a la conexin. TCP: Es el protocolo de transporte fiable y orientado a la conexin. UDP: Es el protocolo de transporte no fiable ni orientado a la conexin. Aplicacin: Engloba a cualquier usuario del nivel TCP o UDP.

Ejemplo
Ejemplo de una aplicacin web: Usa un protocolo fiable (TCP) sobre una red que no lo es (IP). Debajo de IP tengo Ethernet que encapsula directamente el datagrama; si tengo 802.3 necesitara adems 802.2.

Introduccin a IP
Es un protocolo de nivel 3, no fiable, no orientado a la conexin. Tiene un direccionamiento de 32 bits, jerrquico. Soporta la fragmentacin. Est definido en el RFC 791. Es el protocolo de red de referencia en Internet

Formato de cabecera IP
Version (4bits): Indica la versin del protocolo IP, IPv4 = 4 (0101) e IPv6 = 6 (0110). IHL (4 bits): Internet Header Length. Nos indica la longitud de la cabecera IP en palabras de 32-bits (min. 5). ToS (8 bits): PPPDTR00: Nos indica una especie de QoS; PPP: indica la prioridad (menos es menos), D el retraso (0: normal, 1: bajo), T el throughput y R la fiabilidad (0: normal, 1: mejor). No suele tenerse en cuenta en los routers.
Fuente: W. Stallings, Data and Computer Comunications, 7ed. (Developed by Adrian J Pullin )

Length (16 bits): Indica la longitud de todo el datagrama, en octetos. Mx: 65535. Mn (RFC): hasta 576. Identification (16 bits): Se usa para distinguir fragmentos de distintos datagramas. Flags (3 bits): 0{DF}{MF}, DF indica que no se puede fragmentar ese datagrama, MF=1 que hay ms fragmentos. Offset (13 bits): Cuando se fragmenta, indica el desplazamiento (en palabras de 64-bits) de ese datagrama dentro del fragmento, el primero es cero. TTL (8bits): Indica el nmero de saltos (o tiempo) mximo para el datagrama. Se modifica en el camino (TTL--). Protocol (8 bits): Indica el protocolo de nivel superior que transporta el datagrama (1=ICMP,6=TCP,17=UDP). Checksum (16 bits): Slo de la cabecera (se recalcula en cada salto). Source&destination address (32 bits c/u): Indica la direccin fuente y destino del datagrama (ojo: estn en orden inverso a 802.3). Options (variable): Son opciones que pueden aparecer o no, pero que deben reconocerse. El relleno sirve para que toda la cabecera sea mltiplo de 32-bits.

Direcciones IP. Clases


Direcciones de 32-bits, habitualmente: A.B.C.D (numero de 8 bits, en decimal). Una parte es la parte de red y la otra parte de host. Originalmente (RFC791) se decidi crear tres clases de redes, cada una con una parte de red y de host fija (pero distinta en cada clase). Una direccin siempre pertenece a una clase, dependiendo de los MSB de la IP. parte de host especial: 00 para identificar a la red, 11 para broadcast en esa red (broadcast dirigido) (RFC919). Las direcciones 111 tenan un significado especial (RFC791).
127 redes
16.777.216-2 =

A
0

16.777.214 hosts en cada red

00101100
44 .

11101100
236 .

00001100
12 .

00000011
3

16.384 redes

65.536-2 =

65.534 hosts en cada red

B
10

10010110 150 .

11010110 214 .

00000111 7 .

00000110 6
hosts en c/u

2.097.152 redes

256-2 = 254

C
110

11000000 192 .

01100100 100 .

01100010 98 .

11110101 245

Direcciones IP. Subnetting (I)


HECHO: Algunas instituciones podran tener varias LAN con conectividad IP. PROBLEMA: Si tengo ya una clase asignada, cmo hago el direccionamiento? SOLUCIN: Dividir una clase en varias subredes (RFC917 y RC950) Se propone tomar prestados varios bits de la parte de host y anexionarlos a la parte de red.
24 bits, pido prestados 2 bits 1 red con 16.777.214 nodos 2 redes con 4.194.302 nodos

Es necesario un nuevo parmetro de red: Mscara de red, que indica ( con 1) qu bits son la parte de red (+subred). Ej: 255.192.0.0 o bien /10
00000000 00111111

30.0.0.1-30.63.255.254
01000000 01111111

Estas dos subredes no se pueden usar, 0..0 y 1..1 en la parte de host tiene significado propio. No se sabra qu es 30.255.255.255. Nunca se puede usar la primera ni la ltima subred al hacer subnetting.

30.64.0.1-30.127.255.254
10000000 10111111

Un nodo externo, no ve el subnetting, desde fuera slo se ve la clase A nmero 30 (30.0.0.0/8).

30.128.0.1-30.191.255.254
11000000 11111111

30.192.0.1-30.255.255.254

El subnetting siempre desperdicia 2 hosts por cada subred y la primera y ltima subred completas.

NOTA: A partir de ahora usaremos indistintamente el trmino red y subred con el mismo significado a no ser que se indique lo contrario

Direcciones IP. Subnetting (y II)

Ejemplo: Dividir la clase A 10.0.0.0 para obtener, al menos, 4 redes. Solucin: Con 2 bits prestados slo consigo 2 redes, as que necesito 3 bits para conseguir 8-2=6 redes.
Red 000 001 010 011 100 101 110 111 Direccin de la red 10.0.0.0 10.32.0.0 10.64.0.0 10.96.0.0 10.128.0.0 10.160.0.0 10.192.0.0 10.224.0.0 Direccin de broadcast 10.31.255.255 10.63.255.255 10.95.255.255 10.127.255.255 10.159.255.255 10.191.255.255 10.223.255.255 10.255.255.255 Notacin estndar 10.0.0.0/11 10.32.0.0/11 10.64.0.0/11 10.96.0.0/11 10.128.0.0/11 10.160.0.0/11 10.192.0.0/11 10.224.0.0/11 Nodos en la red IMPOSIBLE 2.097.150 2.097.150 2.097.150 2.097.150 2.097.150 2.097.150 IMPOSIBLE

Antes (clase A):16.777.214 nodos. Ahora (subnetting): 6 redes con 2.097.150 nodos = 12.582.900 nodos

Se pierde el 25% del direccionamiento

Problema: Cmo sabe un host si debe usar el router (i.e. cmo sabe un nodo si otro est en su misma red/subred)?
A) Dst: 10.60.0.0
10.60.0.0 <AND> 255.224.0.0 = 10.32.0.0 Coincide con mi red: Est en mi red

Dir. IP: 10.35.5.3 Mscara: 255.224.0.0


Mi red: IP <AND> Mask: 10.32.0.0 B) Dst: 10.65.0.0

10.65.0.0 <AND> 255.224.0.0 = 10.64.0.0

NO coincide con mi red: NO est en mi red

Direcciones IP. Direcciones especiales


Direccin
0.0.0.0/8 0.0.0.0/32

Significado
Un host en esta red / Este host en esta red.

RFC
1700

Usos
Se usa como direccin fuente si el nodo no conoce su IP. P. ej. Peticiones DHCP. Se usan cuando quiero conectividad IP pero no conexin directa a Internet. Por ejemplo, un router ADSL y una red local de una empresa
Internet

SRC: 0.0.0.0
DST: 255.255.255.255

10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Direcciones privadas

1918

Estas direcciones nunca deben salir a Internet (deben filtrarse)


S: 127.0.0.1 S: 10.3.4.10 Aplicacin D: 127.0.0.1 D: 10.3.4.1 TCP / UDP IP1 IP2 Acceso al medio

Red IP interna, usa libremente ese espacio de direcciones.

127.0.0.0/8

Interfaz de loopback

1700

El interfaz de loopback permite usar IP sin acceder al medio fsico. Jams deben aparecer estas direcciones en una red pblica o privada.

Cualquier IP en 127/8, vuelve al propio nodo que la origina, sin pasar por el medio fsico.

169.254.0.0/16 224.0.0.0/4 240.0.0.0/4

Autoconfiguracin Multicast Reservado

3927* 3171 1700

Se usa cuando el nodo no tiene ni asignacin manual de IP ni hay servidor DHCP. No deben traspasar un router. (*): Proposed Standard

Ej: Dos ordenadores directamente conectados.

Conocida como clase D, se utilizan para multicast a nivel IP. Conocida como clase E, su uso est reservado por IANA. Es una direccin de broadcast (destino) para esta red, no debe reenviarse nunca
Todos los nodos en la LAN aceptan esto:
SRC: 150.214.7.8

255.255.255.255

Broadcast limitado

1700

Reenvo prohibido

DST: 255.255.255.255

Esta tabla muestra algunas de las IP que tienen significado especial (a parte de las ya conocidas). RFC 3330

Tablas de rutas en IP
Todas las tablas de rutas se representan mediante la IP de la red, la mscara y el siguiente salto. Pero la forma de ver esto vara de sistema operativo en sistema operativo.
Gateway of last resort is 150.214.231.246 to network 0.0.0.0 150.214.231.244/30 150.214.231.245 C 150.214.6.0/23 is directly connected, FastEthernet1/0 C 150.214.231.244/30 is directly connected, FastEthernet0/0 S* 0.0.0.0/0 [1/0] via 150.214.231.246 150.214.6.0/23 192.168.128.0/24

INTERNET
150.214.231.246 150.214.7.1 150.214.7.10

192.168.128.1

CISCO: show ip route

Destination 150.214.6.0 0.0.0.0

Gateway 0.0.0.0 150.214.7.1

Genmask 255.255.254.0 0.0.0.0

[]

Iface eth0 eth0

Destination 192.168.128.0 150.214.6.0 224.0.0.0 default

Mask 255.255.255.0 255.255.254.0 240.0.0.0 0.0.0.0 255.255.255.255

Gateway 192.168.128.1 150.214.7.10 150.214.7.10 150.214.7.1 127.0.0.1

Device [] hme2 hme1 hme1

Linux: netstat nrv


Destino de red 0.0.0.0 127.0.0.0 150.214.6.0 150.214.6.79 150.214.255.255 224.0.0.0 255.255.255.255 Mscara de red 0.0.0.0 255.0.0.0 255.255.254.0 255.255.255.255 255.255.255.255 240.0.0.0 255.255.255.255 Puerta de acceso 150.214.7.1 127.0.0.1 150.214.6.79 127.0.0.1 150.214.6.79 150.214.6.79 150.214.6.79 150.214.7.1 Interfaz [...] 150.214.6.79 127.0.0.1 150.214.6.79 127.0.0.1 150.214.6.79 150.214.6.79 150.214.6.79

127.0.0.1

lo0

Solaris: netstat nrv

Puerta de enlace predeterminada:

Windows XP: netstat nrv

Fragmentacin en IP
En el tema 1, se vea este concepto desde el punto de vista general, en IP se aplica de forma parecida. Se fragmenta
cuando la MTU de la red destino no permite enviar ese datagrama, se ensambla en el destino. Fragmentacin: Para cada datagrama, si no cabe en la red destino, se debe fragmentar (siempre que DF=0); el primer fragmento tiene una Longitud (TL) igual al MTU, el proceso sigue con los siguientes fragmentos hasta que todos se puedan enviar. Ensamblado: Al recibir un datagrama, la unin de SRC+DST+ID debe identificar un buffer de recepcin, si MF=0 y Offset=0, est completo y se entrega al transporte. Si no, se activa un temporizador y se van guardando los fragmentos (que pueden llegar desordenados) hasta completar el datagrama original, si caduca el t/o se descartan todos los fragmentos.
Fragmento 2
Long. Total: 2000 bytes de ICMP, 20 de cabecera IP.
IHL: 20 T. Length : 2020 (bytes) Id: 0xd96f DF=0; MF=0 Offset:0 Proto: ICMP (1) Src: 192.168.254.68 Dst: 192.168.250.250 IHL: 20

Fuente: W. Stallings, Data and Computer Comunications, 7ed. (Developed by Adrian J Pullin )

Fragmento 1
IHL: 20 T. Length: 1500 (bytes) Id: 0xd96f DF=0; MF=1 Offset:0 Proto: ICMP (1) Src: 192.168.254.68 Dst: 192.168.250.250

2020>MTU y DF=0, se fragmenta: El primer trozo en el tamao 1500 y as sucesivamente hasta completar el envo. MTU: 3000 MTU: 1500

T. Length : 540 (bytes) Id: 0xd96f DF=0; MF=0

El primero ocupa una longitud = MTU Indica que hay ms fragmentos detrs

ltimo fragmento

Offset:185 (185x8=1480 bytes) Proto: ICMP (1) Src: 192.168.254.68 Dst: 192.168.250.250

Indica que es el primero

IHL: 20 T. Length : 2020 (bytes) Id: 0xd96f

El offset se expresa en palabras de 64-bits. 2020>MTU y DF=1, no puedo fragmentar, descarto el datagrama e informo al remitente.

DF=0, estos fragmentos pueden volver a fragmentarse

Reensambla

Este datagrama no llegar al destino.

DF=1; MF=0 Offset:0 Proto: ICMP (1) Src: 192.168.254.68 Dst: 192.168.250.250

TL(1)+TL(2)=2040: Esto se debe a que cada fragmento lleva una cabecera de 20 bytes, al reensamblar, el tamao de datos ser 2000.

Min. MTU (sin opcs): 28 bytes

You might also like