首页 > 其他分享 >BGP路径属性(三)

BGP路径属性(三)

时间:2024-08-12 09:56:06浏览次数:6  
标签:MED 路径 BGP EBGP 邻居 路由 属性

BGP路径属性

作用:用于选路和防环,任何一条BGP路由都拥有多个路径属性

分类

  1. 公认:所有BGP路由器必须识别
    1. 公认必遵:必须包括在每个Update消息中,如:Origin、AS_Path、Next_hop
    2. 公认任意:可能包含在某些Update消息中,如:Local_preference、Atomic_aggregate
  2. 可选:厂商实现自己私有特性或满足其客户特定需求而开发的私有属性,便于BGP属性扩展
    1. 可选过渡:BGP设备不识别但依然接受该类属性并通告给其他对等,如:Aggregator、Community
    2. 可选非过渡:BGP设备不识别且会忽略该属性,不通告给其他对等体,如:MED、Cluster_List、Originator-ID

位置: 路径属性在Open报文中的位置


 路由信息处理

  1. 当从对等体接收到更新数据包时,路由器会把这些更新数据包(防环等检查通过的)存储到路由信息库RIB中,并指明来自哪个对等体的Adj-RIB-In
  2. 这些更新数据包被输入策略引擎过滤后,路由器会执行路径选择算法,为每一条前缀确定最佳路由
  3. 得出的最佳路径存储到Loc-RIB(本地BGP RIB)中,然后提交给IP-RIB(本地IP路由选择表)
  4. Loc-RIB将从对等体接收的最佳路由和当前路由器始发的最佳路径的BGP前缀经过输出策略引擎检查,检查通过的路由安装到输出RIB(Adj-RIB-Out)中,然后通告给其他对等体


Preferred-value

协议首选值:华为私有属性。

当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。

只影响本设备的路由优选,不会传递给任何BGP对等体。

取值0~65535,值越大越优先。

只能在import方向设置。



AS_Path

 AS_Path:前往目标网络的路由经过的AS号列表

1.作用

1. 确保路由在EBGP对等体之间传递无环路;

2. 作为路由优选的衡量标准之一

2.格式:…,{ AS1,AS2 },经过AS1,起始AS号

3.特性

1.当BGP路由传递给EBGP邻居时,将自身AS号添加到AS_PAth属性的最前面,传给IBGP邻居时不会添加

2.当从EBGP邻居收到BGP路由时,如果AS_Path中携带了自身AS号,丢弃该路由

3.AS_path经过的AS数量越少,路径越优

4.类型

1.AS_SEQENCE(有序的AS_path属性):反应路径传递的AS路径信息

2.AS-SET(AS集合):通常在BGP汇总路由时存在,用于继承BGP明细路由的AS集合信息。整个AS-SET算1个AS长度。

5.修改

1.Additive:原有AS_Path左侧追加AS号

2.Overwrite:将已有AS_Path值替换成新值

3.None overwrite:将已有AS_Path值清空

4.示例:

[AR2]ip ip-prefix 1 permit 192.168.5.0 24	
[AR2]route-policy AS_Path permit node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match ip-prefix 1
[AR2-route-policy]apply as-path 985 211 additive 

# route-policy默认禁止所有,此处需放行其他路由
# 无if-match代表匹配所有路由
[AR2]route-policy AS_Path permit node 999
Info: New Sequence of this List.
[AR2]bgp 100

# 向对等体发送BGP路由时执行该策略
[AR2-bgp]peer 12.0.0.1 route-policy AS_Path export 

6.思考

1.若通过策略匹配Additive的方式添加AS号 985、211,BGP路由器自身所在AS号100,在向EBGP对等体发送路由时,对等体接收到的是AS = 100 985 211还是AS = 985 211 100?

        答:AS = 100 985 211。因为路由是先经过输出策略引擎检查安装到Adj-RIB-Out中,再向对等体发送

2.若EBGP对等体发送过来的路由中已经有本AS的AS号,因防环路由会被丢弃,但本AS仍要接收该路由该怎么办?

        答:peer 12.0.0.2 allow-as-loop 2

                接收从指定EBGP邻居发送过来的路由,该路由中的AS号可与本AS号相同但仅允许出现次数上限为2



