softver telekomunikacionih sistema - project-benefit · 2019. 12. 23. · veliki logički svič....

59
Softver telekomunikacionih sistema Univerzitet u Novom Sadu Fakultet tehničkih nauka Departman za energetiku, elektroniku i telekomunikacije Katedra za telekomunikacije i obradu signala

Upload: others

Post on 27-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Softver telekomunikacionih sistema

Univerzitet u Novom SaduFakultet tehničkih naukaDepartman za energetiku, elektroniku i

telekomunikacije

Katedra za telekomunikacije i obradu signala

Softverski definisano umrežavanje(eng. Software Defined Networking - SDN)

Sadržaj

• Trenutno stanje u oblasti networking-a

• Arhitektura softverski definisanih mreža

• Protokoli u softverski definisanim mrežama

• Open vSwitch

• SDN primena

• Zaključak

Trenutno stanje u oblasti networking-a

Trenutno stanje u tradicionalnim mrežama

Nedostaci u tradicionalnim mrežama• Kompleksnost upravljanja mrežom sastavljenom od

uređaja različitih proizvođača– Rešenja različitih proizvođača nisu interoperabilna

– Grafički interfejs za upravljanje mrežom nije standardizovan

• Veliki broj funkcionalnosti definisanih u hardveru– Skupa realizacija

– Nedovoljno fleksibilna rešenja da odgovore na zahteve korisnika

– Dugotrajan proces standardizacije protokola

• Ograničena mogućnost za ne-telekom operatere da dobiju ono što žele

Motivi za razvoj nove tehnologije umrežavanja• Smanjenje kompleksnosti računarskih mreža:

– Implementacija hardvera sa jedinstvenim softverskim interfejsom, u cilju lake i jednostavne administracije.

– Standardizacija upravljanja mrežom nezavisno od proizvođača opreme kroz realizaciju adekvatnog grafičkog interfejsa.

• Smanjenje latencije u mreži: – Optimalna podela poslova između hardvera i softvera.

– Hardverski podržan softverski switching (prenos dela poslova sa procesora na hardver).

• Viši stepen pouzdanosti i elastičnosti u mreži:– Mobilnost korisnika.

– Dinamička alokacija resursa.

– Prilagođavanje potrebama korisnika.

– Brza i jednostavna realizacija novih servisa.

Kakva treba da izgleda nova arhitektura mreže?

• Nova mrežna arhitektura mora da razdvoji funkciju upravljanja od funkcije prosleđivanja paketa:

– Pojednostavljuje programabilnost u mrežama

– Omogućuje softversko upravljanje hardverom sa udaljene lokacije.

Arhitektura softverki definisanih mreža

Migracija sa vertikalne na horizontalnu integraciju

Kakva treba da izgleda nova arhitektura mreže?

• Nova mrežna arhitektura mora da razdvoji funkciju upravljanja od funkcije prosleđivanja paketa:– Uvodi programabilnost u mrežu– Omogućuje softversko upravljanje

hardverom sa udaljene lokacije.

• Logička centralizacija inteligencije u softverski zasnovanom kontroleru:– Kontroler održava globalnu sliku o mreži,

čime je proces donošenja odluka pojednostavljen i zasnovan na celokupnoj mreži, a ne na pojedinim elementima.

– Za aplikacije cela mreža deluje kao jedan veliki logički svič.

Logički centralizovana kontrola

API za infrastrukurni slojOpenFlow

Pametan, spor

Switch-evi

Brz, nije inteligentan

Karakteristike nove arhitekture mreže• Razdvajanje mrežnog softvera na slojeve:

– Sloj upravljanja (eng. management plane)

– Sloj servisa (eng. services plane)

– Sloj kontrole (eng. control plane)

– Sloj prosleđivanja paketa (eng. forwarding plane).

• Programabilnost

– Dinamičko (softversko) upravljanje SDN mrežom

– Primena otvorenih API-a, radi primene aplikacija za dinamičku i automatizovanu konfiguraciju i optimizaciju mrežnih resursa (nezavisno od proizvođača opreme).

• Apstrakcija na osnovu flow tabele

– Korisničke aplikacije izdvojene od mrežnih elemenata, a mrežni uređaji apstrahovani u odnosu na upravljački sloj

– Odvajanje kontrole ravni od prosleđivanja omogućava dinamičku alokacija resursa prema potrebama korisnika.

Arhitektura SDN mreže

SDN алат за оркестрацију

Aplikacioni sloj

Poslovne aplikacije

