BGP路由控制

BGP路由控制概述

BGP协议的重点不在于发现和计算路由,而在于通过丰富的属性和策略实现对路由的控制。

控制BGP路由可以通过两种方式实现。

一是通过BGP 的基本属性实现对BGP 选路的控制。这种方式比较简单,主要是通过配置、修改BGP 基本属性值以影响协议的选路,从而实现控制BGP路由的目的。

二是通过配置过滤器来实现对BGP选路的控制和过滤。通过定义过滤器,来匹配路由的IP网段、BGP属性、AS 路径列表等参数,从而实现对接受的路由、发送的路由以及本地发布的路由控制。在使用过滤器的过程中,常见的过滤器主要有Filter-policy、Route-policy、 AS 路径访问列表等。

通过配置BGP基本属性控制BGP路由

BGP 协议具有丰富的路由属性。通过配置这些路由属性,可以对影响协议的选路。常见的用于影响选路的属性有:
路由首选值(Preferred-value)
BGP选择路由时,会首先丢弃下一跳不可达 的路由,其次再优选Preferred-value 值最大的路由。 而缺省情况下,从对等体学到的路由的首选值为0,通过为从某个对等体接收的路由配置首选值,从而提高从指定对等体学到的路由的优先级。
[Router-bgp-default-ipv4]peer {group-name | ip-address } preferred-value value
值value取值范围0~65535,值越大优先级越高,缺省值为0。路由首选值只用于本地路由器的路由选择,不会通告给对等体,只有本地意义。
本地优先级(Local-Preference)
Local-Preference 用来判断流量离开AS时的最佳路由。当BGP路由器通过不同的IBGP 对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local-Preference 值较高的路由。通过配置来改变BGP路由器向IBGP 对等体发送的路由Local-Preference的值,从而影响IBGP对等体的选路。
[Router-bgp-default-ipv4]default local-preference value
值value取值范围0~4294967295,值越大优先级越高,缺省值为100。

MED (MULTI EXIT DISC)

MED 用来判断流量进入AS时的最佳路由。当一个运行BGP的路由器通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。通过配置来改变BGP路由器向EBGP对等体发送的路由的MED 值,从而可影响EBGP对等体的选路。
[Router-bgp-default-ipv4]default med med-value
值value取值范围0~4294967295,值越小优先级越高,缺省值为0。
下一跳(NEXT HOP)

缺省情况下,路由器向IBGP对等体发布路由时,不将自身地址作为下一跳。但有的时候为了保证IBGP邻居能够找到下一跳,可以配置将自身地址作为下一跳。

[Router-bgp-default-ipv4]peer {group-name | ip-address } next-hop-local

使用过滤器控制BGP路由

几种常见的过滤器

1.filter-policy:可以实现对接收到的路由和发布的路由进行过滤,但是无法修改BGP的属性值。

2.router-policy:是功能强大的过滤器,不仅可以在路由的接收、发布、引入环节对路由进行过滤,而且可以对符合规则的路由增加或修改相关的路由属性。

3.AS路径访问列表:多用在多AS的网络环境中,是针对AS域而不是具体的路由来进行路由控制,通过AS路径访问列表能够轻易地筛选出和指定AS相关的路由信息,从而实现对路由的控制。

filter-policy

配置filter-policy步骤:

1.定义ACL或者地址前缀列表(prefix-list),筛选出需要过滤的路由。

2.配置filter-policy对匹配ACL或者prefix-list的路由在发布或者接收方向进行过滤。

示例:

 

 如图,RTA通过BGP从RTB学习到了10.10.1.0/24、10.10.5.0/24网段路由并加入到自己路由表中,如果希望把目的网段为10.10.1.0/24、10.10.5.0/24的路由在从BGP路由导入到IP路由表的过程中过滤掉,可通过配置filter-policy实现。

[RTA]bgp 100
[RTA-bgp-default]peer 10.10.10.2 as-number 200
[RTA-bgp-default]address-family ipv4 unicast
[RTA-bgp-default-ipv4]filter-policy prefix-list 1 import
[RTA-bgp-default-ipv4]peer 10.10.10.2 enable
[RTA]ip prefix-list 1 index 10 deny 10.10.1.0 24
[RTA]ip prefix-list 1 index 20 deny 10.10.5.0 24

 

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

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

