HCNP路由交换学习指南--- 路由的基本概念

2023-10-27

HCNP路由交换学习指南— 路由的基本概念

交换机路由表学习

路由是一种逐跳(HopByHop)的行为,也就是说,数据从源被发出直至其到达目的地的过程中,沿途的每一台路由器都会执行独立的路由查询及报文转发动作,因此处于传输路径上的路由器都需要拥有到达目的网段的路由,否则该报文将在中途被丢弃。
在构建网络时,要充分考虑数据的双向可达性,也就是

在具备路由功能的华为数据通信产品上查看路由表的命令是

display ip routing-table

display ip routing-table
在这里插入图片描述

路由表中每个信息元素的含义如下。

  • 目的网络地址/网络掩码(Destination Network Address/Netmask):路由表相当于路由器的地图,而每一条路由都指向网络中的某个目的网络(或者说目的网段)。目的网络的网络地址(目的网络地址)及网络掩码(路由表中的“Destination/Mask”列)用于标识一条路由。

以图1-2所示的路由表为例,2.2.2.0/24就标识了一个目的网络,其中目的网络地址为2.2.2.0,掩码长度为24(或者说网络掩码为255.255.255.0),这就意味着路由器拥有到达2.2.2.0/24的路由信息。

注意:所谓的掩码长度指的是网络掩码中连续的二进制“1”的个数,例如某条路由的掩码长度为30,那么该路由的网络掩码是255.255.255.252,两者表达的意思是一致的,因此192.168.0.0与255.255.255.252等同于192.168.0.0/30。

- 路由协议(Protocol):表示该路由的协议类型,或者该路由是通过什么途径学习到的。路由表中的“Proto”列显示了该信息。

例如2.2.2.0/24这条路由,“Proto”列显示的是Static,这意味着这条路由是通过手工的方式配置的静态路由。再如22.22.22.22/32这条路由,这是一条主机路由(网络掩码为255.255.255.255),而这条路由的“Proto”列显示的是OSPF,则表明该条路由是通过OSPF这个路由协议学习到的。“Proto”列如果显示Direct则表明该条路由为直连路由,也就是这条路由所指向的网段是设备的直连接口所在的网段。

  • 优先级(Preference):路由表中路由条目的获取来源有多种,每种类型的路由对应不同的优先级,路由优先级的值越小则该路由的优先级越高。路由表中的“Pre”列显示了该条路由的优先级。当一台路由器同时从多种不同的来源学习到去往同一个目的网段的路由时,它将选择优先级值最小的那条路由。

例如,路由器A配置了到达1.1.1.0/24的静态路由,该条静态路由的下一跳为B,同时A又运行了RIP,并且通过RIP也发现了到达1.1.1.0/24的路由,而该条RIP路由的下一跳为C,此时A分别通过静态路由及RIP路由协议获知了到达同一个目的地——1.1.1.0/24网段的路由,A会比较静态路由与RIP路由的优先级,由于缺省时静态路由的优先级为60,而RIP路由的优先级为100,显然静态路由的优先级值更小,因此最终到达1.1.1.0/24的静态路由被加载到路由表中(静态路由在路由选择中胜出),当A收到去往该网段的数据包时,它将数据包转发给下一跳B。

  • 开销(Cost):Cost指示了本路由器到达目的网段的代价值,在许多场合它也被称为度量值(Metric),度量值的大小会影响到路由的优选。在华为路由器的路由表中,“Cost”列显示的就是该条路由的度量值。直连路由及静态路由缺省的度量值为0,此外,每一种动态路由协议都定义了其路由的度量值计算方法,不同的路由协议,对于路由度量值的定义和计算均有所不同。

  • 下一跳(NextHop):该信息描述的是路由器转发到达目的网段的数据包所使用的下一跳地址。
    在图1-2显示的路由表中,2.2.2.0/24路由的“NextHop”列显示10.1.12.2,这意味着如果该路由器收到一个数据包,经过路由查询后发现数据包的目的地址匹配2.2.2.0/24这条路由,则该路由器会将数据包转发给10.1.12.2这个下一跳。

  • 出接口(Interface):指示的是数据包被路由后离开本路由器的接口。还是以2.2.2.0/24路由举例,这条路由的“Interface”列显示的是GE0/0/0,这意味着如果该路由器收到一个数据包且经过路由查询后发现数据包的目的地址匹配该路由,则该路由器会将数据包转发给10.1.12.2这个下一跳地址,并从GE0/0/0接口送出。

