capa de transporte. los protocolos de capa de transporte proveen comunicaciones lógicas entre...

19
Capa de transporte

Upload: cebrian-almaraz

Post on 23-Jan-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Capa de transporte

Page 2: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Capa de transporte

• Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts.

• Existen dos protocolos principales– TCP (TANSMISSION CONTROL PROTOCOL)– UDP (USER DATAGRAM PROTOCOL)

Page 3: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Relación con las capas vecinas

Page 4: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Servicios Proporcionados a las Capas Superiores

• Ofrece servicios especiales que no están en la capa de red.

• Proporciona primitivas independientes de la capa de red.

• Aísla las capas superiores de la tecnología, el diseño y las imperfecciones de la subred.

• Se pueden tener servicios orientados a conexiones (confiable) o sin conexiones.

Page 5: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Servicios de transporte y protocolos

• Provee comunicación lógica entre aplicaciones corriendo en diferentes máquinas

• Los protocolos de transporte sólo corren en los sistemas finales

• Lado emisor: divide el mensaje de la aplicación en segmentos y los pasa a la capa de red

• Lado receptor: reensambla los segmentos en forma de mensajes y los pasa a la capa de aplicación

• U Se cuenta con más de un protocolo de transporte disponible para las aplicaciones en Internet

• TCP y UDP

Page 6: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

IDENTIFICACION DE CONVERSACIONES

• Existen distintos tipos de números de puerto:• Puertos bien conocidos (Números del 0 al 1 023): estos números se reservan para

servicios y aplicaciones. Por lo general, se utilizan para aplicaciones como HTTP (servidor Web), POP3/SMTP (servidor de email) y Telnet. Al definir estos puertos conocidos para las aplicaciones del servidor, las aplicaciones del cliente pueden ser programadas para solicitar una conexión a un puerto específico y su servicio asociado.

• Puertos Registrados (Números 1024 al 49151): estos números de puertos están asignados a procesos o aplicaciones del usuario. Estos procesos son principalmente aplicaciones individuales que el usuario elige instalar en lugar de aplicaciones comunes que recibiría un puerto bien conocido. Cuando no se utilizan para un recurso del servidor, estos puertos también pueden utilizarse si un usuario los selecciona de manera dinámica como puerto de origen.

• Puertos dinámicos o privados (Números del 49 152 al 65 535): también conocidos como puertos efímeros, suelen asignarse de manera dinámica a aplicaciones de cliente cuando se inicia una conexión. No es muy común que un cliente se conecte a un servicio utilizando un puerto dinámico o privado (aunque algunos programas que comparten archivos punto a punto lo hacen)

Page 7: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos
Page 8: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Multiplexación y demultiplexación• Pueden existir varias aplicaciones o servicios ejecutándose en cada host de la red.

A cada una de estas aplicaciones o servicios se les asigna una dirección conocida como puerto para que la capa de Transporte pueda determinar con qué aplicación o servicio se identifican los datos. Además de utilizar la información contenida en los encabezados para las funciones básicas de segmentación y reensamblaje de datos, algunos protocolos de la capa de Transporte proveen:

• Conversaciones orientadas a la conexión

• Entrega confiable

• Reconstrucción ordenada de datos

• Control del flujo

Page 9: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Multiplexación y demultiplexación

Page 10: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

UDP (USER DATAGRAM PROTOCOL)

• Protocolo de transporte muy ligero!• Servicio con filosofía del “mejor esfuerzo”. Los

segmentos UDP pudieran:– perderse– Llegar en desorden a la aplicación

• sin conexión refiere a:– No hay previo acuerdo (handshaking) entre emisor y

receptor• Cada segmento UDP es manejado sin considerar a

los demás

Page 11: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

¿Porqué usar UDP?

• No pierde tiempo en establecer una conexión• Es simple: no se mantiene un estado de la

