BGP高级特性——4字节AS号

目录

4字节AS号

相关概念

两种过渡属性

4字节AS号的格式

4字节AS号建立邻居

4字节AS号路由传递

配置命令


4字节AS号

相比于2字节AS号,范围更大。由1~65535扩展到1~4294967295

支持4字节AS号的BGP设备兼容仅支持2字节AS号的BGP设备

相关概念

Speaker(发言者)

发送BGP消息的路由器称为BGP Speaker

New Speaker

支持4字节AS扩展能力的BGP Speaker

Old Speaker

不支持4字节AS扩展能力的BGP Speaker

New Session

New Speaker之间建立的BGP连接

Old Session

New Speaker和Old Speaker之间或者Old Speaker之间建立的BGP连接

两种过渡属性

通过定义两种可选过渡属性AS4_Path和AS4_Aggregator来辅助Old Speaker传递4字节AS信息

AS4_Path(0x11):用来辅助AS_Path属性传递4字节AS号信息

AS4_Aggregator(0x12):用于辅助Aggregator属性传递4字节AS号信息

4字节AS号的格式

整数形式:1~4294967295

点分形式:x.y形式

整数形式与点分形式的对应关系

整数形式4字节AS号=x*65536+y

即2.3对应 2*65536+3=131075

4字节AS号建立邻居

BGP通过Open报文进行参数协商,建立邻居

如何在Open报文体现自身支持4字节AS号

通过在Open报文中定义了新的可扩展字段0x41来代表本端支持4字节扩展能力

Open报文需要携带自身的AS号,对于4字节AS号如何携带

Open消息头的My AS字段只有2字节,无法填充4自己的AS号

因此New Speaker在发送Open消息时,会将My AS字段填充为23456(过渡AS号)

将自己实际的AS号填充在可选能力字段0x41中

邻居建立过程

对于Old Speak,不支持4AS能力,会认为对方为2字节AS号23456,进行协商,建立邻居,建立Old Session。

对于New Speak,支持4AS能力,会从Open报文的可选字段中提取出对端4AS号,进行协商,建立邻居,建立New Session

4字节AS号路由传递

通过Update报文携带4字节AS号,进行路由传递

对于支持4字节AS号的New Speaker,4字节如何传递

4字节AS号存放在AS_Path中,直接识别

对于不支持4字节AS号的Old Speaker,4字节AS号如何传递

通过AS4_Path属性携带4字节AS号

通过AS_Path属性携带过渡AS号(23456)

路由传递过程

当New向Old发送Update消息时,会将大于65535的AS号信息通过AS4_Path属性辅助AS_path属性传递4字节AS号信息(对于Old Speaker来说,AS4_Path属性是透明的,只能识别出过渡AS号23456)

当New 从Old收到带有AS4_path属性的Update报文时,会根据AS4_Path属性和AS_Path属性重新计算出真正的AS_Path属性

配置命令

华为设备配置

bgp [1.1]  配置4字节为1.1的AS号

 peer [2.2.2.2] as-number [1.1]   与2.2.2.2建立BGP邻居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/93983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程(如何理解pthread库)

上一节,我们主要介绍了pthread库中一些常见函数的用法,这节我们主要分析一下pthread库到底是什么? 什么是库 我们之前提过,在每一个linux平台下,必定会存在对应的pthread库 它存在于/lib64这个路径底下 换句话说&am…

linux服务端c++开发工具介绍(vscode版)

本文适合于有一定c开发经验,但是还不明确如何到linux服务端开发程序的同学。 一、vscode 几年前用的是ssh到云服务上,再用vim在云上开发的形式 ssh dongbeijing.dbj11.158.142.176 vim hello.c 现今,由于vscode比较好用,这几年…

几种ubuntu下deb打包技术:checkinstall打包成deb,sh打包成可执行文件,以及添加依赖库,到打包到deb

1,checkinstall可以打包成deb,不够灵活,测试只会将本地的编译好的文件压缩成deb,并不会压缩关联的库,不推荐 参考链接:Ubuntu下制作deb包的方法详解 2.,可以打包成可执行文件 测试这个是可以导入库,但是导入的库不全 参考链接:在Linux下用sh打包发布基于opencv的C++可执…

【从入门到起飞】IO高级流(1)(缓冲流,转换流,序列化流,反序列化流)

🎊专栏【JavaSE】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🎄缓冲流🍔字节缓冲流🛸一次读取…

1711: 【穷举】满足条件的整数

题目描述 假设a、b、c均为整数&#xff08;1<a,b,c<100)&#xff0c;同时a<b&#xff0c;找出所有符合条件&#xff1a;a2 b2 n*c3的整数组。 按a从小到大的顺序输出所有满足条件的整数组&#xff08;若a相同&#xff0c;则按b从小到大的顺序输出&#xff09; 输入…

