网络分层模型协议以及理解

Posted hymKing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络分层模型协议以及理解相关的知识,希望对你有一定的参考价值。

OSI七层网络分层模型:

参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

 

为什么网络进行网络层次划分?

开闭原则。

其实,大部分事实的道理都存在共性,随着人们对网络传输过程认知不断提升,人们发现网络传输实在是太复杂了,既要确定传输的信号是什么,还要确定给谁传输,还有各种中传输过程中的控制逻辑,容错逻辑等等。

在软件工程OOD思想中,最顶层的原则就是开闭原则,网络分层的原因,有何尝不是如此,控制了层层之间的边界,每一层承担的职责也比较清晰,既能使得不同的层次能去完成特定的功能,又能实现层与层之间的改动而互不影响。

为什么网络分层有了5层,还有七层?

其实TCP/IP的五层网络模型先于OSI模型,发明于1970年代。国际标准组织ISO,基于当时的网络模型分层混乱(还有其他分层标准),在这样的背景下,进行了统一网络分层模型,但是也非强制性标准模型,所以叫开放式系统互联通信参考模型。

TCP/IP四层模型和TCP/IP五层模型(实际通用说法是四层模型):

上图中,阐述了5层分层模型和7层分层模型之间的对应关系。

除了这些关系后,作为研发同学,其实更多的是关注各个层次中所涉及到一些网络协议。

在日常的java web开发中,接触到最多的是应用层协议,诸如HTTP、FTP等,另外还有传输层TCP、UDP协议,网络层的IP协议。

另外,网络各个层次和设备之间的关系如下图:

关联信息:

所谓的七层负载均衡指工作在应用层上,看到的HTTP协议,解析HTTP协议报文里面的URL、主机名、资源类型等数据,再用适当的策略转发给后端服务器。

所谓四层负载均衡是在指工作在传输层上,基于TCP/IP协议的特性,例如IP地址、端口号等实现对后端服务器的负载均衡。

TCP/IP分层模型中的协议栈是如何工作的呢?

以HTTP协议的数据传输过程来说明,HTTP协议在传输的过程中,是通过协议栈逐层向下,每一层都添加本层的专有数据,层层打包,然后通过下层发送出去。

接受数据则是恰恰相反的操作,从下往上传过协议栈,逐层拆包,每层去掉本层的专有头,上层就会拿到数据。

从上图中,我们可以看出,大多情况下,我们说TCP、IP协议族中,我们一般说TCP/IP四层网络模型

对比一下就可以看出,TCP/IP 是一个纯软件的栈,没有网络应有的最根基的电缆、网卡等物理设备的位置。而 OSI 则补足了这个缺失,在理论层面上描述网络更加完整。

与50位技术专家面对面 20年技术见证,附赠技术全景图

以上是关于网络分层模型协议以及理解的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络 王道考研2021 第一章 -- 分层结构协议接口服务 & OSI模型结构(重点) & TCP / IP 模型(重点)& 五层参考模型(重点)

计算机网络相关概述之分层结构OSI参考模型和TCP/IP模型408

中科大 计算机网络8 协议层次和服务模型

HTTP笔记_02_HTTP的网络分层模型

计算机网络OSI参考模型以及TCP/IP协议

HTTP协议相关的网络经典五层模型