原文:quagga源碼學習--BGP協議的初始化

quagga支持BGP ,BGP 協議,支持多協議 mpls,isis,ospf等等 以及單播,組播路由的導入和分發。 具體的協議,這里就不附錄了,網絡上有很多資料,或者RFC。 協議源碼的學習基於前幾章的quagga源碼分析,所以剛接觸的朋友最好瀏覽一下quagga的通用框架以及通用路由處理流程。 好了,閑話少說,直奔主題才是最要緊的。 一 BGP初始化 初始化在bgp main.c的main函 ...

2017-01-23 14:57 0 1888 推薦指數:

查看詳情

quagga源碼學習--BGP協議路由更新

BGP的核心就是交換路由,所以關鍵的部分還是在路由的更新與撤銷上面,這之間包含了繁雜的屬性,community等等可以稱之為業務邏輯的處理過程,不做詳述。 bgp_read函數是路由更新的事件處理函數,在收到BGP_MSG_UPDATE消息的時候開始調用bgp_update_receive函數 ...

Sat Feb 04 05:16:00 CST 2017 0 2445
quagga源碼學習--BGP協議對等體連接建立的狀態機

創建完bgp peer之后,就要bgp start了,不然費那么大勁創建出來不做事情就銷毀了,就很尷尬了。 那么對等體一旦start起來,就會進入各自的狀態,在不同的狀態下處理各自的事件消息。 下面列舉一些狀態和事件的集合: 全局變量FSM定義了狀態機每個狀態下的動作執行之后 ...

Wed Jan 25 19:22:00 CST 2017 0 1510
[spring源碼學習]四、IOC源碼——普通bean初始化

一、代碼例子   此節開始涉及到一個bean具體生成和保存的過程,僅僅涉及到最簡單的bean,代碼依舊是最簡單的 二、源碼解析 1、通過調用getBean(String name)來進入bean的獲取 2、經歷一些列重載后,進入doGetBean,先轉化 ...

Wed May 04 22:06:00 CST 2016 0 2815
Golang源碼學習:調度邏輯(一)初始化

本文所使用的Golang為1.14,dlv為1.4.0。 源代碼 開始調試 可以看到最開始是從_rt0_amd64_linux執行,然后直接跳轉到_rt0_amd64。執行si進入_rt ...

Sun May 24 17:23:00 CST 2020 0 1218
TCP協議在socket中的初始化

TCP TCP通過校驗和、序列號、確認應答、重發控制、連接管理和窗口控制實現可靠傳輸。 TCP通過確認應答ACK來實現有保障的數據傳輸,但是由於各種原因,目標主機可能無法收到ACK信號,導致源主機不停重發數據。為此,引入序列號與確認信號相結合,實現有效的重發控制。 作為面向連接的協議,TCP ...

Thu Dec 26 23:17:00 CST 2019 0 1607
BGP協議學習總結

BGP學習總結 BGP是目前使用的唯一的自治系統間的路由協議,它是一種矢量路由協議,基於TCP的179號端口,它采用單播增量更新的方式更新路由,與其他的路由協議不同的是,BGP只要TCP可達,就可以建立對等體關系,BGP需要手工顯式的指定對等體關系。 一、常見術語 1、 BGP的發言者 ...

Sun Apr 20 17:14:00 CST 2014 0 3942
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM