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

系统与网络安全------网络通信原理(1)

资料整理于网络资料、书本资料、AI,仅供个人学习参考。

文章目录

  • 网络通信模型
    • 协议分层
      • 计算机网络发展
      • 计算机网络功能
      • 什么是协议
      • 为什么分层
      • 邮局实例
    • OSI模型
      • OSI协议模型
      • OSI七层模型
      • OSI七层的功能简介
    • TCP/IP模型
      • OSI模型与TCP/IP模型
      • TCP/IP协议族的组成
      • 各层PDU
      • 设备与层的对应关系
    • 数据通信流程
      • 数据通信
      • 数据封装过程
      • 数据解封装过程

网络通信模型

协议分层

计算机网络发展

  • 计算机的诞生

1945年2月14日ENIAC诞生

  • 计算机网络的诞生

1969年APNET诞生

  • 不同网络之间的互联

由于网络标准不一样,无法完成互联

计算机网络功能

  • 数据通信

在这里插入图片描述

什么是协议

  • 什么是协议?

为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”

描述网络通信中“语言”规范的一组规则就是协议

例如:两个人交谈,必须使用相同的语言

  • 数据通信协议的定义

决定数据的格式和传输的一组规则或者一组惯例

为什么分层

  • 网络通信的过程很复杂

数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读

为了降低网络设计的复杂性,将协议进行分层设计

在这里插入图片描述

邮局实例

  • 邮局实例(传统通信)

在这里插入图片描述

OSI模型

OSI协议模型

在这里插入图片描述

OSI七层模型

  • OSI参考模型

国际标准化组织(International Standard Organization,lSO)于1984年正式颁布开放系统互连(Open System Interconnection,OSl)参考模型

所有的软件和硬件开发都遵循统一的 OSI 模型

在这里插入图片描述

OSI七层的功能简介

在这里插入图片描述

TCP/IP模型

OSI模型与TCP/IP模型

  • OSI模型,仅仅是ISO提出的一个“参考”标准
  • 实际的网络中更多使用TCP/IP 5层模型,但是实现的功能是相同的

在这里插入图片描述

TCP/IP协议族的组成

  • TCP/IP是一系列协议的集合,所以严格称呼应是TCP/IP协议族

在这里插入图片描述

各层PDU

在这里插入图片描述

设备与层的对应关系

在这里插入图片描述

数据通信流程

数据通信

  • 所谓的设备之间的通信,指的是设备之间能够互相传输数据
  • 产生数据

即数据封装,指的是数据通过应用层产生以后,发送到第一层,每经过一层都添加一个协议头部的过程

  • 传输数据

即网络传输数据在不同的网络设备组成的互联网中传输的过程,主要是依靠交换机和路由器实现数据在不同设备之间的转发

  • 接收数据

即数据解封装,指的是数据被设备通过网线接收以后,形成数据帧,然后一层一层分析头部,然后传递给上一层处理,一直到应用层的过程

也可以说是:不断的分析并删除每层的协议头部的过程‘

  • 设备之间的数据传输,一定是双向的,每个方向都分为3个阶段

产生数据,也称之为“数据封装”

传输数据,也称之为“网络传输”

接收数据,也称之为“数据解封装”

在这里插入图片描述

数据封装过程

在这里插入图片描述

数据解封装过程

在这里插入图片描述

相关文章:

系统与网络安全------网络通信原理(1)

资料整理于网络资料、书本资料、AI,仅供个人学习参考。 文章目录 网络通信模型协议分层计算机网络发展计算机网络功能什么是协议为什么分层邮局实例 OSI模型OSI协议模型OSI七层模型OSI七层的功能简介 TCP/IP模型OSI模型与TCP/IP模型TCP/IP协议族的组成各层PDU设备与…...

ArkTS语言基础之函数

前言 臭宝们终于来到了ArkTS基础之函数,今天我们来学习一下ArkTS的函数的相关知识,上一节中也有一些函数的基础知识。 函数声明 函数声明引入一个函数,包含其名称、参数列表、返回类型和函数体,在下面的例子中,我们声明了一个名…...

synchronized锁升级的锁对象和Mark Word

在讨论synchronized锁升级和Mark Word时,提到的"对象"通常指的是锁对象,也就是被用作synchronized同步锁的那个Java对象。 1. 什么是锁对象? 锁对象是指被用于synchronized同步代码块或方法的对象实例。例如: // 这个…...

数据结构|排序算法(二)插入排序 希尔排序 冒泡排序

