23 张图详解路由协议:计算机网络的核心技术

一口Linux 2021-07-29 11:50

开门见山,先上一张全景图。

上帝视角

路由的概念

在 TCP/IP 通信中,网络层的作用是实现终端的点对点通信。IP 协议通过 IP 地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。IP 地址可以识别主机和路由器,路由器可以把全世界的网络连接起来。

网络层

什么是路由器

路由器可以连接多个网络。它有多个端口,分别连接不同的网络区域。通过识别目的 IP 地址的网络号,再根据路由表进行数据转发。路由器会维护一张路由表,通过路由表的信息,路由器才能正确的转发 IP 报文。

路由器

什么是路由

路由是网络设备根据 IP 地址对数据进行转发的操作。当路由器收到一个数据包时,它根据数据包的目的 IP 地址查询路由表,如果有匹配的路由条目,就根据查询结果将数据包转发出去,如果没有任何匹配的路由条目,则将数据包丢弃,这个过程就是 IP 路由。除了路由器,三层交换机、防火墙、负载均衡设备甚至主机等设备都可以进行路由操作,只要这个设备支持路由功能

路由

什么是路由表

为了将数据包发给目的节点,所有节点都维护着一张路由表路由表是路由器通过各种途径获得的路由条目,每一个路由条目包含目的网段地址 / 子网掩码、路由协议、出接口、下一跳 IP 地址、路由优先级和度量值等信息。路由表记录 IP 包在下一跳应该发给哪个路由器。IP 包根据路由表在各个数据链路上传输。

路由表

路由表来源

一个实际的网络中,一台路由器通常包含多条路由条目,这些路由条目从不同的来源获取。路由表的来源可分为三类,分别是直连路由静态路由动态路由

  • 直连路由:路由器直接连接的路由条目,只要路由器接口配置了 IP 地址,接口状态正常,就会自动生成对应的直连路由。

直连路由
  • 静态路由:通过命令手动添加的路由条目就是静态路由。

静态路由
  • 动态路由:通过路由协议从相邻路由器动态学习到的路由条目。

动态路由

路由优先级

不同来源的路由有不同的优先级,优先级的值越小,则路由的优先级就越高。当存在多条目的网段相同,但来源不同的路由时,具有最高优先级的路由成为最优路由,将被加入到路由表中,而其它路由则处于未激活状态,不显示在路由表中。

路由协议的默认优先级如下:

路由优先级

路由环路

路由环路是数据转发形成死循环,不能正确到达目的地。

路由环路

路由环路的主要生成原因是配置错误的路由网络规划错误导致。比如:在两台路由器上配置到相同目的地址的路由表项,下一跳互相指向对方,就会造成路由环路。另外某些动态路由协议配置不当,也有可能产生环路。

黑洞路由

一条路由条目,无论是静态的还是动态的,都需要关联到一个出接口,出接口指的是设备要到达目的网络是的出站接口。路由的出接口可以是这个设备的物理接口,如千兆网口,也可以是逻辑接口,如 VLAN 接口,或者是隧道接口等。其中有一种接口非常特殊,那就是 Null 接口,只有一个编号,那就是 0 。Null0 是一个系统保留的逻辑接口,当网络设备在转发数据包时,如果使用出接口 Null0 的路由,那么数据包将被丢弃,就像被扔进了一个黑洞里,因此出接口为 Null0 的路由条目又被称为黑洞路由

黑洞路由是一种非常有用的路由条目,适用于如下场景:

  • 在网络使用中,按需将数据包指向黑洞路由,实现流量过滤。

  • 在已经部署路由汇总的网络中,用于防止数据转发出现环路。

  • 在部署了 NAT 的网络中,用于防止数据转发出现环路。

  • 在 BGP 网络中,用于发布特定网段的路由。

动态路由协议

静态路由是手动添加完成的。如果有 100 个网段,一个路由器就需要设置将近 100 条路由信息。网络使用过程中,不可避免的出现网段新增、删除、修改等情况,这些更新的路由信息需要在所有路由器上进行设置。还有一个不可忽视的问题,一旦某个路由器出现故障,数据传输无法自动绕过故障节点,只能通过手动设置才能恢复正常。

静态路由

如果是使用动态路由,提前设置好路由协议,路由器之间会定期交换路由信息,路由器会知道网络中其它网段的信息,动态生成路由表。如果网络出现变化,网段需要增删改时,只需要在相应的路由器上配置动态路由即可。不需要像静态路由那样,在所有路由器上进行修改。对于大型网络,路由器个数较多时,主要使用动态路由协议。

