11.4 Open Source MANO


Open Source MANO (OSM) je projekt hostovaný ETSI pre vývoj Open Source NFV MANO (Management and Orchestration) softvérového stacku kompatibilného s ETSI NFV. Open Source MANO nie je kompletná NFV platforma ale len komunitou vyvíjaný tzv. E2E Network Service Orchestrator (E2E NSO) pre telekomunikačné služby, ktorý je schopný modelovať a automatizovať telekomunikačné služby s komplexnosťou a kvalite potrebnej pre nasadenie v produkčnom prostredí. OSM neposkytuje všetky funkčnosti NVF MANO podľa ETSI ale len funkcie orchestrátora a manažéra VNF, ako je znázornené na Obr. 7.

 Vzťah medzi Open Source MANO a NFV MANO

Obr. 7 Vzťah medzi OSM a NFV MANO

OSM umožňuje realizovať jeden z hlavných cieľov NFV a to vytváranie sietí na požiadanie („Network as a Service“ alebo NaaS) a to buď na ich priame využitie poskytovateľom služby, alebo na ich potenciálnu komercializáciu tretím stranám.

V tomto zmysle OSM funguje ako NSO (Network Service Orchestrator), ktorého cieľom je poskytovať schopnosť vytvárať sieťové služby na požiadanie a vracať ID objektu služby, ktoré možno neskôr použiť ako obsluhu na riadenie celého životného cyklu a operácií sieťovej služby prostredníctvom následných volaní prostredníctvom severného OSM API.

OSM poskytuje dva typy služieb NaaS a to:

  • sieťová služba (NS),
  • inštancia sieťovej vrstvy (NSI) – bude vysvetlená neskôr.

OSM využíva služby z iných servisných platforiem služieb a riadi množstvo riadených funkcií, aby vytvorila svoje vlastné objekty služieb vyššej úrovne. OSM teda využíva služby poskytované platformou zodpovednou za virtuálnu infraštruktúru (na získanie VM atď.) a platformou zodpovednou za SDN (na získanie požadovaných interných pripojení) a po zostavení konfiguruje a monitoruje základné sieťové funkcie (VNF, PNF, HNF) s cieľom riadiť životný cyklus všetkých NS a NSI.

Podobne ako v prípade iných projektov, aj OSM môže byť inštalovaný viacerými spôsobmi. Preferovaný spôsob býva inštalácia OSM prostredníctvom LXD, Juju, docker CE a inicializáciou lokálneho Kubernetes klastra. Ďalším spôsobom je možnosť inštalovať OSM na lokálny alebo vzdialeny OpenStack a pod.

Po nainštalovaní je potrebné prepojiť OSM v manažérom virtuálnej infraštruktúry (VIM). Medzi najčastejšie volené možnosti patria:

  • OpenStack,
  • OpenVIM,
  • VMware vCloud Director,
  • Amazon Web Services (AWS),
  • Microsoft Azure,
  • Google Cloud Platform.

Z uvedených možností bola ukončená podpora pre OpenVIM a VMware vCloud Director. Ich použitie je naďalej možné, ale neodporúča sa.

V prípade VNF je možné použiť VNF od dodávateľa danej technológie (napr. Ericsson), konzorcií  a projektov (napr. Open RAN) alebo GitLabu OSM. [x[MM1] ]

Príklad vytvorenia sieťovej funkcie, ktorá bude smerovať pakety sieťou inou cestou, ako je uvedená v smerovacej tabuľke pre danú cieľovú IP adresu. V príklade sú použite tri sieťové funkcie (src_vnfd,  dest_vnfd a mid_vnfd) a jedna sieťová služba (sfc_nsd), ktorých popisy (vnfd a nsd) sú dostupné v repository na GitLabe OSM.

Všetky VNF majú jediné rozhranie (eth0-ext) a špecifikáciu vCPU (1), RAM (1 GB), disk (10 GB) a názov obrazu (bionic) (viď Obr. 8).

mid_vnfdsrc_vnfdŠpecifikácie použitých VNF:  dest_vnfd

Obr. 8 Špecifikácie použitých VNF

 Sieťová služba má tri VNF. NS deskriptor špecifikuje pre VNF-FG parametre ako atribúty zhody (zdrojová ip adresa, cieľová ip adresa, protokol, zdrojový port, cieľový port), rozhranie vstupného bodu pripojenia (paketový vstup) a rozhranie výstupného spojovacieho bodu (paketový výstup). Obr. 9 ukazuje sfc_nsd a reťazenie služieb VNF. Popis danej sieťovej funkcie je uvedený na Obr. 10

Prepojenie VNF v rámci sieťovej služby.

Obr. 9 Prepojenie VNF v rámci sieťovej služby.

         vnffgd:
    - id: vnffg1
      vnf-profile-id:
      - vnf2
      nfp-position-element:
      - id: test
      nfpd:
      - id: forwardingpath1
        position-desc-id:
        - id: position1
          nfp-position-element-id:
          - test
          match-attributes:
          -  id: rule1_80
             ip-proto: 6
             source-ip-address:  20.20.20.10
             destination-ip-address: 20.20.20.30
             source-port: 0
             destination-port: 80
             constituent-base-element-id: vnf1
             constituent-cpd-id: eth0-ext
          cp-profile-id:
          -  id: cpprofile2
             constituent-profile-elements:
             - id: cp1
               order: 0
               constituent-base-element-id: vnf2
               ingress-constituent-cpd-id: eth0-ext
               egress-constituent-cpd-id: eth0-ext

Obr. 10 Deskriptor VNF-FG

 Postup vytvorenia požadovanej NS je možné vykonať nasledovnými príkazmi v 3 krokoch:

1.    Lokalizujte deskriptory:

git clone --recursive https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git

2.    Načítajte ich:

cd osm-packages
osm vnfpkg-create src_vnfd
osm vnfpkg-create mid_vnfd
osm vnfpkg-create dest_vnfd
osm nspkg-create sfc_nsd

3.    Spustite NS:

osm ns-create --ns_name sfc --nsd_name sfc_nsd --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID>
osm ns-list