BGP-LS产生的原因

BGP Link State是一种新型的收集网络拓扑信息的技术。

传统网络拓扑信息收集方式是路由器使用IGP(OSPF或IS-IS)协议收集网络拓扑信息,不同网络域中的IGP协议将各个域的拓扑信息单独上送给上层控制器,在这种拓扑收集方式下,存在以下几个问题:

•对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法。

•当涉及到跨IGP域拓扑信息收集时,上层控制器无法计算到完整的拓扑信息,可能无法计算端到端的最优路径。

•不同的IGP协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。

BGP-LS的优势

BGP-LS特性产生后,IGP协议发现的拓扑信息由BGP协议汇总后上送给上层控制器,利用BGP协议强大的选路和算路能力,有以下几点优势:

•降低对上层控制器计算能力的要求

控制器不需要支持IGP能力,仅需支持BGP即可。

•BGP协议汇总网络拓扑信息

各个进程或各个AS的拓扑信息,直接将完整的拓扑信息上送给控制器,有利于整个网络的路径选择和计算。

•简化拓扑上送协议

网络中所有拓扑信息均通过BGP协议上送控制器。

BGP-LS原理

BGP-LS新定义了一系列链路状态NLRI,分别用来携带节点、链路、路由前缀信息、IPv6路由前缀信息、SRv6 SID路由信息和TE Policy路由信息,这几种路由相互配合,共同完成拓扑信息的传输。链路状态NLRI携带在MP_REACH_NLRI或者MP_UNREACH_NLRI属性中,通过BGP Update消息通告。

BGP-LS目前定义了如下6种链路状态NLRI

•Node NLRI(节点 NLRI):记录拓扑的节点信息

格式示例:

[NODE][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier10.1.1.2][ospf-area-id0.0.0.0][igp-router-id0000.0000.0001.00]]

•Link NLRI(链路 NLRI):记录两台设备之间的链路信息

格式示例:

[LINK][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as255.255][bgp-ls-identifier192.168.102.4][ospf-area-id0.0.0.0][igp-router-id0000.0000.0002.01]][REMOTE[as255.255][bgp-ls-identifier192.168.102.4][ospf-area-id0.0.0.0][igp-router-id0000.0000.0002.00]][LINK[if-address0.0.0.0][peer-address0.0.0.0][if-address::][peer-address::][mt-id0]]

•IPv4 Topology Prefix NLRI(IPv4 拓扑前缀 NLRI ):记录节点可达的网段信息

格式示例:

[IPV4-PREFIX][ISIS-LEVEL-1][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier192.168.102.3][ospf-area-id0.0.0.0][igp-router-id0000.0000.0001.00]][PREFIX[mt-id0][ospf-route-type0][prefix192.168.102.0/24]]

•IPv6 Topology Prefix NLRI(IPv6 拓扑前缀 NLRI):记录节点可达的网段信息

格式示例:

[IPV6-PREFIX][ISIS-LEVEL-2][IDENTIFIER100][LOCAL[as200][bgp-ls-identifier192.168.11.11][ospf-area-id0.0.0.0][igp-router-id0000.0000.0004.00]][PREFIX[mt-id0][ospf-route-type0][prefix4::4/128]]

•SRv6 Sid NLRI:记录节点可达的网段信息

格式示例:

[SRV6-SID][ISIS-LEVEL-2][IDENTIFIER100][LOCAL[as200][bgp-ls-identifier192.168.11.11][ospf-area-id0.0.0.0][igp-router-id0000.0000.0004.00]][SID[mt-id0][sid2001:db8:1::1]]

•TE Policy NLRI:记录SR TE Policy相关的拓扑及状态信息

格式示例:

[TEPOLICY][SEGMENT-ROUTING][IDENTIFIER0][LOCAL[as100][bgp-ls-identifier1.1.1.1][bgp-router-id1.1.1.2][ipv4-router-id1.1.1.9][ipv6-router-id::]][TE[protocol-origin3][Flag0][endpoint2.2.2.2][color123][originator-as0][originator-address0.0.0.0][discriminator500]]

使用信而泰测试仪进行BGP-LS基本功能测试

信而泰DarYu系列L2~3层高端仪表支BGP-LS的路由构建、路由解析、拓扑生成等功能。

典型应用场景:

测试仪一端模拟网络,使用IGP(isis)向被测设备通告网络拓扑,另一端模拟上层控制器,接收被测设备发来的BGP-LS路由并计算生成网络拓扑。

构造模型步骤:以下介绍IPv4 BGP-LS测试模型,IPv6 BGP-LS测试方法相似,本文不展开介绍。

1.使用2个端口进行测试,端口1模拟IGP侧,向DUT通告一张网络拓扑。端口2模拟BGP-LS侧,接收DUT生成的BGP-LS路由并根据这些路由计算出IGP网络拓扑;

2.IGP侧端口使用ISIS协议,模拟一张2x2的网格型拓扑,Emulated Router位置选择Attached;

3.配置ISIS时可选“使能TE配置”,通告每个节点间的链路信息,每个节点都通告IPv4和IPv6路由各1条;

4.完成后可以检查每个节点的信息,确认无误后继续进行配置;

