教育システム情報学会 2013年度学生研究発表会

北信越地区

ネットワークプロトコル基本原理および通信の同期方法に関する教材の設計と開発
Preliminary Design of the Learning Tool for Fundamentals of Network Protocoland Synchronization of Communication
箕浦	  航*1，	  香山	  瑞恵*1，	  橋本昌巳*1，	  大谷真*1
Wataru MINOURA ，	  Mizue KAYAMA*1，	  Masami	  HASHIMOTO*1，	  Makoto	  OTANI*1*1*1 信州大学工学部*1Faculty of Engineering, Shinshu University
Email: 10t5077h@shinshu-u.ac.jp
あらまし：本研究の目的は，情報通信ネットワークの情報の科学的な側面を学習するための高校生向け教材を開発することにある．具体的には，ネットワークプロトコルの基本原理を 4 点に整理し，これを機能として有する使用として具体化した．また，基本原理の前段階となる通信の同期方法の部分も機能の中に組み込み，学習者が体験的にその仕組を理解できるような教材開発を目指す．	 
キーワード：情報の科学的な理解，ネットワークプロトコル，通信の同期，教材開発，学習支援	 

1.

2.2 通信の同期を理解させるための学習
通信の同期とは，送信側と受信側のタイミングのことを指し，送信側と受信側のタイミングを合わせることを「同期をとる」という．送信側と受信側の同期が取れることで，初めて正確なデータの送受信が可能となる．
この概念を学習させるために，本研究では送信側端末（以下，Master）と受信側端末（以下，Slave）を区別して教材開発をおこなう．
Master と Slave は，それぞれ独立した時計を持っていることとする．それらの時計が 1 周する時間を周期とする．Master 側の周期を M，Slave 側の周期を S と表す．教材使用開始時では，それぞれの周期は M≠S であるとする．Master からは，1 周期の間，1 つのデータが送信される．Slave は，1 周期の間の特定の時刻において Master から送信されたデータを受信する．
ここでの学習イメージを図 1 に示す．同期をとることを体験的に学ばせるために，Master では，自身の周期を任意に設定できることとする．一方，Slave
では，以下の 2 項目を試行錯誤的に発見させる．
1． Master の周期
2． Master からのデータを受信するための特定の時刻
1．では，まず Master の周期 M を設定する．設定した周期で Master から 01010…のように，特定のビット列を送り続ける．次に，Slave の周期 S の時刻 0において，Master が送信したビット列と同じデータが受信できるように，周期 S を調節する．
2．では，Slave において周期 S のどの時刻で，ビット列の受信を行うかを学習者に設定させる．この時，1．で設定した周期 S は周期 M に対して，誤差を含んでいる可能性がある．ここで，Slave において，周期 S の 1 周期毎の区切れ付近の時刻で，Master かはじめに

高校の情報化の指導内容は「情報活用の実践力」「情報の科学的な理解」「情報社会に参画する態度」の 3 つの要素に分けられる(1)．高校の情報科担当教諭を対象とした調査では，多くの教員が「情報の科学的な理解」に関する内容の研修を希望しており，指導方法では教材開発を希望していた(2)．
高校生を対象とした情報通信ネットワークに関するマインドマップ作成を通した認識実態調査から，「情報の科学的な理解」は他の指導内容よりも認識率が低いことが判明した．特にプロトコルに関して非常に低い項目であることが先行研究によって明らかになっている(3)．
また，学習指導要領・教科書・一般向けの書籍などに記載されている情報通信ネットワークに関する内容と，既存の学習教材での学習内容とを比較した．
その結果を“プロトコル最低限の取り決め”として4 つの項目に整理した．4 つの項目を以下に記す．	  	  a. 通信するデータの開始	  	  b. 通信するデータの終了	  	  c. やりとりするデータの形式	  	  d. 通信中にエラーが起きた場合の回復方法
これらのことをふまえ，本研究では，高校の情報科目において，プロトコルの概念を体験的に理解させるための教材を開発することを目的としている．

2.

教材の設計

