当前位置: 首页 > news >正文

路由器的转换原理--ENSP实验

目录

一、路由器的工作原理

二、路由表的形成

1、直连路由

2、非直连路由 

2.1静态路由

2.2动态路由

三、静态路由和默认路由

1、静态路由

1.1静态路由的缺点

1.2路由的配置--结合ensp实验

2、默认路由--特殊的静态路由

2.1概念

2.2格式 

2.3默认路由的配置--ensp实验

3、补充:浮动路由

3.1概念

3.2实验

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

五、路由器和交换机的区别


一、路由器的工作原理

  • 路由:从源主机到目标主机的转发过程
  • 路由器:能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备。
  • 路由器的工作原理:根据路由表转发数据

如上图图所示:路由器A和B是经过配置的路由在他们的路由表中就保存了相应的网段和接口,如果主机1.1要发送数据包给主机4.1:

  1. 因为IP地址不在同一网段,主机就会将数据包发送给本网段的网关路由器A。
  2. 路由器A接收到数据包,查看数据包IP首部中的目标IP地址,在查找自己的路由表。数据包的目标IP地址是4.1.属于4.0网段路由器A在路由表中查到4.0网段转发的接口是S0接口。于是,路由器就将数据包从S0接口转发出去。
  3. 每个路由器但是按这个步骤去转发数据的,直到到达了路由器B,用同样的方法,从E0口转发出去,主机4.1接受到这个数据包。

同网段和不同网段主机通信的区别就在于:同网段直接查找主机,而不同网段需要将数据包发送给网关。

二、路由表的形成

一个实际的网络中,一台路由器通常包含多条路由条目,这些路由条目从不同的来源获取。路由表的来源可分为三类,分别是直连路由、静态路由和动态路由。

1、直连路由

  • 路由器直接连接的路由条目,只要路由器接口配置了 IP 地址,接口状态正常,就会自动生成对应的直连路由。
  • 通俗易懂的说:直连路由长在路由器自己身上,会自动学习接口上的网段,但接口一定要在开启状态下。

2、非直连路由 

2.1静态路由

通过命令手动添加的路由条目就是静态路由。一般用在小型网络

2.2动态路由

通过路由协议从相邻路由器动态学习到的路由条目。

路由器每隔一段时间会将自己已知的网段以数据包的形式发给相邻的路由器

一般用在大型网络

三、静态路由和默认路由

1、静态路由

  • 通过命令手动添加的路由条目就是静态路由。一般用在小型网络

1.1静态路由的缺点

①是单向的,需要配置去打路由,还要配置回来的路由

②灵活性差,牵一发动全身

1.2路由的配置--结合ensp实验

ip route-static 目的网络 子网掩码 下一跳地址

实验过程

①准备三台路由器和两台主机--建立下图拓扑图

 ②给主机配置IP地址,子网掩码和网关

③分别配置交换机

<Huawei>u t m  //关闭提示
Info: Current terminal monitor is off.
<Huawei>sys    //进入系统模式
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR1   //重命名路由器
[AR1]int g0/0/0   //进入端口g/0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 //配置ip地址和子网掩码
[AR1-GigabitEthernet0/0/0]q    //退出
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1add 
[AR1-GigabitEthernet0/0/1]q
[AR1]ip route-static 192.168.2.0 24 10.0.0.2  //配置静态路由
[AR1]ip route-static 20.0.0.0 24 10.0.0.2     //配置静态路由
[AR1]dis ip routing-table                     //查看路由表

 ④查看路由表--可以查看到静态路由的一些信息

 ⑤看能不能ping通

2、默认路由--特殊的静态路由

2.1概念

默认路由中所有数据按照一个方向发送,是特殊的静态路由,一般用在:

1.企业的出口路由器

2.末梢网络--路由器一端连的是主机

2.2格式 

ip  route-static   0.0.0.0   0   下一跳地址

0.0.0.0              任意网段

0                        任意子网掩

