HCIP学习--BGP3

目录

前置内容

BGP下一跳的修改问题

BGP的属性

配置

PrefVal权重属性

负载分担

LocPrf

负载分担

NextHop

AS-PATH

Ogn

配置

 MED

配置

BGP选路规则 

BGP的社团属性 

配置及解释


前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

HCIP学习--BGP2_板栗妖怪的博客-CSDN博客

BGP下一跳的修改问题

来讲一下,BGP中对于下一跳的修改问题,基于昨天的实验来讲一下,修改下一跳有多种修改方法

[r2-bgp]peer  172.16.1.3 next-hop-local

除去上面这种,还可以下面来一种路由策略

[r2]route-policy aa permit node 10匹配所有流量

[r2-route-policy]apply ip-adress next-hop peer-address修改包中下一跳地址为本地地址

[r2-bgp]peer 132.1.1.3 route-policy aa export在r2讲路由发给邻居132.1.1.3时的出接口执行这个策略

但是如果按上面第二种配置完成后就可能会出现问题,你用1的环回去ping8的环回ping不同,出现了环路,出现环路的原因是,首先1环回去往8环回,然后1去往2然后2去往8的下一跳是7的接口,然后递归查表,去往7的下一跳是3或者5,然后你看3的路由表,你会发现去往8的下一跳是2然后就成环了,那么三上去往8的为啥是2,是你自己改的。就是你改了2去往3和5下一跳,然后5把去往8的路由传给2,然后2再传给3,3上的下一跳经过路由策略的修改,就会变成2,然后就会出现问题。

所以第二个修改下一跳的路由策略是针对所有路由,

第一种修改实际仅针对R2从本地的EBGP邻居学习到的路由给3才会修改

总结:IBGP邻居间传递路由在一个AS内部,若贸然修改属性,极易出现环回,这就是BGP的AS-BY-AS特性

BGP的属性

属性

传播范围  

默认值       

大优小优

权重属性(PrefVal)

不传播(私有 不同设备之间的私有属性,只在本地有效可以在本地修改决定本地的下一个设备的路由选那条)(只可以在接受的路由的入接口配置,因为不传播)

0

(0-65535)

  越大越好

只有本地作用,不管前面是啥设备,只要我在我这修改这一个属性,就可以直接干涉路由,对于自己身上的选路很方便

本地优先级(LocPrf)

仅在IBGP邻居关系间传输

100

(0-255)

大优

干涉IBGP邻居关系选路,使用最多的策略,属性如果是从EBGP邻居接受过来的话是,这个属性不显示,然后在IBGP上显示就是100

下一跳(NextHop)

下一跳可达

优选0.0.0.0

AS-path

整个BGP

