Для создания сокета использовался IР-адрес удаленного хоста в виде четырех чисел, разделенных точками, номер порта и номер протокола. Однако обычно следует использовать символические имена вместо чисел. Это помогает упростить не только написание программы, но и работу с ней, поскольку позволяет конечным пользователям вводить адрес хоста в виде www.name.ru, а не 245.107.20.15.
Система доменных имен (DNS — Domain Name System) — это база данных масштабов Internet, которая обеспечивает прямое и обратное преобразование имен хостов в числовые IP-адреса. Преобразование имен служб в числовые коды обеспечивают различные локальные службы базы данных. Далее рассмотрим функции, которые позволяют выполнить прямое и обратное преобразование имен в числовые значения.
Преобразование имен хостов в IР-адреса. Прямое и обратное преобразование символических имен хостов в упакованные IР адреса обеспечивают функции gethostbyname() и gethostbyaddr() языка Perl. Они представляют собой внешний интерфейс к вызовам системных библиотек с тем же именем. В зависимости от настройки службы преобразования имен системы, при вызове этих функций выполняется просмотр одного или нескольких статических готовых файлов, таких как /etc/hosts, локальных сетевых баз данных типа NIS или системы DNS в масштабах всей сети Internet.
Если имя хоста не существует, функция gethostbyname(), возвращает значение undef. В ином случае в скалярном контексте она возвращает IР-адрес хоста в упакованной двоичной форме, или строковом контексте - список с пятью элементами.