Protocolo IP
Índice
1. Introducción
- En Internet, el protocolo IP corresponde con el nivel de red de ISO/OSI
- No tiene todas sus características:
- IP no tiene control de la congestión
- No es orientado a conexión ni confiable
- Existen dos versiones
- IPv6: Reemplazará a IPv4 a medio plazo
- IPv4: La más usada actualmente, es la estudiada aquí
2. Protocolo IP
2.1. Protocolo IP
- Internet Protocol (RFC 791)
- Es un protocolo de la capa 3 (red) del modelo OSI
- Entre sus funciones se encuentran:
- Dividir paquetes grandes en paquetes más pequeños
- Encontrar la ruta necesaria para enviar un paquete individual
- Determinar si un paquete recibido es correcto
2.2. Estructura paquete IP
2.3. Longitud de la cabecera
- IP no tiene un tamaño de cabecera fijo
- Algunas opciones del protocolo añaden palabras de 32 bits
- Por eso se necesita saber dónde empiezan los datos en cada paquete
2.4. Código de redundancia
- El checksum se calcula como la suma (sin acarreo) de todas las palabras de 16 bits de la cabecera
- Excepto el propio checksum
- Sirve para detectar errores de transmisión
- Es adicional al que pueda tener la capa de transporte
2.5. Identificación del paquete y fragment offset
- Todos los paquetes IP tienen un identificador único: identification y fragment offset
- Originalmente, un paquete se manda en un solo fragmento
- Con fragment offset a
0
- Con fragment offset a
- Si se necesita dividir (MTU del nivel de enlace insuficiente)
- Se parte en varios fragmentos
- Cada uno de ellos indica el lugar de su primer byte de datos
- Cada fragmento puede volverse a dividir
- En el destino, se espera a que lleguen todos los fragmentos antes de enviarlo al protocolo de nivel superior
2.6. Flags
- El primero es para usos futuros.
- El segundo indica si este datagrama se puede fragmentar.
- El tercero dice si hay más fragmentos o es el último.
- El flag DF (dont fragment) indica a los routers que no fragmenten el paquete si sobrepasa la MTU (descarta el paquete)
2.7. TTL (tiempo de vida)
- El enrutamiento IP puede tener problemas
- Es posible que haya bucles en las rutas que hagan que un paquete de vueltas por siempre
- Para evitarlo, el paquete se descarta pasado un tiempo en segundos (originalmente)
- Actualmente, el tiempo de vida se mide en saltos
- Generalmente, los paquetes se envían con TTL suficiente para atravesar Internet (64 o 255)
—
Intenta hacer ping
a Google con un TTL de 10. ¿es suficiente? ¿y con 20?
2.8. Protocolo de nivel superior
- Indica qué protocolo está encapsulado en los datos
Identificador | Protocolo | |
---|---|---|
0x01 | ICMP | Internet Control Message Protocol |
0x02 | IGMP | Internet Group Management Protocol |
0x06 | TCP | Transmission Control Protocol |
0x11 | UDP | User Datagram Protocol |
0x29 | IPv6 | IPv6 Encapsulation |
0x59 | OSPF | Open Shortest Path First |
0x73 | L2TP | Layer Two Tunneling Protocol Version 3 |
0x85 | FC | Fibre Channel |
0x8F-0xFC | UNASSIGNED | |
0xFD-0xFE | Use for experimentation and testing | RFC 3692 |
0xFF | Reserved for extra. |
2.9. Dirección de origen y destino
- Son números de 32 bits
- Indican la dirección de origen y destino de IP
- Pueden no coincidir con la dirección de origen real
- Por ejemplo, en los saltos intermedios
- En esos casos, el origen y destino en ese momento no son los indicados en la cabecera
3. Direcciones IP
- Una dirección IP consta de 32 bits
- Por convenio, se representa como 4 números decimales, uno por cada byte
192.168.1.1 |
11000000101010000000000100000001 |
3.1. Direcciones IP ¿qué identifican?
- Las direcciones no se asignan por host.
- Se asignan a interfaces del host
- Un equipo con dos enlaces a la red tendrá dos direcciones IP
- Los enlaces a la red pueden ser a la misma red o a redes distintas
- También un mismo interfaz puede tener más de una IP
3.2. Red y Host
- Las direcciones IP se asignan al montar la red, no como las MAC
- Las direcciones MAC se asignan por el fabricante de la tarjeta, quedando distribuidas casi aleatoriamente
- Las direcciones IP se estructuran de una forma jerárquica
- La dirección IP contiene dos partes
- Una parte identifica a la red
- Otra parte identifica al host/enlace dentro de la red
192.168.1.1 | Parte de red | Host |
192.168.1 | 1 | |
192.168 | 1.1 |
4. Clases IP
- En las primeras versiones de IP había unas normas fijas para definir qué parte de la dirección era host y qué parte red
- Los primeros bits de la dirección definen la clase a la que pertenece
4.1. Ejercicio de clases IP
- Ejemplo:
192.168.1.1
- En binario:
11000000101010000000000100000001
- Clase C
- ¿De qué clases son las siguientes direcciones IP?
192.168.20.1
127.0.0.1
169.254.12.9
241.82.9.9
216.239.59.147
85.112.7.243
199.16.156.198
4.2. Parte de red y host
- La clase define qué bits de la dirección son parte de la red y qué parte es del host
- Ejemplo: La clase C tiene 24 bits para la red y 8 para el host
192.168.1.1 | Parte de red | Host |
---|---|---|
192.168.1 |
1 |
4.3. Ejercicio de parte de red y host
- ¿Cuáles son las direcciones de red y de host de las siguientes direcciones IP?
192.168.20.1
127.0.0.1
169.254.12.9
241.82.9.9
216.239.59.147
85.112.7.243
199.16.156.198
4.4. Dirección de red
- La red IP tiene una dirección propia
- No puede ser utilizada por un host dentro de la red
- La dirección de la red tiene la parte del host a ceros.
192.168.1.1 | Parte de red | Dirección de red | Host |
---|---|---|---|
192.168.1 |
192.168.1.0 |
1 |
4.5. Dirección de host
- El host tiene una dirección propia dentro de la red
- Con ceros en la parte de la red
- No puede haber una red con todos sus bits a cero
192.168.1.1 | Parte de red | Dirección de red | Host | Dirección de Host |
---|---|---|---|---|
192.168.1 | 192.168.1.0 | 1 | 0.0.0.1 |
4.6. Resumen de direcciones de red y host
Bits de red | Bits de host | Significado |
---|---|---|
0 | 0 | El propio host * |
0 | host | Host indicado dentro de mi red * |
red | 0 | Dirección de la red |
1 | 1 | Difusión a mi red * |
red | 1 | Difusión a la red indicada (broadcast) |
*
En desuso
4.7. Ejercicio de clases IP
Clase de red | Número de redes | Número de hosts por red |
---|---|---|
A | ||
B | ||
C |
4.8. ¿Para qué sirve la red y el host?
- Cuando un host va a enviar un paquete
- Decide si el destino está en su misma red
- Si está en su misma red, se encarga la capa de enlace (posiblemente con ARP)
- Si no está en su red, envía el paquete al router
- Y el router está en su misma red
4.9. Problemas de las clases IP
- En un principio, IP tenía suficientes direcciones y redes para todo el mundo
- La creciente demanda de direcciones IP supuso problemas
- Ejemplo: Una empresa con 3000 hosts debe reservar una red de clase B, con más de 65000 direcciones (muchas direcciones desperdiciadas)
- Si reserva más de una red de clase C (unas 12), hay que configurar muchas redes en los routers intermedios.
- Últimamente (desde 1985) las direcciones IP ya no se dividen en clases, utilizándose CIDR (Classless Internet Domain Routing)
5. CIDR
- Classles Internet Domain Routing
- La dirección IP ya no da información acerca de los bits reservados para red y para host
- Las redes se identifican por la dirección de la red y el número de bits destinado a la misma
172.16.0.0/12
198.18.0.0/15
5.1. Máscara de red
- Con CIDR las parte de la dirección red y host se calcula mediante las máscaras de red
- La máscara de red es un número binario:
- Tantos 1’s como el tamaño de la red CIDR
- Los 0’s necesarios para completar hasta los 32 bits
- Las máscaras de red también se expresan como 4 números decimales separados por puntos.
5.2. Ejercicio
- ¿Qué máscaras de red tienen las siguientes redes?
172.16.0.0/12
198.18.0.0/15
198.18.0.0/30
192.168.255.0/24
172.31.0.0/16
5.3. Dirección de red
- Con CIDR, la dirección de red sigue siendo la que tiene todos los bits del host a 0, y la de broadcast a 1.
- Sin embargo, ya no es tan fácil como con clases
- Los bits de la red no son múltiplos de 8
- Se utiliza una máscara de red, realizando la operación
AND
con la dirección IP para encontrar la dirección de red
Ejemplo
- La dirección IP es
192.168.20.100/26
- La máscara de red son 26 1’s →
255.255.255.192
- La dirección pertenece a la red
255.255.255.192 AND 192.168.020.100 ------------------- 192.168.020.064
- La red a la que pertenece es
192.168.20.64/26
- La dirección IP es
5.4. Ejercicio
- ¿A qué red pertenecen las siguientes direcciones IP?
172.46.25.1/12
198.30.18.18/15
198.30.18.18/30
192.168.255.253/24
172.37.10.255/16
5.5. Subnetting y supernetting
- Utilizando máscaras de red pueden saltarse los límites de las clases IP
- Una red grande puede dividirse en varias redes pequeñas (subnetting)
- Varias redes pequeñas pueden reunirse en una red más grande (supernetting)
5.6. Subnetting
- Consiste en crear subredes pequeñas dentro de una red de clase A, B o C
- Ejemplo
- Conseguir 4 redes a partir de una red clase C
- Hay que aumentar la máscara de red 2 bits (4 posibilidades)
Redes | Primer host | Último host | Broadcast | |
---|---|---|---|---|
Red original | 192.168.20.0/24 |
192.168.20.1 |
192.168.20.254 |
192.168.20.255 |
Primera subred | 192.168.20.0/26 |
192.168.20.1 |
192.168.20.62 |
192.168.20.63 |
Segunda subred | 192.168.20.64/26 |
192.168.20.65 |
192.168.20.126 |
192.168.20.127 |
Tercera subred | 192.168.20.128/26 |
192.168.20.129 |
192.168.20.190 |
192.168.20.191 |
Cuarta subred | 192.168.20.192/26 |
192.168.20.193 |
192.168.20.254 |
192.168.20.255 |
http://www.aprendaredes.com/cgi-bin/ipcalc/ipcalc_cgi https://arcadio.gq/calculadora-subredes-vlsm.html
5.7. Supernetting
- A partir de varias redes pequeñas (generalmente clase C), conseguir una más grande
- Ejemplo
- Conseguir una red con más de 1000 hosts a partir de redes clase C
- Tenemos las 32 redes
192.168.0.0
a la192.168.31.0
- Reducimos la máscara en 5 bits →
192.168.0.0/19
Red | Primer host | Último host | Broadcast | Máscara |
---|---|---|---|---|
192.168.0.0/19 |
192.168.0.1 |
192.168.31.254 |
192.168.31.255 |
255.255.255.224 |
6. Ejercicios
6.1. Tabla de redes IP
IP del host | Máscara | Bits máscara | subred | broadcast | Nº hosts |
---|---|---|---|---|---|
192.168.1.130 |
192.168.1.128 |
192.168.1.255 |
|||
200.1.17.15 |
200.1.17.0 |
200.1.17.255 |
|||
133.32.4.161 |
30 | ||||
200.9.41.23 |
255.255.255.192 |
||||
132.4.60.99 |
255.255.0.0 |
||||
222.43.15.41 |
222.43.15.0 |
222.43.15.255 |
6.2. Tabla de redes IP
Subred | Máscara | Primer host | Último host | broadcast | Nº hosts |
---|---|---|---|---|---|
192.168.1.0/24 |
|||||
255.255.192.0 |
1.2.128.1 |
||||
172.182.4.1 |
510 | ||||
98.34.7.255 |
1022 |
6.3. Subnetting
Una organización tiene 5 departamentos independientes. En cada uno de ellos se van a instalar 3000 hosts. Si todas las máquinas disponen de una direccion IP única en internet:
- ¿Qué clase deberá solicitar el administrador de la empresa?.
- Establece la máscara necesaria para que la organización subdivida la red en redes a razón de una subred por cada departamento.
- Indica las direcciones de subred, broadcast y rangos de direcciones IP de los host para cada departamento.
- Se debe desaprovechar el mínimo número de direcciones IP (ajustar el tamaño de red al tamaño del departamento)
- Las redes libres, si las hay, deben quedar lo más compactas posible
6.4. Subnetting
Una organización tiene asignada la red 192.168.2.0/24 y desea agrupar a su personal en grupos de trabajo de 140 empleados. El conjunto de trabajadores de cada grupo, comparte una subred diferente a la de los otros grupos.
- ¿Cuántos grupos de trabajo se pueden hacer?.
- Establece la máscara necesaria para que la organización subdivida la red en redes a razón de una subred por cada grupo.
- Indica las direcciones de subred, broadcast y rangos de direcciones IP de los host para cada departamento.
- Las redes libres, si las hay, deben quedar lo más compactas posible
El ejercicio se puede repetir con
- Grupos de 60 empleados
- Un grupo de 60 empleados y 3 de 22 empleados
6.5. Subnetting
Una empresa recibe la dirección 132.33.0.0/17 para su red. Asigna a cada uno de los siete departamentos una subred, teniendo en cuenta el número de ordenadores de cada uno:
- A: 8000 ordenadores
- B: 2047 ordenadores
- C,D: 1020 ordenadores
- E,F: 4000 ordenadores
- G: 500 ordenadores
Las redes libres, si las hay, deben quedar lo más compactas posible
7. Redes reservadas
- IANA, por medio de RFC’s, ha reservado varias redes para usos concretos. Algunos ejemplos son:
Red | Uso |
---|---|
127.0.0.0/8 |
"loopback", utilizado para enviar paquetes IP al propio host |
10.0.0.0/8 |
Red privada (RFC 1918) |
172.16.0.0/12 |
Red privada (RFC 1918) |
192.168.0.0/16 |
Red privada (RFC 1918) |
169.254.0.0/16 |
Link Local o APIPA. Direcciones automáticas en redes pequeñas sin servidor DHCP |
- Más ejemplos en la Wikipedia
7.1. ¿Qué es una red privada?
- Una red privada (RFC 1918) son direciones inválidas en Internet
- Un router de Internet descarta todos los paquetes con origen o destino en redes privadas
- Sirven para crear redes con IP que no forman parte de Internet
- Internas a organizaciones: Empresas, universidades, institutos…
- Objetivos:
- No es posible ocultar direcciones de Internet: Ningún ordenador interno tendrá la dirección
8.8.8.8
- Ahorro de direcciones IP
- Siguen teniendo acceso limitado a Internet: NAT (se verá en otro tema)
- No es posible ocultar direcciones de Internet: Ningún ordenador interno tendrá la dirección
8. Referencias
- Formatos:
- Creado con:
- Alojado en Github