Con el software apropiado, cualquier computadora o dispositivo en red puede enviar datos directamente a otra computadora o dispositivo, ya sea en una red local o en Internet público.
Para una computadora de consumo con Linux, MacOS, Windows, etc., no es difícil encontrar el software adecuado. Una computadora puede ejecutar un servidor web y la otra un navegador web o descargador, por ejemplo. Es necesario que haya una ruta a través de todos los firewalls, tanto portátiles como cualquier firewall corporativo o ISP que pueda haber. El puerto 80 generalmente está abierto, pero otros pueden estar bloqueados. Si va a través de un ISP residencial, puede bloquear el puerto 25 (correo electrónico SMTP); el mío lo hace. Los firewalls corporativos pueden bloquear los protocolos LAN heredados; Bloqueamos cosas como el puerto 111 (SunRPC), 137 (uso compartido de archivos de LAN de Windows) que nunca tuvieron la intención de estar en una red pública y carecen de buena seguridad o autenticación. Algunos firewalls pueden permitir conexiones salientes (y respuestas a ellas), pero bloquean las conexiones entrantes. Eso hace que el envío de datos directamente sea esencialmente imposible a menos que un servidor pueda negociar la conexión para que ambos parezcan salientes.
La mayoría de los usuarios domésticos en Norteamérica usan IPv4 con NAT, por lo que su computadora no está realmente en Internet pública, pero su enrutador sí. Por lo general, es posible configurar el reenvío de puertos en el enrutador para que una computadora en la LAN pueda conectar un servidor web a Internet, por ejemplo. Entonces un cliente puede conectarse directamente por dirección IP. El cliente tiene que iniciar la conexión, saliente a través de su propio enrutador. Para una conexión bidireccional donde cualquiera de las partes puede iniciarla, ambos enrutadores deben tener reenvío de puertos. Los servicios punto a punto, como Bittorrent o Skype, dependen de un servidor para manejar las conexiones de forma transparente.
- ¿Cuál es el tamaño de la primera carga útil de un segmento TCP si un host A envía Seq = 43 ACK = 103 y el host B responde Seq = 103 ACK = 57?
- ¿Las direcciones IP del teléfono cambian constantemente?
- ¿Cuál es la diferencia entre el enrutamiento basado en políticas y la optimización de WAN?
- ¿Cuáles son las 10 supercomputadoras más potentes del mundo en 2016?
- ¿Cómo configuro un enrutador Cisco 1841 desde cero?
En Linux, el programa netcat puede usarse trivialmente para enviar mensajes. Una persona escribe “nc -l 8080” (o algún otro puerto aleatorio), los otros tipos “nc 192.168.4.5 8080” o cualquiera que sea la dirección IP de la primera computadora, luego solo escribe. Todas las teclas escritas mágicamente aparecen en la otra pantalla.