网络基础学习:osi网络七层模型
osi网络七层模型
- 什么是OSI,什么是ISO?
- 为什么ISO要提出OSI网络七层模型?
- OSI七层的划分以及具体内容
- 第七层 应用层
- 第六层 表示层
- 第五层 会话层
- 第四层 传输层
- 第三层 网络层
- 第二层 数据链路层
- 第一层 物理层
- 每一层与设备的对应关系
什么是OSI,什么是ISO?
OSI通常被叫做开放式系统互联参考模型,英语全称:Open System Interconnection Model,缩写:OSI;简称为OSI模型
这个OSI模型是由ISO提出来的,英语全称:International Organization for Standardization,缩写:ISO;简称国际标准化组织
OSI是一个非政府
、非营利的国际标准制定组织
,由全球各个国家的标准机构组成。
你还别说,OSI与ISO居然如此对称,这是有意为之吗?
为什么ISO要提出OSI网络七层模型?
ISO提出OSI网络七层模型,是为了标准化计算机网络的通信协议体系结构,以便不同厂家、不同计算机之间的通信能够更加可靠和高效。
OSI相当于普通话。不管你什么牌子计算机,华为,小米,联想还是外星人。OSI是对于大家都公共适用的,所有计算机都能听懂的的话和共同遵守的规则,相当于联合国制定的规矩,每个国家都得遵守一样。
它解决了计算机网络中的以下几个问题:
-
标准:在互联互通的网络环境中,计算机和网络设备使用了不同的协议和技术,标准化网络协议体系结构可以使得不同厂家、不同计算机之间的通信变得更加容易和可靠。
-
交互:OSI七层模型将网络协议分为七层,每层都有自己的功能,这样就使得不同计算机和设备可以更好地互相交流和理解,实现了不同计算机之间的交互。
-
独立:OSI七层模型将网络协议按照不同的层次划分开来,每个层次的协议都只负责某一方面的功能,因此不同层次之间的协议具有独立性,可以根据需要进行升级和修改。
-
扩展:OSI七层模型可以支持不同类型的网络,包括局域网、广域网等,并且可以很容易地支持新的协议和技术,具有很强的可扩展性。
OSI七层的划分以及具体内容
第七层 应用层
应用层(Application Layer)是OSI模型中的最高层,也是和用户最近的一层。它直接面向用户和应用程序,为用户提供各种网络服务和应用程序支持。应用层协议通常由应用程序自己定义,并负责完成数据交换的格式、语法和语义等方面的设计。
应用层协议的功能非常广泛,它可以实现多种不同的应用服务,如LOL,CF等在线联机游戏游戏、Web网页浏览、文件传输、电子邮件、即时消息、网上银行、远程登录、域名系统等等。
HTTP(HyperText Transfer Protocol,超文本传输协议)
HTTP用于在Web浏览器和Web服务器之间传输数据,是Web应用程序最重要的应用层协议。默认端口为80。
HTTPS(Hyper Text Transfer Protocol Secure ,超文本传输加密协议)
HTTPS的主要作用是加密数据传输,确保网络通信的安全性和数据完整性,以防止被黑客窃取数据或篡改数据。它使用SSL/TLS机制对HTTP数据进行加密和认证,使数据在传输过程中变得加密且无法被轻易截获和篡改,为互联网上的敏感信息传输提供了一种安全的方式。默认端口是443。
FTP(File Transfer Protocol,文件传输协议)
FTP用于在客户端和服务器之间传输文件,支持用户认证和访问控制等功能。默认端口为21。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)
SMTP主要是用于发送电子邮件的标准协议,支持多种编码方式和附件格式。默认端口为25。
POP3(Post Office Protocol version 3,邮局协议版本3)
用于从邮件服务器上下载邮件的标准协议,支持用户认证和访问控制等功能。默认端口为110。
IMAP4(Internet Message Access Protocol version 4,互联网消息访问协议版本4)
用于从邮件服务器上下载邮件的标准协议,支持在线操作和多种访问方式。默认端口为143。
DNS(Domain Name System,域名系统)
用于将域名转换为IP地址的协议,是Internet中最重要的服务之一。默认端口为53。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
用于自动分配IP地址、子网掩码、网关等网络参数的协议,可以简化网络管理和维护。默认端口为67和68。
SSH(Secure Shell,安全外壳协议)
用于加密和保护远程登录会话及其他网络服务,支持用户认证和加密传输数据。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。默认端口为22。
Telnet(Teletype Network,远程登录协议)
用于在客户端和服务器之间进行远程登录和命令行操作,不支持加密传输数据。默认端口为23。
SNMP(Simple Network Management Protocol,简单网络管理协议)
用于管理和监控网络设备的性能、状态和配置等信息,支持远程查询和控制。默认端口为161和162。
IRC(Internet Relay Chat,互联网中继聊天协议)
用于在线聊天和多人会议等功能,可以通过各种客户端软件或Web界面访问。默认端口为6667。
第六层 表示层
负责数据格式与编码方式的转换、加密解密和数据压缩等任务。在实际的通信协议中,表示层往往与应用层或会话层结合使用,对数据进行处理和转换。
MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)
MIME用于电子邮件及其附件在互联网上传输时的编码和解码,支持多种数据类型的转换和传输。MIME(Multipurpose Internet Mail Extensions)协议并没有自己的端口。它是在电子邮件和Web服务器等应用程序中使用的一种协议,通常使用SMTP(Simple Mail Transfer Protocol)端口25来发送电子邮件,并使用HTTP(Hypertext Transfer Protocol)端口80或443来传输Web页面上的多媒体内容。
SSL/TLS(Secure Socket Layer/Transport Layer Security,安全套接层/传输层安全)
SSL/TLS用于基于TCP/IP协议的网络通信中的加密和认证服务,提供数据加密、完整性验证和身份认证等功能。默认端口号为443(HTTPS)。
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)
ASCII用于将字符编码转换成二进制数据流进行传输,是网络通信中的一种最基本的编码方式。端口号没有固定值,不同协议可以选择不同的端口。
JPEG(Joint Photographic Experts Group,联合图像专家组)
JPEG用于对图像进行压缩和编码,通过去除图像中的冗余信息实现数据压缩和传输优化。端口号没有固定值,根据不同的应用需要而定。
第五层 会话层
在OSI七层模型中,会话层没有单独的协议,而是利用下层协议提供的会话机制来实现数据交换。会话层的作用是管理和协调应用程序之间的对话和会话,并与表示层一起支持数据转换、加密和解密等功能。
ADSP (AppleTalk Data Stream Protocol,AppleTalk的数据流协议)
ADSP是一种用于在AppleTalk网络上传输数据的协议。ADSP在Macintosh计算机之间进行通信时经常使用,可以支持可靠的、面向连接的通信,以及基于消息的一些特性。端口号为230。
SQL(Structured Query Language,关系型数据库通信的协议)
SQL它定义了一组操作、查询和管理数据库的语法规则。该协议通常使用TCP/IP协议进行通信,其默认端口是1433。
第四层 传输层
传输层的作用是在不可靠的网络上提供可靠的数据传输服务。它负责将应用程序发送的数据分割成较小的数据段,并使用可靠的数据传输协议(如TCP)或不可靠的数据传输协议(如UDP)将这些数据段传输到目标设备。传输层还负责控制数据流量、错误恢复和拥塞控制等任务。
如果你想要稳,就选tcp,想要稳,就选UDP
TCP(Transmission Control Protocol)稳
TCP协议是一种面向连接的、可靠的传输层协议。它通过三次握手建立连接,保证数据传输的可靠性,并使用流量控制和拥塞控制来优化网络性能。TCP协议通常用于传输重要的数据和应用程序,如网页、电子邮件、文件传输等。其默认端口号是80(HTTP协议)、443(HTTPS协议)、25(SMTP协议)等。
UDP(User Datagram Protocol)快
UDP协议是一种无连接的、不可靠的传输层协议。它没有TCP协议那样的错误检测和纠正机制,但具有较低的延迟和更高的吞吐量。UDP协议通常用于需要快速数据传输的应用程序,如实时视频、音频、在线游戏等。其默认端口号包括53(DNS协议)、67/68(DHCP协议)、123(NTP协议)等。
SPX(Sequenced Packet Exchange)
SPX协议是Novell NetWare操作系统中使用的一种传输层协议。它与TCP协议类似,可以保证数据传输的可靠性,并提供流量控制和拥塞控制功能。SPX协议通常用于传输NetWare操作系统内部的数据和应用程序。
第三层 网络层
负责将数据包从源主机传输到目标主机。网络层通过使用IP协议来实现这一过程,提供了路由、寻址和分组传输等功能,以确保数据能够经过多个网络进行传输,并最终到达目标主机。
IP(Internet Protocol,互联网协议)
作用是在互联网上提供分组交换服务,它负责将数据包从源地址传输到目标地址,是TCP/IP网络体系结构中的核心协议。
IPX(Internetwork Packet Exchange,网络数据包交换协议)
是Novell NetWare操作系统所使用的网络层协议,它提供一种可靠的、有序的数据报传递服务。IPX的端口号是16位,取值范围从0x0000到0xFFFF。
DDP(AppleTalk Data Delivery Protocol,AppleTalk数据传输协议)
是苹果公司开发的用于局域网的网络层协议。DDP提供无连接的、不可靠的数据传输服务,是苹果机在早期的主要网络协议之一。DDP的端口号是8位,取值范围从0x00到0xFF。
第二层 数据链路层
负责将网络层传输过来的数据包进行分帧,并在物理介质上进行传输。数据链路层还提供了错误检测和纠正功能,以确保数据的可靠性。此外,数据链路层还实现了访问控制和流量控制等功能,以协调多个设备之间的数据传输。
Frame Relay(Frame Relay Protocol)
用于在广域网上传输数据。它使用虚拟连接方式,将数据分割成较小的帧进行传输。
HDLC(High-Level Data Link Control)
用于在点对点通信中传输数据。它主要用于串行通信中,具有可靠性高、传输效率高等特点。
PPP(Point-to-Point Protocol)
用于在计算机之间建立点对点通信。PPP可以支持多种网络层协议,如TCP/IP、IPX/SPX等。
IEEE 802.3/802.2: IEEE 802(IEEE(Institute of Electrical and Electronics Engineers)发布的一组标准)
IEEE 802.3是以太网的标准,全称为“Ethernet”,用于局域网上的数据传输;IEEE
802.2则是逻辑链路控制的标准,全称为“Logical Link Control”,用于在数据链路层管理数据传输。由于这两个标准经常一起使用,所以也被称为“802.3/802.2”组合。以太网的端口是RJ45接口,而逻辑链路控制没有端口的概念。
第一层 物理层
这一层就是osi最底层了,负责将数字数据转换成物理信号并在网络中传输。其意义在于实现不同设备之间的数据传输和通信,使得计算机网络得以正常工作。物理层还定义了传输媒介、传输速率、编码方式等参数,为上层协议提供了可靠的数据传输基础。常见的协议有rs-232、rs-449、x.21、v.35、isdn、以及fddi、ieee802.3、ieee802.4、和ieee802.5
RS-232是一种串行通信标准,用于在计算机及其外部设备之间传输数据。 RS-449是一种高速串行接口标准,适用于点对点通信连接。
X.21是一种数字传输接口标准,用于连接数字电路交换网(DCE)和数字终端设备(DTE)。
V.35是一种高速串行接口标准,用于连接数据通信设备,支持双向全双工的数据传输。
ISDN是一种综合数字化服务网络,提供语音、数据和视频等多种通信服务。
FDDI是一种局域网标准,支持高速光纤数据传输。
IEEE 802.3是以太网标准,采用CSMA/CD协议控制访问媒体。
IEEE 802.4是令牌总线局域网标准,使用令牌传递机制控制网络访问。
IEEE 802.5是令牌环局域网标准,使用令牌传递机制控制网络访问。
每一层与设备的对应关系
相关文章:

