Sie sind auf Seite 1von 7

780011.

Arquitecturas de Redes

Curso 2011/12

Notas de clase 5
D de clase: 31 de octubre de 2011 a Notas por: Javier de Pedro Carracedo

Estructuracin de los contenidos tericos o o


Clase de hoy. Principios de las aplicaciones de red. Arquitecturas de las aplicaciones de red. Servicios de transporte proporcionados por Internet. Prxima clase. o La Web y HTTP. Clase anterior. Capas de protocolos y sus modelos de servicio. Lecturas recomendadas: seccin 2.1 del libro de referencia. o

Principios de las aplicaciones de red


El desarrollo de una aplicacin de red implica escribir programas (en diferentes leno guajes, como C, Java y Python) que se ejecuten en distintos sistemas terminales y que se comuniquen entre s por medio de la red. No se requiere escribir software para los dispositivos del ncleo de la red (switches o u routers), dado que no operan en la capa de aplicacin, sino en las capas inferiores; o concretamente, en las capas de red e inferiores.

Arquitecturas de las aplicaciones de red


El desarrollador de aplicaciones disea la arquitectura de la aplicacin, que estan o blece cmo la aplicacin debe estructurarse en los diversos sistemas terminales. o o Dos paradigmas arquitectnicos predominan en las aplicaciones de red recientes: la o arquitectura cliente-servidor y la arquitectura P2P. 2 Arquitectura cliente-servidor. Existe un host activo, denominado servidor, que presta servicios a las solicitudes vertidas por otros muchos hosts, los clien tes. Estos pueden estar activos ininterrumpida o intermitentemente. Los clientes no se comunican directamente entre s El servidor, siempre activo, dispone de . una direccin ja y conocida. Entre las aplicaciones ms conocidas destacan las o a aplicaciones web, FTP, Telnet, correo electrnico, etc. o Normalmente, un unico servidor es incapaz de responder a todas las peticiones de sus clientes. Por tanto, en las arquitecturas cliente-servidor se implantan habitualmente granjas de servidores, a n de crear un servidor virtual de gran capacidad. 2 Arquitectura P2P. Existe una m nima, incluso ninguna, dependencia de una infraestructura de servidores, siempre activos. En su lugar la aplicacin explota o la comunicacin directa entre parejas de hosts, conectados de forma intermiteno te, conocidos como pares o peers. Dado que los pares se comunican sin pasar por un servidor dedicado, la arquitectura se denomina arquitectura peer-to-peer (P2P). Entre las aplicaciones ms populares sobresalen BitTorrent, eMule, Lia meWire, Skype, etc. Una de las caracter sticas ms seductoras de la arquitectura P2P comporta su a autoescalabilidad. Cada par genera una carga de trabajo, solicitando datos, pero tambin aade capacidad de servicio, distribuyendo datos a otros pares. e n La arquitectura P2P tambin presenta una relacin coste-prestaciones sugerene o te, pues normalmente no requiere una infraestructura de servidores ni un gran ancho de banda en el servidor. Sin embargo, las futuras aplicaciones P2P debern enfrentarse a los siguientes desaf a os: Orientadas al ISP. Tradicionalmente, los ISP residenciales se dimensionan para hacer un uso ((asimtrico)) del ancho de banda. e Seguridad. Dada su naturaleza extremadamente distribuida y abierta, las aplicaciones P2P habrn de atender aspectos de la seguridad. a

Incentivos. El xito de las aplicaciones P2P se supeditar al ofrecimiento e a voluntario de los usuarios, en trminos de ancho de banda, almacenamiento e y capacidad de cmputo. o

