2022-07-15 网工进阶(十九)BGP-状态机、对等体之间的交互原则、影响对等体关系建立的因素、对等体表、路由表、详细路由表、路由属性
BGP状态机
BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。
Peer状态名称 |
用途 |
Idle |
开始准备TCP的连接并监视远程对等体,启用BGP时,要准备足够的资源,Idel状态下会拒绝所有TCP连接。 |
Connect |
正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。包含重传时间,需要32秒。如果TCP连接建立成功,进入OpenSent状态。如果TCP连接建立失败则进入Active状态,反复尝试连接。 |
Active |
如果Connect中TCP连接没建立成功,反复尝试TCP连接 |
OpenSent |
TCP连接已经建立成功,开始发送Open包,Open包携带参数协商对等体的建立。 |
OpenConfirm |
参数、能力特性协商成功,自己发送Keepalive包,等待对方的Keepalive包 |
Established |
已经收到对方的Keepalive包,双方能力特性经协商发现一致,开始使用Update通告路由信息 |
1.Idle状态
Idle状态是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的
Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。
Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置
BGP过程引起的。
任何状态中收到Notification报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态。
2.Connect状态
在Connect状态下,BGP启动连接重传定时器(Connect Retry 32秒),等待TCP完成连接。
如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
如果TCP连接失败(找到对等体),那么BGP转至Active状态。
如果连接重传定时器超时(未找到对等体),BGP仍没有收到BGP对等体的响应,那么BGP继续
尝试和其它BGP对等体进行TCP连接,停留在Connect状态,继续启动连接重传定时器(Connect Retry 32秒),直到找到对等体。
3.Active状态
在Active状态下,BGP总是在试图建立TCP连接。
如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。
如果TCP连接失败,那么BGP停留在Active状态。
如果连接重传定时器超时(未找到对等体),BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。
4.OpenSent状态
在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。
5.OpenConfirm状态
在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至
Established状态,如果收到Notification报文,则转至Idle状态。
6.Established状态
在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。
如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。
Route-refresh报文不会改变BGP状态。
如果收到Notification报文,那么BGP转至Idle状态。
如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。
BGP对等体之间的交互原则
BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取
以下交互原则
1 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
2 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
3 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
4 路由更新时,BGP设备只发送更新的BGP路由。
5 所有对等体发送的路由,BGP设备都会接收。
BGP影响对等体关系建立的因素
1 指定的对等体前缀地址和对等体指定的更新源接口必须对应一致
2 对等体之间的前缀地址的路由必须可达。
BGP对等体表
BGP对等体表的作用为列出本设备的BGP对等体,以及对等体的状态等信息。
<R1>display bgp peerBGP local router ID : 1.1.1.1Local AS number : 100Total number of peers : 3 Peers in established state : 3Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv2.2.2.2 4 100 6167 6168 0 0102h44m Established 13.3.3.3 4 100 6167 6169 0 0102h44m Established 14.4.4.4 4 100 6135 6133 0 0102h08m Established 2
Peer:对等体地址
V:version,版本号
AS:对等体AS号
Up/Down:该对等体已经存在up或者down的时间
State:对等体状态,这里显示的为BGP状态机的状态
PrefRcv:prefix received,从该对等体收到的路由前缀数目
MsgRcvd 、MsgSent:从对等体收到的报文个数,向对等体发送的报文个数。
OutQ:out queue,对外发送报文队列中排队的个数,一般为0。
BGP路由表
列出本设备发现的所有BGP路由,如果到达同一个目的地存在多条路由,则将路由都进行罗列,但每个目的地只会优选一条路由。
<R1>display bgp routing-table BGP Local router ID is 1.1.1.1 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 5Network NextHop MED LocPrf PrefVal Path/Ogn*> 11.11.11.11/32 0.0.0.0 0 0 i*>i 22.22.22.22/32 2.2.2.2 0 100 0 i*>i 33.33.33.33/32 3.3.3.3 0 100 0 i*>i 44.44.44.44/32 4.4.4.4 0 100 0 i*>i 55.55.55.55/32 4.4.4.4 0 100 0 200i
* - valid:代表有效路由
> - best:代表最优路由
i - internal:代表从IBGP中学习到的路由
i - IGP :代表宣告方式为network
? - incomplete:代表宣告方式为import
BGP详细路由表
显示指定IP地址/掩码长度的路由信息,在其中有关于该BGP路由的详细信息,如:路由始发者、下一跳地址、路由的路径属性等。
<R1>display bgp routing-table 55.55.55.55BGP local router ID : 1.1.1.1Local AS number : 100Paths: 1 available, 1 best, 1 selectBGP routing table entry information of 55.55.55.55/32:From: 4.4.4.4 (4.4.4.4)Route Duration: 4d04h53m53s Relay IP Nexthop: 10.1.0.2Relay IP Out-Interface: GigabitEthernet0/0/1Original nexthop: 4.4.4.4Qos information : 0x0AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, bes
t, select, active, pre 255, IGP cost 3Not advertised to any peer yet
From:代表路由的产生者
Relay IP Nexthop: 代表物理接口(迭代)上的下一跳
Original nexthop:代表更新源下一跳
Qos information :qos信息
AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best, select, active, pre 255, IGP cost 3:路径属性、是否被优选
路由属性
任何一条BGP路由都拥有多个路径属性(Path Attributes),当路由器通告BGP路由给它的对等体时,该路由将会携带多个路径属性,这些属性描述了BGP路由的各项特征,同时在某些场景下也会影响BGP路由优选的决策。
属性分类
一 公认属性
公认属性是所有BGP路由器都必须能够识别的属性,所有厂商的共识。
1 公认必遵(Well-known Mandatory):必须包括在每个Update消息里。
2 公认任意(Well-known Discretionary):可能包括在某些Update消息里。
二 可选属性
可选属性不需要都被BGP路由器所识别,不是所有厂商都会有。
1 可选过渡(Optional Transitive):BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。
2 可选非过渡(Optional Non-transitive):BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。
抓包观察
1 Optional:0代表公认属性,1代表可选属性
2 Transitive:0代表不通告属性,1代表通告属性
常见路由属性分类
公认必遵属性详解
一 Origin
它标识了BGP路由的起源。根据路由被引入BGP的方式不同,存在三种类型的Origin。
当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete。
起源名称 |
标记 |
描述 |
IGP |
i |
如果路由是由始发的BGP路由器使用network命令注入到BGP的,那么该BGP路由的Origin属性为IGP |
EGP |
e |
如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGP |
Incomplete |
? |
如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由 |
修改Origin
使用路由策略修改
[R1-route-policy]apply origin igp
二 AS_Path
是前往目标网络的路由经过的AS号列表。
路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;路由被通告给IBGP对等体时,AS_Path不会发生改变。
在BGP中,当同一目的地存在多条路由时,路由器会优先选择AS_Path属性中AS列表最少的路由。
修改AS_Path
使用Route-Policy修改BGP路由的AS_Path属性时,可以使用以下三种方式
[R1-route-policy]apply as-path 100 additive
[R2-route-policy]apply as-path 100 overwrite
[R3-route-policy]apply as-path none overwrite
三 Next_Hop
用于指定到达目标网络的下一跳地址。
当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。
修改Next_hop
[R1-bgp]peer 1.1.1.1 next-hop-local
2022-07-15 网工进阶(十九)BGP-状态机、对等体之间的交互原则、影响对等体关系建立的因素、对等体表、路由表、详细路由表、路由属性相关推荐
- 博文总集(三) 之网工进阶
缓慢更新中 2022-04-03 网工进阶(一)认识网络设备_鹅一只的博客-CSDN博客_上行接口板 2022-04-04 网工进阶(二)IP路由基础.OSPF-基本概念.RID.区域_路由器rid是 ...
- 一个网工的十年奋斗史 - 工作篇
作者:姜汁啤酒 原文:http://gingerbeer.blog.51cto.com/625855/1960918 大家好,我是姜汁啤酒,网络技术沉迷者及从业者. 目前作为Senior Networ ...
- 2023-01-20 网工进阶(三十九)MPLS 虚拟专用网络---概述、路由交互、CE接入PE方法、基本组网方案详解、团体属性、防环、MCE组网、伪连接方案、跨域组网详解、各种组网方案配置举例
概述 VPN(Virtual Private Network,虚拟专用网络)指的是在一个公共网络中实现虚拟的专用网络,从而使得用户能够基于该专用网络实现通信的技术.MPLS VPN也是VPN技术中的一 ...
- 2022-11- 10 网工进阶(三十六)IP组播协议--IGMP(v1、v2、v3)、IGMP snooping、IGMP SSM Mapping、IGMP Proxy(代理)
感知组播组成员 组播通信中,组播网络需要将组播数据发送给特定的组播组成员,因此组播网络需要知道组成员的位置与组成员所加的组播组. 组播网络感知组播组成员的方法有手工静态配置和动态感知. 手工静态配置 ...
- 2022-12- 05 网工进阶(三十七)MPLS--基本概念、转发过程、基本配置、配置静态LSR
MPLS概述 基本概念 MPLS(Multi-Protocol Label Switching,多协议标签交换)位于TCP/IP协议栈中的数据链路层和网络层之间,可以向所有网络层提供服务. 通过在数据 ...
- 2022-09-01 网工进阶(二十九) DHCP-概述、工作原理、报文格式、分配IP地址顺序、地址租期与续租、中继(relay)、Snooping
概述 IETF于1993年发布了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议).DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本. ...
- 2022-09-07 网工进阶(三十)以太网交换安全-端口隔离、MAC地址表安全、端口安全、MAC地址漂移防止与检测、链路层安全、流量抑制、风暴控制、IPSG(IP Source Guard)
概述 目前网络中以太网技术的应用非常广泛.然而,各种网络攻击的存在,不仅造成了网络合法用户无法正常访问网络资源,而且对网络信息安全构成严重威胁,因此以太网交换的安全性越来越重要. 端口隔离 大型网络中 ...
- 2022-11-01 网工进阶(三十四) IP组播协议(PIM)-模式概述、组播分发树的分类、PIM路由表项、PIM-DM工作原理(组播分发树的形成、配置举例)
PIM协议介绍 PIM(Protocol Independent Multicast)协议无关组播.协议无关指的是与单播路由协议无关,即PIM不需要维护专门的单播路由信息.目前常用版本是PIMv2,P ...
- 2022-08-14 网工进阶(二十六) MSTP-网络层次、端口角色、端口状态、拓扑计算
MSTP简介 RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛.但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLA ...
最新文章
- C语言------运算符和表达式
- kingcms php 下载,KingCMS _KingCMS官方网站
- mysql数据库同步 debug
- jquery 3D分页翻转滑块
- Python开发【第八篇】:网络编程 Socket
- Dubbo-Admin 功能展示与实操解析
- Sublime Text 3下Emmet使用技巧
- Tomcat源码分析(九)--Session管理
- render在python中的含义_python面试中常见易混淆概念
- 解决keil5不支持Samsung 2440A等较旧型号Soc的方法
- 再也不用担心动态规划,BAT大佬精讲42道题目,相见恨晚
- 凸优化第四章凸优化问题 4.6 广义不等式约束
- 车险赔付率分析报告_汽车保险理赔案例分析报告.ppt
- 基于51单片机流水灯仿真与程序设计
- pandas_收益率的分布
- python 做深度学习时偶遇的 (0xC0000409)错误
- java 把ascll转换成char_java中 怎么把一个ascii转换成字符串
- 用计算机时的注意事项,计算机使用注意事项
- Niagara Networks和Fortinet安全解决方案
- Halcon读图出错怎么办?ReadImage常见错误与处理方法(C++)