Троан Эрик В.
Шрифт:
Несмотря на то что дейтаграммные протоколы вроде UDP, несомненно, полезны [118] , мы остановимся на применении потоковых протоколов, поскольку их легче использовать для большинства приложений. Подробное описание разработки протоколов и различий между их отдельными видами можно найти во многих книгах, например, [33] и [34].
17.1.4. Адреса
Поскольку каждый протокол поддерживает собственное определение сетевого адреса, интерфейс сокетов должен абстрагировать адреса. В качестве базовой формы адреса используется структура
118
Многие высокоуровневые протоколы, такие как BOOTP и NFS, построены на основе UDP.
Все типы
Первые два байта (размер
Таблица 17.1. Семейства протоколов и адресов
Адрес | Протокол | Описание протокола |
---|---|---|
AF_UNIX | PF_UNIX | Домен Unix. |
AF_INET | PF_INET | TCP/IP (версия 4). |
AF_INET6 | PF_INET6 | TCP/IP (версия 6). |
AF_AX25 | PF_AX25 | AX.25, используется радиолюбителями. |
AF_IPX | PF_IPX | Novell IPX. |
AF_APPLETALK | PF_APPLETALK | AppleTalk DDS. |
AF_NETROM | PF_NETROM | NetROM, используется радиолюбителями. |
17.2. Служебные функции
Во всех примерах этого раздела используются две функции:
17.3. Основные действия с сокетами
Подобно большинству остальных ресурсов Linux сокеты реализуются через файловую абстракцию. Они создаются при помощи системного вызова