一、插入排序 1.算法思想 插入排序(Insertion Sort)是一种简单的排序算法,其基本思想是:将待排序的元素插入到已经有序的序列中,从而逐步构建有序序列。 具体过程如下: 把待排序的数组分为已排序和未排…...

12、主频和时钟配置实验

一、I.MX6U 时钟系统详解 1、系统时钟来源 开发板的系统时钟来源于两部分: 32.768KHz 和24MHz 的晶振,其中 32.768KHz 晶振是 I.MX6U 的 RTC 时钟源, 24MHz 晶振是 I.MX6U 内核和其它外设的时钟源。 2、7路PLL时钟源 I.MX6U 的外设有很多,不同的外设时钟源不同, NXP 将…...

DFS和BFS的模版

dfs dfs金典例题理解就是走迷宫 P1605 迷宫 - 洛谷 dfs本质上在套一个模版&#xff1a; ///dfs #include<bits/stdc.h> using namespace std; int a[10][10]{0}; int m,n,t,ans0; int ex,ey; int v[10][10]{0}; int dx[4]{-1,0,1,0}; int dy[4]{0,1,0,-1}; void dfs(in…...

docker镜像导出导入

在Docker中&#xff0c;可以很容易地导出和导入镜像&#xff0c;这对于备份、迁移或者在不同的环境中共享镜像非常有用。以下是操作步骤&#xff1a; 导出镜像 使用 docker save docker save 命令可以用来将一个或多个镜像保存到一个文件中&#xff0c;这个文件可以被导入到任…...

大模型Agent | 构建智能体 AI-Agent的 5大挑战,及解决方案!

源自: AINLPer&#xff08;每日干货分享&#xff01;&#xff01;&#xff09; 编辑: ShuYini 校稿: ShuYini 时间: 2025-4-7 更多&#xff1a;>>>>专注大模型/AIGC、学术前沿的知识分享&#xff01; 引言 AI-Agent正变得越来越智能&#xff0c;它能够根据用户需…...

基于STM32、HAL库的IP2721 快充协议芯片简介及驱动程序设计

一、简介: IP2721是一款高性能的USB PD (Power Delivery)协议控制器芯片,主要用于USB Type-C接口的电源管理。它支持USB PD 3.0规范,能够实现多种电压和电流的协商,广泛应用于充电器、移动电源等设备。 主要特性: 支持USB PD 3.0规范 支持Type-C接口的DRP/SRC/SNK模式 内…...

荣耀90 GT信息

外观设计 屏幕&#xff1a;采用 6.7 英寸 AMOLED 荣耀绿洲护眼屏&#xff0c;超窄边框设计&#xff0c;其上边框 1.6mm&#xff0c;左右黑边 1.25mm&#xff0c;屏占较高&#xff0c;带来更广阔的视觉体验。屏幕还支持 120Hz 自由刷新率&#xff0c;可根据使用场景自动切换刷新…...

53. 评论日记

要自己有判断是非的能力宝子们。#小米 #小米su7 #雷军 #神操作 #小米su7ultra_哔哩哔哩_bilibili 2025年4月8日19:30:57...

【10】搭建k8s集群系列(二进制部署)之安装Dashboard和CoreDNS

一、部署Dashboard 1.1、创建kubernetes-dashboard.yaml文件 完整的yaml配置文件信息如下&#xff1a; # Copyright 2017 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in …...

【算法手记12】DP25 删除相邻数字的最大分数

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:刷题 ⚙️操作环境:牛客网 目录 一.DP25 删除相邻数字的最大分数 题目详情: 题目思路: 解题代码: 结语 一.DP25 删除相邻数字的最大分数 牛客网题目链接(点击即可跳转):DP25 删除相邻数字的最大分数 题目详情: 本题详情如…...

[Godot] C#简单实现人物的控制和动画

目录 实现效果 场景搭建 脚本实现 移动 动画 完整脚本 相机跟随 总结 实现效果 场景搭建 本文章只分享了关于移动和动画的&#xff0c;没有给碰撞体&#xff0c;大家根据需要自行添加吧 相机的缩放大小可以根据自己的需要调整 我的人物动画结构是这样的&#xff0c;待机动…...

选择站群服务器租用的优势都有什么?

站群服务器是一种专门用于托管多个网站的服务器&#xff0c;是通过集中管理和资源分配&#xff0c;可以支持同时运行数十个甚至是数百个独立网站&#xff0c;站群服务器的主要特点就是让每个网站可以分配独立的IP地址&#xff0c;避免出现IP关联风险&#xff0c;通过统一控制面…...

