【RFC7426】ゆるくRFC7426を読んでみよう ～ソフトウェア定義ネットワーク (SDN): レイヤーとアーキテクチャの用語＝

いつも記事を読んでいただきありがとうございます！
モブエンジニア（[@mob-engineer](https://qiita.com/mob_engineer))です！

たまには、RFCを読んでみたいと思ったので、私の大好きなSD-WANに関係するRFC7426（ソフトウェア定義ネットワーク (SDN): レイヤーとアーキテクチャの用語）にフォーカスを当ててゆるく読んでみたいと思います。

#### 日本語訳

https://tex2e.github.io/rfc-translater/html/rfc7426.html

:::note info
本文、日本語訳、個人的解釈（ツッコミ）を分けて説明しております。
今回はゆるくまとめたいので、イントロだけ取り上げます。
:::

### 概要
- 本文
>"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）は、ネットワークプログラマビリティの新しいアプローチ、つまり、オープンインターフェイスを介してネットワークの動作を動的に初期化、制御、変更、および管理する機能を指します。 SDNは、データ転送プレーンの抽象化を導入することにより、ネットワークの実行におけるソフトウェアの役割を強調し、そうすることで、コントロールプレーンから分離します。この分離により、経験がすでに示しているように、両方の飛行機でより迅速なイノベーションサイクルが可能になります。ただし、SDNとは正確に何であるか、SDNアーキテクチャーのレイヤー構造とは何か、レイヤー同士がどのようにやり取りするかについては、ますます混乱が生じています。このドキュメントは、IRTF Software-Defined Networking Research Group（SDNRG）の製品であり、これらの質問に対応し、関連するピアレビュー文献、RFCシリーズ、および他の標準化団体による関連ドキュメントに基づいて、SDN研究コミュニティに簡潔なリファレンスを提供します。

- 解釈
    - プログラミング技術を用いてネットワークを運用する
    - ソフトウェアのように扱えるので、運用コスト削減につながる
    - データプレーンはOSI参照モデルで動くがコントロールプレーンはプログラムなので

### 本文書の状態
- 本文
>This document is not an Internet Standards Track specification; it is published for informational purposes.

- 日本語訳
>このドキュメントはInternet Standards Trackの仕様ではありません。情報提供を目的として公開されています。

- 解釈
    - 情報提供を目的とした文書だが、各ベンダーのSD-WAN製品は...
    - オーバーレイ、アンダーレイの概念はAIを活用したネットワークにも生かされている
    - クラウドネットワークとの関係性についても検討の余地がありそう

### はじめに
- 本文
>"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.

- 日本語訳
>「ソフトウェア定義ネットワーク（SDN）」は、プログラム可能なネットワークパラダイム[PNSurvey99] [OF08]の用語です。つまり、SDNとは、ソフトウェアアプリケーションが個々のネットワークデバイスを動的にプログラムし、ネットワーク全体の動作を制御する機能を指します[NV09]。 Boucadair and Jacquenet [RFC7149]は、SDNがネットワークサービスの設計、配信、および運用を決定論的、動的、およびスケーラブルな方法で促進するために使用される一連の技術であることを指摘しています。

- 解釈
    - スケラーブルな方法だがコントロールプレーンのスペックに依存しません
    - ネットワーク全体の制御をプログラムで実行するリスクを検討していきたい
    - 物理設定民 or アプリ設定民で戦いが起きそうな記述...

- 本文
>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 research and development area of programmable networks is reviewed in detail in [SDNHistory] [SDNSurvey], starting with efforts dating back to the 1980s. As documented in [SDNHistory], many of the ideas, concepts, and concerns are applicable to the latest research and development in SDN (and SDN standardization) 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].

- 日本語訳
>プログラマブルネットワークの研究開発領域の歴史的な進化は、[SDNHistory] ​​[SDNSurvey]で詳細にレビューされており、1980年代にさかのぼる取り組みから始まります。 [SDNHistory]で文書化されているように、アイデア、概念、および懸念の多くは、SDN（およびSDN標準化）の最新の研究開発に適用可能であり、かなり長い間、研究コミュニティで広範な調査と議論の下にありました。例えば、ルーニーら。 [テンペスト]は、ネットワークの整合性を危険にさらすことなくサードパーティによるネットワークへのアクセスを許可する方法、または（新しい）プログラマブル環境でレガシーネットワーキングソリューションに対応する方法について説明します。さらに、SDNで顕著であるコントロールプレーンとフォワーディングプレーンの分離の概念は、SS7ネットワーク[ITUSS7]、イプシロンフロースイッチング[RFC1953] [RFC2297]で1998 [Tempest] [P1520]より前まで広く議論されてきました。 ATM [ITUATM]。

