|
La gente tiene mínimos conocimientos del TCP es importante saber la
implementación del NetBios sobre TCP-IP (responsable de "ver" los otros
equipos en la red) y la implementación de la conexión compartida a
Internet (ICS - Internet Connection Sharing).
PROTOCOLO IP
El IP es el 'Internet Protocol'. Existen
varios protocolos dentro de lo que en lenguaje vulgar denominamos TCP-IP.
Existen ICMP, ARP, etc... que son los denominados paquetes de control
del TCP-IP. Y existen los que yendo bajo IP puro, encapsulan los
mensajes TCP y udp. Estos últimos son los que nos van a interesar, ya
que son los que utilizan las aplicaciones a las que estamos
acostumbrados: navegadores, y en general comunicaciones bajo TCP.
PUERTOS
En TCP-IP,
pueden definirse 65536 puertos. Es decir, un puerto, no es nada mas que
un numero de 16 bits (2 elevado a 16 es el numero anterior), y que se
utiliza para que un determinado programa se comunique con la pila TCP.
Es decir, un programa se hace "dueño" de un puerto, y es capaz de enviar
y recibir datos por él.
Los puertos de números bajos: inferiores al 1024, están reservados para
el TCP-IP y normalmente tienen nombre propio: el 21 es el FTP, el 23 el
telnet, el 80 es el servidor web... etc).
Los puertos superiores quedan libres pudiendo utilizarles cualquier
aplicación y para cualquier uso.
DIRECCIÓN IP
Cada máquina
conectada a una red Internet, constituye un host que debe ser único.
Para ello, cada máquina debe tener una dirección IP (de 4 bytes) única
en toda la red.
Esta dirección es de 4 bytes. Cada byte, puede tener un numero desde 0 a
255. Y normalmente la representación normal de esta dirección es por los
4 números en decimal anteriores, separados por puntos. Por ejemplo:
192.168.0.1
El numero 255 queda reservado normalmente para direcciones de
broadcasting (direcciones genéricas a toda una subred, y por ahora
debemos obviarla).
Debe existir una dirección IP en cada interfase de red. Una interfase de
red, es una tarjeta de red, o un módem en comunicación telefónica, o un
simple cable de conexión entre PCs, por ejemplo en el puerto paralelo,
que vaya a realizar una comunicación IP.
MÁSCARA IP
Para que las
máquinas bajo TCP-IP, sepan cómo y por dónde enviar un mensaje, es
importante el tema de la máscara. La máscara es aquella serie de 4
números (como si fuese una dirección IP), que ejecutado bit a bit con
una dirección IP, le indica al sistema si esta dirección IP pertenece a
la subred local -y por tanto es alcanzable mediante broadcast- o no
pertenece a la subred local, y por tanto el mensaje TCP, hay que
enviarlo al gateway o puerta de enlace de nuestra red.
Si la máscara está mal en algunos de los equipos, pueden suceder
problemas
Por ejemplo,
la dirección 192.168.0.1 con mascara 255.255.255.0 indica que son
alcanzables en la subred local todas las maquinas de dirección
192.168.0.x (siendo x cualquiera) y que cualquier otra maquina es
alcanzable únicamente enviando el paquete al gateway por defecto.
SOCKET
Un socket no
es nada más que un canal de comunicaciones entre dos host TCP. Por
tanto, un socket queda totalmente definido por 4 números: la dirección
IP y el puerto de la máquina origen y la dirección IP y el puerto de la
máquina destino.
Cuando estamos viendo una página web por ejemplo, los datos que vemos
han viajado en un socket. Este socket se ha establecido entre la máquina
origen (la dirección IP de www.microsoft.com, por ejemplo), y el puerto
80 (que es el puerto de los servidores web), y la dirección IP de la
máquina destino (nuestra IP) y un puerto cualquiera que el navegador ha
seleccionado en ese momento del rango de los puertos libres en nuestra
máquina.
DNS
Servidor de
Nombres. Normalmente cuando nos referimos a una dirección, no estamos
casi nunca escribiendo la dirección IP de 4 números. Lo normal es
escribir un nombre, por ejemplo www.microsoft.com.
Pero tal y como visto anteriormente, nuestra máquina solo entiende de
direcciones IP. Por tanto, es necesario que alguien traduzca el nombre
en la dirección IP. Ese "alguien" es un servidor DNS (Domain Name Solver).
Normalmente, nuestro TCP, debe tener asignado la dirección IP del DNS,
es decir qué máquina de internet (o intranet) nos va a resolver los
nombres. Cada vez que a nuestra máquina le digamos un nombre, lo primero
que hará será consultar al DNS para tener su dirección y poder referirse
a ella por dirección.
Todos los nombre de Internet, deben localizarse en un DNS. Por ello,
cuando nos conectamos a Internet, o bien hemos configurado los DNS de
nuestra conexión telefónica, o bien nuestro proveedor de acceso a
internet (ISP) nos lo puede asignar, al igual que nos asigna dirección
IP, en el momento de establecer la comunicación.
El DNS de nuestro ISP, evidentemente no tendrá todas las direcciones de
Internet, pero para aquellas que no tenga, tiene a su vez las
direcciones de otros DNS a los cuales les reenvía (forwarding) la
pregunta.
Al final, sea quien sea el que tiene la dirección real, el caso es que a
nuestra máquina le llegará y por tanto, nuestra máquina (mejor dicho el
programa que lo necesita en ese momento), a partir de entonces podrá
referirse por dirección al otro PC o al otro servidor.
DHCP
Es el
mecanismo estándar por el cual una máquina en internet, es capaz de dar
automáticamente direcciones IP a las máquinas que se conectan sin
dirección IP.
Hemos comentado que la dirección IP debe ser única en Internet. Pero por
desgracia, no existen suficientes direcciones IP para que cada uno de
nosotros tengamos una asignada. Y menos, si queremos distribuir y
racionalizar esto un poco, es decir, distribuir las direcciones IP por
rangos.
Por ello, los proveedores de Internet, suelen tener asignado un rango de
direcciones, y lo normal es que los PC's no tengan dirección IP en la
conexión telefónica. El proveedor de Internet, tiene entonces un
servidor DHCP que nos dará una dirección en ese momento, de su rango de
direcciones libre. Ese servidor DHCP, igualmente almacena y guarda en un
fichero, a quien le ha dado la dirección IP al objeto de poder ser
consultado en cualquier auditoria). |