4层代理
4层代理主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。当代理收到来自客户端的SYN请求时,对报文中目标IP地址进行修改,直接转发给后端服务器,TCP的连接是客户端和后端服务器直接建立,代理只起到了一个类似路由器的转发动作。为了保证后端服务的响应能正确返回,在转发时还需要修改报文的源地址。
7层代理
7层代理主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。客户端需要和代理进行真正的连接及3次握手,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
4层代理和7层代理的区别
- 理论上4层要比7层快,因为7层代理需要解析数据包的具体内容,需要消耗额外的CPU。
- 7层代理能够获得请求的内容,更加灵活。