BGP第二日

上图为今日所用拓扑 ,其中R1和R4,R3和R5为EBGP邻居,R1和R3为IBGP邻居,AS200区域做OSPF动态路由

一.BGP建立邻居的六种状态

1.idle          

空闲状态:建立邻居最初的状态

2.Connect      

 连接状态:在这个状态下会尝试建立TCP连接

3.Active 

  活跃状态:TCP建立连接失败会进入这个状态,一直失败则一直在这个状态,若建立成功则由Active->OpenSent状态

4.OpenSent

Open报文发送状态:在TCP建立连接成功后会进入这个状态,这个状态下双方会发送Open报文以尝试建立邻居关系

5.OpenConfirm 

 Open报文确认状态:收到对方的Open报文后就进入这个状态了,这个状态下会向对方发送KeepAlive保活报文以维持邻居关系

6.Established 

 建立状态:收到对方的KeepAlive保活报文后进入的状态,在这个状态下邻居关系达到完满

二.流量黑洞

出现原因:

当路由下一跳地址非直连的网段ip地址就有可能出现流量黑洞,其原因是路由表是按照目的地址寻址的,当路由下一跳非直连网段ip时,下一跳所在路由器不一定有目的ip的路由条目,这时就会将路由数据传到Null口,形成流量黑洞。

在IBGP中,若两台建立IBGP路由器之间有没有配置IBGP的路由设备时,就会出现流量黑洞问题,虽然两台IBGP路由器学习了对方所搬运的路由,但是由于中间路由器没有所搬运路由的路由信息,所以外部AS设备无法相互连接。

解决方案:

1.配置静态路由:

在中间路由器R2中配置两条静态路由:

[R2]ip route-s 10.10.4.4 32 192.168.12.1
[R2]ip route-s 10.10.5.5 32 192.168.23.3

有了这两条静态路由,中间设备就有了目的IP地址为外部AS区域的路由信息,就可以继续路由转发了。这种方法看似完美,实际工作中外部AS区域路由何其之多,BGP搬运多少条路由中间设备均要配置多少条静态路由,何其繁琐,实不可取。

2.在ospf中引入外部BGP路由:

[R1]ospf 1
[R1-ospf-1]import-route bgp
[R3]ospf 1
[R3-ospf-1]import-route bgp

这样ASBR就会生成五类LSA通告全区域外部AS某一IP的路由信息了,这样做也是看似合理,因为BGP搬运的路由条数庞大,OSPF所引入BGP路由条数也很庞大,会产生大量的五类LSA,对ASBR设备压力非常大,虽然可以用第五类路由聚合技术缓解压力,但治标不治本,且BGP所引出的问题最终还是想在BGP中解决。(将五层问题转换成三层问题这种解决方法会伤了五层高傲的心的)

3.IGBP全互联

既然问题是由两台IBGP路由器之间有非IBGP路由器导致的,那我们直接让非IBGP路由器成为IBGP路由器不就成了?

[R1]bgp 200
[R1-bgp]peer 192.168.12.2 as 200
[R1-bgp]peer 192.168.12.2 next-hop-local    #IBGP邻居间传路由时不会修改下一跳
[R2]bgp 200
[R2-bgp]peer 192.168.12.1 as 200
[R2-bgp]peer 192.168.23.3 as 200
[R3]bgp 200
[R3-bgp]peer 192.168.23.2 as 200
[R3-bgp]peer 192.168.23.2 next-hop-local 

这样R2就有从IBGP邻居那边学来的外部AS区域路由了,看似又是很完美但是图示仅仅一台中间设备就要建立3次IBGP邻居,若总共有N台路由器则要建立N*(N-1)/2次IBGP邻居了,工程量不可谓不大,因此,也不可取。

先卖个关子,先不“引玉”,讲讲别的先。

 三.BGP通告原则

1.BGP路由器会将自己状态码为“*>”的路由给状态为“Established”的邻居

2.从EBGP那边搬运的路由会传递给所有邻居

3.从IBGP那边搬运的路由不会传递给别的IBGP邻居

