Сети ЭВМ и телекоммуникации

advertisement
Сети ЭВМ и телекоммуникации
DHCP
DHCP (Dynamic Host Configuration Protocol —
протокол динамической конфигурации узла)
— это сетевой протокол, позволяющий компьютерам автоматически
получать IP-адрес и другие параметры, необходимые для работы в
сети TCP/IP.
• Данный протокол работает по модели «клиент-сервер».
Для автоматической конфигурации компьютер-клиент на
этапе конфигурации сетевого устройства обращается к
серверу DHCP, и получает от него нужные параметры.
• Сетевой администратор может задать диапазон адресов,
распределяемых сервером среди компьютеров.
• Протокол позволяет избежать ручной настройки
компьютеров сети и уменьшает количество ошибок.
• DHCP используется в большинстве крупных (и не очень)
сетей TCP/IP.
История DHCP
Стандарт протокола DHCP был принят в
1993 года.
октябре
Действующая версия протокола (март 1997 года)
описана в RFC 2131.
Новая версия DHCP, предназначенная для
использования в среде IPv6, носит название DHCPv6 и
определена в RFC 3315 (июль 2003 года).
DHCP является расширением протокола BOOTP,
использовавшегося ранее для обеспечения
бездисковых рабочих станций IP-адресами при их
загрузке.
Распределение IP-адресов
• Протокол DHCP предоставляет три способа распределения
IP-адресов:
– Ручное распределение – администратор сопоставляет
аппаратному адресу (для Ethernet сетей это MAC-адрес)
каждого клиентского компьютера определённый IP-адрес.
– Автоматическое распределение – каждому компьютеру на
постоянное использование выделяется произвольный
свободный IP-адрес из определённого администратором
диапазона.
– Динамическое распределение – способ аналогичен
автоматическому распределению, за исключением того, что
адрес выдаётся компьютеру не на постоянное пользование, а
на определённый срок. Это называется арендой адреса. По
истечении срока аренды IP-адрес вновь считается свободным.
• Некоторые реализации службы DHCP способны
автоматически обновлять записи DNS, соответствующие
клиентским компьютерам, при выделении им новых
адресов.
Опции DHCP
• Помимо IP-адреса, DHCP также может сообщать клиенту
дополнительные параметры, необходимые для
нормальной работы в сети.
• Список стандартных опций можно найти в RFC 2132.
• Наиболее часто используемые опции:
–
–
–
–
–
IP-адрес хоста клиента;
IP-адрес маршрутизатора по умолчанию;
маска подсети;
адреса серверов DNS;
имя домена DNS.
• Некоторые поставщики программного обеспечения
могут определять собственные, дополнительные опции
DHCP.
Описание протокола
• Протокол DHCP является клиентсерверным, то есть в его работе участвуют
клиент DHCP и сервер DHCP.
• Передача данных производится при
помощи протокола UDP, при этом сервер
принимает сообщения от клиентов на
порт 67 и отправляет сообщения клиентам
на порт 68.
Структура сообщений DHCP
• Сообщение протокола DHCP разбивается на поля,
каждое из которых содержит определённую
информацию.
• Все поля, кроме последнего (поля опций DHCP),
имеют фиксированную длину.
Поля опций DHCP
Поле
op
htype
hlen
hops
xid
secs
flags
ciaddr
yiaddr
siaddr
giaddr
chaddr
sname
file
options
Описание
Длина (в
байтах)
Тип сообщения. Может принимать два значения: BOOTREQUEST (1 - запрос от клиента к серверу)
1
и BOOTREPLY (2 - ответ от сервера к клиенту).
Тип аппаратного адреса. Допустимые значения этого поля определены в RFC «Assigned
1
Numbers». Например, для MAC-адреса Ethernet 10 Мбит/с это поле принимает значение 1.
Длина аппаратного адреса в байтах. Для MAC-адреса Ethernet — 6.
1
Количество промежуточных маршрутизаторов (так называемых агентов ретрансляции DHCP),
1
через которые прошло сообщение. Клиент устанавливает это поле в 0.
Уникальный идентификатор транзакции, генерируемый клиентом в начале процесса получения
4
адреса.
Время в секундах с момента начала процесса получения адреса. Может не использоваться (в
2
этом случае оно устанавливается в 0).
Поле для флагов — специальных параметров протокола DHCP.
2
IP-адрес клиента. Заполняется только в том случае, если клиент уже имеет собственный IP-адрес
и способен отвечать на запросы ARP (это возможно, если клиент выполняет процедуру
4
обновления адреса по истечении срока аренды).
Новый IP-адрес клиента, предложенный сервером.
4
IP-адрес сервера. Возвращается в предложении DHCP.
4
IP-адрес агента ретрансляции, если таковой участвовал в процессе доставки сообщения DHCP до
4
сервера.
Аппаратный адрес (обычно MAC-адрес) клиента.
16
Необязательное имя сервера в виде нуль-терминированной строки.
64
Необязательное имя файла на сервере, используемое бездисковыми рабочими станциями при
128
удалённой загрузке. Как и sname, представлено в виде нуль-терминированной строки.
Поле опций DHCP. Здесь указываются различные дополнительные параметры конфигурации. В
начале этого поля указываются четыре особых байта со значениями 99, 130, 83, 99 («волшебные
числа»), позволяющие серверу определить наличие этого поля. Поле имеет переменную длину, переменная
однако DHCP-клиент должен быть готов принять DHCP-сообщение длиной в 576 байт (в этом
сообщении поле options имеет длину 340 байт).
Пример процесса получения адреса
• Предположим, клиент ещё не имеет
собственного IP-адреса, но ему известен его
предыдущий адрес — 192.168.1.100.
• Процесс состоит из четырёх этапов:
– Обнаружение DHCP;
– Предложение DHCP;
– Запрос DHCP;
– Подтверждение DHCP.
Обнаружение DHCP
• Вначале клиент выполняет широковещательный запрос по всей
физической сети с целью обнаружить доступные DHCP-серверы. Он
отправляет сообщение типа DHCPDISCOVER, при этом в качестве IPадреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет
собственного IP-адреса), а в качестве адреса назначения —
широковещательный адрес 255.255.255.255.
• Клиент заполняет несколько полей сообщения начальными значениями:
– В поле xid помещается уникальный идентификатор транзакции, который
позволяет отличать данный процесс получения IP-адреса от других,
протекающих в то же время.
– В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента.
– В поле опций указывается последний известный клиенту IP-адрес. В данном
примере это 192.168.1.100. Это необязательно и может быть
проигнорировано сервером.
• Сообщение DHCPDISCOVER может быть распространено за пределы
локальной физической сети при помощи специально настроенных
агентов ретрансляции DHCP, перенаправляющих поступающие от
клиентов сообщения DHCP серверам в других подсетях.
Предложение DHCP
• Получив сообщение от клиента, сервер определяет требуемую
конфигурацию клиента в соответствии с указанными сетевым
администратором настройками.
• В данном случае DHCP-сервер согласен с запрошенным
клиентом адресом 192.168.1.100. Сервер отправляет ему ответ
(DHCPOFFER), в котором предлагает конфигурацию.
• Предлагаемый клиенту IP-адрес указывается в поле yiaddr.
• Прочие параметры (такие, как адреса маршрутизаторов и DNSсерверов) указываются в виде опций в соответствующем поле.
• Это сообщение DHCP-сервер отправляет хосту, пославшему
DHCPDISCOVER, на его MAC.
• Клиент может получить несколько различных предложений
DHCP от разных серверов; из них он должен выбрать то,
которое его «устраивает».
Запрос DHCP
• Выбрав одну из конфигураций,
предложенных DHCP-серверами, клиент
отправляет запрос DHCP (DHCPREQUEST).
• Запрос рассылается широковещательно, при
этом к опциям, указанным клиентом в
сообщении DHCPDISCOVER, добавляется
специальная опция:
• идентификатор сервера — указывающая адрес DHCPсервера, выбранного клиентом (в данном случае —
192.168.1.1).
Подтверждение DHCP
• Сервер подтверждает запрос и направляет
это подтверждение (DHCPACK) клиенту.
• После этого клиент должен настроить свой
сетевой интерфейс, используя
предоставленные опции.
Динамическое выделение адресов
1. Клиент посылается широковещательный (BROADCAST255.255.255.255) запрос DHCPDISCOVER всем серверам
DHCP.
2. Все активные серверы посылают широковещательный
ответ DHCPOFFER. Клиент принимает все ответы,
инициализацию делает по адресу канального уровня
(MAC-адрес для Ethrnet).
3. Клиент выбирает один из предложенных адресов и
посылает широковещательно DHCPREQUEST, которое
должно содержать параметр Server Identifier (поле
OPTIONS), чтобы указать, какой сервер им выбран.
4. Сервер посылает широковещательно DHCPACK.
5. Клиент может работать.
Прочие сообщения DHCP
•
•
•
•
Отказ DHCP
Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что
указанный сервером адрес уже используется в сети, он рассылает широковещательное
сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса
повторяется. Использование IP-адреса другим клиентом можно обнаружить, выполнив
запрос ARP.
Отмена DHCP
Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес,
или если аренда адреса удаляется администратором, сервер рассылает
широковещательное сообщение отмены DHCP (DHCPNAK). При получении такого
сообщения соответствующий клиент должен повторить процедуру получения адреса.
Освобождение DHCP
Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет
сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему
адрес в аренду. В отличие от других сообщений DHCP, DHCPRELEASE не рассылается
широковещательно.
Информация DHCP
Сообщение информации DHCP (DHCPINFORM) предназначено для определения
дополнительных параметров TCP/IP (например, адреса маршрутизатора по умолчанию,
DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то
есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением
подтверждения (DHCPACK) без выделения IP-адреса.
ARP
• ARP (Address Resolution Protocol —
протокол определения адреса)
— протокол предназначен для
определения адреса канального уровня
по известному адресу сетевого уровня.
• Протокол низкого уровня.
• Наибольшее распространение этот протокол
получил благодаря повсеместности сетей IP,
построенных поверх Ethernet, поскольку
практически в 100 % случаев при таком
сочетании используется ARP.
Описание ARP
• Описание протокола было опубликовано в ноябре 1982 года в RFC 826.
• ARP был спроектирован для случая передачи IP-пакетов через сегмент
Ethernet. Общий принцип, предложенный для ARP, был использован
для сетей других типов.
• Существуют следующие типы сообщений ARP:
– запрос ARP (ARP request)
– ответ ARP (ARP reply).
• Перед тем как передать пакет сетевого уровня через сегмент Ethernet,
сетевой стек проверяет кэш ARP, чтобы выяснить, не зарегистрирована
ли в нём уже нужная информация об узле-получателе. Если такой
записи в кэше ARP нет, то выполняется широковещательный запрос ARP.
• Записи в кэше ARP могут быть статическими и динамическими.
• Пример добавления статической записи:
•
arp -s <IP-адрес> <MAC-адрес>
Записи в таблице ARP, созданные динамически, остаются в кэше в течение 2-х
минут. Если в течение этих двух минут произошла повторная передача данных
по этому адресу, то время хранения записи в кэше продлевается ещё на 2
минуты. Эта процедура может повторяться до тех пор, пока запись в кэше
просуществует до 10 минут. После этого запись будет удалена из кэша, и будет
отправлен повторный запрос ARP.
Принцип работы
• Узел, которому нужно выполнить отображение IPадреса на локальный адрес, формирует ARP запрос,
вкладывает его в кадр протокола канального уровня,
указывая в нем известный IP-адрес, и рассылает
запрос широковещательно.
• Все узлы локальной сети получают ARP запрос и
сравнивают указанный там IP-адрес с собственным.
• В случае их совпадения узел формирует ARP-ответ, в
котором указывает свой IP-адрес и свой локальный
адрес и отправляет его уже направленно, так как в
ARP запросе отправитель указывает свой локальный
адрес.
Структура пакета
• Hardware type (HTYPE)
Каждый транспортный протокол передачи данных имеет свой номер,
который хранится в этом поле. Например, Ethernet имеет номер 0x0001.
•
Protocol type (PTYPE)
Код протокола. Например, для IPv4 будет записано 0x0800.
• Hardware length (HLEN)
Длина физического адреса в байтах. Ethernet адреса имеют длину 6 байт.
• Protocol length (PLEN)
Длина логического адреса в байтах. IPv4 адреса имеют длину 4 байта.
• Operation
Код операции отправителя: 1 в случае запроса и 2 в случае ответа.
• Sender hardware address (SHA)
Физический адрес отправителя.
• Sender protocol address (SPA)
Логический адрес отправителя.
• Target hardware address (THA)
Физический адрес получателя. Поле пусто при запросе.
• Target protocol address (TPA)
Логический адрес получателя.
Пример
+
0
32
Bits 0 — 7
8 — 15
16 — 31
Hardware type = 0x0001
Hardware length = 6
64
Protocol type = 0x0800
Protocol length = 4
Operation = 1
SHA (first 32 bits) = 0x000958D8
96
SHA (last 16 bits) = 0x1122
SPA (first 16 bits) = 0x0A0A
128
SPA (last 16 bits) = 0x0A7B
THA (first 16 bits) = 0x0000
160
THA (last 32 bits) = 0x00000000
192
TPA = 0x0A0A0A8C
+
0
32
64
Bits 0 — 7
8 — 15
16 — 31
Hardware type = 0x0001
Hardware length = 6
Protocol type = 0x0800
Protocol length = 4
Operation = 2
SHA (first 32 bits) = 0x000958D8
96
SHA (last 16 bits) = 0x33AA
SPA (first 16 bits) = 0x0A0A
128
SPA (last 16 bits) = 0x0A8C
THA (first 16 bits) = 0x0009
160
THA (last 32 bits) = 0x58D81122
192
TPA = 0x0A0A0A7B
RARP
• RARP (Reverse Address Resolution Protocol — Обратный протокол
преобразования адресов) — протокол сетевого уровня, выполняет
обратное отображение адресов, то есть преобразует аппаратный адрес
в IP-адрес.
• Протокол применяется во время загрузки узла .
• Например:
– компьютер при инициализации интерфейса посылает групповое
сообщение-запрос со своим физическим адресом.
– Сервер принимает это сообщение и просматривает свои таблицы в поисках
соответствующего физическому, IP-адреса.
– После обнаружения найденный адрес отсылается обратно на запросивший
его узел.
– Другие станции также могут «слышать» этот диалог и локально сохранить
эту информацию в своих ARP-таблицах.
• RARP позволяет разделять IP-адреса между не часто используемыми
хост-узлами. После использования каким либо узлом IP-адреса он
может быть освобождён и выдан другому узлу.
• RARP является дополнением к ARP, и описан в RFC 903.
ICMP
• ICMP (Internet Control Message Protocol — протокол
межсетевых управляющих сообщений) — сетевой
протокол, входящий в стек протоколов TCP/IP.
• ICMP используется для передачи сообщений
об ошибках и других исключительных ситуациях,
возникших при передаче данных.
Например, запрашиваемая услуга
недоступна, или хост, или маршрутизатор
не отвечают.
• Также на ICMP возлагаются некоторые сервисные
функции.
ICMP
• Протокол ICMP описан в RFC 792 и RFC 950, является
стандартом Интернета.
• Формально ICMP использует IP (ICMP-пакеты
инкапсулируются в IP пакеты), и является неотъемлемой
частью IP, следовательно обязателен при реализации стека
TCP/IP.
• Текущая версия ICMP для IPv4 называется ICMPv4.
В IPv6 существует аналогичный протокол ICMPv6.
• ICMP-сообщение строится из IP-пакетов, сгенерировавших
ICMP-ответ.
• Каждое ICMP-сообщение инкапсулируется непосредственно
в пределах одного IP-пакета, и, таким образом, как и UDP,
ICMP является ненадежным.
• ICMP не используется непосредственно в приложениях
пользователей сети.
Использование ICMP-сообщений
• ICMP-сообщения (тип 12) генерируются при нахождении ошибок в
заголовке IP-пакета (за исключением самих ICMP-пакетов, чтобы не
привести к бесконечно растущему потоку ICMP-сообщений об ICMPсообщениях).
• ICMP-сообщения (тип 3) генерируются маршрутизатором при отсутствии
маршрута к адресату.
• Утилита Ping, служащая для проверки возможности доставки IP-пакетов
использует ICMP-сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).
• Утилита Traceroute, отображающая путь следования IP-пакетов, использует
ICMP-сообщения с типом 11.
• ICMP-сообщения (тип 5) используются маршрутизаторами для обновления
записей в таблице маршрутизации отправителя.
• ICMP-сообщения (тип 4) используются получателем (или маршрутизатором)
для управления скоростью отправки сообщений отправителем.
Формат пакета ICMP
Бит
0—7
8—15
16—31
0
Тип
Код
Контрольная сумма
32
Содержание сообщения (зависит от значений полей «Код» и
«Тип»)
Типы пакетов ICMP
•
•
•
•
•
0 — Эхо-ответ
1 — Зарезервировано
2 — Зарезервировано
3 — Адресат недоступен
– код 0 — Сеть недостижима
код 1 — Узел недостижим
код 2 — Протокол недостижим
код 3 — Порт недостижим
код 4 — Необходима фрагментация, но
установлен флаг ее запрета (DF)
код 5 — Неверный маршрут от источника
код 6 — Сеть назначения неизвестна
код 7 — Узел назначения неизвестен
код 8 — Узел источник изолирован
код 9 — Сеть административно запрещена
код 10 — Узел административно запрещен
код 11 — Сеть недоступна для ToS
код 12 — Узел недоступен для ToS
код 13 — Коммуникации административно
запрещены
код 14 — Нарушение порядка предпочтения
узлов
код 15 — Активно отсечение порядка
предпочтения
4 — Сдерживание источника (отключение источника
при переполнении очереди)
•
5 — Перенаправление
– код 0 — Перенаправление пакетов в сеть
Код 1 — Перенаправление пакетов к узлу
Код 2 — Перенаправление для каждого типа
обслуживания (TOS)
Код 3 — Перенаправление пакета к узлу для
каждого типа обслуживания
•
•
•
•
6 — Альтернативный адрес узла
7 — Зарезервировано
8 — Эхо-запрос
9 — Объявление маршрутизатора (RFC-1256)
– код 0 — Нормальное объявление
маршрутизатора
код 16 — Не маршрутизировать обычный
трафик
•
•
10 — Запрос маршрутизатора (RFC-1256)
11 — Превышение временного интервала (для
дейтаграммы время жизни истекло)
– код 0 — Время жизни пакета (TTL) истекло при
транспортировке
код 1 — Время жизни пакета (время сборки
фрагментов) истекло при дефрагментации
Типы пакетов ICMP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
12 — Неверный параметр (проблема с параметрами •
дейтаграммы: ошибка в IP-заголовке или отсутствует
необходимая опция)
•
– код 0 — Указатель говорит об ошибке
код 1 — Отсутствует требуемая опция
•
код 2 — Некорректная длина
•
13 — Запрос метки времени
•
14 — Ответ с меткой времени
15 — Информационный запрос
16 — Информационный ответ
17 — Запрос адресной маски (RFC-950)
18 — Отклик на запрос адресной маски (RFC-950)
19 — Зарезервировано (для обеспечения
безопасности)
20-29 — Зарезервировано (для экспериментов на
устойчивость к ошибкам)
30 — Трассировка маршрута (RFC-1393)
31 — Ошибка преобразования дейтаграммы (RFC1475)
32 — Перенаправление для мобильного узла
33 — IPv6 Where-Are-You (где вы находитесь)
•
34 — IPv6 I-Am-Here (я здесь)
35 — Запрос перенаправления для мобильного узла
36 — Отклик на запрос перенаправления для
мобильного узла
37 — Запрос доменного имени (Domain Name
Request)
38 — Ответ на запрос доменного имени (Domain
Name Reply)
39 — SKIP
40 — Photuris
– код 0 — Зарезервировано
код 1 — Неизвестный индекс параметров
безопасности (Unkown Security Parameters
Index)
код 2 — Параметры безопасности верны, но
произошла ошибка аутентификации (Valid
Security Parameters, but Authentication Failed)
код 3 — Параметры безопасности верны, но
произошел сбой при расшифровке (Valid
Security Parameters, but Decryption Failed)
код 4 — Требуется проверка подлинности (Need
Authentication)
код 5 — Требуется авторизация (Need
Authorization)
41-255 — Зарезервировано
Пример
• Эхо сообщение о недостижимости адресата
содержит следующие поля:
– Заголовок (4 байта):
тип – 3;
возможные коды – [0,15];
контрольная сумма ;
– Пустое поле 32 бита;
– Данные исходной диаграммы (первые 64 бита).
Сообщение о перенаправлении
дейтаграммы
• Сообщение посылается шлюзом, при условии
существования более короткого маршрута.
• Формат сообщения:
– Заголовок (4 байта):
тип – 5;
возможные коды – [0,5];
контрольная сумма;
– Адрес более выгодного шлюза (4 байта);
– Данные исходной дейтограммы (первые 64 бита).
При муршрутизации от источника данное сообщение
никогда не высылается.
Сообщение эхо-запрос и эхо-ответ
• Используется для тестирования соединения между
узлами сети.
• Сообщение запроса и ответа имеют одинаковый формат
дейтограммы:
– Заголовок (4 байта):
• Тип (Эхо-запрос – 8, Эхо-ответ – 0);
• Код не используется;
• Контрольная сумма;
– Идентификатор;
– Последовательный номер;
– Данные – имеет переменную длину.
• Идентификатор и последовательный номер используются
для определения соответствия эхо-запросов в эхо-ответы.
Обмен информацией о маршрутах
• Такие пакеты используются маршрутизаторами (один раз в 10
мин), передаются широковещательно.
• Формат сообщения объявление маршрутизатора:
– Заголовок (4 байта):
Тип – 9;
Код;
Контрольная сумма;
– Число адресов – количество адресов машрутизатора, указанных в
сообщении (байт);
– Длина адреса – число 32-битных слов, необходимых для указания
записи каждого маршрутизатора (байт);
– Время жизни – максимальное время выраженное в секундах, в
течении которого адреса маршрутизатора могут считываться (2
байта);
– Адрес маршрутизатора – ip-адрес интерфейса маршрутизатора (4
байта для ipv4);
– Уровень приоритета – предпочтительность для каждого маршрута (4
байта для ipv4).
ICMP-сообщение
«запрос-маршрутизатора»
• Передается при включении маршрутизатора и
необходимости немедленного получения
информации о соседних маршрутизаторах.
• Формат сообщения:
– Заголовок:
Тип – 10;
Код;
Контрольная сумма;
– 32 бита нулей.
DoS-атака (Denial of Service –
подавление услуги)
• Цель: загрузить сервер так, чтобы он не мог отвечать.
• Нужно послать как можно больше ответов Echo Reply на
жертву.
• Для этого можно задействовать чужие сети.
• Алгоритм:
1. Указываем адрес источника - адрес жертвы (194.85.241.1)
2. Указываем адрес получателя - адрес типа Directed Broadcast
(195.208.44.255), на этот адрес должны ответить все узлы сети
195.208.44.0/24
3. Посылаем сообщение Echo Request.
4. 253 машины посылают ответ на жертву (194.85.241.1)
5. Все повторяем много раз, а лучше задействовать побольше таких сетей.
6. Жертва будет перегружена.
Меры предотвращения DoS-атак
• Запретить прием и распространение
сообщений типа Directed Broadcast.
• Уничтожать сфальсифицированные пакеты,
сопоставляя IP источника с маршрутной
таблицей и номером интерфейса, с
которого получен пакет.
• Запретить трафик ICMP (ping, traceroute и
т.д., работать не будут).
Протокол BOOTP
• Создан для загрузки бездисковых машин.
• Стандарт BOOTP - RFC0951 (Bootstrap Protocol W.J. Croft, J. Gilmore
Sep-01-1985).
• Последняя версия дополнений для BOOTP - RFC1542 (Clarifications
and Extensions for the Bootstrap Protocol W. Wimer October 1993).
Введено понятие Relay Agent.
• Первая версия расширения разработчиков (поле vend) для BOOTP
- RFC1048 (BOOTP vendor information extensions P.A. Prindeville Feb01-1988).
• Последняя версия расширения разработчиков (поле vend) для
BOOTP - RFC2132(DHCP Options and BOOTP Vendor Extensions S.
Alexander, R. Droms March 1997).
• BOOTP является прототипом DHCP, в DHCP есть все что было в
BOOTP.
Принцип работы traceroute
• traceroute отправляет на существующий порт удаленного
узла последовательность UDP-дейтаграмм, .
• Номер используемого порта по умолчанию 33434.
• Алгоритм работы:
1. Посылаются дейтограммы с TTL=1 (время жизни пакета)
2. Первый же маршрутизатор уменьшает TTL на 1, т.е. TTL=0 и пакет
уничтожается, а отправителю посылается ICMP сообщение Time Exceeded.
3. Посылаются дейтограммы с TTL=2 (время жизни пакета)
4. Первый же маршрутизатор уменьшает TTL на 1, т.е. TTL=1 и пакет проходит
дальше.
5. Второй маршрутизатор уменьшает TTL на 1, т.е. TTL=1 и пакет
уничтожается, а отправителю посылается ICMP сообщение Time Exceeded.
6. И т.д.
7. Попадая на получателя, пакет уничтожается, т.к. получатель не знает, что с
ним делать (порт не существует), и отправителю посылается ICMP
сообщение Destination Unreachable.
Принцип работы traceroute
Служба SNMP
• Простой протокол управления сетями (Simple Network Management
Protocol, SNMP) предназначен для управления сетями и является частью
семейства стандартов Интернета.
• Например, в сети установлены разные маршрутизаторы (cisco, motorola,
linux и т.д.), все настраиваются по-разному. Необходимо изменять
настройки на всех маршрутизаторах. Обычным методом придется
каждый настраивать индивидуально (интерфейсы у всех разные). С
помощью SNMP можно настроить используя один интерфейс.
• SNMP обеспечивает управления узлами сети с центрального
компьютера, на котором выполняется программное обеспечение
управления сетью. SNMP выполняет службы управления с
использованием распределенной архитектуры систем управления и
агентов.
• Объекты сети:
– Сервера управления - порт по умолчанию 162.
– Клиенты - сетевая станция, на который находится агент (программный модуль),
позволяющий серверу управлять и наблюдать за ней. Порт по умолчанию 161.
«Менеджер-агент»
• Система SNMP содержит множество управляемых узлов, на каждом из
которых размещается агент SNMP, а также, по крайней мере, один узел,
содержащий менеджера SNMP.
• Менеджер взаимодействует с агентами при помощи протокола SNMP с
целью обмена управляющей информацией. Это взаимодействие
реализуется в виде периодического опроса менеджером множества
агентов.
• Система, построенная по таким принципам, теряет в
масштабируемости, поскольку есть выделенный клиент,
занимающийся опросом всех серверов. Зато такая схема обеспечивает
простоту реализации систем под управлением SNMP.
SAEAUT SNMP OPC Server for managing
industrial and network devices
SNMP задачи
• Настройка удаленных устройств. Из системы управления можно
отправить сведения о настройке на каждый узел сети.
• Наблюдение за производительностью сети. Существует возможность
отслеживать скорость обработки и передачи данных, а также собирать
сведения об успешной передаче данных.
• Определение сбоев сети или неправильного доступа. На сетевых
устройствах можно настроить триггеры, срабатывающие при
возникновении конкретных событий. При срабатывании триггера
устройство пересылает в систему управления сообщение о событии.
• Аудит использования сети. Существует возможность наблюдения как за
общим использованием сети для определения доступа пользователей
или групп, так и за типами использования для сетевых устройств и служб.
Компоненты SNMP
• Протокол SNMP
• SMI - (Structure of Management
Information) - структура информации
управления.
• MIB (Management Information Base) информационная база управления.
SNMP (Simple Network Management Protocol) простой протокол управления сетью.
• Первый стандарт SNMP определен в RFC1067 (Simple
Network Management Protocol J.D. Case, M. Fedor, M.L.
Schoffstall, J. Davin Aug-01-1988).
• Последняя версия RFC1157 (STD0015 Simple Network
Management Protocol (SNMP) J.D. Case, M. Fedor, M.L.
Schoffstall, J. Davin May-01-1990).
• RFC1592 (Simple Network Management Protocol Distributed
Protocol Interface Version 2.0 B. Wijnen, G. Carpenter, K.
Curran, A. Sehgal, G. Waters March 1994).
• Протокол прикладного уровня работает по умолчанию
поверх UDP, но может работать по TCP.
• Клиент и сервер обмениваются сообщениями.
Взаимодействие клиент-сервера SNMP.
Пять типов сообщений.
Сообщение SNMP
• Сообщение SNMP содержит номер версии SNMP,
информацию о безопасности и протокольный блок
данных PDU, который характеризует выполняемую
операцию и её параметры.
Например: SNMPv1 описывает следующие PDU и
соответствующие операции:
• Get-Request — запрос на получение значений 1..N переменных;
• Get-Next-Request — запрос на получение значений 1..N переменных,
чьи OID идут следом за OID указанных 1..N переменных;
• Get-Response — ответ на запросы Get-Request, Get-Next-Request и SetRequest;
• Set-Request — установка значений 1..N переменных;
• Trap — ловушка.
Trap
• На срочные события вводится специальный тип операции
протокола SNMP, называемый «ловушка» (Trap).
• Позволяет агентам асинхронно информировать менеджера
(по собственной инициативе) о наступлении ограниченного
числа значимых событий.
• В этом случае агент выступает в необычной для себя роли
клиента, а менеджер — в роли сервера. В случае
использования транспорта UDP для входящих соединений
менеджер использует порт UDP 162.
Формат SNMP-сообщений
Trap-сообщений
Типы PDU сообщений SNMP
Тип PDU
Имя
Значение
0
get-request
Получить значение переменных
1
get-nextrequest
Получить следующие переменные после
этой
2
set-request
Установить значение переменных
3
getresponse
Выдать значение переменных
(Посылает агент в ответ на get-request,
get-next-request, set-request)
4
trap
Уведомить менеджера, когда что-либо
произошло с агентом
PDU (Protocol Data Unit) - блок (пакет) данных протокола.
SMI - (Structure of Management Information) структура информации управления
• Первый стандарт SMI определен в RFC1155 (Structure and
identification of management information for TCP/IP-based
internets M.T. Rose, K. McCloghrie May-01-1990)
• Последний стандарт для версии SMIv1 RFC1155 (Structure and
identification of management information for TCP/IP-based
internets M.T. Rose, K. McCloghrie May-01-1990)
• Последний стандарт для версии SMIv2 RFC2578 (Structure of
Management Information Version 2 (SMIv2) K. McCloghrie, D.
Perkins, J. Schoenwaelder April 1999)
Переменные в SNMP
• В SNMP каждое управляемое устройство, на котором
расположен агент, представляет свою управляющую
информацию в виде переменных.
• Переменными могут быть, например, имя системы, время
с момента её перезапуска, записи в таблице
маршрутизации и т. д. В общем случае переменные можно
разделить на:
– скалярные переменные;
– таблицы переменных.
• Схема данных описывается SMI, которая определяет, как
выглядит управляющая информация, описывает её
синтаксис.
Базы MIB
• Конкретные наборы управляющей информации для
разных типов устройств, протоколов и т. д. описываются
базами управляющей информации (Management
Information Bases, MIBs).
• Базы MIB определяют, какая управляющая информация
существует.
Например, для устройства, поддерживающего IP, MIB описывает
таблицу маршрутизации, флаг активации функции маршрутизации,
число переданных и принятых пакетов, число ошибок различного
характера и т. д.
Дерево идентификаторов объектов
• Каждой переменной присваивается уникальный
идентификатор объекта (Object Identifier, OID).
Пространство имён OID является иерархическим и
контролируется организацией по распределению номеров
в Интернете (Internet Assigned Numbers Authority, IANA).
• Каждый компонент имени является числом, которые
записываются как десятичные числа, разделённые
точками, слева направо. Числам могут быть поставлены в
соответствие текстовые строки для удобства восприятия.
• Все управляемые объекты глобальной сети расположены в
дереве.
Пример
• Каждая MIB определяет набор переменных, т. е.
определённую ветку дерева OID, описывающую
управляющую информацию в определённой области.
• Например, ветка 1.3.6.1.2.1.1 (мнемонический
эквивалент: iso.org.dod.internet.mgmt.mib-2.system)
описывает общую информацию о системе.
• Некоторые переменные:
– sysDescr (1.3.6.1.2.1.1.1) — краткое описание системы
– sysUpTime (1.3.6.1.2.1.1.3) — время с момента последнего
перезапуска
– sysName (1.3.6.1.2.1.1.5) — имя системы
Операции над данными
• Чтение переменной
• Запись переменной
• Чтение переменной, следующей за
заданной переменной (требуется для
просмотра таблиц переменных)
Информационная база управления (MIB)
• Первый стандарт MIB определен в RFC1066 (Management
Information Base for network management of TCP/IP-based
internets K. McCloghrie, M.T. Rose Aug-01-1988 )
• Последний стандарт для версии MIB-I RFC1156
(Management Information Base for network management of
TCP/IP-based internets K. McCloghrie, M.T. Rose May-01-1990)
• Последний стандарт для версии MIB-II RFC1213 (STD0017
Management Information Base for Network Management of
TCP/IP-based internets:MIB-II K. McCloghrie, M.T. Rose Mar01-1991)
• Ветвь 1.3.6.1.2.1.4 (iso.org.dod.internet.mgmt.mib-2).
Ветвь UDP
Группа UDP содержит четыре переменные, и одну таблицу
(udpTable) из двух переменных.
Имя
Тип данных
Чтение/Запись
Описание
udpInDatagr
ams
Counter
Только чтение
Количество UDP датаграмм, доставленных
пользовательским процессам.
udpNoPorts
Counter
Только чтение
Количество доставленных UDP датаграмм, для
которых не оказалось порта назначения.
udpInErrors
Counter
Количество недоставленных UDP датаграмм по
Только чтение
другим причине (например, ошибка
контрольной суммы UDP).
udpOutData
grams
Counter
Только чтение
Количество отправленных UDP датаграмм.
Download