Hoe pakketwisseling het internet aandrijft en waarom het ertoe doet

33

Je stuurt een e-mail. Je streamt een video. Je laadt deze pagina. Niets van dat alles gebeurt via een enkele, speciale draad die speciaal voor u wordt opengehouden. Dat is een mythe. Het internet draait op chaos. Het werkt op pakketgeschakelde netwerken.

Dit zijn digitale systemen die uw gegevensbestanden verzamelen en versnipperen in kleine eenheden die pakketten worden genoemd. Ze schieten deze pakketten door een doolhof van knooppunten of schakelaars over de hele wereld. De schakelaars gebruiken een methode genaamd store-and-forward. Ze pakken het pakketje, bekijken het adres en sturen het onderweg. Op de bestemming voegt de computer de fragmenten opnieuw samen tot het originele bestand. Zonder dit proces zou het moderne internet zoals wij dat kennen niet bestaan.

De meeste lokale netwerken (LAN’s) gebruiken dezelfde logica. Als je Wi-Fi of Ethernet gebruikt, maak je gebruik van pakketgeschakelde golven.

Het verschil tussen circuit- en pakketschakeling

Traditionele netwerken waren anders. Denk aan oude telefoonlijnen. Circuitgeschakelde netwerken bouwen een fysiek pad met vaste bandbreedte. Ze houden dat pad van begin tot eind open. Alle gegevens reizen opeenvolgend langs dat ene spoor. Het is ordelijk. Het is stijf.

Pakketgeschakelde netwerken geven niets om orde. Ze sturen pakketten tegelijkertijd langs meerdere paden. Elke schakelaar neemt een beslissing op basis van efficiëntie. Als een pad uitvalt als gevolg van een storing, leiden de switches de pakketten om langs andere beschikbare routes.

Dit creëert een probleem. Pakketten komen niet in de juiste volgorde aan. Ze komen op verschillende tijdstippen aan. De ontvangende kant moet de puzzel in elkaar zetten.

Deze aanpak biedt aanzienlijke voordelen ten opzichte van circuitschakeling. Het optimaliseert de kanaalcapaciteit. Het verbetert de fouttolerantie. Als één weg afgesloten is, stroomt het verkeer elders. Maar er zijn kosten aan verbonden. Pakketschakeling is ingewikkeld. Het vereist aanzienlijke verwerkingskracht. Het vereist grote hoeveelheden Random Access Memory (RAM) in de switches.

Er zijn ook vertragingen. Het omleiden kost tijd. Soms gaan pakketten verloren tijdens het schudden. Vanwege deze overheadkosten heeft pakketschakeling de voorkeur voor relatief kleine bestanden. Circuitschakeling wordt nog steeds gebruikt voor grotere overdrachten waarbij timing van cruciaal belang is, zoals realtime videogesprekken.

Anatomie van een pakketgeschakeld netwerk

Elk pakketgeschakeld netwerk heeft twee hoofdcomponenten. De kern en de rand.

De kern bestaat uit routers en besturingssystemen. Ze zijn verbonden via communicatiekanalen met hoge bandbreedte. Dit is de snelweg. De edge is waar eindgebruikersystemen zich bevinden. Je laptop. Je telefoon. Deze hosts zijn in staat datapakketten te verzenden en te ontvangen.

Communicatie in de kern is afhankelijk van protocollen. Dit zijn procedures die zenders en ontvangers gebruiken om effectief met elkaar te praten. De protocollen die worden gebruikt om uw gegevens over te dragen, vormen een protocolstapel.

Elk transmissiepakket, vaak een datagram genoemd, bestaat uit twee delen. De header en de payload.

De header bevat besturingsinformatie. Het bevat het adres van de afzender. Het bevat het adres van de ontvanger. Het vertelt de schakelaars waar ze heen moeten. De payload is de daadwerkelijke informatie die u wilt leveren. Soms worden pakketten opgesplitst in nog kleinere eenheden. Dit wordt pakketfragmentatie genoemd.

