Software Essenziale per il Funzionamento di Internet: Panoramica Completa dello Stack
Internet funziona su uno stack software a strati. Nessun singolo programma "gestisce Internet"—è un sistema distribuito di software cooperante su milioni di dispositivi. Ecco la tassonomia essenziale.
Livello 1: Software Dispositivo Utente Finale
Sistemi Operativi
- Desktop/Server: Linux (Ubuntu, Debian, RHEL, Arch), Windows Server/Client, macOS, BSD
- Mobile: Android (AOSP + vendor), iOS/iPadOS
- Embedded/IoT: FreeRTOS, Zephyr, OpenWrt, RouterOS, pfSense/OPNsense
Funzione: memoria, processo, filesystem, stack di rete (TCP/IP), gestione driver, applicazione sicurezza.
Applicazioni Rivolte all'Utente
| Categoria | Esempi | Protocollo |
|---|---|---|
| Browser Web | Chrome, Firefox, Safari, Edge, Brave, Tor | HTTP/1.1, HTTP/2, HTTP/3, WebSocket, WebRTC |
| Client Email | Outlook, Thunderbird, Apple Mail, K-9, FairEmail | IMAP, SMTP, POP3, JMAP, ActiveSync |
| Messaggistica | Signal, WhatsApp, Telegram, Matrix/Element, Discord, Slack | Custom (Signal Protocol, MTProto, Matrix) |
| Trasferimento File | FileZilla, WinSCP, rclone, Syncthing, client Nextcloud | SFTP, SCP, WebDAV, BitTorrent, IPFS |
| Accesso Remoto | SSH (OpenSSH, PuTTY), RDP, VNC, TeamViewer, Tailscale | SSH, RDP, RFB, WireGuard |
| Client VPN | WireGuard, OpenVPN, Tailscale, Mullvad, Proton, Cisco AnyConnect | WireGuard, OpenVPN, IPSec/IKEv2 |
Livello 2: Software Infrastruttura di Rete
Routing e Switching (Network OS)
- Enterprise/SP: Cisco IOS-XE/IOS-XR/NX-OS, Juniper JunOS, Arista EOS, Nokia SR OS, Huawei VRP
- Open Source: FRRouting (FRR), BIRD, GoBGP, OpenBGPD, Quagga (legacy)
- Whitebox/SONiC: SONiC, DENT, Stratum – switching disaggregato
DNS (La Rubrica Telefonica)
- Autoritativo: BIND9, PowerDNS, Knot DNS, NSD, CoreDNS
- Ricorsivo/Risolvente: Unbound, PowerDNS Recursor, Knot Resolver, systemd-resolved
- Risolventi Pubblici: 1.1.1.1 (Cloudflare), 8.8.8.8 (Google), 9.9.9.9 (Quad9), OpenDNS
Web Server e Proxy
- Server HTTP: Nginx, Apache httpd, Caddy, OpenResty, LiteSpeed, H2O
- Server Applicativo: Node.js, Python (Gunicorn/uWSGI), Java (Tomcat/Jetty), Go, .NET (Kestrel), PHP-FPM
- Reverse Proxy/LB: Nginx, HAProxy, Traefik, Envoy, Apache Traffic Server
- Edge CDN: Varnish, ATS, custom (Cloudflare, Fastly, Akamai, CloudFront)
Infrastruttura Email
- MTA (Trasferimento Posta): Postfix, Exim, Sendmail, OpenSMTPD, Halon
- MDA/IMAP: Dovecot, Cyrus, Courier
- Filtraggio: Rspamd, SpamAssassin, OpenDKIM, OpenDMARC, ClamAV
Certificati e PKI
- Client ACME: Certbot, acme.sh, lego, Caddy (auto)
- Software CA: Smallstep, CFSSL, EJBCA, Vault PKI
- Log CT: monitoraggio Certificate Transparency
Livello 3: Piattaforma e Middleware
- Orchestrazione Container: Kubernetes (k8s), k3s, OpenShift, EKS/GKE/AKS
- Service Mesh: Istio, Linkerd, Consul Connect, Cilium
- API Gateway: Kong, Traefik, Envoy, AWS API Gateway, Apigee
- Code Messaggi: Kafka, RabbitMQ, NATS, Redis Streams, Pulsar
- Database: PostgreSQL, MySQL, MongoDB, Redis, Cassandra, ClickHouse, SQLite
- Osservabilità: Prometheus/Grafana, OpenTelemetry, Jaeger, Loki, Elastic Stack
Livello 4: Software di Sicurezza
- Firewall: nftables/iptables, pf, Cisco ASA/Firepower, Palo Alto, FortiGate, OPNsense/pfSense
- IDS/IPS: Suricata, Snort, Zeek, Wazuh
- WAF: ModSecurity, Coraza, cloud WAF
- Mitigazione DDoS: Cloudflare, AWS Shield, Arbor, Radware
- Zero Trust / ZTNA: Tailscale, Cloudflare Access, Twingate, Pomerium
Livello 5: Gestione e Automazione
- Config Mgmt: Ansible, Salt, Puppet, Chef, Terraform (infra)
- Monitoraggio/Allerta: Prometheus/Alertmanager, Datadog, New Relic, Grafana Cloud
- Aggregazione Log: Loki, Elastic, Splunk, Datadog, Vector
- CI/CD: GitHub Actions, GitLab CI, Jenkins, ArgoCD, Flux, Tekton
L'Intuizione Chiave
L'interoperabilità tramite standard aperti (RFC IETF) è ciò che rende "Internet". Qualsiasi implementazione di TCP/IP, DNS, HTTP, TLS, BGP, ecc. può partecipare. L'elenco software sopra rappresenta implementazioni popolari—non obbligatorie.
Se stai costruendo qualcosa: parti dal livello applicativo (cosa serve all'utente), poi scendi. Se gestisci infrastruttura: concentra su routing, DNS, TLS, osservabilità, automazione.