シオラボのネットワーク技術コラム第14回 「プロトコルとネットワークアーキテクチャ」

はじめに

これまでの「シオラボのネットワーク技術コラム」では、ネットワーク機器のルータ、L2スイッチ、L3スイッチのそれぞれについて、基本的な役割や機能、しくみについて説明してきました。やや駆け足で説明してきたこともあり、根本的なネットワーク技術の基礎については説明を省いてきました。そこで、今回からは、改めてネットワーク技術の基礎について再確認していこうと思います。前回までのコラムでなにげなく使っていた用語やしくみについても解説していきます。今回は、「プロトコル」と「ネットワークアーキテクチャ」についてです。

プロトコル

普段インターネットを使用しているときに、「プロトコル」のことを意識することは少ないでしょう。それどころか、プロトコルのことを全く知らなくても、私たちはアプリケーションを使用してネットワーク越しに情報を得たり、メッセージを送受信したり、動画を参照したり、会話をしたり、ゲームを楽しむことができます。

しかし、ネットワーク通信において、「プロトコル」は非常に重要な概念です。ネットワークに接続されているコンピュータ同士が通信できるのは、双方のコンピュータがあらかじめ決められた約束ごとに従って処理をおこなっているからです。プロトコルとは、コンピュータ同士が通信する際の手順や規格のことをいい、ネットワーク通信を会話に例えると、プロトコルは共通言語にあたります。つまり、ネットワーク通信するにあたって、プロトコルに従うことは基本原理です。

代表的なプロトコルとしてすぐに思い浮かぶものに、HTTPやSMTP、FTPなどがあります。HTTPはブラウザでホームページを参照するため、SMTPは電子メールを送信するため、FTPはファイルを転送するためといったように、それぞれのアプリケーションの役割を果たすためのもので、これらのプロトコルは、ネットワーク通信が実装されているアプリケーションに特化したものです。一方、TCPやIP、Ethernetなどは、アプリケーションを限定せずに使えるように設計された汎用的なプロトコルです。

ネットワークアーキテクチャ

いくつかのプロトコルを体系的にまとめたものをネットワークアーキテクチャと呼びます。例えば、インターネットを含む多くのコンピュータネットワークで標準的に利用されているTCP/IPもネットワークアーキテクチャの一つです。

ネットワークアーキテクチャという概念が初めて世の中に登場したのは、1974年にIBM社が発表したSNA(System Network Architecture)においてと言われています。それまで、ネットワーク通信にまつわるプロトコル体系やデータ形式、ハードウェア仕様はアプリケーションそれぞれで独自に実装されていました。当然のことながら、独自に実装された仕様は汎用性がありません。つまり、異なるアプリケーションでネットワーク通信をおこなうことは困難でした。そこで、IBM社は、柔軟なネットワーク通信の実装を実現しようと、SNAを定め、アクセス方式や通信手順を統一し、その技術仕様を階層化して体系化しました。さらに、ネットワーク通信部分をアプリケーションの実装と切り離したことで、アプリケーションで独自実装する必要がなくなります。それはつまり、アプリケーションでネットワーク通信部分を実装する必要がなく、また、SNAに準拠したアプリケーションであれば、お互いにネットワーク通信をおこなえることができるようになったのです。

もちろん、その他のコンピュータメーカーも黙ってはいません。自社の製品群に対する独自のネットワークアーキテクチャを発表することになります。当然のことながら、各社それぞれのネットワークアーキテクチャに準拠したプログラムは、そのネットワークアーキテクチャ内でしか互換性を発揮することはできません。これでは、アプリケーションで独自実装されたものと変わりありません。

そこで、ISO(国際標準化機構)は、1977年に開放型システム間相互接続、つまり、OSI(Open Systems Interconnection)の検討を始めます。ISOは、特定のメーカーや端末、ソフトウェアに依存することなく、汎用的でオープンな通信モデルを作ることで、柔軟にネットワーク通信をおこなえる状態になることを目指しました。そして、1984年に「OSI基本参照モデル」が策定されます。OSI基本参照モデルは、通信機能を7つの階層構造に分割し、それぞれの階層での機能を定義した概念モデルで、ネットワークを理解する上で非常に重要な概念の一つです。

次回は、この「OSI基本参照モデル」について詳細を解説していくことにしましょう。次回もぜひお楽しみに。