相关文章

Windows右键新建列表排序

前言全局说明Windows右键新建列表排序一、说明 环境: Windows 11 家庭版 23H2 22631.3737二、Windows11 右键新建列表排序 2.1 打开注册表项 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew2.2 编辑 Classes 键 调整成…

如何让领导轻松在本地查看Allure报告

如何让领导轻松在本地查看Allure报告 问题描述 当我们把精心生成的Allure报告原始文件发送给领导后,领导直接打开index.html文件时,页面却一直处于加载状态,无法显示数据。通过F12开发者工具检查,我们发现这是由于浏览器跨域请求问题导致的。具体来说,当尝试通过XMLHttpRe…

使用yt-dlp下载youtube高清2k 60fps视频

只演示windows下的操作,linux和mac应该差不多的命令行。 首先放上github仓库地址:https://github.com/yt-dlp/yt-dlp 它的介绍: 厉害啊,支持数千个网站。 支持的网站列表在这里:https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md 我们往下一点,找到: 下…

私有云部署在互联网公司中的应用案例解析

在互联网公司中,私有云的部署与应用案例已经成为许多企业实现数字化转型、提高资源利用效率、加强数据安全等目标的重要手段。私有云为公司提供了高度的控制权和定制化选项,尤其适用于对数据安全性和合规性有较高要求的公司。下面,我们将通过几个典型的应用案例来分析私有云…

10、Oracle三种监听方式

客户端对监听的三种连接方式 1、专用服务器模式专用服务器模式默认是启用的 专用服务器模式特点: 1、一个连接对应一个server process 好处:这个连接发送的SQL会被马上处理 坏处:即使这个连接空闲,这个server process还是存在,也需要占用资源,至少是内存资源 2、这种连接…

9、oracle trace监听连接

trace(跟踪)监听 有时候会出现这么一种情况:就是客户端连接不上监听,或者连接上监听以后有各种各样的故障,比如:连接慢、报错等等相关的信息,所以有时候需要对监听起一个trace(跟踪),看一下客户端对数据库监听的连接的一个情况如果客户端连接监听连不上的一个排错过程…

8、tnsnames文件配置

监听的配置文件 2、tnsnames.ora文件 tnsnames.ora文件:客户端的 配置tnsnames.ora监听文件 1、使用netca命令 指定图像映射机器 [oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0netca命令 [oracle@db11g admin]$ netca2、选择local net service name configuration,…

Redis中常见的数据类型及其应用场景Ib

五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。各数据类型介绍:Redis数据类型对应的底层数据结构String 类型的应用场景 常用命令存放键值:set key value [EX seconds] …

博客园-awescnb插件-geek皮肤优化-links优化

简介 博客园-awescnb插件-geek皮肤下,对自定义链接(links)优化将自定义链接添加至原主链接下,同时适配移动端场景效果实现定义自定义HTML: 博客园->管理->设置->页脚 HTML 代码 添加相关代码//生成链接function createLinks(){for(let item of config.links){const…

一个基于 .NET 8.0 构建的简单、跨平台、模块化商城系统mt

公司SaaS系统有个给客户的员工发放金币,最后计算金币老是流水和总额对不上,以前负责这块的人做过修改还是不对,后来这负责人离职,接手大数据的事情后,该客户真在用金币这块业务,而且财务用这个结算对账,2023年底客户逼急了,要彻底解决这个问题:和负责这块的产品经理沟通…

Flutter手势组件(4):MouseRegion

一、MouseRegion介绍 在我们进行 h5 开发的时候,我们都知道css有一个hover来改变元素的样式,那么我们在Flutter中也可以通过MouseRegion是监听区域内鼠标的进入和退出以及移动轨迹。 二、什么情况下使用MouseRegion? MouseRegion常用于Flutter的Web开发或者桌面程序中,当我…

Flutter手势组件(3):GestureDetector

一、GestureDetector介绍 在前面的文章中我们介绍了Listener,而GestureDetector是对Listener的封装,提供非常多的手势,包括单击、双击、拖动、混合手势等。 二、什么情况下使用GestureDetector? 当我们需要对文字需要增加点击事件时,或者需要对组件进行拖动、缩放等那我们就…