BGP知识点解析

BGP中的Next_Hop

1. 核心思想(记住这一句就够了)

IBGP 默认不改下一跳,是为了让内部路由器知道"真正的出口在哪"。
但前提是:内部路由器得能"找到"那个出口地址。
找不到怎么办?用 next-hop-local 把下一跳改成"自己人"。

2. 用一个图讲清楚

复制代码
        AS100                    AS200                    AS300
      ┌──────┐               ┌───────────┐               ┌──────┐
      │  R4  │────EBGP───────│    R1     │────IBGP───────│  R3  │────EBGP───────│  R5  │
      └──────┘   10.1.14.4   └─────┬─────┘   1.1.1.1     └──────┘               └──────┘
                                    │
                                  ┌─┴─┐
                                  │R2 │  (OSPF 内部)
                                  └───┘

问题出在哪

步骤 发生什么 下一跳是谁
1 R4 告诉 R1 路由 4.4.4.0/24 10.1.14.4 (R4 的接口)
2 R1 传给 R3 (IBGP) 默认不改,还是 10.1.14.4
3 R3 查路由表找 10.1.14.4 找不到! (因为这是外部地址,OSPF 里没有)
4 结果 路由无效,流量丢弃 ❌

怎么修?

R1 上配一句:peer R3 next-hop-local

步骤 发生什么 下一跳是谁
1 R4 告诉 R1 路由 4.4.4.0/24 10.1.14.4
2 R1 传给 R3 (IBGP) 改成 R1 自己 1.1.1.1
3 R3 查路由表找 1.1.1.1 找到了! (OSPF 里有 R1 的地址)
4 结果 路由有效,流量正常 ✅

3. 为什么默认不改?(一句话)

因为有时候"不改"更好 ------如果内部路由器能直接找到原始出口,就可以选最近的路出去,不用绕路。

但现网中,为了简单稳定,我们通常直接配 next-hop-local,保证路由一定能用。

4. 常见误区(只记这 3 个)

误区 正确理解
"IBGP 像 OSPF 一样会自动改下一跳" ❌ IBGP 默认不改,必须手动配 next-hop-local
"配在 R3 上" ❌ 配在 R1 上(发布路由的人)
"只要配了就一定能通" ❌ 还要保证 R3 到 R1 的 IGP 是通的

BGP 的 Next_Hop 属性逻辑

GP 的 Next_Hop 属性逻辑非常清晰,它本质上就是为了解决一个问题:"数据包到了我这,下一步该给谁?"

我们可以把这三种情况归纳为**"换个新地标"** 和**"保持旧地标"**两种逻辑。

核心逻辑图解

你可以把 BGP 路由器想象成**"转信站"** ,Next_Hop 就是信封上写的**"下一个投递点"**。

场景 动作 下一跳变成什么? 简单记忆
发给 EBGP 修改 自己的接口 IP 跨越边界,我是出口
本地始发 -> IBGP 修改 自己的接口 IP 我是源头,找我
EBGP 学到 -> IBGP 不修改 (默认) 保持外部 IP 不变 保持原样,直达出口

这样理解是不是清晰多了?核心就在于:默认情况下,BGP 希望内部路由器知道真正的出口在哪里,除非出口不可达(需要 next-hop-local 修正)。


黑洞产生的原因 以及两种解决方法的原理

1. 实验拓扑与配置回顾


2. 路由传递过程(以 10.10.4.4 → 10.10.5.5 方向为例)


3. 为什么 R2 会产生路由黑洞?


相关推荐
F1FJJ3 小时前
Shield CLI 的 PostgreSQL 插件 v0.4.0 已发布:支持 ER 图设计表关系,还能多人协作
网络·网络协议·postgresql·数据分析·开源软件
萝卜白菜。5 小时前
Http GET / 请求返回值不同的问题
网络·网络协议·http
liulilittle5 小时前
eBPF tc prog
服务器·网络·c++·网络协议·tcp/ip·性能·perf
浮尘笔记5 小时前
PHP中常规通用接口验签加密规则设计
开发语言·后端·网络安全·php
Yana.nice6 小时前
tcp与udp的区别
网络协议·tcp/ip·udp
xixixi777776 小时前
安全前置设计:在智能体、模型、网络中嵌入零信任、隐私计算、智能体防护,避免“先建设后补安全”
人工智能·安全·网络安全·ai·信息安全·零信任·智能体
ayaya_mana7 小时前
NPS 内网穿透,二次开源版新增多种连接协议(含 P2P 配置)
linux·运维·服务器·网络协议·内网穿透·p2p·nps
博语小屋7 小时前
Reactor、epoll下设计一个简单的网络版本计算器
服务器·开发语言·网络·网络协议·http·php
吉吉617 小时前
雷池waf绕过之前奏
网络安全