背景

路由表中装载着路由器通过各种途径获知的路由条目,每一个路由条目包含目的网络地址/网络掩码、路由协议(路由的来源)、出接口、下一跳IP地址、路由优先级及度量值等信息。

路由来源

  • 任何一台支持路由功能的设备都需要维护路由表以便正确地转发数据,在一个实际的网络中,一台路由器的路由表往往包含多条路由,这些路由可能从不同的来源获取。
  • 如下图所示,路由表中路由信息的来源可归为三类,分别是直连路由、静态路由及动态路由协议。
  • 路由表中“Proto”列显示了该条路由是从什么来源获取到的。

直连路由

  • 路由器能够自动获取本设备直连接口的路由并将路由写入路由表,该种路由被称为直连路由(Direct Route ),
  • 直连路由的目的网络一定是路由器自身某个接口所在的网络。
  • 直连路由的发现是路由器自动完成的,无需人为干预。

示例

如下图所示的网络拓扑中,当完成三台路由器的接口IP地址配置并激活接口后,路由器将自动发现直连接口的路由。

  • 以R2为例,由于GE0/0/0接口配置了IP地址192.168.12.2/24,R2能够根据这个IP地址及网络掩码判断出该接口处于192.168.12.0/24网段,
  • 于是R2会在路由表中创建一条直连路由,路由的目的网络地址及掩码长度为192.168.12.0/24,
  • 因为该条路由为直连路由,所以此协议类型为Direct,
  • 直连路由优先级为0(直连路由优先级最高),度量值也为0(直连网络就在“家门口”,因此度量值为0),出接口为GE0/0/0,下一跳IP地址为其自身接口的IP地址192.168.12.2。
  • 并且R2也能发现192.168.23.0/24这条直连路由。

接口物理状态和协议状态

  • 一个接口的直连路由被加载到路由表的前提是该接口的物理状态(Physical Status)及协议状态(Protocol Status )都必须是Up的。

  • 如下图所示,可以通过display ip interface brief命令(HW)查看:

  • 以R2的Serial1/0/0接口为例,假设该接口所连接的线缆被拔除,则接口的物理及协议状态都将变成Down(关闭),此时接口的直连路由也就从R2的路由表中消失。

如果R2及R3采用PPP (Point-to-Point Protocol,点对点协议)链路互联:

  • 即R2的Serial1/0/0与R3的Serial1/0/0接口均采用PPP作为数据链路层封装协议,并且这段链路使用PPP认证,R3作为PPP认证方,假设此时R2接口上配置的用于PPP认证的用户名或密码有误,导致PPP认证不成功,
  • PPP认证如果不成功,会导致R2及R3的Serial 1/0/0接口出现物理状态为Up但是协议状态为Down的情况。在这种情况下,路由器仍然认为该接口不可用,并且该接口的直连路由也就不会出现在路由表中。

静态路由

  • 为了让路由器能够到达远端网络(非直连网络),在路由器上可以部署手工配置静态路由(Static Route )。
  • 通过这种方式维护路由表项虽然简单直接,但是可扩展性差,如果在规模较大的网络中完全使用静态路由,配置工作量就会很大,而且静态路由无法根据网络拓扑的变化作出动态响应,这也是其一大弊端。

动态路由

  • 为了让路由器能够到达远端网络(非直连网络),在路由器上也可以部署动态路由协议(Dynamic Routing Protocol)。
  • 一旦路由器激活动态路由协议,它们就相当于拥有了“交谈”的能力,设备之间可以交互信息从而自动计算或者发现网络中的路由。

路由的优先级

  • 路由器可以通过多种方式获得路由条目:自动发现直连路由、手工配置静态路由或通过动态路由协议自动学习到动态路由。
  • 当路由器从多种不同的途径获知到达同一个目的网段(路由的目的网络地址及网络掩码均相同)的路由时,路由器会比较这些路由的优先级,优选优先级值最小的路由。

示例