5.在BGP-LS侧端口创建IPv4 BGP session,使能“查看路由”选项和BGP-LS能力;

6.测试仪启动ISIS和BGP,在DUT上分别检查协议是否正常UP;

7. 在DUT上检查BGP-LS路由统计;

8.在测试仪BGP-LS侧端口点击“查看BGP路由“,查看接收到的BGP-LS路由信息;

9.查看NODE路由信息;

10.查看LINK路由信息;

11.查看IPv4 prefix路由信息;

12.查看IPv6 prefix路由信息;

13.在测试仪BGP-LS侧端口点击“查看BGP-LS拓扑图“;

14.测试仪根据接收到的BGP-LS路由信息计算并生成拓扑图,在浏览器中显示;

BGP-LS原理及基本功能测试方法的更多相关文章

  1. 简单介绍Excel单元格行列指示的实现原理(俗称聚光灯功能)

    原始出处:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel单元格行列指示的实现原理(俗称聚光灯功能) 单元格行列指示功能在录 ...

  2. Web 常用功能测试方法

    功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能.常用的测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相 ...

  3. 常用的web功能测试方法

    功能测试就是对产品各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求功能,即是否满足需求.常用的测试方法如下: 1.页面连接检查:每一个连接是否都有对应的页面,并且页面之间切换正确. ...

  4. 一、VIP课程:互联网工程专题 05-快速掌握Jenkins原理与核心功能

    第五课:快速掌握jenkins核心功能.docx 2.164 (2019-02) and newer: Java 8 or Java 11 一.jenkins 概述与环境配置 知识点: 关于可持续化集 ...

  5. golang中字符串的底层实现原理和常见功能

    1. 字符串的底层实现原理 package main import ( "fmt" "strconv" "unicode/utf8" ) f ...

  6. Ls 命令执行什么功能?可以带哪些参数,有什么区别?

    ls 执行的功能:列出指定目录中的目录,以及文件 哪些参数以及区别:a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等

  7. Ls 命令执行什么功能? 可以带哪些参数,有什么区别?

    ls 执行的功能: 列出指定目录中的目录,以及文件哪些参数以及区别: a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等

  8. Openstack组件实现原理 — Keystone认证功能

    目录 目录 前言 Keystone安装列表 Keystone架构 Keystone的管理对象 一个理解Keystone管理对象功能的例子 Keystone管理对象之间的关系 Keystone V3的新 ...

  9. linux系统编程之文件与IO(六):实现ls -l功能

    本文利用以下系统调用实现ls -l命令的功能: 1,lstat:获得文件状态, 2,getpwuid: #include <pwd.h> struct passwd *getpwuid(u ...

  10. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

随机推荐

  1. 强化PHP安全策略,有效防范网络钓鱼威胁

    本文由 ChatMoney团队出品 随着互联网的飞速发展,网络钓鱼攻击已成为网络安全领域的重要威胁之一.网络钓鱼攻击通过伪装成合法网站或企业,诱骗用户进入虚假网站并窃取用户的个人信息.密码等敏感信息. ...

  2. http 426 Upgrade Required

    1.很久没做http接口了,都快不会了... 最近遇到一个奇葩的,调用http接口返回空,什么都没有,然后用工具测试,发现能返回消息,不过状态是500... 好奇之下就在代码里加个个取返回状态code ...

  3. 商品中心—8.商品C端处理高并发的技术文档

    大纲 1.商品C端的高并发架构 2.商品C端的布隆过滤器组件 3.Guava缓存的封装与使用 4.商品C端的接口设计与运行流程总结 5.商品C端系统对商品数据新增和变更时的处理 1.商品C端的高并发架 ...

  4. Eplan教程:主数据创建

    从今天开始,Eplan团队将带着大家一起,从项目早期的规划报价设计开始,经历原理图设计.PLC设计.盘柜三维设计.线束三维设计,直至输出供生产所需的各类报表. 该系列共分为几个部分 1.设计主数据-部 ...

  5. C# LoggingHelp 自定义记录日志帮助类

    public class LoggingHelper    {        /// <summary>        /// 获取文件路径        /// </summary ...

  6. 简单的sqlHelper类

    public class SQLHelper     {        //连接数据库        static string connStr = ConfigurationManager.Conn ...

  7. docusaurus默认访问地址前缀 以及多实例

    前言 默认情况下 所有的md文档 都应该以docs为根目录. you-project |--docs |--test.md 而访问路由 也是默认的http://localhost:3000/docs/ ...

  8. post下载文件到本地-兼容ie

    一般下载都是给一个下载文件地址然后前端拿到这个绝对路径a链接打开就是下载是吧但是有些后端,偏偏就是用post接口,返回一个二进制文件流可能这样不用写入本地(服务器)吧.不用清理管理和维护 解决办法 / ...

  9. 生成 cone(锥体)

    简介 生成 圆锥 代码 // CreateCone.cpp: 定义控制台应用程序的入口点. // #include <iostream> #include <OpenMesh/Cor ...

  10. fowsniff WP

    下载地址: https://download.vulnhub.com/fowsniff/Fowsniff_CTF_ova.7z category:重要 awk剪切得到字典,巩固awk使用技巧 motd ...