npr. OpenStack, CloudStack

Kontrolni sloj

SDN kontroler

Mrežni

servisi

Programabilni API

Infrastrukturni sloj

Мрежни

уређај

Мрежни

уређајMrežni uređaj Mrežni uređaj Mrežni uređaj

Interfejs između kontrolnog i sloja

Infrastrukture (npr. OpenFlow)

SD

N a

rhite

ktu

ra

Slojevi SDN mreže

• Slojevi SDN arhitekture:

– Aplikativni sloj (korisničke aplikacije, koje koriste SDN komunikacione servise)

– Kontrolni sloj (centralizovana kontrola i nadzor prosleđivanja saobraćaja u mrežu kroz OpenFlow protokol za komunikaciju sa infrastrukturnim slojem)

– Infrastrukturni sloj (mrežni elementi (fizički i virtuelni) sa implementiranim OpenFlow protokolom za primenu pravila prosleđivanje saobraćaja).

• API za komunikaciju između:

– Southbound (interfejs između kontrolnog i infrastrukturnog sloja)

– Northbound (interfejs između kontrolnog i aplikativnog sloja).

Kako se implementira SDN arhitektura mreže?

• SDN mreža se gradi na postojećoj fizičkoj infrastrukturi tako što se:– Postojeći uređaji menjaju virtuelnim koji

rade sa OpenFlow protokolom, ili

– Gradi overlay mreža u kojoj SDN kontroler komunicira sa tradicionalnom infrastrukturom preko BGP i SNMP protokola.

• SDN mreža spolja izgleda kao jedan veliki logički svič.

• SDN se može realizovati primenom open-source ili komercijalnih rešenja (HP, Brocade, Cisco, NEC, Juniper,…)

NFV i SDN

• NFV i SDN su komplementarni ali ne postoji međusobna zavisnost (NFV se može primeniti bez SDN i obrnuto).

Open Innovation

SoftwareDefined

Networking

NetworkFunctions

Virtualisation

Protokoli u softverski definisanim mrežama

Šta je uloga southbound interfejsa?

• Obezbeđuje komunikaciju između SDN kontrolera i mrežnih uređaja na sloju infrastrukture

– Implementiran je u otvorenom standradu

– Nezavisan je od proizvođača opreme

– Garantuje punu interoperabilnostopreme različitih proizvođača.

OpenFlow protokol

• OpenFlow protokol je prvi i jedini standardizovan interfejs između upravljačkog i infrastrukturnog sloja koji omogućava prosleđivanja saobraćaja u SDN.

– Koristi koncept tokova podataka (eng. flow) za prepoznavanje saobraćaja na osnovu predefinisanih pravila, koja su statički ili dinamički definisana u upravljačkom softveru

– Može se primeniti u postojećim fizičkim i virtuelnim mrežama, a zbog svoje fleksibilnosti i u multi-vendor mrežama

– Za razliku od tradicionalnih IP mreža, koristi istu putanju za pakete kroz mrežu, a upravljanje karakteriše granularnost na nivou aplikacije, korisnika i sesije.

Priroda OpenFlow komunikacije

• SDN kontroler (negde se naziva i OpenFlow kontroler) sa svičevima komunicira preko OpenFlow protokola.

• Komunikacija između kontrolera i mrežnih uređaja je enkriptovana iodvija se preko SSL-a.

Šta je to OpenFlow logički switch?

• OpenFlow logički switch je mrežni uređaj koji objedinjuje funkcije različitih uređaja:

– Ruter

Uparuje: najduži destinacioni IP prefiks

Akcija: prosleđuje sa linka

– Switch Uparuje : destinacionu MAC adresu

Akcija: prosleđuje ili flood-uje pakete

– Firewall Uparuje : IP adrese i TCP/UDP broj porta

Akcija : dozvoljava ili zabranjuje

– NAT uređaj Uparuje : IP adresu i port

Akcija : prepravlja IP adresu i port.

Šta čini OpenFlow logički switch?

• OpenFlow logički svič čini:

– Jedna ili više flow tabela i grouptabelu na osnovu kojih se vrši prosleđivanje saobraćaja

– Meter tabele u kojoj je broj tokova, paketa, bajta i trajanje konekcija

– Jedan ili više OpenFlow kanala ka eksternom kontroleru

• Kontroler korišćenjem OpenFlow protokola menja zapise o tokovima podataka u flow tabelama.

Kako OpenFlow upravlja paketima?

• OpenFlow definiše sledeća pravila za upravljanje paketima:

