Página 1 de 1

Redes, Redes, Redes (un poco de teoría)

Publicado: 02 Jul 2018, 16:30
por administrador
Autor Cubano

“Debe saber cómo funcionan las cosas, teniente” (Almirante James T. Kirk)

Cada equipo en una red (ordenador, impresora de red, router, dvd con tarjeta de red, PDA con WiFi…) se identifica de manera única por una dirección IP. Una dirección IP (versión 4, que es la que se utiliza ahora) está formada por 4 bytes. Recordemos que 1byte=8bits y que 1bit puede ser 0 ó 1, dos valores posibles, así que 2^8=256 valores distintos. En resumen, expresado en decimal, una dirección IP son cuatro números de 0 a 255, y se les representa separados por puntos: 192.168.0.2. Así, podemos tener desde 0.0.0.0 a 255.255.255.255 direcciones, teóricamente.

Ahora bien, una dirección IP no sólo identifica equipos, sino también redes. Es bastante lógico: si no tuviéramos ningún tipo de organización, todos los equipos se verían entre sí (malo) y las direcciones se habrían acabado hace mucho. ¿Y qué entendemos por una red? Dicho llanamente, los equipos que pertenecen a una misma red pueden verse entre ellos, pero no pueden ver a ni ser vistos por equipos de otras redes. Eso ya está mejor. Yo no quiero que los ordenadores de la empresa puedan ser vistos (y, por lo tanto, accedidos) por cualquiera desde algún rincón del mundo.

¿Y cómo sabemos qué parte de la dirección IP identifica a la red y qué parte al equipo? Para eso tenemos la máscara de subred. Y aquí me toca hablar en binario.

Como dije, una dirección IP son 4bytes. Cada byte son ocho 0 ó 1. Por ejemplo, 192.168.0.1 sería:
01100000.01010100.00000000.00000001
Más despacio: los 8 bits se corresponden a 128 64 32 16 8 4 2 1.
Así, 192=1x128+1x64+0x32+0x16+0x8+0x4+0x2+0x1.

Una máscara de red (o de subred, es lo mismo) tiene la misma forma que una dirección IP (4 grupos de números de 0 a 255). Por ejemplo, una máscara común es 255.255.0.0, que en binario se representa como 11111111.11111111.00000000.00000000

La teoría nos dice que las posiciones de los bits en la dirección IP que en la máscara tienen valor 1 son parte de la red y los que se corresponden con los que valen 0 en la máscara, identifican al equipo. Por lo tanto, una dirección IP completa incluye tanto la dirección como la máscara.

En el caso anterior, para una dirección 192.168.0.1 con máscara 255.255.0.0, la parte de red sería 192.168 y la del equipo 0.1: los 16 primeros bits de la máscara están a 1, por lo que los 16 primeros bits de la IP identificarán la red y los siguientes, el equipo.

Por comodidad, las máscaras más usadas son 255.255.0.0 y 255.255.255.0, de forma que de un vistazo sabemos que los dos primeros números en el primer caso y los tres primeros en el segundo identifican la red. Pero la máscara también puede ser algo más complicado, como 11111111.11111111.11110000.00000000, o sea, 255.255.240.0. Las posibles direcciones para equipos de una red con esta máscara irían, por ejemplo, desde la 192.168.0.0 a la 192.168.15.255.

Desde 192.168.0000 0000.0 hasta la 192.168.0000 1111.255
---------------Red------equipo-------------- red---------equipo

¿Ya está? No, aún queda una cosa más: dentro de una red no todas las direcciones se pueden utilizar. La primera identifica a la propia red y la última es la de multidifusión (broadcast). Por ejemplo, para una red 192.168.0.0 con máscara 255.255.0.0, 192.168.0.0 identifica a la propia red y 192.168.255.255 es la de multidifusión, por lo que los equipos pueden tener direcciones desde 192.168.0.1 a 192.168.255.254.

¿Y esto para qué sirve? Paciencia. Ya dije que dos equipos se ven si están en la misma red y no se ven si están en redes distintas. Imaginemos que tenemos dos equipos, uno con dirección 192.168.0.1 y el otro con dirección 192.168.1.1. Si la máscara de red (QUE DEBE DE SER LA MISMA PARA AMBOS (1)) es 255.255.0.0 entonces 192.168 identifica a la red y los otros dos números son para equipos, por lo que ambos están en la misma red y pueden verse. Por el contrario, si la máscara fuera 255.255.255.0, 192.168.0 es una red y 192.168.1 es otra, así que los equipos no se ven.

Entonces, ¿ordenadores de dos redes distintas no pueden verse? No directamente, pero sí si usamos un equipo especial que pueda unir redes. Esto es, un puente (bridge) o un enrutador (router).

Un router, que es lo más común, tiene dos direcciones, una interna y otra externa, de forma que cuando un ordenador del lado interno (nuestra red local) intenta comunicarse con un ordenador del “otro lado” (por ejemplo, un servidor web) el router anota de quién es la solicitud y cambia la dirección de ese ordenador por la suya externa. Cuando le llegue la respuesta, mira quién pidió esa información y se la pasa.

