如何在两种不同的远程控制器下,ping连接到两个不同虚拟交换机的两个虚拟主机?

1 投票
1 回答
646 浏览
提问于 2025-04-18 04:20

假设我通过Python脚本在mininet中创建了一个虚拟网络。这个网络包含:

两个远程控制器(c1,c2),

两个交换机(s1,s2):s1由c1控制,s2由c2控制,s1和s2是相互连接的。

两个主机(h1,h2):h1连接到s1,h2连接到s2。

当我在h1上输入ping命令去ping h2时,显示“目标主机不可达”。

请告诉我为什么无法ping通?

c1 c2

/ \

s1------s2

/ \

h1 h2

1 个回答

1

你需要编写控制器的程序,以便以以下方式配置交换机:

  • 如果交换机s1收到一个数据包,目标IP地址是h2的IP地址,那么这个数据包应该通过连接到s2的端口出去。

  • 反过来也一样。

  • 如果s1收到一个发往h1的数据包,就把它通过连接到h1的端口发送出去。

  • s2也要做类似的处理。

考虑到这个解决方案的思路其实很简单,可能你一开始没有考虑到要编程控制器。首先,建议你先看看一个简单的控制器教程,比如POX。虽然控制器的代码一开始看起来可能会让人感到困惑,但一旦你掌握了代码的模式,就会发现其实很简单!

我知道我回答得有点晚,但希望这能帮助到其他正在寻找类似解决方案的人。

撰写回答