VuePress 站点
首页
数学
计算机基础
Java后端
AI大模型
UI设计
首页
数学
计算机基础
Java后端
AI大模型
UI设计
  • 计算机基础
  • 计算机网络应用

    • 课程笔记:TCP三次握手建立连接
    • 课程笔记:TCP三次握手的必要性
    • 课程笔记:TCP协议缺陷与SYN Flood攻击
    • 课程笔记:TCP四次挥手释放连接
    • 课程笔记:TCP四次挥手释放连接的必要性
    • 课程笔记:TCP 报文段格式与 IP 分组
    • 课程笔记:HTTP/2 新特性——二进制分帧
    • 课程笔记:HTTP/2 新特性——多路复用
    • 课程笔记:HTTP/2 新特性——服务器推送(Server Push)
    • 课程笔记:HTTPS 简介与架构图
    • 课程笔记:HTTPS原理与传输层安全协议(TLS)
    • 课程笔记:HTTPS原理——对称加密算法
    • 课程笔记:HTTPS原理——非对称加密算法
    • 课程笔记:HTTPS 原理 —— 数字签名
    • 课程笔记:HTTPS 原理——证书与 CA
    • 课程笔记:完整的HTTPS协议通信流程
    • 课程笔记:HTTPS 协议的性能损耗
    • 课程笔记:TLS False Start 加速 HTTPS
    • 课程笔记:升级 HTTP 协议到 HTTP/2
    • 课程笔记:通过会话恢复加速 HTTPS
    • 课程笔记:OWASP 组织与十大 Web 安全漏洞
    • 课程笔记:XSS 跨站脚本攻击
    • 课程笔记:存储型XSS跨站脚本攻击
    • 课程笔记:XSS攻击窃取Cookie
    • 课程笔记:反射型XSS跨站脚本攻击
    • 课程笔记:DOM型XSS跨站脚本攻击
    • 课程笔记:植入 JS、HTML 代码攻击
    • 课程笔记:XSS攻击的防护策略
    • 课程笔记:XSS攻击的输入环节防护
    • 课程笔记:XSS 劫持 Cookie 的防护策略
    • 课程笔记:XSS 内容输出防护方案
    • 课程笔记:CSP 内容安全策略
    • 课程笔记:CSP 内容安全策略的应用方式
    • 课程笔记:CSRF 跨站请求伪造攻击原理
    • 课程笔记:CSRF 跨站点请求伪造攻击案例
    • 课程笔记:CSRF 跨站请求伪造防护方案
    • 课程笔记:OWASP CSRFTester 工具的原理与使用
    • 课程笔记:点击劫持攻击原理
    • 课程笔记:点击劫持防护方案
    • 课程笔记:URL 跳转漏洞原理与防护
    • 课程笔记:Session 认证与会话劫持
    • 课程笔记:Session固定与Session保持攻击
    • 课程笔记:注入攻击与 OWASP 靶机平台
    • 课程笔记:SQL盲注与ORM注入攻击及防护
    • 课程笔记:XML注入、代码注入、OS命令注入攻击
    • 课程笔记:文件上传漏洞与文件下载/目录浏览漏洞
    • 课程笔记:访问控制与权限访问漏洞
    • 课程笔记:DDoS 分布式拒绝服务攻击原理与防护
    • 课程笔记:CC(Challenge Collapsar)攻击与防护
    • 课程笔记:CDN 的工作原理
    • 课程笔记:CDN的网络架构和术语说明
    • 课程笔记:CDN应用场景与阿里云CDN
    • 课程笔记:如何使用阿里云CDN服务
    • 课程笔记:CDN 刷新与预热
    • 课程笔记:阿里云 CDN 回源配置
    • 课程笔记:CDN 缓存配置
    • 课程笔记:CDN 访问控制与性能优化
  • 计算机网网络

    • 📖 教材介绍与课程导言
    • 📖 1.1 信息时代的计算机网络
    • 📖 1.2 因特网概述
    • 📖 1.3 电路交换、分组交换和报文交换
    • 📖 1.4 计算机网络的定义和分类
    • 📖 1.5 计算机网络的性能指标(1)
    • 📖 1.5 计算机网络的性能指标(2)
    • 📖 1.6.1 常见的三种计算机网络体系结构
    • 📖 1.6.2 计算机网络体系结构分层的必要性
    • 📖 1.6.3 计算机网络体系结构分层思想举例
    • 📖 计算机网络体系结构中的专用术语
    • 📖 物理层概述
    • 📖 物理层下面的传输媒体
    • 📖 传输方式
    • 📖 编码与调制
    • 📖 2.5 信道的极限容量
    • 📖 2.6 信道复用技术
    • 📖 3.1 数据链路层概述
    • 📖 3.2 数据链路层的三个重要问题
    • 📖 3.2.1 封装成帧和透明传输
    • 📖 3.2.2 差错检测
    • 📖 3.2.3 (1) 可靠传输的相关基本概念
    • 📖 3.2.3 (2) 可靠传输的实现机制 - 停止-等待协议(SW)
    • 📖 3.2.3 (3) 可靠传输的实现机制 - 回退N帧协议(GBN)
    • 📖 3.2.3 (4) 可靠传输的实现机制 - 选择重传协议(SR)
    • 📖 3.3 点对点协议 PPP
    • 📖 3.4 共享式以太网
    • 📖 3.4.1 网络适配器和 MAC 地址
    • 📖 3.4.2 (1) CSMA/CD 协议的基本原理
    • 📖 3.4.2 (2) 共享式以太网的争用期、最小帧长和最大帧长
    • 📖 3.4.2 (3) 共享式以太网的退避算法和信道利用率
    • 📖 3.4.3 使用集线器的共享式以太网
    • 📖 3.4.4 在物理层扩展以太网
    • 📖 3.4.5 (1) 网桥的主要结构和基本工作原理
    • 📖 3.4.5 (2) 透明网桥的自学习和转发帧的过程以及生成树协议STP
    • 📖 3.5 交换式以太网
    • 📖 3.5.1 以太网交换机
    • 📖 3.5.2 共享式以太网和交换式以太网的对比
    • 📖 3.6 以太网的MAC帧格式
    • 📖 3.7.1 虚拟局域网 VLAN 概述
    • 📖 3.7.2 虚拟局域网 VLAN 的实现机制
    • 📖 3.8 以太网的发展
    • 📖 3.9.1 802.11 无线局域网的组成
    • 📖 3.9.2 802.11 无线局域网的物理层
    • 📖 3.9.3 (1) 802.11 无线局域网的数据链路层 —— 使用 CSMA/CA 协议(而不使用 CSMA/CD 协议)
    • 📖 CSMA/CA(载波监听多址接入/碰撞避免)协议的基本工作原理
    • 📖 802.11 无线局域网的 MAC 帧格式
    • 📖 网络层概述
    • 📖 网际协议 IP(网际协议)与异构网络互连
    • 📖 IPv4 地址及其编址方法——概述
    • 📖 IPv4 地址的分类编址方法
    • 📖 IPv4 地址的划分子网编址方法
    • 📖 IPv4 地址的无分类编址方法(CIDR)
    • 📖 IPv4 地址的应用规划
    • 📖 IPv4 地址与 MAC 地址
    • 📖 地址解析协议 ARP
    • 📖 IP 数据报的发送和转发流程
    • 📖 IPv4 数据报的首部格式
    • 📖 静态路由配置
    • 📖 因特网的路由选择协议概述
    • 📖 路由信息协议 RIP(路由信息协议)
    • 📖 开放最短路径优先 OSPF(开放最短路径优先)
    • 📖 边界网关协议 BGP(边界网关协议)
    • 📖 路由器的基本工作原理
    • 📖 网际控制报文协议 ICMP(网际控制报文协议)
    • 📖 虚拟专用网 VPN 和网络地址转换 NAT
    • 📖 IP 多播技术的相关基本概念
    • 📖 在局域网上进行硬件多播
    • 📖 在因特网上进行 IP 多播需要的两种协议
    • 📖 网际组管理协议 IGMP
    • 📖 多播路由选择协议
    • 📖 移动 IP 技术概述
    • 📖 IPv6 引进的主要变化
    • 📖 IPv6 数据报的基本首部和扩展首部
    • 📖 IPv6 地址
    • 📖 从 IPv4 向 IPv6 过渡
    • 📖 网际控制报文协议 ICMPv6
    • 📖 软件定义网络 SDN
    • 📖 运输层概述 — 进程间基于网络的通信
    • 📖 TCP/IP 体系结构运输层中的两个重要协议
    • 📖 运输层端口号、复用与分用的概念
    • 📖 UDP 和 TCP 的对比
    • 📖 TCP 报文段的首部格式
    • 📖 "三报文握手"建立 TCP 连接
    • 📖 "四报文挥手"释放 TCP 连接
    • 📖 TCP 的流量控制 (Flow Control)
    • 📖 TCP 的拥塞控制 (Congestion Control) 及与网际层拥塞控制的关系
    • 📖 TCP 可靠传输的实现
    • 📖 TCP 超时重传时间 (RTO) 的选择
    • 📖 TCP 的选择确认 (SACK)
    • 📖 6.1 应用层概述
    • 📖 6.2 客户—服务器方式和对等方式
    • 📖 6.3 动态主机配置协议 DHCP
    • 📖 6.4 域名系统 DNS
    • 📖 6.5 文件传送协议 FTP
    • 📖 电子邮件
    • 📖 万维网 WWW
    • 📖 网络安全概述
    • 📖 密码学相关基本概念
    • 📖 对称密钥密码体制
    • 📖 公钥密码体制
    • 📖 报文摘要和报文鉴别码
    • 📖 数字签名(digital signature)
    • 📖 实体鉴别
    • 📖 密钥分发
    • 📖 访问控制
    • 📖 网络体系结构各层采取的安全措施—物理层和数据链路层
    • 📖 网络体系结构各层采取的安全措施—网络层
    • 📖 网络体系结构各层采取的安全措施—运输层
    • 📖 网络体系结构各层采取的安全措施—应用层
    • 📖 防火墙访问控制与入侵检测系统
    • 📖 常见的网络攻击及其防范
    • 📖 定长子网划分和变长子网划分的二叉树解法

