Forum Discussion

hc_andy_35682's avatar
hc_andy_35682
Icon for Nimbostratus rankNimbostratus
Jan 27, 2010

Difference between ICMP and GATEWAY_ICMP

Hi All,

 

 

This is a pretty dumb question, but what's the difference between using the ICMP and GATEWAY_ICMP health monitors.

 

 

I've read up on it but still not 100% sure what the difference is.

 

 

https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip9_0config/ConfigGuide9_0-11-1.html

 

 

In relation to a NODE, an ICMP and GATEWAY_ICMP health check would both do the same thing (ie: ping the node) - is that correct? So choosing either one will achieve the same result.

 

 

Whereas with a POOL, there is only the option to use GATEWAY_ICMP which will ping every member in the pool - is that correct?

 

 

Thanks.

 

 

Andy

 

 

 

5 Replies

  • Gateway ICMP has a special purpose.

      
      https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/ltm_configuration_guide_10_0_0/ltm_appendixa_monitor_types.html  

    A Gateway ICMP type of monitor has a special purpose. You use this monitor for a pool that implements gateway failsafe for high availability.

    A Gateway ICMP monitor functions the same way as an ICMP monitor, except that you can apply a Gateway ICMP monitor to a pool member. (Remember that you can apply an ICMP monitor to a node only and not a pool member.)

    • Yuval_BA_249670's avatar
      Yuval_BA_249670
      Icon for Nimbostratus rankNimbostratus

      I still fail to understand the difference. Why isn't it possible to use the regular icmp monitor on a pool?

       

    • IanB's avatar
      IanB
      Icon for Employee rankEmployee

      Pool members are a combination of address and port, whereas nodes are just an address. A pool member describes a TCP or UDP service, and it makes no sense to ping a service, since ICMP has no concept of ports, so this is why we don't allow the ICMP monitor to be applied to a pool member.

       

      The gateway_icmp monitor was intended to be used in transparent mode, where it would be configured to ping a specific address (different from the node), and in that scenario, it makes sense to apply it to a pool member.

       

      Of course, if you don't configure it as transparent, then it will ping the pool member's host, and effectively perform the same check as an ICMP monitor applied to the node. It should be understood that you're not checking the service - you're just pinging the host that the service is running on, and if the webserver went down, a gateway icmp monitor would continue to report the host as being up.