I-D"SDN Layers and Architecture Terminology"読んでみた(1)

注意事項

  • 元文書はこれ:
  • 用語や基本的なモデルの定義と整理、周辺技術サーベイの基礎的なドキュメントとして有用だと思うので、英語のトレーニングというのもかねて読んでみました。兼トレーニングなので、なるべく本文の字義通りになるようにしたつもりですが、変に直訳調だったりで、わかりやすい形にはなってないと思われます。もうちょっと正直にいうと、正確に意味を理解し切れてないところも多々あるので正しい解釈になってるかどうか怪しいところが結構あります。
  • ページヘッダ部分が邪魔だったので削ってます。
    • 訳文間に入れた時点で印刷レイアウト考慮に入れても仕方がないので、見やすさ重視にしてます。

[追記 2014/10/20]

  • 10/15 に draft-irtf-sdnrg-layer-terminology-03 が出たのに気づいておらず -02 でやってたけど、(1) 公開直後に -03 が出ていることに気づいた……ので -03 に更新します。まあ大して差分なかったし。
  • まだ draft だから変更あるだろうけど……まあ気が向いたら更新するかもしれない。

[追記ここまで]

Abstract

SDNRG                                                 E. Haleplidis, Ed.
Internet-Draft                                      University of Patras
Intended status: Informational                       K. Pentikousis, Ed.
Expires: April 18, 2015                                             EICT
                                                              S. Denazis
                                                    University of Patras
                                                           J. Hadi Salim
                                                       Mojatatu Networks
                                                                D. Meyer
                                                                 Brocade
                                                          O. Koufopavlou
                                                    University of Patras
                                                        October 15, 2014


                SDN Layers and Architecture Terminology
                 draft-irtf-sdnrg-layer-terminology-03

Abstract

   Software-Defined Networking (SDN) refers to a new approach for
   network programmability, that is, the capacity to initialize,
   control, change, and manage network behavior dynamically via open
   interfaces.  SDN emphasizes the role of software in running networks
   through the introduction of an abstraction for the data forwarding
   plane and, by doing so, separates it from the control plane.  This
   separation allows faster innovation cycles at both planes as
   experience has already shown.  However, there is increasing confusion
   as to what exactly SDN is, what is the layer structure in an SDN
   architecture and how do layers interface with each other.  This
   document, a product of the IRTF Software-Defined Networking Research
   Group (SDNRG), addresses these questions and provides a concise
   reference for the SDN research community based on relevant peer-
   reviewed literature, the RFC series, and relevant documents by other
   standards organizations.

Software-Defined Networking (SDN) はネットワークのプログラム可能性のための新しいアプローチに注意を向ける。ネットワークのプログラム可能性とはつまり、オープンインタフェースを通して、ネットワークのふるまいを動的に初期化・制御・変更・管理するための能力である。SDNは、稼働しているネットワークにおいて、データフォワーディングプレーンを抽象化し、フォワーディングプレーンとコントロールプレーンを分離することによって、ソフトウェアの役割を強調する。これまでの事例を通して実証されているように、この分離はより速いイノベーションサイクルを、両方のプレーンにおいて実現する。しかし、そこには、SDNとは厳密には何か、SDNにおけるレイヤ構造とは何か、レイヤ・インタフェースにおいてそれぞれは何をすべきか、…についての混乱がある。IRTF Software-Defined networking Research Group (SDNRG) の成果物である本書では、これらの疑問に注意を向け、SDN研究コミュニティのために、相互レビューされた関連文献、一連のRFC、そのほかの標準化団体による関連文書に基づいた簡潔な参照を提供する。

