IDC

使用UDP协议有什么注意事项?_弹性负载均衡 ELB_常见问题_健康检

作者:admin 2021-09-18 我要评论

什么是UDP健康检查 UDP是面向非连接的一种协议,在发送数据前不会通过进行三次握手建立连接,UDP健康检查的实现过程如下: 健康检查的节点根据健康检查配置,向...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

什么是UDP健康检查

UDP是面向非连接的一种协议,在发送数据前不会通过进行三次握手建立连接,UDP健康检查的实现过程如下:

  1. 健康检查的节点根据健康检查配置,向后端发送ICMP request 消息。
    • 如果健康检查节点收到了后端服务器返回的ICMP reply消息,则认为服务正常,继续进行健康检查。
    • 如果健康检查节点没有收到后端服务器返回的ICMP reply消息,则认为服务异常,判定健康检查失败。
  2. 健康检查的节点收到ICMP reply消息后,会给后端服务器发送UDP探测报文。
    • 如果在【超时时间】之内,健康检查的节点服务器收到了后端服务器返回的port unreachable的ICMP消息,则认为服务异常,判定健康检查失败。
    • 如果在【超时时间】之内,健康检查的节点服务器没有收到后端服务器返回的ICMP错误信息,则认为服务正常,判定健康检查成功。

当您配置UDP健康检查时,推荐使用配置页面默认的各项数值。

异常排查方法

请您按照以下两种方法排查。

  1. 检查健康检查超时时间是否过小。

    可能的原因:后端服务器回复的reply或port unreachable类型的ICMP消息未能在超时时间内到达健康检查的节点,导致健康检查结果不准确。

    建议采取的措施:将超时时间调整为更大的值。

    由于UDP健康检查的原理不同于其他健康检查,建议健康检查超时时间不要过小,否则后端服务器可能会反复上线或下线。

  2. 后端服务器是否限制了ICMP消息产生的速率。

Linux系统下,请用以下命令检查ICMP消息速率的限制。

sysctl -q net.ipv4.icmp_ratelimit

默认值为:1000

sysctl -q net.ipv4.icmp_ratemask

默认值为:6168

请确认第一条命令返回值为默认值或0,并用以下命令放开port unreachable消息产生的速率限制。

sysctl -w net.ipv4.icmp_ratemask=6160

更详细的信息请参考Linux Programmer's Manual相关页面:

man 7 icmp

或者访问地址:http://man7.org/linux/man-pages/man7/icmp.7.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

放开port unreachable类型ICMP消息的速率限制,会让暴露在公网上的服务器在端口扫描时,不受限制次数地产生port unreachable消息。

注意事项

使用UDP协议注意以下事项:

  • 负载均衡健康检查是通过UDP报文和Ping报文探测来获取后端云服务器的状态信息。针对此种情况,用户需要确保后端云服务器开启ICMP协议,确认方法如下:

    用户登录后端云服务器,以root权限执行以下命令:

    cat /proc/sys/net/ipv4/icmp_echo_ignore_all

    若返回值为1,表示ICMP协议关闭;若为0,则表示开启。

  • 当前UDP协议服务健康检查可能存在服务真实状态与健康检查不一致的问题:

    如果后端服务器是Linux服务器,在大并发场景下,由于Linux的防ICMP攻击保护机制,会限制服务器发送ICMP的速度。此时,即便服务器已经出现异常,但由于无法向前端返回“port XX unreachable”报错信息,会导致负载均衡由于没收到 ICMP 应答进而判定健康检查成功,最终导致服务真实状态与健康检查不一致。

  • 当负载均衡的类型为经典型私网负载均衡时,不允许创建UDP协议的监听器。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商