网络基础学习:osi网络七层模型
osi网络七层模型 什么是OSI,什么是ISO?为什么ISO要提出OSI网络七层模型?OSI七层的划分以及具体内容第七层 应用层第六层 表示层第五层 会话层第四层 传输层第三层 网络层第二层 数据链路层第一层 物理层 每一层与设备的对应关系 什么是OSI,什…...

EndNote X9 引用参考 单击文献编号,不能跳转到文尾文献列表处,咋解决?文献编号 不能跳转 ,怎么办?
文章目录 1 正常情况下 引用文献编号 是可以跳转的2 问题分析3 解决方法4 EndNote X9 插入参考文献常见问题总结5 EndNote X9 快速上手教程(毕业论文参考文献管理器) 1 正常情况下 引用文献编号 是可以跳转的 正确的插入文献后, 正常情况下&a…...

用免费蜜罐工具配置Modbus工控蜜罐
导语:本文将用DecoyMini免费蜜罐工具来配置自定义的ModbusTCP工控仿真模板,并介绍部署后的Modbus蜜罐的使用效果。 DecoyMini是一个免费的蜜罐工具,其特色是仿真能力采用与软件松耦合的仿真模板来进行管理。通过一键式导入云端仿真模板库里的…...

DataGridXL中快速搜索单元格和底部全屏模式区域隐藏
DataGridXL表格是在2020年发布,DataGridXL在设计时就考虑到了性能。提供最快、最简单、最可靠的数据网格。DataGridXL支持所有常用所有的浏览器,为 Web 应用程序提供类似于 Microsoft Excel 的体验,它支持前端框架有Vue、React、Angular等。 …...

