I'm reading this talking about the differences between two fire-and-forget message (for example, under UDP) and a request-response communication (for example, under TCP). I came across this:
The responder has an address, and the requestor uses it to address the request. The requestor need not in general have an address. We see this all the time in NAT'd HTTP environments.
The above is an answer to why two fire-and-forget messages, one sent from client and other sent from server, cannot simulate communication over a protocol intended for request-response.
How could the responder actually respond if it doesn't know which address to send the response to (as the requestor doesn't need to provide an address)?