Site logo

TCP/IP México

Construyendo Soluciones

Aprendiendo las bases de TCP/IP

La version actual del protocolo de internet (Internet Protocol, o IP) es IPv4. Esta version permite cuatro octetos de datos para representar la direccion IP. Cada octeto se considera un Byte, en cada Byte hay 8 bits, es decir, hay 8 bits en cada octeto, de ahi su nombre. Se puede ver que en forma binaria hay 8 numeros, cada uno consistiendo en un bit que puede ser 1 o 0, finalmente, cada bit se separa por un punto como se muestra en la imagen de abajo.
Direccion IP teorica: OCTETO.OCTETO.OCTETO.OCTETO
Direccion IP actual: 192.168.2.1
En binario: 11000000.101010000.00000010.00000001
Todas las direcciones IP se representan en forma decimal como en el ejemplo superior (192.167.2.1), sin embargo, internamente las computadoras las utilizan en forma binaria, esto agrega solo un poco de complejidad a dicha notacion. Unos de los mayores defectos que se le notan a IP v4 es la cantidad reducida de direcciones IP posibles (4,294,967,296) y aunque esto parece un numero muy grande, es limitado para los estandares actuales, recordemos que cada computadora, dispositivo (celulares, ruteadores, modems, cafeteras) requieren una IP unica. La respuesta a esta limitante es IP v6 que soportara una cantidad de direcciones de 2^128, esto resolvera totalmente el problema de la cantidad finita (y relativamente pequeña).
Clases

Comunmente se manejan solo 3 clases en IP, Clase A, Clase B y Clase C, sin embargo hay dos clases mas, Clase D y Clase E, que son para Multicasting y para uso experimental, respectivamente. Las clases sirven para hacer clasificacion de las direcciones IP, cada clase difiere por el numero de octetos dedicados a la red y a los host (usaremos el termino "host" para identificar a los dispositivos de una red, sin importar el tipo), la formula es muy sencilla, si tenemos mas octetos de red, tendremos mas redes, y si tenemos mas octetos de host, significara mas dispositivos. Debemos siempre de considerar que el octeto de la red es para identificar a que red pertenece el host.

Cada red tiene un cierto rango a la que el primer octeto se le puede asignar, esto nos permite saber a que clase pertenece una IP con facilidad como se muestra en la imagen abajo.
Clase A

Rango de direciones IP:
1-126

Ejemplo:
1.62.95.1, 97.25.2.1, 126.96.21.2
Clase B

Rango de direciones IP:
128-191

Ejemplo:
128.62.95.1, 182.25.2.1, 191.96.21.2
Clase C

Rango de direciones IP:
192-223

Ejemplo:
192.62.95.1, 201.25.2.1, 223.96.21.2
Se deben de memorizar todos los rangos, pero es mas sencillo aprender como surgen usando el numero n^8.
Clase A

Porciones de red: 1

N^8=
128 Rango: 0-126
Clase B

Porciones de red:
2

N^8=
(128 + 64), o 192 Rango: 128-192
Clase C

Porciones de red:
3

N^8=
(128 + 64 + 32), o 224 Rango: 192-224

N^7 = 128
N^6 = 64
N^5 = 32
N^4 = 16
N^3 = 8
N^2 = 4
N^1 = 2
N^0 = 1

NOTA: El segmento 127 en la clase A no se usa, pues su destino es en el LOOPBACK (para pruebas internas). Tambien debera notarse que no estamos haciendo incapie en los segmentos de direcciones privadas que no son ruteables por internet.
Mascaras de Subred

Una mascara de subred es lo que usamos para asignar distintas redes y hosts en una red IP. Basicamente se dividen las direciones IP en dos partes, la de red y la de host, entre mas redes se tengan, menos hosts se podran tener y viceversa.

Analizemos la Clase A con la mascara por default.
Subred de Clase A (usando mascara por defecto)
Notemos que solo se toma en cuenta una porcion de red.
Direccion IP teorica: Red.Host.Host.Host

Mascara de Subred:
255.0.0.0

En binario:
11111111.00000000.00000000.00000000
Subred de Clase B (usando mascara por defecto)
Notemos que ahora se toman en cuenta dos porciones de red.
Direccion IP teorica: Red.Red.Host.Host

Mascara de Subred:
255.255.0.0

En binario:
11111111.11111111.00000000.00000000
Subred de Clase C (usando mascara por defecto)
Notemos que ahora se toman en cuenta tres porciones de red.
Direccion IP teorica: Red.Red.Red.Host

Mascara de Subred:
255.255.255.0

En binario:
11111111.11111111.11111111.00000000
El unico inconveniente es que regularmente no usamos las mascaras por defecto y tenemos que dividir aun mas las redes.
Ejemplo de como sub-dividir una red (Clase C).

Dividir una red varia en la complejidad involucrada, depende totalmente de la clase que se este dividiendo, muchas veces se necesitara dividir una Clase S, recordemos que una clase C permite muchas redes pero no muchos hosts, de hecho, se pueden crear 2,097,152 redes pero solo 254 hosts por red.

En este ejemplo pensaremos en dividir una red, necesitaremos 5 redes separadas que tienen 30 computadoras por cada subred.

El primer paso seria calcular cuantas subredes usables necesitamos, el siguiente paso sera determinar cuantos hosts son requeridos, y para eso podemos usar las siguientes ecuaciones.

Redes usables = (2^n) – 2 , donde N = poder de bit asignados

Hosts posibles = (2^n) – 2 , donde N = poder de bits que quedan

Desglosemos este ejemplo:

Numero de Subredes necesarias? = 5
Que poder de 2 permite 5 redes? Veamos nuestra tabla.

N^7 = 128
N^6 = 64
N^5 = 32
N^4 = 16
N^3 = 8
N^2 = 4
N^1 = 2
N^0 = 1

Por que 1+2+4 = 7 entonces podemos usar N^3
Subredes usables = (2^3 - 2) = 6

Ahora calculemos el numero de Hosts
Numero de Hosts necesarios? = 30
Cuantos bits quedaron libres despues de calcular las Subredes?

N^8 = 128
N^7 = 64
N^6 = 32
N^5 = 16
N^4 = 8
N^3 = 4
N^2 = 2
N^1 = 1

Como usamos 3 bits para la Subred, nos quedan 5 bits libres para los hosts.
Hosts usables = (2^5 -2) = 30

Ahora solo tenemos que calcular la Mascara de Subred y esto se vuelve extremadamente facil, pues solo tenemos que sumar los valores de los bits usados.

N^8 = 128
N^7 = 64
N^6 = 32

N^5 = 16
N^4 = 8
N^3 = 4
N^2 = 2
N^1 = 1

128+64+32 = 224

Por lo tanto, la mascara de subred es
255.255.255.224

Recordemos que a cada host en la red deberemos de ponerle la mascara de red para que efectivamente pertenezca a ella.

© 2011 TCP/IP México Contactenos