在 OMNet 上实现 SDN 控制器

implementation of SDN controller on OMNet

我正在尝试在 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 paper and the corresponding code on github

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