domingo, 17 de julio de 2011

Entrega y routeo de datagramas IP

Puntuales en lunes (aunque todavía no llegamos a IPv6). Hoy terminamos los capítulos relacionados con el protocolo IPv4, con la única excepción del tema sobre multidifusión, que debería salir en lo que resta del día (o a mas tardar mañana), toda vez que es solo un pequeño resumen y no abunda en detalles. La semana que entra saldría el primer trabajo sobre IPv6 que fue lo que nos trajo hasta aquí así que ya entraríamos en el terreno que esta por venir (para decirlo de algún modo). No queda mucho por decir, consideramos que lo que ya está hecho sobre IPv4 es un muy buen material y en general los temas extraídos de La Guía han tenido una muy buena recepción de modo que consideramos extendernos mas allá. Se ha ralentizado nuevamente la frecuencia de publicaciones por problemas que escapan de nuestras manos pero no mas las cosas tomen su ritmo hay bastante material muy bueno, sean traducciones o sean trabajos nuestros que esperamos les resulten útiles. No les demoramos mas, hoy es lunes de redes así pues, provecho! 

Contenido.
Entrega y routeo de datagramas IP.
2.4.1-Entrega directa e indirecta (routeo) de datagramas IP..
2.4.2-Conceptos de enrutamiento IP y el proceso de enrutamiento del siguiente salto.
2.4.3-Rutas IP y tablas de enrutamiento.
2.4.4-Enrutamiento IP en entornos de subredes o direccionamiento classless (CIDR).
Las funciones esenciales de encapsulado y direccionamiento de datagramas IP son a veces comparadas con poner una carta en un sobre y luego escribir la dirección del destinatario en él. Una vez que el sobre de nuestro datagrama IP se llena y se etiqueta, está listo, pero aún esta sobre nuestra mesa. La última de las principales funciones de IP es llevar el sobre hacia nuestro destinatario. Este es el proceso de entrega de datagramas. Cuando el destinatario no está en nuestra red local, esta entrega requiere que el datagrama se dirija desde nuestra red a la red en que reside el destinatario.

En esta sección discutiremos algunos detalles de cómo IP enruta los datagramas a través de una interconexión de redes. Comienzo con una visión general del proceso comparando la entrega directa e indirecta de datos entre dispositivos. Discutiremmos el principal método utilizado para enrutar datagramas a través de Internet, y explico brevemente cómo se construyen y mantienen las tablas de enrutamiento IP. Discutiremos cómo la evolución desde el direccionamiento "classful" al método sin clases CIDR impactó el proceso de routeo.

Información relacionada: Tenga en cuenta que esta sección es breve y se centra principalmente en los problemas de enrutamiento que están directamente relacionados con cómo funciona el protocolo IP. El routeo es un tema complejo e importante en las redes, y encontrarás mucha más información al respecto en la sección que trata los protocolos de enrutamiento/puerta de enlace TCP/IP. He tratado de no duplicar esa sección poniendo aquí demasiada información sobre el proceso de enrutamiento.


La tarea general del Protocolo de Internet es transmitir los mensajes de los protocolos de nivel superior a través de una red interna de dispositivos. Estos mensajes deben ser empaquetados, direccionados, y si es necesario fragmentados, y luego entregados. El proceso de entrega puede ser simple o complejo, dependiendo de la proximidad entre la fuente y los dispositivos de destino.

Tipos de entrega de datagramas.
Conceptualmente, podemos dividir todas las entregas de datagramas IP en dos tipos generales, que se muestran gráficamente en la Figura 91:
Figura 91: Entrega directa e indirecta (routeo) de datagramas IP
Clic para ampliar.
Este diagrama muestra tres ejemplos de entrega de datagramas IP. La primera transmisión (resaltada en verde) muestra una entrega directa entre dos dispositivos en la red local. La segunda (púrpura) muestra la entrega indirecta dentro de la red local, entre un cliente y el servidor separados por un router. La tercera muestra una entrega indirecta más distante, entre un cliente en la red local y un servidor a través de Internet
  • Entrega directa de datagramas: Cuando se envían datagramas entre dos dispositivos en la misma red física, es posible que los datagramas se entreguen directamente desde la fuente hasta el destino. Imagine que usted quiere entregar una carta a un vecino en su calle. Es probable que no se tomaría la molestia de enviarlo por correo a través de la oficina de correos, pondría el nombre del vecino en el sobre y lo depositaría directamente en su buzón de correo.
  • Entrega indirecta de datagramas: Cuando dos dispositivos no están en la misma red física, la entrega de datagramas entre ellos se realiza de manera indirecta. Dado que el dispositivo de origen no puede ver el destino en su red local, debe enviar el datagrama a través de uno o más dispositivos intermedios para entregarlo. La entrega indirecta es similar a enviar una carta a un amigo en una ciudad diferente. No lo entrega ud mismo - sino que utiliza el sistema postal. La carta viaja a través del sistema postal, posiblemente tomando varios pasos intermedios, y termina en el barrio de su amigo, donde un cartero la pone en su buzón de correo.
