第14回 信頼性のある通信を実現するTCPプロトコル(その1)基礎から学ぶWindowsネットワーク(1/3 ページ)

TCP/IPの核であり、信頼性のあるストリーム型通信サービスを実現するTCPプロトコルの基本原理を知る。

» 2003年12月25日 00時00分 公開
「連載 基礎から学ぶWindowsネットワーク ―― Windowsネットワーク管理者への道 ―― 」のインデックス

連載目次


 前回はUDPについて解説した。これはIPプロトコルの機能をほぼそのまま利用した、データグラム指向の通信を実現するプロトコルであった。今回からは、TCP/IPプロトコルの核ともいえる、TCP(Transmission Control Protocol)について解説する。

 TCPは、信頼性のある双方向のストリーム型(コネクション指向)通信を実現するためのプロトコルである。下位層にあるIPプロトコルは、信頼性のないデータグラム型の通信プロトコルなので、信頼性のある通信路を実現するためには、さまざまな工夫が必要となる。すでに何度か説明しているように「信頼性のない」とは、パケットの到達が必ずしも保証されないとか、到着順序が入れ替わる場合がある、パケットが消失したりしても再送処理などが行われない、などを意味している。このようなパケットをベースにして、TCPでは、信頼性のあるストリーム型の通信機能やフロー制御、ウィンドウ制御による効率的なネットワーク帯域幅の活用などを実現している。

 TCPが提供する通信モデルを図にすると次のようになる。アプリケーションとは、TCPを利用するユーザーのプログラムであり、Webサーバやファイル・サーバ、Webブラウザ、メール・クライアントなど、さまざまなものがある。TCPは、これら2つのアプリケーションの間に、信頼性のある双方向の通信路を実現する。通信路の一方から送信したデータは、送信された順番通りに、重複や欠落、エラーなどがなく、必ず相手のアプリケーションにまで届くことが保証される。この通信路は双方向に利用でき、いずれの方向からデータを送信しても相手に届けられる。またネットワークの構造や媒体、帯域幅、遅延時間などに依存せず、どのような構成でも同じように利用できることが保証されている。

TCPの通信モデル
TCPでは、2つのアプリケーション間で、信頼性のある双方向のストリーム型通信路を実現する。下位のIP層の機能を活用してコンピュータ間での通信を行い、その上に信頼性のある通信を実現するためのさまざまな工夫を凝らしている。IP層では通信相手を識別するために「IPアドレス」を利用しているが、TCP層では、同一コンピュータ上で動作する複数のアプリケーションを区別するために「ポート」という番号を利用している。


       1|2|3 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。