一、为什么要分层?
封装对下层的变化。实现一个复杂、多功能的程序为了便于维护与拓展,程序的功能之间应该是解耦和的。因此复杂的程序之间都要分层。二、分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分隔,每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
三、分层结构:
- 7层OSI参考模型(法定标准)
- 4层TCP/IP参考模型(事实标准)
- 5层体系结构
四、OSI参考模型
- 为了解决计算机网络复杂的大问题就有了按功能的分层结构
- 目的:支持异构网络系统的互联网。
五、OSI参考模型解释通信过程
六、OSI参考模型各层功能及协议
-
应用层:所有能和用户交互产生网络流量的程序。(文件传输FTP,电子邮件SMTP,万维网)。
-
表示层:用于处理在两个通信系统中交换信息的表示方式(语义和语法),数据格式化,代码转换,数据加密。表示层要使用会话层提供的协议。
-
会话层:向表示层实体、用户进程提供建立连接,并在连接上有序地传输数据。会话之间也是独立,互不影响。
功能一:建立、管理、终止会话。
功能二:使用校验点,可使会话在通信失效时从校验点、同步点继续恢复通信,实现数据同步。(适用于传输大文件)
-
传输层: 负责主机中两个进程之间的通信,即端到端 (不管细节,只管最终的地址)的通信。传输单位是报文段或用户数据报。协议(TCP,UDP)。
功能一:可靠传输(基于确认机制),不可靠传输(发送小的数据)。
功能二:差错控制。(对发生差错发生的控制)
功能三:流量控制。(控制发送方的速度)
功能四:复用分用。复用:多个应用进程可同时使用下面传输层的服务。分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
-
网络层: 把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。 (分组是数据报子数据)
功能一:路由选择(选择合适的路由)
功能二:流量控制(协同发送端和接收端的速度问题)
功能三:差错控制(通信结点约定的规则)
功能四:拥塞控制(整体控制速度)
-
数据链路层: 主要功能(1)封装成帧,数据链路层不是无脑转发网络层的信息,它要把信息编号封装一下,封装的网络数据包,在链路层就叫数据帧。(2)差错控制:帧错+为错。(3)流量控制。(4)访问(接入)控制:控制对信道的访问。
-
物理层: 主要任务是在物理媒体上实现 比特流的透明传输。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能一:定义接口特性。
功能二:定义传输模式。(单工、半双工、双工)
功能三:定义传输速率。
功能四:比特同步。
功能五:比特编码。
注:学习资料:王道考研。