2015-06-03 49 views
1

我正在尋找在帶環的拓撲發送郵件使用的OpenFlow 1.3協議報文在網絡SDN的方式。我選擇的控制者是Ryu。爲了確定我正在捕獲ARP數據包的主機,並且爲了避免洪水風暴,我使用了STP
如何使用OpenFlow和Ryu控制器「激活」由STP禁用/阻止的端口,所以我可以通過它轉發數據包?

我的問題是,當我的路由算法計算出的路徑包含由STP阻止/禁用的端口時,連接無法完成(主機不能互相ping通)。

思前想後我得出了一個結論,我需要「激活」禁用/阻塞端口是我rounting路徑上。但我無法找到任何方式做到這一點..

所以現在的問題:我如何能實現我的解決方案?有沒有辦法「激活」Ryu港口?或者,如果我的解決方案無法實現,是否有其他方法可以用來解決此問題?

回答

2

要激活一個端口發送一個ofp_port_modmessage到交換機。

然而,這將有效地禁用STP,因爲你是對外開放口岸,可能是一個循環的一部分。

我認爲這樣做可能是你的路由算法來檢查該端口是否被禁用,通過在回覆發送OFPMP_PORT_DESCRIPTIONmessage到交換機和讀取config領域的更好的方法。然後,您可以將這些端口視爲關閉並計算出不同的路徑(儘管我不知道您的情況是否可行)。

說了這麼多,如果我正在閱讀openflow規範(第7.2.1節端口結構),您仍然應該能夠通過BLOCKED端口進行路由,但您無法通過端口氾濫。這與DISABLED端口不同。

+0

很好的回答(投票了)。有趣的是,你確定你可以通過阻塞端口發送非洪水消息嗎?你介意給你正在閱讀的openflow版本嗎? –

+0

我認爲這也是一個很好的答案。但不幸的是,在我的情況下這是不可行的。所以我決定不在我的控制器中使用STP,而是使用不同的方法。儘管如此,答案很好,所以請投票。 – Jacu629

+0

我正在看openflow 1.3,正如原來的問題所述。 – nik

相關問題