Está en la página 1de 17

Capas de Transporte OSI y TCP

Facultad de Ingeniera Universidad de Buenos Aires


Laboratorio de Sistemas Distribuidos Heterogneos

75.43 Introduccin 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 caractersticas
Prof. Mara Feldgen
2 Cuatrimestre de 2005
Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 1

Servicios que provee a las capas superiores


Host A Capas superiores Aplicacin, presentacin y Direccin de sesin
transporte

Host B Capas superiores Aplicacin, presentacin y sesin


interfase

Entidad de transporte
Direccin de red

TPDU
interfase

Entidad de transporte
Direccin de red

Capa de red

Capa de red

Las capas de transporte, red y capas superiores.


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 2

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Relacin 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 Heterogneos Prof. Mara Feldgen 3

Funciones de la Capa de Transporte

Conexin:

Transferencia:

OSI

Mapeo de direcciones Conexin de red segun requerimientos Multiplexado o splitting Establecer unidad de transporte Funciones para la fase de transferencia Identificacin de las puntas de transporte Transferir datos iniciales

Secuenciamiento, bloqueo, concatenacin, segmentacin Multiplexado o splitting Control de flujo Deteccin o recuperacin de errores Datos urgentes Delimitacin de segmento Identificacin de conexin de transporte

Liberacin:

Transferencia limitada de datos Notificacin de desconexin Identificacin de la conexin liberada


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 4

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Caractersticas de un servicio CON CONEXION (Repaso)


Establecimiento o conexin Transferencia Liberacin o desconexin

Unidades relacionadas Los datos llegan en orden (N de secuencia) Control de errores Retransmisin Control de flujo

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

Modelo Cliente-Servidor

Es un grupo de procesos cooperantes, llamados servers (servidores) que brindan servicios a los usuarios, llamados clients (clientes) La aplicacin se basan en un protocolo de pregunta/respuesta (request/reply)
Request Cliente Reply Capas 1 a 4 Servidor Capas 1 a 4 5 4 3 2 Red 1 Modelo de Capas
Prof. Mara Feldgen 6

Request/Reply

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Modelo Cliente-Servidor

REQUEST REPLY

Cliente: inicia la interaccin ACTIVO

Servidor: Espera por el cliente PASIVO

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

Distintos modelos
1. Cliente 2. Red Cliente 1. 3. 4. Red Servidor 3. 4. Red
Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Servidor

Direccionamiento al server 1. Request a 243.0.0.1 2. Reply a 199.0.0.2

Servidor 2.

1. Cliente 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. Mara Feldgen 8

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Primitivas de servicio de Transporte OSI


Servidor
TPDU del CONNECT REQUEST recibida

IDLE

Primitiva CONNECT REQUEST ejecutada

Cliente

Establecimiento pasivo pendiente Primitiva CONNECT INDICATION ejecutada Conectado TPDU del DISCONNECT REQUEST recibida Desconexin pasiva pendiente Primitiva DISCONNECT INDICATION ejecutada

Establecimiento activo pendiente TPDU del CONNECT ACCEPT recibida

Primitiva DISCONNECT REQUEST ejecutada Desconexin activa pendiente TPDU del DISCONNECT ACCEPT recibida

IDLE

Diagrama de estados de la administracin de la conexin y desconexin. Las transiciones en rojo son causadas por la llegada de un segmento. La zona en amarillo muestra el estado del servidor luego de cada interaccin. La zona en verde, la del cliente.
Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 9

Direccionamiento en la capa de transporte OSI


TSAPs
Proceso usuario (cliente)
TSAP 1243 Conexin de transporte

Proceso servidor 1
TSAP 1888

Proceso servidor 1
TSAP 1666

TSAPs

4 Transporte 3 Red 2 Enlace 1 Fsica NSAPs

NSAPs

Relacin entre TSAPs y NSAPs en la conexiones de transporte


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 10

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Establecimiento de la conexin: Nmeros de secuencia

Grfico del libro de Tanenbaum

(a) (b)

Los N de segmentos de las TPDUs no pueden estar en la regin prohibida El problema de resincronizacin
Prof. Mara Feldgen 11

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Control de Flujo y Buffering

Espacio libre Grfico del libro de Tanenbaum

(a) (b) (c)

Buffers de tamao fijo, encadenados. Buffers de tamao variable encadenados. Un buffer grande circular por conexin
Prof. Mara Feldgen 12

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

RETRANSMISION

Los mecanismos de retransmisin se conocen como: Automatic Repeat Request (ARQ):