路由信息来源

实际网络中,一台设备的路由表往往包含多条路由,这些路由可以从不同的来源获取;
如图1-3 所示,路由表中的路由信息的来源可归于三类,分别是直连路由,静态路由和动态路由协议。路由表中的“proto”列显示了获取的来源;

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

在图1-4所示的网络中,当我们完成三台路由器的接口IP地址配置并激活接口后,路由器将自动发现直连接口的路由。以R2为例,由于GE0/0/0接口配置了IP地址192.168.12.2/24,它能够根据这个IP地址及网络掩码判断出该接口处于192.168.12.0/24网段,于是它在路由表中创建一条直连路由,路由的目的网络地址及掩码长度为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命令查看:

display ip interface brief

如果对应的接口链接的线缆被拨除,则接口的物理及协议状态都将变更Down(关闭),此时接口的直连路由也就从R2的路由表中清除;

路由器能够自动发现直连路由并将路由加载到路由表,但是对于非直连的网络,网络管理员就需要想办法让路由器知晓了。为了让路由器能够到达远端网络(非直连网络),最简单的方法是为路由器手工配置静态路由(Static Route)。通过这种方式维护路由表项虽然简单直接,但是可扩展性差,如果在规模较大的网络中完全使用静态路由,配置工作量就会很大,而且静态路由无法根据网络拓扑的变化作出动态响应,这也是其一大弊端。另一种方法是使用动态路由协议(Dynamic Routing Protocol)。一旦路由器激活动态路由协议,它们就相当于拥有了“交谈”的能力,设备之间可以交互信息从而自动计算或发现网络中的路由。

路由的优先级

当路由器从多种不同的途径获知到同一目的网段(这些路由的目的网络地址及网络掩码均相同)的路由时,路由器会比较这些路由的优先级,优选优先级值最小的路由;


如图1-5所示,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加载到路由表中。

不同的路由协议或路由种类对应的优先级见表1-1。是一个众所周知的约定,各个厂商约定值可能有所不同,表中列出的是华为数通产品的约定;

路由的度量值

影响路由优选的因素除了路由优先级之外,还有一个重要的因素,那就是度量值(Metric)。路由表中“Cost”这一列显示的就是该条路由的度量值,因此度量值也被称为开销,本书统一使用度量值一词来描述这个概念。所谓度量值就是设备到达目的网络的代价值。直连路由的度量值为0,这点很好理解,因为路由器认为这是自己直连的网络,也就是在“家门口”的网络,从自己家走到家门口自然不需要耗费任何力气。另外,静态路由的度量值缺省也为0,而不同的动态路由协议定义的度量值是不同的,例如RIP路由是以跳数(到达目的网络所需经过的路由器的个数)作为度量值,而OSPF则以开销(与链路带宽有关)作为度量值。

