Vous êtes sur la page 1sur 45

Universisdad de Los Andes Facultad de Ingeniera Escuela de Sistemas

Capa de Transporte

Mrida - Venezuela Prof. Gilberto Daz

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmission Control Protocol (TCP) Fue diseado para proporcionar una transferencia confiable sobre una capa de red no confiable Hay muchos factores que difieren en un contexto de mltiples redes Topologa Demoras Ancho de banda

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmission Control Protocol (TCP)
Capa de Aplicacin o Sesin Interfaz Aplicacin/ Transporte Direccin de transporte
Entidad de Transporte Entidad de Transporte

Capa de Aplicacin o Sesin

Capa de Transporte

Direccin de red

Capa de Transporte

Capa de Red

Interfaz Transporte/ Red

Capa de Red

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmission Control Protocol (TCP) Cada nodo que soporta TCP tiene una entidad de transporte de TCP, y uno de los siguientes componentes: biblioteca de funciones, proceso de usuario o una porcin del kernel.

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmission Control Protocol (TCP) En cualquier caso se debe gestionar Flujos (streams) La interfaz de la capa de red

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmission Control Protocol (TCP) En general la entidad TCP recibe un flujos de los procesos locales, los fracciona en trozos que no exceden los 64KB En la prctica se utilizan tamaos de 1460 bytes para que quepan en un frame de ethernet y enva cada pieza como un datagrama Cuando un datagrama que contiene informacin TCP arriba al nodo destino, le son pasados a la entidad TCP quien reconstruye el flujo
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) El servicio TCP se presta en los dos extremos de la comunicacin (emisor y receptor) a traves de sockets Estos sockets estn compuesto de la direccin IP y un nmero de 16 bits llamado puerto Antes de transmitir un flujo se debe establecer explcitamente una conexin

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) Un socket puede ser utilizado como punto final de mltiples conexiones al mismo tiempo. Las conexiones son identificadas utilizando los sockets de ambos extremos (socket1, socket2). Los puertos menores a 1024 se denominan puertos bien conocidos y son reservados para servicios estndares

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) Ejemplo de puertos bien conocidos: 21 22 23 25 80 110 FTP SSH Telnet SMTP HTTP POP

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Procesos
Fin de E/S o evento
De sp

Reanudar

Fin de E/S o evento

Reanudar

h Qu Fin ar an tu m

ac

a ue loq

Suspender

Suspender

Capa de Transporte
Daemons Procesos que esperan solicitudes, despiertan, atienden la solicutud, envan la respuesta y vuelven a dormir
Solicitud Respuesta

Capa de Transporte
Modelo de servicio TCP (sokects) En una mquina que preste muchos servicios podriamos tener muchos demonios atendiendo varios puertos, pero esto nos llenara la memoria de programas ociosos la mayor parte del tiempo Por eso se cre un super demonio llamado internet daemon (inetd) quien recibe toda tipo de solicitud, ejecuta el demonio correspondiente para atenderla y luego finaliza. El inetd sigue escuchando otras solicitudes
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects)
FTP

Respuesta

. . .

Ejecuta
l

h rc

. vo

m ht

Ejecuta ftpd

Respuesta

httpd

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) El archivo de configuracin del demonio inetd: /etc/inetd.conf El formato de las lineas es:
Nombre tipo protocolo wait status uid demonio args dgram wait stream nowait

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) Todas las conexiones TCP son full-duplex, es decir, la transmisin de datos se puede hacer en ambos sentidos al mismo tiempo Todas las conexiones TCP tienen slo dos puntos: origen y destino. No soportan comunicacin multicast o broadcast.

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de servicio TCP (sokects) Cuando un proceso le pasa a TCP datos para transmitir este lo puede hacer de inmediato o almacenarlos en un buffer en espera de ms datos y tener suficiente para enviar. Sin embargo, a veces un proceso puede desear que los datos sean transmitidos inmediatamente. Para esto las aplicaciones cuentan con una bandera (PUSH)

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP Los PDU de TCP son denominados segmentos Cada segmento consta de un encabezado de 20 bytes TCP decide cuan grande es el contenido de los segmentos Slo existen dos restricciones Cada segmento de caber en el payload de un datagrama IP Cada red tiene un MTU generalmente 1500 Bytes
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP
Source port Destination port

Sequence number Acknowledgement number Header Length


U A P R S F R C S S Y I G K HT NN

Windows Size

Checksum

Urgent pointer

Opciones (0 o ms, palabras de 32 bits) Data (opcional)


Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP Si ACK es 1 significa que el Acknowledgement number es vlido, de lo contrario ste ltimo no se toma en cuenta. SYN se utiliza para establecer la conexin, tanto para solicitarla (CONNECTION REQUEST) como para aceptarla (CONNECTION ACCEPTED) Solicitar conexin SYN = 1, ACK = 0 Aceptar conexin SYN = 1, ACK = 1
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP Window size indica cuantos bytes pueden ser enviados luego del segmento reconocido Options se utiliza para hacer indicaciones adicionales que el protocolo en si no meneja. Por ejemplo: el tamao de los segmentos que el receptor puede manejar y la retransmisin por segmentos y no por flujos.

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP El pseudo encabezado se incluye en el checksum

