MAC-адреса и работа с ними
Я начал изучать работу сетевых устройств на канальном уровне и очень много вопросов, буду очень благодарен за ответ.
- Если отправитель не знает mac-адрес получателя, то он отправляет arp-запрос на широковещательный адрес и нужное устройство принимает этот запрос и отправляет arp-ответ на mac-адрес отправителя, затем отправитель извлекает из arp-ответа mac-адрес получателя и записывает его в заголовок своего фрейма и отправляет данные. Или же данные сразу отправляются на широковещательный адрес, т.е. без arp-запроса.
- Верно ли, что если выполнен arp-запрос и получен arp-ответ, то мак-адреса и их соответствующие порты записываются в таблицу коммутатора? Я читал, что если коммутатор не знает на какой порт отправлять фрейм с определенным мак-адресом, то он отправляет его на все порты кроме самого отправителя(т.е. получается он заменят адрес назначения на широковещательный?), а из этого следует, что arp-запрос и arp-ответ никак не влияют на таблицу коммутатора.
- Перед передачей трафика в сети должны пройти по два ARP-запроса и два ARP-ответа (ARP-запрос/ARP-ответ для первого компьютера и ARP-запрос/ARP-ответ для второго компьютера). Разве одного запроса недостаточно чтобы оба устройства заполнили свою arp-таблицу?
- Я знаю, что у компьютеров и маршрутизаторов есть arp-таблица, но есть ли она у коммутаторов l2, у l3 она вроде есть.
Много гуглил эти вопросы, но все по-разному отвечают на эти вопросы и я окончательно запутался.