На какой адрес отправляется arp запрос. Протокол arp

Ранее говорилось, что порт или интерфейс, с помощью которого маршрутизатор подключен к сети, рассматривается как часть этой сети. Следовательно, интерфейс маршрутизатора, подключенный к сети, имеет тот же IP-адрес, что и сеть (рис. 6.12). Поскольку маршрутизаторы, как и любые другие устройства, принимают и отправляют данные по сети, они также строят ARP-таблицы, в которых содержатся отображения IP-адресов на МАС-адреса.

Рисунок 6.11. RARP-сервер откликается на IP запрос от рабочей станции с МАС-адресом 08-00-20-67-92-89


Рисунок 6.12. IP-адреса приводятся в соответствие с МАС-адресами с помощью ARP-таблиц.

Маршрутизатор может быть подключен к нескольким сетям или подсетям. Вообще, сетевые устройства имеют наборы только тех МАС- и IP-адресов, которые регулярно повторяются. Короче говоря, это означает, что типичное устройство содержит информацию об устройствах своей собственной сети. При этом об устройствах за пределами собственной локальной сети известно очень мало. В то же время маршрутизатор строит таблицы, описывающие все сети, подключенные к нему. В результате ARP-таблицы маршрутизаторов могут содержать МАС- и IP-адреса устройств более чем одной сети (6.13). Кроме карт соответствия IP-адресов МАС адресам в таблицах маршрутизаторов содержатся отображение портов (рис. 6.14)

Что происходит если пакет данных достигает маршрутизатора, который не подключен к сети назначения пакета? Кроме МАС и IP-адресов устройств тех сетей, к которым подключен данный маршрутизатор, он еще содержит МАС- и IP-адреса других маршрутизаторов. Маршрутизатор использует эти адреса для направления данных конечному получателю (рис.6.15). При получении пакета, адрес назначения которого отсутствует в таблице маршрутизации, маршрутизатор направляет этот пакет по адресам других маршрутизаторов, которые, возможно, содержат в своих таблицах маршрутизации информацию о хост-машине пункта назначения.



Рисунок 6.14. Порты также заносятся в таблицу маршрутизации

Шлюз по умолчанию

Если источник расположен в сети с номером, который отличается от номера сети назначения, и источник не знает МАС-адрес получателя, то для того, чтобы доставить данные получателю, источник должен воспользоваться услугами маршрутизатора. Если маршрутизатор используется подобным образом, то его называют шлюзом по умолчанию (default gateway). Чтобы воспользоваться услугами шлюза по умолчанию, источник инкапсулирует данные, помещая в них в качестве МАС-адреса назначения МАС-адрес маршрутизатора. Так как источник хочет доставить данные устройству, а не маршрутизатору, то в заголовке в качестве IP-адреса назначения используется IP-адрес устройства, а не маршрутизатора (рис. 6.16). Когда маршрутизатор получает данные, он убирает информацию канального уровня, использованную при инкапсуляции. Затем данные передаются на сетевой уровень, где анализируется IP-адрес назначения. После этого маршрутизатор сравнивает IP-адрес назначения с информацией, которая содержится в таблице маршрутизации. Если маршрутизатор обнаруживает отображение IP-адреса пункта назначения на соответствующий МАС-адрес и приходит к выводу, что сеть назначения подключена к одному из его портов, он инкапсулирует данные, помещая в них информацию о новом МАС-адресе, и передает их по назначению.



Рисунок 6.15. Данные переправляются маршрутизатором к пункту их назначения


Рисунок 6.16. Для доставки данных используются IP-адрес пункта назначения

