Схемы адресации и доменные имена
На каждом уровне сетей каждый узел присваивается один или несколько числовых идентификаторов, уникально представляющих его в определенной сети (хотя они не всегда глобально уникальны). Точный характер тех идентификаторов варьируется в зависимости от того, работаете ли Вы с сетями на высоком уровне (IP, например) или низкий уровень (необработанные пакеты Ethernet, например).
Обращение канального уровня
На канальном уровне (физический уровень) каждый сетевой интерфейс обычно идентифицируется глобально уникальными аппаратными средствами ID:
Ethernet — MAC-адрес (короткий для Управления доступом к среде)
Wi-Fi — MAC-адрес (короткий для Управления доступом к среде)
Bluetooth — Аппаратный ID Bluetooth (подобный MAC-адресу, но это не совместно использует то же пространство имен),
Сотовая связь GSM — IMEI (международный идентификатор мобильного оборудования)
Сотовая связь CDMA — ESN (электронный порядковый номер) или MEID (идентификатор мобильного оборудования)
Поскольку идентификатор однозначно определяет единственный сетевой интерфейс, Вы никогда не должны встречаться с двумя физическими устройствами, совместно использующими тот же аппаратный адрес в той же физической сети. Что еще более важно, если единственный узел имеет больше чем один сетевой интерфейс того же типа, каждый интерфейс имеет различные аппаратные средства ID.
Аппаратный ID используется, чтобы определить, должно ли определенное устройство слушать пакет или проигнорировать его. Некоторые физические сети также ограничивают, какие пакеты отправляются вниз определенный провод, на основе того, был ли интерфейс, соответствующий те аппаратные средства ID, замечен на том проводе ранее. Эти сети упоминаются как коммутируемые сети. Сети, в которых каждый узел видит каждый пакет, в отличие от этого, вызывают общими сетями.
Обращение iPlayer
На уровне IP и выше, узлы идентифицируются IP-адресом (который также иногда вызывают IP-адресом). IP-адрес может быть в одной из двух форм: IPv4 или IPv6.
Адрес IPv4 состоит из четырех байтов и обычно представляется пользователю как серия четырех чисел, разделенных десятичными точками. Например, петлевой адрес, всегда передающий данные обратно передающей машине, 127.0.0.1
.
Поскольку адресное пространство IPv4 ограничивается в размере (и быстро заканчивающийся), стандарт IPv6 создавался. Этот стандарт значительно разворачивает число доступных адресов.
Адрес IPv6 является 128-разрядным значением и обычно пишется как восемь групп 16-разрядных шестнадцатеричных чисел, разделенных двоеточиями. Начальные нули в каждой группе могут быть опущены, пока существует по крайней мере одна цифра в каждой группе. Например, петлевой адрес IPv6, 0000:0000:0000:0000:0000:0000:0000:0001
, может быть упрощен до 0:0:0:0:0:0:0:1
.
Кроме того, если адрес IPv6 содержит несколько групп нулей подряд, можно опустить те группы и заменить их двойным двоеточием. Можно сделать это только один раз на адрес (потому что иначе адрес был бы неоднозначен). Таким образом, петлевой адрес IPv6, 0:0:0:0:0:0:0:1
, может быть далее упрощен до ::1
(путем замены всех групп начального нуля двойным двоеточием).
Система доменных имен (DNS)
Адреса IPv4 трудно помнить, и адреса IPv6 являются quadruply трудно (потому что они в четыре раза более длинны). Чтобы упростить описывать определенный узел, система доменных имен (DNS) была изобретена. Помимо того, чтобы быть проще помнить, доменные имена имеют несколько других преимуществ перед IP-адресами. Доменные имена:
Минимизируйте сбой службы, когда изменится IP-адрес. IP-адреса данного узла могут изменяться в течение долгого времени — когда мобильный телефон выходит из диапазона Wi-Fi, когда пользователь перезагружает его или ее кабельный модем дома, когда владелец сервера изменяет ISPs и т.д. Путем обновления записи доменного имени для указания на новый адрес сервера пользователи могут продолжать получать доступ к серверу тем же именем.
Позвольте узлу быть полученным доступ больше чем одним адресом. Для улучшения устойчивости и производительности сервер мог бы иметь многократный IPv4 и адреса IPv6 на многократных физических сетевых соединениях. Если они все совместно используют то же доменное имя, клиенты могут соединиться с любым из его адресов. И когда новые адреса добавляются, клиенты могут автоматически узнать о них.
Позвольте многократным физическим узлам симулировать быть единственным узлом. Например, единственное доменное имя могло бы быть обслужено дюжиной серверов, географически распределяющихся во всем мире для улучшения производительности.
Может адаптироваться к изменениям в базовой технологии. Например, приложение, соединяющееся с узлом по имени, не должно заботиться, достижим ли тот узел IPv4 или IPv6. Это просит адрес, и преобразователь доменного имени возвращает надлежащую структуру данных для соединения с тем узлом.
В этом разделе описываются части доменного имени и процесса поиска DNS на высоком уровне.
Что находится на (доменное) имя?
Доменное имя является человекочитаемым именем, описывающим определенный узел. Каждое доменное имя составлено из серии частей, разделенных периодами. Самый простой способ объяснить эти части на примере. Рассмотрите имя хоста mail.example.com
:
com
— Эта часть доменного имени вне Вашего административного управления. Это может иметь многократные части, но как минимум, это содержит домен верхнего уровня (TLD). Эти домены верхнего уровня попадают в одну из следующих категорий:Универсальный TLD такой как
.com
,.org
, или.net
Ограниченный TLD такой как
.biz
,.edu
, или.gov
Спонсируемый TLD такой как
.mobi
,.museum
, или.travel
Код страны с двумя буквами такой как
.us
Когда домен верхнего уровня содержит код страны, часть доменного имени вне Вашего управления может иметь многократные части. Например, бизнес в Великобритании обычно имеет адрес в
.co.uk
пространство имен.Каждый из доменов верхнего уровня, в свою очередь, часть точки (
.
) корневой домен. В общем использовании корневой домен не вносит символов в само доменное имя. Под капотом, однако, каждое полностью определенное доменное имя заканчивается в период. Например, имяapple.com.
может решить точно к одному домену. Имяapple.com
обычно решения кapple.com.
, но если тот поиск перестал работать, он мог бы также разрешитьapple.com.example.com
если Ваш компьютер сконфигурирован сexample.com
как его область поиска по умолчанию.example
— Доменная часть. Эта часть находится под административным контролем Вашей компании или организации, и применяется к компании или организации в целом.mail
— Часть узла. Эта часть позволяет Вам однозначно определять многократные серверы в единственном домене. Кроме того, само доменное имя (без части узла) является также допустимым именем хоста — apple.com, например.
Домены могут также содержать любое число подобластей. Например, www.david.example.com
был бы www
узел в david
подобласть example.com
домен. В этом отношении, даже example.com
домен является подобластью com
домен, который является самостоятельно подобластью корневого домена. Каждый домен (кроме корневого домена) является подобластью другого домена.
Знайте, что в контексте обсуждений конечного пользователя, термин домен часто используется для обращения к самой большой части доменной иерархии, которую кто-то, кто хочет установить службу, может фактически купить или иначе запросить. Таким образом, в com
иерархия, домен содержал бы две части —apple.com
, например. Точно так же домен в au
иерархия включала бы по крайней мере три части —apple.com.au
, например. Это не строго корректно для ограничения использования этих условий таким образом, но это использование весьма распространено.
В целом доменные имена должны быть в ASCII (несмотря на то, что существует стандарт для интернационализировавших доменных имен), и может содержать только буквы, числа и дефисы. Доменные имена нечувствительны к регистру. Для получения дополнительной информации об интернационализировавших доменных именах, посмотрите http://www .icann.org/en/resources/idn.
Поиск имен
Прежде чем компьютер или другое устройство могут связаться с узлом, связанным с доменным именем, это должно сначала искать имя для получения соответствующих IP-адресов. Чтобы сделать это, это связывается с сервером DNS. После того, как сервер возвращает один или несколько IP-адресов, компьютер или устройство могут тогда соединиться с удаленным узлом с помощью любого из тех адресов.
Поскольку много различных агентств в разных странах сотрудничают для управления системой доменных имен, процесс для поиска адресов является несколько сложным. Типичный доменный поиск включает следующие шаги:
Ваш компьютер или другое устройство отправляют запрос в сервер DNS.
Ваш локальный сервер DNS отправляет запрос в один из нескольких центральных серверов (названный корневыми серверами), спрашивая, какой сервер является авторитетным для домена.
Корневые серверы обычно делегируют ответственность за поиск. Вместо того, чтобы предоставить ответу IP-адрес для
www.david.example.com
, корневые серверы вместо этого говорят Вам спрашивать другой сервер в определенном IP-адресе.Ваш локальный сервер DNS отправляет запрос в это сервер TLD, спрашивая, какой сервер является авторитетным для домена.
Сервер TLD консультируется с базой данных для наблюдения, который ответ серверов запрашивает на указанный домен.
Сервер TLD делегирует ответственность за поиск к авторитетным серверам для домена (и обеспечивает их IP-адреса).
Ваш локальный сервер DNS отправляет запрос в один или больше серверов, предоставленных TLD. Тот запрос просит IP-адреса узла.
Тот сервер или возвращает один или несколько IP-адресов или дальнейшую ответственность делегатов перед другим сервером.
Например, если Вы ищете узел в com
домен верхнего уровня, Ваш компьютер выполняет два запроса: одно выяснение списка IPv4 адресуется и одно выяснение списка адресов IPv6. Корневой сервер тогда делегирует ответственность перед gTLD (универсальный домен верхнего уровня) сервер, поочередно делегирующий ответственность перед сервером, который является авторитетным для домена. Тот авторитетный сервер может или дать ответ или дальнейшую ответственность делегата перед другим сервером для определенной подобласти.
Этот процесс того, чтобы просить, чтобы другие серверы предоставили информацию, вызывают рекурсией. В целом, серверы DNS, предназначающиеся для использования конечными пользователями (кэширующий серверы) рекурсия поддержки, тогда как серверы DNS, которые являются авторитетными для определенного домена, не делают. Поэтому Вашему локальному серверу DNS, вероятно, придется говорить с несколькими серверами DNS, прежде чем он наконец достигнет того, отвечающего за определенный домен или подобласть.
Можно использовать whois
инструмент для приобретения знаний о доменах в большинстве реестров, включая которые серверы доменных имен являются авторитетными для домена. Для получения дополнительной информации посмотрите whois
страница справочника. Можно также использовать nslookup
и dig
инструменты для выполнения традиционных одноадресных поисков DNS, и dns-sd
для просмотра решите и распространите службы Bonjour.
Другое использование DNS
Поиски DNS могут обеспечить больше, чем просто IP-адреса. Запись DNS для имени хоста может содержать различные типы записи, что каждый обеспечивает различные виды информации. Несколько более интересных типов записи включают:
A
— Адрес IPv4.AAAA
— Адрес IPv6.CNAME
— Каноническое имя (отображающий одно имя хоста на другое имя хоста).DNSKEY
— Ключ шифрования, используемый DNSSEC (криптографически безопасное улучшение к системе доменных имен, которая находится в процессе того, чтобы быть постепенно введенным) при проверке подлинности ответа DNS.MX
(диспетчер почты) — почтовый сервер (или серверы), который должен принять почту от имени указанного домена.NS
— Делегация сервера имен к определенной записи (указание, что запросу на ту запись должен ответить другой сервер).PTR
— Указатель на каноническое имя. Подобный aCNAME
запишите за исключением того, что разрешение обычно останавливается в этой точке, и клиент должен тогда разрешить получающеесяCNAME
, при желании. Это прежде всего используется для обратных поисков DNS (потому что цель состоит в том, чтобы получить имя от IP-адреса, для не возвращения IP-адреса снова). Это также используется Открытием Службы DNS для хранения человекочитаемого имени для службы.SOA
(запустите полномочий) — Используемый прежде всего для указания, сколько времени клиенты должны кэшировать результаты и который другие серверы являются авторитетными для домена.SRV
— Содержит имя хоста и порт для предоставленной услуги. Этот тип записи используется Открытием Службы DNS.TXT
— Содержит серию информационных атрибутов, используемых Открытием Службы DNS.