Pojam porta

 

Luka koja omogućava transport, prenos, pristup i identifikaciju.

 

Uloga portova u mrežnom protokolu

Sveznadar Tips&Tricks računari

Kod početnika termin port može da izazove zabunu.
Kod hardvera se termin port odnosi na priključak, pa se govori o serijskom, paralelnom, USB portu..., odnosno konektoru koji koji povezuje dva uređaja (npr. tastaturu i računar, miša i računar, štampač i računar, memorijski stik i računar, itd).

Kod mreža pojam porta se javlja u dva različita konteksta. Prvi predstavlja fizički (hardverski) konektor koji postoji na mrežnom uređaju ili računaru u koji ubadate recimo mrežni kabl, dok je drugi kontekst logički i malo kompleksniji.

Portovi su apstraktne odredišne tačke koje su identifikovane prirodnim brojevima.

Zamislite da od mesta A do mjesta B imamo telefonski kabl kojim se povezuju centrale u gradovima. Vrlo je verovatno da će unutar tih kablova biti veliki broj manjih kablova , tzv. parica . Kada bi smo koristili cijeli kabl za telefoniranje  građani bi morali da čekaju da njihov prethodnik obavi razgovor, kako bi dobili vezu. Ovako, ukoliko parice obeležimo brojevima od 0 do 65534 imaćemo 65535 građana koji će istovremeno komunicirati. Na isti način svaka internet aplikacija ima port na kome funkcioniše. Web stranice koriste HTTP protokol koji radi na portu 80. Kada pozovete, recimo www.microsoft.com, Microsoftov server sa vašim računarom otvori komunikaciju na portu 80, dok ostali servisi , kao recimo MSN messenger funkcionišu nesmetano i obavljaju svoju komunikaciju na nekom drugom portu. Tako imamo više istovremenih komunikacija kroz istu liniju.

Dakle kod Internet mreža i umrežavanja port predstavlja identifikacijsku oznaku pojedine usluge u klijentsko serverskom modelu mreže.

Portovi su jednostavna stvar.
U klijentsko serverskom modelu mreže jedan računar može istovremeno biti server za više usluga. Naprimjer, jedan računar na Internetu može istovremeno služiti i kao arhiva korisnog softvera i kao server za World Wide Web.
Klijentski programi - programi pomoću kojih se pristupa serveru za određenu uslugu - koriste različite protokole (komunikacijske "jezike") za obraćanje serveru.
Klijentski program za prenošenje datoteke razgovara s serverom na jedan, a klijentski program za prikaz Web stranice razgovara s serverom na drugi način.
Problem je da jedan računar bude server za više stvari odjednom.
To rješavaju portovi. Port predstavlja identifikacijsku oznaku pojedine usluge. Ili, još slikovitije, radi se o "vratima" neke usluge na pojedinom serveru.
Port se označava brojem između 0 i 65535.
Neke osnovne i uobičajene usluge na Internetu imaju brojeve do 1000, dok se druge koriste na pojedinim operativnim sistemima ili za neke ne toliko standardne usluge.
Evo i kako stvar radi: kada se pokrene serverski program za neku uslugu, on za sebe rezerviše neki broj porta i čeka da u pristignu zahtjevi upravo na taj port. Kada tome serveru pristignu neki paketi s podacima od nekog klijenta, a zatim protokol za komunikaciju – TCP/IP – prvo pogleda koji je broj porta u tim paketima, a zatim proslijedi zahtjev odgovarajućem serveru, pod uvjetom da svi oni rade na različitim portovima. Klijentski programi znaju na kojem se od portova izvršava serverski program i tako mu znaju pristupiti. Stvar je riješena, lako i jednostavno.




Na gornjoj slici je prikazano rješenje gdje je jedan je računar istovremeno server za tri usluge: World Wide Web (HTTP), prenošenje datoteka (FTP) i E.mail (SMTP).
Ti se serverski programi izvršavaju na portovima 80, 21 i 25.
Ako klijent želi pristupiti Web serveru, upućuje svoj zahtjev na port 80. Istovremeno, neki sasvim drugi klijent na sasvim drugom kraju svijeta može komunicirati s portom 25 na istom serverskom računaru i tako pristupati serverskom programu za E-mail.
Više serverskih programa na jednom računaru tako ne smetaju jedan drugome i poslužuju svaki svoje klijente.

Osnovni portovi i usluge koje se na njima izvršavaju

Broj porta

Osnovni protokol

Aplikacijski protokol ili usluga

Opis usluga

13

TCP/UDP

daytime

Daje trenutno lokalno vrijeme

17

TCP

qotd

Quote of the Day

21

TCP

ftp

Prenošenje datoteka

23

TCP

telnet

Terminalsko povezivanje

25

TCP

SMTP

Prenošenje elektroničke pošte

37

TCP/UDP

timeserver

Time server

42

TCP

nameserver

Name server

43

TCP

whois

Dobivanje podataka o korisniku/računaru

53

