【网络技术设备安全】BGP 基础与概述-2-中转 AS 中的 IBGP 路由传递

简介: 【网络技术设备安全】BGP 基础与概述-2-中转 AS 中的 IBGP 路由传递

0x01 中转 AS 中的 IBGP 路由传递

参考该图:


上图,我们模拟一个 1.0 的路由通过 AS 65101 来传递


1:通过图可知,A 与 B 之间的 Peer 为 EBGP,B 与 E 之间为 Peer IBGP,E 与 F 之间为 Peer EBGP 邻接


2:A 通告 1.0 路由给 EBGP 邻居 B,那么 B 则跨 OSPF 路由 TCP 通信传递给 E,E再通过 EBGP 邻接关系传递给 F 注意:该路由为 AS 65101 update 通告给邻接的一个消息,而不是通信


3:F 已知去往 A 1.0 的路由,如果 AS F 要去往 1.0 路由,需要通过 EBGP E 转发


2:而当 E 转发该路由的时候,只有扔给 D,C 二者之中的一个,当转发到该非 BGP 路由器上的时候,D,C 二者是不知道如何操作该 BGP 路由的,会被直接丢弃,我们将其称作路由黑洞


这里我就叫它 AS 中转 IGP 黑洞

0x02 BGP 同步 🔺

既然出现了路由黑洞,那么就会有解决方法,如 RIP 一样,RIP 拥有水平分割来防环,那么 BGP 就有同步规则来防止路由黑洞


BGP 同步规则:

BGP 的同步规则指出,一台 BGP 的路由器,你不能将通过 IBGP 获取到的 BPG 路由,通告给你的 EBGP 邻居,除非你通过 IGP,又一次获取到这条路由的更新


该同步规则的着重点在于 IGP 路由拥有 BGP 路由跟新过来的路由条目,能够识别 BGP 路由,同时转发给 AS 边界 BGP 路由器这里可能有理解错误,但是大致是这种情况


需要注意的一点是该规则是有点鸡肋的,因为随时可像 ARP 那样欺骗


Cisco IOS 默认关闭同步规则


既然又默认关闭,开启又鸡肋可欺骗,那么前辈们就总结出如下几个方法,来解决路由黑洞的问题


解决办法 1

该方案不是最优建议,因为 BGP 承载大量路由,重发布可能导致 IGP 跑死


参考图:


6b53b2a189b5f8d5f71aaf33bf058b9e_13d3571ce256ad26ce5102f665fc4f92.png


在 B、E 上将 BGP 路由重发布进 IGP (OSPF) 路由中,可解决路由黑洞问题


解决方法 2

该方案是采取 AS 边界路由全起 BGP 来达到无死角,即 AS 路由器全跑 BGP 路由,从而使得 B peer E D C,邻接,那么这个时候,就不会存在路由黑洞的问题,BGP 同步规则也没必要开启 [ BGP 同步规则,Cisco 默认关闭]


参考图:


324a3ba99df447736f5239c3147608e9_db38681573514800a0ff8b5733d48e1f.png


该方案缺点:


IBGP 全互联虽然能结局 Transit AS 内的路由黑洞问题,但是却造成 BGP 路由器需耗费大量资源维护 BGP 连接的新问题。


以下为两个资源损耗过大的解决方案:


  • 路由反射器
  • 联邦

0x03 IBGP 水平分割原则 🔺

我们在 RIP 中有水平分割原则,那么视野扩到 IBGP ,其维护的 Peer IBGP 的邻接关系所处的 水平分割原则又是什么样的?


🔺 IBGP 水平分割原则:


当我的一台路由器从我的某一个 IBGP 邻居收到一条 BGP 路由的时候,我将不能够再传递给其他任何一个 IBGP 邻居


以下为讲解过程:


BGP 防环是通过 AS-PATH 实现的,而 AS-PATH 仅仅再路由离开 AS 才会被更改,因此在 AS 内, IBGP 就没有 EBGP 的防环能力,为了防止环路的出现,BGP 路由器不会将从 IBGP 邻居学习过来的路由再通告给自己其他 IBGP 邻居。——BGP 的水平分割原则。


由于水分分割原则的存在,BGP 要求 AS 内,需保证 IBGP 全互联 ( neighbor 命令指定)。


( 根本原因是再 AS 内部,AS-PATH 不会改变,无法使用 AS-PATH 防环,因此会导致出现环路)


0x04 BGP 路由通告规则 🔺

  • 当存在多条路径时,BGP Router 只选取最优的路由 ( BEST ) 来使用 (没有负载均衡的情况下)
  • BGP 只把自己使用的路由,也就是自己认为 BEST 的路由传递给 BGP peer
  • BGP Speaker 从 EBGP 获得的路由会向他所有的 BGP peer 通告 包括 EBGP 和 IBGP
  • BGP Speaker 从 IBGP 获得的路由不向它的 IBGP 相邻体通告 (水平分割原则:避免环路,存在路由 RR 的情况除外)
  • BGP Speaker 从 IBGP 获得的路由是否通告给它的 EBGP peer 要看 IGP 和 BGP 的同步情况来决定


0x05 BGP 路由表

  • BGP 邻居表:Peer 对等体列表
  • BGP 表:包含了所有从邻居 Peer 对等体那学来的路由条目,以及到达目的的网段的多个路径和属性
  • 路由表:列出了到达目的网段的最佳路径
  • AD:EBGP = 20 ,IBGP = 200


