DHCP и IP-адресация
Обмен информацией с DHCP
Когда клиент Windows 2000/XP или предыдущих версий Windows конфигурируется для использования DHCP, чтобы получить свои настройки конфигурации TCP/IP, он проходит через процесс согласования с сервером DHCP, который заканчивается предоставлением аренды. Обмен информацией с этим сервером выполняется с помощью протокола, определенного в документе DHCP Request for Comment, который опубликован группой IETF (Internet Engineering Task Force).
Реальный протокол DHCP (Dynamic Host Configuration Protocol) состоит из пакета одного типа, который используется для всех связей между клиентом и сервером DHCP. Передаваемый с помощью протокола UDP (User Datagram Protocol), заголовок пакета содержит поле DHCP Message Type (Тип сообщения DHCP), которое указывает назначение данного пакета среди вариантов, показанных в таблице 2.1.
Значение | Тип сообщения | Назначение |
---|---|---|
1 | DHCPDISCOVER | Используется клиентами для поиска серверов DHCP. |
2 | DHCPOFFER | Используется серверами, чтобы предлагать IP-адреса клиентам. |
3 | DHCPREQUEST | Используется клиентами для запроса конкретного IP-адреса. |
4 | DHCPDECLINE | Используется клиентами для отказа от предложенного IP-адреса. |
5 | DHCPACK | Используется серверами для подтверждения согласия клиента с IP-адресом. |
6 | DHCPNACK | Используется серверами для отклонения согласия клиента с IP-адресом. |
7 | DHCPRELEASE | Используется клиентами, чтобы прекратить аренду IP-адреса. |
Как описано в следующих разделах, между серверами и клиентами DHCP передаются различные типы сообщений, используемые для выделения IP-адресов и периодического обновления этих адресов.
Согласование аренды
До согласования аренды потенциальный клиент DHCP работает со стеком TCP/IP без IP-адреса, что явно ограничивает его возможности обмена информацией. Однако он может отправить широковещательное сообщение (broadcast) DHCPDISCOVER, чтобы попытаться обнаружить какой-либо сервер DHCP. Широковещательные сообщения обычно ограничены локальным сегментом сети, но поскольку протокол DHCP является открытым стандартом, он поддерживается многими маршрутизаторами на рынке, что позволяет им распространять широковещательные сообщения DHCP через границы сети. Тем самым один сервер DHCP может поддерживать клиентов в нескольких сетевых сегментах.
Пакет DHCPDISCOVER содержит MAC-адрес рабочей станции, что позволяет серверам DHCP отвечать конкретно направленными, а не широковещательными сообщениями. Все серверы DHCP, получившие это широковещательное сообщение, обязаны ответить данному клиенту пакетом DHCPOFFER, содержащим IP-адрес и другие настройки конфигурации на рассмотрение клиента. Если клиент получил несколько пакетов DHCPOFFER, он выбирает один из них и отправляет широковещательное сообщение DHCPREQUEST, содержащее IP-адрес и настройки, которые он намеревается принять. Это широковещательное сообщение используется, чтобы информировать выбранный сервер о согласии клиента, а также уведомить остальные серверы, что их предложения отклонены.
В течение этого периода IP-адрес, предложенный данным сервером, еще не окончательно выделен данному клиенту. При определенных обстоятельствах за этот период такие же самые настройки могут быть предложены и другому потенциальному клиенту. Однако, получив сообщение DHCPREQUEST, сервер фиксирует предложенные настройки за данным клиентом, записывая их в свою базу данных и устанавливая клиента в состояние bound (привязка). Затем сервер отправляет данному клиенту пакет DHCPACK, информируя его о своем подтверждении. Если по какой-либо причине процесс аренды адреса не может быть завершен, то сервер отправляет пакет DHCPNACK, и клиент начинает весь процесс заново, отправляя новый пакет DHCPDISCOVER.
Получив пакет DHCPACK, клиент выполняет окончательную проверку предложенного IP-адреса, используя протокол Address Resolution Protocol (Протокол разрешения адресов), чтобы выяснить, нет ли дублирования этого адреса в сети. Если такой адрес найден, то клиент отправляет серверу пакет DHCPDECLINE, отменяя всю транзакцию. Если нет, то эти настройки используются для конфигурирования стека TCP/IP, после чего можно начать вход в сеть.
Обновление аренды
После согласования аренды клиент DHCP имеет право использовать выделенные ему настройки на период, который задан на сервере. По умолчанию период аренды составляет восемь дней. При каждом входе в сеть рабочая станция обновляет эту аренду, отправляя широковещательное сообщение DHCPREQUEST, содержащее cookie-файл с идентификацией аренды (комбинация из MAC-адреса и IP-адреса, которая уникальным образом идентифицирует аренду для сервера).
При обычных условиях сервер отвечает, как и раньше, сообщением DHCPACK. Но если сервер обнаруживает, что данный клиент находится не в той подсети, где он находился во время согласования аренды, то сервер отправляет сообщение DHCPNACK, прекращая текущую аренду и вынуждая начать согласование новой аренды. Если клиент не получает никакого ответа после десяти попыток, то он отправляет широковещательное сообщение DHCPDISCOVER, надеясь получить новую аренду.
Если прошло 50% времени от текущего периода аренды, то клиент переходит из состояния bound (привязка) в состояние renewing (обновление). После этого сообщения DHCPREQUEST отправляются уже как одиночные (не широковещательные) сообщения на сервер, предоставивший данную аренду. Если прошло 87,5% времени от периода аренды, то клиент переходит в состояние rebinding (повторение процесса привязки), снова начиная отправлять широковещательные сообщения DHCPREQUEST, запрашивая ответ от любого сервера DHCP. По истечении всего периода аренды без ответа от какого-либо сервера DHCP данный клиент переходит в состояние unbound (без привязки), после чего он проходит через процесс собственного автоматического конфигурирования для получения IP-адрес класса - и маски подсети.
Запуск сервера Microsoft DHCP
Сервер Microsoft DHCP – это приложение, которое используется для управления, отслеживания и назначения настроек конфигурации TCP/IP, а также протокола для передачи этих настроек клиентам DHCP. Сервер DHCP, который поставляется вместе с Windows 2000 Server, запускается как служба после его установки со страницы Local Area Connections Properties (Свойства соединений локальной сети) или с помощью аплета Add/Remove Programs (Установка и удаление программ) из панели управления (Control Panel). Кроме того, имеется оснастка DHCP, которая может использоваться сетевыми администраторами для определения настроек конфигурации, предоставляемых клиентам DHCP.
Как уже говорилось в предыдущих лекциях, администраторы Windows Server 2003 получили новое средство – Manage Your Server Wizard (Мастер управления сервером). Мы расскажем, как устанавливать DHCP с помощью мастера Manage Your Server Wizard, а также с помощью окна Add/Remove Windows Components (Установка и удаление компонентов Windows), вызываемого из панели управления.
Чтобы установить DHCP Server с помощью мастера Manage Your Server Wizard, выполните следующие шаги.
- Откройте мастер Manage Your Server Wizard (который автоматически запускается при загрузке) из меню Administrative Tools (Администрирование).
- Выберите вариант Add or remove a role (Добавление или удаление роли). Мастер проверит, что ваше сетевое соединение работает должным образом; щелкните на кнопке Next (Далее).
- Выберите сервер DHCP в меню ролей серверов (Server Role Menu).
После этого мастер запускает New Scope Wizard (Мастер новой области).
Для установки сервера DHCP из панели управления выполните следующие шаги.
- Дважды щелкните на аплете Add/Remove Programs в панели управления (Control Panel).
- Выберите Add/Remove Windows Components в окне Add/Remove Programs, см. рис. 2.2.
- Выберите Networking Services (Сетевые службы) в окне Windows Components Wizard (Мастер компонентов Windows) и щелкните на кнопке Details (Подробно).
- Установите флажок рядом с Dynamic Host Configuration Protocol (DHCP), см. рис. 2.3, и щелкните на кнопке OK.
- Щелкните на кнопке Next в окне Windows Components Wizard, чтобы установить эту службу.
- Щелкните на кнопке Finish, чтобы завершить установку. Теперь вы можете конфигурировать сервер DHCP.
Конфигурирование клиента для использования DHCP
Если вы решили сделать машину Windows XP/2000 клиентом DHCP, то вам нужно щелкнуть на кнопке выбора страницы свойств Internet Protocol (TCP/IP) Properties, чтобы все необходимые настройки конфигурации TCP/IP были автоматически назначены для вашей машины (см. рис. 2.4). Кроме того, все эти настройки хранятся в одном централизованном месте – на сервере DHCP, – что избавляет вас от необходимости ручного ведения записей о назначениях IP-адресов.
На клиентском компьютере можно также применять задаваемые клиентом значения многих параметров клиента DHCP (за исключением IP-адреса и маски подсети). Заданное клиентом значение всегда замещает значение, заданное сервером DHCP. По этой причине во время преобразования компьютеров из локальной конфигурации в DHCP не забывайте удалять жестко кодированные настройки TCP/IP клиентского компьютера.
Конфигурирование сервера DHCP
Конфигурирование настроек TCP/IP выполняется в DHCP Manager и заключается в создании областей и последующем назначении для них свойств. Область – это набор IP-адресов, которые могут динамически или автоматически выделяться клиентам DHCP по мере необходимости. Для создания области нужно определить диапазон последовательных IP-адресов в диалоговом окне New Scope Wizard ( рис. 2.5) и задать маску подсети, которая будет предоставляться вместе с ними. При необходимости вы можете исключать некоторые адреса из этого диапазона. Вы можете также изменять длительность аренды, которая будет согласовываться между клиентами и сервером.
После создания области вы определяете дополнительные настройки (из списка, представленного выше в разделе "Другие возможности DHCP"), которые вы хотите передавать вместе с областями, или указываете только те опции, которые будут передаваться вместе с адресами из определенной области. Причиной задания этих опций является то, что изолированные области обычно должны определяться для каждой подсети вашей сети, поскольку определенные настройки (такие как шлюзы по умолчанию) будут обязательно отличаться.
Например, типичная сеть среднего масштаба может состоять из нескольких подсетей, и для каждой из них вы будете создавать отдельную область. Такие настройки, как имя домена, серверы DNS и узел WINS/NBT, видимо, будут одинаковыми для всех клиентов во всем предприятии, поэтому их лучше всего определить как глобальные опции. Маршрутизаторы и серверы WINS/NBNS будут, скорее всего, определятся как опции на уровне области, поскольку они могут быть различными для различных областей. На рис. 2.6 показан пример опций, которые могут быть определены в рамках определенной области.
Именно администратор должен задать подходящие значения для всех обязательных параметров конфигурации TCP/IP. Обычно целью является обеспечение клиентов полной конфигурацией TCP/IP, но любые параметры, которые пропущены или неверно сконфигурированы, могут вызвать ошибки обмена TCP/IP на стороне клиента без предупреждения.
Сервер DHCP не может сам использовать DHCP для получения своей собственной конфигурации TCP/IP (даже от другого сервера DHCP). Его настройки должны быть сконфигурированы вручную в диалоговом окне Internet Protocol (TCP/IP) Properties.
DHCP и разрешение имен
Как вы узнаете из следующих разделов, еще одной важной задачей при использовании TCP/IP в интерсети предприятия является разрешение имен. Аналогично тому, как DHCP поддерживает список MAC-адресов своих клиентов и соответствующих IP-адресов, должны также существовать средства, позволяющие устанавливать соответствие между IP-адресами и хост-именами, которые назначаются всем компьютерам в сетевой среде Windows 2003. Столь же важно устанавливать соответствие между IP-адресами и именами NetBIOS для клиентов более ранних версий Windows.
DHCP и DNS
DHCP имеет довольно интересную связь с DNS, поскольку DHCP может отвечать не только за передачу IP-адреса клиенту. DHCP может также использоваться для регистрации клиентов, если активизированы динамическая DNS (Dynamic DNS – DDNS) и дополнительный код 81 DHCP. Дополнительный код 81 DHCP позволяет клиентам DHCP возвращать их полностью уточненное доменное имя (FQDN) серверу DHCP. В свою очередь, сервер DHCP может регистрировать клиентов с помощью DDNS, или клиенты могут регистрироваться с помощью службы разрешения имен. Этот дополнительный код дает серверу DHCP три варианта обработки информации DDNS для клиента DHCP.
- Он всегда регистрирует ресурсные A-запись и PTR-запись клиента DHCP с помощью DDNS.
- Он никогда не регистрирует ресурсную A-запись клиента DHCP.
- Он регистрирует ресурсные A-запись и PTR-запись клиента DHCP с помощью DDNS только по запросу клиента.
DDNS позволяет серверам и клиентам DHCP динамически обновлять базу данных DNS. В частности, им разрешается обновлять A-запись (отображение имени на IP-адрес) и PTR-запись (отображение IP-адреса на имя). Когда клиент DHCP обращается при загрузке к серверу DHCP для получения параметров сетевой конфигурации, сервер DHCP регистрирует с помощью DDNS ресурсные A-запись и PTR-запись из FQDN этого клиента. Когда клиент DHCP пытается обновить аренду, используется (за одним исключением) тот же процесс. Он обращается к серверу DHCP, чтобы получить обновление, но затем клиентская служба DHCP может выполнить обновление с помощью DDNS.
Более подробную информацию по взаимодействию DHCP с DNS, а также другую информацию по DNS см. в "Управление пользователями и данными входа" .
DHCP и WINS
Разрешая проблему администрирования IP-адресов, DHCP влияет также на проблему разрешения имен NetBIOS. Если IP-адреса автоматически или динамически выделяются сетевым клиентам, то сетевому администратору практически невозможно следить за этими постоянно изменяющимися назначениями. Поэтому служба WINS (Windows Internet Naming System) работает совместно с DHCP для поддержки автоматического сервера имен NetBIOS, который обновляется каждый раз, как DHCP назначает новый IP-адрес. В сети Windows 2003 с DHCP служба WINS необходима только в тех случаях, когда все еще используется NetBIOS (то есть присутствуют клиенты более ранних версий Windows).