It's humbling to know that the RAM of computers like ZX Spectrum and Commodore 64 would fit in a single IP packet. It took minutes to load that "paket" from cassette tape.
With IPv6 there is even an extension to go to 4 GB packets (extremely rare to actually be implemented though), which you can send in less than 100 ms with an 800G NIC!
Heh. Anyone remember the ping of death[0]? A lot (most?) of computers on the early internet didn't properly handle large packets, _especially_ from ICMP pings. Once upon a time, you could send a single ping w/ a packet size of 65536 and crash the remote.
ICMP packets pretty much always carry some data (even though it's not _strictly_ required). This data is what is padded when the user asks for a ping with a specific packet size (e.g., when debugging MTU issues).
In some applications, using an ICMP payload and getting a quote of the IP header + 8-bytes of the original packet back in ICMP error messages is part of the application. For example, traceroute utilises the fact that it gets part of the payload back in a ICMP TTL exceeded message to identify _which_ traceroute request was being responded to.
you're right it's not continuous, you'd have to send another ping once the first one is finished. Your data is only "stored in the network" until the ping completes which would be a few hundred ms or so and then another ping has to be sent. If a single ping fails i wonder if the whole "fs" is corrupted or if there some kind of error handling built in.
The concept is widely covered in the amazing book Silence on the Wire[1] by Michal Zalewski. I wish he or someone else would write modern equivalent (or at least a new, updated edition) of the book.
I believe he found new solace - woodwork[1][2]. Given the state of security and things in general in the IT, I definitely understand. Especially with the AI slop influx. His blog is quite interesting to read though, highly recommend.
He stores data in ICMP ping packets, but also Tetris board states, among others. If you are not familiar with Tom7, let this be an introduction to a heavyweight whimsical internet nerd
> There was a desperate search for better memory. We seriously considered. at one stage. renting a television microwave link from Boston to Buffalo and back so that one could store something like 3,000 bits in the 3 milliseconds of round-trip transit time.
Though I'm not sure why they wouldn't have just used a delay line for that task: that form of memory was already in use in computers, as discussed by Forrester himself from 11:15 https://www.youtube.com/watch?v=JZLpbhsE72I&t=675s .
makes me wonder if a sufficiently large number of connected nodes can represent bits via their online/offline status, and their network graph representing "memory"
Heh. Anyone remember the ping of death[0]? A lot (most?) of computers on the early internet didn't properly handle large packets, _especially_ from ICMP pings. Once upon a time, you could send a single ping w/ a packet size of 65536 and crash the remote.
[0] https://en.wikipedia.org/wiki/Ping_of_death
In some applications, using an ICMP payload and getting a quote of the IP header + 8-bytes of the original packet back in ICMP error messages is part of the application. For example, traceroute utilises the fact that it gets part of the payload back in a ICMP TTL exceeded message to identify _which_ traceroute request was being responded to.
Imagine mailing somebody a letter with data; once they receive the letter they send it back. The information is stored within the postal system.
[1] https://nostarch.com/silence.htm
[1] https://lcamtuf.substack.com/p/how-do-wood-finishes-hold-up
[2] https://lcamtuf.coredump.cx/woodworking/
He stores data in ICMP ping packets, but also Tetris board states, among others. If you are not familiar with Tom7, let this be an introduction to a heavyweight whimsical internet nerd
> There was a desperate search for better memory. We seriously considered. at one stage. renting a television microwave link from Boston to Buffalo and back so that one could store something like 3,000 bits in the 3 milliseconds of round-trip transit time.
Though I'm not sure why they wouldn't have just used a delay line for that task: that form of memory was already in use in computers, as discussed by Forrester himself from 11:15 https://www.youtube.com/watch?v=JZLpbhsE72I&t=675s .
[1]: http://www.gnuterrypratchett.com/
https://xeiaso.net/blog/anything-message-queue/