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内部的路由器
相关推荐
qyhua2 小时前
如何成功申请 Let’s Encrypt 证书:解决 HTTP-01 验证 403 错误的完整指南
网络·网络协议·http
此生只爱蛋2 小时前
【Linux】HTTP不打烊
网络·网络协议·http
Kapibalapikapi12 小时前
家用无线网络设置方案
网络
老蒋新思维12 小时前
借陈修超之智,搭建 AI 与 IP 的创新增长桥梁|创客匠人
网络·人工智能·网络协议·tcp/ip·ip·知识付费·创客匠人
遇见火星13 小时前
Linux 网络性能测试实战:用 iperf3 精准测出真实带宽与丢包率
linux·网络·php·iperf3
无心水13 小时前
【分布式利器:RocketMQ】2、RocketMQ消息重复?3种幂等方案,彻底解决重复消费(附代码实操)
网络·数据库·rocketmq·java面试·消息幂等·重复消费·分布式利器
重启编程之路13 小时前
python 基础学习socket -TCP编程
网络·python·学习·tcp/ip
Hqst_xiangxuajun14 小时前
服务器主板选用网络变压器及参数配置HX82409S
运维·服务器·网络
老蒋新思维14 小时前
陈修超入局:解锁 AI 与 IP 融合的创新增长密码
网络·人工智能·网络协议·tcp/ip·企业管理·知识付费·创客匠人