Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Notas sobre Internet

[Home]  [Inicio]  [Índice]


Sig.

Apéndice A1.  Subdireccionamiento

§1  Antecedentes

Como señalábamos en la página anterior ( Ap. A), el crecimiento desmesurado de la red hizo rápidamente insuficientes los esquemas de direcciones de 4 octetos adoptados en principio, por lo que se decidió reestructurar completamente el viejo sistema IPv4, sustituyéndolo por otro (IPv6) con direcciones de 16 octetos (128 bits), cuyas astronómicas posibilidades se estimaron suficientes para direccionar todos los dispositivos fijos y móviles habidos y por haber.

Nota:  2128 posibilidades permiten direccionar suficientes dispositivos aunque existieran varios de ellos en cada metro cuadrado de la superficie terrestre incluidos los océanos.

El problema es que el nuevo IPv6 no es un superconjunto del antiguo que sea compatible hacia atrás con aquel. Su despliegue exige que, al menos durante el periodo de transición, los dispositivos sean capaces de entender ambos sistemas simultáneamente, por lo que se constató que su implantación podría demorarse en años, ya que el cambio supone modificaciones en la totalidad de la infraestructura de la Red.

§2  Subdireccionamiento

Fig. 3    

Ante la magnitud del problema y lo apremiante de la situación, en 1985 se decidió una solución provisional, "parcheando" el viejo IPv4 para aumentar algo su vida de servicio mediante un procedimiento denominado subdireccionamiento ("Subnetting"), que permite ampliar a tres sus posibilidades iniciales de solo dos niveles, mediante el procedimiento de dividir el "Host address" en dos partes: una dirección de subred ("Subnet address"), y un número de nodo ("Host number") dentro de esta.


Esta división de tres niveles puede efectuarse sobre cualquiera de los modelos de direcciones anteriormente descritos: A, B, C, D y E. La forma en que se desglosa el espacio correspondiente al número de equipo en subnet address y host number es responsabilidad del administrador de red ("Lan manager") de cada organización. Como veremos inmediatamente, el sistema derivó hacia el CIDR, al que nos referimos a continuación ( §8), del que son casos particulares los sistemas anteriores.

El subdireccionamiento presenta la ventaja de limitar el crecimiento de las tablas de direcciones globales de Internet, porque toda una red que puede ser grande (de centenares de nodos), presenta una única dirección frente al resto del sistema (Internet). Cualquiera de los nodos de cualquier subred comparte la misma dirección IP exterior, de forma que todas las direcciones de esta red se traducen en una sola entrada en las tablas de direcciones globales.

  Fig. 4

  Fig. 5

En realidad el fundamento del sistema consiste en "apañarse con lo que hay"; los arreglos adoptados permiten que una organización pueda tener cualquier número de nodos en su intranet, y que teóricamente todos puedan conectarse con el exterior (con Internet), aunque al costo de no poder asignarse una dirección global para cada equipo de la intranet como sería lo ideal. Por contra, tienen que compartir una sola dirección IPv4 (o a lo sumo unas pocas) entre todos ellos.

En éste capítulo describimos los detalles del "Subnetting", dejando para el próximo ( Ap. A-2) la descripción del mecanismo por el que los nodos de una intranet pueden compartir unas pocas direcciones globales, aunque adelantaremos que se basa en un mecanismo denominado Traducción de Direcciones NAT ("Network Address Translation").

En la figura 4 puede verse como todo el tráfico desde/hacia las direcciones 130.5.xxx.xxx son dirigidas a la pasarela de la organización (que generalmente hace también de router para la intranet). Los routers de Internet solo saben de la dirección de esta pasarela que dispone de una dirección IPv4 global. A su vez los routers de la organización manejan el conjunto de dirección de red y de sub-red, denominado prefijo de red extendido ("Extended network prefix").

Nota:  Los usuarios de Windows pueden inspeccionar las características de direccionamiento de su propio equipo mediante el comando IPCONFIG desde el shell del sistema, o mediante el programa WINIPCFG.EXE ( H12.4.0) generalmente está situado en el directorio C:/Windows. En Linux puede utilizarse la utilidad ifconfig.


