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

目录

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.mzph.cn/news/217198.shtml

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

相关文章

python新式类变化统一类和类型

1 python新式类变化统一类和类型 python新式类从2.2版本引入。 (1)新式类继承内置类型 (比如object,list,dict等),经典类不继承任何类。 (2)python2,定义类时,显式继承…

Qt 容器QGroupBox带有标题的组框框架

控件简介 QGroupBox 小部件提供一个带有标题的组框框架。一般与一组或者是同类型的部件一起使用。教你会用,怎么用的强大就靠你了靓仔、靓妹。 用法示例 例 qgroupbox,组框示例(难度:简单),使用 3 个 QRadioButton 单选框按钮,与QVBoxLayout(垂直布局)来展示组框的…

若依框架启动过程中遇到的控制台使用npm i下载相关依赖报错的问题以及前端启动遇到的问题

目录 报错截图问题解决其他问题 npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。问题解决更改环境变量新建系统变量 其他问题 错误解决Error: error:0…

什么是Proxy?

在JavaScript中,Proxy是一种对象,它允许你创建一个代理对象来拦截并改变底层对象的基本操作。使用Proxy,你可以在对象上定义自定义行为,例如: 拦截对对象属性的读取和写入操作拦截函数调用拦截in操作符拦截delete操作符…

Ansible适合的场景是什么?

Ansible将编排与配置管理、供应和应用程序部署结合并统一在一个易于使用的平台上。Ansible的一些主要场景包括: 配置管理:集中配置文件管理和部署是Ansible的一个常见场景。 应用程序部署:当使用Ansible定义应用程序,并使用Ansible Tower管…

美食大赛的题解

目录 原题描述: 题目描述: 输入格式: 输出格式: 样例输入: 样例输出: 数据规模: 题目大意: 主要思路: 注: 代码: 原题描述&#xff1a…

合并表记录

描述 数据表记录包含表索引index和数值value&#xff08;int范围的正整数&#xff09;&#xff0c;请对表索引相同的记录进行合并&#xff0c;即将相同索引的数值进行求和运算&#xff0c;输出按照index值升序进行输出。 提示: 0 < index < 11111111 1 < value < …

Uniapp软件库全新带勋章功能(包含前后端源码)

源码介绍&#xff1a; Uniapp开发的软件库全新带勋章功能&#xff0c;搭建好后台 在前端找到 util 这个文件 把两个js文件上面的填上自己的域名&#xff0c;电脑需要下载&#xff1a;HBuilderX 登录账号 没有账号就注册账号&#xff0c; 然后上传文件&#xff0c;打包选择 “…

Java Jar包指令以及运行Jar包

1.打包指令 要打包 JAR 文件&#xff0c;可以使用 Java 开发工具包&#xff08;JDK&#xff09;提供的 jar 命令。以下是使用 jar 命令打包 JAR 文件的基本语法&#xff1a; jar cf <jar文件名>.jar <文件或目录>其中&#xff0c;<jar文件名>是你要创建的 …

PrestoSQL语法及优化

PrestoSQL语法及优化 1、PrestoSQL概述2、PrestoSQL语法2.1、PrestoSQL数据类型2.2、关键字和标识符2.3、PrestoSQL注释2.4、PrestoSQL语法2.5、PrestoSQL例程2.6、PrestoSQL使用常见问题3、PrestoSQL优化3.1、存储优化3.2、查询优化3.3、多数据源联合查询1、PrestoSQL概述 202…

无线充电Qi通信协议分析

1 工作原理 无线充电通信采用的是backscatter调制方式&#xff0c;简单来说就是一种负载调制方式&#xff0c;类似于RFID的原理。并且无线充电过程主要是有Power Receiver&#xff08;一般指手机&#xff09;控制&#xff0c;而Power Transmitter&#xff08;充电板&#xff09…

力扣139. 单词拆分

动态规划 思路&#xff1a; 假设 dp[i] 为单词前 i 个字符能否被拆分的结果&#xff1b;假设最近的一个单词分割点 j&#xff0c;如果 dp[i] 能够被拆分&#xff0c;则 dp[j] 能被拆分&#xff0c;并且 s[j, i - 1] 在字典中&#xff1b;即状态转移方程&#xff1a; dp[i] dp…

js 有关递归简单介绍

递归&#xff1a;指调用自身的函数 重点&#xff1a;递归函数必须有可以终止递归调用的语句&#xff0c;否则会导致内存溢出 递归的性能不好&#xff0c;因为在递归终止前&#xff0c;JavaScript引擎会为每一次递归分配一块内存以存储栈帧&#xff0c;随着递归的深入&#xff…

基于双树复小波变换和稀疏表示的多光谱和彩色图像融合算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 双树复小波变换原理 4.2 稀疏表示原理 4.3 基于双树复小波变换和稀疏表示的图像融合算法 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序…

Redis 主从复制源码分析

前置学习&#xff1a;Redis server启动源码-CSDN博客

react hooks之useRef和useImperativeHandle

为什么这两个一起写&#xff0c;是因为这两个关联性很大&#xff0c;逐一介绍。 一&#xff1a;useRef 1、作用&#xff1a;用于在函数组件中创建一个持久化的引用变量。这个引用变量可以在组件的多次渲染之间保持不变&#xff0c;并且可以访问和修改 DOM 元素或其他组件实例…

C++学习笔记(十四)

一、运算符重载 运算符重载概念&#xff1a;对已有的运算符重新进行定义&#xff0c;赋予其另一种功能&#xff0c;以适应不同的数据类型 1.1 加号运算符重载 作用&#xff1a;实现两个自定义数据类型相加的运算 #include <iostream>using namespace std;class Per…

补充回答一些关于枚举类型的问题

补充回答一些关于枚举类型的问题 1.枚举类型在什么时候使用 枚举类型在以下情况下特别有用&#xff1a; 有限的离散值集合&#xff1a; 当变量的取值只有有限且离散的几个选项时&#xff0c;使用枚举类型能够提高代码的可读性。例如&#xff0c;星期几、月份、颜色等。 enum W…

讲解一手CSRF,如何防御CSRF

简介&#xff1a; CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种网络安全漏洞&#xff0c;它允许攻击者通过欺骗用户在当前已登录的Web应用程序上执行未经用户授权的操作。 攻击者利用用户在目标网站上已经建立的身份认证&#xff…

Vue2面试题:说一下vue2的生命周期?

创建&#xff1a; beforecreate: 实例创建前 此阶段的data、methods、computed、watch的数据和方法不能被访问 created: 实例创建完成后 此阶段完成数据监听&#xff0c;可以使用数据、更改数据。无法与Dom进行交互&#xff0c;想要的话可以通过nextTick来访问。 挂载&#xff…