Port 0-ը հատուկ նշանակություն ունի ցանցային ծրագրավորման մեջ, հատկապես Unix OS-ում, երբ խոսքը վերաբերում է վարդակից ծրագրավորմանը, որտեղ նավահանգիստն օգտագործվում է համակարգի կողմից հատկացված դինամիկ պորտեր պահանջելու համար: Նավահանգիստ 0-ը նիշերի միացք է, որը համակարգին ասում է գտնել համապատասխան պորտի համարը:
Ի տարբերություն նավահանգիստների շատերի, նավահանգիստ 0-ը վերապահված միացք է TCP/IP ցանցում, ինչը նշանակում է, որ այն չպետք է օգտագործվի TCP կամ UDP հաղորդագրություններում: Ցանցային նավահանգիստները TCP-ում և UDP-ում տատանվում են զրոյական թվից մինչև 65535: Զրո-ից մինչև 1023 միջակայքում գտնվող նավահանգիստների համարները սահմանվում են որպես ոչ վաղանցիկ պորտեր, համակարգի նավահանգիստներ կամ հայտնի պորտեր: Ինտերնետ նշանակված համարների մարմինը (IANA) պահպանում է ինտերնետում այս նավահանգիստների համարների ծրագրված օգտագործման պաշտոնական ցուցակը, և համակարգի 0 նավահանգիստը չպետք է օգտագործվի:
Ինչպես է աշխատում TCP/UDP պորտը ցանցային ծրագրավորման մեջ
Նոր ցանցային վարդակից կապը կարգավորելու համար պահանջվում է, որ մեկ պորտի համար հատկացվի ինչպես աղբյուրի, այնպես էլ նպատակակետի կողմերում: Ստեղծողի (աղբյուրի) կողմից ուղարկված TCP կամ UDP հաղորդագրությունները պարունակում են երկու պորտի համարներ, որպեսզի հաղորդագրության ստացողը (նպատակակետը) կարողանա պատասխան հաղորդագրություններ ուղարկել արձանագրության ճիշտ վերջնակետին:
IANA-ն նախապես հատկացրել է համակարգային պորտեր հիմնական ինտերնետային հավելվածների համար, ինչպիսիք են վեբ սերվերները (պորտ 80), սակայն շատ TCP և UDP ցանցային հավելվածներ չունեն իրենց սեփական համակարգի միացքը և ամեն անգամ գործարկվելիս պետք է ստանան իրենց սարքի օպերացիոն համակարգից մեկը:.
Աղբյուրային պորտի համարը հատկացնելու համար հավելվածները զանգահարում են TCP/IP ցանցի գործառույթներ, ինչպիսին է bind()-ը՝ մեկը պահանջելու համար: Հավելվածը կարող է տրամադրել ֆիքսված (կոշտ կոդավորված) համար bond()-ի համար, եթե նրանք նախընտրում են պահանջել որոշակի համար, բայց այդպիսի հարցումը կարող է ձախողվել, քանի որ համակարգում աշխատող մեկ այլ ծրագիր կարող է ներկայումս այն օգտագործել:
Այլընտրանքով, այն կարող է ապահովել 0 պորտը bind()-ին որպես կապի պարամետր: Դա ստիպում է օպերացիոն համակարգին ավտոմատ որոնել և վերադարձնել համապատասխան հասանելի պորտը TCP/IP դինամիկ պորտի համարի տիրույթում:
Հավելվածին տրվել է ոչ թե 0, այլ մի այլ դինամիկ պորտ: Ծրագրավորման այս կոնվենցիայի առավելությունը արդյունավետությունն է: Փոխարենը, որ յուրաքանչյուր հավելված ներդնի և գործարկի մի քանի նավահանգիստներ, քանի դեռ դրանք վավեր են, հավելվածները հիմնվում են օպերացիոն համակարգի վրա:
Unix-ը, Windows-ը և այլ օպերացիոն համակարգերը տարբերվում են 0-ի պորտի մշակման հարցում, սակայն գործում է նույն ընդհանուր պայմանը:
Port 0 և ցանցային անվտանգություն
Ցանցային տրաֆիկը, որն ուղարկվում է համացանցով դեպի 0 նավահանգիստ լսող հյուրընկալողներին, կարող է ստեղծվել ցանցային հարձակվողներից կամ պատահաբար սխալ ծրագրավորված հավելվածներից: Պատասխան հաղորդագրությունները, որոնք ստեղծում են հոսթները՝ ի պատասխան պորտ 0-ի տրաֆիկի, հարձակվողներին օգնում են իմանալ այդ սարքերի վարքը և ցանցի հնարավոր խոցելիությունները:
Ինտերնետ ծառայություններ մատուցողներից շատերը (ISP) արգելափակում են երթևեկությունը 0 նավահանգստում, ինչպես մուտքային, այնպես էլ ելքային հաղորդագրությունները՝ պաշտպանվելու այս շահագործումներից:
ՀՏՀ
Որո՞նք են նավահանգիստների համարները:
Պորտի համարները, որոնք օգտագործվում են TCP/IP ցանցային միացումների համար, գործում են որպես հասցեի տեղեկատվություն՝ նույնականացնելով հաղորդագրություն ուղարկողներին և ստացողներին: Նավահանգիստների համարները թույլ են տալիս միևնույն ցանցի տարբեր հավելվածներին միևնույն ժամանակ կիսել ռեսուրսները:
Ինչպե՞ս գտնել նավահանգիստների համարները:
Որոշակի IP հասցեի պորտի համարը գտնելու համար անցեք հրամանի տող, մուտքագրեք netstat -a, այնուհետև սեղմեք Enter: Դուք կտեսնեք ակտիվ TCP կապերի ցանկը IP հասցեների և նավահանգիստների համարների հետ միասին՝ բաժանված երկու կետով:
Կարո՞ղ եմ միանալ 0 պորտին:
Ոչ. Պաշտոնապես 0 նավահանգիստը գոյություն չունի, և դուք չեք կարող միանալ դրան, քանի որ այն անվավեր պորտի համար է: Այնուամենայնիվ, դուք կարող եք ինտերնետ փաթեթ ուղարկել 0 նավահանգիստ և այնտեղից այնպես, ինչպես կկատարեիք մեկ այլ պորտի համար: