A name indicates what we seek. An address indicates where it is. A route indicates how we get there.
TCP implementations will follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.
In general, an implementation must be conservative in its sending behavior, and liberal in its receiving behavior.