karn@FLASH.BELLCORE.COM.UUCP (05/07/87)
Question: what assumptions may an FTP client make about the address and port (i.e., socket) that will be used when the server opens a data connection? When my implementation sends a RETRieve command, it posts a listen for the data connection. Rather than accepting anyone who connects, it listens specifically for a SYN carrying the IP address of the server, and TCP port 20. This works fine except in the case of a multi-homed FTP server. If I have established my control connection to the "far side" IP address, many such hosts will use the IP address associated with the "nearer" interface when initiating the data channel, and my TCP will refuse it. I guess I'm answering my own question here, namely that I have to be prepared to accept any IP address in the incoming connection, since I have no way of knowing if the server will use an address different than the one I used on the control connection. Comments? Phil
PADLIPSKY@A.ISI.EDU (Michael Padlipsky) (05/07/87)
Phil-- You haven't answered your own question if you believe, as I do, that it's a bug for a Host to use different Internet Addresses during the same "conversation". cheers, map -------
CERF@A.ISI.EDU (05/09/87)
Phil, don't you have to accommodate the case of third party transfers, so that the control address is distinct from sender and receiver of the file transfer? If that's so, then you can't very well bind to the source address of the control process. Vint