计算机网络七层协议osi

article/2025/8/16 23:01:38

OSI(open system interconnect开放系统互联)七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

OSI七层模型功能对应的网络协议TCP/IP四层概念模型
应用层文件传输,文件管理,电子邮件的信息处理——apduHTTP、TFTP, FTP, NFS, WAIS、SMTP应用层
表示层确保一个系统的应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据的解密和加密,最小单位——ppduTelnet, Rlogin, SNMP, Gopher
会话层负责在网络中的两节点建立,维持和终止通信,在一层协议中,可以解决节点连接的协调和管理问题。包括通信连接的建立,保持会话过程通信连接的畅通,两节点之间的对话,决定通信是否被终端一斤通信终端是决定从何处重新发送,最小单位——spduSMTP, DNS
传输层定义一些传输数据的协议和端口。传输协议同时进行流量控制,或是根据接收方接收数据的快慢程度,规定适当的发送速率,解决传输效率及能力的问题——tpduTCP, UDP传输层
网络层控制子网的运行,如逻辑编址,分组传输,路由选择最小单位——分组(包)报文IP, ICMP, ARP, RARP, AKP, UUCP网络层
数据链路层主要是对物理层传输的比特流包装,检测保证数据传输的可靠性,将物理层接收的数据进行MAC(媒体访问控制)地址的封装和解封装,也可以简单的理解为物理寻址。交换机就处在这一层,最小的传输单位——帧FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,帧中继数据链路层
物理层定义物理设备的标准,主要对物理连接方式,电气特性,机械特性等制定统一标准,传输比特流,因此最小的传输单位——位(比特流)IEEE 802.1A, IEEE 802.2到IEEE 802.

OSI模型为最经典的网络模型,但其较复杂


常用的为TCP/IP网络模型( Transmission Control Protocol/Internet Protocol)传输控制协议/因特网互联协议,共有四层结构:

1.网络接口

针对不同的物理网络的连接形式的协议:erther net

主要作用一:数据封装/解封装成帧(frame)。为了保证可靠传输,网络层传过来的数据在这里被加工成了可被物理层传输的结构包——帧。帧中除了包括需要传输的数据外,还包括发送方和接收方的物理地址以及检错和控制信息。其中的物理地址确定了帧将发送到何处,检错和控制信息则是用来保证数据的无差错到达。数据帧结构如下(Address均为mac地址):

主要作用二:控制帧传输

主要作用三:流量控制。

2.网络层

负责数据传输、路径及地址选择,常用协议:IP ARP(地址解析协议)

说到网络层不得不提的就是IP协议,它是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP协议数据都以IP数据报格式传输。IP协议提供的是不可靠的、无连接的数据报传输服务。不可靠是指IP协议不会保证数据报能否成功到达目的地,仅提供传输服务,传输出错,则会丢弃出错的数据报。无连接是指IP协议对数据报的处理是独立的,这也意味着接收方不一定会按照发送顺序接收数据报。

ip地址分类:

3.传输层

确认数据传输进行纠错处理,常用协议:TCP UDP

端口的作用则正是体现在传输层的。用来区分网络消息由主机上的哪一个进程处理。端口号有 0~65535 的编号,其中0~1023为系统端口号。

网络层传输单位是数据包,属于点到点的传输;传输层传输单位是数据段,属于端到端的传输

4.应用层

各种服务及程序通过该层利用网络,常用协议:HTTP,FTP,SMTP

为了标识通信实体中进行通信的进程,TCP/IP协议提出了协议端口(protocol Port)的概念。端口是一种抽象的网络结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口号建立连接后(binding),传输层传给该端口的数据都被相应的程序接收,相应程序发送给传输层的据都通过该端口输出。

结合 OSI  和 TCP/IP  产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。

 Internet  就是采用的 TCP/IP  协议

物理层:网卡,网线,集线器,中继器,调制解调器

数据链路层:网桥,交换机

网络层:路由器

 


数据传输过程简图

 

对等层之间不能相互直接通信,各层之间是严格单向依赖,上层使用下层提供的服务,下层向上层提供服务。

 


OSI历史

OSI模型最初是因为美国人的两台机器之间有进行通信的需求。

需求1:两个硬件之间如何进行通信,具体就是一台发比特流,另一台能够收到。于是就有了物理层:主要是定义设备标准,如网线的接口类型、管线的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流,就是从1/0转化为电流强弱来进行传输,到达目的之后再转化为1/0,也就是我们常说的数模转换。这一层的数据是比特。

需求2:现在通过电线我能发数据流了,但是我还是希望能通过无线电波,通过其他介质来进行传输。然后我还要保证传输过去的比特流是正确的,需要有纠正错误的功能。数据链路层:定义了如何让格式化数据进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

