HCIP(7)-边界网关协议BGP基本配置(对等体peer,宣告network,引入import)

边界网关协议(Border Gateway Protocol,BGP)是一种用来在路由选择域之间交换网络层可达性信息(Network Layer Reachability Information,NLRI)的路由选择协议。由于不同的管理机构分别控制着他们各自的路由选择域,因此,路由选择域经常被称为自治系统AS(Autonomous System)
BGP是为了在AS之间更高效率的传递路由和维护大量的路由而产生的一个外部网关协议。
BGP 是一种用于自治系统AS(Autonomous System)之间的动态路由协议。

此次我们通过以下这个简易3个AS的网络来学习BGP基本配置。
net
接口配置

[R1]int lo 0
[R1-LoopBack0]ip ad 1.1.1.1 24
[R1-LoopBack0]int g 0/0/0
[R1-GigabitEthernet0/0/0]ip ad 12.0.0.1 24
[R1-GigabitEthernet0/0/0]q
[R1]ip route-static 0.0.0.0 0 12.0.0.2

[R2]int lo 0
[R2-LoopBack0]ip ad 2.2.2.2 24
[R2-LoopBack0]int g 0/0/0
[R2-GigabitEthernet0/0/0]ip ad 12.0.0.2 24
[R2-GigabitEthernet0/0/0]int g 0/0/1
[R2-GigabitEthernet0/0/1]ip ad 23.0.0.1 24
[R2-GigabitEthernet0/0/1]q
[R2]ospf 2 router-id 2.2.2.2
[R2-ospf-2]a 2
[R2-ospf-2-area-0.0.0.2]network 2.2.2.2 0.0.0.0
[R2-ospf-2-area-0.0.0.2]network 23.0.0.0 0.0.0.255

[R3]int lo 0
[R3-LoopBack0]ip ad 3.3.3.3 2
[R3-LoopBack0]int g 0/0/0
[R3-GigabitEthernet0/0/0]ip ad 23.0.0.2 24
[R3-GigabitEthernet0/0/0]int g 0/0/1
[R3-GigabitEthernet0/0/1]ip ad 34.0.0.1 24
[R3-GigabitEthernet0/0/1]q
[R3]ospf 2 router-id 3.3.3.3
[R3-ospf-2]a 2
[R3-ospf-2-area-0.0.0.2]network 3.3.3.3 0.0.0.0
[R3-ospf-2-area-0.0.0.2]network 23.0.0.0 0.0.0.255
[R3-ospf-2-area-0.0.0.2]network 34.0.0.0 0.0.0.255

[R4]int lo 0
[R4-LoopBack0]ip ad 4.4.4.4 24
[R4-LoopBack0]int g 0/0/0
[R4-GigabitEthernet0/0/0]ip ad 34.0.0.2 24
[R4-GigabitEthernet0/0/0]int g 0/0/1
[R4-GigabitEthernet0/0/1]ip ad 45.0.0.1 24
[R4-GigabitEthernet0/0/1]q
[R4]ospf 2 router-id 4.4.4.4
[R4-ospf-2]a 2
[R4-ospf-2-area-0.0.0.2]net 4.4.4.4 0.0.0.0
[R4-ospf-2-area-0.0.0.2]net 34.0.0.0 0.0.0.255

[R5]int lo 0
[R5-LoopBack0]ip ad 5.5.5.5 24
[R5-LoopBack0]int g 0/0/0
[R5-GigabitEthernet0/0/0]ip ad 45.0.0.2 24

建邻

直连链路

当BGP运行于不同AS之间时,称为EBGP(Externel BGP,外部边界网关协议)

peer 12.0.0.2

  1. 执行命令system-view,进入系统视图。
  2. 执行命令bgp as-number,进入BGP视图。
  3. 执行命令peer { ipv4-address | peerGroupName } as-number as-number,指定对等体的IP地址及其所属的AS编号。

查看配置结果