Por ejemplo, yo (192.168.0.2) quiero ver la página web [Enlace externo eliminado para invitados]. Mi router tiene la dirección interna (LAN) 192.168.0.1 y la externa 66.52.144.25. La secuencia es:
Mi ordenador se lo pide al router
El router anota quién lo pidió (192.168.0.2).
El router le pide la página web a 80.26.100.23.
80.26.100.23 recibe una petición de 66.52.144.25 y le manda la página web.
Cuando le llega al router, éste mira quién se la pidió (192.168.0.2) y se la pasa.

¿Y cómo sabe mi ordenador a quién tiene que preguntar cuando quiera algo de un equipo que no pertenezca a mi red? Ajá… Para eso está la Puerta de enlace (Gateway), que es la dirección del equipo que se usa para conectarse a otras redes. O sea, el router.

Bueno, ya tenemos el porqué de los tres parámetros de red que nos pide en “Propiedades de conexión de área loca”-->Propiedades de protocolo Internet (TCP/IP): Dirección IP, Máscara de subred y Puerta de enlace predeterminada.

Estos valores debemos configurarlos a mano salvo que tengamos un equipo que haga de servidor DHCP, eso es, asigne IPs automáticamente a los ordenadores que se lo pidan (bueno, que tengamos servidor DHCP y queramos usarlo, claro). Normalmente, los router tienen servidor DHCP y vienen con él activo, así que no suele ser necesario asignar las IPs de nuestros ordenadores a mano si no queremos.

Bien, si queremos asignar las direcciones IPs de nuestros ordenadores a mano, los pasos que debemos seguir básicamente son:
1) Elegir la red. Recordad que todos los equipos deben estar en la misma red. Si tenemos un router, debemos poner nuestros equipos en la misma red que aquél. Por convención hay una serie de direcciones de red que son reservadas para redes privadas y son las que deberíamos usar. Estas son: la 10.0.0.0 con máscara 255.0.0.0; desde la 172.16.0.0 hasta la 172.31.0.0 con máscara mínima 255.255.0.0 y las redes 192.168.0.0 a 192.168.255.0 con máscara 255.255.255.0. Nada nos impide usar otras, of course, pero es la convención. De hecho, lo normal será que usemos redes 192.168.x.y.
2) Cuando ya tengamos la red y la máscara, asignamos las ips a nuestros equipos, cuidando de que no se repita ninguna.
3) Si tenemos un router, o salimos a Internet a través de otro equipo, pondremos su Ip como Puerta de enlace.

Suena difícil, pero en la práctica suele reducirse a usar la red del router (y por comodidad, que éste nos asigne las IPs). Si no tenemos router, pues cogemos la que queramos

Comandos básicos de red.

Hay dos comandos que necesitamos saber manejar. Comando. O sea, que hay que abrir una ventana de símbolo de sistema.

1) Ipconfig: nos da información de nuestra dirección Ip, nuestra máscara, nuestra puerta de enlace y, con la opción ipconfig /all, también de nuestros servidores DNS. También podemos acceder a esta información en modo gráfico si tenemos el icono de conexión en el área de notificación de la barra de tareas (o sea, junto al reloj): abriendo la ventana de Estado de la conexión (doble clic), pinchando en Soporte, Detalles.
2) Ping. Es para mandarle un ping (como en las películas de submarinos, vaya) a una máquina. Se usa como ping ip o ping nombre:
Ping 192.168.0.1
Ping Hal9000
Ping [Enlace externo eliminado para invitados]
Es básico para comprobar si vemos a la otra máquina. Si no hay respuesta, es que no se ven (ojo, puede ser que por configuración de seguridad, firewall, etc, la otra máquina no responda a los pings).

DNS

Bueno, vale, nosotros no solemos usar direcciones IPs, sino nombres de máquina. Es por eso que para Internet (y para redes privadas grandes) necesitamos los DNS, los Servidores de Nombres de Dominio. Un servidor DNS guarda la IP que le corresponde a tal nombre. Cuando nosotros intentamos entrar en http://www.foroswindows.com, lo primero que hace nuestro ordenador es intentar averiguar la ip de http://www.foroswindows.com, haciendo una consulta al servidor DNS que tengamos configurado.

Si conectamos a Internet con un router, él mismo llevará los DNS de nuestro ISP (proveedor de servicios). Si nos asigna la dirección IP de manera automática nos podemos olvidar del tema. Si la dirección la hemos puesto nosotros, como DNS podemos poner perfectamente al router. Pero también podemos usar un servidor DNS distinto a los de nuestro ISP (lo que no viene mal, ya sea porque otro nos pueda responder más rápido, ganando así velocidad al navegar por Internet, ya sea porque puede que el DNS del ISP se caiga y no responda, pero sigamos teniendo Internet…). Yo uso los de OpenDNS.com y me va bastante bien.

-----------
(1) no es realmente necesario, pero ahorra dolores de cabeza.


