Frage

Ich brauche einen Geräteemulator zu bauen, die Adresse echten IP-Kommunikation über kann

Ich brauche so viele Instanzen erstellen ich für das Gerät kann. Mit einer IP- und MAC-Adresse für jede Emulator Instanz

Can kann jeder eine Führungs mir, wie dies erreicht werden kann?

War es hilfreich?

Lösung

Fünf oder sechs Jahre war ich stecken eine Netz-Emulationsschicht für ein PS2-Spiel zu schreiben. Mir wurde gesagt, dass alle klassischen Verhalten einer Internet-Verbindung angezeigt haben; realistische Verlusteigenschaften, Paket-Umordnung, Latenz, eilen induzierten Paketverlust. Im Wesentlichen wurde ich gesagt, das Internet in ein paar Wochen zu implementieren.

Ich schlug vor, nur die gesamten Verkehr unseres Spiels abprallen eines Remote-Echo-Server. Als mir gesagt wurde, dass es absolut verboten Entwicklung Verkehr auszusenden über öffentliche Leitungen, habe ich einfach einen Server erstellt, dass jeder seine PS2 devkits zeigte auf, dass jedes Paket speichern würde es empfangen und eine doppleganger (Voll einer ID für das ursprüngliche Paket senden plus eine Reihe von zufälligem Müll macht es die gleiche Größe) aus dem Echoserver ich lief. Wenn die doppleganger empfangen wurden, würde ich das ursprüngliche Paket weitergeben zu seinem ursprünglichen Ziel.

Boom. Internet-Simulation mit allen Dornen in weniger als 8 Stunden.

UPDATE:

Der Erfolg der Antwort hier gegeben, reimplementiert ich das Spiel Echo-Service eine Weile zurück. Es schien, dass GitHub könnte ein besserer Ort sein, es zu verstauen, so hier ist es : Wenn es funktioniert für Sie, toll! Wenn nicht, lassen Sie mich wissen. Ich erwarte, dass sein aktueller Zustand bestenfalls wackelig sein.

Andere Tipps

eine Reihe von virtuellen IP-Adressen in Windows

Siehe 21. Februar 2006, 01.18 Uhr Post Antwort von gil.elessar

.

Für Ihre Referenz:

Netsh Befehle für Schnittstellen-IP

Netsh-Befehle

Sie können Befehle im Kontext netsh interface IP verwenden, um das TCP / IP-Protokoll (einschließlich Adressen, Standardgateways, DNS-Server und WINS-Server) und zur Anzeige Konfiguration und statistische Informationen zu konfigurieren.

Eine einfache Idee woul zu verwenden User-Mode Linux (UML) , ein Portierung des Linux-Kernel im User-space. Es ermöglicht mehr virtuellen Linux-Systeme (auch bekannt als Gäste) als Anwendung innerhalb eines normalen Linux-Systems (bekannt als Host) laufen zu lassen.

Es ist sehr leicht, in CPU und Speicher. Zum Beispiel ist ich mit mehr als 10 UML in der gleichen Zeit auf einem „nicht allzu recent“ PC, mit netkit , ein Netzwerk-Simulator basiert auf UML. UML ist leicht, weil es sich um eine native Anwendung ist, nicht schwer Virtualisierung (VMWare, VirtualBox, Qemu) weder para-Virtualisierung (Xen).

Da die Netzwerk-Schnittstellen implementiert werden können, andere UML Computern verbinden (mit uml_switch) können Sie jede MAC-Adresse haben Sie wollen. Wenn Sie diese UML-Maschinen auf Ihr System oder externen Hosts verbinden müssen, können Sie virtuelle Geräte mit TUN / TAP erstellen.

PS: Wenn Sie unter Windows sind, können Sie versuchen, CoLinix , Portierung von Linux-Kernel für M $ O, ich weiß nicht, ob es dieselben Eigenschaften als UML hat.

Sie könnten versuchen, Loopback-Adapter verwenden. Damit können sie jede IP- oder MAC-Adresse einstellen. Funktioniert hervorragend für verschiedene Netzwerkverbindungen emulieren.

Sie müssen die Sicherungsschicht in der Tiefe in dem Teil der Codierung studieren - dann kann man das verstehen, wie es Mac-Adresse und die Kommunikation b / w MAC- und IP

get

je nach, welche Art von Gerät, das Sie benötigen, können Sie mit einer Reihe von virtuellem PC Engines glücklich sein können, der Aufwand ist hoch (die ganze PC wird statt nur einen Netzwerk-Schnittstelle emuliert), so dass Sie nicht mit 1000 Maschinen am Ende , aber dies ein „out of the box“ Lösung ist -. und jeder virtueller PC eine Reihe von virtuellen Netzwerkkarten haben kann

Ich schlage vor, Sie besser beginnen nicht das Rad neu zu erfinden. Es gibt Hardware sowie Software-Lösungen für dieses spezielle Problem. Sie sind sehr gut auch für Netzlast geeignet (und Durchsatz) -Tests.

Der Nachteil ist, solche Vermächtnisse sind recht teuer.

Cisco pakcet Tracer können Sie emulieren Netzwerkverkehr mit einer gui. Im Surpised niemand erwähnte, dass (sein beschränkt auf Cisco-Geräte, aber der Standard ist das gleiche für alle Geräte, so dass es zu lernen Befehle für Ihr Gerät sein würde).

Versuchen Sie, weil unter normalen Umständen eine Google-Suche tut sie nur zu ccna Studenten aber ich hielt eine Kopie, weil mein Lehrer mich lassen.

Oder Sie könnten jemand finden eine Kopie von ihrer Klasse irgendwo im Internet veröffentlicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top