为什么四层负载调度器一次TCP握手, 而七层负载调度器两次TCP握手
为什么四层负载调度器一次TCP握手, 而七层负载调度器两次TCP握手
以经典的LVS NAT模式为例
由real server 端数据包可以看出 , 客户端和真实服务器连接的, 负载调度器只负责转发 , LVS 内核使用netfilter 内核做进站出站的转发 , 在做了DNAT情况下 , 返回数据包自动做SNAT , 客户端和真实服务器 只做了一次TCP握手
还有一个最基本的原则 请求数据包和回复数据包 源IP和目标IP对应的是一致的
在real server 端可以看出是负载调度器和真实服务器连接的, 负载调度器需要一次TCP连接接收用户请求
, 再需要一次TCP连接向真实服务器发送请求 , 所以是两次TCP握手
所以在收到SYN攻击时 ,四层采取的手段是转发攻击到真实服务器 , 而七层 会拦截SYN, 因为直接攻击负载调度器
所以四层的并发更高
四层只负责转发
七层负载调度需要处理数据包
nat和 DR的比较
nat
- 1 D系统必须是LInux RS 系统可以任意
- 2 D负责出入站
- 3 支持端口映射
DR
- 1 系统必须是Linux , RS系统必须是Linux
- 2 D负责入站 真实服务器负责出站
- 3 不支持端口映射
- 4 RS与D 必须处于同一广播域
所以可以得出 为什么DR 比 NAT 并发高呢
- NAT负载调度器负责数据包进出站
- DR 只负责数据包入站 真实服务器负责出站
相比之下DR模式负载调度器处理的数据包数量少,压力小,所以并发更高
posted on 2022-02-07 23:11 joe_HelloWorld 阅读(83) 评论(0) 编辑 收藏 举报