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

Linux网络编程 从集线器到交换机的网络通信全流程——基于Packet Tracer的深度实验

这里我们先下载一个软件:Packet Tracer

用来搭建网络拓扑图的,是模拟和查看数据在网络中传输的详细过程

在软件这里可以添加设备

知识点1【集线器】(Hub)

1、先配置一下主机的IP

这里我们设置IP一定要在同一个网段,并且没有被占用

不在同一个网段需要借助路由器来实现

1、单击主机

IP和掩码

按照下图配置每台主机

2、查看通信流程

1、先切换为仿真模式

2、PC机器上使用ping命令

点击下面按键可以查看,一步步的执行

我们执行在192.168.1.2 执行 ping 192.168.1.4

重点内容

为什么会有一个ARM报文呢?

ping命令是网络层指令,我们来复习一下 四层架构模型

应用层→传输层→网络层→数据链路层

但是要在网络中传输,需要形成 帧数据,帧数据就需要经过链路层。

因此需要在ICMP的报文,加一个mac头部,

mac头的作用是存放源mac与目的mac

我们执行192.168.1.2 执行 ping 192.168.1.4时,发送主机知道当前主机的mac,它是如何知道接收192.168.1.4的mac地址的呢?

这里需要引入 arp表的概念

ARP表

每个主机都有一个ARP表,ARP表中存放的是IP,和与IP对应的mac地址

我们可以在windows尝试查看一下arp表

可以看到一个IP对应一个mac地址

但是进行记录的前提,是需要与目的主机进行一次通信的。

此时我们ping,arp表中是没有目的主机的mac地址

因此我们就需要调用ARP协议,去广播,寻找IP对应的目的主机

3、总结ping的流程(背)

1、ping指令,调用的网络层协议是ICMP协议

2、当ping时,首先会去ARP表中去寻找 目的IP对应的MAC地址

如果ARP表中以存有此IP与其对应的 MAC地址,此时就会直接将目的地址存入MAC头部

如果ARP表中没有与此IP对应的MAC地址,此时会使用ARP协议进行广播,去寻找IP对应的目的主机,目的主机会应答,将其MAC发送到源主机。

补充

这里我们补充一个知识点:

我们之前学的都是在应用层进行编程,应用层编程,我们地址结构体传参,只传了IP地址和端口号,这两个只服务于网络层与传输层,那mac地址如何解决,就是 利用数据链路层传输协议来实现的。

我以后会介绍原始套接字,即在链路层进行编程,应用层,网络层,传输层都需要我们自行进行组包,不再让协议帮我们完成。

3、ARP协议流程

1、步骤1

先查看一下,源IP对应的mac地址

我们查看一下,ARP协议格式,是在进行广播

我们也可以看到,ARP协议在Layer 2层,即链路层

2、步骤2

从集线器发送,每个主机都收到了报文,但是只有PC2(目的主机)收到了。

我们查看一下PC2于PC3(PC4)于数据格式

我们查看一下PC2的发送报文

是从PC2传向PC1的

3、步骤3

这里从PC2 发送到PC1的数据

我们看一下传输的数据格式,可以看到不是广播格式

解释:这里的无论时从Hub→PC1,3,4 ,

源mac地址都是PC2的mac地址,目的mac地址都是PC1的地址,因此PC4,PC3收不到数据

4、步骤4

PC1接受数据(目的主机的mac地址)后,才进行ICMP协议

以后我们再从192.168.1.2 向192.168.1.4传输数据

无需再ARP广播,直接从arp表中获取,的192.168.1.4的mac地址即可

ARP表的作用就是提高转发效率的

补充

这里我们可以初步感受到mac地址的作用

数据在网络上传输,并不是直达的,而是有很多中转站,而中转站的识别,就是通过mac地址来实现的。

4、集线器介绍(Hub)

集线器工作在物理层

数据到达集线器,会被广播到与该集线器相连的所有主机上

所有主机共享集线器的带宽

功能:整形放大

在长距离传输过程中,电信号波形会畸变,集线器会对失真信号进行波形重组;并且集线器中有放大器电路,会将信号的强度进行提升。

知识点补充

TTL:网络生存时间,每经过一个路由器,TTL的大小会减一

TTL一般是128或者64,实际我们进行数据传输只需要经过6-8路由器,如果一个数据,传输64个路由器还没有传到目标主机,这个数据也就没必要要了

知识点2【交换机】(SWITCHES)

1、交换机的概述

