
- •1. Эталонная модель взаимодействия открытых систем
- •Уровни модели osi
- •2. Методы кодирования информации в сетях Ethernet
- •3. Топология локальных сетей
- •4. Лвс Ethernet: 10 Мбит, 100 Мбит (стандарт ieee 802.3)
- •5. Gigabit Ethernet
- •6. Метод доступа в сетях Ethernet (csma/cd)
- •7. Структура кадра Ethernet, полезная нагрузка, минимальный размер кадра Ethernet
- •Базовая структура кадра Ethernet
- •8. Коммутаторы Ethernet второго уровня
- •9. Заголовок ip. Тип сервиса
- •10. Адресация межсетевого протокола. Маска подсети.
- •11. Arp-протокол. Примеры запроса/ответа, обнаружение конфликта ip-адресов
- •12. Фрагментация протокола ip
- •13. Icmp-сообщения
- •14. IPv6
- •Версия 4
- •Версия 6
- •15. Маршрутизация в лвс
- •16. Протокол udp, применение
- •17. Протокол tcp. Заголовок, флаги
- •Флаги (управляющие биты):
- •18. Tcp-соединение, поддержка tcp-соединения, завершение соединения
- •Установка соединения
- •Завершение соединения
- •19. Эталонная модель взаимодействия открытых систем
- •20.Технология ip Security и vpn
- •21. Протокол dns
- •Ключевые характеристики dns
- •Дополнительные возможности
- •Терминология и принципы работы
- •Рекурсия
- •Обратный dns-запрос
- •Записи dns
- •Зарезервированные доменные имена
- •Интернациональные доменные имена
- •22. Протокол ftp
- •23. Протокол передачи почты (smtp, pop3)
- •24. Протокол dhcp
- •25. Транспортный протокол реального времени rtc
11. Arp-протокол. Примеры запроса/ответа, обнаружение конфликта ip-адресов
Для определения локального адреса по IP-адресу используется протокол разрешения адреса (Address Resolution Protocol, ARP). Необходимость в обращении к протоколу ARP возникает каждый раз, когда модуль IP передает пакет на уровень сетевых интерфейсов, например драйверу Ethernet. IP-адрес узла назначения известен модулю IP. Требуется на его основе найти МАС - адрес узла назначения.
Работа протокола ARP начинается с просмотра так называемой АRР-таблицы. Каждая строка таблицы устанавливает соответствие между IP-адресом и МАС - адресом. Для каждой сети, подключенной к сетевому адаптеру компьютера или к порту маршрутизатора, строится отдельная ARP-таблица.
Итак, после того как модуль IP обратился к модулю ARP с запросом на разрешение адреса, происходит поиск в ARP-таблице указанного в запросе IP-адреса. Если таковой адрес в ARP-таблице отсутствует, то исходящий IP-пакет, для которого нужно было определить локальный адрес, ставится в очередь. Далее протокол ARP формирует свой запрос (ARP-запрос), вкладывает его в кадр протокола канального уровня и рассылает запрос широковещательно.
Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес, а затем отправляет его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета.
Ответ присылает узел, опознавший свой IP-адрес. Получает этот ответ машина, сделавшая ARP-запрос. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. (Заметим, что протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.) Если такой IP есть, то модуль ARP анализирует ARP-ответ и добавляет запись в свою ARP-таблицу. Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Если запись не обновлялась в течение определенного времени (порядка нескольких минут, примерно 10 мин), то она исключается из таблицы. Таким образом, в ARP - таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях. Поскольку такой способ хранения информации называют кэшированием, ARP-таблицы иногда называют ARP-кэш.
ARP — протокол канального уровня, предназначенный для определения MAC-адреса по известному IP-адресу. Наибольшее распространение этот протокол получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP.
ARP был спроектирован для случая передачи IP-пакетов через сегмент Ethernet.
Существуют следующие типы сообщений ARP: запрос ARP (ARP request) и ответ ARP (ARP reply). Система-отправитель при помощи запроса ARP запрашивает физический адрес системы-получателя. Ответ (физический адрес узла-получателя) приходит в виде ответа ARP.
Перед тем как передать пакет сетевого уровня через сегмент Ethernet, сетевой стек проверяет кэш ARP, чтобы выяснить, не зарегистрирована ли в нём уже нужная информация об узле-получателе. Если такой записи в кэше ARP нет, то выполняется широковещательный запрос ARP. Этот запрос для устройств в сети имеет следующий смысл: «Кто-нибудь знает физический адрес устройства, обладающего следующим IP-адресом?» Когда получатель с этим IP-адресом примет этот пакет, то должен будет ответить: «Да, это мой IP-адрес. Мой физический адрес следующий: …» После этого отправитель обновит свой кэш ARP и будет способен передать информацию получателю.
Записи в кэше ARP могут быть статическими и динамическими. Пример, данный выше, описывает динамическую запись кэша. Можно также создавать статические записи в таблице ARP. Это можно сделать при помощи команды:
arp -s <IP-адрес> <MAC-адрес>
Записи в таблице ARP, созданные динамически, остаются в кэше в течение 2-х минут. Если в течение этих двух минут произошла повторная передача данных по этому адресу, то время хранения записи в кэше продлевается ещё на 2 минуты. Эта процедура может повторяться до тех пор, пока запись в кэше просуществует до 10 минут. После этого запись будет удалена из кэша, и будет отправлен повторный запрос ARP.
Необходимость в обращении к протоколу ARP возникает каждый раз, когда модуль IP передает пакет на уровень сетевых интерфейсов, например драйверу Ethernet. IP-адрес узла назначения известен модулю IP. Требуется на его основе найти МАС - адрес узла назначения.
Для каждой сети, подключенной к сетевому адаптеру компьютера или к порту маршрутизатора, строится отдельная ARP-таблица.
Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. (Заметим, что протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.) Если такой IP есть, то модуль ARP анализирует ARP-ответ и добавляет запись в свою ARP-таблицу. Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Таким образом, в ARP - таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях.
Структура ARP-заголовка:
Аппаратный тип – в какой сети используется – 2 байта
Тип протокола (IP) – 2 байта
Длина аппаратного адреса – 1 байт (6, т.к. длина MAC-адреса равна 6)
Длина адреса сетевого протокола – 1 байт (4, т.к. IPv4)
Режим работы – ARP-запрос или ARP-ответ – 2 байта
Аппаратный адрес отправителя – 6 байт
Адрес протокола-отправителя – 4 байта
Аппаратный адрес получателя – 6 байт
Адрес протокола-получателя – 4 байта
ARP-протокол посылается на сетевом уровне. Используется только для разрешения адресов, никакой информации от протоколов верхних уровней он передать не может.