このページの本文へ

TCP/IPまるわかり 第5回

論理的な伝送路で信頼性を上げる技術を知ろう

TCPのキモはコネクションとポート番号

2009年07月13日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

TCPの動作とポート

 TCP(Transmission Control Protocol)はIPの上位層であるトランスポート層に位置するコネクション型のプロトコルで、信頼性の高い通信機能を上位アプリケーションに提供する。TCPは、IPネットワーク内で自ホストから相手ホストまでのコネクションを確立し、コネクションの両端の間でデータを確実に送受信する。このとき、1つのホストが同時に複数の相手と通信を行なうことがあるため、TCPではコネクションの終端を「ポート」という抽象概念で識別する。ポートはアプリケーションに結合され、1つのアプリケーションが複数ポートを使用することもある(図2)。

図2 TCPの機能とポート番号

 ポートはホスト内で正の整数(1~65536)で管理され識別される。この整数(識別子)を「ポート番号」と呼ぶ。TCPの上位アプリケーションがデータを送信するときは、宛先ホストのIPアドレスと宛先ポート番号を指定して要求するだけでよい。そのあとの、コネクションを確立し、複数のパケットに分割して宛先ホストまで送り届け、パケットを元のデータに復元するといった複雑な処理はTCPが行なう。

よく知られたポート

 ポート番号の管理は、通常、ホスト上のOSが行なっている。TCPを利用するアプリケーションは、クライアント/サーバ型のものが多いので、「クライアントはどのようにしてサーバ側のポート番号を知るか」という問題がある。

 この問題を解決するため、サーバにはあらかじめ固定的なポート番号を決めておき、それをクライアントに教えておくという方法が使われる。この固定的な番号を持つポートのことを「ウェルノウンポート(Well-Known port)」と呼ぶ。たとえば、Telnet(遠隔ログイン)には23、HTTP(WWW)なら80といった具合だ。他のアプリケーションはこれらのポートを使用してはならない約束である。

(次ページ、「TCPのエラー訂正の仕組み」に続く)


 

カテゴリートップへ

この連載の記事