Capa de transporte

Capa de transporte
Para otros usos de este término, véase Transporte (desambiguación).
Pila OSI.

El nivel de transporte o capa transporte es el cuarto nivel del modelo OSI encargado de la transferencia libre de errores de los datos entre el emisor y el receptor, aunque no estén directamente conectados, así como de mantener el flujo de la red. Es la base de toda la jerarquía de protocolo. La tarea de esta capa es proporcionar un transporte de datos confiable y económico de la máquina de origen a la máquina destino, independientemente de la red de redes física en uno. Sin la capa transporte, el concepto total de los protocolos en capas tendría poco sentido.

Contenido

Servicios

Servicios proporcionados a las capas superiores

La meta final de la capa transporte es proporcionar un servicio eficiente, confiable y económico a sus usuarios, que normalmente son procesos de la capa aplicación. Para lograr este objetivo, la capa transporte utiliza los servicios proporcionados por la capa de red. El hardware o software de la capa transporte que se encarga del trabajo se llama entidad de transporte, la cual puede estar en el núcleo del sistema operativo, en un proceso independiente, en un paquete de biblioteca o en la tarjeta de red.


Hay dos tipos de servicio en la capa transporte, orientado y no orientado a la conexión. En el servicio orientado a la conexión consta de tres partes: establecimiento, transferencia de datos, y liberación. En el servicio no orientado a la conexión se tratan los paquetes de forma individual.

Es la primera capa que lleva a cabo la comunicaciòn extremo a extremo, y esta condición ya se mantendrá en las capas superiores.

Primitivas del servicio de transporte

Para permitir que los usuarios accedan al servicio de transporte, la capa de transporte debe proporcionar algunas operaciones a los programas de aplicación, es decir, una interfaz del servicio de transporte. Cada servicio de transporte tiene su propia interfaz. Con el propósito de ver los aspectos básicos, en esta sección examinaremos primero un servicio de transporte sencillo y su interfaz.

El servicio de transporte es parecido al servicio en red, pero hay algunas diferencias importantes. La principal, es que, el propósito del servicio de red es modelar el servicio ofrecido por las redes reales, con todos sus problemas. Las redes reales pueden perder paquetes, por lo que generalmente el servicio no es confiable. En cambio, el servicio de transporte(orientado a la conexión) si es confiable. Claro que las redes reales no están libres de errores, pero ése es precisamente el propósito de la capa de transporte: ofrecer un servicio confiable en una red no confiable.

Otra diferencia entre la capa transporte y la de red es a quien van dirigidos sus servicios. El servicio de red lo usan únicamente las entidades de transporte. Pocos usuarios escriben sus entidades de transporte y pocos usuarios o programas llegan a ver los aspectos internos del servicio de red. En cambio, muchos programas ven primitivas de transporte. En consecuencia el servicio de transporte debe ser adecuado y fácil de usar.

Las primitivas de un transporte sencillo serían:

- LISTEN: Se bloquea hasta que algún proceso intenta el contacto.

- CONNECT: Intenta activamente establecer una conexión.

- SEND: Envia información.

- RECEIVE: Se bloquea hasta que llegue una TPDU de DATOS.

- DISCONNECT: Este lado quiere liberar la conexión.

Y con estas primitivas podemos hacer un esquema sencillo de manejo de conexiones. Las transiciones escritas en cursiva son causadas por llegadas de paquetes. Las líneas continuas muestran la secuencia de estados del cliente y las líneas punteadas muestran la secuencia del servidor.

Sockets de Berkeley

Este es otro grupo de primitivas de transporte, las primitivas usadas en UNIX para el TCP. En general son muy parecidas a las anteriores pero ofrecen más características y flexibilidad.

Elementos de los protocolos de transporte

El servicio de transporte se implementa mediante un protocolo de transporte entre dos entidades de transporte. En ciertos aspectos, los protocolos de transporte se parecen a los protocolos de red. Ambos se encargan del control de errores, la secuenciación y el control del flujo.

Pero también existen diferencias importantes entre ambas, como los entornos en que operan, la capa transporte necesita el direccionamiento explícito de los destinos, mientras que la capa de red no, otra diferencia es la cantidad de datos, mucho mayor en la capa de transporte.

Direccionamiento

Cuando un proceso desea establecer una conexión con un proceso de aplicación remoto, debe especificar a cuál se conectará.(¿a quién mando el mensaje?) El método que normalmente se emplea es definir direcciones de transporte en las que los procesos pueden estar a la escucha de solicitudes de conexión. En Internet, estos puntos terminales se denominan puertos, pero usaremos el término genérico de TSAP (Punto de Acceso al Servicio de Transporte). Los puntos terminales análogos de la capa de red se llaman NSAP (Punto de Acceso al Servicio de Red). Las direcciones IP son ejemplos de NSAPs.

Establecimiento de una conexión

