当記事では3つのプレーンとSDNについてご紹介いたします。
ネットワーク機器内部には、データプレーン、コントロールプレーン、マネージメントプレーンがあり、それぞれ異なる役割があります。
データプレーン
データプレーンは、フレーム転送やパケット転送、パケット転送時のフレームの再カプセル化、NATのアドレス変換処理、ACLによるメッセージ破棄などの処理を行います。
コントロールプレーン
コントロールプレーンでは、データプレーンの転送処理に必要な情報を収集、管理しデータプレーンに提供します。
例えば、ルーティングプロトコルのプロセスによるルーティングテーブルの構築、ARPによるARPキャッシュテーブルの構築、MACアドレステーブルの構築などです。
マネージメントプレーン
マネージメントプレーンは、ネットワークエンジニアがデバイスを管理するための仕組みを提供します。
例えば、TELNET、SSH、SNMP、Syslogなどのプロトコルが動作します。
コントローラと集中制御
■分散コントロールプレーン
従来のネットワークでは、コントロールプレーンは、各デバイスの内部で個々に動作し、必要に応じてデバイス間でメッセージを交換して情報収集を行っていました。 これを分散コントロールプレーンと呼びます。
■ 集中コントロールプレーン
SDA(Software Defined Architecture:ソフトウェア定義アーキテクチャ)では、コントールプレーンはネットワーク内の1つのデバイスまたはサーバ上で動作し、各デバイスのデータプレーンを制御します。 これを集中コントロールプレーンと呼びます。
■ コントローラ(SDNコントローラ)
集中コントロールプレーンにおいて、実際にネットワークデバイスの制御をするために動作するソフトウェアのことをコントローラ(SDNコントローラ)と呼びます。
■ SDN(Software Defined Network)
単一のソフトウェアによりネットワーク機器を集中的に制御して、ネットワーク構成や設定などを柔軟に動的に変更することができる仕組みのことです。
SDNではSDNコントローラで事前に設定するだけで、ネットワーク構成、性能、機能を動的に変更することが可能です。
SDNアーキテクチャ
SDNアーキテクチャは、3つの層とその間を結ぶ2つのインタフェースにより構成されます。
3つの層
■ アプリケーションレイヤ
ネットワークを利用するビジネスアプリケーション
■ コントロールレイヤ
アプリケーションとインフラストラクチャを切り離し、両者に透過的なネットワークサービスへのアクセスを提供するソフトウェア
■ インフラストラクチャレイヤ
ネットワーク機器やケーブルなどのネットワークデバイス
2つのインタフェース
■ ノースバウンドインタフェース(ノースバウンドAPI)
アプリケーションがネットワークサービスを利用するためのAPI
例)RESTベースAPI、JavaAPI
■ サウスバウンドインタフェース(サウスバウンドAPI)
ネットワークデバイスがコントローラに対してサービスを提供するためのAPI
例)OpenFlow、NETCONF、TELNET、SSH、SNMP
今回は、3つのプレーンとSDNについてご紹介しました。
ネットワークの構造をイメージしながら学んでいただければと思います。