第 1 回 通信の要素と構造

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

1-1. この授業の狙い

通信、ネットワークに関する、基本的な原理や構造を理解し、科学的に理解 できる基礎を身に着けます。

1-2. 授業の進め方

アイスブレイク

本講義ではグループワークを行います。 そのため、授業開始時にグループ構築を行います。

手順

  1. 配布する6枚の用紙の中央に氏名を書く。
  2. 毎回講義時に指定される4つの属性について、用紙の四隅に記入する。 強調する属性を色ペンでマークする。
  3. すべての属性が揃うように4〜6名の班を作る。
  4. 班内で自己紹介をする。特に、強調した属性に関するエピソードを紹介 する

講義

グループワークの資料となるような講義を行う

グループワーク

グループワークの進め方にはいくつかの手法があり、その都度指示を行う。 グループワークの目標はレポートの作成である

シンクペアシェア
  1. ペアを作り、制限時間内で合意形成する
  2. 合意内容をグループ内で共有する
ラウンドロビン
  1. グループ内で書記と順番を決めておく
  2. 各自が1回ずつ制限時間内で発言する
  3. 記録を共有する
スリーステップインタビュー
  1. ペアのうちインタビュワーが意見を作成する
  2. その意見について、相手にインタビューする
  3. インタビュワーはインタビューの結果をまとめ、グループで共有す る

レポート

毎週グループで一通PowerPointのプレゼン資料の形でレポートを作成する。 火曜日の夕方までに <[email protected]>宛にメールすること。

採点基準

各10点満点で採点する。 未提出は0点で、標準的な内容で 8点とする。 点数はグループ内の各員の得点とする。 優秀なレポート1,2通を選び、次回授業冒頭で発表を行ってもらう。予め発 表者を決めておくこと。 発表レポートは9点または10点とする。 14回レポートで、(最高点,2番めの点,平均点)の平均をレポート点とする。

Tduitter

授業に関するコメントを集めるシステム Tduitter システムを開発した。 毎回の授業において、1つ以上のコメントを記入すること。 これを平常点とする。

レポート点を何倍かして(10倍?)、平常点(15点)を加えたものを最終得点 とすることを考えているが、今年度は初年度のこともあるので、授業終了時 に調整をするかも知れない。 いずれにしろ、毎回標準的なレポートを提出している場合、SまたはAがつくこ とになる。

1-3. レポート課題

テーマ:郵便網とインターネット

郵便網とインターネットを対比させ、類似点、相違点を明らかにする。 特に、次のキーワードについて、説明すること。

階層モデル、砂時計モデル、サービスに対する階層の役割

締切、提出方法

来週火曜日の夕方までに <[email protected]>宛にメールすること。

1-4. アイスブレイク

本日の属性

無線ルータを持っている 携帯電話を自分で選んで買った
学籍番号 氏名 (番号欄)
今年、年賀状以外で郵便を使用したことがある 荷物の扱い(コンビニなど)や物流系のアルバイトをしたことがある

例1-1

Wimax+のポケットルータを持っていて、大学生協のアルバイトをしている が、携帯は親に買ってもらって、郵便は年賀状しか使ってない場合:以下を6枚作る

Wimax+
99ec999 坂本 直志 (    )
大学生協

手順

  1. 全色が揃うように4から6人で班を作る
  2. 班ごとに着席する。椅子を動かして机を囲むようにする。(使わない机を動かしても良い)
  3. 順番を決める
  4. 作成した6枚の用紙に決まった番号を記入する
  5. 班員に用紙を名刺代わりに配る
  6. 1番から色を付けた属性を含めた自己紹介を1分ていどで行う

1-5. 講義

インターネット

インターネットは広域コンピュータネットワーク中で最大のものです。

インターネットではどのような接続方式を使うか制限されてませんのでさまざ まな接続方式がとられています。 Ethernet をはじめ、高速な光ファイバー通信や、音声変調(Modem)による電話 回線、無線、衛星通信など多くの通信装置が接続されています。 そして、接続されるコンピュータもスーパーコンピュータから携帯電話まで様々 です。 電子メール、WWW、 チャット、 P2P、Video On Demand など様々なアプリケーションが使われています。

