<aside>
💡 Generated by BigBrain. Repeated material was merged while distinct trade-offs, caveats, examples, and operational details were retained.
</aside>
09 - Networking, Protocols and Real-Time Communication
Overview
This reference page explores the foundational concepts, mechanisms, and trade-offs in networking, protocols, and real-time communication. Topics include DNS, HTTP/HTTP/2, gRPC, serialization formats, polling mechanisms, WebSockets, network tools, and communication-level trade-offs. The material is organized from fundamentals to design choices and operational concerns.
DNS: Domain Name System
DNS is the "telephone directory" of the internet, mapping human-readable domain names to IP addresses. It eliminates the need for users to remember numerical IP addresses. DNS resolution involves multiple server types and caching mechanisms.
DNS Resolution Process
- Client Request: A user enters a domain (e.g.,
example.com) in a browser.
- Recursive Resolver: The browser queries a recursive DNS resolver (e.g., ISP's DNS server). If cached, the resolver returns the record.
- Root Nameserver: If not cached, the resolver queries a root nameserver, which returns the TLD (e.g.,
.com) nameserver.
- TLD Nameserver: The TLD nameserver provides the authoritative nameserver for the domain.
- Authoritative Nameserver: The authoritative nameserver returns the DNS record (e.g., A record for IPv4).
- Final Step: The client uses the IP address to connect to the server hosting the website.
DNS Server Types
- Recursive Resolver: Finds the IP address by querying other DNS servers.
- Root Nameserver: The first step in resolving hostnames to IP addresses. There are 13 root IP addresses, each backed by multiple servers using Anycast.
- TLD Nameserver: Manages domain extensions (e.g.,
.com, .org).
- Authoritative Nameserver: Stores DNS records for specific domains.
DNS Records