网络基础(八):路由器的基本原理及配置

目录

1、路由概述

2、路由器

2.1路由器的工作原理

2.2路由器的转发原理

3、路由表

3.1路由表的概述

3.2路由表的形成

4、静态路由配置过程(使用eNSP软件配置) 

4.1两个静态路由器配置过程

4.2三个静态路由器配置过程

5、默认路由配置过程

5.1默认路由的概述

5.2默认路由配置过程

6、路由器转发数据包的封装过程

6.1查看所有设备mac地址

6.2过程说明

6.3抓包验证

7、交换与路由对比


1、路由概述

从源主机到目标主机的转发过程

2、路由器

2.1路由器的工作原理

路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务,其工作原理就是根据路由表转发数据,详细过程如下:

①路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址,根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发送到下一个路由器

②如果没有找到,就需要查看有没有默认路由,如果有就按照默认路由的出口发送给下一个路由器,如果没有找到就给源IP发送一个出错ICMP数据包表明没法传递该数据包

③如果是直连路由就按照第二层MAC地址发送给目标站点

2.2路由器的转发原理

路由器位于网络层,需要寻找数据传输的最佳路径

3、路由表

3.1路由表的概述

  • 路由器中维护的路由条目的集合
  • 路由器根据路由表做路径选择

3.2路由表的形成

直连网段:当给路由器接口配置好ip地址,则路由器会自动将该接口的ip地址网段加到路由表中,形成直连路由。(可自动学习接口上的ip地址网段,且所有的接口一定处于开启状态)

非直连网段:

  • 静态路由:管理员需手动配置ip地址的网段和接口信息。是单向的,需要配置发送数据去的路由也要配置接收数据回来的路由。它的特点是缺乏灵活性,只适用于中小网络需要配置的路由条目少的情况。
  • 动态路由:通过动态路由协议自动学习,所有的路由器每隔一段时间,会将自己已知的网段信息以数据包的形式发送给相邻的路由器,进行网段信息的分享

4、静态路由配置过程(使用eNSP软件配置) 

4.1两个静态路由器配置过程

4.1.1新建拓扑,添加两个路由器、两个PC端,再连接它们对应的接口,最后开启这些设备。

4.1.2设置PC1和PC2不同网络区域的IP地址和网关以及子网掩码

4.1.3更改路由器AR1的名称和路由器AR2的名称,并配置路由器AR1和路由器AR2的IP地址网关和子网掩码

4.1.4查看PC1与AR1的g0口、PC2与AR2的g0口是否ping通,如果ping不通检查上述步骤是否出错,ping通则继续

4.1.5查看AR1和AR2路由表信息

输入display ip routing-table:查看路由表信息

注:

Destination/Mask:目标网段/子网掩码

Proto:路由信息的由来(Direct表示直连,Ospf rip表示动态学习,Static表示静态)

Pre:优先级(数值越低优先级越高),优先级越高越有话语权

Cost:花销值,数据传输经过多少台设备,与rip协议有关最多允许15个路由器

Nexthop:下一跳,接收数据的下一个设备的接口,一定是离出口最近的接口

Interface:接口(出口)

由路由器AR1的路由表中的Destination/Mask,查看到没有目的ip地址的网段:192.168.11.0的信息,说明不能传输数据到PC2,这时就需要配置静态路由就可以实现数据传送到PC2。

由路由器AR2的路由表中的Destination/Mask,查看到没有目的ip地址的网段:192.168.10.0的信息,说明不能传输数据回PC1,这时就需要配置静态路由就可以实现数据传送回PC1。

这样一来一回就可以实现PC1与PC2的联通

4.1.6配置AR1和AR2的静态路由

配置静态路由的通用格式:ip route-static 目的网段 子网掩码 下一跳地址

4.1.7检测PC1能否ping通PC2

4.1.8拓展:负载均衡下的静态路由配置

在路由器AR1与路由器AR2之间再加一条线路,需要注意这两条线的速率

添加AR1与AR2接口g2的ip地址,并调整优先级,其中直连为0,非直连静态为60

通用格式:ip route-static 目的网段 子网掩码 下一跳地址 preference 70(数值越大优先级越小)

4.2三个静态路由器配置过程

4.2.1新建拓扑,添加三个路由器、两个PC端,再连接它们对应的接口,最后开启这些设备。

4.2.2设置PC1和PC2不同网络区域的IP地址和网关以及子网掩码

4.2.3配置AR1、AR2、AR3路由器的两个接口的ip地址(网关)和子网掩码及静态路由

AR1路由器的静态路由只需要关注PC1传送数据到PC2的过程,所以只需要设置静态路由:ip route-static 192.168.11.0 24 10.10.10.2

