Weight属性:cisco私有BGP属性参数,它只适用于一台路由器中的路由,也就是不会传递给任何其他的路由器。他的取值范围为<0-65535>,这个数越大优先级越高,默认从邻居学到的路由的weight都为0,从本地重分布进BGP路由表中的值为32768Weight属性不能包括在BGPupdate中,也不能以任何形式传递给其他运行BGP的邻居,就是说一个路由器上权值的分配不会影响其他路由器上的路由选项。
Neighbor X.X.X.X weight命令可以更改从该邻居收到的路由的weight。也可以用route-map中的set weight来设置weight,但是weigh不能用在路由更新的出方向。我们还可以在neighbor X.X.X.X filter-list ? Weight设置weight从而来匹配ip as-path access-list列表中的AS为他们设置weigh。如果三种都配置。那么route-map优于filter-list优于neighbot weight!!
Origin属性和next-hop属性在前面已经做了解释,在此不再赘述只说一下他们的修改方法。
Origin属性:route-mapset origin[egp/igp/incomplete]修改origin属性

Next-hop属性:neighbor X.X.X.X [next-hop-self/next-hop-unchanged]修改next-hop属性,也可以route-mapset ip next-hop[X.X.X.X/dynamic/in-vrf/peer-address/recursive/verify-availability]中进行更详细的修改。

第三方下一跳现象:当前缀通过EBGP通告出去后,next-hop会被自动的设置为那个正在发送该前缀的EBGP对等体的IP地址。有一种情况是例外的,就是当多个对等体同在一个共享的多路访问网络中,那么宣告者会把同一个网段上原来的宣告者设置为下一跳,而不是他自身。 这个特性可以被neighbor next-hop-self命令修改掉!
 
As-path属性:它以相反的顺序列出了一条前缀先后所经过的AS,最后一个AS放置在该列表的开始处。AS-path主要目的是为AS域间路由选择提供环路防止机制。因为AS-path列表的最短优先原则,因此在列表中前置相同的AS影响入站路由选择是常用的方法,这种方法叫AS-path的通路附加。可以在route-mapin方向设置set as-path prepend 100 101 102AS-path列表的最前面增加100 101 102三个AS号码out方向在最后面加Set as-path prepend last-as 3AS-path列表的最前面增加3最后的AS号码只有在EBGP对等体之间公布路由的时候AS号才会被附加到AS-path
CISCO-IOS软件支持4as-pathAS-SETAS-SEQUENCEAS-CONFED-SETAS-CONFED-SEQUENCE!setSequence不同处是set中的AS-path是无序的,而sequence中的AS-path列表是有序的。当执行路由汇总时,会丢失AS-Path的细节信息,因为聚合点后面的AS号不会加在AS-path中,这样会出现路由选择环路。所以有了AS-set列表,当一个运行BGP的路由器根据从其他AS学习到的NLRI生成一个聚合路由时,在聚合点后面的路由所经过的AS会形成一个AS-SET。这个as-setshow ip bgp {}括起来,{}外面的就是as-sequence.如:3 {1,2} ias-set默认是关闭的我们可以在聚合命令下Aggregate-address 10.10.0.0 255.255.0.0 summary-only as-Set开启as-set功能。因为as-set会携带更多信息,所以只要开启as-set就不会再产生atomic-aggregate
 
Local-preference属性:本地优先级,它只用在IBGP对等体之间的update消息中,以设置离开本AS的最优出口点,不会传给其他的AS(典型的,在入境EBGP更新中被设置),并且仅仅被同一个AS内的路径选择处理所使用。默认为100(可以被bgp default local-preference修改),越高越优先。即使在EBGP邻居使用route-map 配置了Set local-preference<0-4294967295>在出方向也是没用的,因为发给EBGP对等体的update根本不会携带这个属性,所以这样配置没有意义。这个属性发给IBGP对等体时会被自动继承下来,传递到所有路由器都知道这个路由前缀的本地优先级属性。
 