En lo que sigue expondremos el detalle de la terminología empleada, y como se realiza este reparto de direcciones dentro de la intranet de una organización, en subredes y equipos individuales (nodos), para a continuación exponer el mecanismo NAT por el que todos pueden enviar y recibir intercambios con el exterior, a pesar de que solo exista una sola dirección global (de Internet) para todos.

§3  Direcciones reservadas

El conjunto de bits sssssshhhh correspondientes a la dirección de subred ssssss y de host hhhh, puede ser cualquiera. Pero es costumbre que no se utilicen los números de host con todo-cero o todo-uno, que tienen significados especiales. En concreto, si el prefijo de red de una organización es rrrrrrrr, se utiliza la siguiente terminología:

  • rrrrrrrr00000000000  dirección base de red
  • rrrrrrrr11111111111  dirección de difusión de red
  • rrrrrrrrsssssss0000  dirección base de subred ("Base net")
  • rrrrrrrrsssssss1111  dirección de difusión de subred ("Broadcast")

Supuestamente los mensajes que llegaran con dirección de difusión de subred deberían ser retransmitidos a todos los equipos de la subred, y los mensajes con dirección de difusión de red deberían ser transmitidos a todos los equipos de todas las subredes de la organización. A continuación ( §5) se muestra una manera fácil de calcular estas direcciones reservadas.

Además de las anteriores, las direcciones 0.0.0.0, 127.0.0.0 y 127.0.0.1 también están reservadas. La primea se denomina ruta por defecto y la segunda dirección de Loopback,  la última corresponde a la interfaz loopbak, que sirve para crear una dirección en la propia máquina que es indispensable para el funcionamiento correcto de ciertas herramientas del Sistema. Cuando un programa envía un paquete a esta dirección IP, el adaptador de red lo devuelve como si viniera de algún punto del exterior. De esta forma es posible utilizar y probar programas de red sin que el equipo este realmente conectado a ninguna red. Por ejemplo, el servicio localhost tiene asignada esta dirección [1]. La dirección de difusión de subred ("Broadcast") se utiliza para construir mensajes que deben ser escuchados por todos los nodos de una subred (más detalles en la página siguiente §6).

Excluidas las anteriores, el reparto de las restantes direcciones entre los nodos de la red, puede efectuarse de dos formas (que pueden coexistir), denominadas asignación estática y asignación dinámica. En el primer caso, el administrador de la red asigna a cada máquina una dirección de entre las que tiene disponibles. Por ejemplo, si su dirección base de red es 192.168.1.0 con máscara 255.255.255.0, probablemente asignará la IP 192.168.1.1 a la máquina que actúa de pasarela. A continuación asignará las direcciones 192.168.1.2; 192.168.1.3; etc. hasta agotar su espacio. Alternativamente puede utilizarse el segundo sistema (asignación dinámica), que utiliza un protocolo denominado DHCP ("Dynamic Host Configuration Protocol"). En este caso, un servidor de direcciones (servidor DHCP) asigna direcciones IP a las máquinas según se conectan y solicitan de él una dirección. Cuando posteriormente la máquina se desconecta, la dirección queda libre y puede ser asignada a otra máquina. Este es el método utilizado por los PSI (Proveedores de Servicios de Internet) y en algunas empresas que prefieren este método. Sobre todo para los usuarios móviles. Por ejemplo de equipos portátiles, que suelen conectarse y desconectarse con frecuencia. En ocasiones se sigue un esquema mixto. Por ejemplo, en el caso anterior, es posible que el administrador asigne direcciones estáticas a una serie de máquinas fijas importantes (servidor de Internet, servidor de correo, servidor de ficheros, Etc) en el rango 192.168.1.1 a 192.168.1.50. A partir de aquí asignará direcciones dinámicas mediante DHCP al resto de máquinas que se conectan.

Aunque no es frecuente, en una subred puede existir más de una pasarela al exterior (Internet), pero desde luego, todos sus nodos deben compartir la misma máscara de subred y la misma dirección de difusión.

§4  Máscara de subred

