Actualizado el 21 de Marzo del 2018 (Publicado el 15 de Marzo del 2018)
1.367 visualizaciones desde el 15 de Marzo del 2018
752,6 KB
119 paginas
Creado hace 13a (06/02/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 1)
(MÓDULO 1)
(MÓDULO 1)
(MÓDULO 1)
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
F. I. M.
F. I. M.
L.S.I.I.S
L.S.I.I.S
IMPLEMENTACIÓN DE PROTOCOLOS
FIM
LSIIS
LSIIS
TELEMÁTICA
INGENIERÍA DE PROTOCOLOS
INGENIERÍA DE PROTOCOLOS
(MÓDULO 1)
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
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
distribuidas utilizando las diferentes interfaces de
distribuidas utilizando las diferentes interfaces de
programación y el modelo cliente-servidor.
Estudiar el rendimiento de las implementaciones de software
cliente y servidor
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
1.1.1 Definición de la Arquitectura
1.1.2 Especificación de servicios
1 1 3 E
1.1.3 Especificación formal de protocolos
ifi
t
l
l d
1.2 Desarrollo de Protocolos
1.2.1 Especificación Formal
ió f
1 2 1 1 Validación
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
C f
1.3 Metodologías de Especificación
1.3.1 Lenguaje Natural
1 3 2 Grafos de Control de Comunicaciones
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.5 SDL
1.3.6 Estelle
1.3.7 Lotos
1.3.8 Prolog
LUIS MENGUAL (c)
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 to
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
PROGRAMMING AND APLICATIONS BSD SOCKETS” VERSION
PROGRAMMING AND APLICATIONS BSD SOCKETS VERSION
VOLUME III. D. Comer, R. Stevens. Prentice Hall. 1993
“UNIX NETWORK PROGRAMMING”. R. Stevens, Prentice Hall. 1998
“INTERNETWORKING WITH TCP/IP VOLUME III: CLIENT SERVER
“INTERNETWORKING WITH TCP/IP VOLUME III: CLIENT-SERVER
PROGRAMMING AND APPLICATIONS”. Window Sockets Version. D.
Comer, R. Stevens. Prentice Hall. 1997
NETWORK PROGRAMMING FOR MICROSOFT WINDOWS S
Edition. Anthony Jones, Jim Ohlund. Microsoft Press
NETWORK PROGRAMMING FOR MICROSOFT WINDOWS. Second
d
“WINDOWS SOCKETS NETWORK PROGRAMMING”. B. Quin, D.
C
Sh t Addi
1995
Shute. Addison-Wesley Publishing Company. 1995
P bli hi
W l
“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 -
- ESPECIFICACIÓN FORMAL DE PROTOCOLOS
IMPLEMENTACIÓN DE PROTOCOLOS
ESPECIFICACIÓN DE
ESPECIFICACIÓN DE
PROTOCOLOS (I)
O OCO OS ( )
PROTOCOLOS (I)
O OCO OS ( )
Especificación sistemas:
Especificación sistemas:
– Definir un sistema dinámico de forma univoca
Especificar un protocolo de comunicaciones
consiste en:
– Especificar un algoritmo distribuido de tiempo real que se
i t
desarrolla en un entorno compuesto por varios usuarios que
quieren comunicarse entre sí y por unas conexiones a través de
q
las cuales deben de comunicarse las distintas entidades del
protocolo.
y p
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
- ESPECIFICACIÓN FORMAL DE PROTOCOLOS
IMPLEMENTACIÓN DE PROTOCOLOS
ESPECIFICACIÓN Y
ESPECIFICACIÓN Y
DISEÑO DE PROTOCOLOS (I)
O OCO OS ( )
DISEÑO DE PROTOCOLOS (I)
O OCO OS ( )
S ÑO
S ÑO
La creciente utilización de sistemas distribuidos hace
cada vez más complejos los protocolos de
comunicaciones
– Esto plantea nuevas problemas de diseño detrás de los cuales, está
p j
p
casi siempre la necesidad de una especificación precisa del
casi siempre la necesidad de una especificación precisa del
protocolo
Las primeras descripciones de protocolos eran
narrativas llevando fácilmente a ambigüedades
bi ü d d
d fá il
ti
ll
t
Inicialmente no se disponía de herramientas formales
de validación verificación y comprobación de los
de validación, verificación y comprobación de los
protocolos especificados y sus implementaciones
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
- ESPECIFICACIÓN FORMAL DE PROTOCOLOS
IMPLEMENTACIÓN DE PROTOCOLOS
ESPECIFICACIÓN Y
ESPECIFICACIÓN Y
DISEÑO DE PROTOCOLOS (II)
O OCO OS ( )
DISEÑO DE PROTOCOLOS (II)
O OCO OS ( )
S ÑO
S ÑO
Hoy en día se entiende que una
especificación precisa debe de permitir:
especificación precisa debe de permitir:
– Verificar si un protocolo cumple el servicio para el que ha
sido diseñado
Validar el funcionamiento del sistema (estados
– Validar el funcionamiento del sistema (estados
alcanzables, no bloqueos, etc)
– Facilitar al máximo la realización del protocolo de forma
ejecutable para la ó las máquinas en cuestión
ejecutable, para la ó las máquinas en cuestión
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
- ESPECIFICACIÓN FORMAL DE PROTOCOLOS
IMPLEMENTACIÓN DE PROTOCOLOS
ESPECIFICACIÓN DE
ESPECIFICACIÓN DE
PROTOCOLOS (II)
O OCO OS ( )
PROTOCOLOS (II)
O OCO OS ( )
Beneficios
– Se pueden derivar muchas implementaciones cambiando
pocas líneas en la especificación
– Se puede asegurar previamente un comportamiento
correcto del protocolo de acuerdo a las exigencias del
cliente.
g
– Se ahorra tiempo y dinero en la contratación de personal
encargado de implementar en lenguaje de alto nivel
encargado de implementar en lenguaje de alto nivel
(pascal, C, etc) si se dispone de una herramienta que me
permita la generación de manera automática o
semiautomática de código.
P
adaptado a los nuevos cambios tecnológicos.
– Permite fácilmente generar un nuevo código del protocolo
fá il
ódi
d l
it
t
l
t
LUIS MENGUAL (c)
INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES -
Comentarios de: Ingeniería de protocolos de comunicaciones (módulo 1) (0)
No hay comentarios