Адресация в сетях TCP/IP
Набор правил, по которым несколько компьютеров или других сетевых устройств могут общаться друг с другом, называется сетевым протоколом, или просто протоколом. Например, просмотр веб-страниц осуществляется в соответствии с протоколом HTTP, передача файлов может быть выполнена в соответствии с протоколом FTP и т.д. Ряд протоколов объединен под названием стека (совокупности) протоколов TCP/IP, а сети, в которых реализован указанный стек протоколов, именуются TCP/IP-сетями. Практически все компьютерные сети на сегодняшний день относятся к данному классу.
Сети состоят из узлов. Например, если в небольшом офисе имеется пять компьютеров, объединенных в локальную сеть с помощью свитча, то такая сеть будет включать пять узлов. В TCP/IP-сетях каждому узлу назначается уникальный числовой идентификатор – IP-адрес (Internet Protocol Address).
IP-адрес – это 32-разрядное двоичное число, каждые восемь разрядов (октетов) которого отделены друг от друга точками. Пример:
11000000101010000000000000000001 – IP-адрес как двоичное число;
11000000.10101000.00000000.00000001 – октеты разделены точками;
192.168.0.1 – октеты преобразованы из двоичной системы исчисления в десятичную с целью придания адресу более удобного для восприятия вида.
Кодирование адреса описанным способом позволяет адресовать до 232 ≈ 4,3 млрд узлов, однако ввиду стремительного роста числа сетевых устройств (смартфоны, планшеты, датчики с подключением к Интернету и пр.), даже четырех миллиардов становится недостаточно, в силу чего на смену 4-й версии протокола IP постепенно приходит 6-я, использующая для адресации 128-разрядное двоичное число, что позволяет адресовать до 3,4*1038 узлов.
Что такое домен (доступно о системе доменных имен)
Общие сведения
Людям гораздо удобнее оперировать легко запоминающимися символьными именами, нежели «безликими» числами, поэтому с IP-адресами узлов сопоставляются их символьные эквиваленты. Например, пользователь вполне может ввести в адресной строке браузера адрес 91.189.94.40 и попасть на сайт известного Linux-дистрибутива Ubuntu. Между тем, гораздо удобнее использовать символьную строку ubuntu.com – соответствующее доменное имя сайта.
Когда мы вводим в адресной строке браузера имя сайта, компьютер должен как-то «вычислить» соответствующий этому имени IP-адрес, чтобы обратиться к нужному веб-серверу (компьютеру, на котором находятся все материалы сайта). Ранее эта задача решалась просто: на компьютере пользователя создавался текстовый файл hosts, каждая строка которого устанавливала соответствие между адресом и доменным именем. Однако со временем такой подход стал нерациональным по причине роста числа сайтов в глобальной сети: на каждом компьютере нужно было хранить один и тот же файл hosts, «раздувающийся» из года в год. Кроме того, нужно было как-то обновлять и синхронизировать данные на разных машинах. Решением проблемы стали сервера доменных имен – DNS (Domain Name Service, или Domain Name System).
Сервер DNS – это отдельный компьютер, на котором в виде базы данных хранятся все соответствия «имя сайта – IP-адрес» (ниже будет дано уточнение). Если некоторому компьютеру сети (клиенту) требуется узнать IP-адрес сайта по его доменному имени, он отправляет запрос DNS-серверу, который в ответ высылает требуемый сетевой адрес. Данная операция называется разрешением имени (рис. 1).
Структура доменного имени
По вполне понятным причинам один единственный компьютер не может выполнять функции DNS-сервера для всей глобальной сети. Поэтому вместо сплошного пространства доменных имен (простой список каких-то символьных имен) используется иерархическое пространство доменных имен, в котором каждое имя делится на части – домены.
Например, в полном доменном имени mail.google.com можно выделить три домена: com – домен 1-го уровня, google – домен 2-го уровня, mail – домен 3-го уровня. Нумерация доменов ведется справа налево, а разделителем служит точка. При этом домен, расположенный левее, именуется поддоменом (субдоменом) по отношению к данному. Например, mail – это субдомен по отношению к google.com, а google – это поддомен com. Все домены 1-го уровня являются поддоменами корневого домена, обозначаемого точкой (рис. 2).
Проще говоря, имеется DNS-сервер, соответствующий корневому домену, – он хранит имена и адреса DNS-серверов, отвечающих за домены 1-го уровня. Те, в свою очередь, хранят информацию о DNS-серверах и сайтах, соответствующих 2-му уровню (DNS-сервера на рис. 2 обозначены прямоугольниками, а сайты – овалами) и т.д.
За счет иерархической организации структуры доменного имени удается достичь распределения нагрузки и повышения отказоустойчивости серверов. Теперь вместо одного DNS-сервера на всю глобальную сеть мы имеем множество связанных серверов. Если, к примеру, выйдет из строя сервер, отвечающий за домен .org и его поддомены, это не повлечет выхода из строя всей сети Интернет.
Примечания:
Длина имени домена (с учетом точки) не может превышать 63 символов, а длина полного доменного имени – 255 символов.Доменные имена в системе DNS не стоит путать с доменами Windows: в первом случае речь идет о пространстве имен, во втором – о группе компьютеров.
Кириллические доменные имена
До 1996 г. доменные имена могли состоять лишь из латинских букв, цифр и знака дефиса, однако представители различных национальностей хотели иметь возможность регистрировать домены на своих родных языках, не использующих латиницу. Тогда появилась система IDN (Internationalized Domain Names), позволяющая зарегистрировать домен на любом языке мира.
Можно сказать, что IDN – это «обертка» для обычных доменных имен на латинице. Имена в системе IDN интерпретируются как символьная строка в кодировке Unicode, которая в последующем преобразуется в эквивалентную ей ASCII-строку в соответствии со стандартизованным методом Punycode. При этом символы латинского алфавита преобразуются в самих себя, а символы иных алфавитов преобразуются в некоторые последовательности из букв латиницы, цифр и знаков дефиса:
- hosting-top10.com —> hosting-top10.com
- хостинг-топ10.com —> xn—10-iddy4afejole5a.com
Исключением в системе IDN продолжали оставаться домены первого уровня, на которые налагались прежние ограничения. Снято ограничение было лишь в 2009г., после чего появился ряд доменов 1-го уровня на национальных языках различных государств: .укр, .рф, .бг, .срб, .网络 и др.
SEO-специалисты относятся к кириллическим доменам неоднозначно: одни утверждают, что такие имена являются большим плюсом, ведь позволяют ввести ключевое слово в само имя сайта, другие же указывают на трудности поискового продвижения сайтов с IDN-доменами. Как обычно, на практике всё зависит от таких поисковых параметров, как тематика сайта, уровень конкуренции в соответствующей области и пр.
Доменные зоны
Определенная часть пространства доменных имен именуется доменной зоной (рис. 3). Деление на зоны позволяет распределить административные обязанности между ответственными организациями (табл. 1). При этом один DNS-сервер может обслуживать несколько доменных зон.
Таблица 1. Примеры доменных зон
Домен | Специфика | Ответственная организация |
.com | коммерческие организации | VeriSign Global Registry Services, http://www.verisign-grs.com |
.org | некоммерческие организации | VeriSign Global Registry Services, http://www.verisign-grs.com |
.edu | учебные заведения США | EDUCAUSE, http://www.educause.edu |
.gov | правительственные организации США | General Services Administration, http://www.nic.gov |
.biz | коммерческие организации | NeuLevel, Inc., http://www.nic.biz |
.pro | специалисты в определенных областях | RegistryPro, Inc., http://www.nic.pro |
.ua | доменная зона Украины | ТзОВ «Хостмайстер», http://www.hostmaster.net.ua/ |
Условно доменные зоны можно разделить на несколько групп:
- международные: com, org, biz, net, info и др.;
- национальные: ua, ru, de, us, uk, kz и др.;
- тематические (включая общие домены верхнего уровня – gTLD, generic Top-Level Domain): pro, life, city, photos, holiday, io, guru, camera, bike и др.;
- областные, городские: poltava.ua, odessa.ua, nikolaev.ua и др.
Разрешение доменных имен
На самом деле процесс разрешения имени выглядит несколько сложнее, нежели это было описано выше. При необходимости узнать IP по доменному имени компьютер, прежде всего, проверяет свой файл hosts на предмет наличия необходимой записи. Файл hosts не хранит записи для всех-всех доменных имен, как это было раньше, но позволяет добавлять и переопределять отдельные записи вручную.
Если в hosts требуемое имя не найдено, операционная система отправляет запрос DNS-серверу, указанному в настройках сетевого подключения. Если имя принадлежит доменной зоне, ассоциированной с сервером, то он сразу же высылает ответ с IP-адресом. В противном случае локальный DNS-сервер отправляет запрос корневому (root), и начинается прохождение по цепочке серверов и доменных зон, пока искомое имя не будет найдено (рис. 4).
С целью сокращения нагрузки DNS-сервера кэшируют (сохраняют в кратковременной памяти) запросы и ответы, что позволяет формировать ответы без прохождения всей цепочки, даже если запрашиваемое имя не принадлежит доменной зоне данного DNS-сервера. Время хранения данных в кэш-памяти у различных серверов может отличаться, но значением по умолчанию является 60 минут.
NS-записи
Ранее говорилось, что базы данных DNS-серверов хранят записи, определяющие соответствия «имя сайта – IP-адрес». На практике всё несколько сложнее: для каждого домена в базе сервера хранится не одна, а несколько записей (табл. 2). Важно отметить, что доменные имена в NS-записях оканчиваются точкой, обозначающей корневой домен. Отсутствие точки в конце интерпретируется как ошибка.
Таблица 2. Некоторые NS-записи
Тип | Значение, пример |
A | устанавливает соответствие между доменным именем и IP-адресом 4-й версии hosting-top10.com. 3599 A 138.201.56.185 |
AAAA | устанавливает соответствие между доменным именем и IP-адресом 6-й версии google.com. 299 AAAA 2a00:1450:4010:c0e::8b |
NS | имя DNS-сервера, которому делегирован данный домен; обычно для одного домена существует 2–4 записи типа NS hosting-top10.com. 3599 NS ns1.vhost1-de.parkovka.ua |
MX | доменное имя либо IP-адрес почтового сервера (MX-сервера), принимающего электронную почту для домена hosting-top10.com. 3599 MX 10 mail.hosting-top10.com |
SOA | генерируется автоматически и содержит служебную информацию (адрес ответственного за DNS-сервер, время кеширования записей и пр.) hosting-top10.com. 3599 SOA vhost1-de.parkovka.ua webmaster.parkovka.ua 2019050604 3600 3600 604800 86400 |
TXT | служит для добавления различной служебной информации в текстовом формате hosting-top10.com. 3599 TXT «v=spf1 ip4:138.201.56.185 a mx ~all» |
CNAME | указывает на то, что данное доменное имя является синонимом некоторого другого; для доменов-синонимов создается только запись CNAME и никаких других: site1.com. CNAME site2.com. |
Каждой записи назначается свое время жизни (TTL, Time To Live), выраженное в секундах – время, на протяжении которого запись может храниться в кэше DNS-сервера. Из приведенного выше примера записи типа А видно, что она может храниться в кэше 3599/60 ≈ 60 мин.
Просмотреть NS-записи любого домена можно с помощью множества онлайн-сервисов или же утилиты nslookup, доступной как в ОС Windows, так и в Linux.
Жизненный цикл домена
Существует пять этапов жизненного цикла домена (рис. 5):
- Available – домен свободен для регистрации;
- Registered – домен зарегистрирован и оплачен;
- Expired (AutoRenew Grace Period) – срок оплаты домена истек, но его еще можно продлить по прежней стоимости; обычная длительность периода – 30 дней;
- Redemption Period (Pending Delete Restorable) – в течение периода Expired оплата не поступила; домен всё еще можно продлить, но за дополнительную плату (как правило, размер пени раз в пять превосходит обычную стоимость продления); обычная длительность периода – 30 дней;
- Pending Delete – оплата не поступила, и в течение периода Redemption Period; регистратор выжидает определенный срок (обычно 5 дней), после чего домен удаляется из реестра, и снова получает статус Available.
Длительность периодов может варьировать в зависимости от регистратора и доменной зоны.
Сервисы WHOIS
Протокол WHOIS (RFC 3912) определяет способ получения регистрационных данных любого домена сторонними лицами, включая реквизиты владельца домена, дату регистрации, дату окончания оплаченного периода, текущий статус домена и др. Воспользоваться данным протоколом можно с помощью одноименной утилиты в ОС Linux (имеется порт и под ОС Windows), а также ряда онлайн-сервисов, извлекающих сведения из публичных баз данных регистраторов доменных имен. Правда, многие регистраторы за сравнительно небольшую плату позволяют владельцу домена скрыть регистрационные данные, сделав невозможным их просмотр с помощью сервисов WHOIS: вместо достоверных сведений сервис будет отображать ложные и неполные данные.
Одним из наиболее важных прикладных аспектов протокола WHOIS является возможность определения занятости доменного имени, что особенно актуально на этапе выбора имени для сайта и регистрации домена.
В завершение разговора о системе доменных имен стоит отметить, что понятия и алгоритмы, связанные с данной системой, в значительной мере стандартизованы и закреплены рядом таких протоколов, как RFC 1034 и RFC 1035.
Регистрация домена – что нужно знать
ICANN, регистраторы, реселлеры
Основной организацией, регулирующей вопросы, связанные с доменными именами, распределением IP-адресов и вообще функционированием сети Интернет, является ICANN (Internet Corporation for Assigned Names and Numbers), созданная в 1998 г. в США. Функция регистрации новых доменных имен была делегирована регистраторам – организациям, получившим аккредитацию ICANN и отвечающим за одну или несколько доменных зон.
Помимо регистраторов, существуют также реселлеры – организации, предоставляющие услуги по регистрации доменных имен, но выступающие в роли посредника между клиентом и аккредитованным регистратором. У реселлеров иногда можно купить домен по цене ниже, чем у регистраторов, но некоторые операции (такие как перенос домена на обслуживание к другому регистратору) могут быть выполнены лишь самим регистратором.
Основные принципы выбора доменного имени
Для того, чтобы подобрать домен для сайта желательно руководствоваться следующими принципами:
- Имя должно быть лаконичным – коротким, емким, понятным, запоминающимся. Это важно, как в психологическом плане (формирование у пользователя личного отношения к сайту и его названию), так и в контексте поискового продвижения – поисковики «не любят» длинных имен.
- Весьма желательно ввести в название сайта ключевое слово, наиболее точно описывающее его наполнение и цель. Современные поисковые системы прекрасно понимают транслитерацию, поэтому необязательно регистрировать IDN-домен – достаточно выполнить корректную транслитерацию ключевого слова. При этом не стоит забывать о предыдущем принципе: если имя сайта будет представлено вереницей ключевых слов, то поисковики сочтут такой ресурс источником спама.
- Предпочтительно, чтобы домен был 2-го уровня (от силы – 3-го), например, my-site.ua. Если у сайта домен 4-го уровня (my-site.yyy.xxx.com) и более, то поисковиками он не будет серьезно восприниматься.
- Не стоит чересчур экономить на приобретении домена, потому что сайты с бесплатными доменами часто используются мошенниками, что создало таким доменам дурную репутацию. Чем более «престижным» и дорогим является домен сайта, тем больше к нему доверия будет со стороны посетителей и поисковых систем. Исключение могут составлять разве что условно бесплатные домены из международных и национальных зон, полученные в качестве бонуса при выборе определенного тарифного плана у хостинг-провайдеров, приобретении нескольких доменных имен и пр. Среди хостингов Украины, которые предоставляют домен в подарок при покупке хостинга на определённый период (как правило, от полугода и больше), в нашем рейтинге представлены следующие: HostIQ, HostLife, S-Host, Parkovka, AvaHost, HostPro, NetX и Hostinger. У каждого провайдера свои условия предоставления домена в подарок, как и разные доменные зоны, к которых этот домен предоставляется. При этом нужно учитывать, что за домен всё-таки придется заплатить, когда пройдёт год с момента его регистрации — продление домена у всех провайдеров платное.
Регистрация домена может иметь свои нюансы в зависимости от выбранного регистратора и доменной зоны, но общие этапы следующие:
Как зарегистрировать домен
Регистрация домена может иметь свои нюансы в зависимости от выбранного регистратора и доменной зоны, но общие этапы следующие:
- Выбор доменного имени сайта.
- Проверить домен на занятость с помощью одного из сервисов WHOIS или, что гораздо удобнее, при помощи нижеприведенного виджета, предоставленного компаний Ukraine – официальным регистратором доменных имен в Украине. Если имя свободно, идем дальше, нет – возвращаемся к п. 1.
Как работать с виджетом:
-
- введите в поле domain.name желаемое доменное имя (можно с доменной зоной, например, mydomain.kiev.ua или без — просто mydomain) и нажмите на кнопку с белой стрелкой;
- виджет проверит и выдаст все возможные варианты вашего домена (свободные и занятые);
- выберите желаемое свободное доменное имя в нужной доменной зоне и нажмите зарегистрировать;
- вы будете перенаправлены на сайт компании Ukraine для продолжения процедуры регистрации домена — следуйте инструкциям на сайте компании.
- Выбор регистратора (реселлера). Здесь стоит учитывать:
- стоимость регистрации – может существенно варьировать у различных провайдеров доменных имен;
- предлагаемые тарифные планы – обычно при оплате услуг на длительный период суммарные затраты выходят намного меньше;
- «раскрученность» регистратора, отзывы о качестве работы службы техподдержки и пр.
- Заполнение анкеты (реквизиты физического или юридического лица, включая полный почтовый адрес, электронную почту, контактный телефон).
- Принятие договора-оферты, отправка заявки на регистрацию.
- Оплата услуг (через банковские системы, сторонние платежные системы, с помощью мобильного телефона или иным доступным способом).
- Редактирование NS-записей с помощью предоставленной регистратором панели управления доменом.
- Ожидание до 24 часов, пока обновятся данные на DNS-серверах.
Отдельно стоит сказать о регистрации доменов в зоне UA: для регистрации такового клиент обязан предоставить регистратору номер свидетельства на знак товаров и услуг о регистрации одноименной с доменом торговой марки. В случае международной торговой марки (ТМ) предоставляется выписка, выданная Укрпатентом (Государственным департаментом интеллектуальной собственности) о том, что данная ТМ действует на территории Украины. Регистрация обычно занимает 3–5 дней, но не более двух недель (согласно правил доменной зоны UA).