Académique Documents
Professionnel Documents
Culture Documents
Capa de Transporte
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 Transporte
Direccin de red
Capa de Transporte
Capa de 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
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
Windows Size
Checksum
Urgent pointer
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
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
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
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
Tiempo
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
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
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
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
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
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
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz
Capa de Transporte
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz
Capa de Transporte
Universidad de Los Andes Fac de Ingeniera Escuela de Sistemas Redes de Computadoras Prof. Gilberto Diaz