IPv4 Privadas

      Comentarios desactivados en IPv4 Privadas

Aún a pesar de que esto parece básico y se debería saber, muchas veces no se tiene en cuenta o no se está presente en acciones de troubleshooting de enrutamiento e incluso de implementación de soluciones de conectividad basadas en redes de area local. No ha sido una vez, sino varias, que me he encontrado direccionamiento público en la red de una empresa, causando estragos en algunos casos muy puntuales, y direccionamiento privado en redes de operador mal empleadas en el servicio al usuario final.

No voy a enredarme demasiado, pues para quien quiera puede leerse la RFC1819 al completo, pero el tema tiene su tela y para los menos puestos, indico los aspectos clave para entender este tema y aplicarlo correctamente. Ahora, si eres un entendido del tema y la memoria te ha fallado, vete directamente al final.

1. Antecedentes. Las redes IP habituales utilizan el llamado direccionamiento IPv4, que se caracteriza por utilizar un total de 32 bits en su cabecera de dirección. Cuando hablamos de dirección, no es ni más ni menos que un punto de destino en toda su cadena de enrutamiento, es decir, que existe un máximo de 32^2 direcciones posibles en toda la red, con la recalcada particularidad de que cada dirección es única, asignable, y no pueden existir dos iguales de manera simultánea.

2. La causa. Con motivo del crecimiento de accesos a internet a lo largo del tiempo, el número de direcciones asignadas a estos usuarios se acercaba considerablemente al número de direcciones posibles, agotando la posibilidad de de ofrecer direcciones IP a todos los dispositivos.

3. Las soluciones. Soluciones, digamos, temporales, aunque a largo plazo, puesto que parece que la solución definitiva es IPv6, se idearon maneras para reducir este impacto en la ocupación y disponibilidad de direcciones, y entre otras cosas una de ellas fue establecer dos tipos de redes IP: la pública y la privada, las cuales tienen un tratamiento especial en cuanto a su función pero no en cuanto a su implementación técnica. Paso a explicar.

Conceptos previos:

1. El direccionamiento con clases y sin clases, trata de precisamente clasificar y agrupar los tipos de direcciones de una manera conceptual, para globalizar las redes con un simple vistazo a su expresión decimal (bits… 1000000, decimal, 128…). Pero existen, y se clasifican según la distribución de bits en el primer octeto de bits de la dirección IP. Concretamente, según la ubicación de donde se encuentra el primer 0 (cero), nos vamos a encontrar direcciones de clase:

  • Clase A, con una distribución de bits en 0xxx… y por ende su representación decimal será de 0.x.x.x a 127.x.x.x
  • Clase B, con una distribución de bits en 10xx… y por ende su representación decimal será de 128.x.x.x a 191.x.x.x
  • Clase C, con una distribución de bits en 110x… y por ende su representación decimal será de 192.x.x.x a 223.x.x.x
  • Clase D, con una distribución de bits en 111x… y por ende su representación decimal será de 224.x.x.x a 239.x.x.x
  • Y así sucesivamente, pero no especificaremos más puesto que su uso fue reservado para fines no comunes

2. Las redes IP clasificadas. Ocurre, que el direccionamiento con clases se usa para clasificar redes globales, con máscara de red específica para la clase de la red. La necesidad de tener una máscara viene por la necesidad de poder ser enrutada de una manera eficiente y con pocos recursos de procesamiento y memoria. Es decir, que cada dirección va a pertenecer a una red, y mediante clases, estas redes están globalmente clasificadas en redes.

En este sentido, y sabiendo que este tema que llamamos subnetting merece otro post diferente, es necesario mencionar que cualquier red de clase A tendrá una máscara de longitud /8 (255.0.0.0), una red de clase B tendrá una máscara de longitud /16 (255.255.0.0) y una red de clase C tendrá una máscara de longitud /24 (255.255.255.0). La clase D, son direcciones multicast de las cuales con un poco de tiempo hablaré para que se comprenda su uso.

Es fácil, por error casi de concepto de clase de red más que por desconocimiento del funcionamiento del protocolo IP, escuchar hablar de una dirección 10.x.x.x/24 tomada como una clase C. De entrada ya insisto que esto es un error, puesto que es mezclar peras con manzanas. Las clases son clases y el subnetting es subnetting.

Llegados a este punto, ya podemos hablar de direcciones privadas con la esperanza de que cualquier persona que ha llegado aquí por motivos técnicos o académicos entienda lo que significa de verdad, pues como decía al principio, me he encontrado verdaderas aberraciones en el uso del direccionamiento público en redes empresariales y del privado en redes de operadoras.

Tenemos tres grupos de direcciones privadas:

  • En la clase A, la red 10.0.0.0/8 completa es direccionamiento privado
  • En la clase B, las redes 172.16.0.0/16 hasta la 172.31.0.0/16 (o lo que es lo mismo, 172.16.0.0/12), son direccionamiento privado
  • En la clase C, las 255 redes 192.168.0.0/24 hasta 192.168.255.0/24 (o lo que es lo mismo, 192.168.0.0/16).

Bien, pues estas direcciones privadas tienen las mismas caracteristicas que las direcciones públicas, pero son privadas por convención, para solventar temporalmente el problema de asignación y disponibilidad que hablabamos antes, otorgando el libre uso para usos internos a todo usuario, entidad, empresa, y operadora, pero está prohibido su enrutamiento en la red pública. Es decir, que estos grupos de direcciones son los que están reservados para que todo administrador de una red, de las dimensiones que sea la red, lo use para comunicar sus dispositivos en su red privada. Una vez se sale de la red privada, la comunicación se realizará mediante direcciones públicas, que son el resto. Ningún operador va a dar una dirección privada para el servicio en internet. En cambio si que las vamos a encontrar en nuestras casas, comunicando nuestros PCs y nuestro router.

Esto quiere decir que:

1. Todas las direcciones IP son enrutables, pero no todas se deben enrutar en cualquier sitio. Las privadas son para uso interno, y nunca deben ser enrutadas en la red pública (Para las operadoras, por favor, ayudaría que filtrarais bien los saltos internos… en muchas ocasiones causan estragos).

2. Las direcciones privadas las asigna el usuario o cliente, no el operador telefónico, y están a nuestra entera disposición.

3. Que nuestra(s) dirección(es) IP pública(s) es(son) única(s) en todo el mundo. Sin lugar a dudas. Cualquier anomalía al respecto se trata de una incidencia o de un fallo de seguridad.

4. Por protocolo, nos podemos encontrar las mismas direcciones IP en diferentes sitios, pero siendo redes completamente independientes y no comunicadas o visibles entre sí. El ejemplo más claro es nuestra casa, y la de nuestro hermano, vecino, primo, etc (habitualmente con la 192.168.1.0/24) Si existe o tiene que existir comunicación entre estas redes con el mismo direccionamiento IP, se ha de realizar mediante NAT, puesto que las direcciones IP no se pueden repetir dentro de la misma red privadamente enrutada.

5. Que si usamos direccionamiento público en nuestra red interna sin que dicho direccionamiento lo administremos nosotros por asignación, el día que necesitemos de un servicio externo (una web, un repositorio de linux, o un servicio de correo mismamente) que use ese direccionamiento, va a tocar preparar una RFC (cambio) de gran magnitud 😀

Así pues, espero que estas explicaciones ayuden a comprender mejor por qué de unas u otras direcciones IP, y a dar el correcto uso y a trabajar sin problemas en nuestros despliegues y nuestras redes administradas.