网络层
1~2. 网络层概述、虚电路、数据报服务 :【计算机网络】【湖科大MOOC】网络层概述 虚电路、数据报服务
3. IPv4地址 :【计算机网络】【湖科大MOOC】网络层IPv4地址 分类编址(ABCD类地址)、划分子网、无分类编制CIDR 定长和变长的子网掩码FLSM、VLSM
4~5. IP数据报的发送和转发过程、静态路由配置:【计算机网络】【湖科大MOOC】网络层IP数据报发送和转发过程 默认网关 静态路由配置 默认路由 路由环路
6. 路由选择协议
6.1 概述
6.1.1 路由选择 类别
6.1.2 因特网所采用的路由选择协议的 主要特点
-
自适应:动态路由选择,能较好地适应网络状态的变化。
-
分布式:互联网中的路由器之间通过 交换路由信息 共同完成路由信息的获取和更新。
-
分层次:将整个因特网划分为许多较小的 自治系统 AS (Autonomous System)。
概念解释:
1. 域间路由选择 即自治系统之间的路由选择,它使用 外部网关协议 EGP / 外部路由协议 ERP;
2. 域内路由选择 即自治系统内部的路由选择,它使用 内部网关协议 IGP / 外部路由协议 IRP。
注:EGP和IGP指的是路由协议的分类,而不是指具体的协议名称。
6.1.3 常见的 路由选择协议
路由选择协议是在路由器上执行的。
6.1.4 路由器的基本结构
-
路由表:(路由选择处理机接收 路由报文 来更新路由表)
1. 一般仅包含从 目的网络 到 下一跳 的 映射;
2. 需要对网络拓扑变化的 计算最优化;
3. 转发表 是由路由表得出的。(教学中不严格区分路由表和转发表)
6.2 内部网关协议—— 路由信息协议 RIP (Routing Information Protocol)
6.2.1 工作原理
-
基于距离向量 DV,RIP 要求 自治系统AS 内的每一个路由器都要维护从它自己到AS内其他网络的距离记录——距离向量 D-V (Distance-Vector);
-
RIP 使用 跳数 Hop 作为度量。
1)路由器 to 直连网络 = 1;
2)路由器 to 非直连网络 = 经过的路由器 + 1;
3)允许一条路径最多包含 15 个路由器,距离=16 相当于 不可达。
因此,RIP 只适用于 小型互联网。
6.2.2 好的路由
好的路由 = “距离短” 的路由,就是 所通过路由器数量最少的路由。
在下图中,RIP协议 选择路由 R1 → R4 → R5,该路由经过路由器数量少,尽管带宽小。
当有多条 “距离相等” 的路由时,可以进行 等价负载均衡。
6.2.3 RIP 中的信息交换
- 和谁交换信息? 仅与 相邻路由器 交换信息。
- 交换什么信息? 自己的 路由表 (封装在UDP报文中)。
- 何时交换信息? 周期性 交换(如每30s)。
6.2.4 RIP 的基本工作过程
-
路由条目的更新规则
1)当路由更新周期到时,路由器C将 RIP更新报文发送给D,可理解为将C的路由表发送给D;
2)D对C的路由表进行改造(距离+1,下一跳改为C);
3)D根据改造后的路由表和一定规则 更新 自己的路由表。
更新规则如下图所示。
-
RIP 存在 “坏消息传得慢” 的问题
如上情况,如果R2的RIP更新报文先到达R1,则R1会被该谣言误导,认为可以通过R2到达N1,距离为3;R1再把路由信息发送给R2… 以此类推,出现了下图所示的情况。
在此过程中,R1和R2出现了 路由环路 的问题,时间长达数分钟。
-
触发更新 —— 当路由表发生变化时就立即发送更新报文,而不仅是周期性发送;
-
水平分割 —— 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送。
6.3 内部网关协议—— 开放最短路径优先 OSPF (Open Shortest Path First)
6.3.1 介绍
- “开放” 表明 OSPF协议 是公开发表的,不受某一厂商控制;
-
基于链路状态 LA,链路状态是指本路由器和哪些路由器 相邻,以及相应链路的 “代价”(费用、距离、时延、带宽等);
- 采用最短路径优先 SPF 算法计算路由,保证不会出现路由环路;
-
不限制网络规模,更新效率高,收敛速度快。
6.3.2 基本工作原理
-
相邻路由器之间通过交互 问候分组 Hello,建立和维护 邻居关系
1)Hello分组封装在 IP数据报 中,发往组播地址(一组接口的地址)——224.0.0.5;
2)发送周期为10s;若40s未收到来自邻居的Hello分组,则认为该邻居路由器不可达。
-
使用 OSPF 的每个路由器都会产生 链路状态通告 LSA (Link State Advertisement),其中包括
1)直连网络的链路状态信息; 2)邻居路由器的链路状态信息;
LSA 被封装在 链路状态更新分组 LSU 中,采用 洪泛法 (路由器的广播)发送。
-
使用 OSPF 的每个路由器都有一个 链路状态数据库 LSDB,用于存储LSA;
通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终达到一致。
-
各路由器 基于LSDB进行最短路径优先SPF计算,构建出各自到达其他路由器的最短路径,即构建各自的路由表。
对带权有向图进行基于Dijkstra的SPF算法,得到以各路由器为根的最短路径。
6.3.3 OSPF 的五种分组类型
-
问候分组 Hello:发现和维护邻居路由器的可达性;
-
数据库描述分组:向邻居路由器给出自己的链路状态数据库中所有链路状态项目的摘要信息;
-
链路状态请求分组:向邻居路由器请求发送某项链路状态项目的详细信息;
-
链路状态更新分组:路由器将其链路状态进行洪泛法送,即对全网更新链路状态;
-
链路状态确认分组:对链路状态更新分组的确认分组。
各分组在 OSPF的工作过程中如何工作?
6.3.4 OSPF 在 多点接入网络 中路由器邻居关系的建立
- 选举 指定路由器 DR (designated router) 和 备用的指定路由器 BDR (backup DR);
- 所有的 非DR/BDR 只与 DR/BDR 建立邻居关系;
- 非DR/BDR 之间只能通过 DR/BDR 交换信息。
这样可以有效的减少网络中的通信量。
-
为了使 OSPF 能够用于规模很大的网络,OSPF 把一个自治系统再划分为若干个更小的范围 —— 区域 Area。
1)所有路由器都采用OSPF协议;
2)每个区域有一个32 bit 的区域标识符,主干区域为0,其他区域标识符互不相同;
3)把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,从而减少整个网络上的通信量;
4)路由器分类:
-
区域内路由器 IR:所有接口都在同一区域内 internal router;
-
区域边界路由器 ABR:每个区域为了与自治系统内的其他区域连通,一个接口连接自身所在区域,另一接口连接主干区域 area border router;
-
主干路由器 BBR:主干区域内的路由器,也包括区域边界路由器 backbone router;
-
自治系统边界路由器 ASBR:专门和本自治系统外的其他系统交换路由信息的主干路由器 AS border router。
总的来说,通过分层次的方法大大减少网络中的通信量,使OSPF协议能应用于更大规模的网络。
课程视频链接 (B站) :
https://www.bilibili.com/video/BV1c4411d7jb?p=1