Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Сокети, їх типи і особливості роботи

Сокети забезпечують двосторонній зв'язок типу «точка-точка» між двома процесами. Вони є основними компонентами міжсистемної і міжпроцесної взаємодії. Кожен сокет являє собою кінцеву точку зв'язку, з якою може бути пов'язано деякий ім'я. Він також має певний тип, і один або декількох пов'язаних з ним процесів.

Сокети існують в областях зв'язку (доменах). Домен сокета – це абстракція, яка визначає структуру адресації і набір протоколів. Сокети можуть з'єднуватися тільки з сокетами в тому ж самому домені. Всього визначено 23 класу сокетів (див. <sys/socket.h>), з яких зазвичай використовуються тільки UNIX-сокети та Інтернет-сокети. Сокети можуть використовуватися для встановлення зв'язку між процесами на окремій системі, подібно до інших форм IPC.

Клас сокетів UNIX забезпечує адресний простір сокетів для окремої обчислювальної системи. Сокети області UNIX називаються іменами файлів UNIX. Сокети також можна використовувати, щоб організувати зв'язок між процесами на різних системах. Адресний простір сокетів між пов'язаними системами називають доменом Інтернету. Комунікації домену Інтернету використовують стек протоколів TCP/IP.

Типи сокетів визначають особливості зв'язку, що перебувають додатком. Процеси взаємодіють тільки через сокети одного і того ж типу. Існує такі основні типи сокетів:

- потоковий сокет – забезпечує двосторонній, послідовний, надійний, і недубльовані потік даних без певних кордонів. Тип сокета – SOCK_STREAM, в домені Інтернету він використовує протокол TCP.

- датаграмний сокет – підтримує двосторонній потік повідомлень. Додаток, що використовує такі сокети, може отримувати повідомлення в порядку, відмінному від послідовності, в якій ці повідомлення надсилалися. Тип сокета – SOCK_DGRAM, в домені Інтернету він використовує протокол UDP.

- сонет послідовних пакетів – забезпечує двосторонній, послідовний, надійний обмін датаграму фіксованою максимальної довжини. Тип сокета – SOCK_SEQPACKET. Для цього типу сокета не існує спеціального протоколу.

- простий сокет - забезпечує доступ до основних протоколах зв'язку.

Всі сокети зазвичай орієнтовані на застосування датаграмм, але їх точні характеристики залежать від інтерфейсу, забезпечуваного протоколом. Обмін між сокетами відбувається за такою схемою рисунок 3.3.

Рисунок 3.3 – Протокол обміну по сокетам

 

Розглянуто підходи міжпроцесної взаємодії в UNIX з використанням файлових сокетів та інтерфейсу для їх реалізації. Подано можливості використання парних сокетів як каналів для взаємодії споріднених процесів. Запропоновано можливості програмної реалізації мережевих неблокуючих сокетів для взаємодії між клієнтом і сервером.

На сьогоднішній день сокети займають одне із найвизначніших місць в мережевому програмуванні. Особливо це стосується найбільш провідних операційних систем, які є досить визнаними з усіма їхніми перевагами для застосування в мережі. В даний момент хотілося б говорити про операційні системи сімейства UNIX та Linux як мережеві, в яких сокетна взаємодія між віддаленими процесами займає важливе місце. Як і інші засоби міжпроцесної взаємодії, сокети вперше були реалізовані саме на платформі UNIX версії 4.2BSD. Слід також добавити, що концепція сокетів, як одного з найбільш цікавих і досконалих засобів обміну даними між процесами в мережі, стала настільки прогресивною, що сьогодні всі новітні системи підтримують, в крайньому випадку, хоча б деяку частину сокетів. Причини їх успіху полягають в простоті підходів та універсальності.

Програми, які обмінюються даними за допомогою сокетів, можуть працювати в одній так і в різних системах, що використовують для обміну даними як спеціальні об’єкти системи, так і мережевий стек. Як і канали зв’язку, сокети використовують простий інтерфейс, що базується на звичайних файлових функціях, таких як read() і write(). При відкритті сокета програма UNIX отримує дескриптор файла, що дозволяє організувати подальшу роботу з ними, включаючи вищезгаданий інтерфейс файлових функцій чи системних викликів. Але на відміну від каналів зв’язку, сокети дозволяють передавати дані в обох напрямках: в синхронному режимі, так і в асинхронному.

Аналіз останніх досліджень. Насьогодні більшість програмістів взяли за мету використання різного роду бібліотек високого рівня для роботи з сокетами та їх програмної реалізації. Тим, хто програмує сокети для операційної системи Windows, досить знайомими є мережеві сокети, які, як правило, організовують обмін даними за допомогою протоколів сімейства TCP/IP. Проте в операційних системах сімейства UNIX є наявні й інші види сокетів, які спеціально передбачені для організації комунікації і обміну даними між локальними процесами. Слід все-таки виразити думку, що високорівневі бібліотеки не дозволяють задіяти всю потужність і можливу багатосторонність сокетів. Найочевидніший приклад багатосторонності має прояв в файлових сокетах.

Мовою користувача UNIX локальні сокети це пряма заміна loopback адреси 127.0.0.1 і портів, прямим лінком. Тобто наприклад адресу 127.0.0.1:3306 може бути замінена unix:/tmp/mysql.sock. Тобто сокети відображаються у вигляді файлів, що підвищує рівень безпеки і швидкість взаємодії.

 


Читайте також:

  1. I. Особливості аферентних і еферентних шляхів вегетативного і соматичного відділів нервової системи
  2. II. Вимоги безпеки перед початком роботи
  3. II. Вимоги безпеки праці перед початком роботи
  4. III. Вимоги безпеки під час виконання роботи
  5. III. Вимоги безпеки під час виконання роботи
  6. Internet. - це мережа з комутацією пакетів, і її можна порівняти з організацією роботи звичайної пошти.
  7. IV. Вимоги безпеки під час роботи на навчально-дослідній ділянці
  8. VI.3.3. Особливості концепції Йоганна Гайнріха Песталоцці
  9. VI.3.4. Особливості концепції Йоганна Фрідриха Гербарта
  10. VII. Прибирання робочих місць учнями (по завершенню роботи) і приміщення майстерні черговими.
  11. А. Особливості диференціації навчального процесу в школах США
  12. Агітація за і проти та деякі особливості її техніки.




Переглядів: 4534

<== попередня сторінка | наступна сторінка ==>
Ієрархія мережевих інтерфейсів | Визначення конфігурації мережевих інтерфейсів

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.