# Internet exchange

Een internet exchange is een organisatie die haar leden (of klanten in geval van een commerciële exchange) een netwerk-platform biedt waarop de aangesloten partijen IP-verkeer met elkaar kunnen uitwisselen.
Er bestaan in principe twee typen internet exchanges:
* (meestal) not-for-profitorganisaties, vaak opgericht door internetproviders die een neutraal platform bieden en waarvan in principe elke internetprovider die voldoet aan de technische eisen lid kan worden. De meeste van deze neutrale exchanges maken gebruik van één of meer onafhankelijke co-locatiepunten waar ze een ethernet netwerk aanbieden waarop providers dan hun routers kunnen aansluiten
* commerciële exchanges: dit zijn vaak aanbieders van backbone-diensten die behalve (ethernet) vaste verbindingen tussen twee punten ook een mogelijkheid bieden om verbindingen op te zetten met andere klanten van dit bedrijf. In tegenstelling tot de non-profit exchanges die hun dienst aanbieden op een aantal fysieke locaties zijn deze commerciële aanbieders niet locatie-gebonden: als je klant bent van het organiserende bedrijf en een aansluiting hebt op hun netwerk kan je -meestal via een eigen VPN of eventueel via een eigen fysieke aansluiting- ook aansluiten op hun peering-diensten. Dit kan opgezet worden via point-to-point-koppelingen waarbij de twee partijen zelf afspraken maken over het uitwisselen van verkeer, en waarbij de routers IP-adressen gebruiken van een van de twee klanten, of het wordt opgezet via een multi-point broadcast netwerk en waarbij de dienstaanbieder de gebruikers IP-nummers voor het uitwisselen van verkeer aanbiedt.

## Principe internet exchange

De klassieke internet exchange, zoals de Amsterdam Internet Exchange of de London Internet Exchange, bestaan eenvoudig gezien eigenlijk alleen uit een switched ethernet netwerk waarop de leden hun router aansluiten. De peering interface van die router (die dus op het platform is aangesloten) krijgt een IP-adres van de internet exchange organisatie, en vervolgens kunnen de leden onderling verkeer gaan uitwisselen via het Border Gateway Protocol of BGP-4 protocol. Hiervoor moeten de leden individueel afspraken maken met elke peering-partner en een BGP sessie configureren in hun router.
Een alternatief is om gebruik te maken van een centrale server: leden die dat willen kunnen deelnemen aan een route-server: zij wisselen niet op een individuele basis verkeer uit met andere leden, maar ze zetten een sessie op met een speciale router van de exchange-organisatie. Vervolgens kunnen alle andere leden die ook gebruikmaken van deze dienst verkeer gaan uitwisselen met elkaar via de centrale route-server. Dit bespaart administratieve overhead omdat je niet met elke peering partner apart een overeenkomst hoeft af te sluiten.
Deze centrale diensten worden meestal alleen door de wat kleinere providers gebruikt: de grootste spelers willen namelijk helemaal geen peering-sessie met de kleine providers opzetten: zij bieden alleen peering overeenkomsten aan met de heel grote andere netwerken waarbij een minimale hoeveelheid verkeer wordt uitgewisseld en waarbij ook wordt afgesproken dat het ingaande en uitgaande verkeer niet te veel van elkaar mag afwijken. Kleinere providers mogen wel verkeer uitwisselen met deze grote partijen, maar dan in de vorm van transit-verkeer: hierbij biedt de grote provider niet alleen routes aan naar hun eigen IP-nummers (+IP nummers van haar klanten) maar bieden ze wereldwijde connectie. De kleine provider moet dan gewoon betalen voor dit transitverkeer.
Het is echter voor elke provider gewenst om zo veel mogelijk verkeer uit te wisselen via peering. Omdat in het verleden (rond de eeuwwisseling) alle providers onderling verkeer uitwisselden via peering (met gesloten beurs) zijn er relatief kleine providers die toch peering-overeenkomsten hebben met heel grote andere providers, maar nieuwe spelers zullen alleen lokale peering-overeenkomsten kunnen afsluiten met de kleinere providers.
Ook zijn er globale internet providers die alleen regionaal verkeer peeren: je kan dan bijvoorbeeld in Amsterdam alleen Europees verkeer uitwisselen, maar als je ook verkeer van/naar Amerika via peering wil uitwisselen dan zal je dat in een internet exchange in de USA moeten regelen. Ook dit doen de grote providers om te voorkomen dat kleine partijen peering overeenkomsten misbruiken om voor heel weinig geld connectie te hebben met een groot deel van de wereld op kosten van de grote providers.

## Huidige structuren

