(メディア基礎演習 II
(全体演習レポートのサンプル)
目的
ネットワークの基本を理解する
現代の情報社会ではインターネットの存在が欠かせないものとなっている、そのため、ネットワ ークの仕組みを理解することの重要性は非常に大きなものとなっている。本演習では、本学学内 のネットワークを利用するための設定を確認し、ネットワークの基本を理解することを目的と している。
理論
IPアドレスのしくみ
インターネットで標準的に使われているプロトコル(通信規約=データをやり 取りするための約束事)としてTCP/IP というプロトコルがある 。
TCP(Transmission Control Protocol) と IP(Internet Protocol)は、本来、独立し たプロトコルであるが、インターネットで使われる様々なプロトコル群をまとめて TCP/IP と呼ぶことが多い。それらのプロトコルはアプリケーション層、トランスポ ート層、ネットワーク層、物理/データリンク層という4 つの階層に分類すること ができ、これをTCP/IP インターネットモデルと呼ぶ。
OSI参照モデルとTCP/IPインターネットモデル
ネットワークの仕様を表すモデルとしては、国際標準規格を定めているISO の制 定したOSI(Open System Interconnection)基本参照モデルというものもある 。 OSI 基本参照モデルと TCP/IP インターネットモデルの対応関係は図 1 のようにな る。
【図1:OSI 参照モデルと TCP/IP インターネットモデル】
TCP/IPを使ったネットワークでは、マシンを指定するのにIPアドレスを使用する。 IPアドレスは8ビットずつドット(.)で4つに区切られた数字で表される。つまり 、 0.0.0.0から255.255.255.255の値で表される。なお、現在広く使われているIPv4 と呼ばれるアドレスでは4ブロック32ビットで表されるが、IPv6では8ブロック 128ビット(4桁の16進数をコロン(:)で8つに分割)で表される。
IP アドレスを詳しく見ていくと、ネットワークアドレスとホストアドレスという 2 つの部分に分けることができる。基本的に、マシン同士が直接通信できるのは、同 一のネットワークアドレス内だけである。なお、IP アドレスはホストアドレス部の 大きさでクラスA からクラス C の 3 つのクラスに分けられる。なお、ネットワーク アドレスとホストアドレスを識別するための数字がサブネットマスクである。
クライアントサーバーモデル
方法
実験1:ネットワーク設定の確認
各自のノートPCをネットワークに接続し、コマンドプロンプトからMACアドレ ス、IPアドレス、サブネットマスク、デフォルトゲートウェイを調べる。続いて、実験 室のデスクトップPCでも同様の調査を行う。
① コマンドプロンプトを開く
② 以下のコマンドを実行する
> ipconfig /all
実験2:通信プログラムのテスト
C#で作られた通信プログラムを使って別のPCとデータのやり取りができること を確認する。KBookの第2回「全体演習」の所に今回の演習に使うプログラムが置い てあるのでダウンロード・解凍して実験を行う。kisoen2にはクライアントプログ ラムが、kisoen2Srvにはサーバプログラムが含まれているので、サーバプログラム とクライアントプログラムの間でデータのやり取り(通信)ができることを確認 する。サーバプログラムはボタンを押すと通信準備が完了、クライアントプログラ ムはボタンを押すと通信開始となる。テキストボックスはメッセージを表示される だけなので、ユーザが入力するものはない
実験2-1:サーバ・クライアントの通信確認
自分のPC内でプログラム間の通信ができることを確認する。 1 サーバプログラムを実行し、ボタンを押す
2 クライアントプログラムを実行し、ボタンを押す
(サーバプログラムを見えるようにしておくこと) 通信に成功すると図2のようなメッセージが表示される。
【図2:通信に成功したサーバ・クライアントプログラム】
実験2-2:別の PC と通信確認
2人(または3人)で協力して別のPCと通信することができることを確認する。
① クライアントプログラムのForm1.csのコードを表示し、下図の囲みの部分をサ ーバマシンのIPアドレスに変える
【図3:クライアントプログラム(一部抜粋)】
② サーバプログラムのForm1.csのコードを表示し、下図の囲みの部分をサーバマ シンのIPアドレス、独自のメッセージに変える
【図4:サーバプログラム(一部抜粋)】
③ サーバプログラム、クライアントプログラムを実行し、異なるマシン間で通信で きることを確認する
なお、ファイアウォールが有効になっているとサーバ側で通信がブロックされる 可能性が高いので、うまくいかない場合はサーバ側のファイアウォールを一時的に 無効にすること。また、セキュリティソフトにファイアウォール機能がある場合も あるので、場合によってはセキュリティソフトも一時的に無効にする必要がある。
実験・結果
実験1:IPCONFIG
手順に従い、「ipconfig /all」をコマンドプロンプトから実行した。なお、Win+R→「cmd」によ り実行することで素早くコマンドプロンプトを立ち上げることができる。
【図5:ipconfig /all を実行した様子】
自分の使用した実験環境においては「」がLAN アダプタであるので、この場合
IP アドレス: サブネットマスク: 物理アドレス:
デフォルトゲートウェイ:
と読み取ることができる。
★ほんとうはここに、クラス B のプライベートアドレスである、とか、ノート PC で試したらどの セグメントがどうだったとか、そんなこともレポートしてみてほしい
実験2:C#によるネットワークプログラミング
手順に従い、ソースコードを改変して自分のPC におけるクライアントサーバーのテキストメ ッセージの送信を確認した。
実験2-1:送信テキストの変更
【サーバプログラムを書き換えた状態(一部抜粋)】
実験2-2:他のPCとの接続 以下の作図はPowerPoint によるもの
便宜上ここでクライアントに「127.0.0.1」を指定しているが、クライアントは接続先のみ指定。
(ppt ファイルもダウンロードできるようにしておきます)
考察
IPアドレスとセキュリティ
(ルーティングとグローバル、ローカルの仕組み)
ゲームへの応用
携帯電話のIPアドレス
この手のWeb サイトを使えば携帯電話の IP アドレスも調べることができる。
http://www.luft.co.jp/cgi/ipcheck.php
クライアントサーバーモデル以外の通信方式
その他 参考文献
(この辺読んだらいいと思います)
IP アドレスとその仕組み
http://win.kororo.jp/archi/tcp_ip/ipadd.php
Wikipedia「IP アドレス」
http://ja.wikipedia.org/wiki/IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9
そのほか標準化文書(RFC とか)も勉強になりますよ!