由于第三条规则,引出了下面我们要讲的内容。

四.IBGP水平分割    ps:也叫内内不相传

出现原因:

在同一个AS中,若有三台及以上的IBGP邻居存在,则有可能产生路由环路(互相来回传递从EBGP邻居那边搬运来的路由),为了防止这种现象的出现,出现了IBGP水平分割的规则

打开一扇门,就关闭一扇窗

IBGP水平分割解决了IBGP路由环路问题,可却导致AS内部BGP无法传递

解决方案:

1)IBGP全互联       

2)Route Reflector   路由反射器

3)BGP联盟    (已基本淘汰)

4)OSPF 引入BGP

5)静态路由

五.路由反射器

1.Role:

1)RR  :Router Reflector

2)Client

3)Non-Client

2.路由反射器反射规则

1)从Non-Client设备上搬运的路由,会传递给EBGP邻居,会反射给Client设备,但是不会反射给其它Non-Client设备        (非非不反射规则)

2)从Client设备上搬运的路由,会传递给EBGP邻居,会反射给Non-Client设备和Client设备

3)从EBGP邻居设备上搬运的路由,会反射给Client设备、Non-Client设备

3.隐患

路由反射器突破了IBGP的水平分割,但也面临着路由环路的风险

4.解决方案:

在BGP报文内加入两个字段:

Origin-id:始发id,集群内部Client与RR间防环

Cluster_id:簇列表,集群间防环

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

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

相关文章

第一关:Linux基础知识

Linux基础知识目录 前言LinuxInternStudio 关卡1. InternStudio开发机介绍2. SSH及端口映射2.1 什么是SSH?2.2 如何使用SSH远程连接开发机?2.2.1 使用密码进行SSH远程连接2.2.2 配置SSH密钥进行SSH远程连接2.2.3 使用VScode进行SSH远程连接 2.3. 端口映射…

Linux C embed development (personal rveiew)

1. 如何快速去bring up bcm 的wifi chipset a. 首先的确认 编译的BSP profile b. 其次要先用 default 的kernel config 去编译 c. 现在我们的一些 PCIE/GPIO/driver 总线的设置 都在dts 中,有错就去改dts 2. BCM 的板子bring up 注意事项 a. fw: bcm…

攻防世界 Web_python_template_injection(flask模版注入)

学习文章:https://www.freebuf.com/column/187845.html https://blog.csdn.net/weixin_54515836/article/details/113778233 flask的渲染方法有render_template和render_template_string两种。 render_template()是用来渲染一个指定的文件的。使用如下 return re…

自学第十五天----深入理解函数上

1. 函数是什么? 维基百科中对函数的定义: 子程序 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码…

python怎么求因数

要想做到python语言求因数方法,首先要明白其中的原理: 1、对由123456789这九个数字组成的9位数进行分解质因数。 2、1234576982x3x3x7x13x23x29x113,所以他的值因数是113。 3、总共有362880种可能,从中找出值因数中最小的数字和…

学生宿舍反限电插座控制功能

石家庄光大远通电气有限公司反限电插座功能的技术防止学生通过半波整流进行防止学生改变负载特性(阻性变为非阻性)的防止学生通过可控硅调压技术(进行功率调整达到使用目的)恶性负载限制次数设置:管理部门可以根据实际要求设定每个宿舍违规次数。达到本次数。系统自动锁定&…

Linux:Ubuntu18.04下开机自启动QT图形化界面

