fbpx

Mikä on Software Defined Networking (SDN) ja mitä hyötyä siitä on?

Software Defined Networking eli SDN on keskeinen teknologia, jota käytetään modernien pilvikonesalien rakentamiseen.

Haluaisitko ymmärtää, mikä on Software Defined Networking eli SDN ja tietää mihin sitä käytetään ja miksi? Tulit oikeaan paikkaan.

Tässä kirjoituksessa pyrin avaamaan näitä asioita yksinkertaisesti ja siten, että ei tarvitse olla tietoliikenneinsinööri ymmärtääkseen, mistä on kyse.

SDN mitä hyötyä

Käsitellään aluksi sitä, mitä Software Defined Networking eli SDN tarkoittaa.

Mikä on Software Defined Networking (SDN)?

Software Defined Networking eli SDN on konsepti, jossa tietoliikenneverkkoja ohjataan ohjelmallisesti. Suomeksi termi Software Defined Networking voisikin kääntyä ohjelmisto-ohjatuiksi verkoiksi.

Perinteisesti jokaisella verkkolaitteella on oma hallintaliittymänsä ja sitä on konfiguroitu erikseen.

Jokainen verkkolaite myös tekee omat pakettien kytkentäpäätökset sen mukaan, miten ne on konfiguroitu ja mitä ne ovat oppineet ympäristöstänsä.

Oheinen kuva esittää perinteistä verkkolaitetta.

Kolme erillistä kerrosta samassa verkkolaitteessa

Yksi SDN-verkon perusidea on erottaa pakettienvälitys (kuvassa kytkentä eli data plane) ja konfiguraatiot (kuvassa ohjaus eli control plane) toisistaan. SDN-ohjattu verkkolaite välittää paketteja siis sille ulkopuolelta annettujen ohjeiden mukaan.

SDN-verkoissa konfigurointi tapahtuu keskitetysti ja konfiguraatiot välitetään ohjelmallisesti yksittäisille verkkolaitteille. Alla oleva kuva esittää tätä tilannetta.

kontrollikerros on erillään kytkentäkerroksesta

Jotta olisi helpompi ymmärtää, minkä ongelman SDN ratkaisee, käsitellään hieman perinteisten verkkojen ongelmia.

Perinteisessä konesaliverkossa verkkolaitteita konfiguroidaan yksi kerrallaan

IT-ympäristöissä palvelimia pystytetään pääsääntöisesti virtuaalisesti. Palvelimen asennus ja konfigurointi on helppoa ja nopeaa, vaikka sen tekisi käsin. Samaa ei kuitenkaan voi sanoa verkosta.

Oletetaan, että halutaan pystyttää web-palvelu, joka pitäisi julkaista internetiin. Itse web-palvelu on hyvin helppo pystyttää. Ongelmat alkavat tietoliikenteestä. Yhden palvelun julkaisemiseksi pitää konfiguroida monta verkkolaitetta. Oheinen piirustus kuvaa tätä tilannetta.

Perinteinen verkko

Ylläpitäjän pitää kirjautua jokaiseen laitteeseen erikseen ja tehdä tarvittavat muutokset. Reitittimessä pitää konfiguroida reititys. Reitityksen lisäksi palvelinta varten pitää tehdä palomuurisäännöt, kuormanjakoa varten pitää tehdä omat säännöt jne.

Isossa ympäristössä muutoksia varten on omat tiimit tai vähintään henkilöt, jotka ovat erikoistuneet kyseiseen laitteeseen. Tämä kaikki vie tyypillisesti vähintään päiviä, usein jopa viikkoja.

Ongelmia on siis ainakin kolme:

  • Joka laitteessa on oma hallintaliittymä, johon ylläpitäjän pitää kirjautua muutoksia varten.
  • Yksinkertaisetkin muutokset pitää tehdä käsin.
  • Muutoksia varten tarvitaan tyypillisesti useita eri henkilöitä

Perinteisessä tietoliikenneverkossa on toki muitakin ongelmia, mutta keskitytään tässä kirjoituksessa tämän ongelman ratkaisemiseen SDN-verkon avulla.

SDN mahdollistaa keskitetyn laitteiden hallinnan