Multi-Exit-DiscMED)属性:它被典型的用在AS间的链路上,以区分到达相同的邻居AS的多个出口点。它在EBGPIBGPupdate消息中携带但不可以在接收AS范围之外的地方传递MED属性,也就是说MED只会在相邻的AS之间影响业务量。它允许一个AS将它的首选入口点通过此属性通告给另外一个AS。可以在route-map中的set metric<0-4294967295>中设置,还可以在route-mapset metric +/-<metric>格外增加或者减少这个值。具有最低的metric值的路由优先。我们可以把它看为一个度量,越小越优先。如果到同一个目的地的两条路由来自不同的AS,此时BGP路由选路时不进行比较MEDMED只对单一的AS有意义(我们可以强制让它们比较bgp always-compare-med)。
在边界路由器本地被注入到BGP中的路由在被通告给EBGP对等体时携带MED值。他们的规则如下:
如果通过networkredistribute命令注入到BGP中的路由是来自于IGP的,那么BGPMEDIGP中导出。
如果通过networkredistribute命令注入到BGP中的路由是来自于直连的,那么BGPMED被设置为0 
如果是通过aggregate-address命令注入路由,那么本BGP表的MED不被设置。邻居收到后写成0

如果路由从i/eBGP对等体学习到,那么它的MED传给EBGP对等体是删除的。我们可以强制边界路由器通告MEDEBGP对等体邻居。Route-map中设置set metric-type internal这样就会将本地IGP路由表的metric增加到条目中,如果本地IGP没有那么就为0

Default-metric这条命令可以更改重分布(必须是redistribute命令)进BGP路由表的IGP条目的默认MED为多少。(缺省情况下redistribute会把IGP的开销放到BGPMED属性中)
 
ATOMIC-AGGREGATE属性和AGGREGATOR属性:一个运行BGP的路由器能够向另外一个运行BGP的路由器传送重叠的路由。聚合路由是产生重叠路由的最主要方式。
重叠路由:可以到达同一个目的地但是不完全相同的路由。(常见的就是一条路由包含另一条路由)
当执行路由聚合时,会丢失路由信息as-pathnext-hop等),路由会变得不准确。聚合的发起者只会把自己的AS放入AS-path中,聚合前的AS信息都会丢失。
Atomic-aggregate属性:它可以警告下游路由器出现了路径的丢失。聚合时总是会把这个属性放进聚合后路由的update中。任何下游路由器再公布给其他路由器时,会传递这条路由的这个属性

Aggregator属性:聚合时也会自动出现该属性。它包括发动聚合路由器的AS号码还有它的router-id,从而提供了执行聚合的地点信息。Atomic-aggregate属性指示出现了路径信息的丢失而aggregator属性指示聚合路由出现在哪里

 
Community属性:它被一组共享相同特性的前缀所定义,多个社团可以应用到一条前缀上Community属性有4个字节,RFC1997规定前两个字节代表AS号码,后两个字节是管理上定义的标识符。格式为AA:NNcisco缺省时NN:AA格式,但是可用命令ip bgp-community new-format将这个缺省的NN:AA改为RFC1997AA:NN
团体属性有以下两种类型:well-known(公共)和Private(私有)
公共社团属性:当收到这些带有团体属性的前缀时,对等体会自动根据预定义(操作已经定义好了)的社团属性意义来采取操作,不需要额外的配置。公共团体属性的保留范围是(0xFFFF0000-0xFFFFFFFF)。下面是4种公共社团属性
Internet:所有属于这个社团属性的路由都有一个缺省值,可以自由地公布属于这个团体的路由。换句话说这个社团的前缀通告没有任何限制。在ciscoIOS软件中,每一条前缀都没有团体属性,但配置上这个属性并不会有什么变化,也是可以自由传递。它的值为0
No-export:有这个属性的前缀不会被通告给EBGP对等体,但是可以发送给联邦的EBGP对等体,也就是不能在联邦范围以外公布。这个团体的值为0xFFFFFF01
Local-AS:有这个属性的路由条目不会被通告到本地AS之外。在联邦情况下,只有在同一个AS中的对等体才会允许接受这些前缀。它的值为0xFFFFFF03RFC1997中这个团体也叫做no-export-subconfed

No-advertise:接受到带有值的路由不能公布给任何对等体,包括IBGP对等体和EBGP对等体。它的值为0xFFFFFF02

私有社团属性:有网络管理员自己定义的社团属性,它的主要目的是为前缀附加管理标记,以便制定合适的策略。

