Browse glossary

Glossary

Terms and explanations used by this show.

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.

API

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.

async/await

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.

BGP

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.

Cargo

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

Cascade is an NLnet Labs pipeline for loading, reviewing, signing, and publishing DNS zones with DNSSEC. See the Cascade project.

crate

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.

curl

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.

Datastar

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.

DHCP

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.

Dial9

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.

digital certificate

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.

DKIM

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.

DMARC

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.

DNS

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.

DNSSEC

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.

DTLS

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.

eBPF

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.

ECH

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

Firezone is an open-source zero-trust access platform built on WireGuard for connecting users to private applications, services, and networks. See firezone.dev.

Fuchsia

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

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

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.

HTTP

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.

HTTP/1.1

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.

HTTP/2

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.

HTTP/3

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.

Hyper

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.

hypermedia

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.

ICE

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.

IDNA

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.

IETF

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.

IMAP

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.

Interlisp

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.

IP

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.

IPv4

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.

IPv6

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.

JMAP

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.

kernel

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.

kernel space

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.

Kubernetes

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.

load balancing

Also known as: load balancer, load balancers

Load balancing distributes work across multiple servers or paths to improve capacity, availability, and response time.

man-in-the-middle proxy

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

Metoro is an observability platform that automatically collects application telemetry with eBPF and can combine it with OpenTelemetry data. See the Metoro documentation.

NAT

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.

Netstack3

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.

network stack

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

Observability is the ability to understand a system's internal state from outputs such as traces, metrics, and logs.

OpenTelemetry

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.

Pingora

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.

Protocol Buffers

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.

proxy

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.

public-key cryptography

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

QUIC is a secure, multiplexed transport protocol carried over UDP. It integrates TLS and provides independent reliable streams. See RFC 9000.

Rama

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.

REST

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.

RFC

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.

Roto

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.

RPC

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.

RTP

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.

runtime

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.

Rust

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

Rustls is a modern TLS library whose protocol processing is implemented in memory-safe Rust. See rustls.dev.

Sans-IO

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.

server-sent events

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.

SMTP

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.

socket

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.

Socket.IO

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

Socketioxide is a Rust implementation of a Socket.IO server that integrates with the Tokio, Tower, and Hyper ecosystem. See the Socketioxide documentation.

SOCKS5

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.

SPF

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.

state machine

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.

STUN

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.

TCP

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

Telemetry is data a system emits about its operation, such as traces, metrics, logs, profiles, and events, so behavior can be measured remotely.

TLS

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.

Tokio

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.

Tonic

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.

Tower

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.

TURN

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.

UDP

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.

ureq

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.

URL

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.

user space

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.

VPN

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.

WASI

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.

WebAssembly

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.

WebRTC

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.

WebSocket

Also known as: WebSockets

WebSocket creates a persistent, full-duplex client-server channel, commonly established through an HTTP handshake. See RFC 6455.

WireGuard

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.

zero trust

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.

zero-copy

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.

zerocopy

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.