La capa 2 entrega tramas dentro de una red local. La capa 3 las saca de ahí: lleva paquetes de una red a otra, cruzando tantas como haga falta, hasta el otro lado del mundo. Para eso cada equipo necesita una dirección que diga en qué red está, no solo quién es: la dirección IP. Y en cada frontera entre redes hay un router que decide por dónde sigue cada paquete.
Aquí las averías son de números. El cable está bien, el switch está bien, y aun así un puesto no sale de su red, o llega a unos sitios y a otros no. Casi siempre es una dirección, una máscara, una puerta de enlace o una ruta. Para encontrarlas hay que leer las direcciones y hacer las cuentas.
Direcciones IPv4
Una dirección IPv4 tiene 32 bits, que se escriben como cuatro números del 0 al 255 separados
por puntos (cada número es un octeto, 8 bits): 10.20.1.70. Una parte de la dirección dice
la red y el resto, el equipo dentro de esa red. Dónde está el corte lo dice la máscara.
No todas las direcciones sirven para lo mismo:
- Privadas:
10.0.0.0/8,172.16.0.0/12y192.168.0.0/16. Son las de las redes internas (empresas, casas). No se usan en internet: para salir, el router de borde las traduce a una pública (NAT). 127.0.0.1: el propio equipo (loopback). Un ping ahí solo dice que la tarjeta y el sistema funcionan.169.254.x.x: la que se pone sola un equipo que pidió dirección y nadie le contestó (APIPA). Verla es una pista clarísima: al equipo no le llega el DHCP.
La máscara: dónde acaba la red
La máscara es otro número de 32 bits: unos donde está la red y ceros donde está el equipo.
Se puede escribir entera (255.255.255.192) o contando los unos, en notación CIDR (/26).
Son lo mismo.
De cada red salen dos direcciones que no son de nadie:
- La dirección de red: la parte del equipo toda a ceros. Es el nombre de la red.
- La dirección de difusión: la parte del equipo toda a unos. Un paquete a ella es para todos los de la red.
Por eso, con n bits de equipo, caben 2ⁿ − 2 equipos. Las máscaras que más se ven:
| CIDR | Máscara | Direcciones | Equipos |
|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
Un /24 es la red típica de una oficina pequeña o de una casa; un /26, la de un departamento; un /30, la del enlace entre dos routers, que solo necesita dos direcciones.
Subredes, paso a paso
Hacer subredes es partir una red en trozos más pequeños, uno por departamento o por sitio. En
la sede, la red 10.20.1.0/24 se parte en cuatro /26, una por VLAN:
No hace falta pasar todo a binario. Con la máscara acabando en el cuarto octeto, basta con el tamaño de bloque:
- Tamaño de bloque = 256 − el último octeto de la máscara que no es 0. Con /26 (
.192): 256 − 192 = 64. Las redes empiezan en los múltiplos de 64: .0, .64, .128, .192. - ¿En qué bloque cae la dirección? El múltiplo de 64 que queda justo por debajo: para
.70, el 64. Esa es la dirección de red:10.20.1.64. - La difusión es la última del bloque: 64 + 64 − 1 = 127.
- Los equipos, lo de en medio: de la .65 a la .126.
Otro ejemplo, 10.20.1.200/27: bloque 256 − 224 = 32; los múltiplos de 32 son .0, .32, .64…
.192, .224; el 200 cae en el de .192. Red 10.20.1.192, difusión .223, equipos de .193 a
.222.
Las subredes se aprenden haciendo cuentas: en el Taller de subredes hay una calculadora que enseña los 32 bits de cualquier dirección y cinco niveles de práctica (del binario de un octeto al VLSM), con ejercicios nuevos en cada ronda.
La puerta de enlace
Antes de mandar un paquete, cada equipo se hace una pregunta: ¿el destino es de mi red? Lo calcula con su propia máscara.
- Sí: se lo manda directamente, por el switch.
- No: se lo manda a su puerta de enlace (default gateway), que es el router de su red, y que ya sabrá qué hacer con él.
La puerta de enlace tiene que ser una dirección de su misma red (si no, no puede llegar a
ella) y tiene que ser la del router. En Windows se ve con ipconfig:
C:\Users\ventas2> ipconfig Configuración IP de Windows Adaptador de Ethernet Ethernet: Sufijo DNS específico para la conexión. . : Vínculo: dirección IPv6 local. . . : fe80::4a1c:9e2b:77d0:3a15%12 Dirección IPv4. . . . . . . . . . . . . . : 10.20.1.70 Máscara de subred . . . . . . . . . . . . : 255.255.255.192 Puerta de enlace predeterminada . . . . . : 10.20.1.65
Todo cuadra: .70 con /26 está en .64–.127, y la puerta .65 es de ese bloque. Si la puerta
fuera, por ejemplo, .1 (la de Administración), el equipo hablaría con los de su red y con nadie
más.
ARP: de la IP a la MAC
El paquete lleva direcciones IP, pero por el cable viajan tramas, y las tramas necesitan una
MAC de destino (capa 2). ARP es el puente: el equipo pregunta a toda la red, por
difusión, “¿quién tiene la 10.20.1.65?”, y el dueño contesta con su MAC. La respuesta se guarda
un rato en la tabla ARP.
Fíjate en qué pregunta: si el destino es de su red, la MAC del destino; si no, la MAC de la puerta de enlace. Un paquete a internet sale de tu equipo en una trama dirigida a la MAC del router, aunque la IP de destino sea la de un servidor de otro continente.
C:\Users\ventas2> arp -a Interfaz: 10.20.1.70 --- 0xc Dirección de Internet Dirección física Tipo 10.20.1.65 00-1e-7a-3b-10-02 dinámico 10.20.1.80 3c-52-82-1a-9f-04 dinámico 10.20.1.127 ff-ff-ff-ff-ff-ff estático
El router y su tabla de rutas
Un router tiene una interfaz (con su IP) en cada red que une. Cuando le llega un paquete, mira la IP de destino en su tabla de rutas y lo manda por donde diga. En la tabla hay tres tipos de rutas:
- Conectadas (
C): las redes de sus propias interfaces. Las conoce solas. - Estáticas (
S): las que alguien escribe a mano: “para llegar a tal red, pásalo a tal router”. - La ruta por defecto (
0.0.0.0/0): para todo lo demás. Suele apuntar hacia internet.
(Las redes grandes usan además protocolos de enrutamiento, como OSPF o BGP, para que los routers se cuenten las rutas entre ellos; en redes pequeñas bastan las estáticas.)
R-SEDE# show ip route Codes: L - local, C - connected, S - static, R - RIP, O - OSPF, B - BGP * - candidate default Gateway of last resort is 10.20.254.2 to network 0.0.0.0 S* 0.0.0.0/0 [1/0] via 10.20.254.2 10.0.0.0/8 is variably subnetted, 14 subnets, 5 masks S 10.20.0.0/16 is directly connected, Null0 C 10.20.1.0/26 is directly connected, GigabitEthernet0/0.10 L 10.20.1.1/32 is directly connected, GigabitEthernet0/0.10 C 10.20.1.64/26 is directly connected, GigabitEthernet0/0.20 L 10.20.1.65/32 is directly connected, GigabitEthernet0/0.20 C 10.20.1.128/26 is directly connected, GigabitEthernet0/0.30 L 10.20.1.129/32 is directly connected, GigabitEthernet0/0.30 C 10.20.1.192/26 is directly connected, GigabitEthernet0/0.99 L 10.20.1.193/32 is directly connected, GigabitEthernet0/0.99 S 10.20.2.0/24 [1/0] via 10.20.255.2 C 10.20.254.0/30 is directly connected, GigabitEthernet0/2 L 10.20.254.1/32 is directly connected, GigabitEthernet0/2 C 10.20.255.0/30 is directly connected, GigabitEthernet0/1 L 10.20.255.1/32 is directly connected, GigabitEthernet0/1
Si falta la ruta por defecto, la primera línea cambia: Gateway of last resort is not set, y
todo lo que no sea de una red de la tabla se tira.
Cuando varias rutas encajan con un destino, gana la más específica (la de máscara más
larga). Un paquete a 10.20.2.30 encaja con 0.0.0.0/0 y con 10.20.2.0/24: gana la /24 y va a
la sucursal. Uno a 8.8.8.8 solo encaja con la por defecto: va a internet. Así se escribe una
ruta estática:
R-SEDE(config)# ip route 10.20.2.0 255.255.255.0 10.20.255.2
En la tabla de antes hay una ruta que no lleva a ningún sitio: 10.20.0.0/16 hacia Null0, la
ruta de descarte. Cubre todo el bloque de la empresa. Si un día falta una ruta concreta (la de
la sucursal, por ejemplo), un paquete para 10.20.2.30 ya no se va por la ruta por defecto hacia
internet: el proveedor lo devolvería, porque sabe que ese bloque es nuestro, y el paquete daría
vueltas entre los dos routers hasta agotar el TTL. Con la ruta de descarte, el router lo tira en el
acto y avisa de que no se puede llegar.
Enrutamiento entre VLAN
En la capa 2 cada departamento quedó en su VLAN, y cada VLAN es su propia red. Para que Ventas hable con Contabilidad hace falta un router. En vez de un cable por VLAN, lo normal es un solo cable en trunk hasta el router, que lo parte en subinterfaces, una por VLAN, cada una con la puerta de enlace de su red. Es el router-on-a-stick.
R-SEDE(config)# interface GigabitEthernet0/0.20 R-SEDE(config-subif)# encapsulation dot1Q 20 R-SEDE(config-subif)# ip address 10.20.1.65 255.255.255.192
encapsulation dot1Q 20 dice qué etiqueta 802.1Q le corresponde: las tramas de la VLAN 20 que
llegan por el trunk entran por esta subinterfaz. Si el número está mal, esa subinterfaz escucha
otra VLAN (o ninguna) y el departamento entero se queda sin salir de su red, aunque su puerta
de enlace esté bien escrita. Un resumen rápido de las interfaces:
R-SEDE# show ip interface brief Interface IP-Address OK? Method Status Protocol GigabitEthernet0/0 unassigned YES unset up up Gi0/0.10 10.20.1.1 YES manual up up Gi0/0.20 10.20.1.65 YES manual up up Gi0/0.30 10.20.1.129 YES manual up up Gi0/0.99 10.20.1.193 YES manual up up GigabitEthernet0/1 10.20.255.1 YES manual up up GigabitEthernet0/2 10.20.254.1 YES manual up up
La VLAN de cada subinterfaz no sale en ese resumen: se ve en show running-config. (Los switches
de capa 3 hacen lo mismo por dentro, con una interfaz virtual por VLAN; el concepto es igual.)
TTL, ping y tracert
En la capa 2 un bucle era una tormenta, porque las tramas no caducan. Los paquetes sí: llevan un TTL (time to live), un número que cada router resta en uno. Si llega a 0, el router tira el paquete y le avisa al que lo mandó con un mensaje ICMP de “tiempo excedido”. Así, un paquete perdido en un bucle muere solo.
Ping manda un mensaje ICMP de eco y espera la respuesta. Dice si se llega, cuánto se tarda y con qué TTL vuelve la respuesta (Windows empieza en 128, los routers Cisco en 255, Linux en 64; lo que falte son routers cruzados).
C:\Users\ventas2> ping 10.20.2.30 Haciendo ping a 10.20.2.30 con 32 bytes de datos: Respuesta desde 10.20.2.30: bytes=32 tiempo=2ms TTL=126 Respuesta desde 10.20.2.30: bytes=32 tiempo=1ms TTL=126 Respuesta desde 10.20.2.30: bytes=32 tiempo=1ms TTL=126 Respuesta desde 10.20.2.30: bytes=32 tiempo=1ms TTL=126 Estadísticas de ping para 10.20.2.30: Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 1ms, Máximo = 2ms, Media = 1ms
Cuando falla, el mensaje importa. “Tiempo de espera agotado para esta solicitud” es que no volvió nada. “Host de destino inaccesible”, con la respuesta viniendo de tu propia IP, es que tu equipo creía que el destino estaba en su red y nadie contestó a ARP (mira la máscara).
Tracert usa el TTL a propósito para dibujar el camino:
C:\Users\ventas2> tracert -d 10.20.2.30 Traza a 10.20.2.30 sobre un máximo de 30 saltos 1 <1 ms <1 ms <1 ms 10.20.1.65 2 * * * Tiempo de espera agotado para esta solicitud. 3 * * * Tiempo de espera agotado para esta solicitud. 4 * * * Tiempo de espera agotado para esta solicitud.
Aquí contesta R-SEDE y nadie más. Una causa típica es la ruta de vuelta: R-SUCURSAL recibe
el paquete, pero su aviso no sabe volver a la sede. Si faltara la de ida, tracert enseñaría otra
cosa: el propio R-SEDE contestaría que no puede llegar (“informes: Host de destino inaccesible”),
porque lo tira en la ruta de descarte. Para salir de dudas, la tabla de rutas de cada router.
(-d evita que tracert intente poner nombres a las direcciones, que tarda.)
DHCP: quién da las direcciones
Configurar a mano la IP, la máscara y la puerta de enlace de cada equipo es lento y es la mejor forma de equivocarse. Lo normal es DHCP: un servidor las reparte solo. Un equipo recién encendido, sin dirección todavía, la pide en cuatro pasos (DORA):
La dirección se da en préstamo (lease) por un tiempo, y el equipo la renueva antes de que caduque. El servidor también entrega la máscara, la puerta de enlace y el DNS.
El Discover es una difusión, y las difusiones no cruzan routers. Si el servidor DHCP está en otra red (en la sede, en la VLAN de servidores), el router tiene que hacer de relay: en cada subinterfaz de los usuarios se le dice a quién reenviar esas peticiones.
R-SEDE(config-subif)# ip helper-address 10.20.1.200
Un router también puede ser él mismo el servidor, como el de la sucursal:
R-SUCURSAL(config)# ip dhcp pool SUCURSAL R-SUCURSAL(dhcp-config)# network 10.20.2.0 255.255.255.0 R-SUCURSAL(dhcp-config)# default-router 10.20.2.1
En Windows, ipconfig /release suelta la dirección e ipconfig /renew pide una nueva; así se
comprueba si el DHCP responde. Si no responde, el equipo se pone una 169.254.x.x y se queda
aislado. Y un equipo con IP fija (escrita a mano en sus propiedades) no pregunta nada: todo lo
que lleve mal, lo llevará mal para siempre.
IPv6, en pocas palabras
Las direcciones IPv4 son unos 4 300 millones, y se acabaron hace años (NAT es en buena parte un
parche para eso). IPv6 usa direcciones de 128 bits, escritas en hexadecimal en ocho grupos
de cuatro cifras: 2001:0db8:0000:0000:0000:0000:0000:0042. Se abrevian quitando los ceros de
delante de cada grupo y cambiando una tira de grupos a cero por ::: 2001:db8::42.
- Las redes locales son casi siempre /64: la mitad de la dirección es la red.
- No hay difusión: se usa multidifusión. Y en vez de ARP, NDP (Neighbor Discovery).
- Cada interfaz tiene siempre una dirección de enlace local, que empieza por
fe80::(la que sale enipconfigcomo “Vínculo: dirección IPv6 local”). Solo sirve dentro de su red. - Los equipos pueden configurarse solos a partir de lo que anuncia el router (SLAAC), o con DHCPv6.
Hoy casi todas las redes llevan las dos versiones a la vez (doble pila). En la sala no vas a
tocar IPv6, pero lo verás asomar en ipconfig.
Cómo se diagnostica la capa 3
Con la capa 1 y la 2 descartadas (enlace, VLAN), se va de dentro afuera, y cada paso dice dónde mirar:
ipconfigen el puesto: ¿tiene dirección? Una 169.254 es DHCP que no llega. Si la tiene, haz las cuentas: ¿la dirección cae en el bloque de su red? ¿La máscara es la de su red? ¿La puerta de enlace es la del router y cae dentro de su bloque? ¿Pone “(Duplicado)”?pinga la puerta de enlace. Si no contesta, el problema está entre el puesto y el router (dirección, máscara, la subinterfaz de su VLAN).pinga otro equipo de su misma red y a otra red de la empresa (la sucursal). Si llega a su red y no a las demás, mira la puerta de enlace.pinga internet por IP.tracerthasta lo que no responde: el último salto que contesta dice hasta dónde llega.- En el router:
show ip interface brief(interfaces y direcciones),show ip route(qué redes conoce, en los dos routers) yshow running-config(la VLAN de cada subinterfaz, losip helper-address). Una interfaz en administratively down está apagada a mano (shutdown) y no deja pasar nada hasta unno shutdown; si es la física, caen con ella todas sus subinterfaces. arp -ay capturar tráfico cuando algo va y viene (una IP duplicada) o cuando un equipo pregunta y nadie contesta (un Discover de DHCP sin Offer).