Van oorsprong werd een internet exchange gerealiseerd door gebruik te maken van een enkele of twee gekoppelde co-locatie ruimtes waar de internet exchange organisatie dan een ethernet LAN realiseerde om de routers van de leden op aan te sluiten. Als er twee locaties waren dan werden de ethernetswitches van de ene locatie gekoppeld met de switches van de andere locatie via de destijds snelste technologie. De huidige internet exchanges hebben vaak een veel complexere structuur waarbij meerdere co-locatie sites zijn betrokken en daarbij wordt elke locatie ten minste fysiek gekoppeld aan twee andere locaties, maar in principe vormt het exchange-netwerk nog steeds een broadcast domein en krijgen de router-interfaces van de leden elk een IP-adres uit hetzelfde subnet.
De allereerste internet exchanges gebruikten overigens niet alleen ethernet: vooral in Amerika zijn er ook exchanges die de leden koppelen via Frame Relay, ATM en FDDI. Voorbeelden hiervan zijn de bekende exchanges MAE-East en MAE-West van MCI

### Redundantie

Omdat internet exchanges echt een zeer centrale en essentiële rol vervullen in het wereldwijde internet worden er hoge eisen gesteld aan de uptime van het platform als zodanig. Er zijn globaal drie manieren om het peering verkeer tussen internetproviders te garanderen:
* redundantie in de infrastructuur van een bepaalde internet exchange
* redundantie van de provider binnen een bepaalde internet exchange
* redundantie van de providers door verkeer uit te wisselen via verschillende exchanges

### Redundantie in de infrastructuur

De ethernet netwerken die worden aangeboden door de exchanges zijn veelal zeer robuust en op vele punten redundant uitgevoerd. Enkele voorbeelden hiervan zijn:
   * een internet exchange is verspreid over meerdere co-locatie faciliteiten op fysiek verschillende locaties en van verschillende aanbieders/bedrijven
   * de verschillende locaties zijn onderling gekoppeld via ten minste twee gescheiden netwerk-paden en waar mogelijk gekoppeld met verschillende (core)switches op een locatie
   * de switches binnen een locatie zijn onderling ook meervoudig gekoppeld: de uitval van een enkele interface waarmee switches onderling gekoppeld zijn zal nimmer een switch isoleren van de rest van het netwerk
   * de switches zijn voorzien van meerdere voedingen, ventilatoren en eventueel ook meerdere management-kaarten etc.
   * het aanbieden van een dubbele infrastructuur. De London Internet Exchange heeft bijvoorbeeld twee geheel gescheiden switching platformen op alle locaties en een lid van LINX krijgt standaard een aansluiting op elk platform: als het ene switching platform uitvalt zal het andere platform normaliter gewoon beschikbaar blijven.
   * de technische eisen aan elke co-locatie faciliteit zijn hoog: zo moet de stroomvoorziening zeer betrouwbaar zijn en beschermd tegen korte en langere stroom-onderbrekingen via UPS systemen (Uninteruptable Power Supply) en daarnaast één of meer Nood-aggregaten of NSAs. Elke switch zal worden aangesloten op gescheiden voedingsbronnen en gescheiden UPS systemen
   * de co-locatie ruimte moet gegarandeerde koeling bieden: een enkele uitval van een koelmachine of stroomgroep mag nimmer leiden tot te weinig koelvermogen
   * de co-locatie ruimte moet een afdoende Brandpreventie, brand-detectie en brand-bestrijdings-systeem hebben
   * de fysieke beveiliging van de locatie is belangrijk: ongeautoriseerde personen mogen geen toegang hebben tot de ruimtes en er moeten ook heel duidelijke procedures bestaan met betrekking tot netwerk-wijzigingen: alleen een geautoriseerd persoon mag wijzigingen in (koper of glasvezel) verbindingen en patchkasten doorvoeren.

### redundantie van de provider binnen een bepaalde internet exchange

Hoewel de internet exchange beheerder zo veel mogelijk redundantie zal inbouwen in de infrastructuur van de internet exchange moet ook de internetprovider cq. deelnemer maatregelen nemen: als de provider slechts een enkele router met een gekoppelde interface naar het peering netwerk heeft dan zal een enkelvoudige storing aan die router of de switchpoort van de exchange tot het uitvallen van verkeer leiden. Het is aan de provider om zorg te dragen voor alternatieve paden naar alle internetbestemmingen. Enkele maatregelen die een provider kan nemen zijn:
   * voldoende beschikbare bandbreedte via transit-aanbieders waarbij een provider zorgdraagt dat de routers waarmee het transit verkeer wordt afgehandeld niet dezelfde zijn als de routers op de internet exchange, of ten minste dat er voldoende alternatieven zijn
   * grotere providers kiezen er vaak voor om gebruik te maken van meerdere koppelingen met het peering netwerk, waarbij gebruikgemaakt wordt van verschillende locaties. De providers hebben hun netwerk apparatuur over het algemeen dan ook onderling verbonden tussen die locaties (los van het netwerk van de exchange), maar de verschillende locaties kunnen geheel autonoom van elkaar werken, en de routers op de verschillende locaties zijn via eigen backbone verbindingen met de rest van het netwerk van de provider verbonden
   * als een peering-partner op een bepaalde exchange meerdere aansluitingen heeft op het netwerk dan worden dubbele BGP-4 sessie opgezet via een maasvormig netwerk: elke router van lid 1 heeft BGP-4 koppelingen met elke router van lid 2, de peering-partner
   * de toegepaste apparatuur is zo veel mogelijk redundant uitgevoerd: dubbele voedingen, dubbele management of processor kaarten etc.
   * de verbindingen tussen de peering-routers en de rest van het netwerk van de provider zijn ten minste dubbel uitgevoerd via gescheiden netwerkpaden.

