Wat is een internetaansluiting?
Een internetaansluiting is een term die wordt gebruikt om een verbindingspunt te identificeren dat elk softwareprogramma kan gebruiken om gegevens via internet te verzenden. Ze zijn geen fysieke constructie, zoals een stopcontact, maar zijn in plaats daarvan een concept van computersoftware. Met een dergelijke socket kunnen alle benodigde gegevens heen en weer gaan van een programma dat op de ene computer wordt uitgevoerd naar een programma dat op een andere wordt uitgevoerd; in veel gevallen is dit van en naar een client en server. De term wordt ook gebruikt om te verwijzen naar een API (Application Programming Interface) die computerprogrammeurs kunnen gebruiken om dergelijke netwerkbewuste toepassingen te maken die gegevens via internet kunnen verzenden en ontvangen.
Sockets werken op de bovenste lagen van de IP-stapel (Internet Protocol), ook wel de transportlaag genoemd, waar gegevens via het besturingssysteem van een toepassing naar het netwerk worden doorgegeven. Wanneer een toepassing op de computer gegevens van een netwerkverbinding wil verzenden en ontvangen, vraagt deze het besturingssysteem om een internetverbinding te openen. De socket is ingesteld en bestaat uit de protocolinformatie, zoals het gebruikersdatagramprotocol (UDP) of het transmissiebesturingsprotocol (TCP), evenals de verzend- en ontvangstadressen van beide computers en het IP-poortnummer voor de verbinding. Het is ook mogelijk om een internet-socket te maken die het besturingssysteem omzeilt en de onbewerkte pakketten verzendt zonder eerst het besturingssysteem van de computer de extra socket-informatie te laten verwerken.
Zoals vaak wordt gebruikt op een internetserver, start de serversoftware op en opent deze een luistersocket. Wanneer de server een verzoek om gegevens ontvangt, maakt hij vervolgens een unieke socket voor de verzoekende client, die hij vervolgens gebruikt om de gevraagde gegevens te verzenden. Dit soort verbindingen wordt ook wel een sessie genoemd, omdat de socket door de server wordt afgesloten zodra de client is voltooid. Op deze manier kan de server een willekeurig aantal gelijktijdige sockets maken met andere clients, elk met hun eigen unieke identificatie, en gegevens leveren die uniek zijn voor elke client.
Als zodanig zijn er drie algemene soorten internet-aansluitingen. Een dergelijk type is de datagramsocket. Dit is een snelle socketverbinding die geen extra communicatie vereist om een speciale verbinding tot stand te brengen voordat u gegevenspakketten verzendt. Om deze reden worden ze vaak verbindingsloze sockets genoemd en gebruiken ze UDP als transportprotocol. Ze zijn iets van een methode om het vuur te vergeten, omdat er geen pakketvolgordecontrole of foutcorrectie is.
De verbindingsgeoriënteerde sockets, echter een stream-socket genoemd, doorlopen een paar extra stappen om de communicatieverbinding tussen de client en de server tot stand te brengen. Deze gebruiken TCP, of een ander protocol dat bekend staat als stream control transmissie protocol (SCTP), voor transport. Dit type internetaansluiting is betrouwbaarder en heeft middelen voor het omgaan met fouten zoals ontbrekende pakketten.
Een ander uniek type internetaansluiting wordt voornamelijk gebruikt voor routering van computernetwerken. Dit type socket slaat de transportlaag van de IP-stack over, in plaats daarvan gaat het pakket rechtstreeks van het netwerk naar de toepassing met de socketinformatie nog intact. Zulke onbewerkte sockets zorgen voor een veel snellere levering van pakketten aan de toepassing, omdat het besturingssysteem van de computer niet eerst zijn weg krijgt met de pakketten. Het Internet Control Message Protocol (ICMP) gebruikt dergelijke onbewerkte sockets wanneer de ene computer gewoon een andere wil "pingen".