- 解釈
    - 1980年代から検討されていたのか？
    - 先行研究（テンペスト、SS7ネットワークなど）もリサーチしておくか
    - 過去研究は正直スコープ外だったので、キャッチしておくか

- 本文
>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 the Network Configuration Protocol (NETCONF) [RFC6241] have been characterized as SDN interfaces, but they refer to control and management, respectively.

- 日本語訳
>SDNの調査は、多くの場合、プログラマビリティのさまざまな側面に焦点を当てており、SDNとは正確には何であるかについて、対立する視点に直面することがよくあります。たとえば、さまざまな理由（たとえば、1つのドメインに焦点を当てているため、必ずしも他のドメインにそのまま適用できるとは限らない）のために、特定の十分に受け入れられている定義が互いに適切に関連付けられていないことがわかりました。たとえば、OpenFlow [OpenFlow]とネットワーク構成プロトコル（NETCONF）[RFC6241]はどちらもSDNインターフェイスとして特徴付けられていますが、それぞれ制御と管理を指します。

- 解釈
    - プログラマビリティ視点に焦点が当たっているのはおっしゃるとおり
    - 本節は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 suited 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 that reflects current approaches regarding the SDN layer 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.

- 日本語訳
>これは、文献におけるSDNの定義を統合し、それらをIETFおよび研究コミュニティでの以前の研究と相関させる動機になります。特に興味深いのは、たとえば、SDNアーキテクチャを構成するレイヤーと、それらの間で使用するのに最適なインターフェイスとそれに対応する属性を決定することです。したがって、このドキュメントの目的は、特定のレイヤーやインターフェイスを標準化することではなく、SDNレイヤーアーキテクチャに関する現在のアプローチを反映した簡潔なリファレンスを提供することです。このドキュメントは、SDNRGでの今後の作業だけでなく、SDNコミュニティ全体での今後の議論にも役立つと期待しています。

- 解釈
    - コミュニティ内でのコミュニケーションが続いていればよりよい世界が広がっていたと予想
    - 本節も非常に哲学的であり、現代のSDNに対しても鋭い示唆をもたらしていると考えざるを得ない

- 本文
>This document addresses the work item in the SDNRG charter titled "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 document 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, Jarraya, et al. [SLTSDN] provide an overview of SDN-related research topics, e.g., control partitioning, which is related to the Consistency, Availability and Partitioning (CAP) theorem discussed in Section 3.5.4.

- 日本語訳
>このドキュメントは、SDNRG憲章の「SDNアプローチと分類法の調査」というタイトルの作業項目を扱い、テクノロジーに公平でビジネスにとらわれない方法で著名なSDNテクノロジーの理解を深めますが、新しいIETF標準を構成するものではありません。これは、さらに議論するための共通の基盤として意図されています。そのため、特定の目的のために、このドキュメントで検討したフレームワークの適用性について、価値を表明したり、論じたりすることはありません。代わりに、それらの特性と属性を文書化して分類し、分類法を提供します。このドキュメントは、SDNの調査問題の完全なリストを提供することを意図していません。関心のある読者は、[SLTSDN]と[SDNACS]を確認することを検討してください。特に、Jarrayaら。 [SLTSDN]は、セクション3.5.4で説明されている一貫性、可用性、パーティショニング（CAP）の定理に関連するSDN関連の研究トピック、たとえば、コントロールパーティショニングの概要を提供します。

- 解釈
    - SDN技術を用いたプロダクト担当者は今一度読み返すと新たな発見がある印象を持ちました
    - テクノロジー・公平性の視点でSDNを見てみると新たな側面があるか

## まとめ

イントロ部分だけ取り上げてみましたが、考えるべき要素は多数あると再確認しました。そのうえで、Cisco Catalyst SD-WANなどのSDN技術を用いた製品に、RFC7426で示した設計思想が反映されているか検討していくのも興味深い試みだと思いました。

かなりポエム感がある記事でしたが、最後までお読みいただきありがとうございました！