Comparación de las entregas directa e indirecta.
La entrega directa es, obviamente, el caso mas simple. La fuente sólo envía los datagramas IP hacia su implementación de la capa de enlace de datos. La capa de enlace de datos encapsula el datagrama en una trama que se envía a través de la red física directamente a la capa de enlace de datos del receptor, el cual la pasa hacia la capa IP.
La entrega indirecta es mucho más complicada, porque no podemos enviar los datos directamente al destinatario. De hecho, por lo general ni siquiera se sabe exactamente dónde está el receptor. Por supuesto, tenemos su dirección, pero no podemos saber en que red se encuentra, o donde esta red se encuentra en relación con la nuestra. (Si te dijera mi dirección sabrías que es en algún lugar de Bennington, Vermont, pero ¿podría encontrarla?) Al igual que confiamos en el sistema postal en la analogía del sobre, debemos confiar en la internet misma para la entrega indirecta de datagramas. Y como el sistema postal, el poder del protocolo IP es que usted no necesita saber cómo llevar la carta a su destinatario, simplemente la "pone" en el sistema.

Los dispositivos que realizan esta "magia" de la entrega indirecta se conocen generalmente como routers, y esta entrega indirecta es más comúnmente llamada enrutamiento. Como confiarle una carta a su compañía de correo local o a su buzón, un host que tiene que enviar a un dispositivo distante generalmente envía datagramas a su router local. El router se conecta a uno o más routers, y cada uno de ellos mantiene información acerca de adonde enviar los datagramas a fin de que lleguen a su destino final.
La entrega indirecta es casi siempre necesaria cuando se comunica con dispositivos distantes, tales como dispositivos en Internet o a través de un enlace WAN. Sin embargo, también puede ser necesaria incluso para enviar a un dispositivo en la habitación de al lado de su oficina, si el dispositivo no está conectado directamente a la suya en la capa dos.

Nota: En el pasado, los routers a menudo eran llamados pasarelas (gateway). Hoy en día, este término de manera más general, puede referirse a un dispositivo que conecta redes en una variedad de maneras. Todavía puede que oiga llamar a los routers "gateways", especialmente en el contexto de términos como "puerta de enlace predeterminada", pero ya que esto es ambiguo, se prefiere el término de router.


Relación entre el enrutamiento y el direccionamiento de datagramas.
Obviamente, cada vez que un datagrama debe ser enviado, es necesario determinar en primer lugar si podemos entregarlo directamente o si se requiere de enrutamiento. Recuerda todas esas páginas y páginas de información sobre las direcciones IP? Bueno, aquí es donde vienen a cuento. Lo mismo que hace a las direcciones IP a veces difíciles de entender - la división entre los bits del ID de red y el ID de host, así como la máscara de subred, es lo que permite que un dispositivo determine rápidamente si está o no en la misma red que su destinatario:
Concepto clave: La entrega de datagramas IP se divide en dos categorías: directa e indirecta. La entrega directa es posible cuando dos dispositivos están en la misma red física. Cuando no es así, la entrega indirecta, más comúnmente llamada enrutamiento, es necesaria para llevar los datagramas del origen al destino. Un dispositivo puede decir qué tipo de entrega es requerida mirando la dirección IP de destino, junto con la información complementaria, como la máscara de subred que le dice en que red o subred que se encuentra el dispositivo.

La determinación de qué tipo de entrega se requiere es el primer paso en la decisión de adónde enviar un datagrama. Si se da cuenta de que el destino está en la misma red local direccionará los datagramas al destinatario directamente en la capa de enlace de datos. De lo contrario, enviará el datagrama a la dirección de la capa de enlace de datos de uno de los routers a los que está conectado. La dirección IP de los datagramas seguirá siendo la del destino final. El mapeo entre las direcciones IP y direcciones de la capa de enlace de datos se realiza mediante el protocolo TCP/IP Address Resolution Protocol (ARP).
También debo aclarar una cosa respecto a la diferenciación entre la entrega directa e indirecta. El enrutamiento se lleva a cabo en este último caso para llevar el datagrama a la red local del destinatario. Después de que el datagrama se ha encaminado a la red física del destinatario, se envía al destinatario por el router local del receptor. Por lo tanto, se podría decir que la entrega indirecta incluye la entrega directa como paso final.

