Okay... I'll bite...
Thanks! ;>
Maybe I am just naive but if the IP header did not contain a source address, how would TCP acknowledgement, windowing, or re-transmission take place?
How would a request for data be serviced? Would responses always be in the form of a all-nets/all-hosts broadcast? How else would the response get back to the originating host?
The point is that the source address is not explicitly *required* in the *header*. Thus, a source and destination could "setup" an IP session by negotiating a "session ID" or something - the first packet from source to destination would include the source's address in the *payload* along with information to start the negotiation process. I am describing, in other words, something like an ATM transport layer that would live below IP.
[snip]
Routing Protocols.... we need source addressing so we know, at the IP layer, who our sources of information are, and then, who can we accept information from and who we should refuse information from. In addition, access-lists, route-filters, and other types of security would be non-functional without source addresses.
Now you're addressing (so to speak ;) the kind of issues that I am concerned with: without mandating source information in the header, how can the destination make decisions about rejecting/accepting traffic? alternatively, how can middle agents (e.g., routers) do filtering, etc.? how can we possibly prevent spoofing?
Lastly, how would you accomplish a traceroute on a network with no source addressing? Where would the ICMP ttl expired messages be directed if there was no source address in the packet?
I don't know! You tell me! Do we make each intermediate router "aware" of the negotiated session ID? Doesn't sound tractable to me. I hope this clarifies this - I don't think it is so strivial as my initial email led you to believe. Cheers, Nate