TCP/UDP

DNS

Domain Name Server

69

UDP

tftp

Trivial File Transfer Protocol

70

 TCP

gopher

Gopherski serveri

79

TCP

finger

Dobivanje podataka o korisniku/računaru

80

TCP

HTTP

World Wide Web serveri

110

TCP

POP3

Post-Office-Protocol (elektronička pošta)

119

TCP

NNTP

Pristup novinskim grupama

210

TCP

WAIS

Pristup bazama podataka

517

UDP

talk

Razgovor s drugim korisnikom

518

UDP

ntalk

Nova verzija talka

540

TCP

UUCP

Zastarjeli protokol Unix-to-Unix Copy

 

Oznake TCP, i UDP se odnose na osnovni komunikacijski protokol niskog nivoa pomoću kojega se pristupa tom portu.

Ova dva protokola samo prenose podatke mrežom i oni mogu bez problema dijeliti jedan isti broj porta, jer je za uspješno uspostavljanje veze sa serverskim programom potrebno osim IP adrese i broja porta znati i tip osnovnog protokola pomoću kojeg mu se pristupa.
Aplikacijski protokol je protokol višeg nivoa koji se koristi za komunikaciju s pojedinom uslugom.

 

Uloga portova u mrežnom protokolu

Portovi su apstraktne odredišne tačke koje su identifikovane prirodnim brojevima. OS obezbjeđuje mehanizam interfejsa koji procesi koriste da bi odredili i pristupali portu. Ako komunicira sa stranim portom treba znati: broj porta i IP adresu

 

Krajnje odredište poruka su procesi.
Teško je adresirati podatke na procese (procesi su previše dinamični, mijenjaju identifikaciju, ...)
Kako podatke prenijeti (transportovati) do odgovarajućih procesa?
Za to su zaduženi transportni protokli.

Mreže koje koriste TCP protokol (Transmission Control Protocol) ili UDP protokol (User Datagram Protocol) sadrže u zaglavlju oznaku PORT-a da bi naredni sloj
znao koja će aplikacija upotrijebiti podateke u segmentu.

TCP ima:
- poznate (well-known) i
- slobodne portove koje OS dinamički dodjeljuje

Neki servisi koriste samo jedan a neki više transportni protokola. Na pr.: DNS-u se može pristupiti i sa UDP i sa TCP protokolom ito na 53 port (za oba)


Veza je par krajnjih tačaka, a krajnje tačke su par cijelih brojeva (IP adresa hosta, port) Na pr.:(128.26.0.36,25) – (128.10.2.3,1069)
TCP dozvoljava korišćenje jedne tačke za dvije veze:
Na pr.:(128.12.0.3,25) – (128.10.2.3,1069)
Neće biti greške jer su poruke pridružene vezi, a ne portu – primjeri: mail, web, ftp, ...

TCP usluga se osigurava tako da i pošiljalac i primalac kreiraju krajnje tačke (end points) tj. spojne tačke (SOCKET) od kojih je svaka definisana IP adresom host-a i brojem port-a (16 bit-ni broj za host i identifikacijska oznaka usluge).

 

Da bi se osigurala TCP usluga, mora se uspostaviti veza izmeñu socket-a na host-u koji šalje i socket-a na host-u koji prima podatke.
Brojevi port-ova ispod 256 (well-known ports) rezervisani su za standardne usluge, a svaki host može za sebe odlučiti kako će dodijeliti ostale svoje portove.

 

Šaljući i primajući TCP entiteti razmjenjuju podatke u obliku SEGMENTA podataka. Segment se sastoji od 20 bajt-nog TCP zaglavlja (uz opcionalni dio) za kojim slijedi 0 ili više bajt-ova podataka, a nastaje skupljanjem podataka od nekoliko upisivanja (write) ili razbijanjem podataka od jednog upisivanja. Svaki segment uključujući i TCP zaglavlje mora stati u 65'535 bajtova IP paketa.

Ako je segment prevelik za mrežu kroz koju mora proći, router vrši fragmentaciju u više manjih segmenata od kojih svaki dobiva svoje IP zaglavlje.

 

Care, care govedare koliko je sati?

Povezujući se na port broj 13 nekog računara pomoću programa Telnet, možete saznati koliko je sati u nekom dijelu svijeta, odnosno koje je lokalno vrijeme.

Npr.možete se telnetirati na port broj 13 računara mit.edu, koje je smješten na poznatom Massachussetts Institute of Technology (MIT) u Cambridgeu kod Bostona. Napišite

telnet mit.edu 13

i uskoro ćete ugledati nešto poput ovoga:

Trying 18.72.2.1...
Connected to mit.edu.
Escape character is '^]'.
Sat Apr 13 09:57:11 1996
Connection closed by foreign host.

Slobodno se možete povezivati s portom broj 13 na bilo kojem računaru u svijetu, jer se taj port koristi samo za dojavljivanje lokalnog vremena i nitko to neće protumačiti “provaljivanjem” u sistem.