静态路由与默认路由和实验以及ARP工作原理
目录
1.静态路由和默认路由
1.1 静态路由
1.2 默认路由
1.3 主要区别总结
2.实验
2.1 实验
2.1.1 实验top
2.1.2 实验要求
2.2 实验配置
2.2.1 ip信息配置
2.2.2 配置静态
2.2.3配置默认
2.3 实验结果查看
3.为什么第一个ping会显示丢包?
3.1 ARP 工作机制
3.2 丢包原因
3.3 解决办法
3.4 总结
1.静态路由和默认路由
1.1 静态路由
(1)定义: 静态路由是手动配置的路由,网络管理员明确指定从一个网络到另一个网络的路径。
(2)配置方式: 需要手动在路由器上输入具体的路由命令,指定目标网络和下一跳(下一台路由器的地址)。
(3)优点:
- 安全: 由于手动配置,不容易受到外部影响。
- 控制: 管理员可以完全控制流量路径。
- 简单: 在小型网络中配置简单。
(4)缺点:
- 管理复杂: 对于大型网络,管理和维护变得复杂。
- 灵活性差: 网络拓扑变化时需要手动更新路由表。
(5)示例:
ip route-static 192.168.2.0 24 192.168.1.1- 这里,
192.168.2.0 24是目标网络,192.168.1.1是下一跳路由器的地址。
1.2 默认路由
(1)定义: 默认路由是一种特殊的静态路由,指明数据包在路由表中没有匹配项时应该发送到的路径。
(2)配置方式: 需要手动配置,通常用于将未知目的地的数据包发送到一个上级路由器或网关。
(3)优点:
- 简单: 只需要配置一条默认路由即可覆盖所有未知的目的地。
- 灵活: 适用于网络中的边缘路由器,连接外部网络(如互联网)。
(4)缺点:
- 安全风险: 可能会将不必要的流量发送到默认路由指定的网关,增加潜在的安全风险。
- 依赖性: 默认路由依赖于上级路由器的配置和性能。
(5)示例:
ip route-static 0.0.0.0 0 192.168.1.1- 这里,0.0.0.0 0表示所有没有在路由表中匹配到的目的地,
192.168.1.1是默认网关的地址(下一跳)。
1.3 主要区别总结
- 配置方式: 静态路由需要为每个目标网络手动配置,而默认路由只需配置一条用于所有未匹配的目的地。
- 应用场景: 静态路由多用于网络内部的特定路径控制,默认路由常用于将外部流量引导至一个网关或上级路由器。
- 管理难度: 静态路由在大型网络中管理复杂,默认路由相对简单。
注意:默认的静态路由只能设置一条,2条的话将导致数据不通。
2.实验
2.1 实验
2.1.1 实验top

2.1.2 实验要求
(1)参考top图,为每个设备配置ip地址。
(2)AR1,AR2,AR3配置静态路由,AR4配置静态,使3个PC互通。
(2)AR1,AR2,AR3更换为默认路由,AR4保持不变,使3个PC互通。
2.2 实验配置
2.2.1 ip信息配置
pc1

pc2

pc3

