¿CIDR realmente "elimina" las clases de direcciones IP?

20

Todavía me cuesta entender hasta qué punto CIDR realmente hace que las clases de direcciones IP sean obsoletas. Esto es lo que entendí hasta ahora:

  1. Es ridículamente ineficiente (y también imposible) asignar a cada organización que necesita dirigirse a más de 255 hosts una dirección de clase B, que técnicamente podría abordar 65535 hosts.

  2. Sin embargo, si dicha organización necesitara direccionar, digamos, aproximadamente 700 hosts, uno podría asignar tres direcciones de red de clase C (preferiblemente contiguas) a esa organización. P.ej:

    192.42.42
    192.42.43
    192.42.44
    
  3. Problema: Para que una organización, routers tendrían que almacenar tres entradas en sus tablas de reenvío, que no escala.

  4. CIDR resuelve este problema mediante la introducción de resumen / agregación de ruta, permitiendo que el ISP que asignó las tres redes de clase C a la organización anuncie solo un prefijo al resto del mundo. P.ej,

    192.42.42.0/21
    

Hasta aquí todo bien. Sin embargo, no puedo entender por qué cada recurso que toco afirma que el direccionamiento con clase es "una cosa del pasado". Después de todo, el ISP está a cargo de, por ejemplo, las direcciones de red de clase C, y hace asignar estos a sus clientes. CIDR simplemente soluciona el problema de múltiples entradas en las tablas de reenvío, ¿verdad? Por lo tanto, las clases de direcciones IP todavía existen, ¿no es así?

El examen está por venir, por lo que la ayuda es muy apreciada. :PAG

Łukasz Bromirski
fuente
2
/ 21 es ocho redes de "clase c".
Peter
55
Estoy tentado a decir que es cosa del pasado porque se refiere a IPv4
Hagen von Eitzen
@HagenvonEitzen Me siento tentado a señalar que eso es completamente falso en la realidad práctica.
Lightness compite con Monica
2
Es cosa del pasado porque 1993 fue hace 22 años. Vea RFC 1517, 1518, 1519. No confíe en ningún recurso que afirme que las direcciones con clase son relevantes hoy en día o las trata como algo más que curiosidades históricas.
Michael Hampton

Respuestas:

22

La delegación de direcciones realmente solía ocurrir en tres tamaños: las delegaciones de clase A, B y C. Las delegaciones de clase A se darían desde un cierto rango de direcciones, las delegaciones de clase B de un rango diferente, etc. Debido a que las diferentes clases usan diferentes rangos de direcciones, puede determinar clase mirando la primera parte de una dirección. Y esto se incorporó a los protocolos de enrutamiento.

  • Las delegaciones de clase A contenían 16777216 direcciones cada una
  • Las delegaciones de clase B contenían 65536 direcciones cada una
  • Las delegaciones de clase C contenían 256 direcciones cada una

Esto fue muy ineficiente para las redes que no se ajustaban a estos tamaños. Una red que necesitara 4096 direcciones obtendría dieciséis delegaciones de Clase C (lo que sería malo para la tabla de enrutamiento global porque cada una de ellas tendría que enrutarse por separado: el tamaño de la clase se incorporó al protocolo) o obtendrían una Clase B delegación (que desperdiciaría muchas direcciones).

En 1993 se introdujo el CIDR. Los protocolos se ajustaron para poder manejar prefijos de diferentes tamaños y se hizo posible enrutar prefijos (tanto internos como externos) como a / 30 o a / 21 o a / 15, etc., etc. Todo entre / 0 y / 32 se convirtió en posible. Las organizaciones que necesitaban 2048 direcciones podrían obtener un / 21: exactamente lo que necesitarían.

La forma en que podía subdividir internamente esas direcciones también era limitada. Había reglas sobre cómo podría subredes. Originalmente, cada subred dentro de su red con clase tenía que ser del mismo tamaño. Necesita una subred con 128 direcciones y otra subred con 16 direcciones: lástima.

La máscara de subred de longitud variable (VLSM) es el equivalente de red interna de CIDR. VLSM ha existido más tiempo que CIDR. Ya se mencionó en 1985. Por lo tanto, CIDR básicamente está extendiendo VLSM al enrutamiento entre dominios. Con VLSM, sus subredes ya no tienen que ser del mismo tamaño. Puede asignar un número diferente de direcciones para cada subred, según sus necesidades.

