用于重新配置linux群集的网络拓扑的Python脚本

用于重新配置linux群集的网络拓扑的Python脚本,python,linux,networking,cluster-computing,topology,Python,Linux,Networking,Cluster Computing,Topology,设置:我的家庭网络中有4个Raspberry PI通过交换机(普通路由器)在家互连。现在我可以在pc上访问它们并使用SSH 我想要什么:我想要编写一个python脚本,自动重新配置我的小“集群”的网络拓扑。物理上,它们都是相互连接的,但我想配置节点,让它们在一个环形拓扑中通信,其中1->2->3->4->1。其他拓扑也是可能的 目的:然后我可以轻松地重新配置网络拓扑,然后在集群上测试分布式应用程序,并查看它们的行为 问题:首先,我想知道我必须在Linux中触摸哪些配置文件才能重新配置网络拓扑?我

设置:我的家庭网络中有4个Raspberry PI通过交换机(普通路由器)在家互连。现在我可以在pc上访问它们并使用SSH

我想要什么:我想要编写一个python脚本,自动重新配置我的小“集群”的网络拓扑。物理上,它们都是相互连接的,但我想配置节点,让它们在一个环形拓扑中通信,其中1->2->3->4->1。其他拓扑也是可能的

目的:然后我可以轻松地重新配置网络拓扑,然后在集群上测试分布式应用程序,并查看它们的行为

问题:首先,我想知道我必须在Linux中触摸哪些配置文件才能重新配置网络拓扑?我知道Linux,但我不是专家,所以我很乐意收集一些Tipp。一个好主意是首先手动配置它,然后我可以使用我的脚本。
例如,我的想法是在集群的每个节点上添加路由表条目,这样节点x根据其源节点和目的节点将传入的数据包转发到下一跳。通过所有新的路由/转发,我可以建立一个新的网络拓扑。例如,在环形拓扑中,如果节点1想要将其分组发送到节点3,则节点1必须将其分组转发到节点2。因此,中间有一个额外的节点/跳。

通过一个交换机,以太网在物理上使用星形拓扑。从逻辑上讲,这是一辆公共汽车

您不需要重新安排任何内容,因为每个主机都可以不受任何限制地与任何其他主机通信


如果您真的想禁止通信而不是遵循指示的环,则需要过滤不需要的连接。有多种方法可以实现这一点,但如果没有背后的原因,很难说哪种方法是正确的。

Stack Overflow是一个解决编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的问的地方。@jww对此我很抱歉。我的问题不完整,我现在编辑了它。我知道,这不是一个编程问题,而是关于开发一个能够自动配置linux集群网络拓扑的Python库。非常感谢。我刚刚编辑了我的问题。我想到了环形、星形和树形拓扑。首先我应该手动配置它,但稍后我想编写一个Python脚本来自动配置集群。你知道我需要触摸和编辑哪些配置文件吗?不要过于复杂。只需按照您想要的方式使用集群,并在所需的拓扑中设置您正在使用的软件。以太网是星形(或树形)的,但当数据流遵循环形拓扑时,它也能出色地工作。我的目的是测试不同网络拓扑上的分布式应用程序。所以我想要不同的拓扑。有了这个脚本,其他人就可以轻松地配置linux集群。