社团属性默认并不会在对等体之间传递,传递社团属性需要命令neighbor send-community

 
Originator-id属性和cluster-list属性:他们在路由反射器中使用用来防止路由选择环路。
Originator-id是本地AS路由发起者的路由器ID。如果路由发起者在接收到路由的originator-id中发现了自己的RID,就知道产生了环路,于是忽略该路由条目,它提供在AS内的防环作用,它由第一个RR创建,并且不被后续的RR修改。它只应在IBGP对等体那里接收到,RRoriginator-id用来替代路由选择过程中的router-ID它应该是这些路由器的router-id在本地AS始发路由的BGP宣告者的router-id;如果是从EBGP学到的就是最初学到那个条目的路由器(AS内边界路由器)router-id(它一定是本AS内路由器的router-id)。
Cluster-list是路由经过的路由反射器的簇ID(默认RRrouter-ID)的一个列表,如果路由反射器接收到的路由的cluster-List中发现了自己的本地簇ID,就知道产生了环路,于是忽略该路由条目,RR从而能够分别出路由选择信息是否又环回到同一个簇。可以配置bgp cluster-idcluter-id默认为RR自己的router-id所以默认情况下所有的RR都不在同一个簇。

MP_Reach_NLRI属性、MP_Unreach_NLRI属性和Extended_Communities属性将在MPLS/VPN体系结构中详细讲述。

 

BGP路由属性详解的更多相关文章

  1. [摘录] 当页[ModalRoute.of(context)]路由属性详解

    ModalRoute.of(context) API可以获取当前路由对象,通过它我们可以获取关于当前页面的所有属性: 属性: isActive 当前路由是都位于navigator中:如果该路由acti ...

  2. android:exported 属性详解

    属性详解 标签: android 2015-06-11 17:47 27940人阅读 评论(7) 收藏 举报 分类: Android(95) 项目点滴(25) 昨天在用360扫描应用漏洞时,扫描结果, ...

  3. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  4. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  5. OutputCache属性详解(三)— VaryByHeader,VaryByCustom

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  6. OutputCache属性详解(四)— SqlDependency

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  7. WPF依赖属性详解

    WPF依赖属性详解 WPF 依赖属性 英文译为 Dependency Properties,是WPF引入的一种新类型的属性,在WPF中有着极为广泛的应用,在WPF中对于WPF Dependency P ...

  8. HTML video 视频标签全属性详解

    HTML 5 video 视频标签全属性详解   现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...

  9. Android组件---四大布局的属性详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...

随机推荐

  1. json2.js 源码解读

    这一部分是对Date String Number Boolean扩展toString方法,Date的toString是返回UTC格式的字符串,而后面几个是返回原始值. function f(n) {/ ...

  2. Split方法,拆分字符串后,去除返回的空值

         我们在使用Split('')方法的时候,根据指定的 '字符' 对字符串进行拆分,当'字符’为最后一个,将会拆分一个空值进行返回. 这个时候我们可以使用 string.Split(new ch ...

  3. spring mvc支持跨域请求

    @WebFilter(urlPatterns = "/*", filterName = "corsFilter") public class CorsFilte ...

  4. 秦晓波著的编写高质量代码-改善Java程序的151个建议一书中的线程解释错误.

    位置: 建议127: Lock与synchronized是不一样的 首先在概念上纠正这一篇内容: 援引Java源码中关于ReentrantLock的开篇说明: * A reentrant mutual ...

  5. ZigBee cc2530芯片学习 error记录(1)

    ZigBee cc2530芯片学习 error记录   Error[e46]: Undefined external "LcdInit" referred in main( xxx ...

  6. nginx 访问localhost老是下载文件不能打开网页什么情况?

    nginx打开网页直接下载文件的问题 nginx sites-available文件里的default已经修改过root 路径了. 但是访问localhost的时候总是直接下载网页而不是打开网址 很奇 ...

  7. 计数器:counter

    组成:2属性,1方法 属性1: counter-reset 命名 属性2: counter-increment 启动/自增 方法 : counter()/counters() 调用方法 1.计数器 命 ...

  8. VTK教程系列:VTK基础及应用开发教程

    由于OpenCV不能使用,只能使用VTK库的图像处理库,暂时还没有找到其他可以全面替代的库: CSDN东灵工作室:http://blog.csdn.net/www_doling_net/article ...

  9. Python3简明教程(三)—— 运算符和表达式

    运算符 什么是运算符? 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. Python支持以下类型的运算符: 算术运算符 关系运算符 赋 ...

  10. codeforces 235 B lets play osu!

    cf235B 一道有意思的题.(据说是美少女(伪)计算机科学家出的,hh) 根据题目要求,就是求ni^2的和. 而n^2=n*(n-1)+n; n*(n-1)=C(n,2)*2: 所以∑ai^2=∑a ...