Библиотека сокетов
В 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 |
Ведутся работы по добавлению сокетов и для других протоколов.