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路由反射器RRRoute Reflector):
事实证明:路由反射器就是搞传销地!!!
第一种:来自同一AS内的下线的路由,会反射给所有BGP session
    第二种:非下线的路由会发给自己的下线而不会发送给非下线,但可以发送给其他AS
    第三种:外部来的EBGP路由,可以发给所有本区内的下线和非下线:
LAB8Part-Mesh IBGP RRRouter-REfilector):
Step1:
删除R2-R3IBGP Session
删除之前:R2105.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内部运行的IGPRIP.
STEP1:删除原来的AS123.重新建AS123 
R1/2/3#no router bgp 123
R1#R2R3建立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/3config-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路由
宣告104105BGP
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)(观察105104
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
同步:
原因是R2IBGP学到的路由,默认要检查同步
但现在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的路由,所以下一跳不可达.需在R1next-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-asDo 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 40match any,set nothing!
!
step3:R4,R2BGP路由策略发生,"出方向"的改变
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",
R4R2通告的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:手工生成一条需要汇总的,静态的,空接口的路由:
R44条环回:  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   -  汇总不成功
R4BGP表中都无法优化,更加不会传给别地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:R4BGP进程,自动生成了一条用于汇总的空接口路由
r4#show ip route
B 104.4.0.0/22[200/0]via 0.0.0.0

1.7-BGP③的更多相关文章

  1. 1.7-BGP⑥

    BGP中的路由控制/过滤: LAB1:Distribute-list调用ACL(较落后) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      Step1:通过ACL定义 ...

  2. 1.7-BGP⑤

    BGP Attributes/BGP属性 (通过BGP的属性,实现对BGP路由的选择/操纵) BGP Route Selection/BGP的选路原则: 1: The BGP forwarding t ...

  3. 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. ...

  4. 1.7-BGP②

    BGP的更新源(BGP Neighbor Update Source Address): 原则1: 在默认情况下, BGP路由器以自己路由表中,到达对方BGP邻居的地址的那条路由所指示的出接口(物理接 ...

  5. 1.7-BGP①

    IGP:   包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议   运行在同一个AS中,   通过Cost/Metirc来判断路由的优劣(越小越好):   AS:自治系统(小)   A ...

  6. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  7. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

  8. 1.4-动态路由协议OSPF④

    多区域的OSPF: 划分多区域的主要目的: 1.减少每个区域中的路由条目,进而减少每个路由器的内存中的路由,及其内存消耗,提高转发效率. 2.因为每一个OSPF区域对应在一个OSPF LSDB,配合在 ...

  9. BGP MPLS IP V匹N基本概念

    BGP/MPLS IP VPN基本概念 Site 在介绍VPN时经常会提到"Site",Site(站点)的含义可以从下述几个方面理解: · Site是指相互之间具备IP连通性的一组 ...

随机推荐

  1. FCC 基础JavaScript 练习6

    1.对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的, 对象适合用来存储结构化数据,就和真实世界的对象一模一样,比如一只猫. 任务 创建一个叫做myDog的对象,它里 ...

  2. <a>标签的href、onclick属性

    链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接): 参考:https://www.cnblogs.com/happykakeru/ar ...

  3. 关于WIN7开始“搜索程序和文件”

    大家好,我是WIN7使用者.关于WIN7开始>搜索程序和文件,这点功能强大,但是本人电脑水平不好,几乎不怎么会用. 我知道可以找出相应的软件,但是我想知道的是,可以找出电脑相应的功能,到某个界面 ...

  4. android studio使用中碰到Failure [INSTALL_FAILED_OLDER_SDK] 问题

    第一次使用Android studio开发.直接新建一个默认项目运行出现:Failure [INSTALL_FAILED_OLDER_SDK] , 网上很多人说修改build.gradle中的mins ...

  5. zencart,分类,所有,显示

    改的文件:includes/classes/category_tree.php,最简单的修改 if (!isset($first_element)) {        $first_element = ...

  6. 浏览器的两种模式quirks mode 和strict mode

    关键字: javascript.quirks mode.strict mode 在看js代码时,有时会看到关于quirks mode(怪异模式)和strict mode(严格格式)的东西,一直也没深究 ...

  7. sublime text3 =个人插件

    1.sublime text3汉化插件安装. ctrl+shift+p → Package Control:Install Package → ChineseLocalization preferen ...

  8. js 动态加载select触发事件

    动态加载select后,手动调用一下 subjectChange函数,模拟触发change事件 function hallidChange(value) { $.ajax({ type: " ...

  9. Python Web开发

    参考原文 Python廖雪峰 WSGI接口 WSGI(Web Server Gateway Interface)是一个接口,用来屏蔽底部的细节(如TCP的建立连接,HTTP原始请求和响应格式等).WS ...

  10. C++ 迭代器运算符 箭头运算符->

    所有标准库容器都支持迭代器,只有少数几种才支持下标运算 迭代器运算符 运算符 作用 *iter 返回迭代器iter所指元素的引用 iter -> mem 解引用iter,并获取元素名为mem的成 ...