Резюме

  • Все устройства в локальной сети должны следить за ARP-запросами, но только те устройства, чей IP-адрес совпадает с IP-адресом, содержащимся в запросе, должны откликнуться путем сообщения своего MAC-адреса устройству, создавшему запрос.
  • Если IP-адрес устройства совпадает с IP-адресом, содержащимся в ARP-запросе, устройство откликается, посылая источнику свой МАС-адрес. Эта процедура называется ARP-ответом.
  • Если источник не может обнаружить МАС-адрес пункта назначения в своей ARP-таблице, он создает ARP-запрос и отправляет его в широковещательном режиме всем устройствам в сети.
  • Если устройство не знает собственного IP-адреса, оно использует протокол RARP.
  • Когда устройство, создавшее RARP-запрос, получает ответ, оно копирует свой IP-адрес в кэш-память, где этот адрес будет храниться на протяжении всего сеанса работы.
  • Маршрутизаторы, как и любые другие устройства, принимают и отправляют данные по сети, поэтому они также строят ARP-таблицы, в которых содержатся отображения IP-адресов на МАС-адреса.
  • Если источник расположен в сети с номером, который отличается от номера сети назначения, и источник не знает МАС-адрес получателя, то для того, чтобы доставить данные получателю, источник должен использовать маршрутизатор в качестве шлюза по умолчанию.

Глава 7 Топологии

В этой главе:

  • Определение понятия топология
  • Шинная топология, ее преимущества и недостатки
  • Топология "звезда", ее преимуществ и недостатки
  • Внешние терминаторы
  • Активные и пассивные концентраторы
  • Характеристики топологии "расширенная звезда", определение
  • длины кабеля для топологии "звезда" и способы увеличения размеров области охватываемой сетью с топологией "звезда”
  • Аттенюация

Введение

В главе 6, "ARP и RARP”, было рассказано, каким образом устройства в локальных сетях используют протокол преобразования адреса ARP перед отправкой данных получателю. Было также выяснено, что происходит, если устройство в одной сети не знает адреса управления доступом к среде передачи данных (МАС-цреса) устройства в другой сети. В этой главе рассказывается о топологиях, используемых при создании сетей.

Топология

В локальной вычислительной сети (ЛВС) все рабочие станции должны быть соединены между собой Если в ЛВС входит файл-сервер, он также должен быть подключен к рабочим станциям. Физическая схема, которая описывает структуру локальной сети, называется топологией В этой главе описываются три типа топологий шинная, “звезда" и "расширенная звезда" (рис 71 , 72)


Рисунок 7.1. Шинная топология типична для ЛВС Ethernet, включая 10Base2 и 10BaseS


Рисунок 7.2. Топология «звезда» типична для сетей Ethernet и Token Ring, которые используют в качестве центра сети концентратор, коммутатор или повторитель

Шинная топология

Шинная топология представляет собой топологию, в которой все устройства локальной сети подключаются к линейной сетевой среде передачи данных. Такую линейную среду часто называют каналом, шиной или трассой. Каждое устройство, например, рабочая станция или сервер, независимо подключается к общему шинному кабелю с помощью специального разъема (рис. 7.3). Шинный кабель должен иметь на конце согласующий резистор, или терминатор, который поглощает электрический сигнал, не давая ему отражаться и двигаться в обратном направлении по шине.


Протокол ARP предназначен для определения адресов канального уровня (MAC-адресов) по известным IP-адресам. Это очень важный протокол, его работа напрямую влияет на работоспособность сети в целом.

Назначение протокола ARP

Для взаимодействия устройств друг с другом необходимо, чтобы у передающего устройства был IP- и MAC-адреса получателя. Когда одно из устройств пытается установить связь с другим, с известным , ему необходимо определить MAC-адрес получателя. имеет в своем составе специальный протокол, называемый ARP (Address Resolution Protocol - протокол преобразования адресов), который позволяет автоматически получить MAC-адрес. На рис. ниже проиллюстрирован процесс, позволяющий определить MAC-адрес, связанный с известным IP-адресом.