📖 边界网关协议 BGP(边界网关协议)

🎯 课程摘要:BGP(边界网关协议) 是用于自治系统之间路由选择的外部网关协议(EGP)。由于不同 AS(自治系统) 度量路由的代价不同且需考虑政治、经济、安全等策略,BGP(边界网关协议) 只能力求寻找一条能够到达目的网络且比较好的路由(不兜圈子),而非最佳路由。BGP 基于 TCP(端口号 179) 交换路径向量信息。

📝 详细笔记

1. BGP(边界网关协议) 基本概念

  • 协议类别:BGP(边界网关协议) 属于外部网关协议 EGP(External Gateway Protocol),用于 AS(自治系统) 之间的路由选择。
  • 前置知识:
    • RIP(路由信息协议) 与 OSPF(开放最短路径优先) 是用于 AS 内部路由选择的内部网关协议(IGP)。
    • BGP 是用于 AS 之间路由选择的外部网关协议(EGP)。

2. 为什么不能使用统一代价寻找最佳路由

  • 度量差异:不同 AS(自治系统) 内度量路由的代价可能不同,例如 AS1 用时延、AS2 用跳数、AS3 用链路带宽。
  • 无法统一:由于没有统一的路由度量,对于 AS 之间的路由选择,使用统一代价作为度量来寻找最佳路由是行不通的,寻找最佳路由是无意义的。