El establecimiento de una conexión parece fácil, pero en realidad es sorprendentemente difícil. A primera vista, parecería que es suficiente con mandar una TPDU (Unidad de Datos del Protocolo de Transporte) con la petición de conexión y esperar a que el otro acepte la conexión. El problema viene cuando la red puede perder, almacenar, o duplicar paquetes. El principal problema es la existencia de duplicados retrasados. Esto puede solucionarse de varias maneras (ninguna es muy satisfactoria). Una es utilizar direcciones de transporte desechables. En este enfoque cada vez que necesitemos una dirección la creamos. Al liberarse la conexión descartamos la dirección y no se vuelve a utilizar. O también asignar una secuencia dentro de los datos transmitidos, pero estos plantean los problemas de que si se pierde la conexión perdemos el orden del identificador y ya no funciona. Pero la solución seria más fácil si los paquetes viejos se eliminaran de la subred cada cierto tiempo de vida. Para ello podemos utilizar las siguientes técnicas: Un diseño de subred Restringido. Colocar un contador de saltos en cada paquete. Marcar el tiempo de cada paquete. Pero en la práctica no vale solo con hacer esto sino que tenemos que garantizar que todas las confirmaciones de los paquetes también se eliminan.

Liberación de una conexión

La liberación de una conexión es más fácil que su establecimiento. No obstante, hay más escollos de los que uno podría imaginar. Hay dos estilos de terminación de una conexión: liberación asimétrica y liberación simétrica. La liberación asimétrica es la manera en que funciona el mecanismo telefónico: cuando una parte cuelga, se interrumpe la conexión. La liberación simétrica trata la conexión como dos conexiones unidireccionales distintas, y requiere que cada una se libere por separado. La liberación asimétrica es abrupta y puede resultar en la perdida de datos. Por lo que es obvio que se requiere un protocolo de liberación más refinado para evitar la perdida de datos. Una posibilidad es usar la liberación simétrica, en la que cada dirección se libera independientemente de la otra. Aquí, un host puede continuar recibiendo datos aun tras haber enviado una TPDU de desconexión.

La liberación simétrica es ideal cuando un proceso tiene una cantidad fija de datos por enviar y sabe con certidumbre cuándo los ha enviado. En otras situaciones, la determinación de si se ha efectuado o no todo el trabajo y se debe terminarse o no la conexión no es tan obvia. Podríamos pensar en un protocolo en el que el host 1 diga:”Ya termine, ¿Terminaste también?”. Si el host 2 responde “Ya termine también. Adiós”, la conexión puede liberarse con seguridad.

Pero no es tan fiable por el problema de que siempre tendremos que esperar la confirmación de los mensajes recibidos y si esta confirmación no llega no libera la conexión y después puede que necesite la confirmación de que llego la confirmación y entraríamos en un bucle del que no podemos salir.

Podemos hacer que al host 1 si no le llega la confirmación después de N intentos (es que quiere la desconexión), se libere. Esto produce una conexión semiabierta en la que el host 1 está desconectado pero el host 2 no como no le llega la confirmación no se desconecta nunca. Para solucionar esto creamos una regla por la cual si al host 2 no le llega ninguna TPDU durante cierta cantidad de segundos, se libera automáticamente.

Control de Flujo y almacenamiento en buffer

Ya examinamos la conexión y la desconexión, veamos la manera en que se manejan las conexiones mientras están en uso. Uno de los aspectos clave es el control de flujo. Necesitamos un esquema para evitar que un emisor rápido desborde a un receptor lento. La diferencia principal es que un enrutador por lo regular tiene relativamente pocas líneas, y un host puede tener numerosas conexiones. Esta diferencia hace poco practico emplear la implementación que se hace en la capa de enlace

En esta capa lo que se hace es, si el servicio de red no es confiable, el emisor debe almacenar en un buffer todas las TPDUs enviadas, igual que en la capa enlace de datos. Sin embargo, con un servicio de red confiable son posibles otros arreglos. En particular, si el emisor sabe que el receptor siempre tiene espacio de buffer, no necesita tener copias de las TPDUs que envía. Sin embargo, si el receptor no garantiza que se aceptará cada TPDU que llegue, el emisor tendrá que usar buffers de todas maneras. En el último caso, el emisor no puede confiar en la confirmación de recepción de la capa red porque esto sólo significa que ha llegado la TPDU, no que ha sido aceptada.

Los Buffers pueden ser de tres tipos, y usaremos cada uno de ellos cuando más nos convenga.

El equilibrio óptimo entre el almacenamiento del buffer en el origen y en el destino depende del tipo de trafico transportado por la conexión.

Multiplexión

La multiplexión de varias conversaciones en conexiones, circuitos virtuales o enlaces físicos desempeña un papel importante en diferentes capas de la arquitectura de red. En la capa de transporte puede surgir la necesidad de multiplexión por varias razones. Por ejemplo, si en un host sólo se dispone de una dirección de red, todas la conexiones de transporte de esa maquina tendrán que utilizarla. Cuando llega una TPDU, se necesita algún mecanismo para saber a cuál proceso asignarla. Esta situación se conoce como multiplexión hacia arriba.

La multiplexión también puede ser útil en la capa transporte para la utilización de circuitos virtuales, que dan más ancho de banda cuando se reasigna a cada circuito una tasa máxima de datos. La solución es abrir múltiples conexiones de red y distribuir el tráfico entre ellas. Esto se denomina multiplexión hacia abajo.

