「インターネット概論」の目次

3. 通信の基礎とTCP/IP(3)

平成9年11月24日14時03分版


3.5 TCP

 TCPは3.3節でも説明したようにプロセス(アプリケーション)間の信頼できる
通信を保証するプロトコルです.そのため,TCPのヘッダーは図のようになりま
す.

図 TCPのヘッダー部とデータ部(これから作ります)

 この中のデータ部が上位の各プロセスのプロトコルとなる.ヘッダーの各部の
説明を以下に箇条書にする.IPのヘッダーと同じようにこれからの説明に必要
な部分はもう少し説明を付加する事にする.

.........

 TCPはプロセス間の信頼出来る通信の共通の部分を担当することになる.信頼
出来る通信をするためには,

	まず通信を開始する,
	データを送る,
	データを再送する,
	通信を中断する,
	通信を終了する

等の操作を相手との受信確認(Acknowledge:ACKと言う)を行いながら互いに
認めあって行う.TCPでは互いのプロセスのTCPの処理部で初期状態から始まる
状態遷移を内部で行っており,また各状態でタイマーを動かす事によって,
通信は止まる(ハングすると言い,ハングると通称している)事を避けている.
「データを再送する」と簡単に上では記述しているが,どのような条件で
再送するかも決めておかないといけない.相手がある事なので相手のあらゆる
状況での対応しないといけないので,この部分のソフトウェアは結構シビアで
ある.

 TCPではUDPでも同じであるが,ポート番号で(port number)互いのプロセスを
認識して通信を行う.と言っても相手に対してファイル転送のTCPパケットを
送る時には相手のファイル転送を受けるプロセスのポート番号が事前に
分からないと送れない.そのため,well known port numberとして表の
番号が定義されている.表ではUDPでのポート番号も入っている.
TCP
ポート番号プロトコル説明(使われるアプリケーション)
20FTP-DATAファイル転送のデータ
21FTP(File Transfer Protocol)ファイル転送
23TELNET遠隔端末
25SMTP(Simple Mail Transfer Protocol)電子メール(配送)
80HTTP(Hype Text Transfer Protocol)WWWシステム
110POP(Post Office Protocol)電子メール(送信,受信)
119NNTP(Net News Transfer Protocol)電子ニュース

 TCPには信頼出来る通信をする仕組み以外にも効率良くデータを送る仕掛けも
されている.その1つは双方向でデータ送る場合に有効なように,片方がデータ
を送った場合に,その受信確認のACKの返信の時についでに逆方向のデータも送
る考え方である.この仕組みではヘッダー部のACKの番号が効き目を表す.  も
う1つはデータ転送で用いられるウィンドウ制御である.これはデータを転送す
る双方の計算機やネットワーク機器では基本ソフトウェア(OS)の部分がデータ
を貯め込むの(バッファリング)で,たとえプロセスが送られたデータを全て処
理出来なくとも,まだ送ってきても構わないデータ量をウィンドウのの値とし
て返す.

 順序から言うの,この次は各プロセスのプロトコルであるが,これらは当然そ
れぞれに違っているので次章で触れる事にする.

3.6 broadcast

 IPアドレスの説明で,8ビットのホスト部と言いながら接続できるのは2の8乗
の256ではなく254と説明したが,これはネット部にしてもホスト部にしても,デー
タが全て1であったり0である所を特別扱いするので除いてあるからである.

 データ部が全て1である場合は通常はbroadcastとさて,ホスト部が全て1なら,
そのネットでのすべての計算機が宛先となるパケットである.ホスト部が全て0
なら,ネットそのものを宛先とする事で経路制御のように特定のIPアドレスで
はなく,ネットを対象とする場合に使われる.「通常は全てが0の場合は
broadcast」と書いたのは古いOSの場合は全て0の場合をbroadcastとするのが
あるので古いワークステーションがある場合は気をつけた方が良い.またその
ような計算機ではサブネットをサポートしていない場合はあるので,サブネッ
ト対応のbraodcastも聞いてくれないので注意が必要である.

図

 broadcastはユーザが意識しなくともシステムが必要に応じて発生させている.
その意味ではネットワーク管理者は管理するネットワークがどのような
broadcastを定常的に流しているかをモニターするべきである.次に述べる経路
制御でRIPと呼ばれるプロトコルを使った場合には30秒に1回の割で経路情報を
broadcastとしてそのサブネット内で流し,MACをネットワーク接続している場
合もbroadcastが流れているので注意するべきである.broadcastはIPアドレス
レベルのbroadcastだけでなく,2.1.2項で述べたイーサパケットでもイーサア
ドレスの宛先部が全て1ならbroadcastとなる.

目次に戻る