12.07.2015 Views

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Виртуална Лаборатория по Компютърни Мрежи и Разпределени СистемиСОКЕТИ – ПРИЛОЖЕНИЕ.Сокетите са средство за локална и мрежова комуникация между двапроцеса. За пръв път тази идея се появява в BSD 4.2, а сега е разпространенав повечето операционни системи като стандарт за комуникация. От гледнаточка на програмирането е необходима абстракция, която да представивзаимодействието на процеси през мрежата. Тази абстракция цели дакапсулира управлението на TCP/IP стека и предаването на данни. С цел да сенаправи програмирането по-лесно, в UNIX за пръв път се появяваабстракцията сокет и мрежата се използва по подобие на взаимодействието сВ/И устройствата и файловете. В UNIX се спазва идеологията всички В/Иоперации да се извършват като достъп до файл. Използва се файловдескриптор и операциите за четене и писане във файл. Тъй като сокетите сепоявяват за пръв път точно в UNIX, те също спазват тази идеология: създавасе дескриптор на сокета, който е от същото множество цели числа, както ифайловите дескриптори. При някои операционни системи (Windows)функциите за работа със сокети са отделени от тези за работа с файлове идескрипторите са отделни, но схемата на работа се запазва. В операционнатасистема интерфейса за сокети се състои от набор потребителски библиотекии функции, както и от набор системни извиквания на ядрото. В по-раннитеверсии на Windows работата със сокети е била реализирана по различен отпопулярния начин – така наречените “Berkeley sockets”. По-късноМайкрософт добавят библиотека за сокети, която е напълно в съответствие с“Berkeley sockets”. Това е “winsock2” библиотеката.Наследено от UNIX, има два различни домейна за обхват на сокета:локални (PF_UNIX) и мрежови (PF_INET). При локалните се адресира чрезпълния път до процеса, а с мрежовите ще се запознаем подробно в настоящияматериал.Мрежови сокетиМрежовите сокети функционират като крайна точка за комуникация.Всеки сокет е една входна точка, а една двойка свързани сокети уникалноидентифицира една двупосочна връзка от край до край. Всяка крайна точкасе идентифицира с двойката (адрес, порт). Мрежовите сокети могат да сеизползват и за локална междупроцесна комуникация ((localhost, port1),(localhost, port2)).Мрежовите сокети са три основни типа:- Поточни сокети – използва TCP за транспортен протокол, т.е.надежден.- Дейтаграмни сокети – използва UDP, т.е. ненадежден, изпращатсе съобщения.- RAW сокет – асоциира се с IP протоколен номер и получаваСтр.82Сокети – приложение.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!