ПОРЯДОК РАСПРЕДЕЛЕНИЯ IP-АДРЕСОВ

 

Номера сетей назначаются либо централизованно, если сеть является частью Internet, либо произвольно, если сеть работает автономно. Номера узлов и в том и в другом случае администратор волен назначать по своему усмотрению, не выходя, разуме­ется, из разрешенного для этого класса сети диапазона.

Координирующую роль в централизованном распределении IP-адресов до не­которого времени играла организация InterNIC, однако с ростом сети задача рас­пределения адресов стала слишком сложной, и InterNIC делегировала часть своих функций другим организациям и крупным поставщикам услуг Internet.

Уже сравнительно давно наблюдается дефицит IP-адресов. Очень трудно полу­чить адрес класса В и практически невозможно стать обладателем адреса класса А. При этом надо отметить, что дефицит обусловлен не только ростом сетей, но и тем, что имеющееся множество IP-адресов используется нерационально. Очень часто владельцы сети класса С расходуют лишь небольшую часть из имеющихся у них 254 адресов. Рассмотрим пример, когда две сети необходимо соединить глобальной связью. В таких случаях в качестве канала связи используют два маршрутизатора, соединенных по схеме «точка-точка» (рис. 5.10). Для вырожденной сети, образо­ванной каналом, связывающим порты двух смежных маршрутизаторов, приходит­ся выделять отдельный номер сети, хотя в этой сети имеются всего 2 узла.

Если же некоторая IP-сеть создана для работы в «автономном режиме», без связи с Internet, тогда администратор этой сети волен назначить ей произвольно выбранный номер. Но и в этой ситуации для того, чтобы избежать каких-либо коллизий, в стандартах Internet определено несколько диапазонов адресов, реко­мендуемых для локального использования. Эти адреса не обрабатываются маршрути­заторами Internet ни при каких условиях. Адреса, зарезервированные для локальных целей, выбраны из разных классов: в классе А — это сеть 10.0.0.0, в классе В — это диапазон из 16 номеров сетей 172.16.0.0-172.31.0.0, в классе С — это диапазон из 255 сетей - 192.168.0.0-192.168.255.0.

Для смягчения проблемы дефицита адресов разработчики стека TCP/IP пред­лагают разные подходы. Принципиальным решением является переход на новую версию IPv6, в которой резко расширяется адресное пространство за счет исполь­зования 16-байтных адресов. Однако и текущая версия IPv4 поддерживает некото­рые технологии, направленные на более экономное расходование IP-адресов. Одной из таких технологий является технология масок и ее развитие — технология бес­классовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR). Тех­нология CIDR отказывается от традиционной концепции разделения адресов протокола IP на классы, что позволяет получать в пользование столько адресов, сколько реально необходимо. Благодаря CIDR поставщик услуг получает возмож­ность «нарезать» блоки из выделенного ему адресного пространства в точном соот­ветствии с требованиями каждого клиента, при этом у него остается пространство для маневра на случай его будущего роста.

Другая технология, которая может быть использована для снятия дефицита адресов, это трансляция адресов (Network Address Translator, NAT). Узлам внутрен­ней сети адреса назначаются произвольно (естественно, в соответствии с общими правилами, определенными в стандарте), так, как будто эта сеть работает автоном­но. Внутренняя сеть соединяется с Internet через некоторое промежуточное устрой­ство (маршрутизатор, межсетевой экран). Это промежуточное устройство получает в свое распоряжение некоторое количество внешних «нормальных» IP-адресов, согласованных с поставщиком услуг или другой организацией, распределяющей IP-адреса. Промежуточное устройство способно преобразовывать внутренние ад­реса во внешние, используя для этого некие таблицы соответствия. Для внешних пользователей все многочисленные узлы внутренней сети выступают под несколь­кими внешними IP-адресами. При получении внешнего запроса это устройство анализирует его содержимое и при необходимости пересылает его во внутреннюю сеть, заменяя IP-адрес на внутренний адрес этого узла. Процедура трансляции адресов определена в RFC 1631.

 

Автоматизация процесса назначения IP-адресов

Назначение IP-адресов узлам сети даже при не очень большом размере сети может представлять для администратора утомительную процедуру. Протокол Dynamic Host Configuration Protocol (DHCP) освобождает администратора от этих проблем, авто­матизируя процесс назначения IP-адресов.

DHCP может поддерживать способ автоматического динамического распреде­ления адресов, а также более простые способы ручного и автоматического стати­ческого назначения адресов. Протокол DHCP работает в соответствии с моделью клиент-сервер. Во время старта системы компьютер, являющийся DHCP-клиентом, посылает в сеть широковещательныйзапрос на получение IP-адреса. DHCP-cep-вер откликается и посылает сообщение-ответ, содержащее IP-адрес. Предполагает­ся, что DHCP-клиент и DHCP-сервер находятся в одной IP-сети.

При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, называемое временем аренды (lease duration), что дает возмож­ность впоследствии повторно использовать этот IP-адрес для назначения другому компьютеру. Основное преимущество DHCP — автоматизация рутинной работы ад­министратора по конфигурированию стека TCP/IP на каждом компьютере. Иногда динамическое разделение адресов позволяет строить IP-сеть, количество узлов в ко­торой превышает количество имеющихся в распоряжении администратора IP-адресов.

В ручной процедуре назначения статических адресов активное участие прини­мает администратор, который предоставляет DHCP-серверу информацию о соот­ветствии IP-адресов физическим адресам или другим идентификаторам клиентов. DHCP-сервер, пользуясь этой информацией, всегда выдает определенному клиен­ту назначенный администратором адрес.

При автоматическом статическом способе DHCP-сервер присваивает IP-адрес из пула наличных IP-адресов без вмешательства оператора. Границы пула назнача­емых адресов задает администратор при конфигурировании DHCP-сервера. Адрес дается клиенту из пула в постоянное пользование, то есть с неограниченным сро­ком аренды. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавлива­ется в момент первого назначения DHCP-сервером IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.

DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие дублирования адресов за счет централизованного управле­ния их распределением. Администратор управляет процессом назначения адресов с помощью параметра «продолжительность аренды», которая определяет, как дол­го компьютер может использовать назначенный IP-адрес, перед тем как снова за­просить его от DHCP-сервера в аренду.

Примером работы протокола DHCP может служить ситуация, когда компью­тер, являющийся DHCP-клиентом, удаляется из подсети. При этом назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к дру­гой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это свойство очень важно для мобильных пользователей.

DHCP-сервер может назначить клиенту не только IP-адрес клиента, но и дру­гие параметры стека TCP/IP, необходимые для его эффективной работы, напри­мер, маску, IP-адрес маршрутизатора по умолчанию, IP-адрес сервера DNS, доменное имя компьютера и т. п.

 

Отображение IP адресов на локальные адреса

Одной из главных задач, которая ставилась при создании протокола IP, являлось обеспечение совместной согласованной работы в сети, состоящей из подсетей,

в общем случае использующих разные сетевые технологии. Непосредственно с ре­шением этой задачи связан уровень межсетевых интерфейсов стека TCP/IP. На этом уровне определяются уже рассмотренные выше спецификации упаковки (ин­капсуляции) IP-пакетов в кадры локальных технологий. Кроме этого, уровень меж­сетевых интерфейсов должен заниматься также крайне важной задачей отображения 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-таблицы (табл. 5.5). Каждая строка таблицы устанавливает соответствие между IP-адресом и МАС-адресом. Для каждой сети, подключенной к сетевому адаптеру компьютера или к порту маршрутизатора, строится отдельная ARP-таблица.

Таблица 5.5.

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