交换机的作用:拓展网口

交换机与集线器是不同的,虽都可以拓展网口,但是一般拓展网口用的是交换机,我将在介绍完交换机后,介绍交换机与集线器的不同之处

橙色标识正在测试网络,等待即可

数据通信过程大家自行演示测试,如果主机间未识别,也是会调用ARP协议。

交换机工作在链路层

所有主机独享交换机的带宽

介绍:这里的独享是相对于微观而言

同一个交换机,引出两条网线→电脑,一台电脑看视频,一台电脑打游戏,每一个时间片只能进行一个任务,时间片轮转执行,实现不同任务的执行。每个时间片上,只有一个任务在执行,即独享带宽。

这也是为什么 随是独享,而当引出网线过多时,多台主机同时进行工作,会变卡的原因。

2、交换机学习功能(背!!)

这里说一下 交换机的学习功能

交换机有端口号(并非传输层我们熟悉的端口的端口号),当交换机上连接的设备发送数据帧的时候,交换机从帧数据中提取MAC地址,并将此设备的端口号与其MAC地址的对应关系存储在MAC地址表中。

3、交换机的分类(背!!)

二层交换机:交换机工作在第二层(链路层),负责mac转发

三层交换机:交换机核心层还是第二层,只是具备网络层的网段划分功能,的同时让不同的VLAN间无需借助外部路由器进行通信

四层交换机:交换机核心层还是第二层,只是具备端口映射功能

VLAN技术介绍

VLAN(Virtual Local Area Network) 是一种通过逻辑方式将物理网络划分为多个独立广播域的技术。它打破了传统局域网(LAN)依赖物理连接的局限,允许管理员根据需求将设备分组,逻辑隔离不同组的通信,即使这些设备物理上连接在同一交换机上。

网段划分只是我们在【初始网络】中有介绍。

4、交换机和集线器的区别

1、集线器实在物理层,交换机在数据链路层

2、集线器共享宽带,交换机独享宽带

3、集线器广播所有端口,交换机基于MAC地址单播

4、集线器延迟低,交换机延迟高(可不说)

5、拓展内容

交换机连接的所有设备不一定在同一个网段:

  1. 默认情况下(无VLAN划分):
    • 所有设备连接到同一交换机的不同端口,通常配置在同一个IP子网(同一网段),以便通过二层MAC地址直接通信。
    • 例如:设备A(IP: 192.168.1.2/24)和设备B(192.168.1.3/24)可以通过交换机直接通信。
  2. 存在VLAN划分时:
    • 若交换机支持VLAN功能,不同端口可以划分到不同VLAN中,每个VLAN对应独立的广播域和IP子网
    • 例如:
      • VLAN 10(网段:192.168.10.0/24)分配给端口1-8。
      • VLAN 20(网段:192.168.20.0/24)分配给端口9-16。
      • 此时,不同VLAN的设备需要通过路由器三层交换机进行跨网段通信。
  3. 三层交换机的场景:
    • 若使用三层交换机,可为每个VLAN配置虚拟接口(SVI)实现不同VLAN间的路由功能
    • 例如:
      • VLAN 10的网关为192.168.10.1,VLAN 20的网关为192.168.20.1。
      • 三层交换机自动处理跨VLAN的IP流量,无需外部路由器。

结束

代码重在练习!

代码重在练习!

代码重在练习!

今天的分享就到此结束了,希望对你有所帮助,如果你喜欢我的分享,请点赞收藏夹关注,谢谢大家!!!

相关文章:

Linux网络编程 从集线器到交换机的网络通信全流程——基于Packet Tracer的深度实验

这里我们先下载一个软件:Packet Tracer 用来搭建网络拓扑图的,是模拟和查看数据在网络中传输的详细过程的 在软件这里可以添加设备 知识点1【集线器】(Hub) 1、先配置一下主机的IP 这里我们设置IP一定要在同一个网段&#xff…...

深入学习Axios:现代前端HTTP请求利器

文章目录 深入学习Axios:现代前端HTTP请求利器一、Axios简介与安装什么是Axios?安装Axios 二、Axios基础使用发起GET请求发起POST请求并发请求 三、Axios高级特性创建Axios实例配置默认值拦截器取消请求 四、Axios与TypeScript五、最佳实践1. 封装Axios2…...

FANUC机器人GI与GO位置数据传输设置