– Obrazac: mečuje bitove u zaglavlju paketa

– Akcije: odbacivanje, prosleđivanje, modifikovanje, slanje kontroleru

– Prioritet: nedvosmisleno preklapanje obrazaca

– Brojači: brojač bajtova i brojač paketa.

OpenFlow tabela

• OpenFlow tabela sadrži niz instrukcija na osnovu kojih se vrši prosleđivanje saobraćaja.

Kako se prosleđuju paketi?

• Podaci dolaze do switch-a koji radi lookup

• Kako ključ za lookup se koriste polja iz zaglavlja paketa

• Ako ne postoji zapis u flow tabeli, switch šalje prvi paket na kontroler

• Kontroler analizira paket i „programira“ flow tabelu switch-a

• Forwarding engine vrši prosleđivanje paketa.

Višestruki lookup

Улазни

порт

Извор.

MAC

адреса

Дестин.

MAC

адреса

Ethernet

ТипVLAN ID

VLAN

Приори-

тет

IP

Извор.

адреса

IP

Дестин.

адреса

IP

Прото-

кол

IP

TOS

TCP/UDP

Изворни

порт

TCP/UDP

Дестин.

порт

MPLS

Лабела

MPLS

Класа

саобра-

ћаја

OF model višestrukog lookup-a

Flow

Tabela 0Flow

Tabela 1

Flow

Tabela n... Izvršavanje skupa

akcija

Ulazni port

Paket ulazi

Skup akcija {} Skup akcija

Skup akcija

Paket izlazi

Paket+

Ulazni port+

MetadataPaket

OpenFlow aplikacije

• Dinamička kontrola pristupa bez postojanja posebnog uređaja:– Provera prvog paketa u svakoj konekciji

– Kontrola pristupa (provera kršenja prava pristupa u realnom vremenu)

– Pravila za blokiranje i rutiranje saobraćaja (provera petlji, suboptimalno rutiranje).

• Neograničena mobilnost– Host se prepoznaje, a saobraćaj šalje na

novu lokaciju hosta.

– Modifikuju se pravila da bi se saobraćaj efikasno prerutirao

• Balansiranje opterećenja po tokovima.

OpenFlow protokol -standardi• OpenFlow v1.0 – inicijalni standard

• OpenFlow v1.1 – Podržava višestruke flow tabele– MPLS podrška– Dva načina rada – Pure OpenFlow i Hybrid

• OpenFlow v1.2– IPv6 podrška

• OpenFlow v1.3– Flow meter (policing) podrška– Podrška za GRE (Generic Route Encaptulation) tunele– Podrška za IPv6 extended header

• OpenFlow v1.4– Podrška za optičke portove– Promenjen TCP port (6653).

Open vSwitch

Open vSwitch

• Open vSwitch je nastao iz OpenFlow projekta Stenford univerziteta, a dizajniran je da podrži upravljanje switch-evima i ruterima preko OpenFlow softvera.

– Open vSwitch podržava različite tehnologije virtuelizacije, kao što su Xen, KVM i VirtualBox.

• Implementira se pomoću hipervizora, da bi virtuelne mašine međusobno, ali i sa spoljnim svetom razmenjivale saobraćaj.

• Cilj je realizacija okruženja sa:

– Dinamičkim krajnjim tačkama (eng. end points)

– Permanentnom logičkom apstrakcijom

– Izmeštanjem pojedinih funkcija hardvera switch-eva.

Na čemu se zasniva koncept Open vSwitch-a?

• Prosleđivanje paketa u skladu sa pravilima OpenFlow protokola.

• Obezbeđuje komunikaciju između virtuelnih mašina, ali i virtuelnih mašina sa „fizičkim interfejsima“.

• Podržava ethernet tehnologiju i primenu VLAN-ova i omogućava integraciju virtuelnih okruženja

Eksterni interfejsi

Slow path Fast path

Fizički interfejs Fizički interfejs

Virtuelni

interfejs

Virtuelni

interfejs

Virtuelna mašina Virtuelna mašina

Virtuelni interfejs

Motivi za implementaciju

• Kontrola nad mrežom:– Proizvoljne topologije dozvoljavaju bilo kakvu (razumnu)

konfiguraciju

– Sopstveni kontroler omogućava finu, granularnu kontrolu mreže

– Jednostavna apstrakcija “velikog sviča” ili “seta virtuelnih mašina”

• Skalabilnost:– Podrška za veliki broj virtuelnih mašina

– Mogućnost smanjenja mreže na fizičkom nivou