Procesos de comunicacin o
En el argot de los sistemas operativos, realmente no se comunican los programas, sino ms bien los procesos (programas en ejecucin). Los procesos de dos sistemas a o terminales diferentes, con sistemas operativos potencialmente distintos, se comunican entre s mediante el intercambio de mensajes, a travs de la red de comunicaciones. e En el contexto de una sesin de comunicacin entre una pareja de procesos, el proceso o o que inicia la comunicacin, es decir, el que inicialmente se pone en contacto con el o otro proceso, al comienzo de la sesin, se etiqueta como proceso cliente. El proceso o que se mantiene a la espera de ser contactado, para comenzar la sesin, comprende o el proceso servidor. Interfaz entre el proceso y la red de comunicaciones Un proceso env mensajes a la red y los recibe de la red por medio de una interfaz a software denominada socket. Un socket constituye la interfaz entre la capa de aplicacin y la capa de transporte o de un host; tambin se conoce como Interfaz de Programacin de Aplicaciones e o o API (Application Programming Interface). En denitiva un socket conforma la interfaz de programacin con la que se construyen las aplicaciones de red. o El desarrollador de la aplicacin dispone de control total sobre la capa de aplicacin o o del socket, apenas sobre la capa de transporte del socket; unicamente puede seleccionar el protocolo de la capa de transporte, si existen varios protocolos, y establecer diversos parmetros de la capa de transporte, como los tamaos mximos del buer y del a n a segmento.

Servicios de transporte disponibles para las aplicaciones


La eleccin de un protocolo de transporte, desde la perspectiva de un desarrollador o de aplicaciones de red, se subordina a los servicios que, ofrecidos por el protocolo de transporte, mejor se adapten a las necesidades de la aplicacin. o En trminos generales los servicios, brindados por un protocolo de transporte, pueden e clasicarse, atendiendo a cuatro parmetros: transferencia de datos able, tasa a de transferencia, temporizacin y seguridad. o

Transferencia de datos able


Si un protocolo de transporte proporciona un servicio de entrega de datos garantizado (recuperacin frente a prdidas de paquetes y paquetes corruptos), se dice o e que provee una transferencia de datos able. Algunas aplicaciones multimedia, como audio o v deo en tiempo real, pueden tolerar prdidas ocasionales de paquetes e (aplicaciones tolerantes a prdidas). e

Tasa de transferencia
La tasa de transferencia, en el marco de una comunicacin entre procesos, constituye o la tasa a la que el proceso emisor puede suministrar bits al proceso receptor. Puesto que otras sesiones compartirn el ancho de banda a lo largo de la ruta, y se iniciarn a a y nalizarn aleatoriamente, la tasa de transferencia disponible puede uctuar con el a tiempo. Las aplicaciones con requisitos de tasa de transferencia (tasa de transferencia garantizada) se denominan aplicaciones sensibles al ancho de banda.

Temporizacin o
Si un protocolo de transporte garantiza la entrega de los datos, extremo a extremo, en un tiempo acotado, se dice que aporta temporizacin. o

Seguridad
Un protocolo de transporte puede proporcionar uno o ms servicios de seguridad, a como la condencialidad, la integridad de los datos, la autenticacin, etc. o

Servicios de transporte proporcionados por Internet


Internet pone a disposicin de las aplicaciones dos protocolos de transporte: TCP o (Transmission Control Protocol ) y UDP (User Datagram Protocol ). Cada uno de estos protocolos ofrece un conjunto diferente de servicios a las aplicaciones que los invocan. La Tabla 1 detalla los requisitos de algunas aplicaciones de red t picas.
Tabla 1: Requisitos de algunas aplicaciones de red. Aplicacin de red o Documentos web Transferencia de archivos Correo electrnico o Telefon por Internet a Juegos interactivos Mensajer instantnea a a Prdidas de datos e Sin prdidas e Sin prdidas e Sin prdidas e Tolerante Tolerante Sin prdidas e Ancho de banda Flexible Flexible Flexible Hasta 1 Mbps Hasta 10 kbps Flexible Sensible al tiempo No No No S dcimas de s , e S dcimas de s , e S y no

