miércoles, 27 de abril de 2011

Direccionamiento IP clásico ("classful") (IPv4 Tercera parte)

Bueno, como ven tuvimos un atraso por causas no previstas, así que esta entrada es la correspondiente al lunes pasado (lunes 25, tarde pero seguro). Ya podemos nombrarlo como lunes de redes o algo así :-). Aquí tenemos pues la tercera parte de la serie de Selecciones de la guía TCP/IP, explica lo correspondiente al direccionamiento clásico, con clases o "classful" como se refiere en el texto. Explica los rangos por clases, los rangos reservados, las direcciones IP multicast y las limitaciones del esquema entre otras cosas. El original queda entonces entre este punto y este otro. Todas estas entradas son bien largas, así que como siempre les recomiendo marcarlas. Hoy es miércoles, así que aunque estemos a mitad de semana les saludo, espero les resulte útil y provecho!

Contenido:
2.1.2.- Direccionamiento IP classful (con clases) convencional.
2.1.2.1- Generalidades del direccionamiento IP "classful" y clases de direcciones.
2.1.2.2- Identificadores de host y red del direccionamiento "classful" y rangos de direcciones.
2.1.2.3- Capacidades de red y hosts para las clases A, B y C.
2.1.2.4- Direcciones IP con significados especiales.
2.1.2.5- Direcciones IP reservadas, de bucle invertido y privadas.
2.1.2.6- Direccionamiento IP Multicast.
2.1.2.7- Problemas con el direccionamiento IP "classful".

La sección anterior sobre el direccionamiento IP describe las tres diferentes maneras en que las direcciones IP se asignan en TCP/IP. El método original de direccionamiento trabaja dividiendo el espacio de direcciones IP en trozos de diferentes tamaños llamados clases y asignando estos bloques de direcciones de estas clases basado en el tamaño y los requerimientos de las diferentes organizaciones. En la década de 1980, cuando Internet estaba en su infancia, este sistema convencional realmente no tenía nombre, hoy, para diferenciarlo de los nuevos esquemas de direccionamiento classless "sin clases", por lo general es llamado el sistema de direccionamiento IP "classful" es decir, con clases o basado en clases.
En esta sección describo el primer sistema utilizado para el direccionamiento IP: el llamado direccionamiento IP classful. Comienzo con una visión general del concepto y una descripción general de las diferentes clases. Se discuten los identificadores (IDs) de red y hosts y los rangos de direcciones asociados con las diferentes clases. Discutiremos la "capacidad" de cada una de las clases de uso común, es decir, cómo muchas redes pertenecen a cada una, y cuántos equipos puede contener cada red. Discutiremos los significados especiales asignados a determinados patrones de direcciones IP, y también los rangos especiales reservados a los espacios de direccionamiento IP privado, funciones de bucle, y multidifusión. Concluyo con una discusión de los problemas con este tipo de direccionamiento, lo que llevó a que finalmente se abandonara en favor de las subredes, y, finalmente, la asignación sin clases (classless) del espacio de direcciones IP.
Debo señalar que el esquema de direccionamiento "classful" ha sido sustituido en Internet por el nuevo sistema de direccionamiento "classless" descrito más adelante en esta sección. Sin embargo, creo que es importante entender cómo funciona el sistema original, ya que constituye la base sobre la que fueron construidos mecanismos de direccionamiento más sofisticados. Solo tengan en cuenta que el sistema "classful" ya no es muy utilizado en Internet.
También debo señalar que la palabra "classful" A veces también se ve como "classfull" (con doble "ll" al final ndt, vean la aclaración al final). Eso sería una falta de ortografía, salvo que, "classful" no es en absoluto realmente una palabra en Inglés. Es por eso que siempre pongo la palabra "classful" entre comillas dobles. De hecho, debo admitir que casi odio la palabra. Suena como algo que formó un niño de primaria porque no sabía el antónimo de la palabra "classless". (La palabra correcta sería "classed", en caso de que a alguien le interese.)
Mi esposa sugiere que la palabra "classy" sonaría mejor que "classful". Y tiene razón, pero las direcciones IP no usan esmoquin.


Por supuesto, nadie me pidió mi opinión sobre este tema. Ni siquiera mi esposa.


Regresar al contenido
2.1.2.1- Generalidades del direccionamiento IP "classful" y clases de direcciones.
Cuando el primer precursor de la Internet fue desarrollado, algunos de los requisitos de la interconexión de redes, tanto presentes como futuros, fueron comprendidos rápidamente. Internet inicialmente era pequeña, pero crecería con el tiempo. Sería compartida por muchas organizaciones. Puesto que es necesario que todas las direcciones IP en la red interna sean únicas, tenía que ser creado un sistema para dividir las direcciones disponibles y compartirlas entre esas organizaciones. Con este fin tuvo que ser establecida una autoridad central, y debió ser desarrollado un esquema para asignar eficientemente las direcciones.
Los desarrolladores del protocolo IP reconocieron que las organizaciones tenían diferentes tamaños y por lo tanto sería necesario un número variable de direcciones IP en Internet. Diseñaron un sistema en el que el espacio de direcciones IP sería dividido en clases, cada una de las cuales contenía una porción de la dirección total y se dedicaban a usos específicos. Algunas se dedicarían a las grandes redes en Internet, mientras que otras serían para organizaciones más pequeñas, y otras reservadas para propósitos especiales.
Dado que este era el sistema original, que no tenía nombre, era simplemente "el" sistema de direccionamiento IP. Hoy en día, en referencia a su uso de las clases, se denomina esquema de direccionamiento "classful", para diferenciarlo del régimen más reciente sin clases (classless). Como dije al final de la introducción de esta sección, "classful" no es realmente una palabra, pero es la que todo el mundo utiliza.


