Кіріспе
Желілік байланыс бағдарламалық қамтамасыз ету негізінде аяқтау нүктесі Желілік сокет - компьютерлік желідегі желілік тораптағы бағдарламалық қамтамасыз ету құрылымы, ол желі арқылы деректерді жіберу және қабылдау үшін аяқтау нүктесі ретінде қызмет етеді. Сокет құрылымы мен қасиеттері желілік архитектура үшін қолданбалы бағдарламалау интерфейсі (API) арқылы анықталады. Сокеттер торапта орындалатын қолданбаның процесінің өмір бойына ғана құрылады. TCP/IP протоколдарын Интернетке стандарттау нәтижесінде, желілік сокет термині көбінесе Интернет протоколы жиынтығында қолданылады, сондықтан оны Интернет сокеті деп те атайды. Бұл жағдайда сокет басқа хосттарға сокет адресімен, яғни транспорттық протоколдың, IP-адрестің және порттың нөмірімен сыртқы түрде анықталады. Сокет термині сонымен қатар желілік сокет сияқты бірдей API-ді жиі қолданатын түйіннің ішкі процестер арасындағы байланысының (IPC) бағдарламалық қамтамасыз ету нүктесі үшін қолданылады.
A network socket is a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. The structure and properties of a socket are defined by an application programming interface (API) for the networking architecture. Sockets are created only during the lifetime of a process of an application running in the node. Because of the standardization of the TCP/IP protocols in the development of the Internet, the term network socket is most commonly used in the context of the Internet protocol suite, and is therefore often also referred to as Internet socket. In this context, a socket is externally identified to other hosts by its socket address, which is the triad of transport protocol, IP address, and port number. The term socket is also used for the software endpoint of node internal inter process communication (IPC), which often uses the same API as a network socket.
Қолдану
Бағдарламалық жасақтауда сокет терминін қолдану электрлік әйел қосылыштың қызметіне ұқсас, ол электр кабелімен өзара байланысты түйіндер арасындағы байланыс үшін аппараттық құрылғы. Сол сияқты порт термині торап немесе құрылғыдағы сыртқы физикалық соңғы нүктелер үшін қолданылады. Желілік протокол стегі үшін қолданбалы бағдарламалау интерфейсі (API) қолданба жасаған әрбір сокет үшін тұтқаны жасайды, оны әдетте сокет дескрипторы деп атайды. Unix секілді операциялық жүйелерде бұл дескриптор файл дескрипторының бір түрі. Бұл ақпаратты қолдану процесінде байланыс арнасындағы әрбір оқу және жазу операциясы үшін сақтайды. API-мен құрылған кезде желілік сокет беру үшін қолданылатын желілік протоколының түріне, хосттың желілік мекенжайы мен порт нөміріне байланысты. Порттар - бұл түйіннің бағдарламалық құрылымының басқа түрін білдіретін нөмірленген ресурстар. Олар қызмет түрінде қолданылады және процеспен құрылғаннан кейін сыртқы (желіден) адрестелетін орналасу компоненті ретінде қызмет етеді, сондықтан басқа хосттар қосылымдар орната алады. Желілік сокет екі торап арасындағы байланыс үшін тұрақты қосылымдарға арналуы мүмкін немесе олар қосылымсыз және көп тарату байланыстарына қатыса алады. Іс жүзінде, Интернетте қолданылатын TCP/IP протоколдарының көбеюіне байланысты, желілік сокет термині әдетте Интернет протоколымен (IP) пайдалануды білдіреді. Сондықтан оны көбінесе Интернет-сокет деп те атайды.
Сокет адрестері
Қолданба протокол түрін, IP мекенжайын және порт нөмірін біліп, TCP/IP-мен деректерді алмасу арқылы қашықтан процеспен байланыса алады. Бұл комбинация көбінесе сокет адресі деп аталады. Бұл желілік сокетке желіге қараған кіру тұтқасы. Қашықтан процес протокол стегінің өз нұсқасында желілік сокет орнатады және желілік API-ді қолданбаға қосылу үшін қолданады, өз сокет мекенжайын қолданба үшін ұсынады.
Анықтама
Сокет (ішкі бейнелеу), сокет дескрипторы (абстрактты идентификатор) және сокет адресі (жалпы мекенжай) арасындағы айырмашылықтар өте жұмсақ, олар күнделікті қолданыста әрдайым ажыратылмайды. Сонымен қатар, жазушылар арасында тұйықтардың нақты анықтамасы әртүрлі. IETF пікірлер сұрауында, Интернет стандарттарында, көптеген оқулықтарда, сондай-ақ осы мақалада сокет термині сокет нөмірімен бірегей түрде анықталған субъектіге қатысты. Басқа оқулықтарда сокет термині жергілікті сокет адресіне, яғни "IP-адресі мен порт нөмірінің комбинациясына" қатысты. RFC 147 -де берілген сокеттің бастапқы анықтамасында, ол 1971 жылы ARPA желісіне қатысты болғандықтан, "сокет 32 биттік сан ретінде көрсетілген, жұп сокет қабылдау сокеттерін, ал тақ сокет жіберу сокеттерін анықтайды". Алайда қазіргі уақытта сокет байланысы екі бағыттағы болып отыр. Операциялық жүйе мен сокет жасайтын қолданбада сокет сокет дескрипторы деп аталатын бірегей бүтін санмен аталады.
Желілік жабдықтардағы розеткалар
Сокет - бұл негізінен Интернет протоколы жиынтығының немесе OSI моделі сессия қабатының көлік қабатында қолданылатын ұғым. Интернет қабатында жұмыс істейтін маршрутизаторлар және байланыс қабатында жұмыс істейтін коммутаторлар сияқты желілік жабдықтар транспорттық қабаттың іске асырылуын қажет етпейді. Алайда, stateful желілік өрт қабырғалары, желілік адресті аударушылар және прокси-серверлер белсенді сокет жұптарын қадағалайды. Көпқабатты коммутаторларда және маршрутизаторларда қызмет көрсету сапасын (QoS) қолдау кезінде пакет ағындарын сокет жұптары туралы ақпаратты алу арқылы анықтауға болады. Шикі сокет желілік жабдықтарда әдетте бар және IGRP және OSPF сияқты маршрут протоколдары мен Интернет-бақылау хабарлама протоколы (ICMP) үшін қолданылады.