Размер пакета более 1500

Я пытаюсь отправить более 2000 байт данных с помощью SharpPcap и PacketDotNet. Но MTU (1500 байт) меньше размера данных. Я попытался установить MTU (до 5000) с помощью https://support.zen.co.uk/kb/Knowledgebase/Changing-the-MTU-size-in-Windows-Vista-7-or-8, но все равно это выдает ошибку следующим образом:

SharpPcap.PcapException: Can't send packet: send error: PacketSendPacket failed
at SharpPcap.LibPcap.LibPcapLiveDevice.SendPacket(Byte[] p, Int32 size)
at SharpPcap.LibPcap.PcapDevice.SendPacket(Byte[] p)
at SharpPcap.LibPcap.PcapDevice.SendPacket(Packet p)

Может кто-нибудь помочь мне здесь...

0 ответов

Для отправки пакетов Ethernet размером более 1500 байт в Windows вам понадобятся 2 вещи:

  • Измените MTU (вы уже это сделали)
           netsh interface ipv4 set subinterface "Your Interface Name" mtu=2000 store=persistent
  • Вам необходимо активировать Jumbo Frames в диспетчере устройств

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

Другие вопросы по тегам