有趣的BGP中的Keepalive time和hold time
Posted 建策科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有趣的BGP中的Keepalive time和hold time相关的知识,希望对你有一定的参考价值。
在BGP学习中,我们了解到,BGP有个keepalive time,默认是60秒,还有hold time,是keepalive time的3倍关系,也就是180秒。同时我们也了解到,hold time的值是协商值,那这个值是怎么协商的呢?我们来看一下:
拓扑如上:两台设备之间建立IBGP连接。
我们可以通过display bgp peeripv4 verbose 命令查看keepalive time和hold time,如下图:
我们可以看到,在没有修改的情况下,keepalive和hold时间都是默认值。
在路由器2上的BGP进程中,修改keepalive和hold值。用timer keepalive +时间 hold +时间修改。注意:修改时间值时,holdtime ≥ 3*keepalive time。
首先我们先修改hold time =3*keepalive time:
然后去路由器1上查看协商的hold值。注意:查看之前要重新启用bgp进程,使用reset bgp 100 ipv4命令。因为协商参数的传递由open报文负责,而在BGP邻居状态使能的情况下,只有keepalive和update报文交互。reset之后,再去查看。我们可以看到:
路由器1上协商的hold time,为60秒,keepalive time为20秒。
接下来我们再路由器2上继续修改,hold time > 3*keepalive time。
再次到路由器1上查看:
这时候我们发现,协商的hold time为100秒,keepalive time是33秒。这时候的keepalive time并不是我们设置的20秒。这是因为在open报文中只携带hold time值,不携带keepalive值,keepalive是根据与hold 值的三倍关系计算出来的。
那我们继续做一个修改:在路由器1 上设置keepalive time为30秒,hold time为90秒,路由器2上keepalive time 为20秒 hold time 为100秒保持不变。
这时候我们发现:
路由器1上:
路由器2上:
我们发现,路由器1和路由器2上hold 值是一致的,为90秒。但是keepalive 值,路由器1上是30秒,路由器2上是20秒。这是因为,当路由器接收到对方传来的hold值时,首先与自己的做比较,如果接收到的hold值小,则hold值修改为接收到的值,在比较keepalive值,若自己的keepalive值小于接收到的(hold值/3),则用自己的keepalive值,若自己的keepalive值大于接收到的(hold值/3),则使用接收到的(hold值/3);当路由器接收到的hold值比自己的hold值大时,则不做任何修改。
对技术帖内容有任何疑问,请联系官方邮箱:jcit@jiancenj.com。
欢迎广大学员踊跃投稿,一经录用,有稿费酬谢。
◐◑
◐◑
◐◑
◐◑
◐◑
您的支持就是我们的追求卓越的动力
欢迎在页面最下方点赞、打赏和留言
“理论+实战”双师型专业讲师团队
▼
建策拥有由30余位IT技术专家组成的全职讲师团队,所有讲师均通过多厂商高级工程师认证、讲师授权培训认证,拥有多年工程项目经验。
我们就在这里等你
少年,约么?
以上是关于有趣的BGP中的Keepalive time和hold time的主要内容,如果未能解决你的问题,请参考以下文章