我正在尝试在OMNet v5.2.1上创建SDN模型。但是,INET中没有SDN控制器模块。这就是为什么我将standartHost模块用作控制器。我可以获得合理的结果吗?

另外,我在网络上使用UDP协议。由于我想发送数据包遵循以下路径:
客户端->开关->控制器->开关-> host2,

我将客户端协议定义为UDPBasicApp,将控制器协议定义为UDPEcho。但是UDPEcho协议可以进行以下操作:
客户端->开关->控制器->开关->客户端

总而言之,客户端获取了他发送的数据包。如何解决?

我附上与UDP协议有关的.INI文件的一部分



[Config Step1]
network = Test

description = "Fully automatic static routing table configuration"

*.client.numUdpApps = 1
*.client.udpApp[0].typename = "UDPBasicApp"
*.client.udpApp[0].destAddresses = "controller"
*.client.udpApp[0].destPort = 5000
*.client.udpApp[0].messageLength = 1000B
*.client.udpApp[0].sendInterval = exponential(12ms)
*.client.udpApp[0].packetName = "UDPData"


*.controller.numUdpApps = 1
*.controller.udpApp[0].typename = "UDPEchoApp"
*.controller.udpApp[0].localPort = 5000
*.controller.pingApp[*].destAddr = "host2"

最佳答案

有一个用于INET的SDN扩展,请参见this papergithub上的相应代码。

关于UDPEchoApp:此行为是有意的。回显应用程序响应所发送的任何请求。如果将请求发送到控制器(如配置中所示),然后在控制器上运行EchoApp,则将从控制器响应UDP数据包。但是,对于非SDN场景,您根本不需要控制器(只需使用client->switch->host2)。

09-25 20:32