conexión en el emisor ni el receptor• Cabecera muy pequeña (igual a menos carga)• No hay control de congestión: con lo cual se

pueden emitir paquetes tan rápido como los requiera la aplicación.

Page 12: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

UDP

• U Es muy popular en aplicaciones multimedia, las cuales son:

• Tolerantes a pérdidas• Sensibles a la tasa de transferencia• Otros usos de UDP

– DNS– SNMP

• Si queremos dar confiabilidad de transmisión utilizando UDP, tenemos que hacer lo que corresponda en la capa de aplicación

• Recuperación de errores específicos de la aplicación.

Page 13: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

ESTRUCTURA DEL DATAGRAMA

Page 14: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

TCP (TRANSMISSION CONTROL PROTOCOL)

• Punto a punto• Fiable.• Esquema de control de congestión y flujo.• Datos en full-duplex.– Flujo de datos en forma bidireccional en la misma

conexión– MSS (maximum segment size)

• Orientado a conexión• Flujo controlado. El emisor no saturara al receptor

Page 15: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

TCP

Page 16: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

CAMPOS TCP• Puerto origen (16 bits): Identifica el puerto emisor.• Puerto destino (16 bits): Identifica el puerto receptor.• Estos dos valores identifican la aplicación receptora y la emisora, junto con

las direcciones IP del emisor y receptor identifican de forma unívoca cada conexión. La combinación de una dirección IP y un puerto es llamado socket. Es el par de sockets (dirección IP + puerto del emisor y dirección IP+ puerto del receptor) emisor y receptor el que especifica los dos puntos finales que unívocamente se corresponden con cada conexión TCP en internet.

• Número de secuencia (32 bits): Identifica el byte del flujo de datos enviado por el emisor TCP al receptor TCP que representa el primer byte de datos del segmento.

• Número de acuse de recibo (32 bits): Contiene el valor del siguiente número de secuencia que el emisor del segmento espera recibir.

Page 17: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

• Longitud de cabecera (4 bits): especifica el tamaño de la cabecera en palabras de 32 bits.• Flags (9 bits):• NS (1 bit): ECN-nonce concealment protection. Para proteger frente a paquetes accidentales

o maliciosos que se aprovechan del control de congestión para ganar ancho de banda de la red.

• CWR (1bit): Congestion Window Reduced. El flag se activa por el host emisor para indicar que ha recibido un segmento TCP con el flag ECE activado y ha respondido con el mecanismo de control de congestión.

• ECE (1 bit): Para dar indicaciones sobre congestión.• URG (1 bit): Indica que el campo del puntero urgente es válido.• ACK (1 bit): Indica que el campo de asentimiento es válido. Todos lo paquetes enviados

después del paquete SYN inicial deben tener activo este flag.• PSH (1 bit): Push. El receptor debe pasar los datos a la aplicación tan pronto como sea

posible.• RST (1 bit): Reset. Reinicia la conexión.• SYN (1 bit): Synchronice. Sincroniza los números de secuencia para iniciar la conexión.• FIN (1 bit): El emisor finaliza el envío de datos.

Page 18: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos

Tamaño de ventana (16 bits): Tamaño de la ventana de recepción que especifica el número máximo de bytes que pueden ser metidos en el buffer de recepción o dicho de otro modo, el número máximo de bytes pendientes de asentimiento.• Suma de verificación (16 bits): Checksum utilizado para la comprobación

de errores tanto en la cabecera como en los datos.• Puntero urgente (16 bits): Cantidad de bytes desde el número de

secuencia que indica el lugar donde acaban los datos urgentes.• Opciones: Para poder añadir características no cubiertas por la cabecera

fija.• Relleno: Se utiliza para asegurarse que la cabecera acaba con un tamaño

múltiplo de 32 bits.

Page 19: Capa de transporte. Los protocolos de capa de transporte proveen comunicaciones lógicas entre aplicaciones ejecutándose en diferentes hosts. Existen dos