display bgp peer 查看对等体路由
dis bgp peer

  • Peer :对等体的IP地址
  • V :BGP版本
  • AS:对等体所处的AS号
  • MsgRcvd:从该对等体处接收的BGP数据包
  • MsgSent:发送给该对等体的BGP数据包
  • OutQ:队列,指示剩余未发送BGP数据包的数量
  • Up/Down:建立/断开对等体的时间 State --和该对等体所处的状态
  • PrefRcv:从该对等体出接收到的BGP路由数量
  • PrefRcv:从该对等体出接收到的BGP路由数量

非直连链路

当BGP运行于同一AS内部时,被称为IBGP(Internel BGP,内部边界网关协议)

peer
connect-interface

  1. 执行命令system-view,进入系统视图。
  2. 执行命令bgp as-number,进入BGP视图。
  3. 执行命令peer { ipv4-address | peerGroupName } as-number as-number,指定对等体的IP地址及其所属的AS编号。
    指定对等体所属的AS编号应该和本地AS号相同。
    指定对等体的IP地址可以是以下三种:
    • 直连对等体的接口IP地址。
    • 直连对等体的子接口IP地址。
    • 路由可达的对等体的Loopback接口地址。
  4. 执行命令peer { ipv4-address | peerGroupName } connect-interface interface-type interface-number [ ipv4-source-address ],改变BGP对等体建立的更新源地址(注意,必须保证建立对等体的双方地址匹配)

其它类型EBGP连接

ebgp-max-hop
dis ebgp dis

  • 执行命令peer { ipv6-address | group-name } ebgp-max-hop [ hop-count ],配置EBGP连接的最大跳数。
  • 通常情况下,EBGP对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许它们之间经过多跳建立TCP连接。

通过以上命令,就能够实现R4连接到R5的环回接口并成功建邻,当然,这两个机器之间的基本链路需要先正常连接。

宣告网络

network命令用来配置BGP将IP路由表中的路由以静态方式加入到BGP路由表中,并发布给对等体。
BGP协议自身不能发现路由,所以需要引入其他协议的路由(如IGP或者静态路由等)注入到BGP路由表中,从而将这些路由在AS之内和AS之间传播。在引入路由时,可以针对不同的路由协议来对路由信息进行过滤。当需要将IP路由表中的路由以静态方式加入到BGP路由表中,并发布给对等体时,使用network命令。
使用network命令注入到BGP路由表的路由,其Origin属性为IGP。通过network命令将指定前缀和掩码的一条路由注入到BGP路由表中,该路由是从各路由协议的路由中选出的最优路由。

network { ipv4-address [ mask | mask-length ] | ipv6-address prefix-length } [ route-policy route-policy-name ]

此时我们先在R1路由器的宣告1.1.1.0的网络,并查看BGP的路由表。
routing-table

  • NextHop 路径属性,谁发送的下一跳就是谁,注:对于自身发布的路由信息因为下一跳是自身,所以该字段用0.0.0.0来表示
  • MED 路由度量值
  • LocPrf 本地优先级
  • PrefVal 协议首选值
  • Path/Ogn 显示AS路径号及Origin属性
  • 状态码
    * 代表路由可用,路由可用的条件是该网段信息下一跳属性在本身路
    由表中存在,只有可用的路由信息才会参与路由优选
    > 代表该路由是最优的路由(比较路径属性的结果),只有最优的路
    由信息才会加载到自身的路由表,并且传递因为AS-BY-AS特性的存在,导致IBGP对等体传递路由信息时NextHop–默认不做修改

通过isplay bgp routing-table查看BGP的路由信息可以知道这次宣告成功。

next-hop-local

peer next-hop-local命令用来设置向IBGP对等体(组)通告路由时,把下一跳属性设为自身的IP地址。

先查看一下R2和R3的BGP路由表。
dis bgp routing
routing-table
查看R2和R3路由器发现,R2通过EBGP学习的路由能够正常PING通,而R3通过IBGP学习到的路由,下一跳是12.0.0.1无法正常连接到该IP,这是EBGP邻居发来的路由的下一跳都是其EBGP邻居的Peer地址,本端对等体所属AS域内的IBGP邻居收到这样的路由后,由于下一跳不可达导致路由无法活跃。

因此,需要在R2上对IBGP邻居配置peer next-hop-local命令,使得发给IBGP邻居的路由的下一跳是其自身的地址,IBGP邻居收到这样的路由后发现下一跳可达,路由即为活跃路由*。
next-hop-local
routing-table
routing-table
routing-table
routing-table

