PDF de programación - Tema 2: Nivel de Aplicación - Redes de computadores

Imágen de pdf Tema 2: Nivel de Aplicación - Redes de computadores

Tema 2: Nivel de Aplicación - Redes de computadoresgráfica de visualizaciones

Publicado el 24 de Diciembre del 2019
919 visualizaciones desde el 24 de Diciembre del 2019
1,6 MB
82 paginas
Creado hace 9a (14/10/2014)
REDES DE COMPUTADORES

Tema 2: Nivel de Aplicación

2.1 Principios de las aplicaciones en red
2.2 DNS
2.3 Web y HTTP
2.4 Programación de la interfaz de acceso al servicio
de transporte fiable de Internet en JAVA: Sockets
con TCP
2.5 Programación de la interfaz de acceso al servicio
de transporte no fiable de Internet en JAVA:
Sockets con UDP



Some material copyright 1996-2010
J.F Kurose and K.W. Ross, All Rights Reserved

Departamento de

Tecnología Electrónica

Aplicación 2-1

Tema 2: Nivel de aplicación

Objetivos:
 Conceptos, aspectos

de implementación de
protocolos de
aplicación en red
 modelos de

servicio del nivel
de transporte

 paradigma cliente-

servidor

 paradigma P2P

 Aprender más sobre

protocolos estudiando
dos protocolos de la
capa de aplicación de
internet
 HTTP
 DNS

 Programando

aplicaciones en red
 socket API

Aplicación 2-2

Algunas aplicaciones en red

 Voz sobre IP (VoIP)
 Videoconferencia
 Computación en la nube

(cloud)

 …
 …


 e-mail
 web
 mensajería instantánea
 Acceso remoto
 Compartición de

archivos P2P
 Juegos online

multiusuario

 Streaming de video

(ej. YouTube)



Aplicación 2-3

Creando una aplicación en red

Aplicación
transporte

red

enlace
físico

escribir programas que

 Corran en (diferentes) sistemas

finales

 Se comuniquen a través de la red
 Ej: software de un servidor web
qué se comunica con el software
navegador web

no hay que hacer programas

para el núcleo de la red
 Los dispositivos del núcleo no
corren las aplicaciones de los
usuarios

 Al hacerlo en los sistemas finales
se acelera el tiempo de desarrollo
y propagación de la aplicación

Aplicación
transporte

red

enlace
físico

Aplicación
transporte

red

enlace
físico

Aplicación 2-4

Tema 2: Nivel de aplicación

2.1 Principios de las aplicaciones en red
2.2 DNS
2.3 Web y HTTP
2.4 Programación de la interfaz de acceso al servicio

de transporte fiable de Internet en JAVA:
Sockets con TCP

2.5 Programación de la interfaz de acceso al servicio

de transporte no fiable de Internet en JAVA:
Sockets con UDP



Aplicación 2-5

Arquitectura de las aplicaciones

cliente-servidor
peer-to-peer (P2P)
híbrido ente cliente-servidor y P2P

Dirección IP: identifica de forma única a los

Nota

equipos (sistemas finales, routers,…)
conectados a una red TCP/IP. La asigna el
ISP de forma estática (fija) o dinámica
(variable). Más en breve…

Aplicación 2-6

Arquitectura Cliente-servidor

cliente/servidor

Servidor:

 Equipo siempre-ON
 Dirección IP fija
 Granjas de servidores

por escalabilidad

Clientes:

 Se comunican con el

servidor

 De manera intermitente
 Con IPs dinámicas o fijas
 No se comunican

directamente entre ellos

Aplicación 2-7

Arquitectura P2P

 El servidor no está

siempre-ON

 Los sistemas finales se

comunican entre si de
manera arbitraria

peer-peer

 Los peers se comunican

de manera intermintente
y con direcciones IP
distintas en cada ocasión


muy escalable pero difícil

de gestionar

Aplicación 2-8

Híbrido cliente-servidor y P2P
Skype

 Aplicación voz-sobre-IP arquitectura P2P
 Servidor centralizado: encontrar dirección IP

del interlocutor remoto

 Conexión cliente-cliente: directa (sin pasar por

el servidor)

Mensajería instantánea

 La charla entre 2 usuarios es P2P
 Servidor centralizado: detecta presencia y

localización de los clientes

• Los usuarios registran su IP con el servidor

central al conectarse

• Los usuarios dialogan con el servidor central

en busca de la IP de su contacto



Aplicación 2-9

¿Cómo se implementa la capa de
aplicación?

Protocolo aplicación

A_PDU

Interfaz Usuario

Aplicación

T_SAP

Transporte

Interfaz Usuario

Aplicación

T_SAP

Transporte



Internet

Navegadores Web, p.e: Mozilla firefox, Internet Explore, Safari,…

Aplicación 2-10

El protocolo de nivel de aplicación define:

 Tipo de mensaje a

Protocolos de dominio

intercambiar,
 e.g., petición, respuesta

 Sintaxis del mensaje
 Número de campos y

delimitación entre ellos
 Semántica del mensaje

 Significado de los campos

 Reglas de cómo y

cuándo los procesos
envían y responden a los
mensajes

público:

 definidos en RFCs
 Permiten la inter-

operatibilidad

 Ej: HTTP, SMTP
Protocolos propietarios:
 Ej: Skype

Aplicación 2-11

Comunicación entre procesos

proceso: programa que corre en

Proceso cliente: proceso que

un equipo (en nuestro caso
implementa un determinado
protocolo de aplicación).

 En un mismo equipo, 2

procesos se comunican usando
comunicación entre-procesos
(la proporciona SO).
 Procesos en equipos