Este artículo ha sido perpetrado por Cubano con la colaboración del equipo de moderadores de este foro y la inestimable ayuda de la Ayuda de Windows.
Algunos derechos reservados: puedes usar este artículo, distribuirlo y modificarlo mientras cites al autor original y el sitio donde se ha publicado originalmente (este foro) y respetes esta licencia.
[Enlace externo eliminado para invitados]
Esta obra está bajo una [Enlace externo eliminado para invitados]

Abrir puertos

Publicado: 02 Jul 2018, 16:32
por administrador
Apertura de puertos, NAT, DNAT

Un pequeño anexo al tema de Redes.

Muchos de nosotros nos conectamos a internet a través de un router. Como hemos visto, un router es un equipo (ojo, no un periférico) que permite conectar redes entre sí, en nuestro caso nuestra red de casa e internet.

Ya hemos visto, también, cómo accedemos a una página web a través del router, esto es, como el router anota nuestra ip (red local), pide la página web con su propia IP externa y luego nos la pasa. Esto funciona así con todas las conexiones salientes (es decir, que nosotros empecemos):
*Cuando mandamos un mensaje de correo, nuestro cliente de correo electrónico (pongamos Outlook) le pide al router que mande el mensaje de correo a nuestro servidor de correo. El router lo manda con su dirección IP externa.
*Cuando queremos recibir correo, nuestro cliente de correo electrónico le pide al router que solicite a nuestro servidor de correo entrante que le dé los mensajes que tenga. Los mensajes llegan al router y éste se los pasa a nuestro ordenador.
*Lo mismo cuando nos conectemos a un servidor ftp, etc.
(Vaaale, esto es simplificando mucho, pero creo que nos entendemos).

¿Y si queremos que a nuestro ordenador lleguen conexiones desde el exterior que nosotros no hayamos comenzado? Haciendo (si me permiten) una analogía: podemos hacer llamadas pero, ¿podemos recibirlas?

La respuesta es que, de principio, NO.

Pongamos un ejemplo:
Tenemos una red local con un router. La dirección IP de nuestro ordenador es 192.168.0.2. La dirección IP interna del router es 192.168.0.1, mientras que la externa es 60.20.10.11.
Digamos que desde 111.111.25.30 me mandan una página web que yo no he solicitado. ¿Qué ocurriría? Pues que la página web va a la dirección 60.20.10.11. Cuando le llega al router, éste se queda mirándola, mira el casillero de peticiones, ve que nadie la ha pedido y la tira.

Vale, no se puede hacer. A otra cosa.

Pero, oiga, es que yo quiero que pueda hacerse.
Porque yo quiero conectarme al ordenador de casa desde el trabajo (o desde el hotel, con mi portátil).
Porque tengo un servidor ftp en mi ordenador para que los miembros de mi familia, por el mundo mundial repartido, puedan subir y descargarse las fotos que cada cual hizo de la boda de mi niña.
Porque :oops: tengo eMule o bittorrent y a través de ambos programas se abren conexiones a mi ordenador para el intercambio de archivos.
O porque juego al Warcrash ese...

¿No puedo hacerlo?

Bueno, sí. Pero ya hay que configurar el router. Hay que hacer lo que concocemos popularmente comoabrir los puertos.
Y, ¿qué es un puerto?
Haciendo una analogía, si nuestra Ip es el número de teléfono de la empresa, los puertos son las extensiones de cada departamento y despacho.
Toda comunicación a través de la red al final sale de un puerto y termina en un puerto. Por ejemplo, cuando abrimos una página web nos estamos conectando al puerto 80 del ordenador que tiene esa página web. Para mandar mensaje de correo, pulse el 110. Para descargar por eMule pulse el 4662...
[Enlace externo eliminado para invitados] podemos ver una lista unos cuantos puertos por defecto. Hay sesenta y cinco mil nosecuantos.

Cuando nosotros "abrimos los puertos" en el router lo que estamos haciendo es decirle al router que lo que le llegue por tal puerto me lo mande a un ordenador concreto.

Pongamos que uso eMule. eMule usa dos puertos (realmente eran tres, en la página web de eMule lo indican) que podemos configurar. Es aconsejable usar número altos. Pongamos que usamos el 40000 para tcp y el 40001 para udp (tcp y udp son dos formas de mandar los mensajes a través de la red; tcp es más fiable y udp más rápido). Entonces voy al router y, siguiendo las instrucciones del fabricante (o de algún tutorial específico para mi modelo) le digo que lo que le llegue por los puertos 40000 (tcp) y por el 40001 (udp) lo mande al 192.168.0.2.

Bueno, al final me ha quedado bastante extenso. Si no se entiende, me lo decís e intento redactarlo de forma más comprensible.

Este artículo ha sido perpetrado por Cubano con la colaboración del equipo de moderadores de este foro y la inestimable ayuda de la Ayuda de Windows.
Algunos derechos reservados: puedes usar este artículo, distribuirlo y modificarlo mientras cites al autor original y el sitio donde se ha publicado originalmente (este foro) y respetes esta licencia.
[Enlace externo eliminado para invitados]
Esta obra está bajo una [Enlace externo eliminado para invitados]