一。BGP的宣告问题:
1.在BGP协议中每台运行BGP的设备上,宣告本地直连路由
2.在BGP协议中运行BGP协议的设备还可以宣告,通过IGP学习到的,未运行的BGP协议设备产生的路由
在BGP协议中宣告本地路由表中路由条目时(一台路由器宣告多条路由网关),将携带本地到达这些目标的IGP度量值,传递到BGP邻居处,其他AS设备便于选择离目标最近的EBGP邻居
若一台BGP设备,通过IBGP邻居学习到一条路由(每台路由器宣告自己的网关,此路由器学到其他路由器的网关)存在度量值,同时本地需要将这些路由传输给本地其他EBGP邻居的时候,只能将度量值取消,按0进行传输(从IBGP学到的路由开销值,传递给EBGP区域的路由时候,会把开销值全部去除,保留0),导致选路参考值不佳,++故建议一个AS中若需要BGP设备宣告某条路由,那么该AS内所有运行BGP协议的设备均要进行宣告++,便于其他AS的BGP设备判断自己的EBGP邻居,哪一台距离目标最近
二。BGP的自动汇总问题:
当代的路由器设备,默认关闭了BGP的自动汇总功能
自动汇总规则与正常BGP协议邻居共享路由,或在BGP协议通过network宣告命令产生的路由条目无关
1.BGP中的宣告(路由器进行宣告网关)可以理解为是逐条的重发布IGP到BGP
2.BGP中将IGP重发布到BGP,可以理解为是批量的将IGP路由宣告到BGP协议,既然在一个AS中建议所有运行BGP协议的设备均宣告相同的路由,那么若进行重发布配置,也建议所有运行BGP协议的设备均进行重发布
但是两种操作产生生的路由条目的起源不同,宣告优于重发布
三。BGP认证--邻居间进行身份核实的方法
peer 12.1.1.2 password cipher 123456邻居间需要密码一样,传递出去的密码会被加密
四。BGP的聚合(汇总)
1.不是BGP的标准汇总思路,而是利用了BGP的宣告的特征来简化了汇总配置量(宣告特征:本地路由表中任何方式产生的路由均会被BGP宣告),所以不逐条宣告明细路由,仅在更新源BGP设备上配置一条到达聚合地址的空接口防环路由,然后将其宣告到BGP协议中
在实际工程中,由于AS之间存在大量的EBGP邻居关系,因此仅汇总不一定能做到优选路径,必须在传递聚合条目的同时,再传递部分的明确路由来进行选路控制
可以先做空接口再宣告其他的详细路由
ip router-static 1.1.0.0 22 NULL 0(环回空路由)
network 1.1.0.0 22(宣告空路由)
network 1.1.2.0 24(宣告详细路由)
可以先详细接口,再进行汇总
bgp 1
network 1.1.1.0 24
network 1.1.2.0 24
aggregate 1.1.0.0 22 detail-suppressed(会总动生成空接口,detail-suppressed吧加则三条都会被作为最佳路由)
此时会把汇总路由变为最优,其他两个明细路由则为抑制状态,转抑制状态为最优状态的解决方法为:
(1)使用抑制列表
ip ip-prefix s permit 1.1.1.0 24
router-policy ss permit node 10
if-match ip-prefix s
quit
undo aggregate 1.1.0.0 22 detail-suppressed
aggregate 1.1.0.0 22 suppress-policy ss(此时就1.1.1.0会被抑制,其次增加一条1.1.0.0 22的汇总路由
(2).使用route-map当分发列表使用
ip ip-prefix q permit 1.1.1.0 24(抓取该要拒绝的路由)
route-policy qq deny node 10 (路由策略,拒绝该路由的进入)
if-match ip-prefix q
quit
++route-policy qq permit node 20(表示允许其他的所有路由)++
++bgp 1++
++peer 12.1.1.2 route-policy qq export++(在此路由器的出口进行放出该协议)
(3)分发列表
ip ip-prefix b deny 1.1.1.0 24
ip ip-prefix b permit 0.0.0.0 0 less-equal 32
++bgp 1++
++filter-policy ip-prefix b export++
(4)前缀列表-BGP协议中可以直接将前缀列表作为分发列表调用
ip ip-prefix b deny 1.1.1.0 24
ip ip-prefix b permit 0.0.0.0 0 less-equal 32
bgp1
peer 12.1.1.2 ip-prefix b export
五。BGP在MA网络中的下一跳问题
ICMP重定向开启--一台路由器在转发一个流量的时候,发现流量在本地的入口和查询完路由表的出口为同一个接口的时候,将告知上一跳设备本地的下一跳地址,帮助上一跳设备找到最佳吓一跳地址
display bgp routing-table peer 10.1.1.2 received-routes:查看从10.1.1.2接受到的BGP路由
display bgp routing-table peer 10.1.1.2 advertised-routes:查看从本地发给10.1.1.2的BGP路由
六。有条件的打破IBGP水平分割(为了降低配置量)
要求:打破水平分割后,网络要保证无环
1.路由反射器
++反射器RR 客户端 非客户端 角色++
RR作为中心,与客户端或者非客户端--IBGP邻居关系
一台RR,作为中心,多台设备与它建立IBGP邻居关系,构成一个簇(组),组的中心为RR,其他设备为客户或非客户,至少有一台客户
反射规则:
1.RR从一台EBGP邻居学习到的路由,可以传递给本地的其他客户,非客户,其他EBGP邻居
2.RR从一台++客户端学习到的路由++ (IBGP),++可以传递给本地的其他客户端,非客户端,其他EBGP邻居++
3.RR++从一台非客户端学习到的路由++ ,可以传递给本地的其他客户端,EBGP邻居,不能传递给本地其他的非客户端
配置:
[R3-bgp]:peer 2.2.2.2 reflect-client(反射器R3让2.2.2.2作为反射器用户)
缺点:在路由器多的时候,要设置多个RR,过程繁琐
2.联邦方法:建邻用小号
bgp 64512(开始设置一个小的bgp号为小的AS)
router-id 2.2.2.2
peer 12.1.1.1 as-number 1
confederation id 2(宣告自己的联邦id为2,相当于一个大的AS,里面存在多个小的AS例如:64512)
peer 3.3.3.3 as-number 64512(向同一个大AS进行建立BGP时候,宣告自己的小AS号,进行分联邦)
confederation peer-as 65413(表示对方邻居的小AS为65413)