Capa Transporte 1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.

Slides:



Advertisements
Presentaciones similares
CAPA DE TRANSPORTE MODELO OSI
Advertisements

Capa 4 Capa de Transporte
TEMA1. Servicios de Red e Internet
Programación Interactiva Aplicaciones Cliente-Servidor
CAPA DE TRANSPORTE DEL MODELO OSI
Trabajo Practico Grupo 1 NFS – TCP - UDP
Capítulo 7 Multimedia en Redes de Computadores
OSI TCP/IP MODELO Ing. Camilo Jaramillo Ing. Wilmer Onofre García
CAPA DE RED DEL MODELO DE REFERENCIA OSI
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Capa de transporte.
MODELO TCP/IP Conectividad de extremo a extremo especificando como los datos deberian ser formateados,direccionados,transmitidos,enrutados y recibidos.
MODELO TCP/IP.
Direccionamiento IP Clases de direcciones. 01 de octubre de 2004Cesar Guisado2 TCP/IP La familia de protocolos TCP/IP fue diseñada para permitir la interconexión.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Computer Networking: A Top Down Approach Featuring the Internet,
PROTOCOLO DE TRANSPORTE Profesor Daniel Díaz Ataucuri Introducción
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
Funciones Capa de Transporte
8.6-1 Capítulo 8, Sección 8.6: IPsec Material basado en el Texto: Computer Networking: A Top Down Approach Featuring the Internet, Jim Kurose, Keith Ross.
CAPA DE RED  Aquí se lleva a cabo el direccionamiento lógico que tiene carácter jerárquico, se selecciona la mejor ruta hacia el destino mediante el.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Material tomado de: Computer Networking: A Top Down Approach Featuring.
TCP/IP Introducción TCP/IP Introducción. TCP/IP vs OSI Aplicación Presentación Sesión Transporte Red Enlace Física Aplicación Acceso a la red Física TCP/IP.
RESUMEN CAPITULO 6.
Capítulo 2: Capa Aplicación
Introducción1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como apoyo.
Fundamentos de TCP/IP.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación  2.1 Principios de la aplicaciones de red  2.2 Web y HTTP  2.3 FTP  2.4 Correo Electrónico  SMTP,
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
Introducción 1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en: El material preparado como apoyo.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capa Transporte1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
2: Capa Aplicación 1 Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
2: Capa Aplicación 1 Capa Aplicación: Programación de sockets ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Capa de Red4-1 Capítulo 4: Capa Red - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
Modelo OSI Capas 3 y 4 Harold Sánchez Ospina
Introducción 1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en: El material preparado como apoyo.
Capítulo 7: Capa de transporte
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
2: Capa Aplicación Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
Protocolos del modelo TCP/IP
Ing. Elizabeth Guerrero V.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capítulo 3: Capa Transporte - I
PROTOCOLO TCP Y UDP.
Protocolos de comunicación TCP/IP
Ing. Elizabeth Guerrero V.
Tema 1 – Introducción a las Redes informáticas
Capa Aplicación: Programación de sockets
Capítulo 5: Capa Enlace de Datos - I
Nivel de Transporte en Internet
PROTOCOLOS Modelo TCP/IP
Gabriel Montañés León. TCP es un protocolo orientado a conexión es decir, que permite que dos máquinas que están comunicadas controlen el estado de la.
Modelo OSI Para redes………
2: Capa Aplicación 1 Capa Aplicación: Programación de sockets ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Protocolos de Transporte y Aplicación
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
Sistemas de Comunicación Magistral Nro. 6 Capa 3: Red La Capa de Red provee principalmente los servicios de envío, enrutamiento (routing) y control de.
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
Capa Aplicación: Programación de sockets
Capítulo 4: Capa Red - II ELO322: Redes de Computadores
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
Transcripción de la presentación:

Capa Transporte 1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet. Jim Kurose, Keith Ross.

