Capas de Transporte del modelo OSI y del Modelo

Anuncio
Capas de Transporte OSI y TCP
Facultad de Ingeniería
Universidad de Buenos Aires
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I
Capas de Transporte del modelo
OSI y del Modelo TCP/IP
Servicios y Protocolos
Conceptos y características
Prof. María Feldgen
2º Cuatrimestre de 2005
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
1
Servicios que provee a las
capas superiores
Host A
Host B
Capas superiores
Capas superiores
Aplicación,
presentación y
Dirección de sesión
transporte
Entidad de
transporte
Dirección
de red
Aplicación,
presentación y
sesión
interfase
TPDU
interfase
Capa de red
Entidad de
transporte
Dirección
de red
Capa de red
Las capas de transporte, red y capas superiores.
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
2
1
Capas de Transporte OSI y TCP
Relación entre unidades
(carga útil o área de datos)
Las cabeceras (headers) de TPDUs, paquetes y
tramas (frames).
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
3
Funciones de la Capa de Transporte

Conexión:
–
–
–
–
–
–
–


Mapeo de direcciones
Conexión de red segun
requerimientos
Multiplexado o splitting
Establecer unidad de transporte
Funciones para la fase de
transferencia
Identificación de las puntas de
transporte
Transferir datos iniciales
Liberación:
OSI
Transferencia:
– Secuenciamiento, bloqueo,
concatenación, segmentación
– Multiplexado o splitting
– Control de flujo
– Detección o recuperación de
errores
– Datos urgentes
– Delimitación de segmento
– Identificación de conexión de
transporte

– Transferencia limitada de datos
– Notificación de desconexión
– Identificación de la conexión liberada
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
4
2
Capas de Transporte OSI y TCP
Características de un servicio
CON CONEXION
(Repaso)




Establecimiento o
conexión
Transferencia
Liberación o
desconexión




Unidades relacionadas
Los datos llegan en orden
(Nº de secuencia)
Control de errores
Retransmisión
Control de flujo
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
5
Modelo Cliente-Servidor


Es un grupo de procesos cooperantes, llamados servers
(servidores) que brindan servicios a los usuarios,
llamados clients (clientes)
La aplicación se basan en un protocolo de
pregunta/respuesta (request/reply)
Request
Cliente
Servidor
Reply
Capas 1 a 4
Capas 1 a 4
5
Request/Reply
4
3
2
Red
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
1
Modelo de Capas
Prof. María Feldgen
6
3
Capas de Transporte OSI y TCP
Modelo Cliente-Servidor
REQUEST
REPLY
Cliente: inicia la
interacción
Servidor: Espera por el
cliente
ACTIVO
PASIVO
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
7
Distintos modelos
1.
Cliente
Direccionamiento al server
1. Request a 243.0.0.1
2. Reply a 199.0.0.2
Servidor
2.
Red
3.
Cliente
1.
Servidor
4.
2.
Red
Servidor
3.
1.
Cliente
4.
Red
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
2.
Direccionamiento al proceso
por broadcast
1. Broadcast
2. Respuesta al broadcast
3. Request
4. Reply
Direccionamiento
Name Server por Name Server
1. Lookup
2. NS reply
3. Request
4. Reply
Prof. María Feldgen
8
4
Capas de Transporte OSI y TCP
Primitivas de servicio de Transporte OSI
Servidor
TPDU del CONNECT
REQUEST recibida
IDLE
Primitiva CONNECT
REQUEST ejecutada
Establecimiento
pasivo
pendiente
Cliente
Establecimiento
activo
pendiente
Primitiva CONNECT
INDICATION ejecutada
TPDU del CONNECT
ACCEPT recibida
Conectado
TPDU del DISCONNECT
REQUEST recibida
Primitiva DISCONNECT
REQUEST ejecutada
Desconexión
pasiva
pendiente
Desconexión
activa
pendiente
Primitiva DISCONNECT
INDICATION ejecutada
IDLE
TPDU del DISCONNECT
ACCEPT recibida
Diagrama de estados de la administración de la conexión y desconexión. Las
transiciones en rojo son causadas por la llegada de un segmento. La zona en
amarillo muestra el estado del servidor luego de cada interacción. La zona en
verde, la del cliente.
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
9
Direccionamiento en la capa de
transporte OSI
TSAPs
Proceso
usuario
(cliente)
Proceso
servidor 1
TSAP 1243
Conexión de
transporte
NSAPs
TSAP 1888
Proceso
servidor 1
TSAPs
TSAP 1666
4 Transporte
NSAPs
3 Red
2 Enlace
1 Física
Relación entre TSAPs y NSAPs en la conexiones de transporte
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
10
5
Capas de Transporte OSI y TCP
Establecimiento de la conexión:
Números de secuencia
Gráfico del libro de Tanenbaum
(a)
(b)
Los Nº de segmentos de las TPDUs no pueden
estar en la región prohibida
El problema de resincronización
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
11
Control de Flujo y Buffering
Espacio
libre
Gráfico del libro de Tanenbaum
(a)
Buffers de tamaño fijo, encadenados.
(b)
Buffers de tamaño variable encadenados.
(c)
Un buffer grande circular por conexión
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
12
6
Capas de Transporte OSI y TCP
RETRANSMISION