Destination IP Address Destination IP Address 00000000 Protocol = 6 TCP segment length

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP El protocolo bsico que utiliza TCP es el de ventana deslizante. Cuando el emisor enva un segmento tambin activa un contador La entidad TCP del receptor enva otro segmento de vuelta (acknowledgement) con el prximo nmero de secuencia que el espera recibir.
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP Si el contador del emisor llega al final (timeout) antes del que llegue el reconocimiento, reenva el segmento. Aunque este protocolo puede parecer simple, hay una serie de situaciones que deben ser manejadas Los segmentos pueden llegar desordenados Los segmentos pueden ser demorados

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP: estableciendo la conexin

Cliente

Servidor

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Tiempo

TCP utiliza el protocolo de apretn de manos de tres vias (three way handshake)

Capa de Transporte
El protocolo TCP: estableciendo la conexin

Cliente
SYN (SE Q =n)

Servidor

El cliente enva una solicitud de conexin

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Tiempo

Capa de Transporte
El protocolo TCP: estableciendo la conexin

Cliente
SYN (SE Q =n)

Servidor

=n+1 =m,ACK Q SYN(SE

La entidad TCP verifica que haya un proceso que atienda el puerto solicitado y responde aceptando la conexin. Si no enva RST = 1

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Tiempo

Capa de Transporte
El protocolo TCP: estableciendo la conexin

Cliente
SYN (SE Q =n)

Servidor

=n+1 =m,ACK Q SYN(SE

Tiempo

Luego el cliente enva el reconocimiento de la aceptacin y datos

SEQ=n+ 1,ACK= m

+1, Dato s

Datos

Datos
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP: cerrando la conexin

Cliente
FIN

Servidor

Tiempo

ACK FIN

Se necesitan 4 segmentos para cerrar la conexin pues es full-duplex. Un FIN y un ACK por cada direccin

ACK

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP: Ataques

Cliente
SYN (SE Q =n)

Servidor

=n+1 =m,ACK Q SYN(SE

El flujo de segmentos normal

Tiempo

SEQ=n+ 1,ACK= m

+1, Dato s

Datos

FIN
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP: Ataques

Cliente
SYN (SE Q =n)

Servidor

Ataque
Paquetes legales Protocolo ilegal

=n+1 =m,ACK Q SYN(SE

Tiempo

SEQ=n+ 1,ACK= m

FIN

+1, Dato s

Datos

FIN
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
El protocolo TCP: Ataques

Cliente
SYN (SE Q =n)

Servidor

Remedio
recordar estado del

=n+1 =m,ACK Q SYN(SE

Tiempo

SEQ=n+ 1,ACK= m

FIN

protocolo

+1, Dato s

Datos

FIN
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de gestin de conexiones en TCP TCP puede ser representado por una mquina de estado finito con los siguientes estados:
CLOSED LISTEN SYNC RCVD SYNC SENT ESTABLISHED FIN WAIT 1 FIN WAIT 2 TIMED WAIT CLOSING CLOSE WAIT LAST ACK No hay conexin activa o pendiente El servidor espera por una solicitud Arriba una solicitud de conexin. Se espera un ACK La aplicacin comenz a establecer una conexin Estado normal de transmisin de datos La aplicacin indic que ya termin El otro extremo indic que ya termin Espera por todos los paquetes para morir Ambos extremos han indicado cerrar la conexin simultaneamente El otro extremo inici un cierre de conexin Espera por todos los paquetes para morir

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Modelo de gestin de conexiones en TCP

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP La transmisin de datos en TCP se hace utilizando un mecanismo denominado ventana deslizante. Como ejemplo podemos mencionar: Si el receptor tiene un buffer de 4096 Bytes y el receptor enva un segmento de 2048 Bytes ste es recibido sin ningn inconveniente y el receptor enva un ACK, sin embargo, mientras el receptor saca los datos del buffer, le indicar al emisor que ahora slo dispone de 2048 Bytes en el buffer.
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor Receptor Vacio

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K ACK 2K WIN 2K

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K ACK 2K WIN 2K 2K Sec 2048

FULL

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K ACK 2K WIN 2K 2K Sec 2048 ACK 2K WIN 0

FULL

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K ACK 2K WIN 2K 2K Sec 2048 ACK 2K WIN 0

FULL 2K La aplicacin lee 2K

ACK 2K WIN 2K

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Transmisin de datos en TCP
Emisor 2K Sec 0 Receptor Vacio 2K ACK 2K WIN 2K 2K Sec 2048 ACK 2K WIN 0

FULL 2K La aplicacin lee 2K

ACK 2K WIN 2K 1K Sec 4096 1K 2K

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte
Protocolo de Ejemplo (HTTP) Uno de los ms utilizados protocolos en Internet se fundamenta en TCP. El servidor por excelencia utilizado para este servicio es apache

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte

Protocolo de Ejemplo (HTTP)

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte

Protocolo de Ejemplo (HTTP)

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Capa de Transporte

Control de Congestin en TCP

Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz

Vous aimerez peut-être aussi