BGP多跳及BGP4+

一、知识补充

1、BGP4+

  • 传统BGP-4只管理IPV4路由信息,对于使用其它网络程协议 (若IPV6等)的应用末给予支持。
  • IETF对BGP-4扩展,提出BGP4+,可以提供对IPV6、IPX和MPLS VPN的支持 (简单说: 扩展IPV6协议栈支持)。
    在这里插入图片描述

2、全互联

在上一篇博文中提到过水平分割原则,解决办法是将边界路由器配置为路由反射器,或者BGP联邦,此处使用的是全互联,也就AS内部实现路由器的全互联,相互建立邻居,这样可以避免水平分割。

3、EBGP多跳

通常情况下,EBPG邻居之间必须具有直连的物理链路,EBGP邻居关系也将基于直连接口建立,如果不满足这一要求,则必须使用ebgp-multihop 命令允许它们之间经过多跳建立TCP连接。ebgp-multihop 命令用来配置允许BGP同非直连网络上的对等体建立EBGP连接,并同时可以指定允许的最大跳数。
在这里插入图片描述

如上图所示,两个路由器之间要基于Loopback地址建立EBGP邻居关系。这种情况属于EBGP邻居之间不基于直连接口建立邻居关系的场景,必须配置多跳。

二、配置需求及拓扑图

  1. IPV4:
    1. EBGP
      • R1与R2是EBGP邻居关系,使用物理直连接口建立邻居
      • R4与R5是EBGP邻居关系,使用Loopback0建立邻居
    2. IBGP
      • R2–R3,R3–R4,R2–R4建立IBGP邻居关系
      • 使用Loopback0来建立邻居(底层协议—OSPF)
  2. IPV6:
    1. R1--R2建立IPV6的EBGP邻居关系
      在这里插入图片描述

三、配置步骤

1、IPv6地址的配置

R1

R1(config)#int g0/0                             
R1(config-if-GigabitEthernet 0/0)#ip add 10.1.12.1 24
R1(config-if-GigabitEthernet 0/0)#ipv6 enable 
R1(config-if-GigabitEthernet 0/0)#ipv6 address 12::1/64
R1(config-if-GigabitEthernet 0/0)#exit

验证–IPv6配置信息

在这里插入图片描述

R2

R2(config)#int g0/0
R2(config-if-GigabitEthernet 0/0)#no switchport 
R2(config-if-GigabitEthernet 0/0)#ip add 10.1.12.2 24
R2(config-if-GigabitEthernet 0/0)#ipv6 enable 
R2(config-if-GigabitEthernet 0/0)#ipv6 address 12::2/64 
R2(config-if-GigabitEthernet 0/0)#exit

验证–IPv6配置信息
在这里插入图片描述

2、OSPF配置

R2

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
Change router-id and update OSPF process! [yes/no]:y
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#network 10.1.23.0 0.0.0.255 area 0
R2(config-router)#exit

R3

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
Change router-id and update OSPF process! [yes/no]:y 
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#network 10.1.23.0 0.0.0.255 area 0
R3(config-router)#network 10.1.34.0 0.0.0.255 area 0
R3(config-router)#exit

R4

R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
Change router-id and update OSPF process! [yes/no]:y 
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0
R4(config-router)#network 10.1.34.0 0.0.0.255 area 0
R4(config-router)#exit

验证–邻居关系的建立
在这里插入图片描述

3、R1和R2使用直连接口配置EBGP

R1

R1(config)#router bgp 10
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#neighbor 10.1.12.2 remote-as 234
R1(config-router)#exit

R2

R2(config)#router bgp 234
R2(config-router)#bgp router-id 2.2.2.2
R2(config-router)#neighbor 10.1.12.1 remote-as 10
R2(config-router)#exit

验证–EBGP邻居的建立
在这里插入图片描述

4、R1、R3、R4建立全互联IBGP

使用环回接口建立邻居,需要修改更新源。默认更新源是物理口,需要修改为自己的环回口。

R2

R2(config)#router bgp 234
R2(config-router)#neighbor 3.3.3.3 remote-as 234
R2(config-router)#neighbor 3.3.3.3 update-source loopback 0
R2(config-router)#neighbor 4.4.4.4 remote-as 234           
R2(config-router)#neighbor 4.4.4.4 update-source loopback 0
R2(config-router)#exit

