ネットワークの階層化ってどういうこと?
インターネットに接続したコンピュータや携帯端末を使えば、さまざまな情報サービスを使うことができます。電子メールを自由にやり取りし、URLやキーワードを指定していろいろなWebサイトにつなぐことができます。これらのサービスがうまく機能するために、コンピュータや携帯端末のオペレーティングシステム内部には、相当な量のネットワークソフトウェアが組み込まれています。本記事ではネットワークの階層モデルと、コンピュータシステム内部のネットワークソフトウェアについて、簡単に紹介します。
ネットワークの機能
イーサネットや無線LANで送られるフレーム(パケット)にデータを収めれば、目的のコンピュータにデータが届き、希望するサービスが得られるというほど、物事は簡単ではありません。実際にネットワークのサービスを利用するためには、簡単に考えただけでも、以下のような作業が必要になるでしょう。
アプリケーション間の取り決め
ブラウザからWebサーバーには、どのような形でリクエストを送るのでしょう。そのリクエストに対し、サーバーはどのような形式でデータを送り返してくるのでしょうか? こういったことをきちんと決めておかなければ、プログラムの間、例えばWebサーバーとブラウザソフトウェアの間でデータのやり取りは行えません。このようなプログラム間でのデータのやり取りについての取り決めのことを、アプリケーションプロトコルといいます。このプロトコルは、ネットワークアプリケーションの種類ごとに必要になります。Web、電子メール、ファイル転送、データベースアクセス、リモート処理など、さまざまな用途ごとにプロトコルの規約を定め、それぞれのソフトウェアがその規約に従って動作することで、初めてネットワークサービスがきちんと機能するのです。
ネットワークの解説では、プロトコルという言葉が頻繁に登場します。
プロトコル(Protocol)という言葉には、もともとは外交儀礼やしきたり、条約の議定書、実施要綱などの意味があり、それが転じてネットワークで情報をやり取りするための形式や手順という意味で使われています。プロトコルの詳細は規格として定められており、メーカー、OS、アプリケーションの違い、パソコンやスマートフォン、ゲーム機といった機器形態の違いに関係なく、相互にデータ交換を行うことを可能にしています。
文字コードや暗号化
実際にデータを伝送する際には、データをどのように表現するのかという点についても、きちんと定めておく必要があります。デジタル機器では、文字は数値化されたコードで表されますが、これには何種類かの規格があります。また使用する言語も考慮する必要があります。これらがプログラム間で適切に合意されていないと、データが送られてきても正しく表示できません。またセキュリティを高めるために、やり取りするデータを暗号化することがあります。データをどのような方法で暗号化/解読するのかといったことも、データをやり取りする際の表現の取り決めに分類することができます。
データの確実な伝送
ネットワークで送られるデータは、途中の経路の混雑やちょっとしたトラブルなどで、行方不明になったり、データの一部が破損したり、到着順序が狂ったりすることがあります。実際の通信でデータが足りなかったり間違っていたりしては困りますから、送信元が送ったデータが、すべて受信側に正しく届くようにするための仕組みが必要です。正しい伝送のためには、エラーの有無、データ欠落や順序の狂いなどをきちんと検出し、問題があれば再送信してもらって修復するといった処理を行わなければなりません。このようなデータ伝送の手順も、通信を行う2台の機器の間で取り決めておく必要があります。このようなエラー対応なども含めて、データを正しく送受するための規則を、伝送プロトコルといいます。
プログラムやコンピュータどうしの接続
コンピュータの上でブラウザなどのアプリケーションが動くということは、そのプログラムとサーバープログラムの間で通信が行われているということです。プログラム間での通信ができるためには、まずコンピュータ間の通信ができていなければなりません。2つの実体の間での通信を実現するというのは、ネットワークのもっとも基本となる機能です。
ネットワークの規模の拡大
イーサネットや無線LANなどのネットワークインターフェイスは、それが接続されている1つのLAN内での通信しかサポートしていません。インターネットやほかのLANに接続したりするためには、複数のネットワークを相互に接続するルーターなどの機器が必要です。さらに、ルーター類を使って複雑に結合されたネットワークにおいて、目的の相手と通信するための仕組みが必要です。そのために定められているのが、インターネットワークプロトコルです。
使用するネットワーク機器の制御
実際にネットワークを使う際には、イーサネットなどのネットワークインターフェイスを使います。これらのネットワークインターフェイスは、その方式ごとに定められた通信の手順や規約があります。例えばパケット交換ネットワークでは、データを伝送するためのパケットに宛先などを示すアドレス情報などを含める必要がありますが、それをどのような形式で組み立てるのかといった規約が必要です。また、出来上がったパケットを実際にネットワークに送るための手順なども規定しておかなければなりません。
使用する方式、電気信号、ケーブルやコネクタ形状など
当たり前のことと思いがちですが、ネットワーク機器を接続するための配線や電気信号の仕様、コネクタの形状の規定なども、ネットワーク通信を行うために必要なことです。同じネットワーク規格でも、異なる接続方式を使う場合があります。例えばイーサネットであれば、かつて使われていた同軸ケーブル、現在主流のUTPケーブル(これにも、カテゴリという分類があります)、長距離伝送に適した光ファイバがあり、当然のことながら、適合する機器とケーブル、コネクタを組み合わせる必要があります。
ここに示した内容は、ユーザーに近い部分(アプリケーション)から実際のネットワークハードウェアまで、求められる機能を分類して並べてあります。これらをすべてまとめ、1つの規約としてしまうことも不可能ではありませんが、現実的とはいえません。例えば使用するネットワークハードウェアの種類が増えた、あるいはアプリケーションを追加した場合に、1つの規約だと規約全体を変えなければなりません。しかしこのように機能単位にまとめておけば、該当する部分だけの変更や追加で済みます。例えば新たなサービスやアプリケーションを導入するのであれば、アプリケーションプロトコルを新規に追加するだけでよく、データの伝送の制御、ネットワークハードウェアの管理などに手を加える必要はありません。あるいは新たなネットワークハードウェアを導入する場合は、定められた既存の伝送方式に対応するように、そのハードウェア用のプログラムを準備するだけで済みます。このように求められる機能に応じて動作の規約や仕様を階層的に分割することで、システムの柔軟性は高まり、機能の変更、追加や拡張が容易になります。
この記事のもとになった書籍 | |
---|---|
榊 正憲 著 |
完全マスターしたい人のためのイーサネット&TCP/IP入門世の中で広く知られているイーサネットとTCP/IP、つまりインターネットや社内LANなどで、標準的に使われているネットワーク方式とプロトコルについて詳しく解説。 各項目については初歩的なレベルから解説し、中級レベルまで掘り下げています。 その過程で、仕組みや原理についてなるべく詳しく、そしてなぜそのような仕組みになっているのか、といったことを説明しています。 「これはこうなっている」という知識だけではなく、「これは何をするために、どのような原理でそうなっているのか」まで、きちんと体系立てて理解できる、ネットワーク初心者必携の1冊です。 連載期間中、電子書籍版を20%オフでご提供します!本連載の掲載に合わせて、本書籍の電子版を特別に20%オフでご提供します。興味のある方は是非ご検討ください。 クーポンコード:get3gerc※クリックすると購入ページに移動します。あらかじめクーポンコードをお控えください。 |