本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

OSI模型和TCP/IP分层模型

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


本篇文章转自 https://www.cnblogs.com/zaijianba/p/11520397.html

何为协议

介绍

协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的 CPU 以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。反之,如果使用的协议不同,就无法通信。

image.png

Windows 操作系统的平板电脑和 Mac 操作系统的一体机电脑,虽然操作系统不同,硬件组成不同,但是只要事先达成一个详细的约定,并遵循这一约定进行处理方可建立通信。

协议分层与OSI参考模型

OSI参考模型

协议分层就如同计算机软件中的模块化开发,OSI参考模型的建议是比较理想化的一种分层模型。

image.png

  • OSI参考模型中定义了每一层的“作用”;
  • 定义每一层作用的是“协议”;
  • “协议”是约定,其具体内容为“规范”;
  • 我们日常所使用的就是遵循各个协议具体“规范”的产品和通信手段;

OSI参考模型中各层作用

image.png

物理层

信号和介质、比特流与电子信号之间的切换。
物理层(Physical Layer)是计算机网络 OSI 模型中最低的一层。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层。
物理层是 OSI 的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

image.png

数据链路层

数据帧与比特流之间的转换。
数据链路层是 OSI 参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

image.png

网络层

路径选择、路由及逻辑寻址。
网络层是 OSI 参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。

image.png

传输层

管理两个节点之间的数据传输,关键层次之一,TCP/UDP运行在传输层。
传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输层的一些协议是面向链接的,这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。

image.png

会话层

为会话实体间建立连接、数据传输阶段、连接释放。
会话层(Session)是建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。

image.png

表示层

数据的压缩、解压、加密、解密,语法转换、语法协商、连接管理。
表示层向上对应用层服务,向下接受来自会话层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。
表示层位于 OSI 分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。与第五层提供透明的数据运输不同,表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩。每台计算机可能有它自己的表示数据的内部方法,例如,ASCII 码与 EBCDIC 码,所以需要表示层协定来保证不同的计算机可以彼此理解。
通过前面的介绍,我们可以看出,会话层以下 5 层完成了端到端的数据传送,并且是可靠,无差错的传送,但是数据传送只是手段而不是目的,最终是要实现对数据的使用。由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异,这自然给利用其它系统的数据造成了障碍,表示层和应用层就担负了消除这种障碍的任务。

image.png

应用层

直接为应用进程提供应用服务,每个应用有不同的应用协议。
应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。
应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。其服务元素分为两类:公共应用服务元素 CASE 和特定应用服务元素 SASE。

image.png

OSI 7层模型应用通信实例

自上而下和至下而上、附加首部信息、封装和解封装。

image.png

image.png

  1. 发送方从模型的第七层到第一层至上而下传输数据,接收方则至下而上从第一层到第七层传输数据;
  2. 发送端发送信息的过程中,每个分层上,在处理上一层传过来的数据时,都会在数据中附上当前协议需要包含的“首部信息”;
  3. 接收端对收到的数据进行数据“首部”与“内容”的分离,再转发给上一分层,并最终将发送端的数据恢复为原装;

TCP/IP协议

介绍

协议“簇”。
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP 协议不仅仅指的是 TCP 和 IP 两个协议,而是指一个由 FTP、SMTP、TCP、UDP、IP 等协议构成的协议簇, 只是因为在 TCP/IP 协议中 TCP 协议和 IP 协议最具代表性,所以被称为 TCP/IP 协议。

image.png

TCP/IP协议分层模型

TCP/IP 分层模型将 OSI 参考模型的应用程、表示层、会话层统一归为应用层,TCP/IP 更强调在计算机上实现协议应该开发哪种程序。
由于 TCP/IP 尽早地制定了可行性较强的协议,提出了应对技术快速革新的协议,并及时进行后期改良的方案,因此打败了 OSI 模型,成为了事实上的标准。

image.png

由上图可见,OSI 和 TCP/IP 在分层模块上稍有区别,TCP/IP 分层模型将应用程、表示层、会话层统一划入应用层,OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。

TCP/IP分层模型应用通信实例

image.png

image.png

# 转载  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×