Vaikka keskitetyn hallinnan voi toteuttaa muutenkin kuin SDN:n avulla, SDN mahdollistaa laitteiden keskitetyn konfiguroimisen automaattisesti.

Kun tarvitaan verkkomuutos, se voidaan tilata API-rajapinnan kautta ohjelmallisesti. Kun kontrollikerros saa tiedon muutostarpeesta, se voi tehdä konfiguraatiomuutokset tarvittaviin laitteisiin tähän tarkoitukseen sopivan protokollan avulla automaattisesti. Yksi tähän käytetty protokolla on Openflow.

Verkkolaitteiden keskitetystä hallinnasta on hyötyä kaikissa ympäristöissä, mutta mitä suuremmasta verkosta on kyse, sitä enemmän keskitetty hallinta tuo hyötyjä.

Suuret pilvipalvelujen tarjoajat pitävät tällä tavalla yllä verkkoja, jotka koostuvat sadoista ja tuhansista verkkolaitteista. Ilman hyvin toimivaa automatisoitua hallintaa ylläpito muodostuisi nopeasti mahdottomaksi.

Alla oleva kuva esittää tilannetta, jossa SDN:n avulla ohjataan verkkolaitteita.

SDN-arkkitehtuurin periaate

Keskitetty, automaattinen hallinta ei ole ainoa etu, mitä SDN tuo.

SDN nopeuttaa verkkomuutosten tekemistä

SDN-arkkitehtuurin avulla verkkomuutosten tekeminen käy nopeasti. Aiemmin verkkomuutosten tekemiseen tarvittiin verkkoasiantuntijoita, jotka kirjautuivat laitteisiin yksitellen ja tekivät tarvittavat muutokset syöttämällä tarvittavat komennot komentorivin kautta.

SDN:n avulla muutokset voidaan tehdä automaattisesti tarvittaviin laitteisiin. Kytkimille voidaan kertoa uusista laitteista, reitittimille voidaan kertoa uusista IP-verkoista, palomuureihin voidaan lisätä uusia sääntöjä ja kuormantasaajille voidaan kertoa, miten liikennettä tulisi ohjata.

SDN-verkkojen avulla kaikki muutokset voidaan tehdä ohjelmallisesti ilman, että kenenkään tarvitsee alkaa selittämään tietoliikenneasiantuntijoille, mitä pitäisi tehdä.

Tämä alkaa kuulostamaan juuri siltä, mitä pilvipalvelut tekevät.

Pilvipalvelut hyödyntävät SDN-arkkitehtuuria. SDN:n avulla pilvipalvelu luo asiakkaan tarvitsemat verkot ja verkkopalvelut automaattisesti.

Pilvipalvelut hyödyntävät SDN-arkkitehtuuria. SDN:n avulla pilvipalvelu luo asiakkaan tarvitsemat verkot ja verkkopalvelut automaattisesti.

On olennaista ymmärtää, että SDN:n avulla voidaan ohjata niin virtualisoituja verkkolaitteita kuin fyysisiäkin verkkoja. Virtuaalipalvelinten omat virtuaaliverkot eivät enää ole oma kokonaisuutensa, joka elää omaa elämää fyysisiin verkkolaitteisiin verrattuna. Ne kaikki muodostavat nyt yhden kokonaisuuden.

SDN mahdollistaa asiakkaiden pitämisen erillään

Yksi SDN-arkkitehtuurin etu on siinä, että verkkolaitteet eivät tiedä muusta maailmasta mitään muuta kuin sen, mitä controller niille kertoo.

Verkkolaite ei hyväksy paketteja mistään muualta kuin niiltä laitteilta, joista controller on sille kertonut. Laite ei myöskään osaa välittää paketteja mihinkään muuhun osoitteeseen kuin niihin, joista controller on sille kertonut.

Juuri tähän perustuu julkipilvessä eri asiakkaiden tietoliikenteen pitäminen erillään. Koska kytkimet ja muut verkkolaitteet eivät tiedä muista asiakkaista mitään, niiden kautta ei pysty myöskään hyppäämään muihin verkkoihin.