需求3:现在我能发正确的比特流数据到另一台计算机了,但是当我发大量数据的时候,可能需要很长时间,例如:一个视频格式的,网络会中断好多次,实际上,即使有了物理层和数据链路层,网络还是经常中断,只是中断的时间是毫秒级别的。那么,我还需要保证传输大量文件时的准确性。于是,我要对发出去的数据进行封装。就像发快递一样,一个个发送。于是,发明了传输层(传输层在OSI模型中,是在网络层面之上)。比如TCP,是用于发送大量数据的,我发出去一万个包,另一台电脑就需要告诉我是否接收到一万个包,如果缺少3个包,就告诉我是第1001/234/8888个包丢了,那我再发一次。这样,就能保证对方把这个视频完整接收了。例如UDP,适用于发送少量数据的。我发20个包出去,一般不会丢包,所以 ,我不管你收到多少,在多人互动游戏中,也经常收到UDP协议,因为一般都是简单的额信息,而且有广播的需求。如果用TCP,效率就会很低,因为它会不停地告诉主机我收到20个包,或者18个包,再发我两个!如果同时有1万台计算机都这样做,那么用TCP反而会降低效率,还不如用UDP,主机发出去就算了,丢几个包就卡一下,算了,下次再发包更新。TCP协议是会绑定IP和端口的协议,下面会介绍IP协议。

需求4:传输层是解决了打包的问题。但是如果我有多台计算机,怎么能找到我要发的那台?或者A要给F发信息,中间要经过B/C/D/E,但是中间还有好多节点,如K/J/Z/Y.我怎么选择最佳路径?这就是路由要做的事情。于是,发明了网络层,也就是路由器,交换那些具有寻址功能的设备所实现的功能。这一层定义的是IP复制,通过IP地址寻址,所以产生了协议。

需求5:现在已经能够给指定计算机发送正确的封装过的信息了,但是用户级别的体验并不是很好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。于是发明了会话层。会话层的作用就是建立和管理应用程序之间的通信。

需求6:现在我能保证应用程序自动收发包和寻址了,但是我要用Linux给window发包,两个系统语法不一致,就像安装包一样,EXE不能在Linux下用,shell在window也也是不能直接运行的。于是需要表示层,帮我们解决不同系统之间的通信语法问题。

需求7:现在所有必要条件都准备好了,我们可以写个Android程序,web程序去实现需求吧。

补充:不知道有没有小伙伴熟悉Socket,这不是一个协议,而是一个通信模型。其实它最初是伯克利加州分校软件研究所,简称BSD发明的,主要是一台电脑两个进程之间进行通信,然后把它用到两台电脑的进程间通信。所以,可以把它简单理解为进程间通信,不是什么高级的东西。主要是这么做的:

A发包:发请求包给某个已经绑定的端口;收到B的允许后,正式开始发送,发送完了,告诉B要断开连接;收到断开允许后,马上断开,然后发送已经断开信息给B。

B收包:绑定端口和IP,然后在这个端口监听接收到A的请求,发给A,并做好接收准备,主要就是清理缓存等待接收新数据;然后正式接收,接收到断开请求,并允许断开,确认断开后,继续监听其他请求。

换句话说,socket就是I/O操作,socket并不仅限于网络通信。在网络通信中,它涵盖了网络层、传输层、会话层、表示层、应用层。


参考文章:https://blog.csdn.net/zhangyi_1027/article/details/80022493?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/N1neDing/article/details/79938570

https://baijiahao.baidu.com/s?id=1623342279899809678&wfr=spider&for=pc


http://chatgpt.dhexx.cn/article/8UlVToLl.shtml

相关文章

1分钟看懂网络七层协议/OSI七层模型

网络七层协议用一张图表示,大概是这样的: 物理层: 解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 …

OSI网络七层协议

OSI(Open System Interconnect),即开放式系统互联参考模型,一般都叫OSI参考模型,是ISO(国际标准化组织)在1985年提出的一个试图将各种计算机或者通信系统在世界范围内互联为网络的标准框架模型。在这一框架下详细的规定…

(知识点)TCP/IP协议(网络七层协议)

OSI参考模型 实际上,分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图: OSI参考模型中每个分层的作用 下图表述了简单的每个分层的作用: 1. 应用层 为应用程序提供服务并规定应用程序中通信相…

网络七层模型及各层协议