如下图所示的网络拓扑:

  • R2与R1使用RIP交互路由信息,R2又通过OSPF与R3建立邻接关系,
  • 因此R2同时从RIP及OSPF都学习到了去往1.1.1.0/24的路由,这两条路由来自两个不同的动态路由协议并且分别以R1和R3作为下一跳。
  • 但是R2最终选择OSPF的路由加载到路由表,将R3作为实际到达1.1.1.0/24的下一跳,原因是OSPF内部路由的优先级值比RIP更小,故路由则更优。
  • 需要注意的是,此时R2的路由表中到达1.1.1.0/24的路由只会存在一条,那就是通过OSPF获知的路由,而关于该网段的RIP路由则“隐藏”了起来,当这条OSPF路由失效时,RIP路由才会浮现并被R2加载到路由表中。
  • 如下图所示,不同的路由协议或路由种类对应的优先级(HW)。这是一个众所周知的约定(对于不同的厂商,这个约定值可能有所不同)。

路由度量值

  • 度量值(Metric )也是影响路由优选的因素之一。
  • 路由表中“Cost”这一列显示的就是该条路由的度量值,因此度量值也被称为开销。
  • 度量值就是设备到达目的网络的代价值。
  • 直连路由的度量值为0(路由器认为这是自己直连的网络,也就是在“家门口”的网终,从自己家走到家门口自然不需要耗费任何代价)。另外静态路由的度量值缺省也为0,而不同的动态路由协议定义的度量值是不同的,比如RIP路由是以跳数(到达目的网络所需经过的路由器的个数)作为度量值,而OSPF则以开销(与链路带宽有关)作为度量值。

示例

如下图所示的网络拓扑中,

  • 所有的路由器都部署了动态路由协议RIP。
  • R1将直连网段1.1.1.0/24发布到了RIP中,
  • 因此R5将会分别从R3及R4学习到RIP路由1.1.1.0/24,从R3学习到的1.1.1.0/24路由的跳数为3,而从R4学习到的路由的跳数为2,因此R5认为从R4到达目标网段要“更近一点”,花费的代价更小一点,于是它将R4通告过来的RIP路由加载到路由表,这样,当R5转发到达该目标网段的数据时,会将其发往R4。
  • 另外当R5-R4-R1这段路径发生故障时,R5可能丢失R4所通告的1.1.1.0/24路由,此时R3通告的路由将会被R5加载进路由表,如此一来,到达1.1.1.0/24的数据流量将会被R5引导到R3-R2-R1这条路径。
  • 通过上述示例可知度量值是一个影响路由优选的重要因素,基于此原因,在实际的项目中,我们经常利用度量值来实现各种路由策略,从而影响数据流的走向。

总结

一台路由器可以同时通过多种途径获得路由信息,当出现到达同一个目的网段的路由通过多种不同的途径学习到的情况时,路由器会比较路由的优先级,选择优先级值最小的路由。
而当路由器从多个不同的下一跳,通过同种路由协议获知到达同一个目的网段的路由时,它则会进行度量值的比较。另外有些路由协议的路由优选机制会更加复杂一些,例如OSPF或BGP,在执行路由优选时就并不只是单纯地比较度量值这么简单了。

