El enrutamiento entre dominios sin clases ( CIDR / ˈ s aɪ d ər , ˈ s ɪ -/ ) es un método para asignar direcciones IP para el enrutamiento IP . El Grupo de Trabajo de Ingeniería de Internet introdujo CIDR en 1993 para reemplazar la arquitectura de direccionamiento de red con clase anterior en Internet . Su objetivo era frenar el crecimiento de las tablas de enrutamiento en los enrutadores de Internet y ayudar a frenar el rápido agotamiento de las direcciones IPv4 . [1] [2]
Las direcciones IP se describen como compuestas de dos grupos de bits en la dirección: los bits más significativos son el prefijo de red , que identifica una red o subred completa , y el conjunto menos significativo forma el identificador de host , que especifica una interfaz particular de un host. en esa red. Esta división se utiliza como base para el enrutamiento del tráfico entre redes IP y para las políticas de asignación de direcciones.
Mientras que el diseño de red con clase para IPv4 dimensionó el prefijo de red como uno o más grupos de 8 bits, lo que dio como resultado bloques de direcciones de Clase A, B o C, en el marco de CIDR el espacio de direcciones se asigna a los proveedores de servicios de Internet y a los usuarios finales en cualquier dirección. límite de bits. En IPv6 , sin embargo, el identificador de interfaz tiene un tamaño fijo de 64 bits por convención, y nunca se asignan subredes más pequeñas a los usuarios finales.
CIDR se basa en el enmascaramiento de subred de longitud variable ( VLSM ), en el que los prefijos de red tienen una longitud variable (a diferencia del prefijo de longitud fija del diseño de red con clase anterior). El principal beneficio de esto es que otorga un control más preciso de los tamaños de las subredes asignadas a las organizaciones, lo que ralentiza el agotamiento de las direcciones IPv4 al asignar subredes más grandes de las necesarias. CIDR dio lugar a una nueva forma de escribir direcciones IP conocida como notación CIDR, en la que una dirección IP va seguida de un sufijo que indica el número de bits del prefijo. Algunos ejemplos de notación CIDR son las direcciones 192.0.2.0/24 para IPv4 y 2001 :db8:: / 32 para IPv6. Los bloques de direcciones que tienen prefijos contiguos se pueden agregar como superredes , lo que reduce la cantidad de entradas en la tabla de enrutamiento global.
Cada dirección IP consta de un prefijo de red seguido de un identificador de host . En la arquitectura de red con clase de IPv4 , los tres bits más significativos de la dirección IP de 32 bits definían el tamaño del prefijo de red para redes de unidifusión y determinaban la clase de red A, B o C. [3]
La ventaja de este sistema es que se puede determinar el prefijo de red para cualquier dirección IP sin necesidad de más información. La desventaja es que las redes generalmente eran demasiado grandes o demasiado pequeñas para que las usaran la mayoría de las organizaciones, porque solo había tres tamaños disponibles. El bloque de asignación y enrutamiento más pequeño contenía 2 8 = 256 direcciones, más grande de lo necesario para redes personales o departamentales, pero demasiado pequeño para la mayoría de las empresas. El siguiente bloque más grande contenía 2 16 = 65 536 direcciones, demasiado grande para ser utilizado de manera eficiente incluso por organizaciones grandes. Pero para los usuarios de la red que necesitaban más de 65 536 direcciones, el único otro tamaño (2 24 ) proporcionaba demasiadas, más de 16 millones. Esto condujo a ineficiencias en el uso de direcciones, así como en el enrutamiento, porque requería una gran cantidad de redes de clase C asignadas con anuncios de rutas individuales, estando geográficamente dispersas con pocas oportunidades para la agregación de rutas .
Una década después de la invención del sistema de nombres de dominio (DNS), se descubrió que el método de red con clases no era escalable . [4] Esto llevó al desarrollo de subredes y CIDR. Se abandonaron las distinciones de clases anteriormente significativas basadas en los bits de dirección más significativos y el nuevo sistema se describió como sin clases , en contraste con el antiguo sistema, que pasó a ser conocido como con clases . Se revisaron los protocolos de enrutamiento para transportar no solo direcciones IP, sino también sus máscaras de subred. La implementación de CIDR requirió que todos los hosts y enrutadores de Internet fueran reprogramados en pequeñas formas, lo que no es poca cosa en un momento en que Internet estaba entrando en un período de rápido crecimiento. En 1993, el Grupo de Trabajo de Ingeniería de Internet publicó un nuevo conjunto de estándares, RFC 1518 y RFC 1519, para definir este nuevo principio para asignar bloques de direcciones IP y enrutar paquetes IPv4. En 2006 se publicó una versión actualizada, RFC 4632. [5]
Después de un período de experimentación con varias alternativas, el enrutamiento entre dominios sin clases se basó en el enmascaramiento de subred de longitud variable (VLSM), que permite dividir cada red en subredes de varios tamaños de potencia de dos, de modo que cada subred pueda ser dimensionado adecuadamente para las necesidades locales. Las máscaras de subred de longitud variable se mencionaron como una alternativa en RFC 950. [6] Las técnicas para agrupar direcciones para operaciones comunes se basaron en el concepto de direccionamiento de clúster, propuesto por primera vez por Carl-Herbert Rokitansky. [7] [8]
La notación CIDR es una representación compacta de una dirección IP y su máscara de red asociada. La notación fue inventada por Phil Karn en los años 1980. [9] [10] La notación CIDR especifica una dirección IP, un carácter de barra diagonal ('/') y un número decimal. El número decimal es el recuento de 1 bits consecutivos (de izquierda a derecha) en la máscara de red. Cada 1 bit denota un bit del rango de direcciones que debe permanecer idéntico a la dirección IP dada. La dirección IP en notación CIDR siempre se representa según los estándares para IPv4 o IPv6.
La dirección puede indicar una dirección de interfaz específica (incluido un identificador de host , como 10.0.0.1/8 ), o puede ser la dirección inicial de una red completa (usando un identificador de host de 0, como en 10.0.0.0/8 o su equivalente 10/8 ) . La notación CIDR se puede utilizar incluso sin ninguna dirección IP, por ejemplo, cuando se hace referencia a / 24 como una descripción genérica de una red IPv4 que tiene un prefijo de 24 bits y números de host de 8 bits.
Por ejemplo:
En IPv4, la notación CIDR se utilizó ampliamente solo después de la implementación del método, que se documentó utilizando la especificación de máscara de subred decimal con puntos después de la barra, por ejemplo, 192.24.12.0 / 255.255.252.0 . [2] Describir el ancho del prefijo de red como un solo número ( 192.24.12.0 / 22 ) fue más fácil de conceptualizar y calcular para los administradores de red. Se incorporó gradualmente en documentos estándar posteriores [11] [12] y en interfaces de configuración de red.
El número de direcciones de una red se puede calcular como 2 longitud de dirección - longitud de prefijo , donde la longitud de la dirección es 128 para IPv6 y 32 para IPv4. Por ejemplo, en IPv4, la longitud del prefijo / 29 da: 2 32−29 = 2 3 = 8 direcciones.
Una máscara de subred es una máscara de bits que codifica la longitud del prefijo asociada con una dirección o red IPv4 en notación de cuatro puntos: 32 bits, comenzando con un número de 1 bits igual a la longitud del prefijo, terminando con 0 bits y codificado en formato decimal con puntos de cuatro partes: 255.255.255.0 . Una máscara de subred codifica la misma información que la longitud de un prefijo, pero es anterior a la llegada de CIDR. En notación CIDR, los bits de prefijo siempre son contiguos. RFC 950 [13] permitía que las máscaras de subred especificaran bits no contiguos hasta que RFC 4632 [5] : la Sección 2.1 establecía que la máscara debía dejarse contigua. Dada esta restricción, una máscara de subred y una notación CIDR cumplen exactamente la misma función.
CIDR es principalmente un estándar bit a bit basado en prefijos para la representación de direcciones IP y sus propiedades de enrutamiento. Facilita el enrutamiento al permitir que bloques de direcciones se agrupen en entradas únicas de la tabla de enrutamiento. Estos grupos, comúnmente llamados bloques CIDR, comparten una secuencia inicial de bits en la representación binaria de sus direcciones IP. Los bloques CIDR IPv4 se identifican mediante una sintaxis similar a la de las direcciones IPv4: una dirección decimal con puntos, seguida de una barra diagonal y luego un número del 0 al 32, es decir, abcd / n . La parte decimal con puntos es la dirección IPv4. El número que sigue a la barra diagonal es la longitud del prefijo, el número de bits iniciales compartidos, contando desde el bit más significativo de la dirección. Cuando se enfatiza sólo el tamaño de una red, generalmente se omite la parte de la dirección de la notación. Por tanto, un bloque /20 es un bloque CIDR con un prefijo de 20 bits no especificado.
Una dirección IP es parte de un bloque CIDR y se dice que coincide con el prefijo CIDR si los n bits iniciales de la dirección y el prefijo CIDR son iguales. Una dirección IPv4 tiene 32 bits, por lo que un prefijo CIDR de n bits deja 32 − n bits sin coincidir, lo que significa que 2 32 − n direcciones IPv4 coinciden con un prefijo CIDR de n bits determinado. Los prefijos CIDR más cortos coinciden con más direcciones, mientras que los prefijos más largos coinciden con menos. En el caso de bloques CIDR superpuestos, una dirección puede coincidir con varios prefijos CIDR de diferentes longitudes.
CIDR también se utiliza para direcciones IPv6 y la sintaxis semántica es idéntica. La longitud del prefijo puede variar de 0 a 128, debido a la mayor cantidad de bits en la dirección. Sin embargo, por convención, una subred en redes de capa MAC de transmisión siempre tiene identificadores de host de 64 bits. [14] Los prefijos más grandes (/127) solo se utilizan en algunos enlaces punto a punto entre enrutadores, por razones de seguridad y políticas. [15]
La Autoridad de Números Asignados de Internet (IANA) emite grandes bloques CIDR de prefijo corto para los registros regionales de Internet (RIR). Sin embargo, a / 8 (con más de dieciséis millones de direcciones) es el bloque más grande que asignará la IANA. Por ejemplo, 62.0.0.0/8 es administrado por RIPE NCC , el RIR europeo. Los RIR, cada uno responsable de un área geográfica única y grande, como Europa o América del Norte, subdividen estos bloques y asignan subredes a registros de Internet locales (LIR). Una subdivisión similar puede repetirse varias veces en niveles inferiores de delegación. Las redes de usuarios finales reciben subredes dimensionadas según sus necesidades proyectadas a corto plazo. Las recomendaciones del IETF alientan a las redes atendidas por un único ISP a obtener espacio de direcciones IP directamente de su ISP. Por otro lado, las redes atendidas por múltiples ISP pueden obtener espacio de direcciones independiente del proveedor directamente del RIR apropiado.
Por ejemplo, a finales de la década de 1990, www.freesoft.org utilizaba la dirección IP 208.130.29.33 (desde que fue reasignada). Un análisis de esta dirección identificó tres prefijos CIDR. 208.128.0.0/11 , un gran bloque CIDR que contiene más de 2 millones de direcciones, había sido asignado por ARIN (el RIR norteamericano) a MCI . Automation Research Systems (ARS), un VAR de Virginia , alquiló una conexión a Internet a MCI y se le asignó el bloque 208.130.28.0/22 , capaz de direccionar poco más de 1000 dispositivos. ARS utilizó un bloque / 24 para sus servidores de acceso público, de los cuales 208.130.29.33 era uno. Todos estos prefijos CIDR se utilizarían en diferentes ubicaciones de la red. Fuera de la red de MCI, el prefijo 208.128.0.0/11 se usaría para dirigir el tráfico de MCI destinado no solo a 208.130.29.33 , sino también a cualquiera de los aproximadamente dos millones de direcciones IP con los mismos 11 bits iniciales. Dentro de la red de MCI, 208.130.28.0/22 se haría visible, dirigiendo el tráfico a la línea arrendada que presta servicio a ARS . Sólo dentro de la red corporativa del ARS se habría utilizado el prefijo 208.130.29.0/24 .
En el uso común, la primera dirección en una subred, completamente cero binario en el identificador de host, se reserva para hacer referencia a la red misma, mientras que la última dirección, completamente uno binario en el identificador de host, se usa como dirección de transmisión para la red. ; esto reduce el número de direcciones disponibles para los hosts en 2. Como resultado, una red / 31 , con un dígito binario en el identificador del host, sería inutilizable, ya que dicha subred no proporcionaría direcciones de host disponibles después de esta reducción. RFC 3021 crea una excepción a las reglas "alojar todos los unos" y "alojar todos los ceros" para hacer que las redes / 31 sean utilizables para enlaces punto a punto. / Se debe acceder a 32 direcciones (red de host único) mediante reglas de enrutamiento explícitas, ya que no hay espacio en dicha red para una puerta de enlace.
En subredes enrutadas mayores que / 31 o / 32 , la cantidad de direcciones de host disponibles generalmente se reduce en dos, es decir, la dirección más grande, que se reserva como dirección de transmisión, y la dirección más pequeña, que identifica la red misma. [16] [17]
El gran tamaño de direcciones de IPv6 permitió el resumen de rutas a nivel mundial y garantizó suficientes grupos de direcciones en cada sitio. El tamaño de subred estándar para redes IPv6 es un bloque / 64 , que es necesario para el funcionamiento de la configuración automática de direcciones sin estado . [18] Al principio, el IETF recomendó en RFC 3177 como mejor práctica que todos los sitios finales reciban una asignación de dirección / 48 , [19] pero las críticas y la reevaluación de las necesidades y prácticas reales han llevado a recomendaciones de asignación más flexibles en RFC 6177 [ 20], lo que sugiere una asignación significativamente menor para algunos sitios, como un bloque / 56 para redes residenciales.
Esta referencia de subredes IPv6 enumera los tamaños de las subredes IPv6 . Los diferentes tipos de enlaces de red pueden requerir diferentes tamaños de subred. [21] La máscara de subred separa los bits del prefijo del identificador de red de los bits del identificador de interfaz. Seleccionar un tamaño de prefijo más pequeño da como resultado una menor cantidad de redes cubiertas, pero con más direcciones dentro de cada red. [22]
2001:0db8:0123:4567:89ab:cdef:1234:5678|||| |||| |||| |||| |||| |||| |||| |||||||| |||| |||| |||| |||| |||| |||| |||128 Puntos finales únicos y loopback|||| |||| |||| |||| |||| |||| |||| |||127 Enlaces punto a punto (entre enrutadores)|||| |||| |||| |||| |||| |||| |||| ||124|||| |||| |||| |||| |||| |||| |||| |120|||| |||| |||| |||| |||| |||| |||| 116|||| |||| |||| |||| |||| |||| |||112|||| |||| |||| |||| |||| |||| ||108|||| |||| |||| |||| |||| |||| |104|||| |||| |||| |||| |||| |||| 100|||| |||| |||| |||| |||| |||96|||| |||| |||| |||| |||| ||92|||| |||| |||| |||| |||| |88|||| |||| |||| |||| |||| 84|||| |||| |||| |||| |||80|||| |||| |||| |||| ||76|||| |||| |||| |||| |72|||| |||| |||| |||| 68|||| |||| |||| |||64 LAN única; tamaño de prefijo predeterminado para SLAAC |||| |||| |||| ||60 Algunas implementaciones sextas (muy limitadas) (/60 = 16/64 bloques)|||| |||| |||| |56 Asignación mínima de sitios finales; [20] por ejemplo, red doméstica (/56 = 256/64 bloques)|||| |||| |||| 52/52 bloques = 4096/64 bloques|||| |||| |||48 Asignación típica para sitios más grandes (/48 = 65536 /64 bloques)|||| |||| ||44|||| |||| |40|||| |||| 36 posibles futuras asignaciones extrapequeñas del registro local de Internet (LIR)|||| |||32 asignaciones mínimas LIR|||| ||28 asignaciones medianas LIR|||| |24 grandes asignaciones LIR|||| 20 asignaciones LIR extra grandes|||16||12 asignaciones de registros regionales de Internet (RIR) de la IANA [23]|84
Topológicamente, el conjunto de subredes descrito por CIDR representa una cobertura del espacio de direcciones correspondiente. El intervalo descrito por la notación corresponde numéricamente a direcciones de la forma (para IPv4) , donde los bits inferiores se establecen en 0. (Para IPv6 se sustituye 128). Para una red fija , el conjunto de todas las subredes constituye una partición , es decir, una cubierta de conjuntos no superpuestos. Al aumentar se obtienen subparticiones cada vez más finas. Por lo tanto, dos subredes están separadas o una es una subred de la otra.
CIDR proporciona agregación de prefijos de enrutamiento detallada . Por ejemplo, si los primeros 20 bits de sus prefijos de red coinciden, se pueden agregar dieciséis redes contiguas / 24 y anunciarlas en una red más grande como una entrada única en la tabla de enrutamiento / 20 . Esto reduce el número de rutas que deben anunciarse.
/24 es ciertamente más limpio que 255.255.255.0. Creo recordar que fue Phil Karn quien a principios de los 80 sugirió que expresar máscaras de subred como el número de bits desde el extremo superior de la palabra de dirección era eficiente, ya que las máscaras de subred siempre eran una serie de unos seguidos de ceros sin intercalaciones. que se incorporó (o se inventó de forma independiente) aproximadamente una década después como notación CIDR abcd/n en RFC1519.
En realidad, Brian tiene razón. Phil estaba muy adelantado a su tiempo. Pero no recuerdo que hablara de ello hasta finales de los 80.
Las redes IP también son etiquetas léxicas jerárquicas que utilizan la notación Classless Inter-Domain Routing (CIDR), pero su jerarquía no se determina fácilmente con una simple manipulación de texto; por ejemplo, 198.41.0.0/22 es parte de 198.41.0.0/16, que es parte de 198.40.0.0/15.
RFC 950 5.1
se invocó pero nunca se definió (consulte la página de ayuda ).{{cite journal}}
: Citar diario requiere |journal=
( ayuda ){{cite journal}}
: Citar diario requiere |journal=
( ayuda )