AR2路由器的静态路由不仅需要关注PC1传送数据到PC2的过程,还需要关注PC2传输数据回PC1的过程,所以不仅需要设置静态路由:ip route-static 192.168.11.0 24 20.20.20.2,还需要设置静态路由:ip route-static 192.168.10.0 24 10.10.10.1

AR3路由器的静态路由只需要关注PC2传送数据回PC1的过程,所以只需要设置静态路由:ip route-static 192.168.10.0 24 20.20.20.1

4.2.4检测PC1能否ping通PC2

5、默认路由配置过程

5.1默认路由的概述

  • 一般在末梢网络(路由器上只连接了一个路由器)的路由器上
  • 配置默认路由后,当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口
  • 将一端主机上所有流量交给固定的地址(路由器)处理

5.2默认路由配置过程

 5.2.1沿用上述三个静态路由器图,PC1和PC2的ip地址、网关、子网掩码也与上述一样

5.2.2配置AR1、AR2、AR3路由器的两个接口的ip地址(网关)和子网掩码

5.2.3配置AR1、AR3的默认路由和AR2路由器的静态路由

配置默认路由的通用格式:ip route-static 0000(任意地址) 0(子网掩码) 下一条地址

配置静态路由的通用格式:ip route-static 目的网段 子网掩码 下一跳地址

5.2.4检测PC1能否ping通PC2

6、路由器转发数据包的封装过程

6.1查看所有设备mac地址

AR1、AR2、AR3路由器两个接口mac地址,输入:display int 接口进行查看

PC1、PC2双击在基础配置中查看mac地址

6.2过程说明

① 当使用ping工具输入命令ping 192.168.11.11开始,PC1会和自己的子网掩码相与,发现目的地址跟自己不在同一网段。此时会发送ARP广播,得到网关mac地址00e0-fc98-7c4b,把数据转交给网关处理(源mac:54-89-98-A7-75-4B,源IP地址:192.168.10.10,目的mac:00e0-fc98-7c4b,目的IP:192.168.11.11)

② 当数据包到达路由器AR1,路由器对数据进行拆包,对照路由表,根据目的IP从g0/0/0这个口发出。此时数据包要重新封装,源mac地址失效,需要重新发送ARP广播,重新封装数据包(源mac:00e0-fc98-7c4a,源IP地址:10.10.10.1,目的mac:00e0-fcba-7f2b,目的IP:102.168.11.11)

输入:display arp,查看arp协议

③ 到达路由器AR2继续拆包封装:(源mac:00e0-fcba-7f2d,源IP地址:20.20.20.1,目的mac:00e0-fca8-628b,目的IP:192.168.11.11)

④ 到达路由器AR3继续拆包封装:(源mac:00e0-fca8-628a,源IP地址:20.20.20.2,目的mac:54-89-98-16-31-3E,目的IP:0.0.0.0),最终到达目的mac

注:

  • 路由转换时,IP地址不变,MAC地址一直在变
  • 数据传输到下一个设备找不到目的MAC,会发送ARP请求,会消耗时间,理论上每次请求会丢包一次。超时几次跟ARP回复速率有关,ping有等待响应的过程,如果速度快可能丢包就会减少

6.3抓包验证

7、交换与路由对比

①交换工作在数据链路层

  • 根据“MAC地址表”转发数据
  • 硬件转发

②路由工作在网络层

  • 根据“路由表”转发数据
  • 路由选择
  • 路由转发 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/218914.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边缘计算系统设计与实践

随着科技的飞速发展,物联网和人工智能两大领域的不断突破,我们看到了一种新型的计算模型——边缘计算的崛起。这种计算模型在处理大规模数据、实现实时响应和降低延迟需求方面,展现出了巨大的潜力。本文将深入探讨边缘计算系统的设计原理和实…

黑马头条--day01.环境搭建

目录 一.前言 二.环境搭建 1.数据库 2.虚拟机搭建 3.1docker更换源 3.docker安装nacos 4.初始化工程 三.全局异常处理 四.登录加密 五.nacos公共配置数据源和mybatis-plus 六.user模块创建 1.配置文件bootstrap.yml 2.日志文件配置logback.xml 3.登录接口 七.统一结果处…

【INTEL(ALTERA)】 quartus SignalTap 逻辑分析器 – Nios® II 插件 无法检测 Nios® II/f 处理器内核

说明 使用 Nios II 插件将 Nios II/f 处理器内核节点添加到 SignalTap 逻辑分析器时,在 英特尔 Quartus Prime Pro Edition 软件 23.3 版中可能会出现此问题。 错误消息: 无法完成“添加带插件的节点”命令,因为在当前设计中找不到所选 IP。…

ubuntu 自动安装 MKL Intel fortran 编译器 ifort 及完美平替

首先据不完全观察,gfortran 与 openblas是 intel fortran 编译器 ifotr和mkl的非常优秀的平替,openblas连函数名都跟mkl一样,加了一个下划线。 1, 概况 https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-too…