Некоторые устройства хранят специальные ARP-таблицы, в которых содержится информация о MAC- и IP-адресах других устройств, подключенных к той же локальной сети. ARP-таблицы позволяют установить однозначное соответствие между IP- и MAC-адресами. Такие таблицы хранятся в определенных областях оперативной памяти и обслуживаются автоматически на каждом из сетевых устройств (см. таблицы ниже). В редких случаях приходится создавать ARP-таблицы вручную. Обратите внимание, что каждый компьютер в сети поддерживает свою собственную ARP-таблицу.

Куда бы не передавались сетевым устройством данные, для их пересылки всегда используется информация, хранящаяся в ARPтаблице (рис. ниже: одно из устройств хочет передать данные другому устройству).

Функционирование протокола ARP в подсетях

Для передачи данных от одного узла другому отправитель должен знать IP- и MAC-адрес получателя. Если он не может получить искомый физический адрес из собственной ARP-таблицы, инициируется процесс, называемый ARPзапросом, ко торый проиллюстрирован на рис. выше.

ARP-запрос позволяет узлу определить MAC-адрес получателя. Узел создает фрейм ARP-запроса и рассылает его всем сетевым устройствам. Фрейм ARP-запроса состоит из двух частей:

  • заголовка фрейма;
  • сообщения ARP-запроса.

Для того чтобы все устройства могли получить ARP-запрос, используется широковещательный MAC-адрес. В схеме MAC-адресации широковещательный адрес содержит во всех битах шестнадцатеричное число F и имеет, таким образом, вид FF-FF-FF-FF-FF-FF (Такая запись MAC-адреса называется канонической, в ней части адреса разделены дефисом (-); существует также альтернативная запись, в которой части адреса разделены двоеточием (:).). Поскольку пакеты ARP-запроса передаются в широковещательном режиме, все сетевые устройства, подключенные к локальной сети, могут получить такие пакеты и передать их протоколам более высоких уровней для последующей обработки. Если IP-адрес устройства совпадает с IP-адресом получателя в широковещательном ARP-запросе, это устройство отвечает отправителю, сообщая свой MAC-адрес. Такое сообщение называется ARP-ответом.

После получения ARP-ответа устройство-отправитель широковещательного ARP-запроса извлекает MAC-адрес из поля аппаратного адреса отправителя и обновляет свою ARP-таблицу. Теперь это устройство может надлежащим образом адресовать пакеты, используя как MAC-, так и IP-адрес. Полученная информация используется для инкапсуляции данных на втором и третьем уровнях перед их отправкой по сети. Когда данные достигают пункта назначения, на канальном уровне проводится проверка на соответствие адреса, отбрасывается канальный заголовок, который содержит MAC-адреса, и данные передаются на сетевой уровень. На сетевом уровне проверяется соответствие собственного IP-адреса и IP-адреса получателя, содержащегося в заголовке третьего уровня. На сетевом уровне отбрасывается IP-заголовок, и инкапсулированные данные передаются на следующий уровень - транспортный (уровень 4). Подобный процесс повторяется до тех пор, пока оставшиеся, частично распакованные, данные не достигнут приложения (уровень 7), в котором будет прочитана пользовательская часть данных.

ARP кэш

На каждом хосте содержится ARP кэш (ARP cache). Записи в эше могут быть двух видов: статические и динамические. В современных сетевых ОС (Windows, Linux, BSD) можно просмотреть эти записи в консоли с помощью команды:

Очистка ARP кэша

