Програмирање утичница за рачунарско умрежавање

Соцкет је једна од најосновнијих технологија програмирања рачунарске мреже. Утичнице омогућавају мрежним софтверским апликацијама да комуницирају користећи стандардне механизме уграђене у мрежни хардвер и оперативне системе.

Иако звучи као још једна карактеристика развоја интернет софтвера, соцкет технологија је постојала пре веба. Многе популарне мрежне софтверске апликације ослањају се на утичнице.

Шта технологија соцкета може учинити за вашу мрежу

Утичница представља једну везу између тачно два софтверска дела (веза од тачке до тачке). Са више од два софтвера може да комуницира клијент/сервер или дистрибуираних система коришћењем више утичница. На пример, многи веб претраживачи могу истовремено да комуницирају са једним веб сервером користећи групу сокета направљених на серверу.

Софтвер заснован на утичници обично ради на два одвојена рачунара на мрежи, али утичнице се такође могу користити за локалну комуникацију (међупроцесно) на једном рачунару. Утичнице су двосмерне, што значи да обе стране везе могу да шаљу и примају податке.

Понекад се апликација која покреће комуникацију назива клијент, а друга апликација сервер, али ова терминологија доводи до забуне у пеер-то-пеер умрежавање и генерално треба избегавати.

Соцкет АПИ-ји и библиотеке

Неколико библиотека које имплементирају стандард интерфејси за програмирање апликација (АПИ) постоје на интернету. Први маинстреам пакет, Беркелеи Соцкет Либрари, је широко у употреби на УНИКС системима.

Још један уобичајени АПИ је библиотека Виндовс Соцкетс (ВинСоцк) за Мицрософт оперативне системе. У односу на друге рачунарске технологије, соцкет АПИ-ји су зрели. ВинСоцк је у употреби од 1993. године, а Беркелеи сокети од 1982. године.

АПИ-ји сокета су релативно мали и једноставни. Многе функције су сличне онима које се користе у рутинама за унос/излаз датотека као што су читати(), напиши(), и Близу(). Стварни позиви функције зависе од одабраног програмског језика и библиотеке сокета.

Типови интерфејса утичнице

Интерфејси сокета могу се поделити у три категорије:

  • Стреам соцкетс: Ово је најчешћи тип. Две стране у комуникацији прво успостављају утичницу, након чега су сви подаци прошли кроз њу гарантовано да ће веза стићи истим редоследом којим је послата (користећи програмирање оријентисано на везу модел).
  • Датаграмске утичнице: Понудите семантику без везе. Код датаграма, везе су имплицитне, а не експлицитне као код токова. Свака страна шаље датаграме по потреби и чека да друга страна одговори. Поруке могу бити изгубљене у преносу или примљене ван реда; апликација се бави овим проблемима, а не утичницама. Имплементација датаграм сокета може неким апликацијама дати повећање перформанси и додатну флексибилност у поређењу са коришћењем стреам сокета.
  • Сирове утичнице: Заобиђите уграђену подршку библиотеке за стандардне протоколе као што су ТЦП и УДП. Рав утичнице се користе за прилагођени развој протокола ниског нивоа.

Подршка утичница у мрежним протоколима

Модерне мрежне утичнице се обично користе у комбинацији са ИП, ТЦП и УДП интернет протоколима. Библиотеке које имплементирају утичнице за интернет протокол користе ТЦП за токове, УДП за датаграме и ИП за необрађене утичнице.

За комуникацију преко интернета, библиотеке ИП сокета користе ИП адреса да идентификују одређене рачунаре. Многи делови интернета раде са сервисима именовања, тако да корисници и програмери сокета могу да раде са њима рачунаре по имену (на пример, тхисцомпутер.вирелесс.лифевире.цом) уместо по адреси (нпр. 208.185.127.40).

Стреам и датаграм утичнице такође користе ИП бројеви портова да разликују више апликација једна од друге. На пример, веб претраживачи на Интернету знају да користе порт 80 као подразумевани за комуникацију утичнице са веб серверима.