2013-01-22 39 views
1

我正在構建一個模擬IP網絡的仿真。簡單地說,我使用兩個與路由器連接的主機節點。我使用FlatNetworkConfigurator分配IP。而我的另外兩臺主機「EtherHost」,如圖斯內德文件下如何在OMNET ++中使用EtherHost

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數據包呢?

回答

2

你在這裏有點困惑。 EtherHost可用於生成RAW以太網幀,因此它們中不存在網絡和傳輸層協議。另一方面,路由器需要幀內的IP數據。

如果您需要TCP/IP流量,則必須使用StandardHost。當然,StandardHosts也有以太網接口,因此您可以將這些接口與電纜連接起來。如果您需要IP,請忘記EtherHost。

相關問題