Status of This Memo and Copyright Notice

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 18, 2015.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  SDN Layers and Architecture . . . . . . . . . . . . . . . . .   6
     3.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   7
     3.2.  Network Devices . . . . . . . . . . . . . . . . . . . . .  11
     3.3.  Control Plane . . . . . . . . . . . . . . . . . . . . . .  12
     3.4.  Management Plane  . . . . . . . . . . . . . . . . . . . .  13
     3.5.  Control and Management Plane Discussion . . . . . . . . .  14
       3.5.1.  Timescale . . . . . . . . . . . . . . . . . . . . . .  15
       3.5.2.  Persistence . . . . . . . . . . . . . . . . . . . . .  15
       3.5.3.  Locality  . . . . . . . . . . . . . . . . . . . . . .  15
       3.5.4.  CAP Theorem Insights  . . . . . . . . . . . . . . . .  15
     3.6.  Network Services Abstraction Layer  . . . . . . . . . . .  16
     3.7.  Application Plane . . . . . . . . . . . . . . . . . . . .  17
   4.  SDN Model View  . . . . . . . . . . . . . . . . . . . . . . .  18
     4.1.  ForCES  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     4.2.  NETCONF/YANG  . . . . . . . . . . . . . . . . . . . . . .  19
     4.3.  OpenFlow  . . . . . . . . . . . . . . . . . . . . . . . .  19
     4.4.  Interface to the Routing System . . . . . . . . . . . . .  20
     4.5.  SNMP  . . . . . . . . . . . . . . . . . . . . . . . . . .  21
     4.6.  PCEP  . . . . . . . . . . . . . . . . . . . . . . . . . .  21
     4.7.  BFD . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
   5.  Summary . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
   6.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  23
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  23
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  24
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  24
   10. Informative References  . . . . . . . . . . . . . . . . . . .  24
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  32

1. Introduction

1.  Introduction

   Software-Defined Networking (SDN) is a term of the programmable
   networks paradigm [PNSurvey99][OF08].  In short, SDN refers to the
   ability of software applications to program individual network
   devices dynamically and therefore control the behavior of the network
   as a whole [NV09].  Boucadair and Jacquenet [RFC7149] point out that
   SDN is a set of techniques used to facilitate the design, delivery
   and operation of network services in a deterministic, dynamic, and
   scalable manner.

Software-Defined Networking (SDN) は、プログラム可能なネットワークのパラダイム(理論的枠組み)を表す用語である[PNSurvey99][OF08]。つまり、SDN はソフトウェア・アプリケーションが個々のネットワーク機器を動的にプログラムし、その結果ネットワーク全体のふるまいを制御するための能力を指す[NV09]。Boucadair と Jacquenet [RFC7149] は、SDN は設計を容易にし、決定論的・動的・拡張可能な方法でネットワークサービスの運用とサービスデリバリを行うために使われる技術の集合である、と指摘している。

   A key element in SDN is the introduction of an abstraction between
   the (traditional) forwarding and control planes in order to separate
   them and provide applications with the means necessary to
   programmatically control the network.  The goal is to leverage this
   separation, and the associated programmability, in order to reduce
   complexity and enable faster innovation at both planes [A4D05].

SDN の鍵となる要素は、(伝統的な)フォワーディングプレーンとコントロールプレーンを分離し、プログラム的にネットワークを制御するために必要な手段を提供するための、プレーン間の抽象化の導入である。その目的は、複雑さを軽減し、速いイノベーションを両方のプレーンで可能にするために、このレイヤ分離と付随するプログラム可能性を活用することである[A4D05]。

   The historical evolution of the programmable networks R&D area is
   reviewed in detail in [SDNHistory][SDNSurvey], starting with efforts
   dating back to the 1980s.  As Feamster et al.  [SDNHistory] document,
   many of the ideas, concepts and concerns are applicable to the latest
   R&D in SDN, and SDN standardization we may add, and have been under
   extensive investigation and discussion in the research community for
   quite some time.  For example, Rooney et al.  [Tempest] discuss how
   to allow third-party access to the network without jeopardizing
   network integrity, or how to accommodate legacy networking solutions
   in their (then new) programmable environment.  Further, the concept
   of separating the control and forwarding planes, which is prominent
   in SDN, has been extensively discussed even prior to 1998
   [Tempest][P1520], in SS7 networks [ITUSS7], Ipsilon Flow Switching
   [RFC1953][RFC2297] and ATM [ITUATM].

