IPではコンピュータ同士の通信を考えたが、TCPやUDPはそれぞれのコンピュータ内で稼働しているアプリ(プログラム)同士の通信を考える。

IPアドレスでは、パケットの宛先となるコンピュータを識別するだけで、それがそのコンピュータ内のどのプログラムに宛てたものなのかを特定することはできない。

そこで、プログラムの側では0~65535までの範囲で自分専用の接続口(ポート)を設けて待つようになっており、この接続口を示す番号のことをポート番号 という。

TCPやUDPのヘッダには、次の情報が含まれる。

この5つの数字が異なれば違う通信とみなされるため、これらは通信を識別するためのアソシエーションという。 これらの数値は、netstatコマンドによって確認できる。