Ang Port 0 ay may espesyal na kahalagahan sa network programming, partikular sa Unix OS pagdating sa socket programming kung saan ang port ay ginagamit upang humiling ng system-allocated, dynamic na mga port. Ang Port 0 ay isang wildcard port na nagsasabi sa system na maghanap ng angkop na port number.
Hindi tulad ng karamihan sa mga numero ng port, ang port 0 ay isang nakalaan na port sa TCP/IP networking, ibig sabihin ay hindi ito dapat gamitin sa mga mensahe ng TCP o UDP. Ang mga network port sa TCP at UDP ay nasa hanay mula sa numero zero hanggang 65535. Ang mga numero ng port sa hanay sa pagitan ng zero at 1023 ay tinukoy bilang mga hindi ephemeral na port, mga system port, o mga kilalang port. Ang Internet Assigned Numbers Authority (IANA) ay nagpapanatili ng isang opisyal na listahan ng nilalayong paggamit ng mga port number na ito sa internet, at ang system port 0 ay hindi dapat gamitin.
Paano Gumagana ang TCP/UDP Port 0 sa Network Programming
Ang pag-configure ng bagong koneksyon sa network socket ay nangangailangan ng isang numero ng port na ilaan sa parehong panig ng pinagmulan at patutunguhan. Ang mga mensahe ng TCP o UDP na ipinadala ng pinagmulan (pinagmulan) ay naglalaman ng parehong mga numero ng port upang ang tatanggap ng mensahe (destinasyon) ay makapag-isyu ng mga mensahe ng pagtugon sa tamang endpoint ng protocol.
Ang IANA ay may paunang inilaan na mga itinalagang system port para sa mga pangunahing aplikasyon sa internet tulad ng mga web server (port 80), ngunit maraming TCP at UDP network application ay walang sariling system port at dapat kumuha ng isa mula sa operating system ng kanilang device sa tuwing tatakbo sila.
Upang ilaan ang source port number nito, ang mga application ay tumatawag sa mga function ng TCP/IP network tulad ng bind() upang humiling ng isa. Ang application ay maaaring magbigay ng isang nakapirming (hard-coded) na numero upang i-bind() kung mas gusto nilang humiling ng isang partikular na numero, ngunit maaaring mabigo ang naturang kahilingan dahil ang isa pang application na tumatakbo sa system ay maaaring kasalukuyang gumagamit nito.
Bilang kahalili, maaari itong magbigay ng port 0 upang i-bind() bilang parameter ng koneksyon nito. Nagti-trigger iyon sa operating system na awtomatikong maghanap at magbalik ng angkop na available na port sa hanay ng numero ng dynamic na port ng TCP/IP.
Ang application ay hindi binibigyan ng port 0 kundi ilang iba pang dynamic na port. Ang bentahe ng programming convention na ito ay kahusayan. Sa halip na ang bawat application ay nagpapatupad at nagpapatakbo ng code upang subukan ang maraming port hanggang sa makakuha sila ng valid, umaasa ang mga app sa operating system.
Unix, Windows, at iba pang mga operating system ay nag-iiba-iba sa pangangasiwa ng port 0, ngunit ang parehong pangkalahatang convention ay nalalapat.
Port 0 at Network Security
Ang trapiko sa network na ipinadala sa internet sa mga host na nakikinig sa port 0 ay maaaring mabuo mula sa mga umaatake sa network o hindi sinasadya ng mga application na na-program nang hindi tama. Ang mga mensahe ng tugon na nabuo ng mga host bilang tugon sa trapiko sa port 0 ay tumutulong sa mga umaatake na matutunan ang gawi at mga potensyal na kahinaan sa network ng mga device na iyon.
Maraming internet service provider (ISP) ang humaharang sa trapiko sa port 0, parehong mga papasok at papalabas na mensahe, upang magbantay laban sa mga pagsasamantalang ito.
FAQ
Ano ang mga numero ng port?
Ang mga numero ng port na ginagamit para sa mga koneksyon sa network ng TCP/IP ay nagsisilbing impormasyon ng address, na tumutukoy sa mga nagpadala at tagatanggap ng mensahe. Hinahayaan ng mga numero ng port ang iba't ibang application sa iisang network na magbahagi ng mga mapagkukunan nang sabay-sabay.
Paano ko mahahanap ang mga numero ng port?
Para mahanap ang port number ng isang partikular na IP address, pumunta sa command prompt, i-type ang netstat -a, pagkatapos ay pindutin ang Enter. Makakakita ka ng listahan ng mga aktibong koneksyon sa TCP kasama ng mga IP address at numero ng port na pinaghihiwalay ng colon.
Maaari ba akong kumonekta sa port 0?
Hindi. Opisyal, hindi umiiral ang port 0 at hindi ka makakonekta dito, dahil ito ay isang di-wastong numero ng port. Gayunpaman, maaari kang magpadala ng internet packet papunta at mula sa port 0 katulad ng gagawin mo sa isa pang port number.