1980 年代からのプログラム可能なネットワークについての研究開発の領域に関する歴史的な変遷は、[SDNHistory][SDNSurvey] で詳細に考察されている。Feamster ら [SDNHistory] によると、アイデア・概念・関心事の多くは、最新の SDN に関する研究開発や我々が加えようとしている SDN 標準化に適用可能であり、研究者コミュニティにおいて、時間をかけた広範囲な調査や議論を受けている。たとえば、Rooney ら [Tempest] は、ネットワークの整合性(integrity)を危険にさらすことなくサードパーティのアクセスをネットワークへ許可する方法、または、古いネットワーク・ソリューションと新しいプログラム可能な環境を適合させる方法について検討している。さらに、SDN の顕著な特徴であるコントロールプレーンとフォワーディングプレーンを分離させるという概念は、SS7 networks [ITUSS7], Ipsilon Flow Switching [RFC1953][RFC2297], ATM [ITUATM] など、1998 年以前に広範囲に議論されてきた [Tempest][P1520]。

   SDN research often focuses on varying aspects of programmability, and
   we are frequently confronted with conflicting points of view
   regarding what exactly SDN is.  For instance, we find that for
   various reasons (e.g. work focusing on one domain and therefore not
   necessarily applicable as-is to other domains), certain well-accepted
   definitions do not correlate well with each other.  For example, both
   OpenFlow [OpenFlow] and NETCONF [RFC6241] have been characterized as
   SDN interfaces, but they refer to control and management
   respectively.

SDN 研究はしばしばプログラム可能性の様相の変化に焦点を当て、そして、我々は頻繁に見解の矛盾に直面する: SDN とは厳密には何か、について。たとえば、我々は、様々な理由によって (たとえば、活動はひとつの領域に焦点を当てるため、ほかの領域に対しては現状のままで必ずしも適用されない)、特定の十分受け入れられている定義同士がうまく相関しないことに気づく。例として、OpenFlow [OpenFlow] と NETCONF [RFC6241] はどちらも SDN インタフェースとして特徴づけられているが、それらはそれぞれ制御と管理を参照する。

   This motivates us to consolidate the definitions of SDN in the
   literature and correlate them with earlier work at the IETF and the
   research community.  Of particular interest is, for example, to
   determine which layers comprise the SDN architecture and which
   interfaces and their corresponding attributes are best suitable to be
   used between them.  As such, the aim of this document is not to
   standardize any particular layer or interface but rather to provide a
   concise reference which reflects current approaches regarding the SDN
   layers architecture.  We expect that this document would be useful to
   upcoming work in SDNRG as well as future discussions within the SDN
   community as a whole.

これは、IETF と研究コミュニティのこれまでの成果を相関させ、文献中の SDN の定義を統合するよう我々を動機づける。特に興味深いのは、たとえば、どのレイヤが SDN アーキテクチャから成るか、そのレイヤ間で使うためにどのインタフェースとそれに対応する属性が最も適しているかを決定することである。このように、本書の目的は、特定のレイヤまたはインタフェースを標準化することではなく、SDN レイヤ・アーキテクチャに関して現在のアプローチを反映した簡潔なリファレンスを提供することである。我々は、本書が SDNRG で行われる活動に対してだけでなく、SDN コミュニティ全体の中での今後の議論に対しても有用なものであることを期待している。

   This document addresses the work item in the SDNRG charter entitled
   "Survey of SDN approaches and Taxonomies", fostering better
   understanding of prominent SDN technologies in a technology-impartial
   and business-agnostic manner but does not constitute a new IETF
   standard.  It is meant as a common base for further discussion.  As
   such, we do not make any value statements nor discuss the
   applicability of any of the frameworks examined in this draft for any
   particular purpose.  Instead, we document their characteristics and
   attributes and classify them, thus providing a taxonomy.  This
   document does not intend to provide an exhaustive list of SDN
   research issues; interested readers should consider reviewing
   [SLTSDN] and [SDNACS].  In particular, Nunes et al.  [SLTSDN]
   overview SDN-related research topics, e.g. control partitioning,
   which is related to the CAP theorem discussed in Section 3.5.4.

