OSI Reference Model, IP Address
OSI 参照モデル,IP アドレス

起動するパーティションに注意し,起動せよ.自分のユーザ名でログインせよ.

第 2 回実験 の班分け表に記載されていない学生は履修できない.記載されていることを確認せよ. レポートの提出状況も適宜確認せよ.

ネットワークプロトコルの階層モデル

大規模なプロトコルを開発する場合, 階層構造を決めて階層ごとにプロトコルを決めると効率よく開発できる. たとえば何もないところからいきなりメール処理のプログラムを書くよりも, データ消失に対処するなどの単純なパケットのやりとりを行う汎用プロトコルを決め, メールプログラムはそそのプロトコルを使う前提で開発する.

このとき重要なことはメール処理プログラムとパケット処理プログラムを お互いの細部には関係ないように独立に開発し,互いのデータのやりとりの 決まり事のみを厳密に決めておく.この決まり事をプロトコルという.

この例ではユーザは直接メール処理プログラムに処理を入力し, メール処理プログラムがより具体的で詳細な 処理を行うパケット処理プログラムに決まったインターフェースに従った形式でデータを渡す. パケット処理プログラムが結果をメール処理プログラムにインターフェースに 従った形式で返し,メール処理プログラムは結果を反映させてユーザへ出力する. この例ではユーザに近いメール処理プログラムが上位階層で,パケット処理プログラム が下位階層にあたる.パケット処理プログラムは,回線の物理的な性質に依存するような さらに下位の別の階層のプログラムへ,また別のインターフェースを使って処理を依頼するかも しれない.

システム開発のしやすさ,いろいろな通信媒体,アプリケーションへの応用に 柔軟に対応できることなどを目的に, 通信プロトコルはどのような階層に分けるのが効率的か について研究されてきた. 現在事実上の標準とされているのが OSI参照モデルとよばれる 7 階層のモデルである. OSI 参照モデルは以下の 7 階層からなっている.

ユーザからみるとアプリケーション層(メールソフトなど)へ入力すれば そのソフトから出力が直接帰って来るように見えるが,送信側では アプリケーション層はプレゼンテーション層へ処理を依頼し,プレゼンテーション層 から結果を受け取っている.プレゼンテーション層以降もさらに自分よりも下層へ処理を依頼 した結果を利用している.全体の流れとしてはユーザにより最上流からデータが入り,各階層がそれを 解釈して下層へのデータに変換し下に流して行く.最下層は電線などの物理媒体であり, 実際の通信が行われる.受信側では逆に物理媒体の 信号から上層へデータが上がって来て, 最終的に最上流からユーザへ出力が渡される.

ネットワークを学習する上で OSI 7 層の役割を理解することは重要で, 自分が今扱っている話題が OSI の何層に対応するのかを常に意識する必要がある. 各階層に関係する技術のキーワードを挙げておく

アプリケーション層(第7層)
メール,リモートログイン,ファイル転送
プレゼンテーション層(第6層)
画像,動画などのフォーマット
セッション層(第5層)
コネクション
トランスポート層(第4層)
TCP,データ消失への対応
ネットワーク層(第3層)
ARP, 経路制御,ルータ
データリンク層(第2層)
デバイスドライバ,ブリッジ,スイッチングハブ
物理層(第1層)
イーサネットケーブル,無線,リピータ

TCP/IP の階層モデルは OSI 参照モデルに当てはめられる. 両者は少し異なる.OSI 参照モデルは汎用の通信階層構造モデルであるのに 対して TCP/IP 階層モデルは OSI 参照モデルに基づいて, 特にインターネットを実装するために具体化し,設計されたものだからである.

具体的な相違点は,TCP/IP 階層モデルでは物理層が規定されていないこと, セッション層から上層を 1 つの層と考えることである.前者は TCP/IP はすでに 物理的接続がある前提でのプロトコルなので物理層が必要ないためであり, 後者はセッション層より上は実際にはアプリケーションプログラムがすべて 処理しているためである.

IP アドレスと MAC アドレス

すべてのネットワーク接続機器は機器ごとに固有の 48 ビットの MAC (Media Access Control) アドレスが割当られている. MAC アドレスは OSI 参照モデルでいう第 2 層で使うデータである.

MAC アドレスは 重複することはなく,後から変えることがないものとして設計されている. 前半 24 ビットはベンダ識別子と呼ばれ,IEEE が管理している. 後半 24 ビットはベンダ(メーカー)の責任で重複のない値が割り振られる.

