第十二章 路由通信(一)

第十二章 路由通信

12.1 路由原理

本章将详细介绍路由通信的原理,重点在于理解路由过程,而实验内容相对次要。在实际生产环境中,通常采用企业级路由器,而不使用Windows或Linux主机作为路由器。因此,读者应重点把握通信原理,而不是具体的实验操作。

12.1.1 路由器工作原理

在网络基础部分,可能已经介绍过路由器的工作原理,这里我们再简要回顾一下:

第十二章  路由通信(一)如图所示,假设有两台客户机A和B,以及两台路由器R1和R2。网络被划分为三个网段,分别为192.168.10.0、192.168.20.0和192.168.30.0,主机与路由器的网卡IP如图所示。当主机A需要与主机B通信时,因为它们不在同一子网内,必须通过网关进行通信。主机A的网关是路由器R1的e0口IP,即192.168.10.2;主机B的网关是30.1。注意,每经过一个路由器,我们称为一跳。

路由器的工作原理基于OSI七层模型中的网络层功能,通过识别IP地址来完成数据包转发。路由器内部有一个专门用于指定通信路径的表格,称为路由表。路由器在启动时,会自动扫描接口所连接的网段,并将这些信息写入路由表,称为直连路由。如图所示,R1和R2各有两条直连路由,显示了e0和e1接口连接的网段。因为是直连的,所以下一跳部分为空,用*表示。当主机A访问主机B时(如图所示),R1收到A发送的数据包,并根据目的IP(30.2)查找路由表。由于R1的路由表中没有30.0网段的信息,R1会拒绝转发,导致A和B无法通信。只有当R1的路由表完整时,R1才会按照路由条目的指示进行转发。路由表的建立有两种方法:一种是人工手动输入,称为静态路由;另一种是通过路由器运行路由协议,让路由器之间相互学习,建立完整的路由表,称为动态路由。下面我们将分别介绍这两种方法。

12.2 静态路由

12.2.1 静态路由原理

如上图所示,要使A和B能够通信,必须在R1和R2上添加完整的路由表信息。路由表中最重要的信息包括三列:本机接口、目标网段和下一跳地址。基于图示环境,我们可以得出:若要从R1到达主机B所在的网段(即30.0网段),需要通过R1的e1口发送数据包给R2的20.2接口。因此,我们需要手动添加一条路由信息:e1 30.0 20.2。也就是说,R1要到达30.0网段,需要通过e1口将数据包发送给20.2。同理,我们需要在R2上添加e0 10.0 20.1的路由信息,以便从R2到达10.0网段。当R1和R2上的路由信息都添加完毕后,A和B就可以通信了。

12.2.2 路由添加命令

手动添加路由信息时,可以指定目标网段、目标IP或默认所有网段,因此手动添加的路由信息有三种类型:主机路由、网络路由和默认路由。

主机路由:指示如何到达某个特定IP地址,即某台主机。网络路由:指示如何到达某个网段。默认路由:指示如何到达任何网络。我们首先按照图示设置四台虚拟机,主机A和B可以使用Windows系统,R1和R2可以使用Linux虚拟机(需要连接两块网卡),并按图配置好IP地址。

接下来,我们配置路由器R1:

首先,在CentOS系统上启用路由功能,需要编辑路由配置文件:/usr/lib/sysctl.d/00-system.conf,具体配置过程如下:

vi /usr/lib/sysctl.d/00-system.conf —编辑路由配置文件,写入

net.ipv4.ip_forward = 1 —启用路由转发功能

systemctl restart network —重启服务,使配置生效

提示:网络或其他教材中可能使用echo … > … 的方式,但这种方式仅临时启用路由,原理相同,仅供参考。

route -n —查看路由表,也可以使用route命令不加参数或netstat -r命令

第十二章  路由通信(一)提示:在Linux 7.0之前的版本中启用路由:

vi /etc/sysctl.conf —编辑路由配置文件

修改或添加:net.ipv4.ip_forward= 1

service network restart

如图所示,路由表中只有两条直连信息。

我们先在主机A上配置好网关为10.2,然后ping主机B,查看提示结果:

