Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 1) Nivel de. Proceso. Nivel de Transporte. Nivel de Red.

Documentos relacionados
Bloque III: El nivel de transporte. Tema 5: UDP y TCP

Introducción (I) La capa de transporte en Internet: TCP es: UDP es:

TCP Transmission Control Protocol

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas. Capa de Transporte. Mérida - Venezuela Prof. Gilberto Díaz

La tarea de esta capa es proporcionar un transporte de datos confiable de la máquina de origen a la máquina de destino, independientemente de la red

Introducción a Internet

ARQUITECTURA DE REDES Laboratorio

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP

Bloque IV: El nivel de red. Tema 9: IP

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Problema de agotamiento de direcciones

Control de flujo en TCP

El nivel de transporte

Protocolos de transporte y aplicación

Contenido. UDP y TCP NAT Proxy El Laboratorio de Telemática. 17 Nov Conceptos avanzados 1/21

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

Conceptos avanzados. Contenido

Juego de Protocolos TCP/IP

Redes de computadores. Práctica 3

Planificación y Administración de Redes: El nivel de Transporte. Jesús Moreno León Raúl Ruiz Padilla Septiembre 2010

TCP. Temario. Temario

Objetivos. Comprender el funcionamiento de Internet y los protocolos que la hacen funcionar

Tema 2: Internet Protocol (IP)

Capa de Transporte, TCP y UDP

Tema 1bis. TCP y UDP (aka Tema 5. TCP y UDP)

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES

Tema 14: El protocolo TCP

TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP.

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas

TCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet


Capítulo 4. Transporte UDP y TCP. Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación

Tópicos. 1. Diseño de Protocolos en Capas o Niveles. 2. Servicios ofrecidos por protocolos. 3. Modelo de Protocolos de Redes OSI

Nivel de transporte: UDP

Transporte: Servicios y Protocolos. Prof. Wílmer Pereira

Ingeniería en Automática Industrial Software para Aplicaciones Industriales I

Redes de Computadoras Junio de Teoría y problemas (75 %)

Protocolo IP. Campos del paquete IP:

CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS

Nivel de Transporte en Internet

Dirección donde conecta el nivel de aplicación: esto es el puerto.

1- PROTOCOLO TCP 1203-(1) PROTOCOLOS TCP/UDP 1.1- TRAMA TCP PARA INTERNET

Redes de Computadores Nivel de Transporte: Introducción + UDP

Redes de Computadoras Septiembre de Teoría y problemas (75 %).

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

Práctica 9: Análisis del tráfico de red

UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 3) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas

Sistemas de Transportes de Datos (STD) Tema III: UDP y TCP (Entrega 4) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas

TCP/IP e Internet. Eytan Modiano MIT. Eytan Modiano. Slide 1

Redes de Computadores Más sobre TCP. Área de Ingeniería Telemática Dpto. Automática y Computación

Introducción a redes Ing. Aníbal Coto Cortés

Introducción a TCP/IP

Bloque I: Introducción. Tema 2: Introducción a TCP/IP

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología

Bloque I: Introducción. Tema 2: Introducción a TCP/IP

Examen Febrero 2002 Test Resuelto Temas 9-13

Modelo OSI y TCP/IP. Teleprocesamiento Ing. Zoila Marquez.

El protocolo IP. Descripción general.

Host AP. Protocolo de aplicación. Capa de Transporte. Capas orientadas a la red

Direcciones IP. Classless Interdomain Routing. Sin reserva contigua. Problemas debidos al crecimiento de Internet:

Capas de Transporte del modelo OSI y del Modelo TCP/IP Servicios y Protocolos Conceptos y características

CAPITULO 4 Capa de Transporte del modelo OSI

TCP: Carácterísticas Establecimiento y finalización de conexiones

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. deimos_azul@yahoo.com Padrón: gonzalojosa@hotmail.

Modelo OSI y Protocolos Principales TCP/IP

11 al 15 Octubre Alvaro Vives

Servicio host to host. Conectar millones de LANs?

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.

Bloque III Redes de Computadores

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP -

Introducción Mensajes UDP. Asignación de puertos a procesos. Bibliografía [COM06] Internetworking with TCP/IP, Cap. 11.

Nivel de enlace. Teoría de la Comunicaciones. 28 de Marzo de 2012

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A.

TCP Tema 3.- Nivel de transporte en Internet

Arquitecturas cliente/servidor

