前回は、クラウドについてその概要を皆さんに紹介しました。今回は、コンピュータネットワーク間で通信をするためのさまざまな「約束事」について説明していきます。また、データが送り出されてから最終目的地へとデータが届くまで、その一連の流れも確認していきましょう。
プロトコルとは
ネットワークの勉強を始めると「プロトコル」という言葉に必ず遭遇します。Webサイトなどで「プロトコルとは何か?」と検索すると、「『手順』や『規約』を示すもの」と解説されています。言葉だけでは分かりづらいので、イメージしやすいように身近な例で考えてみましょう。
例えば、固定電話から誰かに電話をかけるとき、 以下の手順に沿った動作をします。
「受話器を上げる」⇒「発信音を確かめる」⇒「相手の電話番号をダイヤルする」
その後、相手が応答したことを確認して「もしもし?」と会話を始めます。つまり、この一連の動作が電話をかけるための「プロトコル」と言えます。
コンピュータ間で通信を行う時も同様です。相手との通信が成り立つように、さまざまな手順・約束事が取り決められています。
例えば、「データの形はどうするか」「どのように信号を送るか」「通信をするタイミングをどうやって決めるか」「通信が終わったことを誰に対してどう伝えるのか」など、細かなルールが決められています。この手順・約束事があることで、データを送る側の機器と、データを受け取る側の機器との間で、正しく通信を行うことができます。
標準化の重要性
通信をする上でさまざまな約束事が取り決められているプロトコルですが、もう一つ考えなければならないことがあります。それは、さまざまなベンダーがネットワーク機器を製造していることです。
過去には、ベンダーごとに独自で通信プロトコルの開発を進めていたため、データを送る際の「データの形式」「データの構造」などが異なっていました。そのためネットワークを作る際に、特定ベンダーの製品だけでネットワークを構成する必要がありました。これは、他社製品が混在すると、通信プロトコルが異なるため正常な通信を行えなかったからです。
しかし、現在のコンピュータネットワークでは、異なるベンダーの製品間でも通信が実現できています。なぜでしょうか。
それは、「標準化」の活動によって異なるベンダーのネットワーク機器であっても、通信が問題なく行えるようプロトコルを統一してきたからです。
その標準化を行っている団体の一つにISO(International Organization for Standardization)/国際標準化機構)があります。この活動の中で定めたOSI参照モデルは、現代でも根強く浸透しています。それでは、コンピュータネットワークの世界において、通信を行うための動作を体系化したOSI参照モデルについて見ていきましょう。
OSI参照モデルとは
OSI参照モデルは、コンピュータネットワークで通信するための必要な機能を分かりやすく図式化したものです。7つの階層で分けられており、階層ごとにそれぞれ役割が定められています。
OSI参照モデルがあることで、以下のような利点があります。
- 階層ごとに機能を分けたことで、ネットワーク設計者やアプリケーション開発者が階層ごとの役割を理解しやすい
- 標準化されているため、各ベンダーの製品やプロトコルを組み合わせて設計や構築が可能である
- プログラム開発や改修が容易である
- 階層が分かれていることで、ネットワークに障害が起きたとき問題の早期切り分けと解決が可能になる
では、OSI参照モデルを学習するメリットを知ったうえで、各階層の役割を確認していきましょう。7つの階層で構成されているため、下から順番にレイヤ1、レイヤ2などと呼ばれることもありますし、各階層に決められた名前(物理層、データリンク層など)で呼ばれることもあります。レイヤ1から順番に役割を見ていきましょう。
レイヤ1(物理層)
ケーブルなどのコネクタの形状や規格などを定め、機器同士の物理的な接続を実現します。また、データを各種の信号に変換することや、その信号の伝達方法なども定めています。
レイヤ2(データリンク層)
同一ネットワーク内で接続されたコンピュータ間の通信方法を定めています。同一ネットワークに接続されている機器同士で相手を識別するためのアドレスを定めており、データが正しく相手に送られたかどうか、物理層で発生するエラーを検出する機能も提供されています。
レイヤ3(ネットワーク層)
複数のネットワークをまたいで、通信の開始地点(送信元)から最終の目的地点(宛先)までデータを運んでいきます。これら送信元・宛先を識別するためのアドレス定義や、宛先に向かうためにどの経路をたどれば良いのかを選択する役割も担っています。
レイヤ4(トランスポート層)
通信を行っているアプリケーション(ソフトウェア)の識別や、データが正しい状態で宛先に届けられているかを確認する機能を定めて通信の信頼性を高めています。
レイヤ5(セッション層)
通信が開始されてから終了するまで通信路の確保と管理を行っています。通信が開始されたら通信路を開く(セッションの確立)、通信が終了したら通信路を閉じる(セッションの解放)ことで、相手との通信手段を確保しています。
レイヤ6(プレゼンテーション層)
これから送るデータが一体何を示すものなのか、データの表現形式を定めています。例えば、0と1の2進数の羅列でデータが写真なのか、動画なのか、文章データなのかといった識別を行っています。
レイヤ7(アプリケーション層)
ネットワークを利用しているユーザーが通信を開始するよう、コンピュータに働きかけるためのインタフェースの役割を担います。Webブラウザであれば、Web用の通信を開始する、電子メールを送るのであれば、メール送信用の通信を開始するようにユーザーの通信要求をアプリケーションが受け付けています。
TCP/IPプロトコルスイートとは
TCP/IPプロトコルスイート(以下TCP/IP)は、インターネットで通信するために標準化されたプロトコルを総称した呼び方です。IETF(Internet Engineering Task Force)という標準化団体によって定められています。
インターネット接続を行うコンピュータには、このTCP/IPが必要不可欠です。TCP/IPにおいて通信するための必要な機能を分かりやすく図式化した階層モデルの考え方があります。
TCP/IPは4つの階層で分けられています。さまざまなプロトコルを役割に応じて分類してみると、以下の図のようになります。各プロトコルがどの階層で動作するのかを理解していれば、そのプロトコルの目的が分かります。
データ単位の呼び方
ここでは、TCP/IP通信において、各層で取り扱うデータ単位を確認していきましょう。
まず、データを送り出す送信元の機器は、上位の階層から順番に下位の階層へ向けて処理を進めていきます。各層にデータが渡されて、階層ごとにヘッダーが付与されます。ヘッダーには各層で処理するために必要となる制御情報が入っています。
各層で付与されたデータは「PDU(Protocol data Unit)」と呼ばれ、それぞれの階層でデータ単位の呼び方が変わっています。データリンク層では「フレーム」、インターネット層では「パケット」、トランスポート層では「セグメント」という言葉が用いられます。
このように、コンピュータネットワークでは、通信するためのさまざまな「約束事」が決められており、それらに基づいて情報がやり取りされているのです。
まとめ
・通信を行うための必要な手順・約束事を「プロトコル」という
・プロトコルごとにさまざまな役割が定義されており、複数のプロトコルで1つの通信体系を構成している。これを「プロトコルスイート」と呼ぶ
・異なったベンダー製品同士でも通信が行えるように「標準化」が進められた
・コンピュータネットワークに必要な機能を図式化した「OSI参照モデル」が策定されている
次回は、紹介したOSI参照モデルの第1層である物理層が果たしている役割を紹介していきます。
著者プロフィール
大谷 星佳(おおたに せいか)
ネットワンシステムズ株式会社
ビジネス開発本部イノベーション推進部ネットワークアカデミーチーム所属
2020年ネットワンシステムズ入社。シスコシステムズ社認定インストラクター資格を取得し、社内外に向けて、主にネットワーク分野の研修を提供。初心者に向けての研修を得意としている。弊社が取り組む大学との共同開発カリキュラム提供では、実行担当者として産学連携の活動もしている。また、近年増加しているオンライン研修の品質向上を目指し、研修方式の調査・改善に取り組んでいる。