Ultrafast single TCP packet audio/visual experience
github.com
github.com
You can visit the demonstration website here: http://packet.city/
You can see a screenshot of the demo here: http://www.p01.org/128b_raytraced_checkboard/
Out of those another 63 are consumed by the HTTP headers.
The full TCP payload is only 1226 bytes though, and the full HTTP payload 1163 bytes. The decoded HTML document is 1546 bytes.
I am curious how you ended up at 63 for that, can you elaborate?
Which you can do with curl, Chrome/Safari/FF dev tools, and lots of other tools besides.
From the paper "IP Options are not an option" which is good quick read:
"We have studied the dependability of IP options-enabled network packets in the Internet. We found that overall, approximately half of Internet paths drop packets with options"[1]
[1] https://www2.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-...
I accidentally let my hosting account expire years ago and lost the server code and db for it, but managed to pull the HTML from the way back machine. I've backed up the results here: https://davidmurdoch.com/compression-tests-results/. It's all pretty outdated now, but rather fun to look at.
Anyone know if this is using raw DEFLATE or ZLIB (HTTP 1.1 DEFLATE)?
HTTP/1.1 200 k
Content-Length: 1163
content-encoding: deflate
I guess the '200 k' instead of '200 OK' saves an extra byte! :)However, since they don't do any HTTP keep-alives (the connection sends a HTTP response and closes before you even send it anything), couldn't they save some space by dropping the Content-Length? It's an optional header.
Edit: I wonder if you could go full retro and just return a HTTP/0.9 response (no HTTP headers at all, just the page contents). If they then put back the DEFLATE/GZIP header bits, perhaps a browser would spot that the contents are compressed and do the decompression...
summary: A demo scene page that is smaller than a single IP frame and uses some flags to avoid other round trips.
view-source:http://packet.city/
The page itself and view-source only work on some browsers. Use wireshark etc to see what it actually does.
-> DNS query A
-> DNS query AAAA
<- DNS reply A
<- DNS reply AAAA
-> TCP SYN
<- TCP SYN,ACK
-> TCP ACK
-> HTTP GET
<- HTTP reply <= That's the content!
-> TCP ACK
<- TCP FIN,ACK
-> TCP FIN,ACK
<- TCP RST
<- TCP RST
So, the full traffic is 14 packet, all small (DNS, TCP handshaking) except the one HTTP reply packet containing the full website.One could imagine a merged DNS and TCP syn packet, which goes to a DNS server who converts it to a TCP packet, and gets forwarded to the origin server.
a blank page would be an improvement - that was seizure inducing
Guess I'll have to check it out later.
Some routers might only buffer 1 millisecond of line-rate data or less. If that's the case, that initial congestion window of 10 could overflow the buffer, causing loss and a much more costly double-round-trip to resend.
Some (older?) Hi-Fi equipment was in fact designed with this assumption and playing a constant sine wave at peak levels would very quickly burn something out.
No room for vendor specific prefixes :|
It's as if they took what we were just reading in a compsci textbook for class and directly monetized it.