BGP 学习笔记

BGP 边界网关协议

IGP  内部网关协议  RIP、EIGRP、OSPF、ISIS

EGP 外部网关协议 EGP、BGP

ISP 互联网服务提供商



术语

AS:自治系统(一组被统一管理的路由器)不同AS号可以互相通信

范围:1-65535

公有,

私有,65412-65535


peer 对等体(neighbor)

IBGP PEER

EBGP PEER

CIDR-REPORT


OSI

RIP(UDP-520) BGP(TCP-179)

OSPF(89) EIGRP(88)

ISIS


CIDR是把几个小网络汇聚成一个大网络来做表示,
VLSM则是把一个大网络继续细分为几个小网络进行IP地址分配。
前者能让路由器的路由条目得到有效的减少,
后者可以充分利用IP进行地址分配而解决IP地址不被浪费的问题。


运行特征 高级路径矢量

最佳路径 选路方式(EBGP-20 IBGP-200)没有度量值的概念

路径属性 path-attribute

单播发送

telnet route-server.ip.att.net

login:rviews

password:rviews


router bgp 100

no synchronization 关闭路由同步

bgp router-id 1.1.1.1 指定BGP RID

neighbor 10.1.12.2 remote-as 2345 指定邻居

network 1.1.1.1 mask 255.255.255.255 (要加这条才会显示BGP路由,通告路由)

no auto-summary 关闭路由汇总


show ip bgp neighbors  邻居表

show ip bgp summary    邻居表

show ip bgp   数据库表

show ip route bgp 路由表 


open message   用于初始状态下的邻居建立

update message 用于承载及传递路由条目及路径属性(NLRI+PATH Attribute)

notification message  用于对BGP错误进程报错

keepalive massage   长度19个字节  用于实现可靠确认及邻居维持 (60s发一次,180s hold time)


邻居建立

IDLE(空闲,检测邻居的可达性)--->三次握手(connec连接)--->open message(open sent)--->keepalive message(open confirm)--->established(已确认)  

active(故障时出现,修正后重新连接)


环回口建邻居

BGP更新源检测

若本地的neighbor的IP与更新源IP不一致,则邻居无法建立

router bgp 2345

neighbor 2.2.2.2 update-source loopback 1

流程:

通过IGP实现底层可达(show run | s r o)

指定对方loopback口作为邻居

修改本地更新源


EBGP Multihop(多跳)

router bgp 100

neighbor 2.2.2.2 remote-as 2345

neighbor 2.2.2.2 ebgp-multihop 255

neighbor 2.2.2.2 update-source loopback 1


neighbor 10.1.12.2 remote-as 2345(原来的指端口当邻居)


网络设计

网络拓扑演变

1、BGP运行在边缘环境,内部路由器不运行

neighbor 4.4.4.4 next-hop-self要在边缘处加这条命令(EBGP与IBGP之间)


路由黑洞

传递路由、传递数据不一样,内部路由没有获得BGP的信息表

BGP路由只要底层可达则可传递

路由黑洞表示当数据流路径中间有某些路由器因为缺失路由导致数据丢失

此拓扑设计因内部路由器没有运行导致自治区域间通信失败


2、BGP运行在网络边缘并部署重分发技术(IGP 压力大、属性全没、策略复杂)

no synchronization

路由同步 BGP邻居不会将路由传递给EBGP邻居,直到本地自治区域内的IGP也学到此路由


3、BGP运行在所有路由器上,并采用部分互联

IBGP水平分割(BGP AS 内部防环机制)

从IBGP邻居学到路由不会传递给另一个IBGP邻居


3、BGP运行在所有路由器上,并采用全互联

资源过多


4、路由反射

路由反射(route reflector)

用于解决BGP全互联问题

原理

route-reflector server 服务端

route-reflector client 客户端

route-reflector cluster 反射簇  (服务器和客户端看作一个整体)

反射簇中的路由信息是共享的逻辑意义上相当于1台路由器

大路由器只有server知道,client不知道,逐级指向

反射簇的成员数量是不受限制的

部署:

router bgp 2345

neighbor 2.2.2.2 route-reflector-client

neighbor 4.4.4.4 route-reflector-client


路由联盟

路由联盟(route conferderation)