Иногда в Windows ARP кэш оказывается поврежденным (действие вирусов, например) и его нужно очистить. «Симптомы» этой проблемы могут быть распознаны в не возможности отображения веб-страниц (time out) и ping`а других компьютеров.

Чтобы очистить ARP кэш в Windows нужно в командной строке набрать:

C:>netsh interface ip delete arpcache Ok.

Если не удалось очистить ARP кэш и появилось сообщение об ошибке вроде этого «Невозможно завершить исправление ошибки, так как не удается выполнить следующие действия: Выполнить очистку ARP-кэша». То нужно отключить службу «Маршрутизация и удаленный доступ» и попробовать снова. Процесс удаления ARP-кэша должен быть выполниться без ошибок.

Еще одна команда для очистки ARP-кэша:

ARP-spoofing

ARP-spoofing (ARP-poisoning) - это вид сетевой атаки в Ethernet-сетях в котором используются особенности работы протокола ARP. Суть механизма данной атаки заключается в следующем: перехватив широковещательный ARP-запрос в домене широковещательных рассылок, отправителю высылается ложный ARP-ответ, в котором атакующая сторона выдает себя за получателя (например, за маршрутизатор), а затем начинает контролировать весь трафик предназначенный для настоящего объекта в сети.

Противодействовать атакам такого рода можно отслеживая работу ARP (с помощью arpwatch) или шифруя передаваемый трафик на сетевом уровне (IPSec) и другими способами.

ARP и IPv6

В IPv6 больше не используется ARP. На его замену пришел NDP (The Neighbor Discovery Protocol ). Этот протокол описан в

Оценка: 4.86 Голосов: 7 Комментарии: 10

Начнем с теории…

Что такое ARP и зачем это нам

ARP (“Address Resolution Protocol” - протокол определения адреса ) - использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня. Наибольшее распространение этот протокол получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP.

ARP протокол работает с MAC адресами. Свой индивидуальный MAC адрес есть у каждой сетевой карты.

MAC-адрес (“Media Access Control” - управление доступом к среде ) - это уникальный идентификатор, сопоставляемый с различными типами оборудования для компьютерных сетей. Большинство сетевых протоколов канального уровня используют одно из трёх пространств MAC-адресов, управляемых IEEE: MAC-48, EUI-48 и EUI-64. Адреса в каждом из пространств теоретически должны быть глобально уникальными. Не все протоколы используют MAC-адреса, и не все протоколы, использующие MAC-адреса, нуждаются в подобной уникальности этих адресов.

Рис.1. Путь к ARP таблице.

Рис.2. ARP таблица.

На Рисунке 2 мы видим ARP таблицу. В ней три записи, они добавляются автоматически и имеют следующую структуру. IP Adress – это, собственно, IP адрес компьютера сети, MAC Adress – это mac адрес этого же компьютера, и Interface, который указывает за каким интерфейсом находится данный компьютер. Обратите внимание, что напротив всех записей есть буква D. Она означает то, что эта запись динамическая и будет изменена, если изменятся какие-то данные. То есть, если пользователь случайно введет неправильный IP адрес, то просто изменится запись в ARP таблице и больше ничего. Но нам это не подходит. Нам нужно застраховаться от таких случаев. Для этого в ARP таблицу вносятся статические записи. Как это сделать? Существует два способа.

Рис.3. Добавляем Статическую запись первым способом.

Способ первый. Как обычно нажимаем красный плюс. В появившемся окне вводим IP адрес, MAC адрес и выбираем интерфейс, за которым находится данный компьютер.

Рис.4. Добавляем Статическую запись вторым способом.

Способ второй. Выбираем нужную запись, кликаем два раза левой клавишей мыши, в появившемся окне нажимаем кнопку Make Statik . Статическая запись добавлена.

Рис.5. Таблица со статическими записями.

Как видно на рисунке 5 – напротив добавленной записи отсутствует буква D. Это говорит о том, что запись статическая.

Теперь, если пользователь случайно введет не свой адрес, Mikrotik , проверив соответствие IP и МАС адреса в ARP таблице и, не найдя нужной записи, не даст пользователю выйти в интернет, тем самым наведет пользователя на мысль о том, что он, возможно, был не прав и надо бы позвонить администратору.

Еще на что хотелось бы обратить ваше внимани е: эти записи применяются для пакетов проходящих через router.

Маршрутиза́тор или роутер - сетевое устройство, которое принимает решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети на основании информации о топологии сети и определённых правил.

Если нужно, чтобы правила применялись к Bridge(бридж), то в Bridge нужно включить функцию Use IP Firewall (рис.6.).

Бридж - это способ соединения двух сегментов Ethernet на канальном уровне, т.е. без использования протоколов более высокого уровня, таких как IP. Пакеты передаются на основе Ethernet-адресов, а не IP-адресов (как в маршрутизаторе). Поскольку передача выполняется на канальном уровне (уровень 2 модели OSI), все протоколы более высокого уровня прозрачно проходят через мост.

Рис.6 . Включение функции Use IP Firewall.

Евгений Рудченко

Если компьютер контактирует с другим аналогичным устройством в той же сети, требуется физический или MAC-адрес. Но поскольку приложение предоставило IP-адрес получателя, ему нужен какой-то механизм для его привязки с MAC-адресом. Это делается по протоколу разрешения адресов (ARP). IP-адрес узла назначения является широковещательным, а узел-получатель сообщает источник его MAC-адреса.

Это значит, что в каждом случае, когда машина A намерена передать пакеты данных устройству B, она вынуждена отправить ARP-пакет для разрешения MAC-адреса B. Следовательно, это слишком сильно увеличивает нагрузку на трафик, поэтому для снижения стоимости связи, компьютеры, которые используют протоколы ARP, сохраняют кеш недавно приобретенных привязок адресов IP_to_MAC, т. е. они не должны повторно использовать этот протокол.

Современный вид

Сегодня используются несколько усовершенствований протокола ARP и его назначения. Так, когда машина A хочет отправить пакеты устройству B, возможно, что B отправит данные для A в скором времени. По этой причине, чтобы избежать ARP для машины B, A должна выполнить привязку адреса IP_to_MAC при запросе MAC-адреса B в специальном пакете.

Поскольку A направляет свой изначальный запрос для MAC-адреса B, каждый компьютер в сети должен извлекать и хранить в своем кеше привязку адреса IP_to_MAC A. Когда в сети появляется новый компьютер (например, при перезагрузке операционной системы), он может транслировать эту привязку, чтобы все остальные машины могли хранить его в своих кешах. Это позволит устранить множество ARP-пакетов всеми другими машинами, когда они хотят общаться с добавленным устройством.

Вариации ARP-протокола

Рассмотрим сценарий, при котором компьютер делает попытку связаться с какой-либо удаленной машиной с помощью программы PING при том, что ранее не было обмена IP-дейтаграммами между этими устройствами, и ARP-пакет должен быть отправлен для идентификации MAC-адреса удаленного компьютера.

Сообщение запроса Address Resolution Protocol (которое выглядит как обращение A.A.A.A к B.B.B.B - IP-адресам) транслируется в локальной сети с использованием протокола Ethernet типа 0x806. Пакет отбрасывается всеми машинами, за исключением целевой, которая отвечает сообщением ответа APR (AAAA - hh: hh: hh: hh: hh: hh где hh: hh: hh: hh: hh: hh - адрес источника Ethernet). Этот ответ является одноадресным для машины с IP-адресом B.B.B.B. Поскольку сообщение запроса протокола APR включало аппаратный адрес (а именно - источника Ethernet) запрашивающего компьютера, целевому устройству не требуется другое сообщение, чтобы понять это.

Взаимосвязь с другими протоколами

Как только вы поймете, для чего нужен протокол ARP, следует рассмотреть его взаимодействие с другими элементами сети.

RARP - это протокол, с помощью которого физическая машина в локальной сети может делать запрос, чтобы узнать свой IP-адрес из таблицы протокола или кэширования сервера шлюза. Это необходимо, так как на устройстве не может присутствовать постоянно установленный диск, где оно может постоянно хранить свой IP-адрес. Сетевой администратор создает таблицу в маршрутизаторе шлюза локальной сети, который сопоставляет адреса физического компьютера (либо управления доступом к среде - MAC) соответствующим «айпи». Когда новая машина настроена, ее клиентская программа RARP запрашивает с сервера RARP на маршрутизаторе для отправки его IP-адрес. Предполагая, что запись была настроена в таблице маршрутизатора, данный сервер RARP вернет «айпи» на компьютер, который может сохранить его для будущего использования. Таким образом, это тоже своеобразный протокол определения адреса.

Механизм в деталях

И машина, выдающая запрос, и сервер, на него отвечающий, использует физические сетевые адреса в процессе их короткой связи. Обычно запрашивающий компьютер не знает его. Таким образом, запрос передается всем машинам в сети. Теперь запросчик должен идентифицировать себя уникально для сервера. Для этого можно использовать либо серийный номер процессора, либо физический сетевой адрес устройства. При этом использование второго в качестве уникального идентификатора обладает двумя преимуществами:

  • Данные адреса всегда доступны и не обязательно связаны с кодом начальной загрузки.
  • Поскольку идентификационная информация зависит от сети, а не от ЦП, все машины в данной сети будут предоставлять уникальные идентификаторы.

Как и сообщение протокола ARP, запрос RARP отправляется с одного компьютера на другой, инкапсулированный в части данных сетевого кадра. Рамка Ethernet, содержащая его, имеет обычную преамбулу, Ethernet-источник и адреса назначения, а также поля типа пакета перед кадром. Кадр кодирует значение 8035, чтобы идентифицировать его содержимое как сообщение RARP. Часть данных кадра включает в себя 28-октетное сообщение.

Отправитель отправляет запрос RARP, который указывает себя как инициатор запроса и целевую машину, и передает свой физический сетевой адрес в поле целевого аппаратного адреса. Все устройства в сети получают запрос, но только те из них, кто уполномочен предоставлять RARP, обрабатывают запрос и отправляют ответ. Такие машины известны неофициально как серверы данного протокола. Для успешной реализации протоколов ARP/RARP сеть должна содержать как минимум один такой сервер.

Они отвечают на запрос, заполняя поле адреса целевого протокола, изменяя тип сообщения от запроса до ответа и отправляя ответ прямо на машину, отправляющую запрос.

Синхронизация транзакций RARP

Поскольку RARP напрямую использует физическую сеть, никакое иное программное обеспечение протокола не должно откликаться на запрос или повторно передавать его. ПО RARP должно выполнять эти задачи. Некоторые рабочие станции, полагающиеся на такой протокол для загрузки, предпочитают повторять попытку до бесконечности, пока не получат ответ. Иные реализации объявляют об отказе после нескольких попыток предотвратить наполнение сети ненужной трансляцией.

Преимущества Mulitple RARP Servers: большая надежность.

Недостаток: перегрузка может возникнуть, когда все серверы ответят.

Таким образом, чтобы избежать недостатков, можно использовать первичный и вторичный серверы. Каждому компьютеру, который запрашивает запрос RARP, назначается первичный сервер. Обычно он отвечает на все позывы, но если он терпит неудачу, тогда запросчик может взять тайм-аут и выполнить ретрансляцию запроса. Если второй сервер получает вторую копию запроса в течение короткого времени первого, он отвечает. Но все же может возникнуть проблема, при которой по умолчанию реагируют все вторичные серверы, тем самым перегружая сеть. Таким образом, проблема состоит в том, чтобы избежать одновременной передачи ответов с обоих серверов. Каждый вторичный сервер, который принимает запрос, вычисляет случайную задержку и затем отправляет ответ.

Недостатки RARP

Поскольку он работает на низком уровне, он требует прямых адресов в сети, что затрудняет работу приложений для создания сервера. Он не полностью использует возможности такой сети, как ethernet, которая применяется для отправки минимального пакета. Поскольку ответ с сервера содержит только одну небольшую часть информации, 32-разрядный интернет-адрес RARP формально описан в RFC903.

ICMP-протокол

В этом протоколе зашифрован механизм, который шлюзы и хосты используют для обмена информацией об управлении или ошибкой. Интернет-протокол обеспечивает надежную службу передачи данных без установления соединения, датаграмма перемещается от шлюза к шлюзу, пока не достигнет того, которое может доставить его непосредственно до конечного пункта назначения.

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

Связующее звено

Протокол управления интернет-протоколом позволяет шлюзам отправлять сообщения об ошибках или управлять сообщениями на другие шлюзы или хосты. ICMP предоставляет связь между программным обеспечением протокола Интернета между компьютерами. Это механизм сообщений так называемого специального назначения, добавленный разработчиками к протоколам TCP/IP. Это позволяет шлюзам в Интернете информировать об ошибках либо направлять информацию о непредвиденных обстоятельствах.

Сам протокол IP не содержит ничего, чтобы помочь подключиться к тестированию отправителя или узнать о сбоях. Отчеты об ошибках и их исправлении сообщаются посредством ICMP только в отношении исходного источника. Он должен связывать ошибки с отдельными прикладными программами и предпринимать действия для устранения проблем. Таким образом, он предоставляет возможность для шлюза сообщать об ошибке. При этом он не полностью определяет действие, которое необходимо предпринять для исправления неполадок.

ICMP ограничивается в связи с исходным источником, но не с промежуточными ICMP-сообщениями. Они отправляются через Интернет в части данных дейтаграммы IP, которая сама перемещается по сети. Именно поэтому они тесно взаимосвязаны с ARP-протоколом. ICMP-сообщения маршрутизируются точно так же, как датаграммы, содержащие информацию для пользователей, не имея при этом дополнительной надежности или приоритета.

Исключение присутствует для процедур обработки ошибок, когда IP-датаграмма, несущая сообщения ICMP, не генерируется для ошибок, которые возникают из дейтаграмм, содержащих сообщения о неполадках.

Формат сообщения ICMP

Оно насчитывает в себе три поля:

  • 8-битное целочисленное поле TYPE, идентифицирующее сообщение;
  • 8-битовое поле CODE, которое предоставляет дополнительную информацию о его типе;
  • 16-разрядное поле CHECKSUM (ICMP использует одну и ту же контрольную сумму алгоритма, которая охватывает только сообщение этого протокола).

Кроме того, сообщения ICMP, информирующие об ошибках, во всех случаях включают в себя заголовок и начальные 64 бита данных дейтаграммы, вызывающих проблему.

Запросы и ответы

Протоколы TCP/IP предоставляют средства, помогающие сетевым менеджерам или пользователям идентифицировать сетевые проблемы. Один из чаще всего используемых инструментов отладки делает вызовы эхо-запроса ICMP и сообщения эхо-ответа. Хост или шлюз отправляет сообщение к определенному пункту назначения.

Любой компьютер, который принимает эхо-запрос, создает ответ, и возвращает его исходному отправителю. Запрос включает в себя необязательную область направляемых данных. Ответ имеет в себе копию данных, отправленных в запросе. Эхо-запрос и отклик, связанный с ним, могут применяться для проверки доступности достижимой цели и отклика.

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

  • IP-программное обеспечение источника должно маршрутизировать датаграмму;
  • Промежуточные шлюзы пунктом назначения и источником должны работать и правильно маршрутизировать дейтаграмму;
  • Должен быть запущен конечный компьютер, и на нем должно работать как программное обеспечение ICMP, так и IP;
  • Маршруты в шлюзах по обратному пути должны быть правильными.

Как это работает?

Работа протоколов ARP и ICMP тесно связана. Всякий раз, когда ошибка предотвращает маршрутизацию или доставку шлюзу датаграммы, он отправляет сообщение о недоступности адресата обратно в исходный код, а затем удаляет датаграмму. Неисправляемые неполадки в сети обычно подразумевают сбои в передаче данных. Поскольку сообщение включает в себя короткий префикс дейтаграммы, вызывавшей проблему, источник точно знает, какой из адресов недоступен. Направление может быть недоступно, поскольку аппаратное обеспечение временно не работает, отправитель сообщил несуществующий адрес назначения или потому, что шлюз не имеет маршрута к целевой сети.

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