当前位置: 首页 > article >正文

BGP路径属性

公认必遵循

BGP必须都能识别,且必须发送报文必须包含

Origin:起源属性,I,E,?三种,I是BGP通过IGP协议学到的路由(比如ospf,isis,rip),E是从EGP协议学到的(比如BGP)?是incomplete不确定的,(比如路由引入import-route)选路时,I>E>?
AS——Path:用于表明经过的AS

分两类,一种是有序的AS_SEQENCE,一种是无序的AS_SET,表示路由通过的路径,路由聚合后会出现AS_SET,其{ }内的数据等效为一条,无顺序之分,而AS_SEQENCE在括号外从越右边表示越先到达过那个AS
Next——hop:下一跳,为目的网络指定方向
BGP中的下一跳遵循四条规则:

  1. 向EBGP发布路由,下一跳为本地建立peer的接口地址
  2. 初始发给IBGP,下一跳为本接口用于建立peer的接口地址
  3. IBGP间通告,不改下一跳
  4. 收到路由发现与自己同一网段只传不改

公认任意

BGP都能识别,但发送报文可不包含


Local——Preference:本地优先值,默认100(可通过指令修改,引入路由包括在内),越大越优,只在同一个AS里生效
Atomic——aggregate:原子聚合,用于警告此条路由做过聚合

可选过渡

BGP设备可不支持此类属性,但应当接收包含此类属性的报文并传递此类报文


Aggregator:用于描述做路由聚合的设备,包含AS号和Router-ID
Community:团体,对标tag,格式为AA:NN,大小为2B+2B,一般用AA表AS号,NN表路由编号。
通告范围:Internet(整个网络)>No Export(单个AS)>No Export Subconfed(子AS)>No dvertise(与世隔绝,收到后不再传递)

BGP联盟(Confederation):简单来说就是AS下在化AS,和子网类似,有一个主AS即联盟,其下划分多个AS,这些AS被称为联盟成员

如图,主AS23称为联邦,子AS200,AS300称为联邦成员,No Export即在主AS(联邦,AS23)间传递,而No Export Subconfed则是在子AS(单个联邦成员AS200)间传递


可选非过度

BGP设备可不支持此类属性,无法识别到此属性的识别忽略此路由信息,并且不传递给其他设备


MED:多出口鉴别器,对标cost,越小越优,import引入MED都是0(缺省为0所以是0),不跨AS区传递,仅相邻两个AS间生效,且BGP始发带MED,若学到则不带,IBGP间只传不改不丢
Cluster-List:簇列表,表路径,表通过的BGP路由器(防环)
Originator-ID:起源者ID,表示反射器的router-id(第一个反射器,防止环路)
Preferred-Value:华为华三称之为此,思科中有类似称呼为Weight越大越优,0-65535,仅本地生效,只影响本地路由决策,华为华三默认都为0

思科设备中的Weight有以下几条规则:

从其他邻居学到的,默认为0

本地网络产生的是32768

本地重发布的直连与静态路由为32768

本地汇总的路由也为32768

选路规则

  1. Preferred-Value/weight大者优
  2. Local——Preference大者优
  3. 手动聚合路由》自动聚合路由》network宣告的路由》import-route引入的路由》从对等体学习的路由
  4. AS——Path短的优({}中的长度算1)
  5. Origin属性(I>E>?)
  6. MED越小越优
  7. EGP>IGP>LocalCross>RemoteCross
  8. 优选到BGP下一跳IGP度量值(metric)最小的路由
  9. 存在多条来自相同相邻AS的路由,并且开销一致,且通过maximum-paths(默认为1),可进行负载分担
  10. 来自建立时间更久的EBGP邻居
  11. 优选Router ID最小的设备发布的路由
  12. 优选Cluster_List最短的路由
  13.  优选从具有最小IP Address的对等体学来的路由

http://www.kler.cn/a/532371.html

相关文章:

  • DeepSeek 阐述 2025年前端发展趋势
  • modbus协议处理
  • 【1】快手面试题整理
  • 【LeetCode 刷题】回溯算法(4)-排列问题
  • 在K8S中,如何把某个worker节点设置为不可调度?
  • FPGA 时钟多路复用
  • 将音频mp3文件添加背景音乐
  • Python迭代器:解密数据遍历的核心机制
  • Ajax:重塑Web交互体验的人性化探索
  • 解析PHP文件路径相关常量
  • Unity飞行代码 超仿真 保姆级教程
  • 数据分析师使用Kutools for Excel 插件
  • C++资源管理
  • Android开发EventBus
  • C_数据结构(队列) —— 队列的初始化、入队列队尾、队列判空、出队列队头、取队头队尾数据、队列有效元素个数、销毁队列
  • JS中document获取元素方法【内涵案例】
  • Paimon写入性能
  • 读写锁: ReentrantReadWriteLock
  • 【C++STL标准模板库】二、STL三大组件
  • 数据结构与算法——二分查找
  • e2studio开发RA4M2(6)----GPIO外部中断(IRQ)配置
  • 机器学习中的关键概念:通过SKlearn的MNIST实验深入理解
  • Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】
  • 神经网络常见激活函数-sigmoid函数
  • deepseek接入pycharm 进行AI编程
  • 高精度乘法(高×高)