Title: Tema 3 El Nivel de Red en Internet
1Tema 3El Nivel de Red en Internet
Rogelio Montañana Departamento de
Informática Universidad de Valencia rogelio.montan
ana_at_uv.es http//www.uv.es/montanan/
2Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
3Nivel de red en Internet
- El Nivel de Red en Internet está formado por el
protocolo IP y por una serie de protocolos
auxiliares - Protocolos de control ICMP e IGMP (multicast)
- Protocolos de resolución de direcciones ARP,
RARP, BOOTP y DHCP - Protocolos de routing RIP, OSPF, IS-IS, IGRP,
EIGRP, BGP, etc. - Todos los protocolos auxiliares hacen uso de IP
para transmitir la información. La única
excepción a esta regla son los protocolo ARP y
RARP
4Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
5Versiones de IP
- Actualmente el 99,9 de la Internet utiliza la
versión 4 del protocolo IP, llamada IPv4 - El 0,1 restante utiliza la versión 6 (IPv6)
- Se prevé que en el futuro toda la Internet
evolucione hacia IPv6. - No se está utilizando ninguna otra versión del
protocolo IP
6Cabecera de un datagrama IPv4
32 bits
Versión Lon. Cab. DS (DiffServ) Longitud Total Longitud Total Longitud Total Longitud Total
Identificación Identificación Identificación Res. DF MF Desplazam. de Fragmento
Tiempo de vida (TTL) Tiempo de vida (TTL) Protocolo Checksum Checksum Checksum Checksum
Dirección de origen Dirección de origen Dirección de origen Dirección de origen Dirección de origen Dirección de origen Dirección de origen
Dirección de destino Dirección de destino Dirección de destino Dirección de destino Dirección de destino Dirección de destino Dirección de destino
Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos) Opciones (de 0 a 40 octetos)
Versión siempre vale 4 Longitud Cabecera en
palabras de 32 bits (mínimo 5, máximo 15) DS
(Differentiated Services) Para Calidad de
Servicio Longitud total en octetos, máximo 65535
(incluye la cabecera) Campos de Fragmentación
Identificación, DF, MF, Desplaz. Fragmento Tiempo
de vida (TTL) cuenta saltos hacia atrás (se
descarta cuando es cero) Protocolo indica a que
protocolo pertenece el contenido del paquete (los
datos) Checksum sirve para comprobar la
integridad de la cabecera, pero no de los
datos Direcciones de origen y destino De 32
bits, se mantienen inalteradas durante la vida
del paquete Opciones si las hay deben tener una
longitud múltiplo de 4 octetos
7Algunos de los posibles valores del campo
Protocolo
Valor Protocolo Descripción
1 ICMP Internet Control Message Protocol
2 IGMP Internet Group Management Protocol
3 GGP Gateway-to-Gateway Protocol
4 IP IP en IP (encapsulado)
5 ST Stream
6 TCP Transmission Control Protocol
8 EGP Exterior Gateway Protocol
17 UDP User Datagram Protocol
29 ISO-TP4 ISO Transport Protocol Clase 4
80 CLNP Connectionless Network Protocol
88 IGRP Interior Gateway Routing Protocol
89 OSPF Open Shortest Path First
8Opciones de la cabecera IP
Opción Función Máx. Ej. Windows Ej. Linux
Record route Va anotando en la cabecera IP la ruta seguida por el datagrama 9 Ping r Ping -R
Timestamp Va anotando la ruta y además pone una marca de tiempo en cada salto 4 Ping s
Strict source routing La cabecera contiene la ruta paso a paso que debe seguir el datagrama 9 Ping k
Loose source routing La cabecera lleva una lista de routers por los que debe pasar el datagrama, pero puede pasar además por otros 9 Ping -j
El límite de 9 direcciones lo fija el tamaño
máximo del campo opciones. En la opción Timestamp
este valor se reduce a 4 porque cada salto
anotado ocupa 8 octetos (4 de la dirección y 4
del timestamp)
9Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
10Formato de las direcciones IPv4
- Las direcciones IPv4 están formadan por 4 bytes,
que se representan por cuatro dígitos decimales.
Ej. 147.156.135.22 - Las direcciones tienen dos partes, la parte red y
la parte host. - Las direcciones se dividen en tres clases (A, B ó
C). La clase establece que parte de la dirección
es de la red y que parte al host. - Existen dos clases especiales, D y E, que no se
asignan nunca a hosts. Las direcciones de clase D
se utilizan para transmisiones multicast y las E
no se utilizan, están reservadas.
11Clases de direcciones IPv4
Clase
Rango
0.0.0.0 127.255.255.255
A
Red (128) Host (16777216)
0
128.0.0.0 191.255.255.255
B
10 Red (16384) Host (65536)
192.0.0.0 223.255.255.255
C
110 Red (2097152) Host (256)
224.0.0.0 239.255.255.255
D
1110 Grupo Multicast (268435456)
240.0.0.0 255.255.255.255
E
1111 Reservado
12Enrutamiento
- Cuando un host tiene que enviar un paquete
compara la dirección de destino con la suya. - Si la parte de red coincide sabe que el destino
está en su misma red (es decir en su misma LAN) y
le envía el paquete directamente. - Si la parte de red no coincide entonces envía el
paquete a su router por defecto (puerta de enlace
en windows, default gateway en Linux). El router
por defecto se encarga de enviar el paquete a su
destino
13Un router conectando tres LANs
La dirección IP de este host Su router por defecto
IP 147.156.145.17 Rtr 147.156.0.1
IP 147.156.24.12 Rtr 147.156.0.1
LAN B 213.15.1.0 (Clase C)
LAN A 147.156.0.0 (Clase B)
El router encamina los paquetes según su
dirección de destino. El router podría ser un PC
con tres tarjetas Ethernet que tienen asignadas
esas direcciones y con capacidad de conmutar
paquetes entre ellas (en Linux esto se consigue
activando el IP forwarding).
?
IP 213.15.1.2 Rtr 213.15.1.1
147.156.0.1
213.15.1.1
?
?
193.146.62.1
LAN C 193.146.62.0 (Clase C)
IP 213.15.1.3 Rtr 213.15.1.1
IP 193.146.62.12 Rtr. 193.146.62.1
IP 193.146.62.215 Rtr 193.146.62.1
14Dos routers conectando tres LANs
LAN A 202.1.1.0 (Clase C)
LAN B 203.1.1.0 (Clase C)
LAN C 204.1.1.0 (Clase C)
H2
H1
203.1.1.3 Rtr 203.1.1.1
A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por
203.1.1.2
202.1.1.2 Rtr 202.1.1.1
204.1.1.2 Rtr 204.1.1.1
202.1.1.1
203.1.1.1
X
204.1.1.1
203.1.1.2
A 204.1.1.0 por 203.1.1.2
Y
A 202.1.1.0 por 203.1.1.1
Las rutas son necesarias para que X e Y sepan
como llegar a la LAN remota (C para X, A para Y)
202.1.1.3 Rtr 202.1.1.1
204.1.1.3 Rtr 204.1.1.1
203.1.1.4 Rtr 203.1.1.1
A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por
203.1.1.2
15Definición de rutas en hosts
H1 (ruta por defecto) windows linux H2
(rutas explícitas) windows linux Ver
rutas windows linux Borrar una
ruta windows linux
route add 0.0.0.0 202.1.1.1 route add default
gw 202.1.1.1 route add 202.1.1.0 mask
255.255.255.0 203.1.1.1 route add 204.1.1.0 mask
255.255.255.0 203.1.1.2 route add -net 202.1.1.0
netmask 255.255.255.0 gw 203.1.1.1 route add -net
204.1.1.0 netmask 255.255.255.0 gw
203.1.1.2 route print route route delete
202.1.1.0 route del net 202.1.1.0 gw 203.1.1.1
netmask 255.255.255.0
16Resultado del comando route en H1 y H2
Rutas en H1 (202.1.1.2) gt route -n Routing
tables Destination Gateway Flags Refcnt
Use Interface 127.0.0.1 127.0.0.1
UH 4 34928 lo0 Default
202.1.1.1 UG 76 2375425
le0 202.1.1.0 202.1.1.2 U 45
2319834 le0 Rutas en H2 (203.1.1.3) gt route
-n Routing tables Destination Gateway
Flags Refcnt Use Interface 127.0.0.1
127.0.0.1 UH 3 27394
lo0 202.1.1.0 203.1.1.1 U 27
1945827 le0 203.1.1.0 203.1.1.3 U
43 2837192 le0 204.1.1.0 203.1.1.2
U 37 1392847 le0 Flags U ruta
operativa (Up) G Ruta gateway (router)
H Ruta host
Interfaz loopback virtual
Interfaz Ethernet
Esta ruta se pone automáticamente al dar la dir.
IP de la interfaz Ethernet (comando ifconfig)
17Host multihomed
203.1.1.3
H5
A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por
203.1.1.2
LAN B 203.1.1.0
?
?
203.1.1.1
203.1.1.2
H3
202.1.1.1
204.1.1.1
H1
X
Y
?
?
A 204.1.1.0 por 203.1.1.2
A 202.1.1.0 por 203.1.1.1
202.1.1.2 Rtr 202.1.1.1
204.1.1.2 Rtr 204.1.1.1
H6
202.1.1.4
204.1.1.4
H2
H4
?
?
Rtr 202.1.1.1
H6 no enrutará paquetes entre A y C porque no es
un router (no tiene activado el IP forwarding).
Cuando envíe un paquete a H1, H2 ó H5 lo mandará
por a. Cuando lo envíe a H3 ó H4 lo mandará por ?
202.1.1.3 Rtr 202.1.1.1
204.1.1.3 Rtr 204.1.1.1
LAN A 202.1.1.0
LAN C 204.1.1.0
18Red mallada (con caminos alternativos)
203.1.1.3
LAN B 203.1.1.0
H5
A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por
203.1.1.2
?
?
203.1.1.1
203.1.1.2
H1
202.1.1.1
204.1.1.1
H3
X
Y
?
?
202.1.1.2 Rtr 202.1.1.1
204.1.1.2 Rtr 204.1.1.1
A 204.1.1.0 por 203.1.1.2
A 202.1.1.0 por 203.1.1.1
H2
H4
204.1.1.4
202.1.1.4
Z
?
?
202.1.1.3 Rtr 202.1.1.4
204.1.1.3 Rtr 204.1.1.4
ping 204.1.1.2
A 203.1.1.0 por 202.1.1.1
LAN C 204.1.1.0
LAN A 202.1.1.0
19Enlace WAN conexión mediante una línea serie o
punto a punto
LAN A 165.12.0.0
LAN B 213.1.1.0
A 213.1.1.0 por 192.168.2.2
Red 192.168.2.0
165.12.0.1
X
213.1.1.2 Rtr 213.1.1.1
192.168.2.1
165.12.0.2 Rtr 165.12.0.1
213.1.1.1
192.168.2.2
Y
A 165.12.0.0 por 192.168.2.1
213.1.1.3 Rtr 213.1.1.1
165.12.0.3 Rtr 165.12.0.1
20Ejemplo de uso de la ruta por defecto
LAN B 207.1.1.0
207.1.1.1
LAN A 165.12.0.0
Y
192.168.1.2
A 165.12.0.0 por 192.168.1.1 A 213.1.1.0 por
192.168.1.1 A 215.1.1.0 por 192.168.1.1
LAN C 213.1.1.0
192.168.1.1
165.12.0.1
192.168.2.1
213.1.1.1
192.168.2.2
X
Z
192.168.3.1
A 0.0.0.0 por 192.168.2.1
A 207.1.1.0 por 192.168.1.2 A 213.1.1.0 por
192.168.2.2 A 215.1.1.0 por 192.168.3.2
192.168.3.2
Ruta por defecto
215.1.1.1
W
LAN D 215.1.1.0
A 0.0.0.0 por 192.168.3.1
21Conexión a Internet de una oficina principal y su
sucursal
Oficina Principal 147.156.0.0
147.156.13.5 Rtr 147.156.0.1
147.156.24.12 Rtr 147.156.0.1
A 193.146.62.0 por 192.168.0.1 A 0.0.0.0 por
192.168.1.1
147.156.0.1
192.168.1.2
Y
192.168.0.2
Internet
Z
Sucursal 193.146.62.0
192.168.1.1
192.168.0.1
X
A 147.156.0.0 por 192.168.1.2 A 193.146.62.0 por
192.168.1.2 ......................................
........... ......................................
...........
A 0.0.0.0 por 192.168.0.2
193.146.62.1
193.146.62.7 Rtr 193.146.62.1
193.146.62.12 Rtr 193.146.62.1
22Direcciones IP especiales
Dirección Significado Ejemplo
255.255.255.255 Broadcast en la propia red o subred
0.0.0.0 Identifica al host que envía el datagrama Usado en BOOTP
Parte Host a ceros Identifica una red 147.156.0.0
Parte Host a unos Broadcast en una red 147.156.255.255
Parte Red a ceros Identifica un host en la red en que estamos (la que sea) 0.0.1.25
127.0.0.1 Dirección Loopback (para pruebas)
La primera y la última direcciones de una red
están siempre reservadas
23Direcciones IP reservadas y privadas (RFC 1918)
Red o rango Uso
127.0.0.0 Reservado (fin clase A)
128.0.0.0 Reservado (ppio. Clase B)
191.255.0.0 Reservado (fin clase B)
192.0.0.0 Reservado (ppio. Clase C)
224.0.0.0 Reservado (ppio. Clase D)
240.0.0.0 255.255.255.254 Reservado (clase E)
10.0.0.0 Privado
172.16.0.0 172.31.0.0 Privado
192.168.0.0 192.168.255.0 Privado
24Utilidad de las direcciones privadas
B
A
Internet
147.156.1.10
152.48.7.5
NAT Network Address Translation (Traducción de
direcciones)
202.34.98.10
130.15.12.27
172.16.1.1
Empresa X 172.16.0.0
Empresa Y 147.156.0.0
147.156.1.1
NAT
NAT
X e Y montan redes IP aisladas. X decide utilizar
direcciones privadas. Y utiliza direcciones
públicas.
147.156.1.10
172.16.1.10
Rtr 147.156.1.1
Rtr 172.16.1.1
172.16.1.2
147.156.1.2
Rtr 172.16.1.1
Rtr 147.156.1.1
25Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
26Subredes
- Nivel jerárquico intermedio entre red y host,
Dividen una red en partes más pequeñas - Permiten pasar unos bits de la parte host a la
parte red. La separación red/host ahora ya no
viene marcada por la clase - Sirven para establecer una estructura jerárquica.
Una red compleja (con subredes) es vista desde
fuera como una sola red. - Para indicar donde está la frontera red/host se
utiliza un parámetro de 32 bits denominado máscara
27Ejemplo de división en subredes
Vamos a dividir la red 140.140.0.0 (clase B) en
256 subredes. Red original
16 bits
16 bits
Red (140.140) Host
Máscara de 16 bits 11111111 . 11111111 .
00000000 . 00000000
255 . 255
. 0 . 0
Red subdividida
16 bits
8 bits
8 bits
Red (140.140) Subred Host
Máscara de 24 bits 11111111 . 11111111 .
11111111 . 00000000
255 . 255
. 255 . 0
28Conexión a Internet de oficina principal y
sucursal configurando subredes
140.140.13.5/24 Rtr 140.140.13.1
140.140.13.12/24 Rtr 140.140.13.1
Oficina Principal 140.140.13.0/24
A 140.140.15.0/24 por 192.168.0.1 A 0.0.0.0/0 por
192.168.1.1
140.140.13.1/24
192.168.1.2/24
Y
192.168.0.2/24
Z
Internet
Sucursal 140.140.15.0/24
192.168.1.1/24
192.168.0.1/24
X
A 140.140.0.0/16 por 192.168.1.2 .................
................................. ................
..................................
A 0.0.0.0/0 por 192.168.0.2
140.140.15.1/24
140.140.15.5/24 Rtr 140.140.15.1
140.140.15.12/24 Rtr 140.140.15.1
29El problema de la primera y la última direcciones
de cada subred
- Red 140.140.0.0/16 máscara 255.255.0.0.
- Si la dividimos con máscara /24 obtenemos 256
subredes, cada una con 256 direcciones. En cada
subred - La primera dirección identifica cada subred
- La última dirección es la de broadcast en esa
subred. - Para evitar conflictos no se deben asignar a
hosts ni la primera ni la última direcciones de
cada subred - En realidad disponemos pues de 254 direcciones
por subred, no 256. - Esta restriccíón es SIEMPRE DE OBLIGADO
CUMPLIMIENTO
Subred Dir. Subred Dir. Broadcast Rango asignable
140.140.0.0/24 140.140.0.0 140.140.0.255 140.140.0.1 140.140.0.254
140.140.1.0/24 140.140.1.0 140.140.1.255 140.140.1.1 140.140.1.254
140.140.2.0/24 140.140.2.0 140.140.2.255 140.140.2.1 140.140.2.254
140.140.255.0/24 140.140.255.0 140.140.255.255 140.140.255.1 140.140.255.254
30El problema de la primera y la última subredes de
cada red
- Red 140.140.0.0/16 máscara 255.255.0.0.
- Si la dividimos con máscara /24 obtenemos 256
subredes. De estas - La primera subred se identifica por la dirección
140.140.0.0, la misma que la red completa - La dirección de broadcast de la última subred es
140.140.255.255, que coincide con la dirección de
broadcast de la red completa - Para evitar ambigüedades la norma dice que la
primera y última subredes no se deben utilizar - Sin embargo esta regla NO SIEMPRE ES DE OBLIGADO
CUMPLIMIENTO. - Los equipos actuales (routers y hosts)
normalmente permiten utilizar la primera y la
última subred. A veces lo permiten por defecto,
otras hay que indicarlo en la configuración. Por
ejemplo el software de Cisco (IOS) antes de la
versión 11 requería poner en la configuración el
comando subnet-zero para poder usar la primera
y la última subred. A partir de la versión 11 lo
tiene puesto por defecto
31Máscaras que no son múltiplo de 8
Las máscaras de subred pueden no ser bytes
enteros. Por ejemplo si usamos dos bits de subred
dividiremos la red en cuatro subredes
16 bits
2 bits
14 bits
140 . 140 Subred Host
Máscara 11111111 . 11111111 .
11 000000 . 00000000
255 . 255 .
192 . 0
Bits subred Subred Máscara Rango asignable
00 (0) 140.140.0.0/18 255.255.192.0 140.140.0.1 140.140.63.254
01 (64) 140.140.64.0/18 255.255.192.0 140.140.64.1 140.140.127.254
10 (128) 140.140.128.0/18 255.255.192.0 140.140.128.1 140.140.191.254
11 (192) 140.140.192.0/18 255.255.192.0 140.140.192.1 140.140.255.254
Estas solo son utilizables si se aplica
subnet-zero
32Mini-redes
Si en vez de usar dos bits de subred los usamos
todos menos dos tendremos muchas subredes muy
pequeñas
16 bits
14 bits
2 bits
140 . 140 Subred Host
Máscara 11111111 . 11111111 .
11111111 . 111111 00
255 . 255 .
255 . 252
En el caso de una red clase B obtenemos 16382
subredes (16384 si podemos usar subnet-zero) cada
una con cuatro direcciones, de las cuales solo
pueden usarse dos. Estas son las redes más
pequeñas que pueden hacerse. Se suelen utilizar
en enlaces punto a punto.
Subred 1 Subred 2 Subred 3 Subred 4 Subred 16383 Subred 16384
140.140.0.0 140.140.0.4 140.140.0.8 140.140.0.12 140.140.255.248 140.140.255.252
140.140.0.1 140.140.0.5 140.140.0.9 140.140.0.13 140.140.255.249 140.140.255.253
140.140.0.2 140.140.0.6 140.140.0.10 140.140.0.14 140.140.255.250 140.140.255.254
140.140.0.3 140.140.0.7 140.140.0.11 140.140.0.15 140.140.255.251 140.140.255.255
Direcciones de subred (no usar)
Direcciones de broadcast (no usar)
Primera subred (usar solo si subnet-zero)
Última subred (usar solo si subnet-zero)
33Especificación de la máscara
- Se especifica la máscara
- En las direcciones de interfaz (host o router).
Si el equipo tiene varias interfaces cada una
debe tener una dirección diferente, la máscara
pues ser la misma o no - Al configurar una ruta, para indicar a que ámbito
o rango de direcciones se aplica - No se especifica máscara
- Cuando se indica el router por defecto en un
equipo (host o router) - Cuando se indica la dirección de destino en una
ruta - Los paquetes IP no llevan escrita en la cabecera
ninguna máscara, solo llevan la dirección de
destino
34Enlace punto a punto usando subredes
En las rutas la parte host de la dirección
siempre debe ser cero
En las interfaces la parte host de la dirección
nunca puede ser toda cero ni toda unos (255)
A 158.42.30.0 255.255.255.0 por 192.168.1.2
A 158.42.20.0 255.255.255.0 por 192.168.1.1
192.168.1.1 255.255.255.252
Llevan máscara
158.42.20.1 255.255.255.0
No llevan máscara
192.168.1.2 255.255.255.252
158.42.30.12 255.255.255.0 Rtr 158.42.30.1
X
Y
158.42.30.1 255.255.255.0
158.42.20.12 255.255.255.0 Rtr 158.42.20.1
Mini-red (subred de cuatro direcciones) máscara
de 30 bits (rango 192.168.1.0 - 192.168.1.3)
LAN B 158.42.30.0 255.255.255.0
LAN A 158.42.20.0 255.255.255.0
35Restricciones de las máscaras
- Los bits a 1 siempre han de estar contiguos
empezando por la izquierda. No está permitida por
ejemplo la máscara 255.255.0.255. - Los únicos valores que pueden aparecer en
cualquier octeto de una máscara son por tanto
Bits de máscara (n) Binario Decimal
0 00000000 0
1 10000000 0 128 128
2 11000000 128 64 192
3 11100000 192 32 224
4 11110000 224 16 240
5 11111000 240 8 248
6 11111100 248 4 252
7 11111110 252 2 254
8 11111111 254 1 255
Máscara (n) máscara (n-1) 128/2n-1
36Posibles subredes de una red clase C
Bits subred Nº subredes Nº subredes (subnet zero) Bits host Nº hosts Máscara Último byte de la máscara en binario
0 0 0 8 254 255.255.255.0 00000000
1 0 2 7 126 255.255.255.128 10000000
2 2 4 6 62 255.255.255.192 11000000
3 6 8 5 30 255.255.255.224 11100000
4 14 16 4 14 255.255.255.240 11110000
5 30 32 3 6 255.255.255.248 11111000
6 62 64 2 2 255.255.255.252 11111100
7 126 128 1 0 255.255.255.254 11111110
8 254 256 0 0 255.255.255.255 11111111
37Máscaras de tamaño variable
- A menudo interesa dividir una red en subredes de
diferentes tamaños. - Para esto se utilizan máscaras de tamaño
variable, es decir la parte red y la parte host
no son iguales en todas las subredes - Aunque las subredes pueden tener diferente tamaño
no pueden solaparse - La visión que tenemos de las subredes puede
variar. Por ejemplo lo que en un sitio de la red
se ve como una subred grande puede dividirse en
otras más pequeñas cuando nos acercamos
38Ejemplo de subredes con máscara de tamaño variable
Subred Máscara Subred/bits
16 Subredes de 256 direcciones cada una 156.134.0.0 255.255.255.0 156.134.0.0/24
16 Subredes de 256 direcciones cada una 156.134.1.0 255.255.255.0 156.134.1.0/24
16 Subredes de 256 direcciones cada una 156.134.2.0 255.255.255.0 156.134.2.0/24
16 Subredes de 256 direcciones cada una . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Subredes de 256 direcciones cada una 156.134.15.0 255.255.255.0 156.134.15.0/24
16 Subredes de 1024 direcciones cada una 156.134.16.0 255.255.252.0 156.134.16.0/22
16 Subredes de 1024 direcciones cada una 156.134.20.0 255.255.252.0 156.134.20.0/22
16 Subredes de 1024 direcciones cada una . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Subredes de 1024 direcciones cada una 156.134.76.0 255.255.252.0 156.134.76.0/22
3 Subredes de 4096 direcciones cada una 156.134.80.0 255.255.240.0 156.134.80.0/20
3 Subredes de 4096 direcciones cada una 156.134.96.0 255.255.240.0 156.134.96.0/20
3 Subredes de 4096 direcciones cada una 156.134.112.0 255.255.240.0 156.134.112.0/20
Una subred de 32768 direcciones 156.134.128.0 255.255.128.0 156.134.128/17
39Configuración de subredes con máscara de long.
variable y estructura jerárquica
Agregación de rutas
A 140.140.4.0/22 por 10.0.0.10 A 140.140.8.0/23
por 10.0.0.6 A 0.0.0.0/0 por 10.0.0.1
A 140.140.6.0/23 por 10.0.0.14 A 0.0.0.0/0 por
10.0.0.9
140.140.0.0/22
A 0.0.0.0/0 por 10.0.0.13
10.0.0.1/30
10.0.0.9/30
10.0.0.13/30
Internet
X
A
C
B
10.0.0.2/30
10.0.0.10/30
10.0.0.14/30
10.0.0.5/30
140.140.6.0/23
A 140.140.0.0/16 por 10.0.0.2
140.140.4.0/23
A 0.0.0.0/0 por 10.0.0.17
10.0.0.6/30
10.0.0.17/30
A 140.140.9.0/24 por 10.0.0.18 A 0.0.0.0/0 por
10.0.0.5
D
E
10.0.0.18/30
140.140.8.0/24
140.140.9.0/24
40Rutas host
- La ruta por defecto (A 0.0.0.0/0 por ) es la
ruta más general posible, pues al tener máscara
de 0 bits abarca todas las direcciones. Esta ruta
solo se aplica como último recurso, cuando la
dirección de destino no encaja en ninguna de las
rutas definidas - El extremo opuesto a la ruta por defecto son las
rutas con máscara de 32 bits. Estas solo sirven
para una dirección de destino concreta, por eso
se les llama rutas host. - Se suelen utilizar para marcar excepciones, por
ejemplo cuando un host esta fuera de su LAN
habitual - Cuando un router tiene que aplicar la tabal de
rutas a un paquete siempre las ordena por la
longitud de su máscara, empezando por la más
larga. De este modo se asegura que las rutas host
se tratarán en primer lugar y la ruta pro defecto
en último lugar.
41Ejemplo de ruta host
A 158.42.30.0/24 por 192.168.1.2 A 158.42.40.0/24
por 192.168.1.6 A 158.42.30.25/32 por 192.168.1.6
A 0.0.0.0/0 por 192.168.1.1 A 158.42.30.25/32 por
192.168.1.1
LAN B 158.42.30.0/24
158.42.20.1/24
158.42.30.1/24
192.168.1.1/30
X
Y
192.168.1.2/30
192.168.1.5/30
158.42.30.12/24
192.168.1.6/30
Z
158.42.40.1/24
158.42.20.12/24
Host multihomed virtual
W
158.42.40.25/24 158.42.30.25/32
A 0.0.0.0/0 por 192.168.1.5 A 158.42.30.25/32 por
158.42.40.25
LAN C 158.42.40.0 255.255.255.0
Este host tiene dos dir. IP sobre la misma
interfaz, una de su LAN original y otra de la LAN
visitada
LAN A 158.42.20.0/24
42Asignación de direcciones IP
- Inicialmente la aisgnación de direcciones IP la
realizaba el DDN NIC (Department of Defense
Network Network Information Center) de forma
centralizada - A principios de los 90 se decidió descentralizar
esta función creando los llamados RIR (Regional
Internet Registry). El primero se constituyó en
Europa y se llamó RIPE. Actualmente hay 5 en todo
el mundo - Los RIR dependen del IANA (Internet Assignment
Number Authority) - Los RIR dan direcciones a los proveedores grandes
(los de primer nivel, llamados tier-1) - Los proveedores pequeños (tier-2 a tier-n)
obtienen sus direcciones e los proveedores tier-1 - Las organizaciones obtienen direcciones del
proveedor que les da conectividad - Cada RIR dispone de una base de datos (whois)
para búsqueda de direcciones IP
43Organización de los Registros Regionales
Registro Regional Área geográfica
ARIN (American Registry for Internet Numbers) www.arin.net EEUU y Canadá África Subsahariana Resto del mundo
APNIC (Asia Pacific Network Information Centre) www.apnic.net Asia oriental Pacífico
RIPE (Réseaux IP Européenes) www.ripe.net Europa Medio Oriente Asia Central África Sahariana
LACNIC ( Latin American and Caribbean Network Information Center) www.lacnic.net América y el Caribe (excepto EEUU y Canadá)
AFRINIC (African Network Information Center) www.afrinic.net (en proceso de creación) África
44Problemas del sistema de clases
- Problema 1 Tamaños poco adecuados para la
mayoría de organizaciones - Clases A hace mucho tiempo que no se asignan.
- Clases B demasiado grandes para la mayoría de
organizaciones - Clases C demasiado pequeñas
- Casi todos optan por pedir clase B, aunque les
sobre. Consecuencia rápido agotamiento del
espacio disponible. - Solución 1 asignar para las tallas intermedias
varias clases C - Problema 2 las tablas de rutas crecen mucho más
deprisa, - Solución 2 asignar grupos de clases C
agregables, que puedan referenciarse por una
máscara común, de forma que todo el grupo pueda
compartir la misma ruta - Así se pueden asignar redes de cualquier tamaño,
siempre que sea potencia entera de 2 (256, 512,
1024, etc.) - Este mecanismo se aplica no solo al rango de
clase C sino también al rango libre de clase A y
B. En la práctica significa abolir el sistema de
clases
45Sistema sin clases o classless (I)
- Supongamos que una organización necesita 2048
direcciones. Le damos la red 195.100.16.0/21
(máscara 255.255.248.0) - De este modo una ruta es suficiente para acceder
a toda la red - Esto incluye ocho redes clase C, desde la
195.100.16.0/24 hasta la 195.100.23.0/24 - Cuando se aplica al rango de clase C el sistema
classless equivale a mover hacia la izquierda la
separación red/host. Cuando hacíamos subredes lo
movíamos hacia la derecha, por eso a veces esto
se conoce como hacer superredes
Red Host
Subredes
Superredes
46Sistema sin clases o classless (II)
- El sistema classless no afecta a las clases D y
E, que mantienen el mismo significado - El sistema classless se definió en el RFC 1466
en 1993 - El RFC 1466 establecía además un sistema de
asignación de direcciones con criterio geográfico
(hasta entonces se aplicaba un criterio
cronológico) - Cada RIR tiene un rango de direcciones que
reparte entre los ISPs que lo solicitan. A su vez
los ISPs dan direcciones a sus clientes siguiendo
criterios geográficos, etc. - De esta forma se reduce aún más el tamaño de las
tablas de rutas. Este problema era almenos tan
importante como el del agotamiento de direcciones - El RFC 1466 se denomina CIDR (Classless
InterDomain Routing)
47CIDR (RFC 1466)
- La asignación incial de direcciones a los RIR
según CIDR era la siguiente - Multi regional 192.0.0.0 - 193.255.255.255
- Europa 194.0.0.0 - 195.255.255.255
- Otros 196.0.0.0 - 197.255.255.255
- Norteamérica 198.0.0.0 - 199.255.255.255
- Centro y Sudamérica 200.0.0.0 - 201.255.255.255
- Anillo Pacífico 202.0.0.0 - 203.255.255.255
- Otros 204.0.0.0 - 207.255.255.255
- La agrupación geográfica de direcciones reduce el
número de entradas en las tablas de rutas (esto
es lo que desde hace mucho tiempo se viene
haciendo en la red telefónica)
48Asignación de direcciones y tarifas de APNIC
En RIPE lo mínimo que se asigna son redes /20
(4096 direcciones)
49Evolución de la tabla de rutas de Internet
Puesta en marcha de CIDR
50Actual reparto de direcciones IPv4
0-2 Reservado IANA
3 General Electric
4 BBN
5 IANA Reservado
6 Army Info.Sys.Ctr.
7 IANA Reservado
8 BBN
9 IBM
10 IANA Privado
11 DoD Intel Inf. Syst.
12 ATT
13 Xerox
14 IANA Publico
15 HP
16 DEC
17 Apple
18 MIT
19 Ford
20 Comp. Sci. Corp.
21 DDN-RVN
22 Def. Inf. Syst. Agen.
23 IANA Reservado
24 ARIN
25 Royal Sign.Radar
26 Def. Inf. Syst. Agen.
27 IANA Reservado
28 DSI-North
29-30 Def. Inf. Syst. Agen.
31 IANA Reservado
32 Norsk Informasjons.
33 DLA Syst. Aut. Ctr
34 Halliburton Comp.
35 MERIT Comp. Net.
36-37 IANA Reservado
38 Perf. Syst. Int.
39 IANA Reservado
40 Eli Lili Company
41-42 IANA Reservado
43 Japan Inet
44 Am.Radio Dig.Com.
45 Interop Show Net.
46 BBN
47 Bell-Northern Res.
48 Prudential Sec. Inc.
49-50 IANA
51 Dept. Soc. Sec. UK
52 DuPont de Nemours
53 Cap Debis CCS
54 Merck Co.
55 Boeing Comp. Serv.
56 US Postal Serv.
57 SITA
58-60 IANA Reservado
61 APNIC
62 RIPE NCC
63-69 ARIN
70-79 IANA Reservado
80-81 RIPE NCC
82-127 IANA Reservado
128-192 Varios Registros
193-195 RIPE NCC
196 Variso Registros
197 IANA Reservado
198 Varios registros
199-200 ARIN
201 Res. Cent-Sud Amer.
202-203 APNIC
204-209 ARIN
210-211 APNIC
212-213 RIPE NCC
214-215 US DOD
216 ARIN
217 RIPE NCC
218-221 APNIC
222-223 IANA Reservado
224-239 IANA Multicast
240-255 IANA Reservado
51Evolución de direcciones en IP
TCP 32 bits (RFC 675)
IP 32 bits (RFC 760)
IPv6 (RFC 1883)
5 bits (RFC 1)
8 bits
63 hosts en ARPANET
Clases A, B, C (RFC 790)
CIDR (RFC 1518,1519)
6 bits
1970
1980
1990
2000
RIPE
ARIN
LACNIC
APNIC
DDN NIC
52Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
53Protocolos de Control y resolución de direcciones
- Permiten realizar labores diversas
- ICMP (Internet Control Message Protocol)
mensajes de error y situaciones anómalas - ARP Resolución de direcciones MAC
- RARP, BOOTP, DHCP Resolución de direcciones IP
- IGMP Gestión de grupos multicast
54ICMP
- Permite reportar diversas incidencias que pueden
producirse en el envío de un datagrama. - Todos los mensajes ICMP se envían en datagramas
IP (valor 1 en el campo protocolo).
55Principales mensajes de ICMP
Mensaje Explicación
Destination Unreachable (Destino inaccesible) Red, host, protocolo o puerto (nivel de transporte) inaccesible o desconocido Datagrama con bit DF puesto no cabe en la MTU
Source quench (apagar la fuente) Ejerce control de flujo sobre el emisor en casos de congestión. No se utiliza.
Echo request y Echo reply Sirve para comprobar la comunicación (comando ping).
Time exceeded (Tiempo excedido) Datagrama descartado por agotamiento del TTL (usado en comando traceroute)
Redirect (Cambio de ruta) El router nos sugiere un camino más óptimo
56Comando PING
ICMP ECHO REQUEST y ECHO REPLY
Iluso_ ping s www.uv.es 64 4 PING
video.ci.uv.es 64 bytes packets 64 bytes from
147.156.1.46 icmp_seq0. time1. ms 64 bytes
from 147.156.1.46 icmp_seq1. time1. ms 64
bytes from 147.156.1.46 icmp_seq2. time1. ms
64 bytes from 147.156.1.46 icmp_seq3. time1.
ms ---video.ci.uv.es PING Statistics ---- 4
packets transmitted, 4 packets receivded, 0
packet loss Round-trip (ms) min/avg/max
1/1/1 Iluso_ ping s www.cmu.edu 64 4 PING
server.andrew.cmu.edu 64 bytes packets 64 bytes
from 128.2.72.5 icmp_seq0. time287. ms 64
bytes from 128.2.72.5 icmp_seq1. time290. ms
64 bytes from 128.2.72.5 icmp_seq2. time285.
ms 64 bytes from 128.2.72.5 icmp_seq3.
time277. ms ---server.andrew.cmu.edu PING
Statistics ---- 4 packets transmitted, 4 packets
receivded, 0 packet loss Round-trip (ms)
min/avg/max 277/285/290
Por cada paquete enviado se recibe una respuesta.
El tiempo indicado es el de ida y vuelta
57Comando Traceroute
ICMP TIME EXCEEDED
Iluso_ traceroute www.uniovi.es traceroute to
dana.vicest.uniovi.es (156.35.34.1), 30 hops max,
40 byte packets 1 cisco.ci.uv.es
(147.156.1.11) 3 ms 3 ms 2 ms 2
A1-0-2.EB-Valencia1.red.rediris.es
(130.206.211.181) 2 ms 2 ms 2 ms 3
A1-0-2.EB-Madrid1.red.rediris.es (130.206.224.5)
8 ms 7 ms 7 ms 4 A3-0-1.EB-Oviedo1.red.rediris
.es (130.206.224.34) 22 ms 17 ms 17 ms 5
rcpd02.net.uniovi.es (156.35.11.205) 16 ms 17
ms 16 ms 6 156.35.12.253 (156.35.12.253) 20
ms 19 ms 19 ms 7 rest34.cpd.uniovi.es
(156.35.234.201) 24 ms 26 ms 26 ms 8
dana.vicest.uniovi.es (156.35.34.1) 28 ms 28 ms
28 ms Iluso_
58Uso del comando ICMP REDIRECT
LAN A 202.1.1.0
LAN B 203.1.1.0
LAN C 204.1.1.0
203.1.1.3
A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por
203.1.1.2
202.1.1.2 Rtr 202.1.1.1
204.1.1.2 Rtr 204.1.1.1
203.1.1.1
202.1.1.1
203.1.1.2
204.1.1.1
X
Y
A 204.1.1.0 por 203.1.1.2
A 202.1.1.0 por 203.1.1.1
Z
W
202.1.1.3 Rtr 202.1.1.1
204.1.1.3 Rtr 204.1.1.1
203.1.1.4
Ruta no óptima hacia LAN C
A 0.0.0.0 por 203.1.1.1
A 204.1.1.0 por 203.1.1.2
59Efecto de ICMP REDIRECT sobre el host 203.1.1.4
anterior
gt route -n Routing tables Destination Gateway
Flags Refcnt Use Interface 127.0.0.1
127.0.0.1 UH 6 62806
lo0 Default 203.1.1.1 UG 62
2999087 le0 203.1.1.0 203.1.1.4 U
33 1406799 le0 (recibido mensaje ICMP
REDIRECT) gt route -n Routing tables Destination
Gateway Flags Refcnt Use
Interface 127.0.0.1 127.0.0.1 UH 6
62806 lo0 Default 203.1.1.1 UG
62 2999385 le0 203.1.1.0
203.1.1.4 U 33 1406927
le0 204.1.1.0 203.1.1.2 UGD 1
357 le0 Flags U ruta operativa (Up)
G Ruta gateway (router) H Ruta host
D ruta dinámica
Ruta añadida por ICMP redirect
60Otro ejemplo de uso de ICMP REDIRECT
- X quiere mandar un paquete a Y. Como está en otra
red y X no tiene ruta para llegar a ella manda el
paquete a su router por defecto, Z. - El router envía el datagrama a su destino, pero
además envía un ICMP REDIRECT a X indicándole que
Y está en su misma LAN, por lo que puede hablar
directamente. Como consecuencia X incorpora en su
tabla de rutas una entrada para indicar que la
red B está accesible directamente (por eth0)
Z
Router con dos direcciones IP en la misma interfaz
200.1.1.1/24
132.15.1.1/16
X
Y
132.15.1.2/16 Rtr 132.15.1.1
132.15.1.3/16 Rtr 132.15.1.1
200.1.1.2/24 Rtr 200.1.1.1
200.1.1.3/24 Rtr 200.1.1.1
Red A 132.15.0.0/16
Red B 200.1.1.0/24
61Resolución de direcciones
- Normalmente el paquete del nivel de red se ha de
enviar en una trama con una dirección de destino
a nivel de enlace (p. ej. MAC en LANs). El emisor
ha de saber que dirección de enlace le
corresponde a la dirección de red para ponerla en
la trama. - Imaginemos que X quiere hacer ping a Y.
Comparando la dir. IP de Y con la suya y con la
máscara sabe que Y está en su misma LAN. Ha de
meter el paquete IP en una trama (Ethernet por
ejemplo) con una MAC de destino, pero no sabe
cual poner.
A 0.0.0.0/0 por 130.206.211.6
147.156.1.4/16 Rtr 147.156.1.1
147.156.1.3/16 Rtr 147.156.1.1
147.156.1.2/16 Rtr 147.156.1.1
130.206.211.5/30
W
X
Y
Z
Internet
147.156.1.1/16
62Resolución de direcciones
- Algunas soluciones empleadas para resolver el
problema de la resolución de direcciones son las
siguientes - Fijar la dirección de enlace a partir de la de
red. Ej. en DECNET la dir. MAC se construye a
partir de la de red. (se usan direcciones MAC
locales) - Construir una tabla estática manual de
conversión. Ej. RDSI, X.25, FR, ATM. - Crear una tabla dinámica que se mantiene de forma
automática en un servidor en el que se registra
cada equipo que se conecta a la red. Ej. ATM. - Lanzar una pregunta broadcast a la red para
localizar al propietario de la dirección de red
buscada. Solo se puede usar en redes
broadcast.Ej. Todas las LAN.
63Funcionamiento de ARP
A 0.0.0.0/0 por 130.206.211.6
147.156.1.4/16 Rtr 147.156.1.1
147.156.1.3/16 Rtr 147.156.1.1
147.156.1.2/16 Rtr 147.156.1.1
130.206.211.5/30
W
X
Y
Z
Internet
147.156.1.1/16
- El usuario X teclea ping 147.156.1.3
- X genera ARP request (broadcast) quién es
147.156.1.3? - Todos (Y, Z y W) capturan la pregunta y fichan
a X, es decir le incluyen en su ARP cache (esta
parte es opcional). - Y responde ARP reply (unicast) diciendo que él es
ese (y su dir. MAC) - X recoge la respuesta, la pone en su ARP cache y
envía el ping - La entrada ARP en X caduca pasados unos 15
minutos de inactividad - Cuando el mensaje es para una dirección de fuera
el ARP de X busca al router si el router ya
estaba en su ARP cache X le envía el ping
directamente, sin más.
64Tabla ARP cache en un host UNIX
Iluso_ /etc/arp -a gong.ci.uv.es (147.156.1.1)
at 809d2991b ether ljgene.geneti.uv.es
(147.156.5.2) at (incomplete) qfgate.quifis.uv.es
(147.156.9.2) at 2608c2f945
ether power.ci.uv.es (147.156.1.3) at
2608c2fbf4d ether dewar.quiorg.uv.es
(147.156.9.5) at 805ac71b1f fapr.fisapl.uv.es
(147.156.7.6) at 080a3498ed
ether becopr.sib.uv.es (147.156.11.6) at
080a345ec6 ether cisco.ci.uv.es
(147.156.1.11) at 0603e997e39
ether video.ci.uv.es (147.156.1.46) at
8069276c0 ether roge.ci.uv.es
(147.156.1.219) at 04f56110f ether Iluso_
A este host se le ha enviado el ARP request, pero
aún no se ha recibido el ARP reply. Probablemente
el host está apagado o no existe.
65ARP (Address Resolution Protocol)
- Se usa en todo tipo de LANs broadcast
- Especificado en RFC 826. Diseñado para soportar
cualquier protocolos y formato de dirección, no
solo IP. - ARP no usa paquetes IP, tiene uno propio. En
Ethernet (formato DIX) usa Ethertype X806. - Los paquetes ARP contienen en la parte de datos
las direcciones IP y MAC estas son las que deben
usarse para rellenar la ARP cache, no la MAC que
aparece en la cabecera de la trama MAC
66Envío de un datagrama IP por un host
Datagrama IP listo para enviar
IP destino en ARP cache?
IP destino en misma subred?
No
No
Buscar IP router en tabla de rutas
Sí
Sí
IP router en ARP cache?
Construir trama a host y enviar
Enviar ARP Req. buscando IP destino
No
Enviar ARP Req. buscando IP router
IP destino en ARP cache?
Sí
IP router en ARP cache?
No
ICMP Destino inaccesible
ICMP Destino inaccesible
No
Construir trama a router y enviar
Sí
Sí
Construir trama a router y enviar
Construir trama a host y enviar
67Resolución inversa de direcciones
- A veces se plantea el problema inverso al de ARP,
es decir conocemos la MAC y queremos averiguar la
IP que le corresponde. Ejemplos - Estaciones diskless que al arrancar solo saben
su MAC. No tienen información de configuración. - Red administrada de forma centralizada en la que
se quiere concentrar en un servidor la
correspondencia IP-MAC para poder cambiar las IP
cuando se quiera sin tener que tocar la máquina
del usuario.
68RARP (Reverse Address Resolution Protocol)
- Debe haber un servidor en la red donde se
registran todas las máquinas con su dir. MAC
asignándole a cada una dir. IP - El host (cliente) que quiere saber su IP envía un
mensaje broadcast el mensaje llega al servidor
RARP que busca en sus tablas y devuelve un
mensaje con la dirección IP - RARP utiliza el Ethertype x8035 (distinto de
ARP). Esto permite que los mensajes RARP sean
fácilmente ignorados por los hosts no interesados - Problemas de RARP
- Solo devuelve la dirección IP, no la máscara,
router, MTU, etc. - Los routers no reenvían mensajes ARP/RARP (no son
paquetes IP) . Por tanto el servidor RARP ha de
estar en la misma LAN que el cliente
69Formato de mensaje ARP y RARP en el caso de
protocolo IPv4 y red Ethernet
32 bits
Tipo de hardware (1Enet) Tipo de hardware (1Enet) Tipo de protocolo (800IP)
Lon. Dir. Hard. (6) Lon. Dir. Red (4) Operación (1-2 ARP, 3-4 RARP)
Dir. MAC Emisor (octetos 0-3) Dir. MAC Emisor (octetos 0-3) Dir. MAC Emisor (octetos 0-3)
Dir. MAC Emisor (oct 4-5) Dir. MAC Emisor (oct 4-5) Dir. IP emisor (octetos 0-1)
Dir. IP emisor (octetos 2-3) Dir. IP emisor (octetos 2-3) Dir. MAC destino (oct. 0-1)
Dir. MAC destino (octetos 2-5) Dir. MAC destino (octetos 2-5) Dir. MAC destino (octetos 2-5)
Dir. IP destino Dir. IP destino Dir. IP destino
Códigos de Operación
1 ARP Request 2 ARP Reply 3 RARP Request 4
RARP Reply
70Duplicidad de direcciones IP
Supongamos que a dos ordenadores, X e Y, se les
asigna la misma dirección IP. Normalmente cada
uno tendrá una MAC diferente, con lo que la
situación será
IP 10.0.0.1/16
10.0.0.1/16
10.0.0.3/16 MAC 000001000001
000001000002
000001000003
X
Y
Z
Cuando un tercer ordenador (Z) envíe un ARP
Request buscando a 10.0.0.1 recibirá dos ARP
reply. Como la ARP cache de Z solo admite una
entrada por dirección IP, Z solo tomará en cuenta
una de las respuestas e ignorará la otra. Cual
de las dos entrará en la ARP cache? Esto es algo
aleatorio, pues depende de quien responda primero
(X o Y) y de si Z decide quedarse con la primera
o la última respuesta. Resultado al comunicar
con 10.0.0.1 algunas máquinas hablan con X y
otras con Y.
71Duplicidad de direcciones MAC
Supongamos ahora que X e Y tienen diferente IP,
pero la misma MAC. Esto es posible ya que la MAC
puede cambiarse por software. La situación es
IP 10.0.0.1/16
10.0.0.2/16
10.0.0.3/16 MAC 000001000001
000001000001
000001000003
X
Y
Z
Cuando Z envíe el ARP request buscando a 10.0.0.1
solo recibirá respuesta de X. Los paquetes
enviados por Z hacia X serán recibidos también
por Y (misma MAC) pero como la IP de destino no
es la suya el nivel de red en Y descartará los
paquetes. Si más tarde Z envía un ARP request
buscando a 10.0.0.2 creará una segunda entrada en
su ARP cache con otra IP y la misma MAC, esto
tampoco es problema puesto que la ARP cache se
indexa por la IP. Así pues en este caso la
duplicidad de dirección MAC no parece plantear
problemas. Sin embargo si X e Y están conectados
a un conmutador la tabla de direcciones MAC solo
puede tener un puerto asociado a cada MAC, por lo
que el conmutador solo enviaría las tramas al
último que haya enviado alguna trama.
72Duplicidad de IP y MAC
Supongamos ahora que X e Y tienen la misma IP y
la misma MAC
IP 10.0.0.1/16
10.0.0.1/16
10.0.0.3/16 MAC 000001000001
000001000001
000001000003
X
Y
Z
En este caso si Z envía un ARP request buscando a
10.0.0.1 recibirá dos respuestas (de X e Y). Solo
una de ellas será incluida en la ARP cache, pero
como ambas son idénticas no importa cual de ellas
es incorporada por Z en su tabla. Todos los
paquetes que Z envíe serán procesados, y
respondidos en su caso, por X e Y. Si por ejemplo
Z intenta establecer una conexión TCP con
10.0.0.1 recibirá dos respuestas a su petición de
conexión, y muy probablemente las incongruencias
que observe en las respuestas duplicadas le
lleven a abortar el intento.
73BOOTP (Bootstrap Protocol)
- Función análoga a RARP, pero
- Permite suministrar todos los parámetros de
configuración al cliente, no solo la dir. IP - El servidor y el cliente pueden estar en LANs
diferentes. Los mensajes BOOTP viajan dentro de
datagramas IP y por tanto pueden pasar por los
routers - En la LAN del cliente debe haber un agente
responsable de capturar la pregunta BOOTP
(broadcast) para reenviarla al servidor remoto - A cada dirección MAC se le asigna una dirección
IP de forma estática (correspondencia biunívoca) - Los mensajes BOOTP viajan en datagramas IP
74Funcionamiento de BOOTP
- El host cliente cuando arranca envía un BOOTP
request a la dirección 255.255.255.255
(broadcast en la LAN) con dirección de origen
0.0.0.0 (pues aun no sabe su IP) - El servidor recibe el mensaje, busca en su tabla
la MAC del solicitante y si la encuentra prepara
el BOOTP reply - Para enviar el BOOTP reply en unicast la MAC del
cliente debe estar en la ARP cache del servidor,
lo cual requiere que el cliente responda a un ARP
request. Pero el cliente no puede responder pues
aun no sabe su IP. Esto se resuleve de una de las
dos maneras siguientes - Enviar la respuesta en broadcast.
- Si el kernel lo permite el proceso BOOTP modifica
ilegalmente la tabla ARP y responde entonces en
unicast.
75Funcionamiento de BOOTP
Tabla BOOTP Tabla BOOTP
A 165.12.32.5/24
165.12.32.2
A
B
A 165.12.32.5
ARP cache
Servidor BOOTP
(F) Dirección MAC broadcast
1. A lanza BOOTP request en broadcast preguntando
su IP
2. B busca en su tabla la MAC de A. Encuentra que
su IP es 165.12.32.5
3. B no puede enviar un datagrama a 165.12.32.5
porque no esta en su ARP cache tampoco puede
enviar un ARP request pues A no responderá
4. a) B lanza BOOTP reply en broadcast, o bien
4. b) B modifica su ARP cache para incluir en
ella a A y le envía el BOOTP reply en unicast
76BOOTP con servidor remoto
- Si el servidor BOOTP es remoto algún equipo de la
LAN (normalmente un router) actúa como BOOTP
relay y redirige las BOOTP request al servidor - El router anota en el BOOTP request su dirección
así cuando vuelva el BOOTP reply sabe que lo ha
de distribuir por broadcast - En la LAN del cliente tanto el BOOTP request como
el reply viajan normalmente en tramas broadcast.
En el resto de la red viajan en unicast
(transporte UDP).
77Funcionamiento de BOOTP entre LANs
U
V
LAN C 165.34.0.0/16
Y
LAN A 165.12.32.0/24
165.34.0.2/16 Servidor BOOTP local y remoto
165.12.32.1/24
BOOTP requests a 165.34.0.2
Z
A 165.34.0.0/16 por 192.168.1.2
192.168.1.1/30
LAN B 165.12.40.0/24
165.12.40.1/24
165.34.0.1/16
192.168.1.2/30
W
X
Tabla BOOTP Tabla BOOTP
U 165.12.32.5/24
V 165.12.32.7/24
Y 165.34.56.3/16
A 165.12.32.0/24 por 192.168.1.1 A 165.12.40.0/24
por 192.168.1.1
165.12.40.2/24 Servidor BOOTP local
Tabla BOOTP Tabla BOOTP
W 165.12.40.3/24
X 165.12.40.7/24
78DHCP (Dynamic Host Configuration Protocol)
- Es como BOOTP pero permite una asignación muy
flexible de las direcciones IP. La asignación
puede ser - Manual. Fijada por el administrador de forma
estática para cada MAC, como en BOOTP. - Automática. Es también estática, pero el servidor
decide que IP asigna a cada host cuando recibe la
petición por primera vez - Dinámica. La dirección se le asigna al host de un
pool por un tiempo limitado. Pasado ese tiempo la
dirección se retira, salvo que se renueve la
petición. Permite reaprovechamiento de
direcciones. - Usa el mismo mecanismo que BOOTP para acceder a
servidores en otras LANs - Es lo más parecido a la autoconfiguración
79Parámetros BOOTP/DHCP
- Dirección IP del cliente
- Hostname del cliente
- Máscara de subred
- Dirección(es) IP de
- Router(s)
- Servidor(es) de nombres
- Servidor(es) de impresión (LPR)
- Servidor(es) de tiempo
- Nombre y ubicación del fichero que debe usarse
para hacer boot (lo cargará después por TFTP)
80Configuración de un servidor BOOTP (o DHCP con
asignación manual de direcciones
s_FarmaciaSotano\ htether\
sm255.255.254.0\ ds147.156.1.1
147.156.1.3 147.156.122.64\ dnuv.es\
gw147.156.16.1\ nt147.156.1.3\
ts147.156.1.3\ hn\ toauto\
na147.156.1.46 infsecre2tcs_FarmaciaSotano
ha004f4e0a21f8ip147.156.17.135 sdiscotcs_Farm
aciaSotanoha004f4e0a24e7ip147.156.16.32 pfc7t
cs_FarmaciaSotanoha004f4e0a35d3ip147.156.17.1
33 pfc5tcs_FarmaciaSotanoha004f4e0a35d8ip147
.156.17.131 pfc6tcs_FarmaciaSotanoha004f4e0a35
dfip147.156.17.132 swebtcs_FarmaciaSotanoha0
04f4e0a44abip147.156.16.46
Parámetros comunes a toda la subred
81Configuración de un servidor DHCP con asignación
dinámica de direcciones
Subnet 239.252.197.0 netmask 255.255.255.0
range 239.252.197.10 239.252.197.250 default-
lease-time 600 max-lease-time 7200 option
subnet-mask 255.255.255.0 option
broadcast-address 239.252.197.255 option
routers 239.252.197.1 option domain-name-servers
239.252.197.2, 239.252.197.3 option
domain-name isc.org Host haagen hardware
ethernet 08002b4c5923 fixed-address
239.252.197.9 filename /tftpboot/haagen.boot
option domain-name-servers 192.5.5.1 option
domain-name vix.com
Excepción a la regla
82Sumario
- Generalidades
- El Datagrama IP. Estructura de la cabecera
- Direcciones de red. Enrutamiento básico
- Subredes y superredes. Máscaras
- Protocolos de control y resolución de direcciones
- Fragmentación
- Protocolos de routing
- IPv6
83Fragmentación en IP
- El nivel de red ha de acomodar cada datagrama en
una trama (del nivel de enlace). - Cada tecnología de nivel de enlace tiene un valor
máximo de paquete que puede aceptar, Ej. - Ethernet 1500 bytes (DIX), 1492 (LLC-SNAP).
- Token Ring 4440 bytes (4 Mb/s, THT 8 ms).
- Este valor máximo es la MTU (Maximum Transfer
Unit). - Si el datagrama no cabe se ha de fragmentar. Ej
datagrama de 4000 bytes creado en red Token Ring
que pasa a Ethernet. El router ha de fragmentar - A veces el host ha de fragmentar de entrada pues
genera datagramas demasiado grandes, ej NFS
construye datagramas de 8 KB, incluso en Ethernet
84MTU de algunos medios a nivel de enlace
Nivel de enlace MTU (bytes)
PPP normal 1500
PPP bajo retardo 296
X.25 1600 (RFC 1356)
Frame Relay 1600 (normalmente)
Ethernet DIX 1500
Ethernet LLC-SNAP 1492
Token Ring 4 Mb/s 4440 (THT 8ms)
Classical IP over ATM 9180
85Fragmentación múltiple
Token Ring
Cab. ABCDEF GHIJKL MNOP
E-net DIX
Cab. ABCDEF
Cab. GHIJKL
Cab. MNOP
PPP Bajo Retardo
Cab. M
Cab. N
Cab. O
Cab. P
86Fragmentación en IP
- Los fragmentos reciben la misma cabecera que el
datagrama original salvo por los campos Longitud
Total, MF y Desplazamiento del Fragmento. - Los fragmentos de un mismo datagrama se
identifican por el campo Identificación. - Todos los fragmentos, menos el último, tienen a 1
el bit MF (More Fragments). - La unidad básica de fragmentación es 8 bytes. Los
datos se reparten en tantos fragmentos como haga
falta, todos múltiplos de 8 bytes (salvo quizá el
último). - Toda red debe aceptar un MTU de al menos 68
bytes. El mínimo recomendado es de 576 bytes.
87Ejemplo de fragmentación múltiple
Id Long DF MF Desplaz. Datos
Datagrama Original XXX 4020 0 0 0 ABCDEF GHIJKL MNOP
Token Ring
Fragmento 1 XXX 1500 0 1 0 ABCDEF
Fragmento 2 XXX 1500 0 1 185 GHIJKL
Fragmento 3 XXX 1060 0 0 370 MNOP
E-net DIX
Fragm. 3a XXX 292 0 1 370 M
Fragm. 3b XXX 292 0 1 404 N
F