BGP属性

2023-11-10

BGP 外部网关协议

此协议不在于自动发现网络拓扑,不追求速度,而在于AS之间选择最佳路由和控制路由的传播,追求可靠性,稳定性,操控性,承载性。

使用TCP作为其传输协议(监听端口号为179),保证其可靠性
路由更新只发送更新的路由,适用于在以太网传播大量路由信息,减少带宽占用(取消周期更新和触发更新)。
设计上避免环路:AS-path、IBGP邻居之间路由不可中转。
具有丰富的路由策略。
基于TLV扩展:type length vlaue,也称为np-bgp多协议BGP

BGP数据包
Open:协商参数(包括BGP版本、BGP连接保持时间、本地的路由器标识router-id、授权信息等)
Keep live:保活
Update:交换路由
一条Update消息可以发布多条具有相同路由属性的可达路由,这些路由可共享一组路由属性。所有包含在一个给定的Update消息里的路由属性适用于该Update消息中的NLRI ( Network Layer Reachbility Information )字段里的所有目的地(用IP前缀表示)。
一条Update消息可以撤销多条不可达路由。每一个路由通过目的地(用IP前缀表示) , 清楚的定义了BGP Speaker之间先前通告过的路由。
一条Update消息可以只用于撤销路由,这样就不需要包括路径属性或者NLRI。相反,也可以只用于通告可达路由,就不需要携带撤销路由信息了。
notification:出错,邻居得断
route-refresh:策略变化触发更新一下

BGP状态机
在这里插入图片描述
初始状态IDLE,开始尝试TCP(目标端口179)三次握手,处于connect状态;握手成功则进入Open Sent状态,开始发送open报文;握手失败则进入Active状态,超时后回到connect状态继续尝试握手,存在一个重传定时器每次握手失败后定时器增长两倍,使得在TCP在握手失败的情况下持续性尝试握手,如果能成功进入Open Sent状态;发送open 报文后进入Open Confirm状态,发送keep live包进行保活,进入Establieshed状态,邻居建立;在建立邻居的过程中任何一个状态出现错误都会发送notification报文,转为IDLE状态;
邻居建立后进行路由的交换;

BGP对等体之间的交互规则:
1、 IBGP邻居之间不中转路由;EBGP邻居之间可以中转路由;
2、 只传递最优的路由;
3、 BGP路由不改变则永远不传递,只传递更新的路由
4、 关于同步(默认关闭),如果开启同步,BGP强制检查是否与IGP同步,没同步则认为不优,不优则不传;

属性

1、 公认必遵

Orign 起源属性

标识路由的来源,i表示宣告,e表示从EBGP邻居处学来,?表示重发布引入。
主要作用:选路,防环
i>e>? 防止AS内出环

AS-path

记录路由经过AS 的路径,在出AS时加入离开的AS号。
主要作用:选路,防环
AS-path越短越优 AS间水平分割,可以修改使得路由器进入已存在于as-path的AS

Next-hop 下一跳属性

路由的下一跳IP,如果没有则路由不优不可传。
主要作用:选路
因为BGP路由在传递时不修改属性,需要在IBGP传路由时修改next-hop-local
2、 公认自决

Loca-Pre 本地优先级属性

仅在本AS内传递,越大越优,默认值100。
主要作用:选路
用于IBGP之间选路,可以传递,牵一发而动全身

ATOMIC_Aggregate 路由聚合属性

表示该路由是聚合的路由,路由聚合的本质是干掉明细,BGP在聚合时可选择向下游传递明细或聚合或明细+聚合。
主要作用:选路
3、 可选传递

Community 团体值属性

子属性:internet no-export不传给EBGP邻 no-advertise不传递 local-as只在本联邦AS内传-
给路由打标机,便于后续基于标记做策略,需要在每台路由器上开启传递团体值的命令。
主要作用:选路

Aggregator

指示出现聚合路由的地点。
Atomic-aggregate属性指示出现了路径信息的丢失而aggregator属性指示聚合路由出现在哪里。
4、 可选非传递

MED

