介绍
Description
TopologyService维护控制器的拓扑信息,并在网络中查找路由。
Services Provided
ITopologyService
IRoutingService
Service Dependencies依赖的服务
ILinkDiscoveryService
IThreadPoolService
IFloodlightProviderService
IRestApiService
IDebugCounterService
IDebugEventService
IOFSwitchService
Java File
该模块在net.flowlightcontroller.topology.topologyManager中实现。
How it works
拓扑服务根据从iLinkDiscoveryService获取的链接信息计算拓扑。TopologyService保留的一个重要概念是OpenFlow“Island”的概念。孤岛被定义为在同一floodlight实例下的一组强连接开放式流量switch。可以使用同一第2层域上的非-openflow 流交换机将孤岛互连。举个例子:
[OF switch 1] – [OF switch 2] – [traditional L2 switch] – [OF switch 3]
拓扑服务将形成两个孤岛。岛1包含开关1和2,而岛2仅包含开关3。
有关当前拓扑的所有信息都存储在称为拓扑实例的不可变数据结构中。如果拓扑中有任何更改,将创建新实例并调用拓扑更改通知消息。如果其他模块想要监听拓扑中的更改,它们可以实现IToologylistener接口。
Limitations
虽然您可以在OpenFlow岛中有冗余链接,但不能有从非OpenFlow交换机到OpenFlow岛的冗余链接。
Configuration
不需要额外配置,默认情况下加载此模块。