OSI模型和TCP/IP分层模型?看完这一篇就够了!

最近看了《图解TCP/IP》这本书,于是将这本书中的精髓做一个归总,以便之后查阅。

1.何为协议?

1.1 介绍

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

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

2 协议分层与OSI参考模型

2.1 OSI参考模型

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

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

2.2 OSI参考模型中各层作用

2.2.1 物理层

信号和介质

比特流与电子信号之间的切换

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

2.2.2 数据链路层

数据帧与比特流之间的转换

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

2.2.3 网络层

路径选择、路由及逻辑寻址

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

2.2.4 传输层

管理两个节点之间的数据传输

关键层次之一,TCP/UDP运行在传输层

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

2.2.5 会话层

为会话实体间建立连接??数据传输阶段??连接释放

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

2.2.6 表示层

数据的压缩、解压、加密、解密

语法转换、语法协商、连接管理

? 表示层向上对应用层服务,向下接受来自会话层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。

? 表示层位于OSI分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。与第五层提供透明的数据运输不同,表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩。每台计算机可能有它自己的表示数据的内部方法,例如,ASCII码与EBCDIC码,所以需要表示层协定来保证不同的计算机可以彼此理解。

? 通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.

2.2.7 应用层

直接为应用进程提供应用服务

每个应用有不同的应用协议

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

2.3 OSI 7层模型应用通信实例

至上而下和至下而上

附加首部信息

封装和解封装

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

3 TCP/IP协议

3.1 介绍

协议“簇”

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

3.2 TCP/IP协议分层模型

TCP/IP分层模型将OSI参考模型的应用程、表示层、会话层统一归为应用层

TCP/IP更强调“在计算机上实现协议应该开发哪种程序

? 由于TCP/IP尽早地制定了可行性较强的协议,提出了应对技术快速革新的协议,并及时进行后期改良的方案,因此打败了OSI模型,成为了事实上的标准

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

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

3.4 通信过程数据变化

帧和数据包都是数据的传输形式。

  • 数据链路层:Frame(帧)
  • 网络层:Packet(数据包)
  • 传输层:
    • TCP的叫做Segment(数据段)
    • UDP的叫做Datagram(数据报)
  • 应用层:Message(消息)
  • Frame(帧),工作在二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息;
  • Packet(数据包),工作在三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息。

Packet(数据包):封装的基本单元,它穿越网络层和数据链路层的分解面。通常一个Packet映射成一个Frame,但也有例外:即当数据链路层执行拆分或将几个Packet合成一个Frame的时候。

通信过程数据结构变化大致如下:

3.4.1 传输层报头解析

加入端口信息

TCP\UDP协议

? 每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包,所以需要在数据包中加入端口信息。

TCP数据报头??:

UDP数据报头??:

常见端口信息??:

应用进程 FTP TELNET SMTP DNS TFTP HTTP SNMP
端口号 21 23 25 53 69 80 161

关于TCP/UDP等协议的异同点将在另一篇博客中专门介绍

3.4.2 网络层数据报头解析

IP数据报

IP协议

源IP地址、目标IP地址

关于IP数据报相关博客(Click Me)

3.4.3 数据链路层报头解析

MAC帧

LLC帧

MAC和LLC子层的区别看这篇博文(Click Me)

3.4.5 数据封装过程总结

? 上层数据→→在传输层添加TCP头(包含端口信息等)→→在网络层添加IP头(包含IP协议等信息)→→在数据链路层添加LLC头和MAC头(包含MAC地址等信息)→→翻译成比特流(1101101...)

4 总结

? 以上内容是我对《TCP/IP图解》这本书中分层模型等知识点的总结,数据在传输过程中是一个不断封装和解封的过程,一个数据要传输到另一个接收端,必须经过层层封装,封装的意义在于让发送端数据能够定位接收端的位置,让数据精准的被接受端应用程序接受。

此篇博客并没有讲解各层具体的协议,这些内容将在下一篇博客中详细说明。

参考资料:

————————————————————————————————————————————

版权声明:本文为吴恺的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.cnblogs.com/zaijianba/p/11520397.html
为了更好的阅读体验,推荐转至我的个人博客查看此篇博客。
个人博客文章链接:https://www.wukailiving.cn/dui-tcp-ip-de-zong-jie.html

如有不足之处,欢迎指正!

原文地址:https://www.cnblogs.com/zaijianba/p/11520397.html

时间: 2024-08-05 14:21:32

OSI模型和TCP/IP分层模型?看完这一篇就够了!的相关文章

OSI七层模型和TCP/IP五层模型、iproute家族命令、管理工具介绍

1.简述osi七层模型和TCP/IP五层模型网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能. 1.1 OSI七层模型OSI:Open System Internetconnection(开放系统互联),由ISO国际标准化组织定义:目的是规范网络环境,实现软硬件兼容:自上而下共分为七层,分别为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层. 应用层:各种应用程序及接口 表示层:对数据进行转换,加密.压缩 会话层:维持不同应用程序的数据分离 传输层:提供可靠的端到端的报文

OSI模型和TCP/IP模型

OSI七层模型记忆: all people seem to need data processing. Application(应用层) -- all Presentation(表示层) --- people Session(会话层) -- seem Transport(传输层) -- to Network(网络层) -- need Data(数据链路层) -- data Physical(物理层) --- processing 1. 物理层: 主要定义物理设备标准,如网线的接口类型.光纤的接口

OSI模型和TCP/IP协议栈

OSI(Open System Interconnect )开放系统互连参考模型是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架.这里所说的开放系统,实质上指的是遵循OSI参考模型和相关协议能够实现互连的具有各种应用目的的计算机系统.它从低到高分别是:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.而TCP/IP协议栈和OSI模型有着对应关系,那么先看一下OSI参考模型.OSI参考模型如下图所

Linux网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议看书<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层.网络层.传输层主要是写入对应数据的传输信息的        物理层:比特            设备之间的比特流的传输.物理接口.电气特性        数据链路层:帧            保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通信的,发件人和收件人的mac 地址  

OSI七层协议模型和TCP/IP四层模型比较

TCP/IP四层模型 ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. 图2-1 TCP/IP参考模型 2.1 TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型.ARPANET是由美国国

OSI七层模型和TCP/IP五层模型详解

OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范.OSI模型有7层结构,每层都可以有几个子层. OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 :其中高层(即7.6.5.4层)定义了应用程序的功能,下面3层(即3.2.1层)主要面向通过网络的端到端的数据流. 一.OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识——OSI参考模型. 1.OSI的来源 OSI(Open System Interc

OSI七层模型和TCP/IP四层模型

OSI七层模型 应用层 表示层 会话层 传输层(端口) 网络层(IP) 数据链路层(MAC地址) 物理层 ======================================================== TCP/IP四层模型 应用层 传输层(端口) 互联网层 链路层

OSI模型和TCP/IP协议族(三)

TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前TCP/IP协议族被认为是一个五层模型,其层的命名类似于OSI模型中相应的层.如下图所示: OSI和TCP/IP协议族的比较 当我们比较这两个模型时会发现,再TCP/IP协议族中没有会话和表示这两层.即使在OSI模型发布后,TCP/IP协议族也没有因此而增加这两层.在TCP/IP协议族中通常认为应用层

计算机网络 OSI参考模型与TCP/IP分层模型

TCP/IP是当今计算机网络界使用最为广泛的协议. OSI与TCP/IP参考模型如下: OSI参考模型注重"通信协议必要的功能是什么",而TCP/IP更强调"如何实现协议". 参考资料 <图解TCP/IP 第5版> P64 原文地址:https://www.cnblogs.com/WJQ2017/p/8270532.html