Principios de Protocolos

Anuncio
Principios de Protocolos
Prof. Wilmer Pereira
Universidad Católica Andrés Bello
Protocolo
Conjunto de normas y reglas, convenidas de mutuo acuerdo
entre los participantes de una comunicación,
organizadas para no tener ambigüedad.
Usar el mismo lenguaje
Respetar acuerdos de comunicación
Negociar recursos
Transferir información
Liberar recursos
Significado sintáctico y semántico del lenguaje
Cómo, qué y cuándo comunicar
Manejar los casos de errores
Falla en el enlace
Caida de algún nodo
Mensaje fuera del protocolo
Interlocutores del protocolo
Los acuerdos e información de un protocolo tienen sentido
para la misma capa en el destinatario.
Protocolos por capas
Aplicación
HTTP, FTP, SSH, SMTP, SNMP,
DNS …
Transporte TCP, UDP, RTP, SCTP, SSL, …
Red
IP, ATM, MPLS, ADSL, ICMP…
Enlace
GigaEthernet, ProfiBus, PPP,
HDLC, WiFi, FDDI, ZigBee, H323
RS232, CDMA, OFDM
Físico
http
Con fase de conexión, solicitud de página y envío des archivo html
a ser visualizado por el browser.
Cliente
Servidor
Establecimiento de la conexión
GET http:// www.ldc.usb.ve/redes1/material.html HTTP/1.0<CR><LF>
User-agent Mozilla/6.0<CR><LF>
Accept: text/html, image/gif, image/jpg<CR><LF>
Accept-languaje:es<CR><LF>
<CR><LF><CR><LF>
HTTP/1.0 200 OK
Date: Thu, 23 Nov 2008 12:00:15 GMT
Server: Apache/2.0 (Unix)
Last-Modified: Mon, 10 Sept 2007
Content-Length:6821
Content-Type: text/html
<html> <body> Esta es la pagina de Respuesta</body>
<body> Esta es la pagina de Respuesta</body>
</html>
Tipos de protocolos
Transmisión con dos actores (point to point)
Transmisión en anillo (peer to peer)
Transmisión en estrella (Ethernet)
Difusión a todo nodo accesible (broadcast)
Difusión selectiva (multicast)
Los mensajes requieren
Cabecera
Campos con valores
Campos (fijo o variable)
Campos opcionales
Carga útil
IPv4
Datagrama vs Circuito Virtual
 Orientado Conexión (por ejm. Sistema telefónico)
 Conexión
 Transferencia de datos
 Desconexión
 No Orientado Conexión (por ejm. Sistema postal)
 Transferencia de datos
Vias o mensajes en protocolos
E
R
E
R
E
R
Protocolo
de 1 vía
Protocolo
de 2 vía
Protocolo
de 3 vía
Fase de
desconexión
Fase de
transferencia
Fase de
conexión
Ejemplo de protocolo a 3 vías
(Fase de conexión TCP)
E
R
syn, #secE=x
syn, #secR=y,
ack=x+1
ack=x+1,
datox
syn:
#secA=y:
ack=x+1:
bit de activación para inicio de conexión
inicio del número de secuencia en x para A
acuse de recepción del número de secuencia recibido
Problema de las armadas
Limitaciones de los protocolos
Condiciones de la batalla:
Las colinas no son visibles entre ellas
No se pueden enviar mensajes a distancia
Los mensajeros pueden perderse (ser atrapados) en campo enemigos
Autómata de Estado Finito General
login
Inicio
fallo
Espera
autenticación
autenticado
quit
Recibe
comandos
quit
respuesta
comando
Espera
respuesta
Autómata de Estado Finito para Protocolo
(TCP)
Línea punteada son las transiciones de estado del servidor.
La línea gruesa es la trayectoria del cliente.
Las líneas delgadas son eventos poco comunes
Diagrama de secuencias de protocolo
Diagrama de secuencias de programa
Principios básicos de diseño de
protocolos
Interacción simple
Diseño por pilas en capas
Estricto al enviar, tolerante al recibir
Escalabilidad y heterogeneidad
Costo y desempeño
Principios prácticos de diseño de
protocolos
Número de secuencia por paquete
Tiempo de espera por el acuse de recepción
Número de intentos
Duplicados retardados
Ventanas de emisión y recepción
Características prácticas de protocolos
Ventana de emisión
E
R
#sec
n intentos
T
I
M
E
R
Ventana de recepción
ack
El ack debe llegar antes del vencimiento del TIMER (se calcula con RTT)
Los paquetes pueden perderse o llegar desordenados, por lo tanto:
La ventana de emisión permite tener a la mano paquetes
para reenviarlos en caso de pérdidas
La ventana de recepción permite pasarlo al programa en orden
aunque se desordenen en tránsito
En caso de pérdida o caida del enlace se hace un número limitado de intentos
Muy rara vez pueden ocurrir duplicados retardados
(repetición de números de secuencia en paquetes diferentes)
Descargar