本書は、"SDN アプローチと分類法の調査" と名付けられた、SDNRG charter の作業項目に位置づけらる。本書は、SDN 技術の特徴に対するよい理解を、技術中立かつ特定のビジネスに依存しない方法で促進するものであり、新しい IETF 標準を構成するものではない。本書は、今後の議論における共通の基盤として意図されている。したがって我々は、この draft の中で分析されるフレームワークの適用可能性にも述べられていることにも、特定の目的のための評価をつけない。その代わり、我々はそれらの特性や属性を文書化し、分類し、分類法を提供する。本書では、SDN 研究の論点についての包括的なリストを提供する想定はない。興味のある読者は、[SLTSDN] や [SDNACS] を調査するべきである。特に Nunes ら [SLTSDN] は SDN 関連の研究トピック (たとえば、3.5.4 項で説明する、CAP定理に関連した制御のパーティショニング) を概観している。

   This document has been extensively reviewed, discussed, and commented
   by the vast majority of SDNRG members, a community which certainly
   exceeds 100 individuals.  It is the consensus of SDNRG that this
   document should be published in the IRTF Stream RFC Series [RFC5743].

本書は、100人を超えるコミュニティである SDNRG のメンバの大多数による広範囲なレビューや論評を受けている。それは、本書が IRTF Stream RFC Series [RFC5743] の形で発表されるべきものであるという SDNRG 内の合意である。

   The remainder of this document is organized as follows.  Section 2
   explains the terminology used in this document.  Section 3 introduces
   a high-level overview of current SDN architecture abstractions.
   Finally, Section 4 discusses how the SDN Layer Architecture relates
   with prominent SDN-enabling technologies.

本書のこれ以降の部分は、以下のような内容で構成されている。2章では、本書で使用する用語について説明している。3章では、現時点の SDN アーキテクチャにおける抽象化について上位レベルの概要を紹介する。最後に、4章では、SDN Layer Architecture が、どのように SDN を実現する技術の主要な技術と関連するかについて説明する。

2. Terminology

2.  Terminology

   This document uses the following terms:

本書は、以下の用語を使う:

      Software-Defined Networking (SDN) - A programmable networks
      approach that supports the separation of control and forwarding
      planes via standardized interfaces.
Software-Defined Networking (SDN)
プログラム可能なネットワークのアプローチ。このアプローチは、標準化されたインタフェースを通して、コントロールプレーンとフォワーディングプレーンの分離をサポートする。
      Resource - A physical or virtual component available within a
      system.  Resources can be very simple or fine-grained, e.g. a port
      or a queue, or complex, comprised of multiple resources, e.g. a
      network device.
Resource
資源/リソース。システム内で利用可能な、物理的もしくは仮想的な構成要素。リソースは、とても単純なもの、または、粒度の細かいもの(たとえばポートやキューのようなもの)にすることができる。また、複雑で、複数のリソースを包含するようなもの(たとえばネットワーク機器)にすることもできる。
      Network Device - A device that performs one or more network
      operations related to packet manipulation and forwarding.  This
      reference model makes no distinction whether a network device is
      physical or virtual.  A device can also be considered as a
      container for resources and can be a resource in itself.
Network Device
ネットワーク機器。パケットの操作と転送について、一つ以上のネットワーク操作をいつゲンするための機器。この参照モデルは、ネットワーク機器が物理的なものか仮想的なものかを区別しない。ひとつのデバイスは複数のリソースのための入れ物とも、複数のリソースをそれ自体に含むものとも考えることができる。
      Interface - A point of interaction between two entities.  When the
      entities are placed at different locations, the interface is
      usually implemented through a network protocol.  If the entities
      are collocated in the same physical location the interface can be
      implemented using a software application programming interface
      (API), inter-process communication (IPC), or a network protocol.
Interface
インタフェース。ふたつのエンティティ(実体)間の相互作用のポイント。各エンティティが異なる場所に置かれている場合、インタフェースは通常ネットワークプロトコルを介して実装される。もし各エンティティが同じ物理位置に配置されているのであれば、インタフェースはソフトウェアAPI(プロセス間通信(IPC)またはネットワークプロトコル)で実装される。
      Application (App) - An application in the context of SDN is a
      piece of software that utilizes underlying services to perform a
      function.  Application operation can be parametrized, for example
      by passing certain arguments at call time, but it is meant to be a
      standalone piece of software: an App does not offer any interfaces
      to other applications or services.
