5.3 ISP之间的路由选择: BGP

1.层次路由

2.BGP协议简介

3.BGP路径通告


1.层次路由

csharp 复制代码
1).平面路由简介

a.一个网络中的所有路由器地位一样

b.通过LS, DV路由算法, 所有路由器都要知道其他所有路由器(子网)如何走

c.所以路由器在一个平面
csharp 复制代码
2).平面路由的问题

a.规模巨大的网络中, 路由信息的存储, 传输和计算代价巨大

- DV: 距离矢量很大, 且不能够收敛

- LS: 几百万个节点的LS分组的泛洪传输, 存储以及最短路径算法的计算

b.管理问题

- 不同的网络所有者希望按照自己的方式管理网络

- 希望对外隐藏自己网络的细节, 还希望和其他网络互联

csharp 复制代码
1).层次路由简介

a.层次路由: 将互联网分成一个个AS(路由器区域)

- 某个区域内的路由器集合, 称为自治系统("autonomous systems")

- 一个AS用AS Number(ASN)唯一标示

- 一个ISP可能包含1个或多个AS

b.路由变成了2个层次路由

- AS内部路由: 在同一个AS内路由器运行相同的路由协议

- AS间运行AS间路由协议, 解决AS之间的路由问题, 完成AS之间的互联互通
csharp 复制代码
2).层次路由的优点

a.解决了规模问题

- 内部网关协议解决: AS内部数量有限的路由器相互到达的问题, 内部规模可控; 若AS节点太

多, 可分割AS, 使得AS内部的节点数量有限

- AS之间的路由规模问题, 增加一个AS, 对于AS之间的路由从总体上来说, 只是增加了一个节

点 = 子网; 对于其他AS来说只是增加了一个表项, 就是这个新增的AS如何走的问题; 扩展性

强, 规模增大, 性能不会减得太多

b.解决了管理问题

- 各个AS可以运行不同的内部网关协议

- 可以使自己网络的细节不向外透露

2.BGP协议简介

csharp 复制代码
1).BGP简介

BGP的全称是Border Gateway Protocol, 即边界网关协议

a.边界: 值的是一个独立网络的边界, 这个独立的网络通常是一个自治系统, 可以将它理解为一

个国家, 一个州或一个大型公司, 比如中国电信, Google的网络

b.网关: 网络的出口和入口

c.协议: 一套约定好的通信规则

BGP就是运行在不同自治系统的边界路由器之间, 用于交换路由信息的一种协议
csharp 复制代码
2).BGP的核心特点与工作原理

a.它是什么类型的协议

- 路径矢量协议: 它不仅仅告诉对方目的地在哪里, 还会告诉对方到达目的地完整路径(经过了

哪些AS); 就像给你指路时, 不说往东走, 而是说你先去A市, 然后去B市, 最后到达C市

- 外部网关协议: 它用于不同自治系统之间

b.它基于什么工作

BGP路径选择不单单取决于谁"最近"或"最快", 在决定使用哪条BGP路径时, 会基于一系列商业

策略, 比如:

谁是上游提供商? 我应该优先使用我付费购买的互联网出口路径

谁是对等伙伴? 我和另一个运营商是免费交换流量, 可以优先走这条路

避免穿越竞争对手的网络

政治和法律要求: 比如让某个地区的流量尽量在本地区内交换

c.它是如何建立连接的

两个想要交换路由信息的AS, 需要由其边界路由器手动配置建立BGP对等会话; 一旦建立, 它们

会交换完整的路由表, 之后只有网络发生变化时, 才会发送增量更新

d.BGP像是将互联网各个AS粘在一起的胶水, BGP给每个AS提供以下方法:

- eBGP: 从相邻的AS那里获得子网可达信息

- iBGP: 将获得的子网可达信息传输到AS内部的所有路由器

- 根据子网可达信息和策略来决定到达子网的好路径

3.BGP路径通告

csharp 复制代码
BGP会话: 2个BGP("peers")在一个半永久的TCP连接上交换BGP报文, 通告向不同目标子网前

缀的"路径"
csharp 复制代码
当AS3网关路由器3a向AS2的网关路由器2c通告路径: AS3, X

a.3a参与AS内路由运算,知道本AS所有子网X信息 

b.语义上: AS3向AS2承诺,它可以向子网X转发数据报

c.3a是2c关于X的下一跳(next hop)

csharp 复制代码
a.路由器AS2.2c从AS3.3a接收到的AS3, X路由通告(通过 eBGP)

b.基于AS2的输入策略, AS2.2c决定接收AS3,X的通告, 而且通过iBGP向AS2的所有路由器进

行通告 

c.基于AS2的策略, AS2路由器2a通过eBGP向AS1.1c路由器通告AS2, AS3, X路由信息

- 路径上加上了 AS2自己作为AS序列的一跳

csharp 复制代码
网关路由器可能获取有关一个子网X的多条路径, 从多个eBGP会话上

a.AS1网关路由器1c从2a学习到路径:AS2, AS3, X 

b.AS1网关路由器1c从3a处学习到路径AS3, X 

c.基于策略, AS1路由器1c选择了路径: AS3, X, 而且通过iBGP告诉所有AS1内部的路由器
相关推荐
迎仔1 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络
野指针YZZ2 小时前
一键配置RK3588网络与SSH远程连接
网络·ssh·rk3588
迎仔2 小时前
10-网络安全监控与事件响应:数字世界的智能监控与应急系统
网络·安全·web安全
上海合宙LuatOS3 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
深圳市恒星物联科技有限公司4 小时前
水质流量监测仪:复合指标监测的管网智能感知设备
大数据·网络·人工智能
科技块儿5 小时前
2026年我会推荐哪些IP归属地查询网站?
网络·ip地址·ip归属地·运维工具·网络工具·实用网站·2026工具推荐
米羊1215 小时前
已有安全措施确认(中)
网络
迎仔6 小时前
A-算力中心网络隔离总览:数字世界的“酒店房间“
网络
宝塔面板6 小时前
AllinSSL 一站式搞定 SSL 自动续期:永久免费,开源可自托管
网络·网络协议·ssl
csdn今天倒闭了吗6 小时前
飞牛lucky配置ipv6 ddns+ssl+反向代理
网络·网络协议·ssl