2.3默认路由的配置--ensp实验

①准备三台路由器和两台主机--建立下图拓扑图

②给主机配置IP地址,子网掩码和网关

 ③配置路由器

在配置路由器之前,我们要清楚哪些路由器可以配置默认路由,我们观察只有AR1和AR3符合要求,他们是末梢网络。AR2是不可以配置默认路由,否则会形成环路-死循环。

<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[AR1-GigabitEthernet0/0/0]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 10.0.0.1 24
[AR1-GigabitEthernet0/0/1]q
[AR1]ip route-s	
[AR1]ip route-static 0.0.0.0 0 10.0.0.2//配置默认路由
[AR1]dis ip rou	
[AR1]dis ip routing-table 

④看能不能ping通

3、补充:浮动路由

3.1概念

指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路径,当主路径出现故障时,由带宽较小的备份路由顶替,保持网络的不中断。

3.2实验

①用两个路由器和两台主机创建以下的拓扑图

②配置主机在不同网段

 ③对路由器进行配置

<Huawei>u t m  //关闭提示
Info: Current terminal monitor is off.
<Huawei>sys    //进入系统模式
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR-A   //重命名路由器名
[AR-A]int g0/0/0   //进入g0/0/0端口
[AR-A-GigabitEthernet0/0/0]ip add 192.168.1.254 24  //给该端口配置IP地址和掩码 
[AR-A-GigabitEthernet0/0/0]q      //退出
[AR-A]int g0/0/1   //进入g0/0/1端口
[AR-A-GigabitEthernet0/0/1]ip add 10.0.0.1 24       //给该端口配置IP地址和掩码 
[AR-A-GigabitEthernet0/0/1]q      //退出
[AR-A]int g0/0/2   //进入g0/0/2端口
[AR-A-GigabitEthernet0/0/2]ip add 20.0.0.1 24       //给该端口配置IP地址和掩码 
[AR-A-GigabitEthernet0/0/2]q      //退出
[AR-A]ip route-static 192.168.2.0 24 10.0.0.2      //配置静态路由,从上面一条线传输
[AR-A]ip route-static 192.168.2.0 24 20.0.0.2      //配置静态路由,从下面一条线传输

 ④进行长ping-->然后手动删除一条连线

  • 我们发现,在我们手动删除一条线后,会丢几个包,但并没有断开连接。丢包是因为一开始是两条线进行平均负载,传输速度快,删掉一条后,速度没有之前快了,发生了数据堵塞,所以丢包是正常的,但并没有断开连接。

假如两个接线的速度不一样,我们可以调整优先级来防止数据堵塞。

  • 第一根线 100m
  • 第二根线 1000m

优先级的调整 

  • ip route-static 192.168.2.0 24 20.0.0.2 preference 70

数值越大,优先级越小

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

 上图路由器转发数据的封装过程如下:

 上图路由器转发数据的封装过程如下:

A先判断出
192.168.2.1 和自己不在同一网段, 所以会把数据包转交给网关处理。

先要发送ARP广播 ,得到网关的mac地址00e0-fca6-6c66,
然后进行第一次封装

源IP:192.168.1.1
目的IP:192.168.2.1
源MAC:54-89-98-36-42-11
目的MAC:00e0-fca6-6c66

先解封装,查看数据包的目的IP,查询路由表,
确定转发路径,给路由器AR-A

先ARP广播解析出路由器AR-B的MAC地址。
进行第二次封装

源IP:192.168.1.1
目的ip:192.168.2.1
源MAC:00e0-fca6-6c67
目的MAC: 00e0-fcc8-3a45

先解封装,查看数据包的目的IP为自己的直连网段,
通过GE0/0/1发给主机B

先ARP广播解析出主机B的MAC地址。进行第三次封装

源IP:192.168.1.1
目的ip:192.168.2.1
源MAC:00e0-fcc8-3a46
目的MAC: 54-89-98-93-63-22

数据包送到主机B,一路解封装送到应用层 

五、路由器和交换机的区别

  • 交换机是查看MAC地址表的,路由器是查看路由表的。
  • 交换机如果没有在MAC地址表中找到自己想要的,它就要进行区域泛洪,而路由器如果在路由表中找不到对应的条目会直接丢弃数据包,并返回一个不可到达的信息。他不会发送广播,所以路由器有隔离广播域的功能而交换机所在的网络内部就是一个广播域,他只在本区域泛洪,不会泛红到路由器外面。
  • 交换机工作在二层,根据MAC地址表转发数据帧,路由器工作在三层,根据路由表转发数据包,交换机一般工作在局域网内,而路由器工作在广域网。

相关文章:

路由器的转换原理--ENSP实验

目录 一、路由器的工作原理 二、路由表的形成 1、直连路由 2、非直连路由 2.1静态路由 2.2动态路由 三、静态路由和默认路由 1、静态路由 1.1静态路由的缺点 1.2路由的配置--结合ensp实验 2、默认路由--特殊的静态路由 2.1概念 2.2格式 2.3默认路由的配置--ens…...

世界5G大会

会议名称:世界 5G 大会 时间:2023 年 12 月 5 日-12 月 8 日 地点:河南郑州 一、会议简介 世界 5G 大会,是由国务院批准,国家发展改革委、科技部、工 信部与地方政府共同主办,未来移动通信论坛联合属地主管厅局联合 承办,邀请全球友好伙伴共同打造的全球首个 5G 领域…...

FFmpeg-基础组件-AVFrame

本章主要介绍FFmpeg基础组件AVFrame. 文章目录 1.结构体成员2.成员函数AVFrame Host内存的获取 av_frame_get_bufferAVFrame device内存获取av_hwframe_get_buffer&#xff08;&#xff09; 1.结构体成员 我们把所有的代码先粘贴上来&#xff0c;在后边一个一个解释。 typede…...

Vue 组件传参 emit

emit 属性&#xff1a;用于创建自定义事件&#xff0c;接收子组件传递过来的数据。 注意&#xff1a;如果自定义事件的名称&#xff0c;和原生事件的名称一样&#xff0c;那么只会触发自定义事件。 setup 语法糖写法请见&#xff1a;《Vue3 子传父 组件传参 defineEmits》 语…...

Makefile基本指令

语法规则 目标 ... : 依赖 ...命令1命令2. . .1、目标即要生成的文件。如果目标文件的更新时间晚于依赖文件更新时间&#xff0c;则说明依赖文件没有改动&#xff0c;目标文件不需要重新编译。否则会进行重新编译并更新目标文件。 2、默认情况下Makefile的第一个目标为终极目…...

爬取图片python代码

在百度上爬取图片 pic_baidu.py import re import requests from urllib import error from bs4 import BeautifulSoup import os num 0 numPicture 0 file List []def Find(url, A):global Listprint(正在检测图片总数&#xff0c;请稍等.....)t 0i 1s 0while t <…...

Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)

效果图 背景 本人因为一些需求初次接触android&#xff0c;需要实现一个类似android自带的AutoCompleteTextView&#xff08;自动完成文本框&#xff09;&#xff0c;但和其不同的是通过后端接口直接筛选数据&#xff08;自己的分词处理规则&#xff09;&#xff0c;然后返回前…...

DA-AD试验