Application (App)
アプリケーション。SDN の文脈において、アプリケーションは、下位(下層)のサービスを何らかの機能を実現するために利用するソフトウェアの一部である。アプリケーション操作は、たとえば呼び出し時に適切な引数を渡すことによって、パラメタ化することができるが、それはソフトウェアの独立した一部分であることを意味する: アプリケーションは、ほかのアプリケーションあるいはサービスに対して何もインタフェースを提供しない。
      Service - A piece of software that performs one or more functions
      and provides one or more APIs to applications or other services of
      the same or different layers to make use of said functions and
      returns one or more results.  Services can be combined with other
      services, or called in a certain serialized manner, to create a
      new service.
Service
サービス。ひとつ以上の機能を実行し、その機能を利用しひとつ以上の結果を返すために、ひとつ以上のAPIを同じあるいは異なるレイヤにあるサービスに対して提供する、ソフトウェアの一部。サービスはほかのサービスと組み合わせたり、新しいサービスを作るためにシリアル化された形で呼び出したりできる。
      Forwarding Plane (FP) - The collection of resources across all
      network devices responsible for forwarding traffic.
Forwarding Plane (FP)
フォワーディングプレーン。トラフィックの転送を受け持つネットワーク機器全体のリソースの集合。
      Operational Plane (OP) - The collection of resources responsible
      for managing the overall operation of individual network devices.
Operational Plane (OP)
オペレーショナルプレーン。個々のネットワーク機器の全体的な操作(オペレーション)の管理を受け持つリソースの集合。
      Control plane (CP) - The collection of functions responsible for
      controlling one or more network devices.  CP instructs network
      devices with respect to how to process and forward packets.  The
      control plane interacts primarily with the forwarding plane and to
      a lesser extent with the operational plane.
Control plane (CP)
コントロールプレーン。ひとつ以上のネットワーク機器を制御するための機能の集合。CP は、パケットを処理し、転送する方法に関して、ネットワーク機器に指示を与える。コントロールプレーンは主にフォワーディングプレーンに対して指示を与える。オペレーショナルプレーンに対しても(フォワーディングプレーンより)少ない頻度で指示を与える。
      Management plane (MP) - The collection of functions responsible
      for monitoring, configuring and maintaining one or more network
      devices or parts of network devices.  The management plane is
      mostly related with the operational plane and less with the
      forwarding plane.
Management plane (MP)
マネジメントプレーン。ひとつ以上のネットワーク機器あるいはネットワーク機器の一部分を監視、構成変更、メンテナンスをするための機能の集合。マネジメントプレーンは主にオペレーショナルプレーンとの相関があり、フォワーディングプレーンとの関連は少ない。
      Application Plane - The collection of applications and services
      which program network behavior.
Application Plane
アプリケーションプレーン。ネットワークの振る舞いをプログラムするアプリケーションやサービスの集合。
      Device and resource Abstraction Layer (DAL) - The device's
      resource abstraction layer based on one or more models.  If it is
      a physical device it may be referred to as the Hardware
      Abstraction Layer (HAL).  DAL provides a uniform point of
      reference for the device's forwarding and operational plane
      resources.
Device and resource Abstraction Layer (DAL)
機器/リソース抽象化レイヤ。機器のリソース抽象化レイヤはひとつ以上のモデルに基づいている。もしそれが物理機器であれば、モデルはハードウェア抽象化レイヤ (Hardware Abstraction Layer, HAL) として参照されるだろう。DAL は機器のフォワーディングプレーンとオペレーショナルプレーンのリソースのために、一様な参照ポイントを提供する。
      Control Abstraction Layer (CAL) - The control plane's abstraction
      layer.  CAL provides access to the control plane southbound
      interface.
Control Abstraction Layer (CAL)
制御抽象化レイヤ。コントロールプレーンの抽象化レイヤ。CAL はコントロールプレーンのサウスバウンド・インタフェースへのアクセスを提供する。
      Management Abstraction Layer (MAL) - The management plane's
      abstraction layer.  MAL provides access to the management plane
      southbound interface.
Management Abstraction Layer (MAL)
管理抽象化レイヤ。マネジメントプレーンの抽象化レイヤ。MAL はマネジメントプレーンのサウスバウンド・インタフェースへのアクセスを提供する。
      Network Services Abstraction Layer (NSAL) - Provides service
      abstractions that can be used by applications and services.
Network Service Abstraction Layer (NSAL)
ネットワークサービス抽象化レイヤ。アプリケーションやサービスによって利用可能なサービスの抽象化を提供する。