PRÁCTICA 3 Protocolos de nivel de Transporte en TCP/IP

Bloque IV: El nivel de red. Tema 12: ICMP

UDP Tema 3.- Nivel de transporte en Internet

Modulo 5 Protocolos de Transporte

Bloque IV: El nivel de red. Tema 12: ICMP

Protocolos, Servicios e Interfaces

Protocolos, Servicios e Interfaces

ARQUITECTURAS CLIENTE/SERVIDOR

Redes de Computadores - Problemas y cuestiones

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE

Capa de Transporte del modelo OSI

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

Sistemas de Transportes de Datos (STD) Tema II: IP (Entrega 6) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas

Capítulo 3: Capa Transporte - III

REDES DE ORDENADORES HOJA DE PROBLEMAS 3

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

Tema 3: Nivel Enlace.

Tema 8 Redes TCP/IP. Intenet

IPSEC. dit. Objetivo: proporcionar a IP (IPv4( IPv4, IPv6) ) mecanismos de seguridad. Servicios de Seguridad

Capítulo 5: INTRODUCCIÓN A TCP/IP

Capítulo 3: Capa Transporte - I

Transcripción:

TEMA III: UDP Y TCP 3. Protocols UDP i TCP 3.1 El protocol UDP 3.2 Funcionalitats de TCP 3.3 Els estats de TCP 3.3.1 Establiment de la conexió(3whs) 3.3.2 Finalització de la conexió 3.4 Control d'errors 3.5 Control de fluxe 3.6 Control de la congestió 3.7 Sockets 3.8 RPCs INTRODUCCIÓN apl. apl. apl. Traceroute FTP Nivel de Proceso SMTP Puerto Nivel de Proceso UDP TCP Nivel de Transporte Nivel de Transporte ICMP IP Nivel de Red Nivel de Red Nivel de Red ARP RARP Driver Interfaz Red Interfaz Red Interfaz Red Red Física Red Física INTRODUCCIÓN Entre las aplicaciones e IP existen dos protocolos de los cuales puede hacerse uso: UDP (User Datagram Protocol): para aplicaciones NOORIENTADAS A LA CONEXIÓN (aquellas en las que los intercambios de información son puntuales y gastar recursos en que los procesos pongan en pie una conexión es excesivo -RIP, DNS para preguntas y respuestas cortas-) TCP (Transport Control Protocol): para aplicaciones ORIENTADAS A LA CONEXIÓN, aquellas en que los procesos deben establecer un diálogo de una cierta duración (ftp, http, telnet, etc.). Juan Carlos Cruellas Ibarz. 1

INTRODUCCION Ambos son protocolos extremo a extremo: Las entidades que se comunican son dos procesos que se ejecutan en máquinas diferentes. En una misma máquina pueden haber varios procesos en ejecución: multiplexación por número de puertos Un proceso identifica a su interlocutor remoto (otro proceso) mediante la @IP de la máquina en que se ejecuta y el número de puerto por el que dicho proceso se comunica con UDP o TCP. User Datagram Protocol (UDP) Especificado en la RFC 768 Definido para ofrecer a las aplicaciones un mecanismo de comunicación no orientado a la conexión (datagramas). Se trata de un protocolo: Extremo a extremo No fiable (la entrega de los datagramas y la protección contra la duplicidad no están garantizadas) Cada datagrama UDP se encapsula en UN datagrama IP User Datagram Protocol (UDP) UDP coloca en sus datagramas los datos tal y como los genera la aplicación. Utilizado por RIP y por SNMP (Simple Network Management Protocol), entre otros. Juan Carlos Cruellas Ibarz. 2

User Datagram Protocol (UDP) 0 7 8 15 16 23 24 31 Source Destination Port Port Length Checksum data octets... ----------------... Puertos fuente y destino para identificar las aplicaciones en los hosts. Longitud del datagrama Checksum para proteger el datagrama UDP User Datagram Protocol (UDP) Cálculo del checksum: operaciones similares a las del checksum del header de IP. Protege la totalidad del datagrama UDP. En la realización de la suma intervienen: Un pseudoheader formado por las @IP de fuente y destino, así como indicaciones del protocolo y la longitud del datagrama UDP El header del datagrama UDP Los datos del datagrama UDP User Datagram Protocol (UDP) 0 7 8 15 16 23 24 31 source address destination address zero protocol UDP length Source Destination Port Port Length Checksum data octets... +-----------------------------------+ Pseudoheader Juan Carlos Cruellas Ibarz. 3