### redundantie van de providers door verkeer uit te wisselen via verschillende exchanges

En ten slotte kunnen internetproviders de beschikbaarheid van hun netwerk, en dan met name de mogelijkheid om verkeer uit te wisselen met andere providers (zowel transit als peering), verder vergroten door gebruik te maken van verschillende internet exchanges. De grotere providers zullen daarom niet alleen aanwezig zijn op de lokale (nationale) exchange voor het uitwisselen van verkeer met providers in eigen land, ze zoeken ook aansluiting bij de belangrijkste exchanges in Europa, de VS en/of Verre-Oosten. In Europa zullen de meeste providers aanwezig zijn op ten minste een paar van de belangrijkste exchanges zoals de London Internet Exchange, de Amsterdam Internet Exchange en de Deutscher Commercial Internet Exchange. En als providers peering-overeenkomsten hebben met andere providers zullen ze in principe afspreken dat ze op elke exchange verkeer met elkaar uitwisselen,waarbij via routerings-regels normaliter de kortste route voor verkeer wordt gekozen, maar in geval van storingen in een exchange of de eigen netwerken van de providers het verkeer ook in een vreemde' exchange kan worden uitgewisseld. Stel dat provider A een peering overeenkomt heeft met Provider B. Beide zijn ze lid van zowel de AMSIX als de LINX. Standaard zal het routerings-protocol zo worden opgezet dat verkeer afkomstig van een klant van A met bestemming een in Engeland gevestigde klant van B wordt uitgewisseld in Londen, en verkeer vanuit B voor een Nederlandse klant van A loopt via de AMSIX. Mocht er echter een storing zijn op de AMSIX of er is een probleem met de backbone verbinding van A naar zijn routers in Amsterdam dan kan ook al het verkeer via de LINX afgehandeld worden. Het is aan de providers onderling om hierover afspraken te maken.
Een internetprovider zal zo veel mogelijk van zijn verkeer willen afhandelen via peering omdat dit goedkoper is dan het versturen via de transit provider en over het algemeen ook sneller: als je IP verkeer voor provider B rechtstreeks naar die provider kan sturen levert dat normaliter kortere paden op dan wanneer het via een derde partij wordt verstuurd. Maar als (een deel van) het peering verkeer uitvalt door welke oorzaak dan ook dan kan verkeer voor die -niet werkende peering partners- via de transit verbindingen worden afgehandeld. Technisch is er op zich weinig tot geen verschil met peering: het uitwisselen van route informatie gaat bij transit ook via BGP-4, het grote verschil zit in de aangeboden routes: via peering krijg je in principe alleen de mogelijkheid om verkeer uit te wisselen welke als eindbestemming het netwerk van de peering-partner heeft of een klant van die partner, terwijl bij transit normaliter alle beschikbare routes naar iedere bestemming wordt aangeboden. Hier kunnen partijen van afwijken: je kan afspreken dat je gedeeltelijke transit afneemt: bijvoorbeeld afspreken dat je van transit-partner alleen routes van Amerikaanse netwerken wilt ontvangen.

## Ontwikkelingen

Omdat de behoefte aan bandbreedte op het switched platform van de internet exchanges enorm groot is en heel hard groeit worden technologische vernieuwingen vaak vroeg geïmplementeerd op de exchanges. Zo werden de eerste grootschalige switches die ook Gigabit Ethernet en later 10 Gbit verbindingen mogelijk maakten op de exchanges geïmplementeerd.
Een ander voorbeeld van early adoption was de implementatie van de optische switch op de AMSIX. Om het mogelijk te maken om onderbrekingen in glasvezelverbindingen zelf op te vangen gebruikt de AMSIX photonische switches van Glimmerglass. Hierbij wordt een optische interface van een switch (of DWDM systeem) niet rechtstreeks via een dark-fibre glasvezel gekoppeld met de andere switch, maar loopt dat via de optische switch. De optische switch werkt vervolgens als een soort elektronisch optisch patchpaneel: de inkomende vezel kan doorgekoppeld worden aan een uitgaande vezel richting de andere locatie, maar als die verbinding onderbroken is kan er omgeschakeld worden via een alternatieve route (lees andere glasvezels). Hierdoor kan je het aantal beschikbare fysieke netwerkpaden tussen de switches (en co-locatie locaties) vergroten zonder het layer-2 onnodig ingewikkeld te maken: vanuit de ethernet switches gezien is er gewoon een vaste 'dark fibre' verbinding beschikbaar tussen de twee switches terwijl er in werkelijkheid meerdere mogelijke paden gebruikt kunnen worden.