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
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.
|