Как использовать EtherHost в OMNET ++

Я создаю симуляцию, которая имитирует IP-сеть. Проще говоря, я использую два хост-узла, подключенных к маршрутизатору. Я использовал FlatNetworkConfigurator для назначения IP. в то время как два других моих хоста - "EtherHost", как показано в файле ned ниже.

package swtichtest.simulations;
import swtichtest.Txc;
import inet.nodes.inet.Router;
import inet.nodes.inet.StandardHost;
import inet.nodes.ethernet.EtherHost;
import inet.nodes.ethernet.EtherSwitch;
import ned.DatarateChannel;
import inet.networklayer.autorouting.ipv4.FlatNetworkConfigurator;


channel cable extends DatarateChannel
{
parameters:
    delay = 0.1us;
    datarate = 100Mbps;
}

network Tictoc
{
@display("bgb=539,141");
submodules:
    tic: EtherHost {
        @display("p=291,114");
    }
    toc: EtherHost {
        @display("p=401,33");
    }
    Rout: Router {
        @display("is=s;p=173,25");
    }
    configurator: FlatNetworkConfigurator {
        @display("p=22,25");
    }
connections:
    Rout.ethg++ <--> cable <--> tic.ethg;
    Rout.ethg++ <--> cable <--> toc.ethg;


}

Но мой вопрос в том, где я должен добавить свою логику для генерации пакетов. Если я изменю тик и ток, унаследованные от моего простого модуля, как я могу сгенерировать IP-пакеты?


person Adee    schedule 22.01.2013    source источник


Ответы (1)


Вы здесь немного запутались. EtherHost может использоваться для генерации кадров Ethernet в формате RAW, поэтому в них отсутствуют протоколы сетевого и транспортного уровня. С другой стороны, маршрутизаторам требуются IP-данные внутри фреймов.

Вы ДОЛЖНЫ использовать StandardHost, если вам нужен трафик TCP / IP. Конечно, StandardHosts также имеет интерфейсы Ethernet, поэтому вы можете соединить эти интерфейсы с помощью кабеля. Просто забудьте про EtherHost, если вам нужен IP.

person Rudi    schedule 31.01.2013