BGP的四类属性

公认必遵(Well-known mandatory)
  • 要求所有运行BGP协议的设备都必须能识别,且在更新消息中必须包含。
  1. Origin(起源) 属性

    • 用来标识路由信息的来源。
    • 如果路由是从IGP学习到的,则Origin属性为IGP(i),使用display bgp routing-table命令查看BGP路由时,IGP简写为i。
    • 如果路由是从EGP学习到的,则Origin属性为EGP(e)。
    • 如果路由的来源无法确定,则Origin属性为incomplete(?)。
    • 路由优先级:IGP > EGP > incomplete
  2. AS_PATH(AS路径) 属性
    • 用来记录某条路由从本地到目的地址所要经过的所有AS编号。
    • AS_PATH可以作为一种度量值,经过更少AS的路由更优先。
    • AS_PATH被用来避免AS之间的环路。如果BGP Speaker从EBGP对等体收到一条路由,它的AS_PATH包含BGP Speaker自己的AS号,就说明这条路由曾经被BGP Speaker发送过,所以会被直接丢弃。
  3. NEXT_HOP(下一跳) 属性
  • 定义到达目的地下一跳的设备的IP地址。
公认任意(Well-known discretionary)
  • 要求所有运行BGP协议的设备必须能识别,但是在更新消息内可以自由选择是否携带此类属性的报文。
  1. LOCAL-PREF(本地优先级) 属性

    • LOCAL-PREF属性用来通告路由的优先程度。
    • LOCAL-PREF属性仅在IBGP对等体之间交换,不通告给其他AS。
  2. ATOMIC_AGGREGATE(原子聚合) 属性
    • 用来通告路由接受者该路由是经过聚合的。
可选过渡(Optional transtive)
  1. AGGREGATOR(聚合) 属性

    • 是ATOMIC_AGGREGATE属性的补充,包含了发起路由聚合的AS号码和形成聚合路由的BGP发布者的IP地址。
  2. COMMUNITY(团体) 属性
    • 是共享相同属性的目的地集合,目的就是将路由信息编组,通过组的标识决定路由策略的传递。
    • 公认的团体属性有:

      1.INTERNET:缺省情况下,所有的路由都属于INTERNET团体。具有此属性的路由可以被通告给所有的BGP对等体。

      2.NO_EXPORT:不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。

      3.NO_ADVERTISE:不能被通告给其他的BGP对等体,即不通告该路由。

      4.NO_EXPORT_SUBCONFED:不传递给下一个小AS,若网络中没有小AS,仅存在大AS时作用与NO_EXPORT一致。
可选非过渡(Optional non-transtive)
  1. MED(多出口鉴别器) 属性

    • 用来区分同一个邻接AS的多个接口。

    • MED只在EBGP发布的路由中产生,接收者可以向它的IBGP邻居转发,但不允许向它的EBGP对等体转发。假设一个AS和邻接AS有多个接口相连,通过发布不同的MED给对端,就可以控制进入网络的流量从MED值最小的那个接口进来。通常情况下,BGP 只比较来自同一个AS的路由的MED属性值。

    • BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)

      BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;常常用于AS1干涉AS2对AS1的选路;

  2. ORIGINATOR_ ID(发起人ID) 属性

    • ORIGINATOR_ ID用于标识路由反射器,是可选非过渡属性。
    • 为了防止引入路由反射器之后出现环路,增加ORIGINATOR_ ID这个属性来标识,反射器在发布路由时加入ORIGINATOR_ID,当反射器收到的路由信息中的ORIGINATOR_ ID就是自己的ROUTER_ ID时,就可以发现路由环路的出现,将该路由丢弃,不再转发。
  3. CLUSTER_ ID(组ID) 属性

    • CLUSTER_ ID用于标识路由反射器组,是可选非过渡属性。
    • CLUSTER_ ID属性也是用来防止环路,在路由经过路由反射器时路由反射器会将自己的CLUSTER_ID添加到路由携带的CLUSTER_LIST中,当路由反射器发现接收的路由的CLUSTER_ LIST中包含有自己的CLUSTER_ ID,则将该路由丢弃,不再转发。
  4. WEIGHT(权重值) 属性

    • Weight属性是Cisco私有属性,只有Cisco的路由器才能识别weight。
    • 路由的weight属性只在本地路由器起作用,BGP将路由传递给邻居时,并不保留weight。Weight值的范围0~65535,默认为0,如果是BGP本地发起路由,weight值32768。
    • 当到达同一目的地存在多条路径时,优选weight值大的。在Cisco路由器中,比较最优路径的第一条规则就是比较weight值,所以只要改动weight值,就能控制Cisco路由器的BGP选路。

