ネットワークアーキテクチャ(Network Architecture)
本科選択・必修開設時期単位数授業形態担 当
情報電子必修5年2講義新田貴之
【授業の概要】
現代の情報通信は、機能階層ごとの体系を考慮して作られています。この階層は「人間に近い機能を提供する層」や「物理的な接続を提供する層」などがあります。この機能階層の上下の繋がりを「インタフェース」といいます。一方、同じ層同士が繋がるための決まりもあり、これを「プロトコル」といいます。これら二つを総称して、ネットワーク・アーキテクチャといいます。この授業は、ネットワークが階層構造で考えられることやプロトコルについての理解を深めることを行います。題材は、近年最も有名なHTTP(Hyper Text Transfer Protocol)、TCP/IP、Ethernetとします。これらの授業で、日常的に使っている「インターネット」の実体が何であるかを知ることができるでしょう。
【授業の進め方】
ネットワークの伝統的な学習方法は、下位層から上位層に向かって学習を進めていく方法です。しかし、この授業は、上位層から下位層に向かって学習を行います。この学習スタイルは、今までの学習スタイルと違いますので、混乱するかもしれません。この考え方の違い(物事を考える際に物理的なことから見るか人間的なことから見るかの違い)は、将来の役に立つと思われますので、是非とも修得してください。
授業は、「考え方」や「実例」を中心に展開するので、自力で教科書を理解するような、授業内容を身につけるためには、復習を中心とした自学自習を行う必要がある。
【授業計画】 【授業項目】 【内 容】
1 回 ガイダンス ネットワークとは何者かについて導入の話を行うと共に、通信工学と関連のある部分についての復習を行う。
2 回 通信とは 「インターフェース」や「プロトコル」についての基本的な考え方を学ぶ。身近な例として、郵便物が配送されていくモデルなどを例として通信を説明する。
3 回 レイヤ構造(OSI7層モデル) ネットワークは階層構造で考えることができる。その考え方にOSIモデルがある。このモデルの概略と用語を学ぶ。
4 回 TCP/IPの基礎(TCP/IPモデル) インターネットの階層構造は、TCP/IPモデルで考えることが多い。このTCP/IPと前回のOSIとの関連性とを学ぶ。
5 回 プロトコルとは プロトコルについて、RFC(Request for Comment)というインターネットで重要な文章などを交えながら紹介する。
6 回 TCP/IP通信 インターネットの本質であるTCP/IP通信がどのように行われているかの概略を解説する。
7 回 仮想通信路と物理通信路の関係(前半まとめ) ネットワークは、物理的な通信路上に色々な情報を混乱させずに伝送することができる。これらは仮想的な通信路と考えることができる。この考え方を復習する。
8 回 中間試験 7回目の復習事項までを中間試験の範囲とする。
9 回 通信路の設定1(UNIXシステム上での演習のための講義) 通信路の設定として必要となるシステムコールを紹介する。
10 回 通信路の設定2(UNIXシステム上での演習) チャットのプログラムを用いて、ネットワークの機能を紹介する。
11 回 httpクライアントの作成 HTTPの仕組みを紹介する。それに従って、クライアント側のプログラミングを行う。
12 回 httpdの作成1 HTTPのサーバの作成することによって、サーバ側のプログラミングを体得する。
13 回 httpdの作成2 先週に引き続き、HTTPのサーバの作成を行う。
14 回 httpdの作成3 HTTPのサーバの作成を行う。【作成したプログラムについて、レポートの提出を行ってもらう。】
期末試験 ネットワークプログラミングに関して必要な知識についてを期末試験の範囲とする。
15 回 答案返却など 試験についての解説(出題意図や模範解答の例示)を行う。
16 回 ガイダンス 階層構造と仮想的な通信路についての仕組みについての復習を行う。
17 回 TCPセグメントとTCPの概要 TCPの特徴を確認する。
18 回 TCPの特徴 3方向ハンドシェークやスライディング・ウィンドウ、ポート番号などについてを学ぶ。
19 回 TCPの状態遷移 通信路の確立から解放に至るまでの一連の過程を学ぶ。
20 回 IPデータグラムとIPの概要 IPはどこにパケットを届けるべきかということを決める重要なプロトコルである。IPデータグラムの構造と通信の端点から端点への接続情報が含まれていることを理解する。
21 回 IP(ルーチング) IPの最も重要な機能であるルーチング(教科書では、ルーティングと表記されている)についてを解説する。
22 回 IP(ルーチングの演習) いくつかのネットワークに対して、ルーチングをスタティックに適切に設定できるかの確認を行う。
23 回 中間試験 TCP/IP通信の仕組みについて試験を行う。
24 回 Ethernet LANで用いられているEthernetについて説明する。このEthernetは、IPデータグラムなどを運ぶための仕組みである。
25 回 ユニキャスト・マルチキャスト・ブロードキャスト 通信の相手先には、単一ホスト宛、複数ホスト宛、全ホスト宛などの複数の方法があり、それについて、解説する。
26 回 ハードウェアアドレス解決(ARP) IPアドレスとEthernet機器に付けられているMACアドレスの関連づけについて学習する。
27 回 交換機(L2SWやL3SW) リピータやブリッジの役割を学習する。
28 回 物理層 UTPケーブルや光ファイバケーブルなどの規格を学ぶ。
29 回 まとめ 全レイヤを通しての挙動を再確認する。
期末試験 全レイヤを通して出題する。
30 回 答案返却など 試験で不出来な部分に関して、コメントする。
【到達目標】「他者が構築しているネットワーク機能を積極的に利用することができる技術者」になることを到達目標とする。具体的には、ネットワークを階層構造で考えることができ、その階層構造上でネットワーク・アプリケーションのプログラミングができること,並びに、構築されているネットワークを理解できることを目標とする。
【徳山高専学習・教育目標】C1【JABEE基準】1(2)d-1
【評価法】中間試験を4割、期末試験を6割とする。演習で作成したプログラムやレポートは、直接の評価対象としないが、前期期末試験の持ち込み資料として認める。
【テキスト】教科書:村田正幸他「コンピュータネットワークの構成学」共立出版
参考書:UNIX Network Programming (洋書、訳本あり)
【関連科目】情報通信工学(4年)、システムプログラミングII(4年)