【问题标题】:How to use EtherHost in OMNET++如何在 OMNET++ 中使用 EtherHost
【发布时间】:2013-01-22 08:43:04
【问题描述】:

我正在构建一个模拟 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;


}

但我的问题是我应该在哪里添加我的逻辑来生成数据包。如果我更改从我的简单模块继承的我的 tic 和 toc 那么我如何生成 IP 数据包?

【问题讨论】:

    标签: routing omnet++


    【解决方案1】:

    你在这里有点困惑。 EtherHost 可用于生成 RAW 以太网帧,因此其中不存在网络和传输层协议。另一方面,路由器需要帧内的 IP 数据。

    如果您需要 TCP/IP 流量,则必须使用 StandardHost。当然,StandardHosts 也有以太网接口,所以你可以用电缆连接这些接口。如果您需要 IP,请忘记 EtherHost。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多