As I understand, TCP takes a chunk of data and cuts it into segments that are transmitted over a TCP session.
Now suppose that I, as a client, have two chunks
B of data that I want sent to a server. Each chunk is cut into 3 segments, forming a total of 6 segments.
I will send those 6 segments over the Internet, but I cannot guaranty the order the server will receive them. Fortunately, the TCP server rearranges out-of-order segments for me.
However, for my application, chunks
B are completely independent, so I don't want the server to be waiting for
A segments if all
B segments have been received, or vice versa. In effect, I want two independent TCP sessions for chunks
Is it possible for a client and a server to have parallel, independent TCP sessions? Looking at the TCP header entries, I see no "session number". I am forced to use different source or destination ports?