Networking

Computing networking is critical to building reliable, performant Python web applications.

Resources about networking

The "Let's code a TCP/IP stack" series along with its open source code gives a ton of context on how TCP/IP works while providing the code for implementing the foundational pieces. You will likely need to pair this with a more theoretical reference tutorial such as RFC 1180 to have a more complete understanding of the protocol:

  1. Ethernet & ARP
  2. IPv4 & ICMPv4
  3. TCP Basics & Handshake
  4. TCP Data Flow & Socket API
  5. TCP Retransmission

  6. Monitoring and Tuning the Linux Networking Stack: Receiving Data along with Monitoring and Tuning the Linux Networking Stack: Sending Data are incredibly detailed technical posts on the networking layer within Linux operating systems.

  7. Computer networking is a free book that explains how networking between computer systems works. There are also exercises for testing what you learned along the way.

  8. What's the history behind 192.168.1.1? Why not 192.169.1.1 or any other IP address? When did it start being used? Who started it? Why? Why not 1.1.1.1? What is the relation to 127.0.0.1? What about 10.0.0.1 (Apple)? is a nice answer on the history of IPv4 addressing and why various IP addresses such as 192.168.1.1 became standards for localhost or other local networking.

  9. We built network isolation for 1,500 services to make Monzo more secure provides the thinking, processes and data analysis behind how one team took a complex environment, separated the dependencies and was able to improve their network. It's a great case study-style article that has more detail than a lot of similar operations posts.

  10. Dropbox traffic infrastructure: Edge network explains how Dropbox uses edge-of-the-network resources closer to the end user to optimize performance of their service.

  11. On the shoulders of giants: recent changes in Internet traffic examines how the COVID-19 pandemic of 2020 changed the times during the day and locations of how the majority of internet traffic was routed and consumed.

What's next in your web application?

How should Python libraries be installed on a server?

What runs a Python application execute on the server?

What editor should I use to code my Python app?


Matt Makai 2012-2021