目录
一、为什么要对协议进行分层
1、什么是协议分层
2、协议分层的好处
二、TCP/IP 五层(或四层)模型
1、概念
·应用层
·传输层
·网络层
·数据链路层
·物理层
2、举例详解
·传输层
·网络层
·数据链路层 和 物理层
·应用层
四、TCP/IP 五层(或四层)模型 与 OSI 七层模型 的对比
一、为什么要对协议进行分层
1、什么是协议分层
网络通信是一个非常复杂的事情,在这个过程中会涉及到很多细节的问题。如果我们使用一个协议来约定上述的所有细节,那这个协议就会非常庞大,非常复杂。
此时,我们就可以将一个功能复杂繁琐的协议,拆分成多个功能更单一的协议。拆分,是为了管理复杂程度,对协议进行 “分类” 、“分层”,每个部分负责一个功能,使结构更清晰明。
协议分层,就是把很多协议,按照功能分成不同的层级,每个层级都有对应的主线任务。上层协议会调用下层协议的功能,下层协议会给上层协议提供服务。
2、协议分层的好处
协议分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方都遵循这个规范来对接。
这样的好处在于:
·对于使用方来说,并不需要关心提供方是如何实现,只要能通过接口实现对应功能就行
·对于提供方来说,并不需要关心使用方是如何使用,只需要实现功能,提供接口就行
这样的分层也有利于更好的维护与拓展,给整个网络体系的更新迭代带来了很大的便利~
二、TCP/IP 五层(或四层)模型
1、概念
TCP/IP 是一组协议的代名词,他包括了许多协议,组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了 5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
·应用层
负责应用程序间的沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
·传输层
负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。
·网络层
负责地址管理和路由选择。例如在 IP协议 中,通过 IP地址 来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输线路(路由)。路由器工作在网络层。
·数据链路层
负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机工作在数据链路层。
·物理层
负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视机)、光纤,现在的 WiFi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器工作在物理层。
物理层我们平时考虑的较少,所以有时候也称为 TCP/IP四层模型
2、举例详解
在这边我们举一个 送快递 的例子来辅助我们理解 TCP/IP 模型各个层的原理:
·传输层
例如我们在某个购物平台购买了一件商品 ‘A’, 在下单时,需要填写我们和商家的地址与电话。在这个过程中,我们只需要关心我们和商家的地址信息。就类比为 传输层 主机间的数据传输,只需要关注 源主机 和 目标主机 的 “地址信息”。
·网络层
商家接到订单,要把包裹交给快递公司来运送给我们。但包裹运送具体的路线选择、运输工具,这些是不需要商家和用户关心的,由快递公司来进行 路线规划和路线选择。这一层就相当于 网络层,负责地址管理和路由选择。
·数据链路层 和 物理层
当快递公司规划好路线之后,具体如何运输就由快递员来负责。这一部分的功能交给快递员来实现,具体是要用 大货车、大卡车、轮船还是三轮车,这部分也不需要快递公司关心了。数据链路层 负责设备之间的数据帧的传送和识别,物理层负责选择信息的传递方式。
·应用层
当快递拿到手之后,用户要如何使用这件物品,就与上述每一个流程都无关。用户只负责与商家进行交涉这一部分,其他的运输、路线选择等等也都与用户无关。应用层只负责应用程序间的沟通。
四、TCP/IP 五层(或四层)模型 与 OSI 七层模型 的对比
OSI七层模型既复杂又不实用,所以,OSI七层模型没有落地实现。实际组建网络时,只是以 OSI七层模型设计中的部分分层,也即是 TCP/IP 五层(四层)模型来实现的。
以上就是 举例详解 TCP/IP 五层(或四层)模型与 OSI七层模型对比 (画图详解 一篇看懂!) 的全部内容了,希望能对您有所帮助!