Capa Transporte 2 Capítulo 3: Capa Transporte Objetivos:  Entender los principios detrás de los servicios de la capa transporte:  Multiplexing / demultiplexing  Transferencia confiable de datos  Control de flujo  Control de congestión  Aprender sobre los protocolos de transporte en la Internet:  UDP (User Datagram Protocol): transporte sin conexión  TCP (Transmission Control Protocol): transporte orientado a la conexión  Control de congestión en TCP

Capa Transporte 3 Contenido de Capítulo 3  3.1 Servicios de la capa transporte  3.2 Multiplexing y demultiplexing  3.3 Transporte sin conexión: UDP  3.4 Principios de transferencia confiable de datos  3.5 Transporte orientado a la conexión: TCP  Estructura de un segmento  Transferencia confiable de datos  Control de flujo  Gestión de la conexión  3.6 Principios del control de congestión  3.7 Control de congestión en TCP

Capa Transporte 4 Protocolos y servicios de transporte  Proveer comunicación lógica entre procesos de aplicaciones corriendo en diferentes hosts  Los protocolos de transporte corren en sistemas terminales (computadores, no equipos internos como routers)  Hay más de un protocolo de transporte disponible para las aplicaciones  Más comunes: TCP y UDP  Hoy también SCTP (Stream Control Transmission Protocol, 2000), DCCP (Datagram Congestion Control Protocol, 2005) application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

Capa Transporte 5 Capa transporte vs. capa red  Capa transporte: encargada de la comunicación lógica entre procesos  Depende y mejora los servicios de la capa de red  Capa de red: encargada de la comunicación lógica entre hosts Analogía:  12 niños en una casa envían cartas a 12 niños. en otra casa  Ann y Bill recopilan las cartas en cada hogar y las envían por correo. También distribuyen las cartas que llegan.  Procesos = niños  Mensajes aplicación = cartas en sobres  Hosts = casas  Protocolo de transporte = Ann y Bill  Protocolo capa red = servicio de correos

Capa Transporte 6 Protocolos de capa transporte en Internet  TCP: Entrega confiable y en orden ‏  Tiene: Control de flujo  Tiene: control de congestión  Establecimiento de conexión  UDP: Entrega no confiable, tal vez desordenada: ‏  Básicamente el mismo servicio de IP: “mejor esfuerzo” (best- effort) ‏  Qué servicios no se ofrecen:  Garantías de retardo  Garantías de ancho de banda  (Básicamente porque no es fácil -o posible- implementarlo basándose en los servicios de IP) ‏ application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

Capa Transporte 7 Contenido de Capítulo 3  3.1 Servicios de la capa transporte  3.2 Multiplexing y demultiplexing  3.3 Transporte sin conexión: UDP  3.4 Principios de transferencia confiable de datos  3.5 Transporte orientado a la conexión: TCP  Estructura de un segmento  Transferencia confiable de datos  Control de flujo  Gestión de la conexión  3.6 Principios del control de congestión  3.7 Control de congestión en TCP

Capa Transporte 8 Multiplexación/demultiplexación aplicación transporte red enlace física P1 aplicación transporte red enlace física aplicación transporte red enlace física P2 P3 P4 P1 host 1 host 2 host 3 = proceso= socket Entrega el segmento recibido al socket correcto Basado en puerto (UDP) Basado en 4-tupla (TCP) Demultiplexación en host Rx: Capa de transporte: Recopila datos desde múltiples sockets, usa info. de encabezado (puerto e IP origen ‏, puerto e IP destino) Multiplexación en host Tx:

Capa Transporte 9 Cómo trabaja la demultiplexación?  El host Rx recibe datagramas IP  Cada datagrama tiene dirección IP fuente y dirección IP destino  Cada datagrama incluye 1 segmento de la capa transporte  Cada segmento tiene números de puerto fuente y destino  En general el host usa las direcciones IPs y números de puertos para conducir un segmento al socket apropiado  Puertos reservados por protocolos establecidos, HTTP: 80, FTP: 21, están definidos en RFC 1700 # puerto fuente# puerto dest. 32 bits Datos de la aplicación (mensaje) ‏ Otros campos del encabezado Formato de segmento TCP/UDP

