BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了繁杂的属性,community等等可以称之为业务逻辑的处理过程,不做详述。 bgp_read函数是路由更新的事件处理函数,在收到BGP_MSG_UPDATE消息的时候开始调用bgp_update_receive函数 ...
quagga支持BGP ,BGP 协议,支持多协议 mpls,isis,ospf等等 以及单播,组播路由的导入和分发。 具体的协议,这里就不附录了,网络上有很多资料,或者RFC。 协议源码的学习基于前几章的quagga源码分析,所以刚接触的朋友最好浏览一下quagga的通用框架以及通用路由处理流程。 好了,闲话少说,直奔主题才是最要紧的。 一 BGP初始化 初始化在bgp main.c的main函 ...
2017-01-23 14:57 0 1888 推荐指数:
BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了繁杂的属性,community等等可以称之为业务逻辑的处理过程,不做详述。 bgp_read函数是路由更新的事件处理函数,在收到BGP_MSG_UPDATE消息的时候开始调用bgp_update_receive函数 ...
创建完bgp peer之后,就要bgp start了,不然费那么大劲创建出来不做事情就销毁了,就很尴尬了。 那么对等体一旦start起来,就会进入各自的状态,在不同的状态下处理各自的事件消息。 下面列举一些状态和事件的集合: 全局变量FSM定义了状态机每个状态下的动作执行之后 ...
一、代码例子 此节开始涉及到一个bean具体生成和保存的过程,仅仅涉及到最简单的bean,代码依旧是最简单的 二、源码解析 1、通过调用getBean(String name)来进入bean的获取 2、经历一些列重载后,进入doGetBean,先转化 ...
前言 根据前文我们知道,NioEventLoopGroup和NioEventLoop是netty对Reactor线程模型的实现,而本文要说的ServerBootstrap是对上面二者的整合与 ...
前言 NioEventLoopGroup是netty对Reactor线程组这个抽象概念的具体实现,其内部维护了一个EventExecutor数组,而NioEventLoop就是EventEx ...
本文所使用的Golang为1.14,dlv为1.4.0。 源代码 开始调试 可以看到最开始是从_rt0_amd64_linux执行,然后直接跳转到_rt0_amd64。执行si进入_rt ...
TCP TCP通过校验和、序列号、确认应答、重发控制、连接管理和窗口控制实现可靠传输。 TCP通过确认应答ACK来实现有保障的数据传输,但是由于各种原因,目标主机可能无法收到ACK信号,导致源主机不停重发数据。为此,引入序列号与确认信号相结合,实现有效的重发控制。 作为面向连接的协议,TCP ...
BGP学习总结 BGP是目前使用的唯一的自治系统间的路由协议,它是一种矢量路由协议,基于TCP的179号端口,它采用单播增量更新的方式更新路由,与其他的路由协议不同的是,BGP只要TCP可达,就可以建立对等体关系,BGP需要手工显式的指定对等体关系。 一、常见术语 1、 BGP的发言者 ...