mikrocontroller.net

Forum: PC Hard- und Software Ping - Befehl: Einstellen einer bestimmten Last auf der Leitung


Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend!
Ich bin am überlegen, wie der Ping-Befehl genau funktioniert. Und zwar 
möchte ich in einem 10 MBit Ethernet einer Last auf der Leitung von 10 
MBit erreichen. Der Befehl z.B. ping 192.168.1.20 sendet nur viermal ein 
Packet aus 56 Bytes + 8 Bytes ICMP data.

Wie bekomme ich den Kanal voll?
Sind die Befehle bei Linux und bei Windows die gleichen?

Ich bekomme es nur hin, dass mehr als 64 Bytes gesendet werden:
ping 192.168.1.20 -l 1250

Jetzt werden 1250 Bytes gesendet. Das entspricht einer Last von

Dieser Parameter ist laut 
http://help.expedient.com/broadband/mtu_ping_test.shtml auf 1462 
begrenzt.

Ich meine, es gäbe noch einen Befehl, mit dem die Datengröße anstatt 8 
Bytes vergrößert werden kann.

Vielen Dank!
Jürgen

Autor: Nonsense (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal Iperf und DITG an, sind Lastgeneratoren, die sind für 
sowas besser geeignet meiner Meinung nach.

Autor: Juergen Roeck (stumpjumper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Linux kann der Ping etwas mehr als unter windows.
Z.B Ping -s 4096 host
setzt einen Ping mit 4096 Bytes Paketgrösse ab.
Mit dem Parameter -f kann ein flood ping erzeugt werden.
Ein flood ping wartet nicht auf die Antwort des letzten Pings sondern 
schiebt sofort das nächste Paket raus.
Achtung: Ich muß wohl nicht dazu sagen dass ein flood ping auf einen 
fremden HOST sehr unhöflich ist.

Autor: Icke ®. (49636b65)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nur um die Last geht, ist Iometer vielleicht besser geeignet.

http://www.iometer.org/

Autor: Name (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:
> Dieser Parameter ist laut
> http://help.expedient.com/broadband/mtu_ping_test.shtml auf 1462
> begrenzt.

Also mein Win 7 x64 schafft 65500 Byte

Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nonsense schrieb:
> chau dir mal Iperf und DITG an, sind Lastgeneratoren, die sind für
> sowas besser geeignet meiner Meinung nach.

Hi!
Ja es ging mir mehr um die Befehle! Ich will auch gar keinen flood-Ping 
auf einen Fremden Host senden.

Ich habe ein Praktikumsversuch, und muss das dafür verwenden.
Dort wird mit Linux-PCs gearbeitet, das kann ich also im Vorfeld gar 
nicht ausprobieren....

ping 192.168.1.20 -s 1250 -l 1000


So, jetzt beträgt die Paketgröße 1250 Bytes = 10 Kbit.
Das ganze sende ich 1000 mal hintereinander, sodass ich 10 Mbit 
erreiche.
Ist das so korrekt?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:
> Das ganze sende ich 1000 mal hintereinander, sodass ich 10 Mbit
> erreiche.
> Ist das so korrekt?
kommt darauf an ob die 10Mbit/s meinst oder insgesmat 10Mbit. Als 
nächsten muss dir dir noch überlegen wie du die größe überhaupt angibst.

Ein Ping mit 1000byte Nutzlänge hat noch ein offset ist also länger als 
1000byte. Als nächstes kommt noch das Problem das 1000byte != 1kbyte 
sind.
http://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fix

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Als nächstes kommt noch das Problem das 1000byte != 1kbyte
> sind.

Genau das sind sie aber, wie der von Dir verlinkte Wikipedia-Beitrag 
beschreibt.

1000 Byte != 1 kiByte, das ja. Aber 1000 Byte == 1 kByte.


Die Menge der übertragenen Daten ist aber trotzdem eine andere, weil die 
übertragenen IP-Pakete noch einiges an Overhead enthalten, vom 
Ethernet-Overhead ganz abgesehen.

Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> kommt darauf an ob die 10Mbit/s meinst oder insgesmat 10Mbit. Als
> nächsten muss dir dir noch überlegen wie du die größe überhaupt angibst.

Ja, ich möchte 10 Mbps erreichen.
Stimmt denn die Theorie wenigstens, mit dem Befehl

ping 192.168.1.20 -s 1250 -l 1000

dies zu bezwecken?


Wenn

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:
> Ja, ich möchte 10 Mbps erreichen.
> Stimmt denn die Theorie wenigstens, mit dem Befehl
> ping 192.168.1.20 -s 1250 -l 1000
> dies zu bezwecken?
nein weil du ping nicht dazu bringen kannst das ganze in 1 sekunde 
auszuführen.

Autor: Tom M. (tomm) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:
> Ja, ich möchte 10 Mbps erreichen.
> Stimmt denn die Theorie wenigstens, mit dem Befehl
>
> ping 192.168.1.20 -s 1250 -l 1000
>
> dies zu bezwecken?

Nein, weshalb hat der Vorredner schon festgestellt.

Was du mit "Bordmitteln" machen kannst ist mittels Download eine 
ungefähre Auslastung auf dem Link erreichen, z.B. mit wget oder curl. 
Bei curl kannste dazu --limit-rate verwenden, wget hat auch sowas. RTFM. 
:)

Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm ich soll irgednwie in einem selber aufgebauten 10 Mbps Netzwerk 
Kollisionen erzwingen, um auszuwerten, was dabei geschieht.

Dazu senden 2 Hosts an einen 3. Host Daten. Die Wahrscheinlichkeit, dass 
es zu Kollisionen kommt, ist mit dem normalen ping Befehl eher gering.
Deshalb muss man die Kanal irgendwie auf volle Belastung bringen, so, 
dass beide Rechner mit 10 Mbps senden.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:

> Hmm ich soll irgednwie in einem selber aufgebauten 10 Mbps Netzwerk
> Kollisionen erzwingen, um auszuwerten, was dabei geschieht.

Für häufige Kollisionen brauchst du viele kleine Pakete, nicht wenige 
grosse. Und mehrere Stationen müssen diese senden. Zudem besteht ein 
Zusammenhang zwischen der Signallaufzeit im Kabel und der 
Kollisionswahrscheinlichkeit: wenn zwei Stationen (zeitlich) dicht 
beieinander sitzen, dann ist eine Kollision dazwischen weniger 
wahrscheinlich als bei grossem Abstand.

Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Für häufige Kollisionen brauchst du viele kleine Pakete, nicht wenige
> grosse. Und mehrere Stationen müssen diese senden. Zudem besteht ein
> Zusammenhang zwischen der Signallaufzeit im Kabel und der
> Kollisionswahrscheinlichkeit: wenn zwei Stationen (zeitlich) dicht
> beieinander sitzen, dann ist eine Kollision dazwischen weniger
> wahrscheinlich als bei grossem Abstand.

Okay, aber wenn ein PC mit 10 Mbps sendet und die Kanalbandbreite voll 
ausnutzt, so kommt es doch auch zu Kollisionen. Die PCs befinden sich 
direkt nebeneinander, aber es wird ein etwa 120m langes Kabel verwendet.

Mir geht es jetzt noch um den ping befehl, mit dem ich die Übertragung 
zu Kollisionen bringen kann ;-)

Das mit den kurzen Paketen klingt schlüssig, da ja dann öfter gesendet 
wird und der Kanal dann zu viel mehr Zeiotpunkten frei ist, sodass 
Kollisionen wohl auch öfter auftreten können.

Dann würde ich es so probieren:
ping 192.168.1.20 -s 8 -f

Jetzt werden dauerhaft 8 Bytes versendet...mit überflutungsbefehl

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei eigentlich große Pakete allgemein anfälliger sind gegen Störungen.

Autor: Icke ®. (49636b65)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung, warum du dich so am Ping festkrallst. Für die Erzeugung 
von Netzlast ist es jedenfalls nicht besonders geeignet. Oben wurden 
schon diverse Tools genannt, alternativ ganz simpel große Dateien über 
das Netzwerk kopieren. Mehr Last geht fast nicht...

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen Hems schrieb:
> Hmm ich soll irgednwie in einem selber aufgebauten 10 Mbps Netzwerk
> Kollisionen erzwingen, um auszuwerten, was dabei geschieht.

Du erwartest aber keine Schwarzen Löcher oder so? Was "passiert" steht 
doch schon in der Netzwerkspezifikation.
Und wenn das ganze, wie heute üblich, über einen Switch läuft hast du 
vermutlich sowieso keine "echten" Kollisionen. Also wäre es mal 
interessant was genau du da "irgendwie auswerten" willst.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi40 schrieb:

> Wobei eigentlich große Pakete allgemein anfälliger sind gegen Störungen.

Bei mieser Leitung ja, aber mit Kollisionen hat das dann überhaupt 
nichts zu tun. Eine Node plappert ja nicht einfach so mittel in die Rede 
rein, sondern wartet höflich bis der Sprecher durch ist. Zur Kollision 
kommt es, wenn dann mehrere gleichzeitig zur Rede ansetzen. Die erwähnte 
lange Leitung braucht es, damit die Wahrscheinlichkeit steigt, dass die 
eine Node nicht rechtzeitig merkt, dass die andere schneller war.

Autor: TH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
unter unix-artigen OS gibt es häufig auch ein tool namens bing ja mit b. 
dieses kann die geschwindigkeit eines links mittels icmp nachrichten 
messen.



gruss

 TH

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.