• Efikasnost:– Mali porast kašnjenja pri prolasku kroz mrežu

– Mala potrošnja resursa na sloju virtuelizacije.

Funkcionalnosti Open vSwitch-a• Port bonding

• LACP

• Podrška za 802.1Q VLAN-ove i trunking

• Monitoring saobraćaja virtuelnih mašina (sFlow, NetFlow, SPAN, RSPAN)

• Fina granulacija saobraćaja (Access liste i polise za QoS)

• Centralizovana kontrola kroz OpenFlow

• Rad u Linux hipervizorima: Xen, XenServer, KVM, VirtualBox

• Kernel i userspace implementacija switch-a

• Tunneling

• Puna funkcionalnost L2 switch-a.

Arhitektura Open vSwitch-a

• Open vSwitch je softverski svič smešten unutar hipervizora ili domena za menadžment (npr. Dom0 u Xen).

• Fleksibilan kontroler za User space i Datapath u kernelu.

Open vSwitch Controller

Open vSwitch Datapath

Server

Monitoring saobraćaja

• sFlow je standard za eksportovanje podataka sa L2 sloja koji koristi dve vrste uzorkovanja za postizanje skalabilnosti:– Slučajno uzorkovanje paketa

– Time-based uzorkovanje brojača

• Pogodan je za primenu u mrežama velikih brzina (Gb/s i veće) gde se uzorkovani podaci sšalju kao UDP paketi na određeni host i port 6343.

• Ako se uzorci brojača izgube, nove vrednosti se šalju u sledećem intervalu, a efektivna brzina uzorkovanja će biti blago smanjena.

sFlow izveštaj

Upravljanje tokovima paketa

• Prvi paket je spor, dok se naredni paketi brzo prosleđuju.

• Prvi paket iz toka šalje se na kontroler koji paket može da:

– Prosledi na drugi port ili portove (mirror)

– Enkapsulira i prosledi na drugi kontroler

– Odbaci

– Vrati paket na datapath

• Ostali paketi se šalju direktno na datapath.

Komponente open vSwitch-a

OVS instanca

• OVS instanca obuhvata:– Server baze podataka (ovsdb-server) – Open vSwitch daemon (OVS-vswitchd) – Modul koji obavlja brzo prosleđivanje (fast

forwarding path).

• OVS instanca može da podrži više logičkih datapath-ova koje se nazivaju bridge– Postoji najmanje jedan kontroler za svaki OpenFlow

bridge.

• Klaster za upravljanje i kontrolu sastoji se od određenog broja menadžera i kontrolera: – Menadžeri koriste OVSDB protokol da upravljaju OVS

instancama. – Kontroleri koriste OpenFlow za instaliranje stanja

tokova u OpenFlow switch-evima.

OVSDB server

OVSDB klijent

• OVSDB klijent može da zada neku od komandi:– list-dbs server (preuzima listu podataka i ispisuje

jednu po liniji)– get-schema server database (povezuje se na server,

pronalazi šemu za bazu podataka i prikazuje je u JSON formatu)

– get-schema-version server database (vezuje se na server, pronalazi šemu za bazu podataka, i štampa broj verzije)

– list-tables server database (povezuje se na server, pronalazi šemu za bazu podataka i ispisuje tabelu sa spiskom imena svake)

– list-columns server database [table] (povezuje se na server, pronalazi šemu za bazu podataka i ispisuje tabelu sa spiskom imena i tipom svake kolone)

– transact server transaction (povezuje se na server, šalje zahtev za transakciju (JSON niz) sa jednom ili više OVSDB operacija i prikazuje dobijeni odgovor).

ovs-switchd modul

• ovs-vswitchd modul omogućava da svič komunicira sa kernel modulom preko netlink protokola

ovs-vswitchd modul

• Glavna komponenta sistema, koja:

– Komunicira sa spoljašnjim svetom preko OpenFlow-a

– Komunicira sa ovsdb serverom preko OVSDB protokola

– Komunicira sa kernel modulom preko netlink-a

– Komunicira sa sistemom kroz netdev abstract interfejs.

• Podržava više nezavisnih datapath-ova, klasifikuje pakete i podržava efikasan lookup za tokove koristeći wildcard masku za brzo rutiranje

• Implementira mirroring, bonding i VLAN-ove kroz modifikaciju flow tabele.

Ostale komponente

• ovs-vswitchd: daemon koji implementira svič zajedno sa Linuks kernel modulom za svičing tokova (flow based switching)