示例度量方式
AS1时延
AS2跳数
AS3链路带宽

3. AS 之间的路由选择必须考虑策略

  • 策略内容:政治、经济、安全等,由网络管理人员对每一个路由器进行设置。
  • ⚠️ 注意:这些策略并不是 AS 之间路由选择协议本身,而是由管理人员配置。
  • 示例 1(政治/安全):我国国内站点互相传送数据报时不应经过国外兜圈,特别是不要经过某些对国家安全有威胁的国家。
  • 示例 2(经济):AS4 数据报要去往 AS5,本来可经过 AS1 和 AS3;但 AS3 不愿让这些数据报经过自己内部网络(与 AS3 无关);而 AS2 愿意让相邻 AS 的数据包通过,只要支付相应服务费用即可。

4. BGP(边界网关协议) 的设计目标

  • 核心结论:BGP(边界网关协议) 只能是力求寻找一条能够到达目的网络且比较好的路由(即不能兜圈子),而并非要寻找一条最佳路由。
  • 适用范围:BGP 适用于多级结构的因特网。

5. BGP 发言人与会话建立

  • BGP 发言人:配置 BGP 时,每个 AS(自治系统) 的管理员要选择至少一个路由器作为该 AS 的 BGP 发言人。
  • 连接方式:两个 BGP 发言人一般通过一个共享网络连接在一起,BGP 发言人往往就是 BGP 边界路由器。
  • TCP 连接:不同 AS 的 BGP 发言人要交换路由信息,首先必须建立 TCP 连接,端口号为 179。
  • BGP 会话:在此 TCP 连接上交换 BGP 报文以建立 BGP 会话,利用 BGP 会话交换路由信息(增加新路由、撤销过时路由、报告出错等)。
  • 对等站:使用 TCP 连接交换路由信息的两个 BGP 发言人彼此成为对方的临站或对等站。
  • ⚠️ 协议运行要求:BGP 发言人除了运行 BGP 协议外,还必须运行自己所在 AS 所使用的内部网关协议(例如 RIP 或 OSPF)。