简单的考试系统

开发一个简单的考试系统&#xff0c;在HTML页面中建立一个表单&#xff0c;通过post方法传递参数。题目类型包括单选题、多选题和填空题&#xff0c;要求程序给出考试成绩。 <!DOCTYPE html> <html> <head><title>question.html</title><met…

【教程】Autojs使用OpenCV进行SIFT/BRISK等算法进行图像匹配

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 此代码可以替代内置的images.findImage函数使用&#xff0c;但可能会误匹配&#xff0c;如果是对匹配结果要求比较高的&#xff0c;还是得谨慎使用。 runtime.images.initOpenCvIfNeeded(); importClass(java.uti…

【LeetCode热题100】--108.将有序数组转换为二叉搜索树

108.将有序数组转换为二叉搜索树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 二叉搜索树的中序遍历是升序…

flink生成水位线记录方式--基于特殊记录的水位线生成器

背景 在flink基于事件的时间处理中&#xff0c;水位线记录的生成是一个很重要的环节&#xff0c;本文就来记录下几种水位线记录的生成方式的其中一种&#xff1a;基于特殊记录的水位线生成器 基于特殊记录的水位线生成器 我们发送的事件中&#xff0c;如果带有某条特殊记录的…

Monkey命令

shell, monkey, system, Android, 文件系统Monkey, 示例, 简介 一、Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段&#xff0c;通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压 力测试&#xff0c;检测程序多久的时间会发生…

13链表-简单思路练习

目录 LeetCode之路——876. 链表的中间结点 分析&#xff1a; 解法一&#xff1a;常规思路 解法二&#xff1a;快慢指针 LeetCode之路——876. 链表的中间结点 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回…

竞赛 机器视觉opencv答题卡识别系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 答题卡识别系统 - opencv python 图像识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分…

互联网Java工程师面试题·ZooKeeper 篇·第一弹

目录 1. ZooKeeper 面试题&#xff1f; 2. ZooKeeper 提供了什么&#xff1f; 3. Zookeeper 文件系统 4. ZAB 协议&#xff1f; 5. 四种类型的数据节点 Znode 6. Zookeeper Watcher 机制 -- 数据变更通知 7. 客户端注册 Watcher 实现 8. 服务端处理 Watcher 实现 9. 客…

CSS 选择器-认识并应用选择器

CSS选择器是用来定位HTML或XML文档中的元素的模式。以下是一些常见的CSS选择器&#xff0c;以及对应的样例代码&#xff1a; 标签选择器&#xff1a;选择所有指定标签的元素。 示例代码&#xff1a; p {font-size: 16px; }类选择器&#xff1a;选择所有指定类名的元素。 示…

ArcGIS Engine:实现Shp/Mxd数据的加载、图层的简单查询

本博客参考&#xff1a;BiliBili UP主 <羊羊旸> &#xff1a; Arcgis Engine学习 目录 01 加载控件以及控件的基本信息等调整 02 编写 <菜单-地图控件> 中各个子工具的代码 2.1 加载Shapefile数据-代码 2.2 加载地图文档数据-代码 2.3 获取图层数量-代码 2.…

vue3 +elementplus | vue2+elementui 动态地通过验证规则子新增或删除单个表单字段

效果图 点击 ‘’ 新增一行&#xff0c;点击‘-’ 删除一行 vue3elementplus写法 template <el-dialog v-model"dialogFormVisible" :title"title"><el-form ref"ruleFormRef" :model"form" :inline"true" lab…

Redis Cluster Gossip Protocol: Message

返回目录 消息结构 消息头部消息数据&#xff08;可选&#xff09;extension&#xff08;可选&#xff09; 消息头部 字段定义 Signature: “RCmb” 这4个字符&#xff08;Redis Cluster message bus 的简称&#xff09;totalLen: 消息的总字节数version&#xff1a;当前为…

【算法|动态规划No.8】leetcode面试题 17.16. 按摩师

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

【TCP和UDP通信】多发多收

TCP和UDP通信——多发多收 UDP通信 1.客户端可以反复发送数据 客户端实现步骤 &#xff08;1&#xff09;创建DatagramSocket对象&#xff08;发送端对象&#xff09; &#xff08;2&#xff09;使用while死循环不断的接收用户的数据输入&#xff0c;如果用户输入”886”则退…

ES / Kibana 快速安装配置记录

ES / Kibana 快速安装配置记录 支持一览表 | Elastic Download Elasticsearch | Elastic Download Kibana Free | Get Started Now | Elastic wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel-7.rep…