/********************************************************************************** * * * 1.通过本例程了解并掌握AD-DA转换芯片的基本原理和使用 * * …...

Leetcode—896.单调数列【简单】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—896.单调数列 实现代码 class Solution { public:bool isMonotonic(vector<int>& nums) {int up 0;int down 0;if(nums.size() 1) {return true;}for(int i 0; i < nums.size() - 1; i) {if(nums[i] …...

vue2生命周期

vue2生命周期 在进行组件化项目开发的时候都会存在一个组件的生命周期概念&#xff0c;像Vue、React、小程序等等&#xff0c;无一例外&#xff0c;而通常情况组件的生命周期主要分成三个阶段&#xff0c;包括&#xff1a;创建、更新以及销毁阶段。 Vue的生命周期钩子函数主要包…...

【Flink on k8s】 -- flink kubernetes operator 1.7.0 发布

目录 前言 重大特性 1、自动伸缩 2、版本支持 3、savepoint 触发改进 4、jdk 支持 前言 Flink 官方博客于 2023-11-22 发布了 flink kubernetes operator 1.7.0 发布的消息。这个版本对自动缩放进行了大量的改进&#xff0c;包括与 Kubernetes 的完全分离&#xff0c;以便…...

Java网络编程,对使用UDP实现TCP(一)三次握手实现的补充

修改片段1 在第一次握手时&#xff0c;由《TCP/IP详解》卷二中对tcp计时器的描述中&#xff0c;我们可知连接的建立是需要进行判断&#xff0c;如果客户端发送了SYN连接请求&#xff0c;服务端没有在有限时间内进行恢复&#xff0c;就会取消本次连接。 我们使用 setSoTimeout…...

Redis 的常见使用场景

01 缓存 作为 Key-Value 形态的内存数据库&#xff0c;Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单&#xff0c;只需要通过 string 类型将序列化后的对象存起来即可&#xff0c;不过也有一些需要注意的地方&#xff1a; 必须保证不同对象的…...

VRRP协议详解

目录 一、基础概念 1、概念 2、VRRP的基本结构 状态机 二、VRRP主备备份工作过程 1、备份工作过程 2、VRRP的负载分担工作 三、实验 一、基础概念 1、概念 VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;通过配置虚拟路由器的I…...

Linux 常用命令----mktemp 命令

文章目录 基本用法实例演示高级用法注意事项 mktemp 命令用于创建一个临时文件或目录&#xff0c;这在需要处理临时数据或进行安全性测试时非常有用。使用 mktemp 可以保证文件名的唯一性&#xff0c;避免因文件名冲突而导致的问题。 基本用法 创建临时文件: 命令 mktemp 默认…...

基于ssm服装定制系统源码和论文

idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 环境&#xff1a; jdk8 tomcat8.5 开发技术 ssm 基于ssm服装定制系统源码和论文751 1.1项目研究的背景 困扰管理层的许多问题当中,服装定制将是广大用户们不可忽视的一块。但是管理好服装定制又面临很多麻…...

【AI】如何准备mac开发vue项目的环境

为了在Mac上开发Vue项目&#xff0c;你需要准备一些工具和环境。以下是主要的步骤&#xff1a; 安装Node.js和npm&#xff1a; Vue.js是一个基于JavaScript的框架&#xff0c;因此你需要Node.js环境。访问Node.js官网下载并安装Node.js&#xff0c;这也会自动安装npm&#xff0…...

BERT大模型:英语NLP的里程碑

BERT的诞生与重要性 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;大模型标志着自然语言处理&#xff08;NLP&#xff09;领域的一个重要转折点。作为首个利用掩蔽语言模型&#xff08;MLM&#xff09;在英语语言上进行预训练的模型&…...

JVM的类的生命周期

目录 前言 1. 加载&#xff08;Loading&#xff09;&#xff1a; 2. 验证&#xff08;Verification&#xff09;&#xff1a; 3. 准备&#xff08;Preparation&#xff09;&#xff1a; 4. 解析&#xff08;Resolution&#xff09;&#xff1a; 5. 初始化&#xff08;Ini…...

uni-app获取response header响应头(h5/app/小程序三端)

h5、app获取方式&#xff1a;getResponseHeader(key) 示例&#xff1a;参考&#xff1a;HTML5 API Reference // 创建xhr实例&#xff1a; // #ifdef APP-VUE let xhr new plus.net.XMLHttpRequest(); // #endif // #ifdef H5 let xhr new window.XMLHttpRequest(); // #en…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...