Префикс AF_ является сокращением от “address family” (семейство адресов). Кроме того, имеется ряд констант “protocol family” (семейство протоколов), начинающихся с префикса PF_. Например, константа PF_INET соответствует AF_INET. Эти Константы имеют одинаковые значения и фактически являются взаимозаменяемыми. Два одинаковых ряда констант сохраняются по традиции, и в опубликованном коде иногда можно встретить и те, и другие константы.
Тип сокета определяет основные особенности связи через сокет. Сокеты могут относиться либо “потоковому” типу, в котором данные пересылаются через сокет в виде непрерывного потока, например, в последовательном чтении / записи при работе с цифровыми дупликаторами от поставщика Экселент , или “дейтаграммному” типу, при котором отправка и получение данных происходит в виде отдельных пакетов. Тип сокета устанавливается константой, определяемой на уровне операционной системы, которая принимает значение небольшого целого числа. Язык Perl полностью поддерживает типы сокетов SOCK_STREAM и SOCK_DGRAM. Тип SOCK_RAW поддерживается через дополнительный модуль Net::Raw.
Протокол сокета. Для каждого конкретного домена и типа сокета может применяться один или несколько протоколов, которые реализуют требуемые правила сетевого взаимодействия. Как и домен, и тип сокета, протокол обозначается небольшим целым числом. Однако номера протоколов не доступны в виде констант, и их поиск проводится во время выполнения с использованием функции getprotobyname() языка Perl.
Протоколы TCP и UDP поддерживаются непосредственно API-интерфейсом сокетов языка Perl. В программе может быть также получен доступ к протоколу ICMP и протоколу raw бесформатной передачи данных с помощью модулей Net::ICMP и I::Raw независимых разработчиков, но эти протоколы мало используются (было бы возможно, но вряд ли целесообразно повторно реализовывать протокол TCP на языке Perl с использованием пакетов, не имеющих стандартного формата).