第十二章  路由通信(一)如图所示,ping的结果显示10.2回复说目的网段不可达,这说明路由器R1上没有30.2的相关路由信息,因此不知道如何到达该路径,所以会报目的不可达。

如果我们在主机A上删除网关,即无网关状态,ping的结果如下:

第十二章  路由通信(一)如图所示,本机自己返回目的主机不可达,说明是由于没有网关造成的。

综上所述,通过执行ping操作,我们可以根据显示的结果来判断网络问题所在。

接下来,我们手动添加路由条目:

route add -net 192.168.30.0/24 gw 192.168.20.2 —添加网络路由

提示:也可以使用route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.20.2 添加,但为了简化,子网掩码通常使用CIDR表示法,即/XX的简写格式。

也可以使用route add -net 192.168.30.0/24 gw 192.168.20.2 dev ens34 命令,其中dev参数指定发出网卡,也可以省略不写,自动识别发出网卡。

添加完毕后,使用route命令查看路由表,结果如下:

微信 WeLM 微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

微信 WeLM 33 查看详情 微信 WeLM

第十二章  路由通信(一)如图所示,添加路由后,显示到达30.0网段,下一跳为20.2,表中gateway列表示下一跳地址,Iface列表示从本机的哪块网卡发出去。

然后,我们在主机A上添加好网关(10.2),ping主机B,会显示请求超时,这是因为路由器R2上还没有添加到达10.0网段的路由。提示:ping命令的通信过程是一去一回的,只有去和回都正常通信,才会显示ping通。因此,需要在R2上也添加路由:route add -net 192.168.10.0/24 gw 192.168.20.1,然后A和B就可以通信了。

第十二章  路由通信(一)在这里,我们会看到TTL的结果是126,这说明经过了两跳路由。提示:ping的结果是从对方回复时经过的路由跳数,Windows Server版系统的TTL默认值是128,每经过一跳,TTL会减1,所以A ping B的结果是TTL=126。我们可以使用tracert命令探测一下所经过的路由:

第十二章  路由通信(一)注意:tracert是Windows中的命令,在Linux中是traceroute,功能相同,务必记住。

接下来,我们演示一下主机路由和默认路由:

route del -net 192.168.30.0/24 —删除R1的网络路由

route add -host 192.168.30.2/32 gw 192.168.20.2 —添加主机路由,主机路由的掩码必须是/32,即255.255.255.255,为了区别VLSM或CIDR的变化。

添加主机路由后,A ping B可通,但是A ping 30.1不通了,仍会显示10.2回复目的网段不可达,因为R1路由表中只有30.2的信息,没有到达30.0的路由。

route del -host 192.168.30.2/32 —删除主机路由

接下来,我们来看默认路由。默认路由就是网卡的网关,即到任何非直连网络都走这个路径。我们在R1的20.1网卡上配置上网关,然后查看路由表:

第十二章  路由通信(一)第十二章  路由通信(一)如图所示,添加网卡的网关后,route命令可以看到网关,但看不到具体的网关IP,可以使用ip route命令查看路由表。A与B即可ping通。提示:ip系列命令在网络参数配置中有介绍。ip route add 192.168.30.0/24 via 192.168.0.2 dev ens34 也是添加静态路由的命令。

提示:在CentOS 7.4之前的版本中,route add default gw 192.168.20.2命令也可以手动添加默认路由,但在CentOS 7.4中,这个命令不起作用,只能在网卡上设置。

12.2.3 路由优先级

路由器的路由表中,主机路由、网络路由和默认路由的优先级如下:

主机路由 > 网络路由 > 默认路由

我们可以通过以下实验来证明:

route add -net 192.168.30.0/24 gw 192.168.20.2

先添加一条正确的网络路由

route add -net 192.168.30.2/32 gw 192.168.20.20

再添加一条错误的主机路由

当我们再次使用A ping B时,会发现网络不通了,说明错误的主机路由生效了,这也证明了主机路由的优先级高于网络路由。

用相同的方式,可以证明网络路由的优先级高于默认路由。

12.2.4 路由小结

