计算机网络(1) OSI七层模型与TCP/IP四层模型
一.OSI七层模型
OSI 七层模型是国际标准化组织ISO提出的一个网络分层模型,它的目的是使各种不同的计算机和网络在世界范围内按照相同的标准框架实现互联。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

第一层物理层,物理层实现相邻节点间比特流的透明传输,尽可能屏蔽传输介质和通信手段的差异。

第二层数据链路层,数据链路层将网络层传下来的IP数据包组装成帧,并在相邻节点的链路上传送帧。

第三层网络层,网络层选择合适的路由和交换结点,确保数据及时传送,主要包括IP协议。

第四层传输层,传输层为两台主机进程之间通信提供服务,处理数据包错误、数据包次序等关键传输问题。传输层最主要的协议是TCP和UDP。

第五层会话层,网络层负责在网络中的两节点之间建立、维持和终止通信。

第六层表示层,表示层负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等。

第七层应用层,应用层为应用程序提供交互服务,完成用户希望在网络上完成的各种工作。应用层为用户提供的服务有文件传输服务、远程登录服务、电子邮件服务、打印服务、数据库服务等。
OSI七层模型概念清楚,理论也比较完整,但是太复杂也不实用,所以它只是一个理论模型。技术人员参照此模型开发了 TCP/IP 协议栈,简化 OSI 七层模型为 TCP/IP 四层模型。获得了更广泛的使用。TCP/IP 模型将 OSI 模型的应用层、表示层和会话层合并为应用层,将 数据链路层和物理层合并为网络接口层。
二.TCP/IP 四层模型

