
为Mininet添加自定义拓扑:Mininet原生提供了多种拓扑类型:SingleSwitchTopo:简单拓扑(Host——Switch——Host)LinearTopo(k,n):链状拓扑,k台交换机以单链形态连接,分别下接n台主机TreeTopo(depth,fanout):树形拓扑,创建一个深度为depth、扇出为fanout的树状拓扑Mininet默认情况下并没有实现胖树的网络拓扑,但Mininet支持添加自定义拓扑的功能。本文根据Mininet自带的拓扑定义,在原拓扑库中添加了胖树拓扑类,实现从命令行直接启动k叉胖树拓扑环境。(注:加粗的代码行为自定义拓扑关键部分)mininet/topopy:所有的拓扑类都继承自topo模块下的Topo基类,Topo基类实现了addNode、addSwitch、addHost、addPort、addLink等添加节点、链路的重要方法。Topo模块中还实现了单交换机拓扑SingleSwitchTopo类和链状拓扑LinearTopo类。mininet/topolibpy:topolib模块中定义了树状拓扑TreeTopo类,自定义的拓扑类可以定义在topolib模块下也可定义在topo模块下,拓扑类的__init__方法中可添加构建拓扑所需要的参数,Mininet在调用拓扑类时会将从命令行接收的topo选项之后的参数args和关键字参数kwargs传递到该拓扑类的__init__方法中初始化该拓扑类的对象。如本文中定义的FatTree拓扑类需要接收参数k以确定胖树的叉数:classFatTreeTopo(Topo):def__init__(self,k=4):"Createfat-treetopo"#initializationcodebin/mn:mn是Mininet执行的解释器,负责解析参数,定义了MininetRunner类用来构建、配置并运行整个Mininet平台。自定义的拓扑类需要导入mn中,然后在存放拓扑参数的字典TOPOS中加入对应的键值,就可以在mn命令中使用自定义的拓扑了:frommininettopolibimportFatTreeTopoTOPOS={'linear':LinearTopo,'single':SingleSwitchTopo,'tree':TreeTopo,'fattree':FatTreeTopo}启动8叉胖树自定义拓扑的Mininet拓扑环境:$sudomn--topo=fattree,k=8
对于新创建网吧的人而言,都有一个必须走的流程,那就是规划出网络拓扑图。其实网络拓扑图有点类似于建筑行业的建筑设计图,目的是让建筑施工人员很直观的看明白你们的施工要求,并把设计图由图纸变为实实在在的建筑。所以说,网吧网络拓扑图是网吧人员在建设网吧时必不可少的。网络拓扑结构图就是把计算机连接的方式用图形表现出来。设计一个网络的时候,网吧经营者应根据自己的实际情况选择正确的拓扑方式。每种拓扑都有它自己的优点和缺点。主要的网络拓扑结构有总线型结构、行星结构、环形结构、树状结构等。网络的拓扑结构:分为逻辑拓扑和物理拓扑结构这里讲物理拓扑结构。总线型拓扑:是一种基于多点连接的拓扑结构,所有的设备连接在共同的传输介质上。总线拓扑结构使用一条所有PC都可访问的公共通道,每台PC只要连一条线缆即可但是它的缺点是所有的PC不得不共享线缆,优点是不会因为一条线路发生故障而使整个网络瘫痪。行星型拓扑结构:在中心放一台中心计算机,每个臂的端点放置一台PC,所有的数据包及报文通过中心计算机来通讯,除了中心机外每台PC仅有一条连接,这种结构需要大量的电缆,星型拓扑可以看成一层的树型结构不需要多层PC的访问权争用。星型拓扑结构在网络布线中较为常见。环行拓扑:把每台PC连接起来,数据沿着环依次通过每台PC直接到达目的地,在环行结构中每台PC都与另两台PC相连每台PC的接口适配器必须接收数据再传往另一台一台出错,整个网络会崩溃因为两台PC之间都有电缆,所以能获得好的性能。树型拓扑结构:把整个电缆连接成树型,树枝分层每个分至点都有一台计算机,数据依次往下传优点是布局灵活但是故障检测较为复杂,PC环不会影响全局。菊花链拓扑:类似于环行拓扑结构,但是中间有一对断点。以上几种拓扑结构可以混合使用,并且星型拓扑较为常见。注意要区分开网络物理拓扑结构和逻辑拓扑物理拓扑是连接的PC的真实路径。逻辑拓扑是数据由一台PC传输到另台PC的实际流向而构成的路径。
以上就是关于怎么用python写mininet的拓扑全部的内容,包括:怎么用python写mininet的拓扑、最常见的几种网吧网络拓扑图、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)