Hva er en internettkontakt?
En internettkontakt er et begrep som brukes til å identifisere et tilkoblingspunkt som ethvert dataprogram kan bruke for å overføre data over Internett. De er ikke en fysisk konstruksjon, som en stikkontakt, men er i stedet et dataprogramvarekonsept. Med en slik socket kan alle nødvendige data reise frem og tilbake fra et program som kjører på en datamaskin til et program som kjører på et annet; i mange tilfeller er dette til og fra en klient og server. Begrepet brukes også for å referere til et applikasjonsprogrammeringsgrensesnitt (API) som dataprogrammerere kan bruke for å lage slike nettverksbevisste applikasjoner som er i stand til å sende og motta data over Internett.
Sockets fungerer i de øvre lagene av IP-stakken (Internet Protocol), kjent som transportlaget, der data sendes fra en applikasjon ned til nettverket via operativsystemet. Når en applikasjon på datamaskinen ønsker å sende og motta data fra en nettverkstilkobling, ber den operativsystemet åpne en internettkontakt. Stikkontakten er satt opp som består av protokollinformasjon, for eksempel brukerdatagramprotokoll (UDP) eller transmisjonsstyringsprotokoll (TCP), så vel som sender- og mottaksadressene til både datamaskiner og IP-portnummeret for tilkoblingen. Det er også mulig å opprette en Internett-socket som omgår operativsystemet og sender råpakkene uten først å la datamaskinens operativsystem håndtere den ekstra socketinformasjonen.
Som det ofte brukes på en Internett-server, starter serverprogramvaren og åpner en lytteuttak. Når serveren mottar en forespørsel om data, oppretter den deretter en unik sokkel for den forespørselsklienten, som den deretter bruker for å overføre alle forespurte data. Denne typen tilkoblinger blir også referert til som en økt, siden kontakten er lukket opp av serveren når klienten er ferdig. På denne måten kan serveren opprette et hvilket som helst antall samtidige kontakter med andre klienter, hver med sin egen unike identifikator, og levere data som er unike for hver klient.
Som sådan er det tre generelle typer internettkontakt. En slik type er datagramkontakten. Dette er en rask socketforbindelse som ikke krever ekstra kommunikasjon for å etablere en dedikert tilkobling før du sender pakker med data. Av denne grunn blir de ofte referert til som tilkoblingsløse stikkontakter og bruker UDP som sin transportprotokoll. De er noe av en brann-og-glem-metode, ved at det ikke er noen pakkesekvenskontroll eller feilretting.
De tilkoblingsorienterte kontaktene, kalt en strømkontakt, går imidlertid gjennom noen ekstra trinn for å etablere kommunikasjonsforbindelsen mellom klienten og serveren. Disse bruker TCP, eller en annen protokoll kjent som stream control transmission protocol (SCTP), for transport. Denne typen internettkontakt er mer pålitelig og har midler for å håndtere feil som manglende pakker.
En annen unik type internettkontakt brukes først og fremst til ruting av datanettverk. Denne typen sokkel hopper over transportlaget til IP-bunken, i stedet fører pakken fra nettverket rett til applikasjonen med socketinformasjonen fremdeles intakt. Slike råuttak gir mulighet for en mye raskere levering av pakker til applikasjonen, siden datamaskinens operativsystem ikke først kommer til å ha sin vei med pakkene. Internet Control Message Protocol (ICMP) bruker slike råkontakter når en datamaskin ganske enkelt vil "pinge" en annen.