В чем смысл ARP?

Я начинаю работать в сети, но если я понял это правильно, суть ARP заключается в следующем:

Мы хотим использовать высокоуровневые адреса в максимально возможной степени, но в конечном итоге нам нужен адрес MAC-адресов приемников для его передачи.

  • Мы отправляем пакет на хост с ip-адресом I. Но мы не знаем, на какой MAC-адрес отправить его.
  • Теперь мы передаем сообщение в стиле «эй, к кому принадлежит этот IP-адрес?»
  • Приемник распознает свой IP-адрес и отвечает, отправив свой MAC-адрес.

Итак, мы делаем ARP, потому что мы не хотим транслировать весь пакет?

Последующее наблюдение № 1: Я помню, что, читая, по крайней мере, для сетей Ethernet, широковещательная передача в основном столь же дешева, как и одиночные передачи. Но во время отправки пакета мы не знаем, находится ли приемник на Ethernet, поэтому мы не можем предположить, что вещание дешево?

Последующий # 2: В какой момент мы транслируем? Скажем, что раковина находится в 23.235.37.67. Действительно ли мы транслируем на 23.235.37.67? Если да, то что делает его трансляцией, а не одной передачей пользователя? Почему бы не транслировать весь пакет, если на этом IP-адресе есть только один компьютер?

3 голоса | спросил Benjamin Lindqvist 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 02 Sep 2015 21:13:48 +0300 2015, 21:13:48

2 ответа


2

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

ответил Ron Maupin 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 02 Sep 2015 21:31:11 +0300 2015, 21:31:11
3

Ключом к ответам на ваши вопросы является то, что для ПК1 для связи с PC2 , что у ПК1 есть и , что PC1 хочет и , как PC1 получает то, что он хочет
Прежде всего, в сети у нас нет ничего, что называется адресом высокого уровня или адресом низкого уровня, но у нас есть физический адрес (MAC-адрес), который является адресом L2 и имеет логический адрес (IP-адрес), который является адресом L3. И используя ARP, мы сопоставляем оба, чтобы собрать, чтобы получить что-то, называемое таблицей ARP . введите описание изображения здесь
В этих таблицах содержатся хосты, с которыми ПК может связаться с ними (например, телефонная книга, вы будете называть лиц, у которых есть только номера, а для человека у вас нет номера, который вы попросите)
Первая часть ключа , что у ПК1 есть ??? В случае ARP PC1 имеет адрес L3 (IP) ПК2, с которым ему необходимо установить связь. Вторая часть ключа , что PC1 хочет ??? он хочет, чтобы адрес L2 (MAC-адрес) PC2 установил связь с ним
Обратите внимание, что
ПК для связи с другим ПК отправит ему что-то вроде этого

                      |SRC MAC | SRC IP | payload |DST IP|DSP MAC | 

Так просто в нашем случае мы знаем 4 вещи из 5, мы знаем SRC MAC, SRC IP, полезную нагрузку, DST IP, но мы не знаем DSP MAC. Таким образом, PC1 отправит этот пакет так, как он есть, и для той части, которая не знает, что она отправит широковещательный адрес (FF: FF: FF: FF: FF: FF) и только ПК, который имеет этот DST IP воспроизведет эту трансляцию по собственному MAC-адресу, который точно соответствует PC1. введите описание изображения здесь

отправка пакета с MAC-адресом Broudcast Запрос ARP и, конечно же, повторение ПК2 по названию ARP-повтор

, а также вы можете найти очень хороший пример для ARP в этой ссылке Пример ARP

ответил Gadeliow 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2015 09:46:53 +0300 2015, 09:46:53

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132