システム>設定>ネットワーク接続,で開いた「ネットワーク接続」 で「Auto eth1」を選び,「編集」ボタンを押す事で 現在使用しているネットワーク機器の MAC アドレスを知ることができる. ターミナルを利用する方法では ifconfig コマンドで「ハードウェアアドレス」として 表示される.

一般的に MAC アドレスは 12 桁の 16 進数を 2 桁ごとに区切って表記される. 最初の 6 桁がベンダ識別子にあたり, IEEE によるベンダ識別子サーチ でベンダを検索することができる.16 進表記で XX-XX-XX の形式で "Search the public OUI listing" の下の欄に入力し,Search! ボタンを押せばよい. OUI (Organizationally Unique Identifier) とはベンダ識別子のことである.

これに対して IP アドレスはOSI参照モデル第 3 層で利用されるアドレスである. 技術的には計算機管理者により何度も自由に設定できるが, インターネットに接続されるなら必ず重複しない IP アドレスを割り当てなければならない. 管理者が責任を持って設定を行う必要がある.実際の計算機管理業務では, ある部門の計算機管理者は上位部門から許可を得た IP アドレスを管理下の計算機に割り当てる.

あるホスト(ネットワーク上の計算機の単位)を インターネットに接続するための設定に必要な情報として, 一般的には上位部門から

として設定してよい値を受け取る必要がある.これらの項目の意味を説明する.

ネットワーク

IP アドレスはネットワークアドレスとホストアドレスに分解される. これらを分けて考えることが重要である.

ウェブやメールを利用する限りではどの場所でインターネットに接続しても同じように 利用できるので一見インターネットは均質な一つのネットワークのようにみえるが, 実際にはインターネットは複数のネットワークを相互接続したもので, それがインターネットの語源になっている.

ネットワーク接続に広く使われているイーサーネットでは 本来算機間から発信された情報は同じネットワーク上の計算機全てに 伝わるように送信される.このため送受信に関係ない計算機であっても同じネットワークに 接続されている計算機にも情報が流れる.ただ接続するだけであれば世界中の全計算機 を一つのネットワークに接続すればよいのだが, それでは関係ない情報の通信によりネットワークの通信能力を超えてしまう.

解決策として,適度なホスト数の直接通信を行うグループを 「ネットワーク」として定義し,各ホストはそのネットワーク下に所属するものとする. 情報を別のネットワークのホストへ送るには 複数のネットワークを経由してバケツリレー的に目的ホストが所属する ネットワークまで情報を送信する方式が採用されている.

目的のホストが属するネットワークへ情報を運搬するには中継するネットワークの 接続形態の知識と転送の仕組みが必要でこの技術を経路制御とよぶ.

ネットワークの技術を理解するには OSI 参照モデルの第何層にあたる話題かを 区別して考えるのがコツである.同じネットワーク内の通信は 2 層, ネットワーク間の通信を処理するのが 3 層と理解しておくとよい. インターネットに接続されているホストには,2 層の機能で 直接通信できる同じネットワークに所属するホストと,3 層の機能である 経路制御を使って通信する他のネットワークに所属するホストがあることになる.

世界中のネットワークは個別の識別番号をもつ.これをネットワークアドレスとよぶ. また各ネットワークに所属するホストもそのネットワーク内で個別の識別番号をもつ. これをホストアドレスとよぶ.ネットワークアドレスとホストアドレスを合わせたものが IP アドレスである.世界中のホストは IP アドレスで一意に識別できる.

サブネットマスク

現在利用されている IP バージョン 4 ではネットワークアドレスとホストアドレスを あわせて 32 ビットと決められている.このうち上位ビットがネットワークアドレスを表し, ネットワーク部とよばれる.下位ビットはホストアドレスを表し,ホスト部とよばれる. インターネットが普及した結果 IP アドレスの枯渇が問題になり, この限られた 32 ビットを有効に利用する工夫が必要になった.

IP アドレスの 32 ビットのうち上位ビットがネットワークアドレス, 下位ビットがホストアドレスに使われるが何ビットまでがホストアドレスなのかは 32 ビットを有効利用するために可変となっている. これはホストアドレスに必要なビット数が組織の規模によって異なるためである. ホストアドレスが i ビットであれば,0 番はネットワーク自体を表す番号, 最大値の 2i-1 番はブロードキャストと呼ばれる 同一ネットワーク上のホスト全てに宛てた通信用に予約されているので収容できるホスト数は 2i-2 となる.収容予定のホスト数からホスト部のビット数を決め,残りを ネットワーク部としてネットワークを設計する.

