BGP协议详解及工作原理

边界网关协议(BGP)

是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。

BGP的特征

传输协议:tcp 端口号179

BGP是外部路由协议,用来在AS之间传递数据

是一种增强的路径矢量路由协议

拥有可靠的路由更新机制

无路由环路设计

为路由条目覆带属性思想

支持CIDR(五类别域间路由)

丰富的路由过度和路由策略

无需周期性更新

路由更新时发送增量路由

周期性发送KeepAlive报文以保持TCP直通性

BGP报文

Open报文 发Hello
Notification 报文 报错
Router-refresh 刷新路由条目
KeepAlive 不断发送Hello,维护邻居关系
update 报文

BGP状态机

Idle 状态
connect 状态
Active 状态
Opensent 状态
Openconfirm 状态
Established 状态

自治系统AS

1.同一个技术管理机构管理
2.统一选路策略
3.路由器的集合

BGP 数据库

IP路由表(IP-R2B)
BGP路由表(Loc-R2B)
邻居表 Adj-RIB-in-IBGP
Adj-R2B-out-EBGP

类型

IBGP:是在自治系统内部做的
EBGP是外部与内部 只能在边界路由器上去做 EBGP 默认只能传一跳

查看路由表方式

display bgp routing-table

通告网络的方式

network的方式
import的方式

建立邻居的方式

1.直连网段
2.环回口建立邻居(2跳)

BGP对等体设置

(1)对等体交互原则
1.从IBGP对等体获得的BGP路由,BGP设备只传递给他的EBGP对等体
2.从EBGP对等体获得的BGP路由,BGP设备传递给它所有的EBGP和IBGP对等体(对等体是IBGP只能传1跳,对等体是EBGP则不受限制)
3.当存在多条到达同一地址的有效路由时,BGP设备只将最优路由发布给对等体
4.路由更新时,BGP设备只发送更新的BGP路由
5.所有对等体发送的路由,BGP设备都会接收
6.所有EBGP对等体在传递过程中下一跳改变
7.所有IBGP对等体在传递过程中下一跳不变
8.默认EBGP传递时,TTL值为1
9.默认IBGP传递时,TTL值为255

(2)EBGP多跳(EBGP默认一跳)
peer 1.1.1.1 ebgp-max-hop 255

(3)更新源建立邻居关系
peer 1.1.1.1 connect-interface loopback0

建邻居要注意的点

1.直连建邻居要注意的

建立IBGP邻居时要让下一跳可达,处于边界的IBGP邻居需要将下一跳指向自己,这样才能建立IBGP邻居

2.用环回口建邻居要注意的

需要修改更新源,默认更新源是物理口,你需要修改成环回口。建立IBGP邻居时要保障下一跳可达,处于边界的IBGP邻居需要将下一跳指向自己,这样才能建立IBGP邻居
建立EBGP邻居时因为EBGP只能传一跳,因而,在建立EBGP邻居时,需要修改EBGP多跳的跳数为2以上(自己环回到对端环回是两跳,默认一跳)

3.关于为什么要用环回口建邻居

原因是环回口稳定,只要路由器启动着,环回口就不DOWN,而物理链路可能会受线路或者接口等因素的影响导致邻居关系有问题,因而一般BGP建立邻居都是环回口来建

BGP属性 ⭐

公有必遵
公认任意
可选过渡
可选非过渡

属性 类别
origin 公有必遵
AS-PATH 公有必遵
Next-Hop 公有必遵
local preferene 公认任意
community 可选过度
MED 可选非过渡

Loacl preference:本地优先级传递给IBGP 本地设置发送给邻居 越大越优
MED AS-PATH 值越小 链路越优先

BGP选路规则

(1)若去往目的网络的路由下一跳不可达,则可以忽略此路由
(2)Preferred-Value优先级以数值高的路由优先
(3)Local-Preference优先级以数值高的路由优先 默认100
(4)聚合路由优先级高于非聚合路由
(5)本地手动聚合路由的优先级高于本地自动聚合的路由
(6)本地通过Network命令了入的路由的优先级高于本地通过Import-route命令的入的路由
(7)AS路径长度最短(最少个数)的路径优先级高
(8)比较origin属性,IGP优先级高于EGP,EGP优先级高于Incomplete
(9)选择MED优先级较小的路由 默认是0
(10)EBGP路由优先级高于IBGP路由
(11)BGP优先级选择到BGP下一跳的IGP度量最高的路径,当以上全部相同,则为等价路由,可以负载分担(AS-PATH必须一致),当负载分担时,以下3条原则无效
(12)比较Cluster-List长度,短者优先
(13)比较Originator_ID,如果没有,则比较Router-ID,选择数值较小的路径
(14)比较对等体的IP地址,选择IP地址数值最小的路径

Local preference只能在IGP上做
AS-PATH MED可以在EGP与IGP之间做

命令

acl 2000
rule permit source 1.1.1.1 0.0.0.0
quit
route-policy med permit node 10
if-match acl 2000
apply cost + 50
quit
route-police med permit node 20
quit
bgp 100
peer 3.3.3.3 route-policy med export

你可能感兴趣的:(bgp,网络,网络协议)