BGP的四类属性详解的更多相关文章

  1. Python类属性详解

    在python开发中,我们常常用到python的类,今天就通过实例和大家扒一扒类的属性,一起来看看吧. 类属性 1.类定义后就存在,而且不需要实例化 2.类属性使得相同类的不同实例共同持有相同变量 类 ...

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

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

  3. C#类、对象、方法和属性详解

    C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...

  4. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

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

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

  6. J2EE进阶(四)Spring配置文件详解

    J2EE进阶(四)Spring配置文件详解 前言 Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程 ...

  7. tomcat 三种部署方式以及server.xml文件的几个属性详解

    一.直接将web项目文件件拷贝到webapps目录中 这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.如果你想要修改这个默认 ...

  8. Delphi中的线程类 - TThread详解

    Delphi中的线程类 - TThread详解 2011年06月27日 星期一 20:28 Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本 ...

  9. UML简单介绍—类图详解

    类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...

随机推荐

  1. linux 普通分区与lvm分区

    安装linux系统时 有时候会提示lvm分区与标准分区 首先普及一下lvm分区:lvm是 logical volume manager (逻辑卷管理),linux环境下对磁盘分区的管理:他解决了安装系 ...

  2. JVM学习——字节码(学习过程)

    JVM--字节码 为什么要学字节码 字节码文件,有什么用? JVM虚拟机的特点:一处编译,多处运行. 多处运行,靠的是.class 字节码文件. JVM本身,并不是跨平台的.Java之所以跨平台,是因 ...

  3. MyBatisPlus分页不起作用?因为少了配置

    /** @author QiuQiu&LL @create 2021-09-05 0:25 @Description: / @EnableTransactionManagement @Conf ...

  4. 给博客加入链接安全跳转页(添加一个和CSDN一样的链接跳转页)

    本文首发于青云工作室 原文链接为 https://qystudio.ltd/posts/25250.html 前言 或是出于优化 SEO,或是出于加强网站体验,很多博客都给文章中的外部链接加上了个二次 ...

  5. Abp 异常处理

    Abp 异常处理 最近一直在读代码整洁之道,我在读到第三章函数的3.9 使用异常替代返回错误码,其实在我的开发经历中都是使用返回错误码给到前端,之前在阅读ABP官网文档中就有看到过使用异常替代异常的做 ...

  6. go 互斥锁实现原理

    目录 go 互斥锁的实现 1. mutex的数据结构 1.1 mutex结构体,抢锁解锁原理 1.2 mutex方法 2. 加解锁过程 2.1 简单加锁 2.2 加锁被阻塞 2.3 简单解锁 2.4 ...

  7. BI企服界大众点评来袭!Smartbi入围36氪企服软件系列三大榜单!

    近日,36氪企服点评中国商业智能BI金榜揭晓.作为国产民族BI软件的领跑者,思迈特软件凭借深耕多年大数据BI领域中拥有过硬的产品实力与优质的服务,荣获"商业智能BI最佳软件总榜TOP10&q ...

  8. Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)

    目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...

  9. mac上Navicat新建数据库3680错误解决办法

    mac上Navicat新建数据库3680错误解决办法 1.在设置里关闭mysql,若不能关闭,在终端输入: sudo /usr/local/mysql/support-files/mysql.serv ...

  10. pyinstaller:各种错误及解决方法

    1.DLL load failed 说明没有找到某个DLL 解决方法: 在 D:\Anaconda\Anaconda3\Library\bin 下找到缺失的DLL,复制到dist下 2.No modu ...