ARQ, TCP, Multithreading, TexTrace, Servers, Cyberwar, VPN, Space

  • Had discussion about Automatic repeat request / Automatic Repeat reQuest (ARQ). AFAIK, it's not repeat request, it the receiver doesn't request for repeat. If not acknowledging something leads to repeated send, it's not a request. Some protocols do use repeat request, where those actively request missing segments, instead of acknowledging received segments. Some data transfer protocols do actually use this approach instead of re-transmission without acknowledgment. Is ARQ is misnomer? It's receivers job to track what has been delivered, what's still needed. If something is missing , receiver actively requests data to be sent. Why so? Well, this is based on RESTful concept, where the sender doesn't need to care how many clients it got, nor it does need to care about what the state of the clients is. Clients can come and go, as they wish, totally stateless. And everything still works perfectly. Especially useful when implementing reliable transport over large number of nodes using broadcast / multicast. Let's first sent everything once, and then fill in the gaps where required. There's no point of choking progress of everyone else if just a few nodes got bad connectivity. Original Xmodem used Stop-and-wait ARQ. Zmodem used Go-Back-ARQ. Which caused whole active buffered data window to be discarded and often causing also a small pause as extra, which was extremely annoying if line quality was bad. HS/Link used full streaming window with Selective Repeat ARQ. This was kind of annoying at times, because the data transfer seemed to do more progress than it really did. Because the 'streaming window' was the 'whole file'. It was totally possible that the sender had sent half of the file, but the receiver got only 5% of it without errors. Therefore giving indication that data transfer had progressed much further than it actually had. Also check out LAPM and SREJ.
  • Previous discussion started from TCP stack implementations. Many modern stacks contain so much all kind of state information per connection, which technically isn't strictly mandatory for making the connection / system to work. Those features are only there to mitigate certain attacks and special network conditions. For extremely light embedded devices with very limited memory, it's possible to make 'fully working' TCP stack which requires a lot less CPU power as well as memory and code. Great light implementation is µIP.
  • Long discussion about go-routines, threads, processes, NUMA, multicore, multithread, clusters, etc. Once again, everything is a trade off. And often it makes sense to combine these layers in same program.
  • TexTrace - Clothing embedded RFID tracking chips. Nice. Yeah, it's easy to get paranoid abou this stuff. But it's the future.
  • Nice Cheap Server Comparison. As stated, it's very problematic to practically benchmark virtualized platforms in case resources are shared. Also problems might affect some group of services, and not others etc. The OVH disk performance is clearly measured on the OVH Cloud servers which aren't SSD based as far as I can see. Because AFAIK the SSD servers do not use Ceph.
  • Read more about Cyberwar in Finland, political atmosphere, attribution, taking action, if cyber attacks and other manipulation are 'accepted' way of doing things, etc.
  • Tuned lot of VPN stuff for a few friends. Now they got their own darknet for secure communications. Yet as mentioned earlier, this doesn't hide the metadata and the information about the connection existing. But that's something normal VPN doesn't solve. Everything's implemented using open source software alone, and protocol choice was SSTP. SSTP makes it pretty likely to be able to connect to the network, even if you're traveling. As we know, PPTP and L2TP can be problematic, and IPSEC / IKEv2 is a total nightmare. Laughed how so many guides recommended disabling certificate checking. Well well, that's one guaranteed way to make it insecure if any active attacker turns out. Also configured split-tunneling, where only some of the traffic is routed via tunnel, and other basic stuff.
  • Something different? Trans-Neptunian object, Ford class aircraft carrier, T-14 Armata.

2018-09-23