BGP-LS原理及基本功能测试方法
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原理及基本功能测试方法的更多相关文章
- 简单介绍Excel单元格行列指示的实现原理(俗称聚光灯功能)
		
原始出处:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel单元格行列指示的实现原理(俗称聚光灯功能) 单元格行列指示功能在录 ...
 - Web 常用功能测试方法
		
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能.常用的测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相 ...
 - 常用的web功能测试方法
		
功能测试就是对产品各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求功能,即是否满足需求.常用的测试方法如下: 1.页面连接检查:每一个连接是否都有对应的页面,并且页面之间切换正确. ...
 - 一、VIP课程:互联网工程专题 05-快速掌握Jenkins原理与核心功能
		
第五课:快速掌握jenkins核心功能.docx 2.164 (2019-02) and newer: Java 8 or Java 11 一.jenkins 概述与环境配置 知识点: 关于可持续化集 ...
 - golang中字符串的底层实现原理和常见功能
		
1. 字符串的底层实现原理 package main import ( "fmt" "strconv" "unicode/utf8" ) f ...
 - Ls 命令执行什么功能?可以带哪些参数,有什么区别?
		
ls 执行的功能:列出指定目录中的目录,以及文件 哪些参数以及区别:a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等
 - Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
		
ls 执行的功能: 列出指定目录中的目录,以及文件哪些参数以及区别: a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等
 - Openstack组件实现原理 — Keystone认证功能
		
目录 目录 前言 Keystone安装列表 Keystone架构 Keystone的管理对象 一个理解Keystone管理对象功能的例子 Keystone管理对象之间的关系 Keystone V3的新 ...
 - linux系统编程之文件与IO(六):实现ls -l功能
		
本文利用以下系统调用实现ls -l命令的功能: 1,lstat:获得文件状态, 2,getpwuid: #include <pwd.h> struct passwd *getpwuid(u ...
 - 边界网关协议BGP
		
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
 
随机推荐
- 强化PHP安全策略,有效防范网络钓鱼威胁
			
本文由 ChatMoney团队出品 随着互联网的飞速发展,网络钓鱼攻击已成为网络安全领域的重要威胁之一.网络钓鱼攻击通过伪装成合法网站或企业,诱骗用户进入虚假网站并窃取用户的个人信息.密码等敏感信息. ...
 - http 426 Upgrade Required
			
1.很久没做http接口了,都快不会了... 最近遇到一个奇葩的,调用http接口返回空,什么都没有,然后用工具测试,发现能返回消息,不过状态是500... 好奇之下就在代码里加个个取返回状态code ...
 - 商品中心—8.商品C端处理高并发的技术文档
			
大纲 1.商品C端的高并发架构 2.商品C端的布隆过滤器组件 3.Guava缓存的封装与使用 4.商品C端的接口设计与运行流程总结 5.商品C端系统对商品数据新增和变更时的处理 1.商品C端的高并发架 ...
 - Eplan教程:主数据创建
			
从今天开始,Eplan团队将带着大家一起,从项目早期的规划报价设计开始,经历原理图设计.PLC设计.盘柜三维设计.线束三维设计,直至输出供生产所需的各类报表. 该系列共分为几个部分 1.设计主数据-部 ...
 - C#   LoggingHelp 自定义记录日志帮助类
			
public class LoggingHelper { /// <summary> /// 获取文件路径 /// </summary ...
 - 简单的sqlHelper类
			
public class SQLHelper { //连接数据库 static string connStr = ConfigurationManager.Conn ...
 - docusaurus默认访问地址前缀 以及多实例
			
前言 默认情况下 所有的md文档 都应该以docs为根目录. you-project |--docs |--test.md 而访问路由 也是默认的http://localhost:3000/docs/ ...
 - post下载文件到本地-兼容ie
			
一般下载都是给一个下载文件地址然后前端拿到这个绝对路径a链接打开就是下载是吧但是有些后端,偏偏就是用post接口,返回一个二进制文件流可能这样不用写入本地(服务器)吧.不用清理管理和维护 解决办法 / ...
 - 生成  cone(锥体)
			
简介 生成 圆锥 代码 // CreateCone.cpp: 定义控制台应用程序的入口点. // #include <iostream> #include <OpenMesh/Cor ...
 - fowsniff WP
			
下载地址: https://download.vulnhub.com/fowsniff/Fowsniff_CTF_ova.7z category:重要 awk剪切得到字典,巩固awk使用技巧 motd ...