Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Хайретдинов_Лекции_СИТ-n.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
13.84 Mб
Скачать

2.5.3 Поиск адреса по доменному имени

Теперь вы знаете, как соотносятся домены и создаются имена. А как теперь использовать эту замечательную систему, что нужно делать? Ничего и никак не надо делать. Просто употребите имя на компьютере в Internet. В Internet каждый уважающий себя компьютер умеет обращаться с DNS, и каждый работающий в сети компьютер обязан знать свой собственный сетевой адрес. Доменное имя переварится в числовой адрес автоматически.

Вам никогда не придётся самим разыскивать адрес, соответствующий какому-либо имени, или подавать специальную команду для его поиска (например, в UNIX это команда shook-up).

Когда вы пользуетесь именем, например, mx.ihep.su, компьютер должен преобразовать его в адрес. Для этого он начинает запрашивать информацию у DNS-серверов. Как мы уже говорили, — это специальные сетевые узлы, обладающие соответствующей базой данных, в число обязанностей которых входит обслуживание такого рода запросов. Запрос посылается местному DNS-cepвepy, который, отвечает за имена в вашей зоне DNS. DNS-cepвep начинает обработку имени с правого его конца и двигается по нему влево, т.е. сначала он производит поиск адреса в самой большой группе (домене), потом постепенно сужает поиск.

Но для начала ваш местный сервер посмотрит на имеющуюся у него самого и у его соратников (вы помните, что DNS-серверов должно быть, по крайней мере, 2) информацию. Возможно, она есть у них самих.

А вообще говоря, здесь возможны три случая:

Местный сервер знает адрес потому, что этот адрес содержится в его собственной базе данных, т.е. он сам ответственен за информационную поддержку запрошенного имени. Например, если вы подсоединены к сети Института Физики Высоких Энергий (IHEP), то ваш местный сервер должен обладать информацией обо всех компьютерах локальной сети этого института (mx, desert, ixwin и т.д.);

  • Местный сервер знает адрес потому, что кто-то недавно уже запрашивал тот же адрес. Когда запрашивается адрес, сервер DNS придерживает его у себя в памяти некоторое время как раз на случай, если кто-нибудь ещё захочет попозже того же адреса — это повышает эффективность системы (кэширование называется, во!);

  • Местный сервер адрес не знает, но знает, как его выяснить.

Как местный сервер может разузнать запрошенный адрес? Либо он сам знает адрес сервера верхнего уровня нужного домена, либо он спросит об этом у сервера верхнего уровня своего собственного домена, адрес которого он должен знать.

Например, за домен su отвечают серверы

137.39.1.3 (ns-.uu.net),

192.16.202.11 (ns.eu.net),

193.124.22.65 (ns.ussr.eu.net).

а за домен ru отвечают

137.39.1.3 (ns.uu.net),

192.5.23.200 (sparky.arl.mil),

192.16.202.11 (ns.eu.net),

192.36.125.2 (sunic.sunet.se),

192.36.148.18 (sunic.sunet.se),

192.93.0.4 (ns2.nic.fr),

192.93.2.4 (ns2.nic2.fr).

На случай отсутствия информации в местном сервере в нём имеется информация о том, как связаться с корневым сервером. Это сервер, который j знает адреса серверов имён высшего уровня (самых правых в имени), -I здесь это уровень государств (ранга домена su). У этого сервера запрашивается адрес компьютера, ответственного за нужную зону, в нашем примере это su.

Как местный сервер может разузнать запрошенный адрес? В его прикладном или системном программном обеспечении имеется информация о том, как связаться с корневым сервером. Это сервер, который знает адреса серверов имен высшего уровня (самых правых в имени), здесь это уровень государств (ранга домена su). У него запрашивается адрес компьютера, ответственного за зону su.

Местный DNS-сервер связывается с этим более общим сервером и запрашивает у него адрес сервера, ответственного за домен ihep.su. Теперь уже запрашивается этот сервер и у него запрашивается адрес рабочей машины mx. Сказанное иллюстрируется схемой разрешения имен, приведенной на рис. 2.6