路由来源、优先级和度量值相关推荐

  1. 思科isis路由的优先级_何谓“路由” ,带你了解路由的本质,轻松配置路由简单排除故障...

    提到网络,绕不开路由这个词,很多人都知道路由器和其作用,但对于路由的了解也并不深入,导致一些网络上的故障特别是广域网上的故障,无法快速解决或者没法解决.其实归根结底还是没明白路由的精髓. 路由简单理解 ...

  2. 静态路由与动态路由的优先级_静态路由基础知识

    静态路由是指由管理员手动配置和维护的路由.静态路由配置简单,并且无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新. 静态路由的缺点在于,当网络拓扑发生变化时,静态路由不会自动适应拓扑改变, ...

  3. 思科isis路由的优先级_【分享】超全!集成ISIS知识详解~

    IS-IS路由协议简介 IS-IS是国际标准化组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议. 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF(Internet Engi ...

  4. 网络篇 OSPF度量值计算-43

    OSPF度量值计算 默认情况下,思科路由器根据接口的带宽来计算OSPF的开销,带宽越高,开销就越低.默认情况下计算的公式为:OSPF度量值=100/接口带宽(接口带宽以Mbit/s为单位)或者OSPF ...

  5. 第五部分: 定义度量值和主数据监管

    大数据治理统一流程参考模型(续) 第十步:定义度量值 数据治理需要全面的度量值或关键业务指标(KPI)来衡量和跟踪数据治理计划的进度,考核数据治理的效果.定义度量值的步骤如下: 根据业务需求,了解业务 ...

  6. JQ 全选后获取选中的值_为什么在PBI中还需要切片器之三:Excel切片器之度量值切换...

    Excel切片器之度量值切换 原创 海峰 没想到上篇文章一经发出,很快就过了10个留言,大喜过望,今天立马揭晓切片器之度量切换的应用. 切片器之度量切换----参数法 创建参数表,如下并导入数据模型 ...

  7. ITK:计算两个图像之间的均方度量值

    ITK:计算两个图像之间的均方度量值 内容提要 输出结果 C++实现代码 内容提要 计算两个图像之间的均方根度量. 输出结果 来自2张图像的数据通过输出传递: [-10, -10]: 23101.7 ...

  8. oauth_client_details的值怎么添加_PowerBI计算列与度量值

    有两个地方可以输入DAX公式:计算列和度量值. 1 新建列 Power BI虽然源于Excel,但毕竟是不同的产品.我们要试图抛弃Excel中单元格思维的方式,在BI中的表是以列式存储,没有Excel ...

  9. 通过 Visual Studio 的“代码度量值”来改进代码质量

    1 软件度量值指标 1.1 可维护性指数 表示源代码的可维护性,数值越高可维护性越好.该值介于0到100之间.绿色评级在20到100之间,表明该代码具有高度的可维护性:黄色评级在10到19之间,表示该 ...

最新文章

  1. 怎么帮java转换成类图_有把java代码直接转成uml类图的工具吗 – 手机爱问
  2. 添加linux系统调用的两种方式
  3. 元数据交换绑定的秘密
  4. 获取汉字拼音的简便方法
  5. 第一次运行OSG入门程序失败记和搞定的情况
  6. PHP.ini修改配置下载上传文件大小
  7. 区块链参考资源, 雷达 信号处理
  8. deviceiocontrol buffered 返回不了_这3种减肥法是无用功,累死累活也瘦不了
  9. linux下面的挂载点讲解
  10. 学了前端可以做什么?前端开发有哪些应用场景??
  11. (转载)Linux上iptables防火墙的基本应用教程
  12. mysqld mysql-debug_mysqld --debug-sync
  13. 编译linux搭建vs2015,使用Vs2015开发linux(centos7)程序
  14. 如何获取微信好友的地理位置信息
  15. Swift 复数变量定义
  16. 鸿蒙开发者招募!给后辈的一点建议,终局之战
  17. CSR867x学习笔记:SPP Server and Client
  18. kdj指标主要看哪个值_KDJ指标怎么看?KDJ指标详解
  19. docker容器中配置文件修改错误,导致容器无法启动
  20. Rancher 和 KubeSphere 的对比

热门文章

  1. 概率论与数理统计(第二章---随机变量及其分布函数
  2. 强智教务管理系统爬虫难关1
  3. Python实现基于负熵最大判据的FastICA胎心信号分离
  4. CentOS 7 Shipyard启动时一直显示省略号的解决办法
  5. 老王出品:一文读懂证券业第三方存管和证券托管模式
  6. flex布局对行内子元素的影响
  7. 解线性方程组c语言实验报告,实验五线性方程组的迭代法实验
  8. 《腾云点菜宝》项目总结
  9. Fliqlo时钟屏保Windows版本
  10. 纽约Airbnb房源数据挖掘与房价预测评估模型