http基础篇(二)
TCP/IP 协议分层(四层)
注:括号内为传输单位
层层相扣,每一层都需要下层的支撑,也为上层提供着支撑。
链路层
负责给以太网、WIFI等底层网络发送原始的数据包,工作在网卡,使用MAC地址标记网络上的设备,所以有时候也会成为MAC层。
网际层/网络互联层
IP协议处于这一层,IP地址把大大小小的局域网、广域网组成链接形成一个巨大的网络,在这个网络里找设备,只要把IP地址转成MAC地址即可。
传输层
TCP和UDP处于这一层。
TCP :面向连接的(有状态的)、可靠的、基于字节流的(顺序发、顺序收)。
UDP:不用连接的(无状态的)、不可靠的、基于数据包的(顺序发、乱序收)。
应用层
面向具体应用的协议,如:Telnet、SSH、FTP、SMTP、HTTP等。
OSI 网络分层模型(七层)
OSI (Open System Interconnection Reference Model) 开放式系统互联通信参考模型
分层情况,以及与TCP/IP协议分层的关系。
物理层
网络的物理形式,如电缆、光纤、网卡、集线器等
数据链路层
等同于TCP/IP中的链路层
二层转发:帧在经过交换机设备时,会检查帧的头部信息,拿到目标mac地址,进行本地转发和广播
网络层
等同于TCP/IP中的网际层
三层路由:报文经过有路由功能的设备时,设备分析报文中的头部信息,拿到ip地址,根据网段范围,进行本地转发或者选择下一个网关
传输层
等同于TCP/IP中的传输层
会话层
维护网络的连接状态,即保持会话和同步;
表示层
把数据转换为合适、可理解的语法和语义;
应用层
面向具体的应用传输数据。
对比四层的优势
1、加了层数,四层的时候没有说哪个是一层的,但七层是明确标了的
2、多了物理层,更完善啦
凡是有操作系统负责处理的就是四层或者四层一下,凡是由应用程序(自己写的代码)负责处理的就是七层。
四层负载均衡 OR 七层负载均衡
四层负载均衡 实现在传输层,基于TCP/IP的特性,例如IP地址、端口号实现对服务器的负载均衡。
七层负载均衡 是现在应用层,看到的是HTTP协议,解析HTTP的URI、主机名、资源类型等,然后再用合适的策略转发给后端服务器。
TCP/IP 协议栈的工作方式
HTTP 利用 TCP/IP 协议栈逐层打包再拆包,实现了数据传输,但下面的细节并不可见。