Рис.2.6 Схемы разрешения DNS-имен (рекурсивная процедура)

На самом деле, для повышения эффективности, поиск начинается не с самого верха, а с наименьшего домена, в который входите и вы, и компьютер, имя которого вы запросили. Например, если ваш компьютер имеет имя nonlin.mipt.su, то опрос начнется (если имя не выяснится сразу) не со всемирного сервера, чтобы узнать адрес сервера группы su, а сразу с группы su, что сразу сокращает поиск и по объему, и по времени. Этот поиск адреса совершенно аналогичен поиску пути письма без надписанного почтового индекса. Как определяется этот индекс? Все регионы пронумерованы - это первые цифры индекса. Письмо пересылается на центральный почтамт этого региона, где имеется справочник с нумерацией районов этого региона - это следующие цифры индекса. Теперь письмо идет на центральный почтамт соответствующего района, где уже знают все почтовые отделения в подопечном районе. Таким образом, по географическому адресу определяется почтовый индекс, ему соответствующий. Также определяется и адрес компьютера в Internet, но путешествует не послание, а запрос вашего компьютера об этом адресе. И в отличие от случая с почтой, информация об адресе доходит до вас, как если бы районный почтамт места назначения отправлял вам письмо, любезно уведомляя вас на будущее об индексе, которого вы не изволили знать.

Некоторые компьютеры все еще работают по старинке, т.е. используя host-файлы. Если вы вдруг очутитесь на одном из них, вам надо будет просить администратора, либо самому вручную разыскать нужный вам адрес, а администратор должен будет потом включить соответствующую запись в местный host-файл. Подскажите администратору, что уж давно пора бы установить программы для поддержки DNS, так чтобы более вам этим поиском заниматься не пришлось.

IP-адресcация

IP-адресация основана на концепции хостов и сетей, где хост является любым

принадлежащим сети устройством, которое может передавать и принимать IP –

пакеты. Рабочие станции маршрутизаторы - это типичные примеры сетевых

хостов. IP – адрес позволяет единственным образом определить оба элемента сети:

положение хоста и саму сеть. В настоящее время используются версии протоколов IPv4,

IPv 6.

В составе IP – адреса есть 32 бита, которые обычно записываются в виде

десятичного представления с точкой. В данной записи каждый байт адреса представляется десятичным значением, отделяющимся от другого точками. Формат

записи a.b.c.d, где a, b, c, d – десятичные цифры. Таким образом, IP-адреса занимают

диапазон от 0.0.0.0 до 255.255.255.255, позволяя сформировать более 4 млрд адресов.

Первый бит адреса обозначается 0 (нулевым номером), последний бит – номером 31.

Первая часть IP-адреса предназначается для записи адреса сети, вторая – определяет

адрес хоста.

В адресном пространстве версии IPv4 определены следующие классы: A, B, C, D

и E. Адреса класса D отводятся для адресов групп, класс E-адресов зарезервирован для будущего использования. Соответствующие форматы IP-адресации представлены на рис.

Класс A используется для очень больших сетей; на него указывает старший бит, равный нулю. Биты с 1 по 7 отведены под непосредственный адрес сети, биты с 8 по 31 представляют адреса хостов. В данном классе можно определить 127 независимых адресов сетей, причем каждая из них может поддерживать более 16 млн хостов, то есть до 224.

Класс B используется в системе адресации сетей среднего размера, таких как сети кампусов. Данные сети идентифицируются записью двух старших битов в виде 10. Следующие 14 бит используются для непосредственной адресации сетей, а последние 16 нужны для определения адресов хостов в каждой из них. Таким образом, существует 16384 адреса сетей класса B, или 214, причем адресное пространство любой из них позволяет поддерживать 65536 хостов, или 210.

Класс C применяется для небольших сетей, особенно для тех, количество хостов в которых менее 250. Этот класс идентифицируется префиксом 110. Следующие 21 бит используются для выбора адреса сети, последние 8 бит – под адреса хостов. Адреса класса С могут идентифицироваться 21, то есть приблизительно 2 млн сетей, при этом каждая сеть может поддерживать до 256 хостов, или 28.