El siguiente tema analiza los procesos y conceptos de enrutamiento IP con más detalle.

Nota: En un sentido estricto, cualquier proceso de entrega entre un dispositivo de origen y destino puede ser considerado enrutamiento, incluso si están en la misma red. Es común, sin embargo, para el proceso de enrutamiento referirse más específicamente a la entrega indirecta, como se explicó anteriormente.

Cuando se envía un datagrama entre dispositivos fuente y destino que no están en la misma red física, el datagrama debe ser entregado indirectamente entre estos dispositivos, un proceso llamado enrutamiento. Es esta capacidad de enrutar información entre dispositivos que pueden estar muy lejos, lo que permite a IP crear el equivalente de una red virtual interna que se extiende por sobre miles de redes físicas potenciales, y permite que dispositivos que se encuentran en lugares opuestos del mundo se puedan comunicar. El proceso de enrutamiento, en términos generales es demasiado complejo para entrar detalles mas profundos aquí, pero sí quiero hacer un pequeño repaso de los conceptos clave del enrutamiento IP.

Generalidades del enrutamiento IP y los saltos (hops).
Para continuar con nuestra analogía del sistema postal, puedo enviar una carta desde mi casa en los Estados Unidos a alguien, por ejemplo, en la India, y los sistemas de correos de ambos países trabajarán para entregar la carta a su destino. Sin embargo, cuando pongo la carta en el buzón, no viene nadie, toma la carta y la lleva directamente a la dirección adecuada en la India. La carta va desde mi buzón de correo a la oficina de correos local. A partir de ahí, probablemente va a un centro de distribución regional, y luego desde allí, a un centro de tráfico internacional. Viajará a la India, tal vez (probablemente) a través de un tercer país. Cuando llega a la India, el sistema postal indio utiliza su propia red de oficinas e instalaciones para dirigir la carta a su destino. El sobre "salta" (hops) de un lugar a otro hasta llegar a su destino.
El enrutamiento IP funciona mas o menos de la misma manera. A pesar de IP permite que los dispositivos se "conecten" en una interconexión de redes utilizando la entrega indirecta, toda la comunicación real de los datagramas se produce a través de redes físicas con routers. No sabemos exactamente donde está la red del dispositivo de destino, y ciertamente no tenemos manera de conectarnos directamente a cada una de las miles de redes que existen. En su lugar, nos basamos en dispositivos intermedios que están conectados físicamente entre sí en una variedad de maneras para formar una malla que contiene millones de caminos entre las redes. Para llevar el datagrama adonde tiene que ir, tiene que ser entregado de un router a otro, hasta que llega a la red física del dispositivo de destino. El término general para esto es enrutamiento del siguiente salto (hop). El proceso se ilustra en la Figura 92.
Figura 92: Routeo del siguiente salto de datagramas IP.
Clic para ampliar. 
Este es el mismo diagrama que el que se muestra en la Figura 91, excepto que esta vez se han mostrado de forma explícita los saltos tomados por cada una de las tres transmisiones de ejemplo. La entrega directa de la primera transmisión (verde) tiene un solo salto (recuerde que el switch no cuenta porque es invisible para la capa tres). La entrega indirecta local pasa a través de un router, por lo que tiene dos saltos. La entrega en internet en este caso cuenta con seis saltos, las rutas reales en Internet pueden ser mucho mas largas.

Beneficios del enrutamiento del siguiente salto.
Este es un concepto fundamental en el funcionamiento de IP: El routeo se realiza a un ritmo "paso a paso", un salto a la vez. Cuando decidimos enviar un datagrama a un dispositivo en una red remota, no sabemos la ruta exacta que el datagrama tomará, sólo tenemos suficiente información para enviarla al router correcto al que estamos conectados. Este router, a su vez, mira la dirección IP de destino y decide hacia donde debe salta el datagrama a continuación. Este proceso continúa hasta que el datagrama llega a la red de destino del host, donde es entregado.
El enrutamiento del salto siguiente puede parecer al principio como una extraña forma de comunicar datagramas a través de una interconexión de redes. De hecho, es parte de lo que hace tan poderoso el protocolo IP. En cada etapa del viaje hacia cualquier otro host, un router sólo necesita saber dónde está el siguiente paso para el datagrama. Sin este concepto, cada dispositivo y cada router necesitarían saber qué camino tomar hacia cada host en el Internet, lo que sería muy poco práctico.

