Заметка

OSI модель. Сетевой уровень.

Всем привет!

Сегодня мы поговорим о трех основных протоколах сетевого уровня IP, ICMP и ARP.

IP (Internet Protocol)

IP протокол получает пакеты из транспортного уровня и добавляет к ним виртуальные адреса, например, адрес компьютера, посылающего пакет, и адрес компьютера, принимающего пакет. Эти виртуальные адреса называются IP адресами.

ICMP (Internet Control Message Protocol)

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

Этот протокол используется, например, популярной утилитой ping, служащей для проверки возможности доставки IP-пакетов.

ICMP может быть использован, чтобы сообщить:

  • об ошибках в сетевых коммуникациях
  • о доступности удаленного хоста
  • о перегрузке сети

ICMP также используется утилитой traceroute, отображающей путь следования IP-пакетов.

ARP (Address Resolution Protocol)

Основной задачей ARP является преобразование IPv4 адреса (32-битный логический адрес) в физический адрес (48-битный MAC адрес).

Сетевые приложения на прикладном уровне OSI используют IPv4 адреса для взаимодействия с другими устройствами. Но на канальный уровне OSI для адресации используется MAC адрес, и этот адрес вшит в вашу сетевую карту.

Цель ARP — найти MAC адрес устройства в вашей локальной сети LAN (Local Access Network), соответствующий определенному IPv4 адресу, с которым сетевое приложение хочет взаимодействовать.

Алгоритм работы Address Resolution Protocol (ARP)

Шаг 1. Когда устройство-источник хочет взаимодействовать с другим устройством, устройство-источник проверяет свой Address Resolution Protocol (ARP) cache, чтобы попытаться найти уже возможно определенный MAC адрес устройства-получателя. Если он там, устройство-источник будет использовать этот MAC адрес для связи. Чтобы посмотреть ваш локальный ARP cache, выполните команду

arp -a

Screenshot from 2014-09-12 15:17:31

Шаг 2. Если ARP resolution не находится в локальном кэше, устройство-источник сгенерирует ARP request message, оно включает MAC адрес как Sender Hardware Address и IPv4 адрес как Sender Protocol Address. Также оно включает IPv4 адрес устройства-получателя как Target Protocol Address. Поле Target Hardware Address будет пустым, так как машина пытается найти его.

Шаг 3. Устройство-источник бродкастит (broadcast) ARP request message в локальную сеть.

Шаг 4. Письмо получает каждое устройство в LAN, так как это broadcast. Каждое устройство сравнивает Target Protocol Address (IPv4 адрес машины, с которой устройство-источник хочет взаимодействовать) с его собственным IPv4 адресом. Устройства с несовпадающими адресами проигнорируют пакет без каких-либо дальнейших действий.

Шаг 5. Когда устройство-получатель сравнит Target Protocol Address со своим IPv4 адресом, оно найдет совпадение и сгенерирует ARP reply message. Оно включает Sender Hardware Address и Sender Protocol Address поля из полученного Address Resolution Protocol (ARP) request message и использует эти значения в качестве Targeted Hardware Address и Targeted Protocol Address в ответном письме.

Шаг 6. Устройство-получатель обновляет свой Address Resolution Protocol (ARP) cache, так как скоро ему нужно будет связаться с устройством-источником.

Шаг 7. Устройство-получатель отправляет Address Resolution Protocol (ARP) reply message. И оно будет НЕ broadcast, а unicast.

Шаг 8. Устройство-источник обрабатывает Address Resolution Protocol (ARP) reply message. Оно хранит Sender Hardware Address как MAC адрес устройства-получателя.

Шаг 9. Устройство-источник обновляет свой Address Resolution Protocol (ARP) cache, добавляя в него значения Sender Hardware Address и Sender Protocol Address , полученные из ARP reply message.

На этом пока все. Всем удачи и полного понимания!

OSI модель. Сетевой уровень.: Один комментарий

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s