7 ms·
Pingfs – a filesystem where the data is stored only ICMP Echo packets
- EvanAnderson 11y agoICMP delay-line memory.
- kennywinker 11y agoRandomly accessed memory?
- plydatbk 11y agoCould do some crazy docker things with this. Imagine bouncing around your entire P2P net on a .bit domain. Makes popcorn time look like a bunch of amateurs.
- quibit 11y agoCould this be used to make networks of ultra-portable trackers?
- Gladdyu 11y agoI think you've just found the first application where high latency is actually desirable!
- 0xdeadbeefbabe 11y agoHi bandwidth is desirable too because it's delay * bandwidth. From my location I think the optimal place might be hawaii, the place with the highest delay bandwidth product I mean. It might be optimal for other reasons too.
- jf 11y agoIf we had space probes with ICMP support, you could use this to store data in the interplanetary æther.
- kej 11y agoYou don't need ICMP for that, or even an active space probe. Just encode your data in laser pulses and bounce it off one of the retroreflectors we've put out there. There are at least three on the moon, or the LAGEOS satellites (https://en.wikipedia.org/wiki/LAGEOS https://en.wikipedia.org/wiki/LAGEOS) would work.
- TranquilMarmot 11y agobrb, buying lasers
- jameshart 11y agoHmm - quick research shows that laser communications have been demonstrated at up to around 1Gb/s; given the roundtrip time to a retroreflector on the moon, you could have around a 300MB buffer in flight at a time. Average latency to read or change a particular byte would be about 1.2 seconds, so not ideal for high performance applications. Also, wouldn't work when the moon was below the horizon. Plus installing additional retroreflectors on the moon to increase capacity would be quite expensive.
- toast0 11y agoYou don't need more retroreflectors, just ground lasers far enough apart (and someone with more physics than me to make an argument about the waves not interfering at the reflector)
- jbert 11y agoIn the pre-smtp days, email links were over UUCP, which was often relayed via dial up lines which connected intermittently, on a schedule (e.g. every hour). You also specified not just the destination, but also the route for the email to take, via a 'bang path': https://en.wikipedia.org/wiki/UUCP#Bang_path https://en.wikipedia.org/wiki/UUCP#Bang_path Add in the situation of disk quotas for university students, but not email quotas, and you get the means, motive and opportunity for people to use the email spools of a mail servers around the world as an annex to their home directory...
- evgen 11y agoSince the statute of limitations has expired I will admit to creating data archival systems using uucp as well as smtp. Back in the 80s before the morris worm and spam, when the internet was just for us geeks, you could usually connect to anyone's mail server on port 25 and hand it mail to be delivered just about anywhere. Sendmail was more concerned with connecting up all of the various networks than it was about authenticating a destination, so you could connect to just about anyone's mail server and ask it to deliver mail back to your server; of course your server would be conveniently offline for a period of time or drop the connection after checking the rcpt (chunk id) in the envelope until you either wanted the data back or needed to accept it so that it did not bounce. I probably have opq ("other people's queue") on a nine-track tape in the basement but have no way of loading it up again; anyone know what the odds are that a well-cared for tape reel circa 1986 (bad tar format) is actually worth sending somewhere to get read?
- heywire 11y agoSimilarly, in the early AOL days, there were several "warez" distribution lists going around which had the pirated software directly attached to the emails (not links to external websites). As long as the emails stayed in AOL, you could forward them instantly (there must have been some deduplication on the back end making the attachments basically a link to the same files).
- iaw 11y agoIt's funny, you mention the statute of limitations, but wouldn't this act predate any laws that exist now to prevent it?
- erobbins 11y agoA long time ago as a joke a few of us sketched out "netfs" that would use network switch forward buffers as a filesystem in a similar manner (constant resending), but never actually tried to make it. This is really neat.
- claar 11y agoCan someone please explain what this does? I've read the readme, glanced through the code, and still have no idea.
- gabeio 11y agoICMP Echo packets or Ping packets send data to a (given) server which then replies with the exact packet (data) in return. In essence this program bounces your data back and fourth between a (given) server and your computer instead of storing it on a drive or on someone else's drive it. So your data is living on the internet, in the internet's delay between you and the remote server. This can be unsafe data storage if the link between you and the remote server ever dropped.
- jewel 11y agoping packets (ICMP) can have any data you want as a payload (1,500 bytes or so). This is a joke filesystem that lets you store data by putting it in ping packets and sending them to other systems. To read the data, you just wait for the ping response to come back. Then, you send it again immediately so that you don't have to store it locally. The amount of data you can store is a factor of the amount of bandwidth you have and the amount of latency available, where the more latency is better. Hypothetically, on a 10 gigabit connection with a 1 second ping time, you'd be able to store 1,250 megabytes. Of course that doesn't factor in packet loss, and finding something that's one second away that also can saturate a 10 gigabit connection is unlikely.
- hamburglar 11y agoLooking at the code, what it "does" (specifically, 'being a filesystem' and 'storing data in icmp packets') isn't actually implemented yet. :)
- kelson 11y agoPrior Implementation: http://shysecurity.com/posts/PingFS http://shysecurity.com/posts/PingFS
- dang 11y agoDiscussed at https://news.ycombinator.com/item?id=6203442 https://news.ycombinator.com/item?id=6203442.
- amelius 11y agoIn principle, one could store BxL/v in a cable of length L, where B is the bandwidth and v is the propagation speed of the signal.
- Florin_Andrei 11y agoDelay lines built on this principle were used in some old analog color TVs, for purposes of color correction: color info for a line was compared to the previous line, and differences were smoothed out. This resulted in less color resolution on the vertical, but also greatly reduced color noise and error. The signal in the line was ultrasonic sound waves. https://en.wikipedia.org/wiki/Delay_line_memory#Piezoelectric_delay_lines https://en.wikipedia.org/wiki/Delay_line_memory#Piezoelectri...
- jacquesm 11y agoYep, you can gang them for really nice guitar phasing effects...
- planteen 11y agoDelay filters are built intentionally by RF engineers for pre-distortion and probably other purposes. I think the limit for such simple designs is ~100 ns.
- rburhum 11y agoThis is crazy cool. Nevertheless, if everyone used it, we would saturate whatever network we are using and I am curious what it would do to traffic costs since you are basically bouncing around a whole bunch of data back and forth. Sounds expensive. Still crazy cool.
- jacquesm 11y agoSome radio HAMs have done this with packet radio and EME transmissions so the idea isn't new but this is really neat and likely much higher capacity. Very slow refresh DRAM, next up, Mercury? (the planet or the metal, take your pick) ;)
- yarrick 11y agoHi, author here. Just like with iodine (dns tunnel) this was one thing me and my friends talked about that would be cool. I actually started to implement this in haskell in 2011, and gave up after I had basic writes to files working. I can get dig out that code if anyone is interested. The c version of the project hasnt gotten very far yet as you can see, I might pick it up again though.
- cfrs 11y agoPlease share haskell implementation.
- haddr 11y agoJust for the record: there was some previous work on that: http://lcamtuf.coredump.cx/juggling_with_packets.txt http://lcamtuf.coredump.cx/juggling_with_packets.txt (see point 7)
- malkia 11y agoSnapchat users would be truly delighted :)
- teddyh 11y agoTechnically, the data is not stored in the network, but in the buffer memory of the routers (and switches) in the path of the packets. So what this is really doing is externalizing the cost of storage to the network providers. There is a problem called “Buffer bloat”¹ which is that many manufacturers of networking equipment provide too much buffer memory, which leads to TCP latency and timeouts, since TCP was not designed with these large buffers in mind. Using Pingfs will take up buffer space in networking equipment. This could either be a good thing, since it decreases the available buffer space, or it might be a bad thing since it might make networking providers increase their buffers. I’m not sure how much of this comment is serious. ① http://www.bufferbloat.net/ http://www.bufferbloat.net/
- agumonkey 11y agoA teacher told me in the 70s they used satellite communication as memory buffers, sending data over the air with getting it back a bit later as only goal. IIUC, the earliest form of memory device were doing the same using pressure waves in mercury.
- callesgg 11y agoIt is stored in the network cables aswell. But you are probably correct, the time in the cables is probably not even close to the time the data is stored in the equipment itself.
- joeyo 11y agoI dunno, this is actually very reminiscent to me of how neurons (putatively) store information in their firing rates--at least in the short-term--before consolidating state into their synaptic weights.
- chx 11y agoLet's not forget http://stackoverflow.com/a/13000176/308851 http://stackoverflow.com/a/13000176/308851 !