En estos días, todo el enrutamiento en Internet se realiza sin clases. Un prefijo en la tabla de enrutamiento podría coincidir (o debido al historial) con la estructura con clase, pero los protocolos ya no asumirán que pueden deducir la longitud del prefijo (máscara de subred) de la primera parte de la dirección. Todas las longitudes de prefijo se comunican explícitamente: sin clase.

Decir que un ISP está a cargo de una red de Clase C es igualmente obsoleto. Las direcciones son distribuidas completamente sin clases por los RIR ( Registros Regionales de Internet , las organizaciones responsables de delegar direcciones a ISP y empresas con sus propias direcciones independientes).

Las clases de direcciones IPv4 realmente ya no existen, y han quedado en desuso en 1993. Si observa los antiguos protocolos de enrutamiento obsoletos, por supuesto, todavía puede ver las suposiciones basadas en la clase de dirección, pero eso fue hace 20 años ...

Sander Steffann
fuente
1
Estas "reglas" eran limitaciones de los protocolos de enrutamiento. Todas sus redes tienen que ser del mismo tamaño porque el protocolo de enrutamiento no llevaba una máscara de red. (por ejemplo, RIPv1, IGRP)
Ricky Beam
1
Sí, eso es lo que dije. Llevar longitud de prefijo en los protocolos de enrutamiento es cómo se implementan VLSM y CIDR
Sander Steffann
No están "adivinando en función de la dirección", están aplicando una máscara de red de interfaz local a toda la clase. P.ej. Si tiene una interfaz 10.0.0.5/24, todo en 10/8 será a / 24.
Ricky Beam
1
Ese es el bit VLSM. La parte con clase era que supondrían que todas las direcciones que comienzan con 10 pertenecían juntas. El bit anterior a VLSM supondría que debido a que la interfaz local era un / 24, cada subred en 10/8 sería un / 24. Tanto el / 24 como el / 8 son supuestos en estos días. Cada subred puede tener un tamaño diferente, y no hay forma de determinar dónde está el límite agregado.
Sander Steffann
1
Además de lo que se ha dicho, los primeros bits de la dirección IP determinaron la clase de dirección. Primer bit 0 = clase A, primeros dos bits 10 = clase B, primeros tres bits 110 = clase C, etc. Ver también en.wikipedia.org/wiki/…
un CVn
29

direccionamiento con clase es "una cosa del pasado".

Esto es cierto porque nada en Internet moderno hace direccionamiento con clase [1] . Con direccionamiento con clase, la máscara de red es un valor fijo basado en la dirección. En su ejemplo, no puede "fusionar" tres rangos de clase C para tener 700 hosts en una LAN. La máscara de red para cada rango es automáticamente de 24 bits.

CIDR arregló esto al abolir las reglas por las cuales la dirección dicta la máscara. Por lo tanto, una LAN puede ser de cualquier tamaño.

Usted (y muchas otras personas) todavía están obsesionados con las palabras "Clase C", "Clase B" y "Clase A". Esas construcciones ya no existen; y no lo han hecho por décadas. Lo que las personas quieren decir cuando usan el término es el tamaño de la máscara de red de 24, 16 y 8 respectivamente. No significan que se está aplicando la semántica de clase.

[1] 10.0.0.1/24 es una configuración no válida en un sistema con clase.

Ricky Beam
fuente
1
Creo que Windows todavía usa la clase de IP de la dirección como la máscara predeterminada.
Taemyr
2
Sí, pero no es específicamente con clase. Solo está aplicando un CIDR predeterminado. En ningún lugar requiere o especifica Microsoft la clase de dirección IP '
Mike McMahon
@Taemyr No es solo Windows. Linux ha derivado la máscara predeterminada de los primeros bits de la dirección durante muchos años. Este sigue siendo el caso con Ubuntu 14.04. Pero es solo un valor predeterminado, que la mayoría de las veces debe anularse con un valor diferente.
kasperd
15

El direccionamiento con clase solo admite 3 máscaras para unidifusión: / 8, / 16 /, / 24.

CIDR permite que la máscara sea cualquier valor de / 0 a / 32.

Piense en una serie punto a punto: eso habría desperdiciado una clase C / 24 (256 xIP) con una configuración con clase antes; con CIDR solo necesita / 30 (4 xIPs) o / 31 (2 xIPs).

