|
Desde que pulsamos el boton de encendido de nuestro PC hasta... (parte 27) |
|
|
|
Por Jose Manuel Tella Llop, extraído de microsoft.public.es.windows98
DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA..... (Parte 27) ---------------------------------------------------- UTILIDADES TCP/IP INCORPORADAS EN WIN 95/98 ------------------------------------------- Bueno, vamos empezar la casa por el tejado. Aunque en principio parecería mas logico comentar un poco como se estable una comunicacion IP. que son los puertos, que es un socket, etc..... vamos a ver primero una serie de "comandos" o utilidades que incorpora win 98. La mayoria son utilidades "estandard" que están en cualquier otro sistema operativo, sea o nó de Microsoft. Recordar que la mayoria de estos comandos, mientras no diga lo contrario son comandos para dar en una ventana MsDOS. Es decir con comandos de "consola". Estos comandos podemos ejecutarlos con /? para que nos muestren una pequeña ayuda. PING : Este comando nos permite enviar un "paquete" de prueba a otro ordenador. Sí el otro ordenador está vivo, nos responderá. Aunque tenemos prácticamente la garantia de que el PING nos funcione contra cualquier ordenador, esto puede limitarse. Me explico: el comando PING no utiliza IP, utiliza ICMP. El trafico ICMP puede cortarse. Algunos servidores que quieren permanecer ocultos en la red, pueden filtrar este trafico y nunca responderá ese servidor a un PING. WINIPCFG (este es un comando windows). Nos dará la dirección IP sobre cualquier adaptador de red. Igualmente nos informará del gateway y del DNS que tenemos en ese momento. Esto puede tener una utilidad que se me ocurre ahora mismo. Imaginemos que tenemos camara de video y queremos establecer videoconferencia "privada" con NetMeeting (sin pasar por ningun servidor de internet), directamente con otra persona. Para ello, podemos querdar a una hora determinada, y mediante ICQ o mail, por ejemplo, informarnos del IP de la otra persona e igualmente enviarle nuestro IP. Con esto, ahora podemos configurar MetMeeting en directo a ese PC para establecer entre nostros una videocinferencia. Esto es en directo, no pasa por ningun servidor ni lista de directorio en servidores y por tanto la comunicacion es mucho mas rapida. IPCONFIG : nos muetra una informacion detallada de datos sobre todos nuestros adaptadores de red. Lo mejor es ejecutar un IPCONFIG /ALL y como la salida de datos es muy grande deberemos o bien redirigirla a un fichero o simplemente teclear: IPCONFIG /ALL | MORE NETSTAT : sirve para ver el estado de los puertos (mas adelante veremos este concepto), en nuestro PC. En principio utilizarlo con el parametro -a. Es decir NETSTAT -a Esto nos mostrará los puertos que está utilizando. Como introduccion, debemos comentar que existen 65535 puertos disponivbles. Del 0 al 1024 son reservados para el TCP, y del 1024 en adelante para aplicaciones de usuario. En particular una posible "aplicacion" de usuario es el famoso BO (Back Orifice). Este "pilla" un puerto 3x.xxx (treinta y tantos mil). Tiene un valor por defecto, pero cuidado: se puede "configurar". FTP : nos permite de una manera un poco "rupestre" (entrar en él y darle HELP, el transferir datos entre ordenadores en TCP/IP. Es el cliente FTP que trae Windows. Tambien en la actualidad, el propio navegador de internet (IE), es capaz de realizar una transferencia FPT, siendo en este caso mas comodo. Pero tambien mas lento. Igualmente recuerd que podemos utilizar programas FTP de libre distribucin de terceros. Y alguno realmente buenos que merece la pena tener en cualquier instalacion. (el FTP utiliza por defecto el puerto 21 del TCP/IP) TELNET : nos permite entrar en un ordenadro remoto con emulacion de terminal. Es decir si el ordenador remoto tiene activo el servicio de telnet y tenemos usuario / password en él, nos permitirá manejarlo como si estuviesemos fisicamente en su pantalla y teclado. (el TELNET utiliza por defecto el puerto 23 del TCP/IP) NET : Admite muchos subparametros. Nos permite por ejemplo mapearnos una unidad de red, desonectarla, y en general utilizar directamente todos los comandos para actuar sobre una red. Es el "antiguo" comando LM (Lan Manager). COMUNICACION TCP/IP ------------------- En TCP/IP, todo se basa en la filosofía cliente/servidor. Un "host" (no es nada mas que un ordenador cualquiera, un PC, o uno gigantesco), puede ofrecer servicios a la red. Este es un servidor. Y otro puede solicitar esos servicios (cliente). Lo "normal" (en un PC) es ser siempre cliente, es decir solicitamos servicios de FTP, HTML, news,.... ¿Como se solicitan los servicios o como hablan dos maquinas bajo TCP?. Muy sencillo, se establece un "socket" -un canal de comunicacion- ¿y como? pues un socket no es nada mas que una conexion entre una maquina y un puerto con otra maquina y otro puerto. Es decir intervienen 2 maquinas y 2 puertos. En el IP, se definen 65535 puertos y desde el 0 al 1023 estan reservados para los servicios estandard del TCP (html=80, ftp=21,...etc) y desde el 1024 en adelante estan reservados para programas de usuario. Para abrir un socket (canal de comunicacion), una maquina debe solicitar una dirección ajena y un puerto. Si en ese puerto, en la otra maquina, hay un programa escuchando (LISTENING), este programa atenderá a nuestras peticiones. Cuando abrimos el "navegador" y tecleamos una pagina, el funcionamiento sería el siguiente: 1) Nuestro PC para abrir el socket necesita conocer la dirección del destino (el puerto ya lo sabe, ya que por defecto en html es el 80). Esta dirección debe estar en formato xxx.xxx.xxx.xxx (4 numeros separados por puntos -dirección IP-) 2) Nuestro PC, investiga si conoce el ordenador destino (es decir investiga un nombre, por ejemplo www.microsoft.com). Si no lo conoce debe investigar. 3) Aunque para esta investigacion intervienen varios pasos (fichero host, mascaras de subred, etc), vamos a simplificarlo. Nuestro PC se lo pregunta al DNS de nuestro servidor (recordad que ponemos DNS al definir una conexion telefonica, o bien nuestro proveedor nos lo da automaticamente al establecerlo. 4) DNS = Domain Name Solver. Es decir nos va a resolver por nombre de dominio su dirección . Por tanto nos devuelve su dirección IP. 5) Con esto el navegador ya puede abrir un socket desde nuestra dirección , y un puerto "cualquiera" !!! libre de nuestro PC y la dirección del destino y el puerto 80. 6) Es decir lo que hace en ese momento es pedirle a nuestro propio PC un puerto libre, imaginemos que le dá el 2122, y entonces establece un canal de comunicacion entre ambas maquinas desde el puerto 2122 en el cual "escuhará" nuestro navegador para esa conexion y el 80 en el destino, que será el que nos pase la informacion (la pagina web). Bien, esto es extensible para todos los servicios IP (FTP en el 21,TELENT en el 23,..etc). Y para cualquier cosa que queramos hacer. Fijaros que en el ejemplo anterior, en la otra maquina, no hay un navegador, sino que hay un programa, que lo que hace es escuchar "peticiones" en el puerto 80, cuando las recibe, analiza lo que le piden, busca la pagina y nos la envia. Este es un servidor de paginas web. ** Y una vez con esta introduccion, vamos a "mezclar" todos los conceptos y darlos un pequeño "repaso". APRENDIENDO UN POCO DEL TCP/IP ------------------------------ Bueno, este articulillo va a ser un poco mas complicado. Mas complicado para mí ya que precisamente no me explico todo lo bien que quisiera. El objetivo que pretendo, es clarificar un poco sobre el TCP y aprender basicamente como con el TCP puedo convivir en un ordenador que esté conectado con dos adaltadores de red. Es decir por una parte a una red interna (intranet), mediante tarjeta de red, y a la vez esté conectado a internet via módem . Y ser posible referenciar y utilizar simultaneamente la intranet y el internet. Este tema que parece una tontería no lo es tanto. Y el dia de mañana, cuando tengamos más de un PC en casa unidos mediante red, y a la vez uno de ellos por módem a internet, el evitarnos quebraderos de cabeza. Igualmente en esta situacion estará mucha gente en su trabajo. Intranet para la red corporativa e internet via módem . Antes de entrar en detalles, es necesario entender unos pocos terminos. INTRODUCCION ------------ 1) dirección IP --------------- Bajo TCP/IP cada ordenador, debe tener una dirección unica en el mundo. Esta dirección viene especificada por 4 numeros, separados por puntos. Y cada uno de estos numeros puede ser de 0 a 255. Es decir, la dirección mas pequeña será: 0.0.0.0 y la maxima: 255.255.255.255 Un dirección normal, por ejemplo, es: 128.10.34.234 e identifica a un unico PC en el mundo. Hay direcciones que por definicion, se consideran reservadas. Es decir te garantizan que no existen en internet y por tanto pueden utilizarse para una Intranet. Un ejemplo de estas direcciones la red "10". Es decir la 10.x.x.x. (por eso, infovia, que no es mas que una gigantesta intranet, lo utiliza). Otras reservadas son la: 169.x.x.x. Esa dirección IP, debe existir para cada tarjeta de red (y la conexion telefonica es "otra" tarjeta de red) que existan en nuestro PC. Por tanto, si nuestro PC tiene una tarjeta de red interna y además una conexion telefonica, cuando estemos conectados a internet, tendremos DOS direcciones IP. Una para nuestra tarjeta interna de red y otra para la conexion telefonica. Siempre mediante el comando WINIPCFG podemos ver la dirección que tenemos en CADA una de las tarjetas adaptadoras de red de nuestro PC. Igualmente el comando: ipconfig /all nos dá una informacion mayor que el anterior. Este comando ocupa mas de una pantalla, por lo que lo mejor es darlo con: ipconfig /all | more 2) MASCARA DE SUBRED -------------------- Aunque este concepto no es tan basico, voy a intentar definirlo (pero de una manera MUY simplificada, y con terminologia de uso corriente, es decir, es más potente de lo que vamos a ver aquí). Se define como MASCARA, aquella dirección que enmascarando nuestra dirección IP, nos indica si otra dirección IP, pertenece a nuestra SUBRED o no. Es decir, imaginemos que nuestra dirección IP es la 10.2.3.4 con mascara 255.255.0.0. Esto le indica al sistema, que todas las maquina 10.2.x.x pertenecen a nuestra subred y por tanto cualquier mensaje enviado a nuestra subred es "soltado" inmediatamente a la red, ya lo recogerá quien corresponda. Si está fuera de nuestra subred, el circuito de envio del mensaje es totalmente diferente.... y fuera del ambito de este articulo (por ahora). 3) SERVIDORES DE direcciones ---------------------------- Bueno, y la pregunta del millon ¿como obtenemos o asignamos una dirección IP? Existe evidentemente un problema: dos maquinas en el mundo en la misma red, no pueden tener la misma dirección IP (todo Internet es una UNICA red. INFOVIA es otra unica red entendida como intranet gigantesca). Olvidemonos por ahora de Internet. Imaginemos que yo estoy en una Empresa con 100 PCs. Evidentemente como "administrador", yo tendría que asignar a cada PC una dirección unica y llevarlas apuntadas y tener cuidado que no haya dos duplicadas. Evidentemente muy engorroso y puedo cometer fallos. Otra posibilidad, que tenga un "servidor de direcciones" DHCP es el sistema mas corriente. Es decir nuestro ordenador no tiene dirección IP, pero lo hemos configurado para que obtenga una mediante DHCP (todo esto se puede configurar en Panel de Control->Red). Entonces nuestro ordenador al encenderlo, busca un servidor DHCP en la red, y le pide un numero de dirección IP. El servidor se lo dá, y ya está. El propio servidor se encarga de que no haya IPs duplicadas. (Windows NT puede actuar como servidor DHCP, y linux, y Unix.....). Ultima posibilidad -la más elegante-, pero solo aplicable a Windows 98. Ento no es aplicable a win95. Windows 98 incorpora un mecanismo llamado "Autonet Configuration". Consiste en que sino tenemos dirección IP, y no existe servidor DHCP, el solo se "inventa" una dirección en ese momento. Evidentemente primero "busca" en nuestra intranet una dirección que no este ocupada. En este caso siempre busca una dirección del tipo 169.254.x.x (con mascara de tipo 255.255.0.0). Esta dirección como vimos al principio es una de las reservadas y de las que se garantiza que no existan en internet. 4) SERVIDORES DE NOMBRES (DNS) ------------------------------ Esto supongo que ya "sonará" más. El famoso DNS. DNS = Domain Name Solver Es decir el "resoluctor" de nombres. Cuando estamos en internet, nosotros tecleamos simplemente www.microsoft.com y nos conectamos al ordenador de microsoft. ¿como es posible, si en un mensaje TCP, tiene que ir la dirección , es decir los 4 numeritos de dirección ? Pues alguien lo tiene que resolver. El TCP/IP sigue el siguiente orden: a) Primero busca a ver si existe un fichero llamado HOSTS en nuestro directorio de Windows. (ver un ejemplo que viene siempre en el fichero hosts.sam). En este fichero, tenemos asociadas direcciones a nombres (o podemos tener....) b) Si el fichero HOSTS no existe o bien no contiene el nombre que buscamos, entonces se lo preguntará al DNS. El DNS resuelve el nombre y nos devuelve dirección y ahora ya nuestro TCP, sabe a que dirección debe ir. 4) GATEWAY ---------- Es la dirección de la maquina que nos va a dar salida a la red. (suponiendo que exista tal maquina). Evidentemente si tal maquina no existe, somos "nosotros" mismos, o sea nuestra propia maquina. TABLAS DE RUTAS --------------- Bien creo que con estos conceptos, ya podemos empezar un poco. Vamos a analizar primero como está nuestra maquina. Supongamos que tenemos una tarjeta de red y un módem . Supongamos tambien que *no* estamos conectados a internet. Tal y como hemos visto antes, nuestra tarjeta de red, tendrá una dirección . Bien porque se la hemoss dado a mano, bien porque nos la ha dado un servidor DHCP. o bien porque Windows 98 se la ha "inventado". Tenemos el comando "winipcfg" para mirar la dirección . Igualmente (y yo lo utilizo mucho), el comando route print nos sacará una informacion similar a esta: Network Address Netmask Gateway Address Interface Metric 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 1 169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1 169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1 224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1 255.255.255.255 255.255.255.255 169.254.1.15 0.0.0.0 1 Fijemonos que muestor PC en este cao tiene la dirección 169.254.1.15 (inventada por win98), y tambien debemos saber, que la dirección 127.0.0.1 tambien es siempre nuestro PC (es la llamada "localhost") Esta tabla de rutas (que puede ser modificada y puede ser mucho mas complicada si tenemos varios adaptadores de red o bien tenemos abierta además una conexion telefonica), se lee de abajo a arriba. (y las direcciones que empiezen por 255 y 224 son reservadas y por tanto las ignoramos y las direcciones que terminene en 255 tambien estan reservadas). Leyendola de abajo a arriba quiere decir: a) Ignoramos la ultima, penultima y anterior. Ahora nos encontramos con 169.254.1.15 su mascara es 255.255.255.255 (es decir se refiere a esa SOLA dirección ), y si gateway es el 127.0.0.1 es decir el "localhost" por tanto es la dirección de la propia maquina. Mejor dicho, la dirección de la tarjeta de red de nuestro PC. ESTO ES IMPORTANTISIMO. b) Para las direcciones 169.254.0.0 mascara 255.255.0.0 es decir entonces para cualquier dirteccion del tipo 169.254.x.x el gateway es 169.254.1.15, es decir nuestra propia tarjeta de red. Por tanto, todo lo que enviemos a cualquiera de esas direcciones, saldrá por la tarjeta de red. c) 127.0.0.0 es igual a "localhost". d) No hay mas, por tanto cualquier otra dirección , nos dará inmediatamente un error de dirección o dirección no encontrada. Pero inmediatamente, sin llegar a salir de a la red. ** Veamos ahora un caso mass complicado. La misma maquina y además de la tarjeta de red, abrimos una comunicacion telefonica. Network Address Netmask Gateway Address Interface Metric 0.0.0.0 0.0.0.0 195.232.3.129 195.232.3.129 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 2 169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1 169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1 195.232.3.0 255.255.255.0 195.232.3.129 195.232.3.129 1 195.232.3.129 255.255.255.255 127.0.0.1 127.0.0.1 1 195.232.3.255 255.255.255.255 195.232.3.129 195.232.3.129 1 224.0.0.0 224.0.0.0 195.232.3.129 195.232.3.129 1 224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1 255.255.255.255 255.255.255.255 195.232.3.129 195.232.3.129 1 Leamosla de abajo a arriba: a) Ignoramos las 4 ultimas por el razonamiento anterior. b) La primera significativa es la 195.232.3.129. Con mascara 255.255.255.255 apunta al localhost. Por tanto esta es la dirección que me acaba de asignar mi proveedor de internet a mi tarjeta de red (en este caso el módem ). Tambien vemos que para los 255 PCs de la submascara de red permitidad, están disponibles directamente en mi subred (resto de PCs de mi subred que el proveedor me dejaria acceder inmediatamente sin salir a internet). c) Luego, ascendiendo en la tabla de rutas nos encontramos con lo visto anteriormente. Pero con un detalle curioso. La metrica de los PCs de mi subred a traves de la tarjeta adaptadora es la "2". Por tanto, se acaban de "enumerar" los adaptadores de red. Primero el módem , y luego mi tarjeta de red. Esto es importante. d) Y por fin vemos arriba del todo que para cualquier dirección (0.0.0.0) que no hayamos encontrado antes en la tabla de rutas e investigando primero por orden de las metricas correspondientes, mi gateway es mi dirección IP a traves del módem y por tanto saldré a la red a traves del módem . ** Y con esto, creo que podemos ya tener una pequeña idea sobre el TCP/IP. UN ADAPTADOR "ESPECIAL" DE RED: EL módem ---------------------------------------- **** Bueno, y ese será el siguiente capitulo......
Volver a
Artículos y FAQs
|