Clases de direcciones IP.
Hay cinco clases en el sistema "classful", que corresponden a las letras de la A a la E. La tabla 43 proporciona información general sobre las clases, sus usos y otras características generales:

Tabla 43: Clases de direcciones IP, características y usos.
Clic para ampliar
Mirando esta tabla (y la Figura 60) se puede ver que las tres primeras, las clases A, B y C, constituyen la mayor parte del espacio total de direcciones (7/8vos de la misma). Estas son las clases que se utilizan para el direccionamiento IP unicast, o lo que es igual, para los mensajes enviados a una interfaz de red única. (Los bloques también incluyen las direcciones de difusión asociados a estas redes.) Esto es lo que solemos considerar el direccionamiento IP "normal". Usted puede pensar en las clases A, B y C como el "papá oso", "mamá osa" y "osito" de la asignación tradicional de direcciones IP. Ellas posibilitan que Internet proporcione direccionamiento para un pequeño número de redes muy grandes, un número moderado de organizaciones de tamaño mediano, y un gran número de pequeñas empresas. Esto refleja aproximadamente la distribución de tamaños de las organizaciones en el mundo real, aunque la gran brecha en el número máximo de hosts permitidos para cada clase de dirección conduce a rigidez y problemas.
Como puede ver, las clases difieren en el lugar donde se dibuja la "línea divisoria" entre las porciones que contienen del ID de red y el ID de host en las direcciones. Sin embargo, en cada caso la división se hace en los límites de octeto: en el direccionamiento "classful", la división no se produce dentro de los octeto.
Figura 60: Division del espacio de direcciones IPv4 en clases.
Clic para ampliar.


Las clases D y E son especiales - al punto de que muchas personas ni siquiera saben que existen. La clase D se utiliza para la multidifusión IP, mientras que la Clase E se reserva para "uso experimental". Discutiremos las direcciones IP multicast más adelante en esta sección.

Justificación del esquema de direccionamiento "classful".
Si bien los inconvenientes des esquema "classful" se discuten a menudo hoy en día (y eso también me incluye a mí, más adelante en esta sección), es importante mantener en contexto que tamaño tenía Internet cuando este sistema fue desarrollado - era muy pequeña, y el espacio de direcciones de 32 bits parecía enorme en comparación con el número de máquinas de sus creadores imaginaron existirían en el futuro. Es justo recordar también las numerosas ventajas del sistema "classful" desarrollado hace más de 25 años:
  • Sencillez y claridad: Hay sólo unas pocas clases para elegir y es muy fácil de entender cómo se dividen las direcciones. La distinción entre las clases es clara y evidente. Las divisiones entre los ID de red y el ID de hosts en las clases A, B y C están en los límites de octeto, y esto hace fácil decir cuál es el identificador de red de cualquier dirección. 
  • Razonable flexibilidad: Los tres niveles de "granularidad" coinciden razonablemente bien con los tamaños de las organizaciones grandes, medianas y pequeñas. El sistema original preveía capacidad suficiente para manejar la tasa de crecimiento esperado de la Internet en el momento. 
  • Facilidad de enrutamiento: Como veremos en breve, la clase de la dirección se codifica justo en la dirección para que le sea fácil a los routers saber qué parte de cualquier dirección es el identificador de red y qué parte es la ID de host. No hay necesidad de información anexa, tal como la máscara de subred. 
  • Direcciones reservadas: Algunas direcciones están reservadas para propósitos especiales. Esto incluye no sólo las clases D y E, sino también rangos especiales de direcciones reservadas para el direccionamiento "privado".

Por supuesto, resultó que algunas de las decisiones en el sistema de direccionamiento IP original eran lamentables, pero ese es el beneficio de la retrospectiva. Estoy seguro de que a todos nos gustaría tener de regreso los 268 y tantos millones de direcciones que se reservaron para la Clase E. Si bien puede parecer un desperdicio que se haya reservado un 1/16avo completo del espacio de direcciones para "uso experimental", recuerda que el tamaño actual de Internet nunca fue previsto siquiera hace diez años, mucho menos veinticinco. Por otra parte, es una buena práctica reservar una parte de cualquier recurso escaso para un uso futuro.(Y además, si vamos a jugar al quarterback el lunes por la mañana, la decisión real de que se debió cambiar en retrospectiva fue la selección de una dirección de 32 bits en lugar de una de 48 bits o 64 bits!)

Concepto clave: El esquema de direccionamiento IP "classful" divide el espacio de direcciones IP en cinco clases de diferentes tamaños, de la A a la E. Las clases A, B y C son las más importantes, designadas para las direcciones unicast convencionales y comprenden 7/8vos del espacio total de direcciones.  Clase D está reservado para la multidifusión IP, y la clase E para uso experimental.

Regresar al contenido
2.1.2.2- Identificadores de host y red del direccionamiento "classful" y rangos de direcciones.
El esquema de direccionamiento IP "classful" divide el total del espacio de direcciones IP en cinco clases, de la A a la E. Uno de los beneficios de este esquema relativamente simple es que la información sobre las clases se codifica directamente en la dirección IP. Esto significa que podemos determinar de antemano qué rangos de direcciones pertenecen a cada clase. También significa que lo contrario es posible: podemos identificar qué clase se asocia con cualquier dirección mediante el examen de sólo unos pocos bits de la dirección.
Este último beneficio fue uno de los principales motivadores para la creación inicial del sistema "classful", como vimos en el tema anterior.