Concepto clave: La entrega indirecta de datagramas IP se realiza mediante un proceso conocido como enrutamiento del siguiente salto, en el que cada mensaje es manipulado de un router a otro hasta llegar a la red de destino. La principal ventaja de esto es que cada router sólo necesita saber qué router vecino debe ser el siguiente destinatario de un determinado datagrama, en lugar de tener que conocer la ruta exacta de cada red de destino.


Procesamiento de datagramas en cada salto
Como se mencionó anteriormente, cada "salto" en la ruta consiste en atravesar una red física. Después de que una fuente envía un datagrama a su router local, la capa de enlace de datos en el router lo pasa a la capa IP del router. Aquí, la cabecera del datagrama se examina, y el router decide cuál es el dispositivo a quien le enviará el datagrama a continuación. Este dispositivo a continuación, pasa de nuevo el datagrama a la capa de enlace de datos para enviarlo a través de uno de los enlaces de su red física, por lo general a otro router. El router o bien tienen un registro de las direcciones físicas de los routers a los que está conectado, o utiliza ARP para determinar estas direcciones.

El papel esencial de los routers en la entrega de datagramas IP.
Otro de los conceptos claves relacionados con el principio de la ruta del siguiente salto es que son los routers los que están diseñados para llevar a cabo de enrutamiento, no los hosts. La mayoría de las máquinas están conectadas al resto de las redes (o Internet) a través de con un solo router. Sería una pesadilla de mantenimiento tener que dar a cada host la inteligencia para saber cómo encaminar los datos a cada otro host. En su lugar, los hosts sólo deciden si enviarán a nivel local para su propia red, o si lo harán a una red no local. En este último caso, sólo envían el datagrama a su router y dicen "aquí está, tu hazte cargo ahora". Si un host tiene conexión con más de un router, solo necesita saber qué router usar para ciertos conjuntos de redes lejanas. Cómo los routers deciden qué hacer con los datagramas cuando los reciben desde los hosts lo veremos en el siguiente tema.

Los routers son los responsables del manejo del tráfico en una red IP. Cada router acepta datagramas de una variedad de fuentes, examina la dirección IP del destino y decide cuál es el siguiente salto que el datagrama tiene que tomar para conseguir que sea el más cercano a su destino final. Una pregunta entonces surge naturalmente: ¿cómo un router sabe a dónde enviar los diferentes datagramas?
Cada router mantiene un conjunto de información que proporciona una correspondencia entre identificadores de diferentes redes y los otros routers a los que está conectado. Esta información está contenida en una estructura de datos normalmente llamada tabla de enrutamiento. Cada entrada en la tabla, como era de esperar se llama entrada de enrutamiento, y proporciona información sobre una red (o subred o host). Básicamente dice "si el destino de este datagrama se encuentra en tal red, el siguiente salto que debe tomar es hacia el siguiente dispositivo". Cada vez que recibe un datagrama el router comprueba la dirección IP de destino con las entradas en su tabla de enrutamiento para decidir a dónde enviar el datagrama, y ??luego la envía a su próximo salto.

Obviamente, mientras menos entradas existan en la tabla, más rápido el router puede decidir qué hacer con los datagramas. (Esta fue una gran parte de la motivación para el enfoque sin clases, el cual agrega rutas en "superredes" para reducir el tamaño de la tabla de routeo, como veremos en el siguiente tema.) Algunos routers sólo tienen conexiones con otros dos dispositivos, por lo que no tienen mucho que pensar para tomar una decisión. Normalmente, el router simplemente toma los datagramas procedentes de una de sus interfaces, y si es necesario, lo envía a otra interfaz. Por ejemplo, considere el router de una pequeña empresa que actúa como interfaz entre una red de tres hosts e Internet. Cualquier datagrama enviado al router desde un host de esta red tendrá que ir a través de la conexión del router al router del ISP.
Cuando un router tiene conexiones a más de dos dispositivos, las cosas se vuelven mucho más complejas. Algunas redes distantes pueden ser accesibles más fácilmente, si se envían los datagramas usando uno de los routers en vez de otro. La tabla de enrutamiento contiene información no sólo sobre las redes directamente conectadas al router, sino también información que el router ha "aprendido" sobre redes más distantes.

