Кіріспе

Операциялық жүйедегі байланыс нүктесі Бағдарламалық қамтамасыз ету байланыс порттары Компьютерлік желілерде порт немесе порт нөмірі - бұл байланыс нүктесін бірегей түрде анықтау және деректерді белгілі бір қызметке бағыттау үшін берілген нөмір. Бағдарламалық қамтамасыз ету деңгейінде операциялық жүйеде порт - белгілі бір процесті немесе желілік қызмет түрін анықтайтын логикалық құрылым. Әрбір тасымалдау протоколы мен адрестік комбинация үшін бағдарламалық қамтамасыз ету деңгейінде порт оған берілген порт нөмірімен анықталады. Порт нөмірлерін пайдаланатын ең көп таралған тасымалдау протоколдары - Трансмиссияны басқару протоколы (TCP) және Пайдаланушы деректемелер протоколы (UDP); бұл порт нөмірлері 16 биттік қолтаңбасыз нөмірлер. Порт нөмірі әрқашан хосттың желілік мекенжайымен, мысалы IP-мекенжайымен және байланыс үшін қолданылатын тасымалдау протоколының түрімен байланысты. Ол хабарламаның мақсат немесе шығу мекенжайын толтырады. Белгілі бір порттар нөмірлері белгілі бір қызметтерді анықтау үшін сақталады, сондықтан келіп түскен пакетті жұмыс істеп тұрған қолданбаға оңай жіберу мүмкін. Осы мақсатта 1024-тен төмен порттар саны тарихта ең көп қолданылатын қызметтерді анықтайды және оларды белгілі порттар деп атайды. Жоғары нөмірленген порттар жалпы қолдану үшін бар және олар эфимерлік порттар деп аталады. Порттар бір желілік мекенжайда бірнеше қызметтер немесе бірнеше байланыс сеанстары үшін мультиплекстік қызмет көрсетеді. Қолданба архитектурасының клиент-сервер моделі бойынша бір қызмет үшін бірнеше бір мезгілдегі байланыс сеанстары басталуы мүмкін.

Порт нөмірі

TCP және UDP үшін порт нөмірі 16 биттік белгісіз бүтін сан, яғни 0-ден 65535-ке дейін. TCP үшін порттың нөмірі 0 сақталады және оны пайдалануға болмайды, ал UDP үшін бастапқы порт ерікті, ал нөлдің мәні порт жоқ дегенді білдіреді. Процесс өзінің кіріс немесе шығыс арналарын интернет-сокет арқылы байланыстырады, бұл файл дескрипторының түрі, ол тасымалдау протоколымен, IP-мекенжайы сияқты желілік мекенжаймен және порт нөмірімен байланысты. Бұл - байлау деп аталады. Сокет - бұл желі арқылы деректерді жіберу және қабылдау процесінде қолданылатын құрылғы. Операциялық жүйенің желілік бағдарламалық жасақтамасы барлық қолданба порттарынан шығыс деректерді желіге жіберуді және пакеттердің IP-мекенжайы мен порт нөмірін сокетке сәйкестендіру арқылы келетін желілік пакеттерді процестерге жіберуді міндет етеді. TCP үшін тек бір процесс белгілі бір IP-адресі мен порт комбинациясына байлануы мүмкін. Кейде порттар арасындағы қақтығыстар деп аталатын жалпы қолданбалы сәтсіздіктер бірнеше бағдарлама бірдей протоколмен бірдей IP-адресте бірдей порт нөмірін пайдалануға тырысқанда пайда болады. Жалпы қызметтерді іске асыратын қолданбалар клиенттерден қызмет сұрауларын алу үшін белгілі порт нөмірлерін жиі қолданады. Бұл процесс тыңдау деп аталады және белгілі портта сұранысты қабылдауды қамтиды, бұл тыңдау портын пайдалана отырып, бір-бір сервер клиенті диалогын құруы мүмкін. Басқа клиенттер бір мезгілде бір тыңдау портына қосылуы мүмкін; бұл TCP қосылысы жергілікті мекенжайдан, жергілікті порттан, қашықтағы мекенжайдан және қашықтағы порттан тұратын тупель арқылы анықталады. Белгілі порттар Интернетке берілген нөмірлер агенттігі (IANA) бақылайтын конвенция бойынша анықталады. Көптеген операциялық жүйелерде осы порттарға байланыстыратын қосымшалар үшін арнайы артықшылықтар қажет, өйткені олар IP желілерінің жұмыс істеуі үшін маңызды болып саналады. Керісінше, қосылымның клиент жағы әдетте қысқа мерзімді пайдалану үшін бөлінген жоғары порт нөмірін пайдаланады, сондықтан оны уақытша порт деп атайды.