Algoritmo de determinación de la clase para el direccionamiento "classful"
Cuando TCP/IP se creó la informática todavía estaba en su infancia, en comparación con su estado actual. Se necesitaron routers para decidir con rapidez hacia donde mover los datagramas IP. El espacio de direcciones IP se dividió en clases de manera que con solo mirar los primeros bits de cualquier dirección IP le indicara al router donde "trazar la línea divisoria" entre la ID de red y el ID de host, y por lo tanto qué hacer con el datagrama .
El número de bits que el router tiene que ver puede ser tan sólo uno o hasta cuatro, dependiendo de lo que encuentre cuando empiece a buscar. El algoritmo utilizado corresponde al sistema utilizado para dividir el espacio de direcciones, que consiste en cuatro pasos muy básicos (véase la Figura 61):

Figura 61: Algoritmo de determinación de clases para direcciones IP "classful".
Clic para ampliar.
La simplicidad del direccionamiento IP "classful" se puede observar en la sencillez del algoritmo utilizado para determinar la clase de una dirección
  1. Si el primer bit es un "0", es una dirección de clase "A" y ya está. (La mitad del espacio de direcciones tiene un "0" para el primer bit, esta es la razón por la que la clase "A" tiene la mitad del espacio de direcciones.) Si se trata de un "1", continúe con el paso dos. 
  2. Si el segundo bit es un "0", es una dirección de clase "B" y ya está. (La mitad de las direcciones restantes que no son de clase "A", o una cuarta parte del total). Si se trata de un "1", continúe con el paso tres. 
  3. Si el tercer bit es un "0", es una dirección de clase "C" y ya está. (La mitad de lo que queda, o un octavo del total.) Si se trata de un "1", continúe con el paso cuatro. 
  4. Si el cuarto bit es un "0", es una dirección de clase D. (La mitad del resto, o un dieciseisavo del espacio de direcciones.) Si se trata de un "1", es una dirección de clase "E". (La otra mitad, un dieciseisavo).
Y eso es casi todo.

Determinación de la clase de la dirección por el patrón de bits del primer octeto.
Como seres humanos, por supuesto, por lo general trabajamos con las direcciones en notación decimal con puntos y no en binario, pero es bastante fácil ver los rangos que corresponden a las clases. Por ejemplo, considere la clase B. Los dos primeros bits del primer octeto son "10". Los bits restantes pueden ser cualquier combinación de unos y ceros. Esto normalmente se representa como "10xx xxxx" (se muestra como dos grupos de cuatro para facilitar su lectura.) Así, el rango binario para el primer octeto puede ser de "1000 0000" a "1011 1111". Esto es de 128 a 191 en decimal. Así, en el sistema "classful", cualquier dirección IP cuyo primer octeto esté entre 128 y 191 (inclusive) es una dirección de clase B.
En la Tabla 44 que han mostrado los patrones de bits de cada una de las cinco clases, y la forma en que los rangos de primer octeto se puede calcular. En la primera columna está el formato para el primer octeto de la dirección IP, donde la "x" puede ser un cero o un uno. A continuación, les muestro el valor mínimo y máximo para cada clase en sistema binario (los pocos bits "fijos" se resaltan para que pueda ver que no cambia, mientras que los demás si lo hacen.) A continuación muestro el rango correspondiente al primer octeto en decimal.
Tabla 44: Patrón de bits de las clases de direcciones IP, rangos del primer octeto y rangos de direcciones.
Clic para ampliar.

Concepto clave: En el esquema de direccionamiento IP "classful", la clase de una dirección IP se identifica al observar el primero, segundo, tercero o cuarto bit de la dirección. Esto lo pueden hacer tanto los seres humanos que trabajan con estas direcciones como los routers para tomar decisiones de enrutamiento. El uso de estos patrones de bits significa que las direcciones IP en las clases se dividen en diferentes rangos de direcciones particulares que permiten determinar la clase de una dirección observando el primer byte de la dirección decimal con puntos.


Rangos de direcciones para las clases de direcciones.
También he mostrado en el Cuadro 44, los rangos teóricos de direcciones IP menores y mayores para cada una de las clases. Esto significa que los rangos de direcciones mostrados son sólo el resultado de tomar la extensión completa de números binarios posibles en cada clase. En realidad, algunos de los valores no están disponibles para su uso normal. Por ejemplo, a pesar de que el rango entre 192.0.0.0 y 192.0.0.255 está técnicamente en la clase C, está reservado y no son utilizadas en realidad por los hosts en Internet.
Además, hay direcciones IP que no se puede utilizar debido a que tienen un significado especial. Por ejemplo, no se puede utilizar una dirección IP 255.255.255.255, ya que esto es una dirección de difusión reservada "todos en uno". De manera similar, nótese que el rango de la clase A es de 1 a 126 y no como se podría esperar de 0 a 127. Esto se debe a que las redes de clase A 0 y 127 están reservadas; 127 es la red que contiene la dirección IP de bucle invertido. Estas direcciones especiales y reservadas se discuten más adelante en esta sección.
Ahora bien, recordemos que las clases A, B y C se diferencian en donde se ubica la línea divisoria entre el ID de red y el ID de host: 1 para ID de red y 3 el ID de host en la clase A, 2 para cada uno para la clase B, y 3 para el ID red y uno para el de host en la clase C. En base a esta división, resalto la parte del ID de red de los rangos de direcciones IP para cada una de las clases A, B y C. El texto plano corresponde al rango de ID de host para cada identificador de red permitido. La figura 62 muestra gráficamente como se utilizan los bits en cada una de las cinco clases.
Figura 62: Asignaciones de bits para clases de direcciones IP y tamaños red/host.
Clic para ampliar.
Esta ilustración muestra cómo los 32 bits de la dirección IP se asignan para cada una de las cinco clases de direcciones IP. Las clases A, B y C son las clases "normales" que se utilizan para las direcciones unicast regulares, cada una tiene un punto diferente de división entre el ID de red y el ID de host. Las clases D y E son especiales y no se dividen de esta manera.
Uf, me parece que hay tiempo para otro ejemplo. Echemos un vistazo a la clase C. La dirección IP mas baja es 192.0.0.0 y la mayor es 223.255.255.255. Los tres primeros octetos son el identificador de red, y puede ir desde 192.0.0 al 223.255.255. Para cada identificador de red en ese rango, el ID de host puede variar de 0 a 255.

