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…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

