PracticU

Протокол ARP

Без субтитровС субтитрами
PracticU › Курс техников Windows - Поддержка пользователей - Help Desk › Протокол ARP
Словарь терминов:
протокол - Согласованный набор правил, определяющих, как устройства или программы обмениваются данными, например HTTP или TCP.
ARP - Протокол, который переводит IP-адрес в MAC-адрес нужного устройства в локальной сети.
MAC-адрес - Уникальный постоянный идентификатор сетевой карты, используемый для опознания устройства в локальной сети.
Wireshark - Инструмент для захвата и анализа сетевого трафика, показывающий проходящие пакеты для диагностики и проверки.
роутер - Сетевое устройство, которое передаёт пакеты между разными сетями и выбирает путь к их цели.
коммутатор - Сетевое устройство, соединяющее устройства внутри локальной сети и передающее данные прямо адресату по MAC-адресу.
байт - Единица данных из восьми бит, способная представить один символ или число от 0 до 255.
ICMP - Протокол для передачи управляющих сообщений и ошибок в сети, используемый, в частности, командой ping.

Протокол ARP
Лекция о протоколе ARP, который связывает IP-адрес с MAC-адресом сетевой карты внутри Ethernet-сети. Всё показано на симуляции в GNS3 с захватом пакетов в Wireshark.
Как работает ARP
1. Зачем нужен ARP: компьютер знает IP-адрес получателя, но для кадра Ethernet нужен MAC-адрес, а он заранее неизвестен.
2. ARP-запрос: компьютер рассылает broadcast всем в сети: "У кого этот IP-адрес? Пришлите свой MAC". Роутер broadcast дальше не пропускает.
3. ARP-ответ: владелец адреса отвечает напрямую и присылает свой MAC-адрес, который записывается в ARP-таблицу.
4. Отправка пакета: пакет с IP-адресом получателя упаковывается в кадр с найденным MAC-адресом и уходит через коммутатор, который направляет кадр по MAC.
5. Другая сеть: компьютер ищет через ARP MAC-адрес роутера-шлюза, а уже роутер делает ARP-запрос в сети получателя.
6. Срок записи: ARP-таблица динамична, неиспользуемые записи удаляются примерно через две минуты.
Что видно в Wireshark
ARP-запрос это кадр размером 64 байта, а MAC-адрес получателя в нём состоит из одних единиц (broadcast). Ping-пакет занимает 106 байт. Запрос ICMP имеет тип 8, ответ называется echo reply.
Команды и настройки
1. show ip, show arp это команды виртуальных компьютеров в GNS3. На настоящем Windows используйте ipconfig и arp -a.
Теперь по захвату можно отличить ARP-запрос и ответ от ICMP-пакетов ping и объяснить, почему для связи с другой сетью нужен MAC роутера.
Следующий урок курса: VPN

Содержание лекции: Протокол ARP

  1. 00:00

    Введение: протокол ARP и уровни OSI

  2. 01:08

    Симуляция сети в GNS3

  3. 02:34

    ARP между вторым и третьим уровнем

  4. 03:27

    Зачем нужен MAC при отправке ping

  5. 04:53

    ARP-запрос Broadcast в сети

  6. 06:08

    Ответ с MAC-адресом второго компьютера

  7. 07:39

    Практика в GNS3 с захватом пакетов

  8. 08:52

    Команды show_ip и таблица ARP

Расшифровка лекции: Протокол ARP

