BGP的四类属性详解
BGP的四类属性
公认必遵(Well-known mandatory)
- 要求所有运行BGP协议的设备都必须能识别,且在更新消息中必须包含。
- Origin(起源) 属性
- 用来标识路由信息的来源。
- 如果路由是从IGP学习到的,则Origin属性为IGP(i),使用display bgp routing-table命令查看BGP路由时,IGP简写为i。
- 如果路由是从EGP学习到的,则Origin属性为EGP(e)。
- 如果路由的来源无法确定,则Origin属性为incomplete(?)。
- 路由优先级:IGP > EGP > incomplete
- AS_PATH(AS路径) 属性
- 用来记录某条路由从本地到目的地址所要经过的所有AS编号。
- AS_PATH可以作为一种度量值,经过更少AS的路由更优先。
- AS_PATH被用来避免AS之间的环路。如果BGP Speaker从EBGP对等体收到一条路由,它的AS_PATH包含BGP Speaker自己的AS号,就说明这条路由曾经被BGP Speaker发送过,所以会被直接丢弃。
- NEXT_HOP(下一跳) 属性
- 定义到达目的地下一跳的设备的IP地址。
公认任意(Well-known discretionary)
- 要求所有运行BGP协议的设备必须能识别,但是在更新消息内可以自由选择是否携带此类属性的报文。
- LOCAL-PREF(本地优先级) 属性
- LOCAL-PREF属性用来通告路由的优先程度。
- LOCAL-PREF属性仅在IBGP对等体之间交换,不通告给其他AS。
- ATOMIC_AGGREGATE(原子聚合) 属性
- 用来通告路由接受者该路由是经过聚合的。
可选过渡(Optional transtive)
- AGGREGATOR(聚合) 属性
- 是ATOMIC_AGGREGATE属性的补充,包含了发起路由聚合的AS号码和形成聚合路由的BGP发布者的IP地址。
- 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)
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的选路;
ORIGINATOR_ ID(发起人ID) 属性
- ORIGINATOR_ ID用于标识路由反射器,是可选非过渡属性。
- 为了防止引入路由反射器之后出现环路,增加ORIGINATOR_ ID这个属性来标识,反射器在发布路由时加入ORIGINATOR_ID,当反射器收到的路由信息中的ORIGINATOR_ ID就是自己的ROUTER_ ID时,就可以发现路由环路的出现,将该路由丢弃,不再转发。
CLUSTER_ ID(组ID) 属性
- CLUSTER_ ID用于标识路由反射器组,是可选非过渡属性。
- CLUSTER_ ID属性也是用来防止环路,在路由经过路由反射器时路由反射器会将自己的CLUSTER_ID添加到路由携带的CLUSTER_LIST中,当路由反射器发现接收的路由的CLUSTER_ LIST中包含有自己的CLUSTER_ ID,则将该路由丢弃,不再转发。
WEIGHT(权重值) 属性
- Weight属性是Cisco私有属性,只有Cisco的路由器才能识别weight。
- 路由的weight属性只在本地路由器起作用,BGP将路由传递给邻居时,并不保留weight。Weight值的范围0~65535,默认为0,如果是BGP本地发起路由,weight值32768。
- 当到达同一目的地存在多条路径时,优选weight值大的。在Cisco路由器中,比较最优路径的第一条规则就是比较weight值,所以只要改动weight值,就能控制Cisco路由器的BGP选路。
BGP的四类属性详解的更多相关文章
- Python类属性详解
在python开发中,我们常常用到python的类,今天就通过实例和大家扒一扒类的属性,一起来看看吧. 类属性 1.类定义后就存在,而且不需要实例化 2.类属性使得相同类的不同实例共同持有相同变量 类 ...
- OutputCache属性详解(四)— SqlDependency
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- C#类、对象、方法和属性详解
C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...
- 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解
PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...
- Android组件---四大布局的属性详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...
- J2EE进阶(四)Spring配置文件详解
J2EE进阶(四)Spring配置文件详解 前言 Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程 ...
- tomcat 三种部署方式以及server.xml文件的几个属性详解
一.直接将web项目文件件拷贝到webapps目录中 这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.如果你想要修改这个默认 ...
- Delphi中的线程类 - TThread详解
Delphi中的线程类 - TThread详解 2011年06月27日 星期一 20:28 Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本 ...
- UML简单介绍—类图详解
类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...
随机推荐
- Unreal ListView使用篇
应用 ListView,在Unreal UI界面开发中用途非常广泛,基本只要你使用列表,就得需要用ListView.比如排行榜100个列表,界面上只需要显示出10个,我们肯定不能生成100个ui实例, ...
- JMM之Java线程间通讯——等待通知机制及其经典范式
在并发编程中,实际处理涉及两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体). 通信是指线程之间以何种机制来交换信息.在共享内存的并发模型里,线程之间共享程序的公共状 ...
- Python小游戏之 - 飞机大战 !
用Python写的"飞机大战"小游戏 源代码如下: # coding=utf-8 import random import os import pygame # 用一个常量来存储屏 ...
- 图的深度遍历(C语言)邻接矩阵表示
知识讲解: 图的遍历分为两种,深度遍历与广度遍历.这里讨论深度遍历. 以上图为例讨论图(图片来自<算法笔记>)的深度遍历: 设图形的顶点数为n. 先从顶点v0开始,用一个数组vis[n]来 ...
- 『德不孤』Pytest框架 — 8、Pytest断言
目录 1.什么是断言 2.Pytest断言 3.Pytest的断言方式及应用场景 (1)使用assert语句 (2)断言预期的异常 (3)拓展 4.优化断言 5.使用标记检查异常 1.什么是断言 对于 ...
- SRv6规模部署,离不开测试技术保驾护航!
什么是SRv6? SRv6技术就是采用现有的IPv6转发技术,通过扩展IPv6报文的头域,实现类似标签转发的处理.SRv6将一些IPv6地址定义成实例化的SID(Segment ID),每个SID有着 ...
- Keepalived配置重载(reload)实现方法
一.前言 Keepalived运行过程中,可能存在更改配置的需求,例如修改virtual_ipaddress,virtual_router_id,priority等参数.在keepalived不重启, ...
- spark submit local遇到路径hdfs的问题
有时候第一次执行 spark submit --master local[*] 单机模式的时候,可以对linux本地路径进行输出.但是有时候提交到yarn的时候,是自动加上hdfs的路径这没问题, 但 ...
- JS报错:Uncaught TypeError: Cannot set property ‘nTf‘ of undefined
在使用DataTable时,遇到以下报错: Uncaught TypeError: Cannot set property 'nTf' of undefined ... ... 初步排查后发现是< ...
- 面试官:Redis中列表的内部实现方式是什么?
在面试间里等候时,感觉这可真暖和呀,我那冰冷的出租屋还得盖两层被子才能睡着.正要把外套脱下来,我突然听到了门外的脚步声,随即门被打开,一位眉毛弯弯嘴唇红红的小姐姐走了进来,甜甜的香水味立刻钻进了我的鼻 ...