Recuperación de caídas

Si los hosts y los enrutadores están sujetos a caídas, la recuperación es fundamental. Si la entidad de transporte está por entero dentro de los hosts, la recuperación de caídas de red y de enrutadores es sencilla. Si la capa de red proporciona servicio de datagramas, las entidades de transporte esperan pérdida de algunas TPDUs todo el tiempo, y saben cómo manejarla. Si la capa de red proporciona servicio orientado a la conexión, entonces la pérdida de un circuito virtual se maneja estableciendo otro nuevo y sondeando la entidad de transporte remota para saber cuales TPDUs ha recibido y cuales no.

Un problema más complicado es la manera de recuperarse de caídas del host. Al reactivarse, sus tablas están en el estado inicial y no sabe con precisión donde estaba.

En un intento por recuperar su estado previo, el servidor podría enviar una TPDU de difusión a todos los demás host, anunciando que se acaba de caer y solicitando a todos sus clientes que le informen el estado de todas la conexiones abiertas.

Protocolos de transporte de internet

Internet tiene dos protocolos principales en la capa de transporte, uno orientado a la conexión y otro no orientado a la conexión. El protocolo no orientado a la conexión es el UDP y el orientado es el TCP.

UDP

Artículo principal: UDP

El conjunto de protocolos de Internet soporta un protocolo de transporte no orientado a la conexión UDP (protocolo de datagramas de usuario). Este protocolo proporciona una forma para que las aplicaciones envíen datagramas IP encapsulados sin tener una conexión.

TCP

Artículo principal: TCP

TCP (protocolo de control de transmisión) se diseñó específicamente para proporcionar un flujo de bytes confiable de extremo a extremo a través de una interred no confiable. Una interred difiere de una sola red debido a que diversas partes podrían tener diferentes topologías, anchos de banda, retardos, tamaños de paquete… TCP tiene un diseño que se adapta de manera dinámica a las propiedades de la interred y que se sobrepone a muchos tipos de situaciones.

Véase también

Enlaces externos

Bibliografía Recomendada

  • Redes de computadores -un enfoque descendente-. KUROSE, ROSS(Pearson - Adisson Wesley)
  • Redes de computadoras. ANDREW S. TANENBAUM (Pearson - Prentice Hall)

Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Capa Transporte — Saltar a navegación, búsqueda Para otros usos de este término, véase Transporte (desambiguación). Pila OSI. La capa transporte es el cuarto nivel del modelo OSI encargado de la transferencia libre de errores de los da …   Wikipedia Español

  • Capa de enlace de datos — Pila OSI. El nivel de enlace de datos (en inglés data link level) o capa de enlace de datos es la segunda capa del modelo OSI, el cual es responsable de la transferencia fiable de información a través de un circuito de transmisión de datos.… …   Wikipedia Español

  • Capa de sesión — Pila OSI. El nivel de sesión o capa de sesión es el quinto nivel del modelo OSI , que proporciona los mecanismos para controlar el diálogo entre las aplicaciones de los sistemas finales. En muchos casos, los servicios de la capa de sesión son… …   Wikipedia Español

  • transporte ciliar del moco — Movimiento de las partículas por el tracto respiratorio superior por medios diferentes a la exhalación, fundamentalmente mediante el movimiento ondulatorio de los cilios que cubren el epitelio y la capa mucosa. Diccionario Mosby Medicina,… …   Diccionario médico

  • Transporte de Ekman — Para otros usos de este término, véase Transporte (desambiguación). El transporte de Ekman, descrito por Vagn Walfrid Ekman, es el movimiento de las masas de agua oceánicas (y los materiales en suspensión en ellas) con un cierto ángulo con… …   Wikipedia Español

  • Transporte de nutrientes y agua en las plantas — Para otros usos de este término, véase Transporte (desambiguación). Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet… …   Wikipedia Español

  • Capa — (Del lat. cappa.) ► sustantivo femenino 1 INDUMENTARIA Y MODA Prenda de vestir larga, suelta, sin mangas y abierta por delante que cubre desde el cuello, ensanchándose gradualmente hacia la parte inferior. SINÓNIMO manto 2 Materia que se extiende …   Enciclopedia Universal

  • capa — (Del lat. cappa.) ► sustantivo femenino 1 INDUMENTARIA Y MODA Prenda de vestir larga, suelta, sin mangas y abierta por delante que cubre desde el cuello, ensanchándose gradualmente hacia la parte inferior. SINÓNIMO manto 2 Materia que se extiende …   Enciclopedia Universal

  • capá — (Del lat. cappa.) ► sustantivo femenino 1 INDUMENTARIA Y MODA Prenda de vestir larga, suelta, sin mangas y abierta por delante que cubre desde el cuello, ensanchándose gradualmente hacia la parte inferior. SINÓNIMO manto 2 Materia que se extiende …   Enciclopedia Universal

  • Capa de red — Pila OSI. El nivel de red o capa de red, según la normalización OSI, es un nivel o capa que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas. Es el tercer nivel… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”