DotNet几种微服务框架,你用过吗?
最近有群友问,.NET有哪些微服务框架?.NET的微服务框架还真不多,一般企业都会自己搭建微服务框架,或者基于其它框架搭建微服务(比如abp)。本文将介绍几种微服务框架,供大家学习参考。 一、Servi…...

Nature | 生成式人工智能如何构建更好的抗体
疫情高峰期,研究人员竞相开发一些首批有效的COVID-19治疗方法:从已经康复的人的血液中分离出来的抗体分子。 现在,科学家已经证明,生成式人工智能(AI)可以通过一些繁琐的过程提供捷径,提出增强抗…...

【hive】基于Qt5和libuv udp 的lan chat
作者已经不更新了,但是很棒 在线用户列表: 聊天窗口 主程序 单独的网络线程: network_thread data管理关联网络管理的 程序update升级更新 和消息收到 即可...

Java版本工程项目管理系统源码,助力工程企业实现数字化管理
Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…...

什么是零拷贝?
零拷贝 什么是零拷贝 零拷贝指的是,从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底层是 通过DMA总线技术实现的。零拷贝与具体的编程语言无关,完全依赖于OS,OS支持就可使用,不支持 设置了也不起作用…...

计算机专业含金量高的证书
目录 第一种证书:计算机技术与软件专业资格考试证书 第二种证书:微软认证 第三种证书:Oracle认证 第四种证书:思科认证 第五种证书:华为认证 第六种证书:红帽认证工程师 第七种证书:阿里…...

