Load Balance UDP (Retain Source Client IP)
Good afternoon all. I'm hoping someone on here can point me in the right direction.
I am working on a project to load balance UDP traffic to a few backend nodes for some IOT devices. When the IOT device sends communication to the BIG IP it will be sent to one of the available backend nodes like normal. However, the backend node then needs to respond back to the original IOT device to acknowledge receipt of the communication.
My question is, can this be done with normal SNAT, can the backend node respond back to the SNAT IP:port with the acknowledgement OR will I need to retain the source client IP somehow so I can respond accordingly from the backend node?
If I need to retain the source client ip, how can that be done with UDP?
Unfortunately HTTP is not an option right now.
Thanks in advance for any assistance provided.
The short answer to this is yes - normal SNAT will work fine. When a request comes into a UDP virtual server, the response will be allowed for an Idle Timeout time ie it emulates the TCP functionality. This timeout is configurable in the UDP profile. You can also disable the treating of this traffic as a flow, and instead treat each UDP packet as a new connection ( useful where using iRules and you want to inspect each packet ). This is called Datagram LB.
Take a look at K7535: Overview of the UDP profile for more info