Przechwytywanie ramek ethernet pod Windows (transmisja danych na drugiej wartwie OSI)

0

Ktoś może robił transmisje danych na trochę niższym poziomie ?
Chciałbym przepychać dane pomiędzy urządzeniem a komputerem za pomocą światłowodu
Zawsze to robiłem pod Linux a nie mam zielonego pojedzie jak podejsc do tematu pod windows. I już inżynierowie maja zajęcie bo ktoś zmienił koncept

Pod linux uzywam np.
https://www.ntop.org/products/packet-capture/pf_ring/pf_ring-zc-zero-copy/

2

Hasło do szukania to Kernel bypass networking a produkcyjnie widziałem aplikacje z użyciem biblioteki DPDK. O DPDK był przyzwoity artykuł w @Magazyn Programista w 11/2014 (30), ale od tamtego czasu trochę mogło się zmienić ;)

1

Chcesz te ramki przechwytywać czy nadawać? Jeśli tylko przechwytywać to po prostu użyj libpcap/winpcap.

4

Tak z ciekawości czemu jest ci to potrzebne?
Czy twoja apka u klienta musi robić coś dziwnego? Czy może chcesz podpatrzeć coś jak inna aplikacja działa? W takim wypadku WireShark wymiata.

0

Urządzenie to prototyp i do celow badawczo rozwojowych.
Z jednej strony jest duża elektronika z dużym FPGA ktore potrafi generować do 10 gigabit /s danych
Z drugiej strony PC ktory ma odebrać dane przetworzyć i coś narysować

Elektronik ma problem wyslac cos bardziej zawansowanego niż "ethernet frame" wiec jest zabawa na niskim poziomie

Libpcap strasznie gubi dane jak sie przesyla troche szybciej dane.

1

Z jednej strony jest duża elektronika z dużym FPGA ktore potrafi generować do 10 gigabit /s danych
Z drugiej strony PC ktory ma odebrać dane przetworzyć i coś narysować

To w pierwszej kolejności potrzebujesz sprzętu na PC, który tyle przyjmie. Jak już to ogarniesz to wspomniane przeze mnie wcześniej DPDK powinno podołać wyzwaniu jeśli wierzyć ich raportom wydajnościowym https://fast.dpdk.org/doc/perf/DPDK_22_03_Intel_NIC_performance_report.pdf

screenshot-20220630135757.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1