动态路由

即使网络上的节点出现故障,只要有一个可绕行的其它路径,那么路由器的路由表会自动重新设置,数据包也会自动选择这个路径。

采用路由协议后,网络拓扑结果变化的响应速度会大大提升。无论网络正常的增删改,还是异常的网络故障,相邻的路由器都会检测到变化,会把拓扑的变化通知网络中其它的路由器,使它们的路由表产生相应的变化。这个过程比手动对路由表的修改要快很多,也准确很多。

对于少于 10 个路由器的小型网络,静态路由或许已经能够满足需求,但是在大中型网络中,通常会使用动态路由协议,或者动态路由与静态路由协议相结合的方式来建设这个网络。

路由协议基本原理

路由器之间需要运行相同的路由协议,才能相互交换路由信息。每种路由协议都有自己的语言,即相应的路由协议报文。如果两台路由器启动了相同的路由协议,那么就有了相互通信的基础。不同的路由协议,有相同的目的,就是计算和维护路由表。通常工作过程包含 4 个阶段:

  • 邻居发现阶段:运行了路由协议后,路由器会主动把自己的网段信息发送给相邻的路由器。既可以使用广播发送路由协议消息,也可以单播将路由协议消息发送给指定的邻居路由器。

  • 交换路由信息阶段:发现邻居后,每台路由器都将自己的路由信息发送给相邻的路由器,相邻路由器又发送给下一个相邻的路由器。经过一段时间后,每台路由器都会收到网络中所有的路由信息。

  • 计算路由阶段:每一台路由器都会运行某种算法,计算出最终的路由表来。

  • 维护路由阶段:为了感知突然发送的网络故障,比如:设备故障或线路中断等,路由协议规定相邻两台路由器之间,应该周期性发送协议报文。如果路由器在一段时间内,没收到邻居发来的协议报文,就认为邻居路由器失效。

路由协议

自治系统

随着 IP 网络的发展,网络规模已经很大了,无论哪种路由协议都不能完成全网的路由计算,因此网络分成了很多个自治系统( AS , Autonomous System )或路由选择域 ( Routing Domain )。自治系统可以制定自己的路由策略,并管理自治系统内进行具体路由控制的路由器集合。

每个自治系统都有一个唯一的自治系统编号,它的基本思路是希望通过不同的编号来区分不同的自治系统。通过路由协议和自治系统编号,路由器可以确定路由路径和路由信息的交换方式。某个自治系统缺乏足够的安全机制,就可以利用编号改变路径回避它。

自治系统的编号范围是 1 ~ 65535 ,其中 1 ~ 64511 是注册的因特网编号,64512 ~ 65535 是专用网络编号。

自治系统和路由协议

EGP 和 IGP

自治系统(路由选择域)内部动态路由使用的协议是域内路由协议,即 IGP 。而自治系统之间的路由控制使用的是域间路由协议,即 EGP

IGP 和 EGP 的关系,跟 IP 地址网络号和主机号的关系类似。根据 IP 地址的网络号在网络中进行路由选择,根据主机号在网段内部进行主机识别一样。既可以根据  EGP 在区域网络之间进行路由选择,也可以根据 IGP 在区域网络内部进行主机识别

路由协议被分为 EGP 和 IGP 两个层次。没有 EGP 就不可能有世界上各个不同机构网络之间的通信,没有 IGP 机构内部也就不可能进行通信。

IGP 是指在同一个自治系统内交换路由信息的路由协议。RIPRIP2OSPF 属于 IGP 。IGP 的主要目的是发现和计算自治系统内的路由信息。

EGP 与 IGP 不同,EGP 用于连接不同的自治系统,并在不同自治系统间交换路由信息。EGP 的主要目的是使用路由策略和路由过滤等手段,控制路由信息在自治系统间的传播。BGP 属于 EGP

动态路由协议类型

按照路由的算法和路由信息的交换方式,路由协议可以分为距离矢量( Distance-Vector ,D-V )路由协议和链路状态( Link-State )路由协议。其中典型的距离矢量协议是 RIP ,典型的链路状态协议是 OSPF

距离矢量路由协议

距离矢量路由协议指的是基于距离矢量的路由协议,RIP 是最具代表性的距离矢量路由协议。距离矢量这个概念包含两个关键的信息:距离方向,其中距离是指到达目的网络的度量值(即所要经过路由器的个数),而方向指的是到达目的网络的下一跳设备。