Es preciso que dentro de una organización los enrutadores identifiquen que mensajes son para cada equipo de cada subred. Por ejemplo, suponiendo que una organización tiene asignada una dirección de red tipo B ( Ap. A) 140.25.0.0, en su pasarela o "Gateway" perimetral, podría recibirse mensajes con la dirección 140.25.25.25. Esta dirección responde al esquema de bits que se muestra, donde pueden verse (entre otras) tres posibles interpretaciones para los valores de dirección de subred y de host.

10001100.00011001.00011001.00011001   Dirección recibida

10001100.00011001.000110010.0011001   Interpretación-1:  Subred 50 host 25   

<-prefijo de red>|<-subred>|<host->

10001100.00011001.00011001.00011001   Interpretación-2:  Subred 25 host 25

<-prefijo de red>|<subred>|<-host->

10001100.00011001.0001100.100011001   Interpretación-3:  Subred 12 host 281

<-prefijo de red>|<subrd>|<--host->


Para resolver esta posible indefinición, las máquinas de la red necesitan conocer el modelo de distribución subred/nodo adoptado. Esto suele indicarse de dos formas:  señalando la longitud del prefijo extendido de red, o una dirección en formato decimal punteado denominada máscara de subred.

En el primer caso la longitud del prefijo extendido de red se indica añadiendo un número a la dirección separado por una barra inclinada. Así pueden encontrarse notaciones como:

140.25.3.128/25

192.41.177.70/26

207.240.56.34/27

77.43.69.12/21

Recordemos que el tipo de dirección de red puede deducirse del primer número de la notación decimal. Así, en los casos anteriores el número 140 corresponde a clase B ( /16 );  192 y 207 corresponden a direcciones clase C ( /24 ) y 77 corresponde a una dirección de clase A ( /8 ). Sabemos entonces cuanto ocupa el prefijo de red, y por diferencia, las posiciones de bits para la dirección de subred y de nodo:

10001100.00011001.00000011.10000000  140.25.3.128/25 Interpretación: Subred 7 host 0 (Broadcast)

<---------- 25 bits ------->                Prefijo extendido de red (25 bits).

<-prefijo de red> <-subred-><-host>


11000000.00101001.10110001.01000110  192.41.177.70/26 Interpretación: Subred 1 host 6

<---------- 26 bits -------->               Prefijo extendido de red (26 bits).

<---- prefijo de red ----> <><host>


11001111.11110000.00111000.00100010  207.240.56.34/27 Interpretación: Subred 1 host 2

<---------- 27 bits --------->            Prefijo extendido de red (27 bits).

<--- prefijo de red -----> <s><hst>


01001101.00101011.01000101.00001100  77.43.69.12/21 Interpretación: Subred 1384 host 1292

<-------- 21 bits ---->                          Prefijo extendido de red (21 bits).

<p. red> <-- subred --><-- host -->


La máscara de subred es una forma alternativa de señalar el prefijo extendido de red. Consiste en una dirección IP decimal punteada, cuya representación binaria señala la longitud del prefijo extendido de red por la cantidad de unos que aparecen al principio. Las máscaras de subred de las direcciones anteriores serían respectivamente:

11111111.11111111.11111111.10000000  255.255.255.128 ( /25 )

<-prefijo extendido de red-><host->


11111111.11111111.11111111.11000000  255.255.255.192 ( /26 )

<-prefijo extendido de red -><host>


11111111.11111111.11111111.11100000  255.255.255.224 ( /27 )

<--prefijo extendido de red--><hst>


11111111.11111111.11111000.00000000  255.255.248.0 ( /21 )

< prefijo ext. de red ><-- host -->

Es interesante señalar que todos los equipos que comparten el mismo prefijo extendido de red pertenecen a la misma subred, y por tanto no necesitan salir al exterior para comunicarse entre sí. Es lo que se denomina envío local ("Local delivery"). Observe que cuantos más "unos" contiene la máscara de subred, menos equipos pueden ser definidos en la subred correspondiente y más direcciones corresponden al "exterior".

