网络(七)路由协议以及相关配置

目录

一、路由器的工作原理

二、路由表的形成

2.1 直连网段

2.2 非直连网

2.3 路由表解析

2.3.1 查看路由表

2.3.2 解析 

三、静态路由和默认路由

1. 静态路由

1.1 定义

1.2 特点

2. 默认路由

2.1 定义

2.2 特点

四、静态路由和默认路由的配置

1. 静态路由配置

1.1 分别为两台PC配置IPV4信息,应用

1.2  分别修改两块路由器名字、接口配置

1.3 测试网络 

1.4 配置新增接口 

1.5 [ ] 输入命令dispaly ip routing-table查看路由表配置

1.6 PC1长pingPC2,关闭接口g/0/0/1接口发现依然可以ping通

1.7 继续关闭接口g0/0/2,无法ping通

1.8 双路低效率通道阻塞解决方法

1.9 分别为三台路由器接口配置IP、添加对应方向静态路由配置

1.10 测试连通性

2. 默认路由

2.1 应用范围

2.2 默认路由操配置操作

2.2.1 为两个PC配置IPV4信息

2.2.2 为三块路由器配置接口IP

2.2.3 为中间AR2路由器配置双向静态路由

2.2.4 分别为路由器AR1和AR3配置默认路由

2.2.5 测试连通性

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

1. 查看所有设备mac地址

2. 过程解析 

3. 抓包验证

六、补充


一、路由器的工作原理

路由器是用来转发数据的,路由器在网络层寻找数据传输的最佳路径,其工作原理是:从源主机到目标主机的转发过程,即根据路由表转发数据。

二、路由表的形成

2.1 直连网段

当给路由器的接口配置好IP地址,路由器会自动将该接口地址的网段加入到路由表中;可以理解为:长在自己身上,会自动学习接口(需要开启)上的网段。

2.2 非直连网

① 手动(静态配置):工程师自己手动加网段和接口信息

② 动态学习:通过动态路由协议自动学习,适用于大型网络

2.3 路由表解析

2.3.1 查看路由表

 

2.3.2 解析 

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

② Proto:路由信息由来(direct直连、static静态)

③ Pre:优先级,相同路由信息,数值低的优先级高

④ Cost:花销值,经过多少台设备

⑤ NextHop:下一跳,接收数据下一个设备的接口,下一条一定不在自己身上,一定是离自己出口最近的出口

⑥ Interface:出口

三、静态路由和默认路由

1. 静态路由

1.1 定义

静态路由(英语:Static routing)是一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。一般来说,静态路由是由网络管理员逐项加入路由表。

1.2 特点

① 网络安全保密性高

② 由管理员手工配置的,是单向的

③ 是固定的,不会改变,缺乏灵活性

2. 默认路由

2.1 定义

默认路由(Default route)是特殊的静态路由,是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。

2.2 特点

① 当存在末梢网络时,默认路由会大大简化路由器的配置

② 需要调整优先级,未正常配置容易形成回路死循环

四、静态路由和默认路由的配置

1. 静态路由配置

·以两台路由器和两台不同网段PC组合测试连通性,如图:

1.1 分别为两台PC配置IPV4信息,应用

1.2  分别修改两块路由器名字、接口配置

1.3 测试网络 

·为两台路由器配置浮动路由(负载均衡) ,新增一条备用网络,如图:

1.4 配置新增接口 

1.5 [ ] 输入命令dispaly ip routing-table查看路由表配置

1.6 PC1长pingPC2,关闭接口g/0/0/1接口发现依然可以ping通

1.7 继续关闭接口g0/0/2,无法ping通

注: 负载均衡需要考虑两条线的速率,若不一致,慢的一边会造成阻塞。由于非直连静态连接优先级为60,可以降低速度较快接口的优先级

1.8 双路低效率通道阻塞解决方法

 ·以三台路由器和两台不同网段PC组合测试连通性,均设置静态路由,如图:

思路:想要设备间两两ping通,实际为路由器添加需要的网段即可 

1.9 分别为三台路由器接口配置IP、添加对应方向静态路由配置

 

 

1.10 测试连通性

2. 默认路由

2.1 应用范围

一般应用于:①企业的出口路由器;②末梢网络。所有流量转交给固定地址,当路由器一端连的是主机,另一端是路由器可以做默认路由。也就是说一端不需要再选路径。

