BGP Attributes/BGP属性
(通过BGP的属性,实现对BGP路由的选择/操纵)
BGP Route Selection/BGP的选路原则:
1:
The BGP forwarding table usually has multiple pathways from which to choose for each network.
在BGP路由器的BGP表中,可以存在到达某个特定目标网络的,都能满足"同步"和"下一跳可达"的,多条路径.
2:
BGP is not designed to perform load balancing:
Paths are chosen because of policy.
Paths are not chosen based upon Metric/bandwidth.
BGP默认不执行负载均衡,而是严格按照网管的策略/意志,进行BGP选路.
网管是通过BGP属性/Attribute,去表达其策略/意志的,实现BGP路由选择的控制.
对比:
而IGP是通过最小的Metric,实现路由选择的.
对于BGP,可以通过“maximum-path (1~6)”命令,实现BGP的负载均衡。
3:
The BGP selection process eliminates any multiple pathways through attrition, until a single best pathway is left.
BGP是按照BGP属性,自上而下,依次剔除不是最佳的路由:
直到优选出,到达目标风格的最佳的那一条BGP路由.
4:
That best pathway is submitted to the routing table
manager process and evaluated aggainst the
methods of other routing protocols for reaching that network (administrative distance).
BGP把自己认为“最佳的”那条路由,提交给IP路由表选择的路由,会和别的路由协议(IGP)所获得的路由进行AD比较
5:
The routing protocol with the lowest administrative
distance will be installed in the routing table.
AD最小的那个路由协议所生成的路由,将被注入/优先进路由表,成为最终达到该目标网络的路由.
BGP属性的分类:
Well-known attributes:(公认属性)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Well-known mandatory(公认,强制的)
Well-known discretionary(公认,自决的)
Optional attributes:(可选属性)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Optional transitive attributes(可传递的,partial)
Optional nontransitive attributes(非传递的)
关于“传递”的属性:
1:不论“可传递”还是“非可传递”,如果设备支持这种属性,那么都会传递。
2:如果网络设备不支持的属性:
2-1:对于“可传递”,那么,会被标识为“partial”,来进行继续传递。
2-2:对于“非可传递”,那么这种属性会被丢弃,但BGP这条路由条目,还是正常传递。
Well-known, mandatory & transitive attribute:
AS path
next-hop
origin
origin:(起源代码)
IGP (i) (RIP/IGRP/EIGRP/OSPF/IS-IS)(路由表后面的那个I)
通过BGP中的network command,宣告进BGP的.
R2#router bgp 12
network 120.1.0.0 mask 255.255.0.0
EGP (e)
Redistributed from EGP
Incomplete (?)
Redistributed from IGP or Static
BGP路由优化的前提条件:
A:Sync;B:next-Hop
BGP路由选择的主要比较因素的先后次序:
1:Weight(LAB6)
2:L-P(LAB5) 越大越好
----------------------
3:AS Path (LAB4) 越小越好
4:MED (LAB3)
5:EBGP VS IBGP的对比(其实是AD的对比)(LAB2)
6:Closet IBGP Neighbor(LAB1)
7:lowest neighbor BGP router ID (LAB0)
LAB0:IGP为RIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lowest neighbor BGP router ID
在R3上,调整BGP R-ID,可以控制R5的选路
neighbor 3.3.3.3 shutdown(临时断掉3.3.3.3的邻居)
LAB1:Closet IGP Neighbor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:将AS345中的IGP更改为:EIGRP
在R5上观察
R5#show ip route
D 3.3.3.3 [90/2297856]
D 4.4.4.4 [90/409600]
R5#show ip BGP
*>i 101.0.0.0 4.4.4.4
*i 3.3.3.3
R5#show ip route
B 101.0.0.0 [200/0] via 4.4.4.4
LAB2:EBGP VS IBGP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在R4上观察:
Step1:如果从R2和R3的两个方向上,都收到BGP路由:
R4#show ip bgp
* i 101.0.0.0 3.3.3.3 (来自IBGP)
*> 24.0.0.2(来自EBGP)
EBGP path over IBGP path
Step2:切断R2/R4的链路:
R4#
*>i 101.0.0.0 3.3.3.3
LAB3:MED(Multi-exit discriminator)(also called the metric)
(整个AS35都从下面链路走)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
MED的特征:
1:MED的取值是越小越好
2:MED只发送给EBGP邻居,用于建议对方如何离开对方的AS,来访问本AS中的网络
3:MED是一种可选的,非传递的属性.
4:MED的默认值:0.
Step1:定义BGP路由:
R2(config)#ip prefix-list B-101 permit 101.0.0.0/8
Step2:在Route-map中,设定路由的MED值:
R2(config)#route-map R2-AS345
R2(config-route-map)#match ip address prefix-list B-101
R2(config-route-map)#set metric 100
Step3:
R2(config-router)#neighbor 24.0.0.4 route-map R2-AS345 out
clear ip bgp * soft out
Step4:
show ip bgp 101.0.0.0/8
R4#show ip bgp
network next hop metric
* 101.0.0.0
R5#
*> i101.0.0.0 3.3.3.3
R4有两条路由可以优化,R3和R5都只有一条
LAB4:AS path
(在R1与R3之间,虚拟一个AS100:导致整个AS345都从上面链路走)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实验需求:
整个AS345的所有路由器,都从R2走
在R1与R3之间,虚拟一个AS100
Step1:通过Prefix-list,定义BGP路由:
R3(config)#ip prefix-list B-101 permit 101.0.0.0/8
Step2:在Route-map中,为此路由添加一个虚拟的AS100
R3#
route-map V-AS100 permit 10
match ip address prefix-list B-110
set as-path prepend 100
step3:在R3的BGP进程中,对来自R1的BGP路由,调用route-map V-AS345
R3(confgi-router)#neighbor 10.0.0.1 route-map V-AS100 in
Step4:
R3#
Network Next-hop metric LocPrf Weight Path
*>i 101.0.0.0 4.4.4.4 2000 100 0 120i
* 13.0.0.1 150 0 120i 100i
LAB5:Local Preference(整个AS345都从下面链路走)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LP的特征:
1:LP的取值越大越好,默认值是100.
2:LP只发送给本AS内的IBGP邻居,用于建议他们如何离开本AS,去访问外网.
3:LP的属性是公认的,自决的,只会在本AS传递的.!!!
R3#
Step1:通过Prefix-list,定义BGP路由:
Step2:作用Route-map,为特定路由设定LP值:
route-map V-AS100 permit 10
match ip address prefix-list B-101
set as-path prepend 100
set local-preference 130
Step3:在R3的BGP进程中,对来自R1对路由,调用route-map V-AS100:
R3(config-router)#neighbor 13.0.0.1 route-map V-AS100 in
Step4:观察:
R3#
Network next Hop Metric LocPrf Weight Path
*>101.0.0.0
R4#
*>i 101.0.0.0
R5#
*>i 101.0.0.0
LAB6:Weight
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Weight的特征:
1:cisco私有的属性.
2:默认值为0,越大越好.
3:不发送给任何BGP邻居,只影响本路由器的选路.
方法1:
R4:(config-router)#neighbor 24.0.0.2 weight 10
方法2:
R4:(config-router)#network 101.0.0.0 mask 255.0.0.0 weight 10
方法3:
3-1:定义路由
3-2:
route-map WEI permit 10
match ip address prefix-list B-110
set weight 10
3-3:
R4#(config-router)#neighbor 24.0.0.2 route-map WEI in
- 1.7-BGP⑥
BGP中的路由控制/过滤: LAB1:Distribute-list调用ACL(较落后) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Step1:通过ACL定义 ...
- 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③
IBGP的水平分隔原则(Split Horizon Rule): IBGP的水平分割原则:by default,routes learned via IBGP are never propagated ...
- 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连通性的一组 ...
随机推荐
- vue2.0 引入font-awesome
网上的大部分教程复杂而且难看懂,其实两步就能搞定. 先cnpm install font-awesome --save引入依赖 然后在main.js引入 font-awesome/css/font-a ...
- 最少拦截系统------LCS--------动态规划
这是一道极好的题,会了这个应该说 最长递增子序列什么的 就有了另外一种思路了 下面附上代码---应该仔细的看一下 那个 if判断 #include<stdio.h> #include ...
- Linux 下 Solr的搭建与使用(建议jdk1.8以上)
官方表示solr5之后的版本不再提供对第三方容器的支持(不提供war包了). “旧式”solr.xml格式不再支持,核心必须使用core.properties文件定义. 使用第三方容器的需要自己手动修 ...
- hdu2026(water~~)
http://acm.hdu.edu.cn/showproblem.php?pid=2026 #include<iostream> #include<stdio.h> #inc ...
- 自定义View(9)使用Renderscript 渲染特效。
1.渲染脚本官网 https://developer.android.com/guide/topics/renderscript/compute 2.高斯模糊 ScriptIntrinsicBlur ...
- Elasticsearch的索引模块(正排索引、倒排索引、索引分析模块Analyzer、索引和搜索、停用词、中文分词器)
正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表:单词2:出现次数,出现位置列表:…………. “文档2”的ID > 此文档出现的关键词列表. 一般是通过key,去 ...
- MyBatis 配置控制台上显示sql语句(log4j.properties 之三)
### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.app ...
- Angular——引入模板指令
基本介绍 引入模板一般都是固定的东西,比如导航栏,比如页面的底部,每个页面都重复写很麻烦,不如直接定义两个模板,引入到需要的页面中.这个过程实际是一个跨域的异步请求过程. 基本使用 <!DOCT ...
- Centos6.6 安装rsync服务端
一.介绍 在工作中经常遇到代码分发,或者是资料备份,都会用到rsync,配置不算复杂,仅做下记录,安装环境如下: 1) Centos6.6 2) rsync-3.0.6-12.el6.x86_64 3 ...
- PHP 之base16加密解密封装
/** * @Description: base16加密 * @Author: Yang * @param $data * @return string */ function base16_enco ...