Linux: 网络基础
1.协议
为什么要有协议:减少通信成本。所有的网络问题,本质是传输距离变长了。
什么是协议:用计算机语言表达的约定。
2.分层
软件设计方面的优势—低耦合。
一般我们的分层依据:功能比较集中,耦合度比较高的模块层—高内聚。
每一层都要解决特定的问题!都有匹配的协议。
3.网络要解决的问题:
具有“下一跳”的能力,如何将数据交付给直接相连的下一台主机。
路径选择能力。
容错纠错能力。
目标主机收到数据后,解决应用的问题。
4.OSI七层模型
会话层、表示层、应用层;都被工程中合并为应用层。
5.TCP/IP五层(四层)模型
物理层:
了解集线器(当信息长距离传输时,信号衰减过多集线器可以对信息做信号放大)。
模拟信号(振幅)用于网络传输,数字信号(0/1的离散信号)适合家庭内部路由器二进制解释。
调制解调器(猫mode--光纤/双绞线-网线),装网:光纤先接到猫(适配网络发送和本地局域网做数据解释,数字信号和模拟信号)上,再从猫接一根线和路由器连接。
连接局域网中的设备是路由器,路由器识别的是0/1二进制的数字信号。
网卡:有很多寄存器,其中储存很多0/1序列,它是连接计算机和局域网传输介质的一个硬件。
数据链路层:如何将数据交给相邻的主机。
网络层:负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。
传输层:解决纠错和容错的能力。解决两台主机之间数据通信时的可靠性问题。
应用层:收到对发送的请求,应用层解释。
6.网络传输的基本流程
6.1协议报头
a.协议每一层都有,而每一个协议最终表现就是协议都要有报头。
b.协议通常是通过协议报头来进行表达的,包头就是数据包经过每一层协议对其的封装。
c.每一份数据最终在被发送或者不同的协议层中,都要有自己的报头。
在网络协议中,我们可以认为同层协议在直接通信,也可以理解成向下交付,这是两种不同的认知。
—如何判断哪里是报头,哪里是有效载荷—每一层协议的报头中,一定要涵盖这些信息。
—如何判断自己的有效载荷该交给上层的哪个协议—封装报头采用的方式。
6.2局域网
a.局域网中两台主机可以直接通信吗? ——可以,两台相连的主机。(WIFI热点就是一个局域网)
b.局域网通信的原理:每一台主机都有网卡,每一张网卡都有自己的地址,这个地址称之为mac地址,48位的二进制数据可以按照16位进行解释,一串字符用来标识网卡的唯一性,被写进网卡里。全球内唯一,但不应用于全球,而是用在局域网中表征自己的唯一性。基本设备都有它们的序列号,方便溯源促使厂商产品迭代。
局域网主机之间是可以通信的,它们通过MAC地址识别信息是不是发送给自己的信息,如果不是就丢弃,是就进行处理。
常见局域网:
以太网:在局域网中任何一个时刻只允许一台主机发消息,否则就会发生碰撞—在一个冲突域内,这个局域网内的网络资源可以被称作共享资源,发生碰撞了该数据作废发送失败,要重新发送。
令牌环网:在局域网内只允许拿到特定数据的主机发送数据,一并发给另一台主机,另一台主机会拥有发送数据的权利...
无线LAN:以太网的变种。(以太:宇宙中可以传播光的一种介质)
6.3主机间跨网络通信
两台主机在同一网络内可以通过TCP/IP协议通过交换机/集线器直接交流;跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。一个设备至少要横跨两个网络,才能实现数据报跨网络转发->路由器必须要横跨至少两个网络->有两个网络连接接口。
在链路层局域网有多种通信标准,在网络层往上都认为整个互联网全部是IP协议—屏蔽底层网络的差异;如今的互联网能够应用全球就是得益于IP协议屏蔽底层的差异。
请求与响应->数据段->数据包->数据帧
每一层要明确1>将报头和有效载荷分离 2>根据报头的字段决定将有效载荷交付给上层的哪些协议
###后续学习怎么理解在C语言中把一块内存空间划分成报头区域和有效载荷区域###
7.IP地址和MAC地址
当一台主机跨网络给另一台主机发信息时,会先根据IP地址查找对应的MAC地址(通过ARP协议或路由表),并在每跨一个网段时更改源MAC地址和目的MAC地址以适应新的网络段和传输路径(在该段局域网/网段中查找下一个路由/目标主机根据MAC地址)。而源IP地址和目的IP地址则保持不变,用于指导数据包在网络中的路由选择。总之在网络传输中,在每次路由选择时参考IP地址来更改下一个目标MAC地址,直到改成目标主机的IP地址完成数据传输。
7.1IP地址
IP地址是在IP协议中, 用来标识网络中不同主机的地址。IP地址4个字节32个bit位,IPV6是由于IPV4的IP地址不够的产物;IPV6(16字节-128bit位)在局域网环境已经开始推行。IP地址即在局域网中使用又在广域网中使用。
性质:IP地址是逻辑地址,不具备唯一性(私有地址在局域网内可重复,但公网地址全球唯一),是可以改变的,通常由网络管理员分配和管理。
应用:IP地址用于标识网络上的主机或设备,用于不同网络之间的通信,实现跨网络的路由和数据传输;IP地址在OSI模型中的第三层网络层工作,网络层基于IP地址转发报文。
7.2 MAC地址
MAC地址用来识别数据链路层中相连的节点。能够表示一张唯一的网卡,表现在局域网(主机间可以直接通信不用路由器转换)中。
性质:MAC地址是物理地址,具有唯一性,每个硬件制造出的MAC地址是固定的,全球唯一不可变。
应用:MAC地址作用是控制数据包在局域网中(数据链路层)的传输,用于局域网内设备间的通信;MAC地址在OSI模型中的第二层数据链路层工作,数据链路层基于MAC地址进行转发数据帧。
相关文章:

Linux: 网络基础
1.协议 为什么要有协议:减少通信成本。所有的网络问题,本质是传输距离变长了。 什么是协议:用计算机语言表达的约定。 2.分层 软件设计方面的优势—低耦合。 一般我们的分层依据:功能比较集中,耦合度比较高的模块层…...
【实战篇】巧用 DeepSeek,让 Excel 数据处理更高效
一、为何选择用 DeepSeek 处理 Excel 在日常工作与生活里,Excel 是我们频繁使用的工具。不管是统计公司销售数据、分析学生成绩,还是梳理个人财务状况,Excel 凭借其强大的功能,如数据排序、筛选和简单公式计算,为我们提供了诸多便利。但当面对复杂的数据处理任务,比如从…...

Flink CDC YAML:面向数据集成的 API 设计
摘要:本文整理自阿里云智能集团 、Flink PMC Member & Committer 徐榜江(雪尽)老师在 Flink Forward Asia 2024 数据集成(一)专场中的分享。主要分为以下四个方面: Flink CDC YAML API Transform A…...
RabbitMQ技术深度解析:打造高效消息传递系统
引言 在当前的分布式系统架构中,消息队列作为一种高效的消息传递机制,扮演着越来越重要的角色。RabbitMQ,作为广泛使用的开源消息代理,以其高可用性、扩展性和灵活性赢得了众多开发者的青睐。本文将深入探讨RabbitMQ的核心概念、…...
DeepSeek与人工智能的结合:探索搜索技术的未来
云边有个稻草人-CSDN博客 目录 引言 一、DeepSeek的技术背景 1.1 传统搜索引擎的局限性 1.2 深度学习在搜索中的优势 二、DeepSeek与人工智能的结合 2.1 自然语言处理(NLP) 示例代码:基于BERT的语义搜索 2.2 多模态搜索 示例代码&…...

TAPEX:通过神经SQL执行器学习的表格预训练
摘要 近年来,语言模型预训练的进展通过利用大规模非结构化文本数据取得了巨大成功。然而,由于缺乏大规模高质量的表格数据,在结构化表格数据上应用预训练仍然是一个挑战。本文提出了TAPEX,通过在一个合成语料库上学习神经SQL执行…...

Qt:Qt基础介绍
目录 Qt背景介绍 什么是Qt Qt的发展史 Qt支持的平台 Qt版本 Qt的优点 Qt的应用场景 Qt的成功案例 Qt的发展前景及就业分析 Qt背景介绍 什么是Qt Qt是⼀个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向…...
加速度计信号处理
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)_加速度计滤波器-CSDN博客 https://wenku.baidu.com/view/622d38b90f22590102020740be1e650e52eacff9.html?_wkts_1738906719916&bdQ…...

