The vast majority of network services run over TCP. Messages are sent reliably in both directions as part of an ongoing connection between two programs - without error, without loss or duplication, and delivered in order. Every TCP segment is acknowledged upon receipt. Every TCP segment is identified by a unique sequence number. Flag bits are used to define the state of the connection.
Each individual connection between a given client and server, possibly just one in a set of simultaneous connections to that server (e.g. a web server), is uniquely identified by both the source address and port number of the client in conjunction with the server's IP address and assigned port number.
A TCP packet header contains the source and destination service ports, and sequence and acknowledgement numbers and control flags used to create and maintain a reliable virtual circuit, or ongoing two-way connection.