R3

R3(config)#router bgp 234
R3(config-router)#bgp router-id 3.3.3.3
R3(config-router)#neighbor 2.2.2.2 remote-as 234
R3(config-router)#neighbor 2.2.2.2 update-source loopback 0
R3(config-router)#neighbor 4.4.4.4 remote-as 234
R3(config-router)#neighbor 4.4.4.4 update-source loopback 0
R3(config-router)#exit

R4

R4(config)#router bgp 234
R4(config-router)#bgp
R4(config-router)#bgp router
R4(config-router)#bgp router-id 4.4.4.4
R4(config-router)#neighbor 2.2.2.2 remote-as 234
R4(config-router)#neighbor 2.2.2.2 update-source loopback 0
R4(config-router)#neighbor 3.3.3.3 remote-as 234           
R4(config-router)#neighbor 3.3.3.3 update-source loopback 0
R4(config-router)#exit

验证–R3查看BGP邻居状态
在这里插入图片描述
在这里插入图片描述

5、R4、R5配置静态路由,使Loopback地址可达

R4

R4(config)#ip route 5.5.5.5 255.255.255 10.1.45.2

R5

R5(config)#ip route 4.4.4.4 255.255.255 10.1.45.1

验证–连通性测试
在这里插入图片描述

5、R4、R5配置EBGP

R4

R4(config)#router bgp 234
R4(config-router)#neighbor 5.5.5.5 remote-as 50 
R4(config-router)#neighbor 5.5.5.5 update-source loopback 0
R4(config-router)#exit

R5

R5(config)#router bgp 50
R5(config-router)#bgp router-id 5.5.5.5
R5(config-router)#neighbor 4.4.4.4 remote-as 234
R5(config-router)#neighbor 4.4.4.4 update-source loopback 0
R5(config-router)#exit

验证–R5查看BGP对等体的建立
在这里插入图片描述

可以看到状态为Idel,建立失败。建立EBGP时因为EBGP只传一跳,所以在建立EBGP邻居时,需要修改EBGP多跳的跳数为2以上(自己环回口到对端换回口是2跳,默认为1跳),需要添加多跳属性。

R4

R4(config)#router bgp 234
R4(config-router)#neighbor 5.5.5.5 ebgp-multihop 2
R4(config-router)#exit

R5

R5(config)#router bgp 50
R5(config-router)#neighbor 4.4.4.4 ebgp-multihop 2
R5(config-router)#exit

验证–R5查看邻居关系

在这里插入图片描述

6、BGP4+

R1

R1(config)#router bgp 10
R1(config-router)#neighbor 12::2 remote-as 234
R1(config-router)#address-family ipv6
R1(config-router-af)#neighbor 12::2 activate 
R1(config-router-af)#exit

R2

R2(config)#router bgp 234
R2(config-router)#neighbor 12::1 remote-as 10
R2(config-router)#address-family ipv6
R2(config-router-af)#neighbor 12::1 activate 
R2(config-router-af)#exit
R2(config-router)#exit

验证–R2查看IPv6邻居
在这里插入图片描述

7、配置全网互通

BGP路由只是负责邻居建立,不负责路由转发

查看R1的BGP路由,发现为空,需要在R1中引入直连路由
在这里插入图片描述

R1(config)#router bgp 10
R1(config-router)#redistribute connected    引入直连路由
R1(config-router)#exit

查看R3的路由表,可以发现在AS234内部是依靠OSPF转发路由
在这里插入图片描述

如果要学习到R1的路由,则需要在R2上OSPF引入BGP路由

R2(config)#router ospf 1
R2(config-router)#redistribute bgp subnets 
R2(config-router)#exit

可以看到学习到了R1的loopback
在这里插入图片描述

查看R1的路由表,发现学习不到AS234的路由明细,在AS234内部跑的OSPF协议传递路由,而AS10和AS234之间跑的BGP,所以看不到OSPF路由,需要在R2的BGP引入OSPF

