Archiv verlassen und diese Seite im Standarddesign anzeigen : MTU mittels sockets ermitteln?
Hey @all,
ich bräuchte irgendwie die möglichkeit die mtu zu ermitteln. Kann man sowas mit c/c++ hinbekommen und wenn ja wie?
bräuchte das für Windows (>= W2K) und Linux.
Hoffe mir kann diesbezüglich jemand helfen, bin über jede info dankbar
Vielen Dank im Voraus
Lg freeze
butterkeks
27.08.2007, 17:34
schau dir dazu mal die IP_MTU und IP_MTU_DISCOVER Flags von getsockopt() an... das sollte zumindest unter linux gehen
Danke vielmals, aber wie bekomme ich die mtu unter Windows? :(
Lg
mnemonic
30.08.2007, 10:32
Über die Registry, wie so ziemlich alles andere auch...
System Key: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\[Adapter ID]]
Value Name: MTU
Data Type: REG_DWORD (DWORD Value)
Value Data: Default = 0xffffffff
Quelle: http://www.pctools.com/guides/registry/detail/280/
Hey @all,
ich bräuchte irgendwie die möglichkeit die mtu zu ermitteln. Kann man sowas mit c/c++ hinbekommen und wenn ja wie?
bräuchte das für Windows (>= W2K) und Linux.
Hoffe mir kann diesbezüglich jemand helfen, bin über jede info dankbar
Vielen Dank im Voraus
Lg freeze
Neben den bereits angesprochenen Varianten geht natürlich auch ein portabler Ansatz. Dazu mußt du schrittweise längere UDP-Pakete übertragen. Sobald die MTU überschritten wird, müssen zwei Pakete gesendet werden, die Antwortzeit bricht damit ein. Da das ein empirischer Ansatz ist, der von Paketwiederholung, Kollisionen und anderen Aspekten überlagert sein kann, muß die Messung natürlich mehrfach durchgeführt werden. Wenn der Messvorgang über mehrere Hops geht, bekommst du so maximal die *kleinste* beteiligte MTU heraus, mithin wird sich das über einen Messbereich verschmieren, so daß du real eher eine mittlere MTU plus einer mittleren Fehlerabweichung bestimmen wirst.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.