首页 > 资讯 > 负载均衡健康检查方式icmp

负载均衡健康检查方式icmp

转载

项目背景

两台UDP SERVER,通过F5实现硬件的UDP负载均衡,发现UDP SERVER上会定期收到F5的UDP探测包,但是UDP SERVER并没有对这些探测包做过任何响应,所以不明白F5是如何知道UDP SERVER是活的还是死的?

两台UDP SERVER

172.28.17.52

172.28.17.54

VIP

172.28.26.13

主备F5

 172.28.26.251

 172.28.26.252  

当把两台UDP SERVER都停掉之后,F5显示如下:

红色代表不可达

当单独启动52的UDP SERVER后,F5显示如下:

52的服务器上日志显示一直在收包,ip是F5的

但是就程序而言,本身是并没有对探测包做出任何响应的,所以抓包看看

52的机器上只发现有F5来的探测包,并没有发现有52回过去的响应包

54上再抓包,54进程停掉了

54进程不在,F5依然是在持续的发探测包的,UDP,同时可以看出54给F5回了ICMP的包,destination unreachable,搞之F5设备,当前机器不可达,此时F5就知道了54不可达,随即更自己维护的节点状态信息

那么ICMP报文的作用是什么呢?

ICMP协议主要用来检测网络通信故障和实现链路追踪,最典型的应用就是PING和tracerooute。

PING:

    通过发送回送请求报文和回送回答报文来检测源主机到目的主机的链路是否有问题,目的地是否可达,以及通信的延迟情况。

traceroute:

    通过发送探测报文来获取链路地址信息。第一个探测报文TTL为1,到达第一个路由器时,TTL减1为0所以丢掉这个探测包,同时向源主机发回ICMP时间超过报文,这时源主机就获得了第一个路由器的IP地址;接着源主机发送第二个探测报文,TTL增1为2,到达第一个路由器TTL减1为1并转发探测包到第二个路由器,这时TTL减1为0,丢掉这个探测包并向源主机发回ICMP时间超过报文,源主机就获得了第二个路由器的IP地址;以此类推,直到探测报文到达traceroute的目的地,这时源主机就获得了到目的地的每一跳路由的IP地址。

由此不难看出为什么F5能知道后端real server的节点状态了

本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

相关文章

相关知识

负载均衡 健康检查概述
健康检查 负载均衡 ULB
关闭健康检查后恢复
负载均衡SLB四层(TCP/UDP)健康检查出现异常的解决方法
Ping健康检查
负载均衡如何优化视频播放体验?
VPN 连接 配置健康检查
取消健康检查关联
阿里云 健康检查
电脑健康状况检查应用下载

网址: 负载均衡健康检查方式icmp https://m.trfsz.com/newsview1634919.html