сетевое средство моделирования

Я должен создать эмулятор устройства, который может связаться по реальному IP-адресу

Я должен создать как много экземпляров, я могу для устройства. С одним IP-адресом и MAC-адресом для каждого экземпляра эмулятора

Банка кто-либо может вести меня, как это может быть достигнуто?

15
задан Buhake Sindi 1 March 2010 в 06:53
поделиться

8 ответов

Пять или шесть лет назад я застрял в написании слоя эмуляции сети для Игра для PS2. Мне сказали, что необходимо отобразить все классические модели поведения при подключении к Интернету; реалистичные характеристики потерь, переупорядочивание пакетов, задержка, потеря пакетов, вызванная срочностью. По сути, мне сказали внедрить Интернет через пару недель.

Я предложил просто отразить весь игровой трафик с удаленного эхо-сервера.Когда мне сказали, что абсолютно запрещено отправлять трафик разработки по общедоступным каналам, я просто создал сервер, на который все указали свои комплекты разработчика PS2, который будет хранить каждый полученный пакет и отправлять доппельгангер (полный идентификатора исходного пакета. плюс куча случайного мусора, чтобы он был такого же размера) на эхо-серверы, которые я запускал. Когда был получен доппельгангер, я передал исходный пакет его первоначальному месту назначения.

Бум. Интернет-симулятор со всеми шипами менее чем за 8 часов.

ОБНОВЛЕНИЕ:

Учитывая успешный ответ здесь, я повторно реализовал сервис эха игры некоторое время назад. Казалось, что github может быть лучшим местом для его хранения, поэтому вот оно : Если это сработает для вас, отлично! Если нет, дайте мне знать. Я ожидаю, что его нынешнее состояние в лучшем случае будет неустойчивым.

24
ответ дан 1 December 2019 в 02:29
поделиться

вам нужно глубоко изучить уровень канала передачи данных в части кодирования - тогда вы сможете понять, как он получает MAC-адрес и связь между ч / б Mac и IP

0
ответ дан 1 December 2019 в 02:29
поделиться

Я предлагаю вам не изобретать велосипед заново. Для этой конкретной проблемы есть как аппаратные, так и программные решения. Они также очень хорошо подходят для тестирования сетевой нагрузки (и пропускной способности).

Обратной стороной является то, что такие устройства довольно дороги.

0
ответ дан 1 December 2019 в 02:29
поделиться

в зависимости от того, какое устройство вам нужно, вы можете быть довольны несколькими движками виртуальных ПК, накладные расходы высоки (эмулируется весь ПК вместо просто сетевой интерфейс), так что у вас не будет 1000 машин, но это решение "из коробки" - и каждый виртуальный ПК может иметь несколько виртуальных сетевых карт.

0
ответ дан 1 December 2019 в 02:29
поделиться

Добавить диапазон виртуальных IP-адресов в Windows

См. Ответ на сообщение от gil.elessar

.

Для справки:

Команды Netsh для IP интерфейса

Команды Netsh

Вы можете использовать команды в контексте IP интерфейса Netsh для настройки протокола TCP / IP (включая адреса, шлюзы по умолчанию, DNS-серверы, и WINS-серверы), а также для отображения конфигурации и статистической информации.

1
ответ дан 1 December 2019 в 02:29
поделиться

Простая идея заключается в использовании 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 Kernel для M$ OS, я не знаю, имеет ли он те же характеристики, что и UML.

1
ответ дан 1 December 2019 в 02:29
поделиться

Вы можете попробовать использовать адаптеры обратной петли. Используя это, вы можете установить любой IP или Mac-адрес. Отлично подходит для эмуляции различных сетевых подключений.

1
ответ дан 1 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: