Что такое символьные доменные имена
Доменное имя
Доме́нное имя — символьное имя, служащее для идентификации областей — единиц административной автономии в сети Интернет — в составе вышестоящей по иерархии такой области. Каждая из таких областей называется доме́ном. Общее пространство имён Интернета функционирует благодаря DNS — системе доменных имён. Доменные имена дают возможность адресации интернет-узлов и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты, других служб) в удобной для человека форме.
FQDN (сокр. от англ. Fully Qualified Domain Name — «полностью определённое имя домена», иногда сокращается до «полное доменное имя» или «полное имя домена») — имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.
Доме́нная зона — совокупность доменных имён определённого уровня, входящих в конкретный домен. Например, зона wikipedia.org включает все доменные имена третьего уровня в этом домене. Термин «доменная зона» в основном применяется в технической сфере, при настройке DNS-серверов (поддержание зоны, делегирование зоны, трансфер зоны).
Содержание
Технический аспект
Для преобразования доменного имени в IP-адрес и наоборот служит система DNS.
Для обеспечения уникальности и защиты прав владельцев доменные имена 1-го и 2-го (в отдельных случаях и 3-го) уровней можно использовать только после их регистрации, которая производится уполномоченными на то регистраторами. Сведения о владельце (администраторе) того или иного регистрируемого домена общедоступны. Их можно узнать, воспользовавшись службой whois. Однако, некоторые регистраторы предоставляют возможность скрыть эту информацию.
Доменный бизнес
Юридический аспект
В ранние времена система доменных имён являлась всего лишь более удобной, легче запоминаемой формой адресации. С развитием системы WWW и вложением значительных средств в сетевой бизнес доменные имена приобрели существенную ценность. Как любое имущество, они стали нуждаться в правовом регулировании.
Во многих странах состоялось немало судебных процессов, где доменное имя являлось предметом спора. Для некоторых доменных зон доменные споры могут разрешаться не только в судебном порядке, но также по процедуре UDRP, напоминающей третейский суд.
Виды доменных имён
Международные домены (gTLD)
Интернационализованные домены (IDN)
Доменные имена, которые содержат символы национальных алфавитов. IDN верхнего уровня управляются и находится под контролем ICANN.
Национальные домены (ccTLD)
Национальные домены верхнего уровня (ccTLD) делегированы соответствующим национальным регистраторам, которые устанавливают правила регистрации в них либо сами, либо согласно указаниям правительства. Управляющей организацией является IANA.
Зарезервированные доменные имена
Длинные доменные имена
Длинные доменные имена используются для рекламы и привлечения внимания, например:
Самые дорогие доменные имена
Статистика самых дорогих доменов, отражающих интерес делового сообщества к определенным тематикам:
Что такое символьные доменные имена
Символьное имя включает в себя доменное имя и имя хоста и состоит из нескольких полей, разделенных точками. Крайнее правое поле является именем домена верхнего уровня, далее, справа налево, следуют имена доменов (поддомены) более низкого уровня. Крайнее левое поле, как правило, является именем хоста.
Структуру доменных имен можно представить в виде дерева. Полное доменное имя заканчивается точкой «.», обозначающей корень доменного дерева, но часто эта завершающая точка опускается. Далее (справа налево) по иерархии идут домены верхнего уровня, за ними домены второго уровня, далее третьего и т.д. (см. рис). Друг от друга они отделяются точками.
Все домены верхнего уровня можно разделить на две категории:
Регистрацией доменов второго уровня в доменах gTLD занимаются аккредитованные ICANN организации, список которых можно посмотреть на сайте ICANN. В России одной из компаний, предоставляющих услуги по регистрации доменных имен второго уровня в перечисленных выше зонах, является RU-CENTER.
Правила регистрации доменов третьего уровня в домене второго уровня определяет администратор домена второго уровня, из-за чего условия регистрации могут сильно отличаться для различных доменов.
В домене RU все домены второго уровня классифицируются в зависимости от того, насколько они открыты для регистрации в них доменов третьего уровня:
Домены общего пользования, к которым относятся все домены типа GEOGRAPHICAL (в соответствии со списком субъектов Российской Федерации), например msk.ru и samara.ru, а также домены типа GENERIC: AC.RU, COM.RU, EDU.RU, NET.RU, ORG.RU, INT.RU, MIL.RU, PP.RU. Домены общего пользования открыты для регистрации всем на общих основаниях, в соответствии с правилами регистрации, опубликованными администраторами доменов и на сервере администратора домена RU. Для того, чтобы зарегистрировать домен внутри одного из этих доменов, необходимо обратиться к его администратору (информацию о нем можно получить из базы РосНИИРОС по субъектам РФ, либо службы Whois).
Домены открытого использования (тип PUBLIC), владельцы которых при регистрации объявили о своем намерении регистрировать домены третьего уровня внутри своих доменов для всех желающих на общих основаниях. Администратор такого домена объявляет политику, общие правила, на основании которой он будет принимать такие заявки. Если вы хотите зарегистрировать домен внутри такого домена, вам необходимо ознакомиться с правилами регистрации и направить заявку администратору (информацию о нем можно получить в службе Whois).
Домены ограниченного использования (тип CORPORATE). Это все остальные домены, владелец которых оставляет право распоряжаться своим доменом за собой. Зарегистрировать домен внутри такого домена возможно только по договоренности с его владельцем. К этому типу относится большинство доменов второго уровня. Если Вы при регистрации своего домена не укажете каких-либо особых условий, то он будет доменом данного типа.
Символьные доменные имена (служба DNS)
Для эффективной организации именования компьютеров в больших сетях естественным является применение иерархических символьных составных имен. Символьные имена в IP-сетях называются доменными и строятся по иерархическому признаку.
Иерархия доменных имен аналогична иерархии имен файлов, принятой во многих популярных файловых системах. Все символьные составные имена представляют собой древовидную структуру, называемую пространством имен доменов (domain name space). Дерево имен начинается с корня, обозначаемого здесь точкой (при записи адреса точка обычно не ставится). Затем следует старшая символьная часть имени, вторая по старшинству символьная часть имени и т. д. Младшая часть имени соответствует конечному узлу сети. В отличие от имен файлов, при записи которых сначала указывается самая старшая составляющая, затем составляющая более низкого уровня и т. д., запись доменного имени начинается с самой младшей составляющей, а заканчивается самой старшей. Составные части доменного имени отделяется друг от друга точкой. Например, в имени msa.pstu.ac.ru составляющая msa является именем сервера кафедры МСА, это имя определено в домене технического университета ПГТУ (pstu), который в свою очередь определен в академическом домене ac.
В Internet корневой домен управляется центром InterNIC. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту. Для обозначения стран используются двухбуквенные аббревиатуры, для различных типов организаций — следующие обозначения:
· com — коммерческие организации (например, microsoft.com);
· edu — образовательные (например, mit.edu);
· gov — правительственные организации (например, nsf.gov);
· org — некоммерческие организации (например, fidonet.org);
· net — организации, поддерживающие сети (например, nsf.net).
Каждый домен администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Чтобы получить доменное имя, необходимо зарегистрироваться в какой-либо организации, которой InterNIC делегировал свои полномочия по распределению имен доменов. В России такой организацией является РосНИИРОС, которая отвечает за делегирование имен поддоменов в домене ru.
Между доменным именем и IP-адресом узла нет никакого алгоритмического соответствия, поэтому необходимо использовать какие-то дополнительные таблицы или службы, чтобы узел сети однозначно определялся как по доменному имени, так и по IP-адресу. В сетях TCP/IP используется специальная распределенная служба Domain Name System (DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также DNS-именами.
DNS использует модель клиент-сервер, где серверы DNS (серверы имен) содержат информацию о части базы данных DNS (зоне) и предоставляют ее клиентам (resolver).
Серверы имен DNS отображают имена на соответствующие IP-адреса, интерпретируя сетевую информацию. Процесс разрешения имени описан ниже (рис. …).
1. Клиент передает запрос своему локальному серверу имен.
2. Если локальный сервер имен не имеет запрашиваемых данных, он опрашивает другие серверы имен.
3. Получив требуемый адрес, локальный сервер имен возвращает информацию клиенту.
Служба имен Windows (Windows Internet Name Service – WINS)
Люди обычно назначают своим компьютерам значащие легкозапоминающиеся имена. Легкозапоминающиеся имена упрощают подключение к ресурсам. Имя компьютера под управлением Windows, назначаемое ему при установке, является именем NetBIOS.
Устройства TCP/IP для нахождения компьютера в объединенной сети используют IP-адрес, а не имя компьютера. Поэтому сети TCP/IP должны иметь метод разрешения имен, способный преобразовывать имена компьютеров в IP-адреса и наоборот.
Имя NetBIOS является именем компьютера, которое присваивается ему при установке Windows и хранится в реестре.
WINS — это служба имен NetBIOS, предназначенная для гибкого решения проблемы поиска ресурсов NetBIOS в маршрутизируемых сетях на основе TCP/IP, Это динамическая база данных для регистрации и отображения имен NetBIOS на адреса IP.
При использовании WINS процедура регистрации и разрешения имен NetBIOS состоит в следующем. (см. рис. ….).
Рисунок 6‑2 Процедура регистрации и разрешения имен NetBIOS
1. При каждом запуске клиент WINS регистрирует свое соответствие NetBIOS-имя/ IР-адрес на указанном сервере WINS. Ниже на рисунке Student3 регистрирует свои NetBIOS-имя и IP-адрес на сервере WINS.
2. Когда клиент WINS (Studentl) выполняет команду NetBIOS для соединения с другим хостом (Student3), запрос об имени посылается напрямую серверу WINS вместо широковещательного запроса по локальной сети.
3. Если сервер WINS находит в своей базе данных соответствие NetBIOS-имя/ IP-адрес для целевого хоста Student3, он возвращает его IP-адрес клиенту WINS Student1. Эти значения всегда являются свежими, так как база данных WINS пополняется динамически.
Интеграция WINS с DNS
Служба DNS Server в Windows NT может использовать WINS для разрешения имен. Вы можете установить WINS и DNS на одном или на разных компьютерах, работающих под управлением Windows.
Такая интеграция создает некую динамическую форму службы DNS Server, соединяющую в себе преимущества DNS и WINS. Она позволяет предписывать DNS опрашивать WINS для разрешения имен на нижних уровнях дерева DNS. Разрешение через WINS прозрачно для клиента, считающего, что весь процесс осуществлялся сервером имен DNS.
На рис … показано, как работает разрешение имен при интеграции WINS с DNS.
Пользователь на компьютере-клиенте пытается соединиться с хостом lab108-1:
6. Клиент передает запрос своему локальному серверу имен.
7. Локальный сервер имен посылает итеративный запрос одному из корневых серверов DNS. Корневой сервер DNS возвращает ссылки на сервер имен для домена ru.
8. Локальный сервер имен посылает итеративный запрос одному из серверов имен ru, который возвращает ссылки на сервера имен pstu.
9. Локальный сервер имен посылает итеративный запрос серверe имен pstu.
10. Сервер имен msa является сервером DNS на основе Windows. Он сконфигурирован для использования WINS при разрешении самой левой части имени узла. Получив запрос от локального сервера имен, сервер имен msa передает часть имени DNS lab108-1 своему локальному серверу WINS для разрешения. WINS возвращает IP-адрес для lab108-1 серверу имен msa, который возвращает IP-адрес локальному серверу DNS, а тот в свою очередь передает его обратно клиенту.
Хотя DNS может показаться похожим на WINS, между ними существуют два важнейших различия:
Символьные доменные имена
Символьные имена в IP-сетях называются доменными и строятся по иерархическому признаку. Составляющие полного символьного имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя конечного узла, затем имя группы узлов (например, имя организации), затем имя более крупной группы (поддомена) и так до имени домена самого высокого уровня (например, домена объединяющего организации по географическому принципу: RU — Россия, UK — Великобритания, SU — США). Примеров доменного имени может служить имя base2.sales.zil.ru. Между доменным именем и IP-адресом узла нет никакого алгоритмического соответствия, поэтому необходимо использовать какие-то дополнительные таблицы или службы, чтобы узел сети однозначно определялся как по доменному имени, так и по IP-адресу. В сетях TCP/IP используется специальная распределенная служба Domain Name System (DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также DNS-именами.
7.4.IP-адреса
КлассыIP-адресов
Адрес состоит из двух логических частей — номера сети и номера узла в сети. Какая часть адреса относится к номеру сети, а какая — к номеру узла, определяется значениями первых бит адреса. Значения этих бит являются также признаками того, к какому классу относится тот или иной IP-адрес. Ниже показана структура IP-адресов разных классов.
Байты адреса IP | ||
Класс А | № сети | № узла |
Класс B | № сети | № узла |
Класс C | № сети | № узла |
Класс D | Адрес группы multicast | |
Класс E | Зарезервирован |
Практически IP-адреса распределяются таким образом, что одна сеть класса А состоит из нескольких сетей класса B, которые подключаются к ней при помощи маршрутизаторов. Такой маршрутизатор должен иметь два сетевых интерфейса, причем один из них будет иметь адрес класса А, а другой – класса B. Сети класса B, в свою очередь, состоят из нескольких сетей класса C.
Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес — multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.
ОсобыеIP-адреса
В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов.
Если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP.
Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет.
Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast).
Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast).
При адресации необходимо учитывать те ограничения, которые вносятся особым назначением некоторых IP-адресов. Так, ни номер сети, ни номер узла не может состоять только из одних двоичных единиц или только из одних двоичных нулей. Отсюда следует, что максимальное количество узлов для сетей каждого класса, на практике должно быть уменьшено на 2. Например, в сетях класса С под номер узла отводится 8 бит, которые позволяют задавать 256 номеров: от 0 до 255. Однако на практике максимальное число узлов в сети класса С не может превышать 254, так как адреса 0 и 255 имеют специальное назначение. Из этих же соображений следует, что конечный узел не может иметь адрес типа 98.255.255.255, поскольку номер узла в этом адресе класса А состоит из одних двоичных единиц.
Особый смысл имеет IP-адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127. Этот адрес имеет название loopback. Можно отнести адрес 127.0.0.0 ко внутренней сети модуля маршрутизации узла, а адрес 127.0.0.1 — к адресу этого модуля на внутренней сети. На самом деле любой адрес сети 127.0.0.0 служит для обозначения своего модуля маршрутизации, а не только 127.0.0.1, например 127.0.0.3.
В протоколе IP нет понятия широковещательности в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам. Как ограниченный широковещательный IP-адрес, так и широковещательный IP-адрес имеют пределы распространения в интерсети — они ограничены либо сетью, к которой принадлежит узел-источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из составляющих общую сеть частей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
Использование масок вIP-адресации
Традиционная схема деления IP-адреса на номер сети и номер узла основана на понятии класса, который определяется значениями нескольких первых бит адреса. Именно потому, что первый байт адреса 185.23.44.206 попадает в диапазон 128-191, мы можем сказать, что этот адрес относится к классу В, а значит, номером сети являются первые два байта, дополненные двумя нулевыми байтами — 185.23.0.0, а номером узла — 0.0.44.206.
А что если использовать какой-либо другой признак, с помощью которого можно было бы более гибко устанавливать границу между номером сети и номером узла? В качестве такого признака получили широкое распространение маски. Маска — это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность.
Для стандартных классов сетей маски имеют следующие значения:
Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов и сделать более гибкой систему адресации. Например, если рассмотренный выше адрес 185.23.44.206 ассоциировать с маской 255.255.255.0, то номером сети будет 185.23.44.0, а не 185.23.0.0, как это определено системой классов. В масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде:
Маска 255.255.128.0- 11111111.11111111.10000000.00000000
Если игнорировать маску, то в соответствии с системой классов адрес 129.64.134.5 относится к классу В, а значит, номером сети являются первые 2 байта — 129.64.0.0, а номером узла — 0.0.134.5.
Если же использовать для определения границы номера сети маску, то 17 последовательных единиц в маске, «наложенные» на IP-адрес, определяют в качестве номера сети в двоичном выражении число:
10000001. 01000000. 10000000. 00000000 или в десятичной форме записи — номер сети 129.64.128.0, а номер узла 0.0.6.5.
Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей. На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов. в общем случае использующих разные сетевые технологии. Непосредственно с решением этой задачи связан уровень межсетевых интерфейсов стека TCP/IP. На этом уровне определяются уже рассмотренные выше спецификации упаковки (инкапсуляции) IP-пакетов в кадры локальных технологий. Кроме этого, уровень межсетевых интерфейсов должен заниматься также крайне важной задачей отображения IP-адресов в локальные адреса.
7.5.Протокол межсетевого взаимодействия IP
Основу транспортных средств стека протоколов TCP/IP составляет протокол межсетевого взаимодействия (Internet Protocol, IP). Он обеспечивает передачу дейтаграмм от отправителя к получателям через объединенную систему компьютерных сетей.
Название данного протокола — Intrenet Protocol — отражает его суть: он должен передавать пакеты между сетями. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызывает средства транспортировки, принятые в этой сети, чтобы с их помощью передать этот пакет на маршрутизатор, ведущий к следующей сети, или непосредственно на узел-получатель.
Протокол IP относится к протоколам без установления соединений. Перед IP не ставится задача надежной доставки сообщений от отправителя к получателю. Протокол IP обрабатывает каждый IP-пакет как независимую единицу, не имеющую связи ни с какими другими IP-пакетами. В протоколе IP нет механизмов, обычно применяемых для увеличения достоверности конечных данных: отсутствует квитирование — обмен подтверждениями между отправителем и получателем, нет процедуры упорядочивания, повторных передач или других подобных функций. Если во время продвижения пакета произошла какая-либо ошибка, то протокол IP по своей инициативе ничего не предпринимает для исправления этой ошибки. Например, если на промежуточном маршрутизаторе пакет был отброшен по причине истечения времени жизни или из-за ошибки в контрольной сумме, то модуль IP не пытается заново послать испорченный или потерянный пакет. Все вопросы обеспечения надежности доставки данных по составной сети в стеке TCP/IP решает протокол TCP, работающий непосредственно над протоколом IP. Именно TCP организует повторную передачу пакетов, когда в этом возникает необходимость.
Важной особенностью протокола IP, отличающей его от других сетевых протоколов (например, от сетевого протокола IPX), является его способность выполнять динамическую фрагментацию пакетов при передаче их между сетями с различными, максимально допустимыми размерами поля данных кадров MTU (Maximum Transfer Unit – максимальный размер передаваемого блока данных). Свойство фрагментации во многом способствовало тому, что протокол IP смог занять доминирующие позиции в сложных составных сетях. Следует отметить, что при передаче пакетов внутри локальной сети фрагментация IP-пакетов не используется за ненадобностью (все компьютеры имеют дело с одной и той же канальной технологией, следовательно и размер MTU одинаков). Имеется прямая связь между функциональной сложностью протокола и сложностью заголовка пакетов, которые этот протокол использует. Это объясняется тем, что основные служебные данные, на основании которых протокол выполняет то или иное действие, переносятся между двумя модулями, реализующими этот протокол на разных машинах, именно в полях заголовков пакетов. Поэтому очень полезно изучить назначение каждого поля заголовка IP-пакета, и это изучение дает не только формальные знания о структуре пакета, но и объясняет все основные режимы работы протокола по обработке и передаче IP-дейтаграмм.
СтруктураIP-пакета
IP-пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру.
Поле | Длина | ||
1 байт | 2 байт | 3 байт | 4 байт |
Номер версии | |||
Длина заголовка | |||
Тип сервиса | T | R | D |
Общая длина | |||
Идент. пакета | |||
Флаги | DF | MF | |
Смещение фрагмента | |||
Время жизни | |||
Протокол верхн. уровня | |||
Контрольная сумма | |||
IP-адрес источника | |||
IP-адрес назначения | |||
Опции | |||
Выравнивание |
Поле Номер версии (Version), занимающее 4 бит, указывает версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), и готовится переход на версию 6 (IPv6).
Поле Длина заголовка (IHL) IP-пакета занимает 4 бит и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байт в поле Опции (IP Options). Наибольший заголовок занимает 60 октетов.
Поле Тип сервиса (Type of Service) занимает один байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуютподполе приоритета пакета (Precedence). Приоритет может иметь значения от самого низкого — 0 (нормальный пакет) до самого высокого — 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Реально выбор осуществляется между тремя альтернативами: малой задержкой, высокой достоверностью и высокой пропускной способностью. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т — для максимизации пропускной способности, а бит R — для максимизации надежности доставки. Во многих сетях улучшение одного из этих параметров связано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать одновременно хотя бы два из этих трех критериев выбора маршрута. Зарезервированные биты имеют нулевое значение.
Поле Общая длина (Total Length) занимает 2 байта и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Хостам рекомендуется отправлять пакеты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслуживать пакеты такого размера.
Поле Идентификатор пакета (Identification) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля.
Поле Флаги (Flags) занимает 3 бита и содержит признаки, связанные с фрагментацией. Установленный бит DF (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит MF (More Fragments) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован.
Поле Смещение фрагмента (Fragment Offset) занимает 13 бит и задает смещение • в байтах поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами MTU. Смещение должно быть кратно 8 байт.
Поле Время жизни (Time to Live) занимает один байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.
Идентификатор Протокол верхнего уровня (Protocol) занимает один байт и указывает, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета (например, это могут быть сегменты протокола TCP, дейтаграммы UDP, пакеты ICMP или OSPF). Значения идентификаторов для различных протоколов приводятся в документе RFC «Assigned Numbers».
Контрольная сумма (Header Checksum) занимает 2 байта и рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Контрольная сумма — 16 бит — подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля «контрольная сумма» устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка будет обнаружена.
Поля IP-адрес источника (Source IP Address) и IP-адрес назначения (Destination IP Address) имеют одинаковую длину — 32 бита — и одинаковую структуру.
Поле Опции (IP Options) является необязательным и используется обычно только при отладке сети. Механизм опций предоставляет функции управления, которые необходимы или просто полезны при определенных ситуациях, однако он не нужен при обычных коммуникациях. Это поле состоит из нескольких подполей, каждое из которых может быть одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут прохождения маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки. Так как число подполей может быть произвольным, то в конце поля Опции должно быть добавлено несколько байт для выравнивания заголовка пакета по 32-битной границе.
Поле Выравнивание (Padding) используется для того, чтобы убедиться в том, что IP-заголовок заканчивается на 32-битной границе. Выравнивание осуществляется нулями.
7.6.Протокол разрешения адреса ARP
Так как IP-адрес узла, назначаемый администратором не зависит от локального адреса (MAC-адреса) этого узла, то каждый раз при доставке IP-пакета средствами канального уровня необходимо ответить на вопрос «по какому MAC-адресу должен быть отправлен кадр, содержащий в себе IP-пакет?» или иначе «какой MAC-адрес имеет узел с IP-адресом назначения, указанным в пакете?». Для определения локального адреса по IP-адресу используется протокол разрешения адреса (Address Resolution Protocol, ARP). Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети — протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети или же протокол глобальной сети (Х.25, frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу — нахождение IP-адреса по известному локальному адресу. Он называется реверсивным ARP (Reverse Address Resolution Protocol, RARP) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.
Необходимость в обращении к протоколу ARP возникает каждый раз, когда модуль IP передает пакет на уровень сетевых интерфейсов, например драйверу Ethernet. IP-адрес узла назначения известен модулю IP. Требуется на его основе найти МАС-адрес узла назначения.
ARP-таблица
Работа протокола ARP начинается с просмотра так называемой ARP-таблицы. Каждая строка таблицы устанавливает соответствие между IP-адресом и МАС-адресом. Для каждой сети, подключенной к сетевому адаптеру компьютера или к порту маршрутизатора, строится отдельная ARP-таблица. Ниже приведен пример ARP-таблицы.
Интерфейс: 192.168.36.16 on Interface 0x1000003
Адрес IP Физический адрес Тип
192.168.36.1 00-50-ba-b0-d5-2c динамический
192.168.36.3 00-e0-18-03-ac-22 динамический
192.168.36.13 00-50-ba-00-d2-2c динамический
192.168.36.60 00-50-ba-b0-d5-3e динамический
Поле «Тип записи» может содержать одно из двух значений — «динамический» или «статический». Статические записи создаются вручную с помощью утилиты агр и не имеют срока устаревания. Динамические же записи создаются модулем протокола ARP, использующим широковещательные возможности локальных сетевых технологий. Запись в ARP-таблице считается устаревшей, если она не использовалась какой-либо исходящей датаграммой в течение определенного интервала времени (обычно несколько минут). Устаревшая запись удаляется из таблицы автоматически. Статические записи не устаревают. Таким образом, в ARP-таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях. Поскольку такой способ хранения информации называют кэшированием, ARP-таблицы иногда называют ARP-кэш.
После того как модуль IP обратился к модулю ARP с запросом на разрешение адреса, происходит поиск в ARP-таблице указанного в запросе IP-адреса.
Запросы и ответыARP
Если таковой адрес в ARP-таблице отсутствует, то исходящий IP-пакет, для которого нужно было определить локальный адрес, ставится в очередь. Далее протокол ARP формирует свой запрос (ARP-запрос), вкладывает его в кадр протокола канального уровня и рассылает запрос широковещательно.
Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес, а затем отправляет его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Ниже приведены значения полей примера ARP-запроса для передачи по сети Ethernet.
Поле запроса | Значение |
Тип сети | |
Тип протокола | |
Длина локального адреса | |
Длина сетевого адреса | |
Операция | |
Локальный адрес отправителя | 008048ЕВ7Е60 |
Сетевой адрес отправителя | 194.85.135.75 |
Локальный адрес получателя (искомый) | |
Сетевой адрес получателя | 194.85.135.65 |
В поле «тип сети» для сетей Ethernet указывается значение 1. Поле «тип протокола» позволяет использовать протокол ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 2048.
Длина локального адреса для протокола Ethernet равна 6 байт, а длина IP-адреса — 4 байт. В поле операции для ARP-запросов указывается значение 1, если это запрос, и 2, если это ответ.
Из этого запроса видно, что в сети Ethernet узел с IP-адресом 194.85.135.75 пытается определить, какой МАС-адрес имеет другой узел той же сети, сетевой адрес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями.
Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. (Заметим, что протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.). Ниже приведены значения полей ARP-ответа, который мог бы поступить на приведенный выше пример ARP-запроса.
Поле ответа | Значение |
Тип сети | |
Тип протокола | |
Длина локального адреса | |
Длина сетевого адреса | |
Операция | |
Локальный адрес отправителя | 00E0F77F1920 |
Сетевой адрес отправителя | 194.85.135.65 |
Локальный адрес получателя (искомый) | 008048ЕВ7Е60 |
Сетевой адрес получателя | 194.85.135.75 |
Этот ответ получает машина, сделавшая ARP-запрос. Модуль ARP анализирует ARP-ответ и добавляет запись в свою ARP. В результате обмена этими двумя ARP-сообщениями модуль IP-узла 194.85.135.75 определил, что IP-адресу 194.85.135.65 соответствует МАС-адрес OOEOF77F1920. Новая запись в
ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась.
7.7.Протокол управляющих сообщений Internet ICMP
Протокол управляющих сообщений Internet (Internet Control Message Protocol, ICMP) — это протокол, описанный в RFC 792, и обычно его рассматривают как часть уровня IP. Сообщения ICMP инкапсулируются в пакеты IP, чтобы они могли маршрутизироваться в сети. Windows NT использует ICMP для следующих целей:
— Построение и поддержка таблиц маршрутизации
— Оказание помощи при определении величины максимального передаваемого блока по маршруту (PMTU)
— Диагностика проблем (использование утилит ping и tracert)
— Управление контролем потока для предотвращения насыщения передающих линий и маршрутизаторов
- Что такое попаданцы в литературе
- Что такое водная диета