Servicios TCP
El modelo de servicio TCP incluye un servicio orientado a la conexin (conexin o o TCP full-duplex ) y un servicio de transferencia able de datos, en el que se garantiza la entrega de bits sin errores y en el orden correcto (sin prdida ni duplicacin de e o datos). Tambin incluye un mecanismo de control de la congestin, como servicio e o para mejorar el funcionamiento general de Internet. Se limita cada conexin TCP, de o forma que se utilice una cuota equitativa del ancho de banda de la red.

Servicios UDP
UDP es un protocolo de transporte ligero no orientado a la conexin, muy simple, o que proporciona servicios m nimos. No proporciona un servicio de transferencia able de datos (ninguna garant de entrega) ni incorpora mecanismos de control de a la congestin, por lo que un proceso emisor puede inyectar bits en la red sin control o

de velocidad alguno. Los desarrolladores de las aplicaciones en tiempo real sol an decantarse por el protocolo UDP, tolerndose ciertas prdidas de datos. Hoy d los a e a rewalls estn congurados para que se bloquee prcticamente todo el trco UDP, a a a de forma que se est valorando ejecutar estas aplicaciones sobre TCP. a

Servicios no proporcionados por los protocolos de transporte de Internet


TCP y UDP no proporcionan mecanismos de cifrado de la informacin. No obstante, o se ha desarrollado una mejora para TCP, denominada Capa de sockets seguros o SSL (Secure Sockets Layer ). SSL no es un nuevo protocolo de transporte, sino una mejora de TCP, implementada en la capa de aplicacin. Proporciona servicios cr o ticos de seguridad (comunicacin entre procesos), entre los que se incluyen mecanismos de o cifrado, de integridad de los datos y de autenticacin. o TCP y UDP no ofrecen garant relativas a la tasa de transferencia o la temporias zacin. Si bien Internet no entrega estos servicios satisfactoriamente, las aplicaciones o sensibles a estos parmetros operan aceptablemente, porque han sido diseadas para a n hacer frente a estas carencias. La Tabla 2 enumera los protocolos de transporte utilizados por algunas aplicaciones de Internet.
Tabla 2: Aplicaciones populares de Internet. Aplicacin de red o Correo electrnico o Web Transferencia de archivos Telefon por Internet a Protocolo de aplicacin o SMTP [RFC 5321] HTTP [RFC 2616] FTP [RFC 959] SIP, RTP, Skype Protocolo de transporte TCP TCP TCP T picamente UDP

Direccionamiento de procesos
Para identicar un proceso receptor, deben determinarse dos elementos de informacin: el nombre o direccin del host, la direccin IP, y un identicador que o o o especique el proceso de recepcin, el puerto. o

Protocolos de la capa de aplicacin o


Un protocolo de la capa de aplicacin dene cmo los procesos de una aplicacin, que o o o se ejecutan en distintos sistemas terminales, intercambian mensajes entre s concre; tamente: Los tipos de mensajes intercambiados (solicitud y respuesta). La sintaxis de los mensajes (campos y su delimitacin). o La semntica de los campos (signicado de los campos). a Las reglas que determinan cundo y cmo un proceso env mensajes y responde a o a a los recibidos. Algunos protocolos de la capa de aplicacin son de dominio pblico y aparecen recoo u gidos en documentos RFC (Request For Comments); p. ej., la especicacin de HTTP o (Hypertext Transfer Protocol ) est publicada en la RFC 2616. En cambio otros proa tocolos son propietarios, como sucede con muchos de los sistemas de comparticin de o archivos P2P existentes, que emplean protocolos de la capa de aplicacin propietarios. o Es importante distinguir entre aplicaciones de red y protocolos de la capa de aplicacin. Un protocolo de la capa de aplicacin es unicamente un elemento ms, a todas o o a luces trascendental, de una aplicacin de red. o En este curso se abordar el estudio de cinco aplicaciones de red habituales: Web, a transferencia de archivos, correo electrnico, servicio de directorio y P2P. o

Das könnte Ihnen auch gefallen