VS Code下开发FPGA——FPGA开发体验提升__下

上一篇&#xff1a;IntelliJ IDEA下开发FPGA-CSDN博客 Type&#xff1a;Quartus 一、安装插件 在应用商店先安装Digtal IDE插件 安装后&#xff0c;把其他相关的Verilog插件禁用&#xff0c;避免可能的冲突。重启后&#xff0c;可能会弹出下面提示 这是插件默认要求的工具链&a…...

leetcode13.罗马数字转整数

遍历&#xff0c;下一个值不大于当前值就加上当前值&#xff0c;否则就减去当前值 class Solution {public int romanToInt(String s) {Map<Character, Integer> map Map.of(I, 1,V, 5,X, 10,L, 50,C, 100,D, 500,M, 1000);int sum 0;for (int i 0; i < s.length(…...

WVP-PRO配置与部署

ZLMediaKit部署与配置 https://blog.csdn.net/qq_38179971/article/details/147043763MySQL8.0.13安装[Ubuntu16.04] cd /usr/local/src wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 &…...

opencv图像库编程

目录 一、Linux搭建C OpenCV开发环境1.安装必要依赖项2.安装opencv3、cmake分析4、验证安装 二、编写一个打开图片进行特效显示的代码 test.cpp1.gcc方式编译1&#xff09;在opencv3.4.5下新建mytest文件夹2&#xff09;创建test.cpp3&#xff09;编译 2.makemakefile方式编译3…...

【Easylive】定时任务-每日数据统计和临时文件清理

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 这个定时任务系统主要包含两个核心功能&#xff1a;每日数据统计和临时文件清理。下面我将详细解析这两个定时任务的实现逻辑和技术要点&#xff1a; Component Slf4j public class SysTas…...

搜广推校招面经七十

美团暑期推荐实习 一、讲一下self-attention&#xff0c;qkv的含义。 见【搜广推校招面经五】 二、讲一下协同过滤召回&#xff0c;新闻推荐项目为什么不用usercf? 见【搜广推校招号面经六十四】 三、介绍信息增益公式&#xff08;Information Gain&#xff09; 见【搜广…...

TypeScript 泛型详解及应用场景

泛型&#xff08;Generics&#xff09;是 TypeScript 的核心特性&#xff0c;它允许我们编写可复用、类型安全的代码&#xff0c;同时保持灵活性。以下是深度解析和实际应用指南&#xff1a; 一、泛型基础概念 本质&#xff1a;参数化类型&#xff0c;将类型作为变量传递&…...

Proximal Policy Optimization (PPO)2017

2.1 策略梯度方法 策略梯度方法计算策略梯度的估计值并将其插入到随机梯度上升算法中。最常用的梯度估计器的形式如下&#xff1a; g ^ E t [ ∇ θ log ⁡ π θ ( a t ∣ s t ) A ^ t ] (1) \hat{g} \mathbb{E}_t \left[ \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) \h…...

使用 Google ML Kit 实现图片文字识别(提取美国驾照信息)

Google ML Kit 是一个现代、功能强大、跨平台的机器学习 SDK。在这篇文章中&#xff0c;我们将使用 ML Kit 在 Android 应用中识别图片文字&#xff0c;以提取美国驾照上的关键信息&#xff1a;DL&#xff08;驾照号&#xff09; 和 EXP&#xff08;有效日期&#xff09;。 &am…...

VR体验馆如何用小程序高效引流?3步打造线上预约+团购裂变系统

VR体验馆如何用小程序高效引流&#xff1f;3步打造线上预约团购裂变系统 一、线上预约的核心价值&#xff1a;优化体验&#xff0c;提升转化​​ ​​减少客户等待时间​​ 通过小程序预约功能&#xff0c;客户可提前选择体验时段&#xff0c;避免到店排队。数据显示&#…...

前端知识(vue3)

1.Vue3 1.1 介绍 Vue&#xff08;读音 /vjuː/, 类似于 view&#xff09;是一款用于构建用户界面的渐进式的JavaScript框架 官网&#xff1a;https://cn.vuejs.org 1.2 常见指令 指令&#xff1a;指的是HTML 标签上带有 v- 前缀的特殊属性&#xff0c;不同指令具有不同含义…...

nginx 代理 https 接口

代码中需要真实访问的接口是&#xff1a;https://sdk2.028lk.com/application-localizationdev.yml文件中配置&#xff1a; url: http:/111.34.80.138:18100/sdk2.028lk.com/该服务器111.34.80.138上 18100端口监听&#xff0c;配置信息为&#xff1a; location /sdk2.028lk.c…...