Transmision Control Protocol (TCP) Definido en la RFC 793. TCP es un protocolo: Extremo a extremo (entre procesos ejecutados en máquinas diferentes) Orientado a la conexión y Fiable Basado en el intercambio bajo ciertas premisas de secuencias de bytes sin marcas insertadas automáticamente por el protocolo. TCP: Introducción Especificación del protocolo: RFC 793 Protocolo: Extremo a extremo (entre procesos), Fiable, Orientado a la conexión, De secuencia de bytes (byte-stream) TCP: Introducción Fiable: asegura la entrega de datos en destino sin errores, en orden y sin pérdida o duplicación. TCP divide los datos de la aplicación en pedazos adecuados para ser transmitidos (segmentos TCP) dentro de datagramas IP TCP utiliza notifica la recepción correcta de segmentos con datos mediante el el envío de segmentos con indicación de dicha recepción (ACK). Cuando el módulo TCP envía un segmento con datos, activa un reloj y espera la llegada del ACK correspondiente durante un período de tiempo. Si se supera, RETRANSMITE el segmento no reconocido. Juan Carlos Cruellas Ibarz. 4

TCP: Introducción El módulo TCP calcula un checksum sobre el header y los datos de un segmento (checksum extremo a extremo). El módulo TCP reordena los datos que no llegan en orden. El módulo TCP implanta un mecanismo de control de flujo para que procesos demasiado rápidos en la generación de información no desborden los recursos de procesos más lentos en el consumo de la información (problemas de recursos de procesos -en hosts-). El módulo TCP implanta un mecanismo de control de congestión para ralentizar el envío de datagramas con segmentos a zonas de Internet cercanas a la congestión(problemas de recursos en Internet -redes-). TCP: Introducción Es orientado a la conexión. Para aplicaciones en las que se prevee interacciones prolongadas entre los procesos que se comunican: conexión TCP especifica CÓMO ESTABLECER, MANTENER y CERRAR una conexión. Durante el establecimiento de la conexión no se intercambian datos de las aplicaciones (los segmentos TCP constarán únicamente de los headers ). Durante una conexión los dos extremos intercambian datos. Dos casos bien diferenciados: TCP: Introducción Intercambios interactivos con pocos datos (Telnet, rlogin). Intercambios de grandes cantidades ( bulk data ) de datos (ftp cuando se transfieren ficheros). Está orientado al intercambio de bytes. No hay marcas de registro insertadas por TCP: no diferencia unos de otros. No interpreta en absoluto los contenidos de los datos. Juan Carlos Cruellas Ibarz. 5

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Source Port Destination Port Sequence Number Acknowledgment Number Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N Checksum Urgent Pointer Options Padding data 16 bits con el número de puerto generador del segmento (identifica el proceso entre el resto de procesos de la máquina). 16 bits con el número de puerto destinatario del segmento. En aplicaciones cliente-servidor, el servidor tiene un número de puerto fijo y si es un servicio estándar, conocido públicamente. A cada cliente se le asigna un número de puerto cuando arranca que puede variar (puerto efímero) 32 bits codificando un NÚMERO DE SECUENCIA del primer byte de datos del segmento. TCP numera CADA byte de datos intercambiados en una conexión con esos 32 bits. Juan Carlos Cruellas Ibarz. 6

32 bits codificando el ACK number : número del siguiente número de secuencia que quien lo envía espera recibir. Confirma la llegada correcta de bytes hasta aquel cuyo número es ACK number - 1. Es un ACK de grupo. Este campo solo contiene dicho número si el bit ACK está a 1. En TCP enviar un ACK no cuesta nada: aparece en el header. Una vez establecida la conexión, el bit ACK estará siempre a 1 y todos los segmentos incorporarán el número de ACK. La conexión mantenida con TCP es full-duplex (la información puede fluir desde cualquier extremo sin importar qué sucede en el otro sentido): cada extremo debe mantener su propia secuencia de números de bytes. 4 bits para codificar la longitud del header en número de palabras de 32 bits (tamaño máximo: 60 bytes, sin opciones: 20). 6 bits reservados para usos futuros. Bits de control: URG: Indicador de que en el segmento hay datos urgentes. El módulo TCP receptor debe notificar tal situación a la aplicación. ACK: valida el número de ACK en el campo correspondiente. PUSH. El módulo TCP receptor debe pasar lo antes posible los datos a la aplicación. RST: Reset de la conexión. Juan Carlos Cruellas Ibarz. 7

