(网络层)路由协议
目录
路由协议特点
图释
默认路由
特定主机路由
路由表信息
分组转发算法
动态路由
理想路由算法
分层次路由选择协议
自治系统 AS
因特网有两大类路由选择协议
转发和路由选择
路由协议特点
不存在一种绝对的最佳路由算法.所谓"最佳"只能是相对于某一种特定要求下得出的较为合理的选择而已
实际的路由选择算法,应尽可能接近于理想的算法
路由选择是非常复杂的问题,是网络中的所有结点共同协调工作的结果
路由选择的环境往往是不断变化的,而这种变化有时无法事先知道
图释
默认路由
定义: 当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择
适用范围: 一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的
优点: 减少路由表所占用的空间和搜索路由表所用的时间
特定主机路由
定义:为特定的目的主机指明一个路由
优点:使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由
路由表信息
目的网络
下一跳
度量
分组转发算法
特点:
- IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)
- 只有到达最后一个路由器时,才试图向目的主机进行直接交付
转发条件:
- 转发:
- 有一个匹配条目
- 没有匹配条目但是存在默认路由
- 丢弃:
- 直接连接的网络
- 没有匹配条目也没有默认路由
步骤:
动态路由
定义:
路由器动态共享其路由协议所依据的规则集
分类:
- 路由信息协议 (RIP)
- 增强型内部网关路由协议 (EIGRP)
- 开放最短路径优先 (OSPF)
理想路由算法
算法必须是正确的和完整的
算法在计算上应简单
自适应性(适应通信量和网络拓扑的变化)
分类:
- 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
- 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
法应具有稳定性
算法应是公平的
算法应是最佳的
分层次路由选择协议
出现原因:
- 因特网的规模非常大,现在已近有几百万个路由器相互连在一起
- 许多单位不愿意外界了解自己单位网络的布局细节和本部门采用的路由协议,但同时还希望连接到因特网上
自治系统 AS
定义:
在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由
现状:
尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略
图释:
因特网有两大类路由选择协议
内部网关协议 IGP (Interior Gateway Protocol)
概要:
即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议
基本思路:
- 是否可以直接交付
- 寻找来自邻居的帮助
- 接受谁的帮助比较好
RIP:
概要:
基于距离向量的路由选择协议,网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
包头:
命令字段: 为1表示请求,2表示应答.还有两个舍弃不用的命令(3和4),两个非正式的命令: 轮询(5)和轮询表项(6)
关于距离:
-
- 从一路由器到直接连接的网络的距离定义为 1
- 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1
- 允许一条路径最多只能包含 15 个路由器
- 最大值为16 时即相当于不可达
三个要点:
-
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息
- 按固定的时间间隔交换路由信息
处理临路由表的方法:
优点:
实现简单,开销较小
缺点:
这就是好消息传播得快,而坏消息传播得慢
OSPF:
三个要点:
-
- 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息."链路状态"就是说明本路由器都和哪些路由器相邻,以及该链路的"度量"(metric)
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,且每隔一段时间,要刷新一次数据库中的链路状态
优点:
-
- 更新过程收敛得快
- 支持可变长度的子网划分和无分类编址 CIDR
数据包:
特点:
不用 UDP 而是直接用 IP 数据报传送且数据报很短
图释:
划分区域:
目的:
能够用于规模很大的网络OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域
要求:
区域不能太大,在一个区域内的路由器最好不超过200个
优点:
利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量
主干区域:
-
-
- 要求 标识符规定为0.0.0.0
- 路由器 知道完整网络拓扑
- 作用 用来连通其他在下层的区域
-
非主干区:
-
-
- 路由器 内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况
- 要求 至少有一个区域边界路由器
-
五种分组类型:
-
- 问候(Hello)分组
- 数据库描述(Database Description)分组
- 链路状态请求(Link State Request)分组
- 链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态
- 链路状态确认(Link State Acknowledgment)分组
外部网关协议EGP (External Gateway Protocol)
概要:
若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4
BGP:
概要:
BGP 是不同自治系统的路由器之间交换路由信息的协议
交换路由信息:
就要先建立TCP连接,使用TCP连接交换路由信息的两个BGP 发言人,彼此成为对方的邻站或对等站
然后在此连接上交换 BGP 报文以建立 BGP 会话(session)
利用 BGP 会话交换路由信息
BGP 发言人:
BGP 发言人往往就是 BGP 边界路由器,但也可以不是 BGP 边界路由器,两个 BGP 发言人通过一个共享网络连接在一起的
图释:
特点:
BGP 协议交换路由信息的结点数量级是自治系统数的量级
每一个自治系统中 BGP 发言人(或边界路由器)的数目是很少的
BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀,下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列
在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表.但以后只需要在发生变化时更新有变化的部分.这样做对节省网络带宽和减少路由器的处理开销方面都有好处
BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由
过程:
报头:
四种报文:
打开(OPEN)报文 用来与相邻的另一个BGP发言人建立关系
更新(UPDATE)报文 用来发送某一路由的信息,以及列出要撤消的多条路由
保活(KEEPALIVE)报文 用来确认打开报文和周期性地证实邻站关系
通知(NOTIFICATION)报文 用来发送检测到的差错
转发和路由选择
转发(forwarding) 就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去
路由选择(routing) 按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由
路由协议
Internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。转发策略可以是人工指定的(通过静态路由、策略路由等方法)。在具有较小规模的网络中,人工指定转发策略没有任何问题。但是在具有较大规模的网络中(如跨国企业网络、ISP网络),如果通过人工指定转发策略,将会给网络管理员带来巨大的工作量,并且在管理、维护路由表上也变得十分困难。为了解决这个问题,动态路由协议应运而生。动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少。
[编辑]常见路由协议
常见的路由协议有RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS、BGP等。
RIP、IGRP、EIGRP、OSPF、IS-IS是内部网关协议(IGP),适用于单个ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(自治系统)内,有统一的AS number(自治系统号)。BGP是自治系统间的路由协议,是一种外部网关协议,多用于不同ISP之间交换路由信息,以及大型企业、政府等具有较大规模的私有网络。
[编辑]RIP
RIP很早就被用在Internet上,是最简单的路由协议。它是“路由信息协议(Route Information Protocol)”的简写,主要传递路由信息,通过每隔30秒广播一次路由表,维护相邻路由器的位置关系,同时根据收到的路由表信息计算自己的路由表信息。RIP是一个距离矢量路由协议,最大跳数为15跳,超过15跳的网络则认为目标网络不可达。此协议通常用在网络架构较为简单的小型网络环境.现在分为RIPv1和RIPv2两个版本,后者支持VLSM技术以及一系列技术上的改进。RIP的收敛速度较慢。
[编辑]OSPF
OSPF协议是“开放式最短路径优先(Open Shortest Path First)”的缩写,属于链路状态路由协议。OSPF提出了“区域(area)”的概念,每个区域中所有路由器维护着一个相同的链路状态数据库(LSDB)。区域又分为骨干区域(骨干区域的编号必须为0)和非骨干区域(非0编号区域),如果一个运行OSPF的网络只存在单一区域,则该区域可以是骨干区域或者非骨干区域。如果该网络存在多个区域,那么必须存在骨干区域,并且所有非骨干区域必须和骨干区域直接相连。OSPF利用所维护的链路状态数据库,通过最短生成树算法(SPF算法)计算得到路由表。OSPF的收敛速度较快。由于其特有的开放性以及良好的扩展性,目前OSPF协议在各种网络中广泛部署。
[编辑]IS-IS
IS-IS协议是Intermediate system to intermediate system(中间系统到中间系统)的缩写,属于链路状态路由协议。标准IS-IS协议是由国际标准化组织制定的ISO/IEC 10589:2002 所定义的,标准IS-IS不适合用于IP网络,因此IETF制定了适用于IP网络的集成化IS-IS协议(Integrated IS-IS)。和OSPF相同,IS-IS也使用了“区域”的概念,同样也维护着一份链路状态数据库,通过最短生成树算法(SPF)计算出最佳路径。IS-IS的收敛速度较快。集成化IS-IS协议是ISP骨干网上最常用的IGP协议。
[编辑]IGRP
IGRP协议是“内部网关路由协议(Interior Gateway Routing Protool)”的缩写,由Cisco于二十世纪八十年代独立开发,属于Cisco私有协议。IGRP和RIP一样,同属距离矢量路由协议,因此在诸多方面有着相似点,如IGRP也是周期性的广播路由表,也存在最大跳数(默认为100跳,达到或超过100跳则认为目标网络不可达)。IGRP最大的特点是使用了混合度量值,同时考虑了链路的带宽、延迟、负载、MTU、可靠性5个方面来计算路由的度量值,而不像其他IGP协议单纯的考虑某一个方面来计算度量值。目前IGRP已经被Cisco独立开发的EIGRP协议所取代,版本号为12.3及其以上的Cisco IOS(Internetwork Operating System)已经不支持该协议,现在已经罕有运行IGRP协议的网络。
[编辑]EIGRP
由于IGRP协议的种种缺陷以及不足,Cisco开发了EIGRP协议(增强型内部网关路由协议)来取代IGRP协议。EIGRP属于高级距离矢量路由协议(又称混合型路由协议),继承了IGRP的混合度量值,最大特点在于引入了非等价负载均衡技术,并拥有极快的收敛速度。EIGRP协议在Cisco设备网络环境中广泛部署。
[编辑]BGP
为了维护各个ISP的独立利益,标准化组织制定了ISP间的路由协议BGP。 BGP是“边界网关协议(Border Gateway Protocol)”的缩写,处理各ISP之间的路由传递。但是BGP运行在相对核心的地位,需要用户对网络的结构有相当的了解,否则可能会造成较大损失。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?