距离矢量路由协议

每一台运行距离矢量路由协议的路由器会周期性的将自己的路由表通告出去,相邻的路由器收到路由信息并更新自己的路由表,再继续向其它直连的路由器通告路由信息,最终网络中的每台路由器都能知道各个网段的路由,这个过程称为路由的泛洪过程。

路由宣告

路由器之间互换目的网络的方向和距离的信息,并以这些信息更新路由表。这种方法在处理上比较简单,不过由于只有距离和方向的信息,所以当网络构造变得复杂时,在获得稳定的路由信息之前需要消耗一定时间(即路由收敛时间长),也极易发生路由循环等问题。

路由收敛

链路状态路由协议

运行链路状态路由协议的路由器会使用一些特殊的信息描述网络的拓扑结构和 IP 网段,这些信息被称为链路状态信息LSA ),所有路由器都会产生自己直连接口的链路状态信息。

链路状态路由协议

路由器将网络中泛洪的链路状态信息搜集起来,存入一个数据库中,这个数据库就是 LSDB (链路状态数据库),LSDB 是对整个网络的拓扑结构及 IP 网段的描述,路由器拥有相同的 LSDB 。对于任何一台路由器,网络拓扑都完全一样。

LSDB

接下来所有的路由器都基于 LSDB 使用最短路由优先算法进行计算,得到一棵已自己为根的、无环路的最短路径树,并将得到的路由加载到路由表中。

带权有向图

链路状态算法使用增量更新机制,只有当链路的状态发生变化时,才发送路由更新信息。

最短路径树

相比距离矢量路由协议,链路状态路由协议具有更大的扩展性和更快的收敛速度,但是它的算法消耗更多的内存和 CPU 处理能力。

路由协议的性能指标

不同的路由协议,有不同的特点。各个路由协议的性能指标体现如下:

  • 协议计算的正确性:是指路由协议的算法会不会产生错误的路由导致网络环路。不同的路由协议使用的算法不同,因此路由正确性也不相同。链路状态路由协议(如 OSPF )在算法上杜绝了产生路由环路的可能性,比距离矢量路由协议更优。

  • 路由收敛速度:路由收敛是指全网路由器的路由表达到一致状态。收敛速度快,意味着网络拓扑结构发生变化时,路由器能够更快的感知,并及时更新相应的路由信息。OSPF 、BGP 等协议的收敛速度快于 RIP 。

  • 协议所占的系统开销:路由器在运行路由协议时,需要消耗的系统资源,比如:CPU 、内存等。工作原理的不同,各个路由协议对系统资源的需求也不同。OSPF 路由技术的系统开销要大于 RIP 协议。

  • 协议自身的安全性:是指协议设计时,有没有考虑防止网络攻击。OSPF 、RIPv2 有相应的防止攻击的认证方法,而 RIPv1 没有。

  • 协议适用网络规模:不同路由协议所适用的网络规模、拓扑结构不同。RIP 协议有 16 跳的限制,所以只能应用在较小规模的网络中;而 OSPF 可以应用在几百台路由器的大规模网络中;BGP 能够管理全世界所有的路由器,其所管理的网络规模大小只受系统资源的限制。

主要路由协议

各种路由协议都需要使用 IP 来进行报文封装,但其细节有所不同。

RIP 协议是最早的路由协议,是为小型网络中提供简单易用的动态路由。RIP 协议报文采用 UDP 封装,端口号是 520 。由于 UDP 是不可靠的传输层协议,所以 RIP 协议需要周期性的广播协议报文来确保邻居收到路由信息。

OSPF 是目前应用最广泛的路由协议,可为大中型网络提供分层的、可靠的路由服务。OSFP 直接采用 IP 进行封装,所有协议报文都由 IP 封装后进行传输,协议号是 89 。IP 是尽力而为的网络层协议,本身是不可靠的,所以为了保证传输的可靠性,OSPF 采用了复杂的确认机制来保证传输可靠。

BGP 采用 TCP 来保证协议传输的可靠性,TCP 端口号是 179 。BGP 不需要自己设计可靠传输机制,降低了协议报文的复杂度和开销。

路由协议的底层协议图

几种主要的路由协议表如下:

路由协议对比表


end




关注,回复【1024】海量Linux资料赠送
 精彩文章合集