FANUC机器人GI与GO位置数据传输设置(整数小数分开发) 一、概述 在 Fanuc 机器人应用中,如果 IO 点位足够,可以利用机器人 IO 传输位置数据及偏移位置数据等。 二、操作步骤 1、确认通讯软件安装 首先确认机器人控制柜已经安装…...

微服务 RabbitMQ 组件的介绍、安装与使用详解

微服务 RabbitMQ 组件的介绍、安装与使用 在现代微服务架构中,服务之间的通信通常采用消息队列的方式,来解耦服务之间的依赖、提高系统的可靠性和扩展性。RabbitMQ 作为一种高效、可靠的消息队列系统,已经广泛应用于微服务架构中。本文将介绍…...

Vue3速通笔记

Vue3入门到实战 尚硅谷Vue3入门到实战,最新版vue3TypeScript前端开发教程 1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n经历了:4800次提交、40个RFC、600次PR、300贡献者官方发版地…...

Spring Boot 项目:如何在 JAR 运行时读取外部配置文件

在 Spring Boot 项目中,我们常常需要在生产环境中灵活地配置应用,尤其是当我们将项目打包为 JAR 文件时,如何在运行时通过外部配置文件(如 application.yml 或 application.properties)替换 JAR 内部的配置就变得尤为重…...

Certimate本地化自动化 SSL/TLS 证书管理解决方案

一、背景与挑战 多域名管理复杂 运维团队往往需要为多个子域、泛域名乃至不同项目的域名分别申请证书,手动操作容易出错且耗时。续期易忘风险 主流免费证书(如 Let’s Encrypt)有效期仅 90 天,需要定期续期,人工监控门…...

vue+flask+lstm高校舆情分析系统 | 可获取最新数据!

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号:F020 gaoxiao 架构:vueflaskLSTMMySQL 功能: 微博信息爬取、情感分析、基于负面消极内容舆情分…...

Cisco-Torch:思科设备扫描器!全参数详细教程!Kali Linux教程!

简介 cisco-torch 与同类工具的主要区别在于其广泛使用 fork 技术,可以在后台启动多个扫描进程,从而最大限度地提高扫描效率。此外,它还可以根据需要同时使用多种应用层指纹识别方法。我们希望能够快速发现运行 Telnet、SSH、Web、NTP、TFTP…...

Go协程的调用与原理

Goroutine Go不需要像C或者Java那样手动管理线程,Go语言的goroutine机制自动帮你管理线程。 使用goroutine、 Go语言中使用goroutine非常简单,只需要在调用函数的时候在前面加上go关键字,就可以为一个函数创建一个goroutine。 一个gorout…...

论文精读:大规模MIMO波束选择问题的量子计算解决方案

论文精读:大规模MIMO波束选择问题的量子计算解决方案 概要: 随着大规模多输入多输出系统(MIMO)在5G及未来通信技术中的应用,波束选择问题(MBS)成为提升系统性能的关键。传统的波束选择方法面临计…...

将 MySQL 8 主从复制延迟优化到极致

