HCIP—BGP邻居关系建立实验

BGP的邻居称为:IBGP对等体 EBGP对等体

1.EBGP对等体关系:

位于 不同自治系统 的BGP路由器之间的BGP对等体关系

EBGP对等体一般使用 直连建立 对等体关系,EBGP邻居之间的报文 TTL中值设置为1

两台路由器之间建立EBGP对等体关系,满足如下关系: 两个路由器属于不同AS 。在配置时,peer命令所指的对等体的IP地址可达, TCP连接必须正常建立

2.IBGP对等体关系:

位于 相同自治系统 的BGP路由器之间对等体关系

IBGP对等体一般使用 非自连建邻 。IBGP邻居建邻之间的报文中 TTL值被设置为255

在BGP对等体中,常常使用环回接口地址作为源目IP地址,原因环回接口稳定

并且可以借助AS内部的IGP的冗余拓扑来保证可靠性

实验拓扑如图所示,R1与R2属于同一个运营商网,AS编号为100,R1与R2之间的邻居关系为IBGP邻居关系。R3属于另一个运营商网络,AS编号为200,R3与R2之间的邻居关系为EBGP邻居关系。本实验中,路由器将分别采用物理接口和Loopback接口来进行IBGP和EBGP邻居关系的建立。

一:进行基础的IP地址配置,保证直连网段的ping通

二:R1和R2配置IBGP邻居

1.使用物理接口配置

R1和R2之间使用物理接口来配置IBGP邻居关系。R1和R2之间部署两条链路,其中一条物理出现故障时,另一条链路可以提供连通性

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.12.2 as-number 100
[R1-bgp]peer 10.0.21.2 as-number 10

[R2]bgp 100
[R2-bgp]router-id 10.0.2.2 
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.21.1 as-number 100

配置完成后在R2上使用dis bgp peer命令,查看BGP邻居关系

R2现在有两个BGP的邻居,分别为R1的两个接口IP地址10.0.12.1和10.0.21.1 ,AS号都为100,与R2的AS号相同,当前的邻居状态为Established,表示邻居关系建立成功。

R1将Loopback 0接口IP地址通告在BGP进程中
[R1]bgp 100  
[R1-bgp]network 10.0.1.1 32

配置完成后在R2上查看BGP路由表

R2的BGP路由表中去往10.0.1.1/32的路由,可以通过下一跳R1的两个接口的IP地址10.0.12.1和10.0.21.1,实现BGP路由冗余。

2.使用LoopBack 0接口进行配置

        由于BGP是运行在TCP之上的,可以让R1的Loopback 0接口和R2的Loopback 0接口建立会话,并使用Loopback 0接口IP建立BGP邻居关系,则R1和R2之间只维护一个BGP邻居关系。当R1和R2之间的一条链路出现故障时,TCP直接通过另外一条物理链路继续维持会话关系,这效果比直接使用物理接口更具优势。

        R1的Loopback 0接口和R2的Loopback 0接口建立会话前,双方配置静态路由到达对方的Loopback 0接口。

[R1]ip route-static 10.0.2.2 32 10.0.12.2
[R1]ip route-static 10.0.2.2 32 10.0.21.2

[R2]ip route-static 10.0.1.1 32 10.0.12.1
[R2]ip route-static 10.0.1.1 32 10.0.21.1

删除之前使用物理接口配置IBGP邻居关系的命令,并使用Loopback 0接口重新建立IBGP邻居关系

[R1-bgp]undo  peer 10.0.12.2
[R1-bgp]undo  peer 10.0.21.2#删除使用物理接口配置IBGP邻居关系的命令
[R1-bgp]peer 10.0.2.2 as-number 100
#使用Loopback 0接口重新建立IBGP邻居关系


[R2-bgp]undo peer 10.0.12.1
[R2-bgp]undo peer 10.0.21.1
[R2-bgp]peer 10.0.1.1 as-number 100

R1使用dis bgp peer查看BGP邻居关系

        发现R1和R2的邻居关系为Active,说明R1和R2之间尚未成功建立IBGP邻居关系。由于BGP邻居在检测地址时,双方的目标IP地址都与对方的BGP源IP地址相同,才可以正常建立邻居。

        默认情况下BGP前往邻居路由器的出接口作为源IP地址,R1指定邻居地址10.0.2.2作为目的IP地址,R1出接口10.0.12.1源IP地址,。R2指定邻居地址10.0.1.1作为目的IP地址,R2出接口IP地址10.0.12.2作为源IP地址。因为双方的出接口IP地址和目的IP地址都不相同,故无法正常建立邻居。

        为了使数据包的目标IP与对方的BGP源地址相同,所以邻居也要将BGP源地址更改为自己的loopback接口地址。 由于R1发出的数据包目标IP10.0.2.2与R2的BGP源地址10.0.2.2完全相同,所以最终能够正常建立BGP邻居。R1在检测地址时,R2的目标IP10.0.1.1与R1的源10.0.1.1也完全相同。

