ネットワーク(1)
[教科書]
TCP/IP Illustrated, Volume 1: The Protocols,
W. Richard Stevens,
Addison-Wesley Publishing Co,
(邦訳:詳解TCP/IP, 井上尚司監訳、橘康雄訳、ソフトバンク)
この本の中で使われている「TCP/IP」という用語は、ほとんど
「Internet Protocol」と読み替えた方が適切だと思われる。
イントロダクション
インターネット・プロトコル群 → the Internetの基盤
階層(layer,レイヤ)
(図1.1参照)
- リンク層
伝送媒体(ケーブル)との物理的なインターフェイスに関する全ての
ハードウェアを制御する。
オペレーティング・システムのデバイス・ドライバと、それに対応する
ネットワーク・インターフェイス・カードに相当する。
- ネットワーク層
ネットワーク上のパケットの移動を制御する(例: ルーティング)。
IP (Internet Protocol), ICMP (Internet Control Message Protocol),
IGMP (Internet Group Management Protocol) などに相当する。
- トランスポート層
上位のアプリケーシCョン層に対して、2台のホスト間のデータの流れを提供する。
TCP (Transmission Control Protocol), UDP (User Datagram Protocol)などに相当する。
- アプリケーション層
特定のアプリケーションの詳細な動作を処理する。
(例): Telnet, FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), ...
2台のマシン間で ftp を行なっている場合の4階層の動作→図1.2
リンク層、ネットワーク層、トランスポート層→データの移動に責任を持つ。
アプリケーション層→アプリケーションの機能に関してのみ責任を持つ。
ルータで接続された2つのネットワーク→図1.3
エンド・システム ... 両サイドの2台のホスト
中継システム ... 中央のルータ(2つ以上のインターフェイスを持つシステム=マルチ・ホーム)
アプリケーション層、トランスポート層 ... end-to-end型プロトコル(両端で会話する)を使用
ネットワーク層 ... hop-by-hop型プロトコル(飛び石のように飛ぶ)を使用
利点: アプリケーション層は、ネットワーク間の物理的なレイアウトに関知しなくてもよい。
ブリッジを使ったネットワーク接続
リンク層で接続する。
複数のLANをひとつのLANに見せる(上位層に対して)。
Internet Address
図1.5, 図1.6
IP Addressの管理: InterNIC (1993.4〜)、日本では JPNIC
DNS
DNS (Domain Name System)
カプセル化
図1.7
デマルチプレクス
Ethernetフレームが受信されると、プロトコル・スタックを上昇し、
対応するプロトコル・ボックスで個々のヘッダが取り除かれていく
(=デマルチプレクス)。
クライアント・サーバ・モデル
反復サーバ (他のクライアントは同時にサービスを受けられない)
- クライアントからの要求を待つ
- クライアントからの要求を処理する
- クライアントに応答を送り返す。
- ステップ1に戻る
並行サーバ (他のクライアントも同時にサービスを受けられる)
- クライアントからの要求を待つ
- クライアントからの要求を処理するための新しいサーバを起動する。
このサーバがクライアントの全要求を処理して、クライアントに応答を送り返す。
- ステップ1に戻る
一般に、TCPサーバは並行サーバだが、UDPサーバは反復サーバであることが多い。
ポート番号
TCPやUDPはアプリケーションを認識するために、16ビットのポート番号を用いる。
Well-Known Port 番号: 1 〜 1023
一般にクライアントは、どのポート番号が使用されているか関知しない。
クライアントにとって必要なのは、そのクライアントのポート番号が
ホスト上で一意的であること。クライアントのポート番号はエフェメラル・
ポート (短命の意)と呼ばれる(1つのクライアントはユーザがサービスを
必要としている間だけ存在するので、サーバ側よりも短命である)。
ほとんどのTCP/IPの実装において、エフェメラル・ポート番号は 1024 〜 5000
の間に割り当てる。
予約ポート
Unixでは、1〜1023の間のポート番号は「予約ポート」として、
スーパーユーザ特権のプロセスしか割り当てられない。
RFC
RFC (Request For Comment) --- インターネットに関する公式標準が発行される形式。
非公式標準に関してもさまざまなRFCが存在する。
(例) RFC1122 ... 番号は通し番号。番号が大きいほど新しい。
インターネット・プロトコルの標準化の段階
- standard (標準)
- draft standard (標準草案)
- proposed standard (標準提案)
- experimental (検証中)
- informational (参考)
- historic (歴史的)
各プロトコルの要求レベル
- required (要求)
- recommended (推奨)
- elective (候補)
- limited use (限定的使用)
- not recommended (非推奨)
実装
図1.10
テスト・ネットワーク
図1.11