テクノロジ系 > 大分類3 技術要素 > 中分類10 ネットワーク > 2.データ通信と制御 > (1)ネットワークアーキテクチャ
ネットワークアーキテクチャとは、コンピュータ間でネットワークを通じてデータ通信をする際の基本的なシステムの設計についての約束を定めたもの※1とされています。より具体的にはプロトコルを体系的にまとめたものと定義されており、その理解にはプロトコルを学習する必要があります。本章では、プロトコルについて学んだうえで、シラバスの各項目について学びます。
プロトコルとは
シラバス上ではプロトコルについて個別に書かれた箇所はありませんが、ネットワークアーキテクチャの説明に必要なためここで説明します。
プロトコルとは、コンピュータ同士が通信を行うために決められた規約のことをいいます。これがどういう意味か自分なりに解釈した内容を書きます。
ネットワーク通信は突き詰めれば0か1かの物理的な信号の電信ですが、それがなぜインターネットのように様々なデータをやり取りできるかと言えば、「このデータが来たときにこういう動作をする」「こういう意味だと読み取る」などを機器同士で決めているからです。決まりごとの一つ一つを分解していけば単純なものに行きつきますが、それらを体系的に積み上げていくことによって複雑なデータをやり取りできるようにしているのが現在のネットワークです。
その決まりごとは基本的には機器同士で決めることになります。千夜一夜物語のアリババのお話で「開けゴマ」というと扉が開く呪文があります。これは例えば、「開けゴマ」を意味する2進数データが届いたときにドアを開閉するモーターが動く、というような実装を行えば同じようなことが実現できますが、それには「開けゴマ」と入力する装置、ドアを開閉するモーターでそのような取り決めをする必要があります(実際にはそんな単純なことではなく、一つのイメージです)。個人的にこのような装置を作るのであれば全部自分で決まり事を決めてもよいですが、世界中を網羅するインターネットや、それに接続するためのネットワークではそんなわけにはいきません。「このようにすればインターネットに接続してデータをやり取りできますよ」という説明書をあらかじめ作っておく必要があるわけです。この説明書が規約であり、プロトコルです。
プロトコルは一つではなく、数えきれないくらいたくさん存在します。というのも、プロトコルは先ほど説明した通り説明書のようなもので、「こういう風に実装するとこのように接続できます」というものも一つではなく、数多く生み出されるためです。コンピュータが発展してきた当初、メーカーごとのプロトコルで通信していましたが、これでは他の会社の機器は接続できないという問題がありました。これは大きな問題があります。一つの機器が故障した場合はまた同じメーカーで機器を買いなおさなければならないことはまだ良いです。そのメーカーが倒産するなどして機器が買えなくなった場合は、せっかく構築したネットワークを別のメーカーで一から構築しなおさなければなりません。また、インターネットのように不特定多数の人が利用できるネットワークを構築するためにはメーカー関係なく相互接続できる仕様を作りそこに準拠させる必要がありました。そこで、ISO(International Organization for Standardization:国際標準化機構)が整理しようということになり作られたのがOSI基本参照モデルです。また、整理することを標準化と言います。
①ネットワークトポロジ
②OSI基本参照モデル
OSI(Open Systems Interconnection)基本参照モデルは、ISOが標準化したネットワーク通信のモデルです。OSI基本参照モデルではプロトコルを機能ごとに分割して階層化していることに特長があります。これは、策定当時一つのプロトコルに機能を詰め込みすぎると複雑化して難しくなることが分かっており、機能を分割して階層化するという試みが進んでいたからです。階層化されたプロトコルのまとまりをプロトコルスイートとよびます。
OSI基本参照モデルに準拠したネットワークアーキテクチャのことをOSIと言いますがこれは普及せず、現在のネットワークはTCP/IPという別のネットワークアーキテクチャが使われています。しかしISOが標準化している仕様であることや理論的な面で優れているという理由でネットワークの説明でよく解説されており、応用情報技術者試験でも頻出です。ISO参照モデルは階層を7つに分けます。
物理層
物理的・電気的な性質を規定する。例えば、ケーブルは何を使うかなどを決める。
データリンク層
直接接続された機器間の伝送について規定する。データリンク層で伝送されるデータをフレームという。MACアドレスで機器を識別する。
ネットワーク層
エンドツーエンドの伝送について規定する。ネットワーク層で伝送されるデータをパケットと呼ぶ。IPアドレスで機器を識別する。
トランスポート層
通信品質や、コンピュータ内のどのアプリケーションと通信するかを管理するための仕組みを規定する。トランスポート層で伝送されるデータをセグメントという。ポート番号でアプリケーションを識別する。
セション層
通信するプログラム間で会話を行い、コネクションの開始・終了を管理する。
プレゼンテーション層
データ形式について管理する。
アプリケーション層
通信に使用するアプリケーション(サービス)である。