Hi, guys.
I have a problem using vxlan.
Sometimes, the source port of the encapsulated UDP packet is changed.
My data flow likes below
Docker Container <-> Docker Host <-> Load Balancer <-> NAT <-> Endpoint(HTTP Server)
This source port change issue occurs when there is a latency in receiving a response from the endpoint and also, in processing TCP handshake.
For example when TCP handshaking
[SYN] container port: 33922, mapped host port(UDP source port): 49550
[SYN+ACK] from load balancer (component source port: 40034)
[ACK] container port: 33922, mapped host port(UDP source port): 48173
- I don't know why the mapped host port is changed and I want to find the solution.
[RST] from load balancer (component source port: 49844)
- Because of wrong load balance, other components receive [ACK] packet.
[TCP Retransmission][SYN+ACK] from load balancer (component source port: 40034) ← didnot receive [ACK] packet.
Can I know the reason why src port is changed and how to prevent it?
Thank you.