牛骨文教育服务平台(让学习变的简单)
博文笔记

浅析:四层代理和应用层代理常见应用

创建时间:2015-03-04 投稿人: 浏览次数:1403

Step1:

四层代理(TCP代理) :

常见的应用场景: 防SYN-Flood攻击,基于4层的负载分担



特点: 因为基本上是基于单包的,报文转发效率高,适配层最多只需要更改IP,PORT,重新计算下chechsum。

但支持力度很难覆盖到应用层报文相关的特性。  如果考虑应用层数据,就需要处理相关IP分片和流重组的相关工作。  


Step2:

TCP粘合技术

这里大家可以先看下这篇文章:http://www.ibm.com/developerworks/cn/linux/cluster/cluster_system/balance/part6/index.html

写的蛮好,可以做到基于请求报文(GET报文)的相关应用场景了。但要求就是对来回的应用层报文数据不做修改。

对于天融信的TopFilter系列产品就使用了相关技术,大家有兴趣的话,可以读下他们的相关产品手册。


Step3:

七层应用层代理



特点:所有的报文你都拿到了,你想干啥都行的。 如:SSL卸载,七层负载均衡(基于cookie),文件提取,报文修改等等。

但因为涉及到用户态内核态的拷贝,上下文切换。对报文转发有相应延迟,缓存内存,性能(新建,并发,吞吐量)是实现的重点。

常见的开源代码如:LVS,Haproxy(4/7层),Nginx, Squid等。 


有兴趣的同仁可以思考如下相关问题:

如果报文上送完7层代理后,发现其业务不需要做7层代理。 如何将连接转化为开销更小的TCP代理?

如何针对性的提高7层代理的新建性能。(绑定多端口后,进行映射)

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。