BGP的核心就是交換路由,所以關鍵的部分還是在路由的更新與撤銷上面,這之間包含了繁雜的屬性,community等等可以稱之為業務邏輯的處理過程,不做詳述。 bgp_read函數是路由更新的事件處理函數,在收到BGP_MSG_UPDATE消息的時候開始調用bgp_update_receive函數 ...
創建完bgp peer之后,就要bgp start了,不然費那么大勁創建出來不做事情就銷毀了,就很尷尬了。 那么對等體一旦start起來,就會進入各自的狀態,在不同的狀態下處理各自的事件消息。 下面列舉一些狀態和事件的集合: 全局變量FSM定義了狀態機每個狀態下的動作執行之后的下一個狀態: 限於篇幅就不掉書袋了。 下面的bgp event函數是通用的事件處理流程,通過FSM數組的定義在這里就能看到 ...
2017-01-25 11:22 0 1510 推薦指數:
BGP的核心就是交換路由,所以關鍵的部分還是在路由的更新與撤銷上面,這之間包含了繁雜的屬性,community等等可以稱之為業務邏輯的處理過程,不做詳述。 bgp_read函數是路由更新的事件處理函數,在收到BGP_MSG_UPDATE消息的時候開始調用bgp_update_receive函數 ...
基本概念: 1.BGP 是路徑矢量協議,是自治系統間的路由協議 2.BGP采用TCP 179號端口,BGP路由器之間基於TCP建立BGP會話 3.運行BGP的路由器稱為BGP Spearker,他們之間建立對等體關系后(鄰居關系)才可以交換路由,進行路由學習 4.BGP具有大量豐富的路徑 ...
一,idle(空閑)初始狀態。 二,connect 此時建立TCP三次握手。 a,bgp啟動重傳定時器,並等待TCP建立連接。 b,如果tcp建立成功,此時開始發送open報文協商參數,並進入opensent狀態。 c,如果tcp建立失敗,此時進入active狀態 ...
quagga支持BGP-4,BGP-4+協議,支持多協議(mpls,isis,ospf等等)以及單播,組播路由的導入和分發。 具體的協議,這里就不附錄了,網絡上有很多資料,或者RFC。 協議源碼的學習基於前幾章的quagga源碼分析,所以剛接觸的朋友最好瀏覽一下quagga的通用框架 ...
一、SYN報文處理: 公共部分:tcp_v4_rcv->tcp_v4_do_rcv->tcp_v4_cookie_check(無處理動作)->tcp_rcv_state_proce ...
TCP協議連接建立時3次握手的過程。 簡述TCP協議連接建立時3次握手的過程。 根據TCP頭部,說明下列3個包在連接建立過程中的次序. 0020 00 50 83 aa 46 49 3e dd 33 ...
對於並發請求很高的生產環境,單個Redis滿足不了性能要求,通常都會配置Redis集群來提高服務性能。3.0之后的Redis支持了集群模式。 Redis官方提供的集群功能是無中心的,命令請求可以 ...
前言:TCP是傳輸層協議,實現了一種可靠的通信。它從不同角度提供了多種可靠性保障措施來為網絡傳輸提供確定性。連接性就是其中之一,不像UDP的無連接狀態,TCP在數據傳輸之前會進行連接,只有雙方都協調完成后,才會進行數據傳輸;同樣的,在結束時,又會斷開連接,通告傳輸的完成;在數據傳輸過程中,又會 ...