Según entiendo, TCP toma un trozo de datos y lo divide en segmentos que se transmiten a través de una sesión TCP.
Ahora supongamos que yo, como cliente, tengo dos trozos A
, B
de datos que quiero enviar a un servidor. Cada trozo se divide en 3 segmentos, formando un total de 6 segmentos.
Enviaré esos 6 segmentos a través de Internet, pero no puedo garantizar el orden en el que el servidor los recibirá. Afortunadamente, el servidor TCP reorganiza los segmentos fuera de orden por mí.
Sin embargo, para mi aplicación, los trozos A
y B
son completamente independientes, por lo que no quiero que el servidor esté esperando los segmentos de A
si todos los segmentos de B
han sido recibidos, o viceversa. En efecto, quiero dos sesiones TCP independientes para los trozos A
y B
.
¿Es posible que un cliente y un servidor tengan sesiones TCP paralelas e independientes? Al observar las entradas del encabezado TCP, no veo un "número de sesión". ¿Estoy obligado a usar puertos de origen o destino diferentes?