Nota: Es común ver que los recursos referidos al identificador de red de una dirección IP "classful", solo incluyan los bits "significativos", es decir, sólo los que no son comunes a todas las redes de esa clase. Por ejemplo, puede ver un ID de una red de clase B que se muestra en el diagrama con 14 bits, con el "10" que inicia todas estas redes mostrado por separado, como si no fuera parte de la identificación de la red. Recuerde que el ID de red si incluye estos bits, son 8 bits completos para la clase A, 16 para la clase B y 24 para la clase C. En el caso de las direcciones de clase D, los 32 bits son parte de la dirección, pero sólo los 28 bits mas bajos son parte de la dirección de grupo multicast, consulte el tema sobre direccionamiento multicast para más información.

Regresar al contenido
2.1.2.3- Capacidades de red y hosts para las clases A, B y C.
En los temas anteriores introduje los conceptos de clases de direcciones IP y mostré cómo las clases se relacionan con los rangos de direcciones IP. De las cinco clases, D y E están dedicados a fines especiales, así que voy a dejarlas por ahora. Las clases A, B y C son las que son asignadas realmente para propósitos de direccionamiento normal (unicast) en redes IP, y por lo tanto, objetivo principal de nuestra atención constante.
Como hemos visto, se diferencian en el número de bits (y octetos) utilizados para el identificador de red en comparación con el ID de host. El número de redes diferentes posibles en cada clase es una función del número de bits asignados al ID de red, del mismo modo, el número de posibles hosts en cada red depende del número de bits reservado para el ID de host. También hay que tener en cuenta el hecho de que uno, dos o tres bits de la dirección IP se utilizan para indicar la propia clase, por lo que son efectivamente "excluidos" de uso en la determinación del número de redes (aunque una vez más, todavía son parte del ID de red).

Basados en esta información, podemos calcular el número de redes en cada clase, y para cada clase, el número hosts por redes. El cuadro 45 muestra los cálculos.
Tabla 45: Capacidades de redes y host el las clases de direcciones IP.
Clic para ampliar.
Vamos a caminar a través de una línea en esta tabla para que podamos ver cómo funciona. Usaré la clase B, ya que "está en el medio". La división básica queda en 16 bits para el ID de red y 16 bits para el ID de host. Sin embargo, los dos primeros bits de todas las direcciones de clase B debe ser "10", por lo que quedan sólo 14 bits para identificar el ID de red. Esto nos da un total de 214 o 16.384 identificadores de red de clase B. Para cada uno de ellos, tenemos 216 ID de hosts, menos dos, para un total de 65.534.
¿Por qué menos dos? Para cada identificador de red, hay dos ID de hosts que no se pueden utilizar: el ID con todos a ceros y el ID con todos a unos. Estas son las direcciones con "significado especial", como se describe en el tema que sigue. También se dará cuenta de que se han restado 2 de la cantidad de identificadores de red para la clase A. Esto se debe a que dos de los identificadores de red de clase A (0 y 127) están reservados. Hay de hecho otros rangos de direcciones que son retirados de las tres clases que no he mostrado aquí. Se enumeran en el tema de direcciones reservadas, privadas y de bucle invertido. (La exclusión de 0 y 127 de la clase A es probablemente la reserva de rangos de dirección más conocida por esto es que soy explícito sobre esto que en el cuadro anterior.)

Concepto clave: En el esquema de direccionamiento IP "classful", una red de clase A contiene direcciones para unos 16 millones de interfaces de red, una clase B, unos 65.000, y una Clase C, 254.

Como puede ver, hay una gran disparidad en el número de ordenadores disponibles para cada red en cada una de estas clases. ¿Qué pasa si una organización necesita 1.000 direcciones IP? Tienen que utilizar cuatro clases "C" o utilizar una clase B (y al hacerlo, desperdicia más del 90% de las direcciones posibles de la red de clase B). Tenga en cuenta que sólo hay unos 16.000 identificadores de red de clase B disponibles en todo el mundo y empezará a entender uno de los grandes problemas del direccionamiento "classful".

Regresar al contenido
2.1.2.4- Direcciones IP con significados especiales.
La mayoría de las direcciones IP tienen el significado "usual" que he descrito en los temas anteriores en esta sección: se refieren a una interfaz de un dispositivo en una red TCP/IP. Sin embargo, algunas direcciones IP no se refieren directamente a dispositivos de hardware específicos en esta manera. En su lugar, se utilizan para referirse "indirectamente" a uno o más dispositivos. Para establecer una analogía con el lenguaje, la mayoría de las direcciones IP se refieren a nombres propios, como "Juan" o "la tabla de color rojo en la esquina". Sin embargo, algunas se utilizan más en la forma en que usamos los pronombres como "éste" o "ese grupo allá". Yo llamo a estas direcciones IP con significados especiales.