在图1-6所示的网络中,所有的路由器都运行了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,在执行路由优选时就并不只是单纯地比较度量值这么简单了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HCNP路由交换学习指南--- 路由的基本概念 的相关文章

  • 快速能访问服务器的文件

    1 背景 访问ubuntu上的文件 2 方法 python3 m http server 8081 directory home NAS 共享访问协议 NFS SMB FTP WebDAV 各有何优势 http 1 Ubuntu 搭建文件服
  • Linux配置Acado

    如果需要使用acado的matlab接口 请移步 Linux Matlab配置Acado 首先 安装必要的软件包 sudo apt get install gcc g cmake git gnuplot doxygen graphviz 在
  • 服务器经常出现自动重启怎么办

    服务器自动重启是一个复杂且常见的问题 可能由多种原因引起 从硬件故障到软件问题 从电源问题到散热问题 每一个环节都可能成为服务器的杀手 在处理此类问题时 需要我们有一套完整的策略和方案 以便快速准确地定位并解决问题 1 硬件检查 首先 我们
  • 全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解——操作系统取证

    博主介绍 博主介绍 大家好 我是 hacker routing 很高兴认识大家 主攻领域 渗透领域 应急响应 python VulnHub靶场复现 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 文末
  • 运维的本质是什么?阿里“无人化”智能运维平台的演进

    差不多在两年前 阿里内部出现了很多运维中台 研发中台等等 那有没有后台呢 不好意思 我们只有中台 没有后台 会在中台上构建与业务相关的各个前台 目前阿里的业务几乎覆盖了所有行业 有着很多业务线 如果业务线的前台到中台全部都是我们自己去建设
  • 在win10和Linux上配置SSH 无密码登录

    文章目录 一 用途 二 在本地机器上使用ssh keygen产生公钥私钥对 1 在Linux 或macOS 上产生SSH公私钥的方法 2 在win10上产生SSH公私钥的方法 a 检查windows 本地是否安装有ssh b 在本地生成SS
  • 制作本地yum仓库

    root 192 cd etc yum repos d root 192 yum repos d ls redhat repo root 192 yum repos d vim rpm repo base name baseos gpgch
  • 使用匿名binder实现client向server端的死亡通知

    一 引言 因为binder是跨进程通信 难免会遇到服务端出现异常挂死的情况 这个时候需要通知到客户端进行相应的处理 在网络通信中是非常常见的机制 当然 在binder中 Android也为我们写好了相关的框架 但通过binder源码分析 你
  • AIDL通信过程中设置死亡代理

    概述 在进行进程间通信的过程中 如何服务端进程由于某种原因异常终止 我们的远程调用就会失败 影响我们的功能 那么怎么样能够知道服务端进程是否终止了呢 那就是给Binder设置死亡代理 下面看看如何设置 Override public voi
  • 服务器OS是什么意思?

    一 什么是服务器操作系统 服务器不仅仅是由高性能硬件组成 并且是要求客户端操作系统 如Windows和Mac OS 服务器还需要一个称为服务器操作系统的操作系统 二 与客户端OS的区别 无论是Windows还是Mac OS 家庭或办公室使用
  • 虚拟主机操作系统 Windows、Linux

    操作系统将直接影响服务器的性能 安全性和可用性 因此确保选择合适的操作系统对于成功运行您的网站或应用程序至关重要 以下是一些考虑因素 可帮助您选择适合您需求的虚拟主机操作系统 1 熟悉度和技术支持 如何选择操作系统应该考虑您的经验水平和熟悉
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • Linux 系统日志及其归档

    主要记录Linux 系统需要关注的日志文件 以及日志归档服务 rsyslogd 系统日志服务 rsyslogd 日志服务 rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务 Rsyslo
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选

