第14回 信頼性のある通信を実現するTCPプロトコル(その1):基礎から学ぶWindowsネットワーク(1/3 ページ)
TCP/IPの核であり、信頼性のあるストリーム型通信サービスを実現するTCPプロトコルの基本原理を知る。
■連載目次
第1回 Windowsネットワークの舞台裏
第2回 レイヤ・モデルとファイル共有
第3回 NetBIOSを理解する(1)
第4回 NetBIOSを理解する(2)
第5回 NetBIOSの通信の実際
第6回 TCP/IP始めの一歩
第7回 IPアドレスとネットマスク
第8回 アドレス・クラスとIPアドレス
第9回 IPルーティング
第10回 IPパケットの構造
第11回 MACアドレスを解決するARP
第12回 TCP/IPを支えるICMP
第13回 データグラム通信を実現 UDP
第14回 信頼性を実現するTCP(1)
第15回 信頼性を実現するTCP(2)
第16回 信頼性を実現するTCP(3)
第17回 LLCとNetBEUI
第18回 NetBIOS over TCP/IP(1)
第19回 NetBIOS over TCP/IP(2)
第20回 ファイル共有SMB/CIFS(1)
第21回 ファイル共有SMB/CIFS(2)
第22回 ファイル共有SMB/CIFS(3)
第23回 ブラウザ・サービス
前回はUDPについて解説した。これはIPプロトコルの機能をほぼそのまま利用した、データグラム指向の通信を実現するプロトコルであった。今回からは、TCP/IPプロトコルの核ともいえる、TCP(Transmission Control Protocol)について解説する。
TCPは、信頼性のある双方向のストリーム型(コネクション指向)通信を実現するためのプロトコルである。下位層にあるIPプロトコルは、信頼性のないデータグラム型の通信プロトコルなので、信頼性のある通信路を実現するためには、さまざまな工夫が必要となる。すでに何度か説明しているように「信頼性のない」とは、パケットの到達が必ずしも保証されないとか、到着順序が入れ替わる場合がある、パケットが消失したりしても再送処理などが行われない、などを意味している。このようなパケットをベースにして、TCPでは、信頼性のあるストリーム型の通信機能やフロー制御、ウィンドウ制御による効率的なネットワーク帯域幅の活用などを実現している。
TCPが提供する通信モデルを図にすると次のようになる。アプリケーションとは、TCPを利用するユーザーのプログラムであり、Webサーバやファイル・サーバ、Webブラウザ、メール・クライアントなど、さまざまなものがある。TCPは、これら2つのアプリケーションの間に、信頼性のある双方向の通信路を実現する。通信路の一方から送信したデータは、送信された順番通りに、重複や欠落、エラーなどがなく、必ず相手のアプリケーションにまで届くことが保証される。この通信路は双方向に利用でき、いずれの方向からデータを送信しても相手に届けられる。またネットワークの構造や媒体、帯域幅、遅延時間などに依存せず、どのような構成でも同じように利用できることが保証されている。
TCPの通信モデル
TCPでは、2つのアプリケーション間で、信頼性のある双方向のストリーム型通信路を実現する。下位のIP層の機能を活用してコンピュータ間での通信を行い、その上に信頼性のある通信を実現するためのさまざまな工夫を凝らしている。IP層では通信相手を識別するために「IPアドレス」を利用しているが、TCP層では、同一コンピュータ上で動作する複数のアプリケーションを区別するために「ポート」という番号を利用している。
Copyright© Digital Advantage Corp. All Rights Reserved.