通过以上实验,我们可以总结出路由器在转发数据包时的路由表审核过程:

路由器收到一个转发数据包后,根据数据包中的目的IP,首先查看路由表中有无完全匹配的主机路由,若有,直接执行,不查其他;若无,则查看路由表中有无相对匹配的网络路由,若有,直接执行,不查其他;若无,则按照默认路由执行;若无默认路由,则丢弃数据包,放弃转发。

接下来,我们来看一下客户机,这里我们使用的客户机是Windows系统,我们可以使用route print命令来查看路由表(提示:Windows系统查看路由表使用route print命令):

第十二章  路由通信(一)如图所示,路由表中只有一个10.0网段的直连路由(到10.0网段走192.168.10.1,即自己的网卡,到10.1又走127.0.0.1,即本机自己,说明是直连路由)。

Windows中添加路由的命令如下:

route add 192.168.30.0 mask 255.255.255.0 192.168.10.20

第十二章  路由通信(一)Windows的命令格式类似于Linux,也是指定到达30.0网段走10.20的下一跳。可见这条网络路由故意写成了错误的,则当A ping B时会不通,说明网络路由生效,并未走默认网关,可见Windows客户机也是按照路由表完成通信的。

总结可知:任何设备(路由器、主机)通信都必须通过查询路由表来决定通信路径,只不过,一般PC机上仅设置网关,即默认路由,来完成通信;任何设备(路由器、主机)当需要与异子网的主机通信时,都必须按照路由表所示,都要有下一跳网关的设置。

综上所述,希望大家可以通过路由案例,理解我们做的两个总结,这才是本章的重点所在。

以上就是第十二章 路由通信(一)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/362842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何用索引表优化 MySQL 千万级数据的模糊搜索?
上一篇 2025年11月6日 03:38:49
崩坏星穹铁道3.4无名勋礼新增自选光锥-3.4无名勋礼新自选光锥有哪些
下一篇 2025年11月6日 03:39:17

