Kommunikation vom µC über Ethernet zu PC ohne Protokolloverhead

Gast #3792712
Hallo,

ich möchte Kommunikation von einem µC an den PC über Ethernet 
ermöglichen. Dabei möchte ich raw Daten Versenden, d.h. keine 
Zusätzlichen overhead auser source, destination und length haben.
Wie kann ich dabei auf dem PC solche Daten versenden und empfangen?
Ob mit einem Terminal, mit c++ oder Java ist mir erstmal egal.

Gruß, rawer
Gast #3792738
Vielen Dank für die schnelle Antwort!

Dazu aber noch ein paar Fragen:
-Wikipedia sagt: a raw socket is an internet socket that allows direct 
sending and receiving of Internet Protocol packets without any 
protocol-specific transport layer formatting.
D.h. der IP Header kann nicht verändert werden. Scheinbar ist dieser 
wiki Eintrag aber nicht korrekt, richtig?

-Ich verwende win7. Kann ich die winsock API benutzen, oder würden Sie 
etwas anderes empfehlen?

-Wenn mein Programm die gesammte Ethernet Kommunikation abhören will, 
bekomme ich dann nicht ein Problem mit anderen Programmen, die auch 
darauf zugreifen wollen?
Gast #3792777
Raw Data heisst nicht unbedingt auch Raw Socket - TCP oder UDP ist dein 
Freund.

Z.B. ein Arduino nebst Ethernetshield und das 
Ethernet-Lib-Beispielprogramm sind ein guter Start. Wenn du schon mal 
programmiert hast, bist du nach 1 Stunde fertig ...
Gast #3792798
Ich wuerde es mit UDP versuchen. Vom TCP/IP-Stack musst du dann auf 
Seite des Controllers nicht so viel implementieren. Auf PC Seite hast du 
dann den Vorteil dass du mit Standardschnittstellen arbeiten kannst und 
es fertige Tools wie Wireshark gibt die dir bei der Fehlersuche helfen.
Gast #3792809
TCP bzw. UDP, selbst IP will ich gerade nicht verwenden, weil ich die 
Header nicht haben will.

JojoS schrieb:
> noch tiefer geht es mit einem
> Pakettreiber wie WinPCap

Das sieht gut aus! Ich werde mir das gleich mal genauer anschauen.


Vielen Dank für die Antworten!
Gast #3793306
Der schon genannte pcap Treiber sollte dir eine Kommunikation auf der 
untersten Ebene ermöglichen. Soweit ich weiss sind bei der Installation 
schon einige Beispielprogrämmchen dabei, die dir den Einstieg 
erleichtern.
Viel Erfolg!
#3794598
UDP Header ist ja schon SEHR schlank, ..
und hat eigentlich nur Vorteile..

darf man also trotzdem fragen was du vor hast?
(u.U: machst du dir unnötige Arbeit..)

bei dem was du vor hast, sollte WireShark schon längst installiert sein, 
(und damit auch WinPCap) ..
Gast #3808934
Besser Spät als nie!

Ich möchte mit einem Zynq per Ethernet kommunizieren. Im Moment sollen 
zwar große Pakete verschickt werden, aber im allgemeinen möchte ich auch 
kleine Pakete verschicken, bei denen sich der Overhead dann deutlich 
auswirken könnte.

Um das Program auf dem Zynq möglichst klein zu halten (ich programmiere 
bare metal, d.h. ohne Linux), möchte ich dort auch keinen IP Stack 
draufpacken.

Nochmal danke für alle antworten!
Gast #3809757
rawer schrieb:
> Um das Program auf dem Zynq möglichst klein zu halten (ich programmiere
> bare metal, d.h. ohne Linux), möchte ich dort auch keinen IP Stack
> draufpacken.

für UDP braucht man keine Stack, du musst dir ja keinen Status merken. 
Der Overhead sind dann nur 20byte.

Dafür hat man den Vorteil das man es ohne aufwand auch routen kann.
#3810077
rawer schrieb:

> Ich möchte mit einem Zynq per Ethernet kommunizieren. Im Moment sollen
> zwar große Pakete verschickt werden, aber im allgemeinen möchte ich auch
> kleine Pakete verschicken, bei denen sich der Overhead dann deutlich
> auswirken könnte.

Denke daran, dass Ethernet-Pakete minimal 64 Byte groß sind.

fchk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.