0x06 BGP Next-hop 属性

该特征下一跳与其他下一跳不同,具体看以下解析


BGP 路由器从一个 EBGP 邻居收到一条路由的时候,BGP 路由器会将该 EBGP 邻居的接口 IP 作为我这条路由的下一跳 Next-hop,通告给我的 IBGP 邻居


该 Next-hop 属性只会在 不同 AS 之间发生改变,而 AS 内部是不会发生改变的


参考图如下:


a5ecc01c578e5715a75c87119ff2ee04_bcdb09dbd01f4c6767326784a53aba97.png


其他参考:


  • BGP 是 AS-by-AS 的路由协议,而不是 router-by-router 的路由协议
  • 在 BGP中,next-hop 并不意味着是下一台路由器,而是到达下一个 AS 的 IP 地址
  • EBGP 中, 默认 next-hop 为发送更新的理解路由器的 IP 的地址
  • IGBP 中,从 EBGP 传来的 Next-hop 属性是在 IBGP 中保持不变的被传递

0x07 BGP 更新源

跟新源在于声明 loopback 基础上


在没有学习 BGP 跟新源的时候,我们使用直连接口建立 BGP peer 邻居关系


如果任何一个直连接口 down 掉,或者任何一个链路 down 掉都将直接导致 BGP 邻居 down,或者 BGP 路由之间的连接消失


如果我们使用 loopback 口来建立 Peer 关系,如果链路 down 了,只要我们有冗余链路,那么该链路会借助 IGP 协议从而再次发现 Peer,使得 BGP 链路更加稳定,邻居关系起到稳定作用


一般而言,与 EBGP 之间仍然采用之间接口指定更新源


参考图如下:


c3ac310426bb18285ba41a9646f65c5e_a18926d80deecd98b700af04613ffa27.png


0x08 EBGP 之间使用 Loopback 建立跟新源

如果通过 EBGP 建立邻居关系,其默认 next-hop 为 1


需要注意的是,我们通过 loopback 口建立更新源,其 next-hop 最小值为 2


所以如果通过 loopback 建立更新源,我们需要调整该跳数,同时需要指定 EBGP 邻居间的通信无碍


具体调整方式参考 BGP 基础配置.md

相关文章
|
1天前
|
供应链 安全 网络安全
数字时代的守护者:网络安全与信息安全的前沿知识
【6月更文挑战第10天】在信息技术飞速发展的今天,网络安全与信息安全已成为全球关注的焦点。本文将深入探讨网络安全漏洞的成因及其防范措施,分析加密技术在保障数据安全中的核心作用,并强调提升个人和组织安全意识的重要性。通过分享最新的研究成果和实践案例,旨在为读者提供一套全面、实用的网络安全知识体系。
|
2天前
|
SQL 安全 网络安全
数字堡垒的守护者:网络安全与信息安全的现代战略
在数字化浪潮中,信息安全成为维护企业和个人资产的重中之重。本文将深入探讨网络安全漏洞、加密技术及安全意识的重要性,并分析如何通过这些工具和知识构建坚不可摧的数字堡垒。我们将从基础概念出发,逐步揭示高级防护策略,为读者提供一套实用的网络安全指南。
|
3天前
|
传感器 算法 安全
基于WSN网络的定向步幻影路由算法matlab仿真
该文探讨了无线传感器网络中的位置隐私保护,对比了NDRW路由与定向步幻影路由在安全时间和能耗方面的性能。在MATLAB2022a中进行测试,结果显示NDRW路由提供最长的安全时间,尤其在长距离传输时,且在近距离下能耗低于幻影路由。幻影路由虽消耗更多能量,但通过随机步创造幻影源以增强安全性。NDRW路由利用非确定性随机游走策略,避免拥堵并提高效率,而幻影路由则引入方向性控制,通过启发式算法优化路径选择。
|
4天前
|
弹性计算 DataWorks 安全
DataWorks产品使用合集之打通网络时,如何排查安全组问题
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
6 1
|
5天前
|
安全 数据安全/隐私保护 Docker
Docker 容器连接:构建安全高效的容器化网络生态
Docker 容器连接:构建安全高效的容器化网络生态
|
6天前
|
缓存 安全 前端开发
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
|
6天前
|
机器学习/深度学习 安全 网络安全
云计算与网络安全:一场技术与安全的较量
【6月更文挑战第6天】随着云计算的普及,网络安全问题日益凸显。本文将探讨云计算、云服务、网络安全以及信息安全等技术领域,分析云计算带来的安全挑战,并提出相应的解决方案。我们将从技术角度出发,深入剖析云计算与网络安全之间的关系,以期为业界提供有价值的参考。
|
23天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
5天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
20 1
|
6天前
|
负载均衡 Ubuntu Linux
Linux命令探秘:bond2team与网络绑定技术
Linux的`bond2team`是网络绑定和团队技术工具,用于组合多个网络接口以提升带宽、容错性和负载均衡。通过安装`ifenslave-2.6`,在`/etc/sysconfig/network-scripts/`或`/etc/network/interfaces`配置文件中设定接口绑定模式,如`activebackup`。它支持负载均衡、容错和热备等多种工作模式,确保网络高可用性和性能。在配置前务必备份,并重启服务使配置生效。