Los mecanismos de retransmisión se
conocen como:
Automatic Repeat Request (ARQ):
– Stop and Wait ARQ
– Créditos (en la capa de transporte OSI)
– Go-Back N ARQ (en la capa transporte TCP)
– Selective Reject ARQ
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
13
Créditos OSI y control de flujo
En una transmisión de datos de un host A a un host B
Mensaje
Comentario
A
B
1
Establecimiento buf=8
A garantiza lugar para recibir 8 mensajes
2
3
Establecimiento ack buf=4
Nº sec=0 data =m0
B garantiza lugar para recibir 4 mensajes
A puede enviar 3 mensajes mas
4
Nº sec=1 data =m1
5
Nº sec=2 data =m2
6
Ack = 1 buf = 3
B confirma mensaje 0, y permite el mensaje 1 a 3
7
Nº sec=3 data =m3
A No puede enviar mas, bloqueado
8
Nº sec=1 data =m1
Timeout del mensaje 1, retransmisión
9
Ack = 4 buf = 2
B confirma mensaje 1 a 3 y permite el mensaje 4 a 5
10
Nº sec=4 data =m4
A puede enviar 1 mas
11
Nº sec=5 data =m5
A no puede enviar mas, bloqueado
12
Ack = 5 buf = 0
B confirma mensaje 4 y permite 0 mensajes
13
Ack = 6 buf = 1
B confirma mensaje 5 y permite el mensaje 6
14
Nº sec=6 data =m6
A no puede enviar mas, bloqueado
15
Ack = 6 buf = 0
B confirma mensaje 6 y permite 0 mensajes
Ack = 6 buf = 2
B confirma y se pierde: deadlock potencial
16
…
A puede enviar 2 mensajes mas
…
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
El mensaje se pierde, A puede enviar 1 mas
Prof. María Feldgen
14
7
Capas de Transporte OSI y TCP
Capa de Transporte OSI
Tipos de redes



A: CONS confiable
B: CONS c/ errores
C: CLNS
Tasa error
 CR: Connect Request
ACEPTABLE
residual señalados  CC: Connect Confirm
SI
SI
NO
Clases de protocolos





Tipos de TPDU
SI
NO
NO
Tipo de red
0 Clase simple
1 Recup.básica errores
2 Clase multiplexado
3 Recup. errores y Mux
4 Detección y Recup errores
A
B
A
B
C









DR: Disconnect Request
DC: Disconnect Confirm
DT: Datos
ED: Expedited Data
AK: ACK de datos
EA: ACK Expedited Data
RJ: Reject
ER: Error en TPDU
PI: Ident. de transp.
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
15
Capas de Transporte en TCP/IP


CON CONEXIÓN: TCP (Transport Control Protocol)
Similar a TP4 del modelo OSI
SIN CONEXIÓN: UDP (User Datagram Protocolo)
Modelo Cliente Servidor
Cliente
Servidor
Request enviado al port y dirección de IP del
servidor
PORT
(TCP/UDP) + IP
PORT
Reply enviado al port y dirección de IP del origen
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
16
8
Capas de Transporte OSI y TCP
Direccionamiento en TCP
Host
MAFALDA
Servidor
Host
SUSANITA
conexión
Cliente
(tcp, * ; 21)
(tcp, SUSANITA,1500)
Port bien conocido
Port asignado
Socket o half association pasivo
Socket o half association activo
Association (conexión): (tcp, MAFALDA,21, SUSANITA,1500)
Dir local
Dir remota
Comportamiento del server:
IPL+portL
IPL+portL
*.portL
IPR+portR acepta a un solo cliente (*)
*.*
acepta datagramas para IPL
*.*
acepta todos los datagramas para portL
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
17
User Datagram Protocol (UDP)