Полный текст первых минут лекции «Протокол ARP» из видеокурса PracticU – субтитры с временной меткой для каждого абзаца. Так можно прочитать и найти нужные темы ещё до начала обучения.

  1. 00:00

    Здравствуйте, этот урок посвящается протоколу ARP – Address Resolution Protocol. На предыдущих уроках мы обсудили модель OSI.

  2. 00:09

    Там было семь уровней: четвёртый, третий, второй, первый. Мы говорили про второй уровень, про кабель Ethernet, стандартный сетевой кабель, стандартное устройство сети.

  3. 00:20

    И мы также говорили о третьем уровне, где живёт у нас протокол IP. Вы помните, у компьютера как есть физический адрес, Адрес Ethernet, он же адрес MAC — это адрес, который закреплен физически за каждой сетевой картой.

  4. 00:36

    Ну а также сетевой карте можно выдать логический адрес IP. IP-адрес выдает администратор компьютера, пишет этот адрес вручную.

  5. 00:44

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

  6. 01:04

    Давайте же посмотрим, что это значит. У нас тут есть симуляция компьютерной сети. Эта симуляция совершается с помощью программы под названием GNS3.

  7. 01:15

    GNS3 — это симулятор, который позволяет создать нам сеть с виртуальными членами этой сети и производить всяческие проверки, эксперименты, то есть симуляции.

  8. 01:25

    GNS — это бесплатная программа, которую можно скачать из интернета. Так, что же я тут наворотил в симуляции? Тут у меня 7 компьютеров. Они тут называются от VPC1 до VPC7.

  9. 01:36

    А также я тут поставил два свитча и один роутер. И в нашей симуляции все эти устройства в данный момент как бы работают. Они живут своей жизнью.

  10. 01:46

    То есть я могу зайти сюда в окошко управления. Слева написано, к какому устройству я сейчас обращаюсь. Сейчас там написано VPC4, видите?

  11. 01:54

    Для перехода к другому устройству. Я, например, набираю 1, и я перехожу к первому компьютеру. А также этот как бы CMD может управлять также и свитчами.

  12. 02:03

    Вот смотрите, я перейду на Switch 2. А также я могу отсюда командовать раутерами. Вот он, раутер 1. Все эти устройства как бы существуют сейчас в нашей виртуальной сети.

  13. 02:14

    Тут также можно производить капчеры, захваты пакетов, запускать как бы сниффер. Я буду использовать Wireshark, чтобы подглядывать в пакеты, которые передаются по сети.

  14. 02:25

    Итак, протокол ARP. Как я уже говорил, он относится к промежутку между вторым и третьим уровнем модели OSI. Между вторым и третьим уровнем у нас располагается протокол ARP.

  15. 02:36

    И если хотите, относится ли он к третьему уровню или ко второму — это спорно. Можно сказать, что он относится ко второму с половиной уровню. Занимается протокол ARP соотношением между физическими адресами и IP-адресами.

  16. 02:49

    Вот возьмём наш первый компьютер из симуляции. Допустим, мы сидим на нём и хотим что-то послать другому компьютеру из той же сети. Допустим, компьютеру vpc2.

  17. 03:00

    vpc1 хочет отправить какое-то сообщение компьютеру vpc2. Допустим, он хочет сказать ему ping. И, сидя за первым компьютером, мы можем знать, что у того второго компьютера есть IP-адрес.

  18. 03:12

    И чтобы послать второму компьютеру ping, нам нужно написать его IP-адрес. В CMD первого компьютера мы пишем ping1002 ip второго компьютера, и мы там на первом компьютере жмём Enter.

  19. 03:30

    Но ему нужен физический адрес, чтобы что-то отправить, но он только знает, что ему нужен компьютер с IP-адресом 1002, ну мало ли, у которого из устройств в его сети такой адрес IP.

  20. 03:41

    Он может быть у одного из других компьютеров или у раутера. VPC1 даже не знает, кто получил IP-адрес 1002, И он не знает даже, есть ли здесь некто с адресом 10.0.0.2.

  21. 03:53

    То есть он не знает, есть ли некто с нужным ему IP-адресом. Он не знает, у кого этот IP-адрес. И уж тем более он не знает физических адресов ничьих.

  22. 04:01

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

  23. 04:10

    В сетевой карте выдается IP-адрес. Все эти компьютеры в нашем случае находятся в сети Ethernet. А у сетевых карт Ethernet есть еще один адрес.

  24. 04:22

    Физический адрес Mac. У каждого члена сети Ethernet, включая раутер, есть свой MAC-адрес. То есть у компьютеров и у раутера есть и MAC-адреса, и IP-адреса.

  25. 04:35

    Но в отличие от адреса IP, MAC-адрес закреплен навечно в сетевой карте. Он уникален у каждой карты и неизменен. И именно адрес MAC поможет нам в итоге передать информацию, передать пакет между сетевыми картами.

  26. 04:49

    Для этого VPC1 должен узнать у VPC2, каков его адрес MAC. Пока что первому компьютеру известен только IP-адрес, но не адрес MAC. И вот как раз тут нам поможет протокол ARP, или Address Resolution Protocol.

  27. 05:05

    С помощью протокола ARP система, которая собирается отправить этот пинг, выпускает в сеть так называемый ARP-реквест. И этот запрос — это Broadcast, это крик в сети.

  28. 05:18

    Помните, Broadcast — это то, что все в сети слышат, все компьютеры сети и раутер. Это как бы в строчке адресат пишется «все».

  29. 05:26

    Первый компьютер крикнет: «Есть ли здесь некто с IP-адресом 10.0.0.2?» «Если есть, делай одолжение, милый человек, пошли мне свой MAC-адрес!» «Мне нужно тебе что-то передать, и мне нужен твой физический адрес для того, чтобы это доставить!» И этот бродкаст выйдет из первого компьютера и придет всюду,

  30. 05:43

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

  31. 05:52

    Раутер не пустит бродкаст дальше. Помните, раутер не пропускает бродкасты через себя. И этот бродкаст будет открыт каждым компьютером, и раутером тоже.

  32. 06:01

    Каждый увидит, что тот компьютер ищет IP-адрес 10.0.0.2 и спросит себя, я ли это? Я ли это? Нет. А второй компьютер подумает: да, это я.

  33. 06:10

    10.0.0.2 — это как раз мой адрес. И второй компьютер послушно отправит свой Mac, ответит сообщением, где будет выслан его Mac.

  34. 06:19

    Допустим, Mac-адрес второго компьютера — это нечто в этом роде. И 1, 2, 7, это шестнадцатеричные цифры, 9, 1, f3, такой, допустим, Mac у второго компьютера, 6 байтов, 12 шестнадцатеричных цифр, или 48 битов, которые удостоверяют мою сетевую карту уникальным образом.

  35. 06:39

    И я отправлю этот Mac адрес компьютера, который запросил у меня его. И теперь, когда первый компьютер вышлет свой пинг, пинг, помните, относится к третьему уровню OSI.

  36. 06:48

    Но чтобы он на втором уровне OSI смог построить фрейм, для этого vpc1 должен указать правильный MAC. И он берёт пакет с правильным IP-адресом и добавляет к этой упаковке ещё и MAC-адрес.

  37. 07:00

    Добавляет адрес MAC, который он получил в результате запроса. И такой пакет уже выкидывает в сеть. Сотрём предыдущий рисунок. И теперь посылка выйдет с адреса MAC, попадёт в Switch.

  38. 07:14

    А Switch как раз пользуется MAC-адресами для того, чтобы направить посылку к нужному компьютеру в сети. Помните, внутри себя Switch помнит MAC-адреса, в нём есть соответствующая таблица, и с помощью MAC-адреса он передаст сообщение второму компьютеру, vpc2.

  39. 07:31

    Вот так вот vpc1 передает информацию компьютеру vpc2, зная IP-адрес адресата, и затем, используя протокол ARP, узнавая нужный MAC, MAC-компьютер vpc2.

  40. 07:42

    А теперь давайте перейдём к практической части, к симуляции, чтобы почувствовать, как это всё происходит в жизни. Мы в программе GNS3.

  41. 07:51

    И тут у нас построена та же модель, что и в теории. И теперь пусть наш VPC1 передаст информацию компьютеру VPC2.

  42. 07:57

    Естественно, во время эксперимента мы поставим Capture, захват, подглядывание во всё, что проходит по сети. С помощью Wireshark мы захватим всю информацию, которая проходит по сети.

  43. 08:08

    Захват пакетов будет справа работать у нас в прямом эфире. И мы пронаблюдаем запрос ARP, ответ на него и сообщение пингов. Приступим же.

  44. 08:17

    Зайдём в командную строку управления виртуальным компьютером vpc1. Выполним у него команду show_ip. И мы видим, что vpc1 получил определённое IP: 10.0.0.1 и 24 бита subnet mask, то есть 3 раза 255 и 0.

  45. 08:35

    Тут у нас его gateway, выход в другую сеть, а вот тут у нас его адрес mac. Кстати, эта команда show_ip — это как ipconfig у компьютера, на котором установлен Windows.

  46. 08:47

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

  47. 08:58

    И вы сможете увидеть свой IP-адрес, свой subnet mask, свой gateway. А в симуляции у нас занимается этим команда show_ip.

  48. 09:06

    А ещё компьютеру vpc1 я скажу show_arp. Команда show_arp заставит его показать мне его ARP-таблицу. А можно написать просто ARP, и можно увидеть его таблицу ARP.

  49. 09:18

    Таблица, в которой хранится соотношение между адресами IP и MAC. Какому адресу IP соответствует какой адрес MAC у компьютеров в его сети. А в компьютере с Windows надо для этого набрать ARP-A.

  50. 09:32

    И можно видеть таблицу ARP компьютера. И в этой таблице мы видим компьютеры, которые у меня есть в сети, и какие у них IP-адреса, и какие адреса MAC.

  51. 09:41

    Мой компьютер, видимо, беседовал о чём-то с роутером. И это IP-адрес роутера. И он также беседовал с принтером. И тут, соответственно, адрес Mac моего принтера.

  52. 09:51

    А тут адрес, который Broadcast. А также мы видим Mac-адреса мультикастов. В настоящем компьютере мы просматриваем это вот так. А в симуляции всё очень упрощено.

  53. 10:00

    И мы видим это, соответственно, в более упрощённом виде. В ARP-таблице мало информации, а в данном случае она вообще пуста. Наш Capture исправно всё захватывает.

  54. 10:09

    И давайте, наконец, дадим ему работу. Я тут немного подвину. И теперь я пошлю ping. Ping к IP-адресу 10.002. Поймите, изначально мой

Полный курс: Курс техников Windows

Предыдущая лекция: Углублённый урок о TCP и UDP

Следующая лекция: VPN

Похожие лекции из других курсов

  • Протокол CDP
  • Захват NTLM-хеш - протокол LLMNR

Другие курсы этого направления

  • Курс системных администраторов - MCSE / MCSA / MCTIP
  • Системный администратор - Учимся за 3 минуты
  • Собеседование - Системный администратор