Я только начал изучать протоколы. Изучая пакеты в wirehark, я наткнулся на ARP-запрос, отправленный моей машиной на мой собственный IP. Вот детали пакета:
No. Time Source Destination Protocol Info
15 1.463563 IntelCor_aa:aa:aa Broadcast ARP Who has 192.168.1.34? Tell 0.0.0.0
Frame 15: 42 bytes on wire (336 bits), 42 bytes captured (336 bits)
Arrival Time: Jan 7, 2011 18:51:43.886089000 India Standard Time
Epoch Time: 1294406503.886089000 seconds
[Time delta from previous captured frame: 0.123389000 seconds]
[Time delta from previous displayed frame: 0.123389000 seconds]
[Time since reference or first frame: 1.463563000 seconds]
Frame Number: 15
Frame Length: 42 bytes (336 bits)
Capture Length: 42 bytes (336 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:arp]
[Coloring Rule Name: ARP]
[Coloring Rule String: arp]
Ethernet II, Src: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
Source: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
Address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: ARP (0x0806)
Address Resolution Protocol (request)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001)
[Is gratuitous: False]
Sender MAC address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
Sender IP address: 0.0.0.0 (0.0.0.0)
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.1.34 (192.168.1.34)
Здесь mac-адрес отправителя мой (здесь я спрятал свой Mac-адрес). целевой IP мой. Почему мой компьютер отправляет себе ARP-запрос? Нашел 3 пакета такого типа. Для этих пакетов не было ответа ARP. Кто-нибудь может объяснить мне, почему это так? (Моя операционная система - Windows-7. Я напрямую подключен к Wi-Fi-модему. Я получил эти пакеты, как только начал подключение.)
Я хочу еще одно предложение. Во многих местах я читал, что RFC достаточно для изучения протоколов. Я изучал RFC 826 по ARP. Я лично считаю, что этого совсем недостаточно. Есть предложения по этому поводу? Есть ли более 1 RFC для протокола? Хочу подробно изучить протоколы. Кто-нибудь может помочь мне в этом? Заранее спасибо.
Такое поведение - очень хороший способ найти потенциально повторяющийся IP-адрес.
Если ваш компьютер не получает ответа, значит, он единственный с этим IP-адресом. Если ваш компьютер получает ответ, значит, есть другой компьютер с тем же IP, что, очевидно, является проблемой.
Что касается RFC, мне их ужасно читать. Я использую их только для справки по конкретным проблемам. Я, наверное, прочитал только одну от начала до конца. Остальное читаю по битам. ИМО, я считаю, что лучший способ узнать о чем-то - это взять книгу О'Рейли или подобную бумажную книгу и прочитать ее.
Для одного протокола может быть несколько RFC. Например, IPv6 имеет 10 различных RFC, касающихся только механизмов перехода с IPv4 на v6. Есть много других для таких вещей, как обнаружение соседей. SCTP также покрывается 4 RFC.
Это стандартное поведение для предотвращения конфликтов IP. Это обсуждается в RFC 5227 Обнаружение конфликтов IPv4-адресов. Это также позволяет маршрутизаторам и соседям обновлять свои таблицы ARP, чтобы они могли связываться с вашим компьютером.
Спросив, у кого есть IP-адрес, можно определить, используется ли этот IP-адрес. Это позволяет компьютеру хотя бы регистрировать существование конфликта, если он существует.
Именно этот механизм позволяет компьютеру использовать автоматическую настройку IP-адреса для работы с блоком адресов 169.254.0.0/16. Компьютеры генерируют адрес в этом диапазоне, а затем используют APR, чтобы узнать, доступен ли он. В противном случае они пробуют другие адреса, пока не найдут один доступный. Поскольку сети обычно небольшие, а диапазон адресов охватывает более 65000 адресов, они могут быстро найти адрес.
В arpwatch
Утилита создает базу данных на основе сообщений arp, которые можно использовать для уведомления администраторов, если адреса находятся в конфликте или переносятся на новое оборудование.