この記事は何についてですか?
このオープンソースプロジェクト: PSEFABRIC
PSEFABRICは擬似ファブリックの略であり、管理の観点からは、ネットワーク全体(またはその一部)を単一のデバイスとして管理できるネットワークファクトリーのように見えますが、コントロールプレーン/データプレーンの観点からは同じですPSEFABRICの導入前のアーキテクチャと、選択したネットワークソリューションおよび必要と思われるネットワークソリューションを備えた通常のネットワーク。 つまり、一般に、これは高速スイッチ上に構築されたネットワークではありません(ただし、ネットワークにはそれらが含まれている場合があります)。
PSEFABRICは、ネットワークアーキテクチャ上の論理的なアドオンであり、新しいハードウェアやソフトウェアを購入する必要はありません。
数年前、このプロジェクトの定性的レベルでの実装は、はるかに複雑で時間のかかる作業になることに注意してください。 しかしなどの作成このような素晴らしい製品ConfDを解決することがそれを(インターフェイスの問題を)減らすことで、重要なインタフェースの問題を決定し、それは簡単な作業YANGプログラミングです。
問題の概要
最新のコンピューターネットワークの複雑さと多様性にもかかわらず、アプリケーションの観点から見ると、主なものは1つだけです。それは、データを転送する機能です。 IPネットワークの場合、大まかに言えば、これは次の2つに要約されます。
- サブネットと接続を作成する
- それらの間の接続を提供する(必要なポートで)
しかし、ネットワーク構成の観点から見ると、すべてが単純に見えるわけではなく、実際にはすべてのネットワークプロトコル、テクノロジー、アプローチがこれら2つの問題を解決することを目的としています。
アプリケーションの観点からの問題の定式化の単純さと、膨大な数のオプションとその実装の複雑さの間には矛盾があります。 これは、一般的な場合、この矛盾が効果的に解決されない可能性が最も高いことを示唆しています。
しかし、良いニュースは、すでにネットワークを作成している場合、通常、アーキテクチャソリューションが正しければ、両方の問題を解決するための非常に明確でアルゴリズム化された一連のアクションがあることです。
もちろん、ネットワークごとに、これらのアクションは異なります。
これは、この矛盾を解決する製品を作成するには、次のようなアプローチが必要であることを示唆しています。
- ネットワーク全体(またはその一部)全体を管理するためのシンプルで直感的なインターフェイスを提供し、特定のネットワークソリューションに固有のプライベートな詳細を気にせずに、アプリケーションにとって重要なエンティティ(たとえば、サブネットとそれらの間のアクセス)で操作できるようにします;
- 柔軟性が非常に高いため、さまざまなアーキテクチャ、ベンダー、機器の種類に簡単に適応できます。
PSEFABRICはこのソリューションです。
PSEFABRICの説明
概して、4つの問題を解決する必要があります。
- 問題を解決するのに十分な便利でシンプルなインターフェイスを作成して提供します。
- このインターフェイスは、ネットワークの構造に関する情報を提供できる必要があり、それに基づいて、どの機器とどの構成を作成するかを決定できます。
- 設計、構成時に従う必要のあるロジックを何らかの形で説明する機会を提供する必要があります。
- 私たちは、パラグラフで説明されている情報に従っている必要があります。 2および3、正しいデバイスで正しい構成を作成します。
ConfD製品の登場に伴う最初のタスクは、非常に簡単かつ柔軟に解決されます。 このために、YANGが使用されます。
重要なタスクは2〜4のタスクであり、一般的なタスクです。 実装に関係なく、これらのタスクは、何らかの形で対処する必要があります。 したがって、PSEFABRICは3つの概念に基づいています。
- 構造体( 構造 )
- グローバルロジック( グローバルロジックの )
- 管理データフローPSEFABRICモデル( PMDFM )
インターフェース
ロジックは、ジュニパーSRXインターフェイスから借用しています。 彼女は私にとって最も快適に思えた。
サブネット間のアクセスを開くには、次のことを行う必要があります。
- 住所を作成する
- これらのアドレスをアドレスセットに結合します。 このインターフェースの実装におけるSRXとは異なり、これは前提条件です。 アドレスリスト間ではアクセスを開かない-アドレスセットリスト間のみ
- アプリケーションを作成する
- アプリケーションセットを作成します。 アドレスと同様に、常にアプリケーションセットを使用する必要があります
- ポリシーを作成する
これらのコマンドがどのように見えるかの例を次に示します。
- アドレスを作成します(構造に注意を払うまで)
addresses dc1-vlan111 ipv4-prefix 10.101.1.0/24 structure dc DC1 zone none device dc1_sw1 interface e0/0 vlan 111 vrf VRF1
addresses dc1-vlan112 ipv4-prefix 10.101.2.0/24 structure dc DC1 zone none device dc1_sw1 interface e0/0 vlan 112 vrf VRF1
addresses dc2-vlan221 ipv4-prefix 10.202.1.0/24 structure dc DC2 zone none device dc2_sw1 interface e0/1 vlan 221 vrf TRUST
- address-sets
address-sets dc1-vlan111-set addresses dc1-vlan111 address-sets dc1-vlan112-set addresses dc1-vlan112 address-sets dc2-vlan221-set addresses dc2-vlan221
- applications
applications http-app prot 6 ports destination-port-range lower-port 80 upper-port 80
applications https-app prot 6 ports destination-port-range lower-port 443 upper-port 443
applications icmp-app prot 1
- application-sets
application-sets web-app-set applications [ http-app https-app ] application-sets icmp-app-set applications [ icmp-app ]
policies test match source-address-sets [ dc1-vlan111-set dc1-vlan112-set ] destination-address-sets dc2-vlan221-set application-sets [ icmp-app-set web-app-set ]
ConfD , . , «commit» «rollback».
PSEFABRIC ConfD ConfD. , , — YANG . «commit» PSEFABRIC NETCONF c ConfD , , .
, PSEFABRIC . , .
, - , . Demultiplexer Layer PMDFM.
YANG . :
- data-centers
- equipment
- vrf
- zone
- interface
- vlans
, PSEFABRIC , , , :
conf t
structure data-centers [ none DC1 DC2 DC3 ]
structure equipment [ none dc1_sw1 dc1_fw1 dc3_r1 dc3_sw1 dc2_fw1 dc2_sw1 ]
structure vrf [ none DMZ TRUST VRF1 VRF2 VRF3 ]
structure zone [ none ]
structure interface [ none e0/0 e0/1 e0/2 e0/3 ]
structure vlans none vlan-number 0
structure vlans Vlan111 vlan-number 111
structure vlans Vlan112 vlan-number 112
structure vlans Vlan121 vlan-number 121
structure vlans Vlan122 vlan-number 122
…
, , , . , , .
, , , , , .. , .
, , . .
PSEFABRIC python dictionary.
.
- / addresses
- / address-sets
- / applications
- / application-sets
- / policies
, . .
PSEFABRIC Management Data Flow Model
PSEFABRIC , , .
7
- Configuration Management Engine
- Configuration Analyser
- Demultiplexer
- Configurator
- Configuration Encapsulator
- MOs Configuration Loader
- Control/Data Plans of MOs
PMDFM:
- 2 : . . PSEFABRIC .
- ( 1 7).
- ,
wiki .
5,6 PMDFM . , . - , , PSEFABRIC.
6 . (ansible, pappet, …).
5 ( 4) , 6, .
PSEFABRIC python perl .
:
- «commit»
- , «» QA
- , «» «»
- , , . 1,2 «commit» «»
, .
. wiki .
, «» . , (Cisco, Juniper), (ASA, SRX, ZBF), (L2, L3). VRF.
, wiki .
, , , , .
PSEFABRIC?
- , .
- NaaS, IaaS, PaaS, PSEFABRIC .
- PSEFABRIC , , sdn , (, , ).
- (perl/python/etc. scripting, ansible, puppet), .
- DevOps , .
- recovery , .. . , .
- , , .