Министерство по развитию информационных технологий и коммуникаций Республики Узбекистан
Ташкентский университет информационных технологий имени Ал-Хорезми
Кафедра А и ПОСУТ
Курсовая работа
По дисциплине: Основы сетевого программирования
Создание сетевой программы DHCP server
Выполнил:
Урманов М.И.
Гр. 423-15
Приняла:
Ахмедова Х.Х.
Ташкент 2018
Введение
преобразователь электроэнергия сервер сеть
Компьютерные сети бывают разных видов и конфигураций: локальные (LAN), глобальные (WAN) и т.д. Если вы подключаетесь к локальной LAN сети или интернету, компьютеру присваивается собственный IP адрес. Он помогает идентифицировать любое устройство, подключенное к сети. В большинстве случаев, когда вы подключаетесь к LAN или Интернету, вы можете заметить, что IP и другая информация, например маска подсети, присваиваются автоматически. Задумывались вы, как это происходит? В этой статье мы попробуем разобрать концепцию DHCP, на которой основываются принципы данного процесса.
DHCP является расширением сетевого протокола IP-протокола 1985 года, протокола Bootstrap (BOOTP). DHCP более продвинутый, и DHCP-серверы могут обрабатывать запросы клиентов BOOTP, если в сегменте сети существуют какие-либо клиенты BOOTP. Используя один центральный сервер BOOTP для обслуживания хостов во многих IP-подсетях, BOOTP представил концепцию ретрансляционного агента, которая позволила пересылать пакеты BOOTP по сетям. Однако BOOTP требовал ручной процесс для добавления информации о конфигурации для каждого клиента и не предоставлял механизм для восстановления IP-адресов, которые больше не используются.
А ведь это очень важный момент! Этот протокол значительно облегчает жизнь системному администратору при настройке и управлении сетями. Он работает как в обычных домашних сетях на бытовых WiFi-роутерах и модемах, так и в крупных корпоративных сетях и помогает компьютеру, ноутбуку или иному сетевому устройству быстро получить АйПи-адрес и идентифицироваться.
1. Задачи и методы исследования силовых преобразователей электроэнергии
1.1 Классификация силовых преобразователей электроэнергии
Что такое DHCP?
DHCP - это протокол динамической настройки узла.
Как можно понять из названия, DHCP предназначен для настройки хоста через удаленный сервер. DCHP поддерживается по умолчанию большинством современных операционных систем, и этот протокол выступает в качестве отличной альтернативы рутинной ручной настройке параметров сети для сервера или подключаемого устройства.
Данный протокол работает на основе модели "Клиент-сервер". Являясь протоколом, DHCP имеет свой собственный метод обмена сообщениями между клиентом и сервером. Ниже представлен состав сообщения DHCP:
|
Поле |
Длина (байты) |
Описание |
|
|
op |
1 |
Тип сообщения |
|
|
htype |
1 |
Тип адреса аппаратной части |
|
|
hlen |
1 |
Длина адреса аппаратной части |
|
|
hops |
1 |
Используемое количество агентов ретрансляции. Клиенты устанавливают значение на 0. |
|
|
xid |
4 |
ID (уникальный идентификационный номер) транзакции используемой клиентом и серверов во время сессии |
|
|
secs |
2 |
Прошедшее время (в секундах) с момента запроса клиентом начала процесса |
|
|
flags |
2 |
Значение флагов |
|
|
ciaddr |
Также интересно: 4 |
IP-адрес клиента (если имелся ранее). |
|
|
yiaddr |
4 |
IP-адрес, предложенный сервером клиенту |
|
|
siaddr |
4 |
IP-адрес сервера |
|
|
giaddr |
4 |
IP-адрес relay-агента (агента ретрансляции) |
|
|
chaddr |
16 |
Адрес аппаратной части клиента (в основном MAC). |
|
|
sname |
64 |
Имя сервера. |
|
|
file |
128 |
Название загрузочного файла. |
|
|
options |
изменяемая |
Дополнительные опции |
Знание основ DHCP помогает в устранении различных проблем с сетью. В следующей части статьи мы затронем принципы работы протокола.
Как работает DHCP?
Перед изучением самого процесса, с помощью которого достигается поставленная цель, необходимо понять различные принципы обмена информацией, которые используются в данном процессе.
DHCPDISCOVER
Это сообщение обозначает начало DHCP взаимодействия между клиентом и сервером. Данное сообщение отправляется клиентом (компьютером или устройством), подключенным к сети. В этом сообщении используется 255.255.255.255 как IP-адрес доставки, тогда как исходным адресом является 0.0.0.0
DHCPOFFER
Это сообщение отправляется в ответ на DHCPDISCOVER от сервера DHCP для подключенных клиентов. В этом сообщении содержатся необходимые сетевые настройки.
DHCPREQUEST
Данное сообщение является ответом на DHCPOFFER, и обозначает, что клиент принял отправленные настройки.
DHCPACK
Данное сообщение отправляется на сервер протокола DHCP в ответ на DHCPREQUEST от клиента. Сообщение обозначает конец процесса, начатого с сообщения DHCPDISCOVER. Т.е. DHCPACK - это не что иное, как подтверждение от сервера начала авторизации клиента и принятие параметров конфигурации, полученных в самом начале от сервера.
DHCPNAK
Данное сообщение является противоположностью DHCPACK, описанного выше. Оно отправляется на сервер в случае, если невозможно удовлетворить параметры DHCPREQUEST клиента.
DHCPDECLINE
Сообщение отправляется клиентом на сервер в случае, если IP-адрес, присваиваемый в DHCP уже используется.
DHCPINFORM
Сообщение отправляется серверу в том случае, если клиенту DHCP присвоен статический IP-адрес, а по настройкам конфигурации необходим динамический адрес.
DHCPRELEASE
Сообщение отправляется клиентов в том случае, если он завершает процесс использования сетевого адреса.
Теперь, когда мы познакомились с различными сообщениями в DHCP, можно изучить весь процесс работы, чтобы получить более полное представление. Шаги ниже описываются исходя из того, что все настройки установлены по умолчанию.
Шаг 1.
Когда клиент (компьютер или устройство) загружается или подключается к сети, серверу отправляется сообщение DHCPDISCOVER. Если нет никаких дополнительных данных о конфигурации, то сообщение отправляется с адреса 0.0.0.0 к 255.255.255.255. Если сервер DHCP находится в локальной подсети, то она напрямую получает сообщение, если он находится в другой подсети, то используется агент ретрансляции для передачи запроса к серверу DCHP. Используется протокол передачи UDP через порт 67. Клиент на данном этапе начинает стадию авторизации.
Шаг 2.
В тот момент как сервер получил запрос DHCPDISCOVER, то он отправляет в ответ сообщение DHCPOFFER. Как говорилось ранее, в этом сообщении содержатся все необходимые параметры конфигурации, запрашиваемые клиентом. Например, IP-адрес, необходимый клиенту, а также значение маски подсети и информация о шлюзе. Также сервер сразу заполняет значения MAC-адреса в поле CHADDR. Сообщение отправляется клиенту от адреса 255.255.255.255 напрямую, а если сервер находится в другой подсети, то используются агенты ретрансляции, который отвечает за то, чтобы сообщение было доставлено. В этом случае для передачи применяется протокол UDP через порт 68. На этом этапе клиент начинает подбирать параметры.
Шаг 3.
Клиент формирует сообщение DHCPREQUEST, которое служит ответом на DHCPOFFER от сервера, указав, что он принимает параметры конфигурации, отправленные ему. Если бы было несколько серверов DCHP, то клиент бы получил также несколько сообщений DHCPOFFER, но клиент отвечает только одному серверу, заполняя параметры конфигурации для настройки. Таким образом, он проходит авторизацию с получением IP-адреса от одного конкретного сервера DHCP. Все сообщение от других серверов блокируются. Сообщение DHCPREQUEST по-прежнему будет содержать адрес источника 0.0.0.0, если клиенту все еще нельзя использовать IP-адреса, полученные в сообщении DHCPOFFER. В течение этого этапа клиент получает ответы на свои запросы.
Шаг 4.
Как только сервер получает DHCPREQUEST от клиента, он посылает DHCPACK сообщение о том, что теперь клиент может использовать IP-адрес, назначенный к нему. Клиент окончательно подключается к сети и с настроенными параметрами.
Концепция аренды
В дополнении к остальной необходимой информации о том, как работает DHCP, следует также знать IP-адрес, назначенный в DHCP сервером в аренду клиенту. После истечения срока аренды сервер DHCP может свободно присвоить этот IP-адрес другому компьютеру или устройству, запрашивающему то же самое. Например, сохранение срока аренды 8-10 часов полезно для компьютеров, которые обычно выключают в конце дня. Поэтому аренда должна продлеваться время от времени. После истечения половины срока аренды, DCHP клиент обычно пытается автоматически продлить данный срок. Это делается путем обмена DHCPREQUEST и DHCPACK сообщениями. Благодаря этому начинается стадия обновления данных для клиента.
2. Характеристики силовых полупроводниковых приборов
2.1 Полупроводниковые преобразователи
Что такое DHCP?
DHCP -- Dynamic Host Configuration Protocol -- это протокол динамической настройки узла прикладного уровня по модели OSI. Он разработан ещё в 1993 году, но до сих пор не только не потерял актуальности, но и наоборот -- получил новую версию для работы с протоколом IPv6. Модель работы -- «Клиент-сервер». При этом, у DHCP-сервера есть собственный метод обмена сообщениями между клиентом и сервером. Протокол позволяет выполнить автоматическую настройку протокола IP версии 4, а так же и более новой версии 6, тем самым облегчив процесс настройки сети и исключив вероятность ошибки при ручном вводе данных.
Что делает DHCP-сервер?!
На ДХЦП-сервере системным администратором задаётся определённый диапазон IP-адресов, которые можно выдавать устройствам-клиентам при обращении. При этом дополнительно может настраиваться срок аренды адреса (lease time) в течение которого он закреплён за MAC-адресом компьютера и не может быть занят иным устройством.
У сервера есть три варианта распределения адресов в сети:
1 -- Динамическое. Именно этот вариант работает на 95% серверов. Адрес выдаётся компьютеру на определённый срок (время аренды), по истечению которого АйПи будет считаться свободным и может быть назначен иному компьютеру в сети.
2 -- Автоматическое. Всё аналогично динамическому распределению, за тем лишь исключением, что IP выдаётся устройство на постоянной основе и более не меняется.
3 -- Ручное. В этом случае администратором сервера составляется таблица соответствия IP и MAC-адресов устройств, согласно которой в дальнейшем они и будут получать сетевые параметры. Этот способ практически не используется. Если только в сетях с повышенным уровнем безопасности.
Как работает DHCP сервер
Работа сервера основывается на широковещательных сетевых запросах. Процедура «общения» клиента и сервера выглядить примерно так:
1. Клиент отправляет broadcast-сообщение «Мне нужен IP»
2. Сервер отвечает таким же сообщением «У меня есть адрес xxx.xxx.xxx.xxx. Устроит?»
3. Клиент -- «Да устроит!»
4. Сервер -- «ОК! Адрес xxx.xxx.xxx.xxx зарезервирован за тобой».
Для представленного «общения» используются следующие специальные широковещательные broadcast-запросы.
Вот, для наглядности, схема диалога клиента и сервера ДХЦП:
Диапазон IP-адресов, предназначенных для распределения между клиентами одной сети с помощью протокола DHCP, рассматривается как единый административный блок. Он называется «область действия» -- scope. Если сервер работает с несколькими подсетями, то при настройке службы DHCP, администратор должен создать отдельную область действия для каждой физической подсети.
В идеале, для стабильной работы, для каждого обслуживаемого сегмента сети должно быть как минимум два DHCP-сервера, но для домашнего использования это требование не актуально.
Виды запросов сервера
Схема обмена сообщениями между клиентом и DHCP сервером:
DHCPDISCOVER -- Это сообщение отправляется клиентом при подключении к сети для поиска активного DCHP сервера. При этом в качестве исходного IP используется 0.0.0.0, а в качестве адреса доставки -- 255.255.255.255.
DHCPOFFER -- Ответное сообщение DHCP-сервера на клиентский запрос DHCPDISCOVER, в котором предлагаются определённые сетевые настройки.
DHCPREQUEST -- Broadcast-сообщение от клиента в ответ на DHCPOFFER, сообщающее о том, что он принял настройки.
DHCPACK -- ответное послание клиенту после получения от него DHCPREQUEST, означающее завершение процесса общения. Оно подтверждает о том, что всё согласовано и ПК может работать в сети.