Capa Transporte 10 Demultiplexación sin conexión (UDP) ‏  Capa de transporte reconoce Socket destino por puerto destino y la aplicación reconocer remitente por la IP y puerto origen.  Cuando la capa transporte recibe un segmento UDP (lado receptor):  Chequea número de puerto destino en segmento  Dirige el segmento UDP al socket con ese número de puerto  Datagramas IP con direcciones IP y/o números de puerto origen diferentes pueden ser dirigidos al mismo socket destino.

Capa Transporte 11 Re-visitemos: Código Cliente Socket UDP  Cliente: Creamos socket y datagrama con núm. de puerto: DatagramSocket clientSocket = new DatagramSocket();... InetAddress IPAddress = InetAddress.getByName("hostname");... DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);... clientSocket.send(sendPacket);  En la red, el Socket UDP destino queda identificado por (2- tuple) : ( Dirección IP destino, Número puerto destino) ‏

Capa Transporte 12 Re-visitemos: Código Servidor Socket UDP  Servidor crea el socket en un puerto específico: DatagramSocket serverSocket = new DatagramSocket(9876);...  Recibe paquete del cliente, usa IP y puerto del mensaje para responder: DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); // paquete recibido... InetAddress IPAddress = receivePacket.getAddress(); //saca IP y int port = receivePacket.getPort(); // puerto origen DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);...  Servidor responde usando la información obtenida del paquete: serverSocket.send(sendPacket);

Capa Transporte 13 Demultiplexación sin conexión (cont) ‏ Cliente IP:B P2 cliente IP: A P3 servidor IP: C PO: 6428 PD: 9157 PO: puerto origen, junto a IP origen proveen “dirección de retorno” Un mismo socket recibe mensajes desde distintos hosts. La aplicación los distingue por la IP y puerto origen de cada mensaje. PO: 9157 PD: 6428 PO: 6428 PD: 5775 PO: 5775 PD: 6428 P

Capa Transporte 14 Demultiplexación orientada a la conexión (TCP)  Un socket maneja solo un cliente.  Sockets TCP queda definido por (4-tupla):  Dirección IP Origen  Número de puerto Origen  Dirección IP Destino  Número de puerto Destino  Host receptor usa los cuatro valores para dirigir los segmentos al socket apropiado.  Un host servidor puede soportar muchos sockets TCP en un mismo puerto simultáneos:  Cada socket es identificado por su 4-tupla propia  Un servidores Web tiene un socket diferente por cada cliente conectado  HTTP no-persistente tendrá diferentes sockets por cada petición de datos

Capa Transporte 15 Re-visitemos: Código Cliente Socket TCP  Cliente: Creamos socket con IP y núm. de puerto: Socket clientSocket = new Socket("hostname", 6789);... DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());  La capa de transporte asigna un puerto local para el socket del cliente.

Capa Transporte 16 Re-visitemos: Código Servidor Socket TCP  Servidor crea el welcome socket en un puerto específico: ServerSocket welcomeSocket = new ServerSocket(6789);  Al aceptar una conexión se crea un nuevo socket para este cliente específico: Socket connectionSocket = welcomeSocket.accept();  Se lee desde socket de conexión: BufferedReader inFromClient = new BufferedReader( new InputStreamReader(connectionSocket.getInputStream()));  Se responde usando el mismo socket de conexión: DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());

Capa Transporte 17 Demultiplexación orientada a la conexión (cont.) ‏ Cliente IP:B P1 cliente IP: A P1P2P4 servidor IP: C P5P6P3 Notar puede haber igual puerto Origen en A y B. Igual puerto destino en ambas conexiones desde B. PO: 9157 PD: 80 IP-O: A IP-D: C PO: 9157 PD: 80 IP-D: C IP-O: B PO: 5775 PD: 80 IP-D: C IP-O: B