インターネットは、分散型であり、どこかに中央があるわけではあ りません。 また、様々な通信が行われており、この瞬間にも新しい通信方式が開発されて います。 インターネットで始めてパケット通信が実現されました。 これは二つのコンピュータが互いに通信をしたい場合、回線を占有するのでは なく、送信したいデータを細分化し、データそれぞれに相手のコンピュータの 宛先を記入し、通信回線に通信を依頼すると言うモデルです。

プロトコル

プロトコルとは通信を行うために守るべき手順のことです。 もともとは「外交儀礼」という意味で、国同士が対話をする時の 手順などを指します。 例えば、「国で一番偉い人が外国を訪問したら、次は相手国の一番偉い人がこ ちらに訪 ねる」と交互に順番に訪問し合うというのはプロトコルになります。 また、アメリカでは裁判の進め方などにも使います。

ではコンピュータ同士のメッセージのやりとりの例を示します。 例えば、 echo と呼ばれる次のプロトコルを考えましょう。

A 通信路 B
何らかのデータ→
←同じデータ

このような通信の手順には、本来の作業の持つ意味の他に、様々な利用法があ ります。 例えばこの echo を利用すると次のようなことができるようになります。

このように通信のプロトコルというのは、メッセージのやりとりとは別に、ネッ トワークの構造が関連してきます。 それにより、 単純なメッセージのやりとりでもいろいろなことを実現できたりします。

つぎに実際に使われているプロトコルとして、 HTTP(Hyper Text Transfer Protocol) を紹介しましょう。 HTTP/1.0 では次のような単純な操作でサーバ からデータを取得できます。

クライアント 通信路 サーバ
GET ファイル名 HTTP/1.0改行改行→
←HTTP/1.0 200 Ok
Date: 日付
Content-type: ファイルのタイプ
Content-Length: ファイルのサイズ

ファイルの内容
...

HTTP/1.0 自体は上記以外のメッセージも存在しますが、基本的には上のよう に単純な一往復のプロトコルです。 メッセージに英単語を使って実際の文章のような構成になっています。

インターネットのプロトコルはこのように英単語を使用し、人間にも解釈のし やすいテキストファイルの形でやりとりするプロトコルと、長さや位置が決まっ たビット列を使用するプロトコルに分けられます。 ネットワークの接続に関するプロトコルなどはビット列を使用しているものが 多いです。 一方で上のようなサービスを表すものにはテキストファイル形式が多いです。

なお、 この授業ではプロトコルとはコンピュータ同士の通信の手順のことを指します が、この由来は 異機種間のコンピュータの接続実験を行っていた研究者が、コンピュータ同士 の通信手順をプロトコルと呼び始めたことから来ます。

階層プロトコル

プロトコルは階層に分かれています。 例えば、あなたが手紙を書いて送ることを考えましょう。 手紙を書く時、相手の住所を書いたり、手紙の重量に応じた切手を貼ったり、 さらに文面に時候の挨拶を書いたり、とさまざまなことを考慮しなければなり ません。 また、書いた手紙はあなた自身が相手に持っていくのではなく、ポストに投函 した後は郵便局に委ねます。 郵便局ではあなたの手紙に対して、消印を押したり、相手の住所のそばの郵便 局に転送したりするなど、やはりさまざまな処理を行います。 これらの全てが完璧に行われた時、始めて手紙が相手に届きます。

ここで、「手紙の送り方」を説明する場合、なにもかも全ての事項を説明する のではなく、特定の立場を決めてその立場に関連する事項だけを説明する方が わかりやすくなります。 例えば、「手紙の送り方」を常識で考えた場合、通常は郵便局がなにを具体的 にするかなどは気にせず、ポストに手紙を入れるところまでを説明するのが普 通ではないかと思います。 つまり、封筒と切手を用意して、送りたい手紙を入れ、宛名を書いてポストに 投函することを説明すれば十分でしょう。