dockerfite创建镜像---INMP+wordpress

搭建dockerfile---lnmp 在192.168.10.201 使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台 [rootdocker1 opt]# mkdir nginx mysql php [rootdocker1 opt]# ls #分别拖入四个包: nginx-1.22.0.tar.gz mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2 wor…

python:import 自定义包或者.py文件时出现:ModuleNotFoundError: no module named 的问题解决

问题: 在以下的示例中,wuHanMoviesSprider.py文件,想要import引用指定目录下的Items类时,出现无法识别module模块的问题(from 的引用处报错)。 原因分析: 正常情况下,被引用的包(或目录)中存在一个空文件…

golang反射(reflect)虽爽,但很贵

标准库 reflect 为 Go 语言提供了运行时动态获取对象的类型和值以及动态创建对象的能力。反射可以帮助抽象和简化代码,提高开发效率。 但是使用反射势必会多出大量的操作指令,导致性能下降 案例 字段赋值方式对比 type Student struct {Name string…

QML 自定义进度条组件开发

一、效果预览 二、介绍: 自定义的QML 屏幕亮度拖动进度条组件CusProgressBar 可跟鼠标移动 更改进度条样式 三、代码 import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQuick.Controls.Material 2.12/***author:Zwj*csdn:来份煎蛋吧*date:2023/12/16*…

爬虫工作量由小到大的思维转变---<第十一章 Scrapy之sqlalchemy模版和改造(番外)>

前言: 正常的pymysql当然问题不大,但是我个人还是建议:sqlalchemy! 因为他更能让我们把精力放在表单设计上,而不执着于代码本身了. (-----版权所有。未经作者书面同意,不得转载或用于任何商业用途!----) 正文: 先提供一个基础模版: 表图: 创建表的sql: CREA…

2023-12-14 二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数

二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数 104. 二叉树的最大深度 思想:可以使用迭代法或者递归!使用递归更好,帮助理解递归思路!明确递归三部曲–①确定参数以及返回参数 ②递归结束条件 ③单层逻辑是怎么样…

C#中的封装、继承和多态

1.引言 在面向对象的编程中,封装、继承和多态是三个重要的概念。它们是C#语言中的基本特性,用于设计和实现具有高内聚和低耦合的代码。本文将详细介绍C#中的封装、继承和多态的相关知识。 目录 1.引言2. 封装2.1 类2.2 访问修饰符 3. 继承4. 多态4.1 虚方…

中文星期几十二时辰

输入年月日输出中文星期败,输入时间字符串,输出十二时辰。 (笔记模板由python脚本于2023年12月16日 23:39:04创建,本篇笔记适合熟悉python字符串类型str,并可以熟练应用的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&…

毅速:3D打印随形水路 提高良品率和生产效率的新利器

随着科技的不断发展,3D打印技术已经成为模具制造领域的一种重要技术。其中,模具随形水路的设计和制造是提高注塑产品良品率和生产效率的关键环节。 模具随形水路是一种根据产品形状设计的水路,可以更靠近产品,并在模具内热点集中区…

数据库系列之简要对比下GaussDB和OpenGauss数据库

GaussDB作为一款企业级的数据库产品,和开源数据库OpenGauss之间又是什么样的关系,刚开始接触的时候是一头雾水,因此本文简要对比下二者的区别,以加深了解。 1、GaussDB和OpenGauss数据库简要对比 GaussDB是华为基于PostgreSQL数据…

vue3 element-plus 日期选择器 el-date-picker 汉化

vue3 项目中,element-plus 的日期选择器 el-date-picker 默认是英文版的,如下: 页面引入: //引入汉化语言包 import locale from "element-plus/lib/locale/lang/zh-cn" import { ElDatePicker, ElButton, ElConfigP…

WPF-UI HandyControl 控件简单实战

文章目录 前言UserControl简单使用新建项目直接新建项目初始化UserControlGeometry:矢量图形额外Icon导入最优解决方案 按钮Button切换按钮ToggleButton默认按钮图片可切换按钮加载按钮切换按钮 单选按钮和复选按钮没有太大特点,就不展开写了总结 DataGrid数据表格G…

浅谈MapReduce

MapReduce是一个抽象的分布式计算模型,主要对键值对进行运算处理。用户需要提供两个自定义函数: map:用于接受输入,并生成中间键值对。reduce:接受map输出的中间键值对集合,进行sorting后进行合并和数据规…

〖大前端 - 基础入门三大核心之JS篇(55)〗- 内置对象

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司…

什么是前端国际化(internationalization)和本地化(localization)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Flink中的时间和窗口

在批处理统计中,我们可以等待一批数据都到齐后,统一处理。但是在实时处理统计中,我们是来一条就得处理一条,那么我们怎么统计最近一段时间内的数据呢?引入“窗口”。 所谓的“窗口”,一般就是划定的一段时…