Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(subnetting)
con TCP/IP V.4 (subnetting para dummies)
Direcciones IP
32.54.33.128
en binário sería:
00100000.00110110.00100001.10000000
Trabajando en binario
De derecha a izquierda, cada dígito, es una potencia de dos, siendo el que está mas a al
derecha 2 elevado a 0 que es igual a 1, el siguiente 2 elevado a 1 que es igual a 2, el
siguiente 2 elevado a 3 que es igual a 8, etc.
Por ejemplo, con 3 dígitos, podemos obtener 2^3 = 8 números, teniendo en cuenta que
el primer número siempre será “0”, el último número decimal que podremos obtener
será “7”
Vamos a ver una tabla con los 3 dígitos muy útil para ir cogiendo soltura con el binario,
recordando que el dígito que está mas a la derecha en decimal es 2^0, que es igual a
“1”, el dígito del medio es 2^1, que es igual a “2” y el de la izquierda es 2^2 que es
igual a “4”
Si el octeto tuviera todos los dígitos a cero: 00000000, el número que resultaría en
decimal sería cero, ya que no tenemos ningún número que sumar.
Vamos a pasar algunos números binario a formato decimal para ver mas claro el
proceso. Recordamos que el valor de los dígitos a uno se incrementa de derecha a
izquierda:
Ejercicio 1
01010101 =
10101010 =
11100010 =
00011101 =
Para pasar los números de decimal a binario, lo que hacemos es ir restando al número
decimal, los números potencia de 2 del octeto de mayor a menor, y el resto que nos de,
restarlo del siguiente número inferior potencia de “2” hasta que nos quedemos a cero.
Cada número que podamos restar, lo marcamos en su posición de la tabla como “1” y
cada número que no hemos podido restar, ponemos en la posición de la tabla un “0”
Por ejemplo, el número 223.
El mayor número potencia de dos del octeto que le podemos restar es 128, entonces, en
la primera posición de la izquierda, del número binario, le ponemos un “1”:
128 64 32 16 8 4 2 1
1
223 – 128 = 95
El resto que nos ha quedado es 95, el mayor número que le podemos restar de la tabla
es “64”, así que marcamos el 64 con otro “1”:
128 64 32 16 8 4 2 1
1 1
El resto son 27, el mayor número potencia de 2 que le podemos restar son “16”, así que
le añadimos un “1” a la posición de 2^4:
128 64 32 16 8 4 2 1
1 1 1
27 – 16 = 11
128 64 32 16 8 4 2 1
1 1 1 1
11 – 8 = 3
128 64 32 16 8 4 2 1
1 1 1 1 1
3–2=1
128 64 32 16 8 4 2 1
1 1 1 1 1 1
1–1=0
Ya hemos terminado con la operación, ahora solo nos queda rellenar los huecos de los
números que no hemos usado en las restas con ceros:
128 64 32 16 8 4 2 1
1 1 0 1 1 0 1 1
Ejercicio 2
128 =
13 =
233 =
100 =
198 =
23 =
208 =
La IP 32.54.33.128:
32 = 00100000.
54= 00110110
33 = 00100001
128= 10000000
Ejercicio 3
50.0.13.23
233.28.155.2
255.255.0.0
189.65.223.123
0110110.00110010.11100011.00110011
11000100.10110111.00110010.00101010
11111111.00000000.11111111.00110011
Las redes
Un host es cualquier cosa que necesite una dirección IP dentro de una red. Esto puede
ser desde un servidor, un router, una impresora, una camara IP, una maquina virtual,
etc.
Las redes son espacio delimitados de hosts, y esta delimitación puede ser física, a través
de hardware, o lógica, a través de la configuración de los parametros de la red.
Dentro de cada red existen siempre 2 direcciones, que no se pueden usar para identificar
a un host.
La primera es la que tiene todos los bit del host a cero. Esta dirección identifica a la
misma red.
La segunda es la que tiene todos los bit del host a uno. Es la dirección de broadcast, que
se usa para enviar un mensaje broadcast a todas las máquinas de la red.
La dirección que tiene todos los bit a 1: 255.255.255.255 hace referencia al broadcast
de la red en la que te encuentres, sea cual sea y sea del tipo que sea.
La dirección que tiene todos los bit a cero: 0.0.0.0 hace referencia a la red en la que te
encuentras.
La dirección que tiene todo el campo de red a ceros y el de host con cualquier
combinación, es para hacer referencia a ese numero de host, dentro de la red en la que
estás, sea cual sea.
Por ejemplo 0.0.0.23 hace referencia al host 23 de la red en la que nos encontramos.
La direccion 127.0.0.1 hace referencia a la maquina que estás usando, a localhost. Cual
quier conexión que realicemos a una máquina cuya IP comience por 127.X.X.X su
destino será la máquina en la que nos encontramos.
La mascara de red nos permite identificar la topología de la red: si una red está dividida
o no en subredes. Cuando la red está dividida en subredes, se suele utilizar el termino
«mascara de subred»» La mascara de subred es usada por el router para reconocer a
que red va dirigido cada paquete.
En las mascaras de red y de subred, los bits que hacen referencia a la nominación de la
red se encuentran a «1», y los bits que hacen referencia a la nominación del host se
encuentran a «0».
esto quiere decir que en una mascara 255.0.0.0 que en binario sería
11111111.00000000.00000000.00000000
Los primeros 8 bits que se encuentran a «1» hacen referencia a la red y los siguie8ntes
24 bits que se encuentran a «0» hacen referencia al host.
Las redes de tipo A tienen una mascara por defecto de 255.0.0.0 que son 8 bit para
redes y 24 para host.
Las redes de tipo B tienen una mascara 255.255.0.0 que son 16 bit para la red y 16 bit
para los hosts..
Las redes de tipo C tienen una mascara de red 255.255.255.0 que son 24 bit para la red
y 8 bit para los host.
Si junto con una IP perteneciente a cualquier clase de red, nos encontraramos una
mascara diferente a la que tiene por defecto esto quiere decir que la red está dividida en
subredes.
Para dividir una red en subredes, tenemos que trabajar con los bits que corresponden al
host, que son los que están a cero.
En la cual hemos puesto un bit de los que le correspondían al host a «1». Con este bit
podemos hacer 2 combinaciones (1 y 0), por lo cual, con esta mascara de red podemos
obtener 2 subredes.
Existe una forma de denominar al tipo de red, con la notación Classless InterDomain
Routing (CIDR). En la cual se pone la Ipseguida de una barra con un número que indica
el número de bits que se encuentran a «1» en la mascara de subred.
255.0.0.0 = 11111111.00000000.00000000.00000000
quiere decir que en la representación binaria de la mascara hay 8 bit en «1», por lo cual
se escribe como /8 en el caso de una mascara de tipo “B” al haber 16 bits en “1” para la
mascara, el subfijo sería /16 y en una red de tipo “C” la haber 24 bit en 1 en la mascara,
el subfijo sería /24.
Por lo cual tendríamos los 24 bits normales de los 3 primeros bytes mas los 3 bites de
esta mascara, Y la denominación CIDR sería «/27»
Ejercicio 4
255.255.192.0
255.223.0.0
255.255.254.0
/8
/11
/21
/31
/28
clases de redes
En internet, existen diferentes clases de redes, divididas por su tamaño. Aunque existen
redes de clase A,B,C,D y E, las que se usan siempre son las de clase A,B y C.
Dentro de las redes comerciales, las de clase “A” son las menos numerosas pero las que
mas host puede albergar, ya que usan 23 bit para referenciar Hosts. Luego están las de
clase “B”, que usan 16 bit para referenciar Hosts las redes mas numerosas son las de
clase “C”, pero también son las que menos “hosts” pueden albergar, ya que usan solo 8
bit para referenciar a los hosts.
Para poder diferenciar los diferentes tipos de red, en el primer octeto (de la izquierda) se
les asignan unos bit fijos que no se pueden cambiar.
Las redes de tipo “A” tienen el primer bit fijo como “0”, las redes de tipo “B” el primer bit
está a “1” y el segundo a “0”. En las redes de tipo “C” los dos primeros bit están a “1” y
el tercero a “0” .
En todas las redes hay 2 IPs que no se pueden usar, estas son la primera y la última IP
de cada red. La primera IP se usa para nominar a la misma red y la última IP es la
dirección de broadcast, o de difusión. La dirección de broadcast hace referencia a todas
las máquinas de la red que estén conectadas.
Redes de clase A
En estas redes, el primer bit se encuentra a cero, y el primer byte en decimal se puede
encontrar entre 1 y 126, utilizandose 7 bits para el número de red y 24 bits para la
identificación del host.
Siendo obligado que el primer Bit esté a 0, el número mas pequeño que se puede
obtener poniendo todos los bits posibles a cero es cero, aunque la red mas pequeña
sería la «1» y el número mas grande que puede hacer referencia a una red de tipo A en
el primer octeto sería: 01111111 = 127, aunque la última red de clase «C» es la 126
Existen 126 Redes de Clase «A» , estando reservada para uso privado dentro de una red
local, la red 10.0.0.0
Biendo en número de bits ue dispone la red para denominar al host, podemos deducir
que una rede de clase «A» puede contener 16.777.214 hosts: 2^24 – 2
En estas redes, el primer bit se encuentra a uno y el segundo a cero, utilizandose los 16
primeros bits para el número de red y los otros 16 bits para la identificación de host.
Siendo obligado que el primer bit esté a 1 y el segundo bit a 0, el número decimal mas
pequeño que se puede obtener en el primer byte poniendo todos los bits posibles a cero
es 128, y el número mas grande que se puede obtener es 191.
Las redes de clase «B» reservadas para uso privado en redes locales son las que van de
la 172.16.X.X a la 172.31.X.X.
Redes de clase C
Siendo obligado que los dos primeros bit estén a uno y el tercer bit esté a 0, el número
decimal mas pequeño que se puede obtener en el primer byte poniendo todos los bits
posibles a cero es 192 y el número mas grande que se puede obtener es 223.
En las redes de clase “C” están reservadas para redes locales 256 redes, todas las que
comienzan por 192.168.X.X
Redes privadas
Dentro de cada clase, existen redes reservadas el uso en redes locales. Esto es así,
porque si coincidieran IPs de redes locales con Ips de maquinas en internet, habría
conflictos en la comunicación.
Cuando una máquina se intenta conectar a una IP, siempre intenta conectar primero
dentro de la red local, por lo que si queremos conectar con una máquina que se
encuentra en internet y esta tuviera la misma IP que una máquina dentro de la red local,
siempre nos conectaríamos a la máquina de la red interna, y nunca llegaríamos a la
máquina de fuera.
En las redes de clase “C” están reservadas 256 redes, desde la 192.168.X.X
Ejercicio 4
Averigua a que tipo de red corresponden las siguientes IPs, recordando que:
23.54.3.4
130.23.224.123
222.89.214.254
195.192.95.235
172.21.4.42
10.254.230.99
Por varias razones podemos tener la necesidad de dividir el tráfico de una red en varios
segmentos, esto puede ser para reducir el tráfico de la red, por seguridad, etc.
Para poder dividir una red en varias subredes, tenemos que quitar bits al apartado de los
hosts, que nos permiten identificar a cada una de las redes.
Para planificar la segmentación de una red, hay que tener en cuenta 2 cosas
importantes:
1.- El numero de usuarios por red y el número de redes que necesitamos. Cuantos mas
usuarios por red menos redes y cuantas mas redes menos usuarios por red.
2.- Por cada red que creemos, se pierden 2 IPs, una asociada al broadcast y otra
asociada a la identificación de la misma Red.
Si tuvieramos una red con 16 IPs, siempre la primera IP estaría destinada para
denominar a la misma red y la ultima sería la dirección de Broadcast, o difusión, por lo
cual tendríamos 14 IPs útiles:
IP 1 IP 2 IP 3 IP 4 IP 5 IP 6 IP 7 IP 8 IP 9 IP 10 IP 11 IP 12 IP 13 IP 14 IP 15 IP 16
RED Host Host Host Host Host Host Host Host Host Host Host Host Host Host BC
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Si partimos la red en dos subredes, cada una de ellas tendría su propia dirección de Red
y su propia dirección de broadcast por lo cual perderíamos 4 de las 14 IPs , 2 por cada
una de las subredes:
IP 1 IP 2 IP 3 IP 4 IP 5 IP 6 IP 7 IP 8 IP 9 IP 10 IP 11 IP 12 IP 13 IP 14 IP 15 IP 16
RED Host Host Host Host Host Host BC RED Host Host Host Host Host Host BC
1 2 3 4 5 6 1 2 3 4 5 6
La primera formula es para averiguar cuantos bit tenemos que coger a los host para
hacer un numero determinado de subredes:
2^X>=Y
Tenemos que elevar 2 a un numero «Y»(que será el número de bits que tenemos que
coger a los host para hacer subredes) para que nos dé un numero igual o mayor al
número de subredes que necesitamos crear que es «Y».
La formula para averiguar cuantos bits necesitamos para tener un numero determinado
de hosts por red es:
2^X-2>= Y
X es el numero de bits que necesitamos para tener «Y» host por subred. Le restamos 2,
porque siempre en todas las redes y subredes hay 2 direcciones reservadas para
identificar a la misma red y otra para identificar su dirección de broadcast. que
necesitamos. «Y» siempre tiene que ser igual o mayor al número de host que
necesitamos por cada subred.
Ejemplo 1
Vemos que el número inmediatamente por encima sería 2^7 que es igual a 128, ya que
2^6 que son 64, se nos queda pequeño.
Entonces segun:
2^7-2=126
con 7 bit para host podemos tener 126 host por red.
Para averiguar cuantas redes podemos tener con esta máscara de red, elevamos 2 al
número de bits que se han quedado utilizadas para redes. 8 – 7 que dedicaremos a
hosts nos queda 1 bit para las mascaras:
2^1=2
255.255.255.128
Ejemplo 2
En el siguiente ejemplo:
255.255.255.240
Para averiguar cuantos host podría tener cada subred, hacemos la misma operación pero
con los bit que están a “0”, que son los mismos que están a “1”
2^4-2 = 14
Ejemplo 3
¿Cuales son las subredes que se pueden obtener de una mascara de subred, la
dirección de red y de broadcast de cada una de las redes?
Para averiguar las subredes validas pasamos el número a binario para averiguar cuantos
bit estamos usando para el host, y conbinamos estos bit de menor a mayor para
averiguar cada una de las redes.
00 = 0
01 = 64
10 = 128
11 = 192
Ahora vamos a averiguar cuantos host podemos tener en cada una de nuestras
subredes.
Si de los 8 bit que tenemos por defecto para host, hemos cogido 2 para hacer subredes,
quiere decir que nos quedan 6 bit para los host. La formula para averiguar cuantas host
podemos tener por subred es 2^X-2= numero de host, siendo X el número de bit que
están reservados para los host.
El primer host válido de cada una de las subredes es la dirección de subred mas uno. En
la primera subred sería 0+1 = 1, en la segunda subred sería 64+1= 65, etc.
Para averiguar el último host valido, le restamos 1 a la dirección de broadcast, en la
primera subred sería : 63-1 = 62, en la segunda subred sería 127-1=126, etc.
Ejercicio 5
En las siguientes redes, obtén los siguientes datos: mascara de subred, dirección de las
4 primeras subredes y de la última, junto con su dirección de broadcast, notación CIDR,
numero de subredes reales y numero de host que puede haber por subred.
2.- Red 222.232.2.0 - 120 host por subred y averiguar cuantas subredes podemos
sacar.
Ejemplo 5
Primero vemos a que clase de red pertenece la IP, es una tipo B porque el valor de su
primer byte (170) se encuentra entre 128 y 191.
Por lo cual tenemos 16 bit para nominar la red y 16 bit para nominar los host.
Por lo cual tenemos 3 bit en uno que son los que usaremos para hacer subredes.
Aplicamos la formula para averiguar cuantas subreds puedo sacar con 3 bit:
2^3= 8 subredes
Entonces me quedan 13 Bit para host, aplicamos la formula para saber cuantos hosts
tendremos por cada una de las subredes:
probamos las posibles combinaciones de los 3 bits de menor a mayor para ver las
subredes que podemos sacar, teniendo en cuenta por su posición que los valores de
estos bits son 128,64 y 32:
000 = 0 + 0 + 0 = 0
001 = 0 + 0 + 32 = 32
010 = 0 + 64 + 0 = 64
011 = 0 + 64 + 32 = 96
Teniendo en cuenta que que estamos haciendo los calculos en el tercer byte de la tabla,
no en el cuarto. Le añadimos un “.0” a cada una, con lo que se nos quedan las subredes:
0.0, 32.0, 64.0, 96.0, 128.0 y 160.0 y 224.0
Puede parecer un poco raro el resultado, pero es muy similar a si estuvieramos operando
en decimal. Por ejemplo, cuando hacemos la operación 200 -1, el dígito de la derecha se
queda al máximo que le permite el sistema= «9», como no tenía nada que restar me
llevo «1» para restar al siguiente dígito, como el siguiente dígito está a 0, cuando le
resto «1» se queda también al máximo «9» y me llevo el resto al siguiente dígito,
aunque a este ya se lo puedo restar y se queda en «1». Entonces 200 — 9 = 199
Hay que tener en cuenta que estamos usando una numeración base 256, que los
números ban del 0 al 255. Entonces en dirección de broadcast de la primera red, sería
restar 32.0 — 0.1 entonces el 0 se queda al máximo «255» me llevo una, la que ya si le
puedo restar al 32 y se queda en 31: 32.0 — 0.1 = 31.255
Ejercicio 6
En las siguientes redes, obtén los siguientes datos: mascara de subred, dirección de las
4 primeras subredes y de la última, junto con su dirección de broadcast, notación CIDR,
numero de subredes reales y numero de host que puede haber por subred.
Sabiendo una IP y una mascara de subred, vamos a avegiguar a que subred pertenece
una IP.Calculando de forma manual la subred y la dirección de Broadcast en la que está
una IP con su mascara de red. Este es el sistema que usan los routers para discriminar
las subredes hacia las que va un paquete.
3.- Para averiguar la red a la que pertenece la IP usamos la operación "AND", en vertical
con cada dígito de la IP en binario. lo multiplicamos por el dígito que está en la misma
posición de la mascara de red, creando con el resultado una nueva IP en binario, cuyo
resultado será la dirección de la subred a la que pertenece la IP que nos han dado.
4.- Debajo de la dirección de subred, y haciendo coincidir cada uno de los dígitos,
ponemos la mascara de red en binario, pero de forma invertida, donde hay "0" ponemos
"1" y donde hay "1" ponemos "0" por ejemplo,
en una mascara: 11111111.11100000.00000000.00000000,
la mascara invertida sería: 00000000.00011111.11111111.11111111
La operación "OR" suma, con la salvedad de que en binario el número mas alto siempre
será "1". Entonces: 1+0 = 1, 0+1=1, 0+0=0, 1+1=1
Los operadores «AND» y «OR» son puertas lógicas utilizadas por los routers para hacer
estas coprobaciones, si quieres mas información puedes consultar el siguiente enlace en
la wikipedia:
http://es.wikipedia.org/wiki/Puerta_l%C3%B3gica
Ejemplo 7
1 1 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 0 0 1 1
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 0 0 0 0 0
2.- Aplicamos la operación AND, en la columna que veamos que hay 2 unos, ponemos
como resultado «1», y en la columna que encontramos el 0 combinado con otro cero o
con un número, ponemos «0».
1 1 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 0 0 1 1
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 0 0 0 0 0
1 1 1 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 0 0 0 0
Y aplicamos la operación «OR» en cada columna. Cuando el «1» se combina con «1» o
con «0», el resultado es 1, y cuando se combinan 2 ceros el resultado es cero.
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 1 1 1 1 1 1
1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 1 1 1 1 1 1
Ejercicio 6
193.227.70.53/26
192.168.32.60/28
180.32.55.99/22
172.23.72.97/19
Recursos
Calculadoras IP
Calculadoras on line:
http://www.subnet-calculator.com/
En linux
En windows
http://lantricks.com/lancalculator/
http://www.radmin.es/products/utilities.php
http://www.ibiblio.org/pub/Linux/docs/LuCaS/Manuales-LuCAS/GARL2/garl2/
x-087-2-issues.ip-addresses.html
http://www.saulo.net/pub/tcpip/a.htm
http://es.kioskea.net/contents/internet/ip.php3
Licencia
Este documento ha sido realizado por Joaquín Hervás para targz.net bajo una licencia
GFDL 2.0 para targz.net