テクノロジー解説

OSI 参照モデル

 ネットワークの勉強を始めると、必ず「OSI参照モデル」という用語を目にします。ネットワークの世界では、その複雑な動きを分割して階層化することで、開発者の異なるシステムの互換性を高め、再利用を可能にし、開発を容易にしています。なかでも、OSI 参照モデルは、ネットワークを理解するための“プロトコル”となっています。

 ネットワーク装置や端末を提供しているのが1社だけであれば、その会社が決めたネットワーク プロトコルだけでネットワークを運用することができます。しかし、ネットワークが普及するにつれて、さまざまな機器をネットワークに接続する要求が生まれ、各社のネットワークに合わせた開発が必要になったのでした。このような問題を解決するために生まれたのが、国際標準化機構(ISO)によって制定された「開放型システム間相互接続(OSI:Open System Interconnect)」です。そして、OSIの設計方針に基づいて通信機能を分割して階層化したのが「OSI参照モデル」というわけです。7 つの階層から構成されるため、「7階層モデル」と呼ばれることもあります。

 OSI 参照モデルの概略を、次の図で説明します。各レイヤをクリックしてください。

 現在、利用されているネットワークの多くには、TCP/IP とイーサネットが使用されています。この 2 つのテクノロジーを例にして、レイヤ1からレイヤ4までの動きを見てみることにしましょう。

レイヤ1(物理層)

  もっとも簡単なネットワーク構成を考えてみましょう。2台のPCをイーサネットのクロスケーブルを使って接続します。これで、もっとも小さいネットワークが出来上がります。

 イーサネットの場合、レイヤ 1 にあたる規定は、ケーブルとコネクタです。ケーブルには、同軸ケーブル、UTP、光ファイバなどが使われます。最も古いイーサネットには同軸ケーブルが使われており、転送速度は 10Mbps でした。その後、UTP(シールドなしツイストペア)ケーブルが主流となり、伝送速度も 10 Mbps から 100 Mbps、1000 Mbps へと変わってきました。また、光ファイバでは 10 Gbps までサポートされるようになっています。

レイヤ2(データリンク層)

  イーサネットは、レイヤ 1 の技術であると同時に、レイヤ 2 もサポートします。イーサネットは、CSMA/CD(Carrier Sense Multiple Access with Collision Detection)という通信方式を採用しており、1つのノードから送出された信号は、同じイーサネットに接続されたすべてのノードに送信されます。つまり、同じイーサネットに接続されているノードは、どれもが「隣接ノード」ということになります。

 イーサネットでの通信単位は「イーサネット フレーム」と呼ばれ、ノードの識別には MAC(Media Access Control)アドレスが使われます。MAC アドレスは、6バイト(48ビット)で構成され、各ノードに装着されたネットワーク インターフェイス カードに書き込まれています。この48ビットは、IEEE(米国電気電子学会)が割り当てた 24 ビットのベンダーIDと、ベンダーで一意に割り当てる 24 ビットから構成され、常に世界で 1 つだけの番号になるようになっています。

 イーサネットの場合、1つのノードから送出された信号が同じイーサネットに接続されているすべての端末に送信され、全ノードが電気信号をイーサネットフレームに組み立て直します。そして、宛先アドレスを確認し、自分宛てのフレームなら受け取り、自分宛てでなければフレームを捨てるという処理を行います。



