11 aplicaciones tcp ip

14
Aplicaciones TCP / IP Introducción Para entender las aplicaciones que utilizan las redes TCP/IP, un técnico necesita conocer las estructuras que las hacen funcionar. Por ejemplo ¿Han abierto alguna vez varias páginas WEB en un único ordenador? ¿Han ejecutado varios programas de internet, como navegadores Web, clientes de correo electrónico y programas de chat, todo al mismo tiempo? Claramente, se transmiten muchos datos entre los distintos ordenadores involucrados. Siempre que se envíen paquetes entre dos, tres o mas ordenadores, tiene que haber un mecanismo, un proceso, algo que sepa dónde enviar los datos y como recibirlos. Este proceso funciona gracias al uso de algunos protocolos tan importantes de la capa de transporte (4) como TCP, UDP e ICMP, así como un elemento del que hablamos en la clase anterior, la numeración de puertos. Cuando se utilizan juntos TCP y UDP juntos con los números de los puertos permiten trabajar en una red. Protocolos de capa transporte No hay nada que corresponda a TCP/IP. En realidad, TCP seguido de IP es en realidad muchas otras cosas como HTTP, DCHP, POP y así hasta 500 términos más sobre TCP. Además de UDP y ICMP sobre IP. Para apreciar cómo funcionan las aplicaciones TCP/IP veremos un poco de estas para ver en medida como colaboran para que funcionen las aplicaciones. Para empezar con este proceso, consideremos como se inicia la comunicación humana y verán como algunas coincidencias se dan tanto en los ordenadores como en las personas. Como comunicarse Imaginen que vamos a la cafetería de la escuela. En primer lugar se dirigen con Doña CHOFI que es la persona que está preparando los ricos tacos, gorditas, etc. Y se empieza una conversación como a continuación se describe:

Transcript of 11 aplicaciones tcp ip

Page 1: 11 aplicaciones tcp ip

Aplicaciones TCP / IP

Introducción

Para entender las aplicaciones que utilizan las redes TCP/IP, un técnico necesita conocer las estructuras que las hacen funcionar. Por ejemplo ¿Han abierto alguna vez varias páginas WEB en un único ordenador? ¿Han ejecutado varios programas de internet, como navegadores Web, clientes de correo electrónico y programas de chat, todo al mismo tiempo? Claramente, se transmiten muchos datos entre los distintos ordenadores involucrados. Siempre que se envíen paquetes entre dos, tres o mas ordenadores, tiene que haber un mecanismo, un proceso, algo que sepa dónde enviar los datos y como recibirlos.

Este proceso funciona gracias al uso de algunos protocolos tan importantes de la capa de transporte (4) como TCP, UDP e ICMP, así como un elemento del que hablamos en la clase anterior, la numeración de puertos. Cuando se utilizan juntos TCP y UDP juntos con los números de los puertos permiten trabajar en una red.

Protocolos de capa transporte

No hay nada que corresponda a TCP/IP. En realidad, TCP seguido de IP es en realidad muchas otras cosas como HTTP, DCHP, POP y así hasta 500 términos más sobre TCP. Además de UDP y ICMP sobre IP.

Para apreciar cómo funcionan las aplicaciones TCP/IP veremos un poco de estas para ver en medida como colaboran para que funcionen las aplicaciones.

Para empezar con este proceso, consideremos como se inicia la comunicación humana y verán como algunas coincidencias se dan tanto en los ordenadores como en las personas.

Como comunicarse

Imaginen que vamos a la cafetería de la escuela. En primer lugar se dirigen con Doña CHOFI que es la persona que está preparando los ricos tacos, gorditas, etc. Y se empieza una conversación como a continuación se describe:

Juan: ¡Hola!

Doña Chofi: ¿Qué le voy a servir?

Juan: Querría unos dos tacos

Doña Chofi: ¿de que los va a querer?

Y entonces pedimos el tipo de taco que vamos a querer, y una vez que no los da, decimos,

Juan: ¡Gracias!

Doña Chofi: ¡De nada!

Page 2: 11 aplicaciones tcp ip

En el mundo de las conexiones de red, esto se llamaría comunicación de conexión orientada. En primer lugar saludamos, posteriormente, se produce la conversación dirigida y por último, cierran la comunicación.

Imaginemos que en el camino a pedir nuestra comida vemos a un amigo sentado en una mesa en la que nos sentamos siempre y como están atendiendo rápido, le decimos en voz alta “Pedro, ¡Apártame un asiento! En este caso, no estamos esperando que nuestro amigo nos responda. Solo le han dicho algo y esperamos que nos haya escuchado. Esto se conoce como comunicación sin conexión. No hay saludos ni fórmulas de cierre. Solo hemos lanzado una información y esperamos que la haya escuchado.

