ホームページ >運用・保守 >Linuxの運用と保守 >トランスポート層の概要: ポートとプロセスの関係
#プロセス間通信
トランスポート層はトランスポート層とも呼ばれ、特別な層です。一方で、それは通信部分の最上位レベルに属し、他方で、ユーザー機能の最下位レベルに属します。トランスポート層は、異なるホスト上のプロセス間の通信に使用され、パケットを転送するルーターの場合、下位3層の機能のみを持ち、トランスポート層以上は使用しません。 プロセス、つまり実行中のプログラム。 Linux では、プログラムが実行されると、オペレーティング システムがプロセスにプロセス番号を割り当てます。コマンド ps aux を使用すると、すべてのプロセスを表示できます。# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 51744 2808 ? Ss Jul31 16:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 ……
ポート
TCP/IP のトランスポート層は、16 ビットのポート番号を使用してポートをマークするため、ホストは65535 ポート。 Web を開いたことがある人は、Web サーバーの 80、mysql サービスの 3306、その他のポートなど、一般的に使用されるポート番号をいくつか知っているはずです。 2 つのホスト間のプロセスはそれぞれのポート番号を介して通信するため、プロセスにはポートをリッスンする機能も必要です。 Linux では、監視対象ポートを表示するコマンドは netstat -tlunp# netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2449/nginx: worker tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1010/pure-ftpd (SER tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1819/sshd ……です。ポートには多重化と逆多重化の機能もあります。多重化とは、ホストの複数のアプリケーション プロセスが同じポート番号を使用して通信できることを意味します。 、分割とは、IP 層から取得したデータグラムをポート番号を通じてさまざまなアプリケーション プロセスに引き渡すことができることを意味します。
TCP と UDP
トランスポート層には、伝送制御プロトコル TCP とユーザー データグラム プロトコル UDP の 2 つのプロトコルのみがあります。これら 2 つのプロトコルには独自の特性といくつかのアプリケーション シナリオがあります。 TCP はコネクション指向のプロトコルであり、データを送信する前にコネクションを確立する必要があり、データ送信が不要な場合はコネクションを切断する必要があります。 TCP は比較的複雑なプロトコルであり、考慮すべき要素が数多くあります。エンドツーエンドの信頼性の高い伝送を提供できますが、1 対多および多対多の通信はサポートされていません。一般的に使用される TCP プロトコルには、HTTP プロトコル、ftp プロトコル、telnet プロトコルなどが含まれます。 UDP はパケット用で、比較的シンプルで、信頼性の高い送信ではなくベストエフォートを使用します。 1対1、1対多、多対多の通信が可能です。 UDP プロトコルを使用する一般的なプロトコルには、DHCP、DNS、RIP プロトコルなどがあります。 TCP は電話をかけるようなもので、通話の前に接続を確立する必要があります。 UDP はテキスト メッセージの送信に似ており、テキスト メッセージを送信する前に相手のホストの状態を知る必要がなく、テキスト メッセージが送信されたかどうかもわかりません。以上がトランスポート層の概要: ポートとプロセスの関係の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。