Forum: Mikrocontroller und Digitale Elektronik Netzwerk drosseln Hardware


von Tom (Gast)


Lesenswert?

Guten Abend,

ich müsste die Bandbreite einer Netzwerkverbindung drosseln, was ich 
suche ist eine Box mit zwei Netzwerkanschlüssen und einem Poti, mit dem 
man von 0 auf 100MBit stellen könnte.

Gibt es so etwas oder wie könnte man das bauen?

LG Tom

von Johan (Gast)


Lesenswert?

Ein schneller µC könnte das schaffen, wobei das Poti per ADC eingelesen 
wird und die Pakete mit entsprechender Verzögerung weitergeleitet 
werden.

von Tobias W. (hacker-tobi)


Lesenswert?

Wofür soll den das gut sein?

Für so etwas gibt es QoS Quality Of Service oder als Alternative auch 
Traffic Shaping.

QoS beherrschen schon viele einfache Router und Switches, Traffic 
Shaping (Bandbreitenbegrenzung) SoHo-Router wie z.B. Cisco 876.

gruß

tobi

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Das kann die bei Linux integrierte Firewall "iptables", wenn man sie 
entsprechend konfiguriert. Ein Poti an einen (kleinen) Linux-PC 
anschließen ist mit einem Mikrocontroller ja auch nicht so schwierig.

von (Ein) (Gast)


Lesenswert?

Niklas Gürtler schrieb:
> Ein Poti an einen (kleinen) Linux-PC
> anschließen ist mit einem Mikrocontroller ja auch nicht so schwierig.

Kann man sich nicht den µC sparen - sofern noch ein Gameport vorhanden 
ist? Mir war so, als könne man da direkt ein Poti anschließen...

von Johan (Gast)


Lesenswert?

(Ein) schrieb:
> Mir war so, als könne man da direkt ein Poti anschließen...

ja

von Lehrmann M. (ubimbo)


Lesenswert?

Tom schrieb:
> Gibt es so etwas oder wie könnte man das bauen?

Geben tut es sowas nicht. Als Box im kompakten Sinne (ein 
Microcontroller,...) auch nicht zu bauen. Zumindest nicht ohne 
weitreichende Kentniss in Netzwerktechnik

Johan schrieb:
> Ein schneller µC könnte das schaffen, wobei das Poti per ADC eingelesen
> wird und die Pakete mit entsprechender Verzögerung weitergeleitet
> werden.

Du bist der Brüller ... ich bin mir sicher mit einer Woche Lauftraining 
sprintest du schneller als jeder Porsche bei Vollgas fährt. Junge bitte 
- wenn du keine Ahnung hast (was hier offensichtlich der Fall ist) sei 
einfach still. Ich sag's öfters - such dir ne Freundin, wenn du schon 
soviel Zeit hast hier Müll zu labern. Bitte.

(Ein) schrieb:
> Niklas Gürtler schrieb:
>> Ein Poti an einen (kleinen) Linux-PC
>> anschließen ist mit einem Mikrocontroller ja auch nicht so schwierig.
>
> Kann man sich nicht den µC sparen - sofern noch ein Gameport vorhanden
> ist? Mir war so, als könne man da direkt ein Poti anschließen...

Das ist absolut korrekt. 0-100 kΩ sind wohl angesagt. Pins sind 3,6,11 
und 13.

von Onno K. (onno)


Lesenswert?

Hi,

warum sollte das nicht mit einem Mikrocontroller funktionieren? Für 
10MBit zumindest finde ich das sehr vorstellbar.

Ich stelle mir vor, das man z.B. einen AVR nimmt und den einfach mal ab- 
und an Packetloss erzeugen laesst, in dem er z.B. kurzzeitig mit 
entsprechendem Dutycycle je nach Poti die Datenleitungen blockiert.

Der Controller muss ja die Ethernetpakete nicht lesen können!

Die einzigen Probleme die ich dabei sehe sind folgende:

1. Man interferiert mit einer Brachialmethode zuviel mit den 
Synchronisationspulsen des Ethernetlinks und der Link geht hoch und 
runter. Aber das liesse sich evtl. dadurch beheben, dass man den AVR auf 
diese Pulse synchronisiert und nur Pakete blockiert, (pseudo)zufällig 
mit passender Rate.

2. Das 'Blockierfrontend' (evtl. einfach ein Paar AVR-Portpins welche 
ein Leitungspaar gegen Masse schalten bzw. auf tristate gehen) muss 
natürlich im offenen Zustand kein kapazitives oder sonstiges 
(Schutzdioden) Hindernis für den Datenfluss sein.

3. Die Antwort von TCP-Verbindungen auf den Paketloss ist nichtlinear. 
Und bei 10% Packetloss ist die Verbindung quasi im Eimer. Der AVR 
muesste den Potigang dann entsprechend entzerren.

Das wär doch mal ein spannendes Bastelprojekt :-)

Man könnte auch die Datenraten in die beiden Richtungen mit zwei Potis 
jeweils einzeln einstellen!

Ich würde allerdings auch eher Linux und iptables/tc benutzen... :P

von (prx) A. K. (prx)


Lesenswert?

Tom schrieb:

> ich müsste die Bandbreite einer Netzwerkverbindung drosseln, was ich
> suche ist eine Box mit zwei Netzwerkanschlüssen und einem Poti, mit dem
> man von 0 auf 100MBit stellen könnte.

Für PCs aller Grössen und jeden Alters gibt es diese Funktionalität in 
FLI4L. Von Haus aus nicht per Poti drosselbar, aber per Konfiguration.

