Para usar los procedimientos de red de FMSLogo, es útil conocer a las herramientas de red que el resto del mundo utiliza.
Sistema de nombres de dominio (DNS, en inglés). El sistema de nombres de dominio forma parte integral de la utilización de los protocolos TCP/IP. TCP/IP en si mismo sólo entiende direcciones IP para identificar a las computadoras, y aquellas direcciones tienen un aspecto críptico como «21.100.200.5» (cuatro enteros, cada uno de 0 - 255, separado por puntos). Estos números no tienen significado obvio y son difíciles de memorizar para nosotros los humanos. Por eso, a las máquinas se les asigna nombres también. DNS es un servicio de red para «resolver» los nombres (que son más fáciles a recordar) a los direcciones IP (que son más difíciles a recordar). Si tratas de conectar a una computadora remota usando su nombre de dominio, el software que usas (incluido FMSLogo) usa DNS para resolver el nombre a una dirección IP antes de crear la conexión.
Por ejemplo, un navegador web puede descargar FMSLogo de una computadora llamada «sourceforge.net». El navegador web tiene que usar DNS para resolver este nombre a una dirección IP antes de crear un socket TCP/IP para descargar FMSLogo. Así que, primero el navegador web pide al servicio DNS la dirección IP de «sourceforge.net». El servicio DNS pueda contestar con algo como «216.34.181.60». Una vez que el navegador web sabe la dirección IP de sourceforge.net, puede crear la conexión que descarga FMSLogo.
Por convención, hay un rango especial de direcciones IP que quiere decir «el computador que uso ahora». Este rango incluye la dirección IP «127.0.0.1». También hay un nombre de dominio especial «localhost» que se resuelve a «127.0.0.1». Si escribes ambos programas, un cliente y un servidor, es más fácil desarrollar los programas en una sola computadora, usando «localhost» como el nombre de la computadora remota. Más tarde, puedes ejecutar el cliente y el servidor en computadoras distintas y conecta al servidor a través de la red usando su nombre real.
PING. Se utiliza PING como un sencillo prueba de conectividad. Para utilizarlo, inicia un shell de Windows y teclea
PING máquina_remota
donde máquina_remota
es el nombre o la dirección IP de la máquina cuya conectividad deseas comprobar.
PING te dirá si puede alcanzar a esa máquina, y si es así, cuanto tiempo tarda hacerlo.
Si PING ne puede alcanzar aquella máquina, tampoco podría ningún otro software basado en TCP/IP (incluyendo los procedimientos de red de FMSLogo).
PING acepta ambas formas de dirección (el número o el nombre).
Si PING falla con el nombre, pero funciona con el dirección IP, entonces hay probablemente un problema con el DNS.
Puertos y nombres de servicios. Una sola computadora puede ofrecer múltiples servicios, tal como TELNET, FTP, HTTP o POPMAIL. Uno de estos servicios se puede proveer FMSLogo. TCP requiere que se asigna a cada uno de estos servicios un «puerto TCP» único, que es un número entre 1 y 65535. Por ejemplo, se ha registrado el puerto TCP 80 para HTTP, así que si conectaras a una computadora sobre el puerto TCP 80, lo más probable es que conectaras al servicio HTTP de esa computadora.
Cuando usas HABILITAACEPTARED para crear tu propio servicio, debes también elegir qué puerto de TCP asignar a tu servicio. Deberías elegir uno que no es reservado por algún otro servicio. En general, se recomiendan uno mayor que 1024.
TELNET. Parecido de como puedes usar PING para determinar si puedes conectar a una computadora, puedes usar TELNET para determinar si puedes conectar a un servicio particular en una computadora. Para utilizarlo, inicia un shell de Windows y teclea
TELNET máquina_remota
puerto_remoto
donde máquina_remota
es el nombre o la dirección IP de la máquina remota y puerto_remoto
es el puerto TCP del servicio de esa máquina a que quieres conectar.
Si PING puede alcanzar a una máquina, pero no puedes usar TELNET para conectar a un puerto, entonces puede ser que la máquina no escucha a este puerto (es decir, no provee aquel servicio a aquel entonces) o que un cortafuegos bloquea conexiones a este puerto.
Enrutadores. Hoy por hoy, es poco común conectar una computadora directamente al Internet. En cambio, la mayoría de los redes tiene un enrutador que se conecta al Internet y las otras computadoras se le conectan al enrutador. Estos enrutadores típicamente lleva a cabo múltiples servicios, incluido DNS, DHCP (asignación de direcciones IP), cortafuegos (el bloqueo de conexiones no deseadas) y traducción de direcciones de red (mantenimiento de distintas direcciones IP internas que aparecen todas como un sólo dirección IP al resto del Internet).
En general, cuando inicia Windows, éste intenta obtener una dirección IP mediante DHCP. Tu enrutador (como servidor DHCP) le asigna a tu computadora una dirección IP y (como servidor DNS) usa el nombre de tu computadora para esta dirección IP. Puedes determinar el nombre de tu computadora iniciando un shell de Windows y tecleando:
ECHO %COMPUTERNAME%
Puedes determinar la dirección IP de tu computador iniciando un shell de Windows y tecleando:
ipconfig
Los Cortafuegos. El Internet puede ser peligroso; hay gente conectado al Internet que quieren atacar tu computador. Los cortafuegos hacen el Internet más seguro al bloquear conexiones. Además del bloqueo de conexiones no deseadas de atacantes, un cortafuegos puede bloquear conexiones amigables de FMSLogo, haciéndolo imposible para FMSLogo conectar a través del cortafuegos. No es sólo tu enrutador que actúa como cortafuegos, también cada computadora de Windows puede tener un cortafuegos «personal».
Si no puedes usar TELNET a conectar a un puerto en una máquina remota, puede ser que un cortafuegos bloquea la conexión. Para resolver este problema, debes configurar todos los cortafuegos intermedios a permitir estas conexiones. No es seguro resolver un tal problema deshabilitando el cortafuegos por completo. Más vale aprender como permitir conexiones a puertos específicos, según sea necesario.
Analizador de paquetes. Aún si puedes conectar a una computadora remota, a veces es útil ver los datos exactos que se transmiten y se reciben. Para esto, la mejor herramienta es un analizador de paquetes (también llamado un sniffer). Un analizador de paquetes puede mostrarte todo lo que tu tarjeta de red envía o recibe, incluido lo que FMSLogo envía o recibe. Hay un buen analizador de paquetes gratuito llamado Wireshark. Para habilitar que Wireshark capturara el tráfico de red que tu computadora envía a si misma pueda requerir una herramienta adicional llamado RawCap.