网络带宽测速工具选择指南iperf3 nttcp tcpburn jperf使用详解

简介 本文主要介绍内网&#xff08;局域网&#xff09;与外网&#xff08;互联网&#xff09;的网络带宽测速工具下载地址、选择指南、参数对比、基本使用。 测速工具快速选择指南 测速工具下载地址 iperf 官网下载链接&#xff1a;iperf.fr/iperf-download.php该链接提供了不…...

解决TF-IDF增量学习问题的思路与方案

TF-IDF的传统实现面临增量学习困难&#xff0c;因为IDF计算依赖全局文档统计信息。但是实际的工作当中往往数据是增量的&#xff0c;并且定期增量和不定期增量混合&#xff0c;所以为了实际考虑&#xff0c;还是有必要思考如何解决TF-IDF增量问题的。 一、增量学习核心挑战 ID…...

【亲测】Linux 使用 Matplotlib 显示中文

文章目录 安装中文字体在Matplotlib中使用该字体来显示中文 在 Linux 系统中使用 Matplotlib 绘制图表时&#xff0c;如果需要显示中文&#xff0c;可能会遇到中文字符显示为方块或者乱码的问题。这是因为Matplotlib 默认使用的字体不支持中文。本文手把手带你解决这个问题。 …...

git clone阻塞问题

问题描述 git clone采用的ssh协议&#xff0c;在克隆仓库的时候&#xff0c;会经常卡一下&#xff0c;亦或是直接卡死不动。 最开始以为是公司电脑配置的问题&#xff0c;想着自己实在解决不了找it帮忙。 查阅资料发现&#xff0c;最终发现是git版本的问题&#xff0c;这个是…...

Json快速入门

引言 Jsoncpp 库主要是用于实现 Json 格式数据的序列化和反序列化&#xff0c;它实现了将多个数据对象组织成 为Json格式字符串&#xff0c;以及将 Json 格式字符串解析得到多个数据对象的功能&#xff0c;独立于开发语言。 Json数据对象 Json数据对象类的表示&#xff1a; …...

【QT】学习笔记1

QT概述 Qt是一个1991年由QtCompany开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序&#xff0c;也可用于开发非GUI程序&#xff0c;比如控制台工具和服务器。Qt是面向对象的框架&#xff0c;使用特殊的代码生成扩展&#xff08;称为元对象编译器&#xff08;…...

【Kafka基础】生产者命令行操作指南:从基础到高级配置

Kafka作为分布式消息系统&#xff0c;其生产者是数据管道的起点。掌握kafka-console-producer.sh工具的使用对于开发测试和运维都至关重要。本文将系统介绍该工具的各种用法&#xff0c;帮助您高效地向Kafka发送消息。 1 基础消息生产 1.1 最简单的消息发送 /export/home/kafk…...

【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识

【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识 引言 Spring Boot作为Java生态中最流行的框架之一&#xff0c;其自动配置机制和Starter开发是面试中的高频考点。对于3-5年经验的Java开发者来说&#xff0c;深入理解这些原理…...

reid查找余弦相似度计算修正(二)

上一篇文章 reid查找余弦相似度计算(一) 上一篇的遗留问题就是reid 的结果部分正确&#xff0c;我们参考一下 fast-reid的demo&#xff0c;把里面的抽取特征提取出来 修改提取特征 首先发现图像改变大小的不同&#xff0c;fast 使用的是[128&#xff0c;384]&#xff0c; 如…...

嵌入式---加速度计

一、基本概念与定义 定义 加速度计&#xff08;Accelerometer&#xff09;是一种测量物体加速度&#xff08;线性加速度或振动加速度&#xff09;的传感器&#xff0c;可检测物体运动状态、振动幅度、倾斜角度等&#xff0c;输出与加速度成比例的电信号&#xff08;模拟或数字信…...

Redis如何判断哨兵模式下节点之间数据是否一致

在哨兵模式下判断两个Redis节点的数据一致性&#xff0c;可以通过以下几种方法实现&#xff1a; 一、检查主从复制偏移量 使用INFO replication命令 分别在主节点和从节点执行该命令&#xff0c;比较两者的master_repl_offset&#xff08;主节点&#xff09;和slave_repl_offs…...

Spring 核心注解深度解析:@Autowired、@Repository 与它们的协作关系