原装二手Keithley 2401低压源表 吉时利2401数字源表
Keithley 2401低压源表,20V,1A,20W Keithley 2401 低压源表提供精密电压和电流源和测量功能(1V - 20V 和 10pA - 1A)。它既是高度稳定的直流电源,又是真正的仪器级 5 位万用表。电源特性包括低噪声、精度和…...

gradle-8.1.1-all 快速下载百度网盘下载
Gradle 8.1.1 发布 这是Gradle 8.1的第一个补丁发布。 它修复了以下3个问题: 为配置缓存检测具有数千个lambdas的类时出现MethodTooLargeException;用Gradle 8.1构建的Kotlin DSL预编译脚本插件不能用于其他版本的Gradle;Gradle 8.1在buil…...

C#开发的OpenRA游戏之基地工程车部署命令产生过程
C#开发的OpenRA游戏之基地工程车部署命令产生过程 OpenRA游戏里,前面已经分析基地工程车部署的流程, 但那只是一个框架的流程,只能理解大体的框架, 如果想要深入一步了解怎么样产生部署命令,还需继续探讨以下的代码。 基地工程车是先选中,然后再在基地工程车上面点击右…...

C++ 智能指针的原理、分类、使用
1. 智能指针介绍 为解决裸指针可能导致的内存泄漏问题。如: a)忘记释放内存; b)程序提前退出导致资源释放代码未执行到。 就出现了智能指针,能够做到资源的自动释放。 2. 智能指针的原理和简单实现 2.1 智能指针的原…...

学习笔记——SVG.js中形状元素的创建及其相关方法
CreateElement 1)创建svg元素 在svg.js中,每个元素都是一个对象,可以通过构造它来创建: import { Rect } from "svgdotjs/svg.js" var rect new Rect().size(100, 100).addTo(draw) // or to reuse an existing nod…...

Linux一学就会——系统文件I/O
Linux一学就会——系统文件I/O 有几种输出信息到显示器的方式 #include <stdio.h> #include <string.h> int main() {const char *msg "hello fwrite\n";fwrite(msg, strlen(msg), 1, stdout);printf("hello printf\n");fprintf(stdout, &q…...

