Computer Network 3 Document 03
通信ネットワーク実習3第3回補足資料

1.6 OSI参照モデルによる通信処理の例

ここではホスト(PCと考えて良い)AからホストBへ「おはようございます」 という文書をメールで送る場合を例に7階層の働きを説明している.

送信側と受信側は逆に考えれば良いのでまず送信側に注目して考える. 送信側のポイントは以下の2つである.教科書図1.20がわかりやすい.

  1. 送信側ホストでは上位階層から下位階層へデータが渡される
  2. 下位階層に行くに従ってヘッダが追加されてゆく

1. 上位から下位へ,なので人間は最上位層のアプリケーション層に データを渡す.アプリケーション層はメールを読むソフトであるメーラー の処理であり,人間がメール本文や宛先を入力することが アプリケーション層へデータを入力することにあたる.

2. でのポイントはヘッダである.図1.20を見ると上位層の データとヘッダを合わせて階層のデータとし,その階層のヘッダを さらに付加して行くことがわかる.

ヘッダにはデータをどう扱えばいいのかが書いてある. 各階層の仕事を理解するにはその階層のヘッダが何なのかを考えるとよい. ヘッダにはいろいろな情報が書かれるがその階層での「宛先」にあたるもの が重要なことが多い.他には文字コードや下位のどのプロトコルを使うか, などのデータの処理方法が書かれる.

最上位層のアプリケーション層(第7層)の「宛先」はメーラ相手のメールアドレスである. ユーザはアプリケーションからメールアドレスを入力するとそれが ヘッダとして付加される.メールの本文がデータにあたる.

次の階層はプレゼンテーション層(第6層)である. 階層の境目(この仕事は第何層なのか?)はわかりにくいことも 多いがプレゼンテーション層は区別しやすいのでこの層を 最初に判別するとよい.プレゼンテーション層は データのフォーマットを扱う層である.例えば日本語には 文字コードが何種類かあるが,発信元と送信先で扱う文字コードが 違えば正しく読むことはできない(文字化けがおこる). このため,メールには本文がどの文字コードで書かれているかの 情報がヘッダとして書かれている.受信者はこれをもとに 正しく文字を表示する.ほかにも画像などのデータが添付されていたら どの方式でエンコードされているか,という情報がヘッダとして 付加される.このようにプレゼンテーション層の仕事は データの表現形式(フォーマット)に関する調整であると 理解すればよい.

セッション層の仕事がもっともわかりにくい.自分の メールアプリから相手のメールアプリへメールを送るには コネクションとよばれる接続を確立させる必要がある (実際にはメールサーバーを間において間接的に通信するが, ここではわかりやすくするために送信者と受信者が直接 メールを受け渡しするとして説明されている). メールを5通作成した場合1回のコネクションをつなぎっぱなしにして 5通のメールを全て送るか,1通ごとにコネクションを確立して 5個のコネクションで送るか,という選択があるが,状況に応じて どのコネクションの作り方がよいか判断するのがセッション層の 仕事である.実際にコネクションを確立するのは下位層の仕事なので 注意する.セッション層の仕事はコネクションをいつ 確立するかいくつ確立するかのタイミングの判断である.

上位層の指示で実際にコネクションを確立するのがトランスポート層の 仕事である.トランスポート層はアプリケーション対アプリケーションの 通信を担当するので相手がどのアプリケーションかを示す「宛先」 がヘッダに含まれる.また,プロトコルによっては途中で エラーになって消失したデータがあった場合,再送要求を行なって データの信頼性を保つこともある.この機能はトランスポート層の 機能である.このデータの信頼性を確保する機能がトランスポート層の 主な役割であると説明されていることがあるが,トランスポート層の すべてのプロトコルで信頼性を確保するとは限らない.最初に説明した データをどのアプリケーションに届けるかを 扱うのがトランスポート層の本質である.

ネットワーク層以下の区別を理解するにはインターネットでは つながっているといっても全ホストが均一に接続されているわけでは ないことを理解する必要がある.これは教科書P.43の図1.36 を見るとわかりやすい. ホストAとホストBは同じ機器スイッチ1に接続されている.大学のPC室の 隣どうしの席のPCなどがこの関係である. このような同じ機器に繋がれている単位をネットワーク といい,教科書図1.36にはネットワーク1,ネットワーク2,ネットワーク3, の3つのネットワークが存在し,それがルータ1,ルータ2,ルータ3 で接続されている.インターネットはこのようにネットワークとネットワークを ルータで接続することで構成されている.

ホストAがユーザーでホストβ のウェブページを見たいとする.ホストAからみると隣のPCのホストBとも ホストβ ともつながっているが,違いがある. ホストAとホストBは同じ機器に接続されている(同じネットワーク上にある) ので直接通信できる.この通信を行うのが第2層のデータリンク層である.

一方ホストAとホストβは異なるネットワークにあるので直接通信が できない.正しく通信するためにはホストAはルータ1に転送を頼み, ルータ1はホストβがルータ2ではなくルータ3の方向にあることを あらかじめ知っておいてそちらに転送する,というもっと複雑な 仕組みが必要になる.こちらを担当するのが第3層のネットワーク層である.

インターネットではひと口に「つながっている」といっても2種類 あることを意識する.ホストAからみるとホストBのようにデータリンク層で つながっている場合とホストβのようにネットワーク層でつながっている 場合がある.

1.7

1.7.1

コネクション形は電話,コネクションレス形は手紙に例えられることを おさえておけばよい. それぞれに利点欠点があるので教科書で確認せよ.

1.7.2

回線交換は従来の電話で使われてきた方式で,パケット交換は インターネットの開発とともに実用化された方式である. パケット交換方式のイメージは,データを複数のパケットに分け, それぞれに宛名を貼り付け(ヘッダ)ネットワークに放流してしまう, と思えばよい. 回線交換とパケット交換の違いは 教科書の図1.31がわかりやすい.回線交換方式では 回線の数以上の同時通信はできないが,パケット交換方式なら パケット自体に宛先が書いてあるので複数の宛先のものを 混ぜて一つの回線を通して送ることができる.

1.8

アドレスは相手を一意に示すものである. 階層ごとに何をアドレスとするかは異なる.この対応を覚えると 各階層のプロトコルの理解の助けになる(表3.1).

表 3.1 階層とアドレス

階層使われるアドレス
アプリケーション層メールアドレスなど
トランスポート層ポート番号
ネットワーク層IPアドレス
データリンク層MACアドレス

1.8.1

相手が一意に確定できることを唯一性というが,ブロードキャストのように 相手が複数いても厳密に定義できるなら唯一性があるという.

1.8.1

アドレスの階層性は,住所のようににアドレスの途中までを使用することで そのアドレスが所属するグループを表せるような性質のことである.

ネットワーク層とデータリンク層ではそれぞれ 宛先アドレスが指定されたときにどこに送信すればよいかを 記録したテーブルを使用する.テーブルの名前は表3.2のように 違うものでよばれるので注意せよ.

表 3.2 階層とテーブル

階層アドレス テーブル
ネットワーク層IPアドレス経路制御表
データリンク層MACアドレス転送表

Updated in May 24, 2020, Yamamoto Hirosh