CORE 控制网络
原文链接:CORE Control Network
1. 概述
CORE 控制网络允许虚拟节点与其宿主环境进行通信。有两种类型:主控制网络和辅助控制网络。主控制网络主要用于与主机的虚拟节点通信以及多服务器分布式环境中的主从通信。辅助控制网络已被引入用于将命名空间托管的仿真软件流量路由到测试网络。
2. 激活主控制网络
在会话菜单下,选项 对话框有一个选项来设置控制网络前缀。
这可以设置为网络前缀,例如 172.16.0.0/24。将在具有前缀范围内的最后一个地址(例如 172.16.0.254)的主机上创建一个网桥,并且每个节点将有一个额外的 ctrl0 控制接口,配置一个与其节点号相对应的地址(例如,n3 的地址为 172.16.0.3)。
还可以通过在 /etc/core/core.conf 配置文件中设置 controlnet 行来指定主控制网络的默认值,新会话将默认使用该行。要同时使用控制网络运行多个会话,应使用 session 选项而不是 core.conf 默认值。
注意:如果您有超过 253 个节点的大型方案,请使用允许超过建议的
/24的控制网络前缀,例如/23或更大。注意:如果前一个会话已设置控制网络并且其网桥仍在运行,则使用控制网络运行会话可能会失败。首先关闭上一个会话或等待它完成。如果不能,则可能需要重新启动 CORE 守护程序并手动删除延迟的桥接器。
# Restart the CORE Daemon
sudo /etc/init.d core-daemon restart
# Remove lingering control network bridges
ctrlbridges=`brctl show | grep b.ctrl | awk '{print $1}'`
for cb in $ctrlbridges; do
sudo ifconfig $cb down
sudo brctl delbr $cb
done
注意:如果在
/etc/core/core.conf中对主要控制网络配置所做的调整似乎没有生效,请检查 会话菜单——>选项 对话框中是否有任何设置。它们可能需要清除。这些每个会话的设置会覆盖/etc/core/core.conf中的默认值。
3. 分布式会话中的控制网络
当为分布式会话激活主控制网络时,将在每个从服务器上创建一个控制网络桥接器,并通过 GRE 隧道返回主服务器的桥接器。从控制桥没有分配地址。从主机,可以访问任何节点(本地或远程),就像单服务器情况一样。
在某些情况下,远程模拟节点需要与运行它们的主机而不是主服务器进行通信。可以在会话选项或 /etc/core/core.conf 中指定多个控制网络前缀,以空格分隔并以主服务器开头。每个条目的格式为“server:prefix”。 例如,如果在场景中为服务器 core1、core2 和 core3 分配了节点并使用 /etc/core/core.conf 而不是 session 选项。
controlnet=core1:172.16.1.0/24 core2:172.16.2.0/24 core3:172.16.1.0/24
然后,控制网桥将被分配如下:
- core1 = 172.16.1.254 (assuming it is the master server),
- core2 = 172.16.2.254
- core3 = 172.16.3.254
仍将构建返回主服务器的隧道,但如果需要在控制网络前缀之间联网,则由用户添加适当的路由。控制网络脚本可能对此有所帮助。
4. 控制网络脚本
可以使用 /etc/core/core.conf 文件中的 controlnet_updown_script 选项指定控制网络脚本。该脚本将在网桥建成(并分配地址)后运行,第一个参数是网桥的名称,第二个参数是关键字“startup”。该脚本将在移除桥之前再次被调用,第二个参数是关键字“shutdown”。
5. 辅助控制网络
从 EMANE 0.9.2 开始,CORE 将在命名空间内运行 EMANE 实例。由于建议将 OTA 流量与其他流量分开,因此我们将需要多个从命名空间导出的通道。最多可以定义三个辅助控制网络。 /etc/core/core.conf 文件中设置了多个控制网络。线 controlnet1、controlnet2 和 controlnet3 定义辅助网络。
例如,具有以下 /etc/core/core.conf:
controlnet = core1:172.17.1.0/24 core2:172.17.2.0/24 core3:172.17.3.0/24
controlnet1 = core1:172.18.1.0/24 core2:172.18.2.0/24 core3:172.18.3.0/24
controlnet2 = core1:172.19.1.0/24 core2:172.19.2.0/24 core3:172.19.3.0/24
这将激活主要和两个辅助控制网络,并向每个节点添加接口 ctrl0、ctrl1、ctrl2。一个用例是在 EMANE 选项对话框中将 ctrl1 分配给 OTA 管理器设备,将 ctrl2 分配给事件服务设备,并将 ctrl0 留给 CORE 控制流量。
注意:controlnet0 可用于代替 controlnet 来配置主控制网络。
与主控制网络不同,辅助控制网络不会使用隧道,因为它们的主要目的是有效地传输多播 EMANE OTA 和事件流量。请注意,辅助控制网络没有针对每个会话的配置。
为了在分布式测试环境中扩展辅助控制网络,需要向其中添加主机网络接口。/etc/core/core.conf 中的以下几行会将主机设备 eth1、eth2 和 eth3 添加到 controlnet1、controlnet2、controlnet3:
controlnetif1 = eth1
controlnetif2 = eth2
controlnetif3 = eth3
注意:不需要为主控制网络分配接口,因为使用 servers.conf 中提供的 IP 地址在主从之间形成隧道。
下图是上述配置的代表图。

本文详细介绍了CORE控制网络的两种类型(主控制网络和辅助控制网络),包括如何激活主网络、配置分布式会话、控制网络脚本的使用以及辅助网络的设置。重点讲解了多服务器环境下的通信与命名空间流量路由。
9886

被折叠的 条评论
为什么被折叠?