Concepto clave: Un router tomar decisiones sobre como enrutar datagramas usando una tabla de enrutamiento interna. La tabla contiene entradas que especifican a qué router deberán ser enviados los datagramas router para llegar a una red particular.

Tablas de enrutamiento en una red de ejemplo.
Veamos un ejemplo (ver Figura 93) con los routers R1, R2, R3 conectados en un "triángulo", de manera que cada router puede enviar datos directamente a los demás, así como a su propia red local. Supongamos que la red local R1 es 11.0.0.0/8, R2 es 12.0.0.0/8 y R3 es 13.0.0.0/8. (Estoy tratando de mantenerlo simple). R1 sabe que cualquier datagrama que vea con el 11 en su primer octeto está en su red local. También tendrá una entrada de enrutamiento que dice que cualquier dirección IP que comience con "12" debe ir a R2, y cualquier otra que empiece con "13" debe irse a R3.
Figura 93: Routeo IP y tablas de routeo.
Clic para ampliar.
Este diagrama muestra una pequeña y sencilla interconexión de redes que consta de tres redes de área local cada una atendida por un router. La tabla de enrutamiento de cada uno lista el router al que los datagramas de cada red de destino deben ser enviados, y he definido colores para que coincidan con los colores de las redes. Tenga en cuenta que debido al "triángulo", cada router R1, R2 y R3 puede enviar datagramas a todos los demás. Sin embargo, R2 y R3 deben enviar los datos a través de R1 para alcanzar a R4, y R4 debe usar R1 para llegar a cualquiera de los otros dos (R2 y R3).

Supongamos que R1 también se conecta a otro router, R4, que tiene 14.0.0.0/8, como su red local. R1 tendrá una entrada para esta red local. Sin embargo, R2 y R3 también necesitan saber cómo llegar a 14.0.0.0/8, a pesar de que no se conectan a su router directamente. Lo más probable es que tendrán una entrada que dice que cualquier datagrama destinado a 14.0.0.0/8 deben ser enviado a R1. R1 luego los retransmite a R4. Del mismo modo, R4 enviará todo el tráfico destinado a 12.0.0.0/8 o 13.0.0.0/8 a través de R1.

Determinación de la ruta.
Ahora, imagine que este proceso se amplia para manejar miles de redes y routers. No sólo los routers necesitan saber cuáles de sus conexiones locales debe usar para cada red, también querrán saber, si es posible, ¿cuál es la mejor conexión para usar con cada una de estas redes?. Ya que los routers están interconectados en una red usualmente existen rutas múltiples entre dos dispositivos, pero queremos usar la mejor ruta siempre que podamos. Esta puede ser el camino más corto, la menos congestionada, o la ruta considerada óptima en función de otros criterios.
Determinar qué rutas se deben utilizar para las diferentes redes resulta ser un trabajo importante, pero muy complejo. Los routers deben planificar las rutas e intercambiar información sobre rutas y redes, lo cual puede hacerse de diferentes maneras. Esto se logra en IP utilizando protocolos especiales de encaminamiento IP. Es gracias a estos protocolos que R2 y R3 se enterarán de que 14.0.0.0/8 existe y que está conectado a ellos a través de R1. Discutiremos estos importantes "protocolos de soporte" en su propia sección.

Nota: Hay una diferencia entre un protocolo enrutable y un protocolo de enrutamiento. IP es un protocolo enrutable, lo que significa que sus mensajes (datagramas) se pueden enrutar. Ejemplos de protocolos de enrutamiento son RIP o BGP, que se utilizan para intercambiar información de enrutamiento entre los routers.


Hay tres categorías principales de asignación de direcciones IP: "classful", subredes "classful", y "classless" (sin clases). Como ya hemos visto, el método utilizado para determinar si se requiere una entrega directa o indirecta de datagramas es diferente para cada tipo de direccionamiento. El tipo de direccionamiento utilizado en la red también afecta el cómo los routers deciden reenviar el tráfico en internet.
Una de las razones principales por las que fue creado el esquema de direccionamiento tradicional "classful" es que hizo que tanto el direccionamiento como el enrutamiento fueran muy sencillos. Debemos recordar que IPv4 fue desarrollado a finales de 1970, cuando el hardware de ordenadores poderosos y baratos que hoy damos por sentado todavía estaba en el campo de la ciencia ficción. Para que la interconexión de redes funcione correctamente, los routers tenían que ser capaces de mirar una dirección IP y decidir rápidamente qué hacer con ella.

