原文:quagga源码学习--BGP协议对等体连接建立的状态机

创建完bgp peer之后,就要bgp start了,不然费那么大劲创建出来不做事情就销毁了,就很尴尬了。 那么对等体一旦start起来,就会进入各自的状态,在不同的状态下处理各自的事件消息。 下面列举一些状态和事件的集合: 全局变量FSM定义了状态机每个状态下的动作执行之后的下一个状态: 限于篇幅就不掉书袋了。 下面的bgp event函数是通用的事件处理流程,通过FSM数组的定义在这里就能看到 ...

2017-01-25 11:22 0 1510 推荐指数:

查看详情

quagga源码学习--BGP协议路由更新

BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了繁杂的属性,community等等可以称之为业务逻辑的处理过程,不做详述。 bgp_read函数是路由更新的事件处理函数,在收到BGP_MSG_UPDATE消息的时候开始调用bgp_update_receive函数 ...

Sat Feb 04 05:16:00 CST 2017 0 2445
BGP——对等状态讲解

基本概念: 1.BGP 是路径矢量协议,是自治系统间的路由协议 2.BGP采用TCP 179号端口,BGP路由器之间基于TCP建立BGP会话 3.运行BGP的路由器称为BGP Spearker,他们之间建立对等关系后(邻居关系)才可以交换路由,进行路由学习 4.BGP具有大量丰富的路径 ...

Mon Mar 21 19:24:00 CST 2022 0 1427
bgp状态机

一,idle(空闲)初始状态。 二,connect 此时建立TCP三次握手。   a,bgp启动重传定时器,并等待TCP建立连接。   b,如果tcp建立成功,此时开始发送open报文协商参数,并进入opensent状态。   c,如果tcp建立失败,此时进入active状态 ...

Wed May 12 18:21:00 CST 2021 0 218
quagga源码学习--BGP协议的初始化

quagga支持BGP-4,BGP-4+协议,支持多协议(mpls,isis,ospf等等)以及单播,组播路由的导入和分发。 具体的协议,这里就不附录了,网络上有很多资料,或者RFC。 协议源码学习基于前几章的quagga源码分析,所以刚接触的朋友最好浏览一下quagga的通用框架 ...

Mon Jan 23 22:57:00 CST 2017 0 1888
TCP源码连接建立

一、SYN报文处理: 公共部分:tcp_v4_rcv->tcp_v4_do_rcv->tcp_v4_cookie_check(无处理动作)->tcp_rcv_state_proce ...

Mon Nov 07 21:31:00 CST 2016 1 2432
Redis源码阅读---连接建立

对于并发请求很高的生产环境,单个Redis满足不了性能要求,通常都会配置Redis集群来提高服务性能。3.0之后的Redis支持了集群模式。   Redis官方提供的集群功能是无中心的,命令请求可以 ...

Fri Aug 31 17:14:00 CST 2018 0 3056
linux TCP协议(1)---连接管理与状态机

前言:TCP是传输层协议,实现了一种可靠的通信。它从不同角度提供了多种可靠性保障措施来为网络传输提供确定性。连接性就是其中之一,不像UDP的无连接状态,TCP在数据传输之前会进行连接,只有双方都协调完成后,才会进行数据传输;同样的,在结束时,又会断开连接,通告传输的完成;在数据传输过程中,又会 ...

Sat Jul 01 23:24:00 CST 2017 0 2060
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM