Пересылка пакетов сетевого уровня в эмуляции LTE с использованием ns-3 - PullRequest
0 голосов
/ 12 марта 2019

Я пытался настроить связь клиент-сервер по эмулированному LTE-соединению на одном хосте linux, используя модуль LENA в ns-3, и застрял в сетевой части.Я довольно новичок в ns-3 и в сети ниже транспортного уровня в целом, поэтому я немного заблудился, пытаясь понять это.

Я хочу использовать эмулированную сеть для тестирования характеристик различных протоколов IoT прикладного уровня (таких как AMQP, MQTT, CoAP) в различных сетевых сценариях, и поэтому я хочу, чтобы клиентское и серверное приложение могли подключатьсядруг к другу так же, как и при использовании реальных сетей.Некоторые из протоколов используют TCP, а некоторые используют UDP, и я хочу иметь возможность использовать эмуляцию сети одинаково для обоих.Поэтому для меня идеальным сценарием было бы, чтобы эмуляция работала только на сетевом уровне и ниже, чтобы можно было устанавливать TCP-соединения непосредственно между клиентом и сервером, при этом возможная переадресация не происходила выше сетевого уровня.Это возможно в ns-3 или мне нужно сделать пересылку на транспортном уровне?

Я сделал так, чтобы пересылка пакетов UDP работала между реальным клиентом и сервером через эмуляцию ns-3, используя TapFdNetDevices, но, как я описал выше, это не будет работать в случае соединений TCP.Даже если бы я переписал этот модуль для использования TCP, протестированный сценарий не был бы реалистичным, поскольку было бы три отдельных TCP-соединения (клиент <-> клиент ns-3, клиент ns-3 <-> сервер ns-3,ns-3 server <-> Server), каждый со своей настройкой соединения и контролем перегрузки.Если бы переадресация выполнялась на сетевом уровне, этого можно было бы избежать, но я не могу понять, как это сделать.

Я также посмотрел код ipv4-forwarding-test.cc внутриИнтернет-модуль, но он использует UDP для пересылки пакетов.

Любая помощь, которую я могу получить, будет принята с благодарностью!

...