En el mundo de las conexiones de red, toda comunicación entre dos enrutadores se llama sesión. Cuando se abre una página Web, se produce una sesión. Cuando chatea con un amigo, se produce una sesión.

Todas las sesiones deben comenzar y, finalmente, terminar.

TCP

El protocolo de control de transmisión (TCP) es la forma en que TCP/IP realiza comunicaciones de conexión orientada TCP/IP. Es el tipo de sesión más común en las típicas redes TCP/IP.

En la siguiente figura vemos a dos ordenadores, uno de ellos (Servidor) ejecuta un servidor WEB y el otro (Cliente) abre un navegador Web. Cuando introducimos la dirección de un ordenador en el navegador del cliente, este envía un único paquete SYN (sincronizado) al servidor Web. Si paquete llega al servidor, este envía de vuelta un único paquete SYN, ACK (sincronizado, saludo). Posteriormente, el cliente envía al servidor un único paquete ACK e inmediatamente solicita al servidor que empiece a enviar la pagina Web.

Page 3: 11 aplicaciones tcp ip

Una vez que el servidor completa él envió de la página Web, envía un paquete FIN (finalizado). El cliente responde con un paquete RST, ACK (Reiniciar, saludo) y la sesión finaliza, como nos lo muestra la siguiente figura:

La mayoría de las aplicaciones utilizan TCP porque las sesiones de conexión orientada se han diseñado para la comprobación de errores.

Si un ordenador receptor detecta un paquete perdido, solicita una repetición.

UDP

El protocolo de datagrama de Usuario (User Datagram Protocol, UDP) ocupa el segundo puesto después de TCP según el número de aplicaciones que lo utilizan, pero tiene la misma importancia que TCP. Se utiliza para sesiones que no ocupan infraestructura de conexión orientada. Un ejemplo es el protocolo DHCP (protocolo de configuración dinámica de host), ya que DHCP no puede asumir que hay otro ordenador preparado a otro lado de la sesión, solo envía la información del paso en cuestión sin ningún tipo de confirmación. Otro protocolo seria TFTP (Protocolo de transferencia de ficheros trivial)

¡Hola a todos! ¿Puede darme

alguien una dirección IP?

Tengo una que puedes util izar si lo necesitas.

¡Nos te preocupes! !Tengo una!

De acuerdo,puedes utilizar

esta direccion IP por ahora: 142.25.1.6

Servidor

Cliente

Page 4: 11 aplicaciones tcp ip

ICMP

Vimos que TCP y UDP son dos tipos de conexiones una orientada y la otra sin conexión respectivamente y que ambas gestionan y modifican sus paquetes en el sentido clásico con las direcciones IP origen, destino, los números de puertos destino y origen. Una única sesión puede comprender uno o varios paquetes.

En algunas ocasiones las aplicaciones son tan simples que siempre se realizan sin conexión y nunca necesitan más de un paquete. Estas se conocen como Protocolo de mensaje de control de Internet (ICMP). No vera muy a menudo este tipo de aplicaciones, pero si vera los resultados.

ICMP trata temas rutinarios como los mensajes de desconexión (servidor no disponible, red no disponible) que las aplicaciones utilizan para que el otro lado de la sesión sepa lo que está ocurriendo.

Un ejemplo más de este protocolo es el comando PING. Esta es una aplicación que funciona enviando un único paquete ICMP llamado solicitud de eco a una dirección IP específica, todos los ordenadores que ejecutan TCP/IP responden a las solicitudes de eco con otra solicitud de eco, como aparece en la siguiente figura.

IGMP

El protocolo de administración de internet es otra pequeña pero importante aplicación. El reto de la multidifusión es determinar quién quiere y quien no quiere recibirla. IGMP es el pegamento que utiliza los enrutadores para comunicarse con los servidores para determinar la pertenencia a un “grupo”. Una difusión en concreto se asigna a la dirección 224/8 y los que quieren recibir esta multidifusión deben comunicarlo al enrutador o al conmutador.

Veamos la siguiente figura para entenderlo más gráficamente:

Page 5: 11 aplicaciones tcp ip

¿Quien quiere

unirse a mi grupo y leer mi carta?

!Yo lo hare? !Y yo! No

Gracias

Supongo

IGMP en acción

El poder de los números de puerto

Si queremos entender el poder del protocolo TCP/IP debemos conocer a profundidad los números de los puertos. Como recordaremos los puertos hacen funcionar NAT. Y también que son cruciales para proteger nuestra red, hacer que los enrutadores funcionen correctamente y demás situaciones.

