Redes de Computadores Tema 06 Arquitectura en capas Aplicación Aplicación Presentación Presentación Sesión Sesión Transporte Transporte Red Red Enlace Enlace Físico Físico Red de comunicación de datos 1 Capas Aplicación Mensajes Presentación SW Formatos App Extremos Sesión Segmentos Transporte SO Red Enlace HW Físico Sesiones NIC Paquetes Tramos Infra Tramas Bits Capas y TCP/IP 2 Nivel de Aplicación Aplicación Aplicación Presentación Presentación Sesión Sesión Transporte Transporte Red Red Red Enlace Enlace Enlace Físico Físico Físico Red de comunicación Red de comunicación RFCs • Request For Comments • Es una propuesta de protocolo para usar en Internet. • Se le asigna un número. No puede repetirse, aunque haya RFCs obsoletos o descartados • Un protocolo suele tener un RFC que lo describe y otros que lo amplían. • Primero se crea un Internet-draft, muy detallado, si se aprueba, pasa a convertirse un RFC. • www.rfc-editor.org – IP, RFC 791 – ICMP, RFC 792 -UDP, RFC 768 -TCP, RFC 973 3 IP vs Nombres Cliente IP: 192.168.0.2 Msk: FF.FF.FF.0 Gw: 192.168.0.1 IP: 192.168.0.1 Msk: FF.FF.FF.0 Gw: 220.230.12.93 Servidor IP: 220.210.2.9 Nombre: servidor.com URL: http://www.servidor.com/ DNS • Domain Name Service – RFC 882, 883 RFC 1034, 1035 – Base de datos distribuida, que asigna datos (IP) a un nombre simbólico. • Como funciona – El cliente usa un “programa” (resolver) para pedir información del nombre (necesita una dirección IP de un servidor DNS) – El servidor DNS comprueba el nombre en su BBDD, si está, envía la información. Si no, contacta con otro servidor, dentro de su lista, que pueda resolver el nombre – Los servidores mantienen una chaché, con nombres usados recientemente – Usa protocolo UDP • Ventajas – Los nombres simbólicos son mas fáciles de recordar – Pueden cambiarse las direcciones IP, y seguir usando el mismo nombre simbólico • Inconvenientes – Se necesita una traducción de nombres a IP (servidores, usar protocol) – Alguien debe regular la asignación de nombres – Requiere un poco más de tráfico en la red 4 Nombres DNS • Sigue una estructura jerárquica – Dominios generales, 3+ letras ( .com, .edu, .gov, .mil, .net, .org, .biz, .info, .name,.pro) – Dominios nacionales, 2 letras (.es, .uk, .tv) – Nivel superior (arpa) – Subdominios (se ponen delante: .es, .upm.es, .euiti.upm.es ) • Formato – Letras minúsculas (no distingue) – Cada componente hasta 63 caracteres, total 255 caracteres • Protocolo • Whois ( ¿Quién registró este dominio? ) – www, ftp, pop3, smtp,… (www.upm.es, ftp.upm.es) – Los dominios se registran mediante alguna empresa colaboradora de IAA / ICANN HTTP • HTTP (Hypertext transfer protocol) – RFC 2616 – Peticiones del cliente en ASCII (7 bits) – Respuestas en formato MIME (Multipurpose Internet Mail Extension, RFC 822, 2045-2049) • URL (Uniform Resource Allocator) – Es una cadena de caracteres que identifica un recurso (fichero) de forma unica – protocolo://máquina/directorio/fichero.ext • • WWW ( World Wide Web ) Funcionamiento – Usa TCP, normalmente puerto 80 – El cliente usa un “programa” (brwoser o navegador) para pedir una “página web” (html) o un fichero (jpg, gif, pdf, etc.) – (El navegador resuelve la dirección y el protocolo) – El servidor proporciona la página o fichero, y la envía al cliente – Se pueden usar páginas generadas dinámicamente (cgi, PHP, JSP, Java) – El cliente muestra la página con los formatos que se indican en ella, incluyendo hyperlinks (puede tener JavaScript , un applet de java, o un control ActiveX) • • Servidores: Apache, Microsoft IIS, … ¿Os interesa saber más? 5 Página web <HTML> <HEAD> <TITLE> titulo de la pagina </TITLE> </HEAD> <BODY> Texto de la página <TABLE> <TR> <TD>Celda1</TD> <TD>Celda 2</TD> </TR> <TR> <TD>Celda3</TD> <TD>Celda 4</TD> </TR> </TABLE> <A href=http://www.otrositio.com/pagina.html>Enlace</A> </BODY> </HTML> TELNET,SSH • Servicio de terminal virtual en red (NVT) – RFC-854-861 – SSH es una versión segura • Funcionamiento – Usa TCP, normalmente puerto 23 – El cliente se conecta usando un programa cliente, abriendo una “sesión” – El servidor acepta la conexión, recibe datos (entrada por teclado) y envía respuestas (salida por pantalla) – El servidor realiza los comandos que le envía el cliente, y manda los resultados a éste 6 TELNET,SSH FTP,TFTP,SFTP • File Transfer Protocol – – – – RFC-114 959 Permite examinar un directorio remoto, “subir” y “bajar” ficheros TFTP es una versión que usa UDP SFTP es una versión usando SSH (conexión segura) (Filezilla) • Funcionamiento – Usa TCP, 2 puertos 20 (datos) y 21 (control) – El cliente usa un programa de FTP (o un navegador) – Conecta con el servidor, indicando IP (o nombre). Puede conectar como anonymous o con clave de usuario – El servidor acepta la conexión, y acepta comandos como listar directorio, cambiar directorio, descargar o cargar un fichero, cancelar, desconectar – Los ficheros, los datos, se envían por otra conexión. – Los ficheros se pueden transmitir en modo ASCII o binario 7 Cliente FTP Correo electrónico • Funcionamiento – Un servidor almacena mensajes de correo, manteniendo un buzón para cada usuario registrado – El usuario se conecta al servidor usando un programa cliente, que permite escribir un mensaje y enviarlo a una direccion de correo electrónico, y recibir los mensajes en el buzón. También puede borrar los mensajes que ya no quiera – El usuario necesita un nombre de correo electrónico, un nombre de usuario, y una contraseña – El contenido puede ser sólo texto, o un tipo MIME (texto con formato, imagen, audio, etc.) • Dirección de correo electrónico – Se compone de [email protected] (ej: [email protected]) – Distingue mayusculas y minusculas 8 SMTP • Simple Mail Transfer Protocol – RFC-2821 – Envía un correo electrónico a una dirección • Funcionamiento – Usa TCP, puerto 25 – El cliente se conecta a un servidor SMTP – El servidor acepta la conexión e indica si está preparado o no para recibir correo – El cliente envía la dirección destino del correo, y la de origen – El servidor comprueba si la dirección destino existe, y lo indica – El cliente envía el contenido del correo – El correo queda almacenado en el buzón del destinatario POP3 • Post Office Protocol – RFC-2821 – Permite acceder al buzón de correo de un usuario de forma remota • Funcionamiento – Usa TCP, puerto 110 – El cliente se conecta a un servidor POP3, indicando su nombre de usuario y contraseña – El servidor acepta la conexión, el cliente recoge los mensajes que hay en el buzón del usuario en el servidor – Los mensajes en el servidor se borran (opcional) – El usuario entonces puede ver los mensajes 9 IMAP • Internet Message Access Protocol – RFC-3501 – Permite acceder al buzón de correo de un usuario de forma remota, en “modo interactivo” • Características – Usa TCP, puerto 143 – Permite disponer de carpetas en el servidor – Tiene opciones para gestionar el correo en el servidor: • • • • Modo conectado o desconectado Filtrar u ordenar correo por atributos Obtención parcial de los mensajes … Cliente de corrreo 10 IRCP • Internet Relay Chat Protocol – RFC-1459 • Funcionamiento – El cliente se conecta usando un programa cliente, que suele tener una parte para escribir y otra para recibir texto – El servidor acepta la conexión – El cliente puede escoger “unirse” a salas de chat (/join), estableciendo una nueva conexión – En cada sala de chat, el cliente envía el texto que escribe el usuario. En la ventana van apareciendo los mensajes que envían todos los usuarios de la sala, con su nombre Cliente IRC 11 Cliente/Servidor • Arquitectura Cliente/Servidor – Servidor: Un programa acepta peticiones. Está claramente identificado (tiene una dirección y puerto) – Cliente: Un programa que pide un servicio (a un servidor) – Deben cumplir un protocolo común – Pueden estar en distintas máquinas, o en la misma. – Servicio centralizado, aporta control. – Si el servidor se desconecta o falla, no está disponible el servicio Esquema C/S 12 P2P • Peer To Peer – No existe un programa servidor especial – Cada nodo se comporta como servidor y como cliente: acepta conexiones y pide conectar con otros nodos – Se necesita un protocolo de funcionamiento común – Si un nodo falla, hay otros nodos – La información y el control no están centralizados – Los nodos no necesariamente están claramente identificados – ¿Cómo se encuentran unos a otros? Esquema P2P 13 P2P y directorios • Directorios – Son servidores C/S – Un nodo (actúa como cliente) conecta con el servidor y le indica que está disponible. El servidor lo almacena, con su dirección actual. – Cuando un nodo desconecta, el servidor también lo anota. – Un nodo solicita información al servidor acerca de otro nodo. El servidor le indica la dirección actual. – El nodo conecta como cliente con el otro nodo (éste actua como servidor) – Ambos nodos pueden ahora realizar su comunicación C/S, P2P, directorios 14 Un servidor Web HTM L GET www.upm.es/pagina1.html Apache POST www.upm.es/login.html user=pepe passwd=lamisma Un servidor Web+Scripts HTM L Apache + PHP .php POST www.upm.es/login.html user=pepe passwd=lamisma 15 Arquitectura de 3 Capas web server + PHP POST www.upm.es/login.html user=pepe passwd=lamisma HTM L .php BD eMule • Servicio de transmisión de archivos, – basado en P2P, usa protocolo eDonkey2000, y Kad – Existen servidores C/S, como directorios – Cada archivo se divide en partes de 9,5Mbytes, y se identifica mediante una clave hash. – Un nodo debe conectarse a un servidor, y le envía qué archivos comparte, y sus claves hash. – Un nodo puede realizar búsquedas de archivos, en el servidor o en la red de servidores. – Para iniciar una descarga, un nodo obtiene del servidor la lista de nodos que comparten el archivo. – El nodo conecta con los nodos de la lista, pidiendo partes del archivo. – Los nodos, en modo servidor, aceptan peticiones de parte de otros nodos. Cada petición la colocan en una cola de peticiones. – La cola de peticiones tiene prioridades, según una puntuación. Cuanto más partes de fichero se han enviado a otros, más prioridad se asigna para recibir – Cuando le llega el turno a un nodo, se inicia la transferencia de una parte del archivo – Pueden mantenerse varias conexiones de subida y de bajada a la vez 16 eMule eMule 17 eMule Skype • Servicio de voz y videollamada – Basado en una red P2P + servidor de directorio – Protocolo propietario. Gratis algunos servicios: • Videollamadas • Conferencias • Chat – El programa cliente, capta la voz, que se codifica como muestras. Comprime los datos mediante un algoritmo y los encripta. – SkypeOut: Uso de Skype para conectar con un teléfono en la red de telefonía – SkypeIn: Uso de Skype para admitir llamadas desde la red de telefonía (se precisa un número) – Los servidores se usan como directorio, no reciben datos de voz, excepto con SkypeIn y SkypeOut 18 Skype Skype 19 La “nube” (cloud) La “Nube” • Navegador web como IU • Ampliado con JavaScript • Almacenamiento de archivos, en servidor remoto • Parte del proceso, en servidor 20 Seguridad • • • • • • Perdida de datos Daños en equipos Uso indebido de recursos Confidencialidad Almacenamiento de datos Robo de datos / robo económico (hurto) • Chema Alonso: hacker y cómico - Creo en internet Seguridad-Terminología • Vulnerabilidad – Programas con defectos • Amenaza – Sistemas no actualizados – Passwords débiles • • • • • • Ataque Hacker / Cracker / Mula / Phising Virus / Worm Acoso (bullying) Payload 21