Perinteisessä verkossa asiakkaita eriytetään asiakaskohtaisten virtuaalilanien (VLAN) avulla. VLAN ei ole varsinaisesti tietoturvateknologia, vaikka sitä käytetäänkin verkkojen eriyttämiseen.

VLAN-verkoissa liikenteeseen lisätään tagi, jonka perusteella kytkin päättää sen välittämisestä oikeaan porttiin. Kytkin välittää liikennettä vain VLANin sisällä, mutta se on kuitenkin tietoinen muistakin verkoista toisin kuin SDN:n avulla toteutettu verkko.

Koska SDN-ohjattu verkkolaite on autuaan tietämätön muista verkoista, mahdollistaa se paremman tietoturvan kuin perinteisellä tavalla toteutettu verkko.

Tilaa ILMAINEN opas

Opas pilvi konesali

Pilvistrategian laatimiseksi

Tilaa ilmainen 32-sivuinen opas, jossa kerron, mitä ottaa huomioon, kun haluat uudistaa IT-ympäristöä pilvipalvelujen avulla.

 

 

Missä SDN:ää voi käyttää?

SDN-arkkitehtuuri on hyvin monipuolinen ja sitä voikin käyttää monessa erilaisessa kohteessa:

  • Konesaliverkon voi toteuttaa SDN-verkkona. Konesalissa SDN mahdollista verkon ylläpidon automatisoinnin ja moniasiakasympäristössä asiakkaiden pitämisen erillään. Mitä isompi verkko, sitä enemmän hyötyä SDN:stä on. Isot julkipilvitarjoajat kuten Amazon AWS, Microsoft Azure ja Google toteuttavat verkoissansa SDN-arkkitehtuuria.
  • Toimipisteiden yhdistäminen (SD-WAN). SDN-verkkojen periaatteita voi käyttää myös WAN-verkkoja rakennettaessa. Tällöin puhutaan SD-WAN-verkoista.
  • Ohjelmistoja kehitettäessä hyödynnetään yhä enemmän automaatiota. DevOpsin tarkoituksena on madaltaa ohjelmistokehityksen ja infran raja-aitoja. DevOps-tiimeissä on sekä ohjelmistokehittäjiä että infran osaajia. SDN tukee DevOpsin tarvitsemaa automaatiota. Siksi SDN on keskeinen teknologia rakennettaessa automaation avulla toteutettavia uusia ympäristöjä.

Jos sinusta tuntuu, että haluaisit saada yhden SDN-verkon, mitä voit tehdä? Käsitellään sitä seuraavaksi.

Erilaisia SDN-toteutuksia

Erilaisia SDN-toteutuksia on hyvin paljon. Osa SDN-toteutuksista on kaupallisia, kuten VMware NSX tai Cisco ACI. Iso osa perustuu avoimeen lähdekoodiin. Jos olet kiinnostunut avoimen lähdekoodin ratkaisuista, kannattaa tutustua esimerkiksi ONOS-kontrolleriin. Muutenkin voi olla fiksua tutustua siihen, mitä Open Network Foundationissa tapahtuu.

Käsitellään kuitenkin lyhyesti kahta erilaista kaupallista SDN-toteutusta. Ensimmäinen niistä on VMware NSX.

VMware NSX

NSX on VMwaren SDN-toteutus. NSX on tarkoitettu erityisesti konesaleihin, joissa on käytössä muutakin VMwaren virtualisointitekniikkaa.

  • NSX tukee mikrosegmentointia
  • NSX tarjoaa RESTful API-rajapinnan, jonka kautta voi konfiguroida ohjelmallisesti verkkoja ja tietoturvaa. APIn kautta voidaan automatisoida verkkojen, palomuurien ja muiden L4-L7-palvelujen luominen. NSX voi toimia osana esimerkiksi OpenStack-toteutusta.

NSX mahdollistaa useiden konesalien yhdistämisen niin, että joka konesalista löytyvät samat verkot ja samanlainen tietoturva.

Cisco ACI

