OMNeT++网络节点的定义

一、网络

network Network

  {

    submodules:

      node1:Node;

      node2:Node;

      node3:Node;

    ……

    connection:

      node1.port++<-->{datarate+100Mbps;}<-->node2.port++;

      node2.port++<-->{datarate+100Mbps;}<-->node4.port++;

      node4.port++<-->{datarate+100Mbps;}<-->node6.port++;

      ……

  }

二、引入信道

network Network

  {

    type:

      channel C extends ned.DatarateChannel{

      datarate = 100Mbps;

    }

   submodules:

    node1:Node;

    node2:Node;

    node3:Node;

    ……

    connection:

      node1.port++<-->C<-->node2.port++;

      node2.port++<-->C<-->node4.port++;

      node4.port++<-->C<-->node6.port++;

      ……

  }

 三、App、Routing和Queue简单模块

将节点看作复合模块,其中包含产生流量的基本模块(App),选路的基本模块(Routing)和一个用于给等候发送的包进行排队的基本模块(Queue)。

simple App

  {

    parameters:

      int destAddress;

      ……

      @display("i=block/browser");

    gates:

      input in;

      output out;

  }

simple Routing

  {

    ……

  }

simple Queue

  {

    ……

  }

四、节点复合模块

module Node

{

  parameters:

    @display("i=mmisc/node_vs,gold");

  gates:

    inout port[];

  submodules:

    app:App;

    routing:Routing;

    queue[sizeof(port)]:Queue;

  connections:

    routing.localOut-->queue[i].in;

    routing.localIn<--app.out;

    for i-0..sizeof(port)-1{

      routing.out[i]-->queue[i].in;

      routing.in[i]<--queue[i].out;

      queue[i].line<-->port[i];

    }

}

    

原文地址:https://www.cnblogs.com/Duxue/p/13776537.html