Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

Hva er porter?


Anbefalte innlegg

Videoannonse
Annonse

Porter = mørkt øl. :p

 

Neida, seriøst... Enport er et logisk tilkoblingspunkt for en nettverksforbindelse. Komunikasjonen mellom to programmer som kjører på to ulike maskiner går gjennom flere lag av protokoller. Grovt forenklet ser det slik ut:

 


Maskin1:                                   Maskin2:

Program1 Program2          Program1    Program2
   |_________|                        |_________|
      |                                               |
      |                                               |
    TCP                                           TCP
      |                                               |
     IP                                             IP
      |                                               | 
   Ethernet el.                              Ethernet el. 
      |_________(kabel)____________|

 

Jo lenger opp i denne stabelen med protokoller en kommer, jo mer "sofistikert" blir det som foregår. I kabelen går det elektriske signaler, i form av nuller og ettall.

 

Ethernet har ansvar for å dele opp data ovenfra i fornuftige biter og sende ut på kabelen. Ethernet leser også data fra kabelen, tolker og sender oppover. Fysisk har hver maskin et ethernet-adapter (aka "nettverkskort") som alle har sin hardwarebaserte adresse (MAC-adresse).

 

Et hakk lenegr oppe i stabelen finner vi IP (Internet Protocol). Denne har ansvar for å sende riktig data til riktig IP-adresse. Hver maskin vil typisk ha en IP-adresse for hvert nettverkskort.

 

Et hakk til opp finner vi TCP (Transport Controll Protocoll). Denne har ansvar for å sørge for at data som sendes faktisk blir mottatt. Den har også en mengde logiske adresser som trafikk kan sendes til og fra; dette er porter. Hvis TCP bare hadde hatt en enkel adresse slik som IP ville man enten måttet legge en ekstra adresseringsprotokoll oppå TCP, la programmene gjøre denne jobben selv, eller la hver maskin ha KUN 1 program som kunne kommunisere over nettet samtidig. Ingen av disse alternativene er særlig gode. (Tja, det første ville nok fungert i praksis...).

 

Når programmet til slutt skal bruke alt dette kan det altså bruke en av mange logiske adresser maskinene disponerer til å kommunisere med andre programmer. Det blir litt som på et kontor med mange interntelefonnumre; mange ansatte kan ringe samtidig, og hvis du slår et telefonnummer havner du hos en gitt ansatt og ikke hos firmaet som sådan. Sammenligningen er ikke 100%, men hvis en tenker seg de ansatte som programmer og telefonnummerene som porter begynner det å ligne, bare husk at når en snakker om TCP/IP blir det meningsløst å kommunisere med en port hvis du ikke også kjenner IP-adressen til denne porten.

 

Et program vil typisk bruke en (eller flere) standard porter slik at instanser av det samme programmet vet hvordan de skal få kontakt med hverandre når de kjører på ulike maskiner. Når du banker inn en IP-adressen 193.69.165.21 i nettleseren kontakter nettelseren din port 80 (standard http-port) på den angitte IP-adressen. Der er det en webserver som svarer, og returnerer forsiden til VG til nettleseren din. Teoretisk kunne VG brukt den samme adressen til å drive en SMTP-server (server som sender ut epost). Da kunne du kontaktet port 25 på den samme adressen, og et SMTP-serverprogram ville svart deg og bedt deg sende over eposten du vil ha sendt ut.

 

Dette var altså et forsøk på en jordnær forklaring. Håper ikke det ble for billedlig...

Lenke til kommentar

Mens IP adressen identifiserer maskinen din, identifiserer portnummeret det enkelte program/prosess på maskinen din. Det finnes 65535 mulige porter på din maskin. Port 1 tom 1023 er såkalte "well known ports" dvs det er allment definert hvilke program/prosesser som bruker disse portene. En oversikt over disse portene finner du her. En kombinasjon mellom IP og portnummer skrives slik: 192.168.1.1:22 og kalles socket.

 

dostojevski nevner TCP som ligger over IP. På samme nivå som TCP ligger også UDP. Begge benytter portnummer, hovedforskjellen er at TCP er forbindelsesorientert (dvs at det må opprettes en logisk forbindelse mellom to maskiner før de kan sende data mellom hverandre) mens UDP ikke er forbindelsesorientert (data som skal sendes til en annen maskin blir bare lagt i en pakke og sendt ut på nettet). En liten sammenligning:

Hvis 2 mennesker skulle kommunisert på TCP vis ville den ene ringt til den andre (koblet opp en telefonsamtale, si hei og kanskje presentert hverandre før de kan utveksle informasjon).

Hvis 2 mennesker skulle kommunisert på UDP vis ville de sendt brev til hverandre (mulig Posten roter bort brevet, hvis man ikke får svar må man kanskje sende brevet på nytt)

Lenke til kommentar
Hvis 2 mennesker skulle kommunisert på TCP vis ville den ene ringt til den andre (koblet opp en telefonsamtale, si hei og kanskje presentert hverandre før de kan utveksle informasjon).

Hvis 2 mennesker skulle kommunisert på UDP vis ville de sendt brev til hverandre (mulig Posten roter bort brevet, hvis man ikke får svar må man kanskje sende brevet på nytt)

Dette blir ikke helt riktig. Både ved UDP og TCP kommunikasjon kan pakker forsvinne. Kun TCP forbindelser vil sende en pakke på nytt dersom en blir borte.

 

Typisk bruk av UDP er muliplayer spill og realtime streaming. Om en pakke skulle bli borte ar det poengløst å sende pakken på nytt.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...