Cisco ACI on yksi Ciscon SDN-arkkitehtuuria hyödyntävistä konsepteista. ACI tulee sanoista Application Centric Infrastructure.

  • Cisco ACI tarjoaa API-rajapinnan koko verkon konfiguroimiselle ohjelmallisesti.
  • ACIn idea on myös hoitaa kaikki konfiguroiminen keskitetysti yhden verkon policyt sisältävän kontrollerin (Application Cenric Infrastructure Controller) avulla.
  • ACI mahdollistaa mm. verkon mikrosegmentoinnin ja muut temput, millä tietoturvaa voidaan kohdistaa hyvin pieneen verkon osaan ilman työlästä käsin konfiguroimista.
  • Cisco lupaa, että ACIn avulla asiakas voi hallita verkkoja niin omassa konesalissa kuin esimerkiksi Azuressa, AWS:ssä tai Google Cloudissa. Ciscon Multi-Site Orchestration (MSO) -palikalla voidaan kytkeä niin Onprem-konesalit kuin cloud toisiinsa ja hallita tietoturvaa tutulla Ciscon tavalla.

ACI tekee toki paljon muutakin samoin kuin NSX. Kannattaa tutustua näihin tarkemmin valmistajien sivuilla, jos aihe kiinnostaa.

Jos olet uusimassa verkkoa lähiaikoina tai kilpailuttamassa ulkoistuspalvelua, kannattaa varmasti huomioida SDN-verkot näissä hankinnoissa. Lue kirjoitukseni siitä, miten voit laatia hyvän ulkoistustarjouspyynnön. Löydät sen täältä.

Yhteenveto

Kuten varmasti huomasit, Software Defined Networking mahdollistaa verkkojen konfiguroimisen automatisoinnin ja verkkomuutosten tilaamisen ohjelmisto-ohjatusti.

Jokaista laitetta ei tarvitse enää konfiguroida käsin, vaan policyt voidaan ajaa laitteisiin keskitetysti. SDN perustuu automaatioon, jonka ansiosta asiat tapahtuvat aiempaa nopeammin.

Mitä hyötyä on siitä, että toteuttaaa ohjelmisto-ohjatun verkon? Minulle tuli mieleen ainakin seuraavia hyötyjä:

  • Verkon konfiguroiminen nopeutuu, koska koko konfigurointi tapahtuu automaattisesti.
  • Koko verkon konfiguraatio on tiedossa yhdessä paikassa ja siten helpommin hallittavissa.
  • Useat eri sovellukset voivat tilata verkkomuutoksia automaattisesti. Esimerkiksi pilvipalvelussa käyttöliittymä voi välittää pyynnön uuden verkkopalvelun luomisesta.
  • Tietoturva paranee, koska verkkolaitteet eivät voi välittää paketteja muualle kuin niihin portteihin, joihin niiden on käskettykin olla yhteydessä.
  • Tietoturvaloukkauksista ja vikatilanteista toipuminen nopeutuu, koska laitteiden konfiguroiminen uudelleen on hyvin nopeaa.
  • Laajojen verkkojen rakentaminen ja ylläpito helpottuvat.
  • SDN:n avulla voidaan rakentaa entistä isompia konesaleja ja näyttää niitä asiakkaille yhtenä isona resurssipoolina.

Oletko uudistamassa konesaliympäristöä tai viemässä palveluita pilveen? Silloin tulet varmasti olemaan tekemisissä Software Defined Networking -arkkitehtuurin kanssa.

Jos olet viemässä palveluita pilveen, olet varmasti kiinnostunut pilvistrategian laatimisesta. Oletko jo lukenut laatimani oppaan pilvistrategian laatimiseksi? Pääset lataamaan sen täältä.

Pilvitarjoajien vaatimukset ovat muuttaneet tapaa, jolla verkkoja rakennetaan ja hallitaan. SDN on vain yksi palapelin osa isommassa kokonaisuudessa.

Tulen käsittelemään tulevissa kirjoituksissa muitakin pilvipalvelujen vaatimia teknologioita. Jos haluat saada tiedon kirjoituksista ensimmäisten joukossa, tilaa uutiskirjeeni.

Tilaa uutiskirjeeni

Saat tiedon uusista artikkeleista suoraan sähköpostiisi.

Annan luvan tallentaa tietoni ja hyväksyn tietosuojakäytännön.

Vieritä ylös