quagga相關代碼的閱讀

最近的工作涉及到了rip和ospf兩個相關的協議,雖然僅僅是修兩個bug,但是個人還是對這兩個協議是如何實現的產生了很濃厚的興趣。因此,就抽了一段時間讀了一下quagga的源碼。

相比於我之前讀的ovs相關的代碼,quagga的代碼簡單了不少,畢竟可供參考的資料太多了。大致花了一個月的空閒時間讀完了rip和ospf的源碼(其他協議沒用到,也就沒有讀了)。真的如果靜下心來的話,估計10來天就夠了。

首先要說的是,rip和ospf都是單線程程序,通過和zebra進行通信來設置相關的路由信息。所以還是很好讀的。

至少在讀代碼之前,你要先了解一下相關的協議,比如讀rip之前,要先對這個rip這個協議有一個很好的認識,只要對協議有一個比較清楚的認識,知道協議每一步要幹什麼,那麼讀起代碼來就很順暢了,畢竟代碼只是協議的翻譯而已。

關於這兩個協議,比較推薦的書籍是思科的,比如tcp/ip路由技術(第一卷),rip這麼簡單的協議就不講了,ospf這個東西比較複雜,讀這本書可能還有些困難,特別推薦51上面的一個視頻 https://edu.51cto.com/course/709.html。這個基本將ospf講的深入淺出了,對照着書籍,然後琢磨着代碼,可以很快的就將代碼中的難點一一掃除。

另外還需要推薦http://ccietea.com/
可以到裏面找一些ospf以及其他協議的資料,講的不錯.

quagga的代碼寫的挺清晰易懂的。希望大家也可以和我一樣,從中學到很多東西。

放上一份帶了註釋的源碼(其實就ospf有比較詳細的註釋):
https://github.com/lishuhuakai/quagga_reading

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章