IP アドレスを用いた通信の仕組みを理解するためにはネットワーク部と ホスト部を区別することが重要である. 過去にはネットワーク部が 8 ビット(クラスA), 16 ビット(クラスB),24 ビット(クラスC)という大雑把な切れ目で決められており, どのクラスのアドレスかは IP アドレスから判断できるようになっていたが無駄が多い. 現在は全 32 ビットを有効利用するためにネットワーク部のビット数を 1 ビット単位で 指定できるようになっている.このためにどこまでがネットワーク部なのかを指定する情報が 必要になった.これがサブネットマスクである.

例えばネットワーク部が 24 ビットであればサブネットマスクは 最初の 24 ビットが 1, 残りの 8 ビットが 0 である 11111111 11111111 11111111 00000000 となる. サブネットマスクは一般的に 8 ビットづつ 4 個に区切って,4 個の 10 進数をピリオドで区切って並べて表現することが多い. ネットワーク部が 24 ビットの場合,10 進表記のサブネットマスクは 255.255.255.0 となる.この表記ではネットワーク部のビット数が 8 の倍数以外のときは理解しにくくなる. サブネットマスクは 10 進表記されていても 2 進数で考えると理解しやすい.

例えばネットワーク部が 24 ビットで IP アドレスが 192.168.1.1 であれば サブネットマスクは 255.255.255.0 と表記されることが多いがサブネットマスクの ビット数を IP アドレスの後ろに "/" をはさんで直接記述する記法もある. この記法では上記 IP アドレスは 192.168.1.1/24 となる.

計算機の IP アドレスの設定では IP アドレスだけではなくサブネットマスクの 指定が必要であることを忘れてはならない.

計算機をインターネットに接続するための設定には説明した IP アドレス,サブネットマスクのほかに 経路制御に必要な情報であるデフォルトゲートウェイと "www.yamamotolab.jt.u-tokai.ac.jp" のような名前で目的の計算機にアクセスできるようにするための情報であるネームサーバの 4 つの情報が最低限必要になる.

実習

実験環境では自動でこれらの情報を取得,設定する DHCP の環境が整えてあるため 手動で設定しなくても立ち上げ時からインターネットに接続できる. 今回の実験では手動で上記情報を設定し, インターネットに接続できることを確認する. 今回以降の実験ではこの IP アドレスを使用する. 設定する 4 つの情報のうち IP アドレスは計算機ごとに異なり,残りの 3 つは共通である.

IP アドレスは以下の規則で決めた値を使用する.

キーボード左上のシールの番号の下2桁の数字がxx とすると,その計算機の IP アドレスを 172.17.2.xx とする.

上位16ビットがネットワークアドレスとなるようなサブネットマスクを 考え,それに従って設定せよ.

デフォルトゲートウェイは 172.17.254.254 優先DNSサーバのアドレスは 172.17.254.254 である.

実験室で使用するIPアドレスは 世界で一意に定まるグローバル IP アドレスではなく, 実験室内でのみ一意に管理される プライベートアドレスであるが,中継するサーバの働きによりインターネット接続が可能になる.

実習 4-1

システム>設定>ネットワーク接続,から "Auto eth1" を選び,「編集」ボタンを押し,「IPv4設定」タグを押して 設定画面を表示させ, IP アドレスなどの必要な4つのデータを手動設定せよ. 設定したのち,ターミナルから ifconfig コマンドで IP アドレスが正しく 設定されているか確認せよ. ifconfig コマンドの出力の eth1 が今回使用しているインターフェースで, 今回設定した IP アドレスは「inetアドレス」として表示されている. MACアドレス,(「ハードウェアアドレス」), ブロードキャストアドレス(「ブロードキャスト」), サブネットマスク(「マスク」)もここで確認できる. IPアドレス,サブネットマスクが設定したとおりに表示されることを確認せよ. 変更が反映されていない場合は確認して再起動してみよ.

正しく設定されていればウェブサイトの閲覧などができるはずである.確認せよ.

再起動し,自分のユーザ名でログインし,IPアドレス,サブネットマスクが 正しく設定されていることを確認せよ.

実習 4-2

ping コマンドを用いて IP アドレスなどを利用して 特定のホストへの接続状況を検査することができる. ターミナルから ping -c 10 150.7.136.62 を行え. 表示される統計情報を確認せよ.ping の -c 10 オプションは 問い合わせを 10 回行うという意味である. 172.17.2.150 は動作していないホストである.ping によりこのアドレスへの 接続状況を確認せよ.反応がなければ Ctrl-C(コントロールキーを押しながら C)で 強制終了させよ.

第 3 回課題「ネットワーク設定」 を提出せよ.


Updated in May 8, 2010, index.html, Yamamoto Hiroshi