OSI网络模型与TCP/IP协议
OSI, Open system Interconnection Reference Model 开放式系统互联通信参考模型。是国际标准化组织在1984年定义的一个概念框架,用于协调制定进程间通信标准。OSI作为一个协议规范集,定义了七个层次,包括层次之间的相互关系及各层次所包含的可能的服务。OSI作为一个框架来协调组织各层所提供的服务。这个通信标准制定了以下七层:
- 物理层:定义了系统的电气、机械、过程和功能标准。负责管理计算机通信设备和和网络媒体之间的互通,包括但不限于定义针脚、电压、线缆规范、网卡、集线器、中继器等
- 数据链路层:主要负责网络寻址、错误检测和修正。它决定了访问网络介质的方式,数据链表头和表层封装到数据包时形成帧。表头有物理地址、错误检测和修正的方法,表尾是一串特殊字符串用于表示该数据包的末端。
- 网络层:用于决定数据的路径选择和转发,将网络层表头加到数据包,形成分组。
- 传输层:提供终端到终端的可靠连接,把传输层表头加到数据包。表头包含了所使用的协议等信息,如TCP。这里的终端指的是应用。
- 会话层:负责在数据传输中设置和维护两台计算机之间的通信连接。
- 表示层:协商数据交换格式,把数据转换成能与接收者的系统兼容并且能适合传输的格式。
- 应用层:用户的应用程序和网络之间的接口,以设置与另一个应用软件之间的通信,如HTTP、HTTPS、SSH、POP3、FTP等。
在现实中,TCP/IP协议成为了事实的通信标准。传输控制/网络协议(TCP/IP,Transmission Control Protocol/Internet Protocol)是指能够在不同网络间实现信息传输的协议簇,这个协议簇包括但不限于FTP、SMTP、TCP、UDP、IP等等,其中TCP和IP最具代表性,所以被称为TCP/IP协议。
OSI参考模型的七层结构在TCP/IP协议中简化为四层:网络接口层(数据链路层)、网络层、传输层、应用层。
网络接口层的主要协议:ARP、RARP,提供链路管理、错误检测等
网络层的主要协议:ICMP、IP、IGMP,主要负责网络中数据包的传送
传输层的主要协议:TCP、UDP,是使用者使用平台与计算机信息网内部的数据结合的通道。
应用层的主要协议:FTP、SMTP、HTTP等,用来接收来自传输层的数据或按应用要求将数据传送到传输层。
相关文章:
OSI网络模型与TCP/IP协议
OSI, Open system Interconnection Reference Model 开放式系统互联通信参考模型。是国际标准化组织在1984年定义的一个概念框架,用于协调制定进程间通信标准。OSI作为一个协议规范集,定义了七个层次,包括层次之间的相互关系及各层…...
C语言的5个内存段你了解吗?( 代码段/数据段/栈/堆)
前言:这些内存段在程序运行时起着不同的作用,有不同的分配方式和存储内容。对于 C 语言程序员来说,了解这些内存段的特性和用途有助于更好地理解内存管理、变量的存储位置以及程序执行过程中的内存分配情况 1. 代码段 (Code Segment) 内容&a…...
智能合约检测:新一代区块链技术的安全守护
目录 1、智能合约检测:新一代区块链技术的安全守护 2、智能合约性能检测步骤...
Flutter笔记:缩放手势
Flutter笔记 缩放手势 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/134485138 目 录 1. 概述2. 缩放手…...
JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素
例如,下面这段请求的xml代码,在元素body下面又多了一层,嵌套了4个元素: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>04</reqtype><secret>test</secret>…...
万字长文 - Python 日志记录器logging 百科全书 - 高级配置之 日志分层
万字长文 - Python 日志记录器logging 百科全书 - 高级配置之 日志分层 前言 在 Python 的logging模块中,它不仅提供了基础的日志功能,还拥有一系列高级配置选项来满足复杂应用的日志管理需求。 说到logging 模块的高级配置,必须提及日志分…...
工作记录---为什么双11当天不能申请退款?(有趣~)
为什么? 服务降级了 服务降级: 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。 分布式系统的降级…...
ElasticSearch在Windows上的下载与安装
Elasticsearch是一个开源的分布式搜索和分析引擎,它可以帮助我们快速地搜索、分析和处理大量数据。Elasticsearch能够快速地处理结构化和非结构化数据,支持全文检索、地理位置搜索、自动补全、聚合分析等功能,能够承载各种类型的应用…...
软件测试/测试开发/人工智能丨基于Spark的分布式造数工具:加速大规模测试数据构建
随着软件开发规模的扩大,测试数据的构建变得越来越复杂,传统的造数方法难以应对大规模数据需求。本文将介绍如何使用Apache Spark构建分布式造数工具,以提升测试数据构建的效率和规模。 为什么选择Spark? 分布式计算:…...
ClickHouse的 MaterializeMySQL引擎
1 概述 MySQL 的用户群体很大,为了能够增强数据的实时性,很多解决方案会利用 binlog 将数据写入到 ClickHouse。为了能够监听 binlog 事件,我们需要用到类似 canal 这样的第三方中间件,这无疑增加了系统的复杂度。 ClickHouse 20.…...
Ubuntu 22.04安装Rust编译环境并且测试
我参考的博客是《Rust使用国内Crates 源、 rustup源 |字节跳动新的 Rust 镜像源以及安装rust》 lsb_release -r看到操作系统版本是22.04,uname -r看到内核版本是uname -r。 sudo apt install -y gcc先安装gcc,要是结果给我的一样的话,那么就是安装好了…...
制作Go程序的Docker容器(以及容器和主机的网络问题)
今天突然遇到需要将 Go 程序制作成 Docker 的需求,所以进行了一些研究。方法很简单,但是官方文档和教程有些需要注意的地方,所以写本文进行记录。 源程序 首先介绍一下示例程序,示例程序是一个 HTTP 服务器,会显示si…...
mysql清除数据痕迹_MySQL使用痕迹清理~/.mysql_history - milantgh
mysql会给出我们最近执行的SQL命令和脚本;同linux command保存在~/.bash_history一样,你用mysql连接MySQL server的所有操作也会被记录到~/.mysql_history文件中,这样就会有很大的安全风险了,如添加MySQL用户的sql也同样会被明文记…...
PDF控件Spire.PDF for .NET【转换】演示:自定义宽度、高度将 PDF 转 SVG
我们在上一篇文章中演示了如何将 PDF 页面转换为 SVG 文件格式。本指南向您展示如何使用最新版本的 Spire.PDF 以及 C# 和 VB.NET 指定输出文件的宽度和高度。 Spire.Doc 是一款专门对 Word 文档进行操作的 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻…...
01背包 P1507 NASA的食物计划
P1507 NASA的食物计划 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 普通01背包状态表示:f(i, j)表示前i件物品放入一个容量为j的背包可以获得的最大价值。 本题类似,f(i, j, k)表示前i件物品放入一个限制为j,且另一个限制为k的背包中可以…...
平衡二叉树c语言版
一、定义二叉树结点结构体 /*** 定义平衡二叉树结点 */ struct avlbinarytree { //数据域NodeData* data;///树高int h;struct avlbinarytree* left;struct avlbinarytree* right; }; typedef struct avlbinarytree AVLNode; 二、声明函数的操作 /*** 创建结点 */ AV…...
初始环境配置
目录 一、JDK1、简介2、配置步骤 二、Redis1、简介2、配置步骤 三、MySQL1、简介2、配置步骤 四、Git1、简介2、配置步骤 五、NodeJS1、简介2、配置步骤 六、Maven1、简介2、配置步骤 七、Tomcat1、简介2、配置步骤 一、JDK 1、简介 JDK 是 Oracle 提供的 Java 开发工具包&…...
记GitLab服务器迁移后SSH访问无法生效的问题解决过程
公司IT心血来潮对GitLab服务器进行安全升级,升级后无法启动。。。只得启用备用服务器,具体的备份机制不祥,只知道原数据都在,但文件系统是否完全一样不清楚。切换为备用服务器后使用SSH下载代码死活不成功,反复提示需要…...
【NGINX--2】高性能负载均衡
1、HTTP 负载均衡 将负载分发到两台或多台 HTTP 服务器。 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡: upstream backend {server 10.10.12.45:80 weight1;server app.example.com:80 weight2;server spare.example.com:80 backup; …...
Android studio run 手机或者模拟器安装失败,但是生成了debug.apk
错误信息如下:Error Installation did not succeed. The application could not be installed:List of apks 出现中文乱码; 我首先尝试了打包,能正常安装,再次尝试了debug的安装包,也正常安装࿱…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
