交换与路由练习(十四、BGP)
来源:互联网 发布:教淘宝的基础知识 编辑:程序博客网 时间:2024/04/24 22:51
要求:
1)AS 400内运行IGP为 RIPv2
2)IBGP邻居:
R4 -- R6
R4 -- R5
R5 -- R6
邻居建立在loopback0上
3)EBGP邻居:
R1 -- R2
R2 -- R4
R3 -- R5
邻居建立在直连接口上
R1 -- R3 邻居建立在loopback0上
4)所有设备都可以收到172.16.0.0/16 的网络路由条目
5)AS 400 内的所有设备去往
172.16.0.0/24 172.16.1.0/24 从R4出去(loc)
172.16.2.0/24 172.16.3.0/24 从R5出去(as-path)
6)配置拓扑中所有设备之间能ping通
一、实现方法
查看每台路由器配置:
(1) AS 400内运行IGP为 RIPv2——R5、R6上配RIPv2且删eigrp;R4Ripv2协议取消汇总。
R*(config)#no routereigrp 10
R*(config)#router rip
R* (config-router)#v 2
R* (config-router)#noauto-summary
R* (config-router)#net[network]
(2) IBGP邻居:R4 -- R6、R4 -- R5、R5 -- R6,邻居建立在loopback0上。
1 R4 和R5分别与 R6通过环回建立IBGP邻居关系
R*(config)#router bgp [ ASnumber]
R*(config-router)#neighbor [loopbackip] remote-as [AS number]
R*(config-router)#neighbor [loopbackip] update-source loopback 0
R *(config-router)#end
2为了沟通R4与R5,在FR上铺两条路,并在R4与R5上配置映射表。
R *(config)# interface [type] [slot/number]
R *(config-if)#no shutdown
R *(config-if)#en fr ietf
R *(config-if)#fram map ip [address] [dlci]broadcast
R *(config-if)#end
3 R4和R5IBGP邻居关系通过环回建立
4 将R5的IBGP邻居R6从R5学到外AS的下一跳设为R5自己
R5(config)#router bgp 400
R5(config-router)# nei 6.6.6.6 next-hop-self
(3) EBGP邻居:R1 -- R2、R2 -- R4、R3 -- R5,邻居建立在直连接口上;R1-- R3邻居建立在loopback0上。
1)R1 -- R3邻居建立在loopback0上
1 R1和R3间的TTL改为3且用环回配置的EBGP邻居少一句命令,加上
R*(config)#router bgp [ AS number]
R*(config-router)#nei [ip] ebgp-multihop 3
R*(config)#router bgp [ ASnumber]
R*(config-router)#neighbor [loopbackip] update-source loopback 0
R *(config-router)#end
2修改R1上的network的掩码
R1(config)#router bgp 100
R1(config-router)#no net [address] [subnet-mask]
R1(config-router)#net [address] [subnet-mask]
3 R1和R3上配静态路由到对方环回
R*(config)#ip route [network] [subnets-mask] [type][slot/number]
4 R1和R3用环回建立起了EBGP邻居关系
2)R1 -- R2、R2 -- R4、R3 -- R5,邻居建立在直连接口上
1修改R2中EBGP邻居R1的AS
R2(config)#router bgp 200
R2(config-router)#no nei 12.12.12.1 remot200
R2(config-router)# nei 12.12.12.1 remot 100
2 R1和R2通过直连接口建立了EBGP邻居
3R4上通过直连接口建立起与R2的EBGP邻居关系,R5上通过直连接口建立起与R3的EBGP邻居关系
R4(config)#router bgp 400
R4(config-router)# nei 24.24.24.2 remot 200
R4(config-router)#end
R5(config)#router bgp 400
R5(config-router)# nei 35.35.35.3 remot 300
R5(config-router)#end
(4) 所有设备都可以收到 172.16.0.0/16 的网络路由条目。
1通告R2、R1、R3的路由条目(直连)。
R*(config)#router bgp [ AS number]
R*(config-router)#net [address] mask[subnet-mask]
2通告R4上的路由条目。
R4(config)#router bgp 400
R4(config-router)#net [address] mask[subnet-mask]
3只能net网段,不能是主机,修改。
R*(config)#router bgp [ AS number]
R*(config-router)#no net [address] mask [subnet-mask]
R*(config-router)#net [address] mask[subnet-mask]
4所有设备都可以收到 172.16.0.0/16 的网络路由条目
R1(config)#router bgp 100
R1(config-router)#agg 172.16.0.0255.255.0.0
(5) AS 400内的所有设备去往:172.16.0.0/24 172.16.1.0/24 从R4出去(loc);172.16.2.0/24172.16.3.0/24 从R5出去(as-path)
1)修改配置之前的BGP表。
2)增长172.16.2.0/24和 172.16.3.0/24 从R2出去到R4的as-path。
R2(config)#access 10 per 172.16.2.0 0.0.0.255
R2(config)#access 10 per 172.16.3.0 0.0.0.255
R2(config)#access 11 den 172.16.2.0 0.0.0.255
R2(config)#access 11 den 172.16.3.0 0.0.0.255
R2(config)#access 11 per any
R2(config)#route-m test per 10
R2(config-route-map)#match ip add 10
R2(config-route-map)#set as per 200 200 200
R2(config-route-map)#exit
R2(config)#route-m test per 20
R2(config-route-map)#match ip add 11
R2(config-route-map)#exit
R2(config)#router bgp 200
R2(config-router)#nei 24.24.24.4 route-m test out
R2#clear ip bgp 24.24.24.4 soft out
3)As-path变完的结果。
4)在R5上减小loc值为40,R4上增大loc值为150。
R5(config)#access 1 per 172.16.0.0 0.0.0.255
R5(config)#access 1 per 172.16.1.0 0.0.0.255
R5(config)#access 2 den 172.16.0.0 0.0.0.255
R5(config)#access 2 den 172.16.1.0 0.0.0.255
R5(config)#access 2 per any
R5(config)#route-m loc per 10
R5(config-route-map)#match ip add 1
R5(config-route-map)#set local 40
R5(config-route-map)#exit
R5(config)#route-m test per 20
R5(config-route-map)#match ip add 2
R5(config-route-map)#exit
R5(config)#router bgp 400
R5(config-router)#nei 6.6.6.6 route-m loc out
R5#clear ip bgp 6.6.6.6 soft out
R4(config)#access 1 per 172.16.0.0 0.0.0.255
R4(config)#access 1 per 172.16.1.0 0.0.0.255
R4(config)#access 2 den 172.16.0.0 0.0.0.255
R4(config)#access 2 den 172.16.1.0 0.0.0.255
R4(config)#access 2 per any
R4(config)#route-m loc per 10
R4(config-route-map)#match ip add 1
R4(config-route-map)#set local 150
R4(config-route-map)#exit
R4(config)#route-m test per 20
R4(config-route-map)#match ip add 2
R4(config-route-map)#exit
R4(config)#router bgp 400
R4(config-router)#nei 6.6.6.6 route-m loc out
R4(config-router)#nei 5.5.5.5 route-m loc out
R4#clear ip bgp 6.6.6.6 soft out
R4#clear ip bgp 5.5.5.5 soft out
5)local修改完的结果。
分析
(1) OSPF,EIGRP(RIP),BGP的network的区别
内部网关协议IGP(包括ospf,eigrp,rip)的network命令都是为了说明哪一个接口启用该igp协议:
ospf协议的network命令通告的是端口。Network的作用是传播路由条目和对应端口开启ospf协议。
rip协议 eigrp协议 network命令 在没有追加子网掩码的情况下通告的是网段。
其实两者就是有类和无类的区别,通告网段中的“网段”2字就是指有类的大网段,通告端口则可以理解为通告无类网段的另一个说法而已
在没有标注子网掩码的情况下,rip和eigrp两个协议的命令
network192.168.1.0 ----> network 192.168.0.0
会自动将写入的无类网段通告转换成有类网段通告,这一点在running configure中会体现
依上所述,如果在rip协议和eigrp协议的network命令后面上加上了子网掩码的话,那么这两个协议network命令和ospf协议network命令所到达的效果就没有什么不同了
外部网关协议EGP(仅仅说明BGP)的network命令则是为了提取IGP的路由条目:
对于BGP而言,只有在IGP路由表中包含这条路由条目(可以是直连,也可以不是)的时候,才可能被BGP路由协议提取并发布。
其精髓就是匹配IGP路由表,而这种匹配的重点就在于他的精确性:
1. S192.168.1.0 255.255.255.0
2. S192.168.1.1 255.255.255.255
对于以上两个路由条目,如果写入(GBP)network 192.168.1.0 mask 255.255.255.0,那么只会匹配第一条路由条目(序号1),不会匹配第二条路由条目,这就是BGP与IGP的network命令的最大区别所在
(2) next-hop-self是在开启IBGP的路由器之间使用的,在设置时,只在IBGP邻居之间设置,EBGP邻居之间不需要,比如说,R2和R1就不需要设置next-hop-self。
将从EBGP邻居学来的路由条目宣告给IBGP时,为IBGP邻居指定下一跳地址为自己。
是R2在向它的IBGP邻居通告,你们的这些自治区域外部的路由条目,是我从自治区域外部学习到的,所以你们要去这些网段,下一跳为我R2。
(3) 用环回建邻居关系比用物理端口稳定(可能坏掉)。
(4) BGP基于TCP,所以有三次握手。
(7) Rip中无DR。
(8) 水平分割命令: IP spli。
Ebgp邻居之间的通路有一个- 交换与路由练习(十四、BGP)
- 交换与路由练习(十三、BGP)
- 交换与路由练习(七、vrrp)
- 交换与路由练习(三、生成树 静态路由)
- 交换与路由练习(一、排错)
- 交换与路由练习(二、排错)
- 交换与路由练习(四、排错)
- 交换与路由练习(五、rip 排错)
- 交换与路由练习(六、rip 排错)
- 交换与路由练习(八、帧中继)
- 交换与路由练习(九、帧中继 排错)
- 交换与路由练习(十、远程控制)
- 交换与路由练习(十一、重分布)
- 交换与路由练习(十二、route-map)
- BGP交换前缀列表的出口路由过滤"ORF"技术
- TCP/IP学习笔记:路由与BGP
- BGP路由反射器与联盟对比
- 交换与路由知识点总结(一)
- 二叉树的线索化(C++实现)
- python excel 使用 xlutils 类库 实现追加写功能
- LA-4727 Jump(递推)
- spark core基础
- Android菜单项图标不显示
- 交换与路由练习(十四、BGP)
- 浅谈多核CPU、多线程与并行计算
- UVa815:Flooded(洪水)
- Day 13 EL表达式
- Oracle学习笔记(一)
- python 对excel 的数据进行删除操作
- 【t056】智力问答(multiset做法)
- H.265 Recommendation 7.4.2.3 在RBSP中封装SODB(非标准部分)
- 斯坦福机器学习视频笔记 Week4&Week5 神经网络 Neural Networks