R2(config)#router bgp 234
R2(config-router)#redistribute ospf 1
R2(config-router)#exit

查看R1的路由表,已经学习到AS234的所有路由
在这里插入图片描述

在R3上查看路由表,发现缺少R5的相关路由
在这里插入图片描述

R4的OSPF引入静态路由

R4(config)#router ospf 1
R4(config-router)#redistribute static subnets
R4(config-router)#exit

查看R3的IP路由表

在这里插入图片描述

查看R1的IP路由表,发现缺少AS50的路由;查看R5的一样是缺少对端EBGP的路由

根据BGP默认规则,EBGP传递路由时下一跳会改变,但IBGP在传递路由时不会改变下一跳地址

在这里插入图片描述
在这里插入图片描述

自治系统边界路由器(ASBR)修改路由的下一跳属性

R2(config)#router bgp 234
R2(config-router)#neighbor 3.3.3.3 next-hop-self 
R2(config-router)#neighbor 4.4.4.4 next-hop-self 
R2(config-router)#exit

查看R5的路由表,可以发现学习到AS10的路由信息
在这里插入图片描述

因为在R1上跑的是BGP路由,所以需要在R4上引入静态路由

R4(config)#router bgp 234
R4(config-router)#redistribute static 
R4(config-router)#exit

在R2上查看BGP路由表,可以看到5.5.5.5/32路由,但不是最佳路由,所以没出现在IP路由表中
在这里插入图片描述

同样在R4上修改下一跳属性

R4(config)#router bgp 234
R4(config-router)#neighbor 2.2.2.2 next-hop-self 
R4(config-router)#neighbor 3.3.3.3 next-hop-self 
R4(config-router)#exit

在R1上查看IP路由表
在这里插入图片描述

学不到10.1.45.0是因为没有宣告直连路由

R4(config)#router bgp 234
R4(config-router)#redistribute connected 
R4(config-router)#exit

ok 学习成功
在这里插入图片描述

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

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

相关文章

用C++语言编写的图书馆系统代码,包括图书录入、查询、插入、修改、删除和添加功能

#include <iostream> #include <string> #include <vector> using namespace std; // 定义图书结构体 struct Book { int id; // 图书编号 string name; // 图书名称 int quality; // 图书数量 }; // 定义图书馆类 class Library { private: …

leetcode - 矩阵区域和

1314. 矩阵区域和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c …

备忘录模式 rust和java的实现

文章目录 备忘录模式介绍实现javarustrust仓库 备忘录模式 备忘录&#xff08;Memento&#xff09;模式的定义&#xff1a;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff0c;以便以后当需要时能将该对象恢复到原先…

【5G PHY】5G NR 如何计算资源块的数量?

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

严蔚敏数据结构p17(2.19)——p18(2.24) (c语言代码实现)

