Fernando Kuipers van TU Delft over sentient networks
Fernando Kuipers is Associate Professor aan de TU Delft. Hij doet er onder meer onderzoek naar wat hij noemt ‘sentient networks’. Aanstaande donderdag 14 maart zal hij daar wat meer over vertellen tijdens Cisco’s Connect & Secure 2019-event in Amersfoort. Dutch IT-channel sprak vooraf met hem over de aard en achtergrond van zijn onderzoekswerk.
Op zijn site (https://fernandokuipers.nl) presenteert hij zich als internet scientist. De indrukwekkende lijst met publicaties daar laat zien met wat voor soort onderwerpen Kuipers zich de afgelopen twee decennia heeft beziggehouden. In 2004 promoveerde hij cum laude op het proefschrift ‘Quality of Service Routing in the Internet: Theory, Complexity and Algorithms’. Een betere keynote-spreker kun je je nauwelijks wensen als je bedrijf Cisco heet. Cisco begon al in 1984 met de ontwikkeling van routers, om vervolgens uit te groeien tot de wereldwijd opererende netwerkgigant die het nu is.
The Internet of Senses
Een van de gebieden waarop Kuipers tegenwoordig onderzoek doet is ‘The Internet of Senses’, een logische vervolgstap op het Internet of Things (IoT). Daarbinnen richt hij zich met name op de ontwikkeling van een tactiel internet. Via zo’n ‘Internet of Touch’ moet bijvoorbeeld een chirurg straks met behulp van een robotarm vanaf afstand een patiënt kunnen opereren met dezelfde gevoelservaring als in de situatie waarin hij die patiënt direct onder zijn handen op de operatietafel heeft. En je kunt ook de andere zintuigen vanaf afstand prikkelen, zegt hij. “Denk aan een internet van geur – we hebben al de ‘e-nose’. Of denk aan een internet van smaak waarmee we straks wellicht dingen in het grondwater kunnen opsporen. Zo zijn er legio applicaties in aantocht die bepaalde extra garanties van het netwerk verlangen, zoals een super lage latency van niet meer dan 1 ms en super hoge betrouwbaarheid. Daar zal het netwerk een antwoord op moeten vinden.”
Zichzelf inregelende netwerken
Kijken we naar hoe het netwerk tegenwoordig gemanaged wordt, zegt Kuipers, dan gebeurt dat veelal nog op basis van een technologie die zo’n veertig jaar geleden ontwikkeld werd en die fundamenteel gezien in al die jaren nauwelijks is veranderd. “Een van de dingen die ik bijvoorbeeld ontdekte, is dat er in de loop der tijd een hoop protocollen zijn ontwikkeld zonder oog te hebben voor de omgeving waarin ze uiteindelijk gaan draaien. Zo hebben wij onderzoek gedaan naar ‘congestion control’. Denk aan TCP/IP. Daar heb je wel veertig of meer varianten van. In mooie papers wordt beschreven dat zo’n nieuw protocol goed is voor een bepaalde situatie. Maar als die verschillende varianten sámen in het netwerk worden losgelaten, dan blijkt het niet te werken omdat de een de ander eruit drukt.”
Het liefst zou Kuipers zien dat dergelijke zaken door het netwerk zelf worden opgelost. “Het netwerk heeft een hele hoop data tot zijn beschikking, afkomstig van sensoren, allerlei metingen, et cetera, en kan eigenlijk veel beter zichzelf inregelen op basis van die data en de kennis die het gaandeweg over zijn eigen structuur en elementen heeft opgedaan.”
Sentient networking vs intent-based networking
Kuipers doet onderzoek naar de noodzakelijke ingrediënten voor dat soort zichzelf inregelende netwerken, die hij aanduidt met de term ‘sentient networks’. Een soort ‘voelende’ netwerken dus die op basis van allerlei gewaarwordingen ín het netwerk komen tot een betere controle ván het netwerk. Het idee van sentient networking sluit volgens Kuipers goed aan bij de visie die Cisco uitdraagt met ‘The Network Intuitive’ gebaseerd op het ‘intent-based networking’-concept.
“Ook wij hebben onderzoek gedaan op het gebied van intent-based networking. Het idee daar is dat je je netwerk wel vertelt wát het moet doen, maar niet hóe het dat precies moet doen. Dat moet het netwerk zelf uitvinden. Daarvoor hebben wij een specifieke ‘intent-taal’ ontwikkeld die heel dicht tegen de spreektaal aanzit. Gebruik je die taal, dan vertaalt het netwerk de door jou gegeven opdrachten zelf in programmacode waarmee het zijn netwerkdevices op de gewenste manier aanstuurt .” Kuipers vergelijkt het met autorijden. Dat kun je doen zonder dat je hoeft te weten hoe de motor in elkaar zit. Datzelfde moet gaan gelden voor het managen van netwerken en dat is precies wat met intent-based networking wordt beoogd.
Netwerk-programmeerbaarheid
Als je een netwerk wilt dat zichzelf moet kunnen inregelen, dan heb je een netwerk nodig dat programmeerbaar is, legt Kuipers vervolgens uit. Dat betekent dat allerlei functionaliteit die voorheen alleen in de hardware zat ingebakken, ook in software beschikbaar moet worden gemaakt. Op het vakgebied dat daarvoor werd ontwikkeld (Software-Defined Networking, of SDN) is de afgelopen jaren de nodige vooruitgang geboekt. Een belangrijke stap was de ontkoppeling van een in hardware gegoten ‘data plane’ – voor het supersnel forwarden van pakketjes in de netwerkapparatuur – en een programmeerbare, in software gegoten ‘control plane’ waar het berekenen van de forwarding-tabellen plaatsvindt. Die ontwikkeling, waarin het OpenFlow-protocol een belangrijke rol speelde, maakte het netwerk echter nog niet vollédig programmeerbaar.
De stap naar honderd procent netwerk-programmeerbaarheid werd sterk gestimuleerd door de ontwikkeling van de netwerktaal P4. Daarmee kun je een switch helemaal zelf programmeren en hem precies vertellen hoe hij bepaalde pakketjes of andere zaken moet behandelen. Aldus werd ook de data plane zelf programmeerbaar en werd eigenlijk het héle netwerk in principe programmeerbaar gemaakt. “P4-code programmeren vereist echter nogal wat oefening”, stelt Kuipers. “En via die intent-taal, waar ik het zojuist over had, kun je jouw opdrachten nu als het ware in spreektaal beschrijven, waarna ze automatisch worden vertaald in P4-code die automatisch wordt geïnstalleerd op de betreffende switches. Dat werkt via een bepaalde repository van P4-codes, waarbij op basis van de aangegeven intent verschillende stukjes van die code aan elkaar worden geplakt.”
Het verschil met sentient networking is dat Kuipers daarmee nog een stap verder wil gaan. “Dan wil ik niet meer een systeem hebben dat vooraf geprogrammeerd is op de manier van: als je dit tegenkomt dan moet je dat doen. Met behulp van de inzet van Artificial Intelligence wil ik het netwerk zoveel intelligentie meegeven dat het ook zelf nieuwe netwerkfunctionaliteit kan creëren. Dat is een deel van het onderzoek waar ik momenteel mee bezig ben en waarover ik ook het een en ander zal vertellen op het komende Cisco-event.”
Toekomstig onderzoek
Ter afsluiting van ons gesprek noemt Kuipers desgevraagd drie belangrijke probleemgebieden die nog het nodige onderzoek vereisen. Ten eerste zijn er een hoop problemen waar men algoritmiek voor heeft ontwikkeld die niet blijkt te werken als je die implementeert op programmeerbare P4-switches. Dat komt, zegt Kuipers, omdat die switches veelal een beperkt geheugen hebben. Dat betekent dat je voor een hoop problemen moet gaan uitzoeken of de oplossingen die men daar voorheen voor ontwikkeld heeft, nog wel toereikend zijn.
“En in de context van IoT speelt iets dergelijks”, voegt hij daar direct aan toe. “Want op dat vlak spreken we ook over apparaten die vaak qua batterijen, cpu en meer van dat soort zaken over zeer beperkte voorzieningen beschikken. Dat vergt een heel andere manier van denken. Dus of wij concepten als SDN en netwerk-programmeerbaarheid ook in die IoT-context kunnen inzetten, is de vraag.”
En een derde vraagstuk betreft complexiteit. Omdat veel protocollen en algoritmen vaak onafhankelijk van elkaar zijn ontwikkeld, is volgens Kuipers met name op dat vlak nog veel winst te behalen. Hij heeft dat ooit zelf laten zien op het gebied van het routeren van Quality of Service (QoS). QoS routeren is een zogeheten NP-volledig probleem, legt hij uit. Dat is een wiskundige term om te zeggen: wil je dat exact oplossen, dan heb je heel veel rekentijd nodig, met name als je netwerk groeit. Kuipers toonde aan dat door een slimmere inrichting van de samenwerking van een bepaald protocol en het bijbehorende algoritme voor het verlenen van Quality of Service het betreffende probleem een stuk makkelijker werd gemaakt.
“Dus ik heb het idee”, rond Kuipers af, “dat als je op een slimmere manier bepaalde netwerkbouwstenen aan elkaar weet te koppelen, dat je dan veel efficiënter met het netwerk kunt omgaan en dit soort lastige problemen dus eigenlijk kunt vermijden. Dit en de beide andere genoemde zaken zijn een aantal speerpunten binnen mijn onderzoek waar ik de komende tijd nog wel even zoet mee ben."
https://connectandsecure2019.nl/
Door: Dick Schievels