R1使用命令peer 10.0.2.2 connect-interface LoopBack 0 强制指定LoopBack 0接口地址作为发送BGP报文的源IP地址,R2也一样

[R1-bgp]peer 10.0.2.2 connect-interface LoopBack 0

[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0

R2使用dis bgp peer查看BGP邻居关系

当前的邻居状态为Established,表示邻居关系建立成功。

R2使用命令dis ip routing-table查看路表。 

R2去往10.0.1.1/32的路由有两条,下一跳10.0.12.1和10.0.21.1,其中一条链路重新问题时,不会影响另一条链路。R1和R2的BGP邻居关系也不会有影响。

三:配置EBGP邻居

配置BGP邻居关系时使用物理接口建立,容易产生两个TCP会话和两个BGP邻居关系,当有较多设备时,这样配置容易导致网络不稳定,消耗设备资源。

        我们以R2的LoopBack 0和R3的LoopBack 0接口来配置EBGP邻居关系,先R2和R3上配置到达对方的LoopBack 0接口的静态路由。

[R2]ip route-static 10.0.3.0 255.255.255.0 10.0.23.3
[R2]ip route-static 10.0.3.0 255.255.255.0 10.0.32.3

[R3]ip route-static 10.0.2.0 255.255.255.0 10.0.23.2
[R3]ip route-static 10.0.2.0 255.255.255.0 10.0.32.2

R2和R3上使用LoopBack 0接口建立EBGP邻居关系,使用命令connect-interface LoopBack 0 强制指定LoopBack 0接口地址作为发送BGP报文的源IP地址

[R2]bgp 100
[R2-bgp]peer 10.0.3.3 as-number 200
[R2-bgp]peer 10.0.3.3 connect-interface LoopBack 0

[R3]BGP 200
[R3-bgp]router-id 10.0.3.3 
[R3-bgp]peer 10.0.2.2 as-number 100
[R3-bgp]peer 10.0.2.2 connect-interface LoopBack 0

R3查看BGP邻居关系

当前的邻居状态为idle,表示邻居关系建立不成功。

        默认情况下,EBGP邻居之间发送BGP报文时,TTL值默认为1,则EBGP要求邻居关系之间必须使用物理接口必须直连。我们使用的地址不是直连地址,那么这个时候我们就需要开启EBGP多跳,否则将无法正常建立BGP邻居。可以通过修改TTL值,使报文TTL值大于1。

R2和R3上使用命令ebgp-max-hop 2,配置TTL值为2

[R2-bgp]peer 10.0.3.3 ebgp-max-hop 2

[R3-bgp]peer 10.0.2.2 ebgp-max-hop 2

R3查看BGP邻居关系

当前的邻居状态为Established,表示EBGP邻居关系建立成功。

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

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

相关文章

Python Web开发记录 Day12:Django part6 用户登录

名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡《竹枝词》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、登录界面2、用户名密码校验3、cookie与session配置①cookie与session②配置…

【机器学习-02】矩阵基础运算---numpy操作

在机器学习-01中,我们介绍了关于机器学习的一般建模流程,并且在基本没有数学公式和代码的情况下,简单介绍了关于线性回归的一般实现形式。不过这只是在初学阶段、为了不增加基础概念理解难度所采取的方法,但所有的技术最终都是为了…

【01】htmlcssgit

01-前端干货-html&css 防脱发神器 一图胜千言 使用border-box控制尺寸更加直观,因此,很多网站都会加入下面的代码 * {margin: 0;padding: 0;box-sizing: border-box; }颜色的 alpha 通道 颜色的 alpha 通道标识了色彩的透明度,它是一个 0~1 之间的取值,0 标识完全…

C语言之快速排序

目录 一 简介 二 代码实现 快速排序基本原理: C语言实现快速排序的核心函数: 三 时空复杂度 A.时间复杂度 B.空间复杂度 C.总结: 一 简介 快速排序是一种高效的、基于分治策略的比较排序算法,由英国计算机科学家C.A.R. H…

【Machine Learning】Suitable Learning Rate in Machine Learning

一、The cases of different learning rates: In the gradient descent algorithm model: is the learning rate of the demand, how to determine the learning rate, and what impact does it have if it is too large or too small? We will analyze it through the follow…

HCIP—OSPF课后练习一

本实验模拟了一个企业网络场景,R1、R2、R3为公司总部网络的路由器,R4、R5分别为企业分支机构1和分支机构2的路由器,并且都采用双上行方式与企业总部相连。整个网络都运行OSPF协议,R1、R2、R3之间的链路位于区域0,R4与R…

Redis和Mysql的数据一致性问题

在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以我们都会用Redis来做数据的缓存,削减对数据库的请求的频率。 但是,Mysql和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。 1、导…

并查集Disjoint Set

并查集的概念 并查集是一种简单的集合表示,它支持以下三种操作 1. make_set(x),建立一个新集合,唯一的元素是x 2. find_set(x),返回一个指针,该指针指向包含x的唯一集合的代表,也就是x的根节点 3. union_…

Echo框架:高性能的Golang Web框架

Echo框架:高性能的Golang Web框架 在Golang的Web开发领域,选择一个适合的框架是构建高性能和可扩展应用程序的关键。Echo是一个备受推崇的Golang Web框架,以其简洁高效和强大功能而广受欢迎。本文将介绍Echo框架的基本特点、使用方式及其优势…

学习shell脚本

文章目录 什么是shell脚本为什么要学习shell脚本第一个脚本编写与执行 简单的shell脚本练习简单案例脚本的执行方式差异(source、sh script、./script) 如何使用shell脚本的判断式利用test命令的测试功能利用判断符号[ ]shell脚本的默认变量($0、$1...) shell脚本的条件判断式利…

MySQL安装(Mac系统)

首先要删除本机原有的mysql 停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop不放心可以使用以下命令查询并杀死进程 ps aux | grep mysqld sudo kill <PID>再次尝试停止服务 sudo /usr/local/mysql/support-files/mysql.server stop卸载MySQL&…

多租户平台前端存储结构的选择

下图来源于cookie、localStorage 和 sessionStorage的区别及应用实例 既然localstorage无有效期&#xff0c;关闭浏览器还存在&#xff0c;那么用来存储用户的身份信息并不是太合适&#xff0c;先看一下B站中localstorage都存在了啥&#xff0c;原来把我搜索的记录都存在了下来…

第十二届蓝桥杯EDA省赛真题分析

前言&#xff1a; 第十二届蓝桥杯EDA比赛用的是AD软件&#xff0c;从第十四届起都是使用嘉立创EDA专业版&#xff0c;所以在这里我用嘉立创EDA专业版实现题目要求。 一、省赛第一套真题题目 主观题整套题目如下&#xff1a; 试题一&#xff1a;库文件设计&#xff08;5分&am…

【类脑智能】脑网络通信模型分类及量化指标(附思维导图)

脑网络通信模型分类及量化指标(附思维导图) 参考论文&#xff1a;Brain network communication_ concepts, models and applications 概念 脑网络通信模型是一种使用图论和网络科学概念来描述和量化大脑结构中信息传递的模型。这种模型可以帮助研究人员理解神经信号在大脑内…

P1881 绳子对折

题目描述 FJ 有一个长度为 L&#xff08;1≤L≤10,000&#xff09;的绳子。这个绳子上有 N&#xff08;1≤N≤100&#xff09;个结&#xff0c;包括两个端点。FJ 想将绳子对折&#xff0c;并使较短一边的绳子上的结与较长一边绳子上的结完全重合&#xff0c;如图所示&#xff…

知名Web3投资基金a16z合伙人Jane Lippencott确认出席Hack.Summit() 2024区块链开发者大会

在区块链技术的风起云涌和Web3生态的蓬勃发展中&#xff0c;知名a16z Crypto的合伙人Jane Lippencott已确认出席即将于2024年4月9日至10日在香港数码港举行的Hack.Summit() 2024区块链开发者大会。作为亚洲首次举办的Hack.Summit()&#xff0c;此次大会将为全球区块链开发者及业…

本地用AIGC生成图像与视频

最近AI界最火的话题&#xff0c;当属Sora了。遗憾的是&#xff0c;Sora目前还没开源或提供模型下载&#xff0c;所以没法在本地跑起来。但是&#xff0c;业界有一些开源的图像与视频生成模型。虽然效果上还没那么惊艳&#xff0c;但还是值得我们体验与学习下的。 Stable Diffu…

深度学习-基于机器学习的情绪分析研究

概要 互联网技术的迅速发展使得社交平台逐渐成为热点事件中社会情感的枢纽。社会热点事件的舆论监管的其中一个重要环节就是能够准确分析民众的社会情绪。本文旨在探索可以基于文本大数据彻底分析民众对热点事件的社会情绪的模型和方法。先是从社交平台上借助文本大数据、对数据…

计算机网络 |内网穿透

其实内网穿透&#xff0c;也挺好玩的&#xff0c;如果在大学的时候&#xff0c;那个时候讲计算机网络的老师能横向延展&#xff0c;估计课也会更有趣不少&#xff0c;本来计算机网络这门课就是计算机课程中可玩性最搞的。 只能说&#xff0c;怪可惜的 回到正题&#xff0c;内网…

【Stable Diffusion】入门-04:不同模型分类+代表作品+常用下载网站+使用技巧

目录 1 模型简介2 模型文件构成和加载位置2.1 存储位置2.2 加载模型 3 模型下载渠道3.1 HuggingFace3.2 Civitai 4 模型分类4.1 二次元模型4.2 写实模型4.3 2.5D模型 1 模型简介 拿图片给模型训练的这个过程&#xff0c;通常被叫做“喂图”。模型学习的内容不仅包括对具体事物…