Es fundamental como técnicos conocer estos puertos y la manipulación de los mismos.

Sabemos que todas las aplicaciones TCP/IP requieren un cliente y un servidor. Hay números de puertos claramente definidos para la conocida aplicación TCP/IP.

Por ejemplo, los servidores Web utilizan el número de puerto 80. Los números de 0 a 1023 se conocen como puertos conocidos (predeterminados) y se reservan para aplicaciones TCP/IP específicas.

Cuando un cliente Web (pongamos que su ordenador utiliza Firefox) envía un HTP ACK a un servidor Web para solicitar una página Web, el paquete IP de su ordenador tiene un aspecto similar al que aparece en la siguiente figura.

PAQUETE HTTP ACK

Page 6: 11 aplicaciones tcp ip

Como pudimos apreciar, el número de puerto destino es 80. El ordenador que ejecuta el servidor Web lee el número de puerto de destino, comunicándoles que envié el paquete de entrada al programa del servidor.

Y el número de puerto origen como ya lo hemos comentado lo genera nuestro ordenador Web. Sabemos que dependiendo del sistema operativo con el que contemos oscilarán entre 1024-5000, los números de puertos asignados clásicamente como números de puertos fugaces, y entre 49152-65535 los números de puertos dinámicos o privados, pero los ordenadores con los que trabajamos actualmente pueden utilizar cualquiera de ellos.

IANA recomienda que solo se utilicen el último rango de puertos como puertos fugaces.

Retomando la figura anterior les muestro el mismo paquete pero ya con una información más completa.

Ya cuando el servidor responde al cliente Web, utiliza un numero de puerto fugaz como puerto de destino para mandar la información de vuelta al cliente Web abierto en el ordenador del cliente. Como lo muestra la siguiente figura:

Page 7: 11 aplicaciones tcp ip

Puertos registrados

Los números de puerto del 1024 al 49151 se conocen como puertos registrados. Donde se puede registrar las aplicaciones menos comunes de TCP/IP con IANA. Al contrario delos puertos conocidos, cualquiera puede utilizar los puertos de sus servidores o para puertos fugaces en clientes.

La mayoría de los sistemas operativos evitan utilizar estos números de puerto como puertos fugaces y, en su lugar, optan por números dinámicos/privados.

0 – 1023 Números de puertos conocidos

1024 – 49151 Puertos registrados

49152 – 65535 Puertos dinámicos o privados.

Algo muy importante, los ordenadores deben registrar el estado de la comunicación. En el mundo de TCP/IP, la información de la sesión se almacena en la RAM y se le llama socket o punto final. Cuando se habla de los datos que se almacena con respecto a la comunicación entre dos ordenadores se llama par de sockets o puntos finales. Una sesión o conexión se refiere a la conexión en general, más que a TCP/IP. El término sesión se sigue utilizando mucho:

Socket o punto final : Termino para los datos de la conexión almacenados en un único ordenador. Par de sockets o puntos finales : Términos para los datos de la conexión almacenados en dos

ordenadores sobre la misma conexión. Sesión o conexión : Términos para la interconexión completa.

Cuando dos ordenadores empiezan a comunicarse, almacenan la información relativa a la conexión, los puntos finales, de modo que ambos saben dónde enviar y recibir datos.

Si queremos saber que ordenador se está comunicando con quien, necesita ve la lista de puntos finales. Para poder apreciar lo anterior podemos utilizar el comando NETSTAT –n. Pág. 318.

Nota: Aunque casi todos los sistemas operativos utilizan NETSTAT, hay pequeñas diferencias en las opciones de salidas. NETSTAT le permite ver las conexiones TCP/IP de un vistazo.

No solo esta utilidad nos sirve para ver puntos finales existen otras como TCPView, la cual nos permite realizar la misma operación pero con la diferencia de que esta utilidad se está actualizando constantemente.

Si desearan descargarlo lo pueden hacer desde esta página:

Http://technet.microsoft.com/en-us/sysinternals/default.aspx

Una de las características es que nos señala con color roja las sesiones cerradas y con color verde las sesiones que acaban de aparecer. TPCView solo funciona para Windows, para Linux se puede utilizar Net Activity.

Page 8: 11 aplicaciones tcp ip

Estado de la conexión

Como el estado de las conexiones cambia continuamente es útil entenderlo en un momento dado. Un socket que está preparado para responder a los paquete IP destinados para el numero de puerto del socket en cuestión se conoce como puerto abierto o puerto escucha.

Por ejemplo si ejecutamos un servidor Web , tendremos un puerto 80 abierto, mediante el siguiente comando NETSTAT –AN podremos apreciar todos los puertos abiertos que tenga nuestro ordenador.

