Reti di calcolatori
HTTP, DNS, TCP/IP, routing, protocolli di trasporto e comunicazioni sicure.
Percorso di lettura
Questa sezione collega i concetti fondamentali ai libri che utilizzo come riferimento. Parto da un problema, individuo l’argomento e torno ai capitoli utili per comprenderlo.
Libri e percorsi della sezione
- Computer Networking: A Top-Down Approach
- James F. Kurose & Keith W. Ross
- The Top-Down Approach
- Application Layer
- Transport Layer
- Network Layer
- Link Layer
- Physical Network
- Distributed Systems
- Cybersecurity & Cryptography
- Containers, Cloud & DevOps
- Algorithms & Data Structures
- Software Architecture & Microservices
I titoli dei libri e le note dettagliate sui capitoli sono conservati nella lingua originale.
Leggi le note complete in inglese
Computer Networks
From HTTP and DNS down to transport protocols, routing, switching and secure communications.
Computer networks are another subject I wanted to revisit from the foundations up.
After years of building distributed applications, it is easy to interact every day with HTTP, TCP, DNS, load balancers, proxies and cloud networks without stopping to think about how those layers actually cooperate.
Going back to networking theory helped me reconnect application-level behaviour with what happens underneath it.
What really happens after entering a URL in a browser? Why does TCP provide reliable delivery while UDP does not? How does a router decide where to forward a packet? How do routing protocols allow independently managed networks to exchange traffic?
This section collects the books I use to move from application-level communication down through the layers that make the Internet work.
Topics in This Section
Network Architecture · Protocol Layers · HTTP · DNS · Socket Programming · TCP · UDP · Reliable Data Transfer · Congestion Control · IP · IPv4 · IPv6 · Routing · OSPF · BGP · SDN · Ethernet · ARP · VLANs · Wireless Networks · Network Security
Computer Networking: A Top-Down Approach
James F. Kurose & Keith W. Ross
8th Edition — Pearson
Level
Foundation → Intermediate
Best for
Understanding Internet protocols and networking through a progressive, application-first approach.
Computer Networking: A Top-Down Approach is the main book I use when I want to revisit networking fundamentals without starting immediately from signals, physical media and low-level transmission.
Its defining characteristic is the top-down approach: it begins with the applications people actually use and progressively moves down through transport, network and link layers.
For someone coming from software engineering, I find this particularly effective because concepts such as HTTP, DNS and sockets provide a familiar starting point before moving toward TCP, routing, IP, Ethernet and the mechanisms inside the network itself.
What I Use It For
- understanding the layered architecture of the Internet;
- HTTP and application-layer protocols;
- DNS and name resolution;
- socket communication;
- TCP and UDP;
- reliable data transfer;
- flow and congestion control;
- IPv4 and IPv6;
- routing algorithms and protocols;
- OSPF and BGP;
- Software-Defined Networking;
- Ethernet, ARP and VLANs;
- wireless and mobile networking;
- network-security fundamentals.
Chapters Worth Reading
Internet Foundations
Chapter 1 — Computer Networks and the Internet
A broad introduction to the Internet, packet switching, access networks, delay, loss, throughput, protocol layering and encapsulation.
This is the chapter I would use to rebuild the overall mental model before focusing on individual protocols.
Application Layer
Chapter 2 — Application Layer
Network application architectures and the protocols closest to application developers.
- HTTP and web communication;
- cookies and web caching;
- HTTP/2;
- SMTP and electronic mail;
- DNS;
- peer-to-peer applications;
- video streaming and CDNs;
- TCP and UDP socket programming.
Transport Layer
Chapter 3 — Transport Layer
The mechanisms that provide end-to-end communication between application processes.
- multiplexing and demultiplexing;
- UDP;
- reliable data transfer;
- Go-Back-N and Selective Repeat;
- TCP;
- connection establishment and termination;
- flow control;
- congestion control;
- fairness and evolution of transport protocols.
Network Layer — Data Plane
Chapter 4 — The Network Layer: Data Plane
How packets are forwarded through routers and across IP networks.
- forwarding versus routing;
- router architecture;
- switching and queuing;
- packet scheduling;
- IPv4;
- IP addressing;
- NAT;
- IPv6;
- generalised forwarding;
- Software-Defined Networking;
- middleboxes.
Network Layer — Control Plane
Chapter 5 — The Network Layer: Control Plane
How networks calculate and exchange routing information.
- link-state routing;
- distance-vector routing;
- OSPF;
- BGP;
- routing policies;
- SDN controllers;
- OpenFlow;
- ICMP;
- network management;
- SNMP;
- NETCONF and YANG.
Link Layer & Local Networks
Chapter 6 — The Link Layer and LANs
How devices communicate across individual links and local networks.
- error detection and correction;
- CRC;
- multiple-access protocols;
- ARP;
- Ethernet;
- switches;
- VLANs;
- MPLS;
- data-centre networking.
The chapter also includes a particularly useful end-to-end walkthrough of what happens when a user requests a web page, connecting DHCP, DNS, ARP, IP, routing, TCP and HTTP.
Wireless & Mobile Networks
Chapter 7 — Wireless and Mobile Networks
Wireless links, Wi-Fi, cellular networks and mobility.
- 802.11 Wi-Fi;
- wireless MAC protocols;
- Bluetooth;
- 4G LTE;
- 5G;
- mobility management;
- roaming;
- Mobile IP.
Network Security
Chapter 8 — Security in Computer Networks
An introduction to the main security mechanisms used to protect network communication.
- symmetric and public-key cryptography;
- hash functions;
- message authentication codes;
- digital signatures;
- authentication protocols;
- secure e-mail;
- SSL/TLS concepts;
- IPsec;
- VPNs;
- wireless security;
- firewalls;
- intrusion detection systems.
My Suggested Learning Path
Build the Mental Model
Chapter 1
Application Communication
Chapter 2
TCP & UDP
Chapter 3
IP & Forwarding
Chapter 4
Routing
Chapter 5
Ethernet & LANs
Chapter 6
Wireless & Mobile
Chapter 7
Network Security
Chapter 8
The Top-Down Approach
One of the reasons I find this book particularly effective is the order in which it introduces networking.
Instead of beginning with physical transmission and moving upward, it starts from applications and progressively reveals the services provided by each underlying layer.
Application Layer
HTTP · DNS · SMTP · application protocols
Transport Layer
TCP · UDP · reliability · congestion control
Network Layer
IP · routing · forwarding · OSPF · BGP
Link Layer
Ethernet · ARP · switches · VLANs
Physical Network
The communication media and infrastructure carrying the actual signals.
Start from the application you know, then follow the data downward through the network stack.
How I Use This Book
I find networking easier to revisit when I start from behaviours that are visible from an application and then follow the communication path through the different layers.
“What happens after I type a URL into a browser?”
That question leads through DNS resolution, local-network communication, IP routing, TCP connection establishment and finally HTTP.
“Why can a TCP connection slow down even when neither endpoint is overloaded?”
That leads to packet loss, round-trip time, congestion control and the behaviour of the network between the two endpoints.
“How does a packet travel from one autonomous network to another?”
That points toward IP addressing, routing algorithms, OSPF, BGP and the distinction between intra-domain and inter-domain routing.
Observe the application behaviour, identify the relevant layer, then trace the communication through the stack.
Related Areas
Networking is one of the strongest connecting points between the other areas in this library.
Distributed Systems
Communication, latency, partitions, failure handling and coordination between machines.
Cybersecurity & Cryptography
TLS, authentication, VPNs, IPsec, firewalls and secure communication.
Containers, Cloud & DevOps
Virtual networks, service communication, load balancing, network policies and cloud infrastructure.
Algorithms & Data Structures
Shortest paths, graph traversal and routing algorithms such as link-state and distance-vector approaches.
Software Architecture & Microservices
APIs, service communication, gateways, resilience and distributed application protocols.