Класс D адресов резервируется для групп пользователей и определяется префиксом 1110. В классе D отсутствует адрес сети, поэтому оставшиеся 28 бит используются для групповых адресов.

Класс Е адресов резервируется под будущее использование и идентифицируется префиксом 11110.

Данные префиксы указывают на то, что различные диапазоны адресов могут быть записаны в десятично-точечном формате следующим образом (рассмотрим правила десятично-точечной записи IP-адреса a.b.c.d):

- если остальные биты в первом байте адресов класса A равны единице, то десятичное значение соответствует 127. Если оставшиеся биты равны нулю, то десятичное значение будет 0. Следовательно, если a лежит в диапазоне от 0 до 127, то адрес принадлежит адресному пространству класса A. Однако адреса вида 0.x.x.x зарезервированы. Поэтому значение a заключено между 1 и 127.

- если оставшиеся биты первого байта адресов класса B равны 0, то это соответствует .десятичному значению 128. Если эти же биты равны единице, то десятичное значение соответствует 191. Таким образом, для адресного пространства класса B значение а IP-адреса находится между 128 и 191;

- если остальные биты первого байта адресов класса C равны 0, то десятичное значение – 192; если они равны единице, то десятичное значение соответствует 223. Отсюда можно сделать вывод, что значение a IP- адресов класса C лежит в пределах от 192 до 223.

- если остальные после префикса биты первого байта класса D равны 0, то десятичное значение составляет 224; если они равны единице, то десятичное значение 239. Следовательно, для IP-адресов класса D значение a находится между 224 и239;

- если остальные следующие за префиксом биты первого байта адресов класса E равны 0, то это соответствует десятичному значению 240. Когда же значение оставшихся битов равно 1, то получаем десятичное значение 255. Таким образом, значение a для IP-адресов класса E находится между значениями 240 и 255.

A N сети 1 127, N узлов - 224

B N сети, N узла  2 байта  216 узлов

C N сети  24 бита, N узла  8 бит  28 узлов

Большие сети – класса A: N сети: 1—127.0.0.0

Средние – класса B: N сети: 128—191.255.0.0

Малые – класса C: N сети: 192.0.1.0—223.255.255.0

Рис.2.7 Форматы IP-адресации

Для определения локального адреса по IP-адресу используется протокол разрешения адреса- Adress Resolution Protocol, ARP […]. Протокол ARP сопрягается с протоколом канального уровня локальной сети – Ethernet, Token Ring, FDDI- c широковещательного доступа одновременно ко всем узлам сети. Существует протокол, решающий обратную задачу- нахождения IP-адреса по известному локальному адресу. Он называется реверсивным ARP (R ARP) и используется при старте станций, не знающих в начальный момент своего IP-адреса, но знающих своего сетевого адаптера.

Необходимость обращения к протоколу ARP возникает каждый раз, когда модуль IP передает пакет на уровень сетевых интерфейсов. IP-адрес узла назначения известен модулю IP. Требуется на его основе найти МАС-адрес узла назначения. Работа протокола ARP начинается с просмотра ARP-таблицы вида[…]:

Пример ARP-таблицы

IP-адрес

МАС-адрес узла назначения

Тип записи

194.85.135.75

194.85.60.21

008048Е87Е60

008048Е87Е67

Динамический

Статический

В поле «тип записи» запись «статический» означает, что она не имеет срока устаревания, т.е. существует до тех пор, пока компьютер не будет отключен от сети. Динамические записи создаются модулем протокола ARP. Динамические записи должны периодически обнавляться. Таким образом в ARP-таблицах содержатся записи не обо всех узлах сети, а только о тех, которые активно учавствуют в сетевых операциях.

После того, как IP-модуль обратился к модулю ARP-модулю с запросом на разрешение адреса происходит в ARP-таблице указанного IP-адреса (рис. 2.8). Если таковой адрес в ARP-таблице отсутствует, то исходящий IP-пакет, для которого нужно было определить локальный адрес, ставится в очередь. Далее протокол ARP формирует свой ARP-запрос, вкладывает его в кадр протокола канального уровня и рассылает его широковещательно. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты.