2.1
設計方針
プロトコルの概念を教育するにあたり，まず複数端末間で通信の基礎となる同期の概念を理解させることが必要だと考えた．さらに，１章に示した“プロトコル最低限の取り決め”の 4 項目に関する学習と，TCP/IP 階層モデルでの各層の働きに関する学習を体験的に行うことができる教材を設計する．

9

教育システム情報学会 2013年度学生研究発表会

北信越地区

らのデータを受信すると仮定する．その場合，時間が経過すると共に，周期のズレが大きくなり，正しいデータを受信することができなくなる可能性がある．このような現象を回避するためには，周期 S/2を特定の時刻となるように調整する必要があることを体験的に発見させる．
2.3 プロトコル最低限の取り決めに関する学習
Master と Slave の同期をとった上で， “プロトコル最低限の取り決め”に関する学習を行う． ここでは，Master と Slave 双方において，通信するデータの開始/終了を示すコードを設定させる．Master では，開始コード，メッセージ，終了コードの順で，データを送信する．Slave では，受信したデータの開始/終了コードが，事前に設定されたコードと一致すれば，メッセージ部分を表示する．一致しなかった場合，解読不能を示す．
やりとりするデータ形式では，メッセージ部分の表示に際して，記号列表示と記号の ASCII コードに対応したビット列表示の 2 種を切替られる機能を提供する．
また，教材にエラー制御機能を持たせ，その利用の有無を切り替えられるようにする．ここでのエラーは，1 対 1 通信における物理的距離や遮蔽物等に起因するものとする．
2.4 TCP/IP 階層モデルに関する学習
ここでは，TCP/IP 階層構造における 3 層に関する学習を提供する．それぞれの学習内容を以下に示す．
2.4.1
ネットワークインタフェース層
無線通信によるデータのやり取りを視覚的に認識させるために，データの送受信時に，LED を点滅させる．具体的には，1 を受信した場合は LED を点灯，0 を受信した場合は LED を消灯させる．これにより，機器間で通信が行われる際には，0 と 1 のビット列が送受信されていることを学習者に認識させる．
2.4.2
インターネット層
特定の相手との通信を実現するために，個々の教材に固有の端末番号を与える．さらに，自分が通信したい端末を選択できるようにする．また，周辺の教材の端末番号を認識できるようにする．これらの機能を利用することにより，通信経路の制御に関する概念を理解させる．さらに，ユニキャスト/マルチキャスト両方の通信が行えるようにする．
2.4.3
トランスポート層
データの信頼性について学習させるために，メッセージの一部を意図的に反転させることができる機能を提供する．この機能により学習者に，エラー検出・修復の必要性を理解させる．

3.

教材の開発

ここでは 2.2 で示した学習を取り上げ，その教材の開発方法を示す．
この教材は，Processing と Arduino を用いて実装する． Processing では，Master 周期 M と Slave 周期 Sの設定，Slave にけるデータ受信時刻の設定を行う
GUI を提供する．
Arduino では，Processing で設定されたパラメータに応じて，Master からのデータ送信と，Slave でのデータ受信の機能を提供する．この時，端末間での通信には，Arduino 付属の XBee シールドを用いることとした．ただし，このシールドを用いた通信では，XBee の規格に則った通信同期が自動的にとられてしまう．そこで本教材では， XBee による通信路上に，同期制御等の機能を持たない原始的な通信路を擬似的に設けることとした．

4.

おわりに

本稿では，ネットワークプロトコルの概念と通信の同期方法を体験的に理解させるための教材の機能設計について述べた．今後は，設計機能の実装をさらに進め，教材の有効性評価を試みる．
参考文献(1) 文部科学省：“高等学校学習指導要領解説	  情報編”，開隆堂出版，東京 (2010) .

(2) 岡本敏雄：“高校普通教科「情報」の実施実態の総合的調査”，科学研究費補助金基盤研究(C)(研究課題番号：17630014)研究成果報告書，pp.32-35 (2007) .
(3) 村松竜他：“情報通信ネットワークに関する高校生の認識実態調査，-簡易マインドマップに基づく分布より-”，日本情報科教育学会誌，Vol.5，pp.19-28 (2013).

図 1	  提案教材を利用した学習イメージ図 1	  提案教材を利用した学習イメージ
10