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内部的路由器