随机推荐

  • Gazebo中特异性里程计odom的发布

    需求 将里程计 odom改成以小车初始位置为原点 车体坐标轴为方向建立坐标系 用该坐标系下的位姿作为里程计数据的位姿 分析 odom是ros发布的相对固定的里程计信息 不能使用命令行工具直接修改里程计信息参考的初始位置 因此 从 odom坐
  • QT5 创建“打开文件”按钮

    在GUI界面设计中 有时需要 打开文件 按钮 以加载外部文件 则需要我们用QFileDialog的静态函数完成 QT5中几个文件相关函数如下 函数名 作用 getOpenFileName 加载用户选择文件的文件名 getSaveFileNa
  • Java函数、数组

    Java函数 数组 函数 函数 就是定义在类中的具有特定功能的一段独立小程序 格式 修饰符 返回值类型 函数名 参数类型 参数1 参数类型 参数2 执行语句 return 返回值 返回值类型 函数运行后的结果的数据类型 参数类型 是形式参数
  • 手撸代码-删除链表的倒数第n个节点

    描述 给定一个链表 删除链表的倒数第 nn 个节点并返回链表的头指针 例如 给出的链表为 1 2 3 4 5 n 2n 2 删除了链表的倒数第 n 个节点之后 链表变为1 2 3 5 备注 题目保证 nn 一定是有效的 请给出时间复杂度为
  • Centos下配置Harbor私有仓库

    Centos下配置Harbor私有仓库 Harbor是一个开源的企业级容器镜像仓库 可以帮助用户建立和管理自己的私有Docker镜像仓库 本文将介绍在Centos操作系统下如何配置和使用Harbor私有仓库 安装Docker 首先 我们需要
  • 服务器安装完系统老重启,服务器老是自动重启

    服务器老是自动重启 内容精选 换一换 该任务以 Windows Server 2008 R2 64位 操作系统为例 指导用户安装Windows操作系统 由于镜像文件不同 安装步骤稍有不同 请根据实际的安装界面提示进行操作 请根据实际情况完成
  • linux文件系统初始化过程(3)---加载initrd(上)

    一 目的 本文主要讲述linux3 10文件系统初始化过程的第二阶段 加载initrd initrd是一个临时文件系统 由bootload负责加载到内存中 里面包含了基本的可执行程序和驱动程序 在linux初始化的初级阶段 它提供了一个基本
  • 如何在Linux中设置静态IP和配置网络

    如何在Linux中设置静态IP和配置网络 文章目录 如何在Linux中设置静态IP和配置网络 1 使用ifconfig的一次性修改 1 修改静态ip 2 修改网关 2 修改配置文件的永久性修改 1 Ubuntu相关系统 2 CentOS相关
  • C#+Sql Server开发一个简易的学生管理系统

    效果图 目前是这样 如果想做成这样 加一个DataGridView进行显示即可 使用VS2017新建一个控制台应用程序 连接数据库 即可对数据库进行增删改查 更多的功能还没有写 不适合直接拿去做课设 不过基本架子都有了 更多复杂的功能写sq
  • Qt之回调函数:6 在QT中使用回调函数替代信号槽

    文章目录 一 前言 二 如何使用CALLBACK工作 程序及解释 小方块 主窗口 MainWindow ui 总结 在QT中使用回调函数替代信号槽 前面讲了一堆 就是为了实现看到的这篇文章中的例子 由于对回调不懂 前前后后翻阅参考了一大堆优
  • 阻止a标签默认行为的几种简单方法

    1 a href Click Me a onclick方法负责执行js函数 而void是一个操作符 void 0 返回undefined 地址不发生跳转 a href Click Me a 和void 0 一样 都返回 undefined
  • 07_scrapy的应用——获取电影数据(通过excel保存静态页面scrapy爬虫数据的模板/通过数据库保存)

    0 前言 一般我们自己创建的一些python项目 我们都需要创建虚拟环境 其中会下载很多包 也叫做依赖 但是我们在给他人分享我们的项目时 不能把虚拟环境打包发送给别人 因为每个人电脑系统不同 我们可以把依赖导出为依赖清单 然后别人有了我们的
  • ext显示服务器文件系统,centos – 如何找出ext3文件系统损坏的原因?

    我们有一个运行CentOS 5 8虚拟机的VMware vSphere 5环境 在过去两周内 我们遇到了五个虚拟机事件 这些虚拟机的文件系统已损坏 需要修复fsck 以下是我们在日志中看到的内容 Nov 14 14 39 28 hostna
  • Ubuntu卸载软件:3种卸载方式

    1 使用Synaptic软件包管理器进行卸载 打开软件包管理器 Ubuntu自带了一个GUI Graphical User Interface 图形化用户界面 软件包管理器 它可 以让你在一个可视化窗口中卸载程序 如果你不习惯使用命令行 这
  • spring报错 XXX will not be managed by Spring

    如上提醒表示当前不是Spring管理着呢 是你的数据库插件Mybatis或者MybatisPlus给你管理呢 所以Spring给你温馨提醒了一下而已 又没有报错 解决的办法是在数据查找的方法上添加 Transactional 然后就会变成s
  • error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 找到一个或多个多重定义的符号

    今天在搞一个动态链接库的时候 出现了这样的错误 1 gt mfcs100ud lib dllmodul obj error LNK2005 DllMain 12 已经在 MSVCRTD lib dllmain obj 中定义 1 gt E
  • HTTPS之TLS1.2连接详解

    本文说一下HTTPS的会话连接详情 HTTPS连接除了正常的TCP三次连接 还引入了TLS连接 本文说的是基于 1 三次握手连接 首先通过三次握手连接来建立连接 接下来就是TLS连接 2 TLS第一次握手 ClientHello 客户端首先
  • Linux Kibana :nohup: 忽略输入并把输出追加到"nohup.out

    nohup 忽略输入并把输出追加到 nohup out 不要使用下面的命令启动 nohup kibana 改用 nohup kibana gt dev null 2 gt 1
  • 后台的BigDecimal字段,传到前端丢失精度问题

    后台的BigDecimal字段 传到前端丢失精度问题 后台的BigDecimal类型的字段 传到前端丢失精度 相关字段 private BigDecimal acreage 例如 该字段的值为 100 00 到前端就变成了 100 前端要求
  • HCNP路由交换学习指南--- 路由的基本概念

    文章目录 HCNP路由交换学习指南 路由的基本概念 交换机路由表学习 路由信息来源 路由的优先级 路由的度量值 HCNP路由交换学习指南 路由的基本概念 交换机路由表学习 路由是一种逐跳 HopByHop 的行为 也就是说 数据从源被发出直