von CISCO Engineer (Gast)


Lesenswert?

Hochinteressant welcher Blödsinn hier verzapft wird, Potis, QOS, etc.

Kauf Dir einen preiswerten aber hochqualifizierten kleinen Router von 
Microtik.
Die Geräte sind genial , kannst Du auch als reines Board mit deren OS 
kaufen

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lehrmann Michael schrieb:
> Du bist der Brüller ... ich bin mir sicher mit einer Woche Lauftraining
> sprintest du schneller als jeder Porsche bei Vollgas fährt. Junge bitte
> - wenn du keine Ahnung hast (was hier offensichtlich der Fall ist) sei
> einfach still. Ich sag's öfters - such dir ne Freundin, wenn du schon
> soviel Zeit hast hier Müll zu labern. Bitte.

Mäßige Deinen Tonfall.

von Tiramisu (Gast)


Lesenswert?

Warnung: Autor hat engere Verbindung zum referenzierten
Produkt und dem dahinterstehenden Unternehmen.


> Gibt es so etwas oder wie könnte man das bauen?

GeNUBox (ggf. googlen) und ein Applikationspaket,
falls es ein kommerzielles Produkt sein soll/muss.
Die GeNUBox (mit einem OpenBSD Unix) ist eigentlich ein
(VPN-)Router, welcher jedoch mit Anwendungspaketen
erweitert werden kann.
Soweit ich mich erinnere, ist das Paket in einer
L2-Konfig verwendbar (es sieht also wie ein "normaler"
Switch aus) und man kann neben der bandbreite
auch vorgegebene Fehler-BERs über die Kommandozeile
einstellen (kein Poti ;-).

>Wofür soll den das gut sein?
-Also ich habe es mal in einer Konzernumgebung (>50k MA)
 eingesetzt. Die Leute in der Zentrale wollten mal wissen,
 wie sich eine http-Verbindung von einem südamerkanischen
 Land (56k Analog) für einen neu zu releasenden Webauftritt
 (ohne das Konzernnetz zu verlassen) anfühlt.
-Testumgebungen: wie verhält sich eine Anwendung mit
Übertragungsfehlern und langsamen Verbindungen.

von Reinhard Kern (Gast)


Lesenswert?

Tiramisu schrieb:
> Die Leute in der Zentrale wollten mal wissen,
>  wie sich eine http-Verbindung von einem südamerkanischen
>  Land (56k Analog) für einen neu zu releasenden Webauftritt
>  (ohne das Konzernnetz zu verlassen) anfühlt.

Da wäre es doch aber wesentlich einfacher, eine Testverbindung über so 
ein 56k-Modem aufzubauen.

Ja, ich weiss, Blumentöpfe gewinnt man hier nur mit möglichst 
komplizierten Lösungen für einfache Probleme. Daher schlage ich 
alternativ vor, die Verbindung so oft über Satellit und zurück zu 
leiten, dass die Verbindung langsam genug ist.

Gruss Reinhard

von erlkoenig (Gast)


Lesenswert?

Aber wozu braucht es da eine Extra-Hardware - warum nich einfach die 
Drosselung per Firewall auf dem Rechner mit dem Browser machen? (Der, 
der das dann mit 56k anzeigen soll)

von david (Gast)


Lesenswert?

hallo,

Hier gibt eine Live-CD für eine Bridge bei der du die Bandbreite, delay 
und packetloss via commandline einstellen kannst. Läuft auch auf einem 
schwachen rechner mit zwei Ethernetports.


http://code.google.com/p/wanbridge/

gruss
david

von Tom (Gast)


Lesenswert?

Guten Abend und vielen Dank für die Antworten.

Die Idee wäre es eine einfache Box zu haben, die zwei Netzwerkanschlüsse 
und ein Poti hat und fertig.

Habe noch etwas gegoogelt, was ich suche ist ein WAN Emulator, denke der 
letzte Link trifft es in etwa. Ich werde mal ein paar Versuche machen 
und gucken ob so funktioniert.

LG Tom

von Axel G. (axelg) Benutzerseite


Lesenswert?

Router verwerfen zumeist einfach Pakete, wenn die Bandbreite 
überschritten wird. Und das ist bei manchen Protokollen ziemlich übel.

Ich habe sowas vor kurzem schöner mit iptable bzw. tc gelöst:
1
DEV=eth0
2
/sbin/tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 100mbit
3
/sbin/tc class add dev $DEV parent 1: classid 1:1 cbq rate 300kbit allot 1500 prio 5 bounded isolated
4
/sbin/tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 192.168.223.71 flowid 1:1

Damit werden allem was zur IP 192.168.223.71 geht nur noch 300kbit zur 
Verfügung gestellt. Läuft 1A.

Dein Poti am Gameport müsste dann das "rate 300kbit" beeinflussen. 
Stelle ich mir sehr lustig vor, die Netzwerkgeschwindigkeit mit 'nem 
Drehknopf zu regeln.

Gruß
Axel

von CISCO Engineer (Gast)


Lesenswert?

Kann iptables in Verbindung mit der Firewall das dynamisch ??

Ich denke das wird nicht so ohne weiteres funktionieren.

Den Wert in der Datei über ein Potis zu ändern sollte nicht die hohe 
Kunst sein.

Potis am Parallelport oder auch ein Drehgeber und ein paar Zeilen  C 
oder ähnliches..

von Tom (Gast)


Lesenswert?

Hallo,

das Poti ist nicht das Problem, mit den Tiefen der Netzwerke habe ich 
eher meine Probleme. ;-)

LG Tom

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.