6. 路径向量与可达性信息

  • 交换内容:BGP 发言人交换网络可达性的信息,即要到达某个网络所要经过的一系列 AS(自治系统)。
  • 构造结果:各 BGP 发言人根据所采用的策略,从收到的路由信息中找出到达各 AS 的较好的路由,构造出树形结构且不存在环路的 AS 连通图。
  • 路径向量示例:
    • AS2 的 BGP 发言人通知主干网的 BGP 发言人:要到达网络 N1、N2、N3、N4 可经过 AS2。
    • 主干网 BGP 发言人收到后,向 AS3 的 BGP 发言人发出通知:要到达 N1、N2、N3、N4 可沿路径 AS1 → AS2(路径向量)。
    • ⚠️ 防环机制:AS3 的 BGP 发言人收到该路径向量信息后,如果发现 AS3 自身也包含在其中,则不能采用这条路径,否则会兜圈子。

7. BGP4 的四种报文

BGP4 是目前使用最多的版本,在 RFC4271 文档中规定了 BGP4 的四种报文:

报文类型作用
打开报文(OPEN)用来与相邻的另一个 BGP 发言人建立关系,进行通信初始化
保活报文(KEEPALIVE)用来周期性地证实临站的连通性
更新报文(UPDATE)用来通告某一条路由的信息,以及列出要撤销的多条路由
通知报文(NOTIFICATION)用来发送检测到的差错

8. 三大路由选择协议封装关系对比

对比项RIP(路由信息协议)OSPF(开放最短路径优先)BGP(边界网关协议)
协议类别内部网关协议 IGP内部网关协议 IGP外部网关协议 EGP
算法基础距离向量链路状态路径向量
度量跳数代价策略(可达性而非最优性)
传输层封装UDP,端口 520不使用运输层TCP,端口 179
网络层封装IP 数据报IP 数据报,协议号 89IP 数据报
封装角度看所属层应用层网际层(网络层)应用层
路由选择功能所属层网际层网际层网际层
适用范围AS 内AS 内AS 之间
  • ⚠️ 关键区分:
    • 从实现路由选择功能的角度看,三个协议都属于网络层。
    • 从数据包按网络体系结构逐层封装的角度看,RIP 和 BGP 属于应用层,OSPF 属于网络层。

💡 核心总结

  • BGP(边界网关协议) = 外部网关协议 + 路径向量 + TCP 端口 179 + 策略路由。
  • 设计目标是寻找"比较好"的可达路由(不兜圈子),而非"最佳"路由。
  • BGP 发言人通过 TCP 连接交换路径向量,发现自身在路径中则拒绝该路径以防环。
  • 四种报文:打开、保活、更新、通知。
  • 封装角度:RIP/BGP 属应用层,OSPF 属网络层;功能角度三者均属网络层。

❓ 课后思考 / 经典考题

  1. (2013 408 题 47 第三问) R1 与 R2 被划分到不同的 AS(自治系统),二者之间的路由选择应使用外部网关协议(EGP),具体即 BGP(边界网关协议),不同 AS 的 BGP 发言人通过建立 TCP 连接(端口 179) 交换 BGP 报文。
  2. (2017 408) 关于 RIP、OSPF、BGP 的封装关系:从实现路由选择功能角度看三者都属于网络层;从数据包按体系结构逐层封装角度看,RIP 和 BGP 属于应用层,OSPF 属于网络层。(答案:D)
  3. 为什么 AS 之间的路由选择不能像 AS 内部那样寻找"最佳路由"?BGP(边界网关协议) 的设计目标是什么?
  4. BGP 发言人如何利用路径向量避免路由环路?
  5. BGP4 规定了哪四种报文?各自的作用是什么?
最近更新: 2026/6/23 17:18
Contributors: yangwenguang
Prev
📖 开放最短路径优先 OSPF(开放最短路径优先)
Next
📖 路由器的基本工作原理