目录 一、网络资源不足引起的复制延迟 1. 执行监控确认延迟原因 2. 估算所需带宽 (1)基本公式 (2)实际测量方法 二、大事务或大查询引起的复制延迟 1. 主库大事务 2. 从库大查询 3. 估算所需 I/O 能力 (1&am…...

路由与OSPF学习

【路由是跨网段通讯的必要条件】 路由指的是在网络中,数据包从源主机传输到目的主机的路径选择过程。 路由通常涉及以下几个关键元素: 1.路由器:是一种网络设备,负责将数据包从一个网络传输到另一个网络。路由器根据路由表来决定…...

Spring Security:企业级安全架构的设计哲学与工程实践

一、核心架构与设计理念 Spring Security作为Spring生态中的安全基石,其架构设计遵循**“分层过滤"与"组件化扩展”**两大原则。整个安全框架本质上是一个由多个过滤器构成的链式处理模型(Filter Chain),每个过滤器负责…...

NLP高频面试题(五十二)——BERT 变体详解

在现代自然语言处理领域,BERT 系列模型不断演进,衍生出多种变体,它们通过改进预训练任务、模型结构和训练策略,在不同应用场景下取得了更优表现。本文首先概览主要 BERT 变体(如 ALBERT、RoBERTa、ELECTRA、SpanBERT、Transformer-XL 等),随后针对以下几个关键问题逐一展…...

C++Primer 编程练习 第二章

最近想重新看一下CPrimer&#xff0c;顺便敲一下他的编程练习题&#xff0c;虽然很简单&#xff0c;但是就当是锻炼一下vim的熟练度和手感 由于按照章节顺序来说是初学者&#xff0c;不会对输入内容做过多的判断&#xff0c;只对问题作出基本实现 第二章 1 #include <ios…...

Vue.js 新手小白指南:从起源到实战

&#x1f31f; Vue 的来源 Vue.js 由**尤雨溪&#xff08;Evan You&#xff09;**在2014年创建&#xff0c;最初是作为个人项目开发&#xff0c;灵感来源于他在 Google 使用 AngularJS 的经验。Vue 的设计目标是提供一个更轻量级、更易上手的前端框架。 如今&#xff0c;Vue …...

策略模式:动态切换算法的设计智慧

策略模式&#xff1a;动态切换算法的设计智慧 一、模式核心&#xff1a;定义一系列算法并可相互替换 在软件开发中&#xff0c;常常会遇到需要根据不同情况选择不同算法的场景。例如&#xff0c;在电商系统中&#xff0c;根据不同的促销活动&#xff08;如满减、折扣、赠品&a…...

Vm免安装直接使用虚拟机win7系统

教程 一、下载并解压资料里面的vmx压缩包 二、使用Vm软件打开刚刚解压的vmx文件即可使用虚拟机的win7系统 资料下载 点击下载...

LSTM-GAN生成数据技术

1. 项目概述 本项目利用生成对抗网络&#xff08;GAN&#xff09;技术来填补时间序列数据中的缺失值。项目实现了两种不同的GAN模型&#xff1a;基于LSTM的GAN&#xff08;LSTM-GAN&#xff09;和基于多层感知机的GAN&#xff08;MLP-GAN&#xff09;&#xff0c;并对两种模型…...

26、C# 中是否可以继承String类?为什么?

在 C# 中&#xff0c;不能直接继承 String 类&#xff08;System.String&#xff09;。这是由于以下几个原因&#xff1a; 1、String 类是 sealed 的 String 类在 .NET 中被标记为 sealed&#xff0c;这意味着它是一个密封类&#xff0c;不能被继承。 sealed 关键字的作用是防…...

gem5教程第五章 了解gem5默认配置脚本

在本章中,我们将探讨如何使用gem5附带的默认配置脚本。 gem5附带了许多配置脚本,使您能够非常快速地使用gem5。 然而,一个常见的陷阱是在不完全理解所模拟内容的情况下使用这些脚本。在使用gem5进行计算机架构研究时,充分了解您正在模拟的系统非常重要。本章将引导您了解默…...

什么是鸿蒙南向开发?什么是北向开发?

文章目录 鸿蒙南向开发 vs 北向开发&#xff1a;底层与生态的双向赋能一、鸿蒙南向开发&#xff1a;连接硬件的底层基石二、鸿蒙北向开发&#xff1a;构建全场景应用生态三、南向与北向&#xff1a;互补与协同四、如何选择开发方向?结语 鸿蒙南向开发 vs 北向开发&#xff1a;…...

蓝桥杯 19. 最大比例

最大比例 原题目链接 题目描述 X 星球的某个大奖赛设了 M 级奖励。每个级别的奖金是一个正整数。 并且&#xff0c;相邻两个级别间的比例是一个固定值&#xff0c;也就是说&#xff1a;所有级别的奖金构成一个等比数列。 例如&#xff1a; 奖金数列为 16, 24, 36, 54&…...

制造业数字化转型标杆解析:从冀凯机电到君乐宝的启示

1. 执行摘要 数字化转型已成为现代制造业提升竞争力、实现高质量发展的核心驱动力。本文旨在通过深入剖析冀凯装备制造股份有限公司&#xff08;冀凯机电&#xff09;和君乐宝乳业集团&#xff08;君乐宝&#xff09;两家不同行业背景企业的数字化转型实践&#xff0c;提炼可供…...

【OSCP-vulnhub】Raven-2

目录 端口扫描 本地/etc/hosts文件解析 目录扫描&#xff1a; 第一个flag 利用msf下载exp flag2 flag3 Mysql登录 查看mysql的运行权限 MySql提权&#xff1a;UDF 查看数据库写入条件 查看插件目录 查看是否可以远程登录 gcc编译.o文件 创建so文件 创建临时监听…...

配置MambaIRv2: Attentive State Space Restoration的环境

github上代码的地址&#xff1a; csguoh/MambaIR: [ECCV2024, CVPR2025] MambaIR and MambaIRv2! 一开始直接输入命令 conda env create -f environment.yaml 安装了半天爆出来好几个错误&#xff0c;其中一个是没有nvcc 输入以下命令&#xff1a; module avail 发现没有…...

4.23晚间工作总结

主要工作&#xff1a;将ClassicDetail界面拆分成utils,apis,stores,css,vue多个文件&#xff0c;方便后续重用 具体代码截图&#xff1a;...

Maven 项目中引入本地 JAR 包

在日常开发过程中&#xff0c;我们有时会遇到一些未上传到 Maven 中央仓库或公司私有仓库的 JAR 包&#xff0c;比如第三方提供的 SDK 或自己编译的库。这时候&#xff0c;我们就需要将这些 JAR 包手动引入到 Maven 项目中。本文将介绍两种常见方式&#xff1a;将 JAR 安装到本…...

SpringBoot整合SSE,基于okhttp

一、引入依赖 <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.10.0</version> </dependency> <dependency><groupId>com.squareup.okhttp3</groupId><…...

从云端到边缘:云原生后端架构在边缘计算中的演进与实践

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:为何云原生后端正在走向边缘? 随着物联网(IoT)、5G 和实时应用的快速发展,越来越多的数据在终端产生并需要即时处理。传统云计算虽强大,但将所有数据上送云端再处理,带来高延迟与带宽压力。…...

pytest心得体会

一、如何单独运行某条用例 在参数化测试中总有些用例失败&#xff0c;由于前后置数据的关系需要单独运行那条用例如何运行呢 方法一&#xff1a;直接查看控制台运行用例 确定是[2-case_data8] pytest.main(["-sv","testcase/违规告警/test_违规告警_非合同车…...

《Cesium 中两点绘制线的实现:实线、虚线、动态线、流动线详解》

摘要 在 Cesium 三维地球可视化开发中,两点之间绘制线是常见的需求。本文详细介绍如何在 Cesium 中实现两点间绘制实线、虚线、动态线和流动线,并提供完整的代码示例,方便开发者快速上手,满足不同场景下的可视化需求。 一、环境与依赖 本文代码基于 Cesium 库进行开发,…...

【EasyPan】MySQL FIELD() 函数实现自定义排序

【EasyPan】项目常见问题解答&#xff08;自用&持续更新中…&#xff09;汇总版 MySQL FIELD() 函数解析 一、FIELD() 函数技术解析 /* 基础语法 */ FIELD(column_name, value1, value2, ..., valueN)核心特性 特性说明返回值机制返回字段值在参数列表中的索引位置&…...

搭建TypeScript单元测试环境

我们在学习TypeScript的时候如果能够搭建一个单元测试的环境&#xff0c;那写些demo会很简单&#xff0c;下面我们使用jest来搭建一个单元测试环境 Jest 是一个由 Facebook 开发并开源的 JavaScript 测试框架&#xff0c;被广泛应用于前端和 Node.js 项目的单元测试。以下是关…...

Vue3父子组件数据同步方法

在 Vue 3 中&#xff0c;当子组件需要修改父组件传递的数据副本并同步更新时&#xff0c;可以通过以下步骤实现&#xff1a; 方法 1&#xff1a;使用 v-model 和计算属性&#xff08;实时同步&#xff09; 父组件&#xff1a; vue <template><ChildComponent v-mo…...

免费且开源的企业级监控解决方案:Zabbix

一、Zabbix 简介 Zabbix 是一款功能强大的企业级开源监控解决方案。它可以监控各种 IT 基础设施组件&#xff0c;包括网络设备、服务器、虚拟机、云服务、应用程序和数据库等。Zabbix 提供实时的监控、告警、报表和可视化功能&#xff0c;帮助用户及时发现和解决 IT 系统中的问…...

高并发系统的通用设计方法是什么?

背景 高并发系统的通用设计方法是解决系统在面对大量用户访问时的性能瓶颈问题。当系统遇到性能瓶颈时&#xff0c;通常是因为某个单点资源&#xff08;如数据库、后端云服务器、网络带宽等&#xff09;达到了极限。 为了提升整个系统的容量&#xff0c;需要找到这个瓶颈资源…...

ubuntu系统下部署使用git教程

在ubuntu系统下部署并使用git教程 1.下载并安装 sudo apt update sudo apt install git2.检验安装是否成功 git --version若输出git版本号即为成功。 3.配置参数 git config --global user.name "你的名字" git config --global user.email "你的邮箱&quo…...

redis client.ttl(key)

对应 Redis 的 TTL 命令&#xff1a; bash 复制 下载 TTL key 使用示例 1. 基本用法 java 复制 下载 try (Jedis jedis jedisPool.getResource()) {long ttl jedis.ttl("user:1001:session");if (ttl > 0) {System.out.println("键将在 " t…...

基于ACL方式手动建立站点间 IPSec 隧道

换句话说 不使用 IKE 自动协商&#xff0c;而是静态配置密钥和 SPI&#xff08;安全参数索引&#xff09;来配置隧道规则 环境基础 还是使用eNSP软件进行模拟&#xff0c;等后面再更新实际通信中的环境 没有框架&#xff0c;就没有基本思路 还是使用前面文章GRE VPN的拓扑&…...

电池大脑的基准测试及AI拓展

从为我们的智能手机供电到驱动电动汽车&#xff0c;我们的日常生活都离不开锂离子电池&#xff08;LIB&#xff09;。但是&#xff0c;理解其复杂的内部运作并预测其性能需要精密的工具。由此引入了多孔电极理论&#xff08;PET&#xff09;模型&#xff0c;我们可以将其视为模…...

数据通信学习笔记之OSPF的基础术语

Router ID RouterID 用于在自治系统中唯一标识一省运行 OSPF 的路由器&#xff0c;它是一个 32 位的无符号整数 配置完成后&#xff0c;如果需要修改 Router ID 的话&#xff0c;需要重启进程才能上生效 ​<Huawei>reset ospf 1 process​ // 重启 ospf 进程 1 Route…...

Android Cordova 开发 - Cordova 快速入门(Cordova 环境配置、Cordova 第一个应用程序)

一、Cordova 1、Cordova 概述 Cordova 是使用 HTML&#xff0c;CSS 和 JavaScript 构建混合移动应用程序的平台 2、Cordova 特征 &#xff08;1&#xff09;命令行界面&#xff08;Cordova CLI&#xff09; 这是可用于启动项目&#xff0c;构建不同平台的进程&#xff0c;…...

AndroidAutomotive模块介绍(四)VehicleHal介绍

前言 前面的文章中&#xff0c;描述了 Android Automotive 的框架中应用、Framework 层服务等知识&#xff0c;本篇文章将会继续按照 Android Automotive 框架介绍 Vehicle Hal 层服务的内容。 上一篇&#xff1a;AndroidAutomotive模块介绍&#xff08;三&#xff09;CarSer…...

Pingora vs. Nginx vs. 其他主流代理服务器性能对比

Pingora vs. Nginx vs. 其他主流代理服务器性能对比 核心对比概览 特性Pingora (Cloudflare)NginxEnvoyHAProxyCaddyTraefik开发公司CloudflareNginx, Inc/F5Lyft/CNCFHAProxy TechApache 2.0社区Containous核心语言RustCCCGoGo并发模型异步/多线程事件驱动事件驱动事件驱动协…...

4月23日作业

需求&#xff1a; 1&#xff0c;R5为ISP&#xff0c;其上只能配置IP地址&#xff1b; R5与其他所有直连设备间均使用公有IP&#xff1b;环回地址为100.1.1.1/32 2&#xff0c;R4设备为企业出口路由器 3&#xff0c;整个OSPF环境IP基于172.16.0.0/16划分&#xff1b; 4&…...

5.学习笔记-SpringMVC(P53-P60)

1.响应 &#xff08;1&#xff09;响应页面 &#xff08;2&#xff09;响应数据&#xff08;异步提交&#xff09;&#xff1a;文本数据、json数据 2.REST风格 (1)REST:表现形式状态转换。 (2)传统风格资源描述形式 3.Restful入门案例 5.基于RESTful页面数据…...

安卓14默认赋予应用权限

安卓14上赋予应用默认权限的方式跟之前的不太一样了 需要修改两个地方&#xff0c;一个是frameworks\base\services\core\java\com\android\server\pm\permission\Permission.java public boolean isNormal() {//eturn (mPermissionInfo.protectionLevel & PermissionInfo…...

数据的加载与保存

加载数据的方法 选项参数&#xff1a;可以通过选项参数传入URL地址、用户名、密码和数据表名称等。 路径参数&#xff1a;可以传入加载数据的路径。 MySQL语句&#xff1a;可以直接导入MySQL语句来加载数据。 保存数据的方法通用方法&#xff1a;使用df.write方法保存数据。…...