Verbindingsloze versus verbindingsgerichte netwerken

Pakketgeschakelde netwerken zijn er in twee smaken. Verbindingsloos en verbindingsgericht.

Verbindingsloze netwerken, ook wel datagramnetwerken genoemd, werken zoals hierboven beschreven. Gegevens worden in kleinere stukken verdeeld. Kopteksten zijn bijgevoegd. De datagrammen nemen de best mogelijke route van bron naar bestemming. Er is geen voorafgaande overeenkomst.

Verbindingsgerichte netwerken bootsen circuitgeschakelde netwerken na. Ze zetten een speciale route op tussen de verzendende host en de ontvangende host voordat er enige pakketoverdracht plaatsvindt. Deze installatiefase profiteert van de voordelen van circuitschakeling terwijl u op een digitaal netwerk blijft.

Wie heeft het uitgevonden?

Het idee om grote data-eenheden in kleinere pakketten op te splitsen leek nog niet helemaal gerealiseerd. Het evolueerde.

Paul Baran, een ingenieur bij de RAND Corporation, stelde het concept voor het eerst voor. Hij beantwoordde een vraag van de Amerikaanse luchtmacht. Hoe kan een computercommunicatienetwerk een nucleaire aanval overleven? Zijn oplossing was ‘hot-potato-routing’. Hij publiceerde zijn theorie tussen 1960 en 1962 in RAND-studies. In augustus 1964 breidde hij deze uit tot een elfdelige analyse met de titel On Distributed Communications.

De overheid en particuliere bedrijven negeerden hem. Het idee trok destijds weinig belangstelling.

Onafhankelijk daarvan ontwikkelde Donald Davies, een computerwetenschapper bij het National Physical Laboratory (NPL) van het Verenigd Koninkrijk, hetzelfde concept. Hij begon aan een netwerk te werken om het te testen. Baran noemde zijn eenheden ‘berichtblokken’. Davies noemde ze ‘pakketten’.

De term bleef hangen. Lawrence (Larry) Roberts, een manager bij ARPA (nu DARPA), hoorde in oktober 1967 van het werk van Davies. Hij woonde een symposium bij in Gatlinburg, Tennessee. Roberts nam Davies’ term packet-switching over voor ARPANET. Dat project werd de voorloper van het internet.

Het verliep niet soepel. Het was niet onmiddellijk. Maar het werkte. En nu ben je elke keer dat je een pagina ververst getuige van het resultaat van een beslissing die is genomen om een ​​nucleaire oorlog te overleven. Of misschien gewoon om sneller een e-mail te sturen. Het onderscheid doet er niet meer toe. De pakjes vliegen.

De basis voor het moderne internet werd gelegd lang voordat je ooit op een link klikte. Het begon met ARPANET, het eerste openbare pakketgeschakelde netwerk, dat in oktober 1969 voor het eerst succesvol werd getest. Het ontwerp was strak: in slechts één jaar gebouwd door Bolt Beranek en Newman (BBN). Ze namen concepten van Baran en Davies over en maakten deze werkelijkheid. In het begin was het klein. Vier knooppunten. UCLA, Stanford Research Institute, UC Santa Barbara en de Universiteit van Utah. In 1975 groeide het uit tot 57 knooppunten.

Maar het echte verhaal is niet alleen de code. Het is de wrijving. Toen ARPANET in oktober 1972 werd gepresenteerd tijdens de eerste Internationale Conferentie over Computercommunicatie (ICCC), waren de reacties van de industrie gemengd. Ja, het bewees dat pakketschakeling werkte. Maar een groot deel van de communicatiesector in de VS bleef ongeïnteresseerd. Sommigen waren ronduit vijandig.

BBN en Roberts zagen het gat. Datzelfde jaar richtten ze Telenet op. Een commercieel netwerk. Omdat de publieke sector niet snel genoeg bewoog.