引言 在 Spring 框架中&#xff0c;​依赖注入&#xff08;DI&#xff09;​​ 是实现松耦合架构的核心机制。Autowired 和 Repository 作为两个高频使用的注解&#xff0c;分别承担着 ​依赖装配​ 和 ​数据访问层标识​ 的关键职责。本文将深入探讨它们的功能特性、协作模式…...

LeetCode541反转字符串②

思路&#xff1a; 关键是判断反转的右边界&#xff0c; ①当剩余字符数<k&#xff0c;是反转当前所有字符&#xff0c;右边界就是rightlen-1&#xff0c;不可以超过len-1&#xff0c;会越界&#xff1b; ②当剩余字符数>k且<2k,反转k个字符&#xff0c;右边界就是righ…...

Ubuntu 22 Linux上部署DeepSeek+RAG知识库操作详解(Dify方式)之2

上一篇在ubuntu上通过docker拉取了dify并启动与它相关的服务&#xff0c;本篇主要介绍两个知识点&#xff1a; 一是配置模型&#xff0c;使用之前通过Xinference搭建的本地deepseek模型&#xff0c;启动过程参考前期文档&#xff0c;这里就不做介绍了。&#xff08;注意一点&a…...

如何在多线程中安全地使用 PyAudio

1. 背景介绍 在多线程环境下使用 PyAudio 可能会导致段错误&#xff08;Segmentation Fault&#xff09;或其他不可预期的行为。这是因为 PyAudio 在多线程环境下可能会出现资源冲突或线程安全问题。 PyAudio 是一个用于音频输入输出的 Python 库&#xff0c;它依赖于 PortAu…...

Spring MVC与Spring Boot文件上传配置项对比

Spring MVC与Spring Boot文件上传配置项对比 一、Spring MVC配置项&#xff08;基于不同MultipartResolver实现&#xff09; 1. 使用 CommonsMultipartResolver&#xff08;Apache Commons FileUpload&#xff09; Bean public MultipartResolver multipartResolver() {Common…...

多类型医疗自助终端智能化升级路径(代码版.上)

大型医疗自助终端的智能化升级是医疗信息化发展的重要方向,其思维链一体化路径需要围绕技术架构、数据流协同、算法优化和用户体验展开: 一、技术架构层:分布式边缘计算与云端协同 以下针对技术架构层的分布式边缘计算与云端协同模块,提供具体编程实现方案: 一、边缘节点…...

Chrome 浏览器插件收录

1. Responsive Viewer 可以在同个窗口内&#xff0c;针对同一网站&#xff0c;添加多个不同设备屏幕显示。 在前端开发&#xff0c;需要多端适配&#xff0c;尤其是移动端响应式适配的网站开发中&#xff0c;可以同时测试多个不同屏幕的适配效果。 2. VisBug 提供工具栏&#x…...

力扣hot100_回溯(2)_python版本

一、39. 组合总和&#xff08;中等&#xff09; 代码&#xff1a; class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:ans []path []def dfs(i: int, left: int) -> None:if left 0:# 找到一个合法组合ans.append(pa…...

文档大模型

处理流程&#xff1a; 对表格或者文章文档切分成chunk&#xff0c;将其存入DB根据chunk文档内容&#xff0c;通过prompt生成问题&#xff08;qwen&#xff09;通过sentencetransformer生成embbedding(Text embedding 模型 stella_large 模型&#xff0c;长文本编码), 第二步 抽…...

基于分布式指纹引擎的矩阵运营技术实践:突破平台风控的工程化解决方案

一、矩阵运营的技术痛点与市场现状 风控机制升级 主流平台通过复合指纹识别&#xff08;Canvas渲染哈希WebGL元数据AudioContext频率分析&#xff09;检测多账号关联传统方案成本&#xff1a;单个亚马逊店铺因关联封号月均损失$5000&#xff0c;矩阵规模越大风险指数级增长 …...

SpringBoot 统一功能处理

1.拦截器 1.1什么是拦截器 拦截器是Spring框架提供的核心功能之一&#xff0c;主要是用来拦截用户的请求&#xff0c;在用户请求指定的方法执行前后&#xff0c;可以根据业务需要执行实现预定的代码。 通过拦截器&#xff0c;开发人员就可以根据需求针对一些特殊的请求&#…...

Redis到底能不能做主数据库?

张三拍案而起&#xff1a;“Redis 是缓存数据库&#xff0c;怎么能当主数据库用&#xff1f;简直是天方夜谭&#xff01;” 李四冷笑回应&#xff1a;“你没用过&#xff0c;凭什么说不行&#xff1f;我已经用 Redis 做主数据库好几年了&#xff0c;系统稳定得像铁板一块&…...