Capa Transporte 18 Demultiplexación orientada a la conexión: Servidor Web con hebras (cont.) ‏ Cliente IP:B P1 cliente IP: A P1P2 servidor IP: C PO: 9157 PD: 80 PO: 9157 PD: 80 P3 IP-D: C IP-O: A IP-D: C IP-O: B PO: 5775 PD: 80 IP-D: C IP-O: B P4 Aquí un único proceso maneja distintos sockets para cada cliente. La programación de esto se estudia en ELO330

Capa Transporte 19 Contenido de Capítulo 3  3.1 Servicios de la capa transporte  3.2 Multiplexing y demultiplexing  3.3 Transporte sin conexión: UDP  3.4 Principios de transferencia confiable de datos  3.5 Transporte orientado a la conexión: TCP  Estructura de un segmento  Transferencia confiable de datos  Control de flujo  Gestión de la conexión  3.6 Principios del control de congestión  3.7 Control de congestión en TCP

Capa Transporte 20 UDP: User Datagram Protocol [RFC 768]  Básicamente agrega puerto a paquete IP  Servicio de “mejor esfuerzo”, un segmento UDP se puede:  perder  Entregar a la aplicación fuera de orden  Sin conexión:  No hay handshaking (establecimiento de conexión) entre servidor y receptor UDP  Cada segmento UDP es manejado en forma independiente de los otros Por qué existe UDP?  No requiere establecimiento de conexión (lo cual agregaría retardo) ‏  Simple: no se requiere mantener estado en el Tx y el Rx  Pequeño segmento de encabezado => menor overhead  No hay control de congestión: UDP puede transmitir tan rápido como se desee “Mejor esfuerzo”: Haré todo lo posible por entregarlo, pero no lo garantizo.

Capa Transporte 21 UDP: más detalle  A menudo es usado por flujos (streaming) multimedia en aplicaciones que:  Toleran pérdida de datos  Son sensibles a la tasa de transmisión  Otros usos de UDP  DNS  SNMP (Simple Network Management Protocol) ‏  Es posible lograr transferencias confiables sobre UDP: se debe programar la confiabilidad en la capa aplicación  En este caso la recuperación de errores depende de la aplicación! # puerto origen# puerto dest. 32 bits Datos de la Aplicación (mensaje) ‏ Formato segmento UDP largo checksum Largo, en bytes del segmento UDP, incluyendo encabezado

Capa Transporte 22 Checksum UDP (suma de chequeo) ‏ Transmisor:  Trata el contenido de cada segmento como una secuencia de enteros de 16 bits  checksum: “suma” del contenido del segmento y luego invierte cada bits (se conoce como tomar el complemento 1).  Transmisor pone el valor del checksum en el campo checksum del datagrama UDP  Incluye algunos campos de IP (para los que quieren comprobarlo con wireshark). Receptor:  Calcula el checksum del segmento recibido  Chequea si el checksum calculado corresponde al valor de checksum recibido en el campo:  NO corresponde => error detectado  SI => no hay error detectado. Pero podrían haber errores sin embargo! Objetivo: detectar “errores” (e.g., bits cambiados) en segmentos transmitidos

Capa Transporte 23 Ejemplo Checksum en Internet  Notar  Cuando sumamos números, la reserva del bit más significativo debe ser sumada al resultados  Tomar el complemento 1 no es más que invertir los bits  Ejemplo: sumar dos enteros de 16-bits Sumar reserva “suma” checksum

Capa Transporte 24 Contenido de Capítulo 3  3.1 Servicios de la capa transporte  3.2 Multiplexing y demultiplexing  3.3 Transporte sin conexión: UDP  3.4 Principios de transferencia confiable de datos  3.5 Transporte orientado a la conexión: TCP  Estructura de un segmento  Transferencia confiable de datos  Control de flujo  Gestión de la conexión  3.6 Principios del control de congestión  3.7 Control de congestión en TCP