路由引入

在同一个网络拓扑结构中,如果存在多种不同的路由协议,由于不同路由协议的机理各有不同,对路由的处理也不相同,这就在网络中造成了路由信息的隔离,在路由协议的边界设备上,将某种路由协议的路由信息引入另一种路由协议中,这个操作被称为路由引入(Route Importation)或者路由重分发(Route Redistribution)。

import-route命令用来配置BGP引入其他路由协议和路由类型的路由信息。
Import方式是按协议类型,将RIP路由、OSPF路由、ISIS路由等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。

最后,我们再把OSPF中的路由引入到BGP的路由表中,完成全路通讯。
import

到此,通过基本的几个命令我们已经完成网络的搭建,让AS之间能够正常通讯
组建的BGP网络是实现了网络中不同AS之间的通信。
总得来说,配置BGP的基本功能是组建BGP网络最基本的配置过程,主要包括三部分:

  • 创建BGP进程:只有先创建BGP进程,才能开始配置BGP的所有特性。
  • 建立BGP对等体关系:只有成功建立了BGP对等体关系,设备之间才能交换BGP消息。
  • 引入路由:BGP协议本身不发现路由,只有引入其他协议的路由才能产生BGP路由。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于python的机器学习(二)—— 使用Scikit-learn库

目录 一、样本及样本划分 1.1 划分样本的方法 1.1.1 train_test_split()函数 1.1.2 时间序列划分 1.1.3 交叉验证 二、导入或创建数据集 2.1 导入Sklearn自带的样本数据集 2.2 利用Sklearn生成随机的数据集 2.3 读入自己创建的数据集 2.3.1 用Python直接读取文本文件…

Webpack5常用配置

1、序言 Webpack属于构建工具,可以将开发者代码转化成浏览器能识别的代码,让开发者专注代码实现,不用过多关注浏览器兼容性问题。 Webpack常见功能: 模块打包:Webpack 可以将项目中的所有模块(包括 JavaScr…

DFA算法实现敏感词过滤

DFA算法实现敏感词过滤 需求:检测一段文本中是否含有敏感词。 比如检测一段文本中是否含有:“滚蛋”,“滚蛋吧你”,“有病”, 可使用的方法有: 遍历敏感词,判断文本中是否含有这个敏感词。 …

索引基础篇

前言 通过本篇博客的学习,我希望大家可以了解到 “索引” 是为了提高数据的查询效率。 索引的介绍 索引是为了提高查询数据效率的数据结构 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着…

【设计模式系列】外观模式(十四)

一、什么是外观模式 外观模式(Facade Pattern)是一种结构型设计模式,其核心目的是为一个复杂的子系统提供一个简化的接口。这种模式通过定义一个外观类来封装子系统内复杂的操作,隐藏系统内部的复杂性,并向客户端提供…

哪些因素会影响 DC/DC 转换电路快速测试的性能?-纳米软件

DC/DC 转换电路在现代电子设备中起着至关重要的作用,其性能的快速准确测试对于确保电子系统的可靠性和稳定性至关重要。然而,有许多因素会影响 DC/DC 转换电路快速测试的性能。 电路复杂性和参数多样性 单片 DC/DC 转换器由于功能模块和参数复杂性&…

从0开始深度学习(25)——多输入多输出通道

之前我们都只研究了一个通道的情况(二值图、灰度图),但实际情况中很多是彩色图像,即有标准的RGB三通道图片,本节将更深入地研究具有多输入和多输出通道的卷积核。 1 多输入通道 当输入包含多个通道时,需要…

2025天津市考8日报名,建议收藏好报名流程

天津市2025年招考2043名公务员公告 35周岁以下(1988年11月至2006年11月期间出生),2025年应届硕士、博士研究生报考的,年龄可放宽到40周岁(1983年11月以后出生); 报名时间:2024年11月…

25中海油笔试测评春招秋招校招暑期实习社招笔试入职测评行测题型微测网题型分享

中海油笔试一般采用线上机考的形式。考试时间为 120 分钟,满分 100 分。笔试内容主要包括思想素质测评和通用能力测评两个科目。以下是具体介绍: 1. 思想素质测评: ✅价值观:考察考生对工作、职业、企业等方面的价值观念和态度&…

使用Docker Compose构建多容器应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Docker Compose构建多容器应用 引言 Docker Compose 简介 安装 Docker Compose 创建基本配置 运行多容器应用 查看服务状态 …

【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)