AR1
<Huawei>system-view
[Huawei]sysname AR1
[AR1]undo info-center enable
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 192.168.0.254 24
[AR1-GigabitEthernet0/0/1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 100.1.1.1 30
AR2
<Huawei>system-view
[Huawei]sysname AR2
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 101.1.1.1 30
AR3
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR3
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 192.168.2.254 24
[AR3-GigabitEthernet0/0/0]int g0/0/2
[AR3-GigabitEthernet0/0/2]ip add 102.1.1.1 30
AR4
<Huawei>sys
[Huawei]sys AR4
[AR4]int g0/0/0
[AR4-GigabitEthernet0/0/0]ip add 100.1.1.2 30
[AR4-GigabitEthernet0/0/0]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip add 101.1.1.2 30
[AR4-GigabitEthernet0/0/1]int g0/0/2
[AR4-GigabitEthernet0/0/2]ip add 102.1.1.2 30
2.2.2 配置静态
[AR1]ip route-static 0.0.0.0 0 100.1.1.2
[AR2]ip route-static 0.0.0.0 0 101.1.1.2
[AR3]ip route-static 0.0.0.0 0 102.1.1.2
[AR4]ip route-static 192.168.0.0 24 100.1.1.1
[AR4]ip route-static 192.168.1.0 24 101.1.1.1
[AR4]ip route-static 192.168.2.0 24 102.1.1.1
配置完成,做连通性测试,到2.3。
2.2.3配置默认
删除上面配置信息,在前面加undo即可删除。
[AR1]ip route-static 101.1.1.0 255.255.255.252 100.1.1.2
[AR1]ip route-static 102.1.1.0 255.255.255.252 100.1.1.2
[AR1]ip route-static 192.168.1.0 255.255.255.0 101.1.1.2
[AR1]ip route-static 192.168.2.0 255.255.255.0 101.1.1.2
[AR2]ip route-static 100.1.1.0 255.255.255.252 101.1.1.2
[AR2]ip route-static 102.1.1.0 255.255.255.252 101.1.1.2
[AR2]ip route-static 192.168.0.0 255.255.255.0 101.1.1.2
[AR2]ip route-static 192.168.2.0 255.255.255.0 101.1.1.2
[AR3]ip route-static 100.1.1.0 255.255.255.0 102.1.1.2
[AR3]ip route-static 101.1.1.0 255.255.255.0 102.1.1.2
[AR3]ip route-static 192.168.0.0 255.255.255.0 102.1.1.2
[AR3]ip route-static 192.168.1.0 255.255.255.0 102.1.1.2
配置完成,做连通性测试,到2.3。
2.3 实验结果查看
在pc2 ping pc1和pc3做连通测试

pc1 ping pc3

3.为什么第一个ping包会显示丢包?

因为第一个包ARP解析未完成
3.1 ARP 工作机制
当 PC2 发送一个数据包到一个目标 IP 地址(如 192.168.2.1),但它的 ARP 缓存中还没有目标 IP 地址对应的 MAC 地址时,PC2 需要先发送一个 ARP 请求来获取目标的 MAC 地址。这个过程如下:
(1)发送 ARP 请求:
PC2 发送一个广播 ARP 请求,询问网络中哪台设备拥有 192.168.2.1 的 IP 地址,并要求返回其 MAC 地址。
(2)等待 ARP 响应:
目标设备(192.168.2.1)收到 ARP 请求后,回应其 MAC 地址。
(3)缓存 ARP 结果:
PC2 接收到 ARP 响应后,会将 IP-to-MAC 对应关系缓存到 ARP 表中。
(4)继续发送数据包:
在获取到目标 MAC 地址后,PC2 才能继续将 ICMP(ping)数据包发送到目标设备。
3.2 丢包原因
在上述过程中,ARP 请求和响应的完成需要时间。如果 PC2 在发送第一个 ping 数据包时还没有完成 ARP 解析,那么这个数据包可能会丢失,因为没有有效的 MAC 地址来发送。
因此,第一次 ping 出现丢包是因为 ARP 解析过程还未完成,而后续的 ping 请求则由于 ARP 缓存已建立,因此能够正常通信。
3.3 解决办法
(1)忽略首次丢包:
这是一个正常现象,通常可以忽略首次 ping 的丢包,因为后续的通信将正常进行。
(2)提前触发 ARP:
如果需要确保没有丢包,可以在测试之前通过其他方式(如手动 ping)触发 ARP 解析,确保 ARP 缓存已建立。
(3)延长超时时间:
在一些严格的网络环境中,可以调整 ping 的超时时间,以便在 ARP 解析完成后重新发送请求。
3.4 总结
第一次 ping 丢包通常是由于 ARP 解析未完成,这是正常的网络行为。如果这仅在第一个包上发生,而且后续通信正常,这说明网络配置和通信是正常的。你可以放心继续使用网络而无需进一步担心这个现象。
相关文章:
静态路由与默认路由和实验以及ARP工作原理
目录 1.静态路由和默认路由 1.1 静态路由 1.2 默认路由 1.3 主要区别总结 2.实验 2.1 实验 2.1.1 实验top 2.1.2 实验要求 2.2 实验配置 2.2.1 ip信息配置 2.2.2 配置静态 2.2.3配置默认 2.3 实验结果查看 3.为什么第一个ping会显示丢包? 3.1 ARP 工…...
美国洛杉矶大带宽服务器的运维与监控
美国洛杉矶的大带宽服务器因其优越的地理位置、高速的网络连接以及充足的带宽资源,在全球范围内享有很高的声誉。为了确保这些服务器的稳定运行和高效服务,运维与监控工作显得尤为重要。以下是一些关于美国洛杉矶大带宽服务器运维与监控方面的科普内容。…...
AtCoder Beginner Contest 367 A~D
本期封面原图 画师えびら A - Shout Everyday 题意 b点睡觉c点起床,问你a点是不是醒着的 思路 直接判断即可,注意处理跨天的情况 代码 #include <bits/stdc.h> #define mod 998244353 using namespace std; typedef long long ll; typedef …...
oracle 保留两位小数
在Oracle数据库中,保留两位小数可以通过多种函数实现,主要包括ROUND、TRUNC和TO_CHAR函数。每种函数都有其特定的使用场景和效果。 1. ROUND函数 ROUND函数用于对数值进行四舍五入操作,保留指定的小数位数。其基本语法为: ROUN…...
Aop切面技术之存储用户信息
一、背景 在我们日常项目中,常常会将用户的认证信息存入缓存中,方便我们在程序执行中,进行获取用户信息。本篇文章主要是介绍使用自定义注解和AOP切面技术进行实现,这也也是非常容易使用的。 二、代码详解 2.1 自定义注解 定义…...
FreeBSD 针对OpenSSH 高危漏洞发布紧急补丁
近日,FreeBSD 项目的维护者针对OpenSSH 高危漏洞发布了紧急补丁。该漏洞被追踪为 CVE-2024-7589,CVSS 得分为 7.4(最高分为 10.0)。通过利用该漏洞,黑客能够在权限提升的情况下远程执行任意代码。 根据上周发布的一份…...
【C语言小项目】五子棋游戏
目录 前言 一、游戏规则 1.功能分析 2.玩法分析 3.胜负判定条件 二、游戏实现思路 三、代码实现与函数封装 1.项目文件创建 2.头文件说明 3.函数封装 1)菜单实现 2)进度条实现 3)main函数实现 4)Game函数 5࿰…...
基于Java语言的能源管理系统-水电气热油数据采集系统
基于Java语言的能源管理系统-水电气热油数据采集系统 介绍 适用于高能耗企业、建筑、工厂、园区的水、电、气、热、油、空压机等能源数据采集、分析、报表; 基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管…...
人工智能在肿瘤亚型分类领域的研究进展|顶刊速递·24-08-13
小罗碎碎念 文献日推主题:人工智能在肿瘤亚型分类领域的研究进展 昨天晚上在研究鼻咽癌的病理学诊断指南,看到了下面这段话的时候,我问了自己一个问题——通过AI识别出肿瘤亚型的根本目的是什么?可以衔接哪些具体的下游任务&#…...
Taro+Vue 创建微信小程序
TaroVue 创建微信小程序 一、全局安装 tarojs/cli二、项目初始化三、现在去启动项目吧 一、全局安装 tarojs/cli npm install -g tarojs/cli //安装 npm info tarojs/cli //查看安装信息 如果正常显示版本说明成功了,就直接跳到第二步吧官网说:…...
智能安全守护,寺庙安全用电解决方案
在四川省蓬溪县城北,高峰山以其千年的历史沉淀和独特的文化风貌,默默诉说着道教与佛教交融的传奇。然而,2017年5月31日凌晨的一声巨响,打破了这里的宁静,一场突如其来的大火,让这座承载着无数信徒信仰与梦想…...
加热系统加入达温即停和保温功能
加热系统加入达温即停和保温功能 引言 我们前一节, 是通过控制io口, 直接控制加热的开关, 但是这太简单粗暴了, 如果只是那样, 和普通的家居电器,是没区别的, 我们想要更智能一点, 就是像咱们自己家的热水壶那样, 水烧滚了(水温达到100摄氏度), 就自动停止了. 加热功能&a…...
C++_2_ inline内联函数 宏函数(2/3)
C推出了inline关键字,其目的是为了替代C语言中的宏函数。 我们先来回顾宏函数: 宏函数 现有个需求:要求你写一个Add(x,y)的宏函数。 正确的写法有一种,错误的写法倒是五花八门,我们先来“见不贤而自省也。” // …...
ROS执行多个节点报错(遥控运动及SLAM建图)
今天在实体机器人中同时执行多个ROS节点: roslaunch rei_robot_base oryxbot_base.launchroslaunch robot_joy robot_joy.launchroslaunch oryxbot_slam oryxbot_slam_local.launch结果全部报错退出了 现在换一种执行方式: roscoreroslaunch rei_robot_base oryxbot_base.la…...
Spring Boot项目中实现文件的上传、下载和预览功能
在Spring Boot项目中实现文件的上传、下载和预览功能,可以通过使用Spring MVC的MultipartFile接口来处理文件上传,并使用HttpServletResponse或Resource来实现文件下载和预览。下面是如何实现这些功能的完整示例。 1. 引入依赖 确保在pom.xml中引入了S…...
【JAVA入门】Day21 - 时间类
【JAVA入门】Day21 - 时间类 文章目录 【JAVA入门】Day21 - 时间类一、JDK7前的时间相关类1.1 Date1.2 SimpleDateFormat1.3 Calendar 二、JDK8新增的时间相关类2.1 Date 相关类2.1.1 ZoneId 时区2.1.2 Instant 时间戳2.1.3 ZoneDateTime 带时区的时间 2.2 DateTimeFormat 相关…...
SQL server数据库备份和还原
新手小白都懂的sql server数据库备份和还原 一、备份 1.打开sql server数据库找到 2.展开找到对应的数据库文件 鼠标右击—任务–备份 3.复制名称 4.复制完点击添加 5.点击添加完之后再次点击查找路径 6.分别两个路径 原路径和新路径 (新路径是找到原路径新建了一…...
B站搜索建库架构优化实践
前言 搜索是B站的重要基础功能,需要对包括视频、评论、图文等海量的站内优质资源建立索引,处理来自用户每日数亿的检索请求。离线索引数据的正确、高效产出是搜索业务的基础。我们在这里分享搜索离线架构整体的改造实践:从周期长,…...
XSS反射实战
目录 1.XSS向量编码 2.xss靶场训练(easy) 2.1第一关 2.2第二关 方法一 方法二 2.3第三关 2.4第四关 2.5第五关 2.6第六关 2.7第七关 第一种方法: 第二种方法: 第三个方法: 2.8第八关 1.XSS向量编码 &…...
远程消息传递的艺术:NSDistantObject在Objective-C中的妙用
标题:远程消息传递的艺术:NSDistantObject在Objective-C中的妙用 引言 在Objective-C的丰富生态中,NSDistantObject扮演着至关重要的角色,特别是在处理分布式系统中的远程消息传递。它允许对象之间跨越不同地址空间进行通信&…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