Origin

origin:标识BGP路由的起源

分类:

  1. IGP,用i标记,标识使用network命令注入到BGP的路由
  2. EGP,用e标记,标识通过EGP学习到的路由
  3. Incomplete,用?标记,标识import-route引入到BGP的路由

        当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete

修改:

  1. 在本地发布BGP路由时通过route-policy来修改默认origin属性
  2. 在所有邻居之间通告或者接收时修改


Next_Hop

 next_hop:用于指定到达目标网络的下一跳地址

下一跳规则:

  1. 默认自身发布的BGP路由的下一跳设置为向邻居发送BGP报文的地址
  2. 从EBGP邻居得到的路由传递给IBGP邻居时下一跳保持不变
    1. 问题:可能导致下一跳不可达
    2. 解决:
      1. 命令:peer IBGP邻居地址 next-hop-local
      2. 解决:将从EBGP得到的路由传递给IBGP邻居时,下一跳修改为自身向IBGP邻居发送BGP报文的源地址
  3. 当BGP路由传递给EBGP路由时,下一跳设置为向EBGP邻居发送BGP报文的源地址
  4. 如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体


Local_preference

本AS中的路由器拥有多个访问其他AS网络的出口路由时,控制路由器选择一个最优的出口路由。

控制本区域流量访问其他区域路径的手段。

值越大,BGP路由越优,缺省为100,只能传递给IBGP对等体,不能传递给EBGP对等体。

缺省情况:

1.缺省情况下,所有EBGP邻居收到的路径属性不包含local_preference,值默认为100,但在BGP表中显示为空

2.缺省情况下,本地起源的路由local_preference也是100,BGP路由表中不显示

 default local_preference命令:

1. 对本地起源路由、从EBGP传递来的路由、手动汇总的路由生效

2. Route-policy优于default local_preference

3. 默认情况下local_pre属性不会传给EBGP,此命令对从EBGP接收的路由设置一个local_pre值,且本地BGP表中显示为空,但在将路由传递给其他的IBGP邻居将local_pre值携带

4. 修改本地起源的BGP路由默认值,但BGP表中显示为空,再将此路由传递给IBGP邻居时,local_pre的值根据此命令设置



community

团体属性用于标识BGP路由,BGP路由可拥有多个团体属性

分类:

  1. 用于限制BGP路由传递范围(公认团体属性)
    1. Internet:默认所有路由属于internet团体,传递范围不受限制
    2. NO_export:不想AS外发送该路由
    3. No_export_Subconfed:不向AS外发送也不向AS内其他子AS发布该路由(联盟成员内传递)
    4. No_Advertise:不向任何BGP对等体发送该路由
  2. 用于标识BGP路由,BGP路由可拥有多个团体属性(自定义团体属性)

优先级:公认团体属性传递范围越小,优先级越高。 

传递方式:

        团体属性不会自动传递给邻居,需手动配置传递,在任何邻居之间import/export方向都可修改:peer 邻居地址 advertise-community

生成方式:

  1. 始发路由时添加团体属性
  2. 发送和接收BGP路由时添加团体属性
  3. 自定义团体属性采用RFC格式:AA:NN(AS号:自定义编号)


MED

MED:多出口鉴别器,是bgp的开销

控制外部流量如何进入本区域的手段

MED值越小越优先

MED默认值:

  1. 若自身直连或静态路由通过network、import-route注入bgp,其MED默认为0
  2. 若将IGP协议通过network或import-route注入bgp,MED值继承IGP路由的metric(cost)
  3. 华为default med命令对所有import的路由以及汇总路由生效,发送此路由给EBGP邻居时生效,发送给IBGP不生效。Local-RIB显示原始MED值

MED通告原则:

  1. 本地始发的路由MED值传递给所有邻居
  2. 从EBGP邻居得到的路由的MED不会传递给EBGP
  3. 从EBGP邻居得到的MED可以传递给IBGP
  4. 从IBGP得到的路由传递给EBGP时不携带MED
  5. 从联盟EBGP邻居或联盟内始发的路由的MED值在整个联盟保持传递