相关文章:
计算机网络(1) OSI七层模型与TCP/IP四层模型
一.OSI七层模型 OSI 七层模型是国际标准化组织ISO提出的一个网络分层模型,它的目的是使各种不同的计算机和网络在世界范围内按照相同的标准框架实现互联。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、…...
认识QML
为什么使用Qt Quick? Qt4的设计用于满足开发者在主流桌面操作系统上有一套表现一致的窗口组件可以 使用。如今Qt的使用者面临了新的问题,他们需要提供可触碰交互的用户界面以满 足软件界面需求,并在主流桌面操作系统和移动操作系统上实现这些…...
llama-factory微调chatglm3
一、定义 案例/多卡 二、实现 案例 1. 下载chatglm3-6b-32k模型 2. 配置数据集微调指令 CUDA_VISIBLE_DEVICES0,1 llamafactory-cli train \--stage sft \--do_train True \--model_name_or_path /home/chatglm3-6b-32k \--finetuning_type lora \--template chatglm3 \--d…...
大文件上传实现
分片上传 将大文件分割成多个小片(chunk),逐个上传。每个片上传成功后,服务器可以返回确认信息。所有片上传完成后,服务器端将这些片重新组合成原始文件。 以下是一个简单的分片上传的前端实现示例: func…...
为何Proteus用户争相拥抱SmartEDA?揭秘背后的强大吸引力!
在电路设计与仿真领域,Proteus一度以其稳定性能和丰富功能赢得了众多用户的青睐。然而,近年来,越来越多的Proteus用户开始转向SmartEDA,这一新兴电路仿真软件正迅速崭露头角,成为行业内的翘楚。那么,究竟是…...
万界星空科技QMS质量管理介绍
产品的生产质量是企业发展之根本,对所有企业来说,建立完善质量控制体系,对企业生产经营以及发展竞争具有至关重要的影响,可以说是企业质量保证的防火墙。QMS质量管理系统对任何一家企业都具有重要意义,可帮助企业提高生…...
神经网络 torch.nn---nn.LSTM()
torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) LSTM — PyTorch 2.3 documentation LSTM层的作用 LSTM层:长短时记忆网络层,它的主要作用是对输入序列进行处理,对序列中的每个元素进行编码并保存它们的状态,以便后续的处理。 …...
Web前端JSP软件:深度解析与探索之旅
Web前端JSP软件:深度解析与探索之旅 在当今数字化时代,Web前端技术日新月异,JSP(Java Server Pages)软件作为其中的佼佼者,扮演着举足轻重的角色。本文将从四个方面、五个方面、六个方面和七个方面&#x…...
人生的乐趣,在于对真知的追求
子曰:朝闻道,夕死可矣! 孔子说:早上听到关于世界的真理,哪怕晚上就die了都可以。 这句话很有力量而经常被人引用,表达出我们如何看待沉重的肉身和精神世界。 我们的生活目的:道。 —— 要了解…...
IPython大揭秘:神奇技巧让你掌握无敌编程力量!
IPython技巧 基础技巧文件操作技巧输入输出技巧魔术命令技巧调试技巧程序性能优化技巧输入输出重定向技巧魔术命令控制技巧自定义显示格式技巧多线程多进程技巧异常处理技巧数据可视化技巧自定义魔术命令技巧安装扩展包技巧Jupyter Notebook集成技巧文档显示技巧代码块执行技巧…...
逻辑卷管理器 (LVM) 简介
古老的 e5 主机目前有这些存储设备 (硬盘): 系统盘 (M.2 NVMe SSD 480GB), 数据盘 (3.5 英寸 SATA 硬盘 4TB x2). 窝决定使用 LVM 对数据盘进行管理. 逻辑卷管理器 (LVM) 可以认为是一种 (单机) 存储虚拟化 技术. 多个物理存储设备 (PV) 组成一个存储池 (VG), 然后划分虚拟分区…...
Swift开发——弱占用
自动引用计数(Automatic Reference Counting,ARC),是Swift语言管理类的实例的方式。当创建某个类的一个新实例后,ARC自动为新实例分配内存空间,用于保存实例的类型和存储属性,当将该实例赋给常量、变量或其他实例的属性…...
化工电力系统RFID无线测温技术的重要性。
在现代工业体系中,化工电力系统的安全与效率对于整个生产链的顺畅运行至关重要。在日常工作中,由于设备制造的原因,设备受环境污染的原因、设备长期运行、严重超载运行、触点氧化、电弧冲击等原因造接触电阻增大,因此在运行时往往不断发热,温度不断上升,给设备安全运…...
Linux系统:线程互斥
Linux系统:线程互斥 线程互斥互斥锁 mutex互斥锁原理 常见的锁死锁自旋锁 spinlock其它锁 线程互斥 讲解线程互斥前,先看到一个抢票案例: class customer { public:int _ticket_num 0;pthread_t _tid;string _name; };int g_ticket 10000…...
【网络协议栈】TCP/IP相关知识点收集
TCP/IP知识点收集 1 TCP分段 在TCP/IP协议栈中,“MSS”(Maximum Segment Size)是一个关键参数,它指定了TCP协议在发送数据时可以使用的最大数据段(segment)的大小。这个参数是TCP连接建立时通过三次握手&…...
Java开发中的常用字段校验注解
在 Java 开发中,数据校验是确保应用程序的数据完整性和一致性的重要步骤。Java 提供了一系列注解来简化数据校验的过程,以下是一些常用的字段校验注解及其示例代码: NotNull NotNull 用于确保字段不为 null,适用于任何类型的字段…...
面试经验分享 | 24年6月某安全厂商HW面试经验
所面试的公司:某安全厂商 所在城市:安徽省 面试职位:蓝初 面试过程: 腾讯会议(语音) 面试过程:整体流程就是自我介绍加上一些问题问题balabalabala。。。由于面的是蓝队所以渗透部分不会太多…...
JSON学习
一、JSON 1.1 简介 JSON:JavaScript Object Notation是一种表示对象的方式 基于JavaScript语言的轻量级的数据交换格式;(即:用来传输数据的一种格式) 现在传输数据的方式更多是采用json的格式,渐渐代替了XML 1.2 JSON的数据表示 …...
LabVIEW在中国航天中的应用
LabVIEW是一种系统设计平台及开发环境,由美国国家仪器公司(NI)开发。它在中国航天领域的应用非常广泛,涵盖了测试与测量、数据采集、控制系统设计等多个方面。以下是LabVIEW在中国航天中的几个主要应用实例: 1. 测试…...
编程思维的培养
培养编程思维是成为一名优秀程序员的重要步骤。编程思维不仅仅是写代码的能力,还包括解决问题的思维方式、对复杂系统的理解、代码优化的意识、团队合作的能力等。以下是一些培养编程思维的方法和建议。 1. 学习基础知识 1.1 掌握编程语言 从一门编程语言开始&am…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