OpenCV-Python图像阈值
目录 简单阈值 自适应阈值 Otsu的二值化 所谓的图像阈值,就是图像二值化,什么是二值化,就是只有0和1,没有其他的。在OpenCV的图像里面,二值化表示图像的像素为0和255,并没有其他的值,它跟灰度…...

LangChain-Agents 入门指南
LangChain-Agents 入门指南 LangChain-Agents 入门指南注册 Serpapi运行高级 Agents API 测试运行 Google Search其它 Here’s the table of contents: LangChain-Agents 入门指南 LangChain是一个使用LLMs构建应用程序的工具箱,包含Models、Prompts、Indexes、Mem…...

深度学习-tensorflow 使用keras进行深度神经网络训练
概要 深度学习网络的训练可能会很慢、也可能无法收敛,本文介绍使用keras进行深度神经网络训练的加速技巧,包括解决梯度消失和爆炸问题的策略(参数初始化策略、激活函数策略、批量归一化、梯度裁剪)、重用预训练层方法、更快的优化…...

【NLP开发】Python实现聊天机器人(ChatterBot,集成前端页面)
🍺NLP开发系列相关文章编写如下🍺: 🎈【NLP开发】Python实现词云图🎈🎈【NLP开发】Python实现图片文字识别🎈🎈【NLP开发】Python实现中文、英文分词🎈🎈【N…...

Python 操作 Excel,如何又快又好?
➤数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道。Python处理Excel 常用的系列库有:xlrd、xlwt、xlutils、openpyxl ◈xlrd - 用于读取 Exce…...

Spring Redis 启用TLS配置支持(踩坑解决)
由于线上Redis要启用TLS,搜遍了google百度也没一个标准的解决方案,要不这个方法没有,要不那个类找不到...要不就是配置了还是一直连不上redis.... 本文基于 spring-data-redis-2.1.9.RELEASE 版本来提供一个解决方案: 1.运维那边提供过来三个文件,分别是redis.crt redis.key …...

centOS7忘记登录密码该如何重新修改登录密码
文章目录 前言一、重新修改登录密码1.1、第一步1.2、第二步1.3、第三步1.4、第四步1.5、第五步1.6、第六步1.7、第七步1.8、第八步 前言 忘记密码并不可怕,只要学会方法,密码随时都可以找回。 一、重新修改登录密码 1.1、第一步 当打开centOS7之后忘记…...

揭开基于 AI 的推荐系统的神秘面纱:深入分析
人工智能 (AI) 以多种方式渗透到我们的生活中,使日常任务更轻松、更高效、更个性化。人工智能最重要的应用之一是推荐系统,它已成为我们数字体验不可或缺的一部分。从在流媒体平台上推荐电影到在电子商务网站上推荐产品࿰…...

MySQL的事务特性、事务特性保证和事务隔离级别
事务是指要么所有的操作都成功执行,要么所有的操作都不执行的一组数据库操作。 一、MySQL提供了四个事务特性,即ACID: 1. 原子性(Atomicity):一个事务中的所有操作要么全部提交成功,要么全部回…...

shell脚本----函数
文章目录 一、函数的定义1.1 shell函数:1.2函数如何定义 二、函数的返回值三、函数的传参四、函数变量的作用范围五、函数的递归六、函数库 一、函数的定义 1.1 shell函数: 使用函数可以避免代码重复使用函数可以将大的工程分割为若干小的功能模块,代码的可读性更…...

( 位运算 ) 693. 交替位二进制数 ——【Leetcode每日一题】
❓693. 交替位二进制数 难度:简单 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n 5 输出:true 解释&#…...

http简述
HTTP(Hypertext Transfer Protocol)是一种用于在Web上传输数据的协议。它是Web的基础,使得我们能够在互联网上访问和共享信息。本文将介绍HTTP的基本概念、工作原理、请求和响应、状态码、安全性和未来发展等方面。 一、HTTP的基本概念 HTT…...

一顿饭的事儿,搞懂了Linux5种IO模型
大家好,我是老三,人生有三大难题,事业、爱情,和 ——这顿吃什么! 人在家中躺,肚子饿得响,又到了不得不吃的时候,这顿饭该怎么吃?吃什么呢? Linux里有五种I…...

C#面向对象的概念
C#面向对象的概念 C#是一种面向对象的编程语言,面向对象编程的核心是将程序中的数据和操作封装在一个对象中。下面是一些面向对象的概念: 类(Class):类是用来描述一类对象的属性和方法的模板或蓝图,它定义…...