2.2 默认路由操配置操作

·以三台路由器和两台不同网段PC组合测试连通性,两个PC连接主机一端均配默认路由,如图:

2.2.1 为两个PC配置IPV4信息
2.2.2 为三块路由器配置接口IP
2.2.3 为中间AR2路由器配置双向静态路由

2.2.4 分别为路由器AR1和AR3配置默认路由

2.2.5 测试连通性

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

1. 查看所有设备mac地址

2. 过程解析 

① 当使用ping工具输入命令ping 192.168.1.254开始,PC1会和自己的子网掩码相与,发现目的地址跟自己不在同一网段。此时会发送ARP广播,得到网关mac地址00e0-fc48-1e5f,把数据转交给网关处理(源mac:54-89-98-EC-37-D9,源IP地址:172.19.8.211,目的mac:00e0-fc48-1e5f,目的IP:192.168.1.254);

② 当数据包到达路由器AR1,路由器对数据进行拆包,对照路由表,根据目的IP从g0/0/1这个口发出。此时数据包要重新封装,源mac地址失效,需要重新发送ARP广播,重新封装数据包(源mac:00e0-fc48-1e60,源IP地址:172.19.8.211,目的mac:00e0-fccb-2236,目的IP:192.168.1.254);路由表如下图:

③ 到达路由器AR2继续拆包封装:(源mac:00e0-fccb-2237,源IP地址:172.19.8.211,目的mac:00e0-fc7f-1cc8,目的IP:192.168.1.254);

④ 到达路由器AR3继续拆包封装:(源mac:00e0-fc7f-1cc9,源IP地址:172.19.8.211,目的mac:54-89-98-3A-66-2B,目的IP:192.168.1.254);最终到达目的mac。

3. 抓包验证

六、补充

① 路由转换时:IP地址不变,MAC地址一直在变。

② PC1pingPC2刚开始为什么会丢包?

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

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

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

相关文章

flutter学习-day12-可滚动组件和监听

📚 目录 简介可滚动组件 SingleChildScrollViewListView separated分割线无限加载列表带标题列表 滚动监听和控制 ScrollController滚动监听NotificationListener滚动监听 AnimatedList动画列表滚动网格布局GridView 横轴子元素为固定数量横轴子元素为固定最大长度…

[wp]第四届江西省赣网杯网络安全大赛-web 部分wp

