介紹
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
不需要額外配置,默認情況下加載此模塊。