Actualizado el 21 de Marzo del 2018 (Publicado el 15 de Marzo del 2018)
585 visualizaciones desde el 15 de Marzo del 2018
629,4 KB
168 paginas
Creado hace 13a (25/03/2012)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
DE COMUNICACIONES
DE COMUNICACIONES
(MÓDULO 2)
(MÓDULO 2)
(MÓDULO 2)
(MÓDULO 2)
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
F. I. M.
IMPLEMENTACIÓN DE PROTOCOLOS
F. I. M.
L.S.I.I.S
L.S.I.I.S
INGENIERÍA DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
DE COMUNICACIONES
DE COMUNICACIONES
(MÓDULO 2)
http://www.personal.fi.upm.es/~lmengual/inicio_IP.html
LUIS MENGUAL GALÁN
LUIS MENGUAL GALÁN
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
OBJETIVOS
OBJETIVOS
OBJETIVOS
OBJETIVOS
Describir las técnicas de descripción formal utilizadas para
especificar formalmente protocolos de comunicaciones y
especificar formalmente protocolos de comunicaciones y
presentar sus ventajas en la ingeniería de protocolos
Analizar las interfaces de programación más utilizadas en el
entorno corporativo: Sockets de Berkeley Windows
entorno corporativo: Sockets de Berkeley, Windows
Sockets, Sockets en Java.
Comprender las técnicas de implementación de aplicaciones
di t ib id
f
distribuidas utilizando las diferentes interfaces de
programación y el modelo cliente-servidor.
d l
dif
tili
t
i t
d
Estudiar el rendimiento de las implementaciones de software
cliente y servidor.
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
ÍNDICE
ÍNDICE
ÍNDICE
ÍNDICE
1. ESPECIFICACIÓN, DISEÑO Y VERIFICACIÓN DE
PROTOCOLOS
1.1 Niveles de descripción de una arquitectura estructurada
LUIS MENGUAL (c)
1.1.1 Definición de la Arquitectura
1.1.2 Especificación de servicios
1.1.3 Especificación formal de protocolos
q
1.2 Desarrollo de Protocolos
1 2 1 E
l
1.2.1 Especificación Formal
ifi
ió F
1.2.1.1 Validación
1.2.1.2 Verificación
1.2.1.3 Análisis de Prestaciones
1.2.2 Implementación
1.2.3 Conformidad
1.3 Metodologías de Especificación
j N
1 3 1 L
l
1.3.1 Lenguaje Natural
1.3.2 Grafos de Control de Comunicaciones
1.3.3 Máquinas de Estados Finitos Extendidas
1.3.4 Redes de Petri
1.3.4 Redes de Petri
1.3.5 SDL
1.3.6 Estelle
1.3.7 Lotos
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
1
ÍNDICE
ÍNDICE
ÍNDICE
ÍNDICE
2. IMPLEMENTACIÓN DE PROTOCOLOS (I)
2. IMPLEMENTACIÓN DE PROTOCOLOS (I)
2.1 Modelo cliente-servidor
e
2.1.1 Terminología y conceptos
o og a y co ceptos
2.1.2 Comparación con otros modelos
2.1.2.1 Aplicaciones peer to peer,
2.1.2.2 Teoría de Agentes
g
2.2 Modelo Unix
2.2.1 Comunicación entre procesos
2.2.2 Procesos Concurrentes
2.2.3 E/S asíncronas
2.3 Interfaces de Programación de Aplicaciones (API, Aplication
Programming Interface)
2.3.1 Funcionalidad y especificación de las Interfaces de
Programación
2.3.2 Interfaces existentes
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
1
ÍNDICE
ÍNDICE
ÍNDICE
ÍNDICE
2. IMPLEMENTACIÓN DE PROTOCOLOS (II)
2. IMPLEMENTACIÓN DE PROTOCOLOS (II)
2.4 Interfaz Sockets de Berkeley
2.4.1 Algoritmos de diseño Software Cliente
go t os de d se o So t a e C e te
2.4.1.1 Arquitectura del cliente
2.4.1.2 Tipos de clientes (TCP/UDP)
2.4.2 Implementación Software Cliente
2.4.2.1 Ejemplos clientes TCP/UDP
p
2.4.3 Algoritmos de diseño Software Servidor
2.4.3.1 Arquitectura del servidor
2.4.3.2 Tipos de servidores (TCP/UDP, concurrentes, iterativos)
2.4.4 Implementación Software Servidor
2.4.4.1 Servidores Iterativos no Orientados a Conexión (UDP)
2.4.4.2 Servidores Iterativos Orientados a Conexión (TCP)
2.4.4.3 Servidores Concurrentes orientados a conexión (TCP)
2.4.4.4 Servidores Concurrentes. Un solo proceso TCP
2 4 4 5 S
(TCP UDP)
2.4.4.5 Servidores Multiprotocolo (TCP, UDP)
2.4.4.6 Servidores Multiservicio (TCP, UDP)
M lti
id
t
l
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
1
ÍNDICE
ÍNDICE
ÍNDICE
ÍNDICE
2. IMPLEMENTACIÓN DE PROTOCOLOS (III)
2.4.5 Eficiencia y gestión de la concurrencia en servidores
2 4 5 1 El
t
2.4.5.1 Elección entre un modelo iterativo y concurrente
2.4.5.2 Nivel de concurrencia
2.4.5.3 Concurrencia en función de la demanda
2 4 5 4 Coste de la concurrencia
2.4.5.4 Coste de la concurrencia
d l
ió
it
ti
t
2.4.6 Concurrencia en clientes
2.4.6.1 Ventajas de la concurrencia
2 4 6 2 Implementaciones con varios procesos
2.4.6.2 Implementaciones con varios procesos
2.4.6.3 Implementación con un solo proceso
2.4.7 Procedimientos Remotos
2 4 7 1 Servicios Básicos sobre RPC
2.4.7.1 Servicios Básicos sobre RPC
2.4.7.2 Construcción de aplicaciones
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
ÍNDICE
ÍNDICE
ÍNDICE
ÍNDICE
2. IMPLEMENTACIÓN DE PROTOCOLOS (IV)
2.5 Interfaz Windows Sockets
2.5.1 Comparación sockets de Berkeley
2.5.1 Comparación sockets de Berkeley
2.5.2 Desarrollo de aplicaciones
2.6 Interfaz sockets en Java
2.6.1. Introducción
2.6.2. Direcciones de Internet
2.6.3. Sockets TCP
2 6 3 1 Sockets para clientes
2.6.3.1 Sockets para clientes
2.6.3.2 Sockets para servidores
2.6.3.3 Servidores multiusuario
2 6 3 4 Sockets seguros
2.6.3.4 Sockets seguros
2.6.4. Datagramas y sockets UDP
2.6.5. Sockets multicast
2 6 6 C
URL
2.6.6. Conexiones a URLs
2.6.7. Otras alternativas (Java RMI, Java IDL)
i
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
BIBLIOGRAFÍA
BIBLIOGRAFÍA
BIBLIOGRAFÍA
BIBLIOGRAFÍA
“USING FORMAL DESCRIPTION TECHIQUES” An Introduction
USING FORMAL DESCRIPTION TECHIQUES An Introduction
to Estelle, Lotos and SDL. Edited by K.J. Turner. John Wiley
&Sons 1993
“INTERNETWORKING WITH TCP/IP CLIENT-SERVER
INTERNETWORKING WITH TCP/IP. CLIENT-SERVER
PROGRAMMING AND APLICATIONS BSD SOCKETS” VERSION
VOLUME III. D. Comer, R. Stevens. Prentice Hall. 1993
“UNIX NETWORK PROGRAMMING” R Stevens Prentice Hall
UNIX NETWORK PROGRAMMING . R. Stevens, Prentice Hall.
1998
“INTERNETWORKING WITH TCP/IP VOLUME III: CLIENT-
SERVER PROGRAMMING AND APPLICATIONS” Window
SERVER PROGRAMMING AND APPLICATIONS . Window
Sockets Version. D. Comer, R. Stevens. Prentice Hall. 1997
“NETWORK PROGRAMMING FOR MICROSOFT WINDOWS”. A.
Jones J Ohlund Second Edition 2002
Jones, J. Ohlund. Second Edition 2002
“JAVA NETWORK PROGRAMMING”. E. R. Harold. O’Reilly
2000, 2ª Edition
“JAVA SECURITY”. S. Oaks. O’Reilly 2001, 2ª Edition
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
MODELO CLIENTE-SERVIDOR
SOLICITA SERVICIOS
LAS PETICIONES SE HACEN
A TRAVÉS DE UN API
PROCESAMIENTO DE LA
INTERFAZ GRÁFICA DE
USUARIO
cliente
cliente
servidor
ESPERA LA PETICIÓN DE
UN CLIENTE
UN CLIENTE
PROCESA LA PETICIÓN
PUEDE ACEPTA O RETORNAR
CANTIDADES ARBITRARIAS DE
DATOS
PROCESO
CLIENTE
PROCESO
SERVIDOR
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
LLAMADAS A PROCEDIMIENTOS REMOTOS
REMOTE PROCEDURE CALL (RPC)
cliente
cliente
servidor
servidor
servidor
servidor
call remote
proc. A
proc. A
exit
call remote
proc. B
proc. B
Respond
Respond
to caller
to caller
Respond
to caller
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
AGENTES MÓVILES
AGENTES MÓVILES
cliente
servidor
SERVIDOR
PROCESO
CLIENTE
CÓDIGO
CÓDIGO
AGENTE DEL
CLIENTE
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
INTRODUCCIÓN: AGENTES
INTRODUCCIÓN: AGENTES
INTRODUCCIÓN: AGENTES
INTRODUCCIÓN: AGENTES
“Un agente es un proceso software que representa a un
cliente y que se mueve a través de la red tomando ciertas
decisiones para atender a un servicio”
p
Un agente software tiene tres dimensiones:
– Representación
» Un agente representa a un usuario frente a otros sistemas y
» Un agente representa a un usuario frente a otros sistemas y
otros agentes
– Movilidad
» Un agente se mueve por la red (pueden tener un itinerario de
» Un agente se mueve por la red (pueden tener un itinerario de
viaje: lista de destinos y plan de viaje)
» Los agentes pueden recoger información a medida que viajan
de una máquina a otra
– Inteligencia
» Capacidad de un agente para aplicar el conocimiento para la
resolución de problemas
» Un agente puede tomar decisiones basandose en los datos que
recogen
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
INTRODUCIÓN: AGENTES
INTRODUCIÓN: AGENTES
INTRODUCIÓN: AGENTES
INTRODUCIÓN: AGENTES
Ejecuta acciones
recoge información
Toma decisiones
Ejecuta acciones
Ejecuta acciones
recoge información
Toma decisiones
agente
agente
agente
Ejecuta acciones
recoge información
Toma decisiones
INTERNET
agente
agente
agente
agente
Ejecuta acciones
recoge información
recoge información
Toma decisiones
Ejecuta acciones
recoge información
recoge información
Toma decisiones
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
COMPUTACIÓN DISTRIBUIDA
APPLETS EN JAVA
APPLETS EN JAVA
servidor
id
El usuario pide una apple en java
pp
p
j
Llega una apple en java
cliente
NAVEGADOR
WEB
Arranca la máquina
Virtual de java y
Virtual de java y
Se ejecuta la applet
MÁQUINA
Á
VIRTUAL JAVA
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
IMPLEMENTACIÓN DE PROTOCOLOS
MODELO CLIENTE --SERVIDOR
MODELO CLIENTE
MODELO CLIENTE
MODELO CLIENTE SERVIDOR
SER
Comentarios de: Ingeniería de protocolos de comunicaciones (módulo 2) (0)
No hay comentarios