linux入门
C语言
Linux驱动
ARM
计算机网络
粉丝问答
所有原创
一口Linux 写点代码,写点人生!
评论
  • 随着航空航天技术的迅猛发展,航空电子网络面临着诸多挑战,如多网络并行传输、高带宽需求以及保障数据传输的确定性等。为应对这些挑战,航空电子网络急需一个通用的网络架构,满足布线简单、供应商多、组网成本相对较低等要求。而以太网技术,特别是TSN(时间敏感网络)的出现,为航空电子网络带来了新的解决方案。本文将重点介绍TSN流识别技术在航空电子网络中的应用,以及如何通过适应航空电子网络的TSN流识别技术实现高效的航空电子网络传输。一、航空电子网络面临的挑战航空航天业专用协议包括AFDX、ARINC等,这些
    虹科工业智能互联 2024-11-29 14:18 100浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 60浏览
  • By Toradex胡珊逢简介嵌入式领域的部分应用对安全、可靠、实时性有切实的需求,在诸多实现该需求的方案中,QNX 是经行业验证的选择。在 QNX SDP 8.0 上 BlackBerry 推出了 QNX Everywhere 项目,个人用户可以出于非商业目的免费使用 QNX 操作系统。得益于 Toradex 和 QNX 的良好合作伙伴关系,用户能够在 Apalis iMX8QM 和 Verdin iMX8MP 模块上轻松测试和评估 QNX 8 系统。下面将基于 Apalis iMX8QM 介
    hai.qin_651820742 2024-11-29 15:29 150浏览
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 157浏览
  • 在现代科技浪潮中,精准定位技术已成为推动众多关键领域前进的核心力量。虹科PCAN-GPS FD 作为一款多功能可编程传感器模块,专为精确捕捉位置和方向而设计。该模块集成了先进的卫星接收器、磁场传感器、加速计和陀螺仪,能够通过 CAN/CAN FD 总线实时传输采样数据,并具备内部存储卡记录功能。本篇文章带你深入虹科PCAN-GPS FD的技术亮点、多场景应用实例,并展示其如何与PCAN-Explorer6软件结合,实现数据解析与可视化。虹科PCAN-GPS FD虹科PCAN-GPS FD的数据处
    虹科汽车智能互联 2024-11-29 14:35 149浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 58浏览
  • 在电子技术快速发展的今天,KLV15002光耦固态继电器以高性能和强可靠性完美解决行业需求。该光继电器旨在提供无与伦比的电气隔离和无缝切换,是现代系统的终极选择。无论是在电信、工业自动化还是测试环境中,KLV15002光耦合器固态继电器都完美融合了效率和耐用性,可满足当今苛刻的应用需求。为什么选择KLV15002光耦合器固态继电器?不妥协的电压隔离从本质上讲,KLV15002优先考虑安全性。输入到输出隔离达到3750Vrms(后缀为V的型号为5000Vrms),确保即使在高压情况下,敏感的低功耗
    克里雅半导体科技 2024-11-29 16:15 119浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 63浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 88浏览
  • 国产光耦合器因其在电子系统中的重要作用而受到认可,可提供可靠的电气隔离并保护敏感电路免受高压干扰。然而,随着行业向5G和高频数据传输等高速应用迈进,对其性能和寿命的担忧已成为焦点。本文深入探讨了国产光耦合器在高频环境中面临的挑战,并探索了克服这些限制的创新方法。高频性能:一个持续关注的问题信号传输中的挑战国产光耦合器传统上利用LED和光电晶体管进行信号隔离。虽然这些组件对于标准应用有效,但在高频下面临挑战。随着工作频率的增加,信号延迟和数据保真度降低很常见,限制了它们在电信和高速计算等领域的有效
    腾恩科技-彭工 2024-11-29 16:11 106浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 57浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-29 14:30 118浏览
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 157浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 71浏览
  • 光耦合器作为关键技术组件,在确保安全性、可靠性和效率方面发挥着不可或缺的作用。无论是混合动力和电动汽车(HEV),还是军事和航空航天系统,它们都以卓越的性能支持高要求的应用环境,成为现代复杂系统中的隐形功臣。在迈向更环保技术和先进系统的过程中,光耦合器的重要性愈加凸显。1.混合动力和电动汽车中的光耦合器电池管理:保护动力源在电动汽车中,电池管理系统(BMS)是最佳充电、放电和性能监控背后的大脑。光耦合器在这里充当守门人,将高压电池组与敏感的低压电路隔离开来。这不仅可以防止潜在的损坏,还可以提高乘
    腾恩科技-彭工 2024-11-29 16:12 117浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