修改:

1.MED在IBGP和EBGP邻居in、out方向都可以修改

2.MED默认情况下只有在来自同一个AS的路由才比较MED属性,即AS-Path下一跳AS号相同的路由。若要修改,可通过:compare-different-as-med:始终比较MED属性值,且需AS内所有路由器均开启此命令

标签:MED,路径,BGP,EBGP,邻居,路由,属性
From: https://blog.csdn.net/uzumcc/article/details/141097093

相关文章

  • Vue.js入门系列(五):深入理解监视属性与计算属性的对比
    个人名片......
  • 2.5.BGP-2
    多路访问网络next-hop实验:r2:ints0ipadd12.1.1.2255.255.255.0noshintlo0ipadd2.2.2.2255.255.255.0r1:ints0ipadd12.1.1.1255.255.255.0noshinte0ipadd134.1.1.1255.255.255.0noshintlo0ipadd1.1.1.1255.255.255.0noshr3:inte0ipa......
  • 2.4.BGP-1
    bgp外部网关协议igpegp:egp,bgp工作在as内部就是igp,工作在as之间就是egp。由统一管理者的范围叫as。bgp工作在运行商之间的as号公有:0-64511私有:64512-65535网通9929电信4134http://www.cidr-report.org(查询as号)as-by-asbgp特征1当一个数据包从一个as穿越到另一个a......
  • 3.1.BGP-3
    weight属性1.传播范围,只在本台路由器上起效。2.默认值3.越大越好实验:r2:routerbgp2nosynnoaubgprouter-id2.2.2.2neighbor12.1.1.1remote-as1neighbor24.1.1.4remote-as1r1:routerbgp1bgprouter-id1.1.1.1neighbor12.1.1.2remote-as2neighbor......
  • cmake里常见有关输出路径的变量
    参考资料[cmake-variables](cmake-variables(7)—CMake3.30.2Documentation)常见有关输出路径的变量变量(均可跟_来区分Debug和Release)Windows其他操作系统CMAKE_ARCHIVE_OUTPUT_DIRECTORY静态库.lib文件待补充CMAKE_RUNTIME_OUTPUT_DIRECTORY动态库.dll......
  • 【待做】【前端开发系列】 class 类的私有属性
    https://mp.weixin.qq.com/s/f-ShUeDXUQlQIwVCrAVgSAclass类的私有属性前端工作室前端精髓2024年08月11日10:51北京图片私有属性是常规的类的公有属性(包括类字段、类方法等)的对应。私有属性通过添加#前缀来创建,在类的外部无法合法地引用。这些类属性的私有封装由JavaS......
  • 03-react基础-面向组件编程(重要属性-props)
    props属性props的基本使用对props进行限制props简写函数式组件使用propsprops的基本使用作用:通过标签属性从组件外向组件内传递变化的数据<scripttype="text/babel">//创建组件classPersonextendsReact.Component{render(){......
  • 关于父元素的opacity属性影响子元素opacity属性的显示问题
    这里主要解决的是子元素不需要透明度但是父元素需要透明度,但是子元素继承了父元素的透明度导致的子元素透明度失效的问题。1.问题描述期望效果页面效果 2.解决方案这里尝试了很多方法,包括但不限于创建伪类,给子元素添加!important优先级,但无一例外,都不生效,最后也是......
  • 「Day 5—最短路径」
    最短路问题单源最短路全源最短路Floyd算法通过转移方程判断i->j的路径中,是否有i->k->j更短,运用简单dp来转移状态。f[i][j]表示i->j的最短路径长度。但不要忘了初始化,一个点到其本身的最短路径为1,即f[i][i]=1,其余的初始化为'1e9'即可。for(inti=......
  • 030.Vue3入门,父页面给子页面传递attribute属性
    1、App.vue代码如下:<template><Father/></template><scriptsetup>importFatherfrom'./view/Father.vue'</script><style></style>2、Father.vue代码如下:<template><h3>父页面</h3><......