VLSM – Variable Length Subnet Mask

Anuncio
VLSM – Variable Length Subnet Mask
Router B
Router D
Router A
Router C
• La red 11.0.0.0/8 primero se configura con prefijo extendido de red /16. La subred
11.1.0.0/16 se configura con un prefijo de red extendido /24 y la subred
11.253.0.0/16 se configura con un prefijo de red extendido /19.
• División recursiva. El proceso recursivo no requiere la asignación del mismo
prefijo extendido de red en cada nivel de la recursión y puede concretarse según
las necesidades con las que se enfrente el administrador.
VLSM – Variable Length Subnet Mask
• Agregado de rutas. El router D puede resumir las 6 subredes que están por
detrás de él en un único aviso (11.1.253.0/24). El router B puede agregar todas las
subredes detrás del mismo en un único anuncio. El router C puede juntar las 6
subredes detrás de él en el aviso (11.253.0.0/16). Dado que la estructura de
subredes no es visible fuera de la organización, el router A inyecta una única ruta
sobre la tabla de ruteo de la Internet global: 11.0.0.0/8 (o 11/8).
VLSM – Previsiones y propósito
• Una asignación bien planeada de VLSM puede reducir el tamaño de las tablas de
ruteo de la organización.
• Al desarrollar un diseño VLSM se deben realizar una serie de preguntas en cada
nivel de recursión:
1) Cuántas subredes en total precisa este nivel en la actualidad?
2) Cuántas subredes en total precisará este nivel en el futuro?
3) Cuántos hosts existen en la actualidad?
4) Cuántos hosts habrá en el futuro?
• Se sigue un modelo jerárquico. Por ejemplo, el top level lo puede determinar el
número de campus, el nivel medio el número de edificios en cada sitio y el nivel
más bajo el número máximo de subredes/número máximo de usuarios por subred
en cada edificio.
• Finalmente las direcciones de cada sitio deberán ser agregadas en un único
bloque y esto evita que las tablas de ruteo del backbone se agranden demasiado.
VLSM – Requerimientos protocolos.
• Los protocolos de ruteo deben ser capaces de llevar información del prefijo de
red extendido en cada anuncio de ruta. Los protocolos de ruteo modernos, tales
como OSPF, permiten el desarrollo de VLSM pues llevan el prefijo de red
extendido o máscara junto con cada anuncio de ruta.
• Lo mínimo necesario entonces es seleccionar OSPF ó I-IS-IS como Interior
Gateway Protocol (IGP) en vez de RIP-1.
• RIP-2 permite agregar información de prefijo en los mensajes, con lo cual se
podría utilizar para VLSM.
• De este modo cada subred se anuncia con su correspondiente máscara. Si el
protocolo de ruteo no puede entregar esta información, cualquier router tendría que
suponer que se debería aplicar la longitud de prefijo que tenga configurada
localmente o realizar una búsqueda en una tabla de prefijos configurada
estáticamente y que contenga toda la información requerida de las máscaras. La
primera opción por supuesto no garantiza la aplicación del prefijo correcto y la
segunda no es una solución escalable por cuestiones de mantenimiento.
VLSM – Ruteo Longest Match
•
Todos los routers deben poder implementar un algoritmo de re-envío consistente
con ¨longest match¨.
•
El desarrollo de VLSM significa que el conjunto de redes asociadas con prefijos de
red extendidos puede manifestar una relación de subconjunto.
•
Una ruta con un prefijo más largo, describe un conjunto más pequeño de destinos
que la misma ruta con un prefijo de red más corto. Como resultado de esto, una
ruta con prefijo más largo, se dice que es más específica mientras que aquella con
un prefijo más corto es menos específica.
•
Los routers deben usar la ruta con el prefijo de red mayor (más específico) al reenviar el tráfico.
•
Por ejemplo, si la dirección destino del paquete IP es 11.1.2.5 y existen tres
prefijos de red en la tabla de ruteo, (11.1.2.0/24, 11.1.0.0/16, y 11.0.0.0/8), el router
seleccionaría la ruta a 11.1.2.0/24 por que su prefijo tiene el mayor número de bits
coincidentes con la dirección destino IP.
VLSM – Ruteo Longest Match
•
Destination 11.1.2.5 = 00001011.00000001.00000010.00000101
Route #3 11.0.0.0/8 = 00001011.00000000.00000000.00000000
Route #2 11.1.0.0/16 = 00001011.00000001.00000000.00000000
Route #1 11.1.2.0/24 = 00001011.00000001.00000010.00000000 *
•
OJO: Dado que la dirección destino se puede adaptar a las tres rutas, debe
asignarse a un host que se encuentre en 11.1.2.0/24.
•
Si 11.1.2.5 fuese asignada a un host en las subredes 11.1.0.0/16 o 11.0.0.0/8, el
sistema de ruteo no ruteará nunca tráfico al host dado que el algoritmo "longest
match" supone que ese host es parte de 11.1.2.0/24.
•
Esto significa que debe tenerse mucho cuidado al asignar direcciones a los hosts
para asegurarse que cada uno de ellos sea accesible.
VLSM – Significado topológico
•
La asignación de direcciones debe tener significado topológico para sea posible el
agregado de rutas.
•
Dado que OSPF e I-IS-IS llevan la información de prefijo extendido en cada ruta,
las subredes VLSM pueden dispersarse a través de la topología de la
organización.
•
Sin embargo, el soporte de ruteo jerárquico y la reducción de las tablas de ruteo de
la organización, exigen que la asignación de direcciones tenga un significado
topológico.
•
El ruteo jerárquico requiere que las direcciones se asignen de tal manera de
reflejar la topología real. Esto reduce la cantidad de información de ruteo al tomar
el conjunto de direcciones asignadas a una región particular de la topología y
agregarlas en un único aviso de ruta.
•
El ruteo jerárquico permite realizar esto de manera recursiva en varios puntos
dentro de la jerarquía de la topología de ruteo. Si las direcciones no tienen
significado topológico no puede realizarse la agregación ni reducirse el tamaño de
las tablas.
VLSM – Ejemplo
•
Ejemplo 1: Se ha asignado a una organización el número de red 140.25.0.0/16 y
los administradores planean desarrollar VLSM. La figura provee un gráfico del
diseño
VLSM – Ejemplo
•
•
•
•
Dividir la red base en 16 bloques iguales => /20 => Cada una representa un
espacio contiguo de 212 direcciones = 4096
Dividir la subred #1 en 32 bloques iguales => /25
Dividir la subred #14 en 16 bloques iguales => /24
Dividir la subred #14-14 en 8 bloques iguales =>/27
VLSM – Ejemplo
•
Subnet #1 140.25.16.0/20 se divide en 32 subredes, c/u con 27 direcciones
•
•
•
•
•
•
•
•
•
•
•
Subnet #1-0 140.25.16.0/25
Subnet #1-1 140.25.16.128/25
Subnet #1-2 140.25.17.0/25
Subnet #1-3 140.25.17.128/25
Subnet #1-4 140.25.18.0/25
Subnet #1-5 140.25.18.128/25
Subnet #1-6 140.25.19.0/25
Subnet #1-7 140.25.19.128/25
..................................................
Subnet #1-30 140.25.31.0/25
Subnet #1-31 140.25.31.128/25
•
¿Qué pasa cuando llega un paquete para un host de la Subnet #1-30? Por
ejemplo para el primero => 140.25. 0001 1111. 0000 0001, es decir la IP es
140.25.31.1/25.
En el primer ROUTER la Máscara /16 => 140.25.0.0/16 => lo toma.
Para sacarlo aplica /20 => 140.25.16.0/20 => Subnet #1.
En el segundo ROUTER la Máscara /25 => 140.25.31.0/25 => Subred #1-30.
•
VLSM – Ejemplo
•
Veamos las direcciones de hosts que se pueden asignar a la Subred#3
(140.25.48.0/20). El campo de número de host contiene 12 bits, (4.094 direcciones
válidas, 212-2). La dirección de broadcast es 10001100.00011001.0011
1111.11111111 = 140.25.63.255
VLSM – Ejemplo
•
Ahora hay que dividir la Subnet #14 en 16 bloques iguales. Como 16 = 24, se
requieren 4 bits más , o sea una máscara /24.
•
Y el espacio de direcciones de host asignado a la Subnet#14-3:
VLSM – Ejemplo
•
La Subnet #14-14 se debe subdividir en 8 bloques iguales. Como 8 = 23, se
precisan 3 bits más para identificar estas 8 subredes, o un prefijo /27.
•
Las direcciones de host de la Subnet #14-14-2:
CIDR – Classless Inter-Domain Routing
•
El problema del vaciamiento del espacio de direcciones IP se genera pues en los
comienzos de la gran red cuando fueron asignadas la mayoría de las direcciones
clase A y B, quedando sólo disponible direcciones clase C. El vaciamiento de
direcciones clase B es un problema para la asignación de espacio en el caso de
organizaciones de mediano tamaño para las que una dirección clase C con un
máximo de 254 hosts es demasiado poco, mientras que una dirección clase B con
65.534 hosts es mucho más que suficiente. Por otra parte la asignación de varias
direcciones clase C a este tipo de organizaciones desemboca en el problema de
un aumento dramático en el tamaño de las tablas de ruteo.
•
Para salvar estas dificultades la RFC 1519 formuló una estrategia que imponía
reglas para la asignación del espacio de direcciones de Internet y el agregado de
rutas, de tal manera que juntos se complementaran. La idea básica consistió en
asignar 1 ó más bloques clase C a cada proveedor y que éste repartiera el bloque
entre sus clientes para que a cada uno le correspondiera un subconjunto del
espacio reconocible por su máscara. De este modo, los clientes de un determinado
proveedor serán ruteados vía ese proveedor y su infraestructura. El costo técnico
del proyecto recae en la implementación de protocolos de ruteo interdominio sin
clases (Classless InterDomain Routing, CIDR).
CIDR – Supernetting
• La RFC 1519 data de septiembre de 1993 y realiza un análisis muy interesante de la
proyección del crecimiento de las tablas de ruteo. Por ejemplo, para enero de 1992
una tabla de ruteo default-free de un router del backbone NSFNET contenía unas
4.700 entradas, número que se venía duplicando cada 10 meses en los últimos 3
años. De este modo el crecimiento proyectado para los siguientes dos años generaba
una tabla con 30.000 entradas.
• CIDR se adoptó para ayudar a facilitar la carga impuesta sobre internet y routers de
backbones por el crecimiento de las tablas de ruteo. Esta carga representa mayores
requerimientos de memoria por el tamaño creciente de las tablas de ruteo, y también
un incremento en el costo de operación ya que el ancho de banda disponible se
comparte con mensajes más grandes de protocolos de ruteo. La respuesta a este
problema se conoció como supernetting por que se relaciona con un esquema de
agregado de redes (sus direcciones deben ser contiguas) y su aplicación implicaba
cambios en los protocolos de ruteo y en la manera de interpretar la información de
ruteo.
CIDR – Notación
• CIDR especifica un rango de direcciones IP mediante una combinación de una
dirección IP y su máscara de red asociada: xxx.xxx.xxx.xxx/n.
• Por ejemplo 192.168.12.0/23 aplica la máscara 255.255.254.0 a la red 192.168
comenzando en 192.168.12.0. O sea que la notación representa el rango
192.168.12.0 - 192.168.13.255.
• Comparado con el direccionamiento tradicional basado en clases, representa el
agregado de dos subredes Clase C: 192.168.12.0 y 192.168.13.0, cada una con una
máscara de subred 255.255.255.0.
• En otras palabras: 192.168.12.0/23 = 192.168.12.0/24 + 192.168.13.0/24.
• Adicionalmente CIDR soporta Asignación de direcciones Internet y ruteo de
mensajes independiente de la clase tradicional de un dado rango de direcciones IP.
Por ejemplo, 10.4.12.0/22 representa el rango de direcciones 10.4.12.0 - 10.4.15.255
(máscara 255.255.252.0). Se asigna el equivalente a 4 Clases C, dentro de un
espacio mucho mayor como lo es la clase A.
• La notación también se usa en espacios no CIDR: 10.0.0.0/8, 172.16.0.0/16,
192.168.3.0/24
CIDR – Notación
•
En el esquema de direcciones sin clase, la parte de red de la dirección IP puede
comprender cualquier número de bits, alejándose de este modo de los límites
impuestos por el esquema clásico de clases. Por este motivo la representación de
una dirección sin clase es de la forma a.b.c.d/n, donde n es el número de bits que
ocupa la identificación de red dentro de la dirección.
•
Así, en el caso de asignación de direcciones, si una organización solicita una
dirección de red para un conjunto de 1000 máquinas, se le podría asignar un
bloque de 1024 direcciones y su notación sería a.b.c.d/22 ya que los primeros 22
bits corresponderían a la máscara de red y los últimos 10 bits a las direcciones de
hosts. También se permitiría usar un esquema de subnetting dentro de los bits de
hostid. De este modo el uso del esquema de direcciones es más eficiente aunque
el ruteo de los paquetes se complica un poco.
CIDR – VLSM y Ruteo Longest Match
• El primer cambio que proponía esta RFC era borrar el concepto de clases y usar
VLSM. También requería representar los destinos de ruteo como pares red/máscara y
efectuar el ruteo sobre una base que denominaron longest-match.
• Otro concepto fundamental es el de agregado de direcciones: varias redes pueden ser
representadas en una sola entrada en la tabla de ruteo. Por ejemplo, si un router
necesita rutear tráfico para 8 redes (01000010. 01100100. 00110010. 00000000 a
01000010. 01100100. 00110010. 11100000) a través del mismo gateway (194.1.1.1), sin
CIDR la tabla de ruteo precisaría mantener 8 entradas separadas para cada una de las
8 redes.
ip route 66.100.50.0 255.255.255.224 194.1.1.1
ip route 66.100.50.32 255.255.255.224 194.1.1.1
ip route 66.100.50.64 255.255.255.224 194.1.1.1
ip route 66.100.50.96 255.255.255.224 194.1.1.1
ip route 66.100.50.128 255.255.255.224 194.1.1.1
ip route 66.100.50.160 255.255.255.224 194.1.1.1
ip route 66.100.50.192 255.255.255.224 194.1.1.1
ip route 66.100.50.224 255.255.255.224 194.1.1.1
CIDR – Agregado de rutas
• Al ser contiguas las 8 redes del ejemplo (o sea sus espacios de direcciones se
siguen numéricamente, sin ausencias), se pueden encapsular las 8 en una única ruta
simplemente cambiando la máscara:
ip route 66.100.50.0 255.255.255.0 194.1.1.1
• La mejora es la diferencia en la cantidad de entradas en la tabla.
• Debido a CIDR, la notación de dirección IP 66.100.50.0 255.255.255.0, ahora será
66.100.50.0/24
CIDR. Bloques de Direcciones
CIDR permite el agrupamiento de direcciones y, de este modo, facilita el ruteo
ya que permite agrupar bloques de direcciones en una sola entrada en las
Tabla de Ruteo.
Los Bloques CIDR, comparten una misma secuencia inicial de bits en la
representación binaria de sus direcciones IP.
Decimos que una dirección IP está incluida en un bloque CIDR, y que se
adapta al prefijo CIDR, si los N bits iniciales de la dirección y el prefijo son
iguales. Un prefijo CIDR de N bits deja (32 − N) bits sin coincidir, y existen
entonces 2(32 − N) combinaciones posibles con los bits restantes. Esto quiere
decir que 2(32 − N) direcciones IPv4 encajan en un prefijo CIDR de N-bits.
CIDR. Asignación de Bloques
Un ejemplo:
El bloque 208.128.0.0/11, un bloque CIDR que contenía más de dos millones de direcciones,
había sido asignado a MCI.
Automation Research Systems, una empresa intermediaria del estado de Virginia, alquiló de
MCI una conexión a Internet, y recibió el bloque 208.130.28.0/22, capaz de admitir 1024
direcciones IP (32 − 22 = 10; 210 = 1.024).
ARS utilizó un bloque 208.130.29.0/24 para sus servidores públicos, uno de los cuales era
208.130.29.33.
Todos estos prefijos CIDR se utilizaron en diferentes routers para realizar el encaminamiento.
Fuera de la red de MCI, el prefijo 208.128.0.0/11 se usó para encaminar hacia MCI el tráfico
dirigido no solo a 208.130.29.33, sino también a cualquiera de los cerca de dos millones de
direcciones IP con el mismo prefijo CIDR (los mismos 11 bits iniciales). En el interior de la red
de MCI, 208.130.28.0/22 dirigiría el tráfico a la línea alquilada por ARS. El prefijo
208.130.29.0/24 se usaría sólo dentro de la red corporativa de ARS.
CIDR –Supernetting
• Supongamos que deseamos agregar 8 direcciones de red entre 131.0.0.0 y
131.7.0.0. Precisamos encontrar una máscara de subred que permita que las 8
redes parezcan estar en la misma red.
• En subnetting usamos bits de la porción de hosts (nos movemos de izquierda a
derecha).
• En supernettig en vez de tomar bits de la porción de hosts, tomamos los bits de
bajo orden de la porción de red (nos movemos de derecha a izquierda).
• Necesitamos 3 bits para 8 redes. Por default la máscara de una red Clase B es
255.255.0.0 (o /16). Si tomamos 3 bits de la porción de red, la máscara termina
siendo del tipo /13.
• Si se usa la máscara 255.248.0.0 (1..1.11111000.0..0.0..0) ó /13 cada una de las
8 redes están dentro de la misma red y ahora todo ese rango puede representarse
por 131.0.0.0/13. Es decir que esa dirección con esa máscara agrega todas las
direcciones entre 131.0.0.1 y 131.7.255.255.
CIDR –Supernetting
• Los ISP´s menores en realidad son clientes de los grandes ISP´s, que a su vez son
clientes de otros mayores, como AT&T.
• En casos donde los mayores ISP pueden tener como clientes a ISP´s menores la
técnica de supernetting permite que muchas redes se puedan alcanzar por medio de
una sola línea o muy pocas líneas en las tablas de ruteo.
• Seguramente los ISP´s grandes agregarán muchos bloques Clase B o C.
• Pero sólo ciertos rangos contiguos de direcciones funcionarán con supernetting.
red
165.43.0.0
• Por
ejemplo,
si
tenemos
la
dirección
de
(10100011.00101011.0..0.0..0) y deseamos agregarla con otros 8 rangos, habría que
determinar cuáles son los 8 rangos correctos que pueden ser agregados con la red
165.43.0.0. Una AND entre la dirección de red 165.43.0.0 con la máscara de subred
255.248.0.0 (11111111.111111000.0..0.0..0) (por que sabemos que al hacer
supernetting de 8 direcciones clase B usaremos esa máscara) nos dará la dirección
de comienzo del rango: 165.40.0.0. O sea que el span de las 8 direcciones irá desde
165.40.0.0 hasta 165.47.0.0.
• CIDR no queda de todos modos limitada al uso en la Internet pública.
CIDR – Ruteo
•
El método de ruteo se denomina CIDR y se define en la RFC 1519 y utiliza la
máscara para indicar el punto de separación entre netid y hostid.
•
Cada uno de los routers dentro de una gran red almacenará copias de las
máscaras de red asociadas a cada una de las redes que constituyen la red mayor,
así como también la dirección base que les corresponda (netid).
•
Un destino se puede adaptar a varios pares red/máscara pero se usa el que se
adapta a la máscara más larga.
•
Cuando el router recibe un paquete, lee la dirección IP destino y realiza una AND
entre esa dirección y cada una de las máscaras que almacena en la tabla. Cuando
la netid resultante de esta operación coincide con la netid de alguna de las redes
se puede decidir el reenvío del paquete hacia donde corresponda.
•
Por otra parte, para que los protocolos de ruteo soporten el concepto de agregado
de rutas se precisan una serie de protocolos interdominio y cumplir con ciertas
reglas en el aviso de rutas.
CIDR – Classless Inter-Domain Routing
•
La siguiente Tabla provee información sobre los bloques de direcciones CIDR más
comunes. Se puede ver que una asignación /15 puede también especificarse como
255.254.0.0 y contiene un bloque contiguo de 128K (131.072) direcciones IP que
se pueden interpretar como 2 redes Clase B o 512 redes Clase C.
CIDR – Reconocimiento
•
Es importante destacar las cuestiones detrás de la decisión de desplegar redes
basadas en CIDR. Por ejemplo, muchas máquinas reconocen el esquema de
clases y sus interfaces de usuario no permitirán una configuración con una
máscara más corta que cualquiera de las tradicionales, generando problemas
potenciales. Si deseáramos desarrollar 200.25.16.0 como una /20 para definir una
red capaz de soportar 4.094 (212-2) hosts, el software que se ejecuta en cada
máquina podría no permitir que una Clase C tradicional (200.25.16.0) se configure
con una máscara de 20 bits, ya que la natural sería de 24 bits.
•
Sin embargo no habría problemas en desarrollar 200.25.16.0/20 (una Clase C
tradicional) para asignación como un bloque de 16 /24s dado que los hosts no CIDR interpretarán su /24 local como una Clase C. De la misma manera,
130.14.0.0/16 (Clase B tradicional) se podría desplegar como un bloque de 255
/24s ya que los hosts interpretarán las /24s como subredes de una /16.
CIDR – Comparación VLSM
•
•
•
•
•
CIDR y VLSM son esencialmente lo mismo si se piensa desde el punto de vista de
división recursiva de una porción de direcciones IP.
En VLSM, la recursión se realiza sobre el espacio previamente asignado a una
organización y es invisible a Internet global.
CIDR, por su parte, permite la asignación recursiva de un bloque por parte de
Internet Registry a un ISP de alto nivel, a uno de nivel medio, a uno de bajo nivel y
finalmente a una organización privada.
Ambos requieren que los protocolos de ruteo lleven información de máscara, que
los routers re-envíen basados en "longest match" y que la asignación sea
topológicamente significativa para poder realizar agregado de rutas.
Otro beneficio importante de CIDR es el papel que juega en el control del
crecimiento de las tablas de ruteo de Internet. Para reducirlas se requiere dividir
Internet en dominios, dentro de un dominio se dispone de información detallada
sobre las redes que lo componen, fuera del dominio sólo se anuncia el prefijo de
red común. Así, una sola entrada en la tabla de ruteo especifica una ruta a muchas
direcciones.
CIDR – Classless Inter-Domain Routing
Investigar por qué es posible el anuncio de rutas de este ejemplo.
CIDR – Ejemplo
Veamos un ejemplo que ilustra la potencialidad del direccionamiento sin clases en
cuanto a su habilidad para subdividir un gran bloque de direcciones en otros más
pequeños que satisfagan las necesidades de varias organizaciones. Como la
asignación de direcciones comienza típicamente con grandes bloques que pertenecen
a los grandes ISP´s, el ejemplo arranca desde allí.
En este caso suponemos un ISP de tamaño moderado, con unos pocos clientes, de
tal manera que necesita realizar una asignación relativamente pequeña.
Empieza con el bloque 71.94.0.0/15 (01000111.01011110.00000000.00000000)
El “/15” nos indica donde finaliza el network ID y nos dice que hay 17 bits disponibles
para el host ID. Este bloque se supone que se obtuvo de un ISP más grande, por
ejemplo 71.94.0.0/15 sería la mitad del bloque 71.92.0.0/14, un cuarto del bloque
71.88.0.0/13,y así sucesivamente.
CIDR
El bloque 71.94.0.0/15 equivale en tamaño a 2 redes Clase B, con un total de 131.070
posibles direcciones de hosts. El ISP puede elegir dividir el bloque en distintas formas
dependiendo de las necesidades de sus clientes y de sus propias necesidades.
Supongamos que este ISP recién empieza y no está muy seguro de cuáles serán sus
propias necesidades, y espera revender aproximadamente la mitad de su propio
espacio a otros ISP´s y de lo que le sobra considera dividir el espacio en 4 bloques de
distinto tamaño para cubrir necesidades de organizaciones de distinto tamaño.
CIDR
Progreso de la división
CIDR
El corte por la mitad se realiza usando el bit más a la izquierda de host ID como un
bit extra de red.
71.94.0.0/15 01000111 01011110 00000000 00000000.
Una red es la de la dirección mostrada y la otra con el bit en 1. Se crean dos
subredes pero no en el sentido “classful”, sino como porciones de la original.
Subnetwork #0: 01000111 01011110 00000000 00000000
Subnetwork #1: 01000111 01011111 00000000 00000000
Dado que el bit #16 es ahora parte de la dirección de red, se trata de redes “/16”,
que es el tamaño de una red “classful” Clase B, nombradas como:
Subnetwork #0: 71.94.0.0/16
Subnetwork #1: 71.95.0.0/16
Notar que la Subred “#0” tiene la misma IP que la original.
CIDR
Supongamos que se decide dejar la Subred #0 para asignaciones a ISP y se decide
dividir la Subred #1 en cuatro. Luego se subdividirá cada pedazo en distintas partes
según las necesidades de los clientes. Se precisan 2 bits más.
01000111 01011111 00000000 00000000
Y entonces:
Sub-subnetwork #1-0: 01000111 01011111 00000000 00000000 (71.95.0.0/18) Subsubnetwork #1-1: 01000111 01011111 01000000 00000000 (71.95.64.0/18) Subsubnetwork #1-2: 01000111 01011111 10000000 00000000 (71.95.128.0/18) Subsubnetwork #1-3: 01000111 01011111 11000000 00000000 (71.95.192.0/18)
Cada una con 16.382 direcciones.
CIDR
Subdividimos a continuación los bloques /18 según necesidades de clientes. Por
ejemplo:
Organizaciones más grandes : Por ejemplo clientes que precisan 510 direcciones,
requieren /23. Dividimos la sub-subnetwork #1-0, 71.95.0.0/18 tomando 5 bits del
host ID: 01000111 01011111 00000000 00000000, que pueden variar como 00000,
00001, 00010 y así, ofreciéndonos 32 redes /23 en este bloque, cada una con 9 bits
para host ID, para los 510 hosts. La primera será sub-sub-subnetwork #1-0-0,
71.95.0.0/23; la segunda sub-sub-subnetwork #1-0-1, 71.95.2.0/23; la última subsub-subnetwork #1-0-31: 71.95.62.0/23.
Organizaciones tamaño mediano: Hasta 254 direcciones, dividimos subsubnetwork #1-1, 71.95.64.0/18, tomando 6 bits: 01000111 01011111 01000000
00000000 generando 64 redes /24 , #1-1-0, 71.95.64.0/24, #1-1-1, 71.95.65.0/24, y
así.
Organizaciones más pequeñas: Por ejemplo 126 hosts:
01000111 01011111 10000000 00000000 dará128 redes /25, 71.95.128.0/25,
71.95.128.128/25, 71.95.129.0/25, y así.
Organizaciones muy pequeñas: Clientes hasta 60 hosts, #1-3, 71.95.192.0/18, se
subdivide: 01000111 01011111 11000000 00000000 dando 256 redes /26,
71.95.192.0/26, 71.95.192.64/26, y así.
CIDR - Problemas
•
Ejemplo 1: Una red de gran tamaño tiene asignado un bloque de 1024
direcciones desde 200.30.0.0 hasta 200.30.3.255. Suponiendo que se utiliza e
mecanismo de direccionamiento CIDR, representar las direcciones en formato
binario y deducir la máscara de red utilizada, así como el netid de la red.
•
Ejemplo 2: Dos redes dentro de una red de gran tamaño tienen asignados,
respectivamente, los siguientes bloques de direcciones
Red 1: desde 200.64.16.0 hasta 200.64.31.255. Máscara: 255.255.240.0 (/20)
Red 2: desde 200.64.17.0 hasta 200.64.17.255. Máscara: 255.255.255.0 (/24)
Suponiendo un esquema de direccionamiento CIDR, determinar la dirección de
una máquina en la red 1 que también producirá un match con la red 2.
CIDR
Ejemplo 3: Supongamos que se otorga a un proveedor un bloque de 2048 redes
clase C, desde 192.24.0.0 hasta 192.31.255.0. Un ruta "supernetted" a este bloque
se describirá con el par 192.24.0.0/ 255.248.0.0.
Este proveedor tiene 6 clientes con los siguientes requerimientos:
C1 requiere menos de 2048 direcciones (8 redes clase C)
C2 requiere menos de 4096 direcciones (16 redes clase C)
C3 requiere menos de 1024 direcciones (4 redes clase C)
C4 requiere menos de 1024 direcciones (4 redes clase C)
C5 requiere menos de 512 direcciones (2 redes clase C)
C6 requiere menos de 512 direcciones (2 redes clase C)
El proveedor lo asigna de la siguiente manera:
C1: 192.24.0 a 192.24.7. Bloque descripto por ruta 192.24.0.0 / 255.255.248.0
C2: 192.24.16 a 192.24.31. Bloque descripto por ruta 192.24.16.0 / 255.255.240.0
C3: 192.24.8 a 192.24.11. Bloque descripto por ruta 192.24.8.0 / 255.255.252.0
C4: 192.24.12 a 192.24.15. Bloque descripto por ruta 192.24.12.0 / 255.255.252.0
C5: 192.24.32 a 192.24.33. Bloque descripto por ruta 192.24.32.0 / 255.255.254.0
C6: 192.24.34 a 192.24.35. Bloque descripto por ruta 192.24.34.0 / 255.255.254.0
CIDR
Ejemplo 4: Suponga que se ha asignado a un ISP el bloque de direcciones
206.0.64.0/18, que representa 16.384 (214) direcciones IP y también se puede
interpretar como 64 /24s. Si un cliente requiere 800 direcciones, en vez de
asignarle una Clase B (y gastar ~64. 700 direcciones) o 4 Clases C (e introducir 4
nuevas rutas en las tablas de ruteo globales de Internet), el ISP podría asignar al
cliente el bloque de direcciones 206.0.68.0/22, un bloque de 1.024 (210)
direcciones IP (4 /24s contiguos). La eficiencia de esta asignación se ilustra a
continuación:
CIDR
Ejemplo 5: Suponga que un ISP pose un bloque de direcciones 200.25.0.0/16. Este
bloque representa 65.536 (216) direcciones IP (o 256 /24s). A partir de este bloque,
desea asignar el bloque 200.25.16.0/20, que representa 4.096 (212) direcciones IP
(o 16 /24s).
Address Block 11001000.00011001.0001 0000.00000000 200.25.16.0/20
En un entorno de clases, el ISP se ve forzado a usar el /20 como 16 /24s individuales.
Network #0 11001000.00011001.0001 0000 .00000000 200.25.16.0/24
Network #1 11001000.00011001.0001 0001 .00000000 200.25.17.0/24
Network #2 11001000.00011001.0001 0010 .00000000 200.25.18.0/24
Network #3 11001000.00011001.0001 0011 .00000000 200.25.19.0/24
Network #4 11001000.00011001.0001 0100 .00000000 200.25.20.0/24
:
:
Network #13 11001000.00011001.0001 1101 .00000000 200.25.29.0/24
Network #14 11001000.00011001.0001 1110 .00000000 200.25.30.0/24
Network #15 11001000.00011001.0001 1111 .00000000 200.25.31.0/24
CIDR
CIDR
1) Divide el bloque 200.25.16.0/20 en dos partes iguales. Cada bloque representa la
mitad del original: 2.048 (211) IP´s.
ISP's Block
Org A:
Reserved:
11001000.00011001.0001 0000.00000000 200.25.16.0/20
11001000.00011001.0001 0 000.00000000 200.25.16.0/21
11001000.00011001.0001 1 000.00000000 200.25.24.0/21
2) Divide bloque reservado (200.25.24.0/21) en dos partes iguales, cada una
representa ¼ del espacio original : 1.024 (210) IP´s.
Reserved
Org B:
Reserved
11001000.00011001.00011 000.00000000 200.25.24.0/21
11001000.00011001.00011 0 00.00000000 200.25.24.0/22
11001000.00011001.00011 1 00.00000000 200.25.28.0/22
3) Divide bloque reservado (200.25.28.0/22) en dos partes iguales, cada una
representa 1/8 del espacio original : 512 (29) IP´s.
Reserved
Org C:
Org D:
11001000.00011001.000111 00.00000000 200.25.28.0/22
11001000.00011001.000111 0 0.00000000 200.25.28.0/23
11001000.00011001.000111 1 0.00000000 200.25.30.0/23
CIDR
•
Además de utilizar unidades bloques de redes contiguas clase C, la RFC 1519
también cambió las reglas de asignación para las direcciones clase C:
•
•
•
•
•
Para Europa: 194.0.0.0 a 195.255.255.255
Para América del N: 198.0.0.0 a 199.255.255.255
Para América Central y del S: 200.0.0.0 a 201.255.255.255
Para Asia y Pacífico: 202.0.0.0 a 203.255.255.255
Reserva: 204.0.0.0 a 223.255.255.255 (11001100 = 204; 11011111 = 223)
•
Cada bloque es de 225 = 33.554.432 direcciones
•
Reserva es de unas 320 millones de direcciones.
•
Un ROUTER fuera de Europa que reciba un paquete con destino 194.xx.yy.zz a
195.xx.yy.zz sólo puede enviarlo al gateway de Europa. Esto reduce el tamaño de
las tablas.
CIDR
Ejemplo 6: Suponga que la Universidad de Cambridge necesita 2048 direcciones y se
le asigna el bloque 194.24.0.0 a 194.24.7.255 y una máscara 255.255.248.0 (/21)
Luego de esta asignación, la Universidad de Oxford solicita un bloque de 4096
direcciones (212). No se le puede asignar el bloque a partir de 194.24.8.0 (211). Se le
asigna el bloque 194.24.16.0 a 194.24.31.255 y una máscara 255.255.240.0 (/20).
Luego de esto, la Universidad de Edimburgo solicita 1024 direcciones y se le asigna el
bloque 194.24.8.0 a 194.24.11.255 y una máscara 255.255.252.0 (/22).
Las Tablas de Europa se actualizan con:
11000010 00011000 00000000 00000000
11000010 00011000 00010000 00000000
11000010 00011000 00001000 00000000
11111111 11111111 11111000 00000000
11111111 11111111 11110000 00000000
11111111 11111111 11111100 00000000
Llega paquete para 194.24.17.4 = 11000010 00011000 00010001 00000100
AND con Cambridge mask =>
11000010 00011000 00010000 00000000 (no es
dirección base de Cambridge)
AND con Oxford mask =>
11000010 00011000 00010000 00000000 (es
dirección base de Oxford)
Gana siempre la de la máscara más larga que coincida.
NAT – Network Address Translation
• NAT permite a una organización convertir espacio de IP no ruteable en direcciones ruteables.
• No ruteables son aquellas direcciones separadas ex profeso del espacio
normal y que no se presentarán como destino en ninguna comunicación
pues no serán reconocidas en las tablas de ruteo.
• Sólo pueden ser usadas en redes internas sin conexión a Internet o
conectadas a través de un NAT.
• Se trata de los grupos 10.0.0.0 - 10.255.255.255 (10/8), 172.16.0.0 172.31.255.255 (172.16/12) y 192.168.0.0 - 192.168.255.255
(192.168/16).
NAT – Network Address Translation
NAT – Network Address Translation
La conexión de ambas máquinas a la vez así no es posible por que existe
una única dirección de salida. PAT es la posible solución.
NAT Estático
• Mapea una dirección IP no registrada a una registrada sobre una base
uno-a-uno.
• Es útil cuando un dispositivo necesita ser accedido desde la red externa.
Servidores.
NAT Dinámico
• Mapea una dirección IP no registrada a una dirección IP registrada que
forma parte de un grupo de direcciones IP registradas.
• A diferencia del anterior, el mapeo es dinámico y se habla de un pool de
direcciones IP disponibles.
NAT Overloading. Concepto de port
• Tanto TCP como UDP, se pueden asociar a la Capa de Transporte del modelo
OSI. A este nivel se usa el concepto de número de puerto para identificar a las
aplicaciones emisoras y receptoras.
• Cada lado de una conexión tiene asociado un número de puerto en el header
del protocolo UDP o TCP. Se trata de números de 16 bits sin signo (65536
puertos posibles) asignado por la aplicación emisora o receptora.
• Los puertos son clasificados en tres categorías: bien conocidos y efímeros.
• Los puertos bien conocidos son asignados por la Internet Assigned Numbers
Authority (IANA), van del 0 al 1023 y son usados normalmente por el sistema o
por procesos con privilegios. Las aplicaciones que usan este tipo de puertos
son ejecutadas como servidores y se quedan a la escucha de conexiones.
Algunos ejemplos son: FTP (21), SSH (22), Telnet (23), SMTP (25)
y HTTP (80).
• Los puertos efímeros son normalmente empleados por las aplicaciones de
usuario de forma temporal cuando conectan con los servidores (rango de
puertos efímeros: 1024 en adelante).
NAT Overloading. PAT
• Es una forma de NAT dinámico que mapea múltiples direcciones IP no
registradas a una única dirección IP registrada.
• Puede multiplexar las diversas conexiones mediante el uso de diferentes
ports.
• También se conoce como PAT (Port Address Translation), single address
NAT o port-level multiplexed NAT.
NAT – PAT
NAT – PAT
NAT Overlapping
• Las direcciones IP usadas en la red interna son direcciones IP registradas
pero que están en uso en otra red.
• El router debe mantener una tabla de búsqueda (lookup table) de estas
direcciones para que pueda interceptarlas y reemplazarlas con direcciones
IP registradas únicas.
• Es importante notar que el router NAT debe traducir las direcciones
internas a direcciones registradas únicas tanto como traducir las direcciones
registradas externas a direcciones únicas en la red privada.
• Podría tratarse del caso de un cambio en el rango de direcciones IP por
pasar a depender de otro proveedor.
NAT – Limitaciones
• El número de traducciones simultáneas que un router soportará queda
determinado principalmente por la cantidad de DRAM (Dynamic Random
Access Memory) que posea. Ya que una entrada en la tabla consume
típicamente 160 bytes, un router con 4 MB de DRAM podría procesar
teóricamente 26.214 traducciones simultáneas, que es más que suficiente
para la mayoría de las aplicaciones.
• La desventaja de NAT es que hace más lento el proceso de transmisión y
limita el número de sesiones total en el router.
• Otra desventaja de NAT dinámico es que si el router es el único dispositivo
con dirección IP pública, no hay manera de proveer servicios de información
sobre ninguna máquina de la LAN. En el caso por ejemplo de desear
proveer servicio Web o FTP, no se puede ya que ninguna máquina en
Internet tiene manera de especificar que desea conectarse a una
computadora específica interna que contenga el servidor.
NAT – Limitaciones
• Cuando se desea ofrecer un servicio, NAT estático es la respuesta.
• Primero se precisa que el ISP asigne al sitio un conjunto de direcciones
públicas. Por ejemplo, en el caso de usar CIDR, probablemente asignará un
bloque de 8 direcciones, de las cuales se podrá contar con 5 para mapeo
estático.
• La máquina en la LAN que posea el servicio que se quiere ofrecer llevará
una dirección RFC 1918 (redes privadas), de tal manera que sea visible
también desde la red interna.
• El router deberá configurarse con reglas de ruteo NAT estáticas.
• El administrador escribe el número interno que usará para el servicio a
ofrecer y el número público ISP. En este caso, si alguien hace FTP sobre
esa dirección pública, el router re-escribirá los paquetes, transmitiéndolos a
la máquina interna que corresponda. Por otra parte, los dos tipos de NAT,
estático y dinámico, pueden usarse en simultáneo.
NAT
NAT
NAT
NAT
NAT
NAT – Seguridad
• Bloqueo automático de paquetes externos no solicitados.
• Un router NAT multiport puede pensarse como el esquema de la figura, donde
las máquinas internas comparte una LAN cuya ventaja es poder compartir datos
y archivos, pero esto mismo se transforma en una desventaja en el caso del
ingreso de un troyano, por ejemplo. Hay muchas vulnerabilidades conocidas al
respecto.
NAT – Seguridad
• Se puede colocar en cascada una serie de NATs donde las máquina detrás
del primero pueden acceder a Internet protegidas por el NAT externo, mientras
que las máquinas detrás del segundo NAT pueden acceder a Internet pasando
por ambos NAT´s.
• Las máquinas en la LAN semi-segura quedan del lado OUT del NAT Interno,
por lo tanto no pueden acceder libremente a las máquinas detrás del NAT
Interno.
• Se suele usar esta configuración para aislar una red DMZ y servidores o para
aislar un punto de acceso inalámbrico inseguro o para proteger máquinas con
datos sensibles del resto de la red.
NAT – Seguridad
• La zona DMZ debería ser la de los servicios que se ofrecen a la Internet (para
solicitudes que provengan desde afuera).
• Lo correcto es separar la zona DMZ del resto de la red.
NAT – Seguridad
• Separar la red interna para evitar accesos indebidos.
NAT – Seguridad
• Separar las máquinas con datos sensibles del resto de la red.
Bibliografía
• Calculadores IP: http://www.subnet-calculator.com/cidr.php
• IP Subnetting Tutorial: http://www.ralphb.net/IPSubnet/index.html
Descargar