That assumes that the speed of light is an insurmountable speed limit. We can't be 100% sure of that.
But even if it is, TCP can be used with any latency if you configure the timeouts accordingly and maintain a large enough send buffer to allow retransmissions.
I don't think volume of data average user will want to send to Mars over next 100 years will be a important factor enough. I envision Mars comms using some kind of relay service, to which you'd communicate using TCP
Earth-Mars will be a store and forward network not unlike the old UUCP or BBS networks like FidoNet. You will send blobs of data via something that probably looks like a replicated S3 bucket and get notified when replication of an object has occurred.
IP is usable to the Moon but a lot of protocols would need latency constants adjusted and very large packets would be desirable. Store and forward with custom replication protocols might still be more efficient for large volumes of data.