IBGP的水平分隔原则(Split Horizon Rule):
IBGP的水平分割原则:by default,routes learned via IBGP are never propagated to othe IBGP peers;默认情况下对于一个BGP路由器R1来说,从一个IBGP邻居R3那里学到的BGP路由,是不会传递给另外的一个IBGP邻居R2的。(提醒:EBGP是没有这种规则的!!!)
BGP路由反射器RR(Route Reflector):
事实证明:路由反射器就是搞传销地!!!
第一种:来自同一AS内的下线的路由,会反射给所有BGP session:
第二种:非下线的路由会发给自己的下线而不会发送给非下线,但可以发送给其他AS:
第三种:外部来的EBGP路由,可以发给所有本区内的下线和非下线:
LAB8:Part-Mesh IBGP +RR(Router-REfilector):
Step1:
删除R2-R3IBGP Session
删除之前:R2有105.5.0.0/16路由
R3(config-router)#no neighbor 2.2.2.2
R2(config-router)#no neighbor 3.3.3.3
删除之后
IBGP Split Horizon Rule:/IBGP的水平分割原则:
(已完成实验)
IBGP的水平分割原则,
by default,routes learned via IBGP are never propagated to othe IBGP peers.
默认情况下:
对于一个BGP路由器R1来说,从一个IBGP邻居R3那里学到的BGP路由,
是不是传递给另外的一个IBGP邻居R2的
提醒:EBGP是没有这种规则的!!
Step2:解决方法:BGP Route Reflector /RR
在R1上, 定义R2/R3为自己的"路由反射器的客户端"
2-1:
如果使用Peer-group:
R1#neighbor R1-PG route-reflecgtor-client
2-2:
如果没有使用peer-group:
R1(router bgp 123)#
neighbor 2.2.2.2 route-reflector-client
neighbor 3.3.3.3 route-reflector-client
Step3:查看:
问题:在R1上,定义R2为自己的"路由反射器的客户端",但R3不是.
R4能收到105的路由吗?
能!R5能收到114的路由吗?能!
LAB9:联邦(Confederation):
假定:子AS65003/AS65012之间是不运行IGP的、AS65012内部运行的IGP是RIP.
STEP1:删除原来的AS123.重新建AS123
R1/2/3#no router bgp 123
R1#(R2,R3建立IGP)
router rip
version 2
network 1.0.0.0
network 12.0.0.0
no auto-summary
step2:启动新的子AS:
R1/R2#
router bgp 65012
R3#
router bgp 65003
step3:R1/R2/R3指定自己是属于AS123这个联邦
r1/2/3(config-router)#
bgp confederation identifier 123
step4:在两个子AS相邻的边界路由器上,互相指定对方的子AS号
R1(config-router)#bgp confederation peers 65003
R3(config-router)#bgp confederation peers 65012
step5:在联邦中,互相BGP邻居
构建R3-R5之间的EBGP:
R5(config-router)#neighbor 35.0.0.3 remote-as 123
R3(config-router)#neighbor 35.0.0.5 remote-as 150
构建R2-R4之间的EBGP:
R2(config-router)#neighbor 24.0.0.4 remote-as 140
R4(config-router)#neighbor 24.0.0.2 remote-as 123
提醒:在 联邦以外的EBGP邻居,它们能查看到的是联邦的大AS号,而不是子AS号。
R1-R3的联邦EBGP:(联邦子AS间有IGP)
R3:
nei 1.1.1.1 remote-as 65012
nei 1.1.1.1 upd lo 3
nei 1.1.1.1 ebgp-multihop
R1:
nei 3.3.3.3 remote-as 65012
nei 3.3.3.3 upd lo 1
nei 3.3.3.3 ebgp-multihop
R1-R2的联邦IBGP
R1#
nei 2.2.2.2 remote-as 65012
nei 2.2.2.2 upda lo 1
R2#
nei 1.1.1.1 remote-as 65012
nei 1.1.1.1 upda lo 2
step6:宣告BGP路由
宣告104和105进BGP
step7:观察一下BGP的路由的传递
R3上有优化路由
*> 105 5.5.0/24 35.0.0.5
但是由于R1无法通过IGP获得到达35.0.0.0这个网络的路由,所以R1到此路由的 下一跳不可达,从而无法优化。
R1
* 105 5.5.0/24 13.0.0.3
解决办法:
R3(config-router)#neighbor 13.0.0.1 next-hop-self
R1# *>105.5.0.0/16 13.0.0.3
step8:联邦EBGP和普通EBGP的异同点(观察105.5.5.0)
下一跳:
在联邦的子AS中,所有路由器看到的BGP下一跳,都是相邻大AS的边缘节点,而不是本联邦内子AS的下一跳,这是区别与普通EBGP的.
同步:
联邦EBGP和普通EBGP一样,无需考察同步问题.
step9:联邦内的IBGP:(R1-R2)(观察105和104)
R2# *i105.5.0.0/16 13.0.0.3
R1#(config-router)#neighbor 2.2.2.2 next-hop-self
R2
*>i105.5.5.0/24 12.0.0.1 0 100 0 (65003) 150 i
R4#*> 105.5.0.0/16 24.0.0.2
结论:
联邦子AS之间的EBGP的下一跳,不像普通EBGP那样每经过一个AS,都发生改变.
而保留原始的BGP下一跳.
下一跳:
可达,因为两个AS间运行了RIP
同步:
原因是R2从IBGP学到的路由,默认要检查同步
但现在R2不可能通过RIP学到此BGP的路由(指这条路由:i105.1.0.0/16)
Step10:联邦内的同步问题:
R2/R3# no sy
R1(config-router-65012)#sy
R1#show ip bgp (当R1启动"同步")
* i104.4.4.0/24 2.2.2.2 (来自联邦IBGP)
* >105.5.0.0/16 13.0.0.3(来自联邦EBGP)
R2#sh ip bgp
R2#(config-router)#sync
结论:
联邦子AS之间的同步问题:
如果路由来自联邦IBGP,则需要审查同步条件.
如果路由来自联邦EBGP,则不需要审查同步条件.
step11:在两个AS间,无IGP的情况
R3(config)#no router rip
R1(config)#router rip
R1(config-router)#no net 13.0.0.0
手工建立到达对方环回口的静态路由;
R1:ip route 3.3.3.0 255.255.255.0 13.0.0.3
R3:ip route 1.1.1.0 255.255.255.0 13.0.0.1
到此,R1-R3之间的联邦EBGP关系,可以成功建立
但,R2无法通过IGP学到3.3.3.3的路由,所以下一跳不可达.需在R1指next-hop-self
以下是观察BGP的路由的传递:
LAB10:团体(Community)
(相当于一种BGP路由的标识位,常用于标识这条BGP路由应该传播的范围)
step1:通过prefix,定义出特定的BGP路由
R4:
ip prefix-list B-1 seq 5 permit 104.4.0.0/24
ip prefix-list B-2 seq 10 permit 104.4.1.0/24
ip prefix-list B-3 seq 15 permit 104.4.2.0/24
step2:通过route-map,调用前缀列表设定每类路由的community种类
route-map T-R2 permit 10
match ip add prefix B-1
set community no-advertise (do not advertise to any peer/R4通知R2,不要发给任何BGP邻居)
!
route-map T-R2 permit 20
match ip add prefix B-2
set community local-as(Do not send outside local AS/联邦的子AS/小AS)
!
route-map T-R2 permit 30
match ip add prefix B-3
set community no-export(do not export to next AS/联邦的大AS)
!
route-map T-R2 permit 40(match any,set nothing!)
!
step3:在R4上,对R2的BGP路由策略发生,"出方向"的改变
R4(config)#router bgp 140
R4(config-router)#nei 24.0.0.2 route-map T-R2 out
step4:每个BGP路由器,将conmmunity这些标签发送给下一个BGP路由器
每向前走一个BGP Router,就要"send-community"推一下。
在BGP进程中
R4#nei 24.0.0.2 send-community
R2#nei 1.1.1.1 send-community
R1#nei 3.3.3.3 send-community
clear ip bgp *
R2#sh ip bgp community
sh ip bgp community no-advertise
................... local-as
................... no-export
......... 104.4.3.0/24
step5:
如果route-map中,没有最后的那句空的route-map"route-map T-R2 permit 40",
R4向R2通告的bgp路由只有3条:
R4#sh ip bgp neigh 24.0.0.2 advertised-routes
*>104.4.0.0/24
*>104.4.1.0/24
*>104.4.3.0/24
BGP-Summarization
LAB11:非专业汇总(network命令,是不需要宣告明细路由的.)
step1:手工生成一条需要汇总的,静态的,空接口的路由:
R4指4条环回: 104.4.1.0/24
104.4.2.4/24
104.4.3.4/24
104.4.0.4/24
R4(config)#ip route 104.4.0.0 255.255.252.0 null 0 <---指这条静态的原因是为了network的时候能在路由
表里发现这条指向null 0 且22位的路由存在,才
能network成功
step2:将上述路由,宣告到BGP进程里
R4(config)#router b 140
R4(config-router)#net 104.4.0.0 mask 255.255.252.0
在R5上,可以查看到明细路由/汇总路由,
实际上,明细路由是不需要的:
Step3:删除原明细BGP路由的宣告:
R4(config-router)#
router bgp 140
no net 104.4.0.0 mask 255.255.255.0
no net 104.4.1.0 mask 255.255.255.0
no net 104.4.2.0 mask 255.255.255.0
no net 104.4.3.0 mask 255.255.255.0
step4:
R5#show ip bgp
*>104.4.0.0/22
step5:
R4(config)#no ip route 140.4.0.0 255.255.252.0 null 0 - 汇总不成功
R4在BGP表中都无法优化,更加不会传给别地BGP路由器了.
也可以由IGP自动生成
LAB12:BGP的专业汇总(推荐的方法)
step1:准确地宣告每一条BGP明细路由
net 104.4.0.0 ma 255.255.255.0
net 104.4.1.0 ma 255.255.255.0
net 104.4.2.0 ma 255.255.255.0
net 104.4.3.0 ma 255.255.255.0
(不要用network宣告汇总路由)
no net 140.4.0.0 ma 255.255.252.0
step2:使用aggregate命令,实现BGP路由的汇总(aggregate-address命令是不需要实现配置汇总路由的):
R4(config-router-BGP)#aggregate-address 104.4.0.0 255.255.252.0
此时,在BGP路由器上,都接收到了明细和汇总的路由.
step3:为了不让明细路由传播出去,启用summary-only参数.
R4(config-router-BGP)#aggregate-address 104.4.0.0 255.255.252.0 summary-only
此时的R4抑制了所有的明细路由,只发送了汇总路给R3,实现了BGP路由的汇总
step4:R4的BGP进程,自动生成了一条用于汇总的空接口路由
r4#show ip route
B 104.4.0.0/22[200/0]via 0.0.0.0
- 1.7-BGP⑥
BGP中的路由控制/过滤: LAB1:Distribute-list调用ACL(较落后) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Step1:通过ACL定义 ...
- 1.7-BGP⑤
BGP Attributes/BGP属性 (通过BGP的属性,实现对BGP路由的选择/操纵) BGP Route Selection/BGP的选路原则: 1: The BGP forwarding t ...
- 1.7-BGP④
注意:默认路由ip route 0.0.0.0 0.0.0.0 12.1.1.1是不可以作为BGP邻居TCP始发连接的(但回包可以) 要配静态路由:ip route 13.1.1.3 255.255. ...
- 1.7-BGP②
BGP的更新源(BGP Neighbor Update Source Address): 原则1: 在默认情况下, BGP路由器以自己路由表中,到达对方BGP邻居的地址的那条路由所指示的出接口(物理接 ...
- 1.7-BGP①
IGP: 包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议 运行在同一个AS中, 通过Cost/Metirc来判断路由的优劣(越小越好): AS:自治系统(小) A ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
- 1.4-动态路由协议OSPF④
多区域的OSPF: 划分多区域的主要目的: 1.减少每个区域中的路由条目,进而减少每个路由器的内存中的路由,及其内存消耗,提高转发效率. 2.因为每一个OSPF区域对应在一个OSPF LSDB,配合在 ...
- BGP MPLS IP V匹N基本概念
BGP/MPLS IP VPN基本概念 Site 在介绍VPN时经常会提到"Site",Site(站点)的含义可以从下述几个方面理解: · Site是指相互之间具备IP连通性的一组 ...
随机推荐
- [ Luogu 1273 ] 有线电视网
\(\\\) \(Description\) 一棵\(N\)个节点的树,编号在\([N-M+1,N]\)内的点必定为叶子节点,且这些点都有一个收益值\(Val_i\),同时每一条树边都有一个代价. 访 ...
- 判断IE浏览器的类型以及提示信息(低版本浏览器不予显示)
//浏览器IE版本判断(function(window) { var theUA = window.navigator.userAgent.toLowerCase(); if ((theU ...
- 前端--3、JavaScript
引入方式: 直接在HTML中写入(了解) 写到文件中引入 声明变量 变量赋值方式 单个变量赋值 多变量的变量赋值 数据类型 数字and字符串 boolean undefined 数据类型的存储 数组 ...
- (求助)对某一颜色,设置透明度 alpha 后,其他使用该颜色的地方 受到影响!!!!原因未知
对某一颜色,设置透明度 alpha 后,其他使用该颜色的地方 受到影响!!!!原因未知,有谁碰到过这样的问题?????? 测试了以下三款手机,结果如下: 1.android 4.4.2: 不受影响 2 ...
- ImmutableJS
引用大神的一句话:(具体是谁自己问度娘) Shared mutable state is the root of all evil(共享的可变状态是万恶之源) -- Pete Hunt JavaS ...
- 【转】jvm内存结构
JVM的基本结构 包括四部分:类加载器.执行引擎.内存区(运行时数据区).本地方法接口 类加载器:jvm启动时或类运行时将需要的class文件加载到JVM中. JVM内存申请过程如下: JVM 会试图 ...
- HTML form without CSRF protection,HTML表单没有CSRF保护
HTML form without CSRF protection =HTML表单没有CSRF保护 CSRF是伪造客户端请求的一种攻击,CSRF的英文全称是Cross Site Request For ...
- 如何在Win8.1和Win2012上运用PowerShell快速生成、安装、导出自签名证书 (Self-Signed Certificate)
自签名证书用途很广,测试,开发,本地或者云端网站(比如Microsoft Azure Web Site)都会使用到.本文会介绍一种在Win8.1和Win2012 R2上使用PowerShell快速生成 ...
- tcpdump命令使用方法
NAME tcpdump - 转储网络上的数据流 总 tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ - ...
- 习题练习(视觉slam14讲课后习题)
设有⼩萝⼘1⼀号和⼩萝⼘⼆号位于世界坐标系中. ⼩萝⼘⼀号的位姿为:q1 = [0.55, 0.3, 0.2, 0.2], t1 = [0.7, 1.1, 0.2]T(q 的第⼀项为实部).这⾥的 q ...