代理服务器ip地址和端口号(跟字节大佬聊了下四层代理和七层代理,我人傻掉了)

在与领导者的日常交流或阅读文章时,我们总会遇到两个概念“四层代理负载平衡”和“七层代理负载平衡”。那么,所谓的四层代理和七层代理分别指什么?在什么情况下?这篇文章将带你谈谈这方面的知识。

OSI的七层模型

要讨论多个代理层,首先需要了解网络分层。如前一篇文章所述,标准的七层网络分层是OSI的七层模型。TCP/IP五层模型和TCP/IP四层模型在OSI七层模型的基础上进行了优化。

这里提到的四层代理和七层代理是根据OSI的七层模型划分的。

OSI七层模型

从下到上,第四层是传输层,第七层是应用层。让我们看看对应于每一层的通用协议:

OSI和协议

第四层对应于传输控制协议/UDP协议,也称为IP+端口。第7层已经是一个非常特定的应用层协议。因此,所谓的四层是基于IP+端口的负载平衡;第七层是基于URL和其他应用层信息的负载平衡;

类似地,有两层基于MAC地址的负载平衡和三层基于IP地址的负载平衡。第二层负载平衡通过虚拟MAC地址接收请求,然后将其分配给真实MAC地址;三层负载平衡通过虚拟IP地址接收请求,然后将它们分配到真实IP地址。

代理服务器ip

四层代理

四层agent主要作用于Jet-Li模型的传输层。传输层主要处理消息的传输,而不考虑消息的内容。TCP是一种常见的四层协议。

**四层负载平衡只针对上游服务发送和接收的网络数据包,不检查数据包中的具体内容**4层负载平衡可以通过检查TCP流中的前几个数据包来确定是否限制路由。

因此,四层负载平衡的核心是IP+端口级别的负载平衡,它不涉及特定的消息内容。

七层代理

七层代理主要工作在OSI模型的应用层,主要用于处理消息内容。例如,HTTP是一种常见的七层协议。

第7层负载平衡服务器充当反向代理。客户端应与第七层负载平衡设备握手三次,以建立TCP连接,并将要访问的消息信息发送到第七层负载平衡设备。

七层负载均衡器基于消息中的内容(例如URL或cookie做出负载平衡决策。然后,七层负载平衡器建立一个新的TCP连接,以选择上游服务并向该服务发送请求。

使用七层负载平衡的设备通常用于反向代理

两者之间的区别

让我们通过一个图表来看看四层代理和七层代理之间的区别:

四层代理和七层代理

上图中最直观的区别是,第4层代理只发出一个TCP请求,而第7层代理发出两个TCP请求。

四层代理:四层代理将消息分解到传输层,并根据请求的服务器IP+端口号转发消息;后端服务器处理四层代理,包括消息封装;四层代理相当于路由器。

七层代理:七层代理将消息分解到应用层,分析用户请求的资源,然后负载平衡器代替用户请求后端服务器的资源;后端服务器将资源返回给负载均衡器,负载均衡器再次封装资源,然后返回给客户端;在此过程中,需要建立两个TCP连接,一个是客户端,另一个是后端服务器。

七层负载平衡中央处理器它比基于包的四层负载平衡更密集。第7层负载平衡支持均衡器做出更小粒度的负载平衡决策,并根据消息内容(如压缩和加密)以优化的方式进行更改。它使用缓存卸载上游服务器的慢速连接,并显著提高性能。

负载均衡器

负载平衡器通常被称为第4层交换机或第7层交换机。四层交换机主要分析IP层和TCP/UDP层,实现四层流量负载均衡。除了支持第4层负载平衡,第7层交换机还分析应用层信息,例如HTTP协议URI或cookie信息。

负载平衡分为L4交换机(四层交换机),工作在OSI的第四层,即TCP层。四层负载均衡器(如LVS,F5)不关心应用协议(如HTTP)/文件传输协议/Mysql等)。

L7交换机(七层交换机),OSI的最高层,应用层。七层负载平衡器(例如:哈普洛西MySQL代理)了解应用程序协议。

NginxLVS、Haproxy是三款应用最广泛的负载平衡软件。

应用场景

七层负载均衡器可以使整个网络更加智能化。例如,图片、静态文件(JS)CSS)请求被转发到特定的服务器,并使用缓存技术来实现更好的性能。

从技术原理上讲,客户端的请求和服务器的响应可以在任何意义上进行修改,这大大提高了应用系统在网络层的灵活性。例如,部署在nginx或Apache上的功能可以向前移动到负载平衡设备,例如客户请求中的设备Header服务器响应中的重写、关键字过滤或内容插入。

根据同步洪水在四层模式下,攻击请求将转发到后端服务器,而在七层模式下,可以在负载平衡器上拦截攻击请求,而不影响后端服务器的正常运行。根据SQL在注入的情况下,还可以通过在七层代理中设置策略来过滤特定消息,从应用程序级别进一步提高系统的整体安全性。

总之,七层负载均衡主要集中在HTTP协议的应用上,因此其应用范围主要基于B/s开发系统,如许多网站或内部信息平台。四层负载平衡对应于其他TCP应用程序,例如基于C/s开发的ERP系统。

虽然四层代理的性能远高于七层代理,但目前,nginx等负载均衡器可以满足大多数场景的需求,而nginx等七层负载均衡器的应用最为广泛。

小结

看似简单的四层代理和七层代理实际上涉及许多基本知识点,例如网络分层网络通信协议、负载平衡器等,更像微服务体系结构、服务网格体系结构和前端系统性能优化都涉及到这个知识点。

作者:程序员的新愿景

原始链接:https://mp.weixin.qq.com/s/VO1tSXssBpNc24moGGM2hw

如果你认为这篇文章对你有帮助,你可以转发它以获得关注和支持

您可以还会对下面的文章感兴趣

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友