在AS之间传递,类似于metric,越小越优,只能用于对同一AS的EBGP邻的选路,可以修改为对多AS的选路。一般默认的MED无实际意义,依靠人为修改干涉选路。
主要作用:选路

Weight/PreFer_Value

私有属性,本路由器有效,不传递,简单粗暴的干涉本地选路,越大越优。

Originator_ID
用于反射器防环,代表本地路由发起者的路由器ID。
Cluster_list
用于反射器防环,代表所有经过的RR(反射器)的序列。

BGP选路规则

1、 next-hop存在
2、 prefer_value
3、 local-prefer
4、 本地生成的路由,手动聚合>自动聚合>Network引入>import-route引入>对等体学习
5、 as-path
6、 origin
7、 med
8、 从EBGP邻优于从IBGP邻学来的
9、 优选到IGP邻开销最小的路由
若设置BGP负载均衡数不为1,未选出最佳则负载,若BGP负载数为1则继续
10、 优选Clustr_List最短的路由
11、 选router-id最小的路由器发布的路由
12、 比较邻居的IP address,优选从具有较小IP address的对等体学来的路由

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BGP属性 的相关文章

  • PCL 计算点云的主曲率

    目录 一 算法原理 1 算法源码 2 特别提醒 3 曲率显示 二 代码实现 三 结果展示 四 测试数据 一 算法原理 1 算法源码 template
  • 用消息队列实现AB进程随时通信,在共享内存中循环逆置打印字符串

    一 要求实现AB进程随时对话 A进程发送一句话给B进程 B进程接收后打印 B进程回复一句话给A进程 A进程接收后打印 随机重复1 2步骤 当收到quit后 要结束AB进程 A进程 include
  • Python 爬取高校历年分数线

    最近一周一直在帮家里小弟看高考志愿 所以更新的没那么频繁了 请大家见谅 在看各高校的往年分数时 忍不住手痒 想着能不能给它爬下来 哈哈 说干就干 1 流程分析 之前无意中在这个网站发现有各个高校的历年录取分数线 https gkcx eol
  • 绕过过滤的空白字符

  • R语言-用stringr包处理字符串

    1 字符数统计和字符翻译 1 1 nchar和length nchar这个函数简单 统计向量中每个元素的字符个数 注意这个函数和length函数的差别 nchar是向量元素的字符个数 而length是向量长度 向量元素的个数 x lt c
  • python如何将多个文件夹的PNG图片批量转换为jpg图片(无损转换)

    一般不需要后期处理分析的照片无需使用PNG格式 对于普通的风景人物的照片可以无损转换为jpg格式 这个过程只是将原图png格式中保存空白信息的多余通道去掉而已 并不会影响画质 而内存一般可以变为原来的四分之一 对于图片收藏爱好者来说 可以节
  • ES2015数组扩展 - Array.from()

    Array from方法用于把两类对象转为真正的数组 类似数组的对象 array like object 和可遍历 iterable 的对象 包括ES6新增的数据结构Set和Map 下面是一个类似数组的对象 Array from将它转为真正
  • YOLO V6论文精读

    1 Introduction 在论文中 作者通过实证观察了几个促使我们重新提供YOLO框架的重要因素 1 从RepVGG 3 中重新参数化是一种优越的技术 在检测中尚未得到很好的利用 我们还注意到 对RepVGG块进行简单的模型缩放变得不切
  • 开发启动rsync服务的脚本

    rsync服务的重要性不言而喻 但是一般我们都是rsync daemon启动 我们可以启动rsync服务在init d目录下呢 只要我们写个脚本就OK了 root zyj cat etc init d rsyncd bin bash cre
  • 为金融而生的区块链Injective(INJ)

    Injective背景 Injective 是 Binance Labs 2018 年第一期孵化的八个项目之一 已经获得了众多机构的支持 包括全球顶尖的加密货币风险投资公司之一 Pantera Capital Injective 的核心团队
  • 【蓝桥杯学习笔记】2. 最大公约数和最小公倍数

    系列文章目录 蓝桥杯学习笔记 1 入门基本语法及练习题 文章目录 系列文章目录 前言 一 最大公约数 二 最小公倍数 总结 前言 蓝桥本笔记 从入门到放弃 本片文章使用Python语言编写 Now is better than never
  • openEuler软件包加固项目笔记

    项目概要 使用mugen框架对openEuler操作系统的软件包rubygem bacon进行测试 记录issue 涉及到一些保密性 我有些东西不便细述 因此设置了查看权限 一 申请云服务器 openEuler操作系统安装 说明 安装ope
  • Vue React实现Anchor锚点组件

    Vue实现 使用 页面引入 import Anchor from components common Anchor
  • 对于C++中的extern关键字用法的理解

    今天在学习Effective C 时遇到了extern 关键字 这个关键字我不熟悉 因此参考csdn上一位大佬的博客 总结出如下笔记 一 首先 明确一点 即 extern是关于声明的关键字 变量的声明有两种情况 1 一种是需要建立存储空间的
  • Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块 主要用于输出运行日志 可以设置输出日志的等级 日志保存路径 日志文件回滚等 相比print 具备如下优点 可以通过设置不同的日志等级 在release版本中只输出重
  • 【经典游戏】坦克大战 Unity2D项目实战(保姆级教程)

    主要内容 1 Unity3D引擎中的基础设置 2 2D场景的搭建 预制体制作 3 2D动画的制作 4 图片图集的有关知识 5 碰撞器 触发器 碰撞检测与触发检测 6 2D游戏渲染的一些知识 7 敌人AI的编写 8 UGUI有关内容 场景切换