Mondiaal scepticisme en parallelle builds

Terwijl de VS aarzelden, kwamen andere landen in beweging. Of zo leek het.

In november 1973 kondigde Frankrijk TRANSPAC aan. Een binnenlands pakketnetwerk dat wordt beheerd door de post- en telecommunicatiedivisie. Toen kwam DATAPAC in oktober 1974. Het Trans-Canada Telephone System introduceerde het. De Japanse Nippon Telegraph and Telephone Corporation plande hun eigen openbare pakketgeschakelde datanetwerk.

De meeste aanbieders bleven aan de zijlijn staan. Ze wachtten liever. Bekijk hoe de eerste publieke netwerken optreden. Kijk of ze daadwerkelijk in het wild hebben gewerkt.

“De meeste providers bleven sceptisch en wachtten liever af hoe de eerste publieke netwerken presteerden.”

Experimentele netwerken die Europa vormgeven

Tijdens deze wachtperiode stopten de onderzoekers niet met werken. Ze bouwden nieuwe netwerken. Ze experimenteerden. Ze verbeterden het kernconcept.

Donald Davies voltooide zijn Mark I-netwerk bij de NPL in 1970. Daarna bouwde hij Mark II. Voltooid in 1973. Het beïnvloedde geleidelijk het Verenigd Koninkrijk en een groot deel van Europa.

Louis Pouzin, een Franse computerwetenschapper, voltooide datzelfde jaar CYCLADEN. 1973. Deze was anders. Het was op datagrammen gebaseerd. Het verlegde de verantwoordelijkheid. In plaats van dat netwerkkernen fouten afhandelden, deden de hosts dat wel. Dit veranderde de computercommunicatie voor altijd.

Het European Informatics Network (EIN) kwam in 1976 online. Internationaal gefinancierd. Nog een stukje van de puzzel.

De drang naar standaardisatie

Waarom moesten landen praten? Vijf landen bouwden openbare pakketnetwerken. Canada. Frankrijk. Japan. Groot-Brittannië. De VS.

Ze hadden een standaard host-netwerkinterface nodig. Sterke motivatie. Zonder dit waren hun netwerken eilanden. De gesprekken begonnen in 1975. Het resultaat was CCITT-aanbeveling X.25. Aangenomen door alle betrokken landen in maart 1976.

X.25 luidde de volgende fase in. Onderling verbonden openbare dienstnetwerken. Het was niet het einde van het verhaal. Er volgden aanvullende afspraken. X.75 was een standaardprotocol voor het verbinden van internationale netwerken. Het zorgde ervoor dat de infrastructuren van verschillende landen met elkaar konden praten.

De DoD-splitsing en TCP/IP

In 1979 werd Robert Kahn directeur van het Information Processing Techniques Office (IPTO) bij DARPA. Het Amerikaanse ministerie van Defensie beschikte over meerdere pakketgeschakelde netwerken. Maar geen enkele was compatibel. Ze spraken verschillende talen.

Kahn heeft het opgelost. Hij liet het Ministerie van Defensie TCP/IP adopteren. Een protocolstandaard die hij zich voor het eerst voorstelde in een artikel uit 1974, geschreven samen met Vincent Cerf. Vooraanstaand softwareontwikkelaar. Co-auteur.

TCP/IP-spreiding. Het verhuisde naar andere onderzoekslaboratoria. Vervolgens voor het grote publiek. Het werd de basis voor het ultieme pakketgeschakelde netwerk. Het internet.

De overgang was niet onmiddellijk. Maar de architectuur hield stand. De normen bleven hangen. En het scepticisme van de jaren zeventig verdween in de infrastructuur van vandaag. We gebruiken nog steeds dezelfde fundamentele logica. Pakketten bewegen. Gastheren corrigeren. Interfaces gedefinieerd.