ALPN
Also known as: Application-Layer Protocol Negotiation
ALPN is a TLS extension that lets a client and server agree which application protocol, such as HTTP/2, will run over a secure connection. See RFC 7301.
Browse glossary
Terms and explanations used by this show.
Also known as: Application-Layer Protocol Negotiation
ALPN is a TLS extension that lets a client and server agree which application protocol, such as HTTP/2, will run over a secure connection. See RFC 7301.
Also known as: APIs, Application Programming Interface
An API is a defined interface through which software can request data or behavior from other software without knowing its internal implementation.
Also known as: async await
Async/await is syntax for pausing a task until an operation is ready, letting a runtime run other work in the meantime. See the Rust book.
Also known as: Border Gateway Protocol
BGP is the routing protocol through which independently operated networks exchange reachability information and choose paths across the Internet. See RFC 4271.
Also known as: Cargo package manager
Cargo is Rust's build system and package manager. It builds projects, downloads dependencies, runs tests, and publishes crates. See the Cargo book.
Cascade is an NLnet Labs pipeline for loading, reviewing, signing, and publishing DNS zones with DNSSEC. See the Cascade project.
Also known as: crates, Rust crate, Rust crates
A crate is Rust's unit of compilation and packaging: either a reusable library or an executable program. See the Rust book.
Also known as: libcurl
curl is a command-line tool and library for transferring data using URLs across HTTP and many other Internet protocols. See curl.se.
Also known as: Datastar framework
Datastar is a lightweight hypermedia framework for building reactive web applications with server-rendered HTML and server-sent events. See data-star.dev.
Also known as: Dynamic Host Configuration Protocol
DHCP automatically gives devices network settings such as an IP address, default gateway, and DNS servers when they join a network. See RFC 2131.
Also known as: Dial 9
Dial9 records detailed Tokio, operating-system, and application events for later analysis of difficult performance problems in Rust services. See the Dial9 project.
Also known as: certificate, certificates, TLS certificate
A digital certificate is a signed document that binds a public key to an identity, such as a website's domain name. See RFC 5280.
Also known as: DomainKeys Identified Mail
DKIM lets a mail domain add a cryptographic signature that receivers can verify through a public key published in DNS. See RFC 6376.
Also known as: Domain-based Message Authentication, Reporting, and Conformance
DMARC lets a domain publish how receivers should handle mail that fails aligned SPF or DKIM checks and where to send reports. See RFC 9989.
Also known as: Domain Name System
DNS is the distributed naming system that translates domain names into records such as IP addresses and mail-server destinations. See RFC 1034.
Also known as: DNS Security Extensions
DNSSEC adds cryptographic origin authentication and integrity to DNS data. It proves answers are authentic but does not encrypt them. See RFC 4033.
Also known as: Datagram Transport Layer Security
DTLS adapts TLS security to datagram transports such as UDP, where packets may be lost or arrive out of order. See RFC 9147.
Also known as: BPF
eBPF lets verified, sandboxed programs run at hooks in an operating system, enabling efficient networking, observability, and security features. See ebpf.io.
Also known as: Encrypted Client Hello, Encrypted ClientHello
ECH is a TLS extension that encrypts the ClientHello, protecting the requested server name and other sensitive connection metadata from observers. See RFC 9849.
Firezone is an open-source zero-trust access platform built on WireGuard for connecting users to private applications, services, and networks. See firezone.dev.
Also known as: Fuchsia OS
Fuchsia is a modern open-source, general-purpose operating system designed for security, updates, performance, and diverse hardware. See fuchsia.dev.
GraphQL is a strongly typed query language and execution model for APIs that lets clients request exactly the fields they need. See graphql.org.
gRPC is an RPC framework in which clients call typed service methods across a network, commonly using Protocol Buffers and HTTP/2. See grpc.io.
Also known as: Hypertext Transfer Protocol
HTTP is a stateless application-level protocol in which clients send requests and servers return responses for resources and services. See RFC 9110.
Also known as: H1, HTTP 1, HTTP one, HTTP1
HTTP/1.1 is the widely deployed text-based HTTP messaging version, with persistent connections but no built-in multiplexing of concurrent messages. See RFC 9112.
Also known as: H2, HTTP 2, HTTP two, HTTP2
HTTP/2 keeps HTTP semantics while adding binary framing, header compression, and multiple concurrent streams over one connection. See RFC 9113.
Also known as: H3, HTTP 3, HTTP three, HTTP3
HTTP/3 carries HTTP over QUIC, allowing independent streams to recover from packet loss without all streams waiting on one TCP connection. See RFC 9114.
Also known as: Hyper library
Hyper is a low-level, asynchronous HTTP client and server library written in Rust and designed as a building block for other software. See hyper.rs.
Also known as: hyper media, hyper-media
Hypermedia is media that includes links and controls describing available navigation or actions, allowing a client to discover what it can do next.
Also known as: Interactive Connectivity Establishment
ICE lets real-time applications find and test possible network paths between peers, often using STUN and TURN to cross NATs and firewalls. See RFC 8445.
Also known as: Internationalized Domain Names in Applications
IDNA defines how domain names containing Unicode characters are converted to an ASCII-compatible form that the DNS can use. See RFC 5890.
Also known as: Internet Engineering Task Force
The IETF is the open standards organization that develops and maintains many of the protocols used on the Internet. See ietf.org.
Also known as: Internet Message Access Protocol
IMAP lets email clients read, organize, and synchronize messages that remain stored on a mail server. See RFC 9051.
Also known as: Interlisp-D, Medley Interlisp
Interlisp is a Lisp language and pioneering interactive software-development environment that originated at BBN and Xerox PARC. See the Interlisp history.
Also known as: Internet Protocol
IP is the network-layer protocol that addresses and routes packets between hosts across interconnected networks. IPv4 and IPv6 are its deployed versions.
Also known as: Internet Protocol version 4
IPv4 is the older Internet Protocol version, using 32-bit addresses such as 192.0.2.1. See RFC 791.
Also known as: Internet Protocol version 6
IPv6 is the newer Internet Protocol version, using 128-bit addresses and a vastly larger address space than IPv4. See RFC 8200.
Also known as: JSON Meta Application Protocol
JMAP is a modern JSON-over-HTTP protocol for efficiently synchronizing mail and related application data between clients and servers. See RFC 8620.
A kernel is the central computer program at the core of an operating system that has complete, privileged control over all hardware and software resources.
Also known as: kernel-space
Kernel space is the privileged part of an operating system where the kernel manages hardware, memory, processes, and core networking.
Also known as: K8s
Kubernetes is an open-source system for deploying, scaling, and managing containerized applications across a cluster of machines. See kubernetes.io.
Also known as: load balancer, load balancers
Load balancing distributes work across multiple servers or paths to improve capacity, availability, and response time.
Also known as: man in the middle proxy, MITM, MITM proxy
A man-in-the-middle proxy creates separate connections to a client and an upstream server so it can inspect or modify traffic between them.
Metoro is an observability platform that automatically collects application telemetry with eBPF and can combine it with OpenTelemetry data. See the Metoro documentation.
Also known as: Network Address Translation
NAT rewrites IP addresses, and often ports, as packets cross a network boundary so multiple devices can share or hide behind other addresses. See RFC 2663.
Also known as: Netstack 3
Netstack3 is Fuchsia's third network stack, developed from scratch in Rust with a largely platform-independent core. See the Fuchsia documentation.
Also known as: network stacks
A network stack is the layered software that implements communication protocols, moving data between an application, operating system, and network interface.
Observability is the ability to understand a system's internal state from outputs such as traces, metrics, and logs.
Also known as: OTel
OpenTelemetry is a vendor-neutral framework for generating, collecting, and exporting telemetry such as traces, metrics, and logs. See the OpenTelemetry documentation.
Also known as: Pingora framework
Pingora is Cloudflare's Rust framework for building fast, reliable, programmable network services such as HTTP proxies and load balancers. See the Pingora project.
Also known as: Protobuf
Protocol Buffers combine a language-neutral schema with generated code and a compact binary format for serializing structured data. See the Protocol Buffers documentation.
Also known as: proxies
A proxy is an intermediary that receives network traffic on behalf of another endpoint and relays, filters, observes, or transforms it.
Also known as: asymmetric cryptography, public key
Public-key cryptography uses a paired public and private key so parties can encrypt, authenticate, or verify signatures without sharing the private key.
QUIC is a secure, multiplexed transport protocol carried over UDP. It integrates TLS and provides independent reliable streams. See RFC 9000.
Also known as: Rama framework
Rama is a modular Rust framework for building programmable network services that accept, inspect, transform, route, proxy, or generate traffic. See ramaproxy.org.
Also known as: Representational State Transfer, RESTful
REST is an architectural style for networked systems built around resources, representations, stateless requests, and a uniform interface. See Fielding's dissertation.
Also known as: Request for Comments, RFCs
An RFC is a numbered publication in the Internet technical-document series. RFCs include standards, guidance, experiments, and historical records. See the RFC Editor.
Also known as: Roto language
Roto is an embedded, strongly typed scripting language for Rust applications, designed especially for expressing Internet-routing policy. See the Roto documentation.
Also known as: Remote Procedure Call
RPC is a communication model in which a program invokes a procedure on another process or machine as though it were a local call.
Also known as: Real-time Transport Protocol
RTP carries real-time audio or video together with sequence numbers and timing information, commonly over UDP. See RFC 3550.
Also known as: async runtime, async runtimes, runtimes
An async runtime schedules tasks and supplies facilities such as event-driven I/O, timers, synchronization, and waking paused work.
Also known as: Rust Language, Rust Programming Language
Rust is a general-purpose programming language that emphasizes performance, type safety, concurrency, and memory safety. Refactoring without fear is its hidden superpower. See rust-lang.org for more information.
Rustls is a modern TLS library whose protocol processing is implemented in memory-safe Rust. See rustls.dev.
Also known as: Sans IO
Sans-IO is a design pattern that separates protocol state and parsing from sockets, clocks, and other input/output, making the core logic easier to reuse and test.
Also known as: server sent events, SSE
Server-sent events provide a long-lived HTTP response through which a server streams text events to a web client in one direction. See the HTML standard.
Also known as: Simple Mail Transfer Protocol
SMTP is the protocol used to submit outgoing email and transfer it between mail servers. See RFC 5321.
Also known as: network socket, network sockets, sockets
A socket is an operating-system endpoint through which a program sends or receives network data using a protocol and address.
Also known as: Socket IO, SocketIO
Socket.IO is a library for low-latency, bidirectional, event-based client-server communication over transports such as WebSocket and HTTP long-polling. See the Socket.IO documentation.
Socketioxide is a Rust implementation of a Socket.IO server that integrates with the Tokio, Tower, and Hyper ecosystem. See the Socketioxide documentation.
Also known as: SOCKS 5
SOCKS5 is a proxy protocol that lets clients route TCP connections and UDP datagrams through an intermediary without depending on an application protocol. See RFC 1928.
Also known as: Sender Policy Framework
SPF lets a domain publish in DNS which mail servers may send email using that domain in the SMTP envelope. See RFC 7208.
Also known as: state machines
A state machine models a system as a set of states and the events or rules that move it from one state to another.
Also known as: Session Traversal Utilities for NAT
STUN helps an endpoint discover its public-facing address and test connectivity through NATs; unlike TURN, it does not normally relay the application traffic. See RFC 8489.
Also known as: Transmission Control Protocol
TCP provides applications with a reliable, ordered byte stream and includes flow and congestion control. See RFC 9293.
Telemetry is data a system emits about its operation, such as traces, metrics, logs, profiles, and events, so behavior can be measured remotely.
Also known as: Transport Layer Security
TLS protects network connections with encryption, integrity checks, and peer authentication, most visibly when it secures HTTPS. See RFC 9846.
Also known as: Tokio runtime
Tokio is an asynchronous runtime for Rust that provides task scheduling, networking, timers, synchronization, and other building blocks. See tokio.rs.
Also known as: Tonic library
Tonic is a high-performance Rust implementation of gRPC over HTTP/2, designed around async/await and the Tokio, Hyper, and Tower stack. See the Tonic documentation.
Also known as: Tower library
Tower is a Rust library of modular service abstractions and middleware for features such as retries, load balancing, filtering, and rate limits. See the Tower documentation.
Also known as: Traversal Using Relays around NAT
TURN relays traffic through a server when peers cannot communicate directly, commonly as a fallback selected by ICE for WebRTC. See RFC 8656.
Also known as: User Datagram Protocol
UDP sends independent datagrams with little overhead but does not itself guarantee delivery, ordering, retransmission, or congestion control. See RFC 768.
Also known as: ureq crate
ureq is a small, blocking HTTP client for Rust that favors a simple API, low overhead, and a modest dependency tree. See the ureq documentation.
Also known as: Uniform Resource Locator, URLs
A URL is a structured address that identifies a resource and describes how to locate it, such as an HTTPS address on the web. See the WHATWG URL standard.
Also known as: user-space, userspace
User space is where ordinary applications run with limited privileges, separated from the operating-system kernel and its protected memory.
Also known as: Virtual Private Network, VPNs
A VPN creates a protected logical network over another network, commonly tunneling encrypted traffic between a device and a remote gateway.
Also known as: WebAssembly System Interface
WASI is a family of standard APIs that lets WebAssembly programs securely use system capabilities across browsers, servers, clouds, and embedded devices. See wasi.dev.
Also known as: Wasm
WebAssembly is a portable binary instruction format and compilation target designed for efficient, sandboxed execution on the web and elsewhere. See webassembly.org.
Also known as: Web Real-Time Communication
WebRTC is a suite of standards for secure real-time audio, video, and data communication between browsers and other endpoints. See RFC 8825.
Also known as: WebSockets
WebSocket creates a persistent, full-duplex client-server channel, commonly established through an HTTP handshake. See RFC 6455.
WireGuard is a secure VPN protocol and tunnel that encrypts IP packets and carries them over UDP between peers identified by public keys. See wireguard.com.
Also known as: Zero Trust Architecture, zero-trust
Zero trust is a security model that grants no implicit trust from network location and continually verifies identity, device, and authorization for access. See NIST SP 800-207.
Also known as: zero copy
Zero-copy techniques avoid unnecessary copying of bytes between buffers or layers, reducing CPU work and memory bandwidth in data-intensive software.
Also known as: zerocopy crate
zerocopy is a Rust crate for safe, zero-cost conversions between byte sequences and typed values, especially useful in network parsing. See the zerocopy documentation.