用于解决BGP全互联问题

原理:切割AS

AS2345--AS23/AS45  联盟EBGP 联盟IBGP


router bgp 23
 no synchronization
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 bgp confederation identifier 2345   宣告所在的大AS
 bgp confederation peers 45  宣告联盟AS(子AS)
 neighbor 2.2.2.2 remote-as 23
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 2.2.2.2 next-hop-self
 neighbor 4.4.4.4 remote-as 45
 neighbor 4.4.4.4 ebgp-multihop 255
 neighbor 4.4.4.4 update-source Loopback1
 no auto-summary



5、MPLS  基于标签数据库、路由表


路径属性(Path Attributes)功能类似于度量值

用于衡量BGP的路径距离


分类:

公认 VS 可选

强制 VS 自由

传递 VS 非传递

部分


公认强制:必须存在而且都能识别(NEXT_HOOP  AS_PATH ORIGIN)


1、next-hop属性:用于通告路由条目的下一跳
IGP:每个Route为一跳
BGP:每个AS为一跳
router bgp 2345
neighbor 3.3.3.3 next-hop-self


第三方下一跳(优化流量)


2、AS_PATH:用于标识BGP路由所经过的AS路径以及AS间防环,规则越短越优先
当从EBGP邻居学到一条BGP路由并且夹带本地AS时,此路由丢弃
不能在IBGP内应用,如果连邻居边界所给的路由都不是最优,则不会往内部通告


控制:
通过prefix-list抓取路由
ip prefix-list AS-PATH seq 5 permit 6.6.6.6/32


通过route-map调用prefix-list并设置策略
route-map AS-PATH permit 10
 match ip address prefix-list AS-PATE
 set as-path prepend 600 600 600 600
route-map AS-PATH permit 20


针对某个邻居应用策略
router bgp 100
 neighbor 2.2.2.2 route-map AS-PATH in
别人给我的用in 我给别人的用out
clear ip bgp * soft 软清除  不重置邻居关系


3、ORIGIN属性(起源属性)
作用,用于标志路由的来源 
i--通过network(igp)命令导入 优先级高
e--通过egp命令导入
?--通过重分发   优先级低


控制:
ip prefix-list ORIGIN seq 5 permit 2.2.2.2/32

route-map ORIGIN permit 10
 match ip address prefix-list ORIGIN
 set origin egp 100
route-map ORIGIN permit 20

router bgp 700
 neighbor 10.1.67.6 route-map ORIGIN in

公认自由:不一定存在并且都能识别


1、LOCAL-PREFERENCE属性(本地优先级)
用于控制本地AS到外部路由的选路过程
越大越优先  默认100

控制:

ip prefix-list LOCAL seq 5 permit 7.7.7.7/32

route-map LOCAL permit 10
 match ip address prefix-list LOCAL
 set local-preference 200
route-map LOCAL permit 20

router bgp 2345
 neighbor 3.3.3.3 route-map LOCAL out
可以在R3处刷新clear ip bgp * soft

2、MED属性:用于控制EBGP邻居如何到达本AS
越小越优先

控制:
ip prefix-list MED seq 5 permit 3.3.3.3/32

route-map MED permit 10
match ip add prefix-list MED
set metric 300
route-map MED permit 20

router bgp 100
neighbor 10.1.17.7 route-map MED out

router bgp 700
bgp always-compare-med  不管MED值是否同一AS,都会进行对比

weight 属性(权重,思科私有)
用于影响本地BGP路由器的选路
规则越大越优先,默认值为32768
只能在本地采用in方向

控制:
ip prefix-list WEIGHT seq 5 permit 17.17.17.17/32

route-map WEIGHT permit 10
match ip address prefix-list WEIGHT
set weight 10000
route-map WEIGHT permit 20

router bgp 2345
neighbor 4.4.4.4 route-map WEIGHT in


可选传递:不一定识别但会传递

可选非传递:不一定识别且不传递


BGP选路原则

1.权重(越大越优先)

2.优先级(越高越优先)

3.起源于本地 (next hop=0.0.0.0)

4.AS路径(越小越优先)(注意选择做的位置,以及显示的效果)

5.最低起源属性(i--e--?)

6.最低MED

7.EBGP优于IBGP

