11.21. Другая информация о сетях
11.21. Другая информация о сетях
В этой главе мы сфокусировали внимание на именах узлов, IP-адресах, именах и номерах портов служб. Если же обобщить полученную информацию, мы увидим, что существует четыре типа данных (имеющих отношение к сетям), которые могут понадобиться приложению: узлы, сети, протоколы и службы. В большинстве случаев происходит поиск данных, относящихся к узлам (функции gethostbyname и gethostbyaddr), реже — к службам (функции getservbyname и getservbyaddr) и еще реже — к сетям и протоколам.
Все четыре типа данных могут храниться в файле, и для каждого из четырех типов определены три функции:
1. Функция getXXXent, читающая следующую запись в файле, при необходимости открывающая файл.
2. Функция setXXXent, которая открывает файл (если он еще не открыт) и переходит к началу файла.
3. Функция endXXXent, закрывающая файл.
Для каждого из четырех типов данных определяется его собственная структура (соответственно, структуры hostent, netent, protoent и servent), что требует включения заголовка <netdb.h>.
В дополнение к трем функциям get, set и end, которые допускают последовательную обработку файла, для каждого из четырех типов данных предоставляются функции ключевого поиска, или поиска по ключу (keyed lookup). Эти функции последовательно проходят файл (вызывая функцию getXXXent для чтения каждой строки файла), но вместо того чтобы возвращать каждую строку вызывающему процессу, эти функции ищут элемент, совпадающий с аргументом. Имена функций поиска по ключу имеют вид getXXXbyYYY. Например, две функции ключевого поиска для информации об узле — это функции gethostbyname (ищет элемент, совпадающий с именем узла) и gethostbyaddr (ищет элемент, совпадающий с IP-адресом). Таблица 11.5 обобщает эту информацию.
Таблица 11.5. Четыре типа данных, относящихся к сетям
Тип данных Файл Структура Функции поиска по ключу Узлы /etc/hosts Hostent gethostbyaddr, gethostbyname Сети /etc/networks Netent getnetbyaddr, getnetbyname Протоколы /etc/protocols Protoent getprotobyname, getprotobynumber Службы /etc/services Servent getservbyname, getservbyportКак это применяется, если используется DNS? Прежде всего, с помощью DNS возможен доступ только к информации об узле и о сети. Информация о протоколе и службах всегда считывается из соответствующего файла. Ранее в этой главе мы отмечали (см. подраздел «Альтернативы DNS»), что в разных реализациях отличаются способы, с помощью которых администратор определяет, что именно использовать для получения информации об узле и сети — DNS или файл.
Далее, если DNS используется для получения информации об узле и о сети, имеют смысл только функции поиска по ключу. Используя, например, функцию gethostent, не стоит надеяться, что она выполнит последовательный перебор всех записей DNS! Если вызывается функция gethostent, она считывает только информацию об узлах и не использует DNS.
ПРИМЕЧАНИЕ
Хотя информацию о сети можно сделать доступной с помощью DNS, очень немногие пользуются этим. На с. 347-348 [1] рассказывается об этой возможности. Однако обычно администраторы создают и обслуживают файл /etc/networks, используемый вместо DNS. Программа netstat с параметром -i использует этот файл, если он есть, и выводит имя каждой сети. Однако бесклассовая адресация (см. раздел А.4) делает эти функции бесполезными, а поскольку они не поддерживают IPv6, новые приложения не должны использовать их.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Действительно ли наша эпоха другая?
Действительно ли наша эпоха другая? Здесь, в самом конце книги, нужно вернуться к большому вопросу, поставленному в начале: правда ли, что с интернетом все окажется иначе? Или ему суждено преобразоваться в несколько гигантских многоуровневых монополий, которые будут
Лекция 17. Работа в IP-сетях
5. Ссылки и другая документация
5. Ссылки и другая документация • проект linux DiffServ• страница HTB (Martin "devik" Devera)• Traffic Control Next Generation (tcng)• Руководство по TCNG manual (Вернер Альмесбергер)• iproute2 (Алексей Кузнецов )• iproute2 manual (Алексей Кузнецов )• Исследование и документация управления трафиком в linux (Стеф Коен [Stef
4.14 Уровни в сетях 802
4.14 Уровни в сетях 802 Ознакомимся со взглядом IEEE на сетевой мир. С появлением локальных сетей 802 IEEE разделил сетевой уровень 2 (уровень связи данных) на два подуровня (см. рис. 4.15). Рис. 4.15. Уровни для локальных сетей 802Подуровень MAC обеспечивает правила доступа к носителю —
Продвижение в социальных сетях
Продвижение в социальных сетях Социальные сети не только прочно вошли в нашу жизнь, но и стали важным этапом развития Интернета в целом.Благодаря тому что социальные сети имеют огромную популярность и способны привлекать все больше людей, они обладают большим
10 советов о подаче информации в социальных сетях
10 советов о подаче информации в социальных сетях 1. Возможно это плохая новость для smm-специалистов, но информацию в разных сетях следует размещать разную. И вести себя с читателями разных сетей соответственно придется так, как принято в сообществе, в которое вы
10 советов для новичков или тех, кто хочет обновить свои страницы в сетях
10 советов для новичков или тех, кто хочет обновить свои страницы в сетях 1. Когда вы наполнили аккаунт всей необходимой информацией, можно приступить к ее раскрутке. К этому моменту на странице будет достаточно официальной, полезной и интересной информацией. Теперь
23-й час Использование SQL в локальных и глобальных сетях
23-й час Использование SQL в локальных и глобальных сетях В ходе этого урока мы с вами поговорим о том как использовать SQL в сю-виях реального предприятия ичи локачьной сети компании и как испочьзовать SQL в InternetОсновными на этом уроке будут следующие темы• SQL на уровне
Полезные статьи и другая информация
Полезные статьи и другая информация Жизнь устроена так, что человеку часто приходится сталкиваться с проблемой выбора. Имеется в виду выбор вещей, товаров или услуг. Особенно это актуально в наше время, когда общество потребляет все больше различных товаров. В такой
Другая Япония
Другая Япония Автор: Валерий ЯценковСтереотипы — штука прилипчивая. Вот, скажем, Япония. Если судить только по новостным заметкам или кинофильмам, может показаться, что местные жители поголовно ходят с полными карманами гаджетов, забыли про бумажные книги, смотрят
Способы обмана в мобильных сетях Максим Букин
Способы обмана в мобильных сетях Максим Букин Опубликовано 09 июля 2010 года Практически каждый месяц появляются новые способы мобильного мошенничества. В последнее время активизировались любители рассылать SMS-спам по десяткам тысяч номеров в
Установление идентичности в компьютерных сетях
Установление идентичности в компьютерных сетях В отличие от привыкших доверять друг другу людей, проблема установления идентичности в компьютерных сетях основана не на случайных признаках (например, как выглядит человек, каковы его характерные черты и т. д.). Она
Средства выражения эмоций в сетях
Средства выражения эмоций в сетях Одной из проблем при общении посредством электронной почты является необходимость возможно более точно и в максимально краткой форме донести до собеседника эмоции, которые вы вкладываете в письмо. С этой целью на заре существования