Maxonico's Blog

martes, febrero 28, 2006

Protocolo IP, Subnetting, etc

Subnetting

Bueno, aca voy a poner un minitutorial de Subnetting (en gaucho: creacion de sub redes).
Antes que nada un repacito por el protocolo IP, basicamente dire que pertenece a la capa de InterRed del modelo TCP/IP. Su objetivo es el transporte, no fiable, de datagramas entre un host origen y uno destino. Debido a que es no fiable, es que existe el protocolo ICMP que en ingles es "Internet Control Messaging Protocol" que nos sirve para controlar que datagrama llego y cual no, etc. (el mejor ejemplo de ICMP, es el de solicitud de Eco, o sea el PING).


Como ya sabemos IP son un grupo de 4 numeros separados por un punto decimal; esto para facilitar la lectura, pero en realidad estamos ante la presencia de una cadena, larga por cierto, de 32 bits. De nuevo, por una cuestion de comprension y facilidad de lectura a estos 32 bit se los separa en 4 bytes (1byte=8Bit), en definitiva el formato que quedaria es:


00000000.00000000.00000000.00000000 (0.0.0.0)

Algo a tener en cuenta es que las maquinas (hosts) no entienden direcciones IP, sino que entienden direcciones MAC (48 bits, asignados los 3 primero bytes por la IEEE los otros 3 el fabricante; con esto se evitan que se repitan las direcciones), que es lo que en definitiva poseen en su NIC (placa de red). Es por ello que en necesario alguna forma de traducir las direcciones MAC a IP y viceversa. Ahi entra en juego el protocolo ARP que es el que realiza esta traslacion (IP-MAC, MAC-IP lo realiza RARP), el mismo se encuentra alojado en la capa de enlace del modelo OSI, es decir, lo ejecuta localmente el HOST cuando un host desea comunicarse con otro pero solo posee su IP.

Las direcciones IP se pueden dividir en clases:

Clase A: 1.0.0.0 a la 127.0.0.0

Clase B: 128.0.0.0 a la 191.255.0.0

Clase C: 192.0.0.0 a la 223.255.255.0

Clase D: Direcciones para MultiDifusion

Clase E: Reservado

A su vez hay numeros de red que se encuentran reservados, por ejemplo la 127.0.0.1 que es de loopback o la 10.0.0.0 red privada.

Pasar de binario a Decimal

Bueno, para tener un buen entendimiento de las direcciones IP y de sus equivalencias en el mundo decimal vamos a tomar un minitour para aprender las equivalencias.
Para hacer la traslacion binario - decimal, debemos tener en cuanta el peso de cada bit (su ubicacion) en la cadena de bits.


Como es binario tomamos como base el numero 2 y lo elevamos a la posicion del bit en nuestra cadena, comenzando el contador (posicion) en 0 de derecha a izquierda; los 0 no cuentan ya que cuando los elevemos seguiran siendo 0.

El primer bit, o sea, el que esta MAS a la derecha tiene la posicion cero, y de ahi comiencen a contar.


Por ejemplo, 0100 sera (viendo de derecha a izquierda):

2^2 = 4 -> 0100 (binario)=4 (decimal)

Es decir que la posicion del 1, fue la numero 2; si elevamos 2 a la posicion en la que se encuentra el 1 obtenemos 4.

Entonces en nuestras cadenas de 1byte, (8 bit) habra 7 posiciones (8 - 1 porque empieza desde 0), y de ahi habrá que ir elevando:
10000000 = 128 -> 2^7 = 128

11000000 = 192 -> 2^7=128 + 2^6 = 64 -> 192

¿Se entendio?, mañana seguiré escribiendo lo que resta saber (hehe, todo lo de subnetting y calculo de direcciones).