Direcciones IP y Subneting

Las direcciones ip constan de 4 grupos de 8 bits, es decir que un red
ip tiene un valor de 32 bits. Una dirección ip por ejemplo 190.4.15.8
realmente sería:

         10111110. 00000100. 00001111. 00001000
Esto viene dado por la siguiente tabla del sistema binario:


         128 64 32 16 8  4  2  1 
          7    6    5   4   3   2   1   0
         2   2  2  2  2  2  2  2                     2exp0=1 2exp1=2... 2exp7=128
         0   0  0  0  0  0  0  0 =0  (0)
         0   0  0  0  0  0  0  1 =1  (1)
         0   0  0  0  0  0  1  0 =2  (2)
         0   0  0  0  0  0  1  1 =3  (2+1)
         0   0  0  0  0  1  0  0 =4  (4)
         0   0  0  0  0  1  0  1 =5  (4+1)
         0   0  0  0  0  1  1  0 =6  (4+2)
         0   0  0  0  0  1  1  1 =7  (4+2+1)
         0   0  0  0  1  0  0  0 =8  (8)
         0   0  0  0  1  0  0  1 =9  (8+1)
         0   0  0  0  1  0  1  0 =10 (8+2)
         0   0  0  0  1  0  1  1 =11 (8+2+1)
         0   0  0  0  1  1  0  0 =12 (8+4)
         0   0  0  0  1  1  0  1 =13 (8+4+1)
         0   0  0  0  1  1  1  0 =14 (8+4+2)
         0   0  0  0  1  1  1  1 =15 (8+4+2+1)
         .................
         .................
         .................

         1   1  1  1  1  1  1  1 =255 (128+64+32...+1)
Tenemos valores de 0 a 255 es decir 256 valores.
La dirección ip 127.0.0.1 no se utiliza ya que la utilizamos
nosotros para hacer un ping a nuestra propia tarjeta de red para saber
si el protocolo TCP/IP está bien instalado. Si este ping no nos
responde habría que volver a instalar este protocolo.
Los valores 0 y 255, es decir 00000000 y 11111111 no se utilizan ya
que estan reservados para funciones de difusión y no pueden ser
utilizados como direcciones de hosts. 
Tenemos tres tipos de redes, las de clase A, clase B y clase C:
Clase A
         El primer bit es 0 dejando 7 bits para crear las direcciones de red. Si 2 exponente
         7 nos da como resultado 128 tenemos una dirección de 0 a 127 y como la direccion
         0 y 127 no la podemos usar por ser de difusión nos quedan 126 redes.

         De los cuatro octetos el primero de ellos se refiere a la red y los tres
         restantes a los hosts:

         1-127 (el 1er octeto) que indica la red. En este caso hasta 126 redes (quitando 0 y 1)

         El primer bit      1******* (128)
                       
         256*256*256 (los tres restantes) que indican el nº de host que podemos
         tener, en este caso 16.777.214 hosts (quitando 0 y 1)
         red        hosts
         00000000   00000000 00000000 00000000
         (1-127)    256      256      256 
         
Clase B
         Los dos primeros bits del primer octeto son 1 y 0, dejandonos 14 bits para
         crear las direcciones de red. 2 exponente 14 nos da como resultado 16384 redes.
         De los cuatro octetos los dos primeros se refiere a la red y los dos restantes
         al nº de hosts:

         128-191 (los dos primeros octetos) que indican la red. 16.384 redes (quitando 0 y 1)

         Los dos primeros bits  10****** (128)
                                11****** (192)

         256*256 (los dos octetos restantes ) que indican el nº de host en
         este caso 65.534 hosts (quitando 0 y 1)
         red                  hosts
         00000000 00000000    00000000 00000000
             (128-191)        256      256
Clase C
         Los tres primeros bits del primer octeto son  1, 1 y 0 dejandonos 21 bits para
         crear las direcciones de red. 2 exponente 21 nos da como resultado 2097152 redes.
         Los tres primeros octetos se refieren a la red y el octeto restante al
         nº de hosts:

         192-223 (los tres primeros octetos) que indican la red. 2.097.152 redes(quitando 0 y 1)
         
         Los tres primeros bits  110***** (192)
                                 111***** (224)

         256 (el último octeto) que indica el nº de hosts. 254 hosts (quitando 0 y 1)
         red                            hosts
         00000000 00000000 00000000     00000000
                (192  -  223)           256
RESUMIENDO

         CLASE A   X.0.0.0     1-126.0.0.0
         CLASE B   X.Y.0.0   128-191.0.0.0
         CLASE C   X.Y.Z.0   192-223.0.0.0

Una dirección de red nunca puede ser 0 ya que representa la red local.
Una dirección de red nunca puede ser 127 ya que está reservada.
Una dirección de red nunca puede ser 255 ya que está reservada para broadcast.
Una dirección de host nunca puede ser 0.
Una dirección de host nunca puede ser 255 ya que está reservada para broadcast tambien.

Cuando solicitamos una dirección de internet a la Network Information
Center (NIC), estamos solicitando una dirección ip. Muchas redes
son de clase C y lo que hace el NIC es darnos una dirección ip,
por ejemplo 193.20.15.X donde X es el número de hosts que nosotros
podemos tener para esa red desde 0 a 255. Las direcciónes acabadas
en 0 no se utilizan ya que son de broadcast y las 1 se utilizan para la
puerta de enlace o gateway si instalamos un router.
   La máscara de subred para la clase A es: 255.0.0.0 
   La máscara de subred para la clase B es: 255.255.0.0 
   La máscara de subred para la clase C es: 255.255.255.0 
