Socket Programmierung - ProtocolType.IP & ProtocolType.Raw auf .NET Compact Framework

29/04/2008 - 16:44 von Sebastian Klehm | Report spam
Hallo NG!

In einem Projektseminar geht es um die Implementierung eines Erweiterten
AODV (AdHoc On Demand Distance Vector) Protokoll.

Ich möchte das ganze möglichst komplett mit dem .NET Compact Framework
abdecken, da das ganze hauptsàchlich auf PDAs laufen soll, und nicht auf
Libraries wie zB WinPcap zurückgreifen, um für mich Pakete zu bekommen.

Die Frage ist nun, kann ich mit der .NET Socket Schnittstelle überhaupt auf
Pakete zugreifen, ab der Netzwerk-Schicht?

Danke für eure Hilfe!

MfG, Sebastian
 

Lesen sie die antworten

#1 Kerem Gümrükcü
29/04/2008 - 17:52 | Warnen spam
Hallo Stefan,

Die Frage ist nun, kann ich mit der .NET Socket Schnittstelle überhaupt auf
Pakete zugreifen, ab der Netzwerk-Schicht?



Sofern der Algoritmus auf der Basis von Sockets realsiert werden kann,
ist das sicherlich kein Problem, da z.B. die Socket Klasse des .NET
ein Maximum an Kontrolle über Datagramme gewàhrleistet. Soweit ich
das sehen kann, ist die Implementierung des Protokolles auf Basis von UDP
und IP realisiert. Wenn Du mit RAW Sockets und reinen Byte-Datenströmen
in .NET Arbeitest, sollte das gehen. Mit Sockets vom Typ SocketType.Raw
kannst Du z.B. IGMP/ICMP Ströme erstellen/bearbeiten. Schau Dir mal
das an:

[ProtocolType Enumeration]
http://msdn2.microsoft.com/en-us/li...ltype.aspx

[SocketType Enumeration]
http://msdn2.microsoft.com/en-us/li...ttype.aspx


Hier die RFC zu AODV Routing:
http://tools.ietf.org/html/rfc3561

Aber wenn Du noch weiter runter gehen musst, dann wirst Du an einem
NDIS/TDI Treiber/Filter nicht rumkommen. Ich habe das RFC nur
mal überflogen und es hat den Anschein gemacht, als wenn der Algo
auf Basis von UDP/TCP/IP realisiert ist. Aber auf die Transport und
Netzwerkschicht des OSI (3/4) kannst Du noch mit .NET zugreifen,
also TCP/UDP/IP. Aber für die direkte Manipulation von Routingdaten
und ànlichem, wirst Du in den Kernel gehen müssen, wohl oder
übel!

Grüße

Kerem

Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."

Ähnliche fragen