El direccionamiento "classful" se diseñó para hacer esto posible. Sólo había una jerarquía de dos niveles para la totalidad de Internet: ID de red e ID de host. Los routers podrían decir mirando a los primeros cuatro bits, que bits en las direcciones IP pertenecían al ID de red y cuales al ID de host. Entonces sólo tenían consultar sus tablas de enrutamiento para encontrar el ID de red y ver qué router era la mejor ruta hacia esa red.
La adición de subredes al direccionamiento convencional en realidad no cambió esto para los principales routers en el Internet, porque la división en subredes es interno a la organización. Los enrutadores principales, que manejan grandes volúmenes de tráfico en la Internet no tenían que ver con las subredes en absoluto, el nivel adicional de jerarquía que representan las subredes sólo existía para los routers dentro de cada organización que optaba por utilizar subredes. Estos routers, a la hora de decidir qué hacer con los datagramas en la red de la organización, debían extraer no sólo el ID de la red de la dirección IP, sino también el ID de la subred. Este les indicaba la red física interna a la que debían enviar el datagrama.

Rutas agregadas y su impacto en el enrutamiento.
El direccionamiento "classless" se llama formalmente Enrutamiento Inter-Dominio sin Clases o CIDR (Classless Inter-Domain Routing). El nombre menciona el routeo y no el direccionamiento, y esto es evidencia de que CIDR se introdujo en gran parte para mejorar la eficiencia de enrutamiento. Esta mejora se debe a que las redes sin clases emplean una jerarquía de varios niveles. Cada red se puede dividir en subredes, sub-sub-redes, y así sucesivamente. Esto significa que cuando estamos decidiendo cómo enrutar en un entorno CIDR, también podemos describir las rutas de una manera jerárquica. Muchas redes más pequeñas pueden ser descritas mediante una descripción única, de una red de alto nivel que las representa a todas a los routers en el resto de la internet. Esta técnica, a veces llamada de rutas agregadas, reduce el tamaño de la tabla de enrutamiento.

Vamos a referirnos de nuevo al ejemplo detallado que di en la sección de direccionamiento sobre CIDR. Un ISP inicia con el bloque 71.94.0.0/15 y lo subdivide las veces que necesite para crear bloques más pequeños para sí y sus clientes. Para los clientes y usuarios de este bloque, los bloques más pequeños deben ser diferenciados, y el ISP, obviamente, tiene que saber cómo dirigir el tráfico al cliente correcto. Para el resto de Internet, sin embargo, estos detalles no son importantes a la hora de decidir cómo enrutar datagramas a cualquier dirección en el bloque de este ISP. Por ejemplo, supongamos que yo estoy usando un host con la dirección IP 211.42.113.5 y tengo que enviar datos a 71.94.1.43. Mi router local, y los routers principales a través de Internet, no saben en qué parte del bloque 71.94.0.0/15 está esa dirección, y tampoco necesitan saberlo. Ellos sólo saben que cualquier cosa con los primeros 15 bits conteniendo el equivalente binario de 71,94 va al router o los routers que se encargan de 71.94.0.0/15, que es la dirección agregada de todo el bloque. Dejan que el router del ISP determine cuál de sus subredes contienen la dirección 71.94.1.43.
Contraste esto con la forma en que sería en un entorno "classful" Cada uno de los clientes de este ISP probablemente tendría uno o más bloques de direcciones de clase C. Cada uno de estos requeriría una entrada en el enrutador por separado, y estos bloques tendrían que ser conocidos por todos los enrutadores de Internet. Así, en lugar de sólo una entrada 71.94.0.0/15, habría docenas o incluso cientos de entradas para cada red del cliente. En el esquema sin clases, sólo existe una entrada, para el ISP "padre".

Posibles ambigüedades en las rutas sin clases.
CIDR proporciona beneficios para el enrutamiento, pero también aumenta su complejidad. Bajo CIDR, no podemos determinar cuales bits pertenecen a el identificador de red y cuales al ID de host simplemente mirando la dirección IP. Para empeorar las cosas, podemos tener redes, subredes, sub-sub-redes y demás, todas conteniendo la misma dirección base!

En nuestro ejemplo anterior, 71.94.0.0/15 es la red completa, y la subred # 0 es 71.94.0.0/16. Tienen una longitud de prefijo diferente (el número de bits de ID de red), pero la misma dirección base. Si un router tiene más de una concordancia para un identificador de red de esta manera, deberá utilizar la que tenga el identificador de red más largo en primer lugar, ya que representa una descripción más específica de la red.
Regresar al contenido.