Кто-нибудь знает номер Ethertype UDP и TCP? Я знаю, что IPv4 — это 0x0800, а IPv6 — это 0x86dd. Я пишу программу, которая дает мне информацию о пакете в зависимости от его типа.
Типы заголовков PCAP
Ответы (2)
Фрейм Ethernet состоит из трех частей: источника, MAC-адреса назначения и типов Ethertype. Ethertypes показывают нам, как Layer-2 взаимодействует с Layer-3 в модели OSI. Когда вы ищете модель, на уровне 3 в IPv4 есть поле протокола, чтобы определить, является ли это TCP, UDP, ICMP или чем-то еще. На уровне 4 в рамках TCP и UDP у нас есть порт для определения того, какое приложение должно обрабатывать пакет.
Таким образом, TCP и UDP не имеют типов Ethertype, вместо этого у них есть номера протоколов. Ниже приведены номера протоколов для UDP и TCP:
0x11 для протокола пользовательских дейтаграмм (UDP)
0x06 для протокола управления передачей (TCP)
EtherType — это тип сетевого уровня, который представляет собой уровень 3 в OSI. модели и находится как поле кадра Ethernet (канальный уровень, номер 2). TCP и UDP — это транспортный уровень, который находится на один уровень выше сетевого уровня. Так что для этих протоколов нет EtherType. Обычно они реализуются поверх уровня IP (IPv4 или IPv6) и имеют номер типа протокола, который короче и вместо этого содержится в заголовке IPvX.