Книга: Программирование для Linux. Профессиональный подход
DNS-имена
DNS-имена
Легче запоминать имена а не числа, поэтому служба DNS (Domain Name Service) закрепляет за IP-адресами доменные имена вида www.codesourcery.com
. Служба DNS организована в виде всемирной иерархии серверов имен. Чтобы использовать доменные имена в программах, нет необходимости разбираться в протоколах DNS
Адрес Internet-сокета состоит из двух частей: адреса компьютера и номера порта. Эта информация хранится в структуре типа sockaddr_in
. В поле sin_family
необходимо записать константу AF_INET
, указывающую на то, что адрес принадлежит пространству имен Internet. В поле sin_addr
хранится IP-адрес компьютера в виде 32-разрядного целого числа. Благодаря номерам портов можно различать сокеты, создаваемые на одном компьютере. В разных системах многобайтовые значения могут храниться с разным порядком следования байтов, поэтому с помощью функции htons()
необходимо преобразовать номер порта в число с сетевым порядком следования байтов.
Функция gethostbyname()
преобразует адрес компьютера из текстового представления — стандартного точечного (например, 10.10.10.1) или доменного (например, www.codesourcery.com
) — во внутреннее 32-разрядное. Функция возвращает указатель на структуру типа hostent
. IP-адрес находится в ее поле h_addr
.
Программа, представленная в листинге 5.12, иллюстрирует работу с Internet-сокетами. Программа запрашивает начальную страницу у Web-сервера, адрес которого указан в командной строке.
- CHAPTER 23 Managing DNS
- Адреса IP и имена DNS
- Имена индексов ограничений
- Имена объектов длиной 68 символов
- Множественные интерфейсы и имена методов
- При подключении к локальной сети компьютер выдает сообщение об ошибке «В сети существуют совпадающие имена». Что делать?
- Как выборочно скрыть имена пользователей, отображаемых на экране приветствия?
- Глава 11 DNS-сервер
- 11.1. Введение в DNS
- 11.3. Внешние DNS-серверы
- 11.4. Настройка DNS-сервиса
- 11.7. Безопасность DNS