Tema 4.1: TRANSPORTE-Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. • Su función básica es aceptar los datos enviados por las capas superiores, dividirlos en pequeñas partes si es necesario, y pasarlos a la capa de red. • En el caso del modelo OSI, también se asegura que lleguen correctamente al otro lado de la comunicación. • El estándar ISO X.214 especifica el funcionamiento del nivel de transporte en el sistema OSI. Existen dos tipos de servicio de transporte en X.214: orientado a la conexión y sin conexión. • Debe aislar a las capas superiores de las distintas posibles implementaciones de tecnologías de red en las capas inferiores, lo que la convierte en el corazón de la comunicación. - Terminología OSI. - Modelo OSI - - Terminología OSI. - Modelo OSI - - Pese a las similitudes con el servicio de red existen diferencias importantes: • El nivel de red modela redes reales y produce N-RESETs espontáneos, manipulando confirmaciones para evitar posibles pérdidas de datos. En cambio para el usuario de transporte el servicio está libre de errores, ya que el nivel de transporte recupera conexiones caídas y otros errores, ocultándolos a los usuarios. • Otra diferencia importante es que el nivel de red no está pensado en general para usuarios finales sino para procesos que forman parte del sistema operativo. Por tanto los servicios de red raramente los usa el usuario mientras que el servicio de transporte es bastante más usado y está más accesible al usuario final. - Tipologia y complejidad de las redes. - DETALLES DEL SERVICIO: -Tasa de error muy baja. -Exentos de N-Resets. TIPO A Red Transporte -Ejemplo: LAN -Tasa de error baja. B -Pueden aparecer N-Resets. -Ejemplo: Redes datos públicas; X25. -Pérdida de mensajes. -Duplicación de mensajes. -Con N-Resets. -Ejemplo: WAN Datagramas. Internet. C Red Transporte - Servicios. • Existen dos tipos de servicios de transporte: - Orientado a conexión, con las tres fases de establecimiento, transferencia de datos y liberación. El direccionamiento, y control de flujo son similares al nivel de red. - Sin conexión, similar al servicio de la capa de red. • Aunque los servicios de red- transporte sean similares, la capa de transporte debe existir ya que la de red está operada, en redes WAN, por el suministrador de servicios portadores, no ejerciendo los usuarios ningún control sobre ella, siendo necesario mejorarla. • La existencia de problemas en la capa de red como la perdida de paquetes y N-RESET en general hace imprescindible la existencia de la capa superior de Transporte, encargándose de solventarlos. • El tener la capa de transporte encima de la de red permite lo siguiente: - Hace el servicio más fiable tratando las imperfecciones de la red, despreocupando al programador de errores de red. - Permite aplicaciones que pueden hacerse usando unas primitivas normalizadas, funcionando en cualquier red. Sockets. - EL NIVEL DE TRANSPORTE ES LA FRONTERA ENTRE EL SUMINISTRADOR Y EL USUARIO- - Calidad de Servicio. • Una forma de concebir la capa de transporte es como un nivel de mejora para la Calidad del Servicio (Quality of Service, QoS) proporcionado por la capa de red. • La QoS puede cuantificarse y parametrizarse. El servicio de transporte OSI permite a los usuarios establecer valores predefinidos, aceptables o inaceptables para dichos parámetros al establecer la conexión. • También es posible para el servicio sin conexión. • La capa de transporte inspecciona la QoS deseada por el usuario y determina si puede prestarlo según el nivel de red disponible sobre el que trabaja. • Negociación de opciones: El usuario especifica los valores deseados y mínimos al abrir la conexión. Su propia capa de transporte puede informarle de que no es posible en absoluto conectar o bien reduce las exigencias para que el destino pueda comunicarse. Los valores y parámetros no los especifica OSI. Si un valor mínimo no se puede satisfacer no se abre la conexión en absoluto. - Secuencias más comunes de primitivas de transporte OSI. - Secuencias más comunes de primitivas de transporte OSI. Proceso de comunicación entre A y B. -Características del proceso. • • Cuando existen múltiples conexiones, las entidades de transporte asignan un número a cada conexión y lo van poniendo en la TPDU, agrupando tramas de información para una mayor eficacia del transporte. La TPDU realiza un control de flujo, asentimiento de tramas y almacena la ultima TPDU antes de un N-Reset hasta ser asentida. Cuando existen muchos procesos, cada uno de ellos usa un TSAP (puerto) diferente. Surge aquí el problema de que en el proceso remoto se encamine la información de cada aplicación a su correspondiente TSAP. IMPLEMENTACIÓN PARA ARPANET: Hay un servicio servidor de puertos atendiendo solicitudes. (UDP/TCP 111). Los servidores registran el nombre del servicio y el puerto de escucha hasta llegar la solicitud. Cuando el cliente quiera un servicio, contacta con el servidor de puertos que le indicará el puerto del servidor que desea. Tras sucesivas mejoras y la adaptación a redes no fiables (Tipo C) se convertiría en el actual protocolo de comunicaciones de Internet el TCP. - Transporte en Internet. • Vamos a diferenciar dos protocolos de comunicación: UDP: (User Datagram Protocol) es un protocolo mínimo de nivel de transporte orientado a mensajes y a no conexión. UDP no otorga garantías para la entrega de sus mensajes y el origen UDP no retiene estados de los mensajes UDP que han sido enviados a la red. Cualquier tipo de garantías para la transmisión de la información, deben ser implementadas en capas superiores. Se utiliza cuando se necesita transmitir voz o vídeo y resulta más importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes. TCP: (Transmission Control Protocol) Es un protocolo orientado a conexión que garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto (TSAPs) . Es usado en las aplicaciones mas conocidas de Internet como son HTTP, SMTP y SSH. - TCP TSAPs que identifican los extremos de la conexión. Cada octeto se numera individualmente. Para control del flujo. 16 bits que indican cuántos octetos más a partir del último confirmado pueden enviarse (no cuantas TPDUs). Indica las características del dato, y las primitivas para conexión, desconexión, restablecimiento …. Para comunicar tamaños de buffer durante la apertura de la conexión, etc... suma de todos los datos, en bloques de 16 bits. Nº de palabras de 32 bits de la cabecera. Necesario porque el campo de OPCIONES es de longitud variable. - UDP TSAPs que identifican los extremos de la conexión. Se utilizan para multiplexar datagramas entre los procesos que esperan recibirlos. El puerto origen es opcional. Nº total de octetos en el datagrama UDP, incluyendo la cabecera y los datos. Es opcional y se rellena a ceros cuando no se quiere usar. Es la única alternativa para asegurar que los datos llegan correctos. - Transporte en Internet. - SOCKETS: Un socket o primitiva es al sistema de comunicación entre ordenadores lo que un buzón o un teléfono es al sistema de comunicación entre personas: un punto de comunicación entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir información. • En el caso de Internet usan el protocolo TCP bajo IP. • La comunicación entre procesos a través de sockets se basa en la filosofía CLIENTE-SERVIDOR. • No se rigen por normas ISO. • Permiten comunicaciones orientadas a conexión o a no conexión. - Transporte en Internet. • Primitivas SOCKET elementales: • • • • • • • • • Socket : Crea un descriptor de socket. Close: Cierra socket. Bind: Asocia una dirección local con un socket. Listen: Crea cola de espera para almacenar solicitudes de conexión. Accept: Espera una solicitud de conexión. Connet: Inicia conexión con conector remoto. Shutdown: Finaliza conexión. Send, Write, Sendto: Envía mensaje. Recv, Read, Recvfrom: Recibir mensaje. - Primitivas en protocolo orientado a conexión. - Primitivas en protocolo orientado a no conexión.