TCP の場合と同様、クライアント/サーバ通信は、サーバ プロセスにデータを要求するクライアント アプリケーションによって開始されます。 UDP クライアント プロセスは、ダイナミック ポート番号の範囲からランダムにポート番号を選択し、それを会話のための送信元ポートとして使用します。 通常、宛先ポートはサーバ プロセスに割り当てられた既知のポート番号または登録済みポート番号です。
ランダム化された送信元ポート番号は、セキュリティにも役立ちます。 宛先ポートの選択に予測可能なパターンがある場合、侵入者は開いている可能性が最も高いポート番号への接続を試みることで、比較的容易にクライアントへのアクセスをシミュレートできます。
UDP では作成すべきセッションがないので、データの送信準備ができて、ポートが識別されると、UDP はすぐにデータグラムを作成して、ネットワーク層に渡すことができます(それによって、ネットワークでのアドレス指定と送信が可能になります)。
クライアントが送信元ポートと宛先ポートを選択した後は、トランザクションで使用されるすべてのデータグラムのヘッダー内で同じポート ペアが使用されます。 サーバからクライアントに返されるデータの場合、データグラム ヘッダー内の送信元ポート番号と宛先ポート番号が逆になります。
右側の図を切り替えながら、UDP クライアント プロセスの詳細を確認してください。