Cómo un paquete encuentra su camino: el enrutamiento
¿Recuerdas cómo una carta pasaba por oficinas de correo intermedias para llegar? Pero en cada bifurcación, ¿cómo decide una oficina a dónde enviarla después? Nadie en el centro da órdenes una por una. Cada estación elige el camino por sí misma. Eso es el enrutamiento.
Elegir en una bifurcación
Una carta pasó por estaciones intermedias.
Pero al llegar a una estación,
no hay un solo camino de salida.
A menudo hay varias estaciones vecinas.
¿Entonces a qué estación se la entregas después?
Elegir eso es donde empieza el enrutamiento.
En internet a esta estación se le llama enrutador.
Abajo, elige tú mismo la siguiente estación.
Toca una de las estaciones vecinas para pasar el paquete. (Estación = enrutador · tocar = elegir la siguiente estación)
Un traspaso y el paquete fue a un vecino.
En esa estación aparece otra bifurcación.
Entregándolo de estación en estación así,
llega al destino a su tiempo.
Pero si eliges cualquier vecino,
puede dar vueltas al lugar equivocado.
Así que cada estación necesita un criterio.
Qué mira para elegir, lo vemos enseguida.
Leer la tabla de enrutamiento
Cada estación guarda una tablita.
Es una tabla de enrutamiento.
Cada fila de la tabla dice esto:
"Para llegar a ese destino, entrégaselo a este vecino."
Así que cuando llega un paquete,
la estación mira la dirección de destino,
busca esa fila en la tabla,
y lo entrega a la siguiente estación como está escrito.
Toca una fila de destino para consultar a quién entregarlo después. (Tabla = tabla de enrutamiento)
Con la tabla, la estación nunca se pierde.
Dondequiera que esté el destino,
hallar esa fila fija el único paso siguiente.
Lo clave es que una estación no necesita
conocer todo el camino.
Solo necesita "a quién, justo después."
Lo demás lo continúa la siguiente estación con su tabla.
Tablas pequeñas encadenadas hacen un camino largo.
Elegir el camino más rápido
No hay un solo camino a un destino.
Está el rodeo y también el atajo.
¿Entonces qué camino anota la tabla?
El más rápido, claro.
Esto ya lo hemos visto.
Hallar la distancia más corta sobre puntos y líneas,
esa misma búsqueda del camino más rápido
se usa aquí mismo en el enrutamiento.
Toca ambos caminos para comparar distancias. El más corto es el que registra la tabla. (camino más corto otra vez)
Elige el camino corto y anótalo en la tabla,
y desde entonces los paquetes a ese destino
fluyen por el camino rápido solos.
Así que el enrutamiento hace dos trabajos.
Uno es hallar el camino más rápido para armar la tabla,
el otro es entregar los paquetes por la tabla cuando llegan.
El primero es el camino más corto que aprendiste en algorithms,
el segundo es elegir en una bifurcación.
No hay torre de control central
Aquí viene lo más sorprendente.
No hay una torre central que dirija todo esto.
En ninguna parte hay "alguien con el mapa entero."
Cada estación mira solo su propia tabla
y decide su único paso siguiente por sí misma.
A esto se le llama ser distribuido.
No un centro que decide todo,
sino innumerables estaciones juzgando, cada una su parte.
Toca una estación para que falle. Con control central el camino se rompe, pero distribuido las demás hallan un desvío.
Aun con una estación caída, el camino no se rompió.
Las estaciones vecinas corrigieron sus tablas
y desviaron por otro camino.
Si una sola torre central
hubiera estado decidiendo todo,
en cuanto esa torre se detuviera, todo se detendría.
Al ser distribuido, aunque un lugar muera
el todo sigue vivo y en movimiento.
Cierre
Reunamos el enrutamiento en una línea.
Un paquete halla su camino entregado de estación en estación.
Cada estación lee una tabla de enrutamiento
y elige a quién entregarlo después.
La tabla registra el camino más rápido.
No hay torre central.
Es un sistema distribuido donde cada estación decide por sí misma,
así que aunque una estación se detenga, la carta sigue por un desvío.
Toca los puntos clave en orden para cerrar. (elegir en una bifurcación → tabla de enrutamiento → camino más rápido → distribuido, sin centro)
Aquí está el secreto de por qué internet casi nunca se rompe.
No confió todo a un solo centro.
Innumerables estaciones leen cada una su tabla de enrutamiento
y entregan los paquetes por el camino rápido.
Cuando algo se bloquea, otra estación halla un desvío.
Pequeñas decisiones se reúnen
en un camino enorme que enlaza el mundo entero.
Así es como un paquete encuentra su camino.