目录 2.19已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于 mink 且小于 maxk 的元素(若表中存在这样的元素&#xff09;同时释放被删结点空间,并分析你的算法的时间复杂度(注意:mink 和 maxk 是给定的个参变量,它们的值可以和表…

Hdoop学习笔记(HDP)-Part.12 安装HDFS

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

day4 链表(2)

Day4 2023.12.3&#xff08;昨天有事没写&#xff0c;按训练营时间&#xff0c;周天休息&#xff0c;我把第三天的补上&#xff09; 代码随想录 1. 24两两交换链表中的节点 对于交换节点&#xff0c;不仅仅是值得交换&#xff0c;不然就很简单了&#xff0c;我们要交换的是节点…

继阿里云、滴滴、语雀后,腾讯视频也出现重大系统故障

昨晚&#xff0c;许多网友报告称腾讯视频出现了网络故障&#xff0c;具体表现为首页无法加载内容、VIP 用户无法观看会员视频等问题。 针对这一问题&#xff0c;腾讯视频回应称&#xff1a;目前腾讯视频遇到了暂时的技术问题&#xff0c;正在紧急修复中&#xff0c;各项功能正在…

在项目根目录未找到 app.json

这个问题就是我们在编译后的app.json文件找不到&#xff0c;路径出现了问题 首先看dist下我们该文件的路径 所以我们需要将该路径配置到我们project.config.json文件中去 在这里新加下面这行代码就可以了&#xff0c; "miniprogramRoot": "dist/dev/mp-weixi…

C语言扫雷游戏

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、扫雷游戏的分析和设计1.1扫雷游戏的功能说明1.2数据结构的分析1.3文件结构设计 二、扫雷游戏的代码实现总结 前言 详细介绍扫雷游戏的思路和实现过程。 一…

虚拟化逻辑架构:OVS 交换机与端口管理

目录 一、实验 1.OVS 交换机管理 2.OVS端口管理 二、问题 1.KVM下的br0和virbr0有何区别 一、实验 1.OVS 交换机管理 &#xff08;1&#xff09;查看网络信息 lo:本地回环接口 enp0s17 : ubuntu系统识别到的物理网卡 virbr0/br1/virbr0-nic : linux bridge 网桥相关…

基于springboot + vue体育馆使用预约平台

qq&#xff08;2829419543&#xff09;获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;springboot 前端&#xff1a;采用vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xf…

自动提交日志脚本(6)浏览器抓包日志提交的数据

主要完成 do_logigdo_write_log 通过python的requests库post数据上传&#xff0c;因为是公司的系统我就展示抓包了&#xff0c;不展示怎么写了。 这边用日志暂存的页面做展示。 步骤 打开对应的页面&#xff0c;再打开浏览器的开发人员工具【一般是按f12】点击暂存按钮&…

【算法思考记录】力扣2134. 最少交换次数来组合所有的 1 II【Python3,滑动窗口】

最少交换次数来组合所有的 1 II - 解题思路与代码分析 题目描述 本题目要求我们找到在一个环形二进制数组中&#xff0c;通过最少的交换次数把所有的 1 聚集在一起的方法。数组的环形特性意味着第一个元素和最后一个元素是相邻的。我们需要考虑数组的这种特殊结构来找到最优解…

【MySQL的基本命令{DML 和 DDL}】

MySQL的基本命令 {DML 和 DDL} MySQL的基本命令展示所有数据库展示某个数据库中所有的表切换到某个数据库查看当前在哪个数据库查询一张表的全部数据新建一个数据库新建一张表插入一条数据删除一个表删除一个库描述表的信息展示表的创建sql代码展示库的创建sql代码导出数据 &am…

每周一算法:背包问题(三)多重背包

多重背包 有 N N N件物品和一个容量是 M M M的背包。第 i i i种物品最多有 s i s_i si​件&#xff0c;每件的体积是 v i v_i vi​&#xff0c;价值是 w i w_i wi​。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输…

日常巡检脚本-2

#!/bin/bash# 检查系统负载 load$(awk {print $1} /proc/loadavg) cores$(grep -c ^processor /proc/cpuinfo) load_threshold$(echo "scale2; $cores * 0.7" | bc) if [ "$(echo "$load > $load_threshold" | bc)" -ne 0 ]; thenecho "…

浅谈什么是语音芯片的白噪音支持功能:打造舒适家居与优质音频体验

随着科技的不断进步和人们对生活质量要求的提升&#xff0c;语音芯片已经成为了现代电子产品中不可或缺的一部分。而在这些语音芯片中&#xff0c;支持白噪音的功能逐渐受到人们的关注。本文将围绕语音芯片中的白噪音支持功能展开讨论&#xff0c;带您领略其带来的舒适家居与优…

最强Node js 后端框架学习看这一篇文章就够

距离上次认真花时间写作&#xff0c;似乎已经过了许久许久&#xff0c;前端讲了一个新框架 &#xff0c;叫 Nest.js 下方是课件&#xff0c;有过一定开发经验可跟随视频学习 B站 地址 &#xff1a; https://www.bilibili.com/video/BV1Lg4y197u1/?vd_sourcead427ffaf8a5c8344…

Linux --- 进程控制

目录 1. 进程创建 1.1. 内核数据结构的处理 1.2. 代码的处理 1.3. 数据的处理&#xff1a; 方案一&#xff1a;fork创建子进程的时候&#xff0c;直接对数据进行拷贝处理&#xff0c;让父子进程各自私有一份 方案二&#xff1a;写实拷贝(copy on write) 1.4. fork常规用…