Veamos parte de la información que nos muestra esta utilidad:

C:\> netstat –an

Conexiones activas

Protocolo Dirección local Dirección externa Estado

TCP 0.0.0.0:455 0.0.0.0:0 ESCUCHA

Indica que este puerto recibe paquetes entrantes para mi PC y para todas las NIC que tenga instalada.

TCP 192.168.4.27:445 192.168.4.83:1073 ESTABLECIDO

Indica que las solicitudes de entrada utilizan el puerto 445 para mis carpetas compartidas. En este momento el ordenador 192.168.4.83 está accediendo a una de mis carpetas compartidas.

TCP 192.168.4.27:57913 63.246.140.18:80 CERRADO_ESPERA

Los puertos establecidos son pares de punto final activos y en funcionamiento. Con el tiempo, todas las conexiones acaban por cerrarse como la anterior.

TCP 192.168.4.27:52312 74.125.47.108:80 TIEMPO_ESPERA

Indica que nuestro navegador ha perdido la conexión al otro lado y esta esperando un tiempo establecido. La mayoría de los navegadores se desconectan en unos dos minutos.

TCP 192.168.4.27:52312 74.125.47.108:80 ESTABLECIDO

Nos indica que se está transfiriendo datos entre dos ordenadores, siempre debe haber algún programa que realice los envíos y/o recepciones.

Viendo el 80 podemos suponer que la conexión llega a un servidor Web. Pero ¿Qué programa lo esta enviando?, para poder saber que programa los esta enviando y que programas se están ejecutando, intriduzcan el comando NETSTAT –ANO. Nos mostrara algo parecido a la siguiente línea:

Protocolo Dirección local Dirección externa Estado ID

TCP 192.168.4.27:52312 74.125.47.108:80 ESTABLECIDO 112092

Page 9: 11 aplicaciones tcp ip

Nota: el conmutador –a comunica a NESTAT que muestre todos los puertos utilizados. El conmutador –n solicita a NETSTAT que muestre los números de puertos sin utilizar y las direcciones IP y –o nos muestra el proceso ID.

Todos los programas que están funcionando en un ordenador se someten a proceso ID (PID), un numero utilizado por el sistema operativo para registrar todos los programas que se estén ejecutando.

Una sencilla herramienta para determinar que programas están utilizando un PID es la utilidad Process Explorer. (Estos comando los utilizaremos en laboratorio el viernes para visualizar lo teórico en lo practico).

También nos ayuda a determinar programas abiertos que no deberían estarlo.

La Web

La web se compone de servidores que almacenan especialmente documentos formateados utilizando un lenguaje llamado “lenguaje de marcado de hipertexto”. Muchas páginas están escrito en este lenguaje o en algunas versiones como XHTML con una sintaxis XML.

Los navegadores están diseñados para solicitar paginas HTML y abrirlas. Para acceder a una página introducimos http:// y la dirección IP del servidor WEB.

La mayor de las veces, solo introducimos el nombre de la página, debido a que utilizamos el protocolo de sistemas de nombres de dominio, es que nuestro ordenador puede convertir las direcciones IP.

Que diferencias podemos encontrar entre HTTP y HTTPS, capas de sockets seguros (SSL).

SSL es un protocolo desarrollado por NETSCAPE para transmitir documentos privados a través de internet, funciona con una clave pública para cifrar los

datos sensibles. Estos datos cifrados se envían atravez de una conexión SSL y después se descifran en el extremo receptor usando una clave privada

Page 10: 11 aplicaciones tcp ip

Links de apoyo: http://es.wikipedia.org/wiki/HTML5

http://www.suempresa.com/planes-de-hospedaje?utm_source=google&utm_medium=cpc&utm_content=hospedajeprofesionalincluye&utm_campaign=hospedajeweb&gclid=CJyE1Z76w7YCFRMbnQod9Q4A9w

http://es.wix.com/sitiowebgratis/es405?utm_source=google&utm_medium=cpc&utm_campaign=bi_sa_sp_latin_3%5Ehost-pagina_hosting_gratis&experiment_id=%2Bhospedaje+%2Bweb+%2Bgratis%5Eb%5E26336079423%5E1t3&gclid=CK2gsY_7w7YCFQyDnQod0wkAgA

http://es.wikipedia.org/wiki/Internet_Information_Services

https://es.wikipedia.org/wiki/Ataque_de_denegaci%C3%B3n_de_servicio

http://www.iis.net/

nuevo servidor web de origen chino

http://cofradia.org/2009/02/18/aparecio-un-nuevo-servidor-de-paginas/

Page 11: 11 aplicaciones tcp ip