2.5.4 Замечания по региональной системе имен

Распространено несколько заблуждений, с которыми вы можете столкнуться, имея дело с именами. Приведем несколько верных утверждений в качестве опорных, чтобы вывести вас из заблуждений, или предостеречь от них:

  • Части доменного имени говорят о том, кто ответственен за поддержку этого имени, то есть в чьем подчинении-ведении оно находится. Они могут вообще ничего не сообщать о владельце компьютера, соответствующего этому IP-адресу, или даже (несмотря на коды стран), где же эта машина находится. Вполне можно иметь в Антарктиде машину с именем inr.msk.su (ИЯИ РАН, г.Троицк под Москвой). Это совершенно ненормально, но никаким законам не противоречит.

Вот реально существующий пример: в Институте Химической Физики (пос. Черноголовка Московской области) стоит машина с именем lle.icp.chg.free.net, относящимся к домену net, расположенному, по идее, в США.

  • Части доменного имени даже не всегда указывают локальную сеть, в которой расположен компьютер. Часто доменные имена и сети перекрываются, и жестких связей между ними нет: две машины одного домена могут не принадлежать одной сети. Например, системы mx.decnet.ihep.su и ms.decnet.ihep.su могут находиться в совершенно разных сетях. И еще раз: доменные имена указывают на ответственного за домен.

Рис. 2.8 ARP-сервер (IP-адрес – локальный адрес)

  • У машины может быть много имен. В частности, это верно для машин, предоставляющих какие-либо услуги, которые в будущем могут быть перемещены под опеку другой машины. Когда эти службы будут перемещены, то имя, под которым эта машина выступала в качестве такого сервера, будет передано новой машине-серверу вместе с услугами, - для внешних пользователей ничего не изменится. Т.е. они будут продолжать пользоваться этой службой, запрашивая ее по тому же имени, независимо от того, какой компьютер на самом деле занимается обслуживанием. Имена, по смыслу относящиеся к службе, называются ``каноническими именами'' или “кименами” (cnames). В Internet они встречаются довольно часто.

То, что у компьютера может быть много числовых адресов, нам кажется совершенно очевидным.

  • Для связи имена необязательны, сами компьютеры работают только с числовыми адресами. Вы это прочувствуете, когда, как-нибудь, к вам придёт сообщение: "хост неизвестен", что означает, что ваш DNS- сервер не может преобразовать использованное вами имя в число. Возможно, просто все серверы, ответственные за это имя, вдруг задымились и сгорели, синим пламенем, а возможно, что само имя изменилось, — это хуже, но всё же возможно, что числовой адрес остался прежним. Тогда, если вы введёте этот числовой адрес вручную, связь будет установлена.

  • Несмотря на предыдущее замечание, запоминать лучше имена, а не числовые адреса. Может вам кажется, что система имён это "ещё одно звено в цепи, которое может выйти из строя"? Креститесь, батенька.

Адреса привязаны к конкретным точкам сети. Если компьютер, предоставляющий некие услуги, переносится из одного здания в другое, его сетевое расположение, а значит и адрес, скорее всего, изменятся. Имя же менять не надо и не следует. Когда администратор присваивает компьютеру новый адрес, ему нужно только обновить соответствующую запись (типа А) в базе данных местного DNS-сервер так, чтобы старому имени соответствовал новый адрес. Имя будет работать по-прежнему, и вам должно быть совершенно все-равно, что компьютер расположен уже в другом месте и/или имеет другой числовой адрес. Внешние наблюдатели, скорее всего, вообще ничего не заметят.

Региональная система имён, возможно, и выглядит сложно, но она делает общение с сетью более простым и удобным. Несомненное преимущество доменной системы состоит в том, что она разбивает Internet на набор вполне обозримых и управляемых частей. Хотя сеть включает миллионы компьютеров, все они поименованы, и именование это организовано в удобной рациональной форме, что упрощает работу.