El subneting trata de dividir una red en varios segmentos para descongestionar
el tráfico de una red.
Division de la red en dos segmentos
Por ejemplo tengo una red de clase B donde puedo tener hasta 65.534
hosts y quiero colocar un router para dividir esta red en dos segmentos.
Al ser de clase B sabemos que los dos primeros octetos pertenecen a la
red y los dos siguientes a los hosts. Haciendo uso de un ejemplo válido,
tendriamos:
                190.4.X.0-------router-------190.4.X.0
 
¿Cómo sabemos aquí el valor de X?

Lo que si sabemos es que necesito hacer dos subredes, es decir que del
octeto de bits cojo dos, 00 000000, pero tambien sabemos que los rangos
de direcciones 0 y 1 no se utilitzan por lo que necesitaremos 4 direcciones.

¿Qué número de bits me va a dar 4 direcciones ips?

Sería 2 exponente n (nº de bits) será igual a 4 (2expn=4).
Donde n es igual a 2. Necesito 2 bits como mínimo.
190.4.X.0 X=00(los dos bits que necesito) 000000
Voy a calcular su submáscara de red

Sabemos que es de claseB ya que empieza por 190. 
Es decir de entrada sabemos que es 255.255.0.0
los dos bits que he tomado anteriormente los pongo en el tercer octeto
para calcular la submascara 11000000=192
Por lo que la submáscara será 255.255.192.0
Ahora vamos a calcular las direcciones ip de cada segmento

Habiamos dicho que 2 exponenete nºbits nos daba 4 posibles combinaciones
y que ese número de bits es 2.
Aquí están las cuatro posibles combinaciones:

         00 1ª combinacion
         01 2ª combinacion
         10 3ª combinacion
         11 4ª combinacion

Sabemos que la primera y la ultima hay que desecharlas por ser de difusión
( 0 y 1) asi que nos tenemos que quedar con la combinación segunda
y tercera.
         01 000000 = 64 190.4.64.0
         10 000000 = 128 190.4.128.0
Los rangos por segmentos que voy a utilizar son los siguientes:

      De 190.4.64.0 sería de la 190.4.64.1 a la 190.4.127.254
      De 190.4.128.0 sería de la 190.4.128.1 a la 190.4.254.254
       
Division de la red en cuatro segmentos
Por ejemplo tengo una red de clase B donde puedo tener hasta 65.534 hosts
y quiero colocar un router para dividir esta red en cuatro segmentos.
Al ser de clase B sabemos que los dos primeros octetos pertenecen a la
red y los dos siguientes a los hosts. Haciendo uso de un ejemplo válido,
tendriamos:
          190.4.X.0-------router-------190.4.X.0
¿Cómo sabemos aquí el valor de X?
Lo que si sabemos es que necesito hacer cuatro subredes, es decir que
del octeto de bits cojo cuatro, 0000 0000, pero tambien sabemos que los
rangos de direcciones 0 y 1 no se utilitzan por lo que necesitaremos 6
direcciones.
         
¿Qué número de bits me va a dar 6 direcciones ips?
Sería 2 exponente n (nº de bits) será igual a 6 (2exp n=6).
Donde n es como mínimo 3. 
Necesito 3 bits como mínimo.
190.4.X.0 X=000(los tres bits que necesito) 00000
Voy a calcular su submáscara de red.
Sabemos que es de clase B ya que empieza por 190. Es decir de entrada
sabemos que es 255.255.0.0 los tres bits que he tomado anteriormente los
pongo en el tercer octeto para calcular la submascara 11100000=224
Por lo que la submáscara será 255.255.224.0
Ahora vamos a calcular las direcciones ip de cada segmento
Como 2 exponente 3 nos va a dar 8, vamos a tener un número mínimo
de 8 direcciones ips. Ya que no hay ningun número más bajo
que nos pueda dar como resultado 6.
Aquí están las ocho posibles combinaciones:
         000 1ª combinacion
         001 2ª combinacion
         010 3ª combinacion
         011 4ª combinacion
         100 5ª combinacion
         101 6ª combinacion
         110 7ª combinacion
         111 8ª combinacion
Sabemos que la primera y la ultima hay que desecharlas por ser de difusión
( 0 y 1) asi que nos tenemos que quedar con las otras seis combinaciones.
         001 00000 =32 190.4.32.0
         010 00000 =64 190.4.64.0
         011 00000 =96 190.4.96.0
         100 00000 =128 190.4.128.0
         101 00000 =160 190.4.160.0
         110 00000 =192 190.4.192.0
Los rangos por segmentos que voy a utilizar son los siguientes:
         De 190.4.32.0 sería de la 190.4.32.1 a la 190.4.63.254
         De 190.4.64.0 sería de la 190.4.64.1 a la 190.4.95.254
         De 190.4.96.0 sería de la 190.4.96.1 a la 190.4.127.254
         De 190.4.128.0 sería de la 190.4.128.1 a la 190.4.159.254
         De 190.4.160.0 sería de la 190.4.160.1 a la 190.4.191.254
         De 190.4.192.0 sería de la 190.4.192.1 a la 190.4.223.254
       
Ahora solo necesito 4 direcciones ips por lo que despreciariamos las siguientes,
asi que podríamos coger la 190.4.32.0 y la 190.4.192.0 ya que podriamos
jugar con mas valores.