Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Met de visie Open Network Stack werkt SURF aan een netwerkplatform gebaseerd op open-sourcesoftware en open hardware (white label switches). Hiermee willen we minder afhankelijk worden van leveranciers, sneller kunnen innoveren en het internet veiliger maken. We werken Hierbij maken we gebruik van open source community projecten en werken we nauw samen met onderzoekers van aangesloten instellingen om dit te bereiken.

Afhankelijkheid van leveranciers verkleinen en sneller innoveren

Het doel van de Open Network Stack is om minder afhankelijk te worden van de bekende grote marktpartijencommerciële leveranciers. Als we in de huidige situatie willen experimenteren met een nieuw netwerkprotocol, dan moeten we wachten tot een leverancier dit protocol in zijn routers ondersteunt. Dat doen leveranciers meestal pas als een groot deel van hun klanten daarom vraagt. Wij willen echter al in een veel vroeger stadium kunnen experimenteren met nieuwe protocollen. Door te werken met open-sourcesoftware en white label switches wordt dat mogelijk: iedereen in de community kan dan nieuwe protocollen toevoegen aan het open-sourceproject.

Het internet veiliger maken

Open software

Een tweede doel is het veiliger maken van het internet (<link>hardening the internet). Door open-sourcesoftware te gebruiken kan iedereen de broncode bekijken en op zoek gaan naar achterdeurtjes en bugs. En vervolgens de software veiliger maken door de bugs op te lossen.

Open hardware

De bouwstenen

Om bovenstaande doelen te bereiken maken we gebruik van een aantal community projecten op basis van open source en open hardware. Een belangrijke element daarin is de opkomst van disaggregatie van netwerkswitches die de laatste jaren ontstaan is. Hierbij Van white label switches zijn de specificaties en het ontwerp bekend, waardoor iedereen kan zien welke chips er precies in het apparaat gebruikt worden. Bij white label switches die via de taal P4 programmeerbaar zijn, is de precieze interne werking van de switch inzichtelijk en controleerbaar.
Sinds een aantal jaren is er een nieuwe markt voor netwerkapparatuur. Hierbij is de hardware (switch) losgekoppeld van de software (het Network Operating System, ofwel NOS). Dit wordt ook wel (netwerk)disaggregatie genoemd. Op deze switches kun je via een boot loader (Open Network Install Environment, ofwel ONIE) een NOS laden. Het  Het voordeel is dat je voor zowel de hardware als de software de voor jou beste leverancier kunt kiezen (“best of breed”). Er zijn bedrijven die zich puur op de hardware richten, zoals Accton/EdgeCore, Quanta, Inventec, Delta Networks. Daarnaast zijn we bedrijven die zich puur op de software richten, zoals Cumulus Networks en Pica8. Maar er zijn ook bedrijven die zowel hardware als software leveren, zoals Mellanox en Dell.

Open hardware (white label switches)

De laatste jaren zijn er switches op de markt gekomen die de ONIE (Open Network Install Environment) boot loader ondersteunen. Tijdens booten kun je naar een "install mode" gaan waarin je een NOS op de switch kunt laden. De switch stuurt daarbij een DHCP request waarna een server naast het IP adres ook de locatie van het NOS meegeeft.

P4 switches

De meeste ONIE switches werken nog met "fixed function" ASIC's. Daarbij zijn de netwerkprotocollen die de switch herkent (de functies) ingebakken (fixed) in de ASIC. Ook de lookup tabellen hebben een vooraf vastgestelde functie, zoals een ACL tabel, een MAC tabel, een host route tabel, een longest prefix tabel, etc. Indien je een nieuw netwerkprotocol toe wilt voegen dan moet je een nieuwe ASIC ontwikkelen.

FRRouting

Dat is een process dat zo'n vijf jaar in beslag neemt.

Sommige switches hebben echter een programmeerbare chip (bv de Tofino chip van Barefoot Networks). Daarin kan de parser voor het herkennen van netwerkprotocollen geprogrammeerd worden. Ook de lookup tabellen zijn programmeerbaar. Op die manier kan ieder willekeurig protocol in de chip geprogrammeerd worden. Dit programmeren kan d.m.v. een domeinspecifieke programmeertaal: P4.

SONiC (Software for Open Network in the Cloud)

Een van de open source Network Operating Systems die we bekijken is SONiC. Dit project is ontstaan bij Microsoft en wordt in hun Azure cloud gebruikt. Het is inmiddels echter een community project waar meerdere partijen aan mee ontwikkelen. Het NOS is verantwoordelijk voor de aansturing van basis functies zoals fans, voedingen, LED's en optics. Maar het bevat ook een L2/L3 netwerk stack. Het L3 deel van de netwerk stack is Free Range Routing (FRR), een "fork" van Quaggua.

FRRouting (FRR)

FRR is een goed voorbeeld van een open source project op het gebied van networking. FRR (een fork van Quaggua) is routeringssoftware met FRR  iondersteunt o.a BGP, OSPF en IS-IS. FRR wordt steeds vaker gebruikt als platform waar referentie-implementaties van nieuwe protocollen en extensies van bestaande protocollen aan toegevoegd worden. Dit gebeurt door ontwikkelaars die vaak ook in de IETF actief zijn.

Cumulus Networks (een leverancier van een commercieel NOS) gebruikt FRR als routing stack in hun NOS. Cumulus heeft een beleid waarbij ze uitbreidingen die ze voor hun commerciële NOS schrijven zoveel mogelijk als open source delen (upstreamen) met bv Linux, maar ook met FRR. Zo heeft Cumulus bv VRF en EVPN ondersteuning toegevoegd aan Linux en FRR.

 

 

Ronald van der Pol (16 augustus 2018)Meedoen?

Meedoen?

Heb je ideeën of wil je experimenten met P4-switches op het SURFnet-testbed? Meld je dan aan via nip@surfnet.nl