SYN: Indicación para proceder a la sincronización de los números de secuencia para establecer una conexión. FIN: No habrá más datos por parte de quien envía un segmento con este flag puesto a 1. 16 bits para codificar el tamaño en bytes de la ventana de recepción (control de flujo). 16 bits para el checksum del segmento TCP. Calculado de forma similar al del datagrama UDP (incluido el pseudoheader). 16 bits para el puntero de datos urgentes. Cuando el flag URG está a 1, el valor de este campo, sumado al número de secuencia del segmento apunta al último byte de los datos urgentes. Control de errores y ACKs TCP numera los bytes enviados, NO los segmentos. Sigue un mecanismo de reconocimiento de bytes correctamente llegados: Una vez establecida la conexión, todos los segmentos fijan el flag ACK a 1. Además en el campo ACK de la cabecera, se incorpora el valor del número de secuencia (N) del siguiente segmento que espera recibirse. En definitiva, se reconoce la correcta llegada de hasta el byte cuyo número de secuencia es N-1. Juan Carlos Cruellas Ibarz. 8

100-130 131-200 201-220 221-240 241-260 261-280 Time-out segm. 3! 201-220 Control de errores y ACKs ack 201 ack 201 ack 201 ack 281 Los acks viajan en la cabecera de segmento. 100-130 131-200 201-220 221-240 241-260 261-280 El receptor vuelve a generar ack 201 porque NO ha recibido el byte 201! Tras recibir el segmento 201 a 221, el primer ACK reconoce todos los bytes hasta el 280 Establecimiento de la conexión Se lanza cuando una aplicación (cliente de ftp, telnet o http, por ejemplo) desea dialogar con otra aplicación remota. La aplicación lanza una indicación a su módulo TCP (después de invocar al resolver ) de su deseo de dialogar con la aplicación que escucha en el puerto P que se ejecuta en la máquina cuya @IP es D. El módulo TCP inicia entonces un diálogo con el módulo TCP que sirve a la aplicación remota para poner en pie una CONEXIÓN TCP. Cuando esta fase acaba, TCP lo notifica a la aplicación que puede dar comienzo al diálogo. Establecimiento de la conexión Terminología: Cuando un extremo solicita abrir una conexión al otro, se dice que intenta llevar a cabo una apertura activa de la conexión. Si el extremo al que llega la solicitud acepta establecer la conexión, se dice que lleva a cabo una apertura pasiva de la conexión. Dos posibles escenarios: La apertura activa tiene lugar en un extremo. La apertura activa tiene lugar en ambos extremos (apertura simultánea). Juan Carlos Cruellas Ibarz. 9

Apertura activa desde un extremo Durante esta fase, los extremos intercambian segmentos SIN datos, solo contienen los headers. Secuencia: Para solicitar la apertura de una conexión el extremo A envía un header TCP con el flag SYN puesto a 1. Cuando B lo recibe y decide aceptar la conexión, le contesta con un segmento TCP (header) sin datos con los flags SYN y ACK a 1. El valor del campo ACK es el ACK del segmento recibido. Cuando A recibe este segmento, envía el último de la negociación: un segmento TCP con el flag ACK a 1 y el campo ACK NUMBER del segmento llegado de B TCP B Apertura activa desde un extremo SYN 1234567890 ACK 1234567891 (0) SYN 5000000000 (0) Conexión establecida ACK 5000000001 1 A genera un num de secuencia inicial y envía SYNC para pedir conexión 2 B admite conexión. SYNC con ACK 3 A finaliza esta fase enviando el ACK del SYN de B TCP A Apertura simultánea En este escenario, los extremos deciden solicitar la apertura al otro. A envía un SYN a B, y antes de recibirlo, B envía un SYN a A Cuando A y B reciben los respectivos SYN, generan los SYN de respuesta con los ACK correspondientes. La llegada de estos dos SYN a los dos extremos significa que la conexión está establecida. Juan Carlos Cruellas Ibarz. 10

B Apertura simultánea ACK 5000000001 SYN 1234567890 (0) Conexión establecida A SYN 1234567890 (0)SYN 5000000000 (0) ACK 1234567891 SYN 5000000000 (0) 2. B envía SYN a A 1. A envía SYN a B 4. B envía SYN y ACK a A 3. A envía SYN y ACK a B Juan Carlos Cruellas Ibarz. 11