1. OSI概念模型

是一个理想的设计模型,并没有落地,从来没有被真正实现过,但在网络协议中经常参考这个模型才能很好的理解协议分层是怎么回事
5.PNG
传输层:进程间的通信
网络层:广域网通信
数据链路层:局域网通信

2. TCP/IP模型

OSI只是一个概念模型,实际上在互联网的实现叫做TCP/IP模型
模型对比:
6.PNG

3. 常说的4层、7层到底是啥

根据OSI模型可知:

  • 第七层:应用层,面向具体的应用传输数据。
  • 第六层:表示层,把数据转换为合适、可理解的语法和语义;
  • 第五层:会话层,维护网络中的连接状态,即保持会话和同步;
  • 第四层:传输层,相当于 TCP/IP 里的传输层;
  • 第三层:网络层,相当于 TCP/IP 里的网际层;
  • 第二层:数据链路层,它基本相当于 TCP/IP 的链接层;
  • 第一层:物理层,网络的物理形式,例如电缆、光纤、网卡、集线器等等;

但是,根据OSI和TCP/IP的对应关系可知:OSI 的分层模型在四层以上分的太细,而 TCP/IP 实际应用时的会话管理、编码转换、压缩等和具体应用经常联系的很紧密,很难分开。例如,HTTP 协议就同时包含了连接管理和数据格式定义。

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

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

总结:
凡是由操作系统负责处理的就是四层或四层以下,否则,凡是需要由应用程序(也就是你自己写代码)负责处理的就是七层。

4. 报文传输过程

7.PNG

HTTP 利用 TCP/IP 协议栈逐层打包再拆包,实现了数据传输,但下面的细节并不可见。

5. HTTP协议解决了什么问题

8.PNG
9.PNG
10.PNG