Stop and Wait ARQ Crditos (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 Heterogneos

Prof. Mara Feldgen

13

Crditos OSI y control de ujo


En una transmisin de datos de un host A a un host B Mensaje Comentario A B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Establecimiento buf=8 Establecimiento ack buf=4 N sec=0 data =m0 N sec=1 data =m1 N sec=2 data =m2 Ack = 1 buf = 3 N sec=3 data =m3 N sec=1 data =m1 Ack = 4 buf = 2 N sec=4 data =m4 N sec=5 data =m5 Ack = 5 buf = 0 Ack = 6 buf = 1 N sec=6 data =m6 Ack = 6 buf = 0 Ack = 6 buf = 2 A garantiza lugar para recibir 8 mensajes B garantiza lugar para recibir 4 mensajes A puede enviar 3 mensajes mas A puede enviar 2 mensajes mas El mensaje se pierde, A puede enviar 1 mas B confirma mensaje 0, y permite el mensaje 1 a 3 A No puede enviar mas, bloqueado Timeout del mensaje 1, retransmisin B confirma mensaje 1 a 3 y permite el mensaje 4 a 5 A puede enviar 1 mas A no puede enviar mas, bloqueado B confirma mensaje 4 y permite 0 mensajes B confirma mensaje 5 y permite el mensaje 6 A no puede enviar mas, bloqueado B confirma mensaje 6 y permite 0 mensajes B confirma y se pierde: deadlock potencial

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

14

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Capa de Transporte OSI


Tipos de redes
CR: Connect Request ACEPTABLE residual sealados CC: Connect Confirm

Tasa error

Tipos de TPDU
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.
Prof. Mara Feldgen 15

A: CONS confiable B: CONS c/ errores C: CLNS

SI SI NO

SI NO NO
Tipo de red

Clases de protocolos

0 Clase simple 1 Recup.bsica errores 2 Clase multiplexado 3 Recup. errores y Mux 4 Deteccin y Recup errores

A B A B C

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Capas de Transporte en TCP/IP


CON CONEXIN: TCP (Transport Control Protocol) Similar a TP4 del modelo OSI SIN CONEXIN: UDP (User Datagram Protocolo) Modelo Cliente Servidor Cliente Servidor
Request enviado al port y direccin de IP del servidor PORT (TCP/UDP) + IP PORT

Reply enviado al port y direccin de IP del origen


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 16

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Direccionamiento en TCP
Host MAFALDA Servidor
(tcp, * ; 21) Port bien conocido

conexin

Host SUSANITA Cliente


(tcp, SUSANITA,1500) Port asignado

Socket o half association pasivo Socket o half association activo Association (conexin): (tcp, MAFALDA,21, SUSANITA,1500) Dir local IPL+portL IPL+portL *.portL Dir remota Comportamiento del server: IPR+portR acepta a un solo cliente (*) *.* acepta datagramas para IPL *.* acepta todos los datagramas para portL
Prof. Mara Feldgen 17

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

User Datagram Protocol (UDP)


Es un protocolo de datagramas (protocolo sin conexin). En cada operacin 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 Heterogneos

Prof. Mara Feldgen

18

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

Capas de Transporte OSI y TCP

Datagrama UDP
15 16 Direccin de IP de origen (32 bits)

31

Direccin de IP de destino (32 bits) cero Protocolo (8 bits)

UDP Pseudo Header

17
Nro Port Origen (16 bits) Longitud de UDP (16 bits) Datos

Longitud de UDP (16 bits) Nro Port Destino (16 bits) Checksum (16 bits) UDP Header

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

19

Transport Control Protocol (TCP)


Es un servicio con conexin, byte stream La conexin requiere de las tres etapas: Establecimiento de la conexin Transferencia de datos Liberacin de la conexin

RFC 793

Header IP Header TCP 20 bytes (20 bytes)

Datos TCP

Segmento de TCP Datagrama IP


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 20

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

10

Capas de Transporte OSI y TCP

Segmento TCP
15 16 Nro. de Port Origen (16 bits) Nro. de Port Destino (16 bits)

31

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

TCP Header

Tamao ventana (16 bits) Puntero a Urgente (16 bits)

Checksum (16 bits)

Opciones (si hay) Datos


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 21

CONCEPTOS de TCP
Establecimiento : three-way handshake

Liberacin :

Open Activo Open Pasivo Nde secuencia inicial Negociacin de MSS Open simultneo Backlog Timeout

Half Close Estado 2MSL Wait Estados FIN_WAIT Close simultneo Timeout

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

22

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

11

Capas de Transporte OSI y TCP

Establecimiento y Terminacin de una conexin TCP


Establecimiento: segmento 1 SYN ISNC = 1200 win = 4096 <mss = 1024> SYN ISNC = 8300 ACK = 1201 win = 4096 <mss = 1024> segmento 3 Terminacin: FIN ISNC = 1201 ACK = 8301 segmento 2

segmento 1

ACK = 8301 ACK = 1202 segmento 2 segmento 3

segmento 4

FIN ISNC = 8301

ACK = 1202 ACK = 8302

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

23

Diagrama de transicin de estados de TCP

(Comienzo)

CLOSED
listen / connect / SYN

SYN / SYN + ACK RST /

LISTEN
(open pasivo) SYN / SYN + ACK (open simultneo) send / SYN

close o timeout

SYN_RCVD
close / FIN ACK / close / FIN

SYN_SEND
(open activo) SYN + ACK / ACK FIN / ACK

ESTABLISHED
(transf. datos)

FIN_WAIT_1
ACK /

FIN / ACK

(cierre simultneo)

CLOSE_WAIT
close / FIN

CLOSING
ACK / timeout

FIN + ACK / ACK

LAST_ACK

FIN_WAIT_2

FIN / ACK

TIME_WAIT

ACK /

(2MSL timeout) (cierre activo)


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

(cierre pasivo)
Prof. Mara Feldgen 24

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

12

Capas de Transporte OSI y TCP

Retransmisin en TCP: Sliding Windows ARQ

Categoras de Transmisin: Cada una de las dos capas que estn conectadas deben controlar la cantidad de datos que envan y reciben del otro. Esto se realiza dividiendo los bytes en categoras. El transmisor debe dividir los datos enviados en categoras tal de diferenciar los datos enviados y ya confirmados de los enviados y no confirmados todava, ya que debe esperar la confirmacin (ACK) del receptor o puede ser necesario retransmitirlos. Para los datos de la capa superior que se transmitieron hay 4 categoras: 1. Transmit Category #1: Bytes Enviados y que fueron Confirmados (Acknowledged) 2. Transmit Category #2: Bytes Enviados pero que NO fueron confirmados todava (falta el ACK) 3. Transmit Category #3: Bytes que NO se enviaron todava y que el receptor esta dispuesto a acceptar (estn dentro de la ventana) 4. Transmit Category #4: Bytes que NO se enviaron todava y que estn en la siguiente ventana (el receptor NO permite an su envo)
Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos Prof. Mara Feldgen 25

Retransmisin en TCP: Sliding Windows ARQ

Categoras de Recepcin: 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 Heterogneos

Prof. Mara Feldgen

26

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

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 tamao de la ventana de emisin en bytes que puede enviar sin esperar el ACK. La suma de (SND.UNA) + (SND.WND) marca el primer byte de Transmit Category #4.

Grfico de www.tcpipguide.com/free Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

27

Tipos de transferencia de datos


Flujo de datos interactivo (Telnet y Rlogin) Flujo de datos masivo (Bulk data) (ftp, correo electrnico, etc)

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

28

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

14

Capas de Transporte OSI y TCP

Caractersticas del ujo interactivo


Cliente tecla A A
(PUSH)

Servidor ack Monitor de consola procesa eco

display A

eco de A (PUSH) ack

Algoritmo de Nagle Deshabilitacin del Algoritmo de Nagle

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

29

Flujo de datos masivos


Flujo de datos normal Retransmisin:


Ventanas deslizantes (sliding window) Tamao de la ventana

Control de congestin:
Slow start: ventana del receptor (wnd) ventana de congestin (cwnd)

Sndrome Silly Window (Clark 1982) Modo Urgente


Prof. Mara Feldgen 30

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

15

Capas de Transporte OSI y TCP

Comparacin TP4 - TCP

TP4
Orientado a unidades desconexin abrupta Expedited Data

TCP
Orientado a streams Graceful release Datos urgentes

Otras:

Otras:
Una TPDU Ventanas deslizantes Checksum (compl. a 1) Retransm. (Jacobson) No existe
Prof. Mara Feldgen 31

Mltiples TPDUs Crditos Checksum (Fletcher) Retransmisin TS-Bridge(Internetworking)

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Tipos de servidores

Iterativo SIN Conexin

Iterativo CON Conexin

Concurrente SIN Conexin

Concurrente CON Conexin

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

32

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

16

Capas de Transporte OSI y TCP

Server Concurrente
Host MAFALDA server (tcp, * ,21) fork server hijo (tcp, Mafalda, 21)
Conexin Request Conexin

Host Susanita

Cliente (tcp, Susanita, 1500)

Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Prof. Mara Feldgen

33

Server Concurrente
Host Mafalda server fork server hijo (tcp, Mafalda, 21) (tcp, * ,21)
Conexin Request Conexin

Host Susanita

Cliente (tcp, Susanita, 1500) Host Manolito

Request Conexin

server hijo (tcp, Mafalda, 21)


Tema: Capa de Transporte Laboratorio de Sistemas Distribuidos Heterogneos

Cliente
Conexin

(tcp, Manolito, 1500)


Prof. Mara Feldgen 34

75.43 Introduccin a los Sistemas Distribuidos 75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen)

17

También podría gustarte