相关推荐

  • 2024全新Win7极限精简版32位下载(低配专用)

    一、准备工作: 一台配置较低的电脑:该版本Win7专为老旧设备打造,让旧电脑也能流畅运行! 稳定的网络环境:下载系统镜像需要联网,请确保网络连接正常。 U盘或光盘介质:用于写入安装文件,便于安装操作。 二、操作步骤: 获取安装包:前往官网或可信平台下载2024最新Win7极致简化版32位系统文件。 …

    2026年8月27日
    200
  • Win7电脑底下一排图标没了怎么办?Win7电脑底下一排图标没了解决

    Win7电脑底下一排图标没了怎么办?Win7电脑底下一排图标没了解决Win7电脑底下一排图标没了怎么办?Win7电脑底下一排图标没了解决Win7电脑底下一排图标没了怎么办?Win7电脑底下一排图标没了解决Win7电脑底下一排图标没了怎么办?Win7电脑底下一排图标没了解决

    win7电脑任务栏图标消失怎么办?在日常使用电脑时,任务栏是我们进行多种操作的重要工具,比如启动程序、调整音量或网络设置等。但有时会遇到win7电脑底部的任务栏图标突然不见了的情况,这该怎么办呢?别担心,下面将为大家介绍几种解决方法。 Win7电脑任务栏图标消失的解决方法 方法一:任务栏被误设为隐藏…

    2026年8月27日 用户投稿
    000
  • linux中改变文件所有者的命令是什么

    linux中改变文件所有者的命令是chown命令。 chown命令用来更改文件的属主,也就是指定文件的拥有者改为另一个指定的用户或组。 (推荐教程:linux教程) 命令格式: chown [选项]… [用户][:[组]] 文件… 举例: sudo chown book:book /work…

    2026年8月27日
    000
  • Linux 中 whereis 命令怎么用?

    在Linux中whereis命令作用会在特定目录中查找符合条件的文件,其语法为“whereis [-bfmsu]”,其可选参数有“-b”、“-B”、“-f ”、“-m”、“-M”、“-s”、“-S”、“-u”。 Linux whereis命令用于查找文件。 该指令会在特定目录中查找符合条件的文件。这…

    2026年8月27日
    000
  • Win10系统如何关闭激活状态?Win10关闭激活教程

    Win10系统如何关闭激活状态?Win10关闭激活教程Win10系统如何关闭激活状态?Win10关闭激活教程Win10系统如何关闭激活状态?Win10关闭激活教程Win10系统如何关闭激活状态?Win10关闭激活教程

    当您的电脑在重装系统后,即使之前已经激活过,仍然会收到需要激活的提示,这可能是由于激活信息未能正确保存或系统被还原导致的。此时,您可以尝试关闭当前的激活状态,然后进行重新激活。接下来,我们将详细讲解如何操作。 Win10关闭激活状态步骤 打开运行窗口按下键盘上的“Win+R”组合键,打开运行窗口。 …

    2026年8月27日 用户投稿
    100
  • 笔记本Win10怎么连接WiFi?笔记本Win10连接WiFi步骤

    一、准备条件: 首先,需要准备一台笔记本电脑,最好是安装了Win10系统的设备。此外,还需要一个可用的WiFi信号源,例如家庭无线路由器或公共场所提供的无线网络。 二、操作步骤: 1. 开启笔记本电脑,进入桌面系统界面。 2. 在屏幕右下角的任务栏区域找到WiFi标志,点击进入WiFi配置页面。 3…

    2026年8月27日
    000
  • windows黑屏无法唤醒怎么办?

    windows黑屏无法唤醒怎么办?windows黑屏无法唤醒怎么办?windows黑屏无法唤醒怎么办?windows黑屏无法唤醒怎么办?

    当我们使用windows系统的电脑时,有时会遇到电脑进入睡眠状态后黑屏并卡住,无法被正常唤醒的情况。这种问题大多与我们的系统设置有关。只需对电源管理的相关设置稍作调整,就能让电脑恢复正常唤醒功能啦!以下是具体的操作步骤。 Windows黑屏无法唤醒的解决办法 方法一: 1.右键单击【开始】菜单,选择…

    2026年8月27日 用户投稿
    300
  • Linux 中 vim 是什么意思?

    Linux中vim是从vi发展出来的一个文本编辑器,该编辑器具有代码补完、编译及错误跳转等方便编程的功能,并且在程序员中被广泛使用,而vi是老式的文本处理器,不过功能也已经很齐全了。 Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。…

    2026年8月27日
    000
  • 微软Defender在Arm设备上支持 Windows 10 的端点支持现在通常可

    微软公司在周一宣布,其终端防御者现已支持基于arm架构设备上的windows 10系统。这一功能的扩展是微软致力于将此类防护措施推广至更多终端设备的重要举措。 ARM设备能够充分运用Windows 10提供的安全保障,包括加密技术、数据保护以及先进的反病毒和反恶意软件功能。微软终端防御者借助云端驱动…

    2026年8月27日
    000
  • Linux系统怎么生成随机数

    Linux系统生成随机数的方法是:可以通过系统环境变量【$RANDOM】来实现,如【echo $RANDOM】。RANDOM的随机数范围有限,可以通过在随机数后增加加密字符串的方法来解决。 linux系统产生随机数有多种方法,下面来介绍几种: (推荐学习:linux教程) 方法一:通过系统环境变量(…

    2026年8月27日
    000
  • Java、Python和C 三者的区别是什么?

    探讨Java、Python和C三者的差异 在编程世界中,Java、Python和C是三种备受欢迎的编程语言。每种语言都有其独特的特征和适用领域,了解它们的差异对于选择合适的编程工具至关重要。 语言特性 Java 类型:Java属于静态类型语言,变量类型在编译时已确定。运行环境:Java程序运行于Ja…

    2026年8月27日
    100
  • Win7老电脑能升级Win10吗?老机专用Win10精简版系统下载

    你是否也有一台老旧的Win7电脑,想要升级到Win10却因配置不足而犯愁?别着急,今天我们就来为你提供解决方案!本文将详细介绍所需的工具、操作方法以及需要注意的事项,帮助你的旧设备重获新生! 一、所需工具: 首先,你需要一台运行着Win7系统的旧电脑(当然这是前提条件),此外还需要一个Win10精简…

    2026年8月27日
    000
  • Win10 Chromium Edge浏览器分享新功能和改进路线图

    在正式发布edge beta版本后,微软今日也分享了基于chromium的edge浏览器即将推出的功能与改进计划。edge团队提到,得益于测试用户的积极反馈,微软已陆续推出了dark模式、内嵌bing翻译、隐私管理以及收藏夹栏等功能。 微软着重介绍了下个月Edge Canary版本中的预期变化: E…

    2026年8月27日
    000
  • 怎么重启路由器_路由器软重启与硬重启操作方法教程

    重启路由器能解决多数网络问题,软重启通过断电或管理界面操作,保留配置并清除缓存;硬重启则恢复出厂设置,需重新配置网络。软重启适用于网速慢、信号不稳定等常见问题,建议定期进行;硬重启仅用于忘记密码、严重故障或转让设备时。若重启后仍慢,需排查宽带、信道干扰、设备数量、摆放位置或路由器性能瓶颈,必要时升级…

    2026年8月27日
    000
  • php-gd怎么安装扩展_php-gd扩展安装配置方法

    答案:安装并启用PHP的GD扩展需根据系统选择对应方法,Linux下通过yum或apt安装php-gd并重启服务,Windows下在php.ini中取消extension=gd注释后重启服务,最后通过phpinfo()或命令行验证是否成功。 安装和配置 PHP 的 GD 扩展(php-gd)是处理图…

    2026年8月27日
    000
  • OneDrive如何设置同步过滤_OneDrive同步文件筛选方法

    可通过选择性同步、按需文件和命令行工具实现OneDrive特定文件夹同步。首先在设置中选择账户并勾选需同步的文件夹,未选中的将仅保存于云端;其次启用按需文件功能后,文件以浅灰色图标显示,双击时自动下载;最后高级用户可使用PowerShell命令如Set-SyncShare排除特定文件夹,实现精细化控…

    2026年8月27日
    100
  • win11应用商店下载的应用找不到安装位置怎么办_win11应用安装路径问题修复方法

    通过PowerShell命令可准确查询Windows 11中Microsoft Store应用的安装路径;2. 若应用无法找到,可通过“设置”中的“修复”或“重置”功能恢复快捷方式和文件关联;3. 运行wsreset.exe可清除Microsoft Store缓存,解决安装信息异常问题;4. 最终可…

    2026年8月27日
    000
  • 企业微信聊天记录在电脑上的存储路径

    企业微信电脑版聊天记录存储路径因操作系统而异,windows系统为c:users[用户名]documentswxworkusers[企业微信id]data,macos系统为~/library/containers/com.tencent.weworkmac/data/documents/wxwork…

    2026年8月27日
    000
  • Win10专业版系统鼠标间歇性失灵卡顿怎么办?

    Win10专业版系统鼠标间歇性失灵卡顿怎么办?Win10专业版系统鼠标间歇性失灵卡顿怎么办?Win10专业版系统鼠标间歇性失灵卡顿怎么办?Win10专业版系统鼠标间歇性失灵卡顿怎么办?

    有用户反馈,在使用电脑时整体运行都很顺畅,但偶尔会遇到鼠标卡顿的问题,这严重影响了操作体验。这种情况可能是由于集成显卡与nvidia独立显卡或其驱动程序之间存在冲突引起的。接下来,小编将为大家介绍一些解决这一问题的方法。 方法一: 首先打开电脑桌面,然后依次点击开始菜单、设置图标,再选择“更新和安全…

    2026年8月27日 用户投稿
    200
  • VMware如何装大容量Ghost

    在 vmware 中部署大容量 ghost 镜像需要遵循一系列具体操作和注意事项。 首先,确认你的 VMware 软件已正确安装并可稳定运行。点击“创建新的虚拟机”,建议选择“自定义(高级)”配置模式,以便对虚拟机的各项参数进行更精细的调整。 在硬件兼容性设置界面,推荐选择与主机相匹配的硬件版本。接…

    2026年8月27日
    100

发表回复

登录后才能评论
关注微信