Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Dette er et førsteutkast av temarapporten

TDAT2004 Datakommunikasjon med nettverksprogrammering

Tema: Portadressering

Skrevet av gruppe 32, som består av:

[ – Video – ]

 


Innledning

Port oversettes til havn på norsk, og det er akkurat det vi kan sammenlikne en port med, hvor pakkene er båter og dataene er last. Når en båt drar mot land sikter den seg mot en spesifik havn, denne havnen har en id av et slag, det samme gjelder porter i datakommunikasjon, der identifiseres de med en 16-bits adresse.

Portadressering handler om kommunikasjon og ruting mellom såkalte “nettverksporter”, og i OSI-modellen havner konseptet under transportlaget. Porter inngår nært knyttet samarbeid med blant annet Uniform Resource Locators (URL) og transportlagsprotokoller som Transmission Control Protocol (TCP) og User Datagram Protocol (UDP).1


Hvorfor trenger vi porter?

Når en pakke sendes over nettverket, hvordan skal den vite hvilket program den tilhører, og hvordan skal programmene vite hvilke pakker som er ment for seg? Det er her porter kommer inn i bildet. En port er et slags logisk, elektronisk adressepunkt hvor informasjon flyter fra eller til en applikasjon. Kombinasjonen av portnummeret, kommunikasjonens protokolltype, og klientens IP-adresse vil entydig identifisere en destinasjon eller et opphav av en pakke. En port har som foreskrevet en 16-bits adresse, altså eksisterer det totalt 65536 porter (0-65535).

Konseptet om portnummer oppsto tidlig og ble etablert av utviklerne av ARPANET, og var på den tiden kalt “socket name” eller “Another Eightbit Number” (AEN). Det var ikke et selvstendig begrep slik det er i dag, men heller en del av en 40-bits mengde kjent som “socket number”. De 32 første bittene minner om dagens IPv4 adresser, hvorav de 8 mest signifikante bittene (1-8) var vertsnummeret og de 8 minst signifikante (33-40) var det vi i dag kjenner som portnummer.


Virkemåte

 

I TCP og UDP pakker har man et 32-bits hode dedikert til portnummer, mer spesifikt pakkens kilde og destinasjon. Dette er som foreskrevet viktig for at pakken skal kunne effektivt behandles og kommunisere med eksterne enheter.

 

Hvordan kan vi sørge for at uønskede pakker ikke benytter portene våre? For dette formålet har vi “brannmurer” som ser på pakkers nettverksadresser, og eventuelt avviser eller forkaster dem basert på et etablert regelsett. Regelsettet bestemmer blant annet hvilke porter som kan aksesseres av eksterne kilder. Denne typen brannmur kalles network layer firewall eller pakkefiltrering.

De forskjellige portene deles inn i 3 hovedgrupper kalt portområder. Disse er,

Reserverte porter (0 - 1023) 

Disse portene er reservert for velkjente tjenester og firmaer som Microsoft, SQL Services, Apple osv. Eksempler:

Port 80: HTTP

Port 21: FTP (File Transfer Protocol)

Port 25: SMTP (Simple Mail Transfer Protocol)

Registrerte porter (1024 - 49151)

Disse kan registreres av programvareselskaper

Private / Dynamiske porter (49152-65535)

Disse er åpne og kan brukes fritt av alle

For en mer utdypende og detaljert liste med spesifikke portnummer, se Wikipedias artikkel.


Her ser vi hva som skjer når det ankommer en pakke og den blir behandlet av PAT (Port Address Translation) som jobber med NAT (Network Address Translation). Disse oversetter adresse-port-par mellom det offentlige og private nettverket.

 


Fordypningsmateriale:

http://www.datakom.no/

https://www.amazon.com/Computer-Communications-William-Stallings-Books/dp/0133506487/ref=sr_1_1?s=books&ie=UTF8&qid=1488202391&sr=1-1&keywords=computer+communication

Kilder:

1: http://searchnetworking.techtarget.com/definition/port

2: 

Bilder:

http://faithandheritage.com/wp-content/uploads/2013/09/Mercanti-750-1.jpg