レイヤ3(ネットワーク層)

 レイヤ2では、同じスイッチあるいはハブに接続されている端末どうしでの通信が可能になりました。このネットワークの範囲がLAN(ローカルエリアネットワーク)となります。レイヤ3では、LANどうしの接続を実現します。つまり、ネットワークを相互接続する「インターネットワーキング」です。

 インターネットでは、IP(Internet Protocol)がレイヤ 3 のプロトコルとして使用されています。そのため、インターネットの技術を利用したネットワークのことを「IP ネットワーク」と呼ぶこともあります。

 IP で扱うデータ列は「IP パケット」と呼ばれます。また、各ノードに割り当てられるレイヤ3用のアドレスは、「IP アドレス」と呼ばれます。IP アドレスは 4 バイト(32 ビット)で構成され、どの部分をネットワーク部として扱い、どの部分をホスト部として扱うかは、最初の 3 ビットで分かるようになっています。ただし、インターネットの普及により、32 ビットでは世界中のノードに一意の IP アドレスを付けることができなくなっています。これが「IP アドレス枯渇問題」であり、サブネットマスクや NAT(Network Adress Translation)といった技術で対応してきました。しかし、このような方法は一時的な回避策でしかなく、根本的な解決にはなりません。これは、次世代の IP ネットワークである IPv6 によって解決されようとしています。

 レイヤ 3 のネットワーク装置の代表はルータです。ルータは、日本語では「LAN間接続装置」ということになります。基本的には2つのネットワークを相互接続する装置ですから、2 つのインターフェイスを持っています。インターフェイスの種類には、イーサネットのほかにも、WAN接続のためのフレームリレー、シリアル、ISDNなどがあり、ルータにどのような種類のインターフェイスが付いているかが重要となります。

 ルータの主な機能は、その名のとおりに経路(ルート)の計算です。あるネットワークから別のネットワークに到達するためには、どのような経路を選択すべきであり、受け取ったパケットをどこに転送するかを決めることです。経路計算の方法にはいくつかの種類があり、それらを「ルーティング プロトコル」と呼んでいます。ルーティング プロトコルには、RIP、OSPF、EIGRPなどがあります。

レイヤ4(トランスポート層)

 インターネットで使われているレイヤ 4 のプロトコルには、TCP(Transmission Control Protocol)や UDP(User Datagram Protocol)があります。TCP は、エラー訂正機能やフロー制御機能を提供し、信頼性の高い通信を可能にします。UDP は、エラー訂正やフロー制御の機能がなく、エラーが発生すればそのパケットは捨てるだけで、相手に届いたという保証はしません。それだけに“軽い”プロトコルであり、転送速度は速くなります。

 レイヤ 4 プロトコルとして TCP を使うか、UDP を使うかは、その上位層のプロトコルの使用目的によって異なります。たとえば、対話型アプリケーションをサポートする Telnet や、信頼性の低い伝送路を使ってデータ転送を行う FTP や HTTP には、TCP が使われています。また、主に LAN のなかで利用されるファイル共有の場合には、伝送路でのエラーが少ないこともあって、UDP が使われています。

 レイヤ 4 には、その上位層のプロトコルを識別するために使用する番号があります。これを「ポート番号」と呼んでおり、リクエストの受付窓口のような役割をします。ポート番号は、ポート番号は 0 から 65535 の数値で、0 から 1023 までを「ウェルノウン ポート」と言い、特定のプログラムに割り当てることが決まっています。例えば、FTP は 21、Telnet は 25、HTTP は 80、HTTP のセキュア版である HTTPS は 443 です。また、1024~49151はアプリケーションの開発者が使ってよいことになっており、Web サーバの公開前のテスト時などに使われることもあります。さらに 49152~65535 は自由に使えるポート番号で、クライアント側のアプリケーションにダイナミックにポート番号を割り当てるのにも使われています。

 インターネットでは、レイヤ 3 の IP、レイヤ 4 の TCP 以外にも、多くのプロトコルが利用されています。しかし、この 2 つの代表的なプロトコルの名称を使って、一連のプロトコルを TCP/IP プロトコル群と呼んでいます。TCP/IP プロトコル群に含まれるレイヤ 5 からレイヤ 7 のプロトコルの多くは、現在、1 つのプロトコルで 3 階層をまたがった機能を提供しています。このように、イーサネットや TCP/IP プロトコル群が、必ずしも OSI 参照モデルの 7 階層に合わせて設計されているわけではありません。それでも OSI 参照モデルは、TCP/IP の各プロトコルを説明するのに欠かせない道具となっているのです。

お問い合わせ