First weekly newsletter of 2021 about Facebook outage, learning tips, raw sockets in Linux, and CoAP protocol.
Facebook outage, BGP and DNS
The October 4 Facebook outage was an interesting case study for BGP and DNS protocols. As well explained by Facebook in their blog, a misconfiguration for assessing the backbone capacity took down all internal connections. In normal conditions, Facebook facilities that respond to DNS queries (authoritative name servers) advertise their IP addresses to other router of Internet through BGP. Since internal backbone state was unhealthy, name servers withdrew those BGP advertisements. The result is that the DNS name servers were unreachable even though still fully operational. Facebook engineers couldn’t diagnose the problem remotely because they were locked out the Facebook network and DNS recursive resolver reported an increasing number of requests for the facebook.com domain since apps usually sends query aggressively in case of errors. As usual, Cloudfare Blog provided an excellent explanation of what was occurring from its point of view and lots of data, statistics of that day.
Why obsessively following successful people online is dangerous
This week Ivaylo Durmonski wrote a great article whose title is self-explanatory. He didn’t write anything new but we are not aware of the dangers until someones breaks the charm and brings us back to the reality. We are surrounded by books, articles, videos promising us to improve our habits and become successful, but if we are stuck scrolling and reading the guides, we are left little time to actually practice them. The metaphor of the ambitious river is suggestive but scary at the same time: “regular people online are swimming in the river with an empty jar to fill of useful advices; then they arrive at the shore to build a sandcastle with the advices hoping and dreaming that it will become a fortress one day”.
The main ideas of the article are:
- stop reading but start doing
- stop procrastinating
- find a truly inspiration to imitate
- start to experiment
This brief snippet of the original article is just a particle of dust in the desert, and it’s worth reading it.
Raw sockets in Linux
BGP and DNS talkings of this week revived the interest for Linux sockets for Internet communication. Especially raw sockets for filling the IP header fields and the encapsulated protocol. The project idea is to implement a tiny-ping or a tiny-traceroute like in tenouk guide.
BeeJ’s wrote an extensive guide on Linux sockets: Beej’s Guide to Network Programming.
Finally, CoAP is a light application protocol designed for IoT systems. It provides features usually implemented in transport layer protocol like acknowledgements and retransmission, because it is encapsulated in UDP. It will be studied more accurately and compared MQTT.