Soket

Soket (angl. socket) je v informatice pojmem, který v tomto oboru má nejméně dva významy. Původně, v počátcích toho, co se dnes nazývá internetem, se jednalo o dvojici IP adresa–číslo portu (např. 77.75.72.3 a 80), později se termín začal používat pro označení rozhraní operačního systému pro interprocesní komunikaci, ovšem jen rozhraní takového typu meziprocesové komunikace, který za komunikačního partnera dovoluje pojmout proces běžící na jiném počítači (dosažitelném skrze počítačovou síť). V původním významu, tedy jako souhrn dvou údajů, se výraz již téměř nepoužívá.

Soket jako údaj

Kombinace IP adresy a čísla portu je v modelech síťové komunikace (referenční model ISO/OSI, TCP/IP) vydáván za jednoznačný identifikátor procesu v rámci celé počítačové sítě — IP adresy slouží k rozlišení výpočetních jednotek v síti, číslo portu k odlišení procesů, resp. služeb, provozovaných na jednotlivých systémech (v případě služeb lze hovořit o serverech).

Standardní zápis soketu je zřetěžením IP adresy, dvojtečky a čísla portu, např. 77.75.72.3:80. Tuto formu identifikace protistrany komunikace umožňuje přijmout moderní API, obvykle se však parametr takové funkce nepopisuje jako soket (jelikož se jedná o archaismus). Jako hodnotu takového parametru je možné předat i jen IP adresu nebo jen port; jako výchozí IP adresa se použije 127.0.0.1 (konstanta pro lokální systém), port se odvodí z kontextu (pro jednotlivé protokoly, jakými jsou HTTP nebo FTP, existují implicitní hodnoty portů).

Soketový pár

Soketový pár (angl. socket pair) je dvojice soketů identifikující komunikační spojení mezi dvěma procesy v počítačové síti. Poněvadž s jedním procesem na jednom serveru může současně komunikovat více procesů z jedné stanice (kupř. dva různé webové prohlížeče s www.seznam.cz), musí existovat mechanismus, kterým se odpovědi na požadavky obou procesů při příjmu rozliší. Tímto mechanismem je další soket, který označuje zdroj komunikace, tj. vzniká dvojice zdrojový soket - cílový soket.

Soket jako nástroj meziprocesové komunikace

Jako síťový soket (angl. network socket) lze chápat datové struktury v paměti operačního systému, které slouží k evidenci otevřených kanálů pro interprocesní komunikaci; musí se však jednat o struktury takového nástroje meziprocesové komunikace, jenž připouští výměnu zpráv v obou směrech a dále zahrnuje možnost překročení hranice místního operačního systému.

Odkazy

Související články