Es un protocolo de datagramas (protocolo sin conexión).
En cada operación se procesa exactamente un datagrama,
que se envia en un datagrama de IP.
RFC 768
Header IP Header UDP
20 bytes (8 bytes)
Datos UDP
Datagrama UDP
Datagrama IP
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
18
9
Capas de Transporte OSI y TCP
Datagrama UDP
0
31
15 16
Dirección de IP de origen (32 bits)
UDP
Pseudo
Header
Dirección de IP de destino (32 bits)
cero
Protocolo (8 bits)
Longitud de UDP (16 bits)
17
Nro Port Origen (16 bits)
Nro Port Destino (16 bits)
Longitud de UDP (16 bits)
Checksum (16 bits)
UDP
Header
Datos
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
19
Transport Control Protocol (TCP)


Es un servicio con conexión, byte stream
La conexión requiere de las tres etapas:
– Establecimiento de la conexión
– Transferencia de datos
– Liberación de la conexión
Header IP Header TCP
20 bytes (20 bytes)
RFC 793
Datos TCP
Segmento de TCP
Datagrama IP
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
20
10
Capas de Transporte OSI y TCP
Segmento TCP
0
31
15 16
Nro. de Port Origen (16 bits)
Nro. de Port Destino (16 bits)
Nro de Secuencia (32 bits)
Nro. de ACK (32 bits)
Long.Header Reservado U A P P S F
(4 bits)
(6 bits) R C S S Y I
G K H T N N
Checksum (16 bits)
TCP
Header
Tamaño ventana (16 bits)
Puntero a Urgente (16 bits)
Opciones (si hay)
Datos
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
21
CONCEPTOS de TCP
Establecimiento :
three-way handshake







Open Activo
Open Pasivo
N°de secuencia inicial
Negociación de MSS
Open simultáneo
Backlog
Timeout
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Liberación :





Half Close
Estado 2MSL Wait
Estados FIN_WAIT
Close simultáneo
Timeout
Prof. María Feldgen
22
11
Capas de Transporte OSI y TCP
Establecimiento y Terminación de una conexión TCP
Establecimiento:
segmento
1
SYN ISNC = 1200 win = 4096 <mss = 1024>
SYN ISNC = 8300 ACK = 1201 win = 4096 <mss = 1024>
segmento
3
segmento
2
ACK = 8301
Terminación:
FIN ISNC = 1201
ACK = 8301
segmento
1
segmento
2
ACK = 1202
segmento
4
FIN ISNC = 8301
segmento
3
ACK = 1202
ACK = 8302
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
(Comienzo)
Diagrama de transición
de estados de TCP
CLOSED
connect / SYN
listen /
LISTEN
SYN / SYN + ACK
RST /
SYN_RCVD
ACK /
close / FIN
close / FIN
FIN_WAIT_1
FIN / ACK
(open pasivo)
FIN_WAIT_2
ESTABLISHED
SYN_SEND
(open activo)
SYN + ACK / ACK
FIN / ACK
(transf. datos)
(cierre simultáneo)
FIN / ACK
CLOSING
(2MSL timeout)
(cierre activo)
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
CLOSE_WAIT
close / FIN
ACK /
TIME_WAIT
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
close o
timeout
send / SYN
SYN / SYN + ACK
(open simultáneo)
FIN + ACK / ACK
ACK /
23
LAST_ACK
ACK /
timeout
(cierre pasivo)
Prof. María Feldgen
24
12
Capas de Transporte OSI y TCP
Retransmisión en TCP:
Sliding Windows ARQ

Categorías de Transmisión:
– Cada una de las dos capas que están conectadas deben controlar la
cantidad de datos que envían y reciben del otro. Esto se realiza
dividiendo los bytes en categorías. El transmisor debe dividir los datos
enviados en categorías tal de diferenciar los datos enviados y ya
confirmados de los enviados y no confirmados todavía, ya que debe
esperar la confirmación (ACK) del receptor o puede ser necesario
retransmitirlos.
– Para los datos de la capa superior que se transmitieron hay 4 categorías:
1. Transmit Category #1: Bytes Enviados y que fueron Confirmados
(Acknowledged)
2. Transmit Category #2: Bytes Enviados pero que NO fueron
confirmados todavía (falta el ACK)
3. Transmit Category #3: Bytes que NO se enviaron todavía y que el
receptor esta dispuesto a acceptar (están dentro de la ventana)
4. Transmit Category #4: Bytes que NO se enviaron todavía y que
están en la siguiente ventana (el receptor NO permite aún su envío)
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
25
Retransmisión en TCP:
Sliding Windows ARQ