Желілік қатынас

Транспорттық қабат протоколдары, мысалы, Трансмиссияны басқару протоколы (TCP) және Пайдаланушы деректемелер протоколы (UDP), деректерді протоколдық дерек бірліктерін (PDU) пайдалана отырып, береді. TCP үшін PDU сегмент, ал UDP үшін ол датаграмма. Екі протокол да бастапқы және мақсатты порт нөмірлерін көрсету үшін басшау өрісін қолданады. Порт нөмірлері тасымалдау протоколы пакетінің басында кодталады және оларды тек жіберуші және қабылдаушы хосттар ғана емес, сонымен қатар желілік инфрақұрылымның басқа компоненттері де оңай түсіндіруге болады. Атап айтқанда, өрт қабырғалары пакеттерді олардың бастапқы немесе мақсатты порт нөмірлеріне байланысты ажырату үшін конфигурацияланады. Порт-экспедициялау - осыған мысал.

Порт сканерлеуі

Бір хосттағы порттар қатарына бірізді түрде қосылуға тырысуды порттарды сканерлеу деп атайды. Бұл әдетте зиянды крекерлік әрекеттермен немесе желі әкімшілері осындай шабуылдарды болдырмау үшін ықтимал осалдықтарды іздеумен байланысты. Порт қосылу әрекеттерін хосттар жиі бақылап, тіркейді. Порт-тоқылдау техникасы сервермен қосылу үшін клиент компьютердің порт байланыстарының (тоқылдаулардың) тізбесін пайдаланады.

Мысалдар

Порттарды пайдаланудың мысалы - электрондық поштаны жеткізу. Электрондық поштаны жіберу және қабылдау үшін қолданылатын серверге әдетте екі қызмет қажет. Бірінші қызмет электрондық поштаны басқа серверлерге және одан тасымалдауға қолданылады. Бұл қарапайым пошта беру протоколы (SMTP) арқылы жүзеге асырылады. Стандартты SMTP қызмет бағдарламасы TCP 25-ке кіріс сұраныстарын тыңдайды. Екінші қызмет әдетте пошта кеңсесі протоколы (POP) немесе Интернетке қатынау протоколы (IMAP) болып табылады, оны пайдаланушылардың жеке компьютерлеріндегі электрондық пошта клиенттері серверден электрондық пошта хабарламаларын алу үшін қолданады. POP қызметі TCP порт нөмірі 110-да тыңдайды. Екі қызмет те бір хост компьютерде жұмыс істеуі мүмкін, бұл жағдайда порт нөмірі қашықтағы компьютер сұраған қызметті ажыратады, ол пайдаланушының компьютері немесе басқа пошта сервері болсын. Сервердің тыңдау портының нөмірі жақсы анықталса да (IANA оларды белгілі порттар деп атайды), клиенттің порт нөмірі жиі динамикалық порт диапазонынан таңдалады (төменде қараңыз). Кейбір қолданбаларда клиенттер мен сервер IANA берген белгілі бір порт нөмірлерін қолданады. Мұның жақсы мысалы - DHCP, онда клиент әрқашан UDP 68 портын қолданады, ал сервер әрқашан UDP 67 портын қолданады.

URL- сілтемелерде қолдану

Порт нөмірлері кейде веб-сайттарда немесе басқа да бірыңғай ресурс локаторларында (URL) көрінеді. Әдетте HTTP 80 портын, ал HTTPS 443 портын қолданады, бірақ http://www. мысал келтіріңіз. com:8080/path/ веб-браузердің HTTP серверінің 8080 портына қосылуын анықтайды.