2004年度前期 IT教育基礎論特論B
コンピュータネットーワークにおける通信方式であるパケット通信の仕組み、 ならびに、これによるコンピュータネットワークの仕組みである ネットワークアーキテクチャについて学習する。
コンピュータネットワーク(情報通信ネットワーク)は、 コンピュータ等の複数の情報機器をネットワーク接続した通信網である。 同様の通信網として、既存の電話回線網を挙げることができるが、 電話回線網では、一般に1つの電話機が複数の電話機と接続して 通話することができないのに比較し、 コンピュータネットワークでは、 1つのコンピュータが複数のコンピュータと同時に通信が可能である点が異なる。
コンピュータネットワークにおいて、このような同時通信が可能な理由は、 電話回線網では、電話機同士が接続し通話を行うのに、 回線交換による回線の占有を行うのに対して、 コンピュータネットワークでは、 コンピュータ同士で送受信するデータをパケットに分割して 送信するパケット通信により、 複数のコンピュータによる回線共有を行なえるためである。 パケットとは、簡単に言えば、 データ列をある大きさに分割した1つの単位であり、 例えば、イーサネットにおけるパケットは、 図1に示す構成となっている。
![]() |
コンピュータネットワークでは、 相手に送りたいデータをこのようなパケットに分割し、送信することで、 回線を占有することなく、 1つのコンピュータが複数のコンピュータと同時に通信することが可能となっている。
このようなパケット通信では、回線容量に十分な余裕があり、 回線にパケットを送信しようとした際に回線上に別のパケットがなければ、 そのパケットを送信することができるが、 回線上に別のパケットが存在する場合、パケットの衝突が発生し、 パケットを送信することができない。
例えば、コンピュータAからコンピュータBにパケットを送信しようとしたときに、 図2に示すように回線上にパケットが存在しなければ、 問題なくパケットを送信することができる (注: これはあくまでも回線上のパケットを 模式的に示したものであり、 実際にはパケットは電気信号もしくは光信号なので、 ある瞬間に回線上に局所的に存在するわけではない)。
![]() |
これに対し、もし、回線上に多くのパケットが流れており、 パケットを送信しようとした際にも回線上に別のパケットが存在した場合、 図3に示すようなパケットの衝突が発生する。
![]() |
この場合、衝突した両パケットとも壊れてしまうこととなり、 パケットを送信することができないため、 イーサネットの場合、しばらく時間を置いた後に、再度パケットの送信を行う。 また、通信相手のコンピュータBは、 正しくパケットを受け取った場合にはその旨を伝える返答を行い、 もし、しばらくした後にコンピュータAにその返答が来ない場合、 やはりパケットの再送を行う。
このようにパケット通信では、 ネットワーク上でパケットの衝突が発生するなどして、 パケットを正しく送信できず、パケットを再送することが必要となるため、 受け取ったパケットも、送信された順番に受け取れるとは限らない。 このため、受け取ったパケットから元のデータを取り出すためには、 パケットの並べ替えなどの作業も必要となる。
コンピュータネットワークでは、 データをどのように電気信号や光信号に変換するかや、 またどのようにパケットの経路制御を行い、正しく送受信するか、 さらには情報機器間でどのような手順で通信を行うかなど、 様々な取り決めを行わなければならず、複雑な仕組みを要する。 このコンピュータネットワークの仕組みをネットワークアーキテクチャと呼ぶ。
国際標準化機構であるISOは、1977年に、 汎用的な情報通信ネットワークの規格として、 OSI参照モデル(Open System Interconnection Reference Model)を制定した。 これは、図4に示すように、 コンピュータネットワークを構成する ネットワークケーブルやコネクタなどの物理的な規格から 各アプリケーションがどのような形式のデータをどのように通信を行うかまで、 7つのレイヤーに分けて細かく規定したものであり、 OSI7層モデル(OSI 7 Layer Model)等とも呼ばれる。
![]() |
各層で規定される内容を以下に示す。
- 第1層 物理層
- 隣接する装置にデータを伝送するために、コネクタの形状、 回路のインピーダンス、ケーブルの特性、電気信号の電圧、変調方式など、 物理的な条件を規定。
- 第2層 データリンク層
- 隣接する装置間で確実なデータ伝送を行うために、 伝送単位毎の順序制御方法、データの誤り検出およびその回復方法などを規定。
- 第3層 ネットワーク層
- ネットワークを経由してデータを送受信するために、 ネットワーク同士の接続制御方法、経路選択方法、パケット制御方法などを規定。
- 第4層 トランスポート層
- 通信を行うノード間で仮想的な通信路を介して確実にデータを送受信するために、 ノード間でのデータ転送制御方法、ノード間での誤り検出、回復方法などを規定。
- 第5層 セッション層
- 接続要求や切断要求など、 ノード間での通信の開始から終了までのセッションの手順を規定。
- 第6層 プレゼンテーション層
- 文字コードやマルチメディアデータのファイル形式(フォーマット)、 データの暗号化、複合化方法、データの圧縮、伸張方法など、 ノード間で転送されるデータの形式および形式の変換方法を規定。
- 第7層 アプリケーション層
- ノード上で実行される各種アプリケーション毎に、 アプリケーション間でのデータ転送手順、転送されるデータ形式などを規定。
物理層以外の各レイヤーでは、下位のレイヤーで提供される機能を利用し、 同レイヤーと仮想的な通信を行うことにより、 全体としてコンピュータネットワークとしての機能を実現する。 このとき、同レイヤー同士での通信手順を通信プロトコルと呼ぶ。 このように各機能ごとにレイヤー化し、 それぞれのレイヤーで提供される機能の仕様を厳密に定義することにより、 各レイヤーの独立性を保障し、実現する機能を単純化できるだけでなく、 同じ機能さえ提供すれば、 どのような装置を利用した場合でも上位や下位のレイヤーに影響を与えず、 互換性を保障することが可能となる。
しかしながら7層ものレイヤーに分けてことによるシステムの複雑性が敬遠され、 また各層に様々な規格を取り入れたことにより必ずしも各レイヤーの独立性、 互換性を保障しきれなくなってきたことに加え、 当時急速に普及しつつあったTCP/IP規格の影響もあり、 実際にはほとんど実用化されずに終わっている。
TCP/IP とは、今日のコンピュータネットワーク、 特にインターネットとしてのコンピュータネットワークで もっとも広く一般に利用されている通信プロトコルの規格であり、 図5に示すように、OSI参照モデルでいうところの第3層のネットワーク層および 第4層トランスポート層に相当する規定である。
![]() |
逆に、第2層以下、ならびに第5層以上はTCP/IPでは規定されておらず、 第1〜2層として、イーサネットをはじめATMやFDDI、ISDN、ADSLなど様々な データ通信規格を利用することができる。 また、第5〜7層では、遠隔地のコンピュータを利用するためのtelnetや 電子メールのためのSMTP、WWWのためのHTTP、 動画像ストリーミングのためのRTSP/RTPなど、 各アプリケーション毎に様々なアプリケーションプロトコルが提案されている。
また音声や動画像などのストリーミング通信では 正確なデータ転送よりも実時間でデータ転送できることが要求されるなど、 必ずしもデータ転送の確実性が必要のない通信プロトコルもあるため、 OSI参照モデルにおける第4層のトランスポート層では、 データの確実な転送を行うためのTCPプロトコルのほかに、 エラー訂正を行わず高速な通信を行うためのプロトコルである UDPプロトコルも規定されている。
OSI参照モデルでは、ネットワークアーキテクチャを7層にモデル化し、 またTCP/IPにおいても、ネットワークアーキテクチャはレイヤー構造となっている。 このように、ネットワークアーキテクチャをレイヤー化することによる 利点、欠点を考察せよ。
ネットワークプロトコル(IP)によるコンピュータネットワークでは、 トランスポート層の通信プロトコルとしてTCPとUDPがあることを学習した。 TCPおよびUDPのそれぞれの通信プロトコルとその違いについて調べ、 それぞれ、どのような通信アプリケーションに適しているか、 具体例を示し考察せよ。