当前位置:网站首页>State machine in BGP
State machine in BGP
2022-07-02 06:09:00 【Hot pot means red pot】
BGP State machine
Idle The initial state
BGP The agreement was initially in Idle state , Start to prepare TCP Connect to and monitor remote peers . In this state , The system does not allocate any resources , And refuse all those who enter BGP Connect . Only received Start Event when , Only then allocates BGP resources , start-up ConnectRetry timer , Start on other BGP Transport layer connection of peers , It also listens for connection requests from other peers .Connect Retry The timer will increase in series
Connect Connection status
In this state BGP wait for TCP Complete the connection , Then decide the follow-up action :
- If the connection is successful , Local emptying ConnectRetry timer , And send OPEN message , And then the state changes to OpenSent state ;
- The connection fails ,BGP Will continue to listen for connections from neighbors , Reset Connect Retry Timer and transfer your state to Active state
- Connect Retry Time out , Reset ConnectRetry timer , Try to establish with your neighbors again TCP Connect ,BGP keep Connect state , When other events occur, turn Enter into Idle state .
Active active
Underway TCP Connect , Waiting for completion , authentication It's all in TCP Completed during establishment .
- If TCP Successful connection ,BGP take Connect Retry The timer is cleared , Initialization complete , Send to neighbors Open Message and set the status to Open,hold Time is set to 4mins .
- If in Active state ,Connect Retry The timer times out and returns Connect Status and reset Connect Retry timer .
- If you try with an unknown IP establish TCP conversation , meanwhile Connect Retry Timer reset , Reject the connection and keep Active state .
- Any event will lead to a return Idle
OpenSent Parameter negotiation status
In this state ,TCP The connection has been established successfully , Start sending to neighbors Open Message packet , meanwhile BGP Waiting for the neighbor to send open Message packet ;Open The packet carries parameters to negotiate the establishment of peers .
- received open news , If something goes wrong , Will send a notification Message and set the status to Idle .
- If you receive open The package message is right , Will send keeplive Give it to your neighbor , And establish IBGP perhaps EBGP The state is set to Open confire state .
- If you receive TCP Disconnect the message and disconnect BGP Connection reset Connect Retry timer , The state is set to Active .
OpenConfirm Parameter validation status
In this state , Parameters 、 Negotiation of capability characteristics succeeded , Send it yourself Keepalive package ,BGP wait for KEEPALIVE or NOTIFICATION message . If you receive KEEPALIVE message , entering Established state , If you receive NOTIFICATION message , It becomes Idle state .
- If you receive one keeplive Message packet , Will set the status to Establish .
- If you receive notification Message packet , Will set the status to Idle And disconnect TCP Connect .
- If hold The timer timed out , An error is detected or stop events ,BGP Will send a notification And disconnect , Then the state is set to Idle .
Established Build success
In this state , ** Have received the other party's Keepalive package , The capability characteristics of both parties are found to be consistent through negotiation ,**BGP You can exchange with other peers UPDATE,NOTIFICATION,KEEPALIVE message .
- If you receive the correct UPDATE or KEEPALIVE message , It is considered that the opposite end is in normal operation , Local reset Hold Timer.
- If you receive NOTIFICATION message , Go locally to Idle state .
- If you receive the wrong UPDATE message , Local delivery NOTIFICATION Message notification to peer , And change the local state to Idle.
- If received TCP Chain removal notice , Local shutdown BGP Connect , And back to Idle state .
边栏推荐
猜你喜欢
Keepalived installation, use and quick start
Comment utiliser mitmproxy
Redis Key-Value数据库【初级】
如何使用MITMPROXy
Current situation analysis of Devops and noops
51单片机——ADC讲解(A/D转换、D/A转换)
LeetCode 78. 子集
Zabbix Server trapper 命令注入漏洞 (CVE-2017-2824)
Can't the dist packaged by vite be opened directly in the browser
Jetpack Compose 与 Material You 常见问题解答
随机推荐
LeetCode 47. 全排列 II
The real definition of open source software
How to use mitmproxy
LeetCode 77. 组合
Go learning notes integration
Common websites for Postgraduates in data mining
Deep learning classification network -- alexnet
Redis Key-Value数据库 【高级】
STC8H8K系列汇编和C51实战——数码管显示ADC、按键串口回复按键号与ADC数值
Contest3145 - the 37th game of 2021 freshman individual training match_ H: Eat fish
浏览器原理思维导图
Sumo tutorial Hello World
Redis Key-Value数据库 【秒杀】
51 single chip microcomputer - ADC explanation (a/d conversion, d/a conversion)
Current situation analysis of Devops and noops
Ti millimeter wave radar learning (I)
Contest3147 - game 38 of 2021 Freshmen's personal training match_ G: Flower bed
Unity Shader 学习笔记(3)URP渲染管线带阴影PBR-Shader模板(ASE优化版本)
Eco express micro engine system has supported one click deployment to cloud hosting
LeetCode 283. 移动零