网络七层模型作用应用层 (Application)网络服务与最终用户的一个接口。表示层(Presentation Layer)主要进行对接收数据的解释、加密与解密、压缩与解压缩。确保一个系统的应用层发送的数据能被另一个系统的应用层识别。(在五层模型里面已经合并到了应用层)会话层(Session Layer…

网络协议基础01-七层网络协议

前言:为什么学? 1.避不开:几乎所有的程序运行都会涉及到网络协议 2.不过时:越基础知识越不容易过时,值得花时间深入学习和积累。 容器技术、大数据、云计算、人工智能、区块链...等技术更新迭代速度很快&#xff0c…

网络七层协议结构分析图

文章目录 前言一、网络七层协议结构图详解二、TCP和UDP的区别1.TCP(打电话)1.连接稳定2.客户端,服务端3. 传输完成,释放连接,效率低,4. 三次连接四次挥手1.三次连接2.四次挥手 2.UDP(发短信&…

七层网络协议知多少

图,自然不是我的 最近太忙了,又是毕设又是春招的,忙的我都没时间看小说,所以博主我开始瞎 编小说了,学的比较浅,如有不对,还请指正。 物理层 许多年前的一天,小A和小B一块在电脑上…

网络中的七层协议与TCP/IP五层模型

socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址&a…

蓝牙nrf52832的架构和开发

相比TI的CC254X、DIALOG的DA1458X,nordic推出的nrf51822和nrf52832在架构和开发商都有自己独特的地方。这几颗产品都是蓝牙低功耗芯片。DA1458X使用OTP硬件架构,功耗低,成本也低,但软件开发难度是个门槛,大团队才能做到…

NORDIC nrf52833使用笔记

文章目录 一、SoftDevice命名规则(一)、通用规则(二)、特定规则 二、nRF52833关键特性三、SoftDevice目录框架四、代码目录框架五、应用代码结构六、内存分配表(一)、不带bootloader时的内存分配&#xff0…

NRF52832官方SDK介绍

SDK(Software Development Kit)是指软件开发包,一般是由官方提供,主要用来介绍开发流程,提供常用的例程代码等等。可以降低开发者使用的门槛,提高开发效率,所以在开发者在进行具体的开发前必须先…

第二章 nRF52832介绍

关注嘉友创科技公众号 源码地址:https://github.com/HX-IoTnRF52832开发指南QQ群:326941601,内有pdf版,排版整洁。 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC蓝牙单芯片,嵌入式2.4GHz收发器…

NRF52832之ESB功能与NRF24L01进行2.4G通信

NRF52之ESB学习笔记 目的:为了能与NRF24L01通信,工程中加入nrf_esb.c, nrf_esb.h 先了解RADIO的各种工作状态及流程1状态 RADIO的工作状态: DISABLED RADIO无操作且功耗最低 RXRU RADIO加速进入准备接收 reception ramping up RXIDLE RADIO已经准备好开始接收…

NRF52832学习笔记(33)——低功耗实现

一、功耗模式 nRF52 上只有两种电源模式:SYSTEM_ON 和 SYSTEM_OFF 1.1 SYSTEM_ON低功耗模式 SYSTEM_ON:此状态有持续延迟和低功率子模式。当系统空闲进入 System On 模式时,默认情况下将处于低功耗子模式,通常最低功耗为 1.9uA …

NRF52832 ESB通信

esb通信,也就是纯2.4g的一个通信,据说是兼容24L01芯片,没有试过,这里是用两个nrf52832芯片做的通信实验。 相关历程参考 如下: 历程里面注释确实不多。 里面函数api介绍可以参考官方SDK文档:https://infoc…

NRF52840/NRF52832/NRF52810/NRF52811/NRF52805蓝牙5.0芯片对比

目录 一、蓝牙5.0传输速度翻倍,距离4倍、8倍数据传输量领跑物联网连接标准二、通信速度提高一倍意味着功耗减半三、四倍通信距离意味着蓝牙将抢夺Wi-Fi在智能家居市场的份额四、增加数据广播容量五、组网技术扩大应用范围六、NRF52系列BLE5.0芯片对比NRF52840-QIAA-…

nRF52833支持BLE 5.1,浅析与nRF52840参数对比

nRF52833 SoC作为Nordic nRF52系列的第五个新成员,该芯片能提供多协议解决方案,支持高温性能、测向功能,迅速成为专业照明和其他工业应用的理想选择之一。 Nordic现在提供nRF52833工程样品,这款SoC器件将提供三种不同的封装&…

【手把手带你学nRF52832/nRF52840 · (1)开发环境搭建】

1、首先去Nordic官网下载SDK SDK下载链接 ▼点击选定下图中的17.0.2版本,可以看到目前最新的版本是17.1.0 ▼下拉网页到最后,确认要下载的文件,前面的一些例程可以去掉,保留最后一个SDK文件即可,点击Download file…

NORDIC蓝牙52系列芯片选型与参数对比-NRF52805,NRF52810,NRF52811,NRF52820,NRF52832,NRF52833,NRF52840

NRF52805,NRF52810,NRF52811,NRF52820,NRF52832,NRF52833,NRF52840参数对比

nRF52832的硬件资源小结

nRF52832是NRODIC公司推出的一款带有低功耗蓝牙功能的ARM Cortex-M4 32-bit 浮点单元处理器,64MHz时钟, 存储器有两种配置:512kB flash/64kB RAM和256kB flash/32kB RAM. 最小的封装为WLCSP(wafer level chip scale package), 长宽高分别为&a…