Назад | Перейти на главную страницу

Полученный пакет arp больше отправленного, почему?

Я пытаюсь решить проблему с сетью. Во время этого процесса я заметил, что когда я пытаюсь выполнить arping, полученные пакеты arp больше, чем отправленные пакеты arp, как выводит tcpdump.

(Обратите внимание, что оба конца имеют br100 мост к eth1 интерфейс).

Команда:

# arping 10.40.0.5 -I br100 -c1
ARPING 10.40.0.5 from 10.40.0.1 br100
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

tcpdump (отправитель):

# tcpdump -nnvvXSs 1514 arp -i eth1
tcpdump: WARNING: eth1: no IPv4 address assigned
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 1514 bytes
21:32:29.529106 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.40.0.5 (ff:ff:ff:ff:ff:ff) tell 10.40.0.1, length 28
    0x0000:  0001 0800 0604 0001 5478 1a86 50c9 0a28  ........Tx..P..(
    0x0010:  0001 ffff ffff ffff 0a28 0005            .........(..

tcpdump (получатель):

# tcpdump -nnvvXSs 1514 arp -i eth1
tcpdump: WARNING: eth1: no IPv4 address assigned
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 1514 bytes
21:32:29.532966 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.40.0.5 (ff:ff:ff:ff:ff:ff) tell 10.40.0.1, length 46
    0x0000:  0001 0800 0604 0001 5478 1a86 50c9 0a28  ........Tx..P..(
    0x0010:  0001 ffff ffff ffff 0a28 0005 0000 0000  .........(......
    0x0020:  0000 0000 0000 0000 0000 dac7 07ed       ..............

Полученный пакет arp на 18 байт больше отправленного пакета arp. Пытаюсь разобраться, нормально это или нет, или проблема. (Этот пакет в конечном итоге привязан к экземпляру виртуальной машины, который неправильно его получает).

Кто складывает эти 18 байтов и почему? Это отправитель, коммутатор или получатель? А что они означают?

Я подозреваю, что это коммутатор (Cisco Nexus 3000), и он связан с инкапсуляцией 802.1Q.

46 байт - это минимальный объем пользовательских данных, разрешенный в пакете Ethernet.

Имеется 8-байтовая преамбула, 6-байтовый MAC-адрес назначения, 6-байтовый исходный MAC-адрес, 2-байтовый тип / длина, пользовательские данные и 4-байтовая контрольная последовательность кадра. Поскольку минимум пакет составляет 64 байта, это означает, что размер пользовательских данных не может быть меньше 46 байтов.

Каждый протокол поверх Ethernet должен иметь дело с этим. ARP справляется с этим, игнорируя «мусор» после данных.

Просто хочу добавить дополнительную информацию (с точки зрения сети), почему маршрутизатор не принимает пакеты в каком состоянии

Если размер пакетов меньше 64 байтов, маршрутизатор примет пакеты как RUNT и отклонит эти пакеты.

(Пакеты <= 64 отклонить пакеты RUNT)

Поскольку размер заголовка пакетов равен 64, поэтому кажется, что пакеты не включаются в данные по какой-то причине повреждения пакетов.

Если размер пакетов превышает MTU порта (маршрутизатора) (по умолчанию 1500 для FastEthernet, 9000 для гигабитного интерфейса), то пакеты считаются гигантскими и отклоняются. Поскольку MTU порта составляет 1500, он не будет принимать эти пакеты.

(Пакеты> MTU порта (1500) Отклонить как GIANT)

Если размер пакетов 1519-1564, эти пакеты называются младшими пакетами Jambo и принимаются только тогда, когда MTU порта равен 9000.

Если все условия выполнены, маршрутизатор выполнит циклическую проверку избыточности (CRC).