Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Say I have two hosts - Using fictitious IPs for this example, say host A has IP 1.1.1.1. host B has two IPs - 2.2.2.2 and 2.2.2.3.

If host B is listening on port 8888, and sees a packet come in from 1.1.1.1, produces a response and sends it out on a different IP than the original connection was made to, does this suggest that host A (1.1.1.1) is not going to see the response packet?

  1. 1.1.1.1:8888 -> 2.2.2.2:8888 (request)
  2. 2.2.2.3:8888 -> 1.1.1.1:8888 (response)

My understanding of sockets is that a socket consists of an IP and a port so if the server responds to a client on a brand new IP that the client didn't use to establish the connection, the client won't get the response.

share|improve this question
    
My guess is that it could be an issue, it will see the packet the question is does it realize its coming from the machine you sent the request to. I believe I had this probablem with a kerberos or openldap server. My suggestion is look on the documentation to see if you can tell the program to bind on 1 ip only and send response as that one ip only. –  PHGamer Mar 11 '11 at 20:59

1 Answer 1

up vote 2 down vote accepted

Host A should receive the response (it will be physically delivered to the machine, assuming routes are correctly configured), but host A may or may not process the response. Since UDP isn't connection oriented, it's up to the implementer to decide whether to only accept a response from the original destination, or to look for a packet coming from anywhere.

share|improve this answer
    
Well put. Thanks for the clarification! –  regulatre Mar 13 '11 at 5:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.