Each packet has a number of information such as the unit number, a destination IP address and a sequence number . These information allow the packets to arranged in a chronological order and allow the recipient to be able to re-order the packets to gain access to the information. TCP/IP implementations differ in the approach they take to deciding on datagram size.
This header actually contains at least 20 octets, but the most important ones are a source and destination “port number” and a “sequence number”. The port numbers are used to keep track of different conversations. Your TCP might allocate port numbers 1000, 1001, and 1002 to these transfers. When you are sending a datagram, this becomes the “source” port number, since you are the source of the datagram. Of course the TCP at the other end has assigned a port number of its own for the conversation.