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];
}
}