• ovsdb-server: lightweight server baze podataka koji odgovara na upite ovs-vswitchd

• ovs-vsctl: programski modul za upite i konfiguraciju ovs-vswitchd

• ovs-dpctl: tool za konfiguraciju i monitoring svič kernel modula

• ovs-appctl: programski modul koji šalje komande za izvršavanje daemon procesa

• ovs-contorller: Open Flow kontroler

• brocompat.ko: Linuks bridž modul

• openvswitch.ko: Open vSwitch datapath

Kreiranje grupa virtuelnih mašina povezanih na jedan open vSWitch

GRE i Open vSwitch

• OVS može da koristi GRE tunele između hostova za enkapsulaciju saobraćaja i kreiranje overlay mreža.

• Ovaj proces se sastoji iz tri koraka:– Kreiraju se posebni tuneli (izolovani bridž za

konektivnost virtulenih mašina)

– Kreiraju se krajnje tačke GRE tunela na svakom hipervizoru

– Dodaje se GRE interfejs i uspostavlja GRE tunel.

SDN primena

Floodlight

• Floodlight je open-source OpenFlow kontroler

• Napisan u Javi

• Jednostavni se instalira

• Može se primeniti u kombinovanim mrežama (kombinacija OpenFlow i non-OpenFlow mreža)

• Veliki broj komercijalnih svičeva(Brocade, Dell, HP,…) je kompatibilan sa ovim kontrolerom.

OpenDaylight

Koje funkcionalnosti se realizuju u SDN-u?• SDN aplikacije implementiraju kontrolnu logiku, koja se

preko niza komandi izvršava u okviru sloja prenosa podataka

• Mogu se realizovati različite funkcionalnosti:

– Rutiranje

– Traffic engineering

– Load balancing

– Performance management

– Security

– QoS

– …

Gde se primenjuje SDN?

• Naučno-istraživački centri

• Enterprise okruženje

• Data centri

• Servis provajderi

• Cloud okruženje

• …

SDN u campus okruženju

• SDN u campus okruženju donosi sledeće prednosti:– Brza primena novih servisa bez uticaja na

druge logičke mreže zahvaljujući virtuelizaciji

– Povećanje dostupnosti servisa zbog mogućnosti postojanje predefinisanih alternativnih putanja, što znatno smanjuje vreme konvergencije u poređenju sa tradicionalnim mrežama

– Izolacija saobraćaja logičkih mreža na L2i L3 slojevima

– Optimalno korišćenje resursa pošto su upravljanje, kao i servisi i aplikacije, virtuelizovani kako bi se optimalno koristili prostor i napajanje.

SDN u mobilnim mrežama

• Mobilni operatori mogu primeniti SDN u cilju kontrolisanja saobraćaja.

• OpenFlow kontroler komunicira sa ANDSF modulom (Access network discovery and selection function), koji pruža informacije o konektivnosti korisničkih uređaja i mobilnim mrežama, kako bi realizovao prebacivanje korisnika sa jednu na drugu mobilnu, pa čak i na Wi-Fi mrežu.

SDN u mrežama servis provajdera

• Servis provajderi mogu koristiti SDN za realizaciju različitih servisa, kao što je Bandwidth on Demand.

SDN u mrežama servis provajdera

• Servis provajderi mogu koristiti SDN za realizacijurazličitih servisa, kao što je QoS

SDN u mrežama servis provajdera

• Servis provajderi mogu koristiti SDN za realizaciju managed servisa umesto tradicionalnih managed servisa koji zahtevaju postojanje skupe opreme.

SDN tehnologija i Google

• Google primenjuje SDN za WAN mrežu od 2011. godine.

pubs/archive/41761.pdf

Zaključak

Zaključak

• Novi mrežnih servisi i aplikacije postavljaju visoke zahteve u pogledu skalabilnosti, dostupnosti i fleksibilnosti, koje tradicionalne računarske mreže sve teže ispunjavaju.

• Novi trend u projektovanju mrežne infrastrukture je okrenut ka uvođenju programabilnosti odnosno primeni softverski definisanih mreža.

• Izazovi:– Dizajn svičeva

– Izbor kontrolera i merenje performansi

– Broj i pozicija kontrolera umreži

– Problem single-point-of-failure i uvođenje više kontrolera

– Integracija sa postojećom mrežnom infrastrukturom

– …

Hvala na

pažnji!

University of Novi SadFaculty of Technical SciencesDepartment of Power, Electronic and

Telecommunication Engineering

Chair of Telecommunications and Signal Processing