8.最近的IGP邻居(cost 越小越优先)

9.生存最长路由

10.最低的RID

11.最低的IP ADDR


起源于本地验证

int  lo2

ip add 7.7.7.7 255.255.255.255

router bgp 2345

network 7.7.7.7 mask 255.255.255.255


最近IGP邻居验证

int f0/0

ip ospf cost 100

show ip ospf int f0/0 查看cost


对称体组(peer group)

定义:用于简化配置

部署:

创建对等体组

router bgp 2345

network IBGP-GROUP peer-group

针对对等体组做策略

neighbor IBGP-GROUP remote-as 2345

neighbor IBGP-GROUP update-source Loopback1

neighbor IBGP-GROUP next-hoop-self

将邻居放入对等体组

neighbor 3.3.3.3 peer-group IBGP-GROUP

不能针对其中的一个进行策略


邻居认证

1.BGP只支持MD5认证

2.BGP的认证信息放置在TCP头部中(Options选项)

配置:

router bgp 2345

neighbor 2.2.2.2 password pinginglab


路由汇总

方法1

第一步:通过手工方式将精细路由汇总到NULL0

ip router 172.16.0.0 255.255.252.0 Null0

第二步:通过network将汇总路由通告出去

router bgp 100

network 172.16.0.0 mask 255.255.252.0


方式2

router bgp 100

通过network通告精细路由

network 172.16.0.0 mask 255.255.255.0

network 172.16.1.0 mask 255.255.255.0

network 172.16.2.0 mask 255.255.255.0

network 172.16.3.0 mask 255.255.255.0

部署路由聚合

aggregate-address 172.16.0.0 255.255.252.0 summary-only  只通过汇总路由

aggregate-address 172.16.0.0 255.255.252.0 summary-only as-set 补全AS号


路由抑制

通过前缀列表抓取路由

ip prefix-list su seq 5 permit 172.16.0.0/24

ip prefix-list su seq 10 permit 172.16.1.0/24

通过路由表调用前缀列表

route-map su permit 10

match ip address prefix-list su

通过抑制图调用route-map

aggregate-address 172.16.0.0 255.255.252.0 as-set suppress-map su


团体属性

Community:用于影响路由选路传递的范围

可以对路由进行标记,实现更优化的部署,简化路由策略的执行

分类:

公有属性:传递范围

Internet 传递所有

No-advertise 不传递给其他邻居

Local-AS 不传递出本联盟AS

No-export 不传递出大AS

ip prefix-list COM seq 5 permit 1.1.1.1/32


route-map COM permit 10

match ip add prefix-list COM

set community internet/no-advertise/local-as/no-export

route-map COM permit 20


router bgp 100

network 2.2.2.2 route-map COM out

network 2.2.2.2 send-community (沿途加上)


show ip bgp 1.1.1.1


私有属性:路由标记

在源路由器上通过route-map将特定路由打上community标记
在源路由器上在BGP进程下针对特定下游路由器调用route-map
在源路由器上在BGP进程下针对特性下游路由器显式发送community属性
在接收路由器上通过community-list去匹配相应的community标记
在接收路由器上通过route-map调用community-list并设置策略
在接收路由器上在BGP进程下针对特定下游路由器调用route-map
在接收路由器上在BGP进程下针对特定下游路由器显式发送community属性


源发送端(打标签)
ip prefix-list seq 5 COM permit 1.1.1.1/32
ip prefix-list seq 10 COM permit 11.1.1.1/32


route-map COM permit 10
 match ip address prefix-list COM
 set community 100
route-map COM permit 20


 neighbor 10.1.12.2 send-community
 neighbor 10.1.12.2 route-map COM out


接收端(根据标签做策略)


ip community-list 1 permit 100:100


route-map COM-LIST permit 10
 match community 1
 set weight 20000
route-map COM-LIST permit 20


 neighbor 10.1.12.1 route-map COM-LIST in


在路由器加上
ip community-list 1 permit 100
ip bgp-community new-format


show ip bgp 1.1.1.1
show ip bgp community 100:100


后门路由(backdoor route)用于调整IGP和BGP的路径优先

router bgp 100

network 3.3.3.3 mask 255.255.255.255 backdoor    (BGP的管理距离变成200)

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值