Categorías de Recepción:
– Para los datos que se reciben no es necesario separar entre datos
recibidos y confirmados y datos recibidos y no confirmados como
hace el transmisor, ya que no debe esperar por los ACKs.
1. Receive Category #1+2: Bytes Recibidos y confirmados al
transmisor. Son las complementarias de las Transmit
Categories #1 and #2 del transmisor.
2. Receive Category #3: Bytes que no se recibieron todavia,
pero que está dentro de la ventana (Receptor listo para
recibirlas). Es la complementaria a Transmit Category #3.
3. Receive Category #4: Bytes que no se recibieron y que
marcan el comienzo de la siguiente ventana (Receptor NO
está listo para recibirlos todavia). Es la complementaria a
Transmit Category #4.
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
26
13
Capas de Transporte OSI y TCP
Sliding Windows en TCP
# Send Unacknowledged (SND.UNA): Es el Nº de secuencia del 1º byte de datos enviado sin ACK. Es el primer
byte de la Transmit Category #2; todos los Nº de secuencia anteriores corresponden a bytes en Transmit Category
#1.
# Send Next (SND.NXT): Es el Nº de secuencia del siguiente byte de datos a enviar. Esto marca el primer byte de
Transmit Category #3.
# Send Window (SND.WND): El tamaño de la ventana de emisión en bytes que puede enviar sin esperar el ACK.
La suma de (SND.UNA) + (SND.WND) marca el primer byte de Transmit Category #4.
Gráfico de www.tcpipguide.com/free
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
27
Tipos de transferencia
de datos
Flujo de datos interactivo
(Telnet y Rlogin)
 Flujo de datos masivo (Bulk data)
(ftp, correo electrónico, etc)

Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
28
14
Capas de Transporte OSI y TCP
Características del flujo interactivo
Cliente
tecla A
Servidor
“A”
(PUSH)
Monitor de
consola procesa
eco
ack
eco de “A” (PUSH)
display
A
ack
Algoritmo de Nagle
 Deshabilitación del Algoritmo de Nagle

Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
Prof. María Feldgen
29
Flujo de datos masivos


Flujo de datos normal
Retransmisión:
– Ventanas deslizantes (sliding window)
– Tamaño de la ventana

Control de congestión:
– Slow start:
• ventana del receptor (wnd)
• ventana de congestión (cwnd)


Síndrome Silly Window (Clark 1982)
Modo Urgente
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
30
15
Capas de Transporte OSI y TCP
Comparación TP4 - TCP

TP4

– Orientado a unidades
– desconexión abrupta
– Expedited Data

Otras:
–
–
–
–
–
– Orientado a streams
– Graceful release
– Datos urgentes

Múltiples TPDU’s
Créditos
Checksum (Fletcher)
Retransmisión
TS-Bridge(Internetworking)
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
TCP
Otras:
–
–
–
–
–
Una TPDU
Ventanas deslizantes
Checksum (compl. a 1)
Retransm. (Jacobson)
No existe
Prof. María Feldgen
31
Tipos de servidores
Iterativo
SIN Conexión
Iterativo
CON Conexión
Concurrente
SIN Conexión
Concurrente
CON Conexión
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
Prof. María Feldgen
32
16
Capas de Transporte OSI y TCP
Server Concurrente
Host MAFALDA
Request
Conexión
server
Host Susanita
(tcp, * ,21)
Cliente
fork
server
hijo
(tcp, Mafalda, 21)
Conexión
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
(tcp, Susanita, 1500)
Prof. María Feldgen
33
Server Concurrente
Host Mafalda
Request
Conexión
server
(tcp, * ,21)
Conexión
fork
server
hijo
(tcp, Mafalda, 21)
server
hijo
(tcp, Mafalda, 21)
Host Susanita
Cliente
(tcp, Susanita, 1500)
Host Manolito
Request
Conexión
Cliente
Conexión
Tema: Capa de Transporte
Laboratorio de Sistemas Distribuidos Heterogéneos
75.43 Introducción a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. María Feldgen)
(tcp, Manolito, 1500)
Prof. María Feldgen
34
17
Descargar