记录条目经过的所有AS编号(当你在AS3中前面经过AS2和AS1那么路由中显示1,2。AS号只能添加,不能减少

起源属性(Ogn)

来源种类

Network人一条一条宣告产生
Ilmport将某种协议批量的导入BGP协议
EGP重发布到BGP

MED

度量:BGP协议默认没有度量值

社团属性

默认大多数厂商的产品在BGP协议中不携带社团属性

配置

PrefVal权重属性

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1   

本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1

负载分担

访问不同目标时,让路由器选择不同的路径,起到所有路径被使用效果

(和负载均衡的区别:负载均衡是去往一个目标可以走两条相同的路)

[r3]ip ip-prefix p permit 1.1.1.0 24   抓住网络号

[r3]route-policy p permit node 10    定制策略

[r3-route-policy]if-match ip-prefix p    匹配流量

[r3-route-policy] apply preferred-value 1   修改优先级属性

[r3-route-policy]q

[r3]route-policy p permit node 20    由于路由策略存在分发列表的功能,必须考虑空表

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer 4.4.4.4 route-policy p import   和邻居传递路由的控制层面方向调用;

优先级不传播的特性只能在本地的入方向调用

举个例子来理解入方向R1要传路由给R2然后,在R2的g0/0/0接口就是R2的入接口

LocPrf

 [r4-bgp]default local-preference 1   本地传递路由给本地所有IBGP邻居时,修改属性为1

负载分担

以上图做例子 

[r3]ip ip-prefix l permit 1.1.1.0 24抓取相应流量

[r3]route-policy l permit node 10      

[r3-route-policy]apply local-preference 101 修改本地优先级

[r3-route-policy]if-match ip-prefix l匹配

[r3-route-policy]q

[r3]route-policy l permit node 20空表放过其他路由

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy l import    可以在IBGP邻居关系间的出或入方向调用,是在3的靠近3的接口

NextHop

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0。而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0。本地优选0.0.0.0的路由传递给本地的其他BGP邻居

下图是本地宣告的路由

AS-PATH

优选经过的AS号数量最少的路径

同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收

可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路,(人为操作只能添加,不能减少)可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置

如何干涉到IBGP中的选路,以下图作为例子

看图现在又两条路可以将1的环回的路由传给3,现在修改上面那条路由,在2设备的入接口配置,修改上面那条路经过多个AS,那么在AS1内部,选路也会优先选下面那条路

[r2]ip ip-prefix as index 10 permit 1.1.1.0 24

[r2]route-policy as permit node 10

[r2-route-policy]if-match ip-prefix as

[r2-route-policy] apply as-path 3 4 5 additive修改AS属性经过345,标红的意思是马上执行

[r2-route-policy]route-policy as permit node 20空表

[r2-bgp]peer 12.1.1.1 route-policy as import在R2的入接口调用

配置后结果

出向调用为  x 3 4 5   X代表实际经过过的AS

入向调用为  3 4 5 X   X代表实际经过过的AS

注:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习

解决方案

重复添加实际已经经过的AS编号来增加数量,BGP选路看的是AS-PATH的数量

[r2-route-policy]apply  as-path  1 1 1 additive

Ogn

来源种类

Network人一条一条宣告产生 标记为 i

Ilmport将某种协议批量的导入BGP协议 标记为

EGP重发布到BGP 标记为e

来个例子

三者优先级i优于e优于?

配置

就以上面那个表格为例子

向让上面去往1.1.2.0/24的网段的路走下一跳为4.4.4.4的那条

[r2]ip ip-prefix o permit 1.1.2.0 24

[r2]route-policy o permit node 10

[r2-route-policy]if-match  ip-prefix o

[r2-route-policy]apply origin egp 2    编写对端设备的AS号

[r2-route-policy]q

[r2]route-policy o permit node 20

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer  3.3.3.3 route-policy o export 将2的那条路改成e类型

控制层面流量的入或出接口调用均可

下图是配置成功的结果

 MED

将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中
故利用MED干涉选路,其实就是人为的修改度量值来影响路由器加表
可用于干涉EBGP/IBGP选路
最常用于EBGP选路干涉
常常用于AS1干涉AS2对AS1的选路

配置

以上图作为例子来理解一下AS1干涉AS2对AS1的选路

假设AS1是电信的设备。AS2是联通的设备,真正工程中你只能是一方的人,不能既是电信又是联通的人,假设你现在是电信的人,你要在电信这边来配置,干涉联通对电信的选路

<r1>tracert -a 1.1.1.1 3.3.3.3可以显示你经过的下一跳

去往3.3.3.3是经过了12.1.1.1 还经过了23.1.1.2

<r1>ping -r -a 1.1.1.1 3.3.3.3 可知回包如何回

看后面两行,12.1.1.1    1.1.1.1经过了这两个回来的

修改度量配置

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

[r1-route-policy]if-match ip-prefix med

[r1-route-policy]apply cost 2

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer  12.1.1.2 route-policy med export

BGP选路规则 

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递  权限最高属性    可以干涉EBGP/IBGP选路

优选本地优先级(Local_Preference)最高的路由。
IBGP邻居关系间传递    只能,最常干涉IBGP关系的选路

选手动聚合>自动聚合>network>import>从对等体学到的。

优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

起源类型IGP>EGP>Incomplete。
起源属性 i优于e优于?; 可在控制层面任意接口修改;

对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost

最常用于干涉EBGP选路的属性

  1. 优选从EBGP学来的路由(EBGP>IBGP)。
  2. 优选AS内部IGP的Metric最小的路由。
  3. 优选Cluster_List最短的路由。
  4. 优选Orginator_ID最小的路由。
  5. 优选Router_ID最小的路由器发布的路由。
  6. 优选具有较小IP地址的邻居学来的路由。

BGP的社团属性 

配置及解释

[r1]route-policy com permit node 10

[r1-route-policy]apply community no-advertise  针对所有的流量修改属性

no-advertise  接收到的条目中若存在该社团属性,将不再传递该路由

no-export   接收到的条目若存在该社团属性,将不传递给下一个AS

no-export-subconfed  接收到的条目若存在该社团属性,将不传递给下一个小AS

(注:若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致)

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

注:默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性  下面有如何定义的配置

[r1-bgp]peer 12.1.1.2 advertise-community   逐跳行为,每台设备均需开启传递性

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

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

相关文章

Linux 终端命令之文件浏览(4) head, tail

Linux 文件浏览命令 cat, more, less, head, tail&#xff0c;此五个文件浏览类的命令皆为外部命令。 hannHannYang:~$ which cat /usr/bin/cat hannHannYang:~$ which more /usr/bin/more hannHannYang:~$ which less /usr/bin/less hannHannYang:~$ which head /usr/bin/he…

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的固定帧率(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…

剑指 Offer 32 - II. 从上到下打印二叉树 II

题目描述 从上到下按层打印二叉树&#xff0c;同一层的节点按从左到右的顺序打印&#xff0c;每一层打印到一行。 示例 思路 采用队列存储二叉树&#xff0c;利用BFS算法对树进行从上到下的层次遍历 如何存储每一层的元素&#xff1f;——利用for循环把当前队列的元素存储进…

计算机基础概论

一、计算机的组成 1.计算机组成的五大部件 &#xff08;1&#xff09;运算器&#xff1a;也叫算术逻辑单元&#xff0c;完成对数据的各种常规运算&#xff0c;如加减乘除&#xff0c;也包括逻辑运算&#xff0c;位移&#xff0c;比较等。 &#xff08;2&#xff09;控制器&a…

Linux 共享内存mmap,进程通信

文章目录 前言一、存储映射 I/O二、mmap&#xff0c; munmap三、父子进程间 mmap 通信四、非血缘关系进程间 mmap 提通信五、mmap 匿名映射区总结 前言 进程间通信是操作系统中重要的概念之一&#xff0c;使得不同的进程可以相互交换数据和进行协作。其中&#xff0c;共享内存…

.bit域名调研

.bit域名研究 问题&#xff1a; .bit域名和ENS域名的相同点&#xff1f;不同点&#xff1f;有什么关系&#xff1f; .bit的定义 .bit 是基于区块链的&#xff0c;开源的&#xff0c;跨链去中心化账户系统.bit 提供了以 .bit 为后缀的全局唯一的命名体系&#xff0c;可用于加密…

SpringBoot复习:(36)国际化

一、Resources目录下建立一个目录&#xff08;比如international)来存储资源文件 message.properties 空的&#xff0c;但不能没有 message_zh_CN.properties hello您好message_en_us.properties hellohello world二、自动配置类MessageSourceAutoConfiguration 常量MESSAGE…

学习笔记整理-JS-02-基本类型

文章目录 一、数据类型简介和检测1. JavaScript中两大数据类型 二、基本数据类型1. 数字类型2. 字符串类型3. 布尔类型4. undefined类型5. null 三、数据类型的转换1. 数据类型的转换 四、重点内容 一、数据类型简介和检测 1. JavaScript中两大数据类型 基本数据类型 Number S…

【Linux 网络】 数据链路层协议

数据链路层协议 数据链路层解决的问题以太网协议认识以太网以太网帧格式 认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响ARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 总结 数据链路层解决的问题 IP拥有将数据跨…

认识 spring 中的事务 与 事务的传播机制

前言 本篇介绍spring中事务的实现方式&#xff0c;如何实现声明式事务&#xff0c;对事物进行参数的设置&#xff0c;了解事务的隔离级别和事务的传播机制&#xff1b;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录…

python环境下载安装教程,python运行环境怎么下载

本篇文章给大家谈谈python安装步骤以及环境变量配置&#xff0c;以及下载python需要设置环境变量吗&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…

FastAPI和Flask:构建RESTful API的比较分析

Python 是一种功能强大的编程语言&#xff0c;广泛应用于 Web 开发领域。FastAPI 和 Flask 是 Python Web 开发中最受欢迎的两个框架。本文将对 FastAPI 和 Flask 进行综合对比&#xff0c;探讨它们在语法和表达能力、生态系统和社区支持、性能和扩展性、开发工具和调试支持、安…

LVS集群和nginx负载均衡

目录 1、基于 CentOS 7 构建 LVS-DR 群集。 2、配置nginx负载均衡。 1、基于 CentOS 7 构建 LVS-DR 群集。 1.部署LVS负载调度器 1>安装配置工具 [rootnode6 ~]# yum install -y ipvsadm 2>配置LVS虚拟IP&#xff08;VIP地址&#xff09; [rootnode6 ~]# ifconfig ens…

测试开发探索:“WeTalk“网页聊天室的测试流程与自动化

目录 引言&#xff1a; 测试开发目标&#xff1a; "WeTalk"项目背景 关于登录测试用例的设计 测试开发策略与流程 集成测试&#xff1a;Selenium JUnit 接口测试&#xff1a;Postman 测试用例的设计与实现 自动化测试演示&#xff1a; 用例一&#xff1a;登…

vulnhub靶机Deathnote

难度&#xff1a;easy 下载地址&#xff1a;https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…

CNN(四):ResNet与DenseNet结合--DPN

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 前面实现了ResNet和DenseNet的算法&#xff0c;了解了它们有各自的特点&#xff1a; ResNet&#xff1a;通过建立前面层与后面层之间的“短路…

springboot生成表结构和表数据sql

需求 业务背景是需要某单机程序需要把正在进行的任务导出&#xff0c;然后另一台电脑上单机继续运行&#xff0c;我这里选择的方案是同步SQL形式&#xff0c;并保证ID随机&#xff0c;多个数据库不会重复。 实现 package com.nari.web.controller.demo.controller;import cn…

【大数据】Flink 详解(二):核心篇 Ⅱ

Flink 详解&#xff08;二&#xff09;&#xff1a;核心篇 Ⅱ 22、刚才提到 State&#xff0c;那你简单说一下什么是 State。 在 Flink 中&#xff0c;状态 被称作 state&#xff0c;是用来保存中间的计算结果或者缓存数据。根据状态是否需要保存中间结果&#xff0c;分为 无状…

OpenCV基本操作——图像的基础操作

目录 图像的IO操作读取图像显示图像保存图像 绘制几何图形绘制直线绘制圆形绘制矩形向图像中添加文字效果展示 获取并修改图像中的像素点获取图像的属性图像通道的拆分与合并色彩空间的改变 图像的IO操作 读取图像 cv2.imread()import numpy as np import cv2 imgcv2.imread(…

7-4 求整数均值

本题要求编写程序&#xff0c;计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4个整数&#xff0c;其间以空格分隔。 输出格式: 在一行中按照格式“Sum 和; Average 平均值”顺序输出和与平均值&#xff0c;其中平均值精确到小…