一方で「葉書の送り方」というのを別に考えましょう。 このなかで、実際に説明しなければならないことの大半は「手紙の送り方」と 一致するでしょう。 つまり、手順のうち、共通部分とそうでない部分が生じます。 共通部分を「郵便の送り方」とすると、「手紙の送り方」と「葉書の送り方」 の関係は次の図で表すことが出来ます。

郵便の送り方の抽出

インターネットのプロトコルもそのように階層化しています。 例えば、「文字を送る」のと「画像を送る」という二つのプロトコルを考えた 時、それらに対して、いちいち送信時のネットワークに接続する端子の信号電 圧などを考えたりはしません。 ここで重要なのは、上記の「郵便の送り方」のような共通に考えられるプロト コルは別に考え、その上で文字固有の送り方、画像固有の送り方を考えるとい うことです。 プログラムを作る際にはサブルーチンとしてまとめましたが、 異なるプロト コルにおいて共通部分を別プロトコルとして取り出すことによってプロトコル の階層化を考えることが出来ます。

階層プロトコル

複数のプロトコルの共通部分の抽出により階層化を考えることができましたが、 通信プロトコルの場合、別の考え方があります。 次に考えるのは、ネットワークの構成を階層的に見て、その階層毎に通信を実現すると いう意味でのプロトコルの階層化です。 具体的には次のように考えます。

  1. 二点間あるいはそれ以上の点の間を物理的に接続する
  2. 二点間あるいはそれ以上の点の間のデータのやりとり
  3. 複数の物理的なネットワーク間のデータのやりとり
  4. 送信者と受信者の間(端末間 End to End)のデータのやりとり
  5. サービスの利用法

このようにネットワークの構成により自然に階層化が導かれます。

インターネットではこのうちネットワーク間のデータのやりとりと End to End のやりとりが主に規定されています。

OSI

インターネットが開発される過程で、ネットワークを中継して端末間でデータ をやりとりするプロトコル TCP は、端末だけで行う処理と中継する装置でも 行う処理とを分離して、TCP/IP となりました。 インターネットの場合、試行錯誤を繰り返してプロトコルを階層化していった ため、「実際に接続に使う回線(ネットワーク)」「ネットワーク間のやりとり (IP層)」「端末間のやりとり(TCP 層)」「電子メールなどのサービス」の四階 層に分かれました。

ところが、 ISO(国際標準化機構)はインターネットとは互換性のない OSI 7 層参照モデルを発表しました。 当時、コンピュータ業界を置き去りにして発展していったインターネットに対 して危機感があったのか、この形だけのネットワーク参照モデルは様々なコン ピュータメーカにより採用されました。 IBM は SNA(Systems Network Architecture), DEC は DECNET などこの OSI モデルを実装した独自ネットワークを構築していきました。 しかし、 OSI 自体もともと机上の空論だったため、技術的な欠陥もあり、一般 に広まる前に下火になりました。 ただ、なぜか世間ではインターネットですら、この 7 層の参照モデルを使っ て説明します。 これは、インターネット自体に理論的な参照モデルがなかったことと、単純に インターネットのモデルを押し込むことが出来たからだと思います (あと、 CISCO の教科書に熱心に書かれていることも影響しているかも知れま せん)。

7 層の内訳は次の通りです。

  1. 物理層
  2. データリンク層
  3. ネットワーク層
  4. トランスポート層
  5. セッション層
  6. プレゼンテーション層
  7. アプリケーション層

物理層とはコンピュータ同士を結びつける物理的なもので、ケーブルや電波 が伝搬する空間など、また使用する電圧や電力、信号の形、タイミングなどを指 します。

データリンク層は物理層で定義された物理的な信号をデータ通信に変換する仕 事をします。 つまり、データリンク層で物理的に接続された二点間の通信が完結します。 しかし、通信の方式により、輻輳、誤り訂正、共有アクセス制御などの問題が 生じますので、単純なデータ通信だけでのプロトコルでない通信方式が存在し ます。 つまり、そのような問題を通信により解決していくような方式です。 例えば Ethernet では物理層は複数のコンピュータにより共有されていて、通 信の開始時期は各コンピュータが決定できます。 したがって、二台のコンピュータが同時に通信を始めること(コリジョン)が発 生します。 このとき、Ethernet では相互に通信プロトコルを規定し、再送を行い、伝送 の誤りの少ない通信を実現しています。 このようにデータリンク層内の階層プロトコルを説明するため、媒体アクセス 副層という概念が導入されています。

