BGP属性控制实验
实验拓扑

实验需求
更改BGP路由的属性让R4访问R1优先选R2这条路
实验步骤
1. 按照图示配置IP地址及环回口地址
R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.1.12.1 24
[R1-GigabitEthernet0/0/2]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.1.13.1 24.
[R1-GigabitEthernet0/0/1]int lo0
[R1-LoopBack0]ip add 1.1.1.1 32
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.1.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.1.24.2 24
R3
R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 10.1.13.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.1.34.3 24
R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.1.34.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 10.1.24.4 24
2. 配置BGP并建立邻居
R1
[R1]bgp 100
[R1-bgp]peer 10.1.12.2 as-number 200
[R1-bgp]peer 10.1.13.3 as-number 100
R2
[R2]bgp 200
[R2-bgp]peer 10.1.12.1 as-number 100
[R2-bgp]peer 10.1.24.4 as-number 300
R3
[R3]bgp 100
[R3-bgp]peer 10.1.13.1 as-number 100
[R3-bgp]peer 10.1.34.4 as-number 300
R4
[R4]bgp 300
[R4-bgp]peer 10.1.24.2 as-number 200
[R4-bgp]peer 10.1.34.3 as-number 100
3. 在R1上查看邻居状态
[R1]dis bgp peer
BGP local router ID : 10.1.12.1
Local AS number : 100
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv
10.1.12.2 4 200 3 4 0 00:01:39 Established 0
10.1.13.3 4 100 2 3 0 00:00:49 Established 0
4.在R4上查看邻居状态
[R4-bgp]dis bgp peer
BGP local router ID : 10.1.34.4
Local AS number : 300
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv
10.1.24.2 4 200 2 2 0 00:00:11 Established 0
10.1.34.3 4 100 2 2 0 00:00:02 Established 0
5.将R1的环回口宣告进BGP,并在R4上查看路由的走向
此时对BGP路由属性没有做任何修改
[R1-bgp]net 1.1.1.1 32
[R4-bgp]dis bgp routing-table
BGP Local router ID is 10.1.34.4
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 10.1.34.3 0 100i
* 10.1.24.2 0 200 100i
6.配置BGP的团体属性让路由优先走10.1.24.2
在R1上对走向R2、R3的路由增加一个团体属性,并开启团体属性通告(默认没有开启)
[R1]route-policy 123 permit node 10
[R1-route-policy]apply community 100:1
[R1]route-policy 321 permit node 10
[R1-route-policy]apply community 100:2
[R1-bgp]peer 10.1.12.2 route-policy 123 export
[R1-bgp]peer 10.1.13.3 route-policy 321 export
[R1-bgp]peer 10.1.13.3 advertise-community
[R1-bgp]peer 10.1.12.2 advertise-community
7. 在R2和R3上开启团体属性通告
[R2-bgp]peer 10.1.24.4 advertise-community
[R3-bgp]peer 10.1.34.4 advertise-community
8. 在R4上匹配R1上团体属性,并调用route-policy匹配规则
团体属性匹配上100:1的路由优先级更改为210,团体属性匹配上100:2的路由优先级更改为30,在BGP的进口上调用route-policy
[R4]ip community-filter 1 permit 100:1
[R4]ip community-filter 2 permit 100:2
[R4]route-policy 111 permit node 10
[R4-route-policy]if-match community-filter 1
[R4-route-policy]apply local-preference 210
[R4]route-policy 111 permit node 20
[R4-route-policy]if-match community-filter 2
[R4-route-policy]apply local-preference 30
[R4]bgp 300
[R4-bgp]peer 10.1.24.2 route-policy 111 import
[R4-bgp]peer 10.1.34.3 route-policy 111 import
9. 在R4上查看到团体属性配置
[R4]dis bgp routing-table community
BGP Local router ID is 10.1.34.4
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Community
*> 1.1.1.1/32 10.1.24.2 210 0 <100:1>
* 10.1.34.3 30 0 <100:2>
10. 在R4上查看BGP 路由表,发现R4到R1的已优先走10.1.24.2,配置已生效
[R4]dis bgp routing-table
BGP Local router ID is 10.1.34.4
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 10.1.24.2 210 0 200 100i
* 10.1.34.3 30 0 100i
个人小结:
公认属性:所有BGP路由器都必须识别并支持的属性。
公认必遵:BGP的Update消息中必须包含的属性。
公认任意:不必存在于BGP的Update消息中,可以根据需求自由选择的属性。
可选属性:不要求所有的BGP路由器都能够识别的属性。
可选过渡:BGP不能识别该属性,但可以接收该属性并将其发布给它的邻居的属性。
可选非过渡:BGP可以忽略包含该属性的消息并且不向它的邻居发布。
BGP属性 - Origin
Origin的3种属性:
i表明BGP路由通过network命令注入;
e表明BGP路由是从EGP学来的,EGP协议在现网中很难见到,但可以通过路由策略将路由的Origin属性修改为e;
? 即Incomplete表明BGP路由通过其它方式学到路由信息,如使用import命令引入的路由。
3种Origin属性的优先级为:i>e>Incomplete(?)。
BGP属性 - Community (团体属性)
0-65535
NO_export 收到此属性的路由后,不将该路由发布到其他AS
NO_advertise 收到此属性的路由后,不将该路由通告给任何其他的BGP邻居
NO_export_ subconfed 不传给其他人以外也不传给联盟的AS
BGP属性控制实验的更多相关文章
- BGP路由控制属性
控制BGP路由概述: BGP与IGP不同,其着跟点主要在于不同的AS之间控制路由的传播和选择最佳路由 通过修改BGP基本属性可以实现基本的BGP路由控制和最佳路由的选择 引入其他路由协议发现的路由时. ...
- BGP - 5,BGP属性
metric,自己决定去哪个EBGP邻居 local-pre,影响AS内部IBGP邻居的路由决策 med,影响AS外部EBGP邻居的路由决策 1,BGP属性 公认传递(well-known ...
- HCNP Routing&Switching之BGP路由控制
前文我们了解了BGP的路由属性和优选规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15489497.html:今天我们来聊一聊BGP路由控制相关话 ...
- css的display属性小实验
div与span是常用的盒子模型; 区别: div默认是垂直分布(独占一行) span默认是水平分布(一行可以有多个) 通过float属性可以改变div容器的分布方式达到span容器的效果; 下面 ...
- CAN-bus接口控制实验
CAN-bus接口控制实验 2016-04-12 20:38:41来源: eefocus 关键字:CAN bus 接口控制 收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一.实 ...
- BeagleBone Black板第四课:简单LED控制实验
BBB板第四课:简单LED控制实验 学习BBB板的终于目的是想像单片机一样做控制,但控制思路全然不一样(Linux下控制硬件设备实质就是对相关设备虚拟文件的读写).研究了几天头都大了还是没有进展,网上 ...
- zencart后台管理中选项名称和选项内容和属性控制页面出错解决办法 WARNING: An Error occurred, please refresh the page and try again
后台管理中选项名称和选项内容和属性控制出现以下错误的解决办法WARNING: An Error occurred, please refresh the page and try again zen ...
- css,js,jquery的载入方式和属性控制
本文章主要总结了css,js,jQuery在编写程序时的载入方式,与属性控制方式html和css共同组成了一个最基础的网页,js为标签样式提供动态效果 一,css的载入方式与属性控制 1.1,css引 ...
- 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)
实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...
随机推荐
- Redis 在java中的使用(登录验证,5分钟内连续输错3次密码,锁住帐号,半小时后解封)(三)
在java中使用redis,做简单的登录帐号的验证,使用string类型,使用redis的过期时间功能 1.首先进行redis的jar包的引用,因为用的是springBoot,springBoot集成 ...
- 简单的python多线程实例
今天抽时间又学了一下python的多线程,理解的又多了一些,为了利于理解,写了一段很简单的代码,如下: import threading from time import sleep def task ...
- SSM框架学习笔记_第1章_SpringIOC概述
第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...
- 通过phpmyadmin设置数据库密码后若出现phpmyadmin拒绝访问的情况
方法一:可以修改config.inc.php配置文件中的$cfg['Servers'][$i]['password'] = '你的密码'; 方法二:将config.inc.php配置文件中的$cfg[ ...
- POJ 1113:Wall(凸包)
http://poj.org/problem?id=1113 Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 346 ...
- os.path.join路径拼接的问题
问题一: import os a = os.path.join("/test1", "/test2") print(a) b = os.path.join(&q ...
- 利用Python模拟GitHub登录
最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析.现在我准备尝试着结合Python来模拟GitHub登录. Fiddler抓包分析 首先,我们想要模拟一 ...
- Java集合对象比对
1. 场景描述 通过java代码从外围接口中获取数据并落地,已经存在的不落地,不存在的落地,因有部分字段变化是正常的,只需比对3个字段相同即为相同. 2. 解决方案 设置定时任务(三个标签完成spri ...
- JAVA面试题 手写ArrayList的实现,在笔试中过关斩将?
面试官Q1:可以手写一个ArrayList的简单实现吗? 我们都知道ArrayList是基于数组实现,如果让你实现JDK源码ArrayList中add().remove().get()方法,你知道如何 ...
- NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load xxxx错误解决方法
在开发项目的过程中,和后端对接,我们使用是一个成熟的集成很全面的架构JHipster.后端为java spring-boot 前端ts+react,需求是有一个需要在页面里嵌套iframe的需求.然后 ...