diferentes se comunican
intercambiando mensajes
(PDU) usando los servicios de
comunicación (en general los
proporciona SO)

inicia la comunicación

Proceso servidor: proceso

que espera a ser
contactado



 nota: las aplicaciones

P2P combinan ambos
procesos, cliente y
servidor

Aplicación 2-12

Sockets (SAP)

 Un proceso envía/recibe
mensajes a/de su socket
 Analogía con una puerta:
 El proceso emisor envía el

mensaje a través de la
puerta de salida

 El proceso emisor confía en

la infraestructura de
transporte que hay detrás
de la puerta, encargada de
llevar el mensaje hasta la
puerta del receptor

cliente o
servidor

proceso

socket

TCP con
buffers,
variables

Controlado por
el desarrollador

Internet

cliente o
servidor

proceso

socket

TCP con
buffers,
variables

Controlado
por el SO


 API: (1) elección del servicio de transporte ; (2)

posibilidad de fijar parámetros (a continuación...)



Aplicación 2-13

¿Cómo se identifica el socket?

 Para enviar una carta a un amigo es necesario saber

su dirección para que llegue al buzón de su casa.

 Cada sistema final tiene un dirección IP única

de 32 bits.

Nota



A las direcciones IP se les asocia un nombre, que
es el que se utiliza para identificar a los equipos.
Por ejemplo, www.dte.us.es = 150.214.141.196
Más sobre nombres en el apartado siguiente…

 P: ¿es suficiente con la dirección para hacer que

llegue la carta a un amigo?

 R: No, varias personas pueden estar viviendo en el

misma casa.

 Varios protocolos de aplicación pueden estar

ejecutándose en un sistema final.
 Navegador, lector de correo, Skype, …

Aplicación 2-14

¿Cómo se identifica el socket?

 Cada protocolo de

 La ICANN (Internet

aplicación se identifica
por un número de
puerto.

 El número de puerto

usado para identificar al
proceso cliente y
servidor en general no
coinciden.

Corporation for Assigned Names
and Numbers), se encarga del
registro de los puertos de
protocolos de aplicación
públicos.

http://www.iana.org/assignments/port-numbers
 Existen diferentes tipos

de puertos.

 Ej. de número de puerto:

 Un socket queda identificado

 Servidor HTTP: 80
 Servidor Email: 25
 Servidor DNS: 53



por:

 Dirección IP.
 Número de puerto.

Aplicación 2-15

Ejemplo

Interfaz Usuario

Aplicación

Dir IP cliente, puerto

Transporte



Internet

Servidor web DTE

Interfaz Usuario

Aplicación

150.214.141.196, 80

Transporte

Aplicación 2-16

Localhost: Conectando 2 procesos del mismo sistema final

 localhost: es un “nombre especial” que está asociado a una

dirección IP especial que sirve para identificar al propio sistema
final.

 Permite probar aplicaciones en red en un único sistema final sin

necesidad de estar conectado a una red.

 En general permite comunicar procesos en un mismo sistema final

usando los servicios de comunicaciones de Internet.


Nota

proceso1

socket1

proceso2

socket2

Servicio de

Comunicación de

Internet S.O.

Localhost suele tener asociado la IP
127.0.0.1, aunque puede ser otra. Más
en el tema 4…

P: ¿Por qué el Servicio de

Comunicación del sistema final
es capaz de distinguir a cada
proceso?

Aplicación 2-17

¿Qué servicios de transporte necesito?

Perdida de datos
 Algunas aplicaciones

toleran algo de perdida
(ej: audio, video)

 Otras requieren 100% de

fiabilidad (ej: login,
transferencia de archivos)

Temporización
 Algunas aplicaciones
precisan de retardos
cortos para ser
'efectivas' (ej:
telefonía por internet,
juegos interactivos)

Tasa de transferencia
 Algunas requieren una

tasa mínima para
funcionar adecuadamente
(ej: multimedia)

 Otras, conocidas como
“aplicaciones elásticas”,
hacen uso de la tasa
disponible en cada
momento
Seguridad
 Encriptación, integridad

de los datos, …

Aplicación 2-18

Requisitos de algunas aplicaciones comunes

Aplicación

transferencia ficheros
e-mail
páginas web
audio/vídeo en
tiempo real
audio/vídeo archivado
juegos interactivos
mensajería instantánea

Pérdida datos

sin pérdidas
sin pérdidas
sin pérdidas
tolerante

tolerante
tolerante
sin pérdidas

Tasa transferencia

elástica
elástica
elástica
audio: 5kbps-1Mbps
vídeo:10kbps-5Mbps
como la anterior
varios kbps
elástica

Sensible temp.

no
no
no
Sí, 100’s ms

Sí, pocos segs
Sí, 100’s ms
Sí y no

Aplicación 2-19

Servicios de los protocolos de Internet

Servicio TCP:
 Orientado a conexión: requiere

Servicio UDP:
 Transporte ligero, no

acuerdo previo entre los
procesos cliente y servidor
antes de iniciar la
transferencia

 Transporte fiable entre

procesos emisor y receptor
 Control de flujo: emisor no

saturará al receptor

 Control de congestión: uso

equitativo del ancho de banda

 No provee: temporización,

garantizar un ancho de banda,
seguridad

orientado a conexión y no
confiable entre procesos
emisor y receptor

 No provee: acuerdo previo
entre procesos, fiabilidad,
contol de flujo, control de
conges
  • Links de descarga
http://lwp-l.com/pdf17079

Comentarios de: Tema 2: Nivel de Aplicación - Redes de computadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad