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内部的路由器
相关推荐
知乎的哥廷根数学学派13 分钟前
基于多尺度注意力机制融合连续小波变换与原型网络的滚动轴承小样本故障诊断方法(Pytorch)
网络·人工智能·pytorch·python·深度学习·算法·机器学习
好多渔鱼好多39 分钟前
【流媒体协议】RTSP / RTP / RTCP 协议全景介绍
网络·网络协议·rtp·rtsp·rtcp·ipc摄像头
映秀小子1 小时前
Wireshark加减显示列
网络·测试工具·wireshark
捷米研发三部1 小时前
EtherNet/IP转CAN协议转换网关实现罗克韦尔 PLC与压力传感器通讯在轮胎压力监测系统的应用案例
服务器·网络
飞睿科技1 小时前
UWB技术在机器人领域的创新应用与前景
网络·人工智能·机器人·定位技术·uwb技术
石像鬼₧魂石2 小时前
80 端口(Web 服务)渗透测试完整总结(含踩坑 + 绕过 + 实战流程)
linux·运维·服务器·前端·网络·阿里云
MrTung.2 小时前
ensp VARP
网络
Boyle. Z2 小时前
校园网环境中iKuai 二级路由联网与 DNS 优化指南
网络·智能路由器
五仁火烧2 小时前
HTTP 服务器
服务器·网络·网络协议·http
sww_10262 小时前
TCP协议
服务器·网络·tcp/ip