Patrones especiales de ID de redes y ID de host.
Las direcciones IP especiales se construyen mediante la sustitución de la ID de red normal o ID de host (o ambos) en una dirección IP con uno de dos patrones especiales. Los dos modelos son los siguientes:
  • Todos a ceros: Cuando el identificador de red o los bits de ID de host se sustituyen por un conjunto de todos a ceros, el significado especial es el equivalente del pronombre "esto", refiriéndose a lo que fue sustituido. También puede ser interpretado como "por defecto" o "el actual". Así, por ejemplo, si sustituimos el ID de red con ceros, pero dejamos el ID de host, la dirección resultante significa "el dispositivo con el ID de host dado, en esta red". O, alternativamente, "el dispositivo con el ID de host especificado, en la red por defecto o la red actual". 
  • Todos en uno (1): Cuando el identificador de red o los bits del ID de host se sustituyen por un conjunto de todos a 1, esto tiene el significado especial de "todos".Por lo tanto sustituir el ID de host por todos en 1 significa la dirección IP referida a todos los hosts en la red. Esto se utiliza generalmente como una dirección de difusión para enviar un mensaje a "todos".
Concepto clave: Cuando el ID de red o de host de una dirección IP se sustituye por un patrón de todos ceros o todos 1, el resultado es una dirección con un significado especial. Ejemplos de dichas direcciones son las direcciones de difusión "todos los hosts", y las direcciones que hacen referencia a un host específico o una red entera.

Patrones específicos de direcciones IP con significados especiales
Puesto que hay muchos identificadores de red e identificadores de hosts, también hay muchas direcciones "especiales". Un pequeño número son universales en toda la red TCP/IP, mientras que otros existen para cada identificador de red o identificador de host. Puesto que hay dos "patrones especiales" que pueden ser aplicadas al identificador de red, al identificador de host, o ambos, esto produce seis combinaciones posibles, cada una de las cuales tiene su propio significado especial. De ellas, se utilizan cinco.
El cuadro 46 describe cada uno de estos significados especiales. En la tabla también he proporcionado tres ejemplos, uno de cada una de las clases A, B y C. Esto muestra como puede ser modificada una dirección IP en cada una de las clases comune para cada una de las formas con "significado especial". (La primera fila muestra los ejemplos de su forma normal, como referencia.)
Tabla 46: Patrones de direcciones con significados especiales.
Clic para ampliar.

Nota: La combinación faltante en la Tabla 46 es la de un ID de red con todos los bits en 1 y el ID de host normal. Semánticamente, esto se refieren a "todos los hosts de una identificación específica en todas las redes", que en realidad no significa nada útil en la práctica, por lo que no se usa. Tenga en cuenta también que, en teoría, una dirección especial en la que el identificador de red es todo ceros y el identificador de host es todo 1 tienen el mismo significado que la dirección de difusión limitada con todos en 1. Este último se utiliza en su lugar, sin embargo, debido a que es más general, no requiere conocimiento de donde está la división entre el ID de red y el ID de host.

Limitaciones de las direcciones IP debido a los patrones de significado especial.
Dado que los patrones de todos ceros y todos 1 son reservados para estos significados especiales, no se pueden utilizar para direcciones IP regulares. Por eso, cuando observamos la cantidad de hosts por red en cada una de las clases, hemos tenido que restar dos del máximo teórico: una para el caso todos ceros y una para el caso todos 1.
Del mismo modo, el ID de red no puede ser todo ceros tampoco. Sin embargo, esto no requiere de exclusión específica porque todo el bloque de direcciones en "0" en el primer octeto (0.x.x.x) es uno de los conjuntos de direcciones IP reservadas. Estas direcciones reservadas, que se describen en el siguiente tema, restringen aún más el uso de ciertas direcciones en el espacio de direcciones IP para usos regulares.

Regresar al contenido
2.1.2.5- Direcciones IP reservadas, de bucle invertido y privadas.
En el tema anterior mostré cómo determinadas direcciones IP no se pueden utilizar para dispositivos de red normal, ya que se trata de direcciones con significados "especiales". Estas direcciones especiales reducen el número total de redes que son posibles en el esquema de direccionamiento "classful", así como el número total de ordenadores disponibles en cada red.
Además de estos números inutilizables, hay varios otros conjuntos de direcciones IP reservadas para diversos usos especiales, que no están disponibles para la asignación de direcciones normales. Estos rangos de direcciones IP generalmente se dividen en las tres categorías siguientes: direcciones de loopback, reservadas, y privadas.