ネットワーク層ではネットワーク接続に関する規定を定めています。つまりパ ケットのフォワーディング(転送)に関する規定です。 ネットワーク上の障害などに対応して、パケットをどこに送るか変化させるこ とも必要ですが、これもこの層の仕事になります。

トランスポート層は End to End、つまり、送信者が送ったデータを最終的に 受信者に正しく届くことを保証します。 但し、下位(物理層からネットワーク層)でも品質の保証を行っている場合もあ ります。

セッション層ではユーザ間のセッションを管理するのが仕事になります。 しかし、これはインターネットにはない概念です。 例えばセッションの例として、分散データベースの一括更新などを考えましょう。 座席の予約システムなどで席をまとめて複数確保したい場合、空き状 況を調べて予約するまでの間に、他の予約が割り込むと、確実に予約すること ができなくなります。 そのため、空き状況を調べてから予約するまでの間、他の予約を更新を待って もらうという排他処理が必要となります。 しかし、インターネットではこのようなことは行わず、 OS やアプリケーショ ンのプログラムに委ねられています。 特に OS にはそのような排他制御の仕組みとしてセマフォアとい うシステムコールが用意されていることもあります。

プレゼンテーション層は、データのやりとりに対して、それを抽象的な意味が 伴う情報として扱うための管理などを行います。 例えば、文字コードを漢字などに直したりすることが考えられますが、インター ネットではこれはアプリケーションや OS の仕事としています。

アプリケーション層はサービスを提供する層で、ここで、電子メールなどのサー ビスを提供します。

砂時計モデル

インタネットプロトコルの砂時計モデル
郵便の砂時計モデル

インターネットを構成する機器には光ファイバーから無線まで様々なメディ アや方式が存在します。 一方で、実現しているサービスも、電子メールやWWWや動画など、こちらも 様々です。 このような様々な方式のネットワーク上を様々なサービスが実現しています が、これらをシステムとして束ねる上で、システム全体で合意する必要があ るものがあります。 これが、配送するルールにあたるものです。 インターネットではネットワーク層にあたる IP が、全ての機器で合意され ている単一のプロトコルになります。 たとえ話で言えば、郵便のシステムにおいても、どのような郵便物でも切手 を貼って住所を書き、それに基づいてハガキや小包が、陸路や空路などを経 由して届けられます。

プロトコルのレイヤーで言うと、中間であるネットワーク層のみが単一のプ ロトコルで、下位レイヤーも上位レイヤーも多様化されています。 これをネットワーク階層図で表すと、砂時計のように中央がくびれた図にな ります。

グループワーク

最終的にレポートを作成するために、グループワークを行う

ワーク1-1

ルール:ラウンドロビ ン(一人30秒,3周をめどに出尽くすまで)

郵便の要素を付箋紙にひとつづつ書いていく

アイスクリーム、船、ふるさと小包、あけまして おめでとう、郵便番号

ワーク1-2

次のサービスに対して、どのような郵便の要素が使われるかを考えてみよう。

  1. 年賀状
  2. レタックス
  3. 「定期便 カニ お届け」のキーワードで検索すると見つかるサービ ス

ワーク1-3

郵便の要素の分類を行う

  1. 運び方
  2. 運ぶもの
  3. 全世界で共有するもの
  4. 内容
  5. サービス

ワーク1-4

  1. シンクペアシェア(3分)によって、 OSI7階層モデルと、郵便要素の分類の比較を議論しなさい。 但し、階層の数が合わない場合、省くか統合するかも考えなさい。
  2. スリーステップインタビュー によって、通信の仕組みを詳しく知ると、どのように役に立つのかを、 今回調べた郵便に関する知識を例に上げて説明しなさい。

Tduitter

tduitterに本日 の授業の感想を投稿しなさい


坂本直志 <[email protected]>
東京電機大学工学部情報通信工学科