También hay que señalar que la máscara de subred no es un valor que acompañe a los paquetes que circulan por Internet (cosa que si ocurre con las direcciones IP de origen y destino) sino que es un valor asignado por el responsable de la red y guardado en cada nodo. La máscara le sirve al nodo para saber si un paquete está dirigido a una máquina local (de la propia subred) o a una máquina externa. En este último caso el paquete tendrá que ser enviado a una pasarela ("Gateway") para alcanzar su destino; es lo que se denomina envío remoto ("Remote delivery").

§4.1  Ejemplo

En principio un equipo ("Host") A conectado a una subred Net1 no tiene forma de saber si un mensaje a una dirección IP determinada corresponde a otra máquina de la subred o al exterior. Supongamos que el host A cuya IP es 207.240.56.66 debe enviar un paquete a la máquina B de dirección 207.240.56.98. En principio B puede estar en cualquier sitio del mundo, pero si A sabe que su máscara de red es 255.255.255.224 entonces pueden hacerse los siguientes razonamientos:

La dirección de A es de clase C cuyo prefijo de red es de 24 bits. Como su máscara contiene 27 unos, la dirección de remite adopta el siguiente esquema (sabemos que A es el host 2 de la subred 2):

11001111.11110000.00111000.01000010    dirección IP 207.240.56.66 de A

<--- prefijo de red -----> <s><hst>    Reparto por zonas:  Prefijo de red<->subred<->host


11111111.11111111.11111111.11100000    Máscara de subred  255.255.255.224

<---------- 27 bits --------->              Prefijo extendido de red (27 bits).

Interpretada con el mismo criterio, la dirección de destino obedece al esquema siguiente:

11001111.11110000.00111000.01100010    dirección IP 207.240.56.98 de B

<---------- 27 bits --------->              Prefijo extendido de red (27 bits).


Si la máquina B estuviese en Net1, los primeros 27 bits de la dirección de destino serían iguales a los primeros 27 bits de la dirección de origen A. Puede comprobarse que este no es el caso;  de forma que la máquina A sabe inmediatamente que el paquete debe ser enviado a la pasarela por la que la subred comunica con el exterior. Sin embargo, si la máscara de subred de A hubiese sido 255.255.255.192 el esquema seria:

11001111.11110000.00111000.01000010    dirección IP 207.240.56.66 de A

11001111.11110000.00111000.01100010    dirección IP 207.240.56.98 de B

11111111.11111111.11111111.11000000    Máscara de subred  255.255.255.192

<---------- 26 bits -------->        Prefijo extendido de red (26 bits).

y podría afirmarse que el paquete puede alcanzar su destino sin necesidad de salir de Net1.

Aunque a lo largo de esta explicación estamos refiriéndonos a equipos ("Hosts"), en realidad las consideraciones anteriores se refieren a cada una de las interfaces de red NIC ("Network Interface Cards") que existan en el equipo. Advirtiendo que una misma máquina puede disponer de más de una de estas interfaces (generalmente dos) que conectan con redes diferentes. Por ejemplo, una puede conectar directamente a Internet y la otra a la red local de la empresa (más sobre esto a continuación). En consecuencia, el Sistema Operativo debe mantener información sobre la configuración de cada una de las tarjetas de red disponibles. Entre otros detalles accesorios, esta información comprende:

  • Dirección IP
  • Dirección de difusión
  • Máscara de red
  • Dirección base de subred

En los sistemas Linux la configuración de las interfaces suele estar contenida en un fichero

/etc/sysconfig/network/ifcfg-*

en el que la terminación (*) depende del tipo de dispositivo. Por ejemplo, para la primera y segunda tarjetas de red Ethernet serían los ficheros

/etc/sysconfig/network/ifcfg-eth0
/etc/sysconfig/network/ifcfg-eth1

A título de ejemplo, se muestra el contenido de uno de estos ficheros en un caso concreto:

BOOTPROTO = 'static'
BROADCAST = '192.168.1.255'
IPADDR = '192.168.1.2'
MTU = ''
NETMASK = '255.255.255.0'
NETWORK = '192.168.1.0'
...

  Inicio.


[1]  En Linux pueden consultarse en los ficheros /etc/hosts  y /etc/networks.

Sig.