Сетевой симулятор
Мне нужно создать эмулятор устройства, который может обмениваться реальным IP-адресом
Мне нужно создать столько экземпляров, которые я могу для устройства. С одним IP и MAC-адресом для каждого экземпляра эмулятора
Может ли кто-нибудь объяснить мне, как это может быть достигнуто?
Ответы
Ответ 1
Пять или шесть лет назад я застрял в написании слоя эмуляции сети для игры PS2. Мне сказали, что должно быть отображено все классическое поведение интернет-соединения; реалистичные характеристики потерь, переупорядочение пакетов, латентность, потерю пакетов, вызванную спешкой. По сути, мне сказали внедрить интернет через пару недель.
Я предложил просто отскакивать весь наш игровой трафик с удаленного эхо-сервера. Когда мне сказали, что было абсолютно запрещено отправлять трафик разработки по общественным проводам, я просто создал сервер, на котором все указали свои dev2 для PS2, который будет хранить каждый полученный пакет и отправить doppleganger (полный идентификатор исходного пакета плюс куча случайного мусора, чтобы сделать его того же размера) на эхо-серверы, на которых я бежал. Когда doppleganger был получен, я передам исходный пакет в исходное место назначения.
Boom. Интернет-симуляция со всеми шипами менее чем за 8 часов.
UPDATE:
Учитывая успех ответа здесь, я повторно выполнил службу эхо-игры некоторое время назад. Казалось, что github может быть лучшим местом для его хранения, поэтому здесь он: если он работает для вас, отлично! Если нет, дайте мне знать. Я ожидаю, что его текущее состояние будет в лучшем состоянии.
Ответ 2
Виртуальный ПК 2007
http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en
.
Драйвер сети виртуальной машины
http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&displaylang=en
.
VMware Player: Windows
http://www.vmware.com/products/player/
Ответ 3
Добавить диапазон виртуальных IP-адресов в Windows
См. ответ от 21 февраля 2006 года, 1:18 вечера от gil.elessar
.
Для справки:
Команды Netsh для интерфейса IP
Команды Netsh
Вы можете использовать команды в контексте IP-интерфейса Netsh для настройки протокола TCP/IP (включая адреса, шлюзы по умолчанию, DNS-серверы и WINS-серверы) и отображения конфигурации и статистической информации.
Ответ 4
Простая идея - использовать User-Mode Linux (UML) - порт ядра Linux в пользовательском пространстве. Он позволяет нескольким виртуальным системам Linux (известным как гости) работать как приложение в обычной Linux-системе (известной как хост).
Он очень светлый, в ЦП и в памяти. Например, я использую более 10 UML одновременно на "не слишком недавнем" ПК, используя Netkit, сетевой симулятор, основанный на UML. UML является легким, потому что это собственное приложение, а не тяжелая виртуализация (vmware, virtualbox, qemu), ни паравиртуализация (xen).
Поскольку сетевые интерфейсы реализованы, чтобы иметь возможность подключаться к другим машинам UML (используя uml_switch), вы можете получить любой MAC-адрес, который вы хотите. Если вам нужно подключить эти UML-машины к вашей системе или внешним узлам, вы можете создавать виртуальные устройства с помощью TUN/TAP.
PS: Если вы находитесь в Windows, вы можете попробовать CoLinix, порт ядра Linux для M $OS, я не знаете, имеет ли он такие же характеристики, что и UML.
Ответ 5
Вы можете попробовать использовать loopback-адаптеры. С его помощью вы можете установить любой IP или MAC-адрес. Отлично работает для эмуляции различных сетевых подключений.
Ответ 6
вам нужно изучить глубину слоя данных в части кодирования - тогда вы можете понять, как он получает адрес mac и связь b/w mac и ip
Ответ 7
в зависимости от того, какое устройство вам нужно, вы можете быть довольны рядом виртуальных ПК, накладные расходы высоки (весь компьютер эмулируется вместо сетевого интерфейса), поэтому вы не получите 1000 машин, но это решение "из коробки", и каждый виртуальный ПК может иметь несколько виртуальных сетевых карт.
Ответ 8
Я предлагаю вам лучше не начинать изобретать колесо. Для этой конкретной проблемы есть аппаратные средства, а также программные решения. Они также очень хорошо подходят для сетевых нагрузок (и пропускной способности) - тестов.
Недостаток таких устройств довольно дорог.
Ответ 9
Cisco pakcet tracer позволяет вам эмулировать сетевой трафик с помощью gui. Im surpised никто не упомянул, что (его ограничено устройствами cisco, но стандарт одинаковый для всех устройств, поэтому он будет изучать команды для вашего конкретного устройства).
Попробуйте выполнить поиск в Google, потому что при обычных обстоятельствах он доступен только для студентов ccna, но я сохранил копию, потому что мой учитель позволил мне.
Или вы можете найти, что кто-то отправил копию из своего класса где-то в Интернете.