У меня есть ситуация, когда я использую pcap_sendpacket () для размещения пакетов на проводе на уровне LLC
Это не тот уровень, на котором пакеты помещаются на провод - онивы подключены к канальному уровню, ниже уровня LLC;в Ethernet это уровень 802.3, а не уровень 802.2.
Является ли IEEE 802.2 Logical Link Control Layer (Ethernet) полнодуплексным?
Это не полныйдуплекс или полудуплекс.
Это также не Ethernet;он может работать поверх Ethernet, но он также может работать поверх FDDI или Token Ring или IEEE 802.11 или ....
Возможно, вы думаете о IEEE 802.3, который является Ethernet?Если это так, существуют как полнодуплексные, так и полудуплексные версии Ethernet.
Я наблюдал, когда скорость входящих пакетов особенно высока, я не вижу, чтобы мои исходящие пакеты появлялись в сети (использование wireshark).
Адаптеры Ethernet не получают свои собственные пакеты;если хост отправляет пакет, и код на этом хосте захватывается на адаптере, на котором отправляется пакет, то это потому, что сетевой стек ОС принимает отправляемые пакеты и предоставляет их в качестве входных данных для механизма захвата пакетов, а не потому, что пакетбыл получен сетевым адаптером, который вы захватываете.
Возможно, пакеты приходят слишком быстро, чтобы поток приема пакетов мог их увидеть?Используйте pcap_stats()
, чтобы увидеть, отбрасываются ли какие-либо пакеты.