Hvad er en internetstik?
En internetstik er et udtryk, der bruges til at identificere et forbindelsespunkt, som ethvert computersoftwareprogram kan bruge til at overføre data over internettet. De er ikke en fysisk konstruktion, ligesom en elektrisk stikkontakt, men er i stedet et computersoftwarekoncept. Med en sådan socket kan alle nødvendige data køre frem og tilbage fra et program, der kører på en computer til et program, der kører på et andet; i mange tilfælde er dette til og fra en klient og server. Udtrykket bruges også til at henvise til en applikationsprogrammeringsgrænseflade (API), som computerprogrammører kan bruge til at skabe sådanne netværksbevidste applikationer, der er i stand til at sende og modtage data over internettet.
Stikkontakter fungerer i de øverste lag af IP-stakken (Internet Protocol), kendt som transportlaget, hvor data overføres fra en applikation ned til netværket via operativsystemet. Når en applikation på computeren ønsker at sende og modtage data fra en netværksforbindelse, beder den operativsystemet om at åbne en internetstik. Stikket er indstillet, der består af protokoloplysninger, såsom user datagram protocol (UDP) eller transmission control protocol (TCP), såvel som afsendelses- og modtageradresserne på begge computere og IP-portnummeret for forbindelsen. Det er også muligt, at der oprettes en internetstik, der omgår styresystemet og sender råpakkerne uden først at lade computerens operativsystem håndtere de ekstra sokkelinformationer.
Som det ofte bruges på en internetserver, starter serversoftwaren og åbner en lytteindgang. Idet serveren modtager en anmodning om data, opretter den derefter en unik socket til den anmodende klient, som den derefter bruger til at transmittere alle anmodede data. Disse typer forbindelser omtales også som en session, da socket lukkes op af serveren, når klienten er færdig. På denne måde kan serveren oprette et vilkårligt antal samtidige sockets med andre klienter, hver med deres egen unikke identifikator, og levere data, der er unikke for hver klient.
Som sådan er der tre generelle typer internetstik. En sådan type er datagramstikket. Dette er en hurtig socketforbindelse, der ikke kræver nogen yderligere kommunikation for at etablere en dedikeret forbindelse, før du sender pakker med data. Af denne grund omtales de ofte som forbindelsesløse stikkontakter og bruger UDP som deres transportprotokol. De er noget af en brand-og-glem-metode, idet der ikke er nogen pakkesekvenskontrol eller fejlkorrektion.
De forbindelsesorienterede stikkontakter, kaldet en strømstik, gennemgår dog et par ekstra trin for at etablere kommunikationsforbindelsen mellem klienten og serveren. Disse bruger TCP eller en anden protokol, der er kendt som stream control transmission protocol (SCTP), til transport. Denne type internetstik er mere pålidelig og har midler til at håndtere fejl såsom manglende pakker.
En anden unik type internetstik anvendes primært til routing af computernetværk. Denne type socket springer transportlaget fra IP-stakken over, i stedet sendes pakken fra netværket direkte til applikationen med socketinformationen stadig intakt. Sådanne rå stikkontakter giver mulighed for en meget hurtigere levering af pakker til applikationen, da computerens operativsystem ikke først får sin vej med pakkerne. Internet-kontrolmeddelelsesprotokol (ICMP) bruger sådanne rå stikkontakter, når en computer blot ønsker at "pinge" en anden.