Mininet树形拓扑解析
在 Mininet 中,tree,depth,fanout
用于定义树形拓扑的参数,其中:
- depth:树的深度(层数),包括根节点所在的层。
- fanout:每层节点的分叉数(每个节点连接的子节点数量)。
对于 tree,4,3
,即深度为 4,分叉数为 3,其节点生成规则如下:
一、拓扑参数定义
depth=4
:交换机的层级数(根为第1层,共4层交换机)。fanout=3
:每台交换机(非最后一层)连接3台子交换机或主机。
二、节点组成与层级结构
层级 | 节点类型 | 生成规则 | 数量 |
---|---|---|---|
第1层 | 交换机 | 根交换机(s1) | 1台 |
第2层 | 交换机 | 根分叉3台子交换机(s2, s3, s4) | 3台 |
第3层 | 交换机 | 每台第2层交换机分叉3台(s5~s13) | 9台 |
第4层 | 交换机 | 每台第3层交换机分叉3台(s14~s40) | 27台 |
主机层 | 主机 | 每台第4层交换机下挂3台主机(h1~h81) | 81台 |
三、拓扑示意图(修正版)
第1层(根交换机) s1
/ | \
第2层(交换机) s2 s3 s4
/ | \ / | \ / | \
第3层(交换机) s5 s6 s7 s8 s9 s10 s11 s12 s13
/|\ /|\ /|\ /|\ /|\ /|\ /|\ /|\
第4层(交换机) s14~s40(共27台)
/|\ ...(每台交换机下挂3台主机)
主机层 h1 h2 h3 ...(总计81台)
四、关键规则总结
- 交换机层级:严格按
depth
参数生成指定层数,主机不占用独立层级。 - 主机位置:仅挂载在最后一层(第4层)交换机下,数量为 ( {末层交换机数} *{fanout} )。
- 总节点数:
- 交换机总数:(1 + 3 + 9 + 27 = 40)
- 主机总数:(27* 3 = 81)
- 总计:121个节点。
五、常见误解澄清
- 误区:认为主机占据第5层,导致层级混乱。
- 正解:主机直接挂载在第4层交换机下,不单独计为层级(树深仅统计交换机层级)。
六、Mininet 启动命令
sudo mn --topo tree,depth=4,fanout=3
- 输出验证:
mininet> nodes 可用节点:h1~h81 s1~s40
七、资源占用与优化建议
- 内存需求:约3~4GB(81主机+40交换机)。
- 性能调优:
- 使用轻量级交换机:
--switch ovsk
(内核模式OVS)。 - 关闭无关服务:
--mac --arp
(自动生成MAC和ARP表)。
- 使用轻量级交换机:
- 限制规模:若资源不足,降低参数至
tree,3,2
(共14节点)。
总结
树形拓扑 tree,4,3
是由 4层交换机+81台主机 组成的121节点网络,层级清晰,主机直接挂载末层交换机。通过明确参数定义和层级规则,可避免结构误解,高效用于大规模网络仿真实验。