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.1127.0.0.1169.254.12.9241.82.9.9216.239.59.14785.112.7.243199.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.1127.0.0.1169.254.12.9241.82.9.9216.239.59.14785.112.7.243199.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/12198.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/12198.18.0.0/15198.18.0.0/30192.168.255.0/24172.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
ANDcon 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/12198.30.18.18/15198.30.18.18/30192.168.255.253/24172.37.10.255/16
5.5. Ejercicio
- Indica el primer host y la dirección de broadcast de las redes donde estén contenidos los siguientes hosts:
172.46.25.1/12198.30.18.18/15198.30.18.18/30192.168.255.253/24172.37.10.255/16
5.6. Ejercicio
- Indica el nombre de red y dirección de broadcast de la red más pequeña donde viven los hosts:
172.25.4.3y172.29.2.4192.168.2.4y192.128.3.25
5.7. 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.8. 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.9. 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.0a 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