Redes de Computadores
Tema 06
Arquitectura en capas
Aplicación
Presentación
Sesión
Transporte
Red
Enlace
Físico
Aplicación
Presentación
Sesión
Transporte
Red
Enlace
Físico
Capas
Aplicación Presentación Sesión Transporte Red Enlace Físico Mensajes Formatos Sesiones Segmentos Paquetes Tramas Bits HW SW NIC Infra SO App Tramos ExtremosCapas y TCP/IP
Nivel de Aplicación
Aplicación Presentación Sesión Transporte Red Enlace Físico Red de comunicación Aplicación Presentación Sesión Transporte Red Enlace Físico Red de comunicación Físico Enlace RedRFCs
• 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 -UDP, RFC 768 – ICMP, RFC 792 -TCP, RFC 973
IP vs Nombres
IP: 192.168.0.1 Msk: FF.FF.FF.0 Gw: 220.230.12.93 Cliente IP: 192.168.0.2 Msk: FF.FF.FF.0 Gw: 192.168.0.1 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
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
– www, ftp, pop3, smtp,… (www.upm.es, ftp.upm.es)
• Whois ( ¿Quién registró este dominio? )
– 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?
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
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
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])
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
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 • …
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/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
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?
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
Un servidor Web
Apache HTM L GET www.upm.es/pagina1.html POST www.upm.es/login.html user=pepe passwd=lamismaUn servidor Web+Scripts
Apache + PHP HTM L POST www.upm.es/login.html user=pepe passwd=lamisma .phpArquitectura de 3 Capas
web server + PHP HTM L POST www.upm.es/login.html user=pepe passwd=lamisma .php BDeMule
• 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
eMule
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
Skype
La “nube” (cloud)
La “Nube”
• Navegador web como IU • Ampliado con JavaScript • Almacenamiento de
archivos, en servidor remoto
• Parte del proceso, en servidor
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