Direcciones reservadas.
Varios bloques de direcciones fueron designados como "reservados", sin indicación específica de para que fueron reservados. Pueden haber sido reservados para la experimentación futura, o para uso interno en el manejo de Internet, o para otros fines. (En general, es una buena idea reservar una parte de cualquier recurso limitado para necesidades imprevistas!) Hay un par de estos bloques en cada una de las tres clases principales (A, B y C), que aparece justo al inicio y al final de cada clase. (En cierto modo, todas las clases D y E también son "reservadas", ya que no se utilizan para el direccionamiento regular, aunque el término "reservado" se utiliza generalmente para referirse a las partes sin usar de las clases A, B y C .


Direcciones de bucle invertido (loopback).

Normalmente, cuando una aplicación TCP/IP quiere enviar la información, esta información viaja por las capas de protocolos hasta llegar al protocolo IP, donde se encapsula en un datagrama IP. Este datagrama pasa a la capa de enlace de datos de la red física del dispositivo para su transmisión al siguiente salto (hop), en el camino a la IP de destino.
Sin embargo, un rango especial de direcciones se ha reservado para la funcionalidad de bucle invertido. Este es el rango 127.0.0.0 a 127.255.255.255. Los datagramas IP enviados por un host a una dirección de bucle invertido 127.x.x.x no se transmiten a la capa de enlace de datos para su transmisión. En vez de eso, "regresan" al dispositivo de origen a nivel IP. En esencia, esto representa un "cortocircuito" de la pila normal del protocolo, los datos son enviados por la implementación de la capa tres IP del dispositivo y luego son recibidos por el mismo inmediatamente.
El propósito del rango de loopback es la comprobación de la implementación del protocolo TCP/IP en un host. Dado que las capas inferiores están cortocircuitadas, el envío a una dirección de bucle invertido permite que las capas superiores (IP y superiores) sean efectivamente comprobadas sin la posibilidad de que se manifiesten los problemas en las capas inferiores. 127.0.0.1 es la dirección más utilizada para propósitos de prueba.

Concepto clave: Hay porciones del espacio de direcciones IP reservadas para las direcciones privadas, de bucle invertido y direcciones reservadas.

Direcciones privadas /sin registrar/ no ruteables
Recordemos que en el resumen de direcciones IP contrastamos las direcciones IP privadas y públicas. Cada dirección IP en una red IP debe ser única, y en el caso de una red IP pública, las direcciones se asignan mediante una autoridad central para garantizar que no se solapen. Por el contrario, si se establece una red privada se puede utilizar cualquier dirección que se desee, es su problema y nadie más tiene que ver con lo que ud hace.
Así pues, si este es el caso, ¿por qué no elegir cualquier bloque al azar de las direcciones de clase A, B o C para su red privada y usarlo? Bueno, podría, ya que no están conectados a Internet puede utilizar, por ejemplo, la red de clase A 18.x.x.x que está reservada en Internet para el Instituto de Tecnología de Massachusetts (MIT). Puesto que no están conectados al MIT, ¿qué importa?
En el pasado, hubo gente que eligió hacer esto, y terminó lamentando esa decisión. A medida que Internet creció en importancia, después decidirían que tales redes privadas necesitaban conectarse a Internet después de todo. Si eso sucediera y ud había utilizado las direcciones 18.x.x.x, usted tendría que volver a numerar todos sus dispositivos para evitar un gran grupo de frikis muy enojados. (Sucedieron en realidad casos en que las empresas que hacían uso de espacio de direcciones IP pertenecientes a otras compañías accidentalmente conectaron esas máquinas a Internet, causando una pequeña cantidad de alboroto en el proceso.)
Desde un punto de vista más prosaico, tener dispositivos internos con direcciones IP del MIT es una fuente de confusión. Simplemente no es una buena idea tener un montón de diferentes empresas "tomando prestandas" las direcciones IP para sus redes privadas.
Como alternativa, la RFC 1918 (sustituye a la RFC 1597) define un conjunto de bloques de direcciones especiales que se reservan sólo para las direcciones privadas. Estas direcciones no existen, en la Internet pública. Cualquier persona puede utilizarlas sin necesidad de contactar con ninguna autoridad para pedir permiso. Al mismo tiempo, no pueden conectarse a la Internet global, ya que los enrutadores no están programados con entradas para reenviar el tráfico con estos rangos de direcciones fuera de las organizaciones locales. La RFC 1918 fue publicada con la finalidad de fomentar el uso de estos bloques privados, con el fin de reducir el número de dispositivos en el Internet público que realmente no necesitan ser accesibles al público. Esto fue en respuesta a la necesidad de conservar el espacio de direcciones públicas.
Con el fin de conectar una red con direccionamiento privado a la Internet pública, es necesario emplear hardware y/o software adicional. Una puerta de enlace se puede utilizar como una interfaz entre las redes públicas y privadas. Tecnologías como IP Network Address Translation (NAT) se utilizan a menudo en combinación con direcciones IP privadas para que estos hosts comunicarse con la red IP pública.

Concepto clave: Los bloques de direcciones privadas se crearon para permitir que se crearan internets IP privadas utilizando direcciones que se garantizaba no entraran en conflicto con las direcciones IP públicas. Son de uso general en redes que no están conectadas a la Internet global, los dispositivos usados también pueden tener acceso a la Internet global mediante el uso de NAT.

Bloques de direccionamiento reservado, de loopback y privados.
El cuadro 47 muestra todos los bloques especiales reservados del espacio de direcciones IP normales en orden numérico, con una breve explicación de cómo se usa cada uno:
Tabla 47: Direcciones IP reservadas, de loopback y privadas.
Clic para ampliar.
He mostrado la notación "classful" y "classless" representando cada uno de estos bloques. Esto se debe a que Internet utiliza ahora el direccionamiento "classless", y porque algunos de los bloques privados no corresponden a una sola red clase A, B o C. Tenga en cuenta especialmente el bloque de direcciones privadas de 192.168.0.0 a 192.168.255.255. Este es el tamaño de una red de clase B, pero no es una clase B en el esquema "classful", porque el primer octeto de "192" lo ubica en la parte C de las clases del espacio de direcciones. Son, de hecho, 256 redes de clase C contiguas.
También puede observar la clase B especial (/16) del bloque 169.254.x.x Este se reserva para direcciones IP privadas automáticas (APIPA Automatic Private IP Addressing). Los sistemas que están configurados para utilizar esta función automáticamente asignan direcciones de hosts de este bloque para que puedan comunicarse, incluso si no hay un servidor que se pueda encontrar para una "adecuada" asignación de direcciones IP mediante DHCP. Esto se describe en un tema especial en la sección que describe DHCP.

Regresar al contenido
2.1.2.6- Direccionamiento IP Multicast.
La gran mayoría del tráfico en redes IP es del tipo de unidifusión: un dispositivo de origen enviando a un dispositivo de destino. IP también admite la multidifusión, donde un dispositivo de origen puede enviar a un grupo de dispositivos. La multidifusión no se utiliza mucho en general en Internet en la actualidad, debido principalmente a la falta de soporte de hardware extendido, por lo que la mayor parte de nuestro enfoque en el estudio de IP se encuentra en unicast. Multicast es útil en determinadas circunstancias, sin embargo, especialmente como una alternativa más eficiente a broadcast. Incluiyo un tema de síntesis sobre la multidifusión para su lectura, y también quiero discutir brevemente las cuestiones sobre el direccionamiento IP relacionadas con la multidifusión.
El esquema de direccionamiento IP "classful" reserva un dieciseisavo completo del espacio de direcciones para las direcciones de multidifusión: La clase D. Las direcciones de multidifusión se identifican con el modelo "1110" en los primeros cuatro bits, lo que corresponde a un primer octeto de 224 a 239. Así, la gama completa de direcciones de multidifusión es de 224.0.0.0 a 239.255.255.255. Dado que las direcciones multicast representan un grupo de dispositivos IP (a veces llamado un grupo de hosts) sólo se pueden utilizar como el destino de un datagrama, nunca como fuente.

Tipos y rangos de direcciones de multidifusión.
Los 28 bits después de los "1110" del inicio en la dirección IP definen la dirección IP del grupo multicast. El tamaño del espacio de direcciones de la clase D de multidifusión es por lo tanto grupos de multidifusión de 228 o 268 435 456. No hay subestructura que defina el uso de estos 28 bits, no hay un concepto específico de un identificador de red y de hosts como en las clases A, B y C. Sin embargo, ciertas partes del espacio de direcciones se reservan para usos específicos. El cuadro 48 y la figura 63 muestran la asignación general del espacio de direcciones de clase D.
Tabla 48: Rangos y usos de direcciones IP multicast.
Clic para ampliar.

Nota: Al igual que con las otras clases de direcciones IP, los 32 bits de la dirección se utilizan siempre, estamos interesados sólo ??en los 28 bits menos significativos, ya que los cuatro bits superiores nunca cambian.

La mayor parte del espacio de direcciones está en la gama media de multidifusión, que son las direcciones "normales" de multidifusión. Estas son análogas a las direcciones unicast de clase A, B y C y pueden ser asignadas a varios grupos.
El último rango de direcciones es para grupos de multidifusión de ámbito administrativo. Se trata de un término de lujo para grupos de multidifusión utilizados dentro de una organización privada, este bloque, que representa el 1/16avo del espacio de direcciones de multidifusión total, es comparable a las direcciones privadas que vimos en el tema anterior. Este bloque está también subdividido en direcciones multicast locales de sitio, direcciones locales de organizaciones y así sucesivamente.
Figura 63: Usos y rangos de las direcciones IP multicast.
Clic para ampliar.
Todas las direcciones de multidifusión comienzan con "1110" como se muestra. El "conocido" grupo tiene ceros en los primeros 20 bits de la dirección de grupo multicast, con 8 bits disponibles para definir 255 direcciones multicast especiales. Las direcciones multicast que comienzan con "1110 1111" son de ámbito local, el resto de las direcciones son de ámbito mundial (esto incluye las direcciones que comienzan con "1110 0000" que no sean las direcciones conocidas 255.)


Información relacionada: El concepto de ámbito de direcciones de multidifusión se define de forma más completa en IPv6, y lo discutiremos en mayor detalle en el debate de las direcciones IPv6 multicast.

Direcciones multicast bien conocidas.
El primer bloque de 256 direcciones se utiliza para definir bloques especiales, de direcciones multicast bien conocidas. Estos no representan grupos arbitrarios de dispositivos y no se pueden asignar de esta manera. En su lugar, tienen un significado especial que permite a una fuente enviar un mensaje a un grupo predefinido. El cuadro 49 muestra algunas de las direcciones de multidifusión "conocidas":
Tabla 49: Direcciones multicast bien conocidas.
Clic para ampliar.

Nota:Hay algunos otros grupos predefinidos que se refieren también a los routers que usan protocolos de enrutamiento particulares, no me molesté enumerándolos a todos porque la tabla quedaría muy grande.

La entrega de tráfico de multidifusión IP es más compleja que el tráfico unicast debido a la existencia de varios destinatarios. En vez del método de resolución normal a través del protocolo ARP utilizado para datagramas unicast, se realiza un mapeo especial entre el grupo de multidifusión IP y un grupo de hardware de multidifusión.


Regresar al contenido
2.1.2.7- Problemas con el direccionamiento IP "classful".

El sistema de direccionamiento "classful" es el primer gran intento de definir un método universal para hacer frente de una gran interconexión de redes IP. El sistema tenía algunas ventajas, como he mencionado en el resumen, y dado que fue desarrollado hace décadas para una red que estaba limitada en tamaño, funcionó muy bien durante mucho tiempo.
Nadie esperaba que el Internet llegaría a algo cercano a su tamaño actual. A medida que creció, los problemas se manifiestan con el mecanismo de asignación de direcciones IP "classful" lentamente al principio, pero luego más rápidamente a medida que el crecimiento se hizo más rápido. He sugerido a algunos de los problemas en mi explicación de cómo funciona este tipo de direccionamiento, pero para ayudar a enmarcar la discusión de los nuevos tipos de direccionamiento, creo que es útil examinar esto con más detalle.

Resumen de los problemas del direccionamiento "classful".
Hay tres problemas principales con el sistema "classful", que son de alguna manera relativos entre sí (y los hace un poco más difícil de explicar). Vamos a empezar con un resumen rápido de lo que son estos problemas:

  1. La falta flexibilidad en el direccionamiento interno: A las grandes organizaciones se le asignan grandes bloques de direcciones "monolíticos" que no coinciden con la estructura de sus redes internas subyacentes. 
  2. Ineficiente uso de espacio de direcciones: La existencia de sólo tres tamaños de bloque (clases A, B y C) da lugar a pérdida de espacio de direcciones IP. 
  3. Proliferación de las entradas de la tabla del router: A medida que Internet crece, mas y mas entradas son necesarias en las tablas de los routers para manejar el enrutamiento de los datagramas IP, lo que causa problemas de rendimiento. El intento de reducir la asignación ineficiente del espacio de direcciones lleva aún a más entradas en la tabla del router.
Inflexibilidad de direccionamiento.
El problema #1 se debe principalmente al hecho de que en el sistema "classful", a las grandes empresas se les asigna un bloque de direcciones bastante grande (Clase B) o verdaderamente enorme (Clase A), todo lo cual es considerado por los routers de Internet una "red" única con un único "ID de red". Ahora, imagine que tiene una empresa de mediano a gran tamaño con 5.000 ordenadores, y se le asigna una dirección de clase B para la red. ¿Está seguro de que tiene 5.000 ordenadores todos conectados en una sola red? Espero que no! Sin embargo, se vería obligado a tratar de "meter" todo esto en una única dirección IP de "red" con el método "classful" original. No habría manera de crear una jerarquía interna de direcciones.

El principal problema con las clases: baja granularidad.
Los problemas # 2 y # 3 están más estrechamente relacionados entre sí que el número # 1 y ambos son el resultado del hecho de que la "granularidad" en el sistema "classful" es demasiado baja como para ser práctica en una Internet de gran tamaño. Con esto quiero decir que hay muy pocas opciones en los tamaños de las redes disponibles. Tres tamaños parece muy bien, en principio, pero las diferencias entre los tamaños son enormes, y los tamaños no coinciden del todo bien con la distribución de las organizaciones en el mundo real. Tenga en cuenta la diferencia de tamaño entre las redes de clase C y clase B - un salto de 254 hosts hasta más de 65.000! Hay muchas empresas, que necesitan más de 254 direcciones IP, pero mucho menos de 65.000. ¿Y qué hay con la clase A? ¿Cuántas empresas necesitan 16 millones de direcciones IP, incluso las verdaderamente grandes? Probablemente no, si se piensa en ello, pero ahí está la mitad del espacio de direcciones.
Teniendo en cuenta de nuevo nuestra empresa con 5.000 equipos, ¿qué clase de red debería usar? Como muestra la Figura 64, no hay una buena correspondencia para las necesidades de esta empresa en el sistema "classful". En el pasado, probablemente le hubiera sido asignada una red de clase B. Sin embargo, darle una clase B a una empresa con "sólo" 5.000 equipos significa más del 90% de las direcciones IP malgastadas. Cuando Internet era joven, esto no era gran cosa, pero a medida que crecía estas ineficiencias rápidamente comenzaron a ser significativas.
Figura 64: El principal problema con el direccionamiento "classful".
Clic para ampliar.
En este diagrama a escala, cada cuadrado representa 50 direcciones disponibles. Dado que una dirección de clase C tiene sólo 254 direcciones, y una clase B contiene 65.534 direcciones, una organización con 5.000 equipos queda "atrapada en medio". Sólo se puede elegir entre malgastar el 90 % de las direcciones de una clase B y usar 20 redes diferentes de clase C.

Tácticas para tratar con los problemas del direccionamiento "classful".
Estos temas fueron abordados a través de tres ampliaciones o mejoras que se discuten en otras secciones. La primera, que resuelve principalmente el primer problema, fue el desarrollo de subredes. La segunda fue el paso al direccionamiento y enrutamiento "classless", que sustituye el sistema "classful" con un nuevo método con mayor granularidad. Este aborda los problemas # 2 y # 3, dejando que las direcciones se asignen en función de las necesidades reales de las organizaciones sin necesidad de numerosas entradas en la tabla de enrutamiento para cada organización. La tercera mejora es la nueva versión seis del protocolo IP, que finalmente acaba con el hacinamiento del espacio de direcciones de 32 bits en favor de un gigantesco espacio de 128 bits.
Otras tecnologías de apoyo también han ayudado a extender la vida de IP versión 4. Hablé de uno importante en el tema anterior - el uso de direccionamiento privado en combinación con el IP Network Address Translation (NAT) para permitir que varios dispositivos compartan direcciones públicas. Esto solo ha añadido años a la vida del sistema de direccionamiento IPv4.