Linux:Ubuntu18.04下开机自启动QT图形化界面 Chapter1 Linux:Ubuntu18.04下开机自启动QT图形化界面一、创建rc.local文件二、建立rc-local.service文件三、启动服务查看启动状态四、重启 Chapter2 将QT应用作为开机自启动(Linux系统&#xff…

代码能力弱,编程思维几乎没有,有些勉强能看懂,让自己敲,一脸懵逼?

最近有几个人问我,说自己代码能力弱,编程思维几乎也没有,简单的代码,勉强能看懂,让自己敲,就一脸懵逼,下一步该怎么学习? 10几年前,这些问题,就像是一道道难以…

1招搞定maven打包空间不足问题

目录 一、工具应用问题 二 、使用效果 三、使用方法 四、练习手段 一、工具应用问题 使用maven的package功能打包失败,报错“Java heap space”错误。 二 、使用效果 修改IDEA中maven内存使用大小后,打包成功。 三、使用方法 点击菜单“File->Set…

Docker 使用基础(3)—容器

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━️💟──────── 4:20 🔄 ◀️ ⏸ …

let/const/var的区别及理解

在JavaScript中,let、const 和 var 是用来声明变量的关键字,但它们之间在作用域、变量提升、重复声明等方面存在区别,详细情况如下: 1. let、const、var 的区别 (1) 块级作用域 let 和 const:具有块级作用域,由 {} 包…

百数教学秘籍:三步走,轻松规划你的自动化计划任务

通过设定任务计划,用户可以轻松安排指定的功能插件或数据助手在特定时间自动执行,有效提高工作效率,还确保了数据的及时更新和处理。任务计划在应用启动时自动启动并在后台运行,无需用户持续监控,为用户带来极大的便利…

oracle哪些后台进程不能杀?

oracle 有很多的后台进程,在遇到特殊情况的时候如锁表,如果等待的是一个后台进程,那这时就需要考量是不是能杀掉这个后台进程?杀掉这个后台进程会不会引起实例崩溃?本着实践出真知,本文针对oracle 11g&…

游戏开黑语音-使用云服务器部署teamspeak服务(系统Ubuntu 20.04 LTS)

目录 前置物品服务器调整及部署1.重装系统2.换源3.下载teamspeak服务端并部署 连接服务器参考 前置物品 一台云服务器(系统:Ubuntu 20.04 LTS) 服务器调整及部署 1.重装系统 在腾讯云官网的主机控制台内,选择重装系统 (由于之前为了快点和…

【刷题汇总 -- 最长回文子串、买卖股票的最好时机(一)、[NOIP2002 普及组] 过河卒】

C日常刷题积累 今日刷题汇总 - day0101、最长回文子串1.1、题目1.2、思路1.3、程序实现 2、买卖股票的最好时机(一)2.1、题目2.2、思路2.3、程序实现2.4、程序实现 -- 优化 3、[NOIP2002 普及组] 过河卒3.1、题目3.2、思路3.3、程序实现 -- dp 4、题目链接 今日刷题汇总 - day0…

Linux 入门教程 by 程序员鱼皮

本文作者:程序员鱼皮 免费编程学习 - 编程导航网:https://www.code-nav.cn 大家好,我是鱼皮。 前两天我学编程的老弟小阿巴过生日,我问他想要什么礼物。 本来以为他会要什么游戏机、Q 币卡、鼠标键盘啥的,结果小阿巴…

短视频矩阵:批量发布的秘密揭秘

在数字化时代,短视频已经成为一种广受欢迎的媒体形式。无论是用于品牌推广、产品营销还是个人创作,短视频都提供了一种直观、生动的方式来吸引观众的注意力。然而,有效地制作、管理和发布短视频对于许多创作者和企业来说是一个挑战。 为此&am…

什么是 C 语言中的宏定义?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代,看过的人都说好。 文章目…

动态规划之数字三角形模型+最长上升子序列模型

首先,我们从集合角度重新看待DP: 直接看题:https://www.acwing.com/problem/content/1029/ 就是取纸条的原题,我们令f[i1,j1,i2,j2]表示从(1,1),(1,1)分别走到(i1,j1),(i2,j2)的路径的max i1j1i2j2,于是我们可以把状…

机器学习 | 对K-Means聚类假设的研究演示及实践示例

我们在Scikit-learn对K-means假设的调查中探索了揭示算法优势和局限性的场景。我们研究了K-means对不正确的聚类大小的敏感性,它在各向异性分布中面临的困难,它在不同的聚类方差中面临的困难,以及使用合成数据集的大小不均匀的聚类问题。我们…