本篇文章分享关于如何使用STM32单片机对彩色摄像头(OV7725/OV2604)采集的图像数据进行分析处理,最后实现颜色的识别和检测。 目录 一、什么是颜色识别 1、图像采集识别的一些基本概念 1. 像素(Pixel) 2. 分辨率&am…

精心整理教育研究专题数据资源大全-最新出炉_附下载链接

教育研究专题数据资源大全V1.0 下载链接-点它👉👉👉:教育研究专题数据资源大全-最新出炉.zip 资源介绍 一、中国教育统计年鉴面板数据 简介:《中国教育统计年鉴》是由教育部发展规划司根据全国各省、自治区、直辖市…

【论文速读】| PathSeeker:使用基于强化学习的越狱攻击方法探索大语言模型的安全漏洞

基本信息 原文标题: PathSeeker: Exploring LLM Security Vulnerabilities with a Reinforcement Learning-Based Jailbreak Approach 原文作者: Zhihao Lin, Wei Ma, Mingyi Zhou, Yanjie Zhao, Haoyu Wang, Yang Liu, Jun Wang, Li Li 作者单位: Beihang University, Nany…

越权访问漏洞

V2Board Admin.php 越权访问漏洞 ## 漏洞描述 V2board面板 Admin.php 存在越权访问漏洞,由于部分鉴权代码于v1.6.1版本进行了修改,鉴权方式变为从Redis中获取缓存判定是否存在可以调用… V2Board Admin.php 越权访问漏洞 漏洞描述 V2board面板 Admin.ph…

27.旅游推荐管理系统(基于springboot和vue)

目录 1.系统的受众说明 2. 系统需求分析 2.1 任务概述 2.2 功能性需求 2.3 非功能性需求 2.3.1正确性需求 2.3.2安全性需求 2.3.3界面需求 2.3.4时间特殊性需求 2.3.5稳定性需求 2.3.6故障处理能力需求 2.4 开发技术简介 2.4.1 开发工具简介 2.4.2 开发技术…

CCS下载安装(以12.3.0版本为例)

Code Composer Studio 是一个集成开发环境 (IDE),简称CCS软件。支持 TI 的微控制器和嵌入式处理器产品的开发。Code Composer Studio 包含一整套用于开发和调试嵌入式应用程序的工具。 CCS9.3.0及以上版本不需要License文件,但是CCS旧版本比如CCS5.5.0需…

基于单片机的变频空调系统设计(论文+源码)

1系统总体方案设计 本次基于单片机的变频空调系统设计,选用STC89C52单片机作为系统的主控核心,结合DHT11温湿度传感器实现家居环境中温湿度数据的检测,并设有自动和手动两种模式,在自动模式下,系统会根据按键设定的温…

Visual Studio Code从安装到正常使用

Visual Studio Code的汉化 下载的Visual Studio Code的话可以去应用商店也可以去官网下载。 Visual Studio Code只是一个编译器,不具备编译器功能。因此需要下载一个编译器MinGW MinGW的安装 官网链接MinGW官网链接 一步到位的链接 添加环境变量 进入cmd界面…

图神经网络初步实验

实验复现来源 https://zhuanlan.zhihu.com/p/603486955 该文章主要解决问题: 1.加深对图神经网络数据集的理解 2.加深对图神经网络模型中喂数据中维度变化的理解 原理问题在另一篇文章分析: 介绍数据集:cora数据集 其中的主要内容表示为…

雪花算法生成的ID在返回给前端之后和生成的不一样,到底是什么原因?

一、背景: 最近在做项目的时候发现用雪花算法生成的id传给前端以后跟生成的不一样,就纳闷,在想为什么会出现这样的问题? 二、问题分析: 最开始以为是序列化的问题导致的仔细对比以后发现前端是后几位不一样都是0&…