Pregunta

Tengo que construir un emulador de dispositivos que pueden comunicarse a través de la dirección IP real

Es necesario crear tantas instancias que pueda por el dispositivo. Con una dirección IP y MAC para cada instancia del emulador

puede cualquiera que me guía a uno cómo esto se puede lograr Can?

¿Fue útil?

Solución

Cinco o seis años atrás, me he quedado atrapado escribir una capa de emulación de red para un juego de PS2. Me dijeron que todos los comportamientos clásicos de una conexión a Internet tuvieron que ser visualizada; características de pérdida realistas, la reordenación de paquetes, latencia, pérdida de paquetes fiebre inducida. En esencia, me dijeron que para poner en práctica el Internet en un par de semanas.

Me sugirió acaba rebotando por todo nuestro tráfico juego fuera un eco servidor remoto. Cuando me dijeron que estaba absolutamente prohibido enviar tráfico desarrollo a lo largo de los cables públicos, simplemente crea un servidor que todo el mundo señaló sus devkits PS2 en ese almacenaría cada paquete que recibe y envía un doppleganger (lleno de un ID para el paquete original además de un montón de basura al azar para que sea del mismo tamaño) a los servidores de eco me encontré. Cuando se recibió la doppleganger, me gustaría pasar el paquete original a su destino original.

Boom. simulación de Internet con todas las espinas en menos de 8 horas.

ACTUALIZACIÓN:

Dado el éxito de la respuesta aquí, yo reimplementada el servicio de un juego de eco tiempo atrás. Parecía que github podría ser un mejor lugar para guardar, por lo aquí es : Si funciona para ¡que gran! Si no es así, hágamelo saber. Espero su estado actual a ser inestable en el mejor.

Otros consejos

Agregar un rango de direcciones IP virtuales en Windows

Vea el 21 de febrero de 2006 13:18 post por gil.elessar

.

Para su referencia:

Netsh comandos para la interfaz IP

Netsh comandos

Puede utilizar comandos en el contexto de Netsh interfaz IP para configurar el protocolo TCP / IP (incluyendo direcciones, puertas de enlace predeterminada, los servidores DNS y servidores WINS) y para la configuración de pantalla y la información estadística.

Una idea simple woul ser usada para User-Mode Linux (UML) , una puerto del kernel de Linux en el espacio de usuario. Permite múltiples sistemas Linux virtuales (conocidos como clientes) que se ejecute como una aplicación dentro de un sistema Linux normal (conocido como el anfitrión).

Es muy ligero, en la CPU y la memoria. Por ejemplo, yo estoy usando más de 10 UML en el mismo tiempo en un PC "no muy reciente", usando Netkit , un simulador de red basado en UML. UML es la luz porque es una aplicación nativa, no virtualización pesada (VMware, VirtualBox, qemu) ni para-virtualización (Xen).

A medida que las interfaces de red se implementan para ser capaz de conectarse a otros sistemas UML (utilizando uml_switch), que puede tener cualquier dirección MAC que desea. Si es necesario conectar estas máquinas UML para el sistema o los servidores externos, puede crear dispositivos virtuales utilizando TUN / TAP.

PD: Si estás en Windows, puede intentar CoLinix , puerto de Linux Kernel para M $ OS, no sé si tiene mismas características que el UML.

Se podría tratar de usar adaptadores de bucle. El uso de este se puede establecer ninguna dirección IP o MAC. Funciona muy bien para emular varias conexiones de red.

es necesario estudiar la capa de enlace de datos en profundidad en la parte de codificación - a continuación, se puede entender la forma en que obtener la dirección MAC y la comunicación b / w IP y MAC

dependiendo de qué tipo de dispositivo que necesita, puede ser feliz con una serie de motores de PC virtuales, la sobrecarga es alta (toda la PC se emula en lugar de sólo una interfaz de red) por lo que no va a terminar con 1000 máquinas , pero esto es un "fuera de la caja" solución -. y cada PC virtual puede tener varias tarjetas de red virtuales

Me sugieren que es mejor no empezar a reinventar la rueda. Hay hardware, así como soluciones de software para este problema en particular. También se adapta muy bien a la carga de red (y el rendimiento) Pruebas.

La desventaja es tales legados son bastante caros.

Cisco pakcet trazador que permite emular el tráfico de red con una interfaz gráfica de usuario. Im surpised nadie mencionó que (su limitada a los dispositivos de Cisco, pero el nivel es el mismo en todos los dispositivos por lo que sería comandos para su dispositivo específico de aprendizaje).

Trate de hacer una búsqueda en Google, porque en circunstancias normales, su único disponibles para los estudiantes de CCNA pero mantuve una copia porque mi maestro me dejó.

O usted podría encontrar alguien publicó una copia en algún lugar de su clase en el Internet.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top