Порт 0 эмне үчүн колдонулат?

Мазмуну:

Порт 0 эмне үчүн колдонулат?
Порт 0 эмне үчүн колдонулат?
Anonim

Port 0 тармактык программалоодо өзгөчө мааниге ээ, өзгөчө Unix OS системасында порт система тарабынан бөлүнгөн, динамикалык портторду суроо үчүн колдонулган розеткаларды программалоодо. Порт 0 - бул системага ылайыктуу порт номерин табууга буйрутмачы порт.

Көпчүлүк порт номерлеринен айырмаланып, 0 порту TCP/IP тармагындагы резервдик порт, башкача айтканда, ал TCP же UDP билдирүүлөрүндө колдонулбашы керек. TCP жана UDP тармагындагы тармак порттору нөлдөн 65535ке чейинки диапазонду камтыйт. Нөлдөн 1023кө чейинки диапазондогу порт номерлери эфемердик эмес порттор, системалык порттор же белгилүү порттор катары аныкталат. Internet Assigned Numbers Authority (IANA) бул порт номерлеринин интернетте кандай максатта колдонулушунун расмий тизмесин сактап турат жана система порту 0 колдонулбашы керек.

TCP/UDP 0 порту тармактык программалоодо кантип иштейт

Image
Image

Жаңы тармак розеткасын конфигурациялоо үчүн бир порт номери булак жана көздөгөн тарапка бөлүнүшүн талап кылат. Оригинатор (булак) тарабынан жөнөтүлгөн 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 баскычын басыңыз. Сиз жигердүү TCP байланыштарынын тизмесин жана IP даректерин жана кош чекит менен бөлүнгөн порт номерлерин көрөсүз.

    Мен 0-портко туташсам болобу?

    Жок. Расмий түрдө 0 порту жок жана ага туташа албайсыз, анткени ал жараксыз порт номери. Бирок, сиз интернет пакетин 0 портуна жана андан башка порт номериндей эле жөнөтө аласыз.

Сунушталууда: