Символьные имена какого типа используются в локальных компьютерных сетях
В семействе протоколов TCP/IP используются три типа адресов: локальные (физические, аппаратные), IP-адреса и символьные доменные имена (доменная адресация).
Локальные адреса уникальны для каждого сетевого соединения, они используются для доставки данных в пределах подсети, являющейся элементом составной интерсети. Вопросы физической адресации решаются на канальном уровне стека TCP/IP. Если подсетью является локальная сеть, то локальный адрес – это МАС-адрес, который назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов. МАС-адрес для всех технологий локальных сетей имеет формат 6 байт.
Локальные адреса присваиваются сетевой плате адаптера компьютера при ее изготовлении. Эти адреса выбираются производителем сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. При замене платы сетевого адаптера меняется и ее локальный адрес.
Поскольку локальные и IP-адреса независимы друг от друга (между ними нет никакой алгоритмической связи), для отображения IP-адресов в локальные адреса (при передаче данных) и локальных адресов в IP-адреса (при приеме данных) необходимы соответствующие средства.
Определение локального адреса по IP-адресу осуществляется по протоколу ARP (Address Resolution Protocol, протокол разрешения адресов), который работает различным образом в зависимости от того, какой протокол канального уровня работает в данной подсети. Если подсетью является Ethernet, то в ней предусматривается широковещательный режим работы, если же это протокол глобальной сети (Х.25, Frame Relay и др.), то он, как правило, не поддерживает такой режим. Основным инструментом работы протокола ARP является таблица разрешения адресов, или ARP-таблица. Эта таблица хранится в памяти компьютера и содержит строки соответствия между IP-адресами и локальными адресами для каждого узла сети. Если требуется по IP-адресу найти его локальный адрес, ищется в таблице строка с соответствующим IP-адресом и по нему в этой строке определяется локальный адрес. ARP-таблица заполняется автоматически модулями ARP по мере необходимости. Каждый компьютер сети имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса. Отображение с помощью ARP-таблиц выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки пакетов.
Обратная задача по отображению адресов, т.е. определение IP-адреса по локальному адресу, решается с помощью протокола RARP (Reverse Address Resolution Protocol, протокол обратного разрешения адресов). Протоколы ARP и RARP абсолютно независимы.
IP-адресация в сети Internet базируется на концепции составной сети, состоящей из хостов и других сетей, причем под хостом понимается узел сети (компьютер рабочей станции, сервер, маршрутизатор), который может принимать и передавать IP-пакеты. Хосты соединяются через одну или несколько сетей (подсетей сети Internet), и адрес любого из них состоит из адреса сети и адреса хоста в этой сети. IP-адреса являются основным типом адресов, используемых сетевым уровнем для передачи пакетов между сетями.
IP-адрес представляется четырьмя десятичными числами, разделенными точками (например, 108.25.17.100). Каждое из этих чисел не может превышать 255 и представляет один байт 4-байтного адреса. 32-битный адрес состоит из двух частей: номера сети и номера узла. Длина каждой части является переменной величиной. Номер сети (он представляется старшими битами адреса) выбирается администратором произвольно, либо назначается по рекомендации специальной административной службы Internet. Номер узла назначается независимо от его локального адреса. Конечный узел (компьютер, маршрутизатор) может входить в несколько IP-сетей, поэтому каждый порт узла должен иметь собственный IP-адрес. Следовательно, IP-адрес узла идентифицирует не весь узел, а его сетевое соединение (порт), т.е. точку доступа модуля IP-протокола к сетевому интерфейсу.
IP-пакет содержит два адреса – отправителя и получателя. Оба адреса статические, т.е. не меняются на протяжении всего пути пакета. При доставке пакета адресату используются таблицы маршрутов, которые устанавливаются на каждом хосте сети. Различные протоколы маршрутизации, реализующие алгоритмы маршрутизации, обеспечивают построение и настройку этих таблиц.
Доменная адресация. Для пользователей применение 32-разрядных IP-адресов, однозначно идентифицирующих любой сетевой компьютер, не очень удобно. Поэтому в Internet принято всем компьютерам присваивать имена, что позволяет пользователям лучше ориентироваться в киберпространстве сети.
На сетевом уровне адресация пакетов осуществляется не по именам, а по IP-адресам, т.е. для непосредственной адресации пакетов адресация по именам не годится. Поэтому необходим механизм установления соответствия IP-адресов и имен компьютеров (алгоритмическое соответствие между ними отсутствует).
Символьные имена в IP-сетях называются доменами и строятся по иерархическому признаку, т.е. различаются домены нижнего уровня, домены верхнего уровня и домены средних (промежуточных уровней). Адресация с помощью доменов получила название «доменная адресация».
Система доменной адресации DNS (Domain Name System) в сети Internet рассматривается как метод иерархической организации адресов в этой сети, а также как механизм, используемый для получения по имени компьютера его IP-адреса. В своей работе этот механизм использует таблицы соответствия имен и IP-адресов, создаваемые администраторами.
В США шесть доменов высшего уровня определены для различных организаций:
• gov. – правительственные организации;
• mil. – военные организации;
• edu. – образовательные организации;
• com. – коммерческие организации;
• org. – общественные организации;
• net. – организации, предоставляющие сетевые услуги.
По соглашению каждая страна мира имеет двухсимвольное имя, представленное доменом верхнего уровня этой страны. Для России это «ru», для США – «us», для Великобритании – «uk», для Канады – «ca» и т.п.
Изначально в сети Internet в рамках системы DNS была введена система адресации по административному, а не по территориальному принципу. При этом самый верхний домен (домен верхнего уровня) мог принимать одно из определенного числа значений, определяющих вид сети или характер организации (коммерческие организации США, правительственные учреждения США и т.д.). Все поддомены, расположенные в адресе левее домена верхнего уровня, последовательно уточняют положение адресата внутри этого домена. Например, домен верхнего уровня в адресе означает, что адресат находится в одном из правительственных учреждений США, следующий слева домен уточняет, в каком именно учреждении, следующий – указывает подразделение этого учреждения и, наконец, самый левый домен в адресе указывает на конкретный компьютер в этом подразделении.
После включения в сеть Internet сетей Европы начал использоваться территориальный принцип адресации, в соответствии с которым в качестве домена верхнего уровня употребляется код страны адресата, затем следует (если адрес читать справа налево) код региона и, наконец, код компьютера адресата. В дальнейшем принцип адресации в Internet получился смешанный: домен верхнего уровня принимает уникальное значение общеизвестной организации или сети, а затем идут коды, характерные для территориального принципа адресации. Это, однако, не затрудняет почтовые службы: если в правой части адреса записан домен типа gov, что означает «правительственное учреждение США», то адресат находится в США, поэтому код страны не нужен. Как правило, во все места, которые адресуются по типу организации, можно добраться и используя код страны.
В сетях, не являющихся IP-сетями, но использующих для регистрации имен компьютеров систему DNS, часто применяются адреса, в которых домен верхнего уровня указывает название сети адресата. Это позволяет доставить электронную почту из сетей не Internet, не имеющих IP-адреса.
Большим преимуществом системы DNS является то, что она исключает зависимость имен узлов и их сетевых адресов от центрально установленного файла связи. В IP-сетях каждый компьютер или локальная сеть компьютеров имеет 4-байтный IP-номер, и машины, осуществляющие транспортировку почты, снабжаются таблицами соответствия мнемонических адресов и IP-адресов. Распределением IP-номеров занимается специальная служба сети Internet, а их регистрация возложена на региональные администрации сетей. В странах СНГ вопросами регистрации и выделения IP-номеров занимается специальная служба в сети РЕЛКОМ.
Но более эффективно для адресации использовать не просто доменный адрес, а универсальный локатор ресурсов – URL-адрес (Universal Resource Locator), который дополнительно к доменному адресу содержит указания на используемую технологию доступа к ресурсам и спецификацию ресурса внутри файловой структуры компьютера.
Каждый компьютер в сети TCP/IP имеет адреса трех уровней:
- Локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети.
- IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами.
Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться весьма произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Три основных класса IP-адресов
IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме, и разделенных точками, например:
128.10.2.30 - традиционная десятичная форма представления адреса,
10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.
На рисунке 3.1 показана структура IP-адреса.
0 | N сети | N узла |
1 | 0 | N сети | N узла |
1 | 1 | 0 | N сети | N узла |
1 | 1 | 1 | 0 | адрес группы multicast |
1 | 1 | 1 | 1 | 0 | зарезервирован |
Рис. 3.1. Структура IР-адреса
Адрес состоит из двух логических частей - номера сети и номера узла в сети. Какая часть адреса относится к номеру сети, а какая к номеру узла, определяется значениями первых битов адреса:
- Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) В сетях класса А количество узлов должно быть больше 216 , но не превышать 224.
- Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров с числом узлов 28 - 216. В сетях класса В под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта.
- Если адрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов.
- Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес - multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
- Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для будущих применений.
В таблице приведены диапазоны номеров сетей, соответствующих каждому классу сетей.
Класс | Наименьший адрес | Наибольший адрес | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A | 01.0.0 | 126.0.0.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B | 128.0.0.0 | 191.255.0.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C | 192.0.1.0. | 223.255.255.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
D | 224.0.0.0 | 239.255.255.255 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E | 240.0.0.0 | 247.255.255.255 |
Соглашения о специальных адресах: broadcast, multicast, loopback
В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:
то он обозначает адрес того узла, который сгенерировал этот пакет;
то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;
- адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.
В протоколе IP нет понятия широковещательности в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам. Как ограниченный широковещательный IP-адрес, так и широковещательный IP-адрес имеют пределы распространения в интерсети - они ограничены либо сетью, к которой принадлежит узел - источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из составляющих общую сеть частей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
Отображение физических адресов на IP-адреса: протоколы ARP и RARP
В протоколе IP-адрес узла, то есть адрес компьютера или порта маршрутизатора, назначается произвольно администратором сети и прямо не связан с его локальным адресом, как это сделано, например, в протоколе IPX. Подход, используемый в IP, удобно использовать в крупных сетях и по причине его независимости от формата локального адреса, и по причине стабильности, так как в противном случае, при смене на компьютере сетевого адаптера это изменение должны бы были учитывать все адресаты всемирной сети Internet (в том случае, конечно, если сеть подключена к Internet'у).
Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.
В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.
Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. На рисунке 3.2 показан формат пакета протокола ARP для передачи по сети Ethernet.
Тип сети | Тип протокола | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Длина локального адреса | Длина сетевого адреса | Операция | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Локальный адрес отправителя (байты 0 - 3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Локальный адрес отправителя (байты 4 - 5) | IP-адрес отправителя (байты 0-1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP-адрес отправителя (байты 2-3) | Искомый локальный адрес (байты 0 - 1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Искомый локальный адрес (байты 2-5) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Искомый IP-адрес (байты 0 - 3) |
Рис. 3.2. Формат пакета протокола ARP
В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 080016.
Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. В поле операции для ARP запросов указывается значение 1 для протокола ARP и 2 для протокола RARP.
Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.
В глобальных сетях администратору сети чаще всего приходится вручную формировать ARP-таблицы, в которых он задает, например, соответствие IP-адреса адресу узла сети X.25, который имеет смысл локального адреса. В последнее время наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP-адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора.
Отображение символьных адресов на IP-адреса: служба DNS
DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.
Протокол DNS является служебным протоколом прикладного уровня. Этот протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной базы данных о соответствии символьных имен и IP-адресов. Эта база данных распределена по административным доменам сети Internet. Клиенты сервера DNS знают IP-адрес сервера DNS своего административного домена и по протоколу IP передают запрос, в котором сообщают известное символьное имя и просят вернуть соответствующий ему IP-адрес.
Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.
База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.
Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:
Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени :
Автоматизация процесса назначения IP-адресов узлам сети - протокол DHCP
Как уже было сказано, IP-адреса могут назначаться администратором сети вручную. Это представляет для администратора утомительную процедуру. Ситуация усложняется еще тем, что многие пользователи не обладают достаточными знаниями для того, чтобы конфигурировать свои компьютеры для работы в интерсети и должны поэтому полагаться на администраторов.
Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этих проблем. Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.
В ручной процедуре назначения адресов активное участие принимает администратор, который предоставляет DHCP-серверу информацию о соответствии IP-адресов физическим адресам или другим идентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросы к DHCP-серверу.
При автоматическом статическом способе DHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства оператора. Границы пула назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первичного назначения сервером DHCP IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.
При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, что дает возможность впоследствии повторно использовать IP-адреса другими компьютерами. Динамическое разделение адресов позволяет строить IP-сеть, количество узлов в которой намного превышает количество имеющихся в распоряжении администратора IP-адресов.
DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов за счет централизованного управления их распределением. Администратор управляет процессом назначения адресов с помощью параметра "продолжительности аренды" (lease duration), которая определяет, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.
Примером работы протокола DHCP может служить ситуация, когда компьютер, являющийся клиентом DHCP, удаляется из подсети. При этом назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к другой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это свойство очень важно для мобильных пользователей.
Однако использование DHCP несет в себе и некоторые проблемы. Во-первых, это проблема согласования информационной адресной базы в службах DHCP и DNS. Как известно, DNS служит для преобразования символьных имен в IP-адреса. Если IP-адреса будут динамически изменятся сервером DHCP, то эти изменения необходимо также динамически вносить в базу данных сервера DNS. Хотя протокол динамического взаимодействия между службами DNS и DHCP уже реализован некоторыми фирмами (так называемая служба Dynamic DNS), стандарт на него пока не принят.
Во-вторых, нестабильность IP-адресов усложняет процесс управления сетью. Системы управления, основанные на протоколе SNMP, разработаны с расчетом на статичность IP-адресов. Аналогичные проблемы возникают и при конфигурировании фильтров маршрутизаторов, которые оперируют с IP-адресами.
Наконец, централизация процедуры назначения адресов снижает надежность системы: при отказе DHCP-сервера все его клиенты оказываются не в состоянии получить IP-адрес и другую информацию о конфигурации. Последствия такого отказа могут быть уменьшены путем использовании в сети нескольких серверов DHCP, каждый из которых имеет свой пул IP-адресов.
Для человека, поработавшего даже небольшое время в сети, становится совершенно естественным, что у каждого компьютера, подключенного к интернет, есть свое название, имя, которое легко запомнить. Система, которая позволяет нам использовать эти привычные для человека имена, избегая других неудобных способов "маркировки" компьютеров, называется DNS (Domain Name System, доменная система имен) .
Чтобы облегчить упорядочивание наименований, вся структура компьютерных имен устроена таким образом:есть отдельные уровни (домены), которые могут включать в себя как другие поддомены, так и имена компьютеров. Все названия должны состоять только из латинских букв, цифр и, может быть, знака "минус". Отдельные уровни доменов разделяются точкой.
В пределах домена каждого уровня есть группа людей, которые отвечают за этот домен. Они могут добавлять имена вновь появившихся компьютеров, менять их или удалять. И по сути дела, то, как будет называться та машина, на которой работаете вы в своей фирме, зависит от того, что им подскажет фантазия написать в конфигурационном файле DNS.
Если вам бы захотелось зарегистрировать еще один домен верхнего уровня, то потребовалось для этого предоставить такие серьезные обоснования, что гораздо проще было бы организовать свое маленькое государство и для него уже получить географический домен.
DNS вашей компании
При текущем уровне развития коммуникаций в России, все больше компаний встают перед необходимостью подключения своих локальных сетей к интернет. Если опустить все организационные и коммерческие вопросы подключения, то в техническом отношении этот процесс сведется к следующей последовательности действий:
- Подключение к провайдеру. Физическое подключение может быть выполнено очень многими различными способами: от обычного модема до радиосетей и оптоволокна. Способ подключения и, соответственно, оплата оговариваются непосредственно с провайдером.
- Получение численных (IP) адресов. Для того, чтобы ваши компьютеры, подключенные к интернет, стали доступны, необходимо выделить для них уникальные численные адреса. Обычно в договоре на подключение к интернет указывается, сколько и каких адресов отдается в пользование вашей компании. Формат IP-адресов такой: четыре числа от 1 до 255, отделенных точками. Например, 193.124.134.101 - IP-адрес какого-то компьютера в сети.
- Настройка DNS. Допустим, вы получили блок IP-адресов. Теперь следует правильно сконфигурировать систему имен и корректно настроить работу серверов с этими именами.
- Процедура регистрации доменного имени. Она сильно различается для различных доменов верхнего уровня, и может быть как бесплатной, так и по оплате.
- Дальнейшая установка программного обеспечения на компьютеры, требующего явного указания доменного имени (например, web-сервера).
Вообще говоря, большинство интернет-провайдеров предоставляют услуги по регистрации доменов их силами, но вам может быть полезно представлять, каким образом эта процедура происходит и что для этого требуется. Мы будем рассматривать в конкретных примерах системы, работающие под управлением FreeBSD UNIX, хотя те же выкладки без труда переносятся и на любую другую систему.
Прежде всего, для полноценной работы DNS вам необходимо два или больше компьютеров, так называемых, name-серверов, которые независимо друг от друга подключенны к интернет (лучше, если они будут находиться в разных сетях или даже разных странах). Такая структура обеспечит неизменную работу системы преобразования символьного адреса в числовой и обратно, даже если какое-то время некоторые из этих компьютеров будут недоступны по сети. На таких компьютерах запускается специальная программа-демон named , которая обрабатывает запросы на преобразование адресов и отвечает на них. Настроить DNS - означает корректно написать конфигурационные файлы named.
Name-сервера бывают primary и secondary . Иногда их называют первичными и вторичными, а также master и slave. Primary name-сервер может быть только один. На нем хранится вся информация о доменах, и если происходят изменения, то конфигурация правится только на нем. Secondary name-серверов может быть несколько, но обычная практика - один secondary nameserver. Дополнительные вторичные name-сервера служат для повышения скорости расшифровывания вашего адреса и для повышения устойчивости такого преобразования. Для небольших сетей три и больше вторичных name-сервера - это уже излишество. Secondary name-сервера с заданной периодичностью в автоматическом режиме считывают текущую конфигурацию с primary-сервера. Заметим, что один и тот же компьютер может одновременно являться primary-сервером для одних доменов и secondary nameserver'ом для нескольких других. Конкретную реализацию таких DNS-серверов мы рассмотрим в следующих разделах.
Выбор и регистрация домена
Как настроить DNS
Сама программа named в большинстве случаев входит в стандартный набор средств операционных систем UNIX. Если в вашем случае ее не оказалось, попробуйте сделать поиск программы named для вашей системы в поисковых серверах интернета (AltaVista, Lycos и т.д.). Обычно главный файл с настройками named называется named.boot и лежит в директории /etc . Запускать демон named обязательно с привилегиями пользователя root.
В данном случае рассматривается FreeBSD версии 2.2.2 со стандартной named. Сама программа лежит в /usr/sbin/named , а заготовки для конфигурации в директории /etc/namedb .
Прежде всего, перед любым изменением конфигурации сохраните предыдущие файлы настроек, чтобы всегда можно было вернуться к исходному состоянию.
Скопируем named.boot в нужную директорию:
% cp /etc/namedb/named.boot /etc
Комментарии в named.boot начинаются с ";" на первом месте в строке.
Рассмотрим различные директивы в named.boot:
Это та директория, в которой будут храниться конфигурационные файлы для каждого из доменов, которые этот name-сервер будет держать.
Эта специальная опция задает имя файла named.root в директории /etc/namedb, в котором содержатся IP-адреса компьютеров, которые "знают все" о доменных именах, то есть, содержат домен "точка". В этих серверах хранится информация обо всех доменах верхнего уровня, и если на DNS-запрос ответ не был дан на более раннем этапе, то, добежав до одного из таких top-level серверов, запрос пойдет по необходимой ветке вниз. Вот кусок этого файла:
Следующая директива в конфигурационном файле говорит о том, что наш name-сервер является primary name-сервером для какой-то зоны, то есть, содержит всю информацию о ней. Синтаксис ее таков:
primary [имя.домена] [имя_файла]
Для того, чтобы стать вторичным nameserver'ом для других доменов, в named.boot нужно написать строчку такого плана:
Общий вид директивы таков:
secondary [имя.домена] [IP-адрес primary nameserver'а] [имя_файла]
Первый параметр здесь - имя домена, для которого мы устанавливаем secondary. Для него обязательно должен существовать первичный name-сервер, с которого демон будет периодически считывать данные об этом домене. Вместо одного IP-адреса primary nameserver'а может идти и список адресов, откуда еще можно узнать информацию о домене. Это используется в том случае, если мы создаем многоуровневую систему nameserver'ов с различными приоритетами, и т.д. В большинстве случаев в это поле заносится только адрес primary. Последний параметр - имя временного файла, выбранное нами произвольным образом, в котором демон named будет хранить информацию о домене, полученную от primary name-сервера. Как и в первом случае, имена файлов лучше назначать созвучными с именем домена. Кстати, для того, чтобы установить вторичный nameserver для домена, нужно только добавить одну такую строчку named.boot, и все.
Чтобы правильно настроить primary name-сервер, нам осталось рассмотреть конфигурационные файлы db.* (эти файлы также называются файлами зоны). Общий вид записи в этом файле:
[domain] [opt_ttl] [opt_class] [type] [resource_record_data]
где domain есть "." для описания домена верхнего уровня, "@" для текущего домена или обычное доменное имя (в частности, просто имя машины (hostname)).
opt_ttl - необязательное поле, целое число, которое означает время жизни (time-to-live) этой записи в секундах. По истечении этого срока содержимое записи должно автоматически обновиться.
opt_class - тип адреса объекта. Такой тип существует только один, который, собственно, и указывается ("IN").
type - тип записи (рассмариваются ниже)
resource_record_data - данные этого типа
В named.boot мы должны прописать такую строчку:
Заметим, что все строки, начинающиеся с ";", являются комментариями и используются для улучшения читабельности текста.
Теперь рассмотрим типы записей, встречающиеся в нашей конфигурации:
Самая первая запись в любом таком файле выглядит следующим образом:
Символ "@" означает, что дальнейшие директивы относятся к текущему домену (то есть, к домену radio-msu.net ). Поле "IN" можнно считать несущественым, а после него идет описание типа записи:
Точку в конце символьных имен нужно не забывать ставить и в других полях зоны. Это одна из самых распространенных ошибок. Написать " ns.radio-msu.net " - значит, иметь ввиду сервер " ns.radio-msu.net.radio-msu.net ", которого просто не существует.
Оставшиеся в круглых скобках после контактного лица пять параметров записи SOA - целые числа, определяющие временые интервалы обмена информацией об этом домене между primary и secondary.
Первое число ("1998022300" у нас) - сериальный номер ( serial number ) записи. По изменению сериального номера secondary name-сервера определяют, было ли изменено содержимое домена или нет, и соответственно, нужно ли считывать весь домен с primary-сервера. Сериальный номер должен состоять из десяти цифр и обязательно должен быть заменен вручную на какой-либо больший при любом измеении любой записи в файле домена. Для этих целей идеально подходит такой вариант: первые четыре цифры serial'а - год, затем две на месяц и число. Последние две - порядковый номер (начиная с 00) редакции в течение дня. Если мы меняем конфигурацию домена, то заодно мы должны увеличить и сериальный номер. А при таком задании serial'а увеличение происходит автоматом.
После сериального номера идет поле Refresh , которое указывает время в секундах, по истечении которого secondary name-сервер проверяет не изменилась ли данная зона на primary-сервере, и если изменения были, то происходит передача файла с зоной.
Если при этом у него не получилось по каким-либо причинам соединиться с сервером, то следующую попытку secondary сделает по истечении Retry секунд (третий параметр).
В том случае, если и последующие попытки подключиться к primary и узнать информацию о зоне оканчиваются неудачей, вторичный name-сервер по прошествии Expire секунд забудет всю информацию по этой зоне.
Последнее поле ( 'Minimum TTL' ) указывает на минимальное время жизни (Time To Live) записей в файле зоны, если только в какой-то записи не будет указано другое значение в необязательном поле opt_ttl.
Рекомендуемые значения для этих величин таковы:
Однако вам никто не вправе помешать поставить свои значения. Только не ставьте слишком маленькие величины (меньше часа) - иначе вы просто забьете сеть бесполезной информацией, непрерывно пересылаемой от primary к secondary.
Теперь рассмотри записи следующего типа:
NS - (Name Server) - перечисляет name-сервера (и primary, и secondary), которые держат эту зону. Не забывайте про точку в конце имени!
Далее идет одна из наиболее часто встречающихся записей DNS:
A - (Address) - адрес хоста. На первом месте в такой строке будет стоять символьное имя компьютера в текущем домене, после этого "IN A", а затем - числовой IP-адрес, соответствующий этой машине. Рекомендуется внести, например, такую строку в файл зоны:
В рассмотренном примере мы видим такие строки:
CNAME - (Canonical name) - в транслитерации с латинского, на компьютерном жаргоне такая запись называется алиас ( alias ). Вы как бы добавляете компьютеру еще одно имя, которое при разрешении превратится в тот же IP-адрес, что и основное имя.
Заметим еще один момент. Второе имя компьютеру можно дать и так:
При этом у нас будет несколько записей типа 'A', соответствующих одному IP-адресу. Это ничему не противоречит, но так делать - плохой стиль.
Следующий важный тип записей - записи типа MX.
[domain] IN MX [pref_value] [mail_server]
где domain - необязательное поле. Если оно есть, то запись онтосится к этому домену, если нет - то к предыдущему с типом 'A'. В том случае, если на месте [domain] стоит символ '@' или это поле отсутствует, но сама запись находится в самом начале файла зоны (сразу же после SOA), то такое поле MX будет относиться к домену, которому соответствует текущий db-файл.
'IN' также можно указывать, а можно опускать. mail_server - доменное имя почтового сервера, которому достанется вся почта, приходящая на этот домен. На этом сервере должны стоять программы, поддерживающие почтовый протокол SMTP. Для повышения надежности пересылки почты, вы можете указать подряд несколько почтовых серверов. В том случае, если один из них перестанет работать, вся почта на домен будет отправляться на эти "запасные" mail-сервера, которые при первой же возможности отправят все накопившиеся у них электронные письма на основной почтовый сервер. Чтобы регулировать такую систему, и вводится параметр pref_value (приоритет соответствующего почтового сервера), который может меняться от 0 (самый большой приоритет) до 32767 (почта на mail-сервер с таким значением pref_value будет приходить в совсем крайнем случае). Если у вас запись MX единственная для какого-то домена, то значение этого поля не играет роли. Но при использовании только одного mail-сервера в те моменты, когда он по каким-либо причинам недоступен, почта будет теряться. Поэтому обыкновенно ставят две-три MX-записи, а приоритеты у них устанавливают круглыми числами от 10 до 100. Пример:
Следующие типы записей используются реже, тем не менее, приведем их тут:
NULL - пустая запись. Скорее всего, должна использоваться для резервирования доменного имени, но на практике применяется только в том случае, если необходимо убрать на некоторое время из DNS'а запись о какой-то машине. Хотя проще такие строчки просто закомментарить.
RP - (Responsible Person) - ответственное за этот домен лицо:
HINFO - (Host Information) - информация о компьютере (тип процессора, операционная система и т.д.). Используется крайне редко.
Нам осталось рассмотреть последний особый тип записи ' PTR ' ( domain name pointer ), эта запись используется в db.* файлах так называемой "обратной зоны" ( reverse-dns ).
Настройка "обратной зоны"
В рассматриваемых до этого примерах мы видели, как установить взаимосвязь между символьными именами и числовыми IP-адресами, но только в одну сторону: от символьных имен к числовым. Доменная система имен должна также обеспечивать обратное преобразование: из числового адреса в строковый. Для этих целей, собственно и служат файлы обратной зоны (Reverse-DNS), структура которых во многом напоминает файлы зон, которые мы рассматривали выше. Для обратных зон также необходимы primary и secondary сервера. В конфигурационном файле named.boot для установки primary name-сервера может быть написана примерно такая строка:
Домен ' in-addr.arpa ' - служебный. Он используется для обозначения числовых IP-адресов.
Будьте внимательны: при таком способе записи от вашего полного IP адреса из 4-х чисел остаются только первые три, общие для компьютеров внутри вашей локальной сети (или какого-то ее участка). Причем, эти числа меняются местами: так домен 80.67.194.in-addr.arpa будет соответствовать адресам сетки 194.67.80.* .
Secondary name-сервера обратных зон устанавливаются аналогично прямым зонам - в named.boot пишется строка
Этой строкой мы установили secondary name-сервер для reverse-зоны IP-адресов сети 158.250.100 , а primary name-сервером будет компьютер этой сети с адресом 158.250.100.1 .
Обязательной строчкой в named.boot является обратная зона сетки 127.0.0, так как в ней находится IP-адрес 127.0.0.1 ( localhost , loopback ) - это специальный адрес, при обращении на который с любого компьютера, мы попадаем на него же. Итак, в named.boot должна быть строчка:
Большие и маленькие буквы здесь не различаются. А в директории /etc/namedb создадим файл db.local примерно такого содержания (имена доменов вам, естественно, придется поменять на свои):
В директории /etc/namedb создаем файл с именем db.193.124.134 для обратной зоны. Здесь, как и в предыдущих ситуациях, само по себе имя большой роли не играет, поэтому можно выбирать его легким для запоминания. Теперь посмотрим на то, что может содержаться в этом файле:
Как мы видим, в обратной зоне в основном используются записи типа PTR. Структура записи такова:
В файле обратной зоны первой записью стоит запись типа SOA, полностью аналогичная SOA прямой зоны. После этого идет перечисление name-серверов (записи типа NS). И особняком стоит строка для адреса 193.124.134.0 , который обозначает весь Ethernet-участок сети. Прописывать нулевой адрес необязательно, но это считается правилом хорошего тона.
Наконец, после всех этих манипуляций ваш сервер готов к работе. Демон named должен запускаться при старте машины. Все изменения в конфигурации должен производить только пользователь root. После каждого изменения не забывайте менять серийные номера в db.* файлах, согласовывать прямые и обратные зоны, перезапускать ( kill -1 ) named.
Для передачи данных в локальных и глобальных сетях устройство-отправитель должно знать адрес устройства-получателя. Поэтому каждый сетевой компьютер имеет уникальный адрес, и не один, а целых три адреса: физический или аппаратный (MAC-адрес); сетевой (IP-адрес); символьный (обычное имя компьютера или полное доменное имя).
Физический адрес компьютера
Физический (аппаратный) адрес компьютера зависит от технологии, с помощью которой построена сеть. В сетях Ethernet это MAC-адрес сетевого адаптера. MAC-адрес жестко “зашивается” в сетевую карту ее производителем и обычно записывается в виде 12 шестнадцатеричных цифр (например, 00-03-BC-12-5D-4E).
Это гарантированно уникальный адрес: первые шесть символов идентифицируют фирму-производителя, которая следит, чтобы остальные шесть символов не повторялись на производственном конвейере. MAC-адрес выбирает производитель сетевого оборудования из выделенного для него по лицензии адресного пространства. Когда у машины заменяется сетевой адаптер, то меняется и ее MAC-адрес.
Узнать MAC-адрес сетевой карты вашего компьютера можно следующим образом:
1. Зайдите в “Пуск” – “Выполнить” – введите с клавиатуры команду cmd – “ОК”.
2. Введите команду ipconfig /all и нажмите клавишу Enter.
Данная команда позволяет получить полную информацию обо всех сетевых картах ПК. Поэтому найдите в этом окошке строку Физический адрес – в ней будет обозначен MAC-адрес вашей сетевой карты. В моем случае это выглядит так:
Сетевой адрес компьютера
Сетевой адрес, или IP-адрес используется в сетях TCP/IP при обмене данными на сетевом уровне. IP расшифровывается как Internet Protocol – протокол интернета. IP-адрес компьютера имеет длину 32 бита и состоит из четырех частей, именуемых октетами. Каждый октет может принимать значения от 0 до 255 (например, 90.188.125.200). Октеты отделяются друг от друга точками.
IP-адрес компьютера, например 192.168.1.10, состоит из двух частей – номера сети (иногда называемого идентификатором сети) и номера сетевого компьютера (идентификатора хоста). Номер сети должен быть одинаковым для всех компьютеров сети и в нашем примере номер сети будет равен 192.168.1. Номер компьютера должен быть уникален в данной сети, и компьютер в нашем примере имеет номер 10.
IP-адреса компьютеров в разных сетях могут иметь одинаковые номера. Например, компьютеры с IP-адресами 192.168.1.10 и 192.168.15.10 хоть и имеют одинаковые номера (10), но принадлежат к разным сетям (1 и 15). Поскольку адреса сетей различны, то компьютеры не могут быть спутаны друг с другом.
Чтобы отделить номер сети от номера компьютера, применяется маска подсети. Чисто внешне маска подсети представляет собой такой же набор из четырех октетов, разделенных между собой точками. Но, как правило, большинство цифр в ней – это 255 и 0.
255 указывает на биты, предназначенные для адреса сети, в остальных местах (которым соответствует значение 0) должен располагаться адрес компьютера. Чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Маска сети присваивается компьютеру одновременно с IP-адресом. Чтобы было понятно, приведем простой пример: сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.0.254. А сеть 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127.
Сети с большим количеством компьютеров обычно делят на части, называемые подсетями. Деление на подсети применяется для обеспечения повышенной безопасности и разграничения доступа к ресурсам различных подсетей. Компьютеры разных подсетей не смогут передавать пакеты друг другу без специального устройства – маршрутизатора, а, следовательно, никто не сможет проникнуть в защищенную таким образом подсеть. Чтобы создать подсети, часть места в IP-адресе, отведенном для номера хоста, отдают под номера подсети.
Рассмотрим пример, когда у нас в локальной сети 50 компьютеров и требуется настроить их так, чтобы 20 компьютеров могли “общаться” между собой, но не смогли передавать и принимать данные от остальных 10 компьютеров, которые также должны общаться только между собой. Решение этой задачи довольно простое – делим нашу сеть на две подсети . В первой подсети “раздаем” компьютерам (их у нас 20) номера из диапазона 192.168.1.1 – 192.168.1.20, а во второй подсети для оставшихся 10 компьютеров раздаем номера из диапазона 192.168.2.1 – 192.168.2.10.
Если ваш компьютер подключен к локальной сети или интернет, вы можете узнать его IP-адрес и маску подсети уже знакомым нам способом:
1. Зайдите в “Пуск” – “Выполнить” – наберите cmd и нажмите “ОК”.
2. В открывшемся окне введите команду ipconfig /all и нажмите клавишу Enter.
IP-адрес компьютера и маску подсети вы увидите в соответствующих строках:Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Интернет (Network Information Center – NIC), если сеть должна работать как составная часть Интернет. Обычно интернет-провайдеры получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Это внешние IP-адреса (доступные из интернета), например 90.188.125.200.
Для локальных сетей зарезервированы внутренние IP-адреса (к ним нельзя получить доступ через интернет без специального ПО) из диапазонов:
- 192.168.0.1 – 192.168.254.254
- 10.0.0.1 – 10.254.254.254
- 172.16.0.1 – 172.31.254.254
Из этих диапазонов вы, как системный администратор, и будете назначать адреса компьютерам в вашей локальной сети. Если вы “жестко” зафиксируете IP-адрес в настройках компьютера, то такой адрес будет называться статическим – это постоянный, неизменяемый IP-адрес ПК.
Существует и другой тип IP-адресов – динамические, которые изменяются при каждом входе компьютера в сеть. За управление процессом распределения динамических адресов отвечает служба DHCP. О ней я расскажу вам в одной из следующих статей.
Имя сетевого компьютера
Помимо физического и сетевого адресов компьютер может также иметь символьный адрес – имя компьютера . Имя компьютера – это более удобное и понятное для человека обозначение компьютера в сети. Различают NetBIOS имена и полные доменные имена компьютеров.
Имена NetBIOS используются в одноранговых локальных сетях, в которых компьютеры организованы в рабочие группы. NetBIOS – протокол для взаимодействия программ через компьютерную сеть. Протокол NetBIOS распознает обычные буквенные имена компьютеров и отвечает за передачу данных между ними. Проводник Windows для просмотра локальной сети предоставляет папку Сетевое окружение, автоматически отображающей имена NetBIOS компьютеров вашей локальной сети.
Имя NetBIOS может содержать не более 15 символов и должно быть на английском языке.
В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IP-адреса и символьные доменные имена.
В терминологии TCP/IP под локальным адресом понимается такой тип адреса, который используется средствами базовой технологии для доставки данных в пределах подсети, являющейся элементом составной интерсети. В разных подсетях допустимы разные сетевые технологии, разные стеки протоколов, поэтому при создании стека TCP/IP предполагалось наличие разных типов локальных адресов. Если подсетью интерсети является локальная сеть, то локальный адрес — это МАС-адрес. МАС-адрес назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов. МАС-адреса назначаются производителями оборудования и являются уникальными, так как управляются централизованно. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байт, например 11-AO-17-3D-BC-01. Однако протокол IP может работать и над протоколами более высокого уровня, например над протоколом IPX или Х.25. В этом случае локальными адресами для протокола IP соответственно будут адреса IPX и Х.25. Следует учесть, что компьютер в локальной сети может иметь несколько локальных адресов даже при одном сетевом адаптере. Некоторые сетевые устройства не имеют локальных адресов. Например, к таким устройствам относятся глобальные порты маршрутизаторов, предназначенные для соединений типа «точка-точка».
IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень передает пакеты между сетями. Эти адреса состоят из 4 байт, например 109.26.17.100. IP-адрес назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Internet Network Information Center, InterNIC), если сеть должна работать как составная часть Internet. Обычно поставщики услуг Internet получают диапазоны адресов у подразделений InterNIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например, 128.10.2.30 — традиционная десятичная форма представления адреса, а 10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.
Адрес состоит из двух логических частей — номера сети и номера узла в сети. Какая часть адреса относится к номеру сети, а какая — к номеру узла, определяется значениями первых бит адреса. Значения этих бит являются также признаками того, к какому классу относится тот или иной IP-адрес.
На рис. 5.9 показана структура IP-адреса разных классов.
Если адрес начинается с 0, то сеть относят к классу А и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А
имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) Сетей класса А немного, зато количество узлов в них может достигать 2 24 , то есть 16 777 216 узлов.
Если первые два бита адреса равны 10, то сеть относится к классу В. В сетях класса В под номер сети и под номер узла отводится по 16 бит, то есть по 2 байта. Таким образом, сеть класса В является сетью средних размеров с максимальным числом узлов 2 16 , что составляет 65 536 узлов.
Если адрес начинается с последовательности 110, то это сеть класса С. В этом случае под номер сети отводится 24 бита, а под номер узла — 8 бит. Сети этого класса наиболее распространены, число узлов в них ограничено 2 8 , то есть 256 узлами.
Если адрес начинается с последовательности 1110, то он является адресом класса Dvi обозначает особый, групповой адрес — multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.
В табл. 5.4 приведены диапазоны номеров сетей и максимальное число узлов, соответствующих каждому классу сетей.
Большие сети получают адреса класса А, средние — класса В, а маленькие класса С.
В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов.
• Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет.
При адресации необходимо учитывать те ограничения, которые вносятся особым назначением некоторых 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-адреса — multicast — означает, что данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Узлы сами идентифицируют себя, то есть определяют, к какой из групп они относятся. Один и тот же узел может входить в несколько групп. Члены какой-либо группы multicast не обязательно должны принадлежать одной сети. В общем случае они могут распределяться по совершенно различным сетям, находящимся друг от друга на произвольном количестве хопов. Групповой адрес не делится на поля номера сети и узла и обрабатывается маршрутизатором особым образом.
Основное назначение multicast-адресов — распространение информации по схеме «один-ко-многим». Хост, который хочет передавать одну и ту же информацию многим абонентам, с помощью специального протокола IGMP (Internet Group Management
Protocol) сообщает о создании в сети новой мультивещательной группы с определенным адресом. Машрутизаторы, поддерживающие мультивещательность, распространяют информацию о создании новой rpynnbi в сетях, подключенных к портам этого маршрутизатора. Хосты, которые хотят присоединиться к вновь создаваемой мультивещательной группе, сообщают об этом своим локальным маршрутизаторам и те передают эту информацию хосту, инициатору создания новой группы.
Чтобы маршрутизаторы могли автоматически распространять пакеты с адресом multicast по составной сети, необходимо использовать в конечных маршрутизаторах модифицированные протоколы обмена маршрутной информацией, такие как, например, MOSPF (Multicast OSPF, аналог OSPF ).
Групповая адресация предназначена для экономичного распространения в Internet или большой корпоративной сети аудио- или видеопрограмм, предназначенных сразу большой аудитории слушателей или зрителей. Если такие средства найдут широкое применение (сейчас они представляют в основном небольшие экспериментальные островки в общем Internet), то Internet сможет создать серьезную конкуренцию радио и телевидению.
Использование масок в IP-адресации
А что если использовать какой-либо другой признак, с помощью которого можно было бы более гибко устанавливать границу между номером сети и номером узла? В качестве такого признака сейчас получили широкое распространение маски. Маска — это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность.
Для стандартных классов сетей маски имеют следующие значения:
• класс А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0);
• класс В-11111111.11111111.00000000. 00000000 (255.255.0.0);
• класс С-11111111.11111111.11111111.00000000 (255.255.255.0).
ПРИМЕЧАНИЕ Для записи масок используются и другие форматы, например, удобно интерпретировать значение маски, записанной в шестнадцатеричном коде: FF.FF.OO.OO — маска для адресов класса В. Часто встречается и такое обозначение 185.23.44.206/16 - эта запись говорит о том, что маска для этого адреса содержит 16 единиц или что в указанном IP-адресе под номер сети отведено 16 двоичных разрядов.
Снабжая каждый 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, то есть в двоичном виде:
IP-адрес 129.64.134.5 - 10000001. 01000000. 10000110. 00000101
Маска 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-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей. На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов.
Читайте также:
- Перенести icq на другой компьютер
- Соединение прервано после 20 секунд неактивности ошибка передача файла потерпела неудачу
- Невозможно загрузить файл или сборку mom implementation
- Не удалось загрузить файл или сборку cefsharp core dll
- Для какой школы менеджмента характерно использование информационных систем и компьютерной техники