Inicio Atrás Adelante

Protocolos del nivel de transporte

El nivel de transporte oculta a los niveles altos del sistema el tipo de tecnología (red) a que está conectado el terminal. Es conveniente recordar que los terminales pueden estar conectados tanto a una red de área local (LAN) como a una red de gran alcance (WAN), e interconectados por medio del protocolo de Internet.


El objetivo principal del nivel de transporte es actuar de interfaz entre los niveles orientados a la aplicación y los niveles orientados a la Red de la jerarquía de protocolos (tanto OSI como TCP/IP).

La siguiente figura describe el posicionamiento del nivel de transporte con respecto al resto de los niveles.

Para introducir los protocolos del nivel de transporte nos centramos en la jerarquía de protocolos TCP/IP. En esta jerarquía se definen dos protocolos de transporte: el UDP y el TCP. EL UDP no está orientado a la conexión, mientras que el TCP sí que lo está.

En el caso de la jerarquía TCP/IP, se definen dos direcciones que relacionan el nivel de transporte con los niveles superior e inferior:

  • La dirección IP, que ya conocéis, es la dirección que identifica un subsistema dentro de una red.
  • El puerto identifica la aplicación que requiere la comunicación.

Para identificar las diferentes aplicaciones, los protocolos TCP/IP marcan cada paquete (o unidad de información) con un identificador de 16 bits llamado puerto.

La verdadera utilidad de los puertos es que permiten multiplexar aplicaciones sobre protocolos del nivel de transporte. Eso significa que un mismo protocolo de transporte lleva información de diferentes aplicaciones y éstas son identificadas por el puerto.

Una aplicación puede establecer una comunicación por medio de la jerarquía de protocolos TCP/IP. Por ejemplo, los protocolos del nivel de aplicación pueden ser el FTP para la transferencia de ficheros; el HTTP, base del WWW; el SMTP para el correo electrónico, o bien el SNMP para gestionar la Red.

Si alguna aplicación que corre en un terminal quiere establecer una comunicación con un servidor o con otro terminal, debe utilizar un protocolo de transporte, ya sea el TCP o el UDP. Puesto que el destino se puede encontrar en una red remota, los protocolos de transporte necesitan el protocolo Internet para llegar al terminal o servidor remoto.

Por tanto, cuando se establece la comunicación, no sólo es esencial conocer el puerto que identifica la aplicación de destino, sino también la dirección IP que identifica el terminal o servidor en el conjunto de redes.

Como podéis observar en la figura anterior, las aplicaciones utilizan uno de los dos protocolos de transporte para comunicarse con equipos remotos. Para que un protocolo de aplicación pueda comunicarse con otro del mismo nivel situado en un terminal remoto, tiene que transmitirle un flujo de bytes. Éste es encapsulado por los protocolos del nivel de transporte.


El conjunto de bytes que transmite el nivel de transporte TCP se llama segmento TCP, mientras que el conjunto de bytes que transmite el protocolo de transporte UDP se cataloga como datagrama UDP.

¿Cómo se efectúa una comunicación entre dos aplicaciones? Se utiliza el modelo cliente/servidor. En una conexión, es típico que una aplicación (el cliente) inicie una comunicación pidiendo una información a otra aplicación (el servidor). Pensemos en un ordenador que está conectado a una LAN y tiene asignada una dirección IP. Supongamos que este ordenador actúa como servidor de correo electrónico, además de servidor de nombres. Un cliente conectado a Internet que solicita resolver un nombre necesita conocer la dirección IP asignada a este ordenador y el puerto que identifica la aplicación servidor que resuelve nombres.

¿Por qué necesita conocer ambas direcciones? La respuesta es sencilla. El servidor estará conectado a una red y, por lo tanto, tendrá una dirección IP que se debe conocer para que podamos comunicarnos con esta máquina remota. Nos conseguimos comunicar con esta máquina (servidor) por medio del protocolo IP. Sin embargo, una vez conseguida la comunicación, el servidor debe ser capaz de identificar la aplicación con la que quiere comunicarse el cliente entre las muchas que corren: servidor de nombres, servidor de correo electrónico, etc.

El cliente conoce la dirección IP de origen (la suya), la dirección IP de destino (la del servidor) y su puerto de origen (identifica la aplicación cliente). No obstante, hay un problema: ¿cómo sabe el cliente el número (puerto de destino) que identifica la aplicación deseada en el servidor? La solución consiste en utilizar los llamados puertos conocidos.

Contenido complementario


Un puerto conocido (well-known port) es un puerto (número) reservado que identifica una aplicación conocida.

Ejemplo

Evidentemente, el servidor no necesita conocer a priori el puerto de origen, ya que se limita a responder a cualquier petición de cualquier cliente. El cliente informa en la unidad de datos de protocolo (PDU) del nivel de transporte (ya sea un datagrama UDP o bien un segmento TCP) de los puertos de origen y de destino, de manera que el servidor conocerá el puerto de origen tras recibir una petición.

A continuación estudiamos el funcionamiento de los dos protocolos de transporte mencionados, el UDP y el TCP.

Arriba