随机推荐

  • tomcat8.5 启动控制台日志乱码

    使用IDEA在本地启动tomcat进行调试时 发现日志 页面会出现乱码的情况 通过以下方式解决问题 以下操作全部在Windows10系统中 直接启动tomcat会出现控制台汉字乱码的问题 这是因为 tomcat启动默认编码 UTF 8 wi
  • Java+MysQL:Java连接MysQL及进行简单的查询操作

    最近想学习一下Java操作MySQL等数据库的教程 但是把整个网络翻遍也没找到令人满意的教程 各种报错 所以就决定 把自己的学习过程记录下来和大家分享 既可以作为日后复习巩固之用 又可以帮到需要的人 希望可以帮助以后想学习的朋友们少走一些弯
  • Android通知发送原理之Framework实现(基于Android 10)

    前言 这是一个基于 Android 10 源码 全面分析 Android通知系统实现原理 的系列 这是第三篇 全系列将覆盖 这一篇我们将全面分析通知发送在框架层 服务端 的一系列处理 说明 下文出现的简写 NM gt Notificatio
  • 关于组播239.255.255.250

    网络很慢 用SNIFFER监控 观察到内网一个IP10 192 68 66与239 255 255 250有着大量的数据传送 占据大量带宽 各位同仁有没有遇到类似情况 小虾初步怀疑是有人在网内看网络电视导致的 曾经在一个论坛里看见说是一个播
  • Spring Boot项目结构推荐

    Spring Boot框架本身并没有对项目结构有特别的要求 但是按照最佳实践的项目结构可以减少可能会遇见的坑 尤其是Spring包扫描机制的存在 也可以免去不少特殊的配置工作 典型示例一 root package结构 com lyd exa
  • HTML5 WebSocket的入门使用

    HTML5 WebSocket 长连接 客户端与服务端可以保持长时间的通信 一 具体步骤 1 创建一个websocket实例 连接远程服务器并且需要一个连接服务器的url let baseUrl ws echo websocket org
  • Flutter 图表控件使用笔记

    Flutter 图表控件使用笔记 最近有图表绘制需要 记录下现有的Flutter主流实现方式 原文链接 https blog csdn net weixin 44259356 article details 105147636 flutte
  • 数据库复习(4) 实体关系模型

    实体集 Entity Sets 是实际存在的事物 可以是抽象的 具有属性 attributes 实体集是具有共同性质的同类实体的集合 实体集的属性类型划分 简单的和复合的 conposite 如名字等等 单值的 多值的 如电话号码等 直接的
  • (规定时间过桥问题)A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时 1、2、5、10 分钟

    问题描述 A B C D 四个人 要在夜里过一座桥 他们通过这座桥分别需要耗时 1 2 5 10 分钟 只有一支手电 并且同时最多只能两个人一起过桥 请问 如何安排 能够在17分钟内这四个人都过桥 解答思路 核心思想 过桥需要手电 每次让相
  • STM32学习——GPIO

    GPIO就是通用的输入输出端口 通俗的说就是单片机的一些引脚 这些引脚可以控制LED灯 蜂鸣器也可以作为按键输入 ADC采样等 从而实现STM32单片机和外部硬件之间的连接和数据交互 在STM32中以STM32F103C8T6为例 其GPI
  • # `CSP_J_2021` 第一轮认证题

    一 单选题 1 以下不属于面向对象程序设计语言的是 A C B Python C Java D C 2 以下奖项与计算机领域最相关的是 A 奥斯卡奖 B 图灵奖 C 诺贝尔奖 D 普利策奖 3 目前主流的计算机储存数据最终都是转换成 数据进
  • CSS的clip-path属性使用

    前言 clip path CSS 属性使用裁剪方式创建元素的可显示区域 区域内的部分显示 区域外的隐藏 基本语法 clip path clip source basic shape geometry box none 属性说明 clip s
  • iterm2跳板机自动登录脚本

    前言 现在要想访问公司服务器都必须通过跳板机再跳到目标服务器 这么做是运维人员为了安全性考虑和可以高效管理公司庞大的服务器集群 但是我们都知道安全性提高后必定降低我们日常工作的效率 必须先登录到跳板机 再选目标服务器 每次访问服务器都增加了
  • 前端面试题-url、href、src

    一 URL的概念 统一资源定位符 或称统一资源定位器 定位地址 URL地址等 英语 Uniform Resource Locator 常缩写为URL 有时也被俗称为 网页地址 网址 如同在网络上的门牌 是因特网上标准的资源的地址 Addre
  • Python模块学习 ---- atexit

    atexit模块很简单 只定义了一个register函数用于注册程序退出时的回调函数 我们可以在这个回调函数中做一些资源清理的操作 注 如果程序是非正常crash 或者通过os exit 退出 注册的回调函数将不会被调用 我们也可以通过sy
  • 一篇文章让你搞定所有redis面试题

    Redis是什么 Redis是C语言开发的一个开源的 遵从BSD协议 高性能键值对 key value 的内存数据库 可以用作数据库 缓存 消息中间件等 它是一种NoSQL not only sql 泛指非关系型数据库 的数据库 redis
  • Arduino酸度计(PH计)

    在本项目中 我们将通过将模拟pH传感器与Arduino接口来设计pH计 介绍 在化学中 pH是用于指定水基溶液的酸性或碱性的标度 酸性溶液的pH值较低 而碱性溶液的pH值较高 因此 Ph传感器具有确定任何溶液的Ph的能力 即可以判断该物质本
  • JAVA运行时类存在,但是报错:NoClassDefFoundError: Could not initialize class

    我们在部署代码时 明明类存在 但是发现报错 NoClassDefFoundError Could not initialize class 这类问题是由静态成员或静态初始化语句块引起 我们先看下面个类 import org apache c
  • C语言实现MD5/SHA1/SHA256/SHA512

    哈希函数是我们做校验时经常会用到的密码学工具 目前常用的工具有MD5 SHA1 SHA256 SHA512等 其中MD5已经被证实不安全 目前只能作为一种辅助的校验手段 而不能防篡改 下面介绍如何使用mbedTLS协议栈中的hash代码生成
  • BGP属性

    BGP 外部网关协议 此协议不在于自动发现网络拓扑 不追求速度 而在于AS之间选择最佳路由和控制路由的传播 追求可靠性 稳定性 操控性 承载性 使用TCP作为其传输协议 监听端口号为179 保证其可靠性 路由更新只发送更新的路由 适用于在以