lvs工作在第几层_lvs到底是工作在osi七层模型的哪一层?

可以参考这篇回答:

先补充一些技术背景

OSI 七层模型是一套理论模型,众所周知,互联网普遍使用的是 TCP/IP 协议族,TCP/IP 并没有完全按照 OSI 模型来实现。LVS 支持的协议很多,就这个问题,不妨主要以我们熟悉和应用最广的 TCP/IP 协议来回答。

IP 协议可以对应 OSI 的 L3 网络层,TCP 协议可以对应到 OSI 的 L4 传输层。

直接给出问题结论:LVS 在实现上,介于网络层(IP)和传输层(TCP)之间

WHY 传输层?

LVS 本质是 TCP/UDP 的负载均衡器,可以识别 TCP 协议,将来自客户端的新 TCP 连接请求按照一定的负载均衡策略分发到后端的实际处理的服务器(Real Server)上。从这个角度来说,LVS 毫无疑问是工作在 TCP 层,即 OSI 的传输层。

WHY 网络层?

LVS 在转发报文的过程中,并没有实现完整的 TCP 协议的数据转发。所谓不完整,举两个例子:TCP 是可靠传输协议,而 LVS 不负责超时重传和报文确认等 TCP 可靠传输机制

TCP 支持流量控制和拥塞控制,而 LVS 不负责相关的传输窗口和拥塞控制

LVS 转发报文,只是简单收到一个 IP 层报文,然后根据策略在将这个 IP 报文转发出去。

从上述角度来说,LVS 在转发报文的时候是完全工作在 IP 层,即 OSI 的网络层。

--------------------------------------------------------------------------------------------------------

在评论中和大家的交流有很多收获,补充进来:

LVS 的诞生,是章文嵩博士是为了解决负载均衡问题,在一种在 Linux 内核里 Hack 的解决方案。高性能负载均衡的工程问题是 LVS 根本初衷,而 OSI 七层理论模型抽象更多的是参考价值。

对于一种为获取高性能而打破 OSI 网络层和传输层边界的 Hack 实现,我们讨论它到底是在工作在网络层还是传输层,这本身就很矛盾。

这是一个可以引发大家在技术上思考的好问题,不过较真起来就失去问题的价值了~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值