Schnuber B. schrieb:
> Was für einen Datendurchsatz erreicht man den mit den jeweiligen
> Methoden (WinPcap, NDIS). Ich habe eine Gigabit Ethernet schnittstelle
> und möchte damit mit der gleichen Methode wie unser Startautor  Ing. ET
> (Gast) daten darüber streamen. Mindestens 30 MB/s sollte hanfhabbar
> sein.
Zum Datendurchsatz kann ich Dir leider nichts allgemeingültiges sagen. 
Ich habe die jeweiligen Implementierungen im Rahmen von LAN-Bootloadern 
verwendet. Nachdem da seitenweise ins Flash geschrieben, CRC-Vergleiche 
vorgenommen und Protokollchecks durchgeführt werden, könnte man da nur 
einen absoluten E2E-Durchsatz messen, der sehr von der Performance des 
uCs und der Bootloader-Applikation + Protokoll abhängig ist (Blockgröße, 
Multipages, etc). Ich habe versucht den Bootloader auf unter 4k zu 
bringen, daher auch die RAW-Ethernet-Methode mit proprietärem 
Lightweight-Protokoll(gelandet bin ich dann bei etwa 3 kB).
Nachdem ich mit den PCAP Libs angefangen habe und ich zum Test einen 
644er geflasht habe, hatte ich Zeiten im Minutenbereich für den gesamten 
Flashinhalt (abzüglich Bootloader).
Das lag vor allem nicht an den Sendezeiten, sondern durch hohe Latenz 
beim Empfang innerhalb des PCap-Stacks.
Nachdem mein Bootloader-Client objektorientiert aufgebaut ist, habe ich 
den PCap-Stack gegen einen NDIS-Stack getauscht und lag so unter einer 
Minute.
D.h. hier war in etwa der Faktor 3 in der Performance zu sehen. Für 
meine Bootloader-Tests war diese Aussage ausreichend (insbesondere da 
die Engines dennoch softwaremäßig umschaltbar sind).
Bei Deinen angestrebten 30MB/s sollte zunächst mal definiert werden, von 
was gesprochen wird. Brutto-Durchsatz, Netto-Durchsatz, Datenrichtung, 
Protokollaufbau (Blockgrösse, Handshaking, Verbindungsart).
Möchtest Du ein eigenes Schicht 3 Protokoll entwerfen oder Dich an einen 
Standard halten ?
Wenn Du in diesen Parametern frei bist, kannst Du hier natürlich auf 
Performance optimieren, so wie ich im Rahmen des Bootloaders auf 
Programsize optimiert habe.
Ich schätze mal, daß bei Verwendung von NDIS der Flaschenhals für 30MBit 
sicher nicht im Treiber, bzw. der PC-Protokollimplementierung liegt.