XICE-HUAWEI-超级完整的BGP-3-BGP邻居状态机制
.
还是接着上次讲BGP邻居的事情
IDLE=初始状态
常见的卡在idle的几种情况
1.没有TCP连接(没路由)
2 收到错误信息之后回退
3.手动挂起邻居(手动shutdown)
华为的命令是
bgp下
peer X.X.X.X(IP) ignore
思科的命令是
bgp下
neighbor X.X.X.X(IP) as-number as号 shutdown
connect(连接状态)
这个状态下,BGP会启动连接重传计时器(默认为32秒)等待TCP的三次握手完成
如果完成了,发送open保温,到opensent状态
如果失败了,会把状态改为active(活动)
如果重传计时器超时,没有受到任何响应,那么会一直卡在connect状态
常见卡在conncet的情况
1.只有路由,TCP连接失败
2.EBGP没有配置TTL
3.TCP_SYN被阻挡
反正就是TCP建立失败
Active(Connect失败后的状态)
活动状态
会一直尝试去建立TCP三次握手
可以理解为好人卡
你追人家,不答应,你不死心,死缠烂打。
如果过程中建立成功了,会发送open并且转到opensent状态
如果多次尝试的情况下,TCP依然失败,那么会一直卡在active
Opensent(发送Open报文)
这个简单的理解就是用来协商参数的
成功了就会发送keepalive,然后就回到openconfirm状态了
一般不会卡这个地方,也没见过卡这个地方的
卡这个地方就会报错然后回去idle了
Openconfirm(等待对方的keepalive)
可以理解为接收一个确认信息这样
然后就直接转established了
如果报错,直接回家idle
Established(成功状态)
这个状态下会有
update-更新路由信息
notification-报错信息
keepalive-维持邻居
route-refresh–这个是用来搞路由策略的
对了顺带提一下
华为中可以使用命令查看当前使用端口
display tcp status
这个和微软的cmd下的netstat -an的功能是一样的
BGP邻居建立过程抓包
BGP的邻居建立过程抓包,到后面就是keepliave的维护信息了
update(keepalive)
这里可以看见,更新的路由信息是要通过keepalive传递的,里面的是update的更新信息
AS号得EBGP才有我这个做的IBGP
然后下一台哦
下面的network leyer reachability information (网络层可达信息)是更新的路由信息
MED是一个这个选路用的,后面会讲
下面的local-pref是路由的优先级
这个update呢,更新用它,删除也用他,但是里面的报文不太一样哦
区别的地方在于
只要这个地方不为0,他就一定是有删除路由的