基于SpringBoot养老院平台系统功能实现六
一、前言介绍: 1.1 项目摘要 随着全球人口老龄化的不断加剧,养老服务需求日益增长。特别是在中国,随着经济的快速发展和人民生活水平的提高,老年人口数量不断增加,对养老服务的质量和效率提出了更高的要求。传统的养…...

Conmi的正确答案——Rider中添加icon作为exe的图标
C#版本:.net 8.0 Rider版本:#RD-243.22562.250(非商业使用版) 1、添加图标到解决方案下: 2、打开“App.xaml”配置文件,添加配置: <Applicationx:Class"ComTransmit.App"xmlns&q…...
机试题——DNS本地缓存
题目描述 正在开发一个DNS本地缓存系统。在互联网中,DNS(Domain Name System)用于将域名(例如www.example.com)解析为IP地址,以便将请求发送到正确的服务器上。通常情况下,DNS请求会发送到互联…...
Day38【AI思考】-彻底打通线性数据结构间的血脉联系
文章目录 **彻底打通线性数据结构间的血脉联系****数据结构家族谱系图****一、线性表(老祖宗的规矩)****核心特征** **二、嫡系血脉解析**1. **数组(规矩森严的长子)**2. **链表(灵活变通的次子)** **三、庶…...

【LeetCode】152、乘积最大子数组
【LeetCode】152、乘积最大子数组 文章目录 一、dp1.1 dp1.2 简化代码 二、多语言解法 一、dp 1.1 dp 从前向后遍历, 当遍历到 nums[i] 时, 有如下三种情况 能得到最大值: 只使用 nums[i], 例如 [0.1, 0.3, 0.2, 100] 则 [100] 是最大值使用 max(nums[0…i-1]) * nums[i], 例…...

[MRCTF2020]Ez_bypass1(md5绕过)
[MRCTF2020]Ez_bypass1(md5绕过) 这道题就是要绕过md5强类型比较,但是本身又不相等: md5无法处理数组,如果传入的是数组进行md5加密,会直接放回NULL,两个NuLL相比较会等于true; 所以?id[]1&gg…...

MySQL 缓存机制与架构解析
目录 一、MySQL缓存机制概述 二、MySQL整体架构 三、SQL查询执行全流程 四、MySQL 8.0为何移除查询缓存? 五、MySQL 8.0前的查询缓存配置 六、替代方案:应用层缓存与优化建议 总结 一、MySQL缓存机制概述 MySQL的缓存机制旨在提升数据访问效率&am…...

LabVIEW自定义测量参数怎么设置?
以下通过一个温度采集案例,说明在 LabVIEW 中设置自定义测量参数的具体方法: 案例背景 假设使用 NI USB-6009 数据采集卡 和 热电偶传感器 监测温度,需自定义以下参数: 采样率:1 kHz 输入量程:0~10 V&a…...

海思的一站式集成环境Hispark Studio更新了
HiSpark Studio是海思提供的面向智能设备开发者提供一站式集成开发环境,支持代码编辑、编译、烧录和调试等功能。我以前在评测星闪芯片的时候用过,当时写了篇博客:【星闪开发连载】WS63E开发板Windows环境的构建_hispark studio-CSDN博客。那…...
TresJS:用Vue组件构建3D场景的新选择
在当今数字化时代,3D图形技术正以前所未有的速度发展,从游戏开发到虚拟现实(VR)、增强现实(AR),再到各种沉浸式体验,3D技术的应用场景日益丰富。TresJS作为一款基于Three.js的Web3D开…...

Axure设计教程:动态排名图(中继器实现)
一、开篇 在Axure原型设计中,动态图表是展示数据和交互效果的重要元素。今天,我们将学习如何使用中继器来创建一个动态的排名图,该图表不仅支持自动轮播,还可以手动切换,极大地增强了用户交互体验。此教程旨在提供一个…...

攻防世界 文件上传
题目名称-文件包含 今天的题大概提一下解题思路就好了 这里要使用php://filter 在此基础上因为网页过滤了一些关键字 我们要进行爆破 UCS-4* UCS-4BE UCS-4LE* UCS-2 UCS-2BE UCS-2LE UTF-32* UTF-32BE* UTF-32LE* UTF-16* UTF-16BE* UTF-16LE* UTF-7 UTF7-IMAP UTF-8* ASCII…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...