I-D"SDN Layers and Architecture Terminology"読んでみた(2)
3. SDN Layers and Architecture
3. SDN Layers and Architecture Figure 1 summarizes in the form of a detailed high-level schematic the SDN architecture abstractions. Note that in a particular implementation planes can be collocated with other planes or can be physically separated, as we discuss below.
Figure 1 は上位レベルの概略図の形で SDN アーキテクチャにおける抽象化を図解している。特定の実装では、以降議論するように、プレーンがほかのプレーンと同じ場所に配置できたり、物理的に分離できたりすることに注意する。
SDN is based on the concept of separation between a controlled entity and a controller entity. The controller manipulates the controlled entity via an Interface. Interfaces, when local, are mostly API calls through some library or system call. However, such interfaces may be extended via some protocol definition, which may use local inter-process communication (IPC) or a protocol that could also act remotely; the protocol may be defined as an open standard or in a proprietary manner.
SDN は、制御されるエンティティと制御する(コントローラ)エンティティの間を分離する、という構想に基づいている。コントローラはインタフェースを通じて、制御されるエンティティを操作する。インタフェースは、ローカルの場合、通常何らかのライブラリやシステムコールを介した API コールである。しかし、そうしたインタフェースは、ローカルのプロセス間通信(inter-process communication, IPC) またはプロトコルを使って拡張できる。プロトコルはリモートで作用させることが可能で、オープン・スタンダードあるいはプロプライエタリな方法で定義される。
Day [PiNA] explores the use of IPC as the mainstay for the definition of recursive network architectures with varying degrees of scope and range of operation. RINA [RINA] outlines a recursive network architecture based on IPC which capitalizes on repeating patterns and structures. This document does not propose a new architecture--we simply document previous work through a taxonomy. Although recursion is out of scope for this work, Figure 1 illustrates a hierarchical model in which layers can be stacked on top of each other and employed recursively as needed.
Day [PiNA] は、スコープと操作の幅が様々な度合いを持つ、再帰的なネットワークアーキテクチャの定義のための主要な方法として IPC を利用することついて調査している。RINA [RINA] はパターンと構造の繰り返しを利用した IPC に基づく再帰的なネットワークアーキテクチャの概要を説明している。本書は、新しいアーキテクチャの提案を行わない――我々は分類法を通じてこれまでの取り組みを簡単に文書化する。再帰は今回の作業の範囲外だが、Figure 1 は、レイヤが互いの上に積み重ねられ、必要に応じて再帰的に使用できる、階層的なモデルを図示している。
o--------------------------------o | | | +-------------+ +----------+ | | | Application | | Service | | | +-------------+ +----------+ | | Application Plane | o---------------Y----------------o | *-----------------------------Y---------------------------------* | Network Services Abstraction Layer (NSAL) | *------Y------------------------------------------------Y-------* | | | Service Interface | | | o------Y------------------o o---------------------Y------o | | Control Plane | | Management Plane | | | +----Y----+ +-----+ | | +-----+ +----Y----+ | | | Service | | App | | | | App | | Service | | | +----Y----+ +--Y--+ | | +--Y--+ +----Y----+ | | | | | | | | | | *----Y-----------Y----* | | *---Y---------------Y----* | | | Control Abstraction | | | | Management Abstraction | | | | Layer (CAL) | | | | Layer (MAL) | | | *----------Y----------* | | *----------Y-------------* | | | | | | | o------------|------------o o------------|---------------o | | | CP | MP | Southbound | Southbound | Interface | Interface | | *------------Y---------------------------------Y----------------* | Device and resource Abstraction Layer (DAL) | *------------Y---------------------------------Y----------------* | | | | | o-------Y----------o +-----+ o--------Y----------o | | | Forwarding Plane | | App | | Operational Plane | | | o------------------o +-----+ o-------------------o | | Network Device | +---------------------------------------------------------------+ Figure 1: SDN Layer Architecture
3.1 Overview
3.1. Overview This document follows a network device centric approach: Control mostly refers to the device packet handling capability, while management typically refer to the overall device operation aspects.
本書はネットワーク機器中心のアプローチをとる: 制御は主に機器のパケット操作機能を参照するが、管理は通常、機器操作という局面全体を参照する。
We view a network device as a complex resource which contains and is part of multiple resources similar to [DIOPR]. Resources can be simple, single components of a network device, for example a port or a queue of the device, and can also be aggregated into complex resources, for example a network card or a complete network device.
我々は、ネットワーク機器をリソースの複合したもの(リソースを含み [DIOPR] と同じように複数のリソースの一部である)として見る。リソースは、単純な、ネットワーク機器のひとつのコンポーネント(たとえば機器のポートとかキューのような)にすることができる。また、複合的なリソース(たとえばネットワークカードやネットワーク機器全体のような)の中に集約されることもできる。
The reader should keep in mind throughout this document that we make no distinction between "physical" and "virtual" resources or "hardware" and "software" realizations, as we do not delve into implementation or performance aspects. In other words, a resource can be implemented fully in hardware, fully in software, or any hybrid combination in between. Further, we do not distinguish on whether a resource is implemented as an overlay or as a part/ component of some other device. In general, network device software can run on so-called "bare metal" or on a virtualized substrate. Finally, this document does not discuss how resources are allocated, orchestrated, and released. Indeed, orchestration is out of scope for this document.
読者は本書全体を通して、我々が実装や性能の側面を掘り下げていないのと同様に、"物理" と "仮想" のリソースを、または実現方法において "ハードウェア" か "ソフトウェア" かを区別していないことに留意しておくべきである。言い換えれば、リソースは、ハードウェアにも、ソフトウェアにも、それらを混在させた組み合わせについても、完全に実装することができる。さらに、我々はリソースがオーバーレイとして実装されているか、そのほかの何らかの機器のコンポーネント/パーツとして実装されているかを区別しない。
SDN spans multiple planes as illustrated in Figure 1. Starting from the bottom part of the figure and moving towards the upper part, we identify the following planes:
SDN は、Figure 1 に図示されたような複数のプレーンにわたる。図の下の部分から始めて、上の部分まで移動していくことで、我々は以下のようにプレーンを識別する:
Forwarding Plane - Responsible for handling packets in the datapath based on the instructions received from the control plane. Actions of the forwarding plane include, but are not limited to, forwarding, dropping and changing packets. The forwarding plane is usually the termination point for control plane services and applications. The forwarding plane can contain forwarding resources such as classifiers. The forwarding plane is also widely referred to as the "data plane" or the "data path".
- Forwarding Plane
- フォワーディングプレーン。データパスの中で、コントロールプレーンから受け取る命令にしたがってパケット操作をすることを受け持つ。フォワーディングプレーンの動作は、パケットの転送・破棄・変更を含むが、これだけに限定されない。フォワーディングプレーンは通常、コントロールプレーンのサービスとアプリケーションの終端点となる。フォワーディングプレーンは分類器 (? classifiers) のようなリソースを含むことができる。フォワーディングプレーンは、"データプレーン" あるいは "データパス" とも呼ばれる。
Operational Plane - Responsible for managing the operational state of the network device, e.g. whether the device is active or inactive, the number of ports available, the status of each port, and so on. The operational plane is usually the termination point for management plane services and applications. The operational plane relates to network device resources such as ports, memory, and so on. We note that some participants of the IRTF SDNRG have a different opinion in regards to the definition of the operational plane. That is, one can argue that the operational plane does not constitute a "plane" per se, but it is in practice an amalgamation of functions on the forwarding plane. For others, however, a "plane" allows to distinguish between different areas of operations and therefore the operational plane should be included as a "plane" in Figure 1. We have adopted this latter view in this document.
- Operational Plane
- オペレーショナルプレーン。ネットワーク機器の運用上の状態管理(たとえば、どの機器がアクティブ/非アクティブか、有効になっているポート番号は何番か、各ポートの状態は何か、など)を受け持つ。オペレーショナルプレーンは、通常、マネジメントプレーンのサービスまたはアプリケーションの終端点となる。オペレーショナルプレーンは、ネットワーク機器リソース(たとえばポートやメモリなどの)と関連する。ここで注意しておくのは、IRTF SDNRG の一部の参加者は、オペレーショナルプレーンの定義について異なる意見を持っているということである。(異なる見解を持つ人は)オペレーショナルプレーンはそれ自体としては "プレーン" を構成せず、実際にはフォワーディングプレーン上の機能の集合である(と主張する)。しかし、ほかの人にとっては、"プレーン" は操作(operation)の異なる領域間で区別することができ、したがって、オペレーショナルプレーンは Figure 1 に "プレーン" として含まれるべきである。
Control Plane - Responsible for taking decisions on how packets should be forwarded by one or more network devices and pushing such decisions down to the network devices for execution. The control plane usually focuses mostly on the forwarding plane and less on the operational plane of the device. The control plane may be interested in operational plane information which could include, for instance, the current state of a particular port or its capabilities. The control plane's main job is to fine-tune the forwarding tables that reside in the forwarding plane, based on the network topology or external service requests.
- Control Plane
- コントロールプレーン。ひとつ以上のネットワーク機器によって、パケットがどのように転送されるべきかを決定することを受け持ち、(パケットの転送を)実行するために、その決定をネットワーク機器へ投入する。コントロールプレーンは通常、ほとんどフォワーディングプレーンに焦点を当てる。機器のオペレーショナルプレーンに対してはそれよりも頻度が少ない。コントロールプレーンはオペレーショナルプレーンの情報(たとえば特定のポートまたは機能の現在の状態)に関心がある。コントロールプレーンの主要な仕事は、ネットワークトポロジあるいは外部のサービス要求に基づいて、フォワーディングプレーンに存在するフォワーディングテーブルの調整をすることである。
Management Plane - Responsible for monitoring, configuring and maintaining network devices, e.g. taking decisions regarding the state of a network device. The management plane usually focuses mostly on the operational plane of the device and less on the forwarding plane. The management plane may be used to configure the forwarding plane, but it does so infrequently and through a more wholesale approach than the control plane. For instance, the management plane may set up all or part of the forwarding rules at once, although such action would be expected to be taken sparingly.
- Management Plane
- マネジメントプレーン。ネットワーク機器の監視、構成変更、維持管理を受け持つ。たとえばネットワーク機器の状態にについて決定を行う。マネジメントプレーンは通常、主に機器のオペレーショナルプレーンに焦点を当て、フォワーディングプレーンについてはそれほど対象としない。マネジメントプレーンはフォワーディングプレーンを設定するために使われるが、それは、それほど頻繁にではなく、コントロールプレーンに対してよりも大規模なアプローチで行われる。たとえば、マネジメントプレーンは、フォワーディングルールのすべてまたは一部を一度にセットアップするだろう(そうした動作が慎重に行われることが期待されるとしても)。
Application Plane - The plane where applications and services that define network behavior reside. Applications that directly (or primarily) support the operation of the forwarding plane (such as routing processes within the control plane) are not considered part of the application plane. Note that applications may be implemented in a modular and distributed fashion and, therefore, can often span multiple planes in Figure 1.
- Application Plane
- アプリケーションプレーン。ネットワークの振る舞いを定義するアプリケーションとサービスが属するプレーン。直接(または主に)フォワーディングプレーンの操作をサポートするアプリケーション(コントロールプレーン中のルーティングプロセスのような)は、アプリケーションプレーンの一部とは見なされない。アプリケーションはモジュール化され、分散された形で実装することができ、よってアプリケーションはしばしば Figure 1 にあるように複数のプレーンにまたがることができる、という点に注意すること。
[RFC7276] has defined the data, control and management plane in terms of Operations, Administration, and Maintenance (OAM). This document attempts to broaden the terms defined in [RFC7276] in order to reflect all aspects of an SDN architecture.
[RFC7276] は、運用・管理・保守 (Operation, Administration, and Management: OAM) の観点からデータ、コントロール、マネジメントプレーンを定義している。本書は、SDN アーキテクチャのすべての側面を反映させるために、[RFC7276] で定義された用語を拡大することを試みている。
All planes mentioned above are connected via interfaces (as indicated with "Y" in Figure 1. An interface may take multiple roles depending on whether the connected planes reside on the same (physical or virtual) device. If the respective planes are designed so that they do not have to reside in the same device, then the interface can only take the form of a protocol. If the planes are co-located on the same device, then the interface could be implemented via an open/ proprietary protocol, an open/proprietary software inter-process communication API, or operating system kernel system calls.
上記で言及されたすべてのプレーンは、インタフェースを通して接続されている(Figure 1 の中では "Y" で図示されている)。ひとつのインタフェースは、同じ(物理または仮想の)機器に属するどのプレーンに接続しているかによって、複数の役割を持つ。もしそれぞれのプレーンが、同じ機器に属する必要がないとすると、そのインタフェースはプロトコルという形態だけをとることができる。もしプレーンが同じ機器上に配置されているのであれば、インタフェースはオープン/プロプライエタリなプロトコル(オープン/プロプライエタリなソフトウェアのプロセス間通信 API またはオペレーティングシステムのシステムカーネルのシステムコール)を介して実装されるだろう。
Applications, i.e. software programs that perform specific computations that consume services without providing access to other applications, can be implemented natively inside a plane or can span multiple planes. For instance, applications or services can span both the control and management plane and, thus, be able to use both the Control Plane Southbound Interface (CPSI) and Management Plane Southbound Interface (MPSI), although this is only implicitly illustrated in Figure 1. An example of such a case would be an application that uses both [OpenFlow] and [OF-CONFIG].
アプリケーション、すなわち、(ほかのアプリケーションへのアクセスを提供せずにサービスを消費する特定の計算を行う)ソフトウェアプログラムは、プレーンの中に直接実装する、あるいは複数のプレーンにまたがって実装することができる。たとえば、これは暗黙的に Figure 1 に示されているが、アプリケーションまたはサービスは、コントロールプレーンとマネジメントプレーンの両方にまたがることが可能であり、したがって Control Plane Soucebound Interface (CPSI) と Management Plane Soucebound Interface (MSPI) の両方を使うことができる。そうした例の一つは、[OpenFlow] と [OF-CONFIG] の両方を使うアプリケーションである。
Services, i.e. software programs that provide APIs to other applications or services, can also be natively implemented in specific planes. Services that span multiple planes belong to the application plane as well.
サービス、すなわち、API をほかのアプリケーションまたはサービスに提供するソフトウエアは、特定のプレーン中にネイティブに実装できる。複数のプレーンにまたがるサービスも同様に、アプリケーションプレーンに属している。
While not shown explicitly in Figure 1, services, applications and entire planes, can be placed in a recursive manner thus providing overlay semantics to the model. For example, application plane services can provide through NSAL services to other applications or services. Additional examples include virtual resources that are realized on top of a physical resources and hierarchical control plane controllers [KANDOO].
Figure 1 では明示的に示されていないが、サービス、アプリケーション、プレーン全体は、モデルに対してオーバーレイ処理(overlay semantics)を提供することで、再帰的な方法で配置することができる。たとえば、アプリケーションプレーン・サービスは、NSAL サービスを経由して、ほかのアプリケーションやサービスに提供することができる。ほかの例に、物理リソースと階層コントロールプレーン・コントローラのうえで実現される仮想的なリソース [KANDOO] がある。
Note that the focus in this document is, of course, on the north/ south communication between entities in different planes. But this, clearly, does not exclude entity communication within any one plane.
本書の関心は、もちろん、異なるプレーンにあるエンティティ間の north/south 通信にあることに注意すること。しかしこれは、明らかに、任意のひとつのプレーン内部におけるエンティティ同士の通信を除外するものではない。
It must be noted, however, that in Figure 1 we present an abstract view of the various planes, which is devoid of implementation details. Many implementations in the past have opted for placing the management plane on top of the control plane. This can be interpreted as having the control plane acting as a service to the management plane. Further, in many networks especially in Internet routers and Ethernet switches, the control plane has been usually implemented as tightly coupled with the network device. When taken as a whole, the control plane has been distributed network-wide. On the other hand, the management plane has been traditionally centralized and has been responsible for managing the control plane and the devices. However, with the adoption of SDN principles, this distinction is no longer so clear-cut.
ただし、注意しなければいけないのは、様々なプレーンの抽象化の観点を提示した Figure 1 の中には、実装に関する詳細が欠けていることである。過去の多くの実装が、コントロールプレーンの上にマネジメントプレーンを配置することを選択した。これは、コントロールプレーンはマネジメントプレーンに対するサービスとして動作する、と解釈することができる。
さらに、多くのネットワーク、特にインターネットルータやイーサネットスイッチでは、コントロールプレーンは通常ネットワーク機器と密結合している。全体としてみると、コントロールプレーンはネットワーク全体 (network-wide) に分散配置されている。一方、マネジメントプレーンは伝統的に集中化され、コントロールプレーンと機器の管理を受け持ってきた。しかし、SDN の原理を適用することで、こうした区別はもはや明確なものではなくなっている。
Additionally, this document considers four abstraction layers:
さらに、本書は4つの抽象化レイヤについて検討する:
The Device and resource Abstraction Layer (DAL) abstracts the device's forwarding and operational plane resources to the control and management plane. Variations of DAL may abstract both planes or either of the two and may abstract any plane of the device to either the control or management plane.
Device and resource Abstraction Layer (DAL) はコントロールプレーンとマネジメントプレーンに対して、機器のフォワーディングプレーンとオペレーショナルプレーンのリソースを抽象化する。DAL の種類によっては、両方あるいはどちらかのプレーンを抽象化するだろうし、コントロールプレーンまたはマネジメントプレーンのいずれかに対して、機器の任意のプレーンを抽象化するかもしれない。
The Control Abstraction Layer (CAL) abstracts the CP southbound interface and the DAL from the applications and services of the control plane.
Control Abstraction Layer (CAL) は、コントロールプレーンのアプリケーションとサービスから、CP サウスバウンドインタフェースと DAL を抽出する。
The Management Abstraction Layer (MAL) abstracts the MP southbound interface and the DAL from the applications and services of the management plane.
Management Abstraction Layer (MAL) は、マネジメントプレーンのアプリケーションとサービスから、MP サウスバウンドインタフェースと DAL を抽出する。
The Network Services Abstraction Layer (NSAL) provides service abstractions for use by applications and other services.
Network Service Abstraction Layer (NSAL) はアプリケーションやほかのサービスで使うためのサービス抽象化を提供する。
At the time of this writing, SDN-related activities have begun in other SDOs. For example, at the ITU work on architectural [ITUSG13] and signaling requirements and protocols [ITUSG11] has commenced, but the respective study groups have yet to publish their documents with the exception of [ITUY3300]. The views presented in [ITUY3300] as well as [ONFArch] are well aligned with this document.
これを書いている時点では、ほかの SDO*1 で SDN に関連する活動が始まっている。たとえば、ITU ではアーキテクチャについての活動 [ITUSG13] と、シグナリング要求およびプロトコルについての活動 [ITUSG11] が始まっているが、それぞれのスタディグループは ([ITUY3300] を除いて) まだドキュメントの発行には至っていない。[ITUY3300] および [ONFArch] で提示された観点は、本書と良く連携されている。
3.2. Network Devices
3.2. Network Devices A Network Device is an entity that receives packets on its ports and performs one or more network functions on them. For example, the network device could forward a received packet, drop it, alter the packet header (or payload) and forward the packet, and so on. A Network Device is an aggregation of multiple resources such as ports, CPU, memory and queues. Resources are either simple or can be aggregated to form complex resources that can be viewed as one resource. The Network Device is in itself a complex resource. Examples of Network Devices include switches and routers. Additional examples include network elements that may operate at a layer above IP, such as firewalls, load balancers and video transcoders; or below IP, such as Layer 2 switches, optical or microwave network elements.
ネットワーク機器は、パケットをポート上で受信し、ひとつ以上のネットワーク機能を実行するエンティティである。たとえば、ネットワーク機器は受信したパケットを転送したり、破棄したり、パケットヘッダ(またはペイロード)を書き換えてから転送したりできる。ネットワーク機器は複数のリソース(たとえばポート、CPU、メモリ、キューなど)を集合させたものである。リソースは、単純なものか、単一のリソースを複合させ、集約したものにできる。ネットワーク機器はそれ自体が複合的なリソースである。ネットワーク機器の例には、スイッチやルータがある。そのほかの例としては、ファイアウォール、ロードバランサ、ビデオトランスコーダ(動画変換)のように、IP レイヤ上で動作するもの、L2 スイッチや光/マイクロ波ネットワーク機器のように IP レイヤの下で動作するものなどが含まれる。
Network devices can be implemented in hardware or software and can be either physical or virtual. As has already been mentioned before, this document makes no such distinction. Each network device has a presence in a Forwarding Plane and an Operational Plane.
ネットワーク機器は、ハードウェアとしてもソフトウェアとしても実装することができ、物理あるいは仮想の機器になることができる。すでに言及したように、本書はそのような区別を行わない。各ネットワーク機器は、フォワーディングプレーンとオペレーショナルプレーンを持つ。
The Forwarding Plane, commonly referred to as the "data path", is responsible for handling and forwarding packets. The Forwarding Plane provides switching, routing, packet transformation and filtering functions. Resources of the forwarding plane include but are not limited to filters, meters, markers and classifiers.
フォワーディングプレーンは、一般に "データパス" として参照され、パケットの操作と転送を受け持つ。フォワーディングプレーンは、スイッチング、ルーティング、パケット変換、フィルタリングの機能を提供する。フォワーディングプレーンのリソースは、フィルタ、計測、識別と分類の機能を含むが、それだけに制限されるものではない。
The Operational Plane is responsible for the operational state of the network device, for instance, with respect to status of network ports and interfaces. Operational plane resources include, but are not limited to, memory, CPU, ports, interfaces and queues.
オペレーショナルプレーンは、ネットワーク機器の運用上の状態(たとえばネットワークポートやインタフェースに関する状態)を扱う。オペレーショナルプレーンのリソースは、メモリ、CPU、ポート、インタフェース、キューを含むがそれに限定されるものではない。
The Forwarding and the Operational Planes are exposed via the Device and resource Abstraction Layer (DAL), which may be expressed by one or more abstraction models. Examples of Forwarding Plane abstraction models are ForCES [RFC5812], OpenFlow [OpenFlow], YANG model [RFC6020], and SNMP MIBs [RFC3418]. Examples of the Operational Plane abstraction model include the ForCES model [RFC5812], the YANG model [RFC6020], and SNMP MIBs [RFC3418].
フォワーディングプレーンとオペレーショナルプレーンは、ひとつ以上の抽象化モデルとして提示される、機器/リソース抽象化レイヤ (DAL) を介して公開される。フォワーディングプレーンの抽象化モデルの例としては、ForCES [RFC5812]、OpenFlow [OpenFlow]、YANG モデル [RFC6020]、SNMP MIBs [RFC3418] がある。オペレーショナルプレーンの抽象化モデルの例には、ForCES モデル [RFC5812]、YANG モデル [RFC6020], SNMP MIB (RFC3418] がある。
Note that applications can also reside in a network device. Examples of such applications include event monitoring, and handling (offloading) topology discovery or ARP [RFC0826] in the device itself instead of forwarding such traffic to the control plane.
アプリケーションはネットワーク機器の中にも存在することに注意すること。そうしたアプリケーションの例としては、イベントモニタリング、トポロジディスカバリまたは ARP [RFC0826] の操作(デバイス自身に対するトラフィックをコントロールプレーンに転送する代わりにオフロードする)などがある。
3.3. Control Plane
3.3. Control Plane The control plane is usually distributed and is responsible mainly for the configuration of the forwarding plane using a Control Plane Southbound Interface (CPSI) with DAL as a point of reference. CP is responsible for instructing FP about how to handle network packets.
コントロールプレーンは通常、分散され、主にフォワーディングプレーンの設定を、Control Plane Soucebound Interface (CPSI) と参照ポイントとしての DAL を使うことで受け持つ。
Communication between control plane entities, colloquially referred to as the "east-west" interface, is usually implemented through gateway protocols such as BGP [RFC4271] or other protocols such as PCEP [RFC5440]. These corresponding protocol messages are usually exchanged in-band and subsequently redirected by the forwarding plane to the control plane for further processing. Examples in this category include [RCP], [SoftRouter] and [RouteFlow].
コントロールプレーン・エンティティ間の通信 (口頭では "east-west" インタフェースとして参照される) は、通常、BGP [RFC4271] のようなゲートウェイプロトコル、または PCEP [RFC5440] のようなほかのプロトコルを介して実装される。これらの該当するプロトコルメッセージは、通常は対域内 (in-band) で交換され、その後の処理のために、フォワーディングプレーンによってコントロールプレーンへ転送される。このカテゴリには [RCP], [SoftRouter], [RouteFlow] が含まれる。
Control Plane functionalities usually include: o Topology discovery and maintenance o Packet route selection and instantiation o Path failover mechanisms
コントロールプレーンの機能は通常、以下を含む:
- トポロジディスカバリとメンテナンス
- パケットの経路選択とインスタンス化
- パスのフェイルオーバー機構
The CPSI is usually defined with the following characteristics: o time-critical interface which requires low latency and sometimes high bandwidth in order to perform many operations in short order o oriented towards wire efficiency and device representation instead of human readability
CPSI は通常、以下の特徴で定義される:
- 大量の処理を迅速に処理するために、低遅延かつたまに広帯域であることを要求する最優先のインタフェース
- 人に対する可読性よりも帯域効率や機械可読性が指向される。
Examples include fast- and high-frequency of flow or table updates, high throughput and robustness for packet handling and events.
高速かつ高頻度な、フローまたはテーブル更新の例として、パケットおよびイベントの高スループットかつ堅牢性処理がある。
CPSI can be implemented using a protocol, an API or even interprocess communication. If the Control Plane and the Network Device are not collocated, then this interface is certainly a protocol. Examples of CPSIs are ForCES [RFC5810] and the Openflow protocol [OpenFlow].
CPSI は、プロトコルまたは同等のプロセス間通信を使って実装できる。もしコントロールプレーンとネットワーク機器が同居していないのであれば、そのときのインタフェースは確実にプロトコルになる。CPSI の例としては、ForCES [RFC5810] と OpenFlow プロトコル [OpenFlow] がある。
The Control Abstraction Layer (CAL) provides access to control applications and services to various CPSIs. The Control Plane may support more than one CPSIs.
Control Abstraction Layer (CAL) は様々な CPSI に対する制御アプリケーションやサービスへの接続方法を提供する。コントロールプレーンはひとつ以上の CPSI をサポートするだろう。
Control applications can use CAL to control a network device without providing any service to upper layers. Examples include applications that perform control functions, such as OSPF, IS-IS, and BGP.
制御アプリケーションは、ネットワーク機器を制御するために、上位レイヤに対してサービスを提供なしに CAL を使うことができる。こうした制御機能を実現するアプリケーションの例としては、OSPF, IS-IS, BGP などがある。
Control Plane service examples include a virtual private LAN service, service tunnels, topology services, etc.
コントロールプレーン・サービスの例には、仮想プライベートLANサービス(VPLS)、サービストンネル、トポロジサービスなどがある。
3.4. Management Plane
3.4. Management Plane The Management Plane is usually centralized and aims to ensure that the network as a whole is running optimally by communicating with the network devices' Operational Plane using a Management Plane Southbound Interface (MPSI) with DAL as a point of reference.
マネジメントプレーンは通常、集中化され、Management Plane Southbound Interface (MPSI) と参照ポイントとしての DAL を使って、ネットワーク機器のオペレーショナルプレーンが相互にコミュニケーションすることによって、ネットワーク全体が確実に動作しているか確認することを目的にしている。
Management plane functionalities are typically initiated, based on an overall network view, and traditionally have been human-centric. However, lately algorithms are replacing most human intervention. Management plane functionalities [FCAPS] typically include: o Fault and Monitoring management o Configuration management
マネジメントプレーンの機能は、一般的に、ネットワーク全体に対するビューに基づいて開始され、伝統的に人間中心(human-centric)だった。しかし、最近のアルゴリズムはほとんどの人的介入を置き換えた。マネジメントプレーンの機能 [FCAPS] は一般に以下のものを含む:
- 障害と監視の管理
- 構成管理
In addition, management plane functionalities may also include entities such as orchestrators, Virtual Function Managers (VNF manager) and Virtualised Infrastructure Managers, as described in [NFVArch]. Such entities can use management interfaces to operational plane resources to request and provision resources for virtual functions, as well as instruct the instantiation of virtual forwarding functions on top of physical forwarding functions. The possibility of a common abstraction model for both SDN and NFV is explored in [SDNNFV]. Note, however, that these are only examples of applications and services in the management plane and not formal definitions of entities in this document. As has been noted above, orchestration and therefore the definition of any associated entities is out of scope for this document.
さらに、マネジメントプレーンの機能性は、たとえばオーケストレータや [NFVArch] で説明されているような Virtual Function Manager*2 (VNF manager) などのエンティティを含むことがある。オペレーショナルプレーンのリソースに対して、仮想的な機能のリソースを要求し提供するために、そうしたエンティティは管理インタフェースを使うことができる。同様に、(エンティティは)物理的な転送機能の上にある仮想的な転送機能のインスタンス化を指示することができる。SDN と NFV の両方に対する、共通の抽象化モデルの実現性は [SDNNFV] で検討されている。しかしこれらは、マネジメントプレーン中にあるアプリケーションとサービスの一例であること、そして、本書ではエンティティの正式な定義をしていないことに注意する必要がある。上記ですでに指摘したように、オーケストレーションと、その結果定義される任意のエンティティ間の連携については、本書の範囲外である。
The MPSI, in contrast to the CPSI, is usually not a time-critical interface and does not share the CPSI requirements.
MPSI は、CPSIとは対照的に、通常は緊急度の高いインタフェースではなく、また CPSI の要求を共有しない。
MPSI is typically closer to human interaction than CPSI (cf. [RFC3535]) and, therefore, MPSI usually has the following characteristics: o It is oriented more towards usability, with optimal wire performance being a secondary concern o Messages tend to be less frequent than in the CPSI
MPSI は一般的に、CPSI よりも([RFC3535]参照)人との相互作用に近い。したがって、MPSI は通常、以下の特徴を持つ:
- ユーザビリティを指向し、帯域性能の最適化などは二次的な関心事になる。
- メッセージは CPSI ほど高頻度にならない傾向がある。
As an example of usability versus performance, we refer to the consensus of the 2002 IAB Workshop [RFC3535], such as that the key requirement for a network management technology is ease of use and not performance. As per [RFC6632], textual configuration files should be able to contain international characters. Human-readable strings should utilize UTF-8, and protocol elements should be in case-insensitive ASCII which require more processing capabilities to parse.
性能に対するユーザビリティの例として、2002年の IAB Workshop での合意、すなわち、ネットワーク管理技術の鍵となる要求は、性能ではなく使いやすさであるという点を参照する [RFC3535]。[RFC6632] に従って、テキストベースの設定ファイルは国際化文字を含むことができるようになっているべきである。人間が読める文字列は UTF-8 を使用すべきであり、プロトコルの要素は、解析するためにより多くの処理能力が必要な、大文字・小文字の区別をしない ASCII 文字にすべきである。
MPSI can range from a protocol, to an API or even interprocess communication. If the Management Plane is not embedded in the network device, the MPSI is certainly a protocol. Examples of MPSIs are ForCES [RFC5810], NETCONF [RFC6241], OVSDB [RFC7047] and SNMP [RFC3411].
MPSI はプロトコルからAPIあるいは同等のプロセス間通信の間に及ぶことができる。もしマネジメントプレーンがネットワーク機器に組み込まれていないのであれば、MPSI は確実にプロトコルとなる。MPSI の例として、ForCES [RFC5810], NETCONF [RFC6241], OVSDB [RFC7047], SNMP [RFC3411] がある。
The Management Abstraction Layer (MAL) provides access to management applications and services to various MPSIs. The Management Plane may support more than one MPSI.
Management Abstraction Layer (MAL) は、様々な MPSI へ、管理アプリケーションとサービスへの接続方法を提供する。マネジメントプレーンはひとつ以上の MPSI をサポートするだろう。
Management Applications can use MAL to manage the network device without providing any service to upper layers. Examples of management applications include network monitoring, fault detection and recovery applications.
マネジメント・アプリケーションは、上位レイヤに対して何もサービスを提供することなく、ネットワーク機器を管理するために MAL を使うことができる。管理アプリケーションの例には、ネットワークの監視、障害検知と復旧のアプリケーションがある。
Management Plane Services provide access to other services or applications above the Management Plane.
マネジメントプレーン・サービスは、マネジメントプレーン上のほかのサービスまたはアプリケーションに対して接続方法を提供する。
3.5. Control and Management Plane Discussion
3.5. Control and Management Plane Discussion The definition of a clear distinction between "control" and "management" in the context of SDN received significant community attention during the preparation of this document. We observed that the role of the management plane has been earlier largely ignored or specified as out-of-scope for the SDN ecosystem. In the remainder of this subsection we summarize the characteristics that differentiate the two planes in order to have a clear understanding of the mechanics, capabilities and needs of each respective interface.
SDN の文脈において、"コントロール" と "マネジメント" の明確な区別の定義は、本書の準備の間ずっと、コミュニティの重要な注目を集めた。我々は、マネジメントプレーンの役割は、以前の大部分が無視された、または、SDN エコシステムにおいて範囲外として指定されていることを観察した。この節の残りの部分では、構造、機能、各インタフェースのニーズについて明確な理解を得るために、その二つのプレーンの違いを生じさせる特徴をまとめる。
3.5.1. Timescale A point has been raised regarding the reference timescales for the control and management planes. That is, how fast is the respective plane required to react, or needs to manipulate, the forwarding or operational plane of the device. In general, the control plane needs to send updates "often", which translates roughly to a range of milliseconds; that requires high-bandwidth and low-latency links. In contrast, the management plane reacts generally at longer time frames, i.e. minutes, hours or even days, and thus wire-efficiency is not always a critical concern. A good example of this is the case of changing the configuration state of the device.
3.5.1. Timescale
コントロールプレーンとマネジメントプレーンに対する時間的尺度(timescale)の基準に関してポイントが提起されている。すなわち、各プレーンが反応するために要求される速さはどの程度か、あるいは、機器のフォワーディングプレーンやオペレーショナルプレーンを操作するために必要な速さはどの程度か、という点について。一般的に、コントロールプレーンは "たびたび" アップデートを送信する必要がある。アップデートはおおよそミリ秒の範囲で変換され、広帯域・低遅延のリンクを必要とする。対照的にマネジメントプレーンは、一般的により長い時間範囲(time frames)、すなわち数分、数時間、数日の範囲で反応する。そのため、帯域の効率は、常に重大な関心事ではない。こうした事例のよい例は、機器の設定状態を変更することである。
3.5.2. Persistence Another distinction between the control and management planes relates to state persistence. A state is considered ephemeral if it has a very limited lifespan. A good example is determining routing, which is usually associated with the control plane. On the other hand, a persistent state has an extended lifespan which may range from hours to days and months and is usually associated with the management plane. Persistent state is also usually associated with data store of the state.
3.5.2. Persistence
コントロールプレーンとマネジメントプレーン間のもうひとつの違いは、状態の持続性(persistence)と関係している。もし状態がごく限定された存続時間を持つのであれば、状態は一時的と見なせる。よい例は、通常コントロールプレーンに関連づけられている、ルーティングを決定することである。一方では、数時間・数日・月単位を超えるような存続時間を持つ持続性のある状態は、通常マネジメントプレーンと関連している。持続的な状態はまた、状態のデータストアとも関連している。
3.5.3. Locality As mentioned earlier, traditionally the control plane has been executed locally on the network device and is distributed in nature whilst the management plane is usually executed in a centralized manner, remotely from the device. However, with the advent of SDN centralizing, or "locally centralizing" the controller tends to muddle the distinction of the control and management plane based on locality.
3.5.3. Locality
先に言及したように、伝統的にコントロールプレーンはネットワーク機器上で局所的に実行され、実際には分散される。一方、マネジメントプレーンは集中的な方法で、機器に対してリモートで実行される。しかし、SDN による集中化の登場で、または "局所的な集中化" により、コントローラは、コントロールプレーンとマネジメントプレーン間の局所性に基づく区別を混在させる傾向がある。
3.5.4. CAP Theorem Insights The CAP theorem views a distributed computing system as composed of multiple computational resources (i.e., CPU, memory, storage) that are connected via a communications network and together perform a task. The theorem, or conjecture by some, identifies three characteristics of distributed systems that are universally desirable: o Consistency, meaning that the system responds identically to a query no matter which node receives the request (or does not respond at all) o Availability, i.e. that the system always responds to a request (although the response may not be consistent or correct) o Partition tolerance, namely that the system continues to function even when specific nodes or the communications network fail.
3.5.4. CAP Theorem Insights
CAP定理は、分散コンピューティング・システムを、複数の計算機リソース(たとえば CPU、メモリ、ストレージ)から成るものと見なす。それは、通信網を介して接続されており、総合してタスクを実行する。定理(または推論)は、普遍的な価値のある、分散システムの3つの特徴を特定する:
- 一貫性(consistency)、システムは問い合わせに対して、どのノードが要求を受信したかにかかわらず、等しく応答する(または全く応答しない)こと。
- 可用性(availability)、すなわち、システムは常に要求に対して応答すること(応答が一貫していない、あるいは正しくないとしても)。
- 分断耐性(partition tolerance)、つまり、特定のノードまたは通信網が障害を起こしたとしても、システムは機能を継続すること。
In 2000 Eric Brewer [CAPBR] conjectured that a distributed system can satisfy any two of these guarantees at the same time, but not all three. This conjecture was later proven by Gilbert and Lynch [CAPGL] and is now usually referred to as the CAP theorem [CAPFN].
2000年に、Eric Brewer [CAPBR] は、分散システムはこれら3つの特徴のうち、任意の2つを同時に満たすことは可能だが、3つすべてを満たすことはできない、と予想した。この予想は後日 Gilbert と Lynch [CAPGL] によって証明され、現在は CAP定理 [CAPFN] として参照されている。
Forwarding a packet through a network correctly is a computational problem. One of the major abstractions that SDN posits is that all network elements are computational resources that perform the simple computational task of inspecting fields in an incoming packet and deciding how to forward it. Since the task of forwarding a packet from network ingress to network egress is obviously carried out by a large number of forwarding elements, the network of forwarding devices is a distributed computational system. Hence, the CAP theorem applies to forwarding of packets.
ネットワークを通してパケットを正しく転送することは、計算の問題である。SDN が仮定する主要な抽象化のひとつは、すべてのネットワーク構成要素が、入ってくるパケットの中のフィールドを検査し、転送する方法を決定する、シンプルな計算タスクを実行する計算機リソースである、ということだ。ネットワークの入り口(ingress)から出口(egress)へパケットを転送するというタスクは、明らかに多数のパケット転送要素によって実行されるので、パケット転送機器のネットワークは分散された計算機システムとなる。よって、CAP 定理はパケットの転送に適用される。
In the context of the CAP theorem, if one considers partition tolerance of paramount importance, traditional control plane operations are usually local and fast (available), while management plane operations are usually centralized (consistent) and may be slow.
CAP定理の文脈で、分散耐性が最重要だと考えるのであれば、伝統的なコントロールプレーン操作は通常ローカルかつ高速(可用性がある)であり、一方マネジメントプレーンの操作は通常集中化され(一貫性がある)、低速になるだろう。
The CAP theorem also provides insights into SDN architectures. For example a centralized SDN controller acts as a consistent global database, and specific SDN mechanisms ensure that a packet entering the network is handled consistently by all SDN switches. The issue of tolerance to loss of connectivity to the controller is not addressed by the basic SDN model. When an SDN switch cannot reach its controller, the flow will be unavailable until the connection is restored. The use of multiple non-collocated SDN controllers has been proposed (e.g., by configuring the SDN switch with a list of controllers); this may improve partition tolerance, but at the cost of loss of absolute consistency. Panda et al. [CAPFN] provide a first exploration of how the CAP theorem applies to SDN.
CAP定理は、SDN アーキテクチャについての考察をも提供する。たとえば、集中型の SDN コントローラは、一貫性のあるグローバルデータベースとして動作し、特定の SDN 機構はネットワークに入力されたパケットはすべての SDN スイッチによって一貫して処理されることを保証する。コントローラとの接続を失うことに対する耐性の問題は、基本的な SDN モデルでは取り扱われない。SDN スイッチがコントローラへ接続できなくなる場合、その接続が復元されるまでフローは利用できなくなるだろう。配置の異なる複数の SDN コントローラを使うことが提案されている(たとえば SDN スイッチがコントローラのリストを持つように設定される); これは分断耐性を向上させるが、確実な一貫性を失うという犠牲を払う。Panda ら [CAPFN] は SDN に対して CAP 定理をどのように適用するかに関する最初の調査を提供している。
3.6. Network Services Abstraction Layer
3.6. Network Services Abstraction Layer The Network Services Abstraction Layer (NSAL) provides access from services of the control, management and application planes to other services and applications. We note that the term SAL is overloaded, as it is often used in several contexts ranging from system design to service-oriented architectures, therefore we explicitly add "Network" to the title of this layer to emphasize that this term relates to Figure 1 and we map it accordingly in Section 4 to prominent SDN approaches.
Network Services Abstraction Layer (NSAL) は、コントロールプレーン、マネジメントプレーン、アプリケーションプレーンのサービスから、ほかのサービスまたはアプリケーションへの接続を提供する。我々は、SAL という用語がオーバーロードされていることに注意する。それはしばしば、システム設計からサービス指向アーキテクチャの範囲の、いくつかの文脈で使用される。したがって我々は、この語は Figure 1 と関連していることを強調するために、このレイヤのタイトルに明示的に "ネットワーク" を加え、4章でそれを重要な SDN アプローチへマッピングする。
Service Interfaces can take many forms pertaining to their specific requirements. Examples of service interfaces include but are not limited to, RESTful APIs, open protocols such as NETCONF, inter- process communication, CORBA [CORBA] interfaces, and so on. The two leading approaches for service interfaces are RESTful interfaces and RPC interfaces. Both follow a client-server architecture and use XML or JSON to pass messages but each has some slightly different characteristics.
サービスインタフェースは、それらの特定の要求にふさわしい、多くの形式をとることができる。サービスインタフェースの例は、RESTful API、NETCONF のようなオープンプロトコル、CORBA [CORBA] インタフェース等を含むが、これに限定されるわけではない。サービスインタフェースの二つの主要なアプローチは、RESTful インタフェースと RPC インタフェースである。両方ともクライアント・サーバ型のアーキテクチャを採っており、メッセージをやりとりするために、それぞれ特徴が若干異なる XML または JSON を使う。
RESTful interfaces, designed according to the representational state transfer design paradigm [REST], have the following characteristics: o Resource identification - individual resources are identified using a resource identifier, for example a URI. o Manipulation of resources through representations - Resources are represented in a format like JSON, XML or HTML. o Self-descriptive messages - Each message has enough information to describe how the message is to be processed. o Hypermedia as the engine of application state - a client needs no prior knowledge of how to interact with a server, not through a fixed interface.
RESTful インタフェースは、REpresentational State Transfer (REST) 設計パラダイム [REST] に準じて設計されており、以下のような特徴を持つ:
- リソース識別
- 個々のリソースは、(URIのような)リソース識別子によって識別される。
- 表現によるリソースの操作
- リソースは JSON, XML, HTML などの形式で表現される。
- 自己記述可能なメッセージ
- 各メッセージは、メッセージが処理される方法を記述するのに十分な情報を持つ。
- アプリケーション状態のエンジンとしてのハイパーメディア
- クライアントは、サーバと対話する方法の事前知識を必要とせず、固定されたインタフェースを介さない。
Remote procedure calls (RPC), e.g. [RFC5531], XML-RPC and the like, have the following characteristics: o Individual procedures are identified using an identifier o A client needs to know the procedure name and the associated parameters
たとえば [RFC5531]、XML-RPC などのリモートプロシジャコール (RPC)は、以下の特徴を持つ:
- 個々のプロシジャは識別子を使うことで識別される。
- クライアントはプロシジャの名前と関連するパラメタを知る必要がある。
3.7. Application Plane
3.7. Application Plane Applications and services that use services from the control and/or management plane form the Application Plane.
コントロールプレーンあるいはマネジメントプレーンのサービスを使う、アプリケーションとサービスは、アプリケーションプレーンを形成する。
Additionally, services residing in the Application Plane may provide services to other services and applications that reside in the application plane via the service interface.
加えて、アプリケーションプレーン中のサービスは、サービスインタフェースを経由するアプリケーションプレーン中に「存在する、ほかのサービスやアプリケーションにサービスを提供する。
Examples of applications include network topology discovery, network provisioning, path reservation, etc.
アプリケーションの例は、ネットワークトポロジディスカバリ、ネットワークプロビジョニング、パス予約などがある。