La mayoría de los ISP ahora solo asignarán un / 28 a un cliente que proporcione 14 IP, o incluso menos.

Los dos modos de operación no son compatibles, ya que uno (con clase) adivina la máscara de la IP y el otro (CIDR) la especifica con precisión.

Vea el artículo de Wikipedia "Red con clase" .

Pieter
fuente
Gracias por dedicar tiempo a escribir una respuesta. Sin embargo, no veo cómo su respuesta se relaciona con mi pregunta de ninguna manera.
55
Su respuesta es acertada. Cuando comprenda la diferencia entre sin clase y con clase, la respuesta tendrá sentido.
Ricky Beam
@baerenfaenger Aquí está su pregunta tal como la entendí: "Simplemente no puedo entender por qué ... el direccionamiento con clase es" una cosa del pasado "... CIDR simplemente soluciona el problema de las entradas múltiples en las tablas de reenvío, a la derecha "Por lo tanto, las clases de direcciones IP todavía existen, ¿no es así?"
Pieter
Sin embargo, en IPv4, la subred a / 31 no puede contener ninguna dirección IP, 0 es Ambos están reservados para la ID de la red en sí y la transmisión a la red.
monstruo de trinquete
2
@ratchet freak excepto por enlaces ptp, allí no necesitas una transmisión ip, y puedes salirte con / 31 ver tools.ietf.org/html/rfc3021
Pieter
5

Como muchas respuestas ya explican, las clases son cosa del pasado porque no permiten máscaras de subred que no sean / 8, / 16 y / 24.

Estas máscaras de subred específicas siguen siendo muy populares, especialmente / 24, porque son las más fáciles para nosotros los humanos. Para estas máscaras, el final de la parte de subred de la dirección se alinea con un punto en la dirección IP (punto-decimal). Por lo tanto, es visualmente claro si dos direcciones IP están en la misma subred o no, no se requieren cálculos.

Esta es la razón por la cual los términos de clase A, B y C se mantienen, todavía se alinean con las máscaras de subred más comunes. Pero ya no tienen sentido, y decir 10.11.12.0/24 es una clase C es simplemente incorrecto. El primer octeto de una clase C fue, por definición, entre 192 y 223.

Gerben
fuente
2

En el enrutamiento con clase , la máscara de red está implícita en los bits superiores de la dirección y no se almacena en las tablas de enrutamiento; la clase es una propiedad de cada dirección, no solo de la topología de enrutamiento. Una red de clase C no puede ser un subconjunto de una red de clase B, porque los bits superiores no pueden coincidir con ambos.

Su organización hipotética con 3 redes de Clase C tendría que prestar atención a qué computadoras obtuvieron direcciones en cuáles de las 3 redes. Con el enrutamiento CIDR, pueden usar una máscara de red que permite que todas sus computadoras estén en la misma subred.

ShadSterling
fuente
1

El único lugar en el que he visto un comportamiento con clase real en los últimos años es en el protocolo de túnel punto a punto. PPTP Muchos considerarían que esto es obsoleto en sí mismo, pero ciertamente todavía hay mucho en uso.

Cuando el cliente se conecta a un servidor, el túnel obtiene una ruta predeterminada o una ruta a la red con clase del servidor. https://technet.microsoft.com/en-us/library/cc779919%28v=ws.10%29.aspx

Tenía algunas redes donde esto era realmente un problema, tan recientemente como 2016.

Creo que hay soluciones alternativas con DHCP y varios scripts adicionales, y de hecho para rutas en la otra dirección. Si es posible, use un protocolo de túnel diferente que tenga mejor soporte para rutas.

Saludos cordiales,

Jonathan

jonathanjo
fuente
0

Como describió correctamente, el direccionamiento con clase no es eficiente en comparación con el direccionamiento sin clase, ya que muchas direcciones IP permanecen desperdiciadas dentro de las subredes con el direccionamiento con clase.

Simplemente no puedo entender por qué cada recurso que toco afirma que el direccionamiento con clase es "una cosa del pasado"

Es cierto que las IP pueden manejar una red de clase C, pero esto no es cierto para todos los ISP. Además, en la era anterior, el direccionamiento con clase se usaba en todas las subredes (incluso para subredes domésticas o subredes corporativas), donde hoy en día solo se utiliza el direccionamiento sin clase (si no es NAT).

Esta es la razón por la cual el direccionamiento con clase es cosa del pasado.

Dimos
fuente