0 порты желілік бағдарламалауда, әсіресе Unix ОЖ-да жүйеде бөлінген, динамикалық порттарды сұрау үшін пайдаланылатын розеткаларды бағдарламалауға келгенде ерекше мәнге ие. Порт 0 – жүйеге сәйкес порт нөмірін табуды айтатын қойылмалы таңба порты.
Көптеген порт нөмірлерінен айырмашылығы, 0 порты TCP/IP желісіндегі резервтелген порт болып табылады, яғни оны TCP немесе UDP хабарламаларында пайдаланбау керек. TCP және UDP желілеріндегі желі порттары нөлден 65535-ке дейін ауытқиды. Нөл мен 1023 аралығындағы порт нөмірлері эфемерлі емес порттар, жүйелік порттар немесе белгілі порттар ретінде анықталады. Интернетте тағайындалған нөмірлер органы (IANA) бұл порт нөмірлерінің интернетте пайдалану мақсатының ресми тізімін жүргізеді және жүйелік порт 0 пайдаланылмайды.
TCP/UDP 0 порты желілік бағдарламалауда қалай жұмыс істейді
Жаңа желілік розетка қосылымын конфигурациялау үшін бір порт нөмірін бастапқы және тағайындалған тарапқа бөлу қажет. Бастапқы беруші (көз) жіберген TCP немесе UDP хабарламаларында екі порт нөмірлері де болады, осылайша хабар алушы (тағайындалған орын) хаттаманың дұрыс соңғы нүктесіне жауап хабарларын бере алады.
IANA веб-серверлер (80-порт) сияқты негізгі интернет қолданбалары үшін алдын ала бөлінген жүйелік порттарға ие, бірақ көптеген TCP және UDP желілік қолданбаларында өздерінің жүйелік порттары жоқ және олар іске қосылған сайын құрылғының операциялық жүйесінен біреуін алуы керек..
Өзінің бастапқы порт нөмірін бөлу үшін қолданбалар bind() сияқты TCP/IP желі функцияларын шақырады. Қолданба белгілі бір нөмірді сұрауды қаласа, bind() үшін тіркелген (қатты кодталған) нөмірді бере алады, бірақ мұндай сұрау сәтсіз болуы мүмкін, себебі жүйеде жұмыс істейтін басқа қолданба оны қазіргі уақытта пайдаланып жатқан болуы мүмкін.
Балама ретінде ол байланыс параметрі ретінде bind() үшін 0 портын бере алады. Бұл амалдық жүйені TCP/IP динамикалық порт нөмірлерінің диапазонында қолайлы қолжетімді портты автоматты түрде іздеуге және қайтаруға шақырады.
Қолданбаға 0 порты емес, басқа динамикалық порт берілген. Бұл бағдарламалау конвенциясының артықшылығы - тиімділік. Жарамды портты алғанға дейін бірнеше портты қолданып көру үшін әрбір қолданба кодты іске қосып, іске қосудың орнына қолданбалар амалдық жүйеге сүйенеді.
Unix, Windows және басқа операциялық жүйелер 0-портты өңдеуде әртүрлі, бірақ бірдей жалпы конвенция қолданылады.
0-порт және желі қауіпсіздігі
Интернет арқылы 0 портында тыңдайтын хосттарға жіберілген желі трафигі желілік шабуылдаушылардан немесе қате бағдарламаланған қолданбалардан кездейсоқ жасалуы мүмкін. 0 порт трафигіне жауап ретінде хосттар жасайтын жауап хабарлары шабуылдаушыларға сол құрылғылардың мінез-құлқын және ықтимал желі осалдықтарын білуге көмектеседі.
Көптеген интернет-провайдерлер (ISP) осы эксплуатациялардан қорғау үшін кіріс және шығыс хабарлардың 0-портындағы трафикті блоктайды.
ЖҚС
Порт нөмірлері дегеніміз не?
TCP/IP желі қосылымдары үшін пайдаланылатын порт нөмірлері хабарлама жіберушілері мен қабылдаушыларын анықтайтын мекенжай ақпараты ретінде әрекет етеді. Порт нөмірлері бір желідегі әртүрлі қолданбаларға ресурстарды бір уақытта бөлісуге мүмкіндік береді.
Порт нөмірлерін қалай табуға болады?
Нақты IP мекенжайының порт нөмірін табу үшін пәрмен жолына өтіп, netstat -a деп теріңіз, содан кейін Enter пернесін басыңыз. Сіз қос нүктемен бөлінген IP мекенжайлары мен порт нөмірлерімен бірге белсенді TCP қосылымдарының тізімін көресіз.
0 портқа қосылуға болады ма?
Жоқ. Ресми түрде 0 порты жоқ және оған қосыла алмайсыз, себебі ол жарамсыз порт нөмірі. Дегенмен, интернет пакетін 0 портына және одан басқа порт нөмірімен бірдей жіберуге болады.