Библиотека сокетов


В Unix-подобных операционных системах программное обеспечение, выполняющее все задачи и протоколы, описанные выше, обычно является частью ядра, аналогично сделано и в Linux. Интерфейс программирования, наиболее общий для мира Unix, библиотека гнезд Berkeley (Berkeley Socket Library). Свое название она получила из-за популярной аналогии, которая рассматривает порты как гнезда (розетки). Правда, в современной русской сетевой терминологии устоялся термин "сокет". Она обеспечивает запрос bind, который определяет удаленный хост, транспортный протокол и сервис, к которому программа может присоединиться или слушать (используя системные вызовы connect, listen и accept). Библиотека сокетов обеспечивает не только TCP/IP-сокеты (сокеты типа AF_INET), но также класс, который обрабатывает подключения, локальные для машины (AF_UNIX). Некоторые реализации могут также обрабатывать другие классы подобно XNS (Xerox Networking System) или X.25.
Библиотека сокетов

В Unix-подобных операционных системах программное обеспечение, выполняющее все задачи и протоколы, описанные выше, обычно является частью ядра, аналогично сделано и в Linux. Интерфейс программирования, наиболее общий для мира Unix, библиотека гнезд Berkeley (Berkeley Socket Library). Свое название она получила из-за популярной аналогии, которая рассматривает порты как гнезда (розетки). Правда, в современной русской сетевой терминологии устоялся термин "сокет". Она обеспечивает запрос bind, который определяет удаленный хост, транспортный протокол и сервис, к которому программа может присоединиться или слушать (используя системные вызовы connect, listen и accept). Библиотека сокетов обеспечивает не только TCP/IP-сокеты (сокеты типа AF_INET), но также класс, который обрабатывает подключения, локальные для машины (AF_UNIX). Некоторые реализации могут также обрабатывать другие классы подобно XNS (Xerox Networking System) или X.25.

В Linux библиотека сокетов является частью стандартной C-библиотеки libc. Типы сокетов, которые она поддерживает в настоящее время, указаны в таблице 1-1.

Таблица 1-1. Типы сокетов, поддерживаемых libc .

Протокол Классы сокетов
TCP/IP AF_INET и AF_INET6
Локальные соединения AF_UNIX
Сети Novell AF_IPX
X.25 AF_X25
ATM AF_ATMPVC и AF_ATMSVC
Amateur Radio AF_AX25, AF_NETROM и AF_ROSE

Ведутся работы по добавлению сокетов и для других протоколов.



Содержание раздела