Track 06 of 12 · Follow a request

Networking from the Terminal

Trace network communication from local interfaces and addresses through DNS, transport protocols, URLs, HTTP, and encrypted remote access. The final lessons turn that model into practical curl and SSH diagnostics.

Ten concepts, in learning order

Each lesson assumes the ideas above it and prepares you for the ones below.

  1. 01IP address and network interfaceA network interface is an operating-system attachment point for sending and receiving network packets, whether backed by hardware or software. An IP address and prefix assigned to an interface identify an IP endpoint and its on-link network within a particular network configuration.
  2. 02Localhost and loopbackLoopback is a virtual network path that sends IP traffic back through the same host without placing it on an external link. localhost is a special-use name that normally resolves to loopback addresses such as 127.0.0.1 and ::1.
  3. 03Port and socketA transport port is a 16-bit number used by protocols such as TCP or UDP to identify an endpoint within a host. A socket is an operating-system communication object; an internet socket endpoint combines a protocol, IP address, and port.
  4. 04Domain Name System (DNS)The Domain Name System is a distributed, hierarchical database and query protocol that stores typed records under domain names. Resolvers commonly use it to obtain addresses, mail-routing data, aliases, and other information needed by applications.
  5. 05TCP vs UDPTCP provides applications with an ordered, reliable byte stream between connected endpoints and includes flow and congestion control. UDP sends individual datagrams with preserved message boundaries but does not itself guarantee delivery, ordering, duplicate suppression, or congestion control.
  6. 06URL anatomyA URL is a serialized identifier whose components can include a scheme, authority with host and optional port, path, query, and fragment. The scheme determines how the remaining components are interpreted and used.
  7. 07HTTP request and responseHTTP is a stateless application protocol in which a client sends a request containing a method, target, fields, and optional content, and a server returns a response containing a status code, fields, and optional content.
  8. 08TLS and HTTPSTLS establishes an integrity-protected, encrypted channel and can authenticate one or both peers. In ordinary HTTPS, the client authenticates the server name through certificate validation or another configured trust mechanism; client authentication is optional and application-dependent.
  9. 09SSHSSH is a protocol for creating an encrypted, integrity-protected connection to a remote server, authenticating the server and usually the user, then carrying channels such as an interactive shell, remote command, file transfer, or port forwarding.
  10. 10HTTP requests with curlcurl is a command-line data-transfer client that uses a URL to select a protocol and exposes options for constructing requests, inspecting transfers, handling failures, and writing response data. For HTTP, its defaults and options map to request methods, fields, content, redirects, and authentication.

Continue the curriculum

Next: Programming & Data Representation

Build a precise model of how programs represent integers and structured state, then use it to reason about scope, aliasing, mutation, pure functions, and recursion. Language-specific behavior is called out where no universal rule exists.

Open track 7