第四届江西省赣网杯网络安全大赛(gwb)线上预选赛 因为学业繁忙 只玩了1小时,后续看看补一下这些 2023gwb-web1 九宫格拼图 2023gwb-web2 $filexxx;extract($_GET);if(isset($fun)){$contenttrim(file_get_contents($file));if($fun!&…

MLX:苹果 专为统一内存架构(UMA) 设计的机器学习框架

“晨兴理荒秽,带月荷锄归” 夜深闻讯,有点兴奋~ 苹果为 UMA 设计的深度学习框架真的来了 统一内存架构 得益于 CPU 与 GPU 内存的共享,同时与 MacOS 和 M 芯片 交相辉映,在效率上,实现对其他框架的降维打…

uniapp之屏幕右侧出现滚动条去掉、隐藏、删除【好用!】

目录 问题解决大佬地址最后 问题 解决 在最外层view上加上class“content”;输入以下样式。注意:两个都必须存在在生效。 .content {/* 跟屏幕高度一样高,不管view中有没有内容,都撑开屏幕高的高度 */height: 100vh; overflow: auto; } .content::-webkit-scrollb…

【JavaWeb】往浏览器打印一个hello world

上集:建一个web项目 第一步:建好Servlet类的文件 右键src,建一个class 就行 第二步:编代码 可以直接复制粘贴 用来测试的类 import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; //↓是注解&#xff0…

Java 基础学习(十一)File类与I/O操作

1 File类 1.1 File类概述 1.1.1 什么是File类 File是java.io包下作为文件和目录的类。File类定义了一些与平台无关的方法来操作文件,通过调用File类中的方法可以得到文件和目录的描述信息,包括名称、所在路径、读写性和长度等,还可以对文件…

Graphics Profiler 使用教程

GraphicsProfiler 使用教程 1.工具简介:2.Navigation介绍2.1.打开安装好的Graphics Profiler。2.2.将手机连接到计算机,软件会在手机中安装一个GraphicsProfiler应用(该应用是无界面的)。2.3.Show files list2.4.Record new trace2.4.1.Appli…

听GPT 讲Rust源代码--src/tools(13)

File: rust/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/incoherent_impl.rs 在Rust源代码中,路径为rust/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/incoherent_impl.rs的文件是为了处理Rust代码中的不一致实现问题而存在的。…

Linux 动态库和静态库

文章目录 前言动态库创建和使用静态库创建和使用动态库和静态库差异生成过程的差异运行效果的差异 补充说明库的名称的注意事项库的搜索路径的方法什么是位置无关代码动态链接与静态链接/usr/lib 和 /usr/local/lib 前言 动静态库的创建和使用部分更多的是意在说明动态库和静态…

关于枚举的简单理解

1. 枚举的简单认识 1.1 枚举的引入 枚举是在JDK1.5以后引入的。主要用途是:将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式如下面的代码所示: public static final int RED 1; public static final int GREEN 2; public…

【MySQL】(DDL)总结

总结: 1.DDL数据库操作 show database; //查看当前创建的数据库 create database 数据库名; //创建数据库 use 数据库; //切换数据库 select database(); //查看当前所处的数据库(当前进入的那个数据库) drop database 数据库名; //删除数据库名 2.DDL表操作 …

鸿蒙开发之网络请求

//需要导入http头文件 import http from ohos.net.http//请求地址url: string http://apis.juhe.cn/simpleWeather/queryText(this.message).maxFontSize(50).minFontSize(10).fontWeight(FontWeight.Bold).onClick(() > {console.log(请求开始)let req http.createHttp()…

【音视频 | H.264】H.264视频编码及NALU详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

2023“楚怡杯”湖南省赛“信息安全管理与评估“--数字取证调查(高职组)

2023“楚怡杯”湖南省“信息安全管理与评估”(高职组)任务书 2023“楚怡杯”湖南省“信息安全管理与评估”(高职组)任务书第一阶段竞赛项目试题第二阶段竞赛项目试题第二部分 数字取证调查:需要环境私聊博主:2023“楚怡杯”湖南省“信息安全管理与评估”(高职组)任务书…

C语言——谁考了第k名(头歌编程刷题)

目录 一、题目描述: 二、输入格式: 三、输出格式: 四、输出样例: 五、输出样例: 六、代码呈现: 一、题目描述: 在一次考试中,每个学生的成绩都不相同,现知道了每个…

TCP与UDP:网络世界中的“顺丰快递”与“广播电台”

随着互联网的普及,我们每天都在与网络打交道。而在这背后,数据的传输离不开TCP和UDP这两种传输协议。它们就像网络世界中的“顺丰快递”和“广播电台”,各自有着不同的工作方式和特点。让我们一起来了解一下它们吧! 一、TCP&…

如何下载 GitHub 私有仓库

概述 GitHub 是一个用于托管代码的开源平台。它提供私有仓库功能,允许用户将代码保密。如果您需要下载 GitHub 私有仓库,可以使用以下两种方式。 方式一:使用 SSH 密钥 SSH 密钥是一种安全的身份验证方法,可用于访问 GitHub 私…

了解 Flutter 3.16 功能更新

作者 / Kevin Chisholm 我们在季度 Flutter 稳定版发布会上带来了 Flutter 3.16,此版本包含诸多更新: Material 3 成为新的默认主题、为 Android 带来 Impeller 的预览版、允许添加适用于 DevTools 的扩展程序等等,以及同步推出 Flutter 休闲游戏工具包重…

浅谈基于不信任的防御性编程

背景 在实际开发过程中,我们经常遇到这样的场景: 后端报错了,手忙脚乱一顿排查,发现是前端传的参数为空,或者格式不对;后端又报错了,传参没问题,根据日志流发现,是某“给…

CAN 五: CAN编程实践

1、CAN基本驱动步骤 (1)CAN参数初始化 工作模式、波特率等函数:HAL_CAN_Init (2)使能CAN时钟和初始化相关引脚 GPIO模式设为复用功能模式函数:HAL_CAN_MspInit(CAN的初始化回调函数) (3)设置过滤器 过滤器的配置函数:HAL_CAN_ConfigFil…