?
open source :
PSEFABRIC
PSEFABRIC pseudo fabric , ( ) , control plane/data plane , , PSEFABRIC, , . , , , ( ), , PSEUDO fabric.
PSEFABRIC .
, .
ConfD , ( ) YANG .
, . IP , , :
, , .
. , .
, , , , , .
, .
, , , :
PSEFABRIC .
PSEFABRIC
, 4 .
- C , .
- , , .
- - , , .
- , . 2 3, .
1- ConfD . YANG.
2- 4-, . , , , . PSEFABRIC 3 :
- (Structure)
- (Global Logic)
- PSEFABRIC Management Data Flow Model (PMDFM)
juniper SRX. .
:
- addresses
- addresses address-sets. SRX . addresses address-sets
- applications
- application-sets. , addresses, application-sets
- policy
, :
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 dc1-vlan111-set addresses dc1-vlan111
address-sets dc1-vlan112-set addresses dc1-vlan112
address-sets dc2-vlan221-set addresses dc2-vlan221
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 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.
.
- / addressses
- / 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 , .. . , .
- , , .
https://habrahabr.ru/post/331892/