レイヤ構造とノード

ネットワークシステムは、さまざまな機能を提供する機器より構成されます。それら機器が提供する機能の例として、Hubによる電気信号の中継や、Switchによるスイッチング、ルータによるIPルーティング、Webサーバによるサービス提供などがあります。それぞれの機器が持つ機能をOSI参照モデルに照らし合わせると、例えばSwitchによるスイッチングはレイヤ2、ルータによるIPルーティングはレイヤ3での経路制御を行うものであることが分かります。同時に、Webサーバへのアクセスを行うクライアントから見たレイヤ7でのサーバ-クライアント通信では、途中にあるルータやスイッチングハブを意識することはありません。このように、ネットワークシステム内の各機器が提供する機能により、各レイヤ毎に論理ネットワークを組むことができます。

レイヤ定義

そこで本モデルでは、機能面で識別するための「レイヤ」概念を取り入れます。本モデルにおけるレイヤはOSI参照モデルにおけるレイヤの概念と近いものですが、ネットワークシステムで用いられうる機能すべてを過不足なく表現するために5つのレイヤに分類しました。 Layer1は物理的な筐体、Layer2はイーサネットレイヤ、Layer3はIPレイヤ、Layer4はTCP/UDPレイヤと定義し、最後に抽象サービスレイヤとしてLayer5を定義しました。なお、ここでいうサービスとは、HTTPやSMTP、DNSなどを指しています。

そして、各レイヤにおけるネットワーク機能として認識可能なIDを「ノード」と定義します。ノードは、当該レイヤにおいて通信の始点・終点または中継点となるものです。始点・終点は、通信のあて先・送信元により決められるものであり、Layer1(以降L1)で言えば電気信号を送るケーブルの両端、L2ではMACアドレスにより定められ、L3ではIPアドレス、L4ではポート番号、L5では抽象サービスとなっています。中継点は、それら始点・終点間の通信を、当該レイヤでのあて先・送信元情報にしたがって通信路を決定・中継するノードであり、Switching機能におけるあて先MACアドレスにしたがった通信ポートの決定などがそれにあたります。

モジュール

サービス提供モジュール

複数のレイヤにまたがったノードにより提供される機能を「モジュール」と定義します。スイッチやルータなどの機器はモジュールで表現されます。そしてモジュールはその機能により2つに大別されます。1つはサービス提供モジュールであり、もう1つは中継モジュールです。サービス提供モジュールはさらに「Service」「Internet」の2つに分けられます。ServiceはWebサーバやDNSサーバ、SMTPサーバなど、サービスを提供するモジュールです。Internetはサービス提供モジュールの特殊ケースであり、すべての通信の原点となるものです。

中継モジュールは、各レイヤでの中継を実現するモジュールであり「Layer 1 Relay(L1R)」「Layer 2 Relay(L2R)」「Layer 3 Relay(L3R)」「Layer 4 Relay(L4R)」の4種類があります。 L1Rはたとえば、Hub機能がそれにあたります。またL2RではSwitching機能、L3Rはルーティング機能であり、L4RはNAPT機能、L5Rはプロキシ機能などが該当します。

  • サービス提供モジュール
    • Service(S)
    • Internet(I)
  • 中継モジュール
    • Layer 1 Relay(L1R)
    • Layer 2 Relay(L2R)
    • Layer 3 Relay(L3R)
    • Layer 4 Relay(L4R)
    • Layer 5 Relay(L5R)

基本的なモジュールとノードの関係として、各モジュールは必ずL1に1つのノードを持つと決めます。L2以上のノードに関しては、モジュールの機能により 変化します。たとえばL1Rの場合、L2以上では通信の始点・終点・中継点のどの機能も果たさないため、L2以上ではノードを持たないモジュールとなりま す。同じくL2Rでは、L2で中継機能を果たすためにL2にノードを持ちます。その個数はモジュール自身が持つMACアドレス数やNIC数により決定されます。しかしL3以上では通信に直接の参加はしないためにノードを持ちません。 L3Rでは、モジュールが持つIPアドレス数に従いL3ノードの数が決まります。また、L2ではL3ノード数に応じたノードが配置されます。また単一モジュールの同一レイヤ内で複数のノードを持つ場合に、該当するレイヤにおいてそのモジュールが経路制御を行う場合に、モジュール内での同一レイヤ内リンクが発生します。これは、L3RのL3などがそれにあたります。

リンク

それぞれのノードは「リンク」によって接続されます。リンクは

  1. 同一モジュールに所属するノード間のリンク
  2. 異なるモジュールに所属するノードの同一レイヤ間のリンク

という2つの種類が存在します。

2種類のリンク

1つ目のリンクは、各モジュール内におけるノードの依存関係を示すものであり、直接の通信は行われませんがこのリンクを媒介して情報を届けることが可能です。異なるレイヤ間のリンクと、同一レイヤ内のリンクがあります。2つ目のリンクは、各レイヤでの通信を表すものであり、直接の通信がなされるところです。ただし例外として、L5については抽象化された上位サービスを表すレイヤであるために、このレイヤのリンクを通して直接の通信は行われません。