Any transmission channel with a delay between the time a packet leaves the sender and reaches the receiver, is effectively storing the information contained in the packet during the time of travel.<p>So one could store information in that packet, in such a way that it does not need to be stored in the end nodes of the network.<p>Has anyone looked at this in theory (or in practice)?
I've heard this idea discussed a number of times over the years. It usually comes up after about 4 or 5 pints :)<p>There are a number of reasons why it's impractical though. A given packet tends to only store about 1000bytes of actual data. It would take a lot of packets to store any useful amount of data.<p>Secondly, packets have TTL (time to live) encoded, where the TTL is decremented at each router hop. This is mostly to prevent routing loops (where two routers, or a group of routers, all don't know how to route a given packet so they get stuck in a sort of networking infinite loop).<p>So, for this to really work, you'd have to only need to store very small amounts of data (and I could think of certain applications where you might want something like an encryption key to live "in the ether"), and you'd have to modify your routers to either not decrement the TTL's for these packets, or you'd have to make the PC set obscenely huge TTL's.<p>Then on top of that, data stored "in the wire" would also decrease overall network performance by increasing congestion (if you're constantly routing 500MB of stored data around, those packets are taking up network resources).
Michal Zalewski discusses "Parasitic Storage" in his book "Silence on the wire" (<a href="http://books.google.co.uk/books?id=kOQ9m38q_t8C&lpg=PP1&ots=jIu3Fa7pdZ&dq=michal%20zalewski%20silence%20on%20the%20wire&pg=PP1#v=onepage&q&f=false" rel="nofollow">http://books.google.co.uk/books?id=kOQ9m38q_t8C&lpg=PP1&...</a>).<p>It's actually a pretty good read for interesting stuff that you don't often think about.