Protocolul OpenFlow acceptă trei tipuri de mesaje:
1) Controlorul-comutator. Acest mesaj este trimis de către controlorul sunt utilizate pentru a controla și monitoriza starea comutatorului. Acesta poate fi de asemenea utilizat pentru a seta parametrii de configurare de comutare, pentru a adăuga, șterge și modifica înregistrările din tabelele fluxurilor, colectarea de statistici.
2) asincronă. Mesajele sunt trimise la trecerea la evenimentele din controler de avertizare de rețea: sosirea pachetelor, eliminarea intrărilor de la expirarea timpului mesei, schimbă starea comutatorului, eroare.
3) Balanced. Mesajele pot fi trimise atât operatorul, cât și comutatorul fără a solicita. Este utilizat la stabilirea unei conexiuni, pentru a verifica viabilitatea compusului sub întârzieri de măsurare, compuși de lățime de bandă comutator controler.
2.4.6
Script-ul funcționează OpenFlow
1) Comutatorul inițiază o conexiune TCP standard (sau TLS) controlerului. Când conexiunea este stabilită OpenFlow, fiecare obiect trebuie să treacă mesajul la OFPT_HELLO versiune de protocol.
2) La stabilirea cu succes a sesiunii, controlerul trimite un mesaj OFPT_FEATURES_REQUEST. Acest post conține doar titlul și OpenFlow nu conține un corp.
3) Comutator respectă OFPT_FEATURES_REPLY mesaj relevant.
4) În continuare, controlerul trimite un mesaj la comutatorul OFPT_SET_CONFIG. Acest mesaj include un set de steaguri și dimensiunea maximă a pachetului care urmează să fie trimis la controler.
5) Mesajul de furnizor este utilizat pentru comunicații private, în cadrul protocolului.
6) Mesaj de eroare ( «eroare») pot fi trimise fie comutatorul sau regulatorul și indică eșecul operațiunii. Eșecul poate fi trimis în cazul în care un mesaj nevalid nu este utilizat versiunea armonizată de protocol, sau a existat o greșeală în schimbarea stării comutatorului.
7) FlowMod- unul dintre mesajele principale care permite operatorului de a schimba starea comutatorului OpenFlow.
Componentele principale SDN
Principalele componente ale rețelelor comutate-program bazat pe protocolul OpenFlow sunt:
1) Comutator OpenFlow
2) controlor OpenFlow
3) Secure Channel, prin care interacțiunea dintre controler și comutatorul. Ca o regulă, pentru protejarea mesajelor transmise prin TLS (Layer Security Transport, Transport Layer Security), dar poate fi trimis printr-un TCP standard fără criptare.
Fig. 14. Circuitul de interacțiune cu controlerul de comutare pe protocolul OpenFlow.
Comutatorul este o componentă critică a rețelei. tabel (e) fluxuri (flux) ;: Compoziția următoare constă în mod esențial comutator OpenFlow tabel (e), grupuri (forward).
Controlul principal al comenzilor controller care sunt transmise comutatorului: adăugați un flux; actualizarea fluxului; eliminați flux.
Principalele moduri de operare: reactivă (ca răspuns la pachetele vin în rețea); proactivă (în avans, înainte de sosirea unui pachet).
Fiecare tabel curge la comutatorul conține una sau mai multe intrări care corespund unor fluxuri specifice de date. Fiecare înregistrare include: un caracteristici de câmp; contor; un set de instrucțiuni care sunt aplicate pachetul de date.
Un set de instrucțiuni conținute în fiecare intrare descrie pașii care efectuează trecerea în cazul unui meci de succes.
Acțiune Setați comutatorul OpenFlow: transmite pachetul; modifica antetul pachetului; trimis pentru prelucrare la masa de grup; trimis pentru prelucrare la transportor.
transmiterea de pachete poate indica un pachet pentru a trimite:
1) În portul de comutare fizic. Portul care corespunde hardware-ul de interfață de rețea (hardware).
2) Portul de comutare virtual. Portul de comutare virtual poate fi utilizat pentru a determina cu exactitate grupul de canale agregate, tuneluri și un port de feedback (loopback).
Grupurile de tratament din tabel este utilizat pentru a efectua acțiuni suplimentare cu pachetul. Grupurile însele conțin seturi de acțiuni care urmează să fie difuzate, precum și seturi de acțiuni pentru a transfera mai complexe semantica (de exemplu, multipath este, schimbări rapide în traseu (rerutare rapidă), link-ul de agregare). Fiecare intrare de grup cuprinde o listă de acțiuni, cu o semantica containere speciale, în funcție de tipul de grup. Acțiunile descrise în aceste containere sunt aplicate pentru toate pachetele trimise grupului.
Sistem de operare de rețea (sau controler), în cadrul OpenFlow concept este link-ul central al comutate rețele software, care se concentrează toate funcționalitatea de a gestiona. Sistemul de operare nu este în sine administrează rețeaua, dar oferă doar o interfață de programare (API) pentru a gestiona. Astfel, de fapt, problema de gestionare a rețelei rezolvare realizată de aplicații de sistem de operare de rețea bazat pe API-ul puse în aplicare.
Trebuie remarcat faptul că interfața software-ul ar trebui să fie suficient de generale pentru a menține o gamă suficient de largă de aplicații pentru a rezolva sarcinile de gestionare a rețelei. Spre deosebire de interpretarea tradițională a NOS (Network Operating System) termenul ca sistemul de operare este integrat cu stiva de protocol de rețea, în acest caz, un sistem de operare de rețea se referă la un sistem software care oferă monitorizare, acces, management, resurse în întreaga rețea, mai degrabă decât un anumit site.
Sistem de operare de rețea generează date privind starea tuturor resurselor de rețea și oferă acces la ele pentru aplicații de management.
sistem de operare de rețea API are următoarele caracteristici principale:
1) sistemul de operare de rețea API oferă posibilitatea de a crea aplicații bazate pe modelul de programare centralizată, adică, cererile sunt scrise ca și în cazul în care întreaga rețea este prezentată pe aceeași mașină (adică, puteți folosi algoritmul lui Dijkstra pentru a calcula calea cea mai scurtă, mai degrabă decât Bellman-Ford). Este nevoie de sprijinul unui statut de rețea centralizată.
Sistemul de operare de rețea obiect de gestionare sunt una sau mai multe comutatoare OpenFlow. Controlerul funcționează în mod obișnuit pe un server de rețea, și poate fi fie una pentru întregul set de comutatoare OpenFlow în rețea, câte una pentru fiecare comutator, sau unul pentru fiecare set de comutatoare. Controlerul oferă interfața pentru crearea, editarea, ștergerea, fluxuri de masă de management a configurației în comutatoarele OpenFlow. comutatorul este controlat printr-un proces care rulează pe controlerul.
funcționarea simultană a mai multor controlere într-o singură rețea OpenFlow SDN nu este încă acceptată.
Virtualizare în SDN