Wiki source code of 01.09. Portu numuri
Last modified by Valdis Vītoliņš on 2018/01/15 21:44
Hide last authors
author | version | line-number | content |
---|---|---|---|
1.1 | 1 | = 01.09. Portu numuri = | |
2 | |||
3 | Mēs teicām, ka TCP un UDP identificē lietotnes, izmantojot 16-bitu portu numurus. Kā šie portu numuri tiek izraudzīti? Serveri parasti ir pazīstami pēc to labi zināmajiem portu numuriem. Piemēram, katra TCP/IP implementācija, kura nodrošina FTP servisu, to nodrošina uz TCP 21. porta. Katrs Telnet serveris ir uz TCP 23. porta. Katra TFTP (//Triviālais Failu Pārsūtīšanas Protokols//) ir uz UDP 69. porta. Šiem servisiem, kurus var nodrošināt jebkura TCP/IP implementācija var būt portu numuri starp 1 un 1023. Labi zināmos portus pārvalda //Interneta Piešķirto Numuru Institūcija// (IANA). | ||
4 | |||
5 | {{info}} | ||
6 | Līdz 1992.g. labi zināmie portu numuri bija starp 1 un 255. Porti starp 256 un 1023 parasti tika lietoti UNIX-specifiskiem servisiem, t.i. servisiem, kurus var atrast UNIX sistēmās, bet parasti ne uz citām operētājsistēmām. IANA tagad pārvalda portus starp 1 un 1023. Piemērs starpībai starp visā Internetā pazīstamu servisu un UNIX-specifisku servisu ir atšķirība starp ##telnet## un ##rlogin##. Abi ļauj mums ielogoties pa tīklu uz citu mītni. Telnet ir TCP/IP standarts ar labi zināmo porta numuru 23, ko var implementēt gandrīz uz ikvienas operētājsistēmas. Rlogin, no otras puses, bija sākotnēji izveidots Unix sistēmām (lai gan daudzas ne-UNIX sistēmas to arī piedāvā), tādēļ tam 1980-to gadu sākumā tika izraudzīts labi zināmais porta numurs 513. | ||
7 | {{/info}} | ||
8 | |||
9 | Klientam parasti ir vienalga, kuru porta numuru lietot savā galā. Vienīgais, kas jānodrošina, lai šis porta numurs būtu dotajā mītnē unikāls. Klienta porta numurus sauc par //gaistošiem// portiem (jeb efemerāliem, jeb īslaicīgiem). Tas tādēļ, ka klienta ports pastāv vienīgi tik ilgi, kamēr klientam, kurš to darbina ir nepieciešams konkrētais serviss, toties servisi parasti darbojas kamēr vien mītne ir ieslēgta. | ||
10 | |||
11 | Vairums TCP/IP implementāciju piešķir gaistošos portu numurus starp 1024 un 5000. Portu numuri virs 5000 ir domāti citiem servisiem (tiem, kuri nav pazīstami Internetā). Turpmāk grāmatā redzēsim vairākus piemērus, kā gaistošie porti tiek piešķirti. | ||
12 | |||
13 | {{info}} | ||
14 | Solaris 2.2 ir izņēmums. Pēc noklusēšanas gaistošie porti priekš TCP un UDP sākas no 32768. [[E.4.nodaļa>>App_E_06]] apraksta konfigurācijas īpatnības, ar kurām sistēmas administrators var izmainīt noklusētās vērtības. | ||
15 | {{/info}} | ||
16 | |||
17 | Labi zināmie portu numuri ir atrodami failā ##/etc/services## vairumā Unix sistēmu. Lai atrastu portu numurus Telnet serverim un DNS, varam izpildīt komandas: | ||
18 | |||
19 | {{code language="none"}} | ||
20 | sun % grep telnet /etc/services | ||
21 | telnet 23/tcp says it uses TCP port 23 | ||
22 | sun % grep domain /etc/services | ||
23 | domain 53/udp | ||
24 | domain 53/tcp says it uses UDP port 53 | ||
25 | and TCP port 53 | ||
26 | {{/code}} | ||
27 | |||
28 | **Rezervētie porti** | ||
29 | |||
30 | UNIX'a sistēmās pastāv //rezervēto portu// jēdziens. Vienīgi process ar //superlietotāja// tiesībām var piešķirt sev rezervēto portu. Šie portu numuri ir intervālā starp 1 un 1023, un tos lieto dažas aplikācijas (konkrēti, Rlogin, [[26.2.nodaļa>>26_02]]) kā daļu autentifikācijas procesam starp serveri un klientu. |