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; ...
随机推荐
- rabbit-vue3-ts-小兔鲜儿2022新版-系列开篇
rabbit-vue3-ts-小兔鲜儿2022新版 项目使用 Vite + Vue3 + TypeScript + Pinia + VueRouter@4 进行开发. 代码检查和格式化为:ESlint ...
- pytest--配置用例执行顺序(pytest_ordering插件介绍)
前言 设置测试用例执行顺序: 默认情况下,pytest测试用例的执行顺序是按先外层后内层(目录下的文 件),再根据名称按ascii码值的顺序升序执行. 如果想自定义pytest测试用例的执行顺序,可以 ...
- 更快的网络文件系統 — Oxfs
什麽时候需要网络文件系统 ? 做嵌入式的同学经常会使用 NFS 将 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作.网站开发时,在 host 上 ...
- 案例十:shell编写nginx服务启动程序
使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...
- Weblogic 打补丁冲突检测慢---解决方法
转至:https://www.cnblogs.com/vzhangxk/p/13365457.html 1.Smart Update 智能升级工具版本: [root@pxc1 bsu]# ./bsu. ...
- 使用Oracle的PROFILE对用户资源限制和密码限制
转至:https://blog.csdn.net/zhuomingwang/article/details/6444240?utm_medium=distribute.pc_relevant.none ...
- mysql 语句的使用
查看数据库 show databases; use 数据库名: show tables; //显示数据库的表名describe 表名; //显示某表的字段, 建表模板 这是为了清楚直观,再mysql行 ...
- 2020ICPC上海站 C. Sum of Log
题目大意: 给定T组X,Y,对于每组X,Y,求上面式子 的值,其中 当x为真时等于1,其他情况等于0. 其中. 思路: 对X,Y一起进行数位DP,我们把每一位枚举数字的上限以及数字之前是否有前导 ...
- Activity通过bundle传递数据
从AActivity.java向BActivity.java传递数据: 建立AActivity.java文件建立bundle: 1 public class AActivity extends App ...
- Vue之获取DOM元素与更新DOM后事件的特殊情况
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...