Domanda

Devo creare un emulatore di dispositivo in grado di comunicare tramite un indirizzo IP reale

Devo creare quante più istanze possibili per il dispositivo.Con un indirizzo IP e MAC per ciascuna istanza dell'emulatore

Qualcuno può guidarmi come questo può essere raggiunto?

È stato utile?

Soluzione

Cinque o sei anni fa, sono rimasto bloccato a scrivere uno strato di emulazione di rete per un gioco PS2. Mi è stato detto che tutti i classici comportamenti di una connessione a Internet dovevano essere visualizzato; caratteristiche di perdita realistiche, pacchetti Riordino, latenza, perdita di pacchetti rush indotta. In sostanza, mi è stato detto di implementare internet in un paio di settimane.

ho suggerito appena rimbalzare tutto il nostro traffico incontro un server remoto eco. Quando mi è stato detto che era assolutamente vietato inviare il traffico di sviluppo fuori sopra i fili pubbliche, ho semplicemente creato un server che ognuno ha i propri devkits PS2 a che memorizzare ogni pacchetto ha ricevuto e inviare un doppleganger (pieno di un ID per il pacchetto originale oltre a un mucchio di spazzatura casuali per rendere la stessa dimensione) verso i server di eco mi sono imbattuto. Quando è stato ricevuto il doppleganger, vorrei passare il pacchetto originale su alla sua destinazione originale.

Boom. simulazione di Internet con tutti gli spine in meno di 8 ore.

UPDATE:

Visto il successo della risposta qui, ho reimplementato il gioco di servizio eco un po 'indietro. Sembrava che GitHub potrebbe essere un posto migliore per riporre, quindi qui è : Se funziona per si, grande! Se no, me lo faccia sapere. Mi aspetto che il suo stato attuale di essere traballante al meglio.

Altri suggerimenti

aggiungere un intervallo di indirizzi IP virtuali in Windows

Vedere la 21 febbraio 2006, 13:18 Rispondi da gil.elessar

.

Per il vostro riferimento:

Netsh comandi per l'interfaccia IP

comandi netsh

È possibile utilizzare i comandi nel contesto Netsh interfaccia IP per configurare il protocollo TCP / IP (inclusi indirizzi, gateway predefiniti, server DNS e server WINS) e per visualizzare la configurazione e le informazioni statistiche.

Una semplice idea woul essere utilizzato per User-Mode Linux (UML) , un porto del kernel di Linux nello spazio utente. Esso consente a più sistemi Linux virtuale (conosciuta come ospiti) per eseguire come applicazione all'interno di un normale sistema operativo Linux (noto come il padrone di casa).

E 'molto leggero, in CPU e la memoria. Per esempio sto utilizzando più di 10 UML allo stesso tempo su un PC "non troppo recente", utilizzando Netkit , un simulatore di rete basata su UML. UML è luce, perché si tratta di un'applicazione nativa, non pesante virtualizzazione (VMware, VirtualBox, QEMU) né para-virtualizzazione (Xen).

Come le interfacce di rete sono implementati per essere in grado di connettersi ad altre macchine UML (usando uml_switch), si può avere qualsiasi indirizzo MAC che si desidera. Se avete bisogno di collegare queste macchine UML per il sistema o host esterni, è possibile creare i dispositivi virtuali utilizzando TUN / TAP.

PS: Se siete su Windows, è possibile provare a CoLinix , porto di Linux Kernel per M $ OS, non so se ha stesse caratteristiche di UML.

Si potrebbe provare a utilizzare adattatori di loopback. Usando questo è possibile impostare un indirizzo IP o MAC. Funziona alla grande per emulare varie connessioni di rete.

è necessario studiare lo strato di collegamento dati in modo approfondito nella parte di codifica - allora si può capire il modo in cui ottenere l'indirizzo MAC e la comunicazione b / w MAC e IP

a seconda del tipo di dispositivo che si ha bisogno, si può essere felice con un numero di motori di Virtual PC, il sovraccarico è alta (intero PC è emulato invece di un'interfaccia di rete) in modo da non finire con 1000 macchine , ma questo è un "out of the box" soluzione -. e ogni PC virtuale può avere un numero di schede di rete virtuali

Vi suggerisco di meglio non iniziare a reinventare la ruota. Ci sono hardware e soluzioni software per questo particolare problema. Sono anche molto adatto alla rete del carico (e velocità) -test.

Il rovescio della medaglia è così escogita sono piuttosto costosi.

Cisco pakcet tracer ti consente di emulare il traffico di rete con una GUI.Sono sorpreso che nessuno lo abbia menzionato (è limitato ai dispositivi Cisco ma lo standard è lo stesso su tutti i dispositivi, quindi apprenderebbe i comandi per il tuo dispositivo specifico).

Prova a fare una ricerca su Google perché in circostanze normali è disponibile solo per gli studenti ccna, ma ne ho conservato una copia perché il mio insegnante me lo ha permesso.

Oppure potresti trovare qualcuno che ha pubblicato una copia della sua lezione da qualche parte su Internet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top