From 4f435397e192669b5acf6196ed51b84615042190 Mon Sep 17 00:00:00 2001 From: Claude Fable 5 Date: Fri, 19 Jun 2026 01:59:10 -0500 Subject: [PATCH 01/16] docs: add improvement plan and bundle baseline metrics --- IMPROVEMENT_PLAN.md | 378 ++++++++++++++++++++++++++++++ docs/baselines/bundle-baseline.md | 29 +++ 2 files changed, 407 insertions(+) create mode 100644 IMPROVEMENT_PLAN.md create mode 100644 docs/baselines/bundle-baseline.md diff --git a/IMPROVEMENT_PLAN.md b/IMPROVEMENT_PLAN.md new file mode 100644 index 0000000..9082e46 --- /dev/null +++ b/IMPROVEMENT_PLAN.md @@ -0,0 +1,378 @@ +# Protocol Lab โ€” Improvement Plan + +A phased, test-driven plan to address the findings from the codebase audit. The +guiding principle: **establish a safety net before changing anything, and make +every change independently verifiable.** Phases are ordered so that each one is +validated against a known-green baseline established by the phase before it. + +Legend: ๐Ÿ”ด high ยท ๐ŸŸ  medium ยท ๐ŸŸข low. Each task lists **Change**, **How it's +tested**, and **Commit boundary**. + +--- + +## Phase 0 โ€” Baselines & safety net (prerequisite for everything) + +You cannot detect regressions against a red baseline. Before any refactor, we +need (a) a green `check`/`lint`, (b) a test runner, and (c) recorded reference +metrics. Phases 1โ€“2 deliver this. + +### Reference metrics to capture first (no code change) +- **Bundle baseline:** record `du -sh build/_app/immutable` and the per-chunk + sizes (`du -k build/_app/immutable/chunks/*.js | sort -rn | head`). Current: + total ~4.2 MB, largest chunk `CGRapOf_.js` = **1.2 MB** (contains protocol + prose + d3 + mermaid + hljs all fused). +- **Visual baseline:** Playwright screenshots of the graph (force/radial/timeline), + one protocol detail panel, one simulation mid-playback, mobile viewport. These + become golden references for later refactors. +- Save both into `docs/baselines/` so later phases can diff against them. + +--- + +## Phase 1 โ€” Green the type/lint/format baseline ๐Ÿ”ด + +**Why first:** a 589-file prettier reformat creates an enormous diff. Doing it +*before* any logic change keeps real changes reviewable. Each step here is +mechanical and independently verifiable. + +### 1a. Fix the 3 TypeScript errors (logic, not formatting) +- `SequencePlayer.svelte:149` โ€” `definition` possibly undefined โ†’ add a guard or + non-null assertion after confirming the invariant. +- `SequencePlayer.svelte:208` โ€” `getBBox` not on `SVGElement` โ†’ narrow to + `SVGGraphicsElement` (which declares `getBBox`). +- `DetailPanel.svelte:734` โ€” a `SubcategoryStory` is passed where `CategoryStory` + is required. **Investigate the real intent** โ€” this is a genuine type mismatch, + not a cast. Either the prop type should be a union, or the wrong value is being + passed. Do not paper over with `as`. +- **How it's tested:** `npm run check` โ†’ 0 errors. Manually exercise the + SequencePlayer (a protocol simulation diagram) and the DetailPanel branch that + hits line 734 (a subcategory story view) in the browser to confirm no runtime + break. +- **Commit:** `fix(types): resolve 3 svelte-check errors` + +### 1b. Fix non-formatting ESLint errors (the ~67 that aren't escapes) +- `@typescript-eslint/no-unused-vars` (~28): remove dead vars/imports + (`windowHeight`, `FOUNDATION_TEASERS`, `navigateToBookChapter`, + `foundationSections`, `totalParts`, โ€ฆ). **Verify each is truly dead** โ€” grep + for usage before deleting; some may indicate a half-wired feature. +- `svelte/no-navigation-without-resolve` (~13): wrap `goto()`/href targets with + `resolve()` from `$app/paths` per the lint rule. +- `svelte/no-at-html-tags`: audit each `{@html}` site. The content is + self-authored (not user input), so these are low-risk, but confirm the source + is always static data and add an `eslint-disable-next-line` with a justifying + comment rather than leaving a bare error. +- `svelte/prefer-svelte-reactivity` (Map) and `non_reactive_update` + (`containerEl` in StoryDiagramModal): these are real reactivity smells โ€” fix + by using `$state`/`SvelteMap` as the rule suggests. +- **How it's tested:** `npm run check` stays at 0; targeted browser check of each + touched component; `npx eslint .` error count drops to only the escape errors. +- **Commit:** `fix(lint): clear unused-vars, navigation, and reactivity errors` + +### 1c. The 537 `no-useless-escape` errors โ€” surgical, NOT regex +- โš ๏ธ **Do not** run a global `s/\\'/'/g`. The errors are a mix: `\'` inside + template literals is unnecessary, but some flagged `` \` `` are inside + single/double-quoted strings while *other* backticks inside template literals + are genuinely required. A blind regex will corrupt template literals. +- **Approach:** write a one-off codemod (`scripts/fix-useless-escapes.ts`) that + consumes ESLint's JSON output (`eslint --format json`), which gives exact + `{file, line, column}` for each flagged character, and removes **only** the + backslash at those precise positions (process each file's edits + right-to-left so columns don't shift). +- **How it's tested:** This is the highest-risk mechanical change because it + edits content strings. + 1. Before: `git stash`-clean tree, run `npm run build`, save the built data + chunk bytes. + 2. Run the codemod. + 3. `npx eslint .` โ†’ escape errors gone. + 4. `npm run build` and **diff the rendered text**: write a tiny script that + imports `allProtocols`/book parts and asserts no string contains a stray + backslash that changed meaning. Better: render-snapshot a few pages + (Playwright `textContent`) before and after and diff โ€” the visible text must + be identical except for the intended apostrophes. + 5. Spot-check the `` \` `` sites (e.g. famous-outages.ts:174) by eye. +- **Commit:** `fix(content): remove unnecessary string escapes (codemod)` + +### 1d. Prettier the repo +- `npm run format` (writes 589 files). +- **How it's tested:** `npm run build` output bytes for JS chunks should be + **byte-identical** to the pre-format build (formatting must not change emitted + code). Confirm `git diff --stat` shows only whitespace/quote churn. +- **Commit:** `style: apply prettier across repo` (isolated, reviewable as + "formatting only") + +### 1e. Wire the gates into CI +- Add to `.github/workflows/deploy.yml` (and ideally a separate `ci.yml` that + runs on PRs): `npm run check`, `npm run lint`, `npm run test`. +- Add a lightweight pre-commit guard (lint-staged + a `prepare` hook, or a simple + `husky` pre-commit) running `prettier --check` + `eslint` on staged files only, + so the baseline can't regress. +- **How it's tested:** push a branch with a deliberate lint error and confirm CI + fails; revert. +- **Commit:** `ci: enforce check/lint/test on PRs + pre-commit` + +--- + +## Phase 2 โ€” Test infrastructure (the safety net) ๐Ÿ”ด + +No unit runner exists today and there is exactly one trivial e2e test. Every +later phase depends on this. Build it before touching engine/data/components. + +### 2a. Add Vitest for pure logic +- Install `vitest` + `@vitest/ui`; add `"test:unit": "vitest run"` and fold into + `"test"`. Configure via `vite.config.ts` (SvelteKit + Vitest share it). +- **Target the pure, high-value functions** (no DOM needed): + - `src/lib/engine/layouts.ts` โ€” radial/timeline/force target positions: + assert deterministic coordinates for a fixed node set, no overlaps, correct + ring assignment. + - `src/lib/engine/simulation.ts` โ€” `warmUpSimulation`, `syncPositions` + (regression test for the index-vs-id matching issue in Phase 7). + - `src/lib/utils/` โ€” `math.ts`, `colors.ts` (`themedDomColor`), + `text-parser.ts`, `sequence-parser.ts`, `navigation.ts`. These parse the + `[[id|label]]` / `{{concept}}` markup that the whole content layer relies on โ€” + they are the highest-leverage unit tests in the repo. + - The cross-reference validator from Phase 3 (test it against a known-good and + a deliberately-broken fixture). +- **How it's tested:** `npm run test:unit` green; coverage report shows the + parser/layout/util modules covered. +- **Commit:** `test: add vitest + unit tests for engine/util/parser logic` + +### 2b. Expand Playwright e2e for critical user paths +- Use the `window.__dev` helper (documented in CLAUDE.md) to drive deterministic + navigation. Add specs: + 1. **Graph loads** โ†’ canvas present, node count matches data, no console errors. + 2. **Node select** โ†’ `__dev.go('tcp')` opens detail panel with correct title; + close restores graph. + 3. **Layout switch** โ†’ force/radial/timeline each settle without error; compare + against visual baselines (Playwright `toHaveScreenshot`). + 4. **Simulation** โ†’ `__dev.go('tls','simulate'); __dev.step(3)` advances the + step timeline; play/pause works. + 5. **Search** โ†’ type a query, arrow-key to a result, Enter navigates. + 6. **Journey** โ†’ `__dev.journey(id)` โ†’ next/prev/exit. + 7. **Mobile** โ†’ 375px viewport: accordion + detail sheet render; no horizontal + scroll. + 8. **Routes prerender** โ†’ smoke-load `/`, `/p/tcp`, `/rfcs`, `/pioneers`, + `/outages`, `/glossary`, a `/book/[part]` and `/journey/[id]`; assert 200 + + `

` + unique ``. +- Mark screenshot tests with a small pixel tolerance to avoid flakiness. +- **How it's tested:** `npm run test:e2e` green locally and in CI. +- **Commit:** `test: e2e coverage for graph, detail, sim, search, journey, mobile` + +### 2c. Delete demo scaffolding +- Remove `src/routes/demo/**` (the `/demo` and `/demo/playwright` fixtures) once + the real e2e suite replaces the placeholder spec. +- **How it's tested:** build + e2e still green; grep confirms nothing links to + `/demo`. +- **Commit:** `chore: remove demo scaffolding routes` + +--- + +## Phase 3 โ€” Build-time content validation ๐Ÿ”ด (cheap, high insurance) + +The data is consistent today, but nothing prevents a typo'd ID across 75 +protocol files + journeys + comparisons + RFCs + book slots. + +### 3a. Cross-reference validator +- `scripts/validate-cross-references.ts`: load every registry and assert all + referential IDs resolve: + - `protocol.connections[]`, `relatedProtocols` โ†’ protocol IDs + - `journey.steps[].protocolId` โ†’ protocol IDs + - `comparison/pairs.ts` ids โ†’ protocol IDs + - `rfcs[].protocols[]`, `outages`/`pioneers` protocol refs โ†’ protocol IDs + - `protocol.categoryId` โ†’ category IDs; subcategory `protocolIds` โ†’ protocol IDs + - book `ChapterSlot` targets โ†’ existing protocol/sim/story/chapter + - `[[id|label]]`, `{{concept}}`, `[[rfc:n]]` inline refs across prose (reuse the + parser from 2a) โ†’ resolve to real entries +- Exit non-zero with a readable list on failure. +- Add `"validate": "tsx scripts/validate-cross-references.ts"` and chain into + `"build": "npm run validate && vite build"` + the CI job. +- **How it's tested:** unit test (2a) feeds it a broken fixture โ†’ expects failure; + run against current repo โ†’ expects pass. Intentionally break one ID on a + branch โ†’ CI red. +- **Commit:** `feat(scripts): build-time cross-reference validator + wire to build` + +### 3b. (Optional, after 3a is green) Branded ID types +- In `types.ts`, introduce `ProtocolId`/`CategoryId` brands to document intent + and catch literal typos at review time. Low urgency; do only if it doesn't + cause churn. Skip if it fights the existing data-authoring ergonomics โ€” the + runtime validator (3a) already covers correctness. +- **How it's tested:** `npm run check` stays green. + +--- + +## Phase 4 โ€” Bundle & performance ๐Ÿ”ด + +Now that tests + bundle baselines exist, optimize with proof. Re-measure chunk +sizes after each step and assert the target shrank without breaking e2e. + +### 4a. Stop importing the full registry into the root layout +- `+layout.svelte:6` imports `allProtocols` only to show a count. Replace with a + tiny derived constant (e.g. export `PROTOCOL_COUNT` from a 1-line module, or + compute at build via the validator). This is the single biggest lever โ€” it + pulls the entire protocol registry into the entry chunk. +- **How it's tested:** rebuild; assert the entry/layout chunk no longer contains + protocol prose (`grep -c "Transmission Control Protocol"` on the layout chunk โ†’ + 0); e2e count display still correct. +- **Commit:** `perf(bundle): drop full-registry import from root layout` + +### 4b. Dynamic-import heavy page-specific data +- Move into route-loader `import()`s so they split out of the entry bundle: + `journeys.ts` (116 KB), `diagram-definitions.ts` (140 KB), `rfcs.ts` (120 KB), + `book/parts/*` (580 KB), `concepts.ts` where feasible. +- Each route's `+page.ts` loads only what it renders. Keep prerender working + (dynamic import is fine under adapter-static). +- **How it's tested:** per-route e2e still green; measure that the protocol + detail route chunk no longer bundles journeys/book; total transferred JS for a + cold `/p/tcp` load drops (Playwright network capture). +- **Commit:** `perf(bundle): lazy-load journeys/rfcs/book/diagrams per route` + +### 4c. Dynamic-import highlight.js +- `CodeExample.svelte` statically imports hljs core + 8 language packs (~150 KB). + Switch to `await import()` on mount (mirroring the pattern MermaidDiagram + already uses). Register only the languages actually present in the data. +- **How it's tested:** e2e on a page with a code example confirms highlighting + still renders; entry chunk shrinks by ~150 KB. +- **Commit:** `perf(bundle): dynamic-import highlight.js + only used languages` + +### 4d. manualChunks for the fused vendor chunk +- The 1.2 MB chunk fuses d3 + mermaid + hljs + content. After 4aโ€“4c, add Vite + `build.rollupOptions.output.manualChunks` to separate vendor (`d3-force`, + `d3-quadtree`) from content so the graph engine and prose cache independently. +- **How it's tested:** rebuild; assert no single chunk > ~500 KB; e2e green; + compare against Phase 0 baseline and record the win in `docs/baselines/`. +- **Commit:** `perf(bundle): split vendor/content chunks` + +--- + +## Phase 5 โ€” Component de-duplication ๐ŸŸ  + +Pure refactors โ€” the Phase 2 visual/e2e suite is the regression guard. Refactor +one group at a time, screenshot-diff after each. + +### 5a. `GenericLink` for the 6 inline link components +- `detail/inline/{Chapter,Frontier,Glossary,Outage,Pioneer,Protocol}Link.svelte` + share one shape (fetch entity by id โ†’ derive color/tooltip โ†’ render `<a>` or + fallback `<span>`). Extract `GenericLink.svelte` taking `fetch`/`getHref`/ + `getTooltip` callbacks; reduce each to a thin wrapper. ~330 lines reclaimable. +- **How it's tested:** these links appear throughout prose โ€” run the e2e that + opens several detail pages and asserts links resolve + hover tooltips work; + screenshot-diff a content-dense page before/after (must be pixel-identical). +- **Commit:** `refactor(inline): unify 6 link components into GenericLink` + +### 5b. `ModalShell` for the 3 modals +- `DiagramModal`, `StoryDiagramModal`, `StoryImageModal` share backdrop / header / + close / escape-key / backdrop-click. Extract `ModalShell.svelte` with content + slot; fold the focus-trap work from Phase 6 into it (one place to get a11y + right). +- **How it's tested:** e2e opens each modal type, asserts escape + backdrop-click + close, content renders; screenshot-diff. +- **Commit:** `refactor(modals): extract ModalShell` + +### 5c. Centralize Mermaid init +- Three components duplicate the mermaid `initialize({...})` config. Move to + `utils/mermaid-helpers.ts` (`initMermaid()` returning the configured instance). +- **How it's tested:** e2e renders a mermaid diagram in each of the three call + sites; visual-diff. +- **Commit:** `refactor(mermaid): single init helper` + +--- + +## Phase 6 โ€” Accessibility ๐ŸŸ  + +### 6a. Focus trap + restore in modals +- Implement in the new `ModalShell` (5b): on open, move focus into the dialog and + trap Tab; on close, restore focus to the trigger. Add visible focus styling to + `AccessibleGraph` tree items. +- **How it's tested:** e2e keyboard-only flow โ€” open modal, Tab cycles within, + Escape closes and focus returns to trigger. Manual screen-reader smoke (VoiceOver). +- **Commit:** `a11y: focus trap/restore in modals + visible tree focus` + +### 6b. Respect `prefers-reduced-motion` in DetailPanel +- The slide-in animations (`slideInRight`/`slideInUp`) ignore reduced-motion. + Add `@media (prefers-reduced-motion: reduce) { animation: none }`. (The graph + bloom already checks `prefersReducedMotion.current` โ€” match that behavior.) +- **How it's tested:** e2e with `prefersReducedMotion` emulation + (`page.emulateMedia({ reducedMotion: 'reduce' })`) asserts the panel appears + without animation; default still animates. +- **Commit:** `a11y: honor reduced-motion in detail panel` + +--- + +## Phase 7 โ€” Engine / render-loop efficiency ๐ŸŸ  + +Guarded by the Phase 2a unit tests on `layouts.ts`/`simulation.ts` and the +visual e2e. None of these are correctness bugs today, so land them only with +before/after evidence (FPS via `requestAnimationFrame` timing, or render-call +counts behind a dev flag). + +### 7a. `syncPositions` match by id, not index +- `simulation.ts` aligns sim/graph nodes by array index. Switch to id-keyed + matching to prevent silent desync. **Add the regression unit test first** + (2a), then change the code so the test proves the fix. +- **Commit:** `fix(engine): match sim positions by id` + +### 7b. Memoize per-frame map rebuilds +- `canvas-renderer.ts` rebuilds `NODE_MAP`/connected-id sets every frame. Cache + keyed on `(nodes.length, selectedNode?.id, journey?.id)`; rebuild only on change. +- **Commit:** `perf(render): memoize node/connection maps` + +### 7c. Evict settled hover/dim animations; pool gradients +- Delete animation-map entries when a node settles (`hoverT===0 && target===0`). + Reuse a small gradient pool instead of `createLinearGradient` per shooting-star + per frame. +- **Commit:** `perf(render): evict settled anims, pool gradients` + +### 7d. Frame-rate-independent viewport lerp +- `app-state.svelte.ts:404` uses a fixed `t=0.09` assuming 60 fps (settles 2ร— + fast on 120 Hz). Pass `dt` and use `1 - 0.9^(dt/16.67)`. +- **How it's tested:** unit-test the easing function for equal settle-time across + simulated dt values; visual e2e unchanged. +- **Commit:** `fix(viewport): delta-time-normalized lerp` + +> AppState decomposition (splitting the 30+-property god object into +> chrome/interaction/modal/navigation slices) is noted but **deferred** โ€” high +> blast radius, low immediate payoff. Revisit only if it keeps growing. + +--- + +## Phase 8 โ€” Hygiene & SEO ๐ŸŸข + +### 8a. Sitemap + JSON-LD +- Generate `sitemap.xml` at build (endpoint or prerender script) covering `/`, + all `/p/[id]`, `/rfcs`, `/pioneers`, `/outages`, `/book/*`, `/journey/*`. Add + `EducationalResource` JSON-LD in `+layout.svelte`. +- **How it's tested:** build; assert `build/sitemap.xml` lists every prerendered + route (cross-check against the route manifest); validate XML. +- **Commit:** `feat(seo): sitemap.xml + JSON-LD` + +### 8b. Compress og-image +- `static/og-image.png` is 1.8 MB. Re-encode to <200 KB (it's a social card, + 1200ร—630). +- **How it's tested:** visual check it still looks right; size assertion. +- **Commit:** `chore: compress og-image` + +### 8c. Repo cleanup + docs +- Remove `outreach-emails.md` from git (looks like a local artifact); add + `research/` to `.gitignore` if it's scratch. Add `scripts/README.md` + documenting the content-pipeline tools (wrap-bare-*, densify-*, audit-*, + validate-cross-references) and the content-authoring workflow. +- **How it's tested:** `git status` clean; links in README resolve. +- **Commit:** `docs: document scripts + clean repo artifacts` + +--- + +## Execution order & rollback + +1. Phase 0 (measure) โ†’ 1 (green baseline) โ†’ 2 (tests) โ†’ 3 (validator). **These + four are the foundation; do them strictly in order.** +2. Phases 4โ€“8 can then proceed in roughly any order; recommended 4 โ†’ 7 (perf + together) โ†’ 5 โ†’ 6 (component + a11y together) โ†’ 8 (hygiene last). +3. Every task is a single focused commit on a feature branch with its own + verification. If a phase's verification fails, revert that commit โ€” no phase + depends on a later one. + +## Definition of done (per task) +- `npm run check` โ†’ 0 errors +- `npm run lint` โ†’ 0 errors +- `npm run test` (unit + e2e) โ†’ green +- For perf tasks: measured before/after recorded in `docs/baselines/` +- For refactors: screenshot-diff identical +- CI green on the PR diff --git a/docs/baselines/bundle-baseline.md b/docs/baselines/bundle-baseline.md new file mode 100644 index 0000000..7581f99 --- /dev/null +++ b/docs/baselines/bundle-baseline.md @@ -0,0 +1,29 @@ +# Baseline metrics + +- Commit: `afa4450` (branch `improvement-pass-1`, captured 2026-06-19) +- Build time: ~10.8s, `npm run build` green + +## Client bundle (`build/_app/immutable`) + +- **Total raw:** 6.5 MB +- **Total client JS gzipped (sum of all chunks):** **1973 KB (~1.93 MB)** + +### Largest client JS chunks (hashes change per build; identity by content) + +| Raw | Gzip | Contents | +|----:|-----:|----------| +| 1516 KB | 466 KB | protocol-prose + mermaid + hljs + driver.js (fused shared chunk) | +| 1016 KB | 352 KB | protocol-prose + hljs | +| 584 KB | 211 KB | protocol-prose | +| 476 KB | 131 KB | mermaid + driver.js | +| 444 KB | 105 KB | mermaid | + +### Key problems confirmed +- `mermaid`, `hljs`, `driver.js`, and protocol prose are fused into the largest shared chunk โ†’ loaded eagerly on every page. +- `+layout.svelte` imports `allProtocols` (full registry) just for a count. +- `static/og-image.png` = **1.8 MB** (social card; should be <200 KB). + +## Targets after Phase 4 +- Largest single chunk < 500 KB raw. +- mermaid / hljs / driver.js split out and loaded on demand. +- Total client JS gzipped reduced meaningfully on cold first paint. From 4c7c89d6cd24def6c8691a662bcaa8e8b7cb5b6e Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 01:59:10 -0500 Subject: [PATCH 02/16] fix(types): resolve svelte-check errors and reactivity/a11y warnings - SequencePlayer: guard definition in bindStepsToDom; type SVG elements as SVGGraphicsElement so getBBox() resolves. - Introduce shared StoryContent base interface; CategoryStory and SubcategoryStory extend it. CategoryStoryView accepts StoryContent so subcategory stories render without a type mismatch. - StoryDiagramModal: containerEl is now $state and captured locally in the async render closure. - SimulatorView: derive config from protocolId and load via $effect. - ConceptTrigger: fold hover styling into enter/leave; add focus/blur so keyboard users get the concept tooltip. - CategoryIcon: drive hover animation via CSS :hover (+ reduced-motion guard) instead of a JS handler on a roleless span. npm run check: 0 errors, 0 warnings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .../components/detail/ConceptTrigger.svelte | 18 ++++++++++++++---- .../components/detail/SequencePlayer.svelte | 10 +++++----- .../components/detail/StoryDiagramModal.svelte | 8 ++++---- .../category-story/CategoryStoryView.svelte | 4 ++-- src/lib/components/icons/CategoryIcon.svelte | 18 +++++++++--------- src/lib/data/category-stories/types.ts | 11 +++++++++-- src/lib/data/subcategory-stories/types.ts | 6 ++---- .../simulator/components/SimulatorView.svelte | 10 +++++++--- 8 files changed, 52 insertions(+), 33 deletions(-) diff --git a/src/lib/components/detail/ConceptTrigger.svelte b/src/lib/components/detail/ConceptTrigger.svelte index c940cc2..371b490 100644 --- a/src/lib/components/detail/ConceptTrigger.svelte +++ b/src/lib/components/detail/ConceptTrigger.svelte @@ -33,16 +33,26 @@ showTooltip(); } } + + function applyHoverStyle(el: HTMLElement) { + el.style.borderBottomColor = isLight ? '#0369a1' : '#7dd3fc'; + el.style.color = isLight ? '#0369a1' : '#e0f2fe'; + } + + function clearHoverStyle(el: HTMLElement) { + el.style.borderBottomColor = isLight ? '#0284c7' : 'rgba(56, 189, 248, 0.7)'; + el.style.color = ''; + } </script> <button bind:this={triggerEl} class="concept-trigger inline cursor-help border-b-[1.5px] border-dotted text-t-primary transition-all {bold ? 'font-semibold' : ''}" style="border-bottom-color: {isLight ? '#0284c7' : 'rgba(56, 189, 248, 0.7)'};" - onmouseover={(e) => { e.currentTarget.style.borderBottomColor = isLight ? '#0369a1' : '#7dd3fc'; e.currentTarget.style.color = isLight ? '#0369a1' : '#e0f2fe'; }} - onmouseout={(e) => { e.currentTarget.style.borderBottomColor = isLight ? '#0284c7' : 'rgba(56, 189, 248, 0.7)'; e.currentTarget.style.color = ''; }} - onmouseenter={showTooltip} - onmouseleave={scheduleHide} + onmouseenter={(e) => { applyHoverStyle(e.currentTarget); showTooltip(); }} + onmouseleave={(e) => { clearHoverStyle(e.currentTarget); scheduleHide(); }} + onfocus={(e) => { applyHoverStyle(e.currentTarget); showTooltip(); }} + onblur={(e) => { clearHoverStyle(e.currentTarget); scheduleHide(); }} onclick={handleClick} > {label} diff --git a/src/lib/components/detail/SequencePlayer.svelte b/src/lib/components/detail/SequencePlayer.svelte index dba05d1..c6313da 100644 --- a/src/lib/components/detail/SequencePlayer.svelte +++ b/src/lib/components/detail/SequencePlayer.svelte @@ -141,7 +141,7 @@ function bindStepsToDom() { const svg = containerEl.querySelector('svg'); - if (!svg) { + if (!svg || !definition) { bound = []; return; } @@ -157,9 +157,9 @@ const noteTexts = [...svg.querySelectorAll<SVGTextElement>('text.noteText')].sort( (a, b) => yOf(a) - yOf(b) ); - const msgLines = [...svg.querySelectorAll<SVGElement>('.messageLine0, .messageLine1')].sort( - (a, b) => yOf(a) - yOf(b) - ); + const msgLines = [ + ...svg.querySelectorAll<SVGGraphicsElement>('.messageLine0, .messageLine1') + ].sort((a, b) => yOf(a) - yOf(b)); const msgTexts = [...svg.querySelectorAll<SVGTextElement>('text.messageText')].sort( (a, b) => yOf(a) - yOf(b) ); @@ -198,7 +198,7 @@ bound = next; } - function yOf(el: SVGElement): number { + function yOf(el: SVGGraphicsElement): number { const yAttr = el.getAttribute('y') ?? el.getAttribute('y1') ?? el.getAttribute('y2'); if (yAttr !== null) { const n = parseFloat(yAttr); diff --git a/src/lib/components/detail/StoryDiagramModal.svelte b/src/lib/components/detail/StoryDiagramModal.svelte index cd4084c..1387eaf 100644 --- a/src/lib/components/detail/StoryDiagramModal.svelte +++ b/src/lib/components/detail/StoryDiagramModal.svelte @@ -20,7 +20,7 @@ } = $props(); const appState = getAppState(); - let containerEl: HTMLDivElement; + let containerEl = $state<HTMLDivElement>(); let mermaidApi: typeof import('mermaid').default | null = $state(null); let renderCounter = 0; @@ -44,6 +44,7 @@ $effect(() => { if (!open || !mermaidApi || !definition || !containerEl) return; + const el = containerEl; const theme = appState.theme; const fullDef = buildThemedDefinition(definition, color, true, theme); const id = `mmd-story-modal-${++renderCounter}`; @@ -51,12 +52,11 @@ mermaidApi .render(id, fullDef) .then(({ svg }) => { - containerEl.innerHTML = svg; + el.innerHTML = svg; }) .catch((err) => { console.error('Story diagram modal render error:', err); - containerEl.innerHTML = - '<p class="text-xs text-t-muted py-4 text-center">Diagram unavailable</p>'; + el.innerHTML = '<p class="text-xs text-t-muted py-4 text-center">Diagram unavailable</p>'; }); }); diff --git a/src/lib/components/detail/category-story/CategoryStoryView.svelte b/src/lib/components/detail/category-story/CategoryStoryView.svelte index b81abd7..4848250 100644 --- a/src/lib/components/detail/category-story/CategoryStoryView.svelte +++ b/src/lib/components/detail/category-story/CategoryStoryView.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import type { CategoryStory } from '$lib/data/category-stories/types'; + import type { StoryContent } from '$lib/data/category-stories/types'; import type { Category } from '$lib/data/types'; import StoryNarrative from './StoryNarrative.svelte'; import StoryTimeline from './StoryTimeline.svelte'; @@ -10,7 +10,7 @@ import StoryComparison from './StoryComparison.svelte'; import StoryAnimatedSequence from './StoryAnimatedSequence.svelte'; - let { story, cat, color = cat.color }: { story: CategoryStory; cat: Category; color?: string } = $props(); + let { story, cat, color = cat.color }: { story: StoryContent; cat: Category; color?: string } = $props(); </script> <div class="flex flex-col gap-5"> diff --git a/src/lib/components/icons/CategoryIcon.svelte b/src/lib/components/icons/CategoryIcon.svelte index e7651e6..57bffae 100644 --- a/src/lib/components/icons/CategoryIcon.svelte +++ b/src/lib/components/icons/CategoryIcon.svelte @@ -69,17 +69,10 @@ }; const Component = $derived(iconMap[icon]); - - let hovered = $state(false); </script> {#if Component} - <span - class="icon-animate inline-flex" - class:animate={hovered || animate} - onmouseenter={() => (hovered = true)} - onmouseleave={() => (hovered = false)} - > + <span class="icon-animate inline-flex" class:animate> <Component {size} strokeWidth={1.5} /> </span> {:else} @@ -102,7 +95,8 @@ .icon-animate { transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } - .icon-animate.animate { + .icon-animate.animate, + .icon-animate:hover { animation: icon-pulse 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); } @keyframes icon-pulse { @@ -111,4 +105,10 @@ 60% { transform: scale(1.1) rotate(3deg); } 100% { transform: scale(1) rotate(0deg); } } + @media (prefers-reduced-motion: reduce) { + .icon-animate.animate, + .icon-animate:hover { + animation: none; + } + } </style> diff --git a/src/lib/data/category-stories/types.ts b/src/lib/data/category-stories/types.ts index 6ab8a99..7e96c7a 100644 --- a/src/lib/data/category-stories/types.ts +++ b/src/lib/data/category-stories/types.ts @@ -45,8 +45,15 @@ export type StorySection = | { type: 'image'; src: string; alt: string; caption?: string; credit?: string; title?: string } | { type: 'comparison'; title?: string; axes: string[]; rows: ComparisonRow[]; note?: string }; -export interface CategoryStory { - categoryId: string; +/** The shared shape of any story body โ€” a tagline plus ordered sections. + * Both {@link CategoryStory} and `SubcategoryStory` extend this; components + * that only render the body (e.g. CategoryStoryView) should accept this + * rather than a specific parent type. */ +export interface StoryContent { tagline: string; sections: StorySection[]; } + +export interface CategoryStory extends StoryContent { + categoryId: string; +} diff --git a/src/lib/data/subcategory-stories/types.ts b/src/lib/data/subcategory-stories/types.ts index 9634e6a..e24a7d4 100644 --- a/src/lib/data/subcategory-stories/types.ts +++ b/src/lib/data/subcategory-stories/types.ts @@ -9,10 +9,8 @@ export type { StorySection } from '../category-stories/types'; -import type { StorySection } from '../category-stories/types'; +import type { StoryContent } from '../category-stories/types'; -export interface SubcategoryStory { +export interface SubcategoryStory extends StoryContent { subcategoryId: string; - tagline: string; - sections: StorySection[]; } diff --git a/src/lib/simulator/components/SimulatorView.svelte b/src/lib/simulator/components/SimulatorView.svelte index 3a1288a..1cb4fed 100644 --- a/src/lib/simulator/components/SimulatorView.svelte +++ b/src/lib/simulator/components/SimulatorView.svelte @@ -15,10 +15,14 @@ let { protocolId, color }: Props = $props(); const simState = new SimulatorState(); - const config = getSimulation(protocolId); + const config = $derived(getSimulation(protocolId)); - // Load once at mount โ€” parent uses {#key protocolId} to remount on change - if (config) simState.load(config); + // Reload whenever the resolved simulation changes. The parent also wraps + // this in {#key protocolId} to fully remount, so in practice this runs once + // per protocol โ€” but deriving keeps it correct if that guard is ever removed. + $effect(() => { + if (config) simState.load(config); + }); </script> {#if config} From e2edd2f0ba852354e1764ad865f894a5499eb021 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:11:36 -0500 Subject: [PATCH 03/16] fix(lint): clear all non-formatting ESLint errors Genuine code fixes: - Remove dead code: FOUNDATION_TEASERS/totalParts/foundationSections and an unused navigateToBookChapter import (DetailPanel); unused stubChapters helper (book/chapters); unused imports/vars in SearchBar, OutageView, NodeTooltip, SequencePlayer, layouts; vestigial gqlRequestLayer params. - Drop the unused `color` prop from JourneyListView (it colors per-journey) and the matching caller arg; drop unused `stepIndex` prop from ActorStage + caller. - Replace empty `interface MeshLink {}` with a type alias. - Add keys to name-segment {#each} blocks (ProtocolHeader, MobileDetailSheet). - Type the dev-only window globals (__dev/__tourDriver) in app.d.ts, removing three `as any` casts; make tourDriver const. - Remove three unused eslint-disable directives in scripts/. Rule-level config (with justifications in eslint.config.js): - Off: svelte/no-navigation-without-resolve (app centralizes ${base} prefixing) and svelte/prefer-svelte-reactivity (all Map/Set are ephemeral locals). - Allow _-prefixed unused identifiers. Per-site disables with justification for intentional patterns: - svelte/no-dom-manipulating at mermaid innerHTML injection sites. - svelte/no-at-html-tags for trusted highlighted code + static SVG icons. npm run check: 0/0. eslint: only no-useless-escape remains (handled next). Build green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- eslint.config.js | 23 ++++++++++++++++++- scripts/audit-terms.ts | 1 - scripts/unwrap-codespans.ts | 1 - scripts/wrap-bare-concepts.ts | 1 - src/app.d.ts | 7 ++++++ src/lib/components/AppShell.svelte | 2 +- .../components/desktop/LayoutPicker.svelte | 4 ++++ src/lib/components/desktop/NodeTooltip.svelte | 2 -- src/lib/components/detail/CodeExample.svelte | 8 +++++++ src/lib/components/detail/DetailPanel.svelte | 23 +------------------ .../components/detail/JourneyListView.svelte | 2 +- .../components/detail/MermaidDiagram.svelte | 4 ++++ src/lib/components/detail/OutageView.svelte | 5 +--- .../components/detail/ProtocolHeader.svelte | 2 +- .../components/detail/SequencePlayer.svelte | 5 +++- .../detail/category-story/StoryDiagram.svelte | 4 ++++ .../mobile/MobileDetailSheet.svelte | 2 +- src/lib/data/book/chapters.ts | 9 -------- src/lib/engine/layouts.ts | 4 ++-- src/lib/search/SearchBar.svelte | 3 --- .../simulator/components/ActorStage.svelte | 1 - .../simulator/components/StepTimeline.svelte | 1 - .../simulations/graphql-operation.ts | 6 ++--- src/lib/tour/app-tour.ts | 8 +++---- 24 files changed, 67 insertions(+), 61 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index bf092d2..f447599 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -22,7 +22,28 @@ export default defineConfig( rules: { // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - 'no-undef': 'off' + 'no-undef': 'off', + + // Allow intentionally-unused identifiers prefixed with `_` (placeholder + // destructure targets, ignored callback args). + '@typescript-eslint/no-unused-vars': [ + 'error', + { argsIgnorePattern: '^_', varsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' } + ], + + // This project deliberately centralizes base-path handling: navigation.ts + // prefixes every goto() with `${base}`, and inline links build hrefs as + // `{base}/...`. That is a correct, deployed pattern for the GitHub Pages + // sub-path. resolve() would be an equivalent restyle of ~20 call sites with + // no behavioral gain, so we opt out of this stylistic rule. + 'svelte/no-navigation-without-resolve': 'off', + + // Every Map/Set in this codebase is an ephemeral local built inside a + // `$derived.by()` / helper function, or a non-reactive cache used by the + // canvas render loop โ€” never reactive component state. SvelteMap/SvelteSet + // would add proxy overhead for no benefit, so this rule is all false + // positives here. + 'svelte/prefer-svelte-reactivity': 'off' } }, { diff --git a/scripts/audit-terms.ts b/scripts/audit-terms.ts index 76d212a..f824a9a 100644 --- a/scripts/audit-terms.ts +++ b/scripts/audit-terms.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ /** * audit-terms.ts โ€” Densification audit. * diff --git a/scripts/unwrap-codespans.ts b/scripts/unwrap-codespans.ts index 1e675ef..abe5b42 100644 --- a/scripts/unwrap-codespans.ts +++ b/scripts/unwrap-codespans.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ /** * unwrap-codespans.ts โ€” Strip {{...}} and [[...]] wraps that ended up * inside markdown inline-code spans (\`...\` in template literals). diff --git a/scripts/wrap-bare-concepts.ts b/scripts/wrap-bare-concepts.ts index bff1750..646af04 100644 --- a/scripts/wrap-bare-concepts.ts +++ b/scripts/wrap-bare-concepts.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ /** * wrap-bare-concepts.ts โ€” Auto-wrap bare technical-term mentions * (RTT, handshake, retransmission, sliding window, โ€ฆ) into diff --git a/src/app.d.ts b/src/app.d.ts index da08e6d..29cc8c9 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -8,6 +8,13 @@ declare global { // interface PageState {} // interface Platform {} } + + interface Window { + /** Dev-only navigation/testing helper, attached in dev mode (see AppShell). */ + __dev?: Record<string, unknown>; + /** Dev-only handle to the active guided-tour driver instance. */ + __tourDriver?: unknown; + } } export {}; diff --git a/src/lib/components/AppShell.svelte b/src/lib/components/AppShell.svelte index 9748fed..9bd4ac5 100644 --- a/src/lib/components/AppShell.svelte +++ b/src/lib/components/AppShell.svelte @@ -43,7 +43,7 @@ // the same code path users hit when they click a node. if (dev) { const allNodes = buildGraphNodes(); - (window as any).__dev = { + window.__dev = { appState, nodes: allNodes, /** Navigate to a protocol or category by ID, optionally open simulate tab */ diff --git a/src/lib/components/desktop/LayoutPicker.svelte b/src/lib/components/desktop/LayoutPicker.svelte index f20a2f8..41ce44f 100644 --- a/src/lib/components/desktop/LayoutPicker.svelte +++ b/src/lib/components/desktop/LayoutPicker.svelte @@ -89,6 +89,8 @@ > <!-- Icon โ€” shared with the guided tour via $lib/utils/layout-icons --> <span class="layout-glyph flex h-4 w-4 shrink-0 items-center justify-center opacity-70"> + <!-- Trusted static SVG markup from $lib/utils/layout-icons --> + <!-- eslint-disable-next-line svelte/no-at-html-tags --> {@html LAYOUT_ICON_SVG[layout.id]} </span> <span class="w-16 font-medium tracking-wide">{layout.label}</span> @@ -110,6 +112,8 @@ aria-expanded={open} > <span class="layout-glyph flex h-3.5 w-3.5 shrink-0 items-center justify-center opacity-70"> + <!-- Trusted static SVG markup from $lib/utils/layout-icons --> + <!-- eslint-disable-next-line svelte/no-at-html-tags --> {@html LAYOUT_ICON_SVG[appState.layoutMode]} </span> <span>{layouts.find((l) => l.id === appState.layoutMode)?.label ?? 'Layout'}</span> diff --git a/src/lib/components/desktop/NodeTooltip.svelte b/src/lib/components/desktop/NodeTooltip.svelte index 67e6db7..c9eff7e 100644 --- a/src/lib/components/desktop/NodeTooltip.svelte +++ b/src/lib/components/desktop/NodeTooltip.svelte @@ -16,7 +16,6 @@ let tooltipX = $state(0); let tooltipY = $state(0); let windowWidth = $state(typeof window !== 'undefined' ? window.innerWidth : 1920); - let windowHeight = $state(typeof window !== 'undefined' ? window.innerHeight : 1080); $effect(() => { if (!appState.hoveredNode) return; @@ -28,7 +27,6 @@ function onResize() { windowWidth = window.innerWidth; - windowHeight = window.innerHeight; } // Cursor-following only matters when there's no anchor element. diff --git a/src/lib/components/detail/CodeExample.svelte b/src/lib/components/detail/CodeExample.svelte index 9e57343..31b6ae3 100644 --- a/src/lib/components/detail/CodeExample.svelte +++ b/src/lib/components/detail/CodeExample.svelte @@ -111,6 +111,14 @@ } </script> +<!-- + This component renders highlight.js output. The highlighted HTML is produced + at runtime from code samples that ship in the protocol data files (trusted, + build-time content โ€” never user input), so {@html} is safe here. Disabled + file-wide because the {@html} sits inside <pre> blocks where an inline + disable comment would inject stray whitespace into the rendered code. +--> +<!-- eslint-disable svelte/no-at-html-tags --> <section data-tour="code-example"> <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase">Code Example</h3> <div diff --git a/src/lib/components/detail/DetailPanel.svelte b/src/lib/components/detail/DetailPanel.svelte index b835342..e4445cd 100644 --- a/src/lib/components/detail/DetailPanel.svelte +++ b/src/lib/components/detail/DetailPanel.svelte @@ -13,10 +13,8 @@ navigateToProtocol, navigateToCategory, navigateToHub, - navigateToBookChapter, navigateToBookPart } from '$lib/utils/navigation'; - import { foundationSections } from '$lib/data/concept-foundations'; import { bookParts, listChapters } from '$lib/data/book/chapters'; import GlossaryView from './GlossaryView.svelte'; import ChapterView from './ChapterView.svelte'; @@ -46,11 +44,6 @@ } from '$lib/utils/navigation'; import { Users, FileText, AlertTriangle, Compass as CompassIcon } from 'lucide-svelte'; - /** - * Hand-written teasers for the Foundation chapter cards on the Home - * tab. Each gives the reader a one-line reason to click in. Order - * matches `foundationSections` so we can zip them together. - */ /** * Per-part accent colors โ€” must mirror BookTocView and ChapterView so a * part has the same hue everywhere it appears in the UI. @@ -70,22 +63,8 @@ 'how-to-learn-more': '#94a3b8' }; - const totalParts = bookParts.length; const totalChapters = listChapters().length; - const FOUNDATION_TEASERS: Record<string, string> = { - 'what-is-a-protocol': - 'What a protocol is, and why every machine on the planet agrees to follow them.', - 'layer-model': - 'Seven layers, the standards war that decided their fate, and where the layers blur.', - addressing: 'How a packet finds your laptop โ€” hostnames, IPs, MACs, and ports.', - packets: 'Encapsulation in pictures โ€” frames inside packets inside segments.', - 'ports-sockets': 'How one machine runs a hundred services without confusing them.', - 'reliability-speed': 'The defining tradeoff: TCP vs UDP, and why QUIC tries to have both.', - 'client-server-p2p': 'Two communication patterns and what each makes easy or hard.', - 'encryption-basics': "What HTTPS actually protects โ€” and what it doesn't.", - 'ai-protocols': 'MCP and A2A โ€” the new layer of protocols designed for AI agents.' - }; import ProtocolHeader from './ProtocolHeader.svelte'; import ProtocolDiagram from './ProtocolDiagram.svelte'; import HowItWorksSteps from './HowItWorksSteps.svelte'; @@ -692,7 +671,7 @@ </div> {:else if appState.categoryViewMode === 'journeys'} <div class="p-6"> - <JourneyListView scope={cat.id} {color} /> + <JourneyListView scope={cat.id} /> </div> {/if} {:else if selectedData?.type === 'subcategory' && selectedData.subcategory} diff --git a/src/lib/components/detail/JourneyListView.svelte b/src/lib/components/detail/JourneyListView.svelte index b100a05..68cecd2 100644 --- a/src/lib/components/detail/JourneyListView.svelte +++ b/src/lib/components/detail/JourneyListView.svelte @@ -8,7 +8,7 @@ import { parseRichText } from '$lib/utils/text-parser'; import RichText from '$lib/components/detail/inline/RichText.svelte'; - let { scope, color = '#FFFFFF' }: { scope: string; color?: string } = $props(); + let { scope }: { scope: string } = $props(); const appState = getAppState(); diff --git a/src/lib/components/detail/MermaidDiagram.svelte b/src/lib/components/detail/MermaidDiagram.svelte index bf401b5..f66c861 100644 --- a/src/lib/components/detail/MermaidDiagram.svelte +++ b/src/lib/components/detail/MermaidDiagram.svelte @@ -59,11 +59,15 @@ mermaidApi .render(id, fullDef) .then(({ svg }) => { + // Mermaid emits an SVG string; inject it into our empty bind:this + // container, which Svelte does not otherwise render into. + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = svg; styleCrossArrows(containerEl); }) .catch((err) => { console.error(`Mermaid render error [${protocolId}]:`, err); + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = '<p class="text-xs text-t-muted py-4">Diagram unavailable</p>'; }); diff --git a/src/lib/components/detail/OutageView.svelte b/src/lib/components/detail/OutageView.svelte index bcb43aa..26c63b1 100644 --- a/src/lib/components/detail/OutageView.svelte +++ b/src/lib/components/detail/OutageView.svelte @@ -1,10 +1,7 @@ <script lang="ts"> import { getOutageById, getProtocolById, getCategoryById } from '$lib/data/index'; import { parseRichText } from '$lib/utils/text-parser'; - import { - navigateToProtocol, - navigateToOutage as navigateToOutageUrl - } from '$lib/utils/navigation'; + import { navigateToProtocol } from '$lib/utils/navigation'; import { ExternalLink, AlertTriangle, Clock, Users, Lightbulb } from 'lucide-svelte'; import { themedDomColor } from '$lib/utils/colors'; import { getAppState } from '$lib/state/context'; diff --git a/src/lib/components/detail/ProtocolHeader.svelte b/src/lib/components/detail/ProtocolHeader.svelte index dc277c1..fadf758 100644 --- a/src/lib/components/detail/ProtocolHeader.svelte +++ b/src/lib/components/detail/ProtocolHeader.svelte @@ -25,7 +25,7 @@ {/if} </div> <p class="mt-0.5 text-xs text-t-secondary"> - {#each nameSegments as seg}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} + {#each nameSegments as seg, i (i)}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} </p> </div> </div> diff --git a/src/lib/components/detail/SequencePlayer.svelte b/src/lib/components/detail/SequencePlayer.svelte index c6313da..d6aac01 100644 --- a/src/lib/components/detail/SequencePlayer.svelte +++ b/src/lib/components/detail/SequencePlayer.svelte @@ -50,7 +50,6 @@ const total = $derived(bound.length); const definition = $derived(inline ?? (protocolId ? diagramDefinitions[protocolId] : undefined)); const overallCaption = $derived(definition?.caption ?? ''); - const currentStep = $derived(cursor >= 0 && cursor < bound.length ? bound[cursor] : null); const diagramKey = $derived(protocolId ?? 'inline'); onMount(async () => { @@ -94,6 +93,9 @@ mermaidApi .render(id, fullDef) .then(({ svg }) => { + // Mermaid emits an SVG string; inject it into our empty bind:this + // container, which Svelte does not otherwise render into. + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = svg; styleCrossArrows(containerEl); bindStepsToDom(); @@ -104,6 +106,7 @@ }) .catch((err) => { console.error(`SequencePlayer render error [${diagramKey}]:`, err); + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = '<p class="text-xs text-t-muted py-4 text-center">Diagram unavailable</p>'; bound = []; diff --git a/src/lib/components/detail/category-story/StoryDiagram.svelte b/src/lib/components/detail/category-story/StoryDiagram.svelte index d2a9c91..fa0dee4 100644 --- a/src/lib/components/detail/category-story/StoryDiagram.svelte +++ b/src/lib/components/detail/category-story/StoryDiagram.svelte @@ -54,10 +54,14 @@ mermaidApi .render(id, fullDef) .then(({ svg }) => { + // Mermaid emits an SVG string; inject it into our empty bind:this + // container, which Svelte does not otherwise render into. + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = svg; }) .catch((err) => { console.error('Story diagram render error:', err); + // eslint-disable-next-line svelte/no-dom-manipulating containerEl.innerHTML = '<p class="text-xs text-t-muted py-4 text-center">Diagram unavailable</p>'; }); diff --git a/src/lib/components/mobile/MobileDetailSheet.svelte b/src/lib/components/mobile/MobileDetailSheet.svelte index e955e72..1bf827c 100644 --- a/src/lib/components/mobile/MobileDetailSheet.svelte +++ b/src/lib/components/mobile/MobileDetailSheet.svelte @@ -71,7 +71,7 @@ {/if} </div> <p class="text-xs text-t-secondary"> - {#each getHighlightedName(proto.id, proto.name) as seg}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} + {#each getHighlightedName(proto.id, proto.name) as seg, i (i)}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} </p> <p class="mt-2 rounded-lg border-l-2 py-2 pl-3 text-sm text-t-primary" diff --git a/src/lib/data/book/chapters.ts b/src/lib/data/book/chapters.ts index 3ca465d..dc1abe1 100644 --- a/src/lib/data/book/chapters.ts +++ b/src/lib/data/book/chapters.ts @@ -65,15 +65,6 @@ const partI: BookPart = { })) }; -/** - * Parts IIโ€“XII โ€” outline only for now. Empty `slots` arrays mark - * each chapter as "coming soon"; the TOC renderer treats them - * differently from clickable chapters. Filling them in is the next - * sustained content workstream. - */ -function stubChapters(items: { id: string; title: string; synopsis: string }[]): Chapter[] { - return items.map((c) => ({ id: c.id, title: c.title, synopsis: c.synopsis, slots: [] })); -} export const bookParts: BookPart[] = [ partI, diff --git a/src/lib/engine/layouts.ts b/src/lib/engine/layouts.ts index 248ce6a..8d782cb 100644 --- a/src/lib/engine/layouts.ts +++ b/src/lib/engine/layouts.ts @@ -10,7 +10,7 @@ import { type SimulationLinkDatum } from 'd3-force'; import type { GraphNode } from '$lib/data/types'; -import { allProtocols, categories, subcategories } from '$lib/data/index'; +import { allProtocols, categories } from '$lib/data/index'; export type LayoutMode = 'force' | 'radial' | 'timeline' | 'mesh'; @@ -192,7 +192,7 @@ interface MeshNode extends SimulationNodeDatum { type: 'protocol' | 'subcategory'; categoryId: string; } -interface MeshLink extends SimulationLinkDatum<MeshNode> {} +type MeshLink = SimulationLinkDatum<MeshNode>; export function computeMeshPositions( nodes: GraphNode[] diff --git a/src/lib/search/SearchBar.svelte b/src/lib/search/SearchBar.svelte index 6e1bf9e..e5bfb8f 100644 --- a/src/lib/search/SearchBar.svelte +++ b/src/lib/search/SearchBar.svelte @@ -19,8 +19,6 @@ type SearchResultType } from './search-index'; import { getAppState } from '$lib/state/context'; - import { buildGraphNodes } from '$lib/data/index'; - import { journeys } from '$lib/data/journeys'; import { themedDomColor } from '$lib/utils/colors'; import { navigateToProtocol, @@ -35,7 +33,6 @@ } from '$lib/utils/navigation'; const appState = getAppState(); - const allNodes = buildGraphNodes(); /** Theme-aware color for search result items */ function dc(c: string | undefined): string { diff --git a/src/lib/simulator/components/ActorStage.svelte b/src/lib/simulator/components/ActorStage.svelte index 2eb31b4..0f3f82c 100644 --- a/src/lib/simulator/components/ActorStage.svelte +++ b/src/lib/simulator/components/ActorStage.svelte @@ -7,7 +7,6 @@ interface Props { actors: SimulationActor[]; currentStep: SimulationStep | null; - stepIndex: number; color: string; compact?: boolean; } diff --git a/src/lib/simulator/components/StepTimeline.svelte b/src/lib/simulator/components/StepTimeline.svelte index 169ee0e..8ea6485 100644 --- a/src/lib/simulator/components/StepTimeline.svelte +++ b/src/lib/simulator/components/StepTimeline.svelte @@ -100,7 +100,6 @@ <ActorStage actors={config.actors} currentStep={step} - stepIndex={i} {color} compact={true} /> diff --git a/src/lib/simulator/simulations/graphql-operation.ts b/src/lib/simulator/simulations/graphql-operation.ts index 59f6ec2..0b7e299 100644 --- a/src/lib/simulator/simulations/graphql-operation.ts +++ b/src/lib/simulator/simulations/graphql-operation.ts @@ -4,7 +4,7 @@ import { createIPv4Layer } from '../layers/ipv4'; import { createEthernetLayer } from '../layers/ethernet'; import { createTLSRecordLayer } from '../layers/tls'; -function gqlRequestLayer(operation: string, name: string, variables: string, selectionSet: string): ProtocolLayer { +function gqlRequestLayer(): ProtocolLayer { return { name: 'HTTP Request', abbreviation: 'HTTP', @@ -81,7 +81,7 @@ export const graphqlOperation: SimulationConfig = { createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52400, dstPort: 443, flags: 'PSH,ACK' }), createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), - gqlRequestLayer('query', 'GetUser', '{ "id": "42" }', '{ user { name email } }'), + gqlRequestLayer(), gqlLayer('query', 'GetUser', '{ "id": "42" }', '{ user(id: $id) { name email posts { title } } }', '') ] }, @@ -117,7 +117,7 @@ export const graphqlOperation: SimulationConfig = { createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52400, dstPort: 443, flags: 'PSH,ACK' }), createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), - gqlRequestLayer('mutation', 'CreatePost', '{ "title": "New Post" }', '{ createPost { id title } }'), + gqlRequestLayer(), gqlLayer('mutation', 'CreatePost', '{ "title": "New Post", "authorId": "42" }', '{ createPost(input: $input) { id title author { name } } }', '') ] }, diff --git a/src/lib/tour/app-tour.ts b/src/lib/tour/app-tour.ts index e420262..7db400f 100644 --- a/src/lib/tour/app-tour.ts +++ b/src/lib/tour/app-tour.ts @@ -68,9 +68,7 @@ export async function startTour(appState: AppState, allNodes: GraphNode[]): Prom const PANEL_ANIM_MS = 380; - let tourDriver: ReturnType<typeof driver>; - - tourDriver = driver({ + const tourDriver = driver({ showProgress: true, animate: true, overlayColor: '#0f172a', @@ -428,8 +426,8 @@ export async function startTour(appState: AppState, allNodes: GraphNode[]): Prom appState.activeTour = { destroy: () => tourDriver.destroy() }; // Expose for dev testing (tree-shaken in prod via __dev check) - if (typeof window !== 'undefined' && (window as any).__dev) { - (window as any).__tourDriver = tourDriver; + if (typeof window !== 'undefined' && window.__dev) { + window.__tourDriver = tourDriver; } tourDriver.drive(); From 5dc311560660ffed39d4b1b594f4bbd965ac0dcb Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:15:40 -0500 Subject: [PATCH 04/16] fix(content): remove 537 unnecessary string escapes via position-driven codemod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds scripts/fix-useless-escapes.ts, which consumes ESLint's JSON report and deletes only the exact backslashes ESLint flagged as unnecessary (right-to-left per line). A naive regex would have been wrong โ€” e.g. in `Berkeley Unix\'s \`.rhosts\``, the necessary `\'` (single-quoted string) must stay while the redundant backtick escapes go; the codemod preserves exactly that distinction. Verification: - ESLint no-useless-escape: 537 โ†’ 0; 0 skipped (every position was a backslash). - 34/35 changed files: esbuild-canonicalized output byte-identical โ†’ string values provably unchanged. - text-parser.ts: two regex char-class simplifications ([\[ โ†’ [ inside classes), proven behaviorally identical across 23 edge-case inputs. - npm run check: 0/0. Build green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- scripts/fix-useless-escapes.ts | 84 +++++++++++++++++++ src/lib/data/book/parts/famous-outages.ts | 70 ++++++++-------- src/lib/data/book/parts/layer-2-3.ts | 6 +- src/lib/data/book/parts/utilities-security.ts | 4 +- src/lib/data/book/parts/web-api.ts | 2 +- src/lib/data/category-stories/wireless.ts | 2 +- src/lib/data/concept-foundations.ts | 4 +- src/lib/data/concepts.ts | 12 +-- src/lib/data/protocols/arp.ts | 2 +- src/lib/data/protocols/bluetooth.ts | 2 +- src/lib/data/protocols/cellular.ts | 2 +- src/lib/data/protocols/dash.ts | 4 +- src/lib/data/protocols/ethernet.ts | 2 +- src/lib/data/protocols/kerberos.ts | 6 +- .../subcategory-stories/agent-protocols.ts | 8 +- .../subcategory-stories/authentication.ts | 16 ++-- .../subcategory-stories/conferencing-calls.ts | 20 ++--- .../subcategory-stories/datagram-transport.ts | 6 +- .../subcategory-stories/enterprise-brokers.ts | 10 +-- .../federated-messaging.ts | 20 ++--- .../data/subcategory-stories/http-versions.ts | 12 +-- .../subcategory-stories/internet-layer.ts | 16 ++-- .../data/subcategory-stories/iot-messaging.ts | 12 +-- .../data/subcategory-stories/link-layer.ts | 16 ++-- .../subcategory-stories/mail-file-transfer.ts | 18 ++-- .../subcategory-stories/network-services.ts | 22 ++--- .../data/subcategory-stories/pan-proximity.ts | 24 +++--- .../data/subcategory-stories/realtime-web.ts | 8 +- .../resource-query-apis.ts | 6 +- src/lib/data/subcategory-stories/routing.ts | 2 +- .../data/subcategory-stories/rpc-styles.ts | 6 +- .../secure-channels-vpn.ts | 12 +-- .../subcategory-stories/streaming-delivery.ts | 14 ++-- src/lib/data/subcategory-stories/wlan-wan.ts | 20 ++--- .../simulations/cellular-registration.ts | 2 +- src/lib/utils/text-parser.ts | 4 +- 36 files changed, 280 insertions(+), 196 deletions(-) create mode 100644 scripts/fix-useless-escapes.ts diff --git a/scripts/fix-useless-escapes.ts b/scripts/fix-useless-escapes.ts new file mode 100644 index 0000000..7d53612 --- /dev/null +++ b/scripts/fix-useless-escapes.ts @@ -0,0 +1,84 @@ +/** + * fix-useless-escapes.ts โ€” surgical removal of ESLint `no-useless-escape` + * violations. + * + * Why not a regex? A naive `s/\\'/'/g` would also strip backslashes that are + * REQUIRED โ€” e.g. a backtick inside a template literal. ESLint has already done + * the context analysis: it flags only the backslashes that JavaScript ignores. + * This script consumes ESLint's JSON report and deletes exactly those + * backslash characters, by (line, column), processing each file's edits + * right-to-left so earlier column numbers stay valid. + * + * Safety: removing an *unnecessary* escape never changes a string's runtime + * value (`'\''` and `"'"` denote the same character), so the compiled bundle + * is byte-identical afterwards โ€” that is the verification gate. + * + * Usage: + * npx eslint . --format json -o /tmp/eslint.json + * npx tsx scripts/fix-useless-escapes.ts /tmp/eslint.json + */ +import { readFileSync, writeFileSync } from 'node:fs'; + +interface EslintMessage { + ruleId: string | null; + line: number; + column: number; +} +interface EslintFileResult { + filePath: string; + messages: EslintMessage[]; +} + +const reportPath = process.argv[2]; +if (!reportPath) { + console.error('Usage: tsx scripts/fix-useless-escapes.ts <eslint-report.json>'); + process.exit(1); +} + +const report: EslintFileResult[] = JSON.parse(readFileSync(reportPath, 'utf8')); + +let filesChanged = 0; +let removed = 0; +let skipped = 0; + +for (const file of report) { + const targets = file.messages.filter((m) => m.ruleId === 'no-useless-escape'); + if (targets.length === 0) continue; + + const src = readFileSync(file.filePath, 'utf8'); + const lines = src.split('\n'); + + // Group by line, then apply each line's edits right-to-left. + const byLine = new Map<number, number[]>(); + for (const m of targets) { + const arr = byLine.get(m.line) ?? []; + arr.push(m.column); + byLine.set(m.line, arr); + } + + for (const [lineNo, columns] of byLine) { + const idx = lineNo - 1; + let line = lines[idx]; + // Descending column order so deletions don't shift later positions. + for (const col of columns.sort((a, b) => b - a)) { + const at = col - 1; // 1-based โ†’ 0-based + if (line[at] === '\\') { + line = line.slice(0, at) + line.slice(at + 1); + removed++; + } else { + // Position didn't point at a backslash โ€” refuse to guess. + console.warn( + ` ! ${file.filePath}:${lineNo}:${col} expected '\\' but found ${JSON.stringify(line[at])}; skipped` + ); + skipped++; + } + } + lines[idx] = line; + } + + writeFileSync(file.filePath, lines.join('\n')); + filesChanged++; +} + +console.log(`Removed ${removed} unnecessary escapes across ${filesChanged} files (${skipped} skipped).`); +if (skipped > 0) process.exit(2); diff --git a/src/lib/data/book/parts/famous-outages.ts b/src/lib/data/book/parts/famous-outages.ts index fdfef07..6767c70 100644 --- a/src/lib/data/book/parts/famous-outages.ts +++ b/src/lib/data/book/parts/famous-outages.ts @@ -66,7 +66,7 @@ The fix was to install patched {{imp|IMP}} software that rejected sequence numbe **Public post-mortems became the norm.** [[rfc:789|RFC 789]] established that engineering organisations {{mqtt-publish|publish}} detailed root-cause analyses of their incidents. The {{google|Google}} SRE book, the {{cloudflare|Cloudflare}} incident reports, the Facebook 2021 write-up โ€” all descendants of this practice. -**Sequence-number arithmetic is paranoid by default.** Modern protocols reject any {{sequence-number|sequence number}} that is impossibly far in the past or future, instead of trusting wall-clock-style ordering. [[tcp|TCP]]\'s [[rfc:9293|PAWS]] (Protection Against Wrapped Sequences, [[rfc:7323|RFC 7323]]) is one example.` +**Sequence-number arithmetic is paranoid by default.** Modern protocols reject any {{sequence-number|sequence number}} that is impossibly far in the past or future, instead of trusting wall-clock-style ordering. [[tcp|TCP]]'s [[rfc:9293|PAWS]] (Protection Against Wrapped Sequences, [[rfc:7323|RFC 7323]]) is one example.` }, { type: 'image', @@ -125,7 +125,7 @@ What made the recovery so painful was that there was no way to tell [[bgp|BGP]] title: 'Why It Took Twenty-Five Years to Fix', text: `{{rpki|RPKI}} was specified in 2008. It took until 2026 to cross **50% of advertised [[ip|IP]] space covered**. The reason is the structure of [[bgp|BGP]] deployment. -For {{rpki|RPKI}} to fix the {{autonomous-system|AS}} 7007 problem, two parties have to participate: the prefix-holder must {{mqtt-publish|publish}} a Route Origin Authorisation ({{roa|ROA}}), and the receiving router must enforce {{rov|Route Origin Validation}} ({{rov|ROV}}). For the first decade after specification, only a handful of large networks ran {{rov|ROV}}. Smaller operators pointed out โ€” correctly โ€” that running {{rov|ROV}} with low {{roa|ROA}} coverage means dropping legitimate routes from peers who haven\'t signed yet. So nobody enforced. Without enforcement, signing your prefixes had no upside. Classic chicken-and-egg. +For {{rpki|RPKI}} to fix the {{autonomous-system|AS}} 7007 problem, two parties have to participate: the prefix-holder must {{mqtt-publish|publish}} a Route Origin Authorisation ({{roa|ROA}}), and the receiving router must enforce {{rov|Route Origin Validation}} ({{rov|ROV}}). For the first decade after specification, only a handful of large networks ran {{rov|ROV}}. Smaller operators pointed out โ€” correctly โ€” that running {{rov|ROV}} with low {{roa|ROA}} coverage means dropping legitimate routes from peers who haven't signed yet. So nobody enforced. Without enforcement, signing your prefixes had no upside. Classic chicken-and-egg. What broke the deadlock was a series of high-profile incidents (2018 Amazon Route 53 / MyEtherWallet hijack, 2018 Iranian Telegram hijack, 2019 SafeHost / China Telecom leak) that made unsigned networks look negligent. By 2022, the major hyperscalers and tier-1s were enforcing. By 2026, [[frontier:rpki-rov-50-percent|over 50%]] of advertised [[ip|IP]] space was covered. {{aspa|ASPA}} โ€” the {{autonomous-system|AS}}-path validation extension โ€” is the next chapter.` }, @@ -171,7 +171,7 @@ Mitnick used this to land a forged connection from a host listed in Shimomura's { type: 'callout', title: 'rsh / rlogin trust was the multiplier', - text: '[[tcp|TCP]] sequence prediction by itself is not catastrophic โ€” it just lets you forge a connection. The reason this attack worked is that Berkeley Unix\'s \`.rhosts\` mechanism trusted **the source {{ip-address|IP address}}** of an incoming connection as authentication. Forge the source [[ip|IP]], get the trust. [[ssh|SSH]] (which Tatu Ylรถnen wrote in 1995, partly in response to incidents like this one) replaced \`.rhosts\` with cryptographic identity โ€” even a perfectly forged [[tcp|TCP]] connection cannot impersonate someone without their {{private-key|private key}}.' + text: '[[tcp|TCP]] sequence prediction by itself is not catastrophic โ€” it just lets you forge a connection. The reason this attack worked is that Berkeley Unix\'s `.rhosts` mechanism trusted **the source {{ip-address|IP address}}** of an incoming connection as authentication. Forge the source [[ip|IP]], get the trust. [[ssh|SSH]] (which Tatu Ylรถnen wrote in 1995, partly in response to incidents like this one) replaced `.rhosts` with cryptographic identity โ€” even a perfectly forged [[tcp|TCP]] connection cannot impersonate someone without their {{private-key|private key}}.' }, { type: 'narrative', @@ -224,7 +224,7 @@ The technical legacy outlived the celebrity. **[[rfc:1948|RFC 1948]]** (Steve Be { type: 'narrative', title: 'A Domestic Block, A Global Outage', - text: `On 24 February 2008, the Pakistan Telecommunications Authority ordered domestic ISPs to block YouTube โ€” the immediate cause was a video the government considered blasphemous. Pakistan Telecom ({{autonomous-system|AS}} 17557) implemented the block using the standard "Remotely Triggered Blackhole" (RTBH) technique: inject a more-specific [[bgp|BGP]] route for YouTube\'s prefix into their internal network, pointing it at a null interface. Any traffic destined for YouTube would be silently dropped at the Pakistan Telecom edge. + text: `On 24 February 2008, the Pakistan Telecommunications Authority ordered domestic ISPs to block YouTube โ€” the immediate cause was a video the government considered blasphemous. Pakistan Telecom ({{autonomous-system|AS}} 17557) implemented the block using the standard "Remotely Triggered Blackhole" (RTBH) technique: inject a more-specific [[bgp|BGP]] route for YouTube's prefix into their internal network, pointing it at a null interface. Any traffic destined for YouTube would be silently dropped at the Pakistan Telecom edge. This is fine โ€” **as long as you don't propagate the route outside your network**.` }, @@ -233,7 +233,7 @@ This is fine โ€” **as long as you don't propagate the route outside your network title: 'The Leak', text: `Pakistan Telecom's upstream provider was PCCW Global ({{autonomous-system|AS}} 3491), a major Hong Kong-based {{transit|transit}}. PCCW Global was not filtering incoming [[bgp|BGP]] from Pakistan Telecom โ€” they accepted the bogus, more-specific YouTube route and propagated it onward to every PCCW {{peer|peer}}. From there it went global. -Within three minutes of the original injection, the entire internet believed the best path to YouTube\'s prefix was through Pakistan Telecom. Every YouTube request anywhere on the planet was being null-routed by a router in Karachi. YouTube\'s authoritative [[dns|DNS]] continued to resolve correctly; the actual [[tcp|TCP]] connections just disappeared into a black hole. +Within three minutes of the original injection, the entire internet believed the best path to YouTube's prefix was through Pakistan Telecom. Every YouTube request anywhere on the planet was being null-routed by a router in Karachi. YouTube's authoritative [[dns|DNS]] continued to resolve correctly; the actual [[tcp|TCP]] connections just disappeared into a black hole. YouTube was offline globally for two hours. PCCW Global eventually identified the bogus route and applied filtering, after which [[bgp|BGP]] convergence took another 30 minutes to restore reachability.` }, @@ -252,9 +252,9 @@ YouTube was offline globally for two hours. PCCW Global eventually identified th { type: 'narrative', title: 'Why "Most Specific Wins" Is Both Genius and Curse', - text: `[[bgp|BGP]]\'s "most specific prefix wins" rule has a beautiful property: it lets traffic engineering work without coordination. If your origin announces a /16 and your {{cdn|CDN}} announces a /20 inside that block, every router automatically prefers the {{cdn|CDN}} โ€” no negotiation needed. + text: `[[bgp|BGP]]'s "most specific prefix wins" rule has a beautiful property: it lets traffic engineering work without coordination. If your origin announces a /16 and your {{cdn|CDN}} announces a /20 inside that block, every router automatically prefers the {{cdn|CDN}} โ€” no negotiation needed. -The same rule is what made Pakistan/YouTube possible. A /24 inside YouTube\'s /22 wins, regardless of who is announcing it. The combination of "most specific wins" + "no origin validation" + "global propagation" turned every upstream provider into a single point of failure for every downstream customer\'s prefix integrity. +The same rule is what made Pakistan/YouTube possible. A /24 inside YouTube's /22 wins, regardless of who is announcing it. The combination of "most specific wins" + "no origin validation" + "global propagation" turned every upstream provider into a single point of failure for every downstream customer's prefix integrity. This is the structural reason [[bgp|BGP]] needs cryptography to fix it, not just better operational hygiene. Hygiene catches typos; cryptography catches deliberate hijacks. {{rpki|RPKI}} provides the cryptography. {{aspa|ASPA}} (the {{autonomous-system|AS}}-path validation extension, in {{ietf|IETF}} draft) closes the route-leak hole that origin validation alone cannot fix โ€” where {{autonomous-system|AS}} X **does** legitimately originate the prefix, but its upstream then leaks the route through an unintended path.` }, @@ -285,7 +285,7 @@ This is the structural reason [[bgp|BGP]] needs cryptography to fix it, not just title: 'Brief, Massive, Unexplained', text: `On 8 April 2010 at 15:54 {{utc-time|UTC}}, China Telecom ({{autonomous-system|AS}} 23724) announced [[bgp|BGP]] routes for approximately **37,000 prefixes** โ€” about **15% of the global {{routing-table|routing table}}** โ€” claiming to be the best path. For 18 minutes, traffic destined for U.S. military networks (.mil), several .gov domains, and major commercial sites (Dell, Yahoo, {{ibm|IBM}}, {{microsoft|Microsoft}}) was traversing China Telecom's network on its way to the legitimate destination. -The leak was caught by automated monitoring (BGPmon, {{ripe-ncc|RIPE}} RIS, RouteViews) within minutes. China Telecom\'s upstreams installed filters around 16:12 {{utc-time|UTC}}, and [[bgp|BGP]] convergence restored normal routing by 16:18.` +The leak was caught by automated monitoring (BGPmon, {{ripe-ncc|RIPE}} RIS, RouteViews) within minutes. China Telecom's upstreams installed filters around 16:12 {{utc-time|UTC}}, and [[bgp|BGP]] convergence restored normal routing by 16:18.` }, { type: 'narrative', @@ -356,9 +356,9 @@ The disclosure was coordinated across Red Hat, Canonical, SUSE, Debian, {{aws|AW { type: 'narrative', title: 'How a 23-Year-Old Option Survived Undetected', - text: `The {{sack|SACK}} option itself ([[rfc:2018|RFC 2018]], October 1996) had been working correctly for **23 years**. The bug was not in {{sack|SACK}}\'s logic; it was in a specific edge-case interaction with the **frags_per_skb** limit, increased in 2009 to support larger send buffers. + text: `The {{sack|SACK}} option itself ([[rfc:2018|RFC 2018]], October 1996) had been working correctly for **23 years**. The bug was not in {{sack|SACK}}'s logic; it was in a specific edge-case interaction with the **frags_per_skb** limit, increased in 2009 to support larger send buffers. -When {{sack|SACK}} indicated a large number of non-contiguous holes in the receive window, the kernel\'s logic for splitting the retransmit buffer into smaller skbs (socket buffers) miscalculated a 16-bit length field. The miscalculation overflowed, the kernel asserted, and the BUG_ON() panicked the system. +When {{sack|SACK}} indicated a large number of non-contiguous holes in the receive window, the kernel's logic for splitting the retransmit buffer into smaller skbs (socket buffers) miscalculated a 16-bit length field. The miscalculation overflowed, the kernel asserted, and the BUG_ON() panicked the system. The bug had been present in production code since 2009. It survived because: 1. The trigger required a specific combination of [[tcp|TCP]] options that no real client sent in normal traffic. @@ -366,7 +366,7 @@ The bug had been present in production code since 2009. It survived because: 3. Most performance benchmarks did not exercise the path. 4. {{sack|SACK}} was considered "battle-tested" โ€” engineers focused new attention on newer code paths instead. -Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]]\'s other options in unusual sequences. The same fuzzer found three additional related bugs ({{cve|CVE}}-2019-11478, 11479, 11479) that were patched in the same coordinated disclosure.` +Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]]'s other options in unusual sequences. The same fuzzer found three additional related bugs ({{cve|CVE}}-2019-11478, 11479, 11479) that were patched in the same coordinated disclosure.` }, { type: 'callout', @@ -385,9 +385,9 @@ Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]] title: 'What Changed After SACK Panic', text: `Three operational changes are now standard in production {{linux|Linux}} fleets. -**Continuous fuzzing of network code paths.** syzkaller runs against every {{linux|Linux}} kernel commit, generating millions of random syscall + packet sequences per day. Most CVEs in the kernel\'s [[tcp|TCP]]/[[ip|IP]] stack since 2019 have been found this way, not by humans. +**Continuous fuzzing of network code paths.** syzkaller runs against every {{linux|Linux}} kernel commit, generating millions of random syscall + packet sequences per day. Most CVEs in the kernel's [[tcp|TCP]]/[[ip|IP]] stack since 2019 have been found this way, not by humans. -**Faster {{cve|CVE}} response in distributed {{linux|Linux}} environments.** Pre-2019, large fleets often took weeks to roll out a kernel patch โ€” full reboot rotations, slow validation cycles. {{sack|SACK}} Panic forced the industry to invest in **live patching** (Red Hat\'s kpatch, Canonical\'s Livepatch, SUSE\'s kGraft) that can apply security fixes to a running kernel without reboot. By 2026, hyperscalers routinely live-patch kernel CVEs across millions of {{hosts-bare|hosts}} within hours. +**Faster {{cve|CVE}} response in distributed {{linux|Linux}} environments.** Pre-2019, large fleets often took weeks to roll out a kernel patch โ€” full reboot rotations, slow validation cycles. {{sack|SACK}} Panic forced the industry to invest in **live patching** (Red Hat's kpatch, Canonical's Livepatch, SUSE's kGraft) that can apply security fixes to a running kernel without reboot. By 2026, hyperscalers routinely live-patch kernel CVEs across millions of {{hosts-bare|hosts}} within hours. **Per-feature kill switches.** The {{sack|SACK}} Panic patch is gated behind a sysctl (\`net.ipv4.tcp_sack\`) so operators can disable {{sack|SACK}} entirely if a future bug surfaces โ€” without waiting for a kernel {{bgp-update|update}}. Modern kernel networking is full of such switches: an emergency lever for every major optional feature.` }, @@ -396,7 +396,7 @@ Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]] src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/250px-Tux.svg.png', alt: 'Tux โ€” the Linux mascot, a chubby cartoon penguin.', caption: - '**Tux**, the {{linux|Linux}} mascot, drawn by Larry Ewing in 1996. Behind that cheerful penguin sits a [[tcp|TCP]] stack on every internet-facing {{linux|Linux}} server on Earth โ€” and from 2009 to 2019 every one of them was a single crafted [[tcp|TCP]] packet away from \`kernel panic\`. The fix shipped 17 June 2019; the lesson โ€” **code stability is not code correctness** โ€” has reshaped {{linux|Linux}} kernel networking testing since.', + '**Tux**, the {{linux|Linux}} mascot, drawn by Larry Ewing in 1996. Behind that cheerful penguin sits a [[tcp|TCP]] stack on every internet-facing {{linux|Linux}} server on Earth โ€” and from 2009 to 2019 every one of them was a single crafted [[tcp|TCP]] packet away from `kernel panic`. The fix shipped 17 June 2019; the lesson โ€” **code stability is not code correctness** โ€” has reshaped {{linux|Linux}} kernel networking testing since.', credit: 'Image: Larry Ewing / lewing@isc.tamu.edu, public domain, via Wikimedia Commons' } ] @@ -423,16 +423,16 @@ Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]] title: 'A Rule That Killed Its Own Delivery Mechanism', text: `On 30 August 2020, CenturyLink ({{autonomous-system|AS}} 209 โ€” one of the largest tier-1 backbones in the U.S., now branded Lumen) propagated a [[bgp|BGP]] **Flowspec** rule across its global network. -Flowspec ([[rfc:5575|RFC 5575]], {{rfc-doc|RFC}} 8955) lets operators install {{firewall|firewall}}-like rules through [[bgp|BGP]] โ€” useful for distributing DDoS mitigation rules across thousands of routers in seconds. The rule in question was supposed to filter traffic for one customer\'s DDoS protection. +Flowspec ([[rfc:5575|RFC 5575]], {{rfc-doc|RFC}} 8955) lets operators install {{firewall|firewall}}-like rules through [[bgp|BGP]] โ€” useful for distributing DDoS mitigation rules across thousands of routers in seconds. The rule in question was supposed to filter traffic for one customer's DDoS protection. -The catastrophic mistake: the rule\'s match criteria included [[bgp|BGP]] control traffic itself. Routers received the rule, applied it, and immediately began dropping the [[bgp|BGP]] {{bgp-keepalive|keepalive}} packets carrying the next rule. [[bgp|BGP]] sessions timed out across the network. As sessions dropped, [[bgp|BGP]] withdrew every prefix learned through them. The network entered a cascading-failure mode.` +The catastrophic mistake: the rule's match criteria included [[bgp|BGP]] control traffic itself. Routers received the rule, applied it, and immediately began dropping the [[bgp|BGP]] {{bgp-keepalive|keepalive}} packets carrying the next rule. [[bgp|BGP]] sessions timed out across the network. As sessions dropped, [[bgp|BGP]] withdrew every prefix learned through them. The network entered a cascading-failure mode.` }, { type: 'narrative', title: 'Five Hours of Manual Recovery', text: `Once the bad rule had propagated, there was no automated way to retract it โ€” the very mechanism for retracting Flowspec rules ([[bgp|BGP]]) was the mechanism the rule had broken. Every router needed to be touched manually, either via out-of-band management or by physically connecting a console. -Recovery took **five hours**. During that window, approximately **3.5% of all global internet traffic dropped** โ€” a massive number for a single backbone. {{cloudflare|Cloudflare}}, Amazon, {{microsoft|Microsoft}}, and most of the U.S. tier-1 customers reported downtime. {{cloudflare|Cloudflare}}\'s detailed write-up the next day became required reading in [[bgp|BGP]] operations.` +Recovery took **five hours**. During that window, approximately **3.5% of all global internet traffic dropped** โ€” a massive number for a single backbone. {{cloudflare|Cloudflare}}, Amazon, {{microsoft|Microsoft}}, and most of the U.S. tier-1 customers reported downtime. {{cloudflare|Cloudflare}}'s detailed write-up the next day became required reading in [[bgp|BGP]] operations.` }, { type: 'callout', @@ -450,9 +450,9 @@ Recovery took **five hours**. During that window, approximately **3.5% of all gl title: 'The Architectural Concern That Remains', text: `CenturyLink rolled out automated controls preventing self-blocking rules. The broader industry adopted similar guards. But the underlying architectural concern โ€” **the same protocol distributes both data and the rules governing data** โ€” has no clean fix. -[[bgp|BGP]] is the universal control plane for internet routing. Flowspec rides on [[bgp|BGP]] because that\'s what every router already speaks. The alternative โ€” a separate out-of-band protocol for distributing filter rules โ€” would require new infrastructure on every router on the internet. The economic friction is too high; nobody is going to deploy it. +[[bgp|BGP]] is the universal control plane for internet routing. Flowspec rides on [[bgp|BGP]] because that's what every router already speaks. The alternative โ€” a separate out-of-band protocol for distributing filter rules โ€” would require new infrastructure on every router on the internet. The economic friction is too high; nobody is going to deploy it. -So we live with the architectural fragility and add operational guards. Every modern router\'s Flowspec implementation now refuses to install rules that would drop [[bgp|BGP]]\'s own ports (179) or the matching {{peer|peer}} addresses. Each new generation of routers adds more such guards. The lesson is incremental rather than fundamental: when you build a control plane on top of itself, every change to the control plane needs to be reviewed for self-consistency โ€” manually, before it ships.` +So we live with the architectural fragility and add operational guards. Every modern router's Flowspec implementation now refuses to install rules that would drop [[bgp|BGP]]'s own ports (179) or the matching {{peer|peer}} addresses. Each new generation of routers adds more such guards. The lesson is incremental rather than fundamental: when you build a control plane on top of itself, every change to the control plane needs to be reviewed for self-consistency โ€” manually, before it ships.` }, { type: 'image', @@ -484,23 +484,23 @@ So we live with the architectural fragility and add operational guards. Every mo { type: 'narrative', title: 'A Routine Maintenance Command, Then Six Hours', - text: `On 4 October 2021 at 15:39 {{utc-time|UTC}}, a Facebook engineer ran a routine maintenance command on the backbone connecting Facebook's data centres. The command was supposed to assess capacity by temporarily withdrawing a single backbone link\'s [[bgp|BGP]] advertisements, then restoring them. + text: `On 4 October 2021 at 15:39 {{utc-time|UTC}}, a Facebook engineer ran a routine maintenance command on the backbone connecting Facebook's data centres. The command was supposed to assess capacity by temporarily withdrawing a single backbone link's [[bgp|BGP]] advertisements, then restoring them. -The command had a bug. It withdrew **all** of Facebook\'s [[bgp|BGP]] route advertisements globally โ€” not just for the one link it was supposed to assess. Within minutes, every facebook.com, instagram.com, and whatsapp.com lookup returned NXDOMAIN. **3.5 billion users disconnected.** +The command had a bug. It withdrew **all** of Facebook's [[bgp|BGP]] route advertisements globally โ€” not just for the one link it was supposed to assess. Within minutes, every facebook.com, instagram.com, and whatsapp.com lookup returned NXDOMAIN. **3.5 billion users disconnected.** That was the easy part of the cascade.` }, { type: 'narrative', title: 'The DNS Black Hole', - text: `Facebook\'s authoritative [[dns|DNS]] servers were inside the data centres that just lost their [[bgp|BGP]] advertisements. Resolvers around the world tried to query them โ€” and got nothing back, because the [[ip|IP]] addresses no longer routed anywhere. + text: `Facebook's authoritative [[dns|DNS]] servers were inside the data centres that just lost their [[bgp|BGP]] advertisements. Resolvers around the world tried to query them โ€” and got nothing back, because the [[ip|IP]] addresses no longer routed anywhere. -After a brief period of cached responses, every cached record expired (typical TTLs are minutes, not hours). [[dns|DNS]] resolution for Facebook\'s domains failed worldwide. **Without [[dns|DNS]]**, Facebook\'s internal systems โ€” Workplace, Calendar, internal monitoring, [[oauth2|OAuth]], the company directory โ€” all failed. Engineers could not reach their own infrastructure remotely. They could not even verify that the outage was [[bgp|BGP]]-related, because their monitoring tools couldn\'t resolve internal hostnames.` +After a brief period of cached responses, every cached record expired (typical TTLs are minutes, not hours). [[dns|DNS]] resolution for Facebook's domains failed worldwide. **Without [[dns|DNS]]**, Facebook's internal systems โ€” Workplace, Calendar, internal monitoring, [[oauth2|OAuth]], the company directory โ€” all failed. Engineers could not reach their own infrastructure remotely. They could not even verify that the outage was [[bgp|BGP]]-related, because their monitoring tools couldn't resolve internal hostnames.` }, { type: 'narrative', title: 'The Badge Readers', - text: `The next layer of cascade was the part that made the outage famous in the broader world. Facebook\'s **physical security infrastructure** โ€” door badge readers at the data centres โ€” depended on the same authentication system that had just disappeared. + text: `The next layer of cascade was the part that made the outage famous in the broader world. Facebook's **physical security infrastructure** โ€” door badge readers at the data centres โ€” depended on the same authentication system that had just disappeared. Engineers headed to the data centres physically. They could not enter the buildings. The badge system was offline. They had to be physically escorted in by on-site security staff who could manually override the locks. Then, once inside, they had to find the specific machines that needed manual intervention โ€” and the data-centre wayfinding tools were also offline. @@ -522,7 +522,7 @@ The first [[bgp|BGP]] fix went in around 21:00 {{utc-time|UTC}}. Recovery took u title: 'What Changed After Facebook 2021', text: `Three structural changes rolled through the industry in the eighteen months after the outage. -**Out-of-band recovery for authoritative [[dns|DNS]].** Facebook (and others) moved to a model where authoritative [[dns|DNS]] for their critical domains is reachable through multiple independent network paths โ€” including paths that do not depend on the company\'s own backbone. {{cloudflare|Cloudflare}} and {{aws|AWS}} Route 53 both saw enterprise growth as customers moved [[dns|DNS]] to "if our network is down, our [[dns|DNS]] is still up." +**Out-of-band recovery for authoritative [[dns|DNS]].** Facebook (and others) moved to a model where authoritative [[dns|DNS]] for their critical domains is reachable through multiple independent network paths โ€” including paths that do not depend on the company's own backbone. {{cloudflare|Cloudflare}} and {{aws|AWS}} Route 53 both saw enterprise growth as customers moved [[dns|DNS]] to "if our network is down, our [[dns|DNS]] is still up." **Physical access systems on independent networks.** Badge readers, door locks, environmental controls, fire suppression โ€” anything that needs to work during a network outage โ€” now runs on dedicated, isolated networks at most hyperscalers. The lesson: physical security cannot depend on the network whose data centre it secures. @@ -558,22 +558,22 @@ The first [[bgp|BGP]] fix went in around 21:00 {{utc-time|UTC}}. Recovery took u { type: 'narrative', title: 'When the ISP Is the Country', - text: `On 8 July 2022 at 04:45 EDT, Rogers Communications โ€” the largest {{isp|ISP}} and mobile carrier in Canada, serving over **11 million subscribers** โ€” went down nationally. For 15 hours, Rogers customers had no internet, no mobile signal, no landline (Rogers also runs Canada\'s largest {{voip|VoIP}}-based home phone service through its Hi-Speed Internet bundles), no Interac debit transactions (Interac\'s national network runs over Rogers connectivity), and **no 911 service** in many regions. + text: `On 8 July 2022 at 04:45 EDT, Rogers Communications โ€” the largest {{isp|ISP}} and mobile carrier in Canada, serving over **11 million subscribers** โ€” went down nationally. For 15 hours, Rogers customers had no internet, no mobile signal, no landline (Rogers also runs Canada's largest {{voip|VoIP}}-based home phone service through its Hi-Speed Internet bundles), no Interac debit transactions (Interac's national network runs over Rogers connectivity), and **no 911 service** in many regions. -The trigger was a misconfiguration during a planned maintenance {{bgp-update|update}} to the Rogers [[ip|IP]]/MPLS core. A bad route policy caused control-plane {{cpu|CPU}} exhaustion across Rogers\' core routers โ€” they spent so much {{cpu|CPU}} recomputing routes in response to the bad policy that they had no cycles left to actually forward traffic.` +The trigger was a misconfiguration during a planned maintenance {{bgp-update|update}} to the Rogers [[ip|IP]]/MPLS core. A bad route policy caused control-plane {{cpu|CPU}} exhaustion across Rogers' core routers โ€” they spent so much {{cpu|CPU}} recomputing routes in response to the bad policy that they had no cycles left to actually forward traffic.` }, { type: 'narrative', title: 'A Country-Wide Cascade', - text: `The downstream effects revealed how deeply a single carrier\'s connectivity had been woven into Canadian infrastructure. + text: `The downstream effects revealed how deeply a single carrier's connectivity had been woven into Canadian infrastructure. -**Banking and payments**: Interac\'s e-Transfer service stopped working nationwide. Most debit-card transactions failed. Some ATMs went offline. Several major retailers had to close because they could not accept payment. +**Banking and payments**: Interac's e-Transfer service stopped working nationwide. Most debit-card transactions failed. Some ATMs went offline. Several major retailers had to close because they could not accept payment. **Healthcare**: Several hospital systems lost connectivity to Rogers-hosted services. Telehealth platforms that depended on Rogers {{voip|VoIP}} failed. -**Government services**: Service Canada\'s online portals were unreachable from Rogers networks. The Canada Border Services Agency reported delays at land crossings. +**Government services**: Service Canada's online portals were unreachable from Rogers networks. The Canada Border Services Agency reported delays at land crossings. -**Emergency services**: 911 calls failed in many areas. Some provinces issued public advisories telling residents to use neighbours\' phones, alternate networks, or visit fire stations directly. +**Emergency services**: 911 calls failed in many areas. Some provinces issued public advisories telling residents to use neighbours' phones, alternate networks, or visit fire stations directly. Recovery required Rogers engineers to log in to individual core routers (over out-of-band management, which thankfully was separate) and manually roll back the change. By 21:00 EDT, partial service was restored. Full service took until 14 July โ€” six days of intermittent issues for some customers.` }, @@ -593,8 +593,8 @@ Recovery required Rogers engineers to log in to individual core routers (over ou title: 'The Regulatory Aftermath', text: `The {{crtc|CRTC}} (Canadian Radio-television and Telecommunications Commission) issued a formal decision on 22 March 2023 requiring all major Canadian carriers to: -1. Implement **reciprocal roaming for emergency calls** within six months โ€” so that a phone unable to reach its own carrier can still complete 911 calls through any competing carrier\'s tower. -2. Submit **detailed network architecture and dependency reports** annually, including every system that depends on the carrier\'s network for life-safety functions. +1. Implement **reciprocal roaming for emergency calls** within six months โ€” so that a phone unable to reach its own carrier can still complete 911 calls through any competing carrier's tower. +2. Submit **detailed network architecture and dependency reports** annually, including every system that depends on the carrier's network for life-safety functions. 3. Maintain **out-of-band management** independent of the production network for all core routing infrastructure. 4. Conduct **annual outage simulations** with the federal government, including coordinated emergency-services {{failover|failover}}. @@ -641,7 +641,7 @@ Approximately **125 million devices** became unreachable for **up to twelve hour Several states issued public advisories during the outage telling AT&T customers to: - Use [[wifi|Wi-Fi]] calling (which routes through the home internet rather than the cellular network) -- Switch to a different carrier\'s {{sim-usim|SIM}} if available +- Switch to a different carrier's {{sim-usim|SIM}} if available - Use landlines if accessible - Walk or drive to the nearest fire station, police station, or hospital @@ -663,7 +663,7 @@ The {{fcc|FCC}} opened a formal investigation under the 2018 911 Reliability Rul title: 'The Canary-Deployment Maturity Gap', text: `The web/cloud industry adopted canary deployments more than a decade ago โ€” every meaningful change rolls out to 0.1%, then 1%, then 10%, then 100% of traffic, with automatic rollback on failure indicators. The telecom industry has lagged. -Reasons for the lag are structural. Wireless networks have **strong global consistency requirements** that don\'t align cleanly with canary deployment โ€” you can\'t have one cell tower running a different version of the radio access network protocol than the towers next to it without breaking handoff. Some configuration changes are necessarily global. Some changes are necessarily simultaneous (e.g., security updates that close a known vulnerability). +Reasons for the lag are structural. Wireless networks have **strong global consistency requirements** that don't align cleanly with canary deployment โ€” you can't have one cell tower running a different version of the radio access network protocol than the towers next to it without breaking handoff. Some configuration changes are necessarily global. Some changes are necessarily simultaneous (e.g., security updates that close a known vulnerability). Post-AT&T-2024, the industry consensus is that **most changes can be canaried** โ€” even in wireless cores โ€” and the small number that genuinely cannot should receive correspondingly more pre-deployment review. The architectural debate, ongoing, is whether the same caution should apply to security patches that need to ship fast: a mass-deployment outage and an unpatched-{{cve|CVE}} outage are both bad in different ways, and the correct trade-off is not obvious.` }, diff --git a/src/lib/data/book/parts/layer-2-3.ts b/src/lib/data/book/parts/layer-2-3.ts index e41f33c..b106ce3 100644 --- a/src/lib/data/book/parts/layer-2-3.ts +++ b/src/lib/data/book/parts/layer-2-3.ts @@ -317,7 +317,7 @@ It then took **twenty-eight years** to reach 50% adoption. The reason is not tec { type: 'narrative', title: 'The 50.1% Crossing โ€” And Why It Inflected', - text: `**On 28 March 2026, {{google|Google}}\'s [[ipv6|IPv6]] dashboard recorded 50.1% for the first time** โ€” [[ipv6|IPv6]] briefly surpassed [[ip|IPv4]] in {{google|Google}}'s measured user base. {{apnic|APNIC}} Labs and {{cloudflare|Cloudflare}} Radar still place global [[ipv6|IPv6]] capability in the **40-43%** range; the 50% number is a {{google|Google}}-specific snapshot. But it is a milestone the community has been waiting for since 1995. + text: `**On 28 March 2026, {{google|Google}}'s [[ipv6|IPv6]] dashboard recorded 50.1% for the first time** โ€” [[ipv6|IPv6]] briefly surpassed [[ip|IPv4]] in {{google|Google}}'s measured user base. {{apnic|APNIC}} Labs and {{cloudflare|Cloudflare}} Radar still place global [[ipv6|IPv6]] capability in the **40-43%** range; the 50% number is a {{google|Google}}-specific snapshot. But it is a milestone the community has been waiting for since 1995. Adoption inflected when **mobile carriers** went [[ipv6|IPv6]]-mostly for cellular subscribers. **T-Mobile US** moved its mobile core to [[ipv6|IPv6]]-only with {{four-six-four-xlat|464XLAT}} (Cameron Byrne, NANOG 61, 2014) โ€” the production case study that defined the pattern. **Reliance Jio (India)** launched [[ipv6|IPv6]]-first in 2016 โ€” >237M [[ipv6|IPv6]] users by 2017 โ€” single biggest reason India's [[ipv6|IPv6]] share now runs 67-80%. **{{meta|Meta}}** runs >99% of internal datacenter traffic over [[ipv6|IPv6]]; entire new clusters are [[ipv6|IPv6]]-only. {{meta|Meta}} says **internal [[ipv6|IPv6]] is 10-15% faster than [[ip|IPv4]]** (and on one carrier mobile measurement, 40% faster). @@ -526,12 +526,12 @@ The first six TLDs were **\`.edu, .gov, .com, .mil, .org, .net\`**, with **\`.in { type: 'callout', title: '.onion is a special-use carve-out', - text: '**{{iana|IANA}} reserved \`.onion\` as a Special-Use Domain Name ([[rfc:7686|RFC 7686]], 2015) โ€” MUST NOT be looked up in public [[dns|DNS]].** A rare carve-out outside {{icann|ICANN}}\'s namespace, granted because the Tor protocol uses .onion as an internal addressing scheme rather than a public naming hierarchy. The reservation prevents accidental [[dns|DNS]] leakage of Tor traffic.' + text: '**{{iana|IANA}} reserved `.onion` as a Special-Use Domain Name ([[rfc:7686|RFC 7686]], 2015) โ€” MUST NOT be looked up in public [[dns|DNS]].** A rare carve-out outside {{icann|ICANN}}\'s namespace, granted because the Tor protocol uses .onion as an internal addressing scheme rather than a public naming hierarchy. The reservation prevents accidental [[dns|DNS]] leakage of Tor traffic.' }, { type: 'narrative', title: 'The Kaminsky Moment, And Modern DNSSEC', - text: `**Dan Kaminsky\'s {{cve|CVE}}-2008-1447 (July 2008)** turned every {{recursive-resolver|recursive resolver}} in the world into a cache-poisoning target by abusing in-bailiwick referrals + the small (16-bit) [[dns|DNS]] transaction {{id-identifier|ID}}. The disclosure was coordinated across all major [[dns|DNS]] vendors; patches added **source-port randomisation** as the immediate mitigation. The deeper fix is **{{dnssec|DNSSEC}}**, which has been deploying glacially. + text: `**Dan Kaminsky's {{cve|CVE}}-2008-1447 (July 2008)** turned every {{recursive-resolver|recursive resolver}} in the world into a cache-poisoning target by abusing in-bailiwick referrals + the small (16-bit) [[dns|DNS]] transaction {{id-identifier|ID}}. The disclosure was coordinated across all major [[dns|DNS]] vendors; patches added **source-port randomisation** as the immediate mitigation. The deeper fix is **{{dnssec|DNSSEC}}**, which has been deploying glacially. **KeyTrap ({{cve|CVE}}-2023-50387, February 2024)**: ATHENE researchers (Heftrig, Schulmann, Vogel, Waidner) disclosed inherent {{dnssec|DNSSEC}} validation complexity attacks โ€” CVSS 7.5. BIND, Unbound, PowerDNS, Knot all patched, but the underlying {{dnssec|DNSSEC}} RFCs themselves are the issue. {{dnssec|DNSSEC}} is conceptually right and operationally fragile. diff --git a/src/lib/data/book/parts/utilities-security.ts b/src/lib/data/book/parts/utilities-security.ts index 4972c9b..6104f89 100644 --- a/src/lib/data/book/parts/utilities-security.ts +++ b/src/lib/data/book/parts/utilities-security.ts @@ -40,7 +40,7 @@ In 1999 the {{ietf|IETF}} took ownership and renamed it [[tls|TLS]] 1.0 ([[rfc:2 { type: 'callout', title: 'TLS 1.3 has middlebox-compatibility hacks built in', - text: 'The "everyone gets it wrong" wire fact: **[[tls|TLS]] 1.3 {{client-hello|ClientHello}}.legacy_version = 0x0303** ([[tls|TLS]] 1.2); the real version goes in the \`supported_versions\` extension. **legacy_session_id is non-empty** (faking {{session-resumption|session resumption}}). Both sides send a no-op **ChangeCipherSpec record** after their first flight. All of this is because middleboxes broke when they saw real [[tls|TLS]] 1.3 wire format. The protocol is technically clean; the wire encoding is a deliberate camouflage.' + text: 'The "everyone gets it wrong" wire fact: **[[tls|TLS]] 1.3 {{client-hello|ClientHello}}.legacy_version = 0x0303** ([[tls|TLS]] 1.2); the real version goes in the `supported_versions` extension. **legacy_session_id is non-empty** (faking {{session-resumption|session resumption}}). Both sides send a no-op **ChangeCipherSpec record** after their first flight. All of this is because middleboxes broke when they saw real [[tls|TLS]] 1.3 wire format. The protocol is technically clean; the wire encoding is a deliberate camouflage.' }, { type: 'narrative', @@ -253,7 +253,7 @@ Before [[oauth2|OAuth]], an app that wanted access to your {{google|Google}} cal { type: 'callout', title: 'The Road to Hell resignation', - text: '**The "Road to Hell" resignation (26 July 2012)**: Eran Hammer published *"[[oauth2|OAuth]] 2.0 and the Road to Hell"* โ€” most famous resignation in modern protocol history. His core line: *"WS-\* bad"* โ€” shorthand among {{ietf|IETF}} veterans for any standard sunk by enterprise committee design. The "everyone gets it wrong" framework fact: **[[oauth2|OAuth]] 2.0 is technically a framework, not a protocol.** [[rfc:6749|RFC 6749]]\'s abstract itself warns *"this specification is likely to produce a wide range of non-interoperable implementations"* โ€” language Hammer fought to insert.' + text: '**The "Road to Hell" resignation (26 July 2012)**: Eran Hammer published *"[[oauth2|OAuth]] 2.0 and the Road to Hell"* โ€” most famous resignation in modern protocol history. His core line: *"WS-* bad"* โ€” shorthand among {{ietf|IETF}} veterans for any standard sunk by enterprise committee design. The "everyone gets it wrong" framework fact: **[[oauth2|OAuth]] 2.0 is technically a framework, not a protocol.** [[rfc:6749|RFC 6749]]\'s abstract itself warns *"this specification is likely to produce a wide range of non-interoperable implementations"* โ€” language Hammer fought to insert.' }, { type: 'narrative', diff --git a/src/lib/data/book/parts/web-api.ts b/src/lib/data/book/parts/web-api.ts index 529f048..ab65816 100644 --- a/src/lib/data/book/parts/web-api.ts +++ b/src/lib/data/book/parts/web-api.ts @@ -392,7 +392,7 @@ That changed when LLMs started streaming tokens. **OpenAI, {{anthropic|Anthropic { type: 'callout', title: 'The 2024-2026 CVE wave for WebSocket', - text: '[[rfc:6455|RFC 6455]] itself has not changed. The ecosystem has. Major CVEs in major implementations: **{{cve|CVE}}-2024-37890** in Node \`ws\`; **{{cve|CVE}}-2025-10148** in libcurl reviving the very cache-poisoning attack masking was designed to prevent; **{{cve|CVE}}-2025-43855** in tRPC; **{{cve|CVE}}-2025-5399** in libcurl. \`gorilla/websocket\` was archived in late 2022 and unarchived under community maintenance; \`nhooyr/websocket\` was renamed to \`coder/websocket\` in 2024. The protocol is stable; the implementations are not.' + text: '[[rfc:6455|RFC 6455]] itself has not changed. The ecosystem has. Major CVEs in major implementations: **{{cve|CVE}}-2024-37890** in Node `ws`; **{{cve|CVE}}-2025-10148** in libcurl reviving the very cache-poisoning attack masking was designed to prevent; **{{cve|CVE}}-2025-43855** in tRPC; **{{cve|CVE}}-2025-5399** in libcurl. `gorilla/websocket` was archived in late 2022 and unarchived under community maintenance; `nhooyr/websocket` was renamed to `coder/websocket` in 2024. The protocol is stable; the implementations are not.' }, { type: 'narrative', diff --git a/src/lib/data/category-stories/wireless.ts b/src/lib/data/category-stories/wireless.ts index c5a5495..084c84b 100644 --- a/src/lib/data/category-stories/wireless.ts +++ b/src/lib/data/category-stories/wireless.ts @@ -176,7 +176,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo year: 2025, title: 'T-Mobile + SpaceX Direct-to-Cell launches commercially', description: - "The first commercial **satellite-to-cell** service. Standard band n25/n26 phones {{mqtt-connect|connect}} to low-Earth-orbit {{starlink|Starlink}} satellites for {{sms|SMS}} and emergency. {{apple|Apple}}\'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Reshapes \"coverage\" as a concept: \"no signal\" no longer means *no signal*.", + "The first commercial **satellite-to-cell** service. Standard band n25/n26 phones {{mqtt-connect|connect}} to low-Earth-orbit {{starlink|Starlink}} satellites for {{sms|SMS}} and emergency. {{apple|Apple}}'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Reshapes \"coverage\" as a concept: \"no signal\" no longer means *no signal*.", protocolId: 'cellular' } ] diff --git a/src/lib/data/concept-foundations.ts b/src/lib/data/concept-foundations.ts index ddc1b92..c5d126f 100644 --- a/src/lib/data/concept-foundations.ts +++ b/src/lib/data/concept-foundations.ts @@ -288,7 +288,7 @@ This division of labour โ€” [[ip|IP]] for end-to-end identity, MAC for hop-to-ho { type: 'callout', title: 'Why an IP looks like four numbers', - text: '[[ip|IPv4]] addresses are 32 bits, conventionally written as four decimal numbers separated by dots: \`192.0.2.5\` is just \`11000000.00000010.00000000.00000101\` in dotted-decimal. The notation is for humans. The router only sees the bits. When you write a {{cidr|CIDR}} prefix like \`192.0.2.0/24\`, the \`/24\` says "the first 24 bits are the network; the last 8 are the host" โ€” a {{routing-table|routing table}} lookup compares those leading bits against its prefix entries to pick the next {{hop|hop}}.' + text: '[[ip|IPv4]] addresses are 32 bits, conventionally written as four decimal numbers separated by dots: `192.0.2.5` is just `11000000.00000010.00000000.00000101` in dotted-decimal. The notation is for humans. The router only sees the bits. When you write a {{cidr|CIDR}} prefix like `192.0.2.0/24`, the `/24` says "the first 24 bits are the network; the last 8 are the host" โ€” a {{routing-table|routing table}} lookup compares those leading bits against its prefix entries to pick the next {{hop|hop}}.' } ] }, @@ -435,7 +435,7 @@ This is also why [[quic|QUIC]] runs over [[udp|UDP]] port 443 ([[http3|HTTP/3]]) { type: 'callout', title: 'How a load balancer works at the port level', - text: 'A load balancer like nginx or HAProxy binds to port 443, accepts the inbound [[tcp|TCP]]/[[tls|TLS]] connection, then opens a **separate** outbound connection to one of N backend servers. From the client\'s perspective there is one connection; from the backends\' perspective there are many. The two connections are stitched together in user space. This is why the source [[ip|IP]] at the backend is the load balancer\'s, not the original client\'s, unless you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}} like \`X-Forwarded-For\`.' + text: 'A load balancer like nginx or HAProxy binds to port 443, accepts the inbound [[tcp|TCP]]/[[tls|TLS]] connection, then opens a **separate** outbound connection to one of N backend servers. From the client\'s perspective there is one connection; from the backends\' perspective there are many. The two connections are stitched together in user space. This is why the source [[ip|IP]] at the backend is the load balancer\'s, not the original client\'s, unless you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}} like `X-Forwarded-For`.' } ] }, diff --git a/src/lib/data/concepts.ts b/src/lib/data/concepts.ts index f658cbe..2108412 100644 --- a/src/lib/data/concepts.ts +++ b/src/lib/data/concepts.ts @@ -2072,7 +2072,7 @@ export const concepts: Concept[] = [ id: 'slo-sli-sla', term: 'SLO / SLI / SLA', definition: - "Three nested concepts from Google\'s SRE practice. An *SLI* (Service Level Indicator) is a measurement (e.g., 99th-percentile latency). An *SLO* (Objective) is the target you set for it (\"99.9% of requests under 200 ms over 30 days\"). An *SLA* (Agreement) is the externally-promised version with consequences if missed. The gap between an SLO and an SLA is your error budget.", + "Three nested concepts from Google's SRE practice. An *SLI* (Service Level Indicator) is a measurement (e.g., 99th-percentile latency). An *SLO* (Objective) is the target you set for it (\"99.9% of requests under 200 ms over 30 days\"). An *SLA* (Agreement) is the externally-promised version with consequences if missed. The gap between an SLO and an SLA is your error budget.", wikiUrl: 'https://sre.google/sre-book/service-level-objectives/', category: 'infrastructure' }, @@ -2080,7 +2080,7 @@ export const concepts: Concept[] = [ id: 'tail-latency', term: 'Tail Latency (p99, p999)', definition: - "The high-percentile latencies that dominate user experience but disappear in averages. p99 is \"99% of requests are at least this fast\" โ€” and at internet scale every user hits p99+ multiple times per session. Jeff Dean and Luiz Barroso\'s 2013 paper \"The Tail at Scale\" is the canonical text.", + "The high-percentile latencies that dominate user experience but disappear in averages. p99 is \"99% of requests are at least this fast\" โ€” and at internet scale every user hits p99+ multiple times per session. Jeff Dean and Luiz Barroso's 2013 paper \"The Tail at Scale\" is the canonical text.", wikiUrl: 'https://research.google/pubs/the-tail-at-scale/', category: 'infrastructure' }, @@ -2088,7 +2088,7 @@ export const concepts: Concept[] = [ id: 'trace-span', term: 'Trace / Span', definition: - "The distributed-tracing data model. A *trace* represents one request\'s end-to-end journey. Each unit of work along the way (an HTTP call, a database query, a queue publish) is a *span* with a start time, end time, and a parent span. Spans form a tree across services. OpenTelemetry is the standard wire format; Jaeger, Tempo, and Zipkin are common UIs.", + "The distributed-tracing data model. A *trace* represents one request's end-to-end journey. Each unit of work along the way (an HTTP call, a database query, a queue publish) is a *span* with a start time, end time, and a parent span. Spans form a tree across services. OpenTelemetry is the standard wire format; Jaeger, Tempo, and Zipkin are common UIs.", wikiUrl: 'https://opentelemetry.io/docs/concepts/signals/traces/', category: 'infrastructure' }, @@ -2242,7 +2242,7 @@ export const concepts: Concept[] = [ id: 'pfs', term: 'PFS (Perfect Forward Secrecy)', definition: - "A property of a key-exchange protocol where compromising one session\'s long-term key does **not** compromise past sessions. Achieved by deriving each session key from an ephemeral Diffie-Hellman exchange. [[tls|TLS]] 1.3 enforces it; [[ipsec|IKEv2]] gets it via fresh DH/KEM in CREATE_CHILD_SA rekeys.", + "A property of a key-exchange protocol where compromising one session's long-term key does **not** compromise past sessions. Achieved by deriving each session key from an ephemeral Diffie-Hellman exchange. [[tls|TLS]] 1.3 enforces it; [[ipsec|IKEv2]] gets it via fresh DH/KEM in CREATE_CHILD_SA rekeys.", wikiUrl: 'https://en.wikipedia.org/wiki/Forward_secrecy', category: 'security' }, @@ -2994,7 +2994,7 @@ export const concepts: Concept[] = [ id: 'bbrv3', term: 'BBRv3', definition: - "The 2023+ revision of {{bbr|BBR}} that addresses the v1 fairness problems with {{cubic|CUBIC}} and packet-conservation gaps. Now \`draft-ietf-ccwg-bbr\` (-04 / -05, 2025โ€“2026); Google has run it as the default on google.com and YouTube traffic since 2023. Available in Linux via \`sysctl net.ipv4.tcp_congestion_control=bbr\` paired with FQ qdisc.", + "The 2023+ revision of {{bbr|BBR}} that addresses the v1 fairness problems with {{cubic|CUBIC}} and packet-conservation gaps. Now `draft-ietf-ccwg-bbr` (-04 / -05, 2025โ€“2026); Google has run it as the default on google.com and YouTube traffic since 2023. Available in Linux via `sysctl net.ipv4.tcp_congestion_control=bbr` paired with FQ qdisc.", category: 'protocol-mechanics' }, @@ -3011,7 +3011,7 @@ export const concepts: Concept[] = [ id: 'moq', term: 'MoQ (Media over QUIC)', definition: - "The {{ietf|IETF}} working group and protocol family designing the next-generation sub-second live streaming transport on top of [[quic|QUIC]]. \`draft-ietf-moq-transport\` (-17 in March 2026) is the core protocol โ€” co-edited by Suhas Nandakumar (Cisco), Victor Vasiliev (Google), Ian Swett (Google), and Alan Frindell (Meta). Designed to replace the [[rtmp|RTMP]]โ†’[[hls|HLS]] pipeline. Cloudflare runs production MoQ relays across 330+ cities.", + "The {{ietf|IETF}} working group and protocol family designing the next-generation sub-second live streaming transport on top of [[quic|QUIC]]. `draft-ietf-moq-transport` (-17 in March 2026) is the core protocol โ€” co-edited by Suhas Nandakumar (Cisco), Victor Vasiliev (Google), Ian Swett (Google), and Alan Frindell (Meta). Designed to replace the [[rtmp|RTMP]]โ†’[[hls|HLS]] pipeline. Cloudflare runs production MoQ relays across 330+ cities.", category: 'protocol-mechanics' }, diff --git a/src/lib/data/protocols/arp.ts b/src/lib/data/protocols/arp.ts index 8c5b399..541c566 100644 --- a/src/lib/data/protocols/arp.ts +++ b/src/lib/data/protocols/arp.ts @@ -23,7 +23,7 @@ Under the hood, [[arp|ARP]] uses EtherType 0x0806 and operates directly on [[eth { title: 'Broadcast ARP request', description: - 'If no cache entry exists, the sender crafts an [[arp|ARP]] request with its own [[ip|IP]]/{{mac-address|MAC}} as the source and the target [[ip|IP]] with an empty {{mac-address|MAC}} (\`00:00:00:00:00:00\`). This is sent as an [[ethernet|Ethernet]] {{broadcast|broadcast}} (\`FF:FF:FF:FF:FF:FF\`), reaching every device on the local segment.' + 'If no cache entry exists, the sender crafts an [[arp|ARP]] request with its own [[ip|IP]]/{{mac-address|MAC}} as the source and the target [[ip|IP]] with an empty {{mac-address|MAC}} (`00:00:00:00:00:00`). This is sent as an [[ethernet|Ethernet]] {{broadcast|broadcast}} (`FF:FF:FF:FF:FF:FF`), reaching every device on the local segment.' }, { title: 'Unicast ARP reply', diff --git a/src/lib/data/protocols/bluetooth.ts b/src/lib/data/protocols/bluetooth.ts index faec0c9..cc4a54e 100644 --- a/src/lib/data/protocols/bluetooth.ts +++ b/src/lib/data/protocols/bluetooth.ts @@ -327,7 +327,7 @@ CRC: x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1, seeded by Access Address.` }, { title: 'Wi-Fi coexistence on 2.4 GHz', - text: "{{ble|BLE}} channels 37/38/39 (advertising) sit at 2402, 2426, and 2480 MHz โ€” carefully chosen to **avoid** [[wifi|Wi-Fi]] channels 1/6/11 (2412/2437/2462 MHz). But the 37 data channels (0โ€“36) overlap. Modern combo chips do time-division arbitration internally; on a discrete radio, a saturated [[wifi|Wi-Fi]] {{ap-access-point|AP}} can starve {{ble|BLE}} for tens of seconds. **Cure:** if running mission-critical {{ble|BLE}} next to enterprise Wi-Fi, fix the Wi-Fi APs to use 5/6 GHz where possible, or use **{{le-audio|LE}} Coded S=8** which trades 8ร— more {{airtime|airtime}} for 8ร— better link budget โ€” surviving interference where {{le-audio|LE}} 1M won\'t." + text: "{{ble|BLE}} channels 37/38/39 (advertising) sit at 2402, 2426, and 2480 MHz โ€” carefully chosen to **avoid** [[wifi|Wi-Fi]] channels 1/6/11 (2412/2437/2462 MHz). But the 37 data channels (0โ€“36) overlap. Modern combo chips do time-division arbitration internally; on a discrete radio, a saturated [[wifi|Wi-Fi]] {{ap-access-point|AP}} can starve {{ble|BLE}} for tens of seconds. **Cure:** if running mission-critical {{ble|BLE}} next to enterprise Wi-Fi, fix the Wi-Fi APs to use 5/6 GHz where possible, or use **{{le-audio|LE}} Coded S=8** which trades 8ร— more {{airtime|airtime}} for 8ร— better link budget โ€” surviving interference where {{le-audio|LE}} 1M won't." } ] } diff --git a/src/lib/data/protocols/cellular.ts b/src/lib/data/protocols/cellular.ts index da93ec1..3ec7767 100644 --- a/src/lib/data/protocols/cellular.ts +++ b/src/lib/data/protocols/cellular.ts @@ -36,7 +36,7 @@ The frontier in 2026 is **5G-Advanced** (Release 18, frozen June 2024; Release 1 { title: 'RRC โ€” connection state machine', description: - 'The Radio Resource Control state machine ({{ts-3gpp|TS}} 38.331) has three states in 5G: \`RRC_IDLE\` ({{ue|UE}} sleeps, only listens to {{notification|paging}}), \`RRC_INACTIVE\` (5G-only; {{ue|UE}} keeps security context for fast resume), \`RRC_CONNECTED\` (full bearer, scheduled). State transitions cost battery โ€” careful {{rrc|RRC}} tuning is the difference between 6-hour and 24-hour battery life on an IoT module.' + 'The Radio Resource Control state machine ({{ts-3gpp|TS}} 38.331) has three states in 5G: `RRC_IDLE` ({{ue|UE}} sleeps, only listens to {{notification|paging}}), `RRC_INACTIVE` (5G-only; {{ue|UE}} keeps security context for fast resume), `RRC_CONNECTED` (full bearer, scheduled). State transitions cost battery โ€” careful {{rrc|RRC}} tuning is the difference between 6-hour and 24-hour battery life on an IoT module.' }, { title: 'NAS โ€” authentication, mobility, session management', diff --git a/src/lib/data/protocols/dash.ts b/src/lib/data/protocols/dash.ts index 2a23907..faf3cad 100644 --- a/src/lib/data/protocols/dash.ts +++ b/src/lib/data/protocols/dash.ts @@ -131,14 +131,14 @@ ffmpeg -i https://cdn.example.com/manifest.mpd \\ <AdaptationSet mimeType="video/mp4" segmentAlignment="true"> <Representation id="720p" bandwidth="2400000" width="1280" height="720" codecs="avc1.4d401f"> - <SegmentTemplate media="seg_\$Number\$.m4s" + <SegmentTemplate media="seg_$Number$.m4s" initialization="init.m4s" duration="6000" timescale="1000" startNumber="1"/> </Representation> <Representation id="480p" bandwidth="1200000" width="854" height="480" codecs="avc1.4d401e"> - <SegmentTemplate media="seg_\$Number\$.m4s" + <SegmentTemplate media="seg_$Number$.m4s" initialization="init.m4s" duration="6000" timescale="1000"/> </Representation> diff --git a/src/lib/data/protocols/ethernet.ts b/src/lib/data/protocols/ethernet.ts index fa0b2d5..bfcb5f7 100644 --- a/src/lib/data/protocols/ethernet.ts +++ b/src/lib/data/protocols/ethernet.ts @@ -24,7 +24,7 @@ The evolution from shared media to switched networks was transformative. Hubs ga { title: 'MAC addressing', description: - 'Every network interface has a 48-bit {{mac-address|MAC address}} (e.g., \`AA:BB:CC:DD:EE:FF\`), typically burned into hardware. The first 24 bits identify the manufacturer ({{oui|OUI}}). {{broadcast|Broadcast}} frames use \`FF:FF:FF:FF:FF:FF\` as the destination to reach all devices on the segment.' + 'Every network interface has a 48-bit {{mac-address|MAC address}} (e.g., `AA:BB:CC:DD:EE:FF`), typically burned into hardware. The first 24 bits identify the manufacturer ({{oui|OUI}}). {{broadcast|Broadcast}} frames use `FF:FF:FF:FF:FF:FF` as the destination to reach all devices on the segment.' }, { title: 'Switch forwarding', diff --git a/src/lib/data/protocols/kerberos.ts b/src/lib/data/protocols/kerberos.ts index 1c30b24..cc5d287 100644 --- a/src/lib/data/protocols/kerberos.ts +++ b/src/lib/data/protocols/kerberos.ts @@ -31,7 +31,7 @@ The famous architectural decision: Kerberos requires **time synchronisation** ac { title: 'TGS-REQ โ†’ TGS-REP โ€” get a service ticket', description: - 'When Alice wants to access \`HTTP/web1.example.com\`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}\'s {{kerberos-tgs|Ticket Granting Service}}, presenting her {{kerberos-tgt|TGT}} plus a fresh authenticator (an {{anti-replay|anti-replay}} timestamp encrypted under the {{kerberos-tgt|TGT}} session key). {{kerberos-kdc|KDC}} decrypts the {{kerberos-tgt|TGT}} (it knows {{kerberos-krbtgt|krbtgt}}\'s key), validates the authenticator, mints a new session key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted under web1\'s long-term key.' + 'When Alice wants to access `HTTP/web1.example.com`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}\'s {{kerberos-tgs|Ticket Granting Service}}, presenting her {{kerberos-tgt|TGT}} plus a fresh authenticator (an {{anti-replay|anti-replay}} timestamp encrypted under the {{kerberos-tgt|TGT}} session key). {{kerberos-kdc|KDC}} decrypts the {{kerberos-tgt|TGT}} (it knows {{kerberos-krbtgt|krbtgt}}\'s key), validates the authenticator, mints a new session key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted under web1\'s long-term key.' }, { title: 'AP-REQ โ€” present the service ticket', @@ -46,7 +46,7 @@ The famous architectural decision: Kerberos requires **time synchronisation** ac { title: 'GSS-API and SPNEGO โ€” the application bindings', description: - 'Applications rarely speak Kerberos directly. They speak **GSS-{{api|API}}** (Generic Security Service {{api|API}}, [[rfc:2743|RFC 2743]]), which abstracts authentication mechanisms behind \`gss_init_sec_context\` / \`gss_accept_sec_context\`. **SPNEGO** ([[rfc:4178|RFC 4178]]) is the protocol negotiation layer that lets [[http1|HTTP]] (`Authorization: Negotiate <base64>`), SMB, LDAP, and other applications transparently use Kerberos when available and fall back to [[oauth2|OAuth]] / {{ntlm|NTLM}} otherwise. Every "Windows Integrated Authentication" prompt in Internet Explorer / Edge / Chrome is SPNEGO over {{http-method|HTTP}} wrapping a {{kerberos-ap-req|Kerberos AP-REQ}}.' + 'Applications rarely speak Kerberos directly. They speak **GSS-{{api|API}}** (Generic Security Service {{api|API}}, [[rfc:2743|RFC 2743]]), which abstracts authentication mechanisms behind `gss_init_sec_context` / `gss_accept_sec_context`. **SPNEGO** ([[rfc:4178|RFC 4178]]) is the protocol negotiation layer that lets [[http1|HTTP]] (`Authorization: Negotiate <base64>`), SMB, LDAP, and other applications transparently use Kerberos when available and fall back to [[oauth2|OAuth]] / {{ntlm|NTLM}} otherwise. Every "Windows Integrated Authentication" prompt in Internet Explorer / Edge / Chrome is SPNEGO over {{http-method|HTTP}} wrapping a {{kerberos-ap-req|Kerberos AP-REQ}}.' } ], useCases: [ @@ -275,7 +275,7 @@ server.listen(443);` src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Cerberus-Blake.jpeg/500px-Cerberus-Blake.jpeg', alt: 'William Blake painting of Cerberus, the three-headed dog of Greek mythology that the Kerberos protocol is named after', caption: - "William Blake\'s **Cerberus** (c.1825). The three-headed dog from Greek mythology that guards the gates of Hades is the namesake of the protocol designed at {{mit|MIT}} Project Athena in 1983 โ€” three heads for *client*, *server*, and *Key Distribution Center*. The protocol\'s motto could be the same as Cerberus's: nothing in, nothing out, without showing me a ticket.", + "William Blake's **Cerberus** (c.1825). The three-headed dog from Greek mythology that guards the gates of Hades is the namesake of the protocol designed at {{mit|MIT}} Project Athena in 1983 โ€” three heads for *client*, *server*, and *Key Distribution Center*. The protocol's motto could be the same as Cerberus's: nothing in, nothing out, without showing me a ticket.", credit: 'Image: Wikimedia Commons / Public Domain (William Blake, c.1825)' }, diff --git a/src/lib/data/subcategory-stories/agent-protocols.ts b/src/lib/data/subcategory-stories/agent-protocols.ts index 83af88d..f43e218 100644 --- a/src/lib/data/subcategory-stories/agent-protocols.ts +++ b/src/lib/data/subcategory-stories/agent-protocols.ts @@ -8,7 +8,7 @@ export const agentProtocolsStory: SubcategoryStory = { { type: 'narrative', title: 'A New Family, Designed in Public', - text: `Almost every protocol in this app was designed by an IETF working group across years of drafts. **[[mcp|MCP]]** (Model Context Protocol) and **[[a2a|A2A]]** (Agent-to-Agent) are different. They emerged in 2024โ€“2025, driven by single companies (Anthropic for MCP, Google for A2A), iterated in GitHub repos in weeks rather than working groups over years, and reached widespread adoption faster than any networking protocol in living memory.\n\nThey answer two adjacent but different questions:\n\n- **[[mcp|MCP]]** asks: *how does a single AI agent connect to its tools, data, and resources?* Anthropic published the spec in November 2024 as a JSON-RPC-based protocol for "letting models reach the world." A model wants to read a file? Call an MCP server that exposes filesystem operations. Query a database? Talk to a database MCP server. Read GitHub issues? GitHub ships an MCP server. The protocol standardizes the shape of "tool" so any model can use any tool that speaks the protocol.\n- **[[a2a|A2A]]** asks: *how do multiple AI agents work together?* Google announced it in April 2025 to handle the cross-agent case MCP intentionally doesn\'t address. A travel-planning agent needs to delegate flight booking to a flight-booking agent owned by a different vendor. A2A defines how agents discover each other, describe their capabilities, exchange messages, and hand off tasks.\n\nNeither protocol is finished. Both are likely to look quite different in two years. What\'s notable is *how fast* โ€” and how visibly โ€” they\'re being built. The repos are public; the design discussions are public; the implementations land within days of the spec changing. This is what protocol design looks like when speed-of-shipping matters as much as careful design.` + text: `Almost every protocol in this app was designed by an IETF working group across years of drafts. **[[mcp|MCP]]** (Model Context Protocol) and **[[a2a|A2A]]** (Agent-to-Agent) are different. They emerged in 2024โ€“2025, driven by single companies (Anthropic for MCP, Google for A2A), iterated in GitHub repos in weeks rather than working groups over years, and reached widespread adoption faster than any networking protocol in living memory.\n\nThey answer two adjacent but different questions:\n\n- **[[mcp|MCP]]** asks: *how does a single AI agent connect to its tools, data, and resources?* Anthropic published the spec in November 2024 as a JSON-RPC-based protocol for "letting models reach the world." A model wants to read a file? Call an MCP server that exposes filesystem operations. Query a database? Talk to a database MCP server. Read GitHub issues? GitHub ships an MCP server. The protocol standardizes the shape of "tool" so any model can use any tool that speaks the protocol.\n- **[[a2a|A2A]]** asks: *how do multiple AI agents work together?* Google announced it in April 2025 to handle the cross-agent case MCP intentionally doesn't address. A travel-planning agent needs to delegate flight booking to a flight-booking agent owned by a different vendor. A2A defines how agents discover each other, describe their capabilities, exchange messages, and hand off tasks.\n\nNeither protocol is finished. Both are likely to look quite different in two years. What's notable is *how fast* โ€” and how visibly โ€” they're being built. The repos are public; the design discussions are public; the implementations land within days of the spec changing. This is what protocol design looks like when speed-of-shipping matters as much as careful design.` }, { type: 'pioneers', @@ -163,17 +163,17 @@ export const agentProtocolsStory: SubcategoryStory = { { type: 'callout', title: 'Why MCP Looks Like LSP', - text: `[[mcp|MCP]]\'s design is unusually clean for a year-old protocol. The reason is that it isn\'t really new. It\'s the **Language Server Protocol** (LSP) โ€” the standard that lets VS Code use the same language servers as Vim, Sublime, Emacs, and JetBrains โ€” with the editor swapped out for an AI model.\n\nLSP defines client/server roles, [[json-rpc|JSON-RPC]] message framing, capability negotiation during initialization, lifecycle methods (initialize, shutdown), notification vs request semantics, transport-agnostic operation (stdio or socket). MCP defines the same things with slightly different vocabulary: "tools" instead of "code actions," "resources" instead of "text documents," "prompts" instead of "snippets." The structural similarity is intentional.\n\nLSP shipped in 2016 and is now standard across every modern editor. The bet behind MCP is that the same architectural pattern โ€” *standardize the protocol, let everyone implement their side* โ€” will work for AI tools. So far the bet is paying off: an MCP server written for Claude works in Cursor, in GPT-4o\'s desktop client, in custom agents, and in third-party hosts, without any per-host adaptation. That is the LSP playbook running again.` + text: `[[mcp|MCP]]'s design is unusually clean for a year-old protocol. The reason is that it isn't really new. It's the **Language Server Protocol** (LSP) โ€” the standard that lets VS Code use the same language servers as Vim, Sublime, Emacs, and JetBrains โ€” with the editor swapped out for an AI model.\n\nLSP defines client/server roles, [[json-rpc|JSON-RPC]] message framing, capability negotiation during initialization, lifecycle methods (initialize, shutdown), notification vs request semantics, transport-agnostic operation (stdio or socket). MCP defines the same things with slightly different vocabulary: "tools" instead of "code actions," "resources" instead of "text documents," "prompts" instead of "snippets." The structural similarity is intentional.\n\nLSP shipped in 2016 and is now standard across every modern editor. The bet behind MCP is that the same architectural pattern โ€” *standardize the protocol, let everyone implement their side* โ€” will work for AI tools. So far the bet is paying off: an MCP server written for Claude works in Cursor, in GPT-4o's desktop client, in custom agents, and in third-party hosts, without any per-host adaptation. That is the LSP playbook running again.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[mcp|MCP]]\'s failure mode is **security**. The protocol gives models broad capability to take action โ€” read files, call APIs, send emails. A model that has been prompt-injected (a malicious string in a document it reads) can use that capability against the user. The standard mitigations โ€” user confirmation for sensitive actions, sandboxing, capability scoping โ€” are not in the protocol; they\'re left to host apps to implement. Quality varies wildly. The category that the protocol enables โ€” universal tool access for models โ€” is exactly the category most ripe for abuse.\n\n[[a2a|A2A]]\'s failure mode is **delegation chains**. An agent delegates to another agent, which delegates to a third, which calls back to the first. Tracking what user authorized what, what data flows where, and who is liable when something goes wrong is genuinely unsolved. A2A\'s OAuth-based auth gives the basics โ€” each delegation can be scoped โ€” but the operational reality of "this prompt crossed five agent boundaries; which one hallucinated?" is hard.\n\nBoth families also share a **spec-velocity** failure mode: the protocol changes monthly, and implementations split between "current spec" and "the spec from when I wrote this." For a year or two this will continue; eventually the protocols will stabilize the way HTTP did, but we\'re not there yet.` + text: `[[mcp|MCP]]'s failure mode is **security**. The protocol gives models broad capability to take action โ€” read files, call APIs, send emails. A model that has been prompt-injected (a malicious string in a document it reads) can use that capability against the user. The standard mitigations โ€” user confirmation for sensitive actions, sandboxing, capability scoping โ€” are not in the protocol; they're left to host apps to implement. Quality varies wildly. The category that the protocol enables โ€” universal tool access for models โ€” is exactly the category most ripe for abuse.\n\n[[a2a|A2A]]'s failure mode is **delegation chains**. An agent delegates to another agent, which delegates to a third, which calls back to the first. Tracking what user authorized what, what data flows where, and who is liable when something goes wrong is genuinely unsolved. A2A's OAuth-based auth gives the basics โ€” each delegation can be scoped โ€” but the operational reality of "this prompt crossed five agent boundaries; which one hallucinated?" is hard.\n\nBoth families also share a **spec-velocity** failure mode: the protocol changes monthly, and implementations split between "current spec" and "the spec from when I wrote this." For a year or two this will continue; eventually the protocols will stabilize the way HTTP did, but we're not there yet.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **MCP authorization** โ€” the November 2024 spec was light on auth. The 2025-06 spec introduces standardized OAuth 2.1 flows for HTTP-transported MCP servers. Expect this to be a major focus through 2026.\n- **MCP for non-text resources** โ€” current MCP is text-centric. Audio, images, structured binary, and streaming media are early targets. The protocol\'s extensibility (resources can be any MIME type) is the right shape; tooling has to catch up.\n- **A2A registries** โ€” early A2A is mostly statically configured. A registry โ€” a "DNS for agents" โ€” is the obvious next step but raises hard governance questions about who runs it.\n- **Cross-protocol bridges** โ€” agents that speak A2A to other agents and MCP to their own tools. The composition is the point; the bridges are non-trivial.\n- **Standards-body uptake** โ€” both protocols are currently single-vendor. Anthropic and Google have both signaled openness to formal standards-body governance (W3C, IETF). Whether that happens, and when, will shape whether agent protocols become *the* interoperability layer or just *an* interoperability layer.\n\nThis is the first new protocol family in this app where the next chapter is genuinely unwritten. Check back in a year.` + text: `Active work in 2025:\n\n- **MCP authorization** โ€” the November 2024 spec was light on auth. The 2025-06 spec introduces standardized OAuth 2.1 flows for HTTP-transported MCP servers. Expect this to be a major focus through 2026.\n- **MCP for non-text resources** โ€” current MCP is text-centric. Audio, images, structured binary, and streaming media are early targets. The protocol's extensibility (resources can be any MIME type) is the right shape; tooling has to catch up.\n- **A2A registries** โ€” early A2A is mostly statically configured. A registry โ€” a "DNS for agents" โ€” is the obvious next step but raises hard governance questions about who runs it.\n- **Cross-protocol bridges** โ€” agents that speak A2A to other agents and MCP to their own tools. The composition is the point; the bridges are non-trivial.\n- **Standards-body uptake** โ€” both protocols are currently single-vendor. Anthropic and Google have both signaled openness to formal standards-body governance (W3C, IETF). Whether that happens, and when, will shape whether agent protocols become *the* interoperability layer or just *an* interoperability layer.\n\nThis is the first new protocol family in this app where the next chapter is genuinely unwritten. Check back in a year.` } ] }; diff --git a/src/lib/data/subcategory-stories/authentication.ts b/src/lib/data/subcategory-stories/authentication.ts index e0e4417..7f3775d 100644 --- a/src/lib/data/subcategory-stories/authentication.ts +++ b/src/lib/data/subcategory-stories/authentication.ts @@ -8,7 +8,7 @@ export const authenticationStory: SubcategoryStory = { { type: 'narrative', title: 'Two Models, Forty Years Apart', - text: `Authentication has had two great architectural moments in computing history. The first was 1988 at MIT. The second was 2007 at Twitter.\n\n**MIT Project Athena** in the mid-1980s faced a problem few institutions faced at the time: tens of thousands of students, hundreds of shared workstations, dozens of services (mail, print, file storage, login). How does a workstation prove you\'re you to all those services without sending your password over the network โ€” and without each service needing to know your password? The answer was **[[kerberos|Kerberos]]** (1988), a three-party protocol with a Key Distribution Center, time-stamped *tickets*, and mutual authentication. Kerberos was so good at the campus-scale problem that it became the basis for Windows Active Directory (1999) and remains the authentication backbone of every Windows enterprise environment today.\n\nNineteen years later, Twitter, Flickr, and Magnolia faced a different problem: how does a third-party app (a desktop Twitter client, a photo-uploading tool) get permission to act on behalf of a user *without that user handing over their password*? Users were giving the password directly to the third-party app, which would then call the API as the user โ€” terrifying from a security perspective and impossible to audit. **[[oauth2|OAuth]]** (1.0 in 2010, 2.0 in 2012) is the protocol for *delegated authorization*: the user logs in to the service, grants specific permissions to the app, and the app receives a scoped *token* that lets it act within those limits.\n\nThese are different problems with the same name. Kerberos answers "is this user really alice@example.edu?" in a trusted realm. OAuth2 answers "did alice grant this app permission to read her tweets?" in an untrusted world of third-party developers. Both are alive in 2025; most enterprise login flows touch both โ€” Kerberos for the SSO inside the corporate network, OAuth2 (and OIDC on top of it) for the SaaS apps the SSO federates out to.` + text: `Authentication has had two great architectural moments in computing history. The first was 1988 at MIT. The second was 2007 at Twitter.\n\n**MIT Project Athena** in the mid-1980s faced a problem few institutions faced at the time: tens of thousands of students, hundreds of shared workstations, dozens of services (mail, print, file storage, login). How does a workstation prove you're you to all those services without sending your password over the network โ€” and without each service needing to know your password? The answer was **[[kerberos|Kerberos]]** (1988), a three-party protocol with a Key Distribution Center, time-stamped *tickets*, and mutual authentication. Kerberos was so good at the campus-scale problem that it became the basis for Windows Active Directory (1999) and remains the authentication backbone of every Windows enterprise environment today.\n\nNineteen years later, Twitter, Flickr, and Magnolia faced a different problem: how does a third-party app (a desktop Twitter client, a photo-uploading tool) get permission to act on behalf of a user *without that user handing over their password*? Users were giving the password directly to the third-party app, which would then call the API as the user โ€” terrifying from a security perspective and impossible to audit. **[[oauth2|OAuth]]** (1.0 in 2010, 2.0 in 2012) is the protocol for *delegated authorization*: the user logs in to the service, grants specific permissions to the app, and the app receives a scoped *token* that lets it act within those limits.\n\nThese are different problems with the same name. Kerberos answers "is this user really alice@example.edu?" in a trusted realm. OAuth2 answers "did alice grant this app permission to read her tweets?" in an untrusted world of third-party developers. Both are alive in 2025; most enterprise login flows touch both โ€” Kerberos for the SSO inside the corporate network, OAuth2 (and OIDC on top of it) for the SaaS apps the SSO federates out to.` }, { type: 'pioneers', @@ -81,13 +81,13 @@ export const authenticationStory: SubcategoryStory = { year: 2007, title: 'OAuth Conceived', description: - "Blaine Cook (Twitter) and Chris Messina want to give third-party apps API access without sharing passwords. The proto-OAuth draft is sketched at a coffee shop. Within a year it\'s under IETF consideration." + "Blaine Cook (Twitter) and Chris Messina want to give third-party apps API access without sharing passwords. The proto-OAuth draft is sketched at a coffee shop. Within a year it's under IETF consideration." }, { year: 2010, title: 'OAuth 1.0a (RFC 5849)', description: - "OAuth 1.0a โ€” fully spec\'d signature-based delegated auth. Used by Twitter, Flickr, Yahoo, Google\'s first public APIs." + "OAuth 1.0a โ€” fully spec'd signature-based delegated auth. Used by Twitter, Flickr, Yahoo, Google's first public APIs." }, { year: 2012, @@ -135,7 +135,7 @@ export const authenticationStory: SubcategoryStory = { { label: '[[kerberos|Kerberos]]', values: [ - '\"Authenticate this user to many services without sharing their password\"', + '"Authenticate this user to many services without sharing their password"', 'Three-party: client, KDC, service', 'Time-stamped tickets, short-lived', 'Tightly synchronized (clock skew > 5 min = ticket invalid)', @@ -145,7 +145,7 @@ export const authenticationStory: SubcategoryStory = { { label: '[[oauth2|OAuth 2.0]]', values: [ - '\"Let an app act on a user\'s behalf without that user giving up their password\"', + '"Let an app act on a user\'s behalf without that user giving up their password"', 'Three-party: user, authorization server, resource server', 'Bearer tokens (anyone with the token has the access)', 'Loose โ€” tokens have an expiry, but no clock-sync requirement', @@ -199,17 +199,17 @@ export const authenticationStory: SubcategoryStory = { { type: 'callout', title: 'Why OAuth 2.0 Looks Like a Mess', - text: `If you\'ve ever tried to implement [[oauth2|OAuth 2.0]], you\'ve probably been confused. There are *four* grant types. Tokens come in *two* forms (access + refresh). There\'s ID Token on top via OpenID Connect. There\'s PKCE for public clients. There\'s dynamic client registration. There\'s the authorization endpoint, the token endpoint, the userinfo endpoint, the discovery endpoint. The total spec surface across OAuth 2.0 + OIDC + PKCE + Dynamic Registration is hundreds of pages.\n\nEran Hammer\'s 2012 resignation post โ€” *"OAuth 2.0 and the Road to Hell"* โ€” argued this was a disaster:\n\n> *"What I think will be the result is many vendors leveraging the framework, but very little interoperability. The market will need to consolidate on one or two specific implementations of OAuth 2.0... I just don\'t think it\'s going to be pretty."*\n\nThirteen years later, the prediction was right *and* wrong. Right: most OAuth 2.0 deployments use one of a small number of standard flows (authorization code with PKCE for web/mobile; client credentials for service-to-service; refresh tokens for long-lived access). Wrong: the patterns *did* consolidate. OAuth 2.1 is the spec that finally documents "the way it actually got done." If you implement OAuth 2.1 today, you can interop with almost anything.\n\nThe flexibility Hammer hated was the cost of OAuth 2.0\'s success: it\'s used by everything from a JavaScript SPA to an embedded device to a B2B API, and a single grant type couldn\'t serve all of those. The spec sprawl was the price; the market consolidation came eventually.` + text: `If you've ever tried to implement [[oauth2|OAuth 2.0]], you've probably been confused. There are *four* grant types. Tokens come in *two* forms (access + refresh). There's ID Token on top via OpenID Connect. There's PKCE for public clients. There's dynamic client registration. There's the authorization endpoint, the token endpoint, the userinfo endpoint, the discovery endpoint. The total spec surface across OAuth 2.0 + OIDC + PKCE + Dynamic Registration is hundreds of pages.\n\nEran Hammer's 2012 resignation post โ€” *"OAuth 2.0 and the Road to Hell"* โ€” argued this was a disaster:\n\n> *"What I think will be the result is many vendors leveraging the framework, but very little interoperability. The market will need to consolidate on one or two specific implementations of OAuth 2.0... I just don't think it's going to be pretty."*\n\nThirteen years later, the prediction was right *and* wrong. Right: most OAuth 2.0 deployments use one of a small number of standard flows (authorization code with PKCE for web/mobile; client credentials for service-to-service; refresh tokens for long-lived access). Wrong: the patterns *did* consolidate. OAuth 2.1 is the spec that finally documents "the way it actually got done." If you implement OAuth 2.1 today, you can interop with almost anything.\n\nThe flexibility Hammer hated was the cost of OAuth 2.0's success: it's used by everything from a JavaScript SPA to an embedded device to a B2B API, and a single grant type couldn't serve all of those. The spec sprawl was the price; the market consolidation came eventually.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[kerberos|Kerberos]]\'s failure mode is **clock skew**. Tickets are timestamped and have a hard validity window (default 5 minutes). If a client\'s clock drifts more than that from the KDC, every authentication fails with a cryptic error. The fix โ€” NTP-sync everything โ€” is universal in well-run environments. The pathological cases are battery-backed CMOS clocks dying on a VM after a long power-off; the entire host\'s Kerberos breaks until you fix the clock. (Microsoft\'s Windows Time Service exists largely to manage this for AD environments.)\n\nKerberos\' second failure mode is **the KDC as single point of failure**. The KDC holds the keys for every principal in the realm; if it dies, no one can authenticate. Active Directory uses domain controllers that replicate, but the dependency is real โ€” a network partition that isolates a site from its KDCs degrades to "you can\'t log in" within ticket lifetime.\n\n[[oauth2|OAuth 2.0]]\'s failure mode is **bearer tokens**. The access token is a *bearer credential* โ€” anyone holding it has the access. If your access token leaks (XSS, logged in error reports, stored in a wrong place), anyone with it can act as you until it expires. Mitigations: keep tokens short-lived (5โ€“60 minutes), use refresh tokens with rotation, deploy DPoP (Demonstrating Proof-of-Possession) where the token is bound to a key the client holds. But "bearer tokens are bearer tokens" is the dominant production reality, and token exfiltration is the dominant OAuth attack class.\n\nBoth share a third failure mode: **the trusted-CA problem at scale**. Kerberos cross-realm trust is hand-configured between realms (manageable for a corporation, painful for a federation of universities). OAuth's federation depends on the user trusting that "Sign in with Google" really is Google, that the OIDC issuer is who it says it is. {{phishing|Phishing}} consent screens โ€” fake login pages styled exactly like the real one โ€” are the most common attack against OAuth in 2025.` + text: `[[kerberos|Kerberos]]'s failure mode is **clock skew**. Tickets are timestamped and have a hard validity window (default 5 minutes). If a client's clock drifts more than that from the KDC, every authentication fails with a cryptic error. The fix โ€” NTP-sync everything โ€” is universal in well-run environments. The pathological cases are battery-backed CMOS clocks dying on a VM after a long power-off; the entire host's Kerberos breaks until you fix the clock. (Microsoft's Windows Time Service exists largely to manage this for AD environments.)\n\nKerberos' second failure mode is **the KDC as single point of failure**. The KDC holds the keys for every principal in the realm; if it dies, no one can authenticate. Active Directory uses domain controllers that replicate, but the dependency is real โ€” a network partition that isolates a site from its KDCs degrades to "you can't log in" within ticket lifetime.\n\n[[oauth2|OAuth 2.0]]'s failure mode is **bearer tokens**. The access token is a *bearer credential* โ€” anyone holding it has the access. If your access token leaks (XSS, logged in error reports, stored in a wrong place), anyone with it can act as you until it expires. Mitigations: keep tokens short-lived (5โ€“60 minutes), use refresh tokens with rotation, deploy DPoP (Demonstrating Proof-of-Possession) where the token is bound to a key the client holds. But "bearer tokens are bearer tokens" is the dominant production reality, and token exfiltration is the dominant OAuth attack class.\n\nBoth share a third failure mode: **the trusted-CA problem at scale**. Kerberos cross-realm trust is hand-configured between realms (manageable for a corporation, painful for a federation of universities). OAuth's federation depends on the user trusting that "Sign in with Google" really is Google, that the OIDC issuer is who it says it is. {{phishing|Phishing}} consent screens โ€” fake login pages styled exactly like the real one โ€” are the most common attack against OAuth in 2025.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Passkeys and WebAuthn** are slowly displacing password-based authentication. Cross-device synced passkeys (Apple, Google, Microsoft, 1Password, Bitwarden) make WebAuthn UX usable by non-technical users. The "death of the password" has been promised for 20 years; it\'s finally happening for consumer logins.\n- **OAuth 2.1** consolidates best practices into one spec. Many libraries and providers already implement the 2.1 conservative subset.\n- **DPoP** (Demonstrating Proof-of-Possession, [[rfc:9449|RFC 9449]]) binds OAuth tokens to a client-held key. Mitigates the bearer-token leak problem. Adoption is uneven but growing.\n- **Sender-constrained access tokens** in general โ€” TLS-bound, certificate-bound, or DPoP-bound โ€” are the long-term answer to "bearer tokens are too easy to steal."\n- **Workload Identity Federation** lets cloud workloads (GCP, AWS, Azure VMs / containers) authenticate to *other* clouds without long-lived API keys. The OAuth pattern applied to machine-to-machine auth.\n- **The Kerberos slow decline** continues. Cloud-native deployments don\'t use it; new enterprise systems default to OIDC. Active Directory remains, but the action is in Entra ID and similar cloud SSO products that *speak* AD-compatible protocols at the edge while running OAuth+OIDC underneath.\n- **MCP and OAuth 2.0 convergence** โ€” Anthropic\'s Model Context Protocol picked OAuth 2.1 + DCR (Dynamic Client Registration) as the auth model for remote MCP servers. The new agent ecosystem is being built on OAuth from day one.` + text: `Active work in 2025:\n\n- **Passkeys and WebAuthn** are slowly displacing password-based authentication. Cross-device synced passkeys (Apple, Google, Microsoft, 1Password, Bitwarden) make WebAuthn UX usable by non-technical users. The "death of the password" has been promised for 20 years; it's finally happening for consumer logins.\n- **OAuth 2.1** consolidates best practices into one spec. Many libraries and providers already implement the 2.1 conservative subset.\n- **DPoP** (Demonstrating Proof-of-Possession, [[rfc:9449|RFC 9449]]) binds OAuth tokens to a client-held key. Mitigates the bearer-token leak problem. Adoption is uneven but growing.\n- **Sender-constrained access tokens** in general โ€” TLS-bound, certificate-bound, or DPoP-bound โ€” are the long-term answer to "bearer tokens are too easy to steal."\n- **Workload Identity Federation** lets cloud workloads (GCP, AWS, Azure VMs / containers) authenticate to *other* clouds without long-lived API keys. The OAuth pattern applied to machine-to-machine auth.\n- **The Kerberos slow decline** continues. Cloud-native deployments don't use it; new enterprise systems default to OIDC. Active Directory remains, but the action is in Entra ID and similar cloud SSO products that *speak* AD-compatible protocols at the edge while running OAuth+OIDC underneath.\n- **MCP and OAuth 2.0 convergence** โ€” Anthropic's Model Context Protocol picked OAuth 2.1 + DCR (Dynamic Client Registration) as the auth model for remote MCP servers. The new agent ecosystem is being built on OAuth from day one.` } ] }; diff --git a/src/lib/data/subcategory-stories/conferencing-calls.ts b/src/lib/data/subcategory-stories/conferencing-calls.ts index 65c557d..154319d 100644 --- a/src/lib/data/subcategory-stories/conferencing-calls.ts +++ b/src/lib/data/subcategory-stories/conferencing-calls.ts @@ -8,7 +8,7 @@ export const conferencingCallsStory: SubcategoryStory = { { type: 'narrative', title: 'The Anatomy of a Phone Call (Over IP)', - text: `Most protocols in this app do one thing. The conferencing family does four things, in concert. To make a video call between two browsers, four protocols have to cooperate:\n\n- **[[sip|SIP]]** is the **signaling**: setup, ring, accept, hang up. The phone-call equivalents of "your friend is calling," "they picked up," "they hung up." SIP doesn\'t carry voice or video โ€” it only negotiates the session.\n- **[[sdp|SDP]]** is the **session description**: what codecs are available, what IP addresses to send media to, what encryption keys to use. SDP is the data; SIP is the envelope.\n- **[[rtp|RTP]]** is the **media transport**: the actual audio and video packets, with sequence numbers and timestamps for reconstruction.\n- **[[webrtc|WebRTC]]** is *all of the above*, packaged for the browser. Behind the WebRTC API, the browser does SDP offer/answer, ICE for NAT traversal, DTLS handshake for keys, SRTP for encrypted media. WebRTC didn\'t invent any of these protocols โ€” it bundled them into something you can drive from JavaScript.\n\nThis layering is not accidental. It comes from a deep architectural decision the IETF made in the late 1990s: **separate signaling from media**. The phone networks tied them together (the same circuit carried both your "I want to call" and your voice). IP-based calling separated them so signaling could go through one path (often a server) while media could go peer-to-peer. The savings in core-network bandwidth at scale are enormous. The cost is that NAT traversal becomes everyone\'s problem โ€” which is why the [[ice|ICE]] / [[stun|STUN]] / [[turn|TURN]] machinery exists.\n\nThe modern call from Zoom, Google Meet, Discord, Slack, WhatsApp video, FaceTime, Microsoft Teams โ€” all of them use this stack. The branding differs; the bones are the same.` + text: `Most protocols in this app do one thing. The conferencing family does four things, in concert. To make a video call between two browsers, four protocols have to cooperate:\n\n- **[[sip|SIP]]** is the **signaling**: setup, ring, accept, hang up. The phone-call equivalents of "your friend is calling," "they picked up," "they hung up." SIP doesn't carry voice or video โ€” it only negotiates the session.\n- **[[sdp|SDP]]** is the **session description**: what codecs are available, what IP addresses to send media to, what encryption keys to use. SDP is the data; SIP is the envelope.\n- **[[rtp|RTP]]** is the **media transport**: the actual audio and video packets, with sequence numbers and timestamps for reconstruction.\n- **[[webrtc|WebRTC]]** is *all of the above*, packaged for the browser. Behind the WebRTC API, the browser does SDP offer/answer, ICE for NAT traversal, DTLS handshake for keys, SRTP for encrypted media. WebRTC didn't invent any of these protocols โ€” it bundled them into something you can drive from JavaScript.\n\nThis layering is not accidental. It comes from a deep architectural decision the IETF made in the late 1990s: **separate signaling from media**. The phone networks tied them together (the same circuit carried both your "I want to call" and your voice). IP-based calling separated them so signaling could go through one path (often a server) while media could go peer-to-peer. The savings in core-network bandwidth at scale are enormous. The cost is that NAT traversal becomes everyone's problem โ€” which is why the [[ice|ICE]] / [[stun|STUN]] / [[turn|TURN]] machinery exists.\n\nThe modern call from Zoom, Google Meet, Discord, Slack, WhatsApp video, FaceTime, Microsoft Teams โ€” all of them use this stack. The branding differs; the bones are the same.` }, { type: 'pioneers', @@ -68,7 +68,7 @@ export const conferencingCallsStory: SubcategoryStory = { year: 2002, title: 'SIP RFC 3261', description: - "The revision that finalized SIP\'s shape. Within a few years, almost every IP-PBX (Asterisk, Cisco, Avaya), every soft-phone, and most enterprise VoIP runs SIP. H.323 fades." + "The revision that finalized SIP's shape. Within a few years, almost every IP-PBX (Asterisk, Cisco, Avaya), every soft-phone, and most enterprise VoIP runs SIP. H.323 fades." }, { year: 2003, @@ -104,13 +104,13 @@ export const conferencingCallsStory: SubcategoryStory = { year: 2020, title: 'WebRTC Saves the Pandemic', description: - "COVID lockdowns push every video-calling product to record load. Zoom, Google Meet, Microsoft Teams, Jitsi all scale on infrastructure that\'s WebRTC at the edge (or close to it). The protocols designed for a few thousand simultaneous calls now carry hundreds of millions." + "COVID lockdowns push every video-calling product to record load. Zoom, Google Meet, Microsoft Teams, Jitsi all scale on infrastructure that's WebRTC at the edge (or close to it). The protocols designed for a few thousand simultaneous calls now carry hundreds of millions." }, { year: 2024, title: 'WebRTC over QUIC Experiments', description: - "WebTransport (QUIC streams in the browser) opens experiments with non-RTP media. WebCodecs API lets JavaScript directly encode and decode video frames. \"Custom WebRTC\" โ€” using QUIC + WebCodecs instead of the built-in stack โ€” appears in production at Google Stadia\'s successor projects and some streaming startups." + "WebTransport (QUIC streams in the browser) opens experiments with non-RTP media. WebCodecs API lets JavaScript directly encode and decode video frames. \"Custom WebRTC\" โ€” using QUIC + WebCodecs instead of the built-in stack โ€” appears in production at Google Stadia's successor projects and some streaming startups." } ] }, @@ -131,8 +131,8 @@ export const conferencingCallsStory: SubcategoryStory = { { label: '[[sdp|SDP]]', values: [ - 'Session description โ€” \"what codecs, what addresses, what keys\"', - 'Text โ€” \`v=\`, \`m=\`, \`c=\`, \`a=\` lines', + 'Session description โ€” "what codecs, what addresses, what keys"', + 'Text โ€” `v=`, `m=`, `c=`, `a=` lines', 'Capability negotiation, embedded in SIP messages', '(No PSTN equivalent โ€” circuits had fixed capabilities)' ] @@ -156,7 +156,7 @@ export const conferencingCallsStory: SubcategoryStory = { ] } ], - note: "[[webrtc|WebRTC]] *contains* the other three. When you use \`RTCPeerConnection\`, the browser does SDP offer/answer, ICE/STUN/TURN for NAT, DTLS handshake, then sends SRTP-encrypted [[rtp|RTP]]. The signaling channel (how the two browsers exchange SDP) is *not* part of WebRTC โ€” you bring your own, usually a WebSocket or a SIP-over-WebSocket gateway." + note: "[[webrtc|WebRTC]] *contains* the other three. When you use `RTCPeerConnection`, the browser does SDP offer/answer, ICE/STUN/TURN for NAT, DTLS handshake, then sends SRTP-encrypted [[rtp|RTP]]. The signaling channel (how the two browsers exchange SDP) is *not* part of WebRTC โ€” you bring your own, usually a WebSocket or a SIP-over-WebSocket gateway." }, { type: 'animated-sequence', @@ -229,17 +229,17 @@ export const conferencingCallsStory: SubcategoryStory = { { type: 'callout', title: 'NAT Traversal Is the Hard Part', - text: `Most of the engineering complexity in modern video calling isn\'t the codecs or the protocols. It\'s **NAT traversal**.\n\nMost browsers running video calls are behind home routers, corporate firewalls, or carrier-grade NATs. None of them have a public IP. None of them can be directly contacted from the outside Internet. So how do two peers behind NATs send packets directly to each other? The answer is the {{ice|ICE}} framework, composed of:\n\n- **{{stun|STUN}}** โ€” a tiny protocol where a peer asks a public server "what does my public IP and port look like to you?" The server replies with the address as seen from outside the NAT. The peer now knows its server-reflexive candidate.\n- **{{turn|TURN}}** โ€” when direct connectivity is impossible (symmetric NAT, restrictive firewall), TURN relays the media through a public server. Both peers send media to TURN; TURN forwards to the other peer. Works but doubles the bandwidth cost and adds latency.\n- **ICE** โ€” the framework that gathers all possible candidates (host, server-reflexive, relayed), exchanges them via signaling, and probes pairwise connectivity to pick the best working path.\n\nIn production, ICE finds a direct path for ~75% of WebRTC calls (host-to-host or via STUN). The remaining ~25% require TURN relay. TURN servers are expensive (they pay for the relay bandwidth) and are why running a self-hosted Jitsi or Asterisk involves more than spinning up one box.\n\nNAT traversal is also why peer-to-peer messaging at scale (BitTorrent, blockchain peer discovery, IPFS) ends up looking suspiciously similar to WebRTC underneath. The problem is the same: how to find a direct path through hostile middleboxes.` + text: `Most of the engineering complexity in modern video calling isn't the codecs or the protocols. It's **NAT traversal**.\n\nMost browsers running video calls are behind home routers, corporate firewalls, or carrier-grade NATs. None of them have a public IP. None of them can be directly contacted from the outside Internet. So how do two peers behind NATs send packets directly to each other? The answer is the {{ice|ICE}} framework, composed of:\n\n- **{{stun|STUN}}** โ€” a tiny protocol where a peer asks a public server "what does my public IP and port look like to you?" The server replies with the address as seen from outside the NAT. The peer now knows its server-reflexive candidate.\n- **{{turn|TURN}}** โ€” when direct connectivity is impossible (symmetric NAT, restrictive firewall), TURN relays the media through a public server. Both peers send media to TURN; TURN forwards to the other peer. Works but doubles the bandwidth cost and adds latency.\n- **ICE** โ€” the framework that gathers all possible candidates (host, server-reflexive, relayed), exchanges them via signaling, and probes pairwise connectivity to pick the best working path.\n\nIn production, ICE finds a direct path for ~75% of WebRTC calls (host-to-host or via STUN). The remaining ~25% require TURN relay. TURN servers are expensive (they pay for the relay bandwidth) and are why running a self-hosted Jitsi or Asterisk involves more than spinning up one box.\n\nNAT traversal is also why peer-to-peer messaging at scale (BitTorrent, blockchain peer discovery, IPFS) ends up looking suspiciously similar to WebRTC underneath. The problem is the same: how to find a direct path through hostile middleboxes.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[sip|SIP]]\'s failure mode is **dialogs through middleboxes**. SIP messages reference IP addresses and ports in their body (in SDP and in headers like Contact, Via, Record-Route). Every NAT, firewall, or SIP-aware proxy in the path may need to rewrite these. SIP-ALG (Application Layer Gateway) implementations in consumer routers are notoriously buggy โ€” they break calls more often than they help. The standard advice in the VoIP industry is "disable SIP-ALG on your router."\n\n[[rtp|RTP]]\'s failure mode is **jitter and loss**. Real-time media can\'t wait for retransmission โ€” by the time TCP would have re-sent a lost frame, the user has heard the gap. Solutions include forward error correction (RTP FEC), packet-loss concealment (the codec guesses what the missing frame sounded like), and adaptive jitter buffers. WebRTC\'s built-in stack handles a lot of this automatically, which is part of why "use WebRTC" is the right answer instead of "use RTP directly" for most teams.\n\n[[webrtc|WebRTC]]\'s failure mode is **complexity**. WebRTC is "easy" in the sense that the browser API is small. It is brutally hard once you go beyond simple peer-to-peer: scaling to many participants (you need an SFU โ€” Selective Forwarding Unit, like Jitsi, mediasoup, LiveKit), recording, simulcast/SVC for bandwidth adaptation, network resilience for cellular. Most products that "use WebRTC" actually use WebRTC at the browser and a complex media server (often based on libwebrtc) behind the scenes. The "peer-to-peer" promise is true for 1:1 calls and rare for group calls.` + text: `[[sip|SIP]]'s failure mode is **dialogs through middleboxes**. SIP messages reference IP addresses and ports in their body (in SDP and in headers like Contact, Via, Record-Route). Every NAT, firewall, or SIP-aware proxy in the path may need to rewrite these. SIP-ALG (Application Layer Gateway) implementations in consumer routers are notoriously buggy โ€” they break calls more often than they help. The standard advice in the VoIP industry is "disable SIP-ALG on your router."\n\n[[rtp|RTP]]'s failure mode is **jitter and loss**. Real-time media can't wait for retransmission โ€” by the time TCP would have re-sent a lost frame, the user has heard the gap. Solutions include forward error correction (RTP FEC), packet-loss concealment (the codec guesses what the missing frame sounded like), and adaptive jitter buffers. WebRTC's built-in stack handles a lot of this automatically, which is part of why "use WebRTC" is the right answer instead of "use RTP directly" for most teams.\n\n[[webrtc|WebRTC]]'s failure mode is **complexity**. WebRTC is "easy" in the sense that the browser API is small. It is brutally hard once you go beyond simple peer-to-peer: scaling to many participants (you need an SFU โ€” Selective Forwarding Unit, like Jitsi, mediasoup, LiveKit), recording, simulcast/SVC for bandwidth adaptation, network resilience for cellular. Most products that "use WebRTC" actually use WebRTC at the browser and a complex media server (often based on libwebrtc) behind the scenes. The "peer-to-peer" promise is true for 1:1 calls and rare for group calls.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **WebRTC + WebCodecs + WebTransport** โ€” the "custom WebRTC" pattern where apps bypass the built-in stack and assemble their own from lower-level browser primitives. Better control over codecs, latency, and bandwidth โ€” at the cost of reimplementing what WebRTC gave you for free.\n- **AV1 in WebRTC** โ€” Chrome and Firefox now negotiate AV1 by default for screen sharing; software encoders are catching up for video. ~30% bandwidth savings at the same quality.\n- **AI noise suppression and background blur** moved to client-side TensorFlow.js or native models. Krisp, NVIDIA Maxine, and built-in Zoom/Teams/Meet features all happen *before* the codec sees the frame โ€” turning bad audio into clean audio invisibly.\n- **Spatial audio** in conferencing (Zoom, Teams) places each participant in 3D space. Reduces fatigue at the cost of more processing per stream.\n- **Real-time AI voice** (OpenAI Realtime API, Google Gemini Live, ElevenLabs streaming) is the new "what does the call stack do?" question. The answer: probably WebRTC, plus WebSocket or QUIC for the AI side. The stack designed for human-to-human is now carrying human-to-AI calls at growing scale.\n- **WHIP / WHEP** (WebRTC ingest and egress over HTTP) โ€” the same simplification that\'s replacing RTMP for ingestion may eventually displace SIP for one-way broadcasting too.` + text: `Active work in 2025:\n\n- **WebRTC + WebCodecs + WebTransport** โ€” the "custom WebRTC" pattern where apps bypass the built-in stack and assemble their own from lower-level browser primitives. Better control over codecs, latency, and bandwidth โ€” at the cost of reimplementing what WebRTC gave you for free.\n- **AV1 in WebRTC** โ€” Chrome and Firefox now negotiate AV1 by default for screen sharing; software encoders are catching up for video. ~30% bandwidth savings at the same quality.\n- **AI noise suppression and background blur** moved to client-side TensorFlow.js or native models. Krisp, NVIDIA Maxine, and built-in Zoom/Teams/Meet features all happen *before* the codec sees the frame โ€” turning bad audio into clean audio invisibly.\n- **Spatial audio** in conferencing (Zoom, Teams) places each participant in 3D space. Reduces fatigue at the cost of more processing per stream.\n- **Real-time AI voice** (OpenAI Realtime API, Google Gemini Live, ElevenLabs streaming) is the new "what does the call stack do?" question. The answer: probably WebRTC, plus WebSocket or QUIC for the AI side. The stack designed for human-to-human is now carrying human-to-AI calls at growing scale.\n- **WHIP / WHEP** (WebRTC ingest and egress over HTTP) โ€” the same simplification that's replacing RTMP for ingestion may eventually displace SIP for one-way broadcasting too.` } ] }; diff --git a/src/lib/data/subcategory-stories/datagram-transport.ts b/src/lib/data/subcategory-stories/datagram-transport.ts index bb56834..09657d6 100644 --- a/src/lib/data/subcategory-stories/datagram-transport.ts +++ b/src/lib/data/subcategory-stories/datagram-transport.ts @@ -174,17 +174,17 @@ export const datagramTransportStory: SubcategoryStory = { { type: 'callout', title: 'Protocol Ossification โ€” Why QUIC Runs on UDP', - text: `Here\'s the dirty secret of the modern Internet: **[[tcp|TCP]] cannot evolve**. Try to add a new TCP option, and a measurable fraction of the Internet silently drops your packets. Try to enable a new TCP feature (Multipath TCP, fast open, ECN), and middleboxes โ€” firewalls, NATs, load balancers, deep-packet-inspection appliances โ€” will reject or strip it.\n\nMiddleboxes do this because they read TCP headers and reject anything that doesn\'t look like what they remember from 2003. Once enough middleboxes do this, the protocol *fossilizes* โ€” even though the wire format is supposed to be extensible, in practice it isn\'t.\n\n[[quic|QUIC]]\'s defense is total: encrypt the transport headers. Middleboxes see a UDP packet to port 443 and nothing else. They cannot inspect QUIC framing, cannot strip new fields they don\'t recognize, cannot reject features they don\'t understand. The cost of that defense is a re-implementation of reliable transport in user space โ€” but the reward is **a transport protocol that can change**.` + text: `Here's the dirty secret of the modern Internet: **[[tcp|TCP]] cannot evolve**. Try to add a new TCP option, and a measurable fraction of the Internet silently drops your packets. Try to enable a new TCP feature (Multipath TCP, fast open, ECN), and middleboxes โ€” firewalls, NATs, load balancers, deep-packet-inspection appliances โ€” will reject or strip it.\n\nMiddleboxes do this because they read TCP headers and reject anything that doesn't look like what they remember from 2003. Once enough middleboxes do this, the protocol *fossilizes* โ€” even though the wire format is supposed to be extensible, in practice it isn't.\n\n[[quic|QUIC]]'s defense is total: encrypt the transport headers. Middleboxes see a UDP packet to port 443 and nothing else. They cannot inspect QUIC framing, cannot strip new fields they don't recognize, cannot reject features they don't understand. The cost of that defense is a re-implementation of reliable transport in user space โ€” but the reward is **a transport protocol that can change**.` }, { type: 'narrative', title: 'The Failure Mode', - text: `[[udp|UDP]]\'s failure mode is *the application got it wrong*. Without congestion control, a UDP application that retries too aggressively can melt a network. [[dns|DNS]] amplification attacks weaponize UDP\'s lack of state: spoof a victim\'s address as the source of a 64-byte DNS query, and the open resolver replies with a 4 KB response *to the victim*. The amplification ratio enables 600 Gbps DDoS attacks from modest botnets.\n\n[[quic|QUIC]]\'s failure mode is **CPU**. Each QUIC connection does its own encryption, congestion control, and packet processing in user space. A kernel TCP stack benefits from decades of optimization (TSO, GRO, zero-copy); QUIC implementations are still catching up. Cloudflare measured QUIC at ~3.5ร— the CPU cost of TLS-over-TCP at equivalent throughput in 2024. Hardware offload for QUIC is the active frontier โ€” Intel and AMD shipped first-pass QUIC NIC offloads in 2024.` + text: `[[udp|UDP]]'s failure mode is *the application got it wrong*. Without congestion control, a UDP application that retries too aggressively can melt a network. [[dns|DNS]] amplification attacks weaponize UDP's lack of state: spoof a victim's address as the source of a 64-byte DNS query, and the open resolver replies with a 4 KB response *to the victim*. The amplification ratio enables 600 Gbps DDoS attacks from modest botnets.\n\n[[quic|QUIC]]'s failure mode is **CPU**. Each QUIC connection does its own encryption, congestion control, and packet processing in user space. A kernel TCP stack benefits from decades of optimization (TSO, GRO, zero-copy); QUIC implementations are still catching up. Cloudflare measured QUIC at ~3.5ร— the CPU cost of TLS-over-TCP at equivalent throughput in 2024. Hardware offload for QUIC is the active frontier โ€” Intel and AMD shipped first-pass QUIC NIC offloads in 2024.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Multipath QUIC** โ€” bonding multiple network paths into one QUIC connection, like [[mptcp|MPTCP]] but easier because QUIC isn\'t bound to TCP\'s wire format. Draft in WG, deployment underway at Apple and Cloudflare.\n- **MASQUE** โ€” running arbitrary protocols (TCP, UDP, IP) inside QUIC for tunneling. Powers iCloud Private Relay and similar privacy infrastructure.\n- **WebTransport** โ€” exposes QUIC streams to browsers, a likely successor to {{websockets|WebSockets}} for low-latency bidirectional traffic.\n- **Media-over-QUIC** โ€” a new family of standards for live and on-demand media that bypasses RTP/RTMP/HLS entirely.\n- **QUIC offload silicon** โ€” first-generation NIC support landing in 2024โ€“2026, closing the CPU-cost gap with TCP.\n\nUDP itself isn\'t evolving โ€” that\'s the point. It is the stable substrate. The action is one layer up.` + text: `Active work in 2025:\n\n- **Multipath QUIC** โ€” bonding multiple network paths into one QUIC connection, like [[mptcp|MPTCP]] but easier because QUIC isn't bound to TCP's wire format. Draft in WG, deployment underway at Apple and Cloudflare.\n- **MASQUE** โ€” running arbitrary protocols (TCP, UDP, IP) inside QUIC for tunneling. Powers iCloud Private Relay and similar privacy infrastructure.\n- **WebTransport** โ€” exposes QUIC streams to browsers, a likely successor to {{websockets|WebSockets}} for low-latency bidirectional traffic.\n- **Media-over-QUIC** โ€” a new family of standards for live and on-demand media that bypasses RTP/RTMP/HLS entirely.\n- **QUIC offload silicon** โ€” first-generation NIC support landing in 2024โ€“2026, closing the CPU-cost gap with TCP.\n\nUDP itself isn't evolving โ€” that's the point. It is the stable substrate. The action is one layer up.` } ] }; diff --git a/src/lib/data/subcategory-stories/enterprise-brokers.ts b/src/lib/data/subcategory-stories/enterprise-brokers.ts index 4ab8d25..73e4826 100644 --- a/src/lib/data/subcategory-stories/enterprise-brokers.ts +++ b/src/lib/data/subcategory-stories/enterprise-brokers.ts @@ -8,7 +8,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { { type: 'narrative', title: 'Two Philosophies, One Family', - text: `In 1992, IBM shipped MQSeries โ€” software that let one program send a message to another *without either knowing about the other*. The producer wrote to a queue; the consumer read from it; the broker in the middle handled persistence, ordering, and failure. This idea โ€” **message-oriented middleware** โ€” was strange to most programmers in an era when "calling a function" still meant calling a function on the same machine. By 2005 it was running global banks, airlines, and stock exchanges.\n\nEnterprise messaging splits into two philosophies:\n\n- **Queues** โ€” a message goes in, one consumer takes it out, it\'s gone. This is the MQSeries model, standardized as **[[amqp|AMQP]]** ([[rfc:0|0-9-1 in 2008, 1.0 in 2011]]). RabbitMQ is the dominant open-source implementation. The mental model: a worker pool draining a backlog.\n- **Logs** โ€” a message goes in, *every* consumer can read it, at any offset, forever (or until retention expires). This is the **[[kafka|Kafka]]** model, born at LinkedIn in 2011 and now ubiquitous. The mental model: an append-only stream of events that anyone can replay.\n\nBoth ship at planetary scale; both have decades of stories about teams that picked the wrong one and rebuilt. Queues are great when each message must be processed exactly once and order between consumers doesn\'t matter. Logs are great when many independent systems need to react to the same stream of events at their own pace.\n\nA third member of the family, **[[stomp|STOMP]]**, isn\'t a broker โ€” it\'s a *wire format* for talking to brokers. Simple Text-Oriented Messaging Protocol: human-readable frames over TCP. ActiveMQ, RabbitMQ, and HornetQ all speak STOMP. It\'s the lingua franca for clients (especially browsers via WebSocket) that don\'t want to ship a full AMQP or Kafka library.` + text: `In 1992, IBM shipped MQSeries โ€” software that let one program send a message to another *without either knowing about the other*. The producer wrote to a queue; the consumer read from it; the broker in the middle handled persistence, ordering, and failure. This idea โ€” **message-oriented middleware** โ€” was strange to most programmers in an era when "calling a function" still meant calling a function on the same machine. By 2005 it was running global banks, airlines, and stock exchanges.\n\nEnterprise messaging splits into two philosophies:\n\n- **Queues** โ€” a message goes in, one consumer takes it out, it's gone. This is the MQSeries model, standardized as **[[amqp|AMQP]]** ([[rfc:0|0-9-1 in 2008, 1.0 in 2011]]). RabbitMQ is the dominant open-source implementation. The mental model: a worker pool draining a backlog.\n- **Logs** โ€” a message goes in, *every* consumer can read it, at any offset, forever (or until retention expires). This is the **[[kafka|Kafka]]** model, born at LinkedIn in 2011 and now ubiquitous. The mental model: an append-only stream of events that anyone can replay.\n\nBoth ship at planetary scale; both have decades of stories about teams that picked the wrong one and rebuilt. Queues are great when each message must be processed exactly once and order between consumers doesn't matter. Logs are great when many independent systems need to react to the same stream of events at their own pace.\n\nA third member of the family, **[[stomp|STOMP]]**, isn't a broker โ€” it's a *wire format* for talking to brokers. Simple Text-Oriented Messaging Protocol: human-readable frames over TCP. ActiveMQ, RabbitMQ, and HornetQ all speak STOMP. It's the lingua franca for clients (especially browsers via WebSocket) that don't want to ship a full AMQP or Kafka library.` }, { type: 'pioneers', @@ -213,18 +213,18 @@ export const enterpriseBrokersStory: SubcategoryStory = { }, { type: 'callout', - title: 'The Confluent Argument: \"The Log Is the Database\"', - text: `[[pioneer:jay-kreps|Jay Kreps]]\'s 2013 essay "The Log: What every software engineer should know about real-time data\'s unifying abstraction" reframed [[kafka|Kafka]] from "a message broker" to "the source of truth for your data."\n\nThe argument: every stateful system in your stack is, in some sense, a *materialized view* over an event log. Your database is rows derived from a sequence of inserts/updates/deletes. Your search index is documents derived from upstream changes. Your cache is a recent snapshot. If you make the log itself the primary source โ€” and treat all derived state as downstream views over it โ€” then:\n\n- Adding a new system means subscribing to the log and replaying history\n- Recovery means resetting the offset and re-deriving state\n- Auditing is free โ€” every state change is in the log\n- Pipelines become declarative โ€” "this view is a transformation of these topics"\n\nThis is the architectural pattern called **event sourcing**, and Kafka was the first widely-deployed system that made it operationally feasible at scale. Whether you buy the full argument or not, the *mental model* is now standard across distributed-systems design. The log-as-primitive view is one of the deepest contributions of the Kafka era.` + title: 'The Confluent Argument: "The Log Is the Database"', + text: `[[pioneer:jay-kreps|Jay Kreps]]'s 2013 essay "The Log: What every software engineer should know about real-time data's unifying abstraction" reframed [[kafka|Kafka]] from "a message broker" to "the source of truth for your data."\n\nThe argument: every stateful system in your stack is, in some sense, a *materialized view* over an event log. Your database is rows derived from a sequence of inserts/updates/deletes. Your search index is documents derived from upstream changes. Your cache is a recent snapshot. If you make the log itself the primary source โ€” and treat all derived state as downstream views over it โ€” then:\n\n- Adding a new system means subscribing to the log and replaying history\n- Recovery means resetting the offset and re-deriving state\n- Auditing is free โ€” every state change is in the log\n- Pipelines become declarative โ€” "this view is a transformation of these topics"\n\nThis is the architectural pattern called **event sourcing**, and Kafka was the first widely-deployed system that made it operationally feasible at scale. Whether you buy the full argument or not, the *mental model* is now standard across distributed-systems design. The log-as-primitive view is one of the deepest contributions of the Kafka era.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[amqp|AMQP]]/RabbitMQ\'s failure mode is **the unbounded queue**. A consumer falls behind; the queue grows; memory fills; the broker dies. RabbitMQ has rate-limiting, max-length policies, and dead-letter exchanges to mitigate this, but every team running RabbitMQ in anger has a story about a queue that ate the broker. The discipline: always set max-length, always have a dead-letter exchange, always alert on queue depth.\n\n[[kafka|Kafka]]\'s failure mode is **operations**. Running Kafka well requires real distributed-systems expertise: partition planning, broker sizing, consumer-group rebalancing, log retention, offset management, replication lag, ZooKeeper (pre-KRaft) coordination. Kafka-as-a-service (Confluent Cloud, AWS MSK, Aiven, Redpanda Cloud) exists precisely because most companies should *not* operate Kafka themselves. Even with managed Kafka, the consumer side is hard: a consumer group rebalance under load can stall processing for minutes.\n\n[[stomp|STOMP]]\'s failure mode is **its simplicity**. There\'s no built-in flow control, no native end-to-end ack semantics, no message-acknowledgment timeouts. Brokers add their own โ€” and they all add slightly different ones. A STOMP client that works with ActiveMQ may not work identically with RabbitMQ. The protocol is the floor; everything above the floor is broker-specific.` + text: `[[amqp|AMQP]]/RabbitMQ's failure mode is **the unbounded queue**. A consumer falls behind; the queue grows; memory fills; the broker dies. RabbitMQ has rate-limiting, max-length policies, and dead-letter exchanges to mitigate this, but every team running RabbitMQ in anger has a story about a queue that ate the broker. The discipline: always set max-length, always have a dead-letter exchange, always alert on queue depth.\n\n[[kafka|Kafka]]'s failure mode is **operations**. Running Kafka well requires real distributed-systems expertise: partition planning, broker sizing, consumer-group rebalancing, log retention, offset management, replication lag, ZooKeeper (pre-KRaft) coordination. Kafka-as-a-service (Confluent Cloud, AWS MSK, Aiven, Redpanda Cloud) exists precisely because most companies should *not* operate Kafka themselves. Even with managed Kafka, the consumer side is hard: a consumer group rebalance under load can stall processing for minutes.\n\n[[stomp|STOMP]]'s failure mode is **its simplicity**. There's no built-in flow control, no native end-to-end ack semantics, no message-acknowledgment timeouts. Brokers add their own โ€” and they all add slightly different ones. A STOMP client that works with ActiveMQ may not work identically with RabbitMQ. The protocol is the floor; everything above the floor is broker-specific.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Tiered storage in Kafka** โ€” cold data offloaded to S3/GCS while hot data stays on local disk. Cuts broker storage costs by ~10ร—. KIP-405 shipped; AWS MSK and Confluent Cloud offer it.\n- **Iceberg + Kafka convergence** โ€” Confluent\'s Tableflow and Redpanda\'s direct Iceberg writes make every Kafka topic queryable as an Iceberg table. The log-as-database vision is finally operationally trivial.\n- **WarpStream and \"stateless brokers\"** โ€” broker designs that store every partition directly in S3 instead of replicating on local disk. Trade a bit of latency for dramatically lower operational complexity and cost. Acquired by Confluent in 2024.\n- **RabbitMQ 4.0** ships proper quorum queues by default and finally removes mirrored queues. The eternal RabbitMQ operational pain point is being addressed.\n- **NATS** continues quietly winning niches where Kafka is overkill but AMQP is too heavy โ€” embedded systems, edge networks, in-cluster service eventing.\n- **The unsexy truth**: most teams should pick a managed broker (Confluent Cloud, AWS MSK, RabbitMQ Cloud, Upstash Kafka, etc.) and never operate one themselves. Running a broker is operationally distinct from using one.` + text: `Active work in 2025:\n\n- **Tiered storage in Kafka** โ€” cold data offloaded to S3/GCS while hot data stays on local disk. Cuts broker storage costs by ~10ร—. KIP-405 shipped; AWS MSK and Confluent Cloud offer it.\n- **Iceberg + Kafka convergence** โ€” Confluent's Tableflow and Redpanda's direct Iceberg writes make every Kafka topic queryable as an Iceberg table. The log-as-database vision is finally operationally trivial.\n- **WarpStream and "stateless brokers"** โ€” broker designs that store every partition directly in S3 instead of replicating on local disk. Trade a bit of latency for dramatically lower operational complexity and cost. Acquired by Confluent in 2024.\n- **RabbitMQ 4.0** ships proper quorum queues by default and finally removes mirrored queues. The eternal RabbitMQ operational pain point is being addressed.\n- **NATS** continues quietly winning niches where Kafka is overkill but AMQP is too heavy โ€” embedded systems, edge networks, in-cluster service eventing.\n- **The unsexy truth**: most teams should pick a managed broker (Confluent Cloud, AWS MSK, RabbitMQ Cloud, Upstash Kafka, etc.) and never operate one themselves. Running a broker is operationally distinct from using one.` } ] }; diff --git a/src/lib/data/subcategory-stories/federated-messaging.ts b/src/lib/data/subcategory-stories/federated-messaging.ts index 1a4666c..bd0da75 100644 --- a/src/lib/data/subcategory-stories/federated-messaging.ts +++ b/src/lib/data/subcategory-stories/federated-messaging.ts @@ -8,7 +8,7 @@ export const federatedMessagingStory: SubcategoryStory = { { type: 'narrative', title: 'The Federated Dream', - text: `In 1999, instant messaging was a mess. AOL Instant Messenger, ICQ, MSN Messenger, and Yahoo! Messenger were the dominant players, and they were *deliberately* incompatible. AOL spent years patching its servers to actively block third-party clients. If you wanted to message someone on AIM and you used Yahoo, you had to install Yahoo too. Both.\n\nJeremie Miller โ€” a developer in St. Louis โ€” looked at this and asked the obvious question: *why doesn\'t messaging work like email?* Email is **federated**. You don\'t need a Gmail account to email someone with a Gmail address. Any mail server can talk to any other mail server. Your address is \`you@your-server.com\`, and the routing just works.\n\nMiller\'s answer was **Jabber** (1999) โ€” an open, federated, XML-based messaging protocol where users had addresses like \`alice@jabber.org\` and any server could talk to any other server. In 2002, the IETF standardized it as **[[xmpp|XMPP]]** (Extensible Messaging and Presence Protocol) in [[rfc:6120|RFCs 6120 and 6121]].\n\nFor a brief, glorious decade, XMPP looked like it might win. **Google Talk** launched in 2005 on XMPP and federated with other XMPP servers. **Facebook Chat** ran on XMPP from 2008. **WhatsApp** used a modified XMPP for its core messaging through at least 2014. **HipChat**, **GroupMe**, the original **Cisco Jabber** (it kept the name), Zoom\'s chat โ€” all XMPP. At one point in the early 2010s, XMPP carried more messages than any other open protocol on the internet.\n\nThen, one by one, every major provider turned off federation. Google Talk dropped XMPP federation in 2014. Facebook Chat became Facebook Messenger and went proprietary. WhatsApp closed its XMPP-derived protocol to outside servers. The walled gardens won.\n\nThis is the story of how a protocol can be technically successful, used by billions, and still lose.` + text: `In 1999, instant messaging was a mess. AOL Instant Messenger, ICQ, MSN Messenger, and Yahoo! Messenger were the dominant players, and they were *deliberately* incompatible. AOL spent years patching its servers to actively block third-party clients. If you wanted to message someone on AIM and you used Yahoo, you had to install Yahoo too. Both.\n\nJeremie Miller โ€” a developer in St. Louis โ€” looked at this and asked the obvious question: *why doesn't messaging work like email?* Email is **federated**. You don't need a Gmail account to email someone with a Gmail address. Any mail server can talk to any other mail server. Your address is \`you@your-server.com\`, and the routing just works.\n\nMiller's answer was **Jabber** (1999) โ€” an open, federated, XML-based messaging protocol where users had addresses like \`alice@jabber.org\` and any server could talk to any other server. In 2002, the IETF standardized it as **[[xmpp|XMPP]]** (Extensible Messaging and Presence Protocol) in [[rfc:6120|RFCs 6120 and 6121]].\n\nFor a brief, glorious decade, XMPP looked like it might win. **Google Talk** launched in 2005 on XMPP and federated with other XMPP servers. **Facebook Chat** ran on XMPP from 2008. **WhatsApp** used a modified XMPP for its core messaging through at least 2014. **HipChat**, **GroupMe**, the original **Cisco Jabber** (it kept the name), Zoom's chat โ€” all XMPP. At one point in the early 2010s, XMPP carried more messages than any other open protocol on the internet.\n\nThen, one by one, every major provider turned off federation. Google Talk dropped XMPP federation in 2014. Facebook Chat became Facebook Messenger and went proprietary. WhatsApp closed its XMPP-derived protocol to outside servers. The walled gardens won.\n\nThis is the story of how a protocol can be technically successful, used by billions, and still lose.` }, { type: 'pioneers', @@ -66,25 +66,25 @@ export const federatedMessagingStory: SubcategoryStory = { year: 2004, title: 'RFC 3920/3921 โ€” XMPP Core + IM', description: - 'The first XMPP RFCs publish. XML streams, JID addressing (\`local@domain/resource\`), presence subscriptions, message stanzas.' + 'The first XMPP RFCs publish. XML streams, JID addressing (`local@domain/resource`), presence subscriptions, message stanzas.' }, { year: 2005, title: 'Google Talk Launches on XMPP', description: - "Google ships Talk as an XMPP-federated service. Any XMPP user could chat with any Google Talk user. For the next decade Google Talk is the protocol\'s flagship deployment." + "Google ships Talk as an XMPP-federated service. Any XMPP user could chat with any Google Talk user. For the next decade Google Talk is the protocol's flagship deployment." }, { year: 2008, title: 'Facebook Chat Goes XMPP', description: - "Facebook ships chat using XMPP. Federation is one-way (you could connect from external XMPP clients, but Facebook Chat users couldn\'t message outside)." + "Facebook ships chat using XMPP. Federation is one-way (you could connect from external XMPP clients, but Facebook Chat users couldn't message outside)." }, { year: 2009, title: 'WhatsApp Uses Modified XMPP', description: - "WhatsApp\'s server is a modified ejabberd (Erlang XMPP server). The protocol on the wire is XMPP-derived through at least the 2014 Facebook acquisition era, eventually drifting into a proprietary binary protocol." + "WhatsApp's server is a modified ejabberd (Erlang XMPP server). The protocol on the wire is XMPP-derived through at least the 2014 Facebook acquisition era, eventually drifting into a proprietary binary protocol." }, { year: 2011, @@ -108,7 +108,7 @@ export const federatedMessagingStory: SubcategoryStory = { year: 2017, title: 'WhatsApp Goes Fully Proprietary', description: - "The last vestiges of WhatsApp\'s XMPP heritage are replaced by a fully proprietary binary protocol. The largest deployment of an XMPP-derived protocol is no longer XMPP." + "The last vestiges of WhatsApp's XMPP heritage are replaced by a fully proprietary binary protocol. The largest deployment of an XMPP-derived protocol is no longer XMPP." }, { year: 2024, @@ -154,7 +154,7 @@ export const federatedMessagingStory: SubcategoryStory = { ] } ], - note: "The walled gardens won the consumer market. The federated protocols ([[xmpp|XMPP]], Matrix) still matter for governments, IoT, and any context where one party doesn\'t want to depend on Meta\'s servers." + note: "The walled gardens won the consumer market. The federated protocols ([[xmpp|XMPP]], Matrix) still matter for governments, IoT, and any context where one party doesn't want to depend on Meta's servers." }, { type: 'animated-sequence', @@ -191,17 +191,17 @@ export const federatedMessagingStory: SubcategoryStory = { { type: 'callout', title: 'Why the Walled Gardens Won', - text: `Federation is the right architecture and it lost. Why?\n\n**Spam and abuse.** Email federates โ€” and the operational cost is the entire anti-spam industry. Every mail server runs SpamAssassin, SPF, DKIM, DMARC, blocklists, reputation scoring. Running a federated chat server means rebuilding that infrastructure. Walled gardens have to police only inside their own walls.\n\n**Mobile push.** Mobile OSes (iOS, Android) heavily restrict background services. A federated chat client can\'t maintain a long-lived XMPP connection โ€” the OS will kill it. Push notifications require a server that *the OS trusts*, which means going through Apple\'s APNs or Google\'s FCM, which means the chat provider has to operate a centralized service anyway. Federation\'s "any server" promise hits the mobile wall.\n\n**End-to-end encryption is harder to federate.** Signal Protocol-style E2EE requires the sender to know each recipient\'s current device keys. In a federated system, fetching keys means trusting the other server to tell the truth. In a walled garden, the central server controls the key directory and the trust is implicit.\n\n**Network effects.** Once WhatsApp has your friends, you can\'t leave without losing them. Federation requires every server operator to coordinate; a walled garden requires only the one operator. The walled gardens scaled faster than federation could compete.\n\nThe technical merit of XMPP was never the question. The economics, the operational complexity, and the mobile platforms killed it.` + text: `Federation is the right architecture and it lost. Why?\n\n**Spam and abuse.** Email federates โ€” and the operational cost is the entire anti-spam industry. Every mail server runs SpamAssassin, SPF, DKIM, DMARC, blocklists, reputation scoring. Running a federated chat server means rebuilding that infrastructure. Walled gardens have to police only inside their own walls.\n\n**Mobile push.** Mobile OSes (iOS, Android) heavily restrict background services. A federated chat client can't maintain a long-lived XMPP connection โ€” the OS will kill it. Push notifications require a server that *the OS trusts*, which means going through Apple's APNs or Google's FCM, which means the chat provider has to operate a centralized service anyway. Federation's "any server" promise hits the mobile wall.\n\n**End-to-end encryption is harder to federate.** Signal Protocol-style E2EE requires the sender to know each recipient's current device keys. In a federated system, fetching keys means trusting the other server to tell the truth. In a walled garden, the central server controls the key directory and the trust is implicit.\n\n**Network effects.** Once WhatsApp has your friends, you can't leave without losing them. Federation requires every server operator to coordinate; a walled garden requires only the one operator. The walled gardens scaled faster than federation could compete.\n\nThe technical merit of XMPP was never the question. The economics, the operational complexity, and the mobile platforms killed it.` }, { type: 'narrative', title: 'The Failure Mode', - text: `[[xmpp|XMPP]]\'s failure mode wasn\'t a protocol-level bug โ€” it was **extensibility without governance**. The core protocol is small; everything interesting happens in XEPs (XMPP Extension Proposals). Group chat (MUC, XEP-0045) is a XEP. File transfer (Jingle, XEP-0166). End-to-end encryption (OMEMO, XEP-0384). Pub/sub (XEP-0060). Voice and video (XEP-0167).\n\nThis was meant to be a feature โ€” pick the XEPs you need; ignore the rest. In practice, it meant every client supported a *different subset* of XEPs. Sending a file from Pidgin to Adium might work; from Conversations to Gajim might not. From a corporate Cisco Jabber client to anything else, almost never. The "extensible" in the name created interoperability fragmentation that walled gardens, by their nature, didn\'t have.\n\nMatrix\'s answer is to fold more functionality into the core spec and version it deliberately. Whether that strategy avoids the same fragmentation over a long horizon is the open question of the federated chat world.` + text: `[[xmpp|XMPP]]'s failure mode wasn't a protocol-level bug โ€” it was **extensibility without governance**. The core protocol is small; everything interesting happens in XEPs (XMPP Extension Proposals). Group chat (MUC, XEP-0045) is a XEP. File transfer (Jingle, XEP-0166). End-to-end encryption (OMEMO, XEP-0384). Pub/sub (XEP-0060). Voice and video (XEP-0167).\n\nThis was meant to be a feature โ€” pick the XEPs you need; ignore the rest. In practice, it meant every client supported a *different subset* of XEPs. Sending a file from Pidgin to Adium might work; from Conversations to Gajim might not. From a corporate Cisco Jabber client to anything else, almost never. The "extensible" in the name created interoperability fragmentation that walled gardens, by their nature, didn't have.\n\nMatrix's answer is to fold more functionality into the core spec and version it deliberately. Whether that strategy avoids the same fragmentation over a long horizon is the open question of the federated chat world.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **EU Digital Markets Act interop** โ€” the DMA names WhatsApp and Messenger as gatekeepers required to offer messaging interoperability to third parties. The technical protocol is being argued; [[xmpp|XMPP]] and Matrix are both in the conversation as candidate bridges. The first time in 20 years that regulation rather than market forces is pushing federation forward.\n- **Matrix in government** โ€” France\'s government chat (Tchap), Germany\'s healthcare messaging (TI-Messenger), and the German Bundeswehr have all standardized on Matrix. Sovereignty concerns are driving uptake where US-based walled gardens are politically unacceptable.\n- **XMPP for IoT and gaming** โ€” the protocol that powers Zoom\'s chat, every major MMO backend (League of Legends, World of Warcraft chat), Sony PlayStation Network messaging, and most XMPP-IoT smart-home stacks. The consumer-chat market is gone; the infrastructure market remains.\n- **Bridges between worlds** โ€” Beeper (acquired by Automattic) and matrix.org bridges aim to be one app that talks to WhatsApp, iMessage, SMS, Telegram, Signal, and Matrix simultaneously. The federation-as-aggregation-layer approach when federation-as-protocol failed.\n- **The unsexy truth**: federated chat lost the consumer market and probably won\'t get it back. The interesting frontier is *interoperability bridges* and *sovereign-government deployments*, not the federated dream returning to displace WhatsApp.` + text: `Active work in 2025:\n\n- **EU Digital Markets Act interop** โ€” the DMA names WhatsApp and Messenger as gatekeepers required to offer messaging interoperability to third parties. The technical protocol is being argued; [[xmpp|XMPP]] and Matrix are both in the conversation as candidate bridges. The first time in 20 years that regulation rather than market forces is pushing federation forward.\n- **Matrix in government** โ€” France's government chat (Tchap), Germany's healthcare messaging (TI-Messenger), and the German Bundeswehr have all standardized on Matrix. Sovereignty concerns are driving uptake where US-based walled gardens are politically unacceptable.\n- **XMPP for IoT and gaming** โ€” the protocol that powers Zoom's chat, every major MMO backend (League of Legends, World of Warcraft chat), Sony PlayStation Network messaging, and most XMPP-IoT smart-home stacks. The consumer-chat market is gone; the infrastructure market remains.\n- **Bridges between worlds** โ€” Beeper (acquired by Automattic) and matrix.org bridges aim to be one app that talks to WhatsApp, iMessage, SMS, Telegram, Signal, and Matrix simultaneously. The federation-as-aggregation-layer approach when federation-as-protocol failed.\n- **The unsexy truth**: federated chat lost the consumer market and probably won't get it back. The interesting frontier is *interoperability bridges* and *sovereign-government deployments*, not the federated dream returning to displace WhatsApp.` } ] }; diff --git a/src/lib/data/subcategory-stories/http-versions.ts b/src/lib/data/subcategory-stories/http-versions.ts index 25cf389..e6a35d9 100644 --- a/src/lib/data/subcategory-stories/http-versions.ts +++ b/src/lib/data/subcategory-stories/http-versions.ts @@ -21,7 +21,7 @@ export const httpVersionsStory: SubcategoryStory = { title: 'Inventor of the World Wide Web', org: 'CERN / W3C / MIT', contribution: - 'Wrote the first web browser, web server, and HTML specification in late 1990. The original HTTP was a single \`GET\` line returning a document โ€” no headers, no status codes, no methods. By 1996 [[http1|HTTP/1.0]] had grown headers and \`POST\`; [[http1|HTTP/1.1]] followed in 1997 with persistent connections that kept the web from drowning in {{tcp-handshake|TCP handshakes}}.', + 'Wrote the first web browser, web server, and HTML specification in late 1990. The original HTTP was a single `GET` line returning a document โ€” no headers, no status codes, no methods. By 1996 [[http1|HTTP/1.0]] had grown headers and `POST`; [[http1|HTTP/1.1]] followed in 1997 with persistent connections that kept the web from drowning in {{tcp-handshake|TCP handshakes}}.', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/63/Tim_Berners-Lee_April_2009.jpg/330px-Tim_Berners-Lee_April_2009.jpg' }, @@ -56,19 +56,19 @@ export const httpVersionsStory: SubcategoryStory = { year: 1990, title: 'HTTP/0.9 โ€” The One-Line Protocol', description: - '[[pioneer:tim-berners-lee|Berners-Lee]] writes the first web server on a NeXT cube at {{cern|CERN}}. The entire HTTP spec: \`GET /path\`. Server returns the document and closes.' + '[[pioneer:tim-berners-lee|Berners-Lee]] writes the first web server on a NeXT cube at {{cern|CERN}}. The entire HTTP spec: `GET /path`. Server returns the document and closes.' }, { year: 1996, title: 'HTTP/1.0 (RFC 1945)', description: - 'Headers arrive. Status codes. \`POST\`. Content-Type. Each request still opens a new [[tcp|TCP]] connection โ€” the {{three-way-handshake|three-way handshake}} happens for every image on a page.' + 'Headers arrive. Status codes. `POST`. Content-Type. Each request still opens a new [[tcp|TCP]] connection โ€” the {{three-way-handshake|three-way handshake}} happens for every image on a page.' }, { year: 1997, title: 'HTTP/1.1 (RFC 2068, later 7230โ€“7235)', description: - 'Persistent connections (\`Keep-Alive\`) become the default. Pipelining is *specified* but breaks in practice. Chunked encoding, virtual hosts via \`Host:\` header, range requests. This is the HTTP that ran the web for 18 years.' + 'Persistent connections (`Keep-Alive`) become the default. Pipelining is *specified* but breaks in practice. Chunked encoding, virtual hosts via `Host:` header, range requests. This is the HTTP that ran the web for 18 years.' }, { year: 2009, @@ -172,12 +172,12 @@ export const httpVersionsStory: SubcategoryStory = { { type: 'callout', title: 'Why HTTP/2 Server Push Mostly Died', - text: `One of [[http2|HTTP/2]]\'s big features was *server push*: a server could send resources to the client before the client asked for them. The idea was that if the client requests \`/index.html\`, the server can push \`/style.css\` and \`/app.js\` proactively.\n\nIn practice: it almost never helped. Servers couldn\'t predict what the client already had cached, so they re-sent things the client didn\'t need. The browser cache and the push cache fought each other. Chrome removed server push support in 2022. [[http3|HTTP/3]] kept the feature for compatibility but nobody uses it. The lesson: a clever optimization that requires guessing client state usually loses to just letting the client ask.` + text: `One of [[http2|HTTP/2]]'s big features was *server push*: a server could send resources to the client before the client asked for them. The idea was that if the client requests \`/index.html\`, the server can push \`/style.css\` and \`/app.js\` proactively.\n\nIn practice: it almost never helped. Servers couldn't predict what the client already had cached, so they re-sent things the client didn't need. The browser cache and the push cache fought each other. Chrome removed server push support in 2022. [[http3|HTTP/3]] kept the feature for compatibility but nobody uses it. The lesson: a clever optimization that requires guessing client state usually loses to just letting the client ask.` }, { type: 'narrative', title: 'What\'s Next', - text: `[[http3|HTTP/3]] is shipping but not finished. Active work in 2025:\n\n- **{{webtransport|WebTransport}}**: bidirectional streams over QUIC, exposed to browsers โ€” a possible replacement for {{websockets|WebSockets}} where you want UDP-like semantics with TLS.\n- **{{masque|MASQUE}}**: tunnel arbitrary protocols inside QUIC, used by iCloud Private Relay and similar privacy products.\n- **HTTP/2 over QUIC**: not actually a thing, but it\'s a useful reminder that the framing layer (HTTP) and the transport (TCP/QUIC) are now genuinely separable.\n- **Multipath QUIC**: the same {{mptcp|MPTCP}} idea โ€” use multiple network paths in parallel โ€” but for QUIC, which is much easier to evolve than TCP.\n\nThe deeper trend: HTTP is now the universal application protocol, and the interesting evolution is happening at the *transport* layer beneath it. After 35 years, the protocol that started as \`GET /index.html\` runs more of the world\'s traffic than any other single protocol โ€” and the next chapter is being written by the people who decided TCP wasn\'t good enough anymore.` + text: `[[http3|HTTP/3]] is shipping but not finished. Active work in 2025:\n\n- **{{webtransport|WebTransport}}**: bidirectional streams over QUIC, exposed to browsers โ€” a possible replacement for {{websockets|WebSockets}} where you want UDP-like semantics with TLS.\n- **{{masque|MASQUE}}**: tunnel arbitrary protocols inside QUIC, used by iCloud Private Relay and similar privacy products.\n- **HTTP/2 over QUIC**: not actually a thing, but it's a useful reminder that the framing layer (HTTP) and the transport (TCP/QUIC) are now genuinely separable.\n- **Multipath QUIC**: the same {{mptcp|MPTCP}} idea โ€” use multiple network paths in parallel โ€” but for QUIC, which is much easier to evolve than TCP.\n\nThe deeper trend: HTTP is now the universal application protocol, and the interesting evolution is happening at the *transport* layer beneath it. After 35 years, the protocol that started as \`GET /index.html\` runs more of the world's traffic than any other single protocol โ€” and the next chapter is being written by the people who decided TCP wasn't good enough anymore.` } ] }; diff --git a/src/lib/data/subcategory-stories/internet-layer.ts b/src/lib/data/subcategory-stories/internet-layer.ts index c0d90be..df3ee8e 100644 --- a/src/lib/data/subcategory-stories/internet-layer.ts +++ b/src/lib/data/subcategory-stories/internet-layer.ts @@ -8,7 +8,7 @@ export const internetLayerStory: SubcategoryStory = { { type: 'narrative', title: 'The Layer That Everything Else Trusts', - text: `Networking diagrams traditionally draw the Internet protocol stack as an **hourglass**. Many physical link layers at the bottom (Ethernet, Wi-Fi, fiber, cellular). Many transport and application layers at the top ([[tcp|TCP]], [[udp|UDP]], [[http3|HTTP]], [[dns|DNS]]). One protocol in the middle.\n\nThat middle protocol is **[[ip|IP]]**. Every packet on the Internet, regardless of what physical medium it crosses or what application generated it, wears an IP header. The narrowness of the waist is what makes the whole thing work: any application can run over any link as long as both speak IP. Wi-Fi got added without changing TCP. HTTP/3 got added without changing Ethernet. The hourglass shape is the architectural reason the Internet was able to evolve at all.\n\nThe Internet Layer family has three members:\n\n- **[[ip|IPv4]]** ([[rfc:791|RFC 791]], 1981) is the original. 32-bit addresses, 20-byte header, decades of operational hardening. The address space (~4.3 billion) ran out years ago; [[nat-traversal|NAT]] is how we\'ve been pretending otherwise.\n- **[[ipv6|IPv6]]** ([[rfc:8200|RFC 8200]], 1998 / 2017) is the successor. 128-bit addresses (enough to give every grain of sand on Earth its own /64). Cleaned-up header (40 bytes, fewer fields, better fragmentation rules). Mandatory IPsec was once part of the pitch; deployed reality is more complicated.\n- **[[icmp|ICMP]]** ([[rfc:792|RFC 792]] for v4, [[rfc:4443|RFC 4443]] for v6) is the diagnostic shadow. Echo (the basis of \`ping\`), TTL-exceeded (the basis of \`traceroute\`), destination-unreachable, redirect. Not really a transport โ€” more of a control plane for IP itself.\n\nThe **best-effort** promise is what makes IP scale. The protocol guarantees nothing โ€” packets may arrive in any order, may be duplicated, may be silently dropped, may have bits corrupted. All reliability is the responsibility of higher layers ([[tcp|TCP]], [[quic|QUIC]], the application). Routers don\'t need to remember any state about flows; they just look at the destination address, consult the routing table, forward. This statelessness is what lets the Internet survive at scale โ€” failures are routed around without anyone needing to coordinate.` + text: `Networking diagrams traditionally draw the Internet protocol stack as an **hourglass**. Many physical link layers at the bottom (Ethernet, Wi-Fi, fiber, cellular). Many transport and application layers at the top ([[tcp|TCP]], [[udp|UDP]], [[http3|HTTP]], [[dns|DNS]]). One protocol in the middle.\n\nThat middle protocol is **[[ip|IP]]**. Every packet on the Internet, regardless of what physical medium it crosses or what application generated it, wears an IP header. The narrowness of the waist is what makes the whole thing work: any application can run over any link as long as both speak IP. Wi-Fi got added without changing TCP. HTTP/3 got added without changing Ethernet. The hourglass shape is the architectural reason the Internet was able to evolve at all.\n\nThe Internet Layer family has three members:\n\n- **[[ip|IPv4]]** ([[rfc:791|RFC 791]], 1981) is the original. 32-bit addresses, 20-byte header, decades of operational hardening. The address space (~4.3 billion) ran out years ago; [[nat-traversal|NAT]] is how we've been pretending otherwise.\n- **[[ipv6|IPv6]]** ([[rfc:8200|RFC 8200]], 1998 / 2017) is the successor. 128-bit addresses (enough to give every grain of sand on Earth its own /64). Cleaned-up header (40 bytes, fewer fields, better fragmentation rules). Mandatory IPsec was once part of the pitch; deployed reality is more complicated.\n- **[[icmp|ICMP]]** ([[rfc:792|RFC 792]] for v4, [[rfc:4443|RFC 4443]] for v6) is the diagnostic shadow. Echo (the basis of \`ping\`), TTL-exceeded (the basis of \`traceroute\`), destination-unreachable, redirect. Not really a transport โ€” more of a control plane for IP itself.\n\nThe **best-effort** promise is what makes IP scale. The protocol guarantees nothing โ€” packets may arrive in any order, may be duplicated, may be silently dropped, may have bits corrupted. All reliability is the responsibility of higher layers ([[tcp|TCP]], [[quic|QUIC]], the application). Routers don't need to remember any state about flows; they just look at the destination address, consult the routing table, forward. This statelessness is what lets the Internet survive at scale โ€” failures are routed around without anyone needing to coordinate.` }, { type: 'pioneers', @@ -50,7 +50,7 @@ export const internetLayerStory: SubcategoryStory = { year: 1974, title: 'Cerf & Kahn Publish TCP/IP Concept', description: - '\"A Protocol for Packet Network Intercommunication\" defines open-architecture networking. The protocol is monolithic at first.' + '"A Protocol for Packet Network Intercommunication" defines open-architecture networking. The protocol is monolithic at first.' }, { year: 1978, @@ -68,7 +68,7 @@ export const internetLayerStory: SubcategoryStory = { year: 1981, title: 'ICMP RFC 792', description: - '[[icmp|ICMP]] standardized โ€” the diagnostic protocol that gave us \`ping\` (1983) and later \`traceroute\` (1988).' + '[[icmp|ICMP]] standardized โ€” the diagnostic protocol that gave us `ping` (1983) and later `traceroute` (1988).' }, { year: 1983, @@ -86,7 +86,7 @@ export const internetLayerStory: SubcategoryStory = { year: 1995, title: 'IPv6 First Spec (RFC 1883)', description: - "[[pioneer:steve-deering|Deering]]\'s [[ipv6|IPv6]] specification publishes. 128-bit addresses, simpler header, no fragmentation by routers (only by hosts)." + "[[pioneer:steve-deering|Deering]]'s [[ipv6|IPv6]] specification publishes. 128-bit addresses, simpler header, no fragmentation by routers (only by hosts)." }, { year: 1998, @@ -162,7 +162,7 @@ export const internetLayerStory: SubcategoryStory = { ] } ], - note: "ICMP isn\'t a transport โ€” it\'s a control protocol for IP itself. ICMPv4 and ICMPv6 are different protocols with overlapping purposes; ICMPv6 absorbed ARP\'s functionality via Neighbor Discovery." + note: "ICMP isn't a transport โ€” it's a control protocol for IP itself. ICMPv4 and ICMPv6 are different protocols with overlapping purposes; ICMPv6 absorbed ARP's functionality via Neighbor Discovery." }, { type: 'animated-sequence', @@ -210,17 +210,17 @@ export const internetLayerStory: SubcategoryStory = { { type: 'callout', title: 'Why IPv6 Took 30 Years', - text: `[[ipv6|IPv6]] was published in 1995. By 2010, IPv4 was running out of addresses; the migration should have been urgent. As of 2025, IPv6 carries ~40% of Google traffic โ€” better than people expected by 2020, but still far from the "IPv4 is gone" world the original transition plans envisioned.\n\nWhy the slow march?\n\n- **There\'s no flag day.** Unlike the 1983 ARPANET TCP/IP cutover (which had ~400 hosts on one network), the modern Internet has billions of devices on countless networks. No central authority can flip a switch. Every operator transitions independently.\n- **NAT bought time.** [[nat-traversal|NAT]] โ€” designed as a temporary hack โ€” let one IPv4 address serve hundreds of devices behind a home router. The address-exhaustion pressure was real but never *acute*. People could keep using IPv4 indefinitely (uncomfortably, but indefinitely).\n- **IPv6 isn\'t a superset of IPv4.** A pure IPv6 host can\'t reach IPv4-only hosts without translation (NAT64, CLAT, 464XLAT). A network running only IPv6 has to maintain IPv4 reachability anyway for legacy services. Dual-stack โ€” running both โ€” is operationally complex.\n- **No business benefit (until now).** From an individual operator\'s perspective, IPv6 cost money to deploy and brought no new functionality. The address-exhaustion cost was diffused across the industry; the cost of deployment was localized.\n- **Apple changed the calculus in 2016.** Apple\'s App Store policy requiring all apps to work on IPv6-only networks meant every iOS developer had to test and fix their apps. T-Mobile USA going IPv6-only on their cellular network made that real. The pressure flipped from \"why bother\" to \"my service breaks if I don\'t.\"\n\nThe deeper lesson: replacing the protocol at the bottom of the hourglass is the hardest possible thing to do in network engineering. Everything depends on it. Backward compatibility constraints multiply. Replacement might still complete; it might never complete. Either outcome is consistent with the data so far.` + text: `[[ipv6|IPv6]] was published in 1995. By 2010, IPv4 was running out of addresses; the migration should have been urgent. As of 2025, IPv6 carries ~40% of Google traffic โ€” better than people expected by 2020, but still far from the "IPv4 is gone" world the original transition plans envisioned.\n\nWhy the slow march?\n\n- **There's no flag day.** Unlike the 1983 ARPANET TCP/IP cutover (which had ~400 hosts on one network), the modern Internet has billions of devices on countless networks. No central authority can flip a switch. Every operator transitions independently.\n- **NAT bought time.** [[nat-traversal|NAT]] โ€” designed as a temporary hack โ€” let one IPv4 address serve hundreds of devices behind a home router. The address-exhaustion pressure was real but never *acute*. People could keep using IPv4 indefinitely (uncomfortably, but indefinitely).\n- **IPv6 isn't a superset of IPv4.** A pure IPv6 host can't reach IPv4-only hosts without translation (NAT64, CLAT, 464XLAT). A network running only IPv6 has to maintain IPv4 reachability anyway for legacy services. Dual-stack โ€” running both โ€” is operationally complex.\n- **No business benefit (until now).** From an individual operator's perspective, IPv6 cost money to deploy and brought no new functionality. The address-exhaustion cost was diffused across the industry; the cost of deployment was localized.\n- **Apple changed the calculus in 2016.** Apple's App Store policy requiring all apps to work on IPv6-only networks meant every iOS developer had to test and fix their apps. T-Mobile USA going IPv6-only on their cellular network made that real. The pressure flipped from "why bother" to "my service breaks if I don't."\n\nThe deeper lesson: replacing the protocol at the bottom of the hourglass is the hardest possible thing to do in network engineering. Everything depends on it. Backward compatibility constraints multiply. Replacement might still complete; it might never complete. Either outcome is consistent with the data so far.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[ip|IPv4]]\'s failure mode is **address exhaustion**. There aren\'t enough 32-bit addresses for the world\'s devices, and there haven\'t been for years. [[nat-traversal|NAT]] hides the shortage at the cost of breaking the original peer-to-peer Internet model. Carrier-Grade NAT (where a cellular carrier runs NAT in their core) gives an entire customer base a single IPv4 address โ€” when that IP gets DDoSed or blacklisted, *every* customer is affected. The economic pressure shows up as IPv4 address blocks trading for $40-50 per IP on the secondary market.\n\n[[ipv6|IPv6]]\'s failure modes are subtler. The protocol design replaced some IPv4 problems with new ones:\n\n- **No fragmentation in routers.** Sounds good โ€” fragmentation was a performance disaster. But path-MTU discovery requires ICMPv6 \"Packet Too Big\" messages to reach the source, and many networks block ICMP. Black-hole MTU problems (connection establishes, large packets silently dropped) are an IPv6 operational headache.\n- **128-bit addresses are hard to type.** \`2001:db8:85a3::8a2e:370:7334\` instead of \`192.168.1.50\`. SLAAC-derived addresses are even more abstract. Diagnostic UX is worse than IPv4.\n- **Privacy extensions complicate logging.** SLAAC addresses change over time for privacy; correlating logs across time intervals is harder.\n\n[[icmp|ICMP]]\'s failure mode is **operators blocking it**. ICMP is essential for network operation (path-MTU discovery, error reporting) but is commonly blocked by misconfigured firewalls because "ICMP is dangerous." Blocking *all* ICMP breaks many things subtly โ€” IPv6 connectivity in particular relies on ICMPv6 for Neighbor Discovery. The "block ICMP echo only" advice from RFC 4890 is correct but rarely followed.` + text: `[[ip|IPv4]]'s failure mode is **address exhaustion**. There aren't enough 32-bit addresses for the world's devices, and there haven't been for years. [[nat-traversal|NAT]] hides the shortage at the cost of breaking the original peer-to-peer Internet model. Carrier-Grade NAT (where a cellular carrier runs NAT in their core) gives an entire customer base a single IPv4 address โ€” when that IP gets DDoSed or blacklisted, *every* customer is affected. The economic pressure shows up as IPv4 address blocks trading for $40-50 per IP on the secondary market.\n\n[[ipv6|IPv6]]'s failure modes are subtler. The protocol design replaced some IPv4 problems with new ones:\n\n- **No fragmentation in routers.** Sounds good โ€” fragmentation was a performance disaster. But path-MTU discovery requires ICMPv6 "Packet Too Big" messages to reach the source, and many networks block ICMP. Black-hole MTU problems (connection establishes, large packets silently dropped) are an IPv6 operational headache.\n- **128-bit addresses are hard to type.** \`2001:db8:85a3::8a2e:370:7334\` instead of \`192.168.1.50\`. SLAAC-derived addresses are even more abstract. Diagnostic UX is worse than IPv4.\n- **Privacy extensions complicate logging.** SLAAC addresses change over time for privacy; correlating logs across time intervals is harder.\n\n[[icmp|ICMP]]'s failure mode is **operators blocking it**. ICMP is essential for network operation (path-MTU discovery, error reporting) but is commonly blocked by misconfigured firewalls because "ICMP is dangerous." Blocking *all* ICMP breaks many things subtly โ€” IPv6 connectivity in particular relies on ICMPv6 for Neighbor Discovery. The "block ICMP echo only" advice from RFC 4890 is correct but rarely followed.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **IPv6-only networks** continue to spread. Most major mobile carriers (T-Mobile USA, Reliance Jio, France\'s mobile networks) are IPv6-only with NAT64/DNS64 for legacy IPv4 access. Apple-mandated dual-stack support means iOS apps just work on these networks. The transition is happening, slowly.\n- **Segment Routing (SRv6)** is rolling out in ISP backbones. Encodes the explicit packet path inside the IPv6 header itself; doesn\'t replace [[bgp|BGP]] but changes how engineers express traffic engineering. Largely an enterprise/ISP technology, invisible to end users.\n- **IPv6 Extension Headers** โ€” a generality of IPv6 originally meant for innovation โ€” remain underutilized. Many networks drop packets containing extension headers (which they shouldn\'t but do); deploying anything beyond plain IPv6 is operationally hard.\n- **QUIC over IP** โ€” [[quic|QUIC]] is layered above IP via UDP, but the design point โ€” encrypt transport headers, escape middlebox ossification โ€” is essentially "evolve transport behavior without changing IP." It\'s a workaround for the fact that IPv6 mass deployment didn\'t happen on schedule.\n- **IPv4 secondary market** continues. AWS now owns >100 million IPv4 addresses; Cloudflare, Microsoft, Akamai are major holders. IPv4 prefixes are quietly becoming a financial asset class.\n- **The boring truth**: IPv4 will be running real production traffic in 2050. The hourglass is wide enough to hold both versions of the waist for a very long time.` + text: `Active work in 2025:\n\n- **IPv6-only networks** continue to spread. Most major mobile carriers (T-Mobile USA, Reliance Jio, France's mobile networks) are IPv6-only with NAT64/DNS64 for legacy IPv4 access. Apple-mandated dual-stack support means iOS apps just work on these networks. The transition is happening, slowly.\n- **Segment Routing (SRv6)** is rolling out in ISP backbones. Encodes the explicit packet path inside the IPv6 header itself; doesn't replace [[bgp|BGP]] but changes how engineers express traffic engineering. Largely an enterprise/ISP technology, invisible to end users.\n- **IPv6 Extension Headers** โ€” a generality of IPv6 originally meant for innovation โ€” remain underutilized. Many networks drop packets containing extension headers (which they shouldn't but do); deploying anything beyond plain IPv6 is operationally hard.\n- **QUIC over IP** โ€” [[quic|QUIC]] is layered above IP via UDP, but the design point โ€” encrypt transport headers, escape middlebox ossification โ€” is essentially "evolve transport behavior without changing IP." It's a workaround for the fact that IPv6 mass deployment didn't happen on schedule.\n- **IPv4 secondary market** continues. AWS now owns >100 million IPv4 addresses; Cloudflare, Microsoft, Akamai are major holders. IPv4 prefixes are quietly becoming a financial asset class.\n- **The boring truth**: IPv4 will be running real production traffic in 2050. The hourglass is wide enough to hold both versions of the waist for a very long time.` } ] }; diff --git a/src/lib/data/subcategory-stories/iot-messaging.ts b/src/lib/data/subcategory-stories/iot-messaging.ts index 9911695..dbcd4c4 100644 --- a/src/lib/data/subcategory-stories/iot-messaging.ts +++ b/src/lib/data/subcategory-stories/iot-messaging.ts @@ -8,7 +8,7 @@ export const iotMessagingStory: SubcategoryStory = { { type: 'narrative', title: 'When the Device Is the Constraint', - text: `Most networking protocols assume the endpoint is a server or a workstation: gigabytes of RAM, gigahertz of CPU, mains power, a stable Ethernet link. IoT inverts every one of those assumptions. The endpoint is a temperature sensor on a windmill, a soil-moisture probe in a field, a smart-meter on the side of a house, an asset tracker glued to a pallet. It has 32 KB of RAM, an 8-bit MCU, a CR2032 battery that must last seven years, and a cellular link that drops out every other day.\n\nTwo protocols dominate this world:\n\n- **[[mqtt|MQTT]]** (1999) is a publish/subscribe protocol designed at IBM for SCADA systems running over satellite links. The wire format is brutally compact (a 2-byte header for most messages); the topic model is hierarchical strings; quality-of-service is built in (QoS 0/1/2). A broker in the middle does all the work; devices speak only to the broker. By 2020 it powered Facebook Messenger, AWS IoT Core, and approximately every commercial IoT platform that exists.\n- **[[coap|CoAP]]** (2014) is "[[http1|HTTP]] for constrained devices." It maps GET/POST/PUT/DELETE onto [[udp|UDP]] datagrams, supports observe-style streaming for resource changes, and packs the protocol into a few hundred bytes of RAM. The mental model: REST on a sensor. The CoRE working group at the IETF designed it specifically so a web developer who knows HTTP can reason about IoT without learning a new paradigm.\n\nThey aren\'t direct competitors. MQTT centralizes on a broker; CoAP is peer-to-peer. MQTT runs on [[tcp|TCP]]; CoAP on [[udp|UDP]]. MQTT is great when many devices fan out events to many backends. CoAP is great when a controller polls or observes individual devices on a constrained-radio mesh (6LoWPAN, Thread).` + text: `Most networking protocols assume the endpoint is a server or a workstation: gigabytes of RAM, gigahertz of CPU, mains power, a stable Ethernet link. IoT inverts every one of those assumptions. The endpoint is a temperature sensor on a windmill, a soil-moisture probe in a field, a smart-meter on the side of a house, an asset tracker glued to a pallet. It has 32 KB of RAM, an 8-bit MCU, a CR2032 battery that must last seven years, and a cellular link that drops out every other day.\n\nTwo protocols dominate this world:\n\n- **[[mqtt|MQTT]]** (1999) is a publish/subscribe protocol designed at IBM for SCADA systems running over satellite links. The wire format is brutally compact (a 2-byte header for most messages); the topic model is hierarchical strings; quality-of-service is built in (QoS 0/1/2). A broker in the middle does all the work; devices speak only to the broker. By 2020 it powered Facebook Messenger, AWS IoT Core, and approximately every commercial IoT platform that exists.\n- **[[coap|CoAP]]** (2014) is "[[http1|HTTP]] for constrained devices." It maps GET/POST/PUT/DELETE onto [[udp|UDP]] datagrams, supports observe-style streaming for resource changes, and packs the protocol into a few hundred bytes of RAM. The mental model: REST on a sensor. The CoRE working group at the IETF designed it specifically so a web developer who knows HTTP can reason about IoT without learning a new paradigm.\n\nThey aren't direct competitors. MQTT centralizes on a broker; CoAP is peer-to-peer. MQTT runs on [[tcp|TCP]]; CoAP on [[udp|UDP]]. MQTT is great when many devices fan out events to many backends. CoAP is great when a controller polls or observes individual devices on a constrained-radio mesh (6LoWPAN, Thread).` }, { type: 'pioneers', @@ -59,7 +59,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 2013, title: 'Facebook Messenger Adopts MQTT', description: - "Facebook ships MQTT in Messenger\'s mobile apps for chat-message delivery โ€” a counterintuitive but brilliant fit. The same protocol designed for oil pipelines turns out to be perfect for low-latency push to phones on flaky mobile networks." + "Facebook ships MQTT in Messenger's mobile apps for chat-message delivery โ€” a counterintuitive but brilliant fit. The same protocol designed for oil pipelines turns out to be perfect for low-latency push to phones on flaky mobile networks." }, { year: 2014, @@ -95,7 +95,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 2022, title: 'Matter Launches with CoAP', description: - "Matter (Apple/Google/Amazon\'s unified smart-home protocol) uses CoAP-over-Thread for its commissioning and device communication. The largest consumer-facing deployment of CoAP to date." + "Matter (Apple/Google/Amazon's unified smart-home protocol) uses CoAP-over-Thread for its commissioning and device communication. The largest consumer-facing deployment of CoAP to date." }, { year: 2024, @@ -131,7 +131,7 @@ export const iotMessagingStory: SubcategoryStory = { ] } ], - note: "MQTT requires a broker; CoAP can work device-to-device. If your devices already need a cloud connection (telemetry, OTA updates), MQTT\'s broker is free infrastructure. If they\'re strictly local (Matter / Thread), CoAP avoids the broker dependency entirely." + note: "MQTT requires a broker; CoAP can work device-to-device. If your devices already need a cloud connection (telemetry, OTA updates), MQTT's broker is free infrastructure. If they're strictly local (Matter / Thread), CoAP avoids the broker dependency entirely." }, { type: 'animated-sequence', @@ -188,12 +188,12 @@ export const iotMessagingStory: SubcategoryStory = { { type: 'callout', title: 'Why Facebook Messenger Runs MQTT', - text: `In 2013 Facebook revealed that [[mqtt|MQTT]] was the transport for chat messages in their mobile Messenger app. This raised eyebrows โ€” MQTT was designed for oil pipelines, why is the world\'s largest chat product using it?\n\nThe reasons are exactly the reasons MQTT was designed for industrial telemetry:\n\n- **Tiny header.** A standard MQTT message has a 2-byte fixed header. On a flaky cellular link, every byte matters for battery and bandwidth.\n- **Persistent session.** A connected mobile client maintains one long-lived TCP/TLS connection to the broker. Server can push instantly; client doesn\'t have to poll.\n- **Last-will-and-testament.** When a client unexpectedly disconnects, the broker publishes a pre-registered "I just went offline" message to subscribers. This is exactly how Messenger detects "user went offline" without polling.\n- **Wildcard subscriptions.** Subscribe to \`user/123/+\` to get every message type for one user; one subscription scales to many message types.\n- **Battery friendly.** Compared to HTTP polling, MQTT\'s persistent connection costs much less radio time on mobile.\n\nFacebook\'s WhatsApp also runs MQTT for the same reasons. The lesson: a protocol designed for *the most constrained possible client* generalizes well to *any constrained client*. Phones turned out to be constrained clients.` + text: `In 2013 Facebook revealed that [[mqtt|MQTT]] was the transport for chat messages in their mobile Messenger app. This raised eyebrows โ€” MQTT was designed for oil pipelines, why is the world's largest chat product using it?\n\nThe reasons are exactly the reasons MQTT was designed for industrial telemetry:\n\n- **Tiny header.** A standard MQTT message has a 2-byte fixed header. On a flaky cellular link, every byte matters for battery and bandwidth.\n- **Persistent session.** A connected mobile client maintains one long-lived TCP/TLS connection to the broker. Server can push instantly; client doesn't have to poll.\n- **Last-will-and-testament.** When a client unexpectedly disconnects, the broker publishes a pre-registered "I just went offline" message to subscribers. This is exactly how Messenger detects "user went offline" without polling.\n- **Wildcard subscriptions.** Subscribe to \`user/123/+\` to get every message type for one user; one subscription scales to many message types.\n- **Battery friendly.** Compared to HTTP polling, MQTT's persistent connection costs much less radio time on mobile.\n\nFacebook's WhatsApp also runs MQTT for the same reasons. The lesson: a protocol designed for *the most constrained possible client* generalizes well to *any constrained client*. Phones turned out to be constrained clients.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[mqtt|MQTT]]\'s failure mode is **the broker as single point of failure**. The broker is the protocol\'s heart; if it dies, the whole fleet is silent. Production deployments cluster brokers (HiveMQ cluster, EMQX cluster, Amazon\'s sharded IoT Core) and shard topics, but the model is fundamentally centralized. Network partitions create the classic split-brain problems, and reconciling messages published on each side of a partition is non-trivial.\n\n[[coap|CoAP]]\'s failure mode is **NAT and firewall traversal**. CoAP runs on UDP, and most home/enterprise NATs are aggressive about closing UDP "connections" after seconds of idle time. For battery-powered devices that wake every few minutes, this means the NAT mapping is gone every time they want to send. Workarounds (CoAP over DTLS keep-alives, proxied through a hub) exist but add complexity. The protocol\'s minimalism becomes a tax once you leave a Thread mesh and hit a real internet.\n\nBoth share a third failure mode: **device firmware sprawl**. Hundreds of MCU vendors, dozens of MQTT/CoAP libraries, varying TLS support, divergent interpretations of the spec. Interop is often a matter of "this client works with that broker but not the other one." The MQTT 5 specification text exists; the *behavior* on the wire is whatever the broker and library agreed on.` + text: `[[mqtt|MQTT]]'s failure mode is **the broker as single point of failure**. The broker is the protocol's heart; if it dies, the whole fleet is silent. Production deployments cluster brokers (HiveMQ cluster, EMQX cluster, Amazon's sharded IoT Core) and shard topics, but the model is fundamentally centralized. Network partitions create the classic split-brain problems, and reconciling messages published on each side of a partition is non-trivial.\n\n[[coap|CoAP]]'s failure mode is **NAT and firewall traversal**. CoAP runs on UDP, and most home/enterprise NATs are aggressive about closing UDP "connections" after seconds of idle time. For battery-powered devices that wake every few minutes, this means the NAT mapping is gone every time they want to send. Workarounds (CoAP over DTLS keep-alives, proxied through a hub) exist but add complexity. The protocol's minimalism becomes a tax once you leave a Thread mesh and hit a real internet.\n\nBoth share a third failure mode: **device firmware sprawl**. Hundreds of MCU vendors, dozens of MQTT/CoAP libraries, varying TLS support, divergent interpretations of the spec. Interop is often a matter of "this client works with that broker but not the other one." The MQTT 5 specification text exists; the *behavior* on the wire is whatever the broker and library agreed on.` }, { type: 'narrative', diff --git a/src/lib/data/subcategory-stories/link-layer.ts b/src/lib/data/subcategory-stories/link-layer.ts index 00ddfba..1976783 100644 --- a/src/lib/data/subcategory-stories/link-layer.ts +++ b/src/lib/data/subcategory-stories/link-layer.ts @@ -8,7 +8,7 @@ export const linkLayerStory: SubcategoryStory = { { type: 'narrative', title: 'The Layer Underneath Everything', - text: `Every packet on the Internet is wrapped, at the moment it crosses any wire or wireless link, in a **frame**. The frame carries the packet plus the addresses of the two physical endpoints involved in *this hop*. The packet might be making a 14-hop journey across the planet; each hop happens at the link layer, with a fresh frame and a fresh pair of physical addresses.\n\nThe link-layer family in this app has two members because they answer two complementary questions:\n\n- **[[ethernet|Ethernet]]** (IEEE 802.3, 1983) answers *how a frame physically gets across a single segment*. The 48-bit MAC address. The 1500-byte MTU (mostly). The CSMA/CD collision-detection mechanism (now historical, replaced by full-duplex switched links). The Ethernet header is what every IP packet wears when it\'s in transit on a wire โ€” even when the underlying technology is Wi-Fi, fiber, or 5G, the protocols above the link mostly assume Ethernet-shaped framing.\n- **[[arp|ARP]]** ([[rfc:826|RFC 826]], 1982) answers *how a sender on a local segment finds the MAC address for the next-hop IP*. It\'s the protocol that lives in the crack between Layer 2 (Ethernet) and Layer 3 (IP). You have a packet destined for 192.168.1.50; you know it\'s on your local subnet; you don\'t know its MAC. ARP broadcasts \"who has 192.168.1.50?\" on the segment; the host with that IP replies; you cache the mapping for a few minutes.\n\nEthernet and ARP together are how packets actually move across the wire under all the higher-layer protocols. They\'re also a perfect example of a *layering crime* that nobody minds: ARP can\'t be neatly placed in either Layer 2 or Layer 3 because it bridges them. The TCP/IP textbook treatment usually calls it "Layer 2.5" and moves on.\n\nThis layer is, ironically, the place where Internet protocols are *most* shaped by physical reality. Frame sizes match Ethernet history. Addresses are 48 bits because that\'s what fit in a Xerox PARC chip in 1980. The number of devices on a segment was constrained by collision dynamics. Forty-five years later, the Layer 2 of a Cloudflare data center is still recognizably the Layer 2 of a 1983 office LAN.` + text: `Every packet on the Internet is wrapped, at the moment it crosses any wire or wireless link, in a **frame**. The frame carries the packet plus the addresses of the two physical endpoints involved in *this hop*. The packet might be making a 14-hop journey across the planet; each hop happens at the link layer, with a fresh frame and a fresh pair of physical addresses.\n\nThe link-layer family in this app has two members because they answer two complementary questions:\n\n- **[[ethernet|Ethernet]]** (IEEE 802.3, 1983) answers *how a frame physically gets across a single segment*. The 48-bit MAC address. The 1500-byte MTU (mostly). The CSMA/CD collision-detection mechanism (now historical, replaced by full-duplex switched links). The Ethernet header is what every IP packet wears when it's in transit on a wire โ€” even when the underlying technology is Wi-Fi, fiber, or 5G, the protocols above the link mostly assume Ethernet-shaped framing.\n- **[[arp|ARP]]** ([[rfc:826|RFC 826]], 1982) answers *how a sender on a local segment finds the MAC address for the next-hop IP*. It's the protocol that lives in the crack between Layer 2 (Ethernet) and Layer 3 (IP). You have a packet destined for 192.168.1.50; you know it's on your local subnet; you don't know its MAC. ARP broadcasts "who has 192.168.1.50?" on the segment; the host with that IP replies; you cache the mapping for a few minutes.\n\nEthernet and ARP together are how packets actually move across the wire under all the higher-layer protocols. They're also a perfect example of a *layering crime* that nobody minds: ARP can't be neatly placed in either Layer 2 or Layer 3 because it bridges them. The TCP/IP textbook treatment usually calls it "Layer 2.5" and moves on.\n\nThis layer is, ironically, the place where Internet protocols are *most* shaped by physical reality. Frame sizes match Ethernet history. Addresses are 48 bits because that's what fit in a Xerox PARC chip in 1980. The number of devices on a segment was constrained by collision dynamics. Forty-five years later, the Layer 2 of a Cloudflare data center is still recognizably the Layer 2 of a 1983 office LAN.` }, { type: 'pioneers', @@ -36,7 +36,7 @@ export const linkLayerStory: SubcategoryStory = { id: 'radia-perlman', name: 'Radia Perlman', years: '1951โ€“', - title: '\"Mother of the Internet\" / Spanning Tree Protocol', + title: '"Mother of the Internet" / Spanning Tree Protocol', org: 'DEC / Sun / EMC / Dell', contribution: "Invented the Spanning Tree Protocol (STP, 1985) โ€” the algorithm that lets a multi-bridge Ethernet network avoid loops without manual configuration. Without STP, two Ethernet switches connected together would form a broadcast loop that would melt the network in milliseconds. Perlman\\'s algorithm โ€” elect a root bridge, compute least-cost path, block redundant ports โ€” made Ethernet scale beyond a single segment. Also wrote IS-IS (an IGP routing protocol) and the canonical textbook *Interconnections*." @@ -68,19 +68,19 @@ export const linkLayerStory: SubcategoryStory = { year: 1983, title: 'IEEE 802.3 Standardized', description: - "The IEEE\'s formal Ethernet standard. Initial differences with DIX (frame format, mostly) caused some incompatibility; the two converged over the next few years." + "The IEEE's formal Ethernet standard. Initial differences with DIX (frame format, mostly) caused some incompatibility; the two converged over the next few years." }, { year: 1985, title: 'Spanning Tree Protocol', description: - "[[pioneer:radia-perlman|Perlman]]\'s STP lets multiple bridges interconnect without creating loops. The protocol\'s correctness is famously elegant; her poem \"Algorhyme\" describes it: \"I think that I shall never see / a graph more lovely than a tree.\"" + "[[pioneer:radia-perlman|Perlman]]'s STP lets multiple bridges interconnect without creating loops. The protocol's correctness is famously elegant; her poem \"Algorhyme\" describes it: \"I think that I shall never see / a graph more lovely than a tree.\"" }, { year: 1990, title: '10BASE-T โ€” Twisted Pair Ethernet', description: - "Star-topology Ethernet over twisted-pair cables and hubs. Eliminates the failure mode of \"one cable break takes down the whole segment.\" Begins Ethernet\'s dominance over Token Ring." + "Star-topology Ethernet over twisted-pair cables and hubs. Eliminates the failure mode of \"one cable break takes down the whole segment.\" Begins Ethernet's dominance over Token Ring." }, { year: 1995, @@ -191,17 +191,17 @@ export const linkLayerStory: SubcategoryStory = { { type: 'callout', title: 'Why Ethernet Won', - text: `In the late 1970s and early 1980s, the LAN wars had three contenders: **[[ethernet|Ethernet]]** (Xerox/DEC/Intel), **Token Ring** (IBM), and **Token Bus** (later FDDI). For ten years it was unclear which would win. By 1995, Ethernet had won everywhere except inside IBM shops. Why?\n\n**Ethernet was cheap.** Coaxial cable + a tap was cheaper than the complex MAU (Multi-station Attachment Unit) for Token Ring. The economics scaled badly for Ethernet at very high station counts (collisions dominated), but most LANs were small enough that the cost difference mattered more than the performance penalty.\n\n**Ethernet was permissive.** You could mix vendors. Add a new station without configuring the network. Plug things in and they worked. Token Ring required careful ring management; FDDI required ring monitors and station ID coordination. The "just plug it in" property of Ethernet was the same property that would later define Wi-Fi.\n\n**Ethernet evolved.** When 10 Mbps over coax (10BASE-5, 10BASE-2) became limiting, 10BASE-T over twisted pair appeared. When that became limiting, 100BASE-TX. Then 1000BASE-T. Then 10GBASE-T. Each generation reused the cabling investment (mostly) and stayed backward-compatible at the frame format. Token Ring couldn\'t evolve as smoothly; it stayed at 16 Mbps long after Ethernet had gone to 100 and beyond.\n\n**Ethernet abandoned collision detection.** The most distinctive thing about original Ethernet โ€” CSMA/CD, where stations sensed the carrier before transmitting and detected collisions during transmission โ€” is gone. Modern Ethernet is full-duplex switched. Every station has its own dedicated link to the switch; there are no collisions. The thing that made Ethernet *Ethernet* in the textbook diagram of 1985 doesn\'t exist in any modern deployment. The frame format and addressing survived; the medium-access protocol got replaced wholesale. Few protocols have undergone that level of internal change while keeping the same name.` + text: `In the late 1970s and early 1980s, the LAN wars had three contenders: **[[ethernet|Ethernet]]** (Xerox/DEC/Intel), **Token Ring** (IBM), and **Token Bus** (later FDDI). For ten years it was unclear which would win. By 1995, Ethernet had won everywhere except inside IBM shops. Why?\n\n**Ethernet was cheap.** Coaxial cable + a tap was cheaper than the complex MAU (Multi-station Attachment Unit) for Token Ring. The economics scaled badly for Ethernet at very high station counts (collisions dominated), but most LANs were small enough that the cost difference mattered more than the performance penalty.\n\n**Ethernet was permissive.** You could mix vendors. Add a new station without configuring the network. Plug things in and they worked. Token Ring required careful ring management; FDDI required ring monitors and station ID coordination. The "just plug it in" property of Ethernet was the same property that would later define Wi-Fi.\n\n**Ethernet evolved.** When 10 Mbps over coax (10BASE-5, 10BASE-2) became limiting, 10BASE-T over twisted pair appeared. When that became limiting, 100BASE-TX. Then 1000BASE-T. Then 10GBASE-T. Each generation reused the cabling investment (mostly) and stayed backward-compatible at the frame format. Token Ring couldn't evolve as smoothly; it stayed at 16 Mbps long after Ethernet had gone to 100 and beyond.\n\n**Ethernet abandoned collision detection.** The most distinctive thing about original Ethernet โ€” CSMA/CD, where stations sensed the carrier before transmitting and detected collisions during transmission โ€” is gone. Modern Ethernet is full-duplex switched. Every station has its own dedicated link to the switch; there are no collisions. The thing that made Ethernet *Ethernet* in the textbook diagram of 1985 doesn't exist in any modern deployment. The frame format and addressing survived; the medium-access protocol got replaced wholesale. Few protocols have undergone that level of internal change while keeping the same name.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[ethernet|Ethernet]]\'s historical failure mode was the **broadcast storm** โ€” connect two switches in a loop, both forward broadcasts to each other, the loop multiplies the traffic exponentially until the network melts in seconds. [[pioneer:radia-perlman|Perlman]]\'s Spanning Tree Protocol (STP, 1985) and its descendants (RSTP, MSTP) elect a topology tree and block redundant ports. Without STP, every multi-switch Ethernet would routinely die from operator error. The modern alternative โ€” TRILL, SPB, or just careful manual configuration โ€” solves the same problem differently.\n\n[[arp|ARP]]\'s failure mode is **ARP spoofing**. ARP has no authentication. Anyone on the segment can send unsolicited "I\'m 10.0.0.1, MAC = my-MAC" replies; victim hosts cache the lie; their traffic to 10.0.0.1 goes to the attacker. This is the basis of man-in-the-middle attacks on LANs and is trivial to execute (any \`ettercap\` script can do it). Mitigations exist (Dynamic ARP Inspection in enterprise switches, static ARP entries for critical hosts) but require deployment. Most office LANs are still vulnerable.\n\nA third shared failure mode: **MAC flooding**. Switches have finite-size MAC tables. Flooding them with random MAC addresses causes most switches to fall back to "hub mode" (flood everything to every port), letting an attacker passively sniff the segment. Defense: port security with a per-port MAC limit, sticky MAC learning. Again, requires configuration that\'s often skipped.` + text: `[[ethernet|Ethernet]]'s historical failure mode was the **broadcast storm** โ€” connect two switches in a loop, both forward broadcasts to each other, the loop multiplies the traffic exponentially until the network melts in seconds. [[pioneer:radia-perlman|Perlman]]'s Spanning Tree Protocol (STP, 1985) and its descendants (RSTP, MSTP) elect a topology tree and block redundant ports. Without STP, every multi-switch Ethernet would routinely die from operator error. The modern alternative โ€” TRILL, SPB, or just careful manual configuration โ€” solves the same problem differently.\n\n[[arp|ARP]]'s failure mode is **ARP spoofing**. ARP has no authentication. Anyone on the segment can send unsolicited "I'm 10.0.0.1, MAC = my-MAC" replies; victim hosts cache the lie; their traffic to 10.0.0.1 goes to the attacker. This is the basis of man-in-the-middle attacks on LANs and is trivial to execute (any \`ettercap\` script can do it). Mitigations exist (Dynamic ARP Inspection in enterprise switches, static ARP entries for critical hosts) but require deployment. Most office LANs are still vulnerable.\n\nA third shared failure mode: **MAC flooding**. Switches have finite-size MAC tables. Flooding them with random MAC addresses causes most switches to fall back to "hub mode" (flood everything to every port), letting an attacker passively sniff the segment. Defense: port security with a per-port MAC limit, sticky MAC learning. Again, requires configuration that's often skipped.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **800 Gbps Ethernet** (802.3df, 2024) ships in hyperscaler data centers. 1.6 Tbps is the next target.\n- **Single-pair Ethernet (10BASE-T1S, 100BASE-T1, 1000BASE-T1)** for automotive and industrial. One pair of wires instead of four; multi-drop topology. Replacing CAN bus in cars over the next decade.\n- **TSN โ€” Time-Sensitive Networking** brings deterministic latency to Ethernet for industrial control and audio/video. Time-aware shaping, frame preemption, IEEE 802.1AS time sync. The "Ethernet for real-time" story finally credible.\n- **MACsec (802.1AE)** for link-layer encryption. Encrypts frames between switches, separately from IPsec/TLS at higher layers. Standard for hyperscaler east-west traffic.\n- **IPv6 + ND replacing IPv4 + ARP** continues slowly. IPv6 Neighbor Discovery (ND) does ARP\'s job over ICMPv6, with additional features for stateless address autoconfiguration. The transition is ~30% complete by traffic volume, ~5% by deployed device count.\n- **The truth about Ethernet**: the frame format from 1980 is still the frame format. The bandwidth has grown 80,000ร— (10 Mbps โ†’ 800 Gbps). The collision-detection medium-access protocol is gone. The protocol that runs the planet is the protocol that\'s changed everywhere except where its name is.` + text: `Active work in 2025:\n\n- **800 Gbps Ethernet** (802.3df, 2024) ships in hyperscaler data centers. 1.6 Tbps is the next target.\n- **Single-pair Ethernet (10BASE-T1S, 100BASE-T1, 1000BASE-T1)** for automotive and industrial. One pair of wires instead of four; multi-drop topology. Replacing CAN bus in cars over the next decade.\n- **TSN โ€” Time-Sensitive Networking** brings deterministic latency to Ethernet for industrial control and audio/video. Time-aware shaping, frame preemption, IEEE 802.1AS time sync. The "Ethernet for real-time" story finally credible.\n- **MACsec (802.1AE)** for link-layer encryption. Encrypts frames between switches, separately from IPsec/TLS at higher layers. Standard for hyperscaler east-west traffic.\n- **IPv6 + ND replacing IPv4 + ARP** continues slowly. IPv6 Neighbor Discovery (ND) does ARP's job over ICMPv6, with additional features for stateless address autoconfiguration. The transition is ~30% complete by traffic volume, ~5% by deployed device count.\n- **The truth about Ethernet**: the frame format from 1980 is still the frame format. The bandwidth has grown 80,000ร— (10 Mbps โ†’ 800 Gbps). The collision-detection medium-access protocol is gone. The protocol that runs the planet is the protocol that's changed everywhere except where its name is.` } ] }; diff --git a/src/lib/data/subcategory-stories/mail-file-transfer.ts b/src/lib/data/subcategory-stories/mail-file-transfer.ts index b9bdc18..9dab793 100644 --- a/src/lib/data/subcategory-stories/mail-file-transfer.ts +++ b/src/lib/data/subcategory-stories/mail-file-transfer.ts @@ -8,7 +8,7 @@ export const mailFileTransferStory: SubcategoryStory = { { type: 'narrative', title: 'The Survivors of the 1970s', - text: `Long before the World Wide Web, before [[tcp|TCP/IP]], before personal computers, the ARPANET had two killer apps: **file transfer** and **electronic mail**. The protocols that carried them were defined in the early 1970s and โ€” astonishingly โ€” are still running the world\'s mail and a meaningful chunk of its file transfer in 2025.\n\n- **[[ftp|FTP]]** ([[rfc:114|RFC 114]], 1971; modernized as [[rfc:959|RFC 959]], 1985) is the oldest protocol in this app. It defines two separate connections โ€” a *control* connection for commands and a *data* connection for the file itself โ€” and a rich set of commands (LIST, RETR, STOR, RNFR, RNTO). FTP\'s design is older than TCP itself; the original ran on NCP, the pre-TCP ARPANET protocol.\n- **[[smtp|SMTP]]** ([[rfc:821|RFC 821]], 1982; modernized as [[rfc:5321|RFC 5321]], 2008) defines how mail servers hand mail to each other. Send a message; the SMTP server takes responsibility for delivering it; if the receiving server is unreachable, queue and retry until success or bounce. The store-and-forward model is the same one Ray Tomlinson invented in 1971 when he chose \`@\` as the separator between user and host.\n- **[[imap|IMAP]]** ([[rfc:1064|RFC 1064]], 1988; current spec [[rfc:3501|RFC 3501]], 2003) is how your mail *client* talks to your mail *server*. Unlike POP3 (which downloads and deletes), IMAP lets the server be the source of truth โ€” multiple devices see the same folders, the same read/unread state, the same starred messages.\n\nAll three are *text-based protocols*. You can speak them by hand with a telnet session. They were designed when "the network" meant a few dozen academic machines and "security" meant trusting everyone who had an account. Every modern deployment wraps them in TLS, layers anti-spam on top, and gates them behind authentication โ€” but the wire formats are unchanged.\n\nThe 50-year survival of these protocols is the most striking fact about them. Other 1970s designs got swept away. These didn\'t.` + text: `Long before the World Wide Web, before [[tcp|TCP/IP]], before personal computers, the ARPANET had two killer apps: **file transfer** and **electronic mail**. The protocols that carried them were defined in the early 1970s and โ€” astonishingly โ€” are still running the world's mail and a meaningful chunk of its file transfer in 2025.\n\n- **[[ftp|FTP]]** ([[rfc:114|RFC 114]], 1971; modernized as [[rfc:959|RFC 959]], 1985) is the oldest protocol in this app. It defines two separate connections โ€” a *control* connection for commands and a *data* connection for the file itself โ€” and a rich set of commands (LIST, RETR, STOR, RNFR, RNTO). FTP's design is older than TCP itself; the original ran on NCP, the pre-TCP ARPANET protocol.\n- **[[smtp|SMTP]]** ([[rfc:821|RFC 821]], 1982; modernized as [[rfc:5321|RFC 5321]], 2008) defines how mail servers hand mail to each other. Send a message; the SMTP server takes responsibility for delivering it; if the receiving server is unreachable, queue and retry until success or bounce. The store-and-forward model is the same one Ray Tomlinson invented in 1971 when he chose \`@\` as the separator between user and host.\n- **[[imap|IMAP]]** ([[rfc:1064|RFC 1064]], 1988; current spec [[rfc:3501|RFC 3501]], 2003) is how your mail *client* talks to your mail *server*. Unlike POP3 (which downloads and deletes), IMAP lets the server be the source of truth โ€” multiple devices see the same folders, the same read/unread state, the same starred messages.\n\nAll three are *text-based protocols*. You can speak them by hand with a telnet session. They were designed when "the network" meant a few dozen academic machines and "security" meant trusting everyone who had an account. Every modern deployment wraps them in TLS, layers anti-spam on top, and gates them behind authentication โ€” but the wire formats are unchanged.\n\nThe 50-year survival of these protocols is the most striking fact about them. Other 1970s designs got swept away. These didn't.` }, { type: 'pioneers', @@ -21,7 +21,7 @@ export const mailFileTransferStory: SubcategoryStory = { title: 'Inventor of Network Email', org: 'BBN Technologies', contribution: - "Implemented the first network email between two ARPANET hosts in late 1971 using a program called SNDMSG. To distinguish a user\\'s mailbox from a host name, Tomlinson picked the \`@\` symbol from his Model 33 Teletype keyboard โ€” a choice that put @ on every business card in the world fifty years later. Email predated the [[smtp|SMTP]] specification by a decade; SMTP came later to standardize what was already happening." + "Implemented the first network email between two ARPANET hosts in late 1971 using a program called SNDMSG. To distinguish a user\\'s mailbox from a host name, Tomlinson picked the `@` symbol from his Model 33 Teletype keyboard โ€” a choice that put @ on every business card in the world fifty years later. Email predated the [[smtp|SMTP]] specification by a decade; SMTP came later to standardize what was already happening." }, { id: 'jon-postel', @@ -63,7 +63,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 1971, title: 'Ray Tomlinson Sends First Network Email', description: - "Tomlinson uses SNDMSG to send a message between two ARPANET-connected PDP-10s at BBN. Picks \`@\` to separate user from host." + "Tomlinson uses SNDMSG to send a message between two ARPANET-connected PDP-10s at BBN. Picks `@` to separate user from host." }, { year: 1982, @@ -87,7 +87,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 1988, title: 'IMAP Begins', description: - '[[imap|IMAP]] proposed by Mark Crispin at Stanford. \"What if the server holds canonical state and the client is a view?\" Becomes a long-running counterpoint to POP3.' + '[[imap|IMAP]] proposed by Mark Crispin at Stanford. "What if the server holds canonical state and the client is a view?" Becomes a long-running counterpoint to POP3.' }, { year: 1995, @@ -99,7 +99,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 1998, title: 'FTPS โ€” FTP Over TLS', description: - "FTPS adds [[tls|TLS]] to FTP\'s control and data connections. Maintains FTP\'s wire protocol; adds encryption. Used heavily in regulated industries (banking, healthcare) where FTP was already deployed." + "FTPS adds [[tls|TLS]] to FTP's control and data connections. Maintains FTP's wire protocol; adds encryption. Used heavily in regulated industries (banking, healthcare) where FTP was already deployed." }, { year: 2003, @@ -123,7 +123,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 2018, title: 'JMAP First Stable (RFC 8620)', description: - "Fastmail leads JMAP โ€” JSON Meta Application Protocol โ€” as a modern HTTP-based replacement for IMAP. Slow adoption; IMAP\'s install base is enormous." + "Fastmail leads JMAP โ€” JSON Meta Application Protocol โ€” as a modern HTTP-based replacement for IMAP. Slow adoption; IMAP's install base is enormous." }, { year: 2024, @@ -224,17 +224,17 @@ export const mailFileTransferStory: SubcategoryStory = { { type: 'callout', title: 'Why Email Survived (and FTP Didn\'t Quite)', - text: `[[smtp|SMTP]] is still the world\'s mail transport in 2025. [[ftp|FTP]] is barely alive. Both date from the same era. What\'s the difference?\n\n**Email has no replacement at scale.** Chat protocols (Slack, WhatsApp, iMessage, Teams) are silos โ€” Gmail can\'t message a WhatsApp user. Federated chat (XMPP, Matrix) lost the consumer market. The "universal address" property of \`alice@example.com\` โ€” anyone can email anyone, no platform required โ€” has no successor. As long as that property matters, SMTP runs.\n\n**FTP has obvious replacements.** SFTP (over [[ssh|SSH]]) gives the same file-transfer semantics with encryption and authentication built in. HTTPS lets you serve files with finer-grained access control, resumable downloads, and CDN caching. \`rsync\` does incremental sync better than FTP ever did. \`aws s3 cp\` is what people actually run when they want to "transfer a file" in 2025. FTP had everywhere to go but down.\n\n**Mail accreted modern features without breaking the wire.** Anti-spam (DKIM, SPF, DMARC), TLS encryption (STARTTLS, MTA-STS), authentication (SMTP-AUTH, OAuth 2.0), structured content (MIME), webmail โ€” all layered on top of 1982 SMTP without changing the basic envelope-headers-body shape. A 1995 Eudora client can technically still send mail to a Gmail user (Gmail might reject it for spam reasons, but the protocol path works).\n\nFTP\'s active-mode-vs-passive-mode connection complexity and unencrypted-by-default design made it a worse fit for the modern Internet. Mail\'s loose store-and-forward and text-extensibility made it a better one. Sometimes a protocol survives because it\'s exactly the right shape for the next forty years of demand.` + text: `[[smtp|SMTP]] is still the world's mail transport in 2025. [[ftp|FTP]] is barely alive. Both date from the same era. What's the difference?\n\n**Email has no replacement at scale.** Chat protocols (Slack, WhatsApp, iMessage, Teams) are silos โ€” Gmail can't message a WhatsApp user. Federated chat (XMPP, Matrix) lost the consumer market. The "universal address" property of \`alice@example.com\` โ€” anyone can email anyone, no platform required โ€” has no successor. As long as that property matters, SMTP runs.\n\n**FTP has obvious replacements.** SFTP (over [[ssh|SSH]]) gives the same file-transfer semantics with encryption and authentication built in. HTTPS lets you serve files with finer-grained access control, resumable downloads, and CDN caching. \`rsync\` does incremental sync better than FTP ever did. \`aws s3 cp\` is what people actually run when they want to "transfer a file" in 2025. FTP had everywhere to go but down.\n\n**Mail accreted modern features without breaking the wire.** Anti-spam (DKIM, SPF, DMARC), TLS encryption (STARTTLS, MTA-STS), authentication (SMTP-AUTH, OAuth 2.0), structured content (MIME), webmail โ€” all layered on top of 1982 SMTP without changing the basic envelope-headers-body shape. A 1995 Eudora client can technically still send mail to a Gmail user (Gmail might reject it for spam reasons, but the protocol path works).\n\nFTP's active-mode-vs-passive-mode connection complexity and unencrypted-by-default design made it a worse fit for the modern Internet. Mail's loose store-and-forward and text-extensibility made it a better one. Sometimes a protocol survives because it's exactly the right shape for the next forty years of demand.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[smtp|SMTP]]\'s failure mode is **deliverability**. Sending mail technically still works; getting it into the recipient\'s inbox (not spam folder, not rejected) is a different question. The industry that ranks "sender reputation" โ€” IP reputation, domain reputation, content reputation, DKIM alignment, SPF pass, DMARC policy โ€” is a billion-dollar market because the SMTP protocol gives the receiving server total discretion to reject. A new domain sending mail to Gmail starts in the spam folder no matter what the headers say. The protocol works; the policy environment is treacherous.\n\n[[imap|IMAP]]\'s failure mode is **performance**. IMAP was designed when "fetching a message" meant a few dozen kilobytes; modern messages have HTML, embedded images, attachments. A folder with 50,000 messages takes IMAP a long time to sync. \`CONDSTORE\`, \`QRESYNC\`, and other extensions try to fix this, but the protocol\'s text-based, line-oriented design fundamentally can\'t hit JMAP-level efficiency. The mobile-app workaround: cache aggressively, sync incrementally, and lie about completeness in the UI.\n\n[[ftp|FTP]]\'s failure mode is **NAT and firewalls**. FTP\'s two-connection design (control + data) was elegant in 1971; in 2025 it\'s a NAT-traversal nightmare. The data connection IP is announced in the control stream (as ASCII text); routers running FTP-ALG try to rewrite this and often fail. Passive mode reverses the connection direction but requires the server to accept connections on dynamic high ports โ€” many firewalls block this. The "FTP just doesn\'t work over our network" story is the protocol\'s slow death.` + text: `[[smtp|SMTP]]'s failure mode is **deliverability**. Sending mail technically still works; getting it into the recipient's inbox (not spam folder, not rejected) is a different question. The industry that ranks "sender reputation" โ€” IP reputation, domain reputation, content reputation, DKIM alignment, SPF pass, DMARC policy โ€” is a billion-dollar market because the SMTP protocol gives the receiving server total discretion to reject. A new domain sending mail to Gmail starts in the spam folder no matter what the headers say. The protocol works; the policy environment is treacherous.\n\n[[imap|IMAP]]'s failure mode is **performance**. IMAP was designed when "fetching a message" meant a few dozen kilobytes; modern messages have HTML, embedded images, attachments. A folder with 50,000 messages takes IMAP a long time to sync. \`CONDSTORE\`, \`QRESYNC\`, and other extensions try to fix this, but the protocol's text-based, line-oriented design fundamentally can't hit JMAP-level efficiency. The mobile-app workaround: cache aggressively, sync incrementally, and lie about completeness in the UI.\n\n[[ftp|FTP]]'s failure mode is **NAT and firewalls**. FTP's two-connection design (control + data) was elegant in 1971; in 2025 it's a NAT-traversal nightmare. The data connection IP is announced in the control stream (as ASCII text); routers running FTP-ALG try to rewrite this and often fail. Passive mode reverses the connection direction but requires the server to accept connections on dynamic high ports โ€” many firewalls block this. The "FTP just doesn't work over our network" story is the protocol's slow death.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **JMAP** (RFC 8620) continues slow adoption as the spiritual IMAP successor. JSON over HTTPS, designed for mobile-first sync. Fastmail uses it natively; Apple Mail, Thunderbird, and Roundcube have client support. The catch: nearly every existing mail server speaks IMAP, and rewriting that side is enormous work.\n- **MTA-STS + DANE + BIMI** continue closing the SMTP security gaps. MTA-STS forces TLS between mail servers using a published policy; DANE binds TLS certs to DNSSEC; BIMI shows brand logos in supporting mail clients. Email\'s security keeps getting better without changing the protocol.\n- **OAuth 2.0 for SMTP/IMAP** โ€” Microsoft 365 and Google Workspace require OAuth 2.0 for client mail access. Password-based mail is dying inside enterprises (already gone at Microsoft as of 2022).\n- **Encrypted mail (S/MIME, PGP)** remains niche. Apple Mail and Outlook ship S/MIME for enterprise; consumer adoption is rare. The "no end-to-end encrypted alternative to email at scale" problem is still open.\n- **FTP slow extinction**. Public FTP mirrors (kernel.org, Debian, GNU) have mostly moved to HTTPS. SFTP handles secure file transfer. Cloud object storage (S3, GCS) handles bulk transfer. FTP in 2030 will mostly exist as a legacy compatibility shim in enterprise integration platforms.\n- **The truth about these protocols**: they\'re too embedded to die and too old-fashioned to attract new development. They\'ll outlive most of the protocols designed in the last 20 years.` + text: `Active work in 2025:\n\n- **JMAP** (RFC 8620) continues slow adoption as the spiritual IMAP successor. JSON over HTTPS, designed for mobile-first sync. Fastmail uses it natively; Apple Mail, Thunderbird, and Roundcube have client support. The catch: nearly every existing mail server speaks IMAP, and rewriting that side is enormous work.\n- **MTA-STS + DANE + BIMI** continue closing the SMTP security gaps. MTA-STS forces TLS between mail servers using a published policy; DANE binds TLS certs to DNSSEC; BIMI shows brand logos in supporting mail clients. Email's security keeps getting better without changing the protocol.\n- **OAuth 2.0 for SMTP/IMAP** โ€” Microsoft 365 and Google Workspace require OAuth 2.0 for client mail access. Password-based mail is dying inside enterprises (already gone at Microsoft as of 2022).\n- **Encrypted mail (S/MIME, PGP)** remains niche. Apple Mail and Outlook ship S/MIME for enterprise; consumer adoption is rare. The "no end-to-end encrypted alternative to email at scale" problem is still open.\n- **FTP slow extinction**. Public FTP mirrors (kernel.org, Debian, GNU) have mostly moved to HTTPS. SFTP handles secure file transfer. Cloud object storage (S3, GCS) handles bulk transfer. FTP in 2030 will mostly exist as a legacy compatibility shim in enterprise integration platforms.\n- **The truth about these protocols**: they're too embedded to die and too old-fashioned to attract new development. They'll outlive most of the protocols designed in the last 20 years.` } ] }; diff --git a/src/lib/data/subcategory-stories/network-services.ts b/src/lib/data/subcategory-stories/network-services.ts index fe22aad..55fc6d3 100644 --- a/src/lib/data/subcategory-stories/network-services.ts +++ b/src/lib/data/subcategory-stories/network-services.ts @@ -3,12 +3,12 @@ import type { SubcategoryStory } from './types'; export const networkServicesStory: SubcategoryStory = { subcategoryId: 'network-services', tagline: - 'Invisible plumbing โ€” the protocols that make a network \"just work\" without anyone configuring anything', + 'Invisible plumbing โ€” the protocols that make a network "just work" without anyone configuring anything', sections: [ { type: 'narrative', title: 'The Plumbing You Never See', - text: `When you plug a laptop into a network and a webpage loads, dozens of protocol conversations have already happened โ€” none of them initiated by you. They\'re the invisible plumbing, and four protocols dominate that category:\n\n- **[[dhcp|DHCP]]** ([[rfc:2131|RFC 2131]], 1997) handed you an IP address, a subnet mask, a default gateway, and a [[dns|DNS]] resolver. Without it, you\'d have to know all four and type them in. DHCP is why "join a network" is one click.\n- **[[ntp|NTP]]** ([[rfc:5905|RFC 5905]], 2010 โ€” earlier RFCs back to 1985) synchronized your clock to within tens of milliseconds of UTC. Modern cryptography depends on accurate clocks (certificates have validity windows; Kerberos tickets have 5-minute skew tolerance; OAuth tokens have \`exp\` claims). NTP is why your laptop\'s clock is right even if you never set it.\n- **[[mdns-dns-sd|mDNS/DNS-SD]]** ([[rfc:6762|RFC 6762]] / [[rfc:6763|RFC 6763]], 2013) made your printer visible to your laptop on the local network with no configuration. Originally Apple\'s Bonjour; standardized via the IETF. Multicast DNS queries on the local link discover \`_printer._tcp.local\`, \`_airplay._tcp.local\`, \`_googlecast._tcp.local\`.\n- **[[nat-traversal|NAT traversal]]** (a family of techniques โ€” {{stun|STUN}}, {{turn|TURN}}, {{ice|ICE}}, hole-punching) lets two devices behind different NATs talk directly. Without it, peer-to-peer video calling, online gaming, and decentralized apps would all be impossible (or relayed through expensive servers). The protocol stack that makes "two phones on cellular networks can video-call each other" actually work.\n\nNone of these are protocols you ever choose. They\'re what makes the network *feel* invisible. They\'re also among the most operationally critical pieces of infrastructure on the Internet โ€” when DHCP breaks, no one gets online; when NTP drifts, half your security stack starts rejecting connections; when mDNS chatters, your office Wi-Fi gets noisy; when NAT traversal fails, your video call drops.` + text: `When you plug a laptop into a network and a webpage loads, dozens of protocol conversations have already happened โ€” none of them initiated by you. They're the invisible plumbing, and four protocols dominate that category:\n\n- **[[dhcp|DHCP]]** ([[rfc:2131|RFC 2131]], 1997) handed you an IP address, a subnet mask, a default gateway, and a [[dns|DNS]] resolver. Without it, you'd have to know all four and type them in. DHCP is why "join a network" is one click.\n- **[[ntp|NTP]]** ([[rfc:5905|RFC 5905]], 2010 โ€” earlier RFCs back to 1985) synchronized your clock to within tens of milliseconds of UTC. Modern cryptography depends on accurate clocks (certificates have validity windows; Kerberos tickets have 5-minute skew tolerance; OAuth tokens have \`exp\` claims). NTP is why your laptop's clock is right even if you never set it.\n- **[[mdns-dns-sd|mDNS/DNS-SD]]** ([[rfc:6762|RFC 6762]] / [[rfc:6763|RFC 6763]], 2013) made your printer visible to your laptop on the local network with no configuration. Originally Apple's Bonjour; standardized via the IETF. Multicast DNS queries on the local link discover \`_printer._tcp.local\`, \`_airplay._tcp.local\`, \`_googlecast._tcp.local\`.\n- **[[nat-traversal|NAT traversal]]** (a family of techniques โ€” {{stun|STUN}}, {{turn|TURN}}, {{ice|ICE}}, hole-punching) lets two devices behind different NATs talk directly. Without it, peer-to-peer video calling, online gaming, and decentralized apps would all be impossible (or relayed through expensive servers). The protocol stack that makes "two phones on cellular networks can video-call each other" actually work.\n\nNone of these are protocols you ever choose. They're what makes the network *feel* invisible. They're also among the most operationally critical pieces of infrastructure on the Internet โ€” when DHCP breaks, no one gets online; when NTP drifts, half your security stack starts rejecting connections; when mDNS chatters, your office Wi-Fi gets noisy; when NAT traversal fails, your video call drops.` }, { type: 'pioneers', @@ -89,7 +89,7 @@ export const networkServicesStory: SubcategoryStory = { year: 2005, title: 'Bryan Ford Taxonomizes NAT Behavior', description: - "The seminal NAT-traversal paper. Defines hole-punching for [[udp|UDP]] and [[tcp|TCP]] through symmetric NATs. The foundation for WebRTC\'s ICE/STUN/TURN." + "The seminal NAT-traversal paper. Defines hole-punching for [[udp|UDP]] and [[tcp|TCP]] through symmetric NATs. The foundation for WebRTC's ICE/STUN/TURN." }, { year: 2005, @@ -101,7 +101,7 @@ export const networkServicesStory: SubcategoryStory = { year: 2008, title: 'STUN RFC 5389', description: - "STUN revised. The original protocol\'s name is changed (\"Simple\" โ†’ \"Session\") to reflect its role beyond pure address discovery." + "STUN revised. The original protocol's name is changed (\"Simple\" โ†’ \"Session\") to reflect its role beyond pure address discovery." }, { year: 2010, @@ -119,7 +119,7 @@ export const networkServicesStory: SubcategoryStory = { year: 2013, title: 'mDNS/DNS-SD Standardized (RFCs 6762/6763)', description: - "After a decade of Bonjour-as-Apple, the IETF finalizes the standards. Linux Avahi and Windows native mDNS interop with Apple\'s implementation." + "After a decade of Bonjour-as-Apple, the IETF finalizes the standards. Linux Avahi and Windows native mDNS interop with Apple's implementation." }, { year: 2017, @@ -168,8 +168,8 @@ export const networkServicesStory: SubcategoryStory = { label: '[[mdns-dns-sd|mDNS / DNS-SD]]', values: [ 'Local-network name resolution + service discovery', - 'When you ask for a \`.local\` name or browse for a service type', - "\"Printer doesn\'t show up\" โ€” service discovery silently fails", + 'When you ask for a `.local` name or browse for a service type', + "\"Printer doesn't show up\" โ€” service discovery silently fails", "Used by AirPlay, Chromecast, AirPrint, Matter device commissioning" ] }, @@ -183,7 +183,7 @@ export const networkServicesStory: SubcategoryStory = { ] } ], - note: "These four are independent โ€” your laptop runs DHCP at boot, NTP continuously, mDNS on demand, and ICE only when an app needs peer-to-peer. They\'re grouped here because they\'re what makes \"the network just works.\"" + note: "These four are independent โ€” your laptop runs DHCP at boot, NTP continuously, mDNS on demand, and ICE only when an app needs peer-to-peer. They're grouped here because they're what makes \"the network just works.\"" }, { type: 'animated-sequence', @@ -224,17 +224,17 @@ export const networkServicesStory: SubcategoryStory = { { type: 'callout', title: 'The NAT Problem in One Paragraph', - text: `**Network Address Translation** was a hack from the 1990s to stretch the IPv4 address space. Your home router gets one public IP from your ISP; it shares that one address across all your devices by mangling the source IP and port of outgoing packets and remembering the mapping so it can route the replies back. It worked. It also broke the fundamental Internet model.\n\nThe original Internet assumption: every host has a globally-routable address and can be reached by any other host. NAT broke that. Behind NAT, *your devices can talk out but the world can\'t talk in*. This is fine for browsing the web โ€” you initiate; the server replies. It\'s catastrophic for any protocol where someone needs to call *you* โ€” incoming SIP calls, peer-to-peer file sharing, hosted games, decentralized apps.\n\nThe NAT-traversal stack ({{stun|STUN}} / {{turn|TURN}} / {{ice|ICE}}) is the workaround. **{{stun|STUN}}** lets you discover what your public IP+port looks like from outside, so you can publish it. **Hole-punching** is the trick where two peers simultaneously send packets to each other โ€” both NATs see "an outgoing packet" and open the return path. **{{turn|TURN}}** is the fallback when hole-punching fails โ€” both peers send to a public relay, which forwards. **{{ice|ICE}}** orchestrates trying every candidate and picking the best one.\n\n[[ipv6|IPv6]] was supposed to eliminate the need for all this by giving every device a globally routable address. It mostly hasn\'t โ€” IPv6 firewalls still block inbound by default for security reasons, so NAT traversal still applies. The 1990s hack is still everyone\'s problem in 2025.` + text: `**Network Address Translation** was a hack from the 1990s to stretch the IPv4 address space. Your home router gets one public IP from your ISP; it shares that one address across all your devices by mangling the source IP and port of outgoing packets and remembering the mapping so it can route the replies back. It worked. It also broke the fundamental Internet model.\n\nThe original Internet assumption: every host has a globally-routable address and can be reached by any other host. NAT broke that. Behind NAT, *your devices can talk out but the world can't talk in*. This is fine for browsing the web โ€” you initiate; the server replies. It's catastrophic for any protocol where someone needs to call *you* โ€” incoming SIP calls, peer-to-peer file sharing, hosted games, decentralized apps.\n\nThe NAT-traversal stack ({{stun|STUN}} / {{turn|TURN}} / {{ice|ICE}}) is the workaround. **{{stun|STUN}}** lets you discover what your public IP+port looks like from outside, so you can publish it. **Hole-punching** is the trick where two peers simultaneously send packets to each other โ€” both NATs see "an outgoing packet" and open the return path. **{{turn|TURN}}** is the fallback when hole-punching fails โ€” both peers send to a public relay, which forwards. **{{ice|ICE}}** orchestrates trying every candidate and picking the best one.\n\n[[ipv6|IPv6]] was supposed to eliminate the need for all this by giving every device a globally routable address. It mostly hasn't โ€” IPv6 firewalls still block inbound by default for security reasons, so NAT traversal still applies. The 1990s hack is still everyone's problem in 2025.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[dhcp|DHCP]]\'s failure mode is **lease conflicts**. If two DHCP servers run on the same broadcast domain (intentionally or by accident โ€” someone plugged a home router into the corporate LAN backwards), clients get conflicting addresses and unpredictable connectivity. The classic "rogue DHCP server" incident takes down whole networks until found. The defense โ€” DHCP snooping in switches โ€” exists but isn\'t universal.\n\n[[ntp|NTP]]\'s failure mode is **trust**. Until NTS (2020), NTP had no authentication in practice. A malicious upstream server could lie about the time, breaking everything downstream that depended on it. NTP also can\'t handle clock jumps gracefully โ€” \`ntpdate\` style step adjustments break running processes (Java GC pauses, database transactions, log timestamps). chrony\'s slewing approach (slowly drift the clock toward correct) is the modern answer; pre-chrony NTP just stepped.\n\n[[mdns-dns-sd|mDNS]]\'s failure mode is **traffic on busy networks**. Multicast on a wireless network is sent at the lowest common rate of all clients on the channel; in a conference Wi-Fi with hundreds of devices, mDNS traffic can dominate the network. Apple\'s Bonjour Sleep Proxy and various "mDNS reflector" features in enterprise APs exist to filter the chatter. The 2017 release notes for Cisco/Aruba/Meraki all include some flavor of mDNS optimization.\n\n[[nat-traversal|NAT traversal]]\'s failure mode is **the symmetric NAT**. Most home NATs are well-behaved enough for hole-punching to work; some carrier-grade NATs (CGNAT) used by cellular networks are symmetric โ€” they assign a different external port per *destination*. Hole-punching can\'t work in that case; TURN relay is the only option. Roughly 5โ€“15% of WebRTC calls end up requiring TURN; the bandwidth cost for the relay operator is real.` + text: `[[dhcp|DHCP]]'s failure mode is **lease conflicts**. If two DHCP servers run on the same broadcast domain (intentionally or by accident โ€” someone plugged a home router into the corporate LAN backwards), clients get conflicting addresses and unpredictable connectivity. The classic "rogue DHCP server" incident takes down whole networks until found. The defense โ€” DHCP snooping in switches โ€” exists but isn't universal.\n\n[[ntp|NTP]]'s failure mode is **trust**. Until NTS (2020), NTP had no authentication in practice. A malicious upstream server could lie about the time, breaking everything downstream that depended on it. NTP also can't handle clock jumps gracefully โ€” \`ntpdate\` style step adjustments break running processes (Java GC pauses, database transactions, log timestamps). chrony's slewing approach (slowly drift the clock toward correct) is the modern answer; pre-chrony NTP just stepped.\n\n[[mdns-dns-sd|mDNS]]'s failure mode is **traffic on busy networks**. Multicast on a wireless network is sent at the lowest common rate of all clients on the channel; in a conference Wi-Fi with hundreds of devices, mDNS traffic can dominate the network. Apple's Bonjour Sleep Proxy and various "mDNS reflector" features in enterprise APs exist to filter the chatter. The 2017 release notes for Cisco/Aruba/Meraki all include some flavor of mDNS optimization.\n\n[[nat-traversal|NAT traversal]]'s failure mode is **the symmetric NAT**. Most home NATs are well-behaved enough for hole-punching to work; some carrier-grade NATs (CGNAT) used by cellular networks are symmetric โ€” they assign a different external port per *destination*. Hole-punching can't work in that case; TURN relay is the only option. Roughly 5โ€“15% of WebRTC calls end up requiring TURN; the bandwidth cost for the relay operator is real.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **NTS** (Network Time Security) is rolling out at major time providers (Cloudflare, Netnod). The first credible authenticated NTP in production. NTP\'s 40-year security gap is finally closing.\n- **DHCP options for IoT** โ€” DHCPv6 keeps getting options for device-management URLs, manufacturer hints, and Matter commissioning. Even DHCP โ€” designed in 1993 โ€” keeps growing.\n- **Matter / Thread commissioning** uses mDNS extensively for device discovery on the home network. The Matter spec mandates DNS-SD service browsing for smart-home device pairing โ€” extending Bonjour into every consumer-IoT product.\n- **IPv6-only networks** + NAT64 + DNS64 are growing in mobile carriers and datacenter networks. The "every device has a routable address" promise is finally semi-real; NAT traversal still matters because firewalls still block inbound, but the variety of NAT pathologies is reducing.\n- **Tailscale-style mesh VPNs** (Tailscale, Headscale, Netbird, NetMaker) are essentially "NAT traversal as a service" โ€” they bundle STUN/TURN/ICE, key management, and routing into one product. The protocols underneath are the same ICE family; the developer experience is finally good.\n- **TLS-protected DHCP** (DHCP over TLS) remains a niche request. DHCP\'s plaintext design is increasingly out of step with the rest of the network stack, but the broadcast-based first-message design is hard to encrypt.\n- **The truth about these protocols**: they don\'t need to change much. The job is invisible, the protocols mostly work, the operational pain is in the configuration and tooling around them rather than in the protocols themselves.` + text: `Active work in 2025:\n\n- **NTS** (Network Time Security) is rolling out at major time providers (Cloudflare, Netnod). The first credible authenticated NTP in production. NTP's 40-year security gap is finally closing.\n- **DHCP options for IoT** โ€” DHCPv6 keeps getting options for device-management URLs, manufacturer hints, and Matter commissioning. Even DHCP โ€” designed in 1993 โ€” keeps growing.\n- **Matter / Thread commissioning** uses mDNS extensively for device discovery on the home network. The Matter spec mandates DNS-SD service browsing for smart-home device pairing โ€” extending Bonjour into every consumer-IoT product.\n- **IPv6-only networks** + NAT64 + DNS64 are growing in mobile carriers and datacenter networks. The "every device has a routable address" promise is finally semi-real; NAT traversal still matters because firewalls still block inbound, but the variety of NAT pathologies is reducing.\n- **Tailscale-style mesh VPNs** (Tailscale, Headscale, Netbird, NetMaker) are essentially "NAT traversal as a service" โ€” they bundle STUN/TURN/ICE, key management, and routing into one product. The protocols underneath are the same ICE family; the developer experience is finally good.\n- **TLS-protected DHCP** (DHCP over TLS) remains a niche request. DHCP's plaintext design is increasingly out of step with the rest of the network stack, but the broadcast-based first-message design is hard to encrypt.\n- **The truth about these protocols**: they don't need to change much. The job is invisible, the protocols mostly work, the operational pain is in the configuration and tooling around them rather than in the protocols themselves.` } ] }; diff --git a/src/lib/data/subcategory-stories/pan-proximity.ts b/src/lib/data/subcategory-stories/pan-proximity.ts index 6d30fb9..935fbea 100644 --- a/src/lib/data/subcategory-stories/pan-proximity.ts +++ b/src/lib/data/subcategory-stories/pan-proximity.ts @@ -7,8 +7,8 @@ export const panProximityStory: SubcategoryStory = { sections: [ { type: 'narrative', - title: 'Different Definitions of \"Nearby\"', - text: `Within ten meters of any office desk in 2025 there are probably a dozen wireless protocols in active use. Not Wi-Fi โ€” different protocols, each optimized for a different mix of *range*, *power*, *bandwidth*, and *topology*. They\'re the Personal Area Network (PAN) and proximity family.\n\n- **[[bluetooth|Bluetooth]]** (1998โ€“) covers ~10 meters at moderate power, gigabit-class speeds on the latest standards. Originated as a cable replacement (named after a 10th-century Viking king who united warring tribes โ€” the metaphor was uniting incompatible serial standards). Now the universal wireless for headphones, keyboards, fitness trackers, beacons, IoT.\n- **[[nfc|NFC]]** (2002โ€“) covers ~4 *centimeters*. Almost-touching range, deliberately. Powers contactless payments (Apple Pay, Google Pay), transit cards, key fobs, tap-to-share, ID verification. The short range is the security feature.\n- **[[uwb|Ultra-Wideband]]** (UWB, mid-2000s commercial; revived 2019โ€“) covers ~50 meters with *centimeter-accurate ranging*. Spread across a wide frequency band so it can be used alongside other protocols without interference. Apple AirTags, Samsung SmartTag+, BMW digital car keys, indoor positioning.\n- **[[zigbee|Zigbee]]** (2003โ€“) covers tens of meters per hop, but builds **multi-hop mesh networks** so a single mesh can cover an entire building. Low power, low data rate, designed for battery-operated sensors and actuators. Powers smart-home devices (Philips Hue bulbs, IKEA Tradfri, Aqara sensors) and industrial automation.\n\nThese aren\'t alternatives. They\'re different points in a four-dimensional design space (range ร— bandwidth ร— power ร— topology). Your phone has hardware for all four. Your smart home runs three of them simultaneously. The fragmentation is a feature โ€” no single protocol could serve all the use cases optimally.` + title: 'Different Definitions of "Nearby"', + text: `Within ten meters of any office desk in 2025 there are probably a dozen wireless protocols in active use. Not Wi-Fi โ€” different protocols, each optimized for a different mix of *range*, *power*, *bandwidth*, and *topology*. They're the Personal Area Network (PAN) and proximity family.\n\n- **[[bluetooth|Bluetooth]]** (1998โ€“) covers ~10 meters at moderate power, gigabit-class speeds on the latest standards. Originated as a cable replacement (named after a 10th-century Viking king who united warring tribes โ€” the metaphor was uniting incompatible serial standards). Now the universal wireless for headphones, keyboards, fitness trackers, beacons, IoT.\n- **[[nfc|NFC]]** (2002โ€“) covers ~4 *centimeters*. Almost-touching range, deliberately. Powers contactless payments (Apple Pay, Google Pay), transit cards, key fobs, tap-to-share, ID verification. The short range is the security feature.\n- **[[uwb|Ultra-Wideband]]** (UWB, mid-2000s commercial; revived 2019โ€“) covers ~50 meters with *centimeter-accurate ranging*. Spread across a wide frequency band so it can be used alongside other protocols without interference. Apple AirTags, Samsung SmartTag+, BMW digital car keys, indoor positioning.\n- **[[zigbee|Zigbee]]** (2003โ€“) covers tens of meters per hop, but builds **multi-hop mesh networks** so a single mesh can cover an entire building. Low power, low data rate, designed for battery-operated sensors and actuators. Powers smart-home devices (Philips Hue bulbs, IKEA Tradfri, Aqara sensors) and industrial automation.\n\nThese aren't alternatives. They're different points in a four-dimensional design space (range ร— bandwidth ร— power ร— topology). Your phone has hardware for all four. Your smart home runs three of them simultaneously. The fragmentation is a feature โ€” no single protocol could serve all the use cases optimally.` }, { type: 'pioneers', @@ -18,7 +18,7 @@ export const panProximityStory: SubcategoryStory = { id: 'jaap-haartsen', name: 'Jaap Haartsen', years: '1963โ€“', - title: '\"Father of Bluetooth\"', + title: '"Father of Bluetooth"', org: 'Ericsson', contribution: "Designed [[bluetooth|Bluetooth]] at Ericsson in 1994. The original use case was eliminating the cable between a phone and a headset; the architecture (small piconets, frequency hopping for interference resilience, master/slave roles) scaled to almost any short-range use case. The protocol was named for the 10th-century Danish king Harald Bluetooth, who united Scandinavian tribes โ€” the metaphor was uniting incompatible mobile-device standards. Haartsen and his Ericsson team partnered with IBM, Intel, Nokia, and Toshiba to form the Bluetooth SIG in 1998." @@ -27,10 +27,10 @@ export const panProximityStory: SubcategoryStory = { id: 'charles-walton', name: 'Charles Walton', years: '1921โ€“2011', - title: '\"Father of RFID\"', + title: '"Father of RFID"', org: 'Independent / Proximity Devices', contribution: - "Patented (1973) the first portable RFID system โ€” a passive, battery-less tag that could be read by a nearby reader. The patent expired in 1990; the technology underpinned everything from livestock tracking to building access control to (eventually) [[nfc|NFC]] payment. NFC is structurally a descendant of Walton\\'s RFID โ€” same near-field magnetic coupling, same passive-tag option, with bidirectional data exchange added on top. Walton reportedly earned about \$3 million in license fees from the patent." + "Patented (1973) the first portable RFID system โ€” a passive, battery-less tag that could be read by a nearby reader. The patent expired in 1990; the technology underpinned everything from livestock tracking to building access control to (eventually) [[nfc|NFC]] payment. NFC is structurally a descendant of Walton\\'s RFID โ€” same near-field magnetic coupling, same passive-tag option, with bidirectional data exchange added on top. Walton reportedly earned about $3 million in license fees from the patent." }, { id: 'larry-fullerton', @@ -95,7 +95,7 @@ export const panProximityStory: SubcategoryStory = { year: 2006, title: 'NFC RFID Standards (ISO/IEC 18092)', description: - "NFC standardized at ISO. Supports passive tags (like Walton\'s RFID), reader/writer mode, and peer-to-peer mode." + "NFC standardized at ISO. Supports passive tags (like Walton's RFID), reader/writer mode, and peer-to-peer mode." }, { year: 2010, @@ -125,13 +125,13 @@ export const panProximityStory: SubcategoryStory = { year: 2020, title: 'BMW Digital Key Plus โ€” UWB Car Access', description: - "BMW launches Digital Key Plus using UWB. Your iPhone is now a car key with precise proximity awareness (the car detects when you walk up to it from outside, vs sit in the driver\'s seat)." + "BMW launches Digital Key Plus using UWB. Your iPhone is now a car key with precise proximity awareness (the car detects when you walk up to it from outside, vs sit in the driver's seat)." }, { year: 2022, title: 'Matter Launches (Thread + Wi-Fi)', description: - "Apple, Google, Amazon, and Samsung\'s unified smart-home protocol uses Thread (an IPv6 mesh, similar layer to Zigbee) and Wi-Fi. Zigbee continues to coexist; new devices increasingly bridge to Matter." + "Apple, Google, Amazon, and Samsung's unified smart-home protocol uses Thread (an IPv6 mesh, similar layer to Zigbee) and Wi-Fi. Zigbee continues to coexist; new devices increasingly bridge to Matter." }, { year: 2024, @@ -161,7 +161,7 @@ export const panProximityStory: SubcategoryStory = { values: [ '~4 cm', '~424 Kbps', - "Passive tag: zero (powered by reader\'s field)", + "Passive tag: zero (powered by reader's field)", "Reader + passive tag, or peer-to-peer", "Contactless payment, transit, key cards, tap-to-share" ] @@ -235,17 +235,17 @@ export const panProximityStory: SubcategoryStory = { { type: 'callout', title: 'Why Short Range Is a Feature', - text: `Engineering instinct says "longer range is always better." For short-range wireless, that instinct is wrong. Short range is a *feature*, not a limitation.\n\n**[[nfc|NFC]]\'s 4 cm is a security primitive.** Your phone can\'t be NFC-eavesdropped from across the room. To skim your contactless card, an attacker must physically touch (or come within a few cm of) you. Compare this to RFID-equipped passport designs, which were *deliberately* given short range so they couldn\'t be remotely scanned. Range is part of the threat model.\n\n**[[zigbee|Zigbee]]\'s short per-hop range enables mesh resilience.** A bulb 100 meters from the controller can\'t hear it directly โ€” but six bulbs in between can each hop the message. If one bulb fails, the mesh routes around it. A long-range broadcast protocol would have one giant collision domain; the short-range mesh is built around it.\n\n**[[uwb|UWB]]\'s wide bandwidth at low power gives centimeter ranging.** Most radios measure distance crudely (signal strength, basically); UWB pulses are so short that the propagation time can be measured directly. Time-of-flight measurement at GHz bandwidths gives ~10 cm precision. AirTags would be much less useful if they could only tell you "somewhere in your house"; the precise-finding mode lets your iPhone show you a direction arrow.\n\n**[[bluetooth|Bluetooth]]\'s 10 meter range matches the form factor.** Your earbuds need to talk to your phone in your pocket, not your phone two rooms away. Higher power would waste battery; longer range would expose more devices to interference.\n\nEach of these protocols is *deliberately* short range because that\'s what their use case demands. The "long range is better" instinct comes from cellular and Wi-Fi, where coverage is the value proposition. For proximity wireless, *limited* coverage *is* the value proposition.` + text: `Engineering instinct says "longer range is always better." For short-range wireless, that instinct is wrong. Short range is a *feature*, not a limitation.\n\n**[[nfc|NFC]]'s 4 cm is a security primitive.** Your phone can't be NFC-eavesdropped from across the room. To skim your contactless card, an attacker must physically touch (or come within a few cm of) you. Compare this to RFID-equipped passport designs, which were *deliberately* given short range so they couldn't be remotely scanned. Range is part of the threat model.\n\n**[[zigbee|Zigbee]]'s short per-hop range enables mesh resilience.** A bulb 100 meters from the controller can't hear it directly โ€” but six bulbs in between can each hop the message. If one bulb fails, the mesh routes around it. A long-range broadcast protocol would have one giant collision domain; the short-range mesh is built around it.\n\n**[[uwb|UWB]]'s wide bandwidth at low power gives centimeter ranging.** Most radios measure distance crudely (signal strength, basically); UWB pulses are so short that the propagation time can be measured directly. Time-of-flight measurement at GHz bandwidths gives ~10 cm precision. AirTags would be much less useful if they could only tell you "somewhere in your house"; the precise-finding mode lets your iPhone show you a direction arrow.\n\n**[[bluetooth|Bluetooth]]'s 10 meter range matches the form factor.** Your earbuds need to talk to your phone in your pocket, not your phone two rooms away. Higher power would waste battery; longer range would expose more devices to interference.\n\nEach of these protocols is *deliberately* short range because that's what their use case demands. The "long range is better" instinct comes from cellular and Wi-Fi, where coverage is the value proposition. For proximity wireless, *limited* coverage *is* the value proposition.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[bluetooth|Bluetooth]]\'s failure mode is **pairing UX**. The classic Bluetooth pairing flow (long press the button, find on the phone, enter PIN, accept) is consistently rated one of the worst UX moments in consumer electronics. Apple\'s Magic Pairing (a proprietary extension) made AirPods drastically better than generic BT pairing. The BT SIG\'s answer โ€” Cross-Transport Key Derivation, Fast Pair โ€” addresses some of the worst, but generic Bluetooth pairing is still a frequent support call. Security-wise, multiple specs (KNOB, BIAS, BLUFFS, BLESA) have shown serial weaknesses in BT pairing crypto; the SIG patches and the cycle continues.\n\n[[nfc|NFC]]\'s failure mode is **the misread**. NFC requires near-touching alignment between reader antenna and tag antenna. Misaligned passes โ€” bag tap-to-pay on an awkwardly-angled reader โ€” fail silently. Modern phones include haptic feedback for successful taps; older systems just left you wondering if it worked. NFC has no security failure mode worth mentioning โ€” the 4 cm range is the defense.\n\n[[uwb|UWB]]\'s failure mode is **multipath**. Indoor environments reflect radio waves off walls; UWB\'s precision ranging can be confused by which path it measured. Modern UWB chipsets (Apple U1, Qorvo, NXP) include channel impulse response analysis to handle multipath, but \"first-arrival\" detection in cluttered environments is still hard.\n\n[[zigbee|Zigbee]]\'s failure mode is **interoperability**. The Zigbee spec is large; the application-layer profiles (Zigbee Home Automation, Zigbee Light Link, Zigbee 3.0) overlap and historically didn\'t interoperate. A Hue bulb didn\'t talk to a Lightify bulb didn\'t talk to a Wink hub. The Zigbee Alliance\'s answer in 2017 โ€” Zigbee 3.0 โ€” converged the profiles, but the install base is fragmented. Matter (2022, on top of Thread, not Zigbee) is an explicit answer to the interop mess โ€” same goal, fresh start, better governance.` + text: `[[bluetooth|Bluetooth]]'s failure mode is **pairing UX**. The classic Bluetooth pairing flow (long press the button, find on the phone, enter PIN, accept) is consistently rated one of the worst UX moments in consumer electronics. Apple's Magic Pairing (a proprietary extension) made AirPods drastically better than generic BT pairing. The BT SIG's answer โ€” Cross-Transport Key Derivation, Fast Pair โ€” addresses some of the worst, but generic Bluetooth pairing is still a frequent support call. Security-wise, multiple specs (KNOB, BIAS, BLUFFS, BLESA) have shown serial weaknesses in BT pairing crypto; the SIG patches and the cycle continues.\n\n[[nfc|NFC]]'s failure mode is **the misread**. NFC requires near-touching alignment between reader antenna and tag antenna. Misaligned passes โ€” bag tap-to-pay on an awkwardly-angled reader โ€” fail silently. Modern phones include haptic feedback for successful taps; older systems just left you wondering if it worked. NFC has no security failure mode worth mentioning โ€” the 4 cm range is the defense.\n\n[[uwb|UWB]]'s failure mode is **multipath**. Indoor environments reflect radio waves off walls; UWB's precision ranging can be confused by which path it measured. Modern UWB chipsets (Apple U1, Qorvo, NXP) include channel impulse response analysis to handle multipath, but "first-arrival" detection in cluttered environments is still hard.\n\n[[zigbee|Zigbee]]'s failure mode is **interoperability**. The Zigbee spec is large; the application-layer profiles (Zigbee Home Automation, Zigbee Light Link, Zigbee 3.0) overlap and historically didn't interoperate. A Hue bulb didn't talk to a Lightify bulb didn't talk to a Wink hub. The Zigbee Alliance's answer in 2017 โ€” Zigbee 3.0 โ€” converged the profiles, but the install base is fragmented. Matter (2022, on top of Thread, not Zigbee) is an explicit answer to the interop mess โ€” same goal, fresh start, better governance.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Bluetooth LE Audio + Auracast** broadcasts audio to many earbud-equipped listeners at once. Use cases: airport announcements, gym TVs, audio assistive listening in theaters. Slowly rolling out as new hardware ships.\n- **Bluetooth 6.0 Channel Sounding** brings precision ranging to BT, blurring the line with [[uwb|UWB]]. Expect "find my" features that work without a dedicated UWB chip in future devices.\n- **UWB everywhere** โ€” UWB chips are spreading from flagship phones to mid-tier, from cars to smart-home hubs. The next 3โ€“5 years will normalize centimeter-accurate ranging as a phone primitive.\n- **Matter / Thread continued growth** โ€” most new smart-home devices ship Matter-over-Thread. Zigbee\'s install base is huge but the new growth is Matter. Many bridges (Hue, SmartThings, Aqara) translate between Zigbee and Matter.\n- **NFC for digital identity** โ€” driver\'s licenses, passports, and government IDs are increasingly carried as NFC-readable credentials on phones. Apple Wallet IDs in US states; the EU\'s eIDAS 2.0 framework expects NFC-based national ID by 2026.\n- **The interesting frontier**: precision proximity. Knowing not just \"the user is nearby\" but \"the user is sitting in the driver\'s seat\" or \"the user is approaching the front door from outside\" is the next-generation interaction primitive. UWB plus BT plus mature multipath handling is what enables it.` + text: `Active work in 2025:\n\n- **Bluetooth LE Audio + Auracast** broadcasts audio to many earbud-equipped listeners at once. Use cases: airport announcements, gym TVs, audio assistive listening in theaters. Slowly rolling out as new hardware ships.\n- **Bluetooth 6.0 Channel Sounding** brings precision ranging to BT, blurring the line with [[uwb|UWB]]. Expect "find my" features that work without a dedicated UWB chip in future devices.\n- **UWB everywhere** โ€” UWB chips are spreading from flagship phones to mid-tier, from cars to smart-home hubs. The next 3โ€“5 years will normalize centimeter-accurate ranging as a phone primitive.\n- **Matter / Thread continued growth** โ€” most new smart-home devices ship Matter-over-Thread. Zigbee's install base is huge but the new growth is Matter. Many bridges (Hue, SmartThings, Aqara) translate between Zigbee and Matter.\n- **NFC for digital identity** โ€” driver's licenses, passports, and government IDs are increasingly carried as NFC-readable credentials on phones. Apple Wallet IDs in US states; the EU's eIDAS 2.0 framework expects NFC-based national ID by 2026.\n- **The interesting frontier**: precision proximity. Knowing not just "the user is nearby" but "the user is sitting in the driver's seat" or "the user is approaching the front door from outside" is the next-generation interaction primitive. UWB plus BT plus mature multipath handling is what enables it.` } ] }; diff --git a/src/lib/data/subcategory-stories/realtime-web.ts b/src/lib/data/subcategory-stories/realtime-web.ts index 70f594f..6a60000 100644 --- a/src/lib/data/subcategory-stories/realtime-web.ts +++ b/src/lib/data/subcategory-stories/realtime-web.ts @@ -37,7 +37,7 @@ export const realtimeWebStory: SubcategoryStory = { title: 'WebSocket Implementer / Node.js Core', org: 'StrongLoop / npm', contribution: - "Co-authored the \`ws\` library โ€” the dominant Node.js [[websockets|WebSocket]] implementation โ€” which made server-side WebSocket trivially deployable from JavaScript. Node + ws + Socket.IO turned \"real-time web\" from a Tomcat/Comet engineering project into a weekend hack. The ergonomics shift mattered as much as the protocol." + "Co-authored the `ws` library โ€” the dominant Node.js [[websockets|WebSocket]] implementation โ€” which made server-side WebSocket trivially deployable from JavaScript. Node + ws + Socket.IO turned \"real-time web\" from a Tomcat/Comet engineering project into a weekend hack. The ergonomics shift mattered as much as the protocol." } ] }, @@ -122,7 +122,7 @@ export const realtimeWebStory: SubcategoryStory = { values: [ 'Server โ†’ client only', 'Plain HTTP (works over [[http1|h1]], [[http2|h2]], [[http3|h3]])', - "Text โ€” \`data:\` lines separated by blank lines", + "Text โ€” `data:` lines separated by blank lines", 'Built-in โ€” auto-reconnects with Last-Event-ID', "LLM streaming, notifications, server-driven UI updates" ] @@ -203,12 +203,12 @@ export const realtimeWebStory: SubcategoryStory = { { type: 'narrative', title: 'The Failure Modes', - text: `[[sse|SSE]]\'s failure mode is the **stuck connection**. The protocol is one-way, so the client can\'t directly tell the server "I\'m still here." Reconnects happen on transport failure, but a half-open TCP connection โ€” where the server has died but the network never reports it โ€” can leave the client silently waiting for events that will never arrive. Application-level heartbeats (server sends a keepalive comment every ~15s) are the standard fix.\n\n[[websockets|WebSockets]]\'s failure mode is **state divergence**. Both client and server hold state; they must agree on it. When the connection drops mid-message, who owns the unacknowledged messages? When the client reconnects, did it miss events while disconnected? The protocol gives you no help. Every WebSocket-based app implements its own sequence numbers, replay buffers, and reconciliation. The good ones (Figma, Linear, Notion) are real distributed systems behind a simple-looking UI.\n\nBoth share a third failure mode: **server-side scalability**. Each connection costs server memory and an open file descriptor. Twitter\'s 2010 streaming firehose required dedicated servers per few thousand connections. Modern stacks (Phoenix on the BEAM, Go with goroutines) push that to ~1M connections per box, but only with careful tuning. Real-time always pays in server resources.` + text: `[[sse|SSE]]'s failure mode is the **stuck connection**. The protocol is one-way, so the client can't directly tell the server "I'm still here." Reconnects happen on transport failure, but a half-open TCP connection โ€” where the server has died but the network never reports it โ€” can leave the client silently waiting for events that will never arrive. Application-level heartbeats (server sends a keepalive comment every ~15s) are the standard fix.\n\n[[websockets|WebSockets]]'s failure mode is **state divergence**. Both client and server hold state; they must agree on it. When the connection drops mid-message, who owns the unacknowledged messages? When the client reconnects, did it miss events while disconnected? The protocol gives you no help. Every WebSocket-based app implements its own sequence numbers, replay buffers, and reconciliation. The good ones (Figma, Linear, Notion) are real distributed systems behind a simple-looking UI.\n\nBoth share a third failure mode: **server-side scalability**. Each connection costs server memory and an open file descriptor. Twitter's 2010 streaming firehose required dedicated servers per few thousand connections. Modern stacks (Phoenix on the BEAM, Go with goroutines) push that to ~1M connections per box, but only with careful tuning. Real-time always pays in server resources.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **WebTransport** is the proposed successor to [[websockets|WebSocket]] โ€” built on [[quic|QUIC]], with native stream multiplexing, unreliable datagrams when wanted, and no proxy-Upgrade nonsense. Shipping in Chrome; slow elsewhere.\n- **HTTP/3 over QUIC** changes [[sse|SSE]]\'s scaling story โ€” one QUIC connection can carry many SSE streams without TCP head-of-line blocking. Cloudflare and Fastly are quietly making this the default.\n- **Server-driven UI** frameworks (HTMX, Phoenix LiveView, Inertia.js, React Server Components) lean on SSE for their UI updates โ€” the boring older protocol is having a second moment because the new use case fits it perfectly.\n- **LLM streaming** is now the dominant new use case for [[sse|SSE]]. Every chat-like AI product ships an SSE endpoint; the token-by-token effect is canonical.\n- **The death of polling** is overstated. Mobile push notifications, periodic background sync, and "check every N seconds" are still the right answer for many product surfaces. Realtime is expensive; not everything needs it.` + text: `Active work in 2025:\n\n- **WebTransport** is the proposed successor to [[websockets|WebSocket]] โ€” built on [[quic|QUIC]], with native stream multiplexing, unreliable datagrams when wanted, and no proxy-Upgrade nonsense. Shipping in Chrome; slow elsewhere.\n- **HTTP/3 over QUIC** changes [[sse|SSE]]'s scaling story โ€” one QUIC connection can carry many SSE streams without TCP head-of-line blocking. Cloudflare and Fastly are quietly making this the default.\n- **Server-driven UI** frameworks (HTMX, Phoenix LiveView, Inertia.js, React Server Components) lean on SSE for their UI updates โ€” the boring older protocol is having a second moment because the new use case fits it perfectly.\n- **LLM streaming** is now the dominant new use case for [[sse|SSE]]. Every chat-like AI product ships an SSE endpoint; the token-by-token effect is canonical.\n- **The death of polling** is overstated. Mobile push notifications, periodic background sync, and "check every N seconds" are still the right answer for many product surfaces. Realtime is expensive; not everything needs it.` } ] }; diff --git a/src/lib/data/subcategory-stories/resource-query-apis.ts b/src/lib/data/subcategory-stories/resource-query-apis.ts index 5a18cfc..b0bfa07 100644 --- a/src/lib/data/subcategory-stories/resource-query-apis.ts +++ b/src/lib/data/subcategory-stories/resource-query-apis.ts @@ -164,17 +164,17 @@ export const resourceQueryApisStory: SubcategoryStory = { { type: 'callout', title: 'HATEOAS โ€” The Constraint Almost Nobody Implements', - text: `Fielding\'s [[rest|REST]] dissertation has a constraint called **{{hateoas|HATEOAS}}**: Hypermedia As The Engine of Application State. The idea: a client should discover what actions are possible by following hyperlinks in the response, not by reading API documentation that hardcodes URL patterns.\n\nA strictly RESTful response to \`GET /orders/42\` would include not just the order data but links: "to cancel, POST to /orders/42/cancel"; "to add a line item, POST to /orders/42/items." The client would never construct a URL โ€” it would follow the links the server hands it. Add a new state transition, and clients pick it up for free.\n\nAlmost nobody does this. Production "REST" APIs are pattern-based: clients know that \`POST /orders/{id}/cancel\` exists because it's documented, not because the order resource told them. Fielding has spent twenty years gently insisting these aren't REST APIs โ€” they're "HTTP RPC." The world has gently ignored him. The pragmatic working definition of REST has won, even if the formal definition has not.` + text: `Fielding's [[rest|REST]] dissertation has a constraint called **{{hateoas|HATEOAS}}**: Hypermedia As The Engine of Application State. The idea: a client should discover what actions are possible by following hyperlinks in the response, not by reading API documentation that hardcodes URL patterns.\n\nA strictly RESTful response to \`GET /orders/42\` would include not just the order data but links: "to cancel, POST to /orders/42/cancel"; "to add a line item, POST to /orders/42/items." The client would never construct a URL โ€” it would follow the links the server hands it. Add a new state transition, and clients pick it up for free.\n\nAlmost nobody does this. Production "REST" APIs are pattern-based: clients know that \`POST /orders/{id}/cancel\` exists because it's documented, not because the order resource told them. Fielding has spent twenty years gently insisting these aren't REST APIs โ€” they're "HTTP RPC." The world has gently ignored him. The pragmatic working definition of REST has won, even if the formal definition has not.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[rest|REST]]\'s failure mode is **chatty clients**. A list view that shows 50 items, each with three sub-resources, is 151 HTTP calls if you do it the obvious way. Workarounds โ€” \`?include=\` query parameters, JSON:API\'s sparse fieldsets, custom batch endpoints โ€” accrete until your REST API is a tangle of escape hatches. Caching helps if the data is cacheable; if it\'s personalized, it doesn\'t.\n\n[[graphql|GraphQL]]\'s failure mode is **expensive queries**. A client can ask for *anything* the schema allows, including \`users { friends { friends { friends { name } } } }\` โ€” a query that explodes in cost. Solutions exist: query-cost analysis, persisted queries, automatic field-level rate-limiting โ€” but they\'re all *additional work* the server has to do that REST avoids by simply not letting clients ask for arbitrary shapes. GraphQL also makes HTTP caching nearly useless: every query is a POST with a body, so CDNs can\'t cache it without a layer of indirection (persisted query hashes).\n\nThe two failure modes are mirror images. REST lets the server constrain everything but forces the client to coordinate. GraphQL lets the client request anything but forces the server to defend.` + text: `[[rest|REST]]'s failure mode is **chatty clients**. A list view that shows 50 items, each with three sub-resources, is 151 HTTP calls if you do it the obvious way. Workarounds โ€” \`?include=\` query parameters, JSON:API's sparse fieldsets, custom batch endpoints โ€” accrete until your REST API is a tangle of escape hatches. Caching helps if the data is cacheable; if it's personalized, it doesn't.\n\n[[graphql|GraphQL]]'s failure mode is **expensive queries**. A client can ask for *anything* the schema allows, including \`users { friends { friends { friends { name } } } }\` โ€” a query that explodes in cost. Solutions exist: query-cost analysis, persisted queries, automatic field-level rate-limiting โ€” but they're all *additional work* the server has to do that REST avoids by simply not letting clients ask for arbitrary shapes. GraphQL also makes HTTP caching nearly useless: every query is a POST with a body, so CDNs can't cache it without a layer of indirection (persisted query hashes).\n\nThe two failure modes are mirror images. REST lets the server constrain everything but forces the client to coordinate. GraphQL lets the client request anything but forces the server to defend.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **GraphQL Federation** is becoming the default architecture for large API gateways โ€” multiple teams own subgraphs that compose into one client-facing schema. Apollo Federation, StepZen, GraphQL Mesh.\n- **REST + types** is closing the developer-experience gap with GraphQL. OpenAPI 3.1, Stainless, Speakeasy, Fern all generate typed clients from REST specs that feel nearly as good as GraphQL codegen.\n- **tRPC and friends** keep growing inside TypeScript monorepos. End-to-end inferred types, no schema language, no codegen. The boundary: any client outside the monorepo needs a real API.\n- **JSON:API** quietly powers a lot of \"strict REST with conventions\" deployments โ€” the spec is unfashionable but solves the \"every REST API reinvents pagination\" problem.\n- **The unsexy truth**: most companies run both. REST for public/partner APIs and CDN-cacheable reads. GraphQL for first-party mobile and web clients. Choosing one and using it for everything is rare in practice.` + text: `Active work in 2025:\n\n- **GraphQL Federation** is becoming the default architecture for large API gateways โ€” multiple teams own subgraphs that compose into one client-facing schema. Apollo Federation, StepZen, GraphQL Mesh.\n- **REST + types** is closing the developer-experience gap with GraphQL. OpenAPI 3.1, Stainless, Speakeasy, Fern all generate typed clients from REST specs that feel nearly as good as GraphQL codegen.\n- **tRPC and friends** keep growing inside TypeScript monorepos. End-to-end inferred types, no schema language, no codegen. The boundary: any client outside the monorepo needs a real API.\n- **JSON:API** quietly powers a lot of "strict REST with conventions" deployments โ€” the spec is unfashionable but solves the "every REST API reinvents pagination" problem.\n- **The unsexy truth**: most companies run both. REST for public/partner APIs and CDN-cacheable reads. GraphQL for first-party mobile and web clients. Choosing one and using it for everything is rare in practice.` } ] }; diff --git a/src/lib/data/subcategory-stories/routing.ts b/src/lib/data/subcategory-stories/routing.ts index 9b6342c..f42dbb5 100644 --- a/src/lib/data/subcategory-stories/routing.ts +++ b/src/lib/data/subcategory-stories/routing.ts @@ -183,7 +183,7 @@ export const routingStory: SubcategoryStory = { { type: 'callout', title: 'BGP Runs on Trust That Nobody Should Have', - text: `For 30 years, [[bgp|BGP]] had no authentication. If you peered with another network, you trusted what they announced. If they announced Google's prefix from their own AS, your router believed them, and your packets to Google went to their network instead.\n\nThis isn't theoretical. [[outage:pakistan-youtube-2008|Pakistan Telecom took YouTube offline globally in 2008]] by announcing a more-specific route to its own prefix โ€” an attempt to censor YouTube *locally* that leaked worldwide. China Telecom rerouted 15% of global Internet traffic through China for 18 minutes in April 2010. Russia rerouted Mastercard and Visa traffic in 2017. These weren\'t exploits โ€” they were just BGP working as designed.\n\nThe partial fix arriving now is **{{rpki|RPKI}}** โ€” Resource Public Key Infrastructure. Address owners cryptographically sign assertions: "AS 13335 is allowed to originate 1.1.1.0/24." Routers validate incoming announcements against these signatures. By 2024, RPKI coverage finally crossed 50% of routed IPv4. The next step โ€” **BGPsec**, which would sign the entire AS_PATH, not just the origin โ€” has been "shipping next year" since 2017. Path-level validation is hard.` + text: `For 30 years, [[bgp|BGP]] had no authentication. If you peered with another network, you trusted what they announced. If they announced Google's prefix from their own AS, your router believed them, and your packets to Google went to their network instead.\n\nThis isn't theoretical. [[outage:pakistan-youtube-2008|Pakistan Telecom took YouTube offline globally in 2008]] by announcing a more-specific route to its own prefix โ€” an attempt to censor YouTube *locally* that leaked worldwide. China Telecom rerouted 15% of global Internet traffic through China for 18 minutes in April 2010. Russia rerouted Mastercard and Visa traffic in 2017. These weren't exploits โ€” they were just BGP working as designed.\n\nThe partial fix arriving now is **{{rpki|RPKI}}** โ€” Resource Public Key Infrastructure. Address owners cryptographically sign assertions: "AS 13335 is allowed to originate 1.1.1.0/24." Routers validate incoming announcements against these signatures. By 2024, RPKI coverage finally crossed 50% of routed IPv4. The next step โ€” **BGPsec**, which would sign the entire AS_PATH, not just the origin โ€” has been "shipping next year" since 2017. Path-level validation is hard.` }, { type: 'narrative', diff --git a/src/lib/data/subcategory-stories/rpc-styles.ts b/src/lib/data/subcategory-stories/rpc-styles.ts index cecd45b..423be7e 100644 --- a/src/lib/data/subcategory-stories/rpc-styles.ts +++ b/src/lib/data/subcategory-stories/rpc-styles.ts @@ -83,7 +83,7 @@ export const rpcStylesStory: SubcategoryStory = { year: 2008, title: 'Protocol Buffers Open-Sourced', description: - "Google releases protobuf โ€” the typed binary serialization format used internally since 2001. Schemas in \`.proto\` files generate strongly-typed code in C++, Java, Python, Go." + "Google releases protobuf โ€” the typed binary serialization format used internally since 2001. Schemas in `.proto` files generate strongly-typed code in C++, Java, Python, Go." }, { year: 2015, @@ -200,12 +200,12 @@ export const rpcStylesStory: SubcategoryStory = { { type: 'narrative', title: 'The Failure Modes', - text: `[[soap|SOAP]]\'s failure mode is **schema drift**. WSDL pinned the contract at design time, but when servers changed types or added required fields without coordinating client updates, clients broke. WSDL versioning was clunky, and there was no standard way to evolve a contract gracefully. Most enterprises wrote their own change-control processes around SOAP services.\n\n[[json-rpc|JSON-RPC]]\'s failure mode is **no contract at all**. Because there is no schema, what passes for an API is documentation โ€” and documentation drifts from implementation. Wallets and blockchain nodes have lived with this for a decade; the workaround is "be very conservative about changing anything." Adding a field is usually safe; renaming is not.\n\n[[grpc|gRPC]]\'s failure mode is **proxy hostility**. HTTP/2 trailers (used for status) aren\'t spoken by browsers, by many corporate proxies, or by old load balancers. Production gRPC at the edge typically requires a proxy (Envoy) to translate. gRPC-Web and the newer Connect protocol exist precisely to escape this. The lesson: every RPC framework eventually meets a middlebox it can\'t pass through.` + text: `[[soap|SOAP]]'s failure mode is **schema drift**. WSDL pinned the contract at design time, but when servers changed types or added required fields without coordinating client updates, clients broke. WSDL versioning was clunky, and there was no standard way to evolve a contract gracefully. Most enterprises wrote their own change-control processes around SOAP services.\n\n[[json-rpc|JSON-RPC]]'s failure mode is **no contract at all**. Because there is no schema, what passes for an API is documentation โ€” and documentation drifts from implementation. Wallets and blockchain nodes have lived with this for a decade; the workaround is "be very conservative about changing anything." Adding a field is usually safe; renaming is not.\n\n[[grpc|gRPC]]'s failure mode is **proxy hostility**. HTTP/2 trailers (used for status) aren't spoken by browsers, by many corporate proxies, or by old load balancers. Production gRPC at the edge typically requires a proxy (Envoy) to translate. gRPC-Web and the newer Connect protocol exist precisely to escape this. The lesson: every RPC framework eventually meets a middlebox it can't pass through.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Connect protocol** (Buf, 2024) โ€” a [[grpc|gRPC]]-compatible protocol that also speaks plain HTTP/JSON, eliminating the browser-proxy problem. Same .proto files generate clients for both transports.\n- **Cap\'n Proto + Tonic + Twirp** โ€” lighter alternatives to full gRPC, each with niche followings. Twirp keeps protobuf but drops streaming and HTTP/2 for simpler operations.\n- **OpenAPI codegen catching up** โ€” Stainless, Speakeasy, Fern generate typed clients from OpenAPI specs that rival the gRPC developer experience. The line between "typed REST" and "JSON-over-HTTP RPC" is dissolving.\n- **Schema-on-the-wire** experiments (Cap\'n Proto, Apache Avro for streaming) keep niche traction in data pipelines and storage formats.\n- **The unsexy truth**: [[grpc|gRPC]] won internal microservice RPC. [[json-rpc|JSON-RPC]] won blockchain and editor protocols. [[soap|SOAP]] is in maintenance. New API design in 2025 picks gRPC if everything is yours and behind your edge; picks typed REST/OpenAPI if anything is public.` + text: `Active work in 2025:\n\n- **Connect protocol** (Buf, 2024) โ€” a [[grpc|gRPC]]-compatible protocol that also speaks plain HTTP/JSON, eliminating the browser-proxy problem. Same .proto files generate clients for both transports.\n- **Cap'n Proto + Tonic + Twirp** โ€” lighter alternatives to full gRPC, each with niche followings. Twirp keeps protobuf but drops streaming and HTTP/2 for simpler operations.\n- **OpenAPI codegen catching up** โ€” Stainless, Speakeasy, Fern generate typed clients from OpenAPI specs that rival the gRPC developer experience. The line between "typed REST" and "JSON-over-HTTP RPC" is dissolving.\n- **Schema-on-the-wire** experiments (Cap'n Proto, Apache Avro for streaming) keep niche traction in data pipelines and storage formats.\n- **The unsexy truth**: [[grpc|gRPC]] won internal microservice RPC. [[json-rpc|JSON-RPC]] won blockchain and editor protocols. [[soap|SOAP]] is in maintenance. New API design in 2025 picks gRPC if everything is yours and behind your edge; picks typed REST/OpenAPI if anything is public.` } ] }; diff --git a/src/lib/data/subcategory-stories/secure-channels-vpn.ts b/src/lib/data/subcategory-stories/secure-channels-vpn.ts index 59d1aa9..a5e59e0 100644 --- a/src/lib/data/subcategory-stories/secure-channels-vpn.ts +++ b/src/lib/data/subcategory-stories/secure-channels-vpn.ts @@ -8,7 +8,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { { type: 'narrative', title: 'Four Answers, Four Layers', - text: `In 1990 you could read almost any traffic on the Internet by tapping the wire. Telnet sent passwords in cleartext. SMTP carried mail with the sender\'s name attached. FTP transferred files unauthenticated. The web (when it arrived a year later) was unencrypted. Anyone with a packet sniffer on the right network segment could read everything.\n\nFour responses emerged at four different layers of the stack:\n\n- **[[tls|TLS]]** (originally SSL, 1995) encrypts at the **transport layer**, sitting between TCP and the application. Web browsers connect, do a handshake, then read and write to a normal socket โ€” except the socket is encrypted. Everything that used HTTP, SMTP, IMAP, LDAP eventually got a TLS variant. TLS is the encryption layer of the modern Internet.\n- **[[ssh|SSH]]** (1995) replaces Telnet for **remote shell access**, at the **application layer**. Designed by Tatu Ylรถnen at the Helsinki University of Technology after his university\'s network was sniffed for passwords. SSH became the universal "log into a server" protocol; it also grew port forwarding, tunneling, and SCP/SFTP for file transfer.\n- **[[ipsec|IPsec]]** (1995โ€“1998) encrypts at the **network layer**, inside IP itself. Designed for site-to-site VPNs and for the never-quite-fulfilled IPv6 mandate. Operates either in transport mode (encrypt the payload, leave the IP header) or tunnel mode (encrypt the whole IP packet inside another). Famously complex; runs almost every enterprise VPN deployed before ~2020.\n- **[[wireguard|WireGuard]]** (2016) is the **minimalist successor** to IPsec. ~4,000 lines of kernel code (versus IPsec\'s ~400,000). Fixed modern cryptography (no negotiation). Connectionless. Designed by Jason Donenfeld in part out of frustration with the IPsec complexity stack. Merged into the Linux kernel in 2020; now ships in macOS, Windows, every major VPN provider.\n\nEach lives at a different layer because each addresses a different problem. You can run TLS *inside* an IPsec tunnel; you can SSH *over* a WireGuard interface; you can run WireGuard *over* TLS to escape a restrictive firewall. The encryption layers compose.` + text: `In 1990 you could read almost any traffic on the Internet by tapping the wire. Telnet sent passwords in cleartext. SMTP carried mail with the sender's name attached. FTP transferred files unauthenticated. The web (when it arrived a year later) was unencrypted. Anyone with a packet sniffer on the right network segment could read everything.\n\nFour responses emerged at four different layers of the stack:\n\n- **[[tls|TLS]]** (originally SSL, 1995) encrypts at the **transport layer**, sitting between TCP and the application. Web browsers connect, do a handshake, then read and write to a normal socket โ€” except the socket is encrypted. Everything that used HTTP, SMTP, IMAP, LDAP eventually got a TLS variant. TLS is the encryption layer of the modern Internet.\n- **[[ssh|SSH]]** (1995) replaces Telnet for **remote shell access**, at the **application layer**. Designed by Tatu Ylรถnen at the Helsinki University of Technology after his university's network was sniffed for passwords. SSH became the universal "log into a server" protocol; it also grew port forwarding, tunneling, and SCP/SFTP for file transfer.\n- **[[ipsec|IPsec]]** (1995โ€“1998) encrypts at the **network layer**, inside IP itself. Designed for site-to-site VPNs and for the never-quite-fulfilled IPv6 mandate. Operates either in transport mode (encrypt the payload, leave the IP header) or tunnel mode (encrypt the whole IP packet inside another). Famously complex; runs almost every enterprise VPN deployed before ~2020.\n- **[[wireguard|WireGuard]]** (2016) is the **minimalist successor** to IPsec. ~4,000 lines of kernel code (versus IPsec's ~400,000). Fixed modern cryptography (no negotiation). Connectionless. Designed by Jason Donenfeld in part out of frustration with the IPsec complexity stack. Merged into the Linux kernel in 2020; now ships in macOS, Windows, every major VPN provider.\n\nEach lives at a different layer because each addresses a different problem. You can run TLS *inside* an IPsec tunnel; you can SSH *over* a WireGuard interface; you can run WireGuard *over* TLS to escape a restrictive firewall. The encryption layers compose.` }, { type: 'pioneers', @@ -18,7 +18,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { id: 'taher-elgamal', name: 'Taher Elgamal', years: '1955โ€“', - title: '\"Father of SSL\"', + title: '"Father of SSL"', org: 'Netscape / RSA Security / Salesforce', contribution: "Led the cryptography team at Netscape that designed SSL 2.0 (1995) and SSL 3.0 (1996) โ€” the foundations of what would become [[tls|TLS]]. Elgamal also invented the ElGamal encryption and signature schemes during his PhD at Stanford under Martin Hellman. Without SSL there is no e-commerce; without e-commerce the web economy is unrecognizable. Few protocols have had higher economic impact than Elgamal\\'s 1995 work." @@ -112,7 +112,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { year: 2020, title: 'WireGuard Mainlined in Linux 5.6', description: - "Linus Torvalds merges WireGuard into the Linux kernel after years of \"please can we have this.\" Within months it ships in major distros and is the default of new VPN services (Mullvad, Tailscale, NordVPN\'s NordLynx)." + "Linus Torvalds merges WireGuard into the Linux kernel after years of \"please can we have this.\" Within months it ships in major distros and is the default of new VPN services (Mullvad, Tailscale, NordVPN's NordLynx)." }, { year: 2021, @@ -214,17 +214,17 @@ export const secureChannelsVpnStory: SubcategoryStory = { { type: 'callout', title: 'Why WireGuard Beat IPsec', - text: `[[ipsec|IPsec]] is a marvel of engineering. It supports every cipher, every key-exchange algorithm, every NAT-traversal mode, every X.509 PKI scheme, every EAP authentication method. It can run in transport mode or tunnel mode, with ESP or AH, in tunnel mode with or without traffic-flow confidentiality, with extended-sequence-number replay protection, with NAT-T encapsulation. The IKEv2 negotiation alone has dozens of attribute classes.\n\nThis is the source of its problem. *Algorithm agility* โ€” the ability to negotiate among many crypto choices โ€” is what kept SSL/TLS upgradeable, but it\'s also what made many of its worst bugs possible (POODLE, FREAK, Logjam). IPsec multiplied this by adding negotiation between every layer of the stack.\n\n[[wireguard|WireGuard]] made the opposite bet:\n\n- **Fixed cryptography**: Curve25519 for key exchange, ChaCha20-Poly1305 for symmetric encryption, BLAKE2s for hashing. No negotiation. If a primitive is broken, the protocol version is incremented and clients/servers update together.\n- **No PKI**: every peer has a single Curve25519 public key. You configure peers by their public keys, like SSH \`authorized_keys\`. No certificates, no CAs, no expiration ceremonies.\n- **Stateless on the wire**: each packet stands alone. No "connection." If the server reboots or a NAT mapping changes, the next packet just works.\n- **Connectionless from the kernel\'s view**: WireGuard creates a regular network interface (\`wg0\`). Routes go to it like any other interface. The kernel doesn\'t know it\'s a VPN.\n\nThe codebase: ~4,000 lines of kernel C. Linux\'s IPsec stack: ~400,000 lines. Donenfeld\'s thesis was simple โ€” *crypto code you can audit fits in your head*. The audit was done by Tor Project security researchers and found nothing. The protocol shipped. The result is the first VPN protocol most security engineers genuinely *trust* without caveats.` + text: `[[ipsec|IPsec]] is a marvel of engineering. It supports every cipher, every key-exchange algorithm, every NAT-traversal mode, every X.509 PKI scheme, every EAP authentication method. It can run in transport mode or tunnel mode, with ESP or AH, in tunnel mode with or without traffic-flow confidentiality, with extended-sequence-number replay protection, with NAT-T encapsulation. The IKEv2 negotiation alone has dozens of attribute classes.\n\nThis is the source of its problem. *Algorithm agility* โ€” the ability to negotiate among many crypto choices โ€” is what kept SSL/TLS upgradeable, but it's also what made many of its worst bugs possible (POODLE, FREAK, Logjam). IPsec multiplied this by adding negotiation between every layer of the stack.\n\n[[wireguard|WireGuard]] made the opposite bet:\n\n- **Fixed cryptography**: Curve25519 for key exchange, ChaCha20-Poly1305 for symmetric encryption, BLAKE2s for hashing. No negotiation. If a primitive is broken, the protocol version is incremented and clients/servers update together.\n- **No PKI**: every peer has a single Curve25519 public key. You configure peers by their public keys, like SSH \`authorized_keys\`. No certificates, no CAs, no expiration ceremonies.\n- **Stateless on the wire**: each packet stands alone. No "connection." If the server reboots or a NAT mapping changes, the next packet just works.\n- **Connectionless from the kernel's view**: WireGuard creates a regular network interface (\`wg0\`). Routes go to it like any other interface. The kernel doesn't know it's a VPN.\n\nThe codebase: ~4,000 lines of kernel C. Linux's IPsec stack: ~400,000 lines. Donenfeld's thesis was simple โ€” *crypto code you can audit fits in your head*. The audit was done by Tor Project security researchers and found nothing. The protocol shipped. The result is the first VPN protocol most security engineers genuinely *trust* without caveats.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[tls|TLS]]\'s failure mode is **certificate validation**. The cryptography is solid; the trust model is the weak link. A misissued certificate from a single trusted CA can MITM any site on the Internet. {{ct|Certificate Transparency}} is the public ledger of all issued certs; HPKP (Public Key Pinning) was an attempt at user-controlled pinning that got removed because mistakes broke entire sites. Let\'s Encrypt democratized cert issuance, but the underlying X.509/CA model is still the most fragile part of the stack.\n\n[[ssh|SSH]]\'s failure mode is **trust on first use**. The first time you connect to a host, you accept its public key as-is. If the host\'s key changes (legitimate rotation? attacker MITM?), SSH warns you, but most users just delete the line in \`known_hosts\` and reconnect. SSH certificate authorities (smallstep, Teleport, Vault SSH backend) fix this but require deployment.\n\n[[ipsec|IPsec]]\'s failure mode is **interop**. Two correctly-implemented IPsec stacks may fail to talk to each other because they pick different defaults. The "IKEv2 connection works between Cisco and Palo Alto if you set X, Y, and Z correctly" stories fill the support forums. {{ikev2|IKEv2}} reduced the variance, but the legacy of IKEv1 still haunts deployments.\n\n[[wireguard|WireGuard]]\'s failure mode is **roaming and mobility**. WireGuard\'s connectionless model is elegant โ€” except every peer\'s configuration includes a fixed UDP endpoint. When a phone moves from Wi-Fi to LTE, the endpoint changes; the server has to learn the new one. WireGuard handles this (the server\'s endpoint floats to wherever the latest authenticated packet came from), but the *initial* connection from a roaming client requires the server to have a stable address. Mesh deployments need a coordination plane โ€” Tailscale, Headscale, Netbird, NetMaker exist precisely to add this layer.` + text: `[[tls|TLS]]'s failure mode is **certificate validation**. The cryptography is solid; the trust model is the weak link. A misissued certificate from a single trusted CA can MITM any site on the Internet. {{ct|Certificate Transparency}} is the public ledger of all issued certs; HPKP (Public Key Pinning) was an attempt at user-controlled pinning that got removed because mistakes broke entire sites. Let's Encrypt democratized cert issuance, but the underlying X.509/CA model is still the most fragile part of the stack.\n\n[[ssh|SSH]]'s failure mode is **trust on first use**. The first time you connect to a host, you accept its public key as-is. If the host's key changes (legitimate rotation? attacker MITM?), SSH warns you, but most users just delete the line in \`known_hosts\` and reconnect. SSH certificate authorities (smallstep, Teleport, Vault SSH backend) fix this but require deployment.\n\n[[ipsec|IPsec]]'s failure mode is **interop**. Two correctly-implemented IPsec stacks may fail to talk to each other because they pick different defaults. The "IKEv2 connection works between Cisco and Palo Alto if you set X, Y, and Z correctly" stories fill the support forums. {{ikev2|IKEv2}} reduced the variance, but the legacy of IKEv1 still haunts deployments.\n\n[[wireguard|WireGuard]]'s failure mode is **roaming and mobility**. WireGuard's connectionless model is elegant โ€” except every peer's configuration includes a fixed UDP endpoint. When a phone moves from Wi-Fi to LTE, the endpoint changes; the server has to learn the new one. WireGuard handles this (the server's endpoint floats to wherever the latest authenticated packet came from), but the *initial* connection from a roaming client requires the server to have a stable address. Mesh deployments need a coordination plane โ€” Tailscale, Headscale, Netbird, NetMaker exist precisely to add this layer.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Post-quantum TLS** is rolling out. Chrome, Cloudflare, Apple have already deployed hybrid X25519+ML-KEM (Kyber) by default. NIST PQC standards finalized in 2024; the migration phase is now.\n- **Encrypted Client Hello (ECH)** hides the SNI (which hostname the client is asking for) from passive observers. Default-on in Chrome and Firefox in 2024. The last unencrypted metadata in a TLS connection is gone.\n- **WireGuard in everything** โ€” every major commercial VPN now offers WireGuard. Cloudflare WARP, Tailscale, Mullvad, NordVPN, Surfshark. The transition from OpenVPN/IPsec is essentially complete for consumer VPNs.\n- **SSH certificates** are slowly displacing \`authorized_keys\` files in enterprise environments. Short-lived certificates issued by a CA (HashiCorp Vault, smallstep CA, Teleport) provide centralized control and automatic expiry.\n- **MASQUE** (proxy traffic inside QUIC) is the next generation of "VPN" โ€” used by iCloud Private Relay and Cloudflare\'s Privacy Gateway. Not a replacement for site-to-site IPsec, but a replacement for the "encrypted DNS + proxy" pattern that consumer VPNs deliver.\n- **Memory-safe TLS implementations** (rustls, BoringSSL\'s improvements, OpenSSL 3.x rewrites) continue replacing C-based stacks where the language gives crypto code more guarantees against the Heartbleed-class bugs.` + text: `Active work in 2025:\n\n- **Post-quantum TLS** is rolling out. Chrome, Cloudflare, Apple have already deployed hybrid X25519+ML-KEM (Kyber) by default. NIST PQC standards finalized in 2024; the migration phase is now.\n- **Encrypted Client Hello (ECH)** hides the SNI (which hostname the client is asking for) from passive observers. Default-on in Chrome and Firefox in 2024. The last unencrypted metadata in a TLS connection is gone.\n- **WireGuard in everything** โ€” every major commercial VPN now offers WireGuard. Cloudflare WARP, Tailscale, Mullvad, NordVPN, Surfshark. The transition from OpenVPN/IPsec is essentially complete for consumer VPNs.\n- **SSH certificates** are slowly displacing \`authorized_keys\` files in enterprise environments. Short-lived certificates issued by a CA (HashiCorp Vault, smallstep CA, Teleport) provide centralized control and automatic expiry.\n- **MASQUE** (proxy traffic inside QUIC) is the next generation of "VPN" โ€” used by iCloud Private Relay and Cloudflare's Privacy Gateway. Not a replacement for site-to-site IPsec, but a replacement for the "encrypted DNS + proxy" pattern that consumer VPNs deliver.\n- **Memory-safe TLS implementations** (rustls, BoringSSL's improvements, OpenSSL 3.x rewrites) continue replacing C-based stacks where the language gives crypto code more guarantees against the Heartbleed-class bugs.` } ] }; diff --git a/src/lib/data/subcategory-stories/streaming-delivery.ts b/src/lib/data/subcategory-stories/streaming-delivery.ts index 4f3e17c..3fcfc98 100644 --- a/src/lib/data/subcategory-stories/streaming-delivery.ts +++ b/src/lib/data/subcategory-stories/streaming-delivery.ts @@ -8,7 +8,7 @@ export const streamingDeliveryStory: SubcategoryStory = { { type: 'narrative', title: 'How the Web Learned to Stream', - text: `In 2005, YouTube put up its first videos. They were Flash. By 2007 every video on the open web was Flash โ€” \`<object\` tags pointing to .flv files served over **[[rtmp|RTMP]]**, Adobe\'s proprietary real-time streaming protocol. RTMP was *push-based*: the server streamed frames to the player over a long-lived TCP connection, and the player buffered and rendered them. For a decade, this was how video worked.\n\nThen mobile happened. Apple shipped the iPhone in 2007, refused to support Flash, and within five years had killed RTMP playback on the open web. The replacements โ€” **[[hls|HLS]]** from Apple and **[[dash|DASH]]** from the ISO/IEC MPEG group โ€” share an audacious idea: *use plain HTTP, like everything else on the web*. Instead of one long stream, the video is chopped into many small segments (typically 2โ€“10 seconds each), each fetched as a separate [[http1|HTTP]] GET. A manifest file (\`.m3u8\` for HLS, \`.mpd\` for DASH) lists the segments and the available bitrates.\n\nThis is **adaptive bitrate streaming**. The player constantly measures its bandwidth and switches to the appropriate quality between segments. Network drops to 1 Mbps? Next segment fetched at 720p instead of 1080p. Recovered? Back to 1080p. The whole apparatus runs over the same HTTP infrastructure that serves images and JavaScript โ€” caches at the CDN, served from disk, no special protocol stack.\n\n[[rtmp|RTMP]] didn\'t die. Player-facing RTMP is gone, but RTMP is still the dominant *ingest* protocol: when a streamer pushes video to Twitch, YouTube Live, or Facebook Live, they\'re almost certainly using RTMP from OBS or a hardware encoder. The "broadcast in" leg uses RTMP; the "broadcast out" leg uses HLS or DASH. Fifteen years after Adobe stopped pushing it, RTMP is still the default for live video ingest because nobody has bothered to replace it.` + text: `In 2005, YouTube put up its first videos. They were Flash. By 2007 every video on the open web was Flash โ€” \`<object\` tags pointing to .flv files served over **[[rtmp|RTMP]]**, Adobe's proprietary real-time streaming protocol. RTMP was *push-based*: the server streamed frames to the player over a long-lived TCP connection, and the player buffered and rendered them. For a decade, this was how video worked.\n\nThen mobile happened. Apple shipped the iPhone in 2007, refused to support Flash, and within five years had killed RTMP playback on the open web. The replacements โ€” **[[hls|HLS]]** from Apple and **[[dash|DASH]]** from the ISO/IEC MPEG group โ€” share an audacious idea: *use plain HTTP, like everything else on the web*. Instead of one long stream, the video is chopped into many small segments (typically 2โ€“10 seconds each), each fetched as a separate [[http1|HTTP]] GET. A manifest file (\`.m3u8\` for HLS, \`.mpd\` for DASH) lists the segments and the available bitrates.\n\nThis is **adaptive bitrate streaming**. The player constantly measures its bandwidth and switches to the appropriate quality between segments. Network drops to 1 Mbps? Next segment fetched at 720p instead of 1080p. Recovered? Back to 1080p. The whole apparatus runs over the same HTTP infrastructure that serves images and JavaScript โ€” caches at the CDN, served from disk, no special protocol stack.\n\n[[rtmp|RTMP]] didn't die. Player-facing RTMP is gone, but RTMP is still the dominant *ingest* protocol: when a streamer pushes video to Twitch, YouTube Live, or Facebook Live, they're almost certainly using RTMP from OBS or a hardware encoder. The "broadcast in" leg uses RTMP; the "broadcast out" leg uses HLS or DASH. Fifteen years after Adobe stopped pushing it, RTMP is still the default for live video ingest because nobody has bothered to replace it.` }, { type: 'pioneers', @@ -65,7 +65,7 @@ export const streamingDeliveryStory: SubcategoryStory = { year: 2007, title: 'iPhone Ships Without Flash', description: - "Apple\'s iPhone launches without Flash. The clock starts on web video\'s migration away from Flash." + "Apple's iPhone launches without Flash. The clock starts on web video's migration away from Flash." }, { year: 2009, @@ -75,9 +75,9 @@ export const streamingDeliveryStory: SubcategoryStory = { }, { year: 2010, - title: 'Steve Jobs Publishes \"Thoughts on Flash\"', + title: 'Steve Jobs Publishes "Thoughts on Flash"', description: - "Jobs\' April 2010 open letter explicitly states the iPad will never support Flash. Within 18 months, every major video site is shipping an HTML5 + HLS or DASH path alongside Flash." + "Jobs' April 2010 open letter explicitly states the iPad will never support Flash. Within 18 months, every major video site is shipping an HTML5 + HLS or DASH path alongside Flash." }, { year: 2012, @@ -207,17 +207,17 @@ export const streamingDeliveryStory: SubcategoryStory = { { type: 'callout', title: 'Why RTMP Refused to Die', - text: `[[rtmp|RTMP]] should have been dead by 2015. Browsers stopped supporting Flash. Mobile never supported it. Adobe stopped investing. Every major streaming platform migrated *playback* to HLS or DASH. And yet, in 2025, if you open OBS Studio and start a stream to Twitch, YouTube Live, Facebook Live, Kick, or essentially any live streaming platform, the protocol going from your encoder to the service is **RTMP**.\n\nWhy?\n\n- **Encoder support is universal.** Every camera, every hardware encoder (TriCaster, AJA, Blackmagic), every streaming software (OBS, vMix, Wirecast, Streamlabs) supports RTMP. No replacement has matched that.\n- **It just works.** RTMP\'s push-over-TCP model is simple. A streamer types in a server URL and a stream key; the encoder connects and starts sending. No handshake complexity, no segmentation logic, no manifest publishing.\n- **The replacements are worse for this leg.** WebRTC requires complex signaling. SRT (Secure Reliable Transport) is gaining adoption but isn\'t in every encoder. Newer protocols (RIST, Zixi, WHIP) exist but the ecosystem is fragmented.\n- **It\'s ingest, not delivery.** The economic pressure to replace it is low โ€” only the streamer-to-service hop uses RTMP. Everything past the ingest server is HLS/DASH/CMAF.\n\nThe migration *will* happen โ€” WHIP (WebRTC-HTTP Ingestion Protocol) is the leading candidate, with YouTube and others adding support โ€” but it has been "next year" for several years. RTMP is the cockroach of streaming protocols, and it\'s genuinely fine.` + text: `[[rtmp|RTMP]] should have been dead by 2015. Browsers stopped supporting Flash. Mobile never supported it. Adobe stopped investing. Every major streaming platform migrated *playback* to HLS or DASH. And yet, in 2025, if you open OBS Studio and start a stream to Twitch, YouTube Live, Facebook Live, Kick, or essentially any live streaming platform, the protocol going from your encoder to the service is **RTMP**.\n\nWhy?\n\n- **Encoder support is universal.** Every camera, every hardware encoder (TriCaster, AJA, Blackmagic), every streaming software (OBS, vMix, Wirecast, Streamlabs) supports RTMP. No replacement has matched that.\n- **It just works.** RTMP's push-over-TCP model is simple. A streamer types in a server URL and a stream key; the encoder connects and starts sending. No handshake complexity, no segmentation logic, no manifest publishing.\n- **The replacements are worse for this leg.** WebRTC requires complex signaling. SRT (Secure Reliable Transport) is gaining adoption but isn't in every encoder. Newer protocols (RIST, Zixi, WHIP) exist but the ecosystem is fragmented.\n- **It's ingest, not delivery.** The economic pressure to replace it is low โ€” only the streamer-to-service hop uses RTMP. Everything past the ingest server is HLS/DASH/CMAF.\n\nThe migration *will* happen โ€” WHIP (WebRTC-HTTP Ingestion Protocol) is the leading candidate, with YouTube and others adding support โ€” but it has been "next year" for several years. RTMP is the cockroach of streaming protocols, and it's genuinely fine.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[hls|HLS]] and [[dash|DASH]]\'s failure mode is **latency**. Standard HLS/DASH live streaming has 15โ€“30 seconds of end-to-end delay โ€” segments must be encoded, written, fetched, buffered before playback. For VOD and most casual live streaming, this is fine. For interactive use cases (live auctions, sports betting, sports broadcasts where social media spoils the result), it\'s a dealbreaker. LL-HLS and CMAF-LL cut this to 2โ€“4 seconds, but require CDN support, careful tuning, and HTTP/2 chunked transfer encoding. Many CDNs handle low-latency poorly.\n\n[[rtmp|RTMP]]\'s failure mode is **firewall traversal**. RTMP runs on TCP port 1935 by default; many corporate firewalls block it. RTMPS (TLS-wrapped on port 443) helps but isn\'t universally supported by streaming services. Streamers in restrictive networks often have to manually configure RTMPT (tunneled over HTTP), which adds latency and isn\'t supported everywhere.\n\nAll three share a deeper failure mode: **codec churn**. The container formats (TS, fMP4) are stable, but codecs (H.264 โ†’ H.265 โ†’ AV1 โ†’ VVC) keep evolving. Each generation cuts bandwidth ~30%, which is huge at YouTube\'s scale. But device support lags by years โ€” H.265 still isn\'t supported in Chrome on Android, AV1 hardware decode is still spotty, VVC isn\'t deployed yet. Streamers must transcode to multiple codecs and serve the right one to each device.` + text: `[[hls|HLS]] and [[dash|DASH]]'s failure mode is **latency**. Standard HLS/DASH live streaming has 15โ€“30 seconds of end-to-end delay โ€” segments must be encoded, written, fetched, buffered before playback. For VOD and most casual live streaming, this is fine. For interactive use cases (live auctions, sports betting, sports broadcasts where social media spoils the result), it's a dealbreaker. LL-HLS and CMAF-LL cut this to 2โ€“4 seconds, but require CDN support, careful tuning, and HTTP/2 chunked transfer encoding. Many CDNs handle low-latency poorly.\n\n[[rtmp|RTMP]]'s failure mode is **firewall traversal**. RTMP runs on TCP port 1935 by default; many corporate firewalls block it. RTMPS (TLS-wrapped on port 443) helps but isn't universally supported by streaming services. Streamers in restrictive networks often have to manually configure RTMPT (tunneled over HTTP), which adds latency and isn't supported everywhere.\n\nAll three share a deeper failure mode: **codec churn**. The container formats (TS, fMP4) are stable, but codecs (H.264 โ†’ H.265 โ†’ AV1 โ†’ VVC) keep evolving. Each generation cuts bandwidth ~30%, which is huge at YouTube's scale. But device support lags by years โ€” H.265 still isn't supported in Chrome on Android, AV1 hardware decode is still spotty, VVC isn't deployed yet. Streamers must transcode to multiple codecs and serve the right one to each device.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Media over QUIC (MoQ)** โ€” IETF working group developing the post-HLS/DASH future. Direct streaming over QUIC streams instead of segment files. Sub-second latency potential, but the segment-based + CDN-cacheable model is hard to beat economically.\n- **WHIP / WHEP for WebRTC ingest** โ€” WebRTC HTTP Ingestion Protocol (WHIP, RFC 9725) and Egress Protocol (WHEP) are the WebRTC-based path to replace RTMP ingest. Twitch, OBS, YouTube all have partial support.\n- **AV1 rollout** โ€” YouTube and Netflix are pushing AV1 hard. ~30% bandwidth savings vs H.264 at equivalent quality. Hardware decode support is catching up (Apple A17, Snapdragon 8 Gen 3, Intel Arc).\n- **Low-latency CMAF and LL-HLS** are converging in practice โ€” Apple\'s LL-HLS uses CMAF segments, the format wars are over.\n- **Live commerce and live auctions** are the new "must be <2 seconds" use cases driving low-latency investment. WebRTC is winning the under-1-second tier; LL-HLS/CMAF-LL the 2โ€“4 second tier; standard HLS/DASH the 15โ€“30 second tier (which is fine for most actual viewing).\n- **The boring truth**: 95% of streaming in 2025 is still standard HLS or DASH segments served from a CDN. The architectural breakthroughs (RTMP, segment-based adaptive, CMAF) are mostly already in production. The frontier is the long tail โ€” latency, codec efficiency, ingest modernization.` + text: `Active work in 2025:\n\n- **Media over QUIC (MoQ)** โ€” IETF working group developing the post-HLS/DASH future. Direct streaming over QUIC streams instead of segment files. Sub-second latency potential, but the segment-based + CDN-cacheable model is hard to beat economically.\n- **WHIP / WHEP for WebRTC ingest** โ€” WebRTC HTTP Ingestion Protocol (WHIP, RFC 9725) and Egress Protocol (WHEP) are the WebRTC-based path to replace RTMP ingest. Twitch, OBS, YouTube all have partial support.\n- **AV1 rollout** โ€” YouTube and Netflix are pushing AV1 hard. ~30% bandwidth savings vs H.264 at equivalent quality. Hardware decode support is catching up (Apple A17, Snapdragon 8 Gen 3, Intel Arc).\n- **Low-latency CMAF and LL-HLS** are converging in practice โ€” Apple's LL-HLS uses CMAF segments, the format wars are over.\n- **Live commerce and live auctions** are the new "must be <2 seconds" use cases driving low-latency investment. WebRTC is winning the under-1-second tier; LL-HLS/CMAF-LL the 2โ€“4 second tier; standard HLS/DASH the 15โ€“30 second tier (which is fine for most actual viewing).\n- **The boring truth**: 95% of streaming in 2025 is still standard HLS or DASH segments served from a CDN. The architectural breakthroughs (RTMP, segment-based adaptive, CMAF) are mostly already in production. The frontier is the long tail โ€” latency, codec efficiency, ingest modernization.` } ] }; diff --git a/src/lib/data/subcategory-stories/wlan-wan.ts b/src/lib/data/subcategory-stories/wlan-wan.ts index eff8ed4..03765e1 100644 --- a/src/lib/data/subcategory-stories/wlan-wan.ts +++ b/src/lib/data/subcategory-stories/wlan-wan.ts @@ -8,7 +8,7 @@ export const wlanWanStory: SubcategoryStory = { { type: 'narrative', title: 'Two Approaches, Two Spectrum Models', - text: `Most wireless networking on the planet runs on one of two technology families. Both push bits through the air. They differ on almost everything else.\n\n**[[wifi|Wi-Fi]]** (the IEEE 802.11 family, 1997โ€“) runs in **unlicensed spectrum** โ€” frequency bands (2.4 GHz, 5 GHz, 6 GHz) that anyone can use without buying the rights. The deal: keep your power below a regulated limit, share the medium with your neighbors, accept interference. Hundreds of meters of range, gigabits per second on the latest standards, no per-device cost, no carrier in the loop. Wi-Fi is *your network*.\n\n**[[cellular|Cellular]]** (GSM through 5G NR) runs in **licensed spectrum** โ€” bands that carriers paid governments billions for at auction. The carrier controls the spectrum, the towers, the subscriber identity (SIM), and the billing. Kilometers of range, gigabits per second on the latest standards, expensive per-device, carrier in the loop. Cellular is *the carrier\'s network*.\n\nThe two have converged technically. Both use OFDM(A) modulation. Both have MIMO. Both have started using millimeter-wave spectrum for short-range high-bandwidth. Wi-Fi 6E and 5G NR have similar peak speeds. They\'ve diverged operationally. Wi-Fi is essentially free and best-effort; cellular is paid and policy-managed. Your phone uses both, switching seamlessly via {{ttls|EAP-TTLS}} / Passpoint or simple SSID joins; the only thing that differs is who you owe money to.\n\nThis is the broadcast-range family โ€” protocols that move bits *as the primary radio link*, as opposed to short-range PAN protocols (Bluetooth, NFC, Zigbee) that exist for specific device-to-device interaction. WLAN and WAN, side by side, are how almost every Internet-connected device gets its bits today.` + text: `Most wireless networking on the planet runs on one of two technology families. Both push bits through the air. They differ on almost everything else.\n\n**[[wifi|Wi-Fi]]** (the IEEE 802.11 family, 1997โ€“) runs in **unlicensed spectrum** โ€” frequency bands (2.4 GHz, 5 GHz, 6 GHz) that anyone can use without buying the rights. The deal: keep your power below a regulated limit, share the medium with your neighbors, accept interference. Hundreds of meters of range, gigabits per second on the latest standards, no per-device cost, no carrier in the loop. Wi-Fi is *your network*.\n\n**[[cellular|Cellular]]** (GSM through 5G NR) runs in **licensed spectrum** โ€” bands that carriers paid governments billions for at auction. The carrier controls the spectrum, the towers, the subscriber identity (SIM), and the billing. Kilometers of range, gigabits per second on the latest standards, expensive per-device, carrier in the loop. Cellular is *the carrier's network*.\n\nThe two have converged technically. Both use OFDM(A) modulation. Both have MIMO. Both have started using millimeter-wave spectrum for short-range high-bandwidth. Wi-Fi 6E and 5G NR have similar peak speeds. They've diverged operationally. Wi-Fi is essentially free and best-effort; cellular is paid and policy-managed. Your phone uses both, switching seamlessly via {{ttls|EAP-TTLS}} / Passpoint or simple SSID joins; the only thing that differs is who you owe money to.\n\nThis is the broadcast-range family โ€” protocols that move bits *as the primary radio link*, as opposed to short-range PAN protocols (Bluetooth, NFC, Zigbee) that exist for specific device-to-device interaction. WLAN and WAN, side by side, are how almost every Internet-connected device gets its bits today.` }, { type: 'pioneers', @@ -18,7 +18,7 @@ export const wlanWanStory: SubcategoryStory = { id: 'marty-cooper', name: 'Marty Cooper', years: '1928โ€“', - title: '\"Father of the Cell Phone\"', + title: '"Father of the Cell Phone"', org: 'Motorola', contribution: "Led the team at Motorola that built the first handheld cellular phone in 1973 โ€” the DynaTAC prototype, the 2.5-pound brick Cooper used to make the first cellular phone call in April 1973. The call was to Cooper\\'s rival Joel Engel at Bell Labs, just to say \"I\\'m calling you from a real handheld cellular phone.\" It would be ten more years before commercial cellular service launched (1G AMPS in Chicago, 1983), but the architecture โ€” cells, frequency reuse, handover โ€” was Cooper\\'s vision." @@ -35,7 +35,7 @@ export const wlanWanStory: SubcategoryStory = { { name: 'Vic Hayes', years: 'โ€“', - title: '\"Father of Wi-Fi\"', + title: '"Father of Wi-Fi"', org: 'NCR / Lucent / IEEE 802.11', contribution: 'Chaired the IEEE 802.11 working group from its founding in 1990 through 2000 โ€” the decade when Wi-Fi went from a proposal to a global standard. Hayes\' particular contribution was shepherding the consensus between vendors with incompatible early designs (NCR\'s WaveLAN, others\') into a single standard that everyone could implement. Without that coordination, Wi-Fi would have fragmented like the early cellular world did.' @@ -58,7 +58,7 @@ export const wlanWanStory: SubcategoryStory = { year: 1973, title: 'First Cellular Phone Call', description: - "[[pioneer:marty-cooper|Cooper]] at Motorola makes the first handheld cellular phone call from a Manhattan street to Bell Labs\' Joel Engel." + "[[pioneer:marty-cooper|Cooper]] at Motorola makes the first handheld cellular phone call from a Manhattan street to Bell Labs' Joel Engel." }, { year: 1983, @@ -88,7 +88,7 @@ export const wlanWanStory: SubcategoryStory = { year: 2001, title: '3G Launches in Japan (NTT DoCoMo)', description: - "DoCoMo\'s FOMA network launches the first commercial 3G. Data rates of hundreds of Kbps make mobile internet plausible for the first time." + "DoCoMo's FOMA network launches the first commercial 3G. Data rates of hundreds of Kbps make mobile internet plausible for the first time." }, { year: 2003, @@ -100,7 +100,7 @@ export const wlanWanStory: SubcategoryStory = { year: 2009, title: '802.11n / Wi-Fi 4 โ€” MIMO', description: - "Multiple antennas; up to 600 Mbps theoretical. The first Wi-Fi version that\'s plausibly competitive with wired Ethernet." + "Multiple antennas; up to 600 Mbps theoretical. The first Wi-Fi version that's plausibly competitive with wired Ethernet." }, { year: 2009, @@ -166,7 +166,7 @@ export const wlanWanStory: SubcategoryStory = { ] } ], - note: "These aren\'t competitors so much as complements. A modern smartphone uses both โ€” Wi-Fi at home (cheaper, faster indoor), cellular outside (covers everywhere). Most phone OSes (iOS, Android) hand off transparently between them via Apple\'s Wi-Fi Calling and similar." + note: "These aren't competitors so much as complements. A modern smartphone uses both โ€” Wi-Fi at home (cheaper, faster indoor), cellular outside (covers everywhere). Most phone OSes (iOS, Android) hand off transparently between them via Apple's Wi-Fi Calling and similar." }, { type: 'animated-sequence', @@ -220,17 +220,17 @@ export const wlanWanStory: SubcategoryStory = { { type: 'callout', title: 'Why Cellular and Wi-Fi Don\'t Merge', - text: `For thirty years, people have predicted that Wi-Fi and cellular would converge into a single wireless standard. They haven\'t. The reasons are economic, not technical.\n\n**Spectrum economics are completely different.** Carriers spent ~\$700 billion globally on spectrum licenses over 20 years. They built tower networks on top of that investment. They have to charge for access to recoup it. Wi-Fi spectrum is free. The two pricing models are incompatible: there is no good way to monetize spectrum that is *also* free for anyone to use.\n\n**Coverage area economics differ.** Wi-Fi makes sense indoors (where signals don\'t travel far and adding APs is cheap). Cellular makes sense outdoors and at vehicle speeds (where tower-scale infrastructure is the only way). Trying to use Wi-Fi outdoors hits propagation limits; trying to use cellular indoors hits coverage gaps and signal absorption.\n\n**Regulatory frameworks differ.** Cellular spectrum is per-operator; Wi-Fi spectrum is shared. The "carrier" model assumes a single accountable operator per spectrum band; the "unlicensed" model assumes everyone competes politely. Bringing them together would either monopolize the unlicensed spectrum or fragment the licensed.\n\n**Practical convergence happens at the application layer.** Your iPhone seamlessly switches between Wi-Fi and 5G based on signal quality; Wi-Fi Calling uses Wi-Fi for cellular calls; Passpoint lets your SIM identity authenticate you to Wi-Fi networks. The user experience is unified; the underlying spectrum and economics are not.\n\nThe most interesting recent convergence is **private 5G** โ€” companies (factories, ports, stadiums) buy small slices of cellular-style spectrum (CBRS in the US) and run their own 5G networks. Same air interface as commercial cellular; same convenience as Wi-Fi; sits in between. It\'s growing fast but is still a small fraction of either market.` + text: `For thirty years, people have predicted that Wi-Fi and cellular would converge into a single wireless standard. They haven't. The reasons are economic, not technical.\n\n**Spectrum economics are completely different.** Carriers spent ~$700 billion globally on spectrum licenses over 20 years. They built tower networks on top of that investment. They have to charge for access to recoup it. Wi-Fi spectrum is free. The two pricing models are incompatible: there is no good way to monetize spectrum that is *also* free for anyone to use.\n\n**Coverage area economics differ.** Wi-Fi makes sense indoors (where signals don't travel far and adding APs is cheap). Cellular makes sense outdoors and at vehicle speeds (where tower-scale infrastructure is the only way). Trying to use Wi-Fi outdoors hits propagation limits; trying to use cellular indoors hits coverage gaps and signal absorption.\n\n**Regulatory frameworks differ.** Cellular spectrum is per-operator; Wi-Fi spectrum is shared. The "carrier" model assumes a single accountable operator per spectrum band; the "unlicensed" model assumes everyone competes politely. Bringing them together would either monopolize the unlicensed spectrum or fragment the licensed.\n\n**Practical convergence happens at the application layer.** Your iPhone seamlessly switches between Wi-Fi and 5G based on signal quality; Wi-Fi Calling uses Wi-Fi for cellular calls; Passpoint lets your SIM identity authenticate you to Wi-Fi networks. The user experience is unified; the underlying spectrum and economics are not.\n\nThe most interesting recent convergence is **private 5G** โ€” companies (factories, ports, stadiums) buy small slices of cellular-style spectrum (CBRS in the US) and run their own 5G networks. Same air interface as commercial cellular; same convenience as Wi-Fi; sits in between. It's growing fast but is still a small fraction of either market.` }, { type: 'narrative', title: 'The Failure Modes', - text: `[[wifi|Wi-Fi]]\'s failure mode is **the crowded channel**. Wi-Fi spectrum is shared. A coffee shop with 50 users on Wi-Fi has 50 devices competing for the same radio channel; throughput per user collapses. Hardware mitigations (band steering, multi-AP roaming, OFDMA in Wi-Fi 6) help but don\'t eliminate the contention. The other failure mode is **deauth attacks** โ€” anyone can send a deauthentication frame to anyone on the network (the management frames were unencrypted in pre-802.11w spec) and force them off. WPA3 fixes this; deployment is uneven.\n\n[[cellular|Cellular]]\'s failure mode is **the dead zone**. Coverage isn\'t universal; mmWave 5G works for a few hundred meters before falling back to sub-6 GHz. Indoor cellular is often poor โ€” building materials block the signal. The carrier-side fix (femtocells, micro/pico cells, distributed antenna systems) requires significant infrastructure investment. The user-side fix (Wi-Fi calling) hands the problem back to Wi-Fi.\n\nBoth share a third failure mode: **the upgrade cycle**. Wi-Fi has had ~7 major standards in 25 years (b/g/n/ac/ax/6E/be). Cellular has had 5 generations (1Gโ€“5G). Each generation requires new hardware on both ends โ€” new APs *and* new client cards. The "router lifespan" in 2025 is effectively the Wi-Fi standard lifespan, ~5โ€“8 years. Cellular operators amortize this over their tower infrastructure; consumers feel it every time they buy a new phone or router.` + text: `[[wifi|Wi-Fi]]'s failure mode is **the crowded channel**. Wi-Fi spectrum is shared. A coffee shop with 50 users on Wi-Fi has 50 devices competing for the same radio channel; throughput per user collapses. Hardware mitigations (band steering, multi-AP roaming, OFDMA in Wi-Fi 6) help but don't eliminate the contention. The other failure mode is **deauth attacks** โ€” anyone can send a deauthentication frame to anyone on the network (the management frames were unencrypted in pre-802.11w spec) and force them off. WPA3 fixes this; deployment is uneven.\n\n[[cellular|Cellular]]'s failure mode is **the dead zone**. Coverage isn't universal; mmWave 5G works for a few hundred meters before falling back to sub-6 GHz. Indoor cellular is often poor โ€” building materials block the signal. The carrier-side fix (femtocells, micro/pico cells, distributed antenna systems) requires significant infrastructure investment. The user-side fix (Wi-Fi calling) hands the problem back to Wi-Fi.\n\nBoth share a third failure mode: **the upgrade cycle**. Wi-Fi has had ~7 major standards in 25 years (b/g/n/ac/ax/6E/be). Cellular has had 5 generations (1Gโ€“5G). Each generation requires new hardware on both ends โ€” new APs *and* new client cards. The "router lifespan" in 2025 is effectively the Wi-Fi standard lifespan, ~5โ€“8 years. Cellular operators amortize this over their tower infrastructure; consumers feel it every time they buy a new phone or router.` }, { type: 'narrative', title: 'What\'s Next', - text: `Active work in 2025:\n\n- **Wi-Fi 7** (802.11be) is shipping in flagship devices. Multi-Link Operation lets a device use 2.4 + 5 + 6 GHz simultaneously, dramatically improving roaming and throughput. Reality lags the spec; few APs and clients support all features yet.\n- **6G research** has begun. ITU-R is targeting 2030 for commercial launch. Frequencies will include sub-terahertz; expect 100+ Gbps peak speeds but very short range.\n- **CBRS / private 5G** continues growing for industrial use cases. Factories, ports, mines, stadiums deploying their own 5G is now mainstream rather than experimental.\n- **OpenRAN** โ€” disaggregating cellular base-station hardware from software โ€” slowly moving from political will to commercial deployment. Dish Network in the US is the largest OpenRAN deployment; Rakuten in Japan was first.\n- **Satellite + cellular convergence** โ€” Apple\'s Emergency SOS, Starlink Direct-to-Cell, AST SpaceMobile all let standard cell phones talk to satellites for SMS and (soon) data in areas with no tower coverage. The boundary between WAN cellular and LEO satellite is dissolving.\n- **Spectrum management automation** โ€” Wi-Fi 6E and 7 in 6 GHz require AFC (Automated Frequency Coordination) to avoid interfering with existing fixed-service users. AFC databases shipped in 2024; standard-power 6 GHz Wi-Fi is finally deployable.\n- **The boring truth**: Wi-Fi and cellular will keep getting faster, eat each other\'s lunch at the edges, and never merge into one technology. The dual-stack will persist.` + text: `Active work in 2025:\n\n- **Wi-Fi 7** (802.11be) is shipping in flagship devices. Multi-Link Operation lets a device use 2.4 + 5 + 6 GHz simultaneously, dramatically improving roaming and throughput. Reality lags the spec; few APs and clients support all features yet.\n- **6G research** has begun. ITU-R is targeting 2030 for commercial launch. Frequencies will include sub-terahertz; expect 100+ Gbps peak speeds but very short range.\n- **CBRS / private 5G** continues growing for industrial use cases. Factories, ports, mines, stadiums deploying their own 5G is now mainstream rather than experimental.\n- **OpenRAN** โ€” disaggregating cellular base-station hardware from software โ€” slowly moving from political will to commercial deployment. Dish Network in the US is the largest OpenRAN deployment; Rakuten in Japan was first.\n- **Satellite + cellular convergence** โ€” Apple's Emergency SOS, Starlink Direct-to-Cell, AST SpaceMobile all let standard cell phones talk to satellites for SMS and (soon) data in areas with no tower coverage. The boundary between WAN cellular and LEO satellite is dissolving.\n- **Spectrum management automation** โ€” Wi-Fi 6E and 7 in 6 GHz require AFC (Automated Frequency Coordination) to avoid interfering with existing fixed-service users. AFC databases shipped in 2024; standard-power 6 GHz Wi-Fi is finally deployable.\n- **The boring truth**: Wi-Fi and cellular will keep getting faster, eat each other's lunch at the edges, and never merge into one technology. The dual-stack will persist.` } ] }; diff --git a/src/lib/simulator/simulations/cellular-registration.ts b/src/lib/simulator/simulations/cellular-registration.ts index 844a856..04e91f2 100644 --- a/src/lib/simulator/simulations/cellular-registration.ts +++ b/src/lib/simulator/simulations/cellular-registration.ts @@ -208,7 +208,7 @@ export const cellularRegistration: SimulationConfig = { id: 'pdu-session-accept', label: 'PDU Session Establishment Accept', description: - "SMF allocated the UE\'s [[ipv6|IPv6]] prefix from the pool, programmed PDR/FAR/QER/URR on the UPF, set up the N3 GTP-U tunnel TEID, and returned the allocated address + DNS servers back to the UE through the AMF. The gNB issues an RRCReconfiguration to map the QoS flow โ†’ DRB. The DRB is now up.", + "SMF allocated the UE's [[ipv6|IPv6]] prefix from the pool, programmed PDR/FAR/QER/URR on the UPF, set up the N3 GTP-U tunnel TEID, and returned the allocated address + DNS servers back to the UE through the AMF. The gNB issues an RRCReconfiguration to map the QoS flow โ†’ DRB. The DRB is now up.", fromActor: 'core', toActor: 'ue', duration: 1300, diff --git a/src/lib/utils/text-parser.ts b/src/lib/utils/text-parser.ts index 3ed025a..20ff0a0 100644 --- a/src/lib/utils/text-parser.ts +++ b/src/lib/utils/text-parser.ts @@ -182,7 +182,7 @@ export function parseRichText(raw: string): TextSegment[] { // recursively parse it and emit a bold-group; otherwise // keep the cheap `bold` segment so simple cases stay flat. const inner = match[9]; - if (/[\[{`*]/.test(inner)) { + if (/[[{`*]/.test(inner)) { segments.push({ type: 'bold-group', segments: parseRichText(inner) }); } else { segments.push({ type: 'bold', value: inner }); @@ -228,7 +228,7 @@ export function stripRichTextMarkup(raw: string): string { // construct โ€” e.g. Mermaid's `NODE[[[id|Label]]]`. A legitimate id is // always a slug, so disallowing `[`/`{` inside it is strictly correct. return raw - .replace(/\[\[[^\]\[|]+(?:\|([^\]]+))?\]\]/g, (_m, label) => label ?? '') + .replace(/\[\[[^\][|]+(?:\|([^\]]+))?\]\]/g, (_m, label) => label ?? '') .replace(/\{\{[^}{|]+(?:\|([^}]+))?\}\}/g, (_m, label) => label ?? '') .replace(/\*\*([^*]+)\*\*/g, '$1'); } From e3527eff3d59b4cd7bbff6d2605b91b26f445aff Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:18:08 -0500 Subject: [PATCH 05/16] style: apply prettier across source + scope prettier to code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repo-wide `prettier --write` over source (Svelte/TS/JS/CSS/JSON). Pure formatting โ€” no code changed; check/lint/build all green afterward. Also extends .prettierignore to exclude long-form prose working docs (research/, podcast-blueprints/, *.md notes) where prettier's markdown reformatting is non-idempotent and adds no value; those files are left exactly as authored so the CI `prettier --check` gate stays meaningful for code. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .claude/launch.json | 30 +- .prettierignore | 10 + CLAUDE.md | 34 +- IMPROVEMENT_PLAN.md | 36 +- docs/baselines/bundle-baseline.md | 14 +- scripts/audit-acronyms.ts | 24 +- scripts/audit-terms.ts | 25 +- scripts/densify-concepts.ts | 21 +- scripts/densify-protocols.ts | 38 +- scripts/densify-references.ts | 18 +- scripts/fix-useless-escapes.ts | 4 +- scripts/output/acronym-audit.json | 8241 +++++++---------- scripts/output/acronym-audit.md | 749 +- scripts/output/term-audit.md | 1529 +-- scripts/wrap-bare-concepts.ts | 18 +- scripts/wrap-bare-protocols.ts | 12 +- scripts/wrap-bare-rfcs.ts | 7 +- .../comparison/ComparisonCard.svelte | 56 +- .../comparison/ComparisonPicker.svelte | 38 +- .../comparison/RelationshipCard.svelte | 45 +- src/lib/components/desktop/AppHeader.svelte | 38 +- src/lib/components/desktop/GraphCanvas.svelte | 86 +- src/lib/components/desktop/HelpModal.svelte | 35 +- .../components/desktop/LayoutPicker.svelte | 111 +- src/lib/components/desktop/NodeTooltip.svelte | 5 +- src/lib/components/detail/BookPartView.svelte | 14 +- .../detail/CategoryAdvancedView.svelte | 6 +- .../detail/CategoryReferences.svelte | 5 +- src/lib/components/detail/ChapterView.svelte | 67 +- src/lib/components/detail/CodeExample.svelte | 24 +- .../components/detail/ConceptTrigger.svelte | 24 +- src/lib/components/detail/DetailPanel.svelte | 34 +- src/lib/components/detail/DiagramModal.svelte | 17 +- src/lib/components/detail/FrontierView.svelte | 5 +- src/lib/components/detail/GlossaryView.svelte | 6 +- .../components/detail/MermaidDiagram.svelte | 5 +- src/lib/components/detail/OutageView.svelte | 14 +- src/lib/components/detail/PioneerView.svelte | 17 +- .../components/detail/ProtocolDiagram.svelte | 14 +- .../components/detail/ProtocolHeader.svelte | 13 +- .../detail/ProtocolReferences.svelte | 20 +- src/lib/components/detail/RfcView.svelte | 4 +- .../components/detail/SequencePlayer.svelte | 85 +- .../detail/StoryDiagramModal.svelte | 8 +- .../components/detail/StoryImageModal.svelte | 4 +- .../category-story/CategoryStoryView.svelte | 22 +- .../detail/category-story/PioneerCard.svelte | 4 +- .../detail/category-story/PioneerGrid.svelte | 6 +- .../detail/category-story/StoryCallout.svelte | 6 +- .../category-story/StoryComparison.svelte | 5 +- .../category-story/StoryNarrative.svelte | 20 +- .../detail/inline/ChapterLink.svelte | 4 +- .../detail/inline/FrontierLink.svelte | 4 +- .../detail/inline/OutageLink.svelte | 4 +- .../detail/inline/ProtocolLink.svelte | 9 +- .../components/detail/inline/RichText.svelte | 5 +- .../registry-index/FrontierIndex.svelte | 6 +- .../detail/registry-index/OutagesIndex.svelte | 9 +- .../registry-index/PioneersIndex.svelte | 9 +- .../detail/registry-index/RfcsIndex.svelte | 4 +- src/lib/components/icons/CategoryIcon.svelte | 22 +- .../mobile/CategoryAccordion.svelte | 2 +- .../mobile/MobileDetailSheet.svelte | 25 +- src/lib/components/mobile/MobileView.svelte | 20 +- src/lib/data/book/chapters.ts | 4 +- src/lib/data/book/parts/async-iot.ts | 16 +- src/lib/data/book/parts/famous-outages.ts | 23 +- src/lib/data/book/parts/frontier.ts | 26 +- src/lib/data/book/parts/how-to-learn-more.ts | 9 +- src/lib/data/book/parts/layer-2-3.ts | 26 +- src/lib/data/book/parts/patterns-failures.ts | 4 +- src/lib/data/book/parts/realtime-av.ts | 26 +- .../data/book/parts/story-of-the-internet.ts | 27 +- src/lib/data/book/parts/transport.ts | 14 +- src/lib/data/book/parts/utilities-security.ts | 26 +- src/lib/data/book/parts/web-api.ts | 25 +- src/lib/data/book/parts/wireless.ts | 38 +- src/lib/data/category-deep-dives.ts | 7 +- src/lib/data/category-stories/async-iot.ts | 2 +- .../category-stories/network-foundations.ts | 5 +- src/lib/data/category-stories/realtime-av.ts | 3 +- src/lib/data/category-stories/utilities.ts | 4 +- src/lib/data/category-stories/web-api.ts | 4 +- src/lib/data/category-stories/wireless.ts | 14 +- src/lib/data/comparison/pairs.ts | 1764 +++- src/lib/data/concept-foundations.ts | 40 +- src/lib/data/concepts.ts | 4013 ++++---- src/lib/data/diagram-definitions.ts | 228 +- src/lib/data/frontier.ts | 74 +- src/lib/data/journeys.ts | 267 +- src/lib/data/outages.ts | 74 +- src/lib/data/protocols/amqp.ts | 3 +- src/lib/data/protocols/arp.ts | 3 +- src/lib/data/protocols/bgp.ts | 2 +- src/lib/data/protocols/bluetooth.ts | 6 +- src/lib/data/protocols/cellular.ts | 50 +- src/lib/data/protocols/coap.ts | 3 +- src/lib/data/protocols/dash.ts | 3 +- src/lib/data/protocols/dhcp.ts | 3 +- src/lib/data/protocols/dns.ts | 4 +- src/lib/data/protocols/graphql.ts | 3 +- src/lib/data/protocols/grpc.ts | 3 +- src/lib/data/protocols/hls.ts | 6 +- src/lib/data/protocols/http2.ts | 6 +- src/lib/data/protocols/http3.ts | 10 +- src/lib/data/protocols/icmp.ts | 6 +- src/lib/data/protocols/imap.ts | 3 +- src/lib/data/protocols/ip.ts | 13 +- src/lib/data/protocols/ipsec.ts | 15 +- src/lib/data/protocols/ipv6.ts | 3 +- src/lib/data/protocols/kerberos.ts | 41 +- src/lib/data/protocols/mdns-dns-sd.ts | 17 +- src/lib/data/protocols/mptcp.ts | 3 +- src/lib/data/protocols/mqtt.ts | 3 +- src/lib/data/protocols/nat-traversal.ts | 14 +- src/lib/data/protocols/nfc.ts | 39 +- src/lib/data/protocols/ospf.ts | 16 +- src/lib/data/protocols/quic.ts | 11 +- src/lib/data/protocols/sctp.ts | 3 +- src/lib/data/protocols/sdp.ts | 3 +- src/lib/data/protocols/sip.ts | 6 +- src/lib/data/protocols/smtp.ts | 3 +- src/lib/data/protocols/ssh.ts | 3 +- src/lib/data/protocols/stomp.ts | 3 +- src/lib/data/protocols/tcp.ts | 20 +- src/lib/data/protocols/tls.ts | 11 +- src/lib/data/protocols/udp.ts | 25 +- src/lib/data/protocols/uwb.ts | 47 +- src/lib/data/protocols/webrtc.ts | 3 +- src/lib/data/protocols/websockets.ts | 6 +- src/lib/data/protocols/wireguard.ts | 11 +- src/lib/data/protocols/xmpp.ts | 3 +- src/lib/data/protocols/zigbee.ts | 38 +- src/lib/data/rfcs.ts | 33 +- src/lib/data/subcategories.ts | 12 +- .../subcategory-stories/agent-protocols.ts | 22 +- .../subcategory-stories/authentication.ts | 47 +- .../subcategory-stories/conferencing-calls.ts | 40 +- .../subcategory-stories/datagram-transport.ts | 18 +- .../subcategory-stories/enterprise-brokers.ts | 32 +- .../federated-messaging.ts | 39 +- .../data/subcategory-stories/http-versions.ts | 10 +- src/lib/data/subcategory-stories/index.ts | 4 +- .../subcategory-stories/internet-layer.ts | 44 +- .../data/subcategory-stories/iot-messaging.ts | 20 +- .../data/subcategory-stories/link-layer.ts | 46 +- .../subcategory-stories/mail-file-transfer.ts | 47 +- src/lib/data/subcategory-stories/naming.ts | 41 +- .../subcategory-stories/network-services.ts | 46 +- .../data/subcategory-stories/pan-proximity.ts | 57 +- .../data/subcategory-stories/realtime-web.ts | 34 +- .../subcategory-stories/reliable-streams.ts | 12 +- .../resource-query-apis.ts | 36 +- src/lib/data/subcategory-stories/routing.ts | 24 +- .../data/subcategory-stories/rpc-styles.ts | 18 +- .../secure-channels-vpn.ts | 40 +- .../subcategory-stories/streaming-delivery.ts | 46 +- src/lib/data/subcategory-stories/types.ts | 6 +- src/lib/data/subcategory-stories/wlan-wan.ts | 44 +- src/lib/engine/canvas-renderer.ts | 112 +- src/lib/engine/layouts.ts | 12 +- src/lib/search/search-index.ts | 9 +- .../simulator/components/ActorStage.svelte | 14 +- .../components/PacketInspector.svelte | 232 +- .../components/PlaybackControls.svelte | 2 +- .../components/SimulationInputs.svelte | 8 +- .../simulator/components/SimulatorView.svelte | 19 +- .../simulator/components/StepTimeline.svelte | 19 +- .../components/actors/ActorIcon.svelte | 11 +- .../components/actors/MessageArrow.svelte | 3 +- src/lib/simulator/layers/amqp.ts | 15 +- src/lib/simulator/layers/arp.ts | 3 +- src/lib/simulator/layers/bgp.ts | 15 +- src/lib/simulator/layers/ble.ts | 6 +- src/lib/simulator/layers/cellular.ts | 15 +- src/lib/simulator/layers/coap.ts | 15 +- src/lib/simulator/layers/dhcp.ts | 9 +- src/lib/simulator/layers/ethernet.ts | 4 +- src/lib/simulator/layers/ftp.ts | 3 +- src/lib/simulator/layers/grpc.ts | 4 +- src/lib/simulator/layers/http2.ts | 7 +- src/lib/simulator/layers/icmp.ts | 12 +- src/lib/simulator/layers/imap.ts | 12 +- src/lib/simulator/layers/ipsec.ts | 18 +- src/lib/simulator/layers/ipv4.ts | 8 +- src/lib/simulator/layers/ipv6.ts | 7 +- src/lib/simulator/layers/kafka.ts | 18 +- src/lib/simulator/layers/kerberos.ts | 6 +- src/lib/simulator/layers/mdns.ts | 3 +- src/lib/simulator/layers/mptcp.ts | 12 +- src/lib/simulator/layers/mqtt.ts | 15 +- src/lib/simulator/layers/nfc.ts | 21 +- src/lib/simulator/layers/ntp.ts | 12 +- src/lib/simulator/layers/oauth2.ts | 18 +- src/lib/simulator/layers/ospf.ts | 4 +- src/lib/simulator/layers/quic.ts | 4 +- src/lib/simulator/layers/rtmp.ts | 12 +- src/lib/simulator/layers/rtp.ts | 9 +- src/lib/simulator/layers/sctp.ts | 9 +- src/lib/simulator/layers/sip.ts | 15 +- src/lib/simulator/layers/smtp.ts | 3 +- src/lib/simulator/layers/soap.ts | 15 +- src/lib/simulator/layers/ssh.ts | 10 +- src/lib/simulator/layers/stomp.ts | 12 +- src/lib/simulator/layers/stun.ts | 7 +- src/lib/simulator/layers/tcp.ts | 7 +- src/lib/simulator/layers/tls.ts | 10 +- src/lib/simulator/layers/udp.ts | 6 +- src/lib/simulator/layers/uwb.ts | 18 +- src/lib/simulator/layers/websocket.ts | 4 +- src/lib/simulator/layers/wifi.ts | 15 +- src/lib/simulator/layers/wireguard.ts | 6 +- src/lib/simulator/layers/xmpp.ts | 6 +- src/lib/simulator/layers/zigbee.ts | 15 +- src/lib/simulator/simulations/a2a-task.ts | 217 +- .../simulator/simulations/amqp-messaging.ts | 3 +- .../simulator/simulations/arp-resolution.ts | 4 +- src/lib/simulator/simulations/bgp-peering.ts | 6 +- .../simulator/simulations/bluetooth-ble.ts | 2 +- .../simulations/cellular-registration.ts | 18 +- src/lib/simulator/simulations/coap-request.ts | 2 +- .../simulator/simulations/dash-streaming.ts | 59 +- src/lib/simulator/simulations/dhcp-dora.ts | 2 +- .../simulator/simulations/dns-resolution.ts | 99 +- .../simulator/simulations/ethernet-frame.ts | 10 +- src/lib/simulator/simulations/ftp-transfer.ts | 2 +- .../simulations/graphql-operation.ts | 156 +- .../simulator/simulations/hls-streaming.ts | 66 +- src/lib/simulator/simulations/http-request.ts | 99 +- src/lib/simulator/simulations/imap-session.ts | 4 +- src/lib/simulator/simulations/ip-routing.ts | 8 +- src/lib/simulator/simulations/ipsec-tunnel.ts | 6 +- src/lib/simulator/simulations/ipv6-ndp.ts | 10 +- .../simulator/simulations/json-rpc-call.ts | 203 +- src/lib/simulator/simulations/kafka-events.ts | 4 +- .../simulator/simulations/kerberos-auth.ts | 24 +- src/lib/simulator/simulations/mcp-session.ts | 131 +- .../simulator/simulations/mdns-discovery.ts | 4 +- .../simulator/simulations/mptcp-multipath.ts | 4 +- src/lib/simulator/simulations/mqtt-pubsub.ts | 2 +- .../simulator/simulations/nat-traversal.ts | 10 +- src/lib/simulator/simulations/nfc-tap.ts | 193 +- src/lib/simulator/simulations/oauth2-flow.ts | 17 +- .../simulator/simulations/ospf-adjacency.ts | 15 +- .../simulator/simulations/quic-connection.ts | 4 +- src/lib/simulator/simulations/rest-api.ts | 93 +- src/lib/simulator/simulations/rtp-media.ts | 44 +- .../simulator/simulations/sctp-association.ts | 4 +- .../simulator/simulations/sdp-negotiation.ts | 41 +- src/lib/simulator/simulations/sip-call.ts | 2 +- .../simulator/simulations/smtp-delivery.ts | 2 +- src/lib/simulator/simulations/soap-request.ts | 9 +- src/lib/simulator/simulations/sse-stream.ts | 135 +- .../simulations/stomp-subscription.ts | 2 +- .../simulator/simulations/tcp-handshake.ts | 4 +- .../simulator/simulations/tls-handshake.ts | 2 +- src/lib/simulator/simulations/udp-datagram.ts | 49 +- src/lib/simulator/simulations/uwb-ranging.ts | 9 +- src/lib/simulator/simulations/webrtc-peer.ts | 7 +- src/lib/simulator/simulations/websocket.ts | 105 +- .../simulator/simulations/wifi-association.ts | 6 +- .../simulations/wireguard-handshake.ts | 9 +- src/lib/simulator/simulations/zigbee-join.ts | 31 +- src/lib/tour/app-tour.ts | 3 +- src/routes/layout.css | 16 +- 265 files changed, 12227 insertions(+), 10467 deletions(-) diff --git a/.claude/launch.json b/.claude/launch.json index 0cc1c06..0f14c4b 100644 --- a/.claude/launch.json +++ b/.claude/launch.json @@ -1,17 +1,17 @@ { - "version": "0.0.1", - "configurations": [ - { - "name": "dev", - "runtimeExecutable": "npm", - "runtimeArgs": ["run", "dev", "--", "--port", "5181", "--strictPort"], - "port": 5181 - }, - { - "name": "preview", - "runtimeExecutable": "npm", - "runtimeArgs": ["run", "preview"], - "port": 4173 - } - ] + "version": "0.0.1", + "configurations": [ + { + "name": "dev", + "runtimeExecutable": "npm", + "runtimeArgs": ["run", "dev", "--", "--port", "5181", "--strictPort"], + "port": 5181 + }, + { + "name": "preview", + "runtimeExecutable": "npm", + "runtimeArgs": ["run", "preview"], + "port": 4173 + } + ] } diff --git a/.prettierignore b/.prettierignore index 7d74fe2..02abbad 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,3 +7,13 @@ bun.lockb # Miscellaneous /static/ + +# Prose / content working docs โ€” authored as freeform Markdown, not code. +# Prettier's markdown reformatting is non-idempotent on this long-form content +# and adds no value here, so keep them out of the format/check gate. +/research/ +/podcast-blueprints/ +/deep-research-prompts.txt +/outreach-emails.md +/build/ +/.svelte-kit/ diff --git a/CLAUDE.md b/CLAUDE.md index 124100b..d6799fe 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,36 +12,36 @@ In dev mode (`npm run dev`), a `window.__dev` object is exposed for agent and te **Available methods:** -| Method | Description | -|---|---| -| `__dev.go(id, view?)` | Navigate to a protocol/category by ID. `view` is `'learn'` (default) or `'simulate'`. | -| `__dev.step(n?)` | Click Step Forward `n` times (default 1). | -| `__dev.play()` | Click the Play button to start the simulation. | -| `__dev.scrollTo(text)` | Scroll to a heading containing `text` (e.g., `'Encapsulation'`). | -| `__dev.ls()` | List all node IDs and types. | -| `__dev.appState` | Direct access to the AppState instance (viewport, layoutMode, selectedNode, theme, etc.). | -| `__dev.nodes` | Static array of GraphNode objects (for ID/metadata lookup, not live positions). | -| `__dev.journey(id)` | Start a journey by ID. | -| `__dev.journeyNext()` | Advance to the next journey step. | -| `__dev.journeyPrev()` | Go back to the previous journey step. | -| `__dev.journeyExit()` | Exit the current journey. | +| Method | Description | +| ---------------------- | ----------------------------------------------------------------------------------------- | +| `__dev.go(id, view?)` | Navigate to a protocol/category by ID. `view` is `'learn'` (default) or `'simulate'`. | +| `__dev.step(n?)` | Click Step Forward `n` times (default 1). | +| `__dev.play()` | Click the Play button to start the simulation. | +| `__dev.scrollTo(text)` | Scroll to a heading containing `text` (e.g., `'Encapsulation'`). | +| `__dev.ls()` | List all node IDs and types. | +| `__dev.appState` | Direct access to the AppState instance (viewport, layoutMode, selectedNode, theme, etc.). | +| `__dev.nodes` | Static array of GraphNode objects (for ID/metadata lookup, not live positions). | +| `__dev.journey(id)` | Start a journey by ID. | +| `__dev.journeyNext()` | Advance to the next journey step. | +| `__dev.journeyPrev()` | Go back to the previous journey step. | +| `__dev.journeyExit()` | Exit the current journey. | **Changing layout mode:** ```js -window.__dev.appState.layoutMode = 'radial'; // 'force', 'radial', or 'timeline' +window.__dev.appState.layoutMode = 'radial'; // 'force', 'radial', or 'timeline' ``` **Typical agent workflow for verifying a simulation:** ```js // 1. Wait for page load, then navigate -new Promise(r => setTimeout(r, 2000)).then(() => { - window.__dev.go('tls', 'simulate'); // open TLS in simulate tab +new Promise((r) => setTimeout(r, 2000)).then(() => { + window.__dev.go('tls', 'simulate'); // open TLS in simulate tab }); // 2. Step through and inspect -window.__dev.step(3); // advance 3 steps +window.__dev.step(3); // advance 3 steps // 3. Scroll to see encapsulation cards window.__dev.scrollTo('Encapsulation'); diff --git a/IMPROVEMENT_PLAN.md b/IMPROVEMENT_PLAN.md index 9082e46..ab09e77 100644 --- a/IMPROVEMENT_PLAN.md +++ b/IMPROVEMENT_PLAN.md @@ -17,6 +17,7 @@ need (a) a green `check`/`lint`, (b) a test runner, and (c) recorded reference metrics. Phases 1โ€“2 deliver this. ### Reference metrics to capture first (no code change) + - **Bundle baseline:** record `du -sh build/_app/immutable` and the per-chunk sizes (`du -k build/_app/immutable/chunks/*.js | sort -rn | head`). Current: total ~4.2 MB, largest chunk `CGRapOf_.js` = **1.2 MB** (contains protocol @@ -31,10 +32,11 @@ metrics. Phases 1โ€“2 deliver this. ## Phase 1 โ€” Green the type/lint/format baseline ๐Ÿ”ด **Why first:** a 589-file prettier reformat creates an enormous diff. Doing it -*before* any logic change keeps real changes reviewable. Each step here is +_before_ any logic change keeps real changes reviewable. Each step here is mechanical and independently verifiable. ### 1a. Fix the 3 TypeScript errors (logic, not formatting) + - `SequencePlayer.svelte:149` โ€” `definition` possibly undefined โ†’ add a guard or non-null assertion after confirming the invariant. - `SequencePlayer.svelte:208` โ€” `getBBox` not on `SVGElement` โ†’ narrow to @@ -50,6 +52,7 @@ mechanical and independently verifiable. - **Commit:** `fix(types): resolve 3 svelte-check errors` ### 1b. Fix non-formatting ESLint errors (the ~67 that aren't escapes) + - `@typescript-eslint/no-unused-vars` (~28): remove dead vars/imports (`windowHeight`, `FOUNDATION_TEASERS`, `navigateToBookChapter`, `foundationSections`, `totalParts`, โ€ฆ). **Verify each is truly dead** โ€” grep @@ -68,9 +71,10 @@ mechanical and independently verifiable. - **Commit:** `fix(lint): clear unused-vars, navigation, and reactivity errors` ### 1c. The 537 `no-useless-escape` errors โ€” surgical, NOT regex + - โš ๏ธ **Do not** run a global `s/\\'/'/g`. The errors are a mix: `\'` inside template literals is unnecessary, but some flagged `` \` `` are inside - single/double-quoted strings while *other* backticks inside template literals + single/double-quoted strings while _other_ backticks inside template literals are genuinely required. A blind regex will corrupt template literals. - **Approach:** write a one-off codemod (`scripts/fix-useless-escapes.ts`) that consumes ESLint's JSON output (`eslint --format json`), which gives exact @@ -92,6 +96,7 @@ mechanical and independently verifiable. - **Commit:** `fix(content): remove unnecessary string escapes (codemod)` ### 1d. Prettier the repo + - `npm run format` (writes 589 files). - **How it's tested:** `npm run build` output bytes for JS chunks should be **byte-identical** to the pre-format build (formatting must not change emitted @@ -100,6 +105,7 @@ mechanical and independently verifiable. "formatting only") ### 1e. Wire the gates into CI + - Add to `.github/workflows/deploy.yml` (and ideally a separate `ci.yml` that runs on PRs): `npm run check`, `npm run lint`, `npm run test`. - Add a lightweight pre-commit guard (lint-staged + a `prepare` hook, or a simple @@ -117,6 +123,7 @@ No unit runner exists today and there is exactly one trivial e2e test. Every later phase depends on this. Build it before touching engine/data/components. ### 2a. Add Vitest for pure logic + - Install `vitest` + `@vitest/ui`; add `"test:unit": "vitest run"` and fold into `"test"`. Configure via `vite.config.ts` (SvelteKit + Vitest share it). - **Target the pure, high-value functions** (no DOM needed): @@ -136,6 +143,7 @@ later phase depends on this. Build it before touching engine/data/components. - **Commit:** `test: add vitest + unit tests for engine/util/parser logic` ### 2b. Expand Playwright e2e for critical user paths + - Use the `window.__dev` helper (documented in CLAUDE.md) to drive deterministic navigation. Add specs: 1. **Graph loads** โ†’ canvas present, node count matches data, no console errors. @@ -157,6 +165,7 @@ later phase depends on this. Build it before touching engine/data/components. - **Commit:** `test: e2e coverage for graph, detail, sim, search, journey, mobile` ### 2c. Delete demo scaffolding + - Remove `src/routes/demo/**` (the `/demo` and `/demo/playwright` fixtures) once the real e2e suite replaces the placeholder spec. - **How it's tested:** build + e2e still green; grep confirms nothing links to @@ -171,6 +180,7 @@ The data is consistent today, but nothing prevents a typo'd ID across 75 protocol files + journeys + comparisons + RFCs + book slots. ### 3a. Cross-reference validator + - `scripts/validate-cross-references.ts`: load every registry and assert all referential IDs resolve: - `protocol.connections[]`, `relatedProtocols` โ†’ protocol IDs @@ -190,6 +200,7 @@ protocol files + journeys + comparisons + RFCs + book slots. - **Commit:** `feat(scripts): build-time cross-reference validator + wire to build` ### 3b. (Optional, after 3a is green) Branded ID types + - In `types.ts`, introduce `ProtocolId`/`CategoryId` brands to document intent and catch literal typos at review time. Low urgency; do only if it doesn't cause churn. Skip if it fights the existing data-authoring ergonomics โ€” the @@ -204,6 +215,7 @@ Now that tests + bundle baselines exist, optimize with proof. Re-measure chunk sizes after each step and assert the target shrank without breaking e2e. ### 4a. Stop importing the full registry into the root layout + - `+layout.svelte:6` imports `allProtocols` only to show a count. Replace with a tiny derived constant (e.g. export `PROTOCOL_COUNT` from a 1-line module, or compute at build via the validator). This is the single biggest lever โ€” it @@ -214,6 +226,7 @@ sizes after each step and assert the target shrank without breaking e2e. - **Commit:** `perf(bundle): drop full-registry import from root layout` ### 4b. Dynamic-import heavy page-specific data + - Move into route-loader `import()`s so they split out of the entry bundle: `journeys.ts` (116 KB), `diagram-definitions.ts` (140 KB), `rfcs.ts` (120 KB), `book/parts/*` (580 KB), `concepts.ts` where feasible. @@ -225,6 +238,7 @@ sizes after each step and assert the target shrank without breaking e2e. - **Commit:** `perf(bundle): lazy-load journeys/rfcs/book/diagrams per route` ### 4c. Dynamic-import highlight.js + - `CodeExample.svelte` statically imports hljs core + 8 language packs (~150 KB). Switch to `await import()` on mount (mirroring the pattern MermaidDiagram already uses). Register only the languages actually present in the data. @@ -233,6 +247,7 @@ sizes after each step and assert the target shrank without breaking e2e. - **Commit:** `perf(bundle): dynamic-import highlight.js + only used languages` ### 4d. manualChunks for the fused vendor chunk + - The 1.2 MB chunk fuses d3 + mermaid + hljs + content. After 4aโ€“4c, add Vite `build.rollupOptions.output.manualChunks` to separate vendor (`d3-force`, `d3-quadtree`) from content so the graph engine and prose cache independently. @@ -248,6 +263,7 @@ Pure refactors โ€” the Phase 2 visual/e2e suite is the regression guard. Refacto one group at a time, screenshot-diff after each. ### 5a. `GenericLink` for the 6 inline link components + - `detail/inline/{Chapter,Frontier,Glossary,Outage,Pioneer,Protocol}Link.svelte` share one shape (fetch entity by id โ†’ derive color/tooltip โ†’ render `<a>` or fallback `<span>`). Extract `GenericLink.svelte` taking `fetch`/`getHref`/ @@ -258,6 +274,7 @@ one group at a time, screenshot-diff after each. - **Commit:** `refactor(inline): unify 6 link components into GenericLink` ### 5b. `ModalShell` for the 3 modals + - `DiagramModal`, `StoryDiagramModal`, `StoryImageModal` share backdrop / header / close / escape-key / backdrop-click. Extract `ModalShell.svelte` with content slot; fold the focus-trap work from Phase 6 into it (one place to get a11y @@ -267,6 +284,7 @@ one group at a time, screenshot-diff after each. - **Commit:** `refactor(modals): extract ModalShell` ### 5c. Centralize Mermaid init + - Three components duplicate the mermaid `initialize({...})` config. Move to `utils/mermaid-helpers.ts` (`initMermaid()` returning the configured instance). - **How it's tested:** e2e renders a mermaid diagram in each of the three call @@ -278,6 +296,7 @@ one group at a time, screenshot-diff after each. ## Phase 6 โ€” Accessibility ๐ŸŸ  ### 6a. Focus trap + restore in modals + - Implement in the new `ModalShell` (5b): on open, move focus into the dialog and trap Tab; on close, restore focus to the trigger. Add visible focus styling to `AccessibleGraph` tree items. @@ -286,6 +305,7 @@ one group at a time, screenshot-diff after each. - **Commit:** `a11y: focus trap/restore in modals + visible tree focus` ### 6b. Respect `prefers-reduced-motion` in DetailPanel + - The slide-in animations (`slideInRight`/`slideInUp`) ignore reduced-motion. Add `@media (prefers-reduced-motion: reduce) { animation: none }`. (The graph bloom already checks `prefersReducedMotion.current` โ€” match that behavior.) @@ -304,23 +324,27 @@ before/after evidence (FPS via `requestAnimationFrame` timing, or render-call counts behind a dev flag). ### 7a. `syncPositions` match by id, not index + - `simulation.ts` aligns sim/graph nodes by array index. Switch to id-keyed matching to prevent silent desync. **Add the regression unit test first** (2a), then change the code so the test proves the fix. - **Commit:** `fix(engine): match sim positions by id` ### 7b. Memoize per-frame map rebuilds + - `canvas-renderer.ts` rebuilds `NODE_MAP`/connected-id sets every frame. Cache keyed on `(nodes.length, selectedNode?.id, journey?.id)`; rebuild only on change. - **Commit:** `perf(render): memoize node/connection maps` ### 7c. Evict settled hover/dim animations; pool gradients + - Delete animation-map entries when a node settles (`hoverT===0 && target===0`). Reuse a small gradient pool instead of `createLinearGradient` per shooting-star per frame. - **Commit:** `perf(render): evict settled anims, pool gradients` ### 7d. Frame-rate-independent viewport lerp + - `app-state.svelte.ts:404` uses a fixed `t=0.09` assuming 60 fps (settles 2ร— fast on 120 Hz). Pass `dt` and use `1 - 0.9^(dt/16.67)`. - **How it's tested:** unit-test the easing function for equal settle-time across @@ -336,6 +360,7 @@ counts behind a dev flag). ## Phase 8 โ€” Hygiene & SEO ๐ŸŸข ### 8a. Sitemap + JSON-LD + - Generate `sitemap.xml` at build (endpoint or prerender script) covering `/`, all `/p/[id]`, `/rfcs`, `/pioneers`, `/outages`, `/book/*`, `/journey/*`. Add `EducationalResource` JSON-LD in `+layout.svelte`. @@ -344,15 +369,17 @@ counts behind a dev flag). - **Commit:** `feat(seo): sitemap.xml + JSON-LD` ### 8b. Compress og-image + - `static/og-image.png` is 1.8 MB. Re-encode to <200 KB (it's a social card, - 1200ร—630). + 1200ร—630). - **How it's tested:** visual check it still looks right; size assertion. - **Commit:** `chore: compress og-image` ### 8c. Repo cleanup + docs + - Remove `outreach-emails.md` from git (looks like a local artifact); add `research/` to `.gitignore` if it's scratch. Add `scripts/README.md` - documenting the content-pipeline tools (wrap-bare-*, densify-*, audit-*, + documenting the content-pipeline tools (wrap-bare-_, densify-_, audit-\*, validate-cross-references) and the content-authoring workflow. - **How it's tested:** `git status` clean; links in README resolve. - **Commit:** `docs: document scripts + clean repo artifacts` @@ -370,6 +397,7 @@ counts behind a dev flag). depends on a later one. ## Definition of done (per task) + - `npm run check` โ†’ 0 errors - `npm run lint` โ†’ 0 errors - `npm run test` (unit + e2e) โ†’ green diff --git a/docs/baselines/bundle-baseline.md b/docs/baselines/bundle-baseline.md index 7581f99..ba35b14 100644 --- a/docs/baselines/bundle-baseline.md +++ b/docs/baselines/bundle-baseline.md @@ -10,20 +10,22 @@ ### Largest client JS chunks (hashes change per build; identity by content) -| Raw | Gzip | Contents | -|----:|-----:|----------| +| Raw | Gzip | Contents | +| ------: | -----: | ---------------------------------------------------------------- | | 1516 KB | 466 KB | protocol-prose + mermaid + hljs + driver.js (fused shared chunk) | -| 1016 KB | 352 KB | protocol-prose + hljs | -| 584 KB | 211 KB | protocol-prose | -| 476 KB | 131 KB | mermaid + driver.js | -| 444 KB | 105 KB | mermaid | +| 1016 KB | 352 KB | protocol-prose + hljs | +| 584 KB | 211 KB | protocol-prose | +| 476 KB | 131 KB | mermaid + driver.js | +| 444 KB | 105 KB | mermaid | ### Key problems confirmed + - `mermaid`, `hljs`, `driver.js`, and protocol prose are fused into the largest shared chunk โ†’ loaded eagerly on every page. - `+layout.svelte` imports `allProtocols` (full registry) just for a count. - `static/og-image.png` = **1.8 MB** (social card; should be <200 KB). ## Targets after Phase 4 + - Largest single chunk < 500 KB raw. - mermaid / hljs / driver.js split out and loaded on demand. - Total client JS gzipped reduced meaningfully on cold first paint. diff --git a/scripts/audit-acronyms.ts b/scripts/audit-acronyms.ts index 014749b..83f6f09 100644 --- a/scripts/audit-acronyms.ts +++ b/scripts/audit-acronyms.ts @@ -141,11 +141,21 @@ const BLOCKLIST = new Set([ 'OK', 'CIA', 'FBI', - 'NSA', // organisations covered elsewhere if needed + 'NSA' // organisations covered elsewhere if needed ]); // HTTP verbs โ€” handled in their own way, not concepts. -const HTTP_VERBS = new Set(['GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'CONNECT', 'TRACE']); +const HTTP_VERBS = new Set([ + 'GET', + 'PUT', + 'POST', + 'DELETE', + 'PATCH', + 'HEAD', + 'OPTIONS', + 'CONNECT', + 'TRACE' +]); function walk(dir: string, out: string[] = []): string[] { for (const n of readdirSync(dir)) { @@ -226,7 +236,8 @@ function stripMarkup(src: string): string { } function lineColOf(src: string, idx: number): { line: number; col: number } { - let line = 1, col = 1; + let line = 1, + col = 1; for (let i = 0; i < idx; i++) { if (src.charCodeAt(i) === 10) { line++; @@ -278,7 +289,8 @@ for (const c of concepts) { // uppercase letters, optionally with embedded digits / slashes / dots / // hyphens, that AREN'T sentence-initial common words. Lookarounds // prevent matching inside larger camelCase or word tokens. -const ACRONYM_RE = /(?<![A-Za-z0-9_])([A-Z][A-Z0-9](?:[A-Z0-9./-]*[A-Z0-9])?)(?:s|s')?(?![A-Za-z0-9_])/g; +const ACRONYM_RE = + /(?<![A-Za-z0-9_])([A-Z][A-Z0-9](?:[A-Z0-9./-]*[A-Z0-9])?)(?:s|s')?(?![A-Za-z0-9_])/g; // Plural-friendly variant: also catch "RTTs", "ACKs", etc. // The capturing group is the acronym, the suffix is optional. @@ -445,5 +457,7 @@ console.log(' protocol (needs link):', knownProtocol.length); console.log(' http-verb:', httpVerbs.length); console.log('\nTop unknowns:'); for (const u of unknownAcronyms.slice(0, 40)) { - console.log(` ${u.stem.padEnd(10)} ${u.totalCount.toString().padStart(4)} ${u.sampleContext.slice(0, 80)}`); + console.log( + ` ${u.stem.padEnd(10)} ${u.totalCount.toString().padStart(4)} ${u.sampleContext.slice(0, 80)}` + ); } diff --git a/scripts/audit-terms.ts b/scripts/audit-terms.ts index f824a9a..c71b28f 100644 --- a/scripts/audit-terms.ts +++ b/scripts/audit-terms.ts @@ -132,10 +132,7 @@ function lineColOf(src: string, idx: number): { line: number; col: number } { function snippet(src: string, idx: number, len: number): string { const start = Math.max(0, idx - 30); const end = Math.min(src.length, idx + len + 30); - return src - .slice(start, end) - .replace(/\s+/g, ' ') - .trim(); + return src.slice(start, end).replace(/\s+/g, ' ').trim(); } function findFirstUnwrapped( @@ -195,7 +192,12 @@ function scanFile(absPath: string): FileReport { .filter(([num]) => !rfcSet.has(num)) .map(([num, { idx }]) => { const lc = lineColOf(src, idx); - return { number: num, line: lc.line, col: lc.col, context: snippet(src, idx, 4 + num.length) }; + return { + number: num, + line: lc.line, + col: lc.col, + context: snippet(src, idx, 4 + num.length) + }; }) .sort((a, b) => Number(a.number) - Number(b.number)); @@ -222,9 +224,7 @@ function scanFile(absPath: string): FileReport { const hit = findFirstUnwrapped(stripped, src, re); if (!hit) continue; const lc = lineColOf(src, hit.idx); - const priority: 'high' | 'low' = LOW_PRIORITY_TERMS.has(c.term.toLowerCase()) - ? 'low' - : 'high'; + const priority: 'high' | 'low' = LOW_PRIORITY_TERMS.has(c.term.toLowerCase()) ? 'low' : 'high'; unwrappedConcepts.push({ term: c.term, displayLabel: hit.matched, @@ -257,7 +257,8 @@ const allMissingPioneers = new Map<string, number>(); const allMissingConcepts = new Map<string, number>(); for (const r of reports) { - for (const h of r.missingRfcs) allMissingRfcs.set(h.number, (allMissingRfcs.get(h.number) ?? 0) + 1); + for (const h of r.missingRfcs) + allMissingRfcs.set(h.number, (allMissingRfcs.get(h.number) ?? 0) + 1); for (const h of r.unwrappedPioneers) allMissingPioneers.set(h.term, (allMissingPioneers.get(h.term) ?? 0) + 1); for (const h of r.unwrappedConcepts) @@ -316,8 +317,7 @@ md += `Editorial rule: wrap on first appearance per section, not every time. \`l const sortedConcepts = [...allMissingConcepts.entries()].sort((a, b) => b[1] - a[1]); md += `| Term | Files |\n|---|---:|\n`; -for (const [term, count] of sortedConcepts.slice(0, 60)) - md += `| ${term} | ${count} |\n`; +for (const [term, count] of sortedConcepts.slice(0, 60)) md += `| ${term} | ${count} |\n`; if (sortedConcepts.length > 60) md += `| _โ€ฆ${sortedConcepts.length - 60} more_ | |\n`; md += '\n'; @@ -342,4 +342,5 @@ console.log(` Missing RFCs: ${allMissingRfcs.size}`); console.log(` Unwrapped pioneers: ${allMissingPioneers.size} / ${pioneers.length}`); console.log(` Unwrapped concepts: ${allMissingConcepts.size} / ${concepts.length}`); console.log(' Top missing RFCs (by file count):'); -for (const [num, count] of sortedMissingRfcs.slice(0, 10)) console.log(` RFC ${num} (${count} files)`); +for (const [num, count] of sortedMissingRfcs.slice(0, 10)) + console.log(` RFC ${num} (${count} files)`); diff --git a/scripts/densify-concepts.ts b/scripts/densify-concepts.ts index 683ab61..10f7a09 100644 --- a/scripts/densify-concepts.ts +++ b/scripts/densify-concepts.ts @@ -287,8 +287,7 @@ function densifyString(src: string, stats: Map<string, WrapStat>): string { let lastIdx = 0; let m: RegExpExecArray | null; while ((m = tokenRe.exec(work)) !== null) { - if (m.index > lastIdx) - out.push(applyAlias(work.slice(lastIdx, m.index), alias, stat)); + if (m.index > lastIdx) out.push(applyAlias(work.slice(lastIdx, m.index), alias, stat)); out.push(m[0]); lastIdx = m.index + m[0].length; } @@ -314,11 +313,7 @@ function enclosingPropertyName(node: ts.Node): string | undefined { n = n.parent; continue; } - if ( - ts.isParenthesizedExpression(n) || - ts.isAsExpression(n) || - ts.isSatisfiesExpression(n) - ) { + if (ts.isParenthesizedExpression(n) || ts.isAsExpression(n) || ts.isSatisfiesExpression(n)) { n = n.parent; continue; } @@ -429,7 +424,9 @@ function main() { const { apply, files } = parseArgs(process.argv); const targets = files.length > 0 ? files : defaultTargets(); - console.log(`Concept aliases: ${ALIASES.length} (from ${concepts.length} concepts, ${BLOCKLIST.size} blocked)`); + console.log( + `Concept aliases: ${ALIASES.length} (from ${concepts.length} concepts, ${BLOCKLIST.size} blocked)` + ); let grandTotal = 0; const grandStats = new Map<string, number>(); @@ -450,7 +447,9 @@ function main() { .sort((a, b) => b.count - a.count) .slice(0, 8); for (const s of top) { - console.log(` ${s.id.padEnd(20)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}`); + console.log( + ` ${s.id.padEnd(20)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}` + ); } if (apply) { writeFileSync(f, result.updated, 'utf8'); @@ -459,7 +458,9 @@ function main() { } console.log('\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€'); - console.log(`Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files`); + console.log( + `Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files` + ); const sorted = [...grandStats.entries()].filter(([, n]) => n > 0).sort((a, b) => b[1] - a[1]); for (const [id, n] of sorted.slice(0, 20)) { console.log(` ${id.padEnd(20)} ${String(n).padStart(4)}`); diff --git a/scripts/densify-protocols.ts b/scripts/densify-protocols.ts index 505966a..ad30c32 100644 --- a/scripts/densify-protocols.ts +++ b/scripts/densify-protocols.ts @@ -153,12 +153,7 @@ interface WrapStat { * us from matching inside larger words (e.g. "TCP" in "MTCP" or "IP" * in "IPv6"). */ -function applyAlias( - text: string, - id: string, - alias: string, - stat: WrapStat -): string { +function applyAlias(text: string, id: string, alias: string, stat: WrapStat): string { // `\b` only fires next to ASCII word chars. The alias may *start* or // *end* with a non-word char (e.g. "Wi-Fi"), in which case the inner // `\b` is meaningless on that side; emulate the boundary with a @@ -182,10 +177,7 @@ function applyAlias( /** Tokenise a string into protected (`[[โ€ฆ]]`, `((โ€ฆ))`, `{{โ€ฆ}}`) and * plain regions, run a single alias on the plain ones, and rejoin. */ -function densifyString( - src: string, - stats: Map<string, WrapStat> -): string { +function densifyString(src: string, stats: Map<string, WrapStat>): string { let work = src; for (const entry of ALIASES) { const stat = stats.get(entry.id) ?? { id: entry.id, count: 0, samples: [] }; @@ -201,8 +193,7 @@ function densifyString( out.push(m[0]); lastIdx = m.index + m[0].length; } - if (lastIdx < work.length) - out.push(applyAlias(work.slice(lastIdx), entry.id, alias, stat)); + if (lastIdx < work.length) out.push(applyAlias(work.slice(lastIdx), entry.id, alias, stat)); work = out.join(''); } } @@ -339,11 +330,7 @@ function enclosingPropertyName(node: ts.Node): string | undefined { } // String inside a parenthesised / template / conditional expression โ€” // keep climbing. - if ( - ts.isParenthesizedExpression(n) || - ts.isAsExpression(n) || - ts.isSatisfiesExpression(n) - ) { + if (ts.isParenthesizedExpression(n) || ts.isAsExpression(n) || ts.isSatisfiesExpression(n)) { n = n.parent; continue; } @@ -365,10 +352,7 @@ function processFile(filePath: string): FileResult { const edits: { start: number; end: number; replacement: string }[] = []; function visit(node: ts.Node) { - if ( - ts.isStringLiteral(node) || - ts.isNoSubstitutionTemplateLiteral(node) - ) { + if (ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node)) { const propName = enclosingPropertyName(node); const innerStart = node.getStart() + 1; const innerEnd = node.getEnd() - 1; @@ -413,9 +397,7 @@ function parseArgs(argv: string[]): { apply: boolean; files: string[] } { const list = a.slice('--files='.length).split(',').filter(Boolean); args.files = list.map((p) => (p.startsWith('/') ? p : join(REPO, p))); } else if (a === '--help' || a === '-h') { - console.log( - `Usage: npx tsx scripts/densify-protocols.ts [--apply] [--files=path,path]` - ); + console.log(`Usage: npx tsx scripts/densify-protocols.ts [--apply] [--files=path,path]`); process.exit(0); } } @@ -445,7 +427,9 @@ function main() { .sort((a, b) => b.count - a.count) .slice(0, 8); for (const s of top) { - console.log(` ${s.id.padEnd(10)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}`); + console.log( + ` ${s.id.padEnd(10)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}` + ); } if (apply) { writeFileSync(f, result.updated, 'utf8'); @@ -454,7 +438,9 @@ function main() { } console.log('\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€'); - console.log(`Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files`); + console.log( + `Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files` + ); const sorted = [...grandStats.entries()].filter(([, n]) => n > 0).sort((a, b) => b[1] - a[1]); for (const [id, n] of sorted) { console.log(` ${id.padEnd(10)} ${String(n).padStart(4)}`); diff --git a/scripts/densify-references.ts b/scripts/densify-references.ts index 52e8a75..aa3a013 100644 --- a/scripts/densify-references.ts +++ b/scripts/densify-references.ts @@ -75,7 +75,6 @@ function buildAliases(): RefAlias[] { }); } - // Longest first so multi-token pioneer names win over single tokens // they share (none today, but safe for future entries). out.sort((a, b) => b.pattern.length - a.pattern.length); @@ -192,8 +191,7 @@ function densifyString(src: string, stats: Map<string, WrapStat>): string { let lastIdx = 0; let m: RegExpExecArray | null; while ((m = tokenRe.exec(work)) !== null) { - if (m.index > lastIdx) - out.push(applyAlias(work.slice(lastIdx, m.index), alias, stat)); + if (m.index > lastIdx) out.push(applyAlias(work.slice(lastIdx, m.index), alias, stat)); out.push(m[0]); lastIdx = m.index + m[0].length; } @@ -215,11 +213,7 @@ function enclosingPropertyName(node: ts.Node): string | undefined { n = n.parent; continue; } - if ( - ts.isParenthesizedExpression(n) || - ts.isAsExpression(n) || - ts.isSatisfiesExpression(n) - ) { + if (ts.isParenthesizedExpression(n) || ts.isAsExpression(n) || ts.isSatisfiesExpression(n)) { n = n.parent; continue; } @@ -344,7 +338,9 @@ function main() { .sort((a, b) => b.count - a.count) .slice(0, 8); for (const s of top) { - console.log(` ${s.id.padEnd(28)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}`); + console.log( + ` ${s.id.padEnd(28)} ${String(s.count).padStart(4)} e.g. ${s.samples[0] ?? ''}` + ); } if (apply) { writeFileSync(f, result.updated, 'utf8'); @@ -353,7 +349,9 @@ function main() { } console.log('\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€'); - console.log(`Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files`); + console.log( + `Total wraps: ${grandTotal} across ${fileSummaries.filter((f) => f.total > 0).length} files` + ); const sorted = [...grandStats.entries()].filter(([, n]) => n > 0).sort((a, b) => b[1] - a[1]); for (const [id, n] of sorted.slice(0, 25)) { console.log(` ${id.padEnd(28)} ${String(n).padStart(4)}`); diff --git a/scripts/fix-useless-escapes.ts b/scripts/fix-useless-escapes.ts index 7d53612..208dedd 100644 --- a/scripts/fix-useless-escapes.ts +++ b/scripts/fix-useless-escapes.ts @@ -80,5 +80,7 @@ for (const file of report) { filesChanged++; } -console.log(`Removed ${removed} unnecessary escapes across ${filesChanged} files (${skipped} skipped).`); +console.log( + `Removed ${removed} unnecessary escapes across ${filesChanged} files (${skipped} skipped).` +); if (skipped > 0) process.exit(2); diff --git a/scripts/output/acronym-audit.json b/scripts/output/acronym-audit.json index 31478b0..52dedf8 100644 --- a/scripts/output/acronym-audit.json +++ b/scripts/output/acronym-audit.json @@ -1,4699 +1,3544 @@ { - "unknown": [ - { - "stem": "FF", - "count": 12, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/arp.ts" - ], - "sample": "to the {{broadcast|broadcast}} address (FF:FF:FF:FF:FF:FF) asking \"Who has 192.168" - }, - { - "stem": "BMW", - "count": 9, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/diagram-definitions.ts", - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "t bootstraps {{matter|Matter}}, unlocks BMWs, and broadcasts public hearing-loops ac" - }, - { - "stem": "R23", - "count": 9, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "zigbee|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key|Dynamic Link Key}}," - }, - { - "stem": "AIP", - "count": 6, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and {{read-record|READ REC" - }, - { - "stem": "GB", - "count": 6, - "files": [ - "src/lib/data/protocols/ipsec.ts", - "src/lib/data/protocols/nat-traversal.ts", - "src/lib/data/protocols/tcp.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "-byte lifetime (default ~8 hours / ~100 GB). Before either limit is hit, peers run" - }, - { - "stem": "Q1", - "count": 5, - "files": [ - "src/lib/data/book/parts/transport.ts", - "src/lib/data/book/parts/web-api.ts", - "src/lib/data/protocols/uwb.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "he in-kernel push', text: 'As of Q1 2026, [[quic|QUIC]] carries roughly **2" - }, - { - "stem": "OV", - "count": 5, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "to seconds of cloning time. **The Dutch OV-chipkaart kept shipping affected cards" - }, - { - "stem": "M3", - "count": 5, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "atter}} devices* (Hue Bridge, Aqara Hub M3) translate {{matter|Matter}} operations" - }, - { - "stem": "II", - "count": 4, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts", - "src/lib/data/category-stories/network-foundations.ts", - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "'The **[[ethernet|Ethernet]] Type II frame format** โ€” six bytes of destinati" - }, - { - "stem": "F1", - "count": 4, - "files": [ - "src/lib/data/book/parts/utilities-security.ts", - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts", - "src/lib/data/protocols/ntp.ts" - ], - "sample": "caption: '**{{nist|NIST}}-F1**, the caesium fountain atomic clock th" - }, - { - "stem": "SPEKE", - "count": 4, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "amic-link-key|Dynamic Link Key}}** with SPEKE-over-{{curve25519|Curve25519}} removes" - }, - { - "stem": "MAI", - "count": 4, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "the upstream took it.\", mistake: \"MAI Network Services ({{autonomous-system|A" - }, - { - "stem": "PCCW", - "count": 4, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "ocally. But Pakistan Telecom's upstream PCCW ({{autonomous-system|AS}} 3491) had no" - }, - { - "stem": "IKEA", - "count": 4, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "azon, Samsung, Aqara, Eve, Philips Hue, IKEA, Schlage, Yale, and dozens more.' }" - }, - { - "stem": "MUST", - "count": 3, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts", - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "t of [[ip|IP]].\"** Every [[ip|IP]] host MUST answer Echo Requests by spec. Dropping" - }, - { - "stem": "RS-232", - "count": 3, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/category-stories/wireless.ts" - ], - "sample": "pposed to be the wire that replaced the RS-232 cable to a mobile-phone headset. Thirty" - }, - { - "stem": "S1", - "count": 3, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "ss network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in [[ipsec|I" - }, - { - "stem": "CONNECTED", - "count": 3, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/stomp.ts" - ], - "sample": "connection state machine โ€” \\`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\\` for 5G โ€” and **{{nas|NAS}}" - }, - { - "stem": "ET", - "count": 3, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "text: 'On **22 February 2024 at 03:30 ET**, AT&T Mobility customers across the U" - }, - { - "stem": "AST", - "count": 3, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/cellular.ts" - ], - "sample": "}}\\'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Re" - }, - { - "stem": "UDP/5353", - "count": 3, - "files": [ - "src/lib/data/diagram-definitions.ts", - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "-local {{multicast|multicast}} group on UDP/5353, with a probe/announce/respond/goodbye" - }, - { - "stem": "RX", - "count": 3, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "n. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1`" - }, - { - "stem": "PARTNER.COM", - "count": 3, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "XAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc|KDC}} issues a **re" - }, - { - "stem": "PR", - "count": 3, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/ospf.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ded-clients DoS in 0.9-rc2 was fixed in PR #808.', source: { url: 'https://" - }, - { - "stem": "NIO", - "count": 3, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "lone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices mu" - }, - { - "stem": "XPENG", - "count": 3, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must supp" - }, - { - "stem": "T2", - "count": 3, - "files": [ - "src/lib/data/protocols/ntp.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Server records when the packet arrives (T2) and when it sends the reply (T3). Both" - }, - { - "stem": "SIZE", - "count": 2, - "files": [ - "src/lib/data/book/parts/async-iot.ts", - "src/lib/data/journeys.ts" - ], - "sample": "he sentinel and uses an authoritative \\`SIZE\\` field. [[amqp|AMQP]] itself adds no a" - }, - { - "stem": "GA", - "count": 2, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "protocol', text: '**RabbitMQ 4.0 GA (18 September 2024)** made [[amqp|AMQP]" - }, - { - "stem": "KIP-1150", - "count": 2, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "ess Topics โ€” KIP-1150', text: '**KIP-1150 \"Diskless Topics\"** was accepted by the" - }, - { - "stem": "S3", - "count": 2, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "less / Bufstream architecture that uses S3 as primary storage. Brokers become {{st" - }, - { - "stem": "MD", - "count": 2, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "lorado Springs, Philadelphia, Rockville MD, San Francisco), with {{apple|Apple}}," - }, - { - "stem": "VSX", - "count": 2, - "files": [ - "src/lib/data/book/parts/realtime-av.ts", - "src/lib/data/category-stories/realtime-av.ts" - ], - "sample": "', caption: 'A **Polycom VSX 7000** video-conferencing system โ€” the" - }, - { - "stem": "IIS", - "count": 2, - "files": [ - "src/lib/data/book/parts/realtime-av.ts", - "src/lib/data/protocols/http3.ts" - ], - "sample": "which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by **N" - }, - { - "stem": "TV", - "count": 2, - "files": [ - "src/lib/data/book/parts/realtime-av.ts", - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "y Netflix stream, every {{apple|Apple}} TV {{broadcast|broadcast}} โ€” still starts" - }, - { - "stem": "EXT-X-PRELOAD-HINT", - "count": 2, - "files": [ - "src/lib/data/book/parts/realtime-av.ts", - "src/lib/data/protocols/hls.ts" - ], - "sample": "ttp2|HTTP/2]] push requirement with **\\`EXT-X-PRELOAD-HINT\\`** โ€” a simpler, {{cdn|CDN}}-friendly h" - }, - { - "stem": "UCLA", - "count": 2, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts", - "src/lib/data/category-stories/transport.ts" - ], - "sample": "-node network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} p" - }, - { - "stem": "SRI", - "count": 2, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts", - "src/lib/data/category-stories/transport.ts" - ], - "sample": "network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} per si" - }, - { - "stem": "ISI", - "count": 2, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts", - "src/lib/data/concept-foundations.ts" - ], - "sample": "'[[pioneer:jon-postel|Jon Postel]] at ISI. He edited [[rfc:791|RFC 791]] ([[ip|IP" - }, - { - "stem": "L7", - "count": 2, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts", - "src/lib/data/book/parts/web-api.ts" - ], - "sample": "n the registry. The first genuinely new L7 protocol since [[websockets|WebSockets]" - }, - { - "stem": "WS", - "count": 2, - "files": [ - "src/lib/data/book/parts/utilities-security.ts", - "src/lib/data/comparison/pairs.ts" - ], - "sample": "dern protocol history. His core line: *\"WS-\\* bad\"* โ€” shorthand among {{ietf|IETF}" - }, - { - "stem": "INACTIVE", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/cellular.ts" - ], - "sample": "tate machine โ€” \\`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\\` for 5G โ€” and **{{nas|NAS}}** carries" - }, - { - "stem": "AMPS", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/cellular.ts" - ], - "sample": "[cellular|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through" - }, - { - "stem": "NFC-A", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "e flavours on the air', text: '**NFC-A** ({{iso|ISO}} 14443-A): {{pcd|PCD}}โ†’{{" - }, - { - "stem": "OOK", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ed-Miller; {{picc|PICC}}โ†’{{pcd|PCD}} is OOK Manchester on the 847.5 kHz subcarrier." - }, - { - "stem": "NFC-B", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "Base rate 106 kbit/s, scaling to 848. **NFC-B** ({{iso|ISO}} 14443-B): {{pcd|PCD}}โ†’{{" - }, - { - "stem": "NRZ-L", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "cc|PICC}} is 10% {{ask-modulation|ASK}} NRZ-L; {{picc|PICC}}โ†’{{pcd|PCD}} is {{bpsk|BP" - }, - { - "stem": "JIS", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "assports. **{{nfc-f|NFC-F}}** (FeliCa / JIS X 6319-4): 212/424 kbit/s Manchester-co" - }, - { - "stem": "PASMO", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "nt in Japan {{transit|transit}} (Suica, PASMO) and Hong Kong (Octopus). **{{nfc-v|NFC" - }, - { - "stem": "ETH", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "u, Giovanni Camurati, and colleagues at ETH Zรผrich published **Ghost Peak** โ€” an at" - }, - { - "stem": "D03", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "eee-802-15-4|IEEE}} 802.15.4ab** (Draft D03 September 2025, ratification expected e" - }, - { - "stem": "ABI", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "eness of [[uwb|UWB]] into one purchase. ABI projects [[uwb|UWB]] phone penetration" - }, - { - "stem": "PRO", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/journeys.ts" - ], - "sample": "'[[zigbee|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key|Dynamic Link Ke" - }, - { - "stem": "RTSP", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "mber 2025)**, with camera streaming via RTSP, removing the last category that previo" - }, - { - "stem": "OASIS", - "count": 2, - "files": [ - "src/lib/data/category-stories/async-iot.ts", - "src/lib/data/diagram-definitions.ts" - ], - "sample": "ce the protocol and shepherd it through OASIS standardization.', imagePath:" - }, - { - "stem": "CEO", - "count": 2, - "files": [ - "src/lib/data/category-stories/async-iot.ts", - "src/lib/data/protocols/amqp.ts" - ], - "sample": "oyed [[amqp|AMQP]] broker. Later became CEO of Weaveworks, bringing messaging patte" - }, - { - "stem": "TIBCO", - "count": 2, - "files": [ - "src/lib/data/category-stories/async-iot.ts", - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "rneyed from Wall Street trading floors (TIBCO) to IoT sensors ([[mqtt|MQTT]]) to clou" - }, - { - "stem": "DIX", - "count": 2, - "files": [ - "src/lib/data/category-stories/network-foundations.ts" - ], - "sample": "c|Xerox PARC}} in 1973, co-authored the DIX [[ethernet|Ethernet]] standard (1980)," - }, - { - "stem": "DEC", - "count": 2, - "files": [ - "src/lib/data/category-stories/utilities.ts", - "src/lib/data/protocols/icmp.ts" - ], - "sample": "t infrastructure', caption: \"The DEC PDP-11 โ€” machines like these ran early" - }, - { - "stem": "BIND", - "count": 2, - "files": [ - "src/lib/data/category-stories/utilities.ts", - "src/lib/data/protocols/dns.ts" - ], - "sample": "urity', contribution: 'Wrote BIND, the most widely deployed [[dns|DNS]] s" - }, - { - "stem": "HTML5", - "count": 2, - "files": [ - "src/lib/data/category-stories/web-api.ts", - "src/lib/data/protocols/sse.ts" - ], - "sample": "sse|Server-Sent Events]] as part of the HTML5 specification, enabling simple server-t" - }, - { - "stem": "CMOS", - "count": 2, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "sh engineer who owned the analog RF and CMOS implementation work that paired with Ja" - }, - { - "stem": "IC", - "count": 2, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "Jaap Haartsen\\'s digital baseband. The IC-level decisions that made [[bluetooth|B" - }, - { - "stem": "FR2", - "count": 2, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/cellular.ts" - ], - "sample": "flexible numerology, {{mmwave|mmWave}} (FR2) support, network slicing. First commer" - }, - { - "stem": "RTT", - "count": 2, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/quic.ts" - ], - "sample": "Adopted 3 September 2024. Phase-based + RTT distance measurement on a new {{le-audi" - }, - { - "stem": "H1/H2", - "count": 2, - "files": [ - "src/lib/data/category-stories/wireless.ts", - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "m|Broadcom}}, Qualcomm, {{apple|Apple}} H1/H2) uses **time-division arbitration** at" - }, - { - "stem": "SMTPS", - "count": 2, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "ication protocols transparently (HTTPS, SMTPS); [[ssh|SSH]] provides an encrypted cha" - }, - { - "stem": "RTMPS", - "count": 2, - "files": [ - "src/lib/data/comparison/pairs.ts", - "src/lib/data/diagram-definitions.ts" - ], - "sample": "aps [[rtmp|RTMP]] connections to create RTMPS, encrypting live stream ingest traffic" - }, - { - "stem": "MB", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/ospf.ts" - ], - "sample": "r packet is **1460 bytes**. Sending a 1 MB file means roughly 685 packets. {{path-" - }, - { - "stem": "NSFNET", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/outages.ts" - ], - "sample": "1986 the same architecture was carrying NSFNET traffic across the country โ€” and the bu" - }, - { - "stem": "UC", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/outages.ts" - ], - "sample": "ffers between Lawrence Berkeley Lab and UC Berkeley, three hops apart, were where" - }, - { - "stem": "RACK-TLP", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/outages.ts" - ], - "sample": "ubic|CUBIC}}, {{bbr|BBR}}, {{l4s|L4S}}, RACK-TLP โ€” are each refinements of the same cons" - }, - { - "stem": "HPC", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/frontier.ts" - ], - "sample": "rnet|Ethernet]]+[[ip|IP]] for {{ai|AI}}/HPC scale-out: {{connectionless|connectionl" - }, - { - "stem": "CBC", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "}} key {{exchange|exchange}}, and every CBC-mode cipher โ€” keeping only {{chacha20-p" - }, - { - "stem": "BEAST", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "been weaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam" - }, - { - "stem": "CRIME", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "eaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT" - }, - { - "stem": "BREACH", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "ed in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[" - }, - { - "stem": "FREAK", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls|TLS]] 1.3 als" - }, - { - "stem": "ROBOT", - "count": 2, - "files": [ - "src/lib/data/concept-foundations.ts", - "src/lib/data/protocols/tls.ts" - ], - "sample": "CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls|TLS]] 1.3 also reduced the {" - }, - { - "stem": "OBS", - "count": 2, - "files": [ - "src/lib/data/diagram-definitions.ts", - "src/lib/data/journeys.ts" - ], - "sample": "eam ingest}}** protocol โ€” your encoder (OBS, Wirecast) pushes a long-lived [[tcp|TC" - }, - { - "stem": "STD", - "count": 2, - "files": [ - "src/lib/data/diagram-definitions.ts", - "src/lib/data/protocols/ospf.ts" - ], - "sample": "tra|Dijkstra]] ([[rfc:2328|RFC 2328]] / STD 54).', steps: { 0: '{{ospf-hello|H" - }, - { - "stem": "CTR", - "count": 2, - "files": [ - "src/lib/data/diagram-definitions.ts", - "src/lib/data/protocols/cellular.ts" - ], - "sample": "t}}; **{{sts|STS}}** is the {{aes|AES}}-CTR-generated pulse pattern that makes the" - }, - { - "stem": "WHERE", - "count": 2, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "transition: 'The browser now knows WHERE the server lives โ€” but packets on the i" - }, - { - "stem": "FSCI", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "TS}}** declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know h" - }, - { - "stem": "FCI", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "} `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid|AI" - }, - { - "stem": "PROCESSING", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "gram', description: \"After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and" - }, - { - "stem": "CDOL1", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "nerate-ac|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amou" - }, - { - "stem": "QR", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "e}} (printed on the Hue bulb's box as a QR code), that link key is unique and an e" - }, - { - "stem": "CVSS", - "count": 2, - "files": [ - "src/lib/data/outages.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patc" - }, - { - "stem": "CID", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "att-mtu|ATT}}) lives on {{l2cap|L2CAP}} CID 0x0004 and provides read/write/notify/i" - }, - { - "stem": "LTK", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "Curve P-256 to derive a Long-Term Key (LTK); the link is then {{encryption|encrypt" - }, - { - "stem": "CIS", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "nels** โ€” Connected Isochronous Streams (CIS) for {{unicast|unicast}} earbuds/hearin" - }, - { - "stem": "LL", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "scription: 'Two devices in a normal LL connection schedule **{{channel-soundin" - }, - { - "stem": "NCC", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "s the protocol-level answer to the 2022 NCC Group {{ble|BLE}} relay attack that ope" - }, - { - "stem": "GFSK", - "count": 2, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "s over the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble" - }, - { - "stem": "PB", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "}} by Q3 2025; the network averages 6.5 PB/day. The first proof that a hyperscale" - }, - { - "stem": "NR", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ecified in Release 17 (2022), the first NR-{{ntn|NTN}} deployments shipped in late" - }, - { - "stem": "USA", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Ja" - }, - { - "stem": "X2", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "*mandate** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forg" - }, - { - "stem": "N2", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "date** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetti" - }, - { - "stem": "N3", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting t" - }, - { - "stem": "E1", - "count": 2, - "files": [ - "src/lib/data/protocols/cellular.ts", - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private" - }, - { - "stem": "SOA", - "count": 2, - "files": [ - "src/lib/data/protocols/dns.ts" - ], - "sample": "pex must also have {{ns-record|NS}} and SOA records. Some [[dns|DNS]] providers off" - }, - { - "stem": "NXDOMAIN", - "count": 2, - "files": [ - "src/lib/data/protocols/dns.ts" - ], - "sample": "g can hurt', text: 'Resolvers cache NXDOMAIN responses based on the SOA minimum fiel" - }, - { - "stem": "UDP/4500", - "count": 2, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "{{security-association|SA}} switches to UDP/4500 {{encapsulation|encapsulation}}. Two me" - }, - { - "stem": "MOBIKE", - "count": 2, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "me routers don\\'t corrupt the packet. **MOBIKE** ([[rfc:4555|RFC 4555]]) lets a roadwa" - }, - { - "stem": "SKU", - "count": 2, - "files": [ - "src/lib/data/protocols/ipsec.ts", - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "(10 Gbps aggregate on the AZ-redundant SKU), {{gcp|GCP}} Cloud {{vpn|VPN}}, OCI Si" - }, - { - "stem": "AS-REQ", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "description: 'Client sends an **AS-REQ** to the {{kerberos-kdc|KDC}}\\'s Authen" - }, - { - "stem": "TGS-REP", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "ion key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted u" - }, - { - "stem": "GSS", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "y speak Kerberos directly. They speak **GSS-{{api|API}}** (Generic Security Service" - }, - { - "stem": "SPNEGO", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "ntext\\` / \\`gss_accept_sec_context\\`. **SPNEGO** ([[rfc:4178|RFC 4178]]) is the protoc" - }, - { - "stem": "PKINIT", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "gust 2025 release. Headline features: **PKINIT {{ecdh|ECDH}}/EC certs** (smart-card au" - }, - { - "stem": "DES", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "IT}}-internal for years because it used DES โ€” and DES exports required State Depart" - }, - { - "stem": "FF02", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/ospf.ts" - ], - "sample": "s* on \\`224.0.0.251\\` ([[ipv6|IPv6]]: \\`FF02::FB\\`). Two flag bits get repurposed: t" - }, - { - "stem": "SD", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/ospf.ts" - ], - "sample": "cription: \"A {{dns-resolution|DNS}}-SD client looking for printers sends a {{p" - }, - { - "stem": "SRP", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "col) published', description: '**SRP** ({{rfc-doc|RFC}} 9665, Lemon + [[pion" - }, - { - "stem": "LLMNR", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "th [[mdns-dns-sd|mDNS]] **enabled** and LLMNR **disabled** in the security baseline." - }, - { - "stem": "IGMP", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "e (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose list" - }, - { - "stem": "WLC", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/nfc.ts" - ], - "sample": "-dns-sd|mDNS]] gateway ({{cisco|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aero" - }, - { - "stem": "DERP", - "count": 2, - "files": [ - "src/lib/data/protocols/nat-traversal.ts", - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "path between peers; their proprietary **DERP** relays absorb the rest as a {{turn|TU" - }, - { - "stem": "CTO", - "count": 2, - "files": [ - "src/lib/data/protocols/nat-traversal.ts", - "src/lib/data/protocols/rtp.ts" - ], - "sample": "turn|TURN}}, and {{ice|ICE}}. Currently CTO + Head of {{ai|AI}} at Five9.' } ]," - }, - { - "stem": "T2T", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go straigh" - }, - { - "stem": "TC", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "} โ€” either an {{arqc|ARQC}} (online) or TC (offline). The cryptogram is signed in" - }, - { - "stem": "TNF", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ifier|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Know" - }, - { - "stem": "IEC", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "{ndef|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NF" - }, - { - "stem": "HID", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "}}, Allegion, Aqara, {{google|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nu" - }, - { - "stem": "EV3", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Classic Crypto1" - }, - { - "stem": "GM", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ], - "sample": "is, Audi (new in 2025), Volvo, Porsche, GM, Ford, plus a wave of Chinese OEMs (NIO" - }, - { - "stem": "DDA/CDA", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "eturns an AIP byte that signals whether DDA/CDA is supported. A common custom-{{hce|HCE" - }, - { - "stem": "RRP", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "gram|EMV}} **Relay Resistance Protocol (RRP)** in Kernel 2 v2.6+ binds round-trip t" - }, - { - "stem": "T1", - "count": 2, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "DP]] packet with its current timestamp (T1). The packet is tiny โ€” 48 bytes.' }," - }, - { - "stem": "T3", - "count": 2, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "rives (T2) and when it sends the reply (T3). Both timestamps are included in the r" - }, - { - "stem": "T4", - "count": 2, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "ient records when the response arrives (T4). Now it has four timestamps: T1 (sent)" - }, - { - "stem": "NBMA", - "count": 2, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router\\'s {{id-ident" - }, - { - "stem": "HPRF", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Hz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz** in higher-power mod" - }, - { - "stem": "RTLS", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "f arrival โ€” used for warehouse/hospital RTLS where anchors are wired. **AoA / PDoA:*" - }, - { - "stem": "EN", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Hz** across 3.1โ€“10.6 GHz. {{etsi|ETSI}} EN 302 065 in Europe is similar with stric" - }, - { - "stem": "AR", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ision Finding, BMW Digital Key, and the AR experiences in {{apple|Apple}} Vision P" - }, - { - "stem": "T2024", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "1-chip|U1}}'s 16 nm), internal codename T2024, part number 339M00298. **1.5ร— longer P" - }, - { - "stem": "U400", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "amsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro|A" - }, - { - "stem": "S21", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "|Apple}} UWB tracker. Works with Galaxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/" - }, - { - "stem": "DW3000", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "upports only Channel 5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {" - }, - { - "stem": "SR150", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {{u1-chip|U1}} onward" - }, - { - "stem": "NLOS", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/meta" - }, - { - "stem": "ACL", - "count": 2, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "r which destination prefix) **and** the ACL (inbound: only accept packets from this" - }, - { - "stem": "TSPU", - "count": 2, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "mimicry', description: \"Russia's TSPU boxes learned to fingerprint and drop s" - }, - { - "stem": "S1/S2", - "count": 2, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "H4 ranges instead of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{d" - }, - { - "stem": "WARP", - "count": 2, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "are}}'s consumer {{vpn|VPN}} (1.1.1.1 + WARP app) runs on **BoringTun**, {{cloudflar" - }, - { - "stem": "OTA", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "ntrol = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an **APSCounter*" - }, - { - "stem": "FOSS", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "and *no* microphone or camera. For the FOSS path the answer is **zigbee2mqtt** by K" - }, - { - "stem": "PSU", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "ble Zigbee โ€” the router's switched-mode PSU emits broadband 2.4 GHz noise.\" } ]," - }, - { - "stem": "CC2652", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted behind" - }, - { - "stem": "SES", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "3 December 2024** VusionGroup (formerly SES-imagotag) announced acceleration of dig" - }, - { - "stem": "ESL", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "500 stores. Vusion shipped 350 million ESLs in 2023 alone; the EdgeSense platform r" - }, - { - "stem": "AIR", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "', description: \"Acuity's nLight AIR and Atrius lines are the dominant Zigbe" - }, - { - "stem": "SUN", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15" - }, - { - "stem": "VSAT", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "llips 66 oil pipelines over a brand-new VSAT satellite link. The 2-byte fixed header" - }, - { - "stem": "PINGREQ", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "ixed header**, smallest control packet (PINGREQ) is 2 bytes total. Designed in 1999 by" - }, - { - "stem": "JMS", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "sia is removed. RabbitMQ 4.3 also added JMS-style queues with {{sql|SQL}} message s" - }, - { - "stem": "NETSCOUT", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "{ kind: 'pull-quote', text: 'NETSCOUT\\'s January 2019 scan found 388,344 publ" - }, - { - "stem": "QLC", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "ey were Chinese smartphones running the QLC Chain {{peer-to-peer|peer-to-peer}} cry" - }, - { - "stem": "EDHOC", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "messages, ~100 bytes', text: '**EDHOC ([[rfc:9000|RFC 9528]], March 2024)** โ€”" - }, - { - "stem": "DH", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "sages totalling ~100 bytes** for static-DH credentials, vs **~700+ bytes for a {{d" - }, - { - "stem": "OSCORE", - "count": 1, - "files": [ - "src/lib/data/book/parts/async-iot.ts" - ], - "sample": "years* of additional life. Companion: **OSCORE ([[rfc:8613|RFC 8613]])** wraps the [[c" - }, - { - "stem": "DNA", - "count": 1, - "files": [ - "src/lib/data/book/parts/famous-outages.ts" - ], - "sample": "g router carries the same architectural DNA: a control plane that builds the {{rout" - }, - { - "stem": "PREF64", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "clients \"skip [[ip|IPv4]] entirely,\" **PREF64 in Router Advertisements ([[rfc:8781|RF" - }, - { - "stem": "RIR", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "{{roa|ROA}} set. Lesson: enforce 2FA on RIR portals.', attribution: 'Author'" - }, - { - "stem": "OTC", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "fc:9234|RFC 9234]] ([[bgp|BGP]] Roles + OTC) ate its lunch. The lesson: a security" - }, - { - "stem": "MW", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "nal pluggable optics would consume ~180 MW of power for the optics alone. That is" - }, - { - "stem": "X1600", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "AI}} workloads. **{{spectrum|Spectrum}}-X1600 (102.4 Tbps)** is expected 2H 2026.'" - }, - { - "stem": "GB200", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "ption: 'The **{{nvidia|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on" - }, - { - "stem": "NVL72", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "'The **{{nvidia|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on displa" - }, - { - "stem": "COMPUTEX", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "ackwell-architecture rack on display at COMPUTEX 2024 โ€” the kind of {{ai|AI}}-training e" - }, - { - "stem": "WECA", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "as a tagline retrofitted briefly by the WECA board and dropped. The yin-yang logo is" - }, - { - "stem": "OET", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "on **23 February 2024** the {{fcc|FCC}} OET approved **seven {{afc|AFC}} system ope" - }, - { - "stem": "RUCKUS", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "d [[wifi|Wi-Fi]] 7 {{access-point|AP}} (RUCKUS R770) was certified 16 April 2024.** Bu" - }, - { - "stem": "R770", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "i|Wi-Fi]] 7 {{access-point|AP}} (RUCKUS R770) was certified 16 April 2024.** But on" - }, - { - "stem": "SINR", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "squeezes for **+25% throughput at given SINR, โˆ’25% 95th-percentile {{latency|latency" - }, - { - "stem": "MPDU", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ], - "sample": "th-percentile {{latency|latency}}, โˆ’25% MPDU loss across {{bss-coloring|BSS}} transi" - }, - { - "stem": "CS168", - "count": 1, - "files": [ - "src/lib/data/book/parts/how-to-learn-more.ts" - ], - "sample": "P]] stack), {{mit|MIT}} 6.829, Berkeley CS168.', slots: [ { kind: 'prose'" - }, - { - "stem": "PARC", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "still runs the original spec. The 1973 PARC sketch and a 2025 Ultra [[ethernet|Ethe" - }, - { - "stem": "KU", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": ", text: '**Mathy Vanhoef and the KU Leuven team have broken [[wifi|Wi-Fi]]" - }, - { - "stem": "DCP", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "rote [[rfc:826|RFC 826]] from address \\`DCP@{{mit|MIT}}-MC\\` in November 1982. **ST" - }, - { - "stem": "MC", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "FC 826]] from address \\`DCP@{{mit|MIT}}-MC\\` in November 1982. **STD 37 has never" - }, - { - "stem": "L2", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "xt: '[[arp|ARP]] relies entirely on the L2 {{checksum|frame check sequence}} โ€” no" - }, - { - "stem": "BRL", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "rote {{ping|ping}} in a single night at BRL Aberdeen in December 1983, named after" - }, - { - "stem": "TOPS-20", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ], - "sample": "st server was named *Jeeves* and ran on TOPS-20.', credit: 'Image: Wikimedia Com" - }, - { - "stem": "KEX", - "count": 1, - "files": [ - "src/lib/data/book/parts/patterns-failures.ts" - ], - "sample": "llo|ServerHello}}/Finished, [[ssh|SSH]] KEX, [[mqtt|MQTT]] {{mqtt-connect|CONNECT}}" - }, - { - "stem": "CONNACK", - "count": 1, - "files": [ - "src/lib/data/book/parts/patterns-failures.ts" - ], - "sample": "[[mqtt|MQTT]] {{mqtt-connect|CONNECT}}/CONNACK, [[sctp|SCTP]]\\'s four-way {{cookie|Coo" - }, - { - "stem": "DAVE", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "on a whiteboard in 2018.\" Discord\\'s **DAVE protocol** (deployed 1 March 2026) laye" - }, - { - "stem": "MLS", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "otocol** (deployed 1 March 2026) layers MLS keys + SFrame on top of [[rtp|RTP]]/{{s" - }, - { - "stem": "E2EE", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "on top of [[rtp|RTP]]/{{srtp|SRTP}} for E2EE voice across **2.5 million concurrent u" - }, - { - "stem": "M120", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "AV1}} hardware encode shipped in Chrome M120 (Dec 2023). Firefox 125 added {{av1|AV1" - }, - { - "stem": "EME", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "ec 2023). Firefox 125 added {{av1|AV1}}+EME in April 2024. But the royalty-free cla" - }, - { - "stem": "CMAF", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "ate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn|CDN}} serves them ov" - }, - { - "stem": "ISDN", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ], - "sample": "four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp|RTP]]/H.323 โ†’ [[webrtc|WebRTC]]" - }, - { - "stem": "PRNET/SATNET", - "count": 1, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts" - ], - "sample": "et|ARPANET}}), and unreliable wireless (PRNET/SATNET) each forced different design pressures" - }, - { - "stem": "UCSB", - "count": 1, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts" - ], - "sample": "rk that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} per site.'," - }, - { - "stem": "EDGE", - "count": 1, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts" - ], - "sample": "d on 29 June 2007 with [[wifi|Wi-Fi]] + EDGE; the App Store followed in July 2008; {" - }, - { - "stem": "GIGA", - "count": 1, - "files": [ - "src/lib/data/book/parts/transport.ts" - ], - "sample": "ple}} {{os|OS}} services, Korea Telecom GIGA Path, some specialised enterprise WANs)" - }, - { - "stem": "CA", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ], - "sample": "te-authority|CA}} signs an intermediate CA, which signs the end-entity {{certifica" - }, - { - "stem": "SIGALRM", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ], - "sample": "{{linux|Linux}}. Signal-handler race: \\`SIGALRM\\` handler calls \\`syslog()\\` (not async" - }, - { - "stem": "UNIX", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ], - "sample": "er than {{arpanet|ARPANET}}, older than UNIX, older than every other timestamp stand" - }, - { - "stem": "Y2036", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ], - "sample": "it and will need fixes before 2036. The Y2036 work has been quietly underway since 20" - }, - { - "stem": "SNDMSG", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ], - "sample": "picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel|Jon Postel]] publ" - }, - { - "stem": "DCE", - "count": 1, - "files": [ - "src/lib/data/book/parts/web-api.ts" - ], - "sample": "a 40-year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* ser" - }, - { - "stem": "CORBA", - "count": 1, - "files": [ - "src/lib/data/book/parts/web-api.ts" - ], - "sample": "year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* serialises" - }, - { - "stem": "NTIA", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "d States Frequency Allocations Chart**, NTIA. Every coloured stripe is a *service* โ€”" - }, - { - "stem": "WPA", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "|OOB}} key or the Wi-Fi {{ssid|SSID}} + WPA key in an {{ndef|NDEF}} record. **[[zig" - }, - { - "stem": "MIMO", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "11]] โ€” {{csma-ca|CSMA/CA}} in practice, MIMO โ†’ {{ofdma|OFDMA}} โ†’ {{mlo|MLO}}, and th" - }, - { - "stem": "DIFS", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "of the {{airtime|airtime}} is spent on DIFS gaps, {{ack|ACK}} frames, beacons, and" - }, - { - "stem": "NB", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "volte|VoLTE}} / [[wifi|Wi-Fi]] calling, NB-IoT / {{lte|LTE}}-M, satellite {{direct" - }, - { - "stem": "N2/N3", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "an|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in" - }, - { - "stem": "IOS", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "teffen]]\\'s strongSwan, {{cisco|Cisco}} IOS, and Juniper {{junos|Junos}} run more [" - }, - { - "stem": "TACS", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "ar|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{g" - }, - { - "stem": "NMT", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "ular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm|GSM" - }, - { - "stem": "IS-95", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "he early 1980s through 2G {{gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lt" - }, - { - "stem": "CDMA2000", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lte|LTE}}, and {{5g-nr|5G NR}}. E" - }, - { - "stem": "SYS.DDF01", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "t System Environment {{aid|AID}} \\`2PAY.SYS.DDF01\\` โ€” and the card returns an FCI listing" - }, - { - "stem": "A0000000041010", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "The reader picks one (e.g. Mastercard \\`A0000000041010\\`), SELECTs it, gets back a {{pdol|PDOL" - }, - { - "stem": "TX", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "*can* be cheated โ€” a relay with enough TX power makes a distant device look near." - }, - { - "stem": "PAL", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "iority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and **G" - }, - { - "stem": "PMSE", - "count": 1, - "files": [ - "src/lib/data/book/parts/wireless.ts" - ], - "sample": "has experimented with similar concepts (PMSE in the UK, {{lsa|LSA}} in some EU pilot" - }, - { - "stem": "PIE", - "count": 1, - "files": [ - "src/lib/data/category-deep-dives.ts" - ], - "sample": "{{aqm|Active Queue Management}} (CoDel, PIE, fq_codel) and algorithms like {{bbr|BB" - }, - { - "stem": "SCADA", - "count": 1, - "files": [ - "src/lib/data/category-stories/async-iot.ts" - ], - "sample": "on: \"Brought embedded systems and SCADA expertise to [[mqtt|MQTT]]'s design. Co" - }, - { - "stem": "CBOR", - "count": 1, - "files": [ - "src/lib/data/category-stories/async-iot.ts" - ], - "sample": "oap|CoAP]] specification and co-created CBOR, the efficient binary {{serialization|s" - }, - { - "stem": "NATS", - "count": 1, - "files": [ - "src/lib/data/category-stories/async-iot.ts" - ], - "sample": "o cloud-native microservices ([[amqp]], NATS, [[kafka]]). Today, it's one of the mos" - }, - { - "stem": "P802", - "count": 1, - "files": [ - "src/lib/data/category-stories/network-foundations.ts" - ], - "sample": "on 100 G lanes). The 1.6 TbE follow-up (P802.3dj, 200 G/lane) targets July 2026 โ€” dr" - }, - { - "stem": "LO", - "count": 1, - "files": [ - "src/lib/data/category-stories/transport.ts" - ], - "sample": "two months before the first successful \"LO\" transmission to SRI.', credit: 'Pho" - }, - { - "stem": "PDP-11", - "count": 1, - "files": [ - "src/lib/data/category-stories/utilities.ts" - ], - "sample": "frastructure', caption: \"The DEC PDP-11 โ€” machines like these ran early [[ntp|N" - }, - { - "stem": "POWER", - "count": 1, - "files": [ - "src/lib/data/category-stories/web-api.ts" - ], - "sample": "reads \"This machine is a server. DO NOT POWER IT DOWN!!\"', credit: 'Photo: Coolcae" - }, - { - "stem": "DOWN", - "count": 1, - "files": [ - "src/lib/data/category-stories/web-api.ts" - ], - "sample": "is machine is a server. DO NOT POWER IT DOWN!!\"', credit: 'Photo: Coolcaesar / CC" - }, - { - "stem": "AAIF", - "count": 1, - "files": [ - "src/lib/data/category-stories/web-api.ts" - ], - "sample": "es to the Agentic {{ai|AI}} Foundation (AAIF) and [[a2a|A2A]] launches as a {{linux|" - }, - { - "stem": "RF", - "count": 1, - "files": [ - "src/lib/data/category-stories/wireless.ts" - ], - "sample": "'Swedish engineer who owned the analog RF and CMOS implementation work that paire" - }, - { - "stem": "COMDEX", - "count": 1, - "files": [ - "src/lib/data/category-stories/wireless.ts" - ], - "sample": "product (a hands-free headset) ships at COMDEX 1999.', protocolId: 'bluetooth'" - }, - { - "stem": "SC-FDMA", - "count": 1, - "files": [ - "src/lib/data/category-stories/wireless.ts" - ], - "sample": "preading codes for an {{ofdma|OFDMA}} + SC-FDMA air interface โ€” the clean-sheet radio d" - }, - { - "stem": "IQ", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "ble delivery of presence, messages, and IQ queries.', howTheyWork: 'An [[xmpp" - }, - { - "stem": "AMQPS", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "aps [[amqp|AMQP]] connections to create AMQPS, encrypting all {{broker|message broker" - }, - { - "stem": "MQTTS", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "aps [[mqtt|MQTT]] connections to create MQTTS, encrypting all pub/sub messaging betwe" - }, - { - "stem": "SIPS", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "SIP]] {{signaling|signaling}} to create SIPS, encrypting call setup, authentication," - }, - { - "stem": "WSS", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "ckets|WebSocket]] connections to create WSS (wss://), encrypting the {{full-duplex|" - }, - { - "stem": "M3U8", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "LS]] delivers adaptive video by serving M3U8 playlists and media segments as standar" - }, - { - "stem": "BOSH", - "count": 1, - "files": [ - "src/lib/data/comparison/pairs.ts" - ], - "sample": "network without long-polling hacks like BOSH.', howTheyWork: 'The browser opens" - }, - { - "stem": "PROXY", - "count": 1, - "files": [ - "src/lib/data/concept-foundations.ts" - ], - "sample": "ess you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}}" - }, - { - "stem": "ARPA", - "count": 1, - "files": [ - "src/lib/data/concept-foundations.ts" - ], - "sample": "down in 1986.', caption: 'The ARPA Network in September 1973, a few dozen" - }, - { - "stem": "DHT", - "count": 1, - "files": [ - "src/lib/data/concept-foundations.ts" - ], - "sample": "Torrent uses centralised trackers (or a DHT, which is a decentralised tracker) to b" - }, - { - "stem": "SHA384", - "count": 1, - "files": [ - "src/lib/data/concept-foundations.ts" - ], - "sample": "DigiCert [[tls|TLS]] Hybrid {{ecc|ECC}} SHA384 โ†’ DigiCert Global Root G3\\`. Only the b" - }, - { - "stem": "G3", - "count": 1, - "files": [ - "src/lib/data/concept-foundations.ts" - ], - "sample": "ecc|ECC}} SHA384 โ†’ DigiCert Global Root G3\\`. Only the bottom (root) {{certificate" - }, - { - "stem": "SIGTRAN", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "under telecom {{signaling|signaling}} (SIGTRAN) and [[webrtc|WebRTC]] data channels ([" - }, - { - "stem": "WHATWG", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "only need {{server-push|server push}} (WHATWG).', steps: { 0: 'Standard [[http1|" - }, - { - "stem": "OMA", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "App, and the {{matter|Matter}}-adjacent OMA-LwM2M IoT stack. Encrypted via {{startt" - }, - { - "stem": "CQRS", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "tream processing}}, event sourcing, and CQRS. **{{exactly-once-delivery|Exactly-once" - }, - { - "stem": "T1/T2/T3/T4", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "timestamps per {{exchange|exchange}}** (T1/T2/T3/T4) which cancel out network {{latency|lat" - }, - { - "stem": "TGS", - "count": 1, - "files": [ - "src/lib/data/diagram-definitions.ts" - ], - "sample": "ey Distribution Center, split into AS + TGS), and Service. Two {{encryption|encrypt" - }, - { - "stem": "SEND", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "ONNECT}}, {{mqtt-subscribe|SUBSCRIBE}}, SEND, and {{ack|ACK}} are self-explanatory," - }, - { - "stem": "ERP", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "ing queue, maintenance data goes to the ERP integration queue, and raw telemetry go" - }, - { - "stem": "VP8", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "round rules: which codecs they support (VP8, H.264, Opus), what transport addresses" - }, - { - "stem": "DANE", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "d [[dns|DNS]]-based authentication like DANE which allows domain owners to {{mqtt-pu" - }, - { - "stem": "TVR", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "the inputs (amount, currency, country, TVR, {{atc|ATC}}, Unpredictable Number, AIP" - }, - { - "stem": "POS", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "description: \"Modern wireless POS terminals (Square, Stripe, Verifone Eng" - }, - { - "stem": "APPROVED", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "sufficient balance + no fraud flag = **APPROVED**. The issuer returns an **ARPC** (Auth" - }, - { - "stem": "ARPC", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "= **APPROVED**. The issuer returns an **ARPC** (Authorisation Response Cryptogram) o" - }, - { - "stem": "RFRAME", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "n: \"The phone transmits a **Poll** RFRAME on [[uwb|UWB]] Channel 9 (7987.2 MHz, 4" - }, - { - "stem": "LQI", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ], - "sample": "icks the best parent by {{rssi|RSSI}} + LQI. This is the slowest step โ€” beacon scan" - }, - { - "stem": "WITHDRAWAL", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "-system|AS}} 32934 โ€” and then a wave of WITHDRAWALs of the [[ip|IPv4]] and [[ipv6|IPv6]] pr" - }, - { - "stem": "SERVFAIL", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "ike 1.1.1.1 and 8.8.8.8 start returning SERVFAIL for facebook.com. Apps and humans retry" - }, - { - "stem": "NANOG", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "tion: \"Vince Bono's apology email to NANOG that day is preserved in the archives โ€”" - }, - { - "stem": "RIS", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "ally for hours. {{ripe-ncc|RIPE NCC}}'s RIS data became the canonical post-mortem s" - }, - { - "stem": "LBL", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "delivery less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 4" - }, - { - "stem": "UCB", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "y less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 40 bps โ€”" - }, - { - "stem": "LBL-UCB", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "uplicates. Goodput approaches zero. The LBL-UCB path measures 40 bps where it had measu" - }, - { - "stem": "CT", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "limit damage.\", mistake: \"At 02:42 CT, a network change with an equipment con" - }, - { - "stem": "GSO", - "count": 1, - "files": [ - "src/lib/data/outages.ts" - ], - "sample": "ff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed" - }, - { - "stem": "OPEN", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ], - "sample": "'Both routers {{exchange|exchange}} OPEN messages containing their {{autonomous-" - }, - { - "stem": "NLRI", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ], - "sample": "messages containing reachable prefixes (NLRI) with path attributes: {{as-path|AS_PAT" - }, - { - "stem": "EGP", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ], - "sample": "Austin. The previous routing protocol (EGP) was unmanageable. They sketched a repl" - }, - { - "stem": "GTSM", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ], - "sample": "tcha', text: 'Some operators enable GTSM (Generalised {{ttl|TTL}} Security Mecha" - }, - { - "stem": "SBC", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "he mandatory {{codec|codec}} (replacing SBC and saving ~50% battery vs A2DP). **{{a" - }, - { - "stem": "A2DP", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "eplacing SBC and saving ~50% battery vs A2DP). **{{auracast|Auracast}}** is the {{si" - }, - { - "stem": "ISOAL", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "privacy against long-term tracking) and ISOAL improvements for {{le-audio|LE Audio}}" - }, - { - "stem": "EURECOM", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "mes', text: \"Daniele Antonioli (then EURECOM, now PostDoc-and-faculty) is the lead a" - }, - { - "stem": "DPSK", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ], - "sample": "the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble|BLE}}" - }, - { - "stem": "FR1", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave|mmWave}} 24โ€“52" - }, - { - "stem": "LLR", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ion}}. The receiver stores soft-decoded LLRs from failed transmissions and combines" - }, - { - "stem": "RLC", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "er compression', description: '**RLC** runs in TM (transparent), UM (unackno" - }, - { - "stem": "TM", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "', description: '**RLC** runs in TM (transparent), UM (unacknowledged), or" - }, - { - "stem": "UM", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "'**RLC** runs in TM (transparent), UM (unacknowledged), or AM (acknowledged)" - }, - { - "stem": "AM", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "(transparent), UM (unacknowledged), or AM (acknowledged) mode with 10- or 16-bit" - }, - { - "stem": "PDCP", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ce numbers}} ({{ts-3gpp|TS}} 38.322). **PDCP** above it ({{ts-3gpp|TS}} 38.323) does" - }, - { - "stem": "ROHC", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "* above it ({{ts-3gpp|TS}} 38.323) does ROHC {{header|header compression}} (squashin" - }, - { - "stem": "USIM", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "hentication vector, and the {{ue|UE}}'s USIM verifies AUTN and computes RES*. After" - }, - { - "stem": "AUTN", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ctor, and the {{ue|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode" - }, - { - "stem": "RES", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode Command, {{nas|NA" - }, - { - "stem": "PCF", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **netwo" - }, - { - "stem": "NRF", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network fu" - }, - { - "stem": "NEF", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": ", {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network functio" - }, - { - "stem": "NSSF", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "usf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** wi" - }, - { - "stem": "AF", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "SF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with a" - }, - { - "stem": "GPRS", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "|UPF}} travel over **{{gtp-u|GTP-U}}** (GPRS Tunnelling Protocol โ€” User plane) on [[" - }, - { - "stem": "ML", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "vanced release. New features: {{ai|AI}}/ML in the air interface (CSI feedback comp" - }, - { - "stem": "CSI", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "res: {{ai|AI}}/ML in the air interface (CSI feedback compression, beam management)," - }, - { - "stem": "SOS", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "{{apple|Apple}}\\'s Globalstar Emergency SOS round out the satellite-{{direct-to-cel" - }, - { - "stem": "Q3", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "use cloud-native {{5g-core|5G core}} by Q3 2025; the network averages 6.5 PB/day." - }, - { - "stem": "NEC", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "land. Multi-vendor mix: Samsung radios, NEC baseband, Wind River cloud platform. Th" - }, - { - "stem": "ARIB", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "partnership of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CC" - }, - { - "stem": "TTC", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "rship of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (Ch" - }, - { - "stem": "ATIS", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "si|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (I" - }, - { - "stem": "CCSA", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "IB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Ev" - }, - { - "stem": "TSDSI", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "n), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular ph" - }, - { - "stem": "TTA", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular phone on Earth" - }, - { - "stem": "IMSI", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "obile Country Code at the start of your IMSI is the protocol\\'s private numbering pl" - }, - { - "stem": "MCC/MNC", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ce. Your roaming bill itemises calls by MCC/MNC pair.' }, { title: \"The CDMA-vs-" - }, - { - "stem": "CTIA", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "tial\", text: 'In January 1989 the US CTIA voted for {{tdma|TDMA}}; later that yea" - }, - { - "stem": "DT", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "USA, Reliance Jio, parts of Verizon and DT), the {{ue|UE}} receives **only an [[ip" - }, - { - "stem": "PLAT", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": ") โ€” {{clat-acr|CLAT}} on the {{ue|UE}}, PLAT/{{nat64|NAT64}} at the operator. **Pitf" - }, - { - "stem": "N6", - "count": 1, - "files": [ - "src/lib/data/protocols/cellular.ts" - ], - "sample": "ode 4 (Frag Needed) messages on the SGi/N6 side. The {{mtu|MTU}} on a {{gtp-u|GTP-" - }, - { - "stem": "EDNS", - "count": 1, - "files": [ - "src/lib/data/protocols/dns.ts" - ], - "sample": "byte response. Today the limit is moot (EDNS allows larger responses), but the 13-le" - }, - { - "stem": "ALIAS", - "count": 1, - "files": [ - "src/lib/data/protocols/dns.ts" - ], - "sample": "ords. Some [[dns|DNS]] providers offer \"ALIAS\" or \"ANAME\" pseudo-records that work ar" - }, - { - "stem": "ANAME", - "count": 1, - "files": [ - "src/lib/data/protocols/dns.ts" - ], - "sample": "[[dns|DNS]] providers offer \"ALIAS\" or \"ANAME\" pseudo-records that work around this;" - }, - { - "stem": "USER", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "o server port 21 and authenticates with USER and PASS commands. This connection stay" - }, - { - "stem": "PASS", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "port 21 and authenticates with USER and PASS commands. This connection stays open fo" - }, - { - "stem": "CWD", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "ient browses the remote filesystem with CWD (change directory), PWD (print working" - }, - { - "stem": "PWD", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "filesystem with CWD (change directory), PWD (print working directory), and LIST (di" - }, - { - "stem": "LIST", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "ry), PWD (print working directory), and LIST (directory listing). All commands are h" - }, - { - "stem": "PASV", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "CP]] connection opens. In passive mode (PASV), the server tells the client which por" - }, - { - "stem": "RETR", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": "er', description: 'Client issues RETR (download) or STOR (upload). Data flows" - }, - { - "stem": "STOR", - "count": 1, - "files": [ - "src/lib/data/protocols/ftp.ts" - ], - "sample": ": 'Client issues RETR (download) or STOR (upload). Data flows on the data connec" - }, - { - "stem": "SETTINGS", - "count": 1, - "files": [ - "src/lib/data/protocols/http2.ts" - ], - "sample": "client and server {{exchange|exchange}} SETTINGS frames establishing max concurrent stre" - }, - { - "stem": "RR", - "count": 1, - "files": [ - "src/lib/data/protocols/http3.ts" - ], - "sample": "st. The HTTPS [[dns|DNS]] record (HTTPS RR, [[rfc:9460|RFC 9460]]) closes this gap" - }, - { - "stem": "VT100", - "count": 1, - "files": [ - "src/lib/data/protocols/icmp.ts" - ], - "sample": "a DEC PDP-11/70', caption: 'A DEC VT100 terminal โ€” the type of terminal where e" - }, - { - "stem": "INBOX", - "count": 1, - "files": [ - "src/lib/data/protocols/imap.ts" - ], - "sample": "ription: 'Client selects a mailbox (INBOX, Drafts, Sent, etc.). Server reports me" - }, - { - "stem": "UIDVALIDITY", - "count": 1, - "files": [ - "src/lib/data/protocols/imap.ts" - ], - "sample": ", recent messages, available flags, and UIDVALIDITY for cache validation.' }, { titl" - }, - { - "stem": "SEARCH", - "count": 1, - "files": [ - "src/lib/data/protocols/imap.ts" - ], - "sample": "tion: 'Client searches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modi" - }, - { - "stem": "FROM", - "count": 1, - "files": [ - "src/lib/data/protocols/imap.ts" - ], - "sample": "'Client searches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modifies" - }, - { - "stem": "SINCE", - "count": 1, - "files": [ - "src/lib/data/protocols/imap.ts" - ], - "sample": "arches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modifies flags (\\\\Seen," - }, - { - "stem": "SPD", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "matching the Security Policy Database (SPD) is wrapped in an **{{esp|ESP}} {{heade" - }, - { - "stem": "CRYSTALS", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "s|FIPS}} 203 โ€” the standardised form of CRYSTALS-Kyber. This is the post-quantum {{kem|K" - }, - { - "stem": "KE", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "ge}} and [[rfc:9370|RFC 9370]] multiple-KE โ€” meaning two or more KEMs (e.g. classi" - }, - { - "stem": "TFS", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "[[rfc:9347|RFC 9347]] {{ip-address|IP}}-TFS (Traffic Flow Security โ€” fixed-size agg" - }, - { - "stem": "WG", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": ". Fifth revision of the [[ipsec|IPsec]] WG draft that bakes {{ml-kem|ML-KEM}} into" - }, - { - "stem": "HSR", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "escription: 'strongSwan (originally HSR Rapperswil, now under [[pioneer:andreas" - }, - { - "stem": "OST", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "dreas-steffen|Andreas Steffen]] and the OST team; owned by secunet AG since June 20" - }, - { - "stem": "AG", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "en]] and the OST team; owned by secunet AG since June 2022, central to the BSI SIN" - }, - { - "stem": "BSI", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "unet AG since June 2022, central to the BSI SINA high-security solution) and Libres" - }, - { - "stem": "SINA", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "AG since June 2022, central to the BSI SINA high-security solution) and Libreswan (" - }, - { - "stem": "GCM", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "VPN}} ({{ikev2|IKEv2}}, {{aes|AES}}-256-GCM, {{ecdh|ECDH}} groups 19โ€“24, 5 Gbps/tun" - }, - { - "stem": "AZ", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "VPN}} Gateway (10 Gbps aggregate on the AZ-redundant SKU), {{gcp|GCP}} Cloud {{vpn" - }, - { - "stem": "OCI", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "nt SKU), {{gcp|GCP}} Cloud {{vpn|VPN}}, OCI Site-to-Site {{vpn|VPN}}. [[ipsec|IPsec" - }, - { - "stem": "VPC", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "mqtt-connect|connect}} my on-prem to my VPC\" sku across every cloud.' }, { o" - }, - { - "stem": "ITAR", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "same code as a regulated munition under ITAR. *Karn v. U.S. State Department* became" - }, - { - "stem": "BENIGNCERTAIN", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "dow Brokers leak (August 2016) revealed BENIGNCERTAIN โ€” an NSA exploit that extracted {{cisco" - }, - { - "stem": "PIX", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "exploit that extracted {{cisco|Cisco}} PIX {{vpn|VPN}} private keys from IKEv1 ({{" - }, - { - "stem": "PPK", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "table. [[rfc:8784|RFC 8784]] ({{pq|PQ}}-PPK) is co-authored by {{cisco|Cisco}}, {{a" - }, - { - "stem": "ELVIS-PLUS", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "ed by {{cisco|Cisco}}, {{aws|AWS}}, and ELVIS-PLUS engineers โ€” [[ipsec|IPsec]] has always" - }, - { - "stem": "ECMP", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "efault to **32 entries**. On a 10 Gbps+ ECMP-parallel tunnel ({{linux|Linux}} {{xfrm" - }, - { - "stem": "KB", - "count": 1, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ], - "sample": "he connection hangs after the first few KB. **Cure:** [[tcp|TCP]] {{mss|MSS}} clam" - }, - { - "stem": "IDL", - "count": 1, - "files": [ - "src/lib/data/protocols/json-rpc.ts" - ], - "sample": "] strips this to pure {{json|JSON}}: no IDL, no code generation, no binary encoding" - }, - { - "stem": "TGS-REQ", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "TTP}}/web1.example.com\\`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}\\'s {{kerb" - }, - { - "stem": "REP", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "eb1 returns an **{{ap-access-point|AP}}-REP** with its own timestamp for {{mtls|mut" - }, - { - "stem": "EXAMPLE.COM", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "ls', description: \"When Alice in EXAMPLE.COM wants to access a service in PARTNER.CO" - }, - { - "stem": "SMB", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "(`Authorization: Negotiate <base64>`), SMB, LDAP, and other applications transpare" - }, - { - "stem": "LDAP", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "thorization: Negotiate <base64>`), SMB, LDAP, and other applications transparently u" - }, - { - "stem": "EC", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "adline features: **PKINIT {{ecdh|ECDH}}/EC certs** (smart-card auth on {{curve2551" - }, - { - "stem": "FAST", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "P-384), **paChecksum2** support (longer FAST-armored {{checksum|checksum}} to retire" - }, - { - "stem": "SU/KTH", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "to {{mit|MIT}} Kerberos, originated at SU/KTH in Sweden. {{apple|Apple}} shipped Heim" - }, - { - "stem": "KER", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "g crosses without a ticket. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in mo" - }, - { - "stem": "KEHR", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "t. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in modern Greek.' }, { t" - }, - { - "stem": "V5", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "ld ship Kerberos-shaped applications. **V5** ([[rfc:4120|RFC 4120]], 2005) was des" - }, - { - "stem": "UDP/123", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "[[ntp|NTP]] servers, firewalls blocking UDP/123, virtualised {{hosts-bare|hosts}} with" - }, - { - "stem": "FQDN", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "ails. **Cure:** register both short and FQDN SPNs in the keytab; set `dns_canonicali" - }, - { - "stem": "NEA1", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "y|AD}} environments have **{{rc4|RC4}} (NEA1)** still enabled โ€” the {{encryption|enc" - }, - { - "stem": "NT", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ], - "sample": "cause {{rc4|RC4}} keys are derived from NT hash and brute-force in hours. **Cure:*" - }, - { - "stem": "FB", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "\\`224.0.0.251\\` ([[ipv6|IPv6]]: \\`FF02::FB\\`). Two flag bits get repurposed: the h" - }, - { - "stem": "DLA-3990", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "DNS]] implementation. Patched in Debian DLA-3990 (December 2024); still under active mai" - }, - { - "stem": "CAPWAP", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "}} at 100% and Access Points lose their CAPWAP tunnel. The latest in a decade-long pat" - }, - { - "stem": "LGPL", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "nux|Linux}}/{{bsd|BSD}} implementation, LGPL, maintained by Trent Lloyd. Bundled by" - }, - { - "stem": "BBC", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "a 16-player networked tank game on the BBC Micro in 1987 and ported it to the Mac." - }, - { - "stem": "COBS", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "ed **Consistent Overhead Byte Stuffing (COBS)** โ€” the framing algorithm now widely u" - }, - { - "stem": "BAF", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "l\" ({{ndss-conf|NDSS}} 2014)** measured BAF up to ~10ร— for mDNS. **CERT/CC VU#55062" - }, - { - "stem": "CERT/CC", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": ")** measured BAF up to ~10ร— for mDNS. **CERT/CC VU#550620 (March 2015)** and **Akamai (" - }, - { - "stem": "VU", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "ured BAF up to ~10ร— for mDNS. **CERT/CC VU#550620 (March 2015)** and **Akamai (Dec" - }, - { - "stem": "BCP", - "count": 1, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts" - ], - "sample": "cal {{unicast|unicast}} queries; deploy BCP 38 ingress filtering.' }, { t" - }, - { - "stem": "DSN", - "count": 1, - "files": [ - "src/lib/data/protocols/mptcp.ts" - ], - "sample": "ta {{sequence-number|Sequence Number}} (DSN) ensures correct ordering across all su" - }, - { - "stem": "TB", - "count": 1, - "files": [ - "src/lib/data/protocols/nat-traversal.ts" - ], - "sample": "5+ locations with $0.05/GB egress and 1 TB free per month โ€” the first major price" - }, - { - "stem": "FINGERPRINT", - "count": 1, - "files": [ - "src/lib/data/protocols/nat-traversal.ts" - ], - "sample": "p-address|IP}} version field, but the **FINGERPRINT** attribute {{checksum|checksum}} is XO" - }, - { - "stem": "SOCKS", - "count": 1, - "files": [ - "src/lib/data/protocols/nat-traversal.ts" - ], - "sample": "l`/`Frida` and use the server as a free SOCKS-style proxy into your private network." - }, - { - "stem": "NFC-A/B/F", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "range is โ‰ค10 cm for {{iso|ISO}} 14443 (NFC-A/B/F) and historically โ‰ค1 m for {{iso|ISO}}" - }, - { - "stem": "ALM", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "e {{load-modulation|load modulation}}* (ALM) instead, generating a small reflected" - }, - { - "stem": "WUPA", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "adcasts a 7-bit {{reqa|REQA}} (0x26) or WUPA (0x52) short frame; the card responds w" - }, - { - "stem": "NVB", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "collision}}** loop with {{sel-iso|SEL}}+NVB frames ({{sel-iso|SEL}}=0x93 for cascad" - }, - { - "stem": "CL2", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "EL}}=0x93 for cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte" - }, - { - "stem": "CL3", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte of the {{uid|" - }, - { - "stem": "FWI", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "negotiate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go s" - }, - { - "stem": "RECORD", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ich files to read; {{read-record|READ}} RECORDs pull the {{pan-id|PAN}}, expiry, and pu" - }, - { - "stem": "MB/ME", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "cord begins with a 1-byte header โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), S" - }, - { - "stem": "CF", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "eader โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte" - }, - { - "stem": "SR", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "E (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte length vs 4), IL" - }, - { - "stem": "IL", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "SR (Short Record โ€” 1-byte length vs 4), IL ({{id-identifier|ID}} Length present)," - }, - { - "stem": "NFC-WLC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "EC standard in **March 2026** alongside NFC-WLC.\" }, { title: 'Three transports," - }, - { - "stem": "FPAN", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "rdholder's real Funding {{pan-id|PAN}} (FPAN) is never stored on the device; instead" - }, - { - "stem": "EEA", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "eld-Detect. Available **only inside the EEA** (27 EU states + Iceland, Liechtenstei" - }, - { - "stem": "CMA", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "emplated and the watch-items are the UK CMA, Japan JFTC, and Australian ACCC.\"," - }, - { - "stem": "JFTC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "d the watch-items are the UK CMA, Japan JFTC, and Australian ACCC.\", source: {" - }, - { - "stem": "ACCC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "the UK CMA, Japan JFTC, and Australian ACCC.\", source: { url: 'https://ec.eu" - }, - { - "stem": "CR15", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ting volume). Certification Release 15 (CR15) accepts applications by early 2026; fu" - }, - { - "stem": "DK3", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "line: *cross-version compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa." - }, - { - "stem": "DK4", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa. **115 vehicle/modul" - }, - { - "stem": "ESPR", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "gn for Sustainable Products Regulation (ESPR).\", source: { url: 'https://nfc-" - }, - { - "stem": "CIPURSE", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "smart cards ({{mifare|MIFARE}}, FeliCa, CIPURSE), TfL bet on **bank-issued {{emv-crypto" - }, - { - "stem": "DG1", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "with a small {{icao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signatur" - }, - { - "stem": "DG2", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index," - }, - { - "stem": "EF.SOD", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "ile system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional" - }, - { - "stem": "EF.COM", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional DG3 fingerprints /" - }, - { - "stem": "DG3", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "signature, EF.COM index, plus optional DG3 fingerprints / DG4 iris). The reader ca" - }, - { - "stem": "DG4", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "index, plus optional DG3 fingerprints / DG4 iris). The reader cannot get any data w" - }, - { - "stem": "BAC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "he reader cannot get any data without **BAC** (legacy 3DES from MRZ) or **PACE** (m" - }, - { - "stem": "PACE", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "out **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh|ECDH}} from MRZ or 6-d" - }, - { - "stem": "DTC-PC/VC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "it CAN). The Digital Travel Credential (DTC-PC/VC) โ€” passport on phone โ€” is in airport pi" - }, - { - "stem": "EV1", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "e|MIFARE}} Classic in **1994**, DESFire EV1 in **2006**, {{mifare|MIFARE}} Plus in" - }, - { - "stem": "EV2", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "fare|MIFARE}} Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Cl" - }, - { - "stem": "EAL5", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "nts โ€” full {{aes|AES}}, Common Criteria EAL5+, side-channel hardened. Dutch OV-chipk" - }, - { - "stem": "ZEEKR", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": ", XPENG, Geely group โ€” Volvo, Polestar, ZEEKR, Lynk & Co., smart, Lotus).\" } ]," - }, - { - "stem": "LC", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "PCD}} and {{picc|PICC}} each present an LC resonant tank around 13.56 MHz; small d" - }, - { - "stem": "PN553", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "lation}} in the controller ({{nxp|NXP}} PN553 onward). Q factor: lower Q broadens the" - }, - { - "stem": "CDA", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "am|EMV}} Mode** (normal 'fast tap' with CDA). The card returns an AIP byte that sig" - }, - { - "stem": "TU", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ], - "sample": "to a confederate's phone at a terminal. TU Darmstadt's **NFCGate** (2015+) made th" - }, - { - "stem": "T2-T1", - "count": 1, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "description: '{{offset|Offset}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-" - }, - { - "stem": "T3-T4", - "count": 1, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "n: '{{offset|Offset}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The c" - }, - { - "stem": "T4-T1", - "count": 1, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "t}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The clock is adjusted gradu" - }, - { - "stem": "T3-T2", - "count": 1, - "files": [ - "src/lib/data/protocols/ntp.ts" - ], - "sample": "-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The clock is adjusted gradually to av" - }, - { - "stem": "INITIAL", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "fc-doc|RFC}} 8405 {{spf|SPF}} back-off (INITIAL/SHORT_WAIT/LONG_WAIT) throttles {{spf|S" - }, - { - "stem": "TE", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "with its own metric ({{igp|IGP}} cost, TE cost, min-delay) and constraints (inclu" - }, - { - "stem": "SID", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "Rv6 Locator advertisement, and SRv6 End SID encoding to [[ospf|OSPFv3]]. Edited by" - }, - { - "stem": "FAD", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "-2}} keychain authentication, Flex-Algo FAD with {{srlg|SRLG}}-exclude, and link-de" - }, - { - "stem": "ACX/PTX", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ], - "sample": "xclude, and link-delay normalisation on ACX/PTX hardware โ€” bringing Flex-Algo from \"shi" - }, - { - "stem": "C0/S0", - "count": 1, - "files": [ - "src/lib/data/protocols/rtmp.ts" - ], - "sample": "[[rtmp|RTMP]] {{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps an" - }, - { - "stem": "C1/S1", - "count": 1, - "files": [ - "src/lib/data/protocols/rtmp.ts" - ], - "sample": "|RTMP]] {{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps and rando" - }, - { - "stem": "C2/S2", - "count": 1, - "files": [ - "src/lib/data/protocols/rtmp.ts" - ], - "sample": "{{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps and random bytes" - }, - { - "stem": "ECHO", - "count": 1, - "files": [ - "src/lib/data/protocols/sctp.ts" - ], - "sample": "k|INIT}}-{{ack|ACK}}, {{cookie|COOKIE}}-ECHO, {{cookie|COOKIE}}-{{ack|ACK}}) that pr" - }, - { - "stem": "SAVPF", - "count": 1, - "files": [ - "src/lib/data/protocols/sdp.ts" - ], - "sample": "video), transport protocol ([[rtp|RTP]]/SAVPF), port number, and list of supported {{" - }, - { - "stem": "CTS-3000", - "count": 1, - "files": [ - "src/lib/data/protocols/sdp.ts" - ], - "sample": "n: 'The {{cisco|Cisco}} TelePresence CTS-3000 prototype โ€” the kind of immersive video" - }, - { - "stem": "PJSIP", - "count": 1, - "files": [ - "src/lib/data/protocols/sip.ts" - ], - "sample": "fg) # Sends SIP REGISTER`, caption: 'PJSIP registers with a [[sip|SIP]] server โ€” t" - }, - { - "stem": "PLAIN", - "count": 1, - "files": [ - "src/lib/data/protocols/smtp.ts" - ], - "sample": "ogin-auth|LOGIN}} or {{smtp-auth|AUTH}} PLAIN.' }, { title: 'Envelope & messag" - }, - { - "stem": "USDA", - "count": 1, - "files": [ - "src/lib/data/protocols/soap.ts" - ], - "sample": ": 'The {{ibm|IBM}} System/360 at the USDA (1966). Mainframes like these laid the" - }, - { - "stem": "MESSAGE", - "count": 1, - "files": [ - "src/lib/data/protocols/stomp.ts" - ], - "sample": "ers matching messages to subscribers as MESSAGE frames. Client can {{ack|ACK}}/{{nack|N" - }, - { - "stem": "LDP", - "count": 1, - "files": [ - "src/lib/data/protocols/tcp.ts" - ], - "sample": "p|TCP]]-{{md5|MD5}} used by [[bgp|BGP]]/LDP. Same release added microsecond-resolut" - }, - { - "stem": "MSL", - "count": 1, - "files": [ - "src/lib/data/protocols/tcp.ts" - ], - "sample": "-wait|TIME_WAIT}}** for ~60 seconds (2ร— MSL) on {{linux|Linux}}. Why? A delayed seg" - }, - { - "stem": "ACME", - "count": 1, - "files": [ - "src/lib/data/protocols/tls.ts" - ], - "sample": "or the web. All certificates issued via ACME. ~3M certificates renewed daily.' }" - }, - { - "stem": "IR-UWB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "d of modulating a continuous carrier, **IR-UWB** transmits sub-nanosecond Gaussian-mon" - }, - { - "stem": "BPM", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "lses at one of two time-slot positions (BPM) with chosen polarity ({{bpsk|BPSK}}) โ€”" - }, - { - "stem": "GAP", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "liro|Aliro 1.0}}**: **(1)** {{ble|BLE}} GAP advertising with the application's serv" - }, - { - "stem": "TB/NTB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "10โ€“30 cm. *Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrast" - }, - { - "stem": "PASN", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrastructure:*" - }, - { - "stem": "PSD", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "\"{{fcc|FCC}} Part 15.519 caps average PSD at **โˆ’41.3 dBm/MHz** across 3.1โ€“10.6 GH" - }, - { - "stem": "AV", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "la Model 3 / Y phone-as-a-key (CVSS 6.8 AV:A/AC:H/PR:N/{{ui|UI}}:N/S:U/C:H/I:H/A:N" - }, - { - "stem": "AC", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "del 3 / Y phone-as-a-key (CVSS 6.8 AV:A/AC:H/PR:N/{{ui|UI}}:N/S:U/C:H/I:H/A:N). ~$" - }, - { - "stem": "PIN", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Kwikset/Weiser Kevo. Tesla recommended PIN-to-Drive as a stopgap; the deeper indus" - }, - { - "stem": "D02", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "sed to **Draft D03 in September 2025** (D02 March 2025), with ratification expected" - }, - { - "stem": "NCAP", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "d-presence detection (driven by EU Euro NCAP rules from 2025); LRP+{{hrp-uwb|HRP}} d" - }, - { - "stem": "LRP", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "riven by EU Euro NCAP rules from 2025); LRP+{{hrp-uwb|HRP}} dual-mode hardware supp" - }, - { - "stem": "ST64UWB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ound {{sts|STS}}. STMicroelectronics' **ST64UWB** (announced Q1 2026, 18 nm FD-SOI) is" - }, - { - "stem": "FD-SOI", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "' **ST64UWB** (announced Q1 2026, 18 nm FD-SOI) is the first commercial 4ab silicon, w" - }, - { - "stem": "VW", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "edes, Hyundai/Kia, Audi (new for 2025), VW, Porsche, GM, Ford, and Chinese OEMs (N" - }, - { - "stem": "ASSA", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "le|Apple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroel" - }, - { - "stem": "ABLOY", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroelectron" - }, - { - "stem": "EQS", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "on the Wallet-based Digital Key for the EQS and S-Class from 2022. **{{nxp|NXP}} SR" - }, - { - "stem": "S22/S23/S24", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "laxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/S24 (UWB-equipped models) for AR-based dire" - }, - { - "stem": "U100", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ung's **Exynos {{mqtt-connect|Connect}} U100** in-house UWB silicon also shipped in" - }, - { - "stem": "PTP", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "} over wired [[ethernet|Ethernet]] with PTP-grade clock distribution. **{{cisco|Cis" - }, - { - "stem": "L1", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "d-won against {{gps|GPS}} (operating at L1=1575.42 MHz), avionics, and DoD interes" - }, - { - "stem": "EIRP", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "-of-life systems. The **โˆ’41.3 dBm/MHz** EIRP limit is essentially the ยง15.209 backgr" - }, - { - "stem": "MB-OFDM", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "After three years of deadlock between **MB-OFDM** ({{intel|Intel}} + WiMedia Alliance)" - }, - { - "stem": "DS-UWB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "intel|Intel}} + WiMedia Alliance) and **DS-UWB** (Freescale + UWB Forum), neither side" - }, - { - "stem": "HI", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "ty required to ratify. At the Waikoloa, HI interim on **19 January 2006** the task" - }, - { - "stem": "DW1000", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "Hz wide. Older silicon ({{qorvo|Qorvo}} DW1000) supports only Channel 5; everything fr" - }, - { - "stem": "PCB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "handle UWB anchors typically use planar PCB patches with carefully controlled groun" - }, - { - "stem": "BLE/UWB", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "eeps the user in their car. **(d)** Log BLE/UWB transition failures separately for diag" - }, - { - "stem": "CIR", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "rection using channel-impulse-response (CIR) features; recent Adaptive Kalman Filte" - }, - { - "stem": "LOS", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "lace infrastructure anchors to maximise LOS to the working volume; ceiling mounts a" - }, - { - "stem": "PRF", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ], - "sample": "**(b)** Use {{bprf|BPRF}} (~64 MHz mean PRF) for tag-side rather than HPRF. **(c)**" - }, - { - "stem": "EAPOL", - "count": 1, - "files": [ - "src/lib/data/protocols/wifi.ts" - ], - "sample": "{{access-point|AP}} perform a 4-message EAPOL {{handshake|handshake}} to derive per-s" - }, - { - "stem": "RA", - "count": 1, - "files": [ - "src/lib/data/protocols/wifi.ts" - ], - "sample": "AC}} addresses (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with th" - }, - { - "stem": "TA", - "count": 1, - "files": [ - "src/lib/data/protocols/wifi.ts" - ], - "sample": "addresses (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with the se" - }, - { - "stem": "DA", - "count": 1, - "files": [ - "src/lib/data/protocols/wifi.ts" - ], - "sample": "es (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with the session ke" - }, - { - "stem": "BSSID", - "count": 1, - "files": [ - "src/lib/data/protocols/wifi.ts" - ], - "sample": "capy in monitor mode โ€” revealing SSIDs, BSSIDs, and channels', alternatives: [ {" - }, - { - "stem": "MAC1", - "count": 1, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "a {{wg-tai64n|TAI64N timestamp}}. Plus MAC1 (proves the initiator knows the respond" - }, - { - "stem": "MAC2", - "count": 1, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "iator knows the responder's pubkey) and MAC2 ({{cookie|cookie}} under load, DoS shie" - }, - { - "stem": "H1", - "count": 1, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "et sizes, randomised header type bytes (H1โ€“H4 ranges instead of fixed 1โ€“4), random" - }, - { - "stem": "H4", - "count": 1, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "sizes, randomised header type bytes (H1โ€“H4 ranges instead of fixed 1โ€“4), random S1" - }, - { - "stem": "AWG", - "count": 1, - "files": [ - "src/lib/data/protocols/wireguard.ts" - ], - "sample": "ad of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{dns-resolution" - }, - { - "stem": "XEP", - "count": 1, - "files": [ - "src/lib/data/protocols/xmpp.ts" - ], - "sample": "e base protocol is minimal. Hundreds of XEPs add features: multi-user chat, {{http-m" - }, - { - "stem": "QPSK", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "The dominant {{phy|PHY}} is **2.4 GHz O-QPSK** with 16 channels (11โ€“26), 5 MHz spaci" - }, - { - "stem": "NA", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "kbit/s {{bpsk|BPSK}}) and 902โ€“928 MHz (NA, 40 kbit/s {{bpsk|BPSK}}) give better w" - }, - { - "stem": "FSK", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "terference at lower bit rates; R23 adds FSK PHYs in those same bands. {{frame|Frame" - }, - { - "stem": "PSDU", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "me|Frames}} are bounded at **127 octets PSDU** with a **16-bit {{checksum|FCS}}**. T" - }, - { - "stem": "CSMA-CA", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "The {{mac-address|MAC}} uses unslotted CSMA-CA in most deployments (FFDs as routers, R" - }, - { - "stem": "R20", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "mesh {{routing-table|routing}}** (since R20, 2007). Every mains-powered router main" - }, - { - "stem": "TI", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "t, dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted" - }, - { - "stem": "MMO-128", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "urve25519|Curve25519}} with {{aes|AES}}-MMO-128 (kills the *ZigBeeAlliance09* default-k" - }, - { - "stem": "IR", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "]], Power-over-Ethernet, {{usb|USB}}-C, IR blaster, **8 GB encrypted local storage" - }, - { - "stem": "BOM", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "a Bluetooth Low Energy radio, reducing BOM cost for cheaper {{matter|Matter}}-brid" - }, - { - "stem": "ZLL", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "sy that nudged Signify back to standard ZLL compatibility. IKEA remains an active {" - }, - { - "stem": "ROAM", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "ns covering Atrius, nLight, nLight AIR, ROAM, SensorSwitch, Synergy, and XPoint Wire" - }, - { - "stem": "GPL", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "s from 568 vendors', text: \"A single GPL-licensed Node.js project โ€” maintained p" - }, - { - "stem": "NV", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "ke regular backups of the coordinator's NV (zigbee2mqtt writes `coordinator_backup" - }, - { - "stem": "UPS", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "cally); **(b)** keep the Coordinator on UPS or PoE; **(c)** use a {{usb|USB}} exten" - }, - { - "stem": "SSD", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "gle away from {{usb|USB}} 3.0 ports and SSDs, which emit 2.4 GHz noise; **(d)** cons" - }, - { - "stem": "EFR32", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ], - "sample": "child-table size on a typical CC2652 / EFR32 firmware is **32**; the Sonoff ZBDongle" - } - ], - "concept": [ - { - "stem": "API", - "suggestedId": "api", - "count": 32, - "files": [ - "src/lib/data/book/parts/web-api.ts", - "src/lib/data/category-deep-dives.ts", - "src/lib/data/category-stories/web-api.ts", - "src/lib/data/comparison/pairs.ts", - "src/lib/data/diagram-definitions.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/graphql.ts", - "src/lib/data/protocols/oauth2.ts", - "src/lib/data/protocols/rest.ts", - "src/lib/data/protocols/tcp.ts" - ] - }, - { - "stem": "NAT", - "suggestedId": "nat", - "count": 13, - "files": [ - "src/lib/data/book/parts/patterns-failures.ts", - "src/lib/data/comparison/pairs.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nat-traversal.ts" - ] - }, - { - "stem": "URL", - "suggestedId": "url", - "count": 11, - "files": [ - "src/lib/data/category-stories/web-api.ts", - "src/lib/data/comparison/pairs.ts", - "src/lib/data/diagram-definitions.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/dash.ts", - "src/lib/data/protocols/hls.ts", - "src/lib/data/protocols/nat-traversal.ts", - "src/lib/data/protocols/tls.ts" - ] - }, - { - "stem": "RFC", - "suggestedId": "rfc-doc", - "count": 10, - "files": [ - "src/lib/data/book/parts/how-to-learn-more.ts", - "src/lib/data/category-stories/utilities.ts", - "src/lib/data/protocols/nat-traversal.ts", - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "CDN", - "suggestedId": "cdn-acr", - "count": 8, - "files": [ - "src/lib/data/category-stories/realtime-av.ts", - "src/lib/data/comparison/pairs.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/hls.ts", - "src/lib/data/protocols/quic.ts", - "src/lib/data/protocols/tls.ts" - ] - }, - { - "stem": "LSA", - "suggestedId": "lsa", - "count": 6, - "files": [ - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "IMP", - "suggestedId": "imp", - "count": 4, - "files": [ - "src/lib/data/book/parts/story-of-the-internet.ts", - "src/lib/data/concept-foundations.ts", - "src/lib/data/outages.ts" - ] - }, - { - "stem": "AP", - "suggestedId": "ap-access-point", - "count": 4, - "files": [ - "src/lib/data/category-deep-dives.ts", - "src/lib/data/protocols/bluetooth.ts", - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "MAC", - "suggestedId": "mac-media", - "count": 4, - "files": [ - "src/lib/data/comparison/pairs.ts", - "src/lib/data/journeys.ts", - "src/lib/data/protocols/ethernet.ts" - ] - }, - { - "stem": "ISP", - "suggestedId": "isp", - "count": 3, - "files": [ - "src/lib/data/diagram-definitions.ts", - "src/lib/data/journeys.ts", - "src/lib/data/outages.ts" - ] - }, - { - "stem": "ACK", - "suggestedId": "ack", - "count": 3, - "files": [ - "src/lib/data/outages.ts", - "src/lib/data/protocols/coap.ts", - "src/lib/data/protocols/tcp.ts" - ] - }, - { - "stem": "OEM", - "suggestedId": "oem", - "count": 3, - "files": [ - "src/lib/data/protocols/nfc.ts", - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "CLAT", - "suggestedId": "clat-acr", - "count": 2, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ] - }, - { - "stem": "GPU", - "suggestedId": "gpu", - "count": 2, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ] - }, - { - "stem": "ASK", - "suggestedId": "ask-modulation", - "count": 2, - "files": [ - "src/lib/data/book/parts/wireless.ts", - "src/lib/data/protocols/nfc.ts" - ] - }, - { - "stem": "POP", - "suggestedId": "pop-acr", - "count": 2, - "files": [ - "src/lib/data/category-stories/utilities.ts", - "src/lib/data/protocols/bgp.ts" - ] - }, - { - "stem": "LAN", - "suggestedId": "lan-acr", - "count": 2, - "files": [ - "src/lib/data/comparison/pairs.ts", - "src/lib/data/journeys.ts" - ] - }, - { - "stem": "TLD", - "suggestedId": "tld", - "count": 2, - "files": [ - "src/lib/data/diagram-definitions.ts" - ] - }, - { - "stem": "URI", - "suggestedId": "uri", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/coap.ts" - ] - }, - { - "stem": "SELECT", - "suggestedId": "imap-select", - "count": 2, - "files": [ - "src/lib/data/journeys.ts", - "src/lib/data/protocols/nfc.ts" - ] - }, - { - "stem": "CPU", - "suggestedId": "cpu", - "count": 2, - "files": [ - "src/lib/data/outages.ts" - ] - }, - { - "stem": "KEM", - "suggestedId": "kem-acr", - "count": 2, - "files": [ - "src/lib/data/protocols/ipsec.ts" - ] - }, - { - "stem": "KDC", - "suggestedId": "kerberos-kdc", - "count": 2, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ] - }, - { - "stem": "ID", - "suggestedId": "id-identifier", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/wireguard.ts" - ] - }, - { - "stem": "SSID", - "suggestedId": "ssid", - "count": 2, - "files": [ - "src/lib/data/protocols/mdns-dns-sd.ts", - "src/lib/data/protocols/wifi.ts" - ] - }, - { - "stem": "MRZ", - "suggestedId": "mrz", - "count": 2, - "files": [ - "src/lib/data/protocols/nfc.ts" - ] - }, - { - "stem": "DR", - "suggestedId": "ospf-dr", - "count": 2, - "files": [ - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "FTM", - "suggestedId": "ftm", - "count": 2, - "files": [ - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "PHY", - "suggestedId": "phy", - "count": 2, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ] - }, - { - "stem": "ISN", - "suggestedId": "isn", - "count": 1, - "files": [ - "src/lib/data/book/parts/famous-outages.ts" - ] - }, - { - "stem": "X25519MLKEM768", - "suggestedId": "pq-ciphersuite", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ] - }, - { - "stem": "ROA", - "suggestedId": "roa", - "count": 1, - "files": [ - "src/lib/data/book/parts/frontier.ts" - ] - }, - { - "stem": "MED", - "suggestedId": "med", - "count": 1, - "files": [ - "src/lib/data/book/parts/layer-2-3.ts" - ] - }, - { - "stem": "SFU", - "suggestedId": "sfu", - "count": 1, - "files": [ - "src/lib/data/book/parts/realtime-av.ts" - ] - }, - { - "stem": "WAN", - "suggestedId": "wan-acr", - "count": 1, - "files": [ - "src/lib/data/book/parts/transport.ts" - ] - }, - { - "stem": "SCP", - "suggestedId": "scp-copy", - "count": 1, - "files": [ - "src/lib/data/book/parts/utilities-security.ts" - ] - }, - { - "stem": "CVE", - "suggestedId": "cve", - "count": 1, - "files": [ - "src/lib/data/book/parts/web-api.ts" - ] - }, - { - "stem": "VLAN", - "suggestedId": "vlan", - "count": 1, - "files": [ - "src/lib/data/category-deep-dives.ts" - ] - }, - { - "stem": "UI", - "suggestedId": "ui", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ] - }, - { - "stem": "LLM", - "suggestedId": "llm", - "count": 1, - "files": [ - "src/lib/data/journeys.ts" - ] - }, - { - "stem": "KEEPALIVE", - "suggestedId": "bgp-keepalive", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ] - }, - { - "stem": "UPDATE", - "suggestedId": "bgp-update", - "count": 1, - "files": [ - "src/lib/data/protocols/bgp.ts" - ] - }, - { - "stem": "UUID", - "suggestedId": "uuid", - "count": 1, - "files": [ - "src/lib/data/protocols/bluetooth.ts" - ] - }, - { - "stem": "DC", - "suggestedId": "dc-domain-controller", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ] - }, - { - "stem": "SPN", - "suggestedId": "spn", - "count": 1, - "files": [ - "src/lib/data/protocols/kerberos.ts" - ] - }, - { - "stem": "APDU", - "suggestedId": "apdu", - "count": 1, - "files": [ - "src/lib/data/protocols/nfc.ts" - ] - }, - { - "stem": "LSDB", - "suggestedId": "lsdb", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "SRLG", - "suggestedId": "srlg", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "TLV", - "suggestedId": "tlv", - "count": 1, - "files": [ - "src/lib/data/protocols/ospf.ts" - ] - }, - { - "stem": "NIC", - "suggestedId": "nic", - "count": 1, - "files": [ - "src/lib/data/protocols/quic.ts" - ] - }, - { - "stem": "BLE", - "suggestedId": "ble", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "U2", - "suggestedId": "u2-chip", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "U1", - "suggestedId": "u1-chip", - "count": 1, - "files": [ - "src/lib/data/protocols/uwb.ts" - ] - }, - { - "stem": "FFD", - "suggestedId": "ffd", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ] - }, - { - "stem": "RFD", - "suggestedId": "rfd", - "count": 1, - "files": [ - "src/lib/data/protocols/zigbee.ts" - ] - } - ], - "protocol": [ - { - "stem": "UWB", - "suggestedId": "uwb", - "count": 74 - }, - { - "stem": "NFC", - "suggestedId": "nfc", - "count": 37 - }, - { - "stem": "HTTPS", - "suggestedId": "http1", - "count": 19 - }, - { - "stem": "IP", - "suggestedId": "ip", - "count": 9 - }, - { - "stem": "UDP", - "suggestedId": "udp", - "count": 2 - }, - { - "stem": "QUIC", - "suggestedId": "quic", - "count": 2 - }, - { - "stem": "OAUTH2", - "suggestedId": "oauth2", - "count": 1 - } - ] -} \ No newline at end of file + "unknown": [ + { + "stem": "FF", + "count": 12, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/arp.ts"], + "sample": "to the {{broadcast|broadcast}} address (FF:FF:FF:FF:FF:FF) asking \"Who has 192.168" + }, + { + "stem": "BMW", + "count": 9, + "files": [ + "src/lib/data/book/parts/wireless.ts", + "src/lib/data/diagram-definitions.ts", + "src/lib/data/protocols/nfc.ts", + "src/lib/data/protocols/uwb.ts" + ], + "sample": "t bootstraps {{matter|Matter}}, unlocks BMWs, and broadcasts public hearing-loops ac" + }, + { + "stem": "R23", + "count": 9, + "files": [ + "src/lib/data/book/parts/wireless.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/zigbee.ts" + ], + "sample": "zigbee|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key|Dynamic Link Key}}," + }, + { + "stem": "AIP", + "count": 6, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and {{read-record|READ REC" + }, + { + "stem": "GB", + "count": 6, + "files": [ + "src/lib/data/protocols/ipsec.ts", + "src/lib/data/protocols/nat-traversal.ts", + "src/lib/data/protocols/tcp.ts", + "src/lib/data/protocols/zigbee.ts" + ], + "sample": "-byte lifetime (default ~8 hours / ~100 GB). Before either limit is hit, peers run" + }, + { + "stem": "Q1", + "count": 5, + "files": [ + "src/lib/data/book/parts/transport.ts", + "src/lib/data/book/parts/web-api.ts", + "src/lib/data/protocols/uwb.ts", + "src/lib/data/protocols/zigbee.ts" + ], + "sample": "he in-kernel push', text: 'As of Q1 2026, [[quic|QUIC]] carries roughly **2" + }, + { + "stem": "OV", + "count": 5, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "to seconds of cloning time. **The Dutch OV-chipkaart kept shipping affected cards" + }, + { + "stem": "M3", + "count": 5, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/zigbee.ts"], + "sample": "atter}} devices* (Hue Bridge, Aqara Hub M3) translate {{matter|Matter}} operations" + }, + { + "stem": "II", + "count": 4, + "files": [ + "src/lib/data/book/parts/layer-2-3.ts", + "src/lib/data/category-stories/network-foundations.ts", + "src/lib/data/concept-foundations.ts", + "src/lib/data/protocols/zigbee.ts" + ], + "sample": "'The **[[ethernet|Ethernet]] Type II frame format** โ€” six bytes of destinati" + }, + { + "stem": "F1", + "count": 4, + "files": [ + "src/lib/data/book/parts/utilities-security.ts", + "src/lib/data/protocols/cellular.ts", + "src/lib/data/protocols/ipsec.ts", + "src/lib/data/protocols/ntp.ts" + ], + "sample": "caption: '**{{nist|NIST}}-F1**, the caesium fountain atomic clock th" + }, + { + "stem": "SPEKE", + "count": 4, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/zigbee.ts"], + "sample": "amic-link-key|Dynamic Link Key}}** with SPEKE-over-{{curve25519|Curve25519}} removes" + }, + { + "stem": "MAI", + "count": 4, + "files": ["src/lib/data/outages.ts"], + "sample": "the upstream took it.\", mistake: \"MAI Network Services ({{autonomous-system|A" + }, + { + "stem": "PCCW", + "count": 4, + "files": ["src/lib/data/outages.ts"], + "sample": "ocally. But Pakistan Telecom's upstream PCCW ({{autonomous-system|AS}} 3491) had no" + }, + { + "stem": "IKEA", + "count": 4, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/zigbee.ts"], + "sample": "azon, Samsung, Aqara, Eve, Philips Hue, IKEA, Schlage, Yale, and dozens more.' }" + }, + { + "stem": "MUST", + "count": 3, + "files": ["src/lib/data/book/parts/layer-2-3.ts", "src/lib/data/protocols/kerberos.ts"], + "sample": "t of [[ip|IP]].\"** Every [[ip|IP]] host MUST answer Echo Requests by spec. Dropping" + }, + { + "stem": "RS-232", + "count": 3, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/category-stories/wireless.ts"], + "sample": "pposed to be the wire that replaced the RS-232 cable to a mobile-phone headset. Thirty" + }, + { + "stem": "S1", + "count": 3, + "files": [ + "src/lib/data/book/parts/wireless.ts", + "src/lib/data/protocols/cellular.ts", + "src/lib/data/protocols/ipsec.ts" + ], + "sample": "ss network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in [[ipsec|I" + }, + { + "stem": "CONNECTED", + "count": 3, + "files": [ + "src/lib/data/book/parts/wireless.ts", + "src/lib/data/protocols/cellular.ts", + "src/lib/data/protocols/stomp.ts" + ], + "sample": "connection state machine โ€” \\`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\\` for 5G โ€” and **{{nas|NAS}}" + }, + { + "stem": "ET", + "count": 3, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "text: 'On **22 February 2024 at 03:30 ET**, AT&T Mobility customers across the U" + }, + { + "stem": "AST", + "count": 3, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/cellular.ts"], + "sample": "}}\\'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Re" + }, + { + "stem": "UDP/5353", + "count": 3, + "files": ["src/lib/data/diagram-definitions.ts", "src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "-local {{multicast|multicast}} group on UDP/5353, with a probe/announce/respond/goodbye" + }, + { + "stem": "RX", + "count": 3, + "files": ["src/lib/data/journeys.ts"], + "sample": "n. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1`" + }, + { + "stem": "PARTNER.COM", + "count": 3, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "XAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc|KDC}} issues a **re" + }, + { + "stem": "PR", + "count": 3, + "files": [ + "src/lib/data/protocols/mdns-dns-sd.ts", + "src/lib/data/protocols/ospf.ts", + "src/lib/data/protocols/uwb.ts" + ], + "sample": "ded-clients DoS in 0.9-rc2 was fixed in PR #808.', source: { url: 'https://" + }, + { + "stem": "NIO", + "count": 3, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "lone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices mu" + }, + { + "stem": "XPENG", + "count": 3, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must supp" + }, + { + "stem": "T2", + "count": 3, + "files": ["src/lib/data/protocols/ntp.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "Server records when the packet arrives (T2) and when it sends the reply (T3). Both" + }, + { + "stem": "SIZE", + "count": 2, + "files": ["src/lib/data/book/parts/async-iot.ts", "src/lib/data/journeys.ts"], + "sample": "he sentinel and uses an authoritative \\`SIZE\\` field. [[amqp|AMQP]] itself adds no a" + }, + { + "stem": "GA", + "count": 2, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "protocol', text: '**RabbitMQ 4.0 GA (18 September 2024)** made [[amqp|AMQP]" + }, + { + "stem": "KIP-1150", + "count": 2, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "ess Topics โ€” KIP-1150', text: '**KIP-1150 \"Diskless Topics\"** was accepted by the" + }, + { + "stem": "S3", + "count": 2, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "less / Bufstream architecture that uses S3 as primary storage. Brokers become {{st" + }, + { + "stem": "MD", + "count": 2, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "lorado Springs, Philadelphia, Rockville MD, San Francisco), with {{apple|Apple}}," + }, + { + "stem": "VSX", + "count": 2, + "files": [ + "src/lib/data/book/parts/realtime-av.ts", + "src/lib/data/category-stories/realtime-av.ts" + ], + "sample": "', caption: 'A **Polycom VSX 7000** video-conferencing system โ€” the" + }, + { + "stem": "IIS", + "count": 2, + "files": ["src/lib/data/book/parts/realtime-av.ts", "src/lib/data/protocols/http3.ts"], + "sample": "which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by **N" + }, + { + "stem": "TV", + "count": 2, + "files": ["src/lib/data/book/parts/realtime-av.ts", "src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "y Netflix stream, every {{apple|Apple}} TV {{broadcast|broadcast}} โ€” still starts" + }, + { + "stem": "EXT-X-PRELOAD-HINT", + "count": 2, + "files": ["src/lib/data/book/parts/realtime-av.ts", "src/lib/data/protocols/hls.ts"], + "sample": "ttp2|HTTP/2]] push requirement with **\\`EXT-X-PRELOAD-HINT\\`** โ€” a simpler, {{cdn|CDN}}-friendly h" + }, + { + "stem": "UCLA", + "count": 2, + "files": [ + "src/lib/data/book/parts/story-of-the-internet.ts", + "src/lib/data/category-stories/transport.ts" + ], + "sample": "-node network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} p" + }, + { + "stem": "SRI", + "count": 2, + "files": [ + "src/lib/data/book/parts/story-of-the-internet.ts", + "src/lib/data/category-stories/transport.ts" + ], + "sample": "network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} per si" + }, + { + "stem": "ISI", + "count": 2, + "files": [ + "src/lib/data/book/parts/story-of-the-internet.ts", + "src/lib/data/concept-foundations.ts" + ], + "sample": "'[[pioneer:jon-postel|Jon Postel]] at ISI. He edited [[rfc:791|RFC 791]] ([[ip|IP" + }, + { + "stem": "L7", + "count": 2, + "files": [ + "src/lib/data/book/parts/story-of-the-internet.ts", + "src/lib/data/book/parts/web-api.ts" + ], + "sample": "n the registry. The first genuinely new L7 protocol since [[websockets|WebSockets]" + }, + { + "stem": "WS", + "count": 2, + "files": [ + "src/lib/data/book/parts/utilities-security.ts", + "src/lib/data/comparison/pairs.ts" + ], + "sample": "dern protocol history. His core line: *\"WS-\\* bad\"* โ€” shorthand among {{ietf|IETF}" + }, + { + "stem": "INACTIVE", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/cellular.ts"], + "sample": "tate machine โ€” \\`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\\` for 5G โ€” and **{{nas|NAS}}** carries" + }, + { + "stem": "AMPS", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/cellular.ts"], + "sample": "[cellular|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through" + }, + { + "stem": "NFC-A", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "e flavours on the air', text: '**NFC-A** ({{iso|ISO}} 14443-A): {{pcd|PCD}}โ†’{{" + }, + { + "stem": "OOK", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "ed-Miller; {{picc|PICC}}โ†’{{pcd|PCD}} is OOK Manchester on the 847.5 kHz subcarrier." + }, + { + "stem": "NFC-B", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "Base rate 106 kbit/s, scaling to 848. **NFC-B** ({{iso|ISO}} 14443-B): {{pcd|PCD}}โ†’{{" + }, + { + "stem": "NRZ-L", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "cc|PICC}} is 10% {{ask-modulation|ASK}} NRZ-L; {{picc|PICC}}โ†’{{pcd|PCD}} is {{bpsk|BP" + }, + { + "stem": "JIS", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "assports. **{{nfc-f|NFC-F}}** (FeliCa / JIS X 6319-4): 212/424 kbit/s Manchester-co" + }, + { + "stem": "PASMO", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "nt in Japan {{transit|transit}} (Suica, PASMO) and Hong Kong (Octopus). **{{nfc-v|NFC" + }, + { + "stem": "ETH", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "u, Giovanni Camurati, and colleagues at ETH Zรผrich published **Ghost Peak** โ€” an at" + }, + { + "stem": "D03", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "eee-802-15-4|IEEE}} 802.15.4ab** (Draft D03 September 2025, ratification expected e" + }, + { + "stem": "ABI", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "eness of [[uwb|UWB]] into one purchase. ABI projects [[uwb|UWB]] phone penetration" + }, + { + "stem": "PRO", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/journeys.ts"], + "sample": "'[[zigbee|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key|Dynamic Link Ke" + }, + { + "stem": "RTSP", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/zigbee.ts"], + "sample": "mber 2025)**, with camera streaming via RTSP, removing the last category that previo" + }, + { + "stem": "OASIS", + "count": 2, + "files": [ + "src/lib/data/category-stories/async-iot.ts", + "src/lib/data/diagram-definitions.ts" + ], + "sample": "ce the protocol and shepherd it through OASIS standardization.', imagePath:" + }, + { + "stem": "CEO", + "count": 2, + "files": ["src/lib/data/category-stories/async-iot.ts", "src/lib/data/protocols/amqp.ts"], + "sample": "oyed [[amqp|AMQP]] broker. Later became CEO of Weaveworks, bringing messaging patte" + }, + { + "stem": "TIBCO", + "count": 2, + "files": [ + "src/lib/data/category-stories/async-iot.ts", + "src/lib/data/protocols/mdns-dns-sd.ts" + ], + "sample": "rneyed from Wall Street trading floors (TIBCO) to IoT sensors ([[mqtt|MQTT]]) to clou" + }, + { + "stem": "DIX", + "count": 2, + "files": ["src/lib/data/category-stories/network-foundations.ts"], + "sample": "c|Xerox PARC}} in 1973, co-authored the DIX [[ethernet|Ethernet]] standard (1980)," + }, + { + "stem": "DEC", + "count": 2, + "files": ["src/lib/data/category-stories/utilities.ts", "src/lib/data/protocols/icmp.ts"], + "sample": "t infrastructure', caption: \"The DEC PDP-11 โ€” machines like these ran early" + }, + { + "stem": "BIND", + "count": 2, + "files": ["src/lib/data/category-stories/utilities.ts", "src/lib/data/protocols/dns.ts"], + "sample": "urity', contribution: 'Wrote BIND, the most widely deployed [[dns|DNS]] s" + }, + { + "stem": "HTML5", + "count": 2, + "files": ["src/lib/data/category-stories/web-api.ts", "src/lib/data/protocols/sse.ts"], + "sample": "sse|Server-Sent Events]] as part of the HTML5 specification, enabling simple server-t" + }, + { + "stem": "CMOS", + "count": 2, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "sh engineer who owned the analog RF and CMOS implementation work that paired with Ja" + }, + { + "stem": "IC", + "count": 2, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "Jaap Haartsen\\'s digital baseband. The IC-level decisions that made [[bluetooth|B" + }, + { + "stem": "FR2", + "count": 2, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/cellular.ts"], + "sample": "flexible numerology, {{mmwave|mmWave}} (FR2) support, network slicing. First commer" + }, + { + "stem": "RTT", + "count": 2, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/quic.ts"], + "sample": "Adopted 3 September 2024. Phase-based + RTT distance measurement on a new {{le-audi" + }, + { + "stem": "H1/H2", + "count": 2, + "files": ["src/lib/data/category-stories/wireless.ts", "src/lib/data/protocols/bluetooth.ts"], + "sample": "m|Broadcom}}, Qualcomm, {{apple|Apple}} H1/H2) uses **time-division arbitration** at" + }, + { + "stem": "SMTPS", + "count": 2, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "ication protocols transparently (HTTPS, SMTPS); [[ssh|SSH]] provides an encrypted cha" + }, + { + "stem": "RTMPS", + "count": 2, + "files": ["src/lib/data/comparison/pairs.ts", "src/lib/data/diagram-definitions.ts"], + "sample": "aps [[rtmp|RTMP]] connections to create RTMPS, encrypting live stream ingest traffic" + }, + { + "stem": "MB", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/ospf.ts"], + "sample": "r packet is **1460 bytes**. Sending a 1 MB file means roughly 685 packets. {{path-" + }, + { + "stem": "NSFNET", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/outages.ts"], + "sample": "1986 the same architecture was carrying NSFNET traffic across the country โ€” and the bu" + }, + { + "stem": "UC", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/outages.ts"], + "sample": "ffers between Lawrence Berkeley Lab and UC Berkeley, three hops apart, were where" + }, + { + "stem": "RACK-TLP", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/outages.ts"], + "sample": "ubic|CUBIC}}, {{bbr|BBR}}, {{l4s|L4S}}, RACK-TLP โ€” are each refinements of the same cons" + }, + { + "stem": "HPC", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/frontier.ts"], + "sample": "rnet|Ethernet]]+[[ip|IP]] for {{ai|AI}}/HPC scale-out: {{connectionless|connectionl" + }, + { + "stem": "CBC", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "}} key {{exchange|exchange}}, and every CBC-mode cipher โ€” keeping only {{chacha20-p" + }, + { + "stem": "BEAST", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "been weaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam" + }, + { + "stem": "CRIME", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "eaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT" + }, + { + "stem": "BREACH", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "ed in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[" + }, + { + "stem": "FREAK", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls|TLS]] 1.3 als" + }, + { + "stem": "ROBOT", + "count": 2, + "files": ["src/lib/data/concept-foundations.ts", "src/lib/data/protocols/tls.ts"], + "sample": "CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls|TLS]] 1.3 also reduced the {" + }, + { + "stem": "OBS", + "count": 2, + "files": ["src/lib/data/diagram-definitions.ts", "src/lib/data/journeys.ts"], + "sample": "eam ingest}}** protocol โ€” your encoder (OBS, Wirecast) pushes a long-lived [[tcp|TC" + }, + { + "stem": "STD", + "count": 2, + "files": ["src/lib/data/diagram-definitions.ts", "src/lib/data/protocols/ospf.ts"], + "sample": "tra|Dijkstra]] ([[rfc:2328|RFC 2328]] / STD 54).', steps: { 0: '{{ospf-hello|H" + }, + { + "stem": "CTR", + "count": 2, + "files": ["src/lib/data/diagram-definitions.ts", "src/lib/data/protocols/cellular.ts"], + "sample": "t}}; **{{sts|STS}}** is the {{aes|AES}}-CTR-generated pulse pattern that makes the" + }, + { + "stem": "WHERE", + "count": 2, + "files": ["src/lib/data/journeys.ts"], + "sample": "transition: 'The browser now knows WHERE the server lives โ€” but packets on the i" + }, + { + "stem": "FSCI", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "TS}}** declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know h" + }, + { + "stem": "FCI", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "} `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid|AI" + }, + { + "stem": "PROCESSING", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "gram', description: \"After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and" + }, + { + "stem": "CDOL1", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "nerate-ac|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amou" + }, + { + "stem": "QR", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "e}} (printed on the Hue bulb's box as a QR code), that link key is unique and an e" + }, + { + "stem": "CVSS", + "count": 2, + "files": ["src/lib/data/outages.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patc" + }, + { + "stem": "CID", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "att-mtu|ATT}}) lives on {{l2cap|L2CAP}} CID 0x0004 and provides read/write/notify/i" + }, + { + "stem": "LTK", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "Curve P-256 to derive a Long-Term Key (LTK); the link is then {{encryption|encrypt" + }, + { + "stem": "CIS", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "nels** โ€” Connected Isochronous Streams (CIS) for {{unicast|unicast}} earbuds/hearin" + }, + { + "stem": "LL", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "scription: 'Two devices in a normal LL connection schedule **{{channel-soundin" + }, + { + "stem": "NCC", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "s the protocol-level answer to the 2022 NCC Group {{ble|BLE}} relay attack that ope" + }, + { + "stem": "GFSK", + "count": 2, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "s over the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble" + }, + { + "stem": "PB", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "}} by Q3 2025; the network averages 6.5 PB/day. The first proof that a hyperscale" + }, + { + "stem": "NR", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ecified in Release 17 (2022), the first NR-{{ntn|NTN}} deployments shipped in late" + }, + { + "stem": "USA", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Ja" + }, + { + "stem": "X2", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts", "src/lib/data/protocols/ipsec.ts"], + "sample": "*mandate** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forg" + }, + { + "stem": "N2", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts", "src/lib/data/protocols/ipsec.ts"], + "sample": "date** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetti" + }, + { + "stem": "N3", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts", "src/lib/data/protocols/ipsec.ts"], + "sample": "** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting t" + }, + { + "stem": "E1", + "count": 2, + "files": ["src/lib/data/protocols/cellular.ts", "src/lib/data/protocols/ipsec.ts"], + "sample": "]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private" + }, + { + "stem": "SOA", + "count": 2, + "files": ["src/lib/data/protocols/dns.ts"], + "sample": "pex must also have {{ns-record|NS}} and SOA records. Some [[dns|DNS]] providers off" + }, + { + "stem": "NXDOMAIN", + "count": 2, + "files": ["src/lib/data/protocols/dns.ts"], + "sample": "g can hurt', text: 'Resolvers cache NXDOMAIN responses based on the SOA minimum fiel" + }, + { + "stem": "UDP/4500", + "count": 2, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "{{security-association|SA}} switches to UDP/4500 {{encapsulation|encapsulation}}. Two me" + }, + { + "stem": "MOBIKE", + "count": 2, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "me routers don\\'t corrupt the packet. **MOBIKE** ([[rfc:4555|RFC 4555]]) lets a roadwa" + }, + { + "stem": "SKU", + "count": 2, + "files": ["src/lib/data/protocols/ipsec.ts", "src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "(10 Gbps aggregate on the AZ-redundant SKU), {{gcp|GCP}} Cloud {{vpn|VPN}}, OCI Si" + }, + { + "stem": "AS-REQ", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "description: 'Client sends an **AS-REQ** to the {{kerberos-kdc|KDC}}\\'s Authen" + }, + { + "stem": "TGS-REP", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "ion key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted u" + }, + { + "stem": "GSS", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "y speak Kerberos directly. They speak **GSS-{{api|API}}** (Generic Security Service" + }, + { + "stem": "SPNEGO", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "ntext\\` / \\`gss_accept_sec_context\\`. **SPNEGO** ([[rfc:4178|RFC 4178]]) is the protoc" + }, + { + "stem": "PKINIT", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "gust 2025 release. Headline features: **PKINIT {{ecdh|ECDH}}/EC certs** (smart-card au" + }, + { + "stem": "DES", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "IT}}-internal for years because it used DES โ€” and DES exports required State Depart" + }, + { + "stem": "FF02", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/ospf.ts"], + "sample": "s* on \\`224.0.0.251\\` ([[ipv6|IPv6]]: \\`FF02::FB\\`). Two flag bits get repurposed: t" + }, + { + "stem": "SD", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/ospf.ts"], + "sample": "cription: \"A {{dns-resolution|DNS}}-SD client looking for printers sends a {{p" + }, + { + "stem": "SRP", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "col) published', description: '**SRP** ({{rfc-doc|RFC}} 9665, Lemon + [[pion" + }, + { + "stem": "LLMNR", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "th [[mdns-dns-sd|mDNS]] **enabled** and LLMNR **disabled** in the security baseline." + }, + { + "stem": "IGMP", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "e (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose list" + }, + { + "stem": "WLC", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/nfc.ts"], + "sample": "-dns-sd|mDNS]] gateway ({{cisco|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aero" + }, + { + "stem": "DERP", + "count": 2, + "files": ["src/lib/data/protocols/nat-traversal.ts", "src/lib/data/protocols/wireguard.ts"], + "sample": "path between peers; their proprietary **DERP** relays absorb the rest as a {{turn|TU" + }, + { + "stem": "CTO", + "count": 2, + "files": ["src/lib/data/protocols/nat-traversal.ts", "src/lib/data/protocols/rtp.ts"], + "sample": "turn|TURN}}, and {{ice|ICE}}. Currently CTO + Head of {{ai|AI}} at Five9.' } ]," + }, + { + "stem": "T2T", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go straigh" + }, + { + "stem": "TC", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/zigbee.ts"], + "sample": "} โ€” either an {{arqc|ARQC}} (online) or TC (offline). The cryptogram is signed in" + }, + { + "stem": "TNF", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ifier|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Know" + }, + { + "stem": "IEC", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "{ndef|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NF" + }, + { + "stem": "HID", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "}}, Allegion, Aqara, {{google|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nu" + }, + { + "stem": "EV3", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Classic Crypto1" + }, + { + "stem": "GM", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/uwb.ts"], + "sample": "is, Audi (new in 2025), Volvo, Porsche, GM, Ford, plus a wave of Chinese OEMs (NIO" + }, + { + "stem": "DDA/CDA", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "eturns an AIP byte that signals whether DDA/CDA is supported. A common custom-{{hce|HCE" + }, + { + "stem": "RRP", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "gram|EMV}} **Relay Resistance Protocol (RRP)** in Kernel 2 v2.6+ binds round-trip t" + }, + { + "stem": "T1", + "count": 2, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "DP]] packet with its current timestamp (T1). The packet is tiny โ€” 48 bytes.' }," + }, + { + "stem": "T3", + "count": 2, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "rives (T2) and when it sends the reply (T3). Both timestamps are included in the r" + }, + { + "stem": "T4", + "count": 2, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "ient records when the response arrives (T4). Now it has four timestamps: T1 (sent)" + }, + { + "stem": "NBMA", + "count": 2, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router\\'s {{id-ident" + }, + { + "stem": "HPRF", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "Hz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz** in higher-power mod" + }, + { + "stem": "RTLS", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "f arrival โ€” used for warehouse/hospital RTLS where anchors are wired. **AoA / PDoA:*" + }, + { + "stem": "EN", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "Hz** across 3.1โ€“10.6 GHz. {{etsi|ETSI}} EN 302 065 in Europe is similar with stric" + }, + { + "stem": "AR", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ision Finding, BMW Digital Key, and the AR experiences in {{apple|Apple}} Vision P" + }, + { + "stem": "T2024", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "1-chip|U1}}'s 16 nm), internal codename T2024, part number 339M00298. **1.5ร— longer P" + }, + { + "stem": "U400", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "amsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro|A" + }, + { + "stem": "S21", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "|Apple}} UWB tracker. Works with Galaxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/" + }, + { + "stem": "DW3000", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "upports only Channel 5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {" + }, + { + "stem": "SR150", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {{u1-chip|U1}} onward" + }, + { + "stem": "NLOS", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/meta" + }, + { + "stem": "ACL", + "count": 2, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "r which destination prefix) **and** the ACL (inbound: only accept packets from this" + }, + { + "stem": "TSPU", + "count": 2, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "mimicry', description: \"Russia's TSPU boxes learned to fingerprint and drop s" + }, + { + "stem": "S1/S2", + "count": 2, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "H4 ranges instead of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{d" + }, + { + "stem": "WARP", + "count": 2, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "are}}'s consumer {{vpn|VPN}} (1.1.1.1 + WARP app) runs on **BoringTun**, {{cloudflar" + }, + { + "stem": "OTA", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "ntrol = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an **APSCounter*" + }, + { + "stem": "FOSS", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "and *no* microphone or camera. For the FOSS path the answer is **zigbee2mqtt** by K" + }, + { + "stem": "PSU", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "ble Zigbee โ€” the router's switched-mode PSU emits broadband 2.4 GHz noise.\" } ]," + }, + { + "stem": "CC2652", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted behind" + }, + { + "stem": "SES", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "3 December 2024** VusionGroup (formerly SES-imagotag) announced acceleration of dig" + }, + { + "stem": "ESL", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "500 stores. Vusion shipped 350 million ESLs in 2023 alone; the EdgeSense platform r" + }, + { + "stem": "AIR", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "', description: \"Acuity's nLight AIR and Atrius lines are the dominant Zigbe" + }, + { + "stem": "SUN", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15" + }, + { + "stem": "VSAT", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "llips 66 oil pipelines over a brand-new VSAT satellite link. The 2-byte fixed header" + }, + { + "stem": "PINGREQ", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "ixed header**, smallest control packet (PINGREQ) is 2 bytes total. Designed in 1999 by" + }, + { + "stem": "JMS", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "sia is removed. RabbitMQ 4.3 also added JMS-style queues with {{sql|SQL}} message s" + }, + { + "stem": "NETSCOUT", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "{ kind: 'pull-quote', text: 'NETSCOUT\\'s January 2019 scan found 388,344 publ" + }, + { + "stem": "QLC", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "ey were Chinese smartphones running the QLC Chain {{peer-to-peer|peer-to-peer}} cry" + }, + { + "stem": "EDHOC", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "messages, ~100 bytes', text: '**EDHOC ([[rfc:9000|RFC 9528]], March 2024)** โ€”" + }, + { + "stem": "DH", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "sages totalling ~100 bytes** for static-DH credentials, vs **~700+ bytes for a {{d" + }, + { + "stem": "OSCORE", + "count": 1, + "files": ["src/lib/data/book/parts/async-iot.ts"], + "sample": "years* of additional life. Companion: **OSCORE ([[rfc:8613|RFC 8613]])** wraps the [[c" + }, + { + "stem": "DNA", + "count": 1, + "files": ["src/lib/data/book/parts/famous-outages.ts"], + "sample": "g router carries the same architectural DNA: a control plane that builds the {{rout" + }, + { + "stem": "PREF64", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "clients \"skip [[ip|IPv4]] entirely,\" **PREF64 in Router Advertisements ([[rfc:8781|RF" + }, + { + "stem": "RIR", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "{{roa|ROA}} set. Lesson: enforce 2FA on RIR portals.', attribution: 'Author'" + }, + { + "stem": "OTC", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "fc:9234|RFC 9234]] ([[bgp|BGP]] Roles + OTC) ate its lunch. The lesson: a security" + }, + { + "stem": "MW", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "nal pluggable optics would consume ~180 MW of power for the optics alone. That is" + }, + { + "stem": "X1600", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "AI}} workloads. **{{spectrum|Spectrum}}-X1600 (102.4 Tbps)** is expected 2H 2026.'" + }, + { + "stem": "GB200", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "ption: 'The **{{nvidia|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on" + }, + { + "stem": "NVL72", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "'The **{{nvidia|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on displa" + }, + { + "stem": "COMPUTEX", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "ackwell-architecture rack on display at COMPUTEX 2024 โ€” the kind of {{ai|AI}}-training e" + }, + { + "stem": "WECA", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "as a tagline retrofitted briefly by the WECA board and dropped. The yin-yang logo is" + }, + { + "stem": "OET", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "on **23 February 2024** the {{fcc|FCC}} OET approved **seven {{afc|AFC}} system ope" + }, + { + "stem": "RUCKUS", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "d [[wifi|Wi-Fi]] 7 {{access-point|AP}} (RUCKUS R770) was certified 16 April 2024.** Bu" + }, + { + "stem": "R770", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "i|Wi-Fi]] 7 {{access-point|AP}} (RUCKUS R770) was certified 16 April 2024.** But on" + }, + { + "stem": "SINR", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "squeezes for **+25% throughput at given SINR, โˆ’25% 95th-percentile {{latency|latency" + }, + { + "stem": "MPDU", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"], + "sample": "th-percentile {{latency|latency}}, โˆ’25% MPDU loss across {{bss-coloring|BSS}} transi" + }, + { + "stem": "CS168", + "count": 1, + "files": ["src/lib/data/book/parts/how-to-learn-more.ts"], + "sample": "P]] stack), {{mit|MIT}} 6.829, Berkeley CS168.', slots: [ { kind: 'prose'" + }, + { + "stem": "PARC", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "still runs the original spec. The 1973 PARC sketch and a 2025 Ultra [[ethernet|Ethe" + }, + { + "stem": "KU", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": ", text: '**Mathy Vanhoef and the KU Leuven team have broken [[wifi|Wi-Fi]]" + }, + { + "stem": "DCP", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "rote [[rfc:826|RFC 826]] from address \\`DCP@{{mit|MIT}}-MC\\` in November 1982. **ST" + }, + { + "stem": "MC", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "FC 826]] from address \\`DCP@{{mit|MIT}}-MC\\` in November 1982. **STD 37 has never" + }, + { + "stem": "L2", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "xt: '[[arp|ARP]] relies entirely on the L2 {{checksum|frame check sequence}} โ€” no" + }, + { + "stem": "BRL", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "rote {{ping|ping}} in a single night at BRL Aberdeen in December 1983, named after" + }, + { + "stem": "TOPS-20", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"], + "sample": "st server was named *Jeeves* and ran on TOPS-20.', credit: 'Image: Wikimedia Com" + }, + { + "stem": "KEX", + "count": 1, + "files": ["src/lib/data/book/parts/patterns-failures.ts"], + "sample": "llo|ServerHello}}/Finished, [[ssh|SSH]] KEX, [[mqtt|MQTT]] {{mqtt-connect|CONNECT}}" + }, + { + "stem": "CONNACK", + "count": 1, + "files": ["src/lib/data/book/parts/patterns-failures.ts"], + "sample": "[[mqtt|MQTT]] {{mqtt-connect|CONNECT}}/CONNACK, [[sctp|SCTP]]\\'s four-way {{cookie|Coo" + }, + { + "stem": "DAVE", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "on a whiteboard in 2018.\" Discord\\'s **DAVE protocol** (deployed 1 March 2026) laye" + }, + { + "stem": "MLS", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "otocol** (deployed 1 March 2026) layers MLS keys + SFrame on top of [[rtp|RTP]]/{{s" + }, + { + "stem": "E2EE", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "on top of [[rtp|RTP]]/{{srtp|SRTP}} for E2EE voice across **2.5 million concurrent u" + }, + { + "stem": "M120", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "AV1}} hardware encode shipped in Chrome M120 (Dec 2023). Firefox 125 added {{av1|AV1" + }, + { + "stem": "EME", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "ec 2023). Firefox 125 added {{av1|AV1}}+EME in April 2024. But the royalty-free cla" + }, + { + "stem": "CMAF", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "ate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn|CDN}} serves them ov" + }, + { + "stem": "ISDN", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"], + "sample": "four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp|RTP]]/H.323 โ†’ [[webrtc|WebRTC]]" + }, + { + "stem": "PRNET/SATNET", + "count": 1, + "files": ["src/lib/data/book/parts/story-of-the-internet.ts"], + "sample": "et|ARPANET}}), and unreliable wireless (PRNET/SATNET) each forced different design pressures" + }, + { + "stem": "UCSB", + "count": 1, + "files": ["src/lib/data/book/parts/story-of-the-internet.ts"], + "sample": "rk that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp|IMP}} per site.'," + }, + { + "stem": "EDGE", + "count": 1, + "files": ["src/lib/data/book/parts/story-of-the-internet.ts"], + "sample": "d on 29 June 2007 with [[wifi|Wi-Fi]] + EDGE; the App Store followed in July 2008; {" + }, + { + "stem": "GIGA", + "count": 1, + "files": ["src/lib/data/book/parts/transport.ts"], + "sample": "ple}} {{os|OS}} services, Korea Telecom GIGA Path, some specialised enterprise WANs)" + }, + { + "stem": "CA", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"], + "sample": "te-authority|CA}} signs an intermediate CA, which signs the end-entity {{certifica" + }, + { + "stem": "SIGALRM", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"], + "sample": "{{linux|Linux}}. Signal-handler race: \\`SIGALRM\\` handler calls \\`syslog()\\` (not async" + }, + { + "stem": "UNIX", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"], + "sample": "er than {{arpanet|ARPANET}}, older than UNIX, older than every other timestamp stand" + }, + { + "stem": "Y2036", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"], + "sample": "it and will need fixes before 2036. The Y2036 work has been quietly underway since 20" + }, + { + "stem": "SNDMSG", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"], + "sample": "picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel|Jon Postel]] publ" + }, + { + "stem": "DCE", + "count": 1, + "files": ["src/lib/data/book/parts/web-api.ts"], + "sample": "a 40-year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* ser" + }, + { + "stem": "CORBA", + "count": 1, + "files": ["src/lib/data/book/parts/web-api.ts"], + "sample": "year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* serialises" + }, + { + "stem": "NTIA", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "d States Frequency Allocations Chart**, NTIA. Every coloured stripe is a *service* โ€”" + }, + { + "stem": "WPA", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "|OOB}} key or the Wi-Fi {{ssid|SSID}} + WPA key in an {{ndef|NDEF}} record. **[[zig" + }, + { + "stem": "MIMO", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "11]] โ€” {{csma-ca|CSMA/CA}} in practice, MIMO โ†’ {{ofdma|OFDMA}} โ†’ {{mlo|MLO}}, and th" + }, + { + "stem": "DIFS", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "of the {{airtime|airtime}} is spent on DIFS gaps, {{ack|ACK}} frames, beacons, and" + }, + { + "stem": "NB", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "volte|VoLTE}} / [[wifi|Wi-Fi]] calling, NB-IoT / {{lte|LTE}}-M, satellite {{direct" + }, + { + "stem": "N2/N3", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "an|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in" + }, + { + "stem": "IOS", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "teffen]]\\'s strongSwan, {{cisco|Cisco}} IOS, and Juniper {{junos|Junos}} run more [" + }, + { + "stem": "TACS", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "ar|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{g" + }, + { + "stem": "NMT", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "ular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm|GSM" + }, + { + "stem": "IS-95", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "he early 1980s through 2G {{gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lt" + }, + { + "stem": "CDMA2000", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lte|LTE}}, and {{5g-nr|5G NR}}. E" + }, + { + "stem": "SYS.DDF01", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "t System Environment {{aid|AID}} \\`2PAY.SYS.DDF01\\` โ€” and the card returns an FCI listing" + }, + { + "stem": "A0000000041010", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "The reader picks one (e.g. Mastercard \\`A0000000041010\\`), SELECTs it, gets back a {{pdol|PDOL" + }, + { + "stem": "TX", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "*can* be cheated โ€” a relay with enough TX power makes a distant device look near." + }, + { + "stem": "PAL", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "iority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and **G" + }, + { + "stem": "PMSE", + "count": 1, + "files": ["src/lib/data/book/parts/wireless.ts"], + "sample": "has experimented with similar concepts (PMSE in the UK, {{lsa|LSA}} in some EU pilot" + }, + { + "stem": "PIE", + "count": 1, + "files": ["src/lib/data/category-deep-dives.ts"], + "sample": "{{aqm|Active Queue Management}} (CoDel, PIE, fq_codel) and algorithms like {{bbr|BB" + }, + { + "stem": "SCADA", + "count": 1, + "files": ["src/lib/data/category-stories/async-iot.ts"], + "sample": "on: \"Brought embedded systems and SCADA expertise to [[mqtt|MQTT]]'s design. Co" + }, + { + "stem": "CBOR", + "count": 1, + "files": ["src/lib/data/category-stories/async-iot.ts"], + "sample": "oap|CoAP]] specification and co-created CBOR, the efficient binary {{serialization|s" + }, + { + "stem": "NATS", + "count": 1, + "files": ["src/lib/data/category-stories/async-iot.ts"], + "sample": "o cloud-native microservices ([[amqp]], NATS, [[kafka]]). Today, it's one of the mos" + }, + { + "stem": "P802", + "count": 1, + "files": ["src/lib/data/category-stories/network-foundations.ts"], + "sample": "on 100 G lanes). The 1.6 TbE follow-up (P802.3dj, 200 G/lane) targets July 2026 โ€” dr" + }, + { + "stem": "LO", + "count": 1, + "files": ["src/lib/data/category-stories/transport.ts"], + "sample": "two months before the first successful \"LO\" transmission to SRI.', credit: 'Pho" + }, + { + "stem": "PDP-11", + "count": 1, + "files": ["src/lib/data/category-stories/utilities.ts"], + "sample": "frastructure', caption: \"The DEC PDP-11 โ€” machines like these ran early [[ntp|N" + }, + { + "stem": "POWER", + "count": 1, + "files": ["src/lib/data/category-stories/web-api.ts"], + "sample": "reads \"This machine is a server. DO NOT POWER IT DOWN!!\"', credit: 'Photo: Coolcae" + }, + { + "stem": "DOWN", + "count": 1, + "files": ["src/lib/data/category-stories/web-api.ts"], + "sample": "is machine is a server. DO NOT POWER IT DOWN!!\"', credit: 'Photo: Coolcaesar / CC" + }, + { + "stem": "AAIF", + "count": 1, + "files": ["src/lib/data/category-stories/web-api.ts"], + "sample": "es to the Agentic {{ai|AI}} Foundation (AAIF) and [[a2a|A2A]] launches as a {{linux|" + }, + { + "stem": "RF", + "count": 1, + "files": ["src/lib/data/category-stories/wireless.ts"], + "sample": "'Swedish engineer who owned the analog RF and CMOS implementation work that paire" + }, + { + "stem": "COMDEX", + "count": 1, + "files": ["src/lib/data/category-stories/wireless.ts"], + "sample": "product (a hands-free headset) ships at COMDEX 1999.', protocolId: 'bluetooth'" + }, + { + "stem": "SC-FDMA", + "count": 1, + "files": ["src/lib/data/category-stories/wireless.ts"], + "sample": "preading codes for an {{ofdma|OFDMA}} + SC-FDMA air interface โ€” the clean-sheet radio d" + }, + { + "stem": "IQ", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "ble delivery of presence, messages, and IQ queries.', howTheyWork: 'An [[xmpp" + }, + { + "stem": "AMQPS", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "aps [[amqp|AMQP]] connections to create AMQPS, encrypting all {{broker|message broker" + }, + { + "stem": "MQTTS", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "aps [[mqtt|MQTT]] connections to create MQTTS, encrypting all pub/sub messaging betwe" + }, + { + "stem": "SIPS", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "SIP]] {{signaling|signaling}} to create SIPS, encrypting call setup, authentication," + }, + { + "stem": "WSS", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "ckets|WebSocket]] connections to create WSS (wss://), encrypting the {{full-duplex|" + }, + { + "stem": "M3U8", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "LS]] delivers adaptive video by serving M3U8 playlists and media segments as standar" + }, + { + "stem": "BOSH", + "count": 1, + "files": ["src/lib/data/comparison/pairs.ts"], + "sample": "network without long-polling hacks like BOSH.', howTheyWork: 'The browser opens" + }, + { + "stem": "PROXY", + "count": 1, + "files": ["src/lib/data/concept-foundations.ts"], + "sample": "ess you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}}" + }, + { + "stem": "ARPA", + "count": 1, + "files": ["src/lib/data/concept-foundations.ts"], + "sample": "down in 1986.', caption: 'The ARPA Network in September 1973, a few dozen" + }, + { + "stem": "DHT", + "count": 1, + "files": ["src/lib/data/concept-foundations.ts"], + "sample": "Torrent uses centralised trackers (or a DHT, which is a decentralised tracker) to b" + }, + { + "stem": "SHA384", + "count": 1, + "files": ["src/lib/data/concept-foundations.ts"], + "sample": "DigiCert [[tls|TLS]] Hybrid {{ecc|ECC}} SHA384 โ†’ DigiCert Global Root G3\\`. Only the b" + }, + { + "stem": "G3", + "count": 1, + "files": ["src/lib/data/concept-foundations.ts"], + "sample": "ecc|ECC}} SHA384 โ†’ DigiCert Global Root G3\\`. Only the bottom (root) {{certificate" + }, + { + "stem": "SIGTRAN", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "under telecom {{signaling|signaling}} (SIGTRAN) and [[webrtc|WebRTC]] data channels ([" + }, + { + "stem": "WHATWG", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "only need {{server-push|server push}} (WHATWG).', steps: { 0: 'Standard [[http1|" + }, + { + "stem": "OMA", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "App, and the {{matter|Matter}}-adjacent OMA-LwM2M IoT stack. Encrypted via {{startt" + }, + { + "stem": "CQRS", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "tream processing}}, event sourcing, and CQRS. **{{exactly-once-delivery|Exactly-once" + }, + { + "stem": "T1/T2/T3/T4", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "timestamps per {{exchange|exchange}}** (T1/T2/T3/T4) which cancel out network {{latency|lat" + }, + { + "stem": "TGS", + "count": 1, + "files": ["src/lib/data/diagram-definitions.ts"], + "sample": "ey Distribution Center, split into AS + TGS), and Service. Two {{encryption|encrypt" + }, + { + "stem": "SEND", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "ONNECT}}, {{mqtt-subscribe|SUBSCRIBE}}, SEND, and {{ack|ACK}} are self-explanatory," + }, + { + "stem": "ERP", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "ing queue, maintenance data goes to the ERP integration queue, and raw telemetry go" + }, + { + "stem": "VP8", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "round rules: which codecs they support (VP8, H.264, Opus), what transport addresses" + }, + { + "stem": "DANE", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "d [[dns|DNS]]-based authentication like DANE which allows domain owners to {{mqtt-pu" + }, + { + "stem": "TVR", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "the inputs (amount, currency, country, TVR, {{atc|ATC}}, Unpredictable Number, AIP" + }, + { + "stem": "POS", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "description: \"Modern wireless POS terminals (Square, Stripe, Verifone Eng" + }, + { + "stem": "APPROVED", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "sufficient balance + no fraud flag = **APPROVED**. The issuer returns an **ARPC** (Auth" + }, + { + "stem": "ARPC", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "= **APPROVED**. The issuer returns an **ARPC** (Authorisation Response Cryptogram) o" + }, + { + "stem": "RFRAME", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "n: \"The phone transmits a **Poll** RFRAME on [[uwb|UWB]] Channel 9 (7987.2 MHz, 4" + }, + { + "stem": "LQI", + "count": 1, + "files": ["src/lib/data/journeys.ts"], + "sample": "icks the best parent by {{rssi|RSSI}} + LQI. This is the slowest step โ€” beacon scan" + }, + { + "stem": "WITHDRAWAL", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "-system|AS}} 32934 โ€” and then a wave of WITHDRAWALs of the [[ip|IPv4]] and [[ipv6|IPv6]] pr" + }, + { + "stem": "SERVFAIL", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "ike 1.1.1.1 and 8.8.8.8 start returning SERVFAIL for facebook.com. Apps and humans retry" + }, + { + "stem": "NANOG", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "tion: \"Vince Bono's apology email to NANOG that day is preserved in the archives โ€”" + }, + { + "stem": "RIS", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "ally for hours. {{ripe-ncc|RIPE NCC}}'s RIS data became the canonical post-mortem s" + }, + { + "stem": "LBL", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "delivery less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 4" + }, + { + "stem": "UCB", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "y less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 40 bps โ€”" + }, + { + "stem": "LBL-UCB", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "uplicates. Goodput approaches zero. The LBL-UCB path measures 40 bps where it had measu" + }, + { + "stem": "CT", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "limit damage.\", mistake: \"At 02:42 CT, a network change with an equipment con" + }, + { + "stem": "GSO", + "count": 1, + "files": ["src/lib/data/outages.ts"], + "sample": "ff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed" + }, + { + "stem": "OPEN", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"], + "sample": "'Both routers {{exchange|exchange}} OPEN messages containing their {{autonomous-" + }, + { + "stem": "NLRI", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"], + "sample": "messages containing reachable prefixes (NLRI) with path attributes: {{as-path|AS_PAT" + }, + { + "stem": "EGP", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"], + "sample": "Austin. The previous routing protocol (EGP) was unmanageable. They sketched a repl" + }, + { + "stem": "GTSM", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"], + "sample": "tcha', text: 'Some operators enable GTSM (Generalised {{ttl|TTL}} Security Mecha" + }, + { + "stem": "SBC", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "he mandatory {{codec|codec}} (replacing SBC and saving ~50% battery vs A2DP). **{{a" + }, + { + "stem": "A2DP", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "eplacing SBC and saving ~50% battery vs A2DP). **{{auracast|Auracast}}** is the {{si" + }, + { + "stem": "ISOAL", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "privacy against long-term tracking) and ISOAL improvements for {{le-audio|LE Audio}}" + }, + { + "stem": "EURECOM", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "mes', text: \"Daniele Antonioli (then EURECOM, now PostDoc-and-faculty) is the lead a" + }, + { + "stem": "DPSK", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"], + "sample": "the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble|BLE}}" + }, + { + "stem": "FR1", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave|mmWave}} 24โ€“52" + }, + { + "stem": "LLR", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ion}}. The receiver stores soft-decoded LLRs from failed transmissions and combines" + }, + { + "stem": "RLC", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "er compression', description: '**RLC** runs in TM (transparent), UM (unackno" + }, + { + "stem": "TM", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "', description: '**RLC** runs in TM (transparent), UM (unacknowledged), or" + }, + { + "stem": "UM", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "'**RLC** runs in TM (transparent), UM (unacknowledged), or AM (acknowledged)" + }, + { + "stem": "AM", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "(transparent), UM (unacknowledged), or AM (acknowledged) mode with 10- or 16-bit" + }, + { + "stem": "PDCP", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ce numbers}} ({{ts-3gpp|TS}} 38.322). **PDCP** above it ({{ts-3gpp|TS}} 38.323) does" + }, + { + "stem": "ROHC", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "* above it ({{ts-3gpp|TS}} 38.323) does ROHC {{header|header compression}} (squashin" + }, + { + "stem": "USIM", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "hentication vector, and the {{ue|UE}}'s USIM verifies AUTN and computes RES*. After" + }, + { + "stem": "AUTN", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ctor, and the {{ue|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode" + }, + { + "stem": "RES", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode Command, {{nas|NA" + }, + { + "stem": "PCF", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **netwo" + }, + { + "stem": "NRF", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network fu" + }, + { + "stem": "NEF", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": ", {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network functio" + }, + { + "stem": "NSSF", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "usf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** wi" + }, + { + "stem": "AF", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "SF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with a" + }, + { + "stem": "GPRS", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "|UPF}} travel over **{{gtp-u|GTP-U}}** (GPRS Tunnelling Protocol โ€” User plane) on [[" + }, + { + "stem": "ML", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "vanced release. New features: {{ai|AI}}/ML in the air interface (CSI feedback comp" + }, + { + "stem": "CSI", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "res: {{ai|AI}}/ML in the air interface (CSI feedback compression, beam management)," + }, + { + "stem": "SOS", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "{{apple|Apple}}\\'s Globalstar Emergency SOS round out the satellite-{{direct-to-cel" + }, + { + "stem": "Q3", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "use cloud-native {{5g-core|5G core}} by Q3 2025; the network averages 6.5 PB/day." + }, + { + "stem": "NEC", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "land. Multi-vendor mix: Samsung radios, NEC baseband, Wind River cloud platform. Th" + }, + { + "stem": "ARIB", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "partnership of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CC" + }, + { + "stem": "TTC", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "rship of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (Ch" + }, + { + "stem": "ATIS", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "si|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (I" + }, + { + "stem": "CCSA", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "IB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Ev" + }, + { + "stem": "TSDSI", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "n), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular ph" + }, + { + "stem": "TTA", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular phone on Earth" + }, + { + "stem": "IMSI", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "obile Country Code at the start of your IMSI is the protocol\\'s private numbering pl" + }, + { + "stem": "MCC/MNC", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ce. Your roaming bill itemises calls by MCC/MNC pair.' }, { title: \"The CDMA-vs-" + }, + { + "stem": "CTIA", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "tial\", text: 'In January 1989 the US CTIA voted for {{tdma|TDMA}}; later that yea" + }, + { + "stem": "DT", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "USA, Reliance Jio, parts of Verizon and DT), the {{ue|UE}} receives **only an [[ip" + }, + { + "stem": "PLAT", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": ") โ€” {{clat-acr|CLAT}} on the {{ue|UE}}, PLAT/{{nat64|NAT64}} at the operator. **Pitf" + }, + { + "stem": "N6", + "count": 1, + "files": ["src/lib/data/protocols/cellular.ts"], + "sample": "ode 4 (Frag Needed) messages on the SGi/N6 side. The {{mtu|MTU}} on a {{gtp-u|GTP-" + }, + { + "stem": "EDNS", + "count": 1, + "files": ["src/lib/data/protocols/dns.ts"], + "sample": "byte response. Today the limit is moot (EDNS allows larger responses), but the 13-le" + }, + { + "stem": "ALIAS", + "count": 1, + "files": ["src/lib/data/protocols/dns.ts"], + "sample": "ords. Some [[dns|DNS]] providers offer \"ALIAS\" or \"ANAME\" pseudo-records that work ar" + }, + { + "stem": "ANAME", + "count": 1, + "files": ["src/lib/data/protocols/dns.ts"], + "sample": "[[dns|DNS]] providers offer \"ALIAS\" or \"ANAME\" pseudo-records that work around this;" + }, + { + "stem": "USER", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "o server port 21 and authenticates with USER and PASS commands. This connection stay" + }, + { + "stem": "PASS", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "port 21 and authenticates with USER and PASS commands. This connection stays open fo" + }, + { + "stem": "CWD", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "ient browses the remote filesystem with CWD (change directory), PWD (print working" + }, + { + "stem": "PWD", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "filesystem with CWD (change directory), PWD (print working directory), and LIST (di" + }, + { + "stem": "LIST", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "ry), PWD (print working directory), and LIST (directory listing). All commands are h" + }, + { + "stem": "PASV", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "CP]] connection opens. In passive mode (PASV), the server tells the client which por" + }, + { + "stem": "RETR", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": "er', description: 'Client issues RETR (download) or STOR (upload). Data flows" + }, + { + "stem": "STOR", + "count": 1, + "files": ["src/lib/data/protocols/ftp.ts"], + "sample": ": 'Client issues RETR (download) or STOR (upload). Data flows on the data connec" + }, + { + "stem": "SETTINGS", + "count": 1, + "files": ["src/lib/data/protocols/http2.ts"], + "sample": "client and server {{exchange|exchange}} SETTINGS frames establishing max concurrent stre" + }, + { + "stem": "RR", + "count": 1, + "files": ["src/lib/data/protocols/http3.ts"], + "sample": "st. The HTTPS [[dns|DNS]] record (HTTPS RR, [[rfc:9460|RFC 9460]]) closes this gap" + }, + { + "stem": "VT100", + "count": 1, + "files": ["src/lib/data/protocols/icmp.ts"], + "sample": "a DEC PDP-11/70', caption: 'A DEC VT100 terminal โ€” the type of terminal where e" + }, + { + "stem": "INBOX", + "count": 1, + "files": ["src/lib/data/protocols/imap.ts"], + "sample": "ription: 'Client selects a mailbox (INBOX, Drafts, Sent, etc.). Server reports me" + }, + { + "stem": "UIDVALIDITY", + "count": 1, + "files": ["src/lib/data/protocols/imap.ts"], + "sample": ", recent messages, available flags, and UIDVALIDITY for cache validation.' }, { titl" + }, + { + "stem": "SEARCH", + "count": 1, + "files": ["src/lib/data/protocols/imap.ts"], + "sample": "tion: 'Client searches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modi" + }, + { + "stem": "FROM", + "count": 1, + "files": ["src/lib/data/protocols/imap.ts"], + "sample": "'Client searches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modifies" + }, + { + "stem": "SINCE", + "count": 1, + "files": ["src/lib/data/protocols/imap.ts"], + "sample": "arches server-side (SEARCH FROM \"alice\" SINCE 1-Mar-2024) and modifies flags (\\\\Seen," + }, + { + "stem": "SPD", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "matching the Security Policy Database (SPD) is wrapped in an **{{esp|ESP}} {{heade" + }, + { + "stem": "CRYSTALS", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "s|FIPS}} 203 โ€” the standardised form of CRYSTALS-Kyber. This is the post-quantum {{kem|K" + }, + { + "stem": "KE", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "ge}} and [[rfc:9370|RFC 9370]] multiple-KE โ€” meaning two or more KEMs (e.g. classi" + }, + { + "stem": "TFS", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "[[rfc:9347|RFC 9347]] {{ip-address|IP}}-TFS (Traffic Flow Security โ€” fixed-size agg" + }, + { + "stem": "WG", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": ". Fifth revision of the [[ipsec|IPsec]] WG draft that bakes {{ml-kem|ML-KEM}} into" + }, + { + "stem": "HSR", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "escription: 'strongSwan (originally HSR Rapperswil, now under [[pioneer:andreas" + }, + { + "stem": "OST", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "dreas-steffen|Andreas Steffen]] and the OST team; owned by secunet AG since June 20" + }, + { + "stem": "AG", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "en]] and the OST team; owned by secunet AG since June 2022, central to the BSI SIN" + }, + { + "stem": "BSI", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "unet AG since June 2022, central to the BSI SINA high-security solution) and Libres" + }, + { + "stem": "SINA", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "AG since June 2022, central to the BSI SINA high-security solution) and Libreswan (" + }, + { + "stem": "GCM", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "VPN}} ({{ikev2|IKEv2}}, {{aes|AES}}-256-GCM, {{ecdh|ECDH}} groups 19โ€“24, 5 Gbps/tun" + }, + { + "stem": "AZ", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "VPN}} Gateway (10 Gbps aggregate on the AZ-redundant SKU), {{gcp|GCP}} Cloud {{vpn" + }, + { + "stem": "OCI", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "nt SKU), {{gcp|GCP}} Cloud {{vpn|VPN}}, OCI Site-to-Site {{vpn|VPN}}. [[ipsec|IPsec" + }, + { + "stem": "VPC", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "mqtt-connect|connect}} my on-prem to my VPC\" sku across every cloud.' }, { o" + }, + { + "stem": "ITAR", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "same code as a regulated munition under ITAR. *Karn v. U.S. State Department* became" + }, + { + "stem": "BENIGNCERTAIN", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "dow Brokers leak (August 2016) revealed BENIGNCERTAIN โ€” an NSA exploit that extracted {{cisco" + }, + { + "stem": "PIX", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "exploit that extracted {{cisco|Cisco}} PIX {{vpn|VPN}} private keys from IKEv1 ({{" + }, + { + "stem": "PPK", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "table. [[rfc:8784|RFC 8784]] ({{pq|PQ}}-PPK) is co-authored by {{cisco|Cisco}}, {{a" + }, + { + "stem": "ELVIS-PLUS", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "ed by {{cisco|Cisco}}, {{aws|AWS}}, and ELVIS-PLUS engineers โ€” [[ipsec|IPsec]] has always" + }, + { + "stem": "ECMP", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "efault to **32 entries**. On a 10 Gbps+ ECMP-parallel tunnel ({{linux|Linux}} {{xfrm" + }, + { + "stem": "KB", + "count": 1, + "files": ["src/lib/data/protocols/ipsec.ts"], + "sample": "he connection hangs after the first few KB. **Cure:** [[tcp|TCP]] {{mss|MSS}} clam" + }, + { + "stem": "IDL", + "count": 1, + "files": ["src/lib/data/protocols/json-rpc.ts"], + "sample": "] strips this to pure {{json|JSON}}: no IDL, no code generation, no binary encoding" + }, + { + "stem": "TGS-REQ", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "TTP}}/web1.example.com\\`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}\\'s {{kerb" + }, + { + "stem": "REP", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "eb1 returns an **{{ap-access-point|AP}}-REP** with its own timestamp for {{mtls|mut" + }, + { + "stem": "EXAMPLE.COM", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "ls', description: \"When Alice in EXAMPLE.COM wants to access a service in PARTNER.CO" + }, + { + "stem": "SMB", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "(`Authorization: Negotiate <base64>`), SMB, LDAP, and other applications transpare" + }, + { + "stem": "LDAP", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "thorization: Negotiate <base64>`), SMB, LDAP, and other applications transparently u" + }, + { + "stem": "EC", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "adline features: **PKINIT {{ecdh|ECDH}}/EC certs** (smart-card auth on {{curve2551" + }, + { + "stem": "FAST", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "P-384), **paChecksum2** support (longer FAST-armored {{checksum|checksum}} to retire" + }, + { + "stem": "SU/KTH", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "to {{mit|MIT}} Kerberos, originated at SU/KTH in Sweden. {{apple|Apple}} shipped Heim" + }, + { + "stem": "KER", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "g crosses without a ticket. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in mo" + }, + { + "stem": "KEHR", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "t. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in modern Greek.' }, { t" + }, + { + "stem": "V5", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "ld ship Kerberos-shaped applications. **V5** ([[rfc:4120|RFC 4120]], 2005) was des" + }, + { + "stem": "UDP/123", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "[[ntp|NTP]] servers, firewalls blocking UDP/123, virtualised {{hosts-bare|hosts}} with" + }, + { + "stem": "FQDN", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "ails. **Cure:** register both short and FQDN SPNs in the keytab; set `dns_canonicali" + }, + { + "stem": "NEA1", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "y|AD}} environments have **{{rc4|RC4}} (NEA1)** still enabled โ€” the {{encryption|enc" + }, + { + "stem": "NT", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"], + "sample": "cause {{rc4|RC4}} keys are derived from NT hash and brute-force in hours. **Cure:*" + }, + { + "stem": "FB", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "\\`224.0.0.251\\` ([[ipv6|IPv6]]: \\`FF02::FB\\`). Two flag bits get repurposed: the h" + }, + { + "stem": "DLA-3990", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "DNS]] implementation. Patched in Debian DLA-3990 (December 2024); still under active mai" + }, + { + "stem": "CAPWAP", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "}} at 100% and Access Points lose their CAPWAP tunnel. The latest in a decade-long pat" + }, + { + "stem": "LGPL", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "nux|Linux}}/{{bsd|BSD}} implementation, LGPL, maintained by Trent Lloyd. Bundled by" + }, + { + "stem": "BBC", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "a 16-player networked tank game on the BBC Micro in 1987 and ported it to the Mac." + }, + { + "stem": "COBS", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "ed **Consistent Overhead Byte Stuffing (COBS)** โ€” the framing algorithm now widely u" + }, + { + "stem": "BAF", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "l\" ({{ndss-conf|NDSS}} 2014)** measured BAF up to ~10ร— for mDNS. **CERT/CC VU#55062" + }, + { + "stem": "CERT/CC", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": ")** measured BAF up to ~10ร— for mDNS. **CERT/CC VU#550620 (March 2015)** and **Akamai (" + }, + { + "stem": "VU", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "ured BAF up to ~10ร— for mDNS. **CERT/CC VU#550620 (March 2015)** and **Akamai (Dec" + }, + { + "stem": "BCP", + "count": 1, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts"], + "sample": "cal {{unicast|unicast}} queries; deploy BCP 38 ingress filtering.' }, { t" + }, + { + "stem": "DSN", + "count": 1, + "files": ["src/lib/data/protocols/mptcp.ts"], + "sample": "ta {{sequence-number|Sequence Number}} (DSN) ensures correct ordering across all su" + }, + { + "stem": "TB", + "count": 1, + "files": ["src/lib/data/protocols/nat-traversal.ts"], + "sample": "5+ locations with $0.05/GB egress and 1 TB free per month โ€” the first major price" + }, + { + "stem": "FINGERPRINT", + "count": 1, + "files": ["src/lib/data/protocols/nat-traversal.ts"], + "sample": "p-address|IP}} version field, but the **FINGERPRINT** attribute {{checksum|checksum}} is XO" + }, + { + "stem": "SOCKS", + "count": 1, + "files": ["src/lib/data/protocols/nat-traversal.ts"], + "sample": "l`/`Frida` and use the server as a free SOCKS-style proxy into your private network." + }, + { + "stem": "NFC-A/B/F", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "range is โ‰ค10 cm for {{iso|ISO}} 14443 (NFC-A/B/F) and historically โ‰ค1 m for {{iso|ISO}}" + }, + { + "stem": "ALM", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "e {{load-modulation|load modulation}}* (ALM) instead, generating a small reflected" + }, + { + "stem": "WUPA", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "adcasts a 7-bit {{reqa|REQA}} (0x26) or WUPA (0x52) short frame; the card responds w" + }, + { + "stem": "NVB", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "collision}}** loop with {{sel-iso|SEL}}+NVB frames ({{sel-iso|SEL}}=0x93 for cascad" + }, + { + "stem": "CL2", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "EL}}=0x93 for cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte" + }, + { + "stem": "CL3", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte of the {{uid|" + }, + { + "stem": "FWI", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "negotiate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go s" + }, + { + "stem": "RECORD", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ich files to read; {{read-record|READ}} RECORDs pull the {{pan-id|PAN}}, expiry, and pu" + }, + { + "stem": "MB/ME", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "cord begins with a 1-byte header โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), S" + }, + { + "stem": "CF", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "eader โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte" + }, + { + "stem": "SR", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "E (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte length vs 4), IL" + }, + { + "stem": "IL", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "SR (Short Record โ€” 1-byte length vs 4), IL ({{id-identifier|ID}} Length present)," + }, + { + "stem": "NFC-WLC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "EC standard in **March 2026** alongside NFC-WLC.\" }, { title: 'Three transports," + }, + { + "stem": "FPAN", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "rdholder's real Funding {{pan-id|PAN}} (FPAN) is never stored on the device; instead" + }, + { + "stem": "EEA", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "eld-Detect. Available **only inside the EEA** (27 EU states + Iceland, Liechtenstei" + }, + { + "stem": "CMA", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "emplated and the watch-items are the UK CMA, Japan JFTC, and Australian ACCC.\"," + }, + { + "stem": "JFTC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "d the watch-items are the UK CMA, Japan JFTC, and Australian ACCC.\", source: {" + }, + { + "stem": "ACCC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "the UK CMA, Japan JFTC, and Australian ACCC.\", source: { url: 'https://ec.eu" + }, + { + "stem": "CR15", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ting volume). Certification Release 15 (CR15) accepts applications by early 2026; fu" + }, + { + "stem": "DK3", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "line: *cross-version compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa." + }, + { + "stem": "DK4", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa. **115 vehicle/modul" + }, + { + "stem": "ESPR", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "gn for Sustainable Products Regulation (ESPR).\", source: { url: 'https://nfc-" + }, + { + "stem": "CIPURSE", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "smart cards ({{mifare|MIFARE}}, FeliCa, CIPURSE), TfL bet on **bank-issued {{emv-crypto" + }, + { + "stem": "DG1", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "with a small {{icao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signatur" + }, + { + "stem": "DG2", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index," + }, + { + "stem": "EF.SOD", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "ile system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional" + }, + { + "stem": "EF.COM", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional DG3 fingerprints /" + }, + { + "stem": "DG3", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "signature, EF.COM index, plus optional DG3 fingerprints / DG4 iris). The reader ca" + }, + { + "stem": "DG4", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "index, plus optional DG3 fingerprints / DG4 iris). The reader cannot get any data w" + }, + { + "stem": "BAC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "he reader cannot get any data without **BAC** (legacy 3DES from MRZ) or **PACE** (m" + }, + { + "stem": "PACE", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "out **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh|ECDH}} from MRZ or 6-d" + }, + { + "stem": "DTC-PC/VC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "it CAN). The Digital Travel Credential (DTC-PC/VC) โ€” passport on phone โ€” is in airport pi" + }, + { + "stem": "EV1", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "e|MIFARE}} Classic in **1994**, DESFire EV1 in **2006**, {{mifare|MIFARE}} Plus in" + }, + { + "stem": "EV2", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "fare|MIFARE}} Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Cl" + }, + { + "stem": "EAL5", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "nts โ€” full {{aes|AES}}, Common Criteria EAL5+, side-channel hardened. Dutch OV-chipk" + }, + { + "stem": "ZEEKR", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": ", XPENG, Geely group โ€” Volvo, Polestar, ZEEKR, Lynk & Co., smart, Lotus).\" } ]," + }, + { + "stem": "LC", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "PCD}} and {{picc|PICC}} each present an LC resonant tank around 13.56 MHz; small d" + }, + { + "stem": "PN553", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "lation}} in the controller ({{nxp|NXP}} PN553 onward). Q factor: lower Q broadens the" + }, + { + "stem": "CDA", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "am|EMV}} Mode** (normal 'fast tap' with CDA). The card returns an AIP byte that sig" + }, + { + "stem": "TU", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"], + "sample": "to a confederate's phone at a terminal. TU Darmstadt's **NFCGate** (2015+) made th" + }, + { + "stem": "T2-T1", + "count": 1, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "description: '{{offset|Offset}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-" + }, + { + "stem": "T3-T4", + "count": 1, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "n: '{{offset|Offset}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The c" + }, + { + "stem": "T4-T1", + "count": 1, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "t}} = ((T2-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The clock is adjusted gradu" + }, + { + "stem": "T3-T2", + "count": 1, + "files": ["src/lib/data/protocols/ntp.ts"], + "sample": "-T1) + (T3-T4)) / 2. Delay = (T4-T1) - (T3-T2). The clock is adjusted gradually to av" + }, + { + "stem": "INITIAL", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "fc-doc|RFC}} 8405 {{spf|SPF}} back-off (INITIAL/SHORT_WAIT/LONG_WAIT) throttles {{spf|S" + }, + { + "stem": "TE", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "with its own metric ({{igp|IGP}} cost, TE cost, min-delay) and constraints (inclu" + }, + { + "stem": "SID", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "Rv6 Locator advertisement, and SRv6 End SID encoding to [[ospf|OSPFv3]]. Edited by" + }, + { + "stem": "FAD", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "-2}} keychain authentication, Flex-Algo FAD with {{srlg|SRLG}}-exclude, and link-de" + }, + { + "stem": "ACX/PTX", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"], + "sample": "xclude, and link-delay normalisation on ACX/PTX hardware โ€” bringing Flex-Algo from \"shi" + }, + { + "stem": "C0/S0", + "count": 1, + "files": ["src/lib/data/protocols/rtmp.ts"], + "sample": "[[rtmp|RTMP]] {{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps an" + }, + { + "stem": "C1/S1", + "count": 1, + "files": ["src/lib/data/protocols/rtmp.ts"], + "sample": "|RTMP]] {{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps and rando" + }, + { + "stem": "C2/S2", + "count": 1, + "files": ["src/lib/data/protocols/rtmp.ts"], + "sample": "{{handshake|handshake}} (C0/S0, C1/S1, C2/S2) exchanging timestamps and random bytes" + }, + { + "stem": "ECHO", + "count": 1, + "files": ["src/lib/data/protocols/sctp.ts"], + "sample": "k|INIT}}-{{ack|ACK}}, {{cookie|COOKIE}}-ECHO, {{cookie|COOKIE}}-{{ack|ACK}}) that pr" + }, + { + "stem": "SAVPF", + "count": 1, + "files": ["src/lib/data/protocols/sdp.ts"], + "sample": "video), transport protocol ([[rtp|RTP]]/SAVPF), port number, and list of supported {{" + }, + { + "stem": "CTS-3000", + "count": 1, + "files": ["src/lib/data/protocols/sdp.ts"], + "sample": "n: 'The {{cisco|Cisco}} TelePresence CTS-3000 prototype โ€” the kind of immersive video" + }, + { + "stem": "PJSIP", + "count": 1, + "files": ["src/lib/data/protocols/sip.ts"], + "sample": "fg) # Sends SIP REGISTER`, caption: 'PJSIP registers with a [[sip|SIP]] server โ€” t" + }, + { + "stem": "PLAIN", + "count": 1, + "files": ["src/lib/data/protocols/smtp.ts"], + "sample": "ogin-auth|LOGIN}} or {{smtp-auth|AUTH}} PLAIN.' }, { title: 'Envelope & messag" + }, + { + "stem": "USDA", + "count": 1, + "files": ["src/lib/data/protocols/soap.ts"], + "sample": ": 'The {{ibm|IBM}} System/360 at the USDA (1966). Mainframes like these laid the" + }, + { + "stem": "MESSAGE", + "count": 1, + "files": ["src/lib/data/protocols/stomp.ts"], + "sample": "ers matching messages to subscribers as MESSAGE frames. Client can {{ack|ACK}}/{{nack|N" + }, + { + "stem": "LDP", + "count": 1, + "files": ["src/lib/data/protocols/tcp.ts"], + "sample": "p|TCP]]-{{md5|MD5}} used by [[bgp|BGP]]/LDP. Same release added microsecond-resolut" + }, + { + "stem": "MSL", + "count": 1, + "files": ["src/lib/data/protocols/tcp.ts"], + "sample": "-wait|TIME_WAIT}}** for ~60 seconds (2ร— MSL) on {{linux|Linux}}. Why? A delayed seg" + }, + { + "stem": "ACME", + "count": 1, + "files": ["src/lib/data/protocols/tls.ts"], + "sample": "or the web. All certificates issued via ACME. ~3M certificates renewed daily.' }" + }, + { + "stem": "IR-UWB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "d of modulating a continuous carrier, **IR-UWB** transmits sub-nanosecond Gaussian-mon" + }, + { + "stem": "BPM", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "lses at one of two time-slot positions (BPM) with chosen polarity ({{bpsk|BPSK}}) โ€”" + }, + { + "stem": "GAP", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "liro|Aliro 1.0}}**: **(1)** {{ble|BLE}} GAP advertising with the application's serv" + }, + { + "stem": "TB/NTB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "10โ€“30 cm. *Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrast" + }, + { + "stem": "PASN", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrastructure:*" + }, + { + "stem": "PSD", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "\"{{fcc|FCC}} Part 15.519 caps average PSD at **โˆ’41.3 dBm/MHz** across 3.1โ€“10.6 GH" + }, + { + "stem": "AV", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "la Model 3 / Y phone-as-a-key (CVSS 6.8 AV:A/AC:H/PR:N/{{ui|UI}}:N/S:U/C:H/I:H/A:N" + }, + { + "stem": "AC", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "del 3 / Y phone-as-a-key (CVSS 6.8 AV:A/AC:H/PR:N/{{ui|UI}}:N/S:U/C:H/I:H/A:N). ~$" + }, + { + "stem": "PIN", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "Kwikset/Weiser Kevo. Tesla recommended PIN-to-Drive as a stopgap; the deeper indus" + }, + { + "stem": "D02", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "sed to **Draft D03 in September 2025** (D02 March 2025), with ratification expected" + }, + { + "stem": "NCAP", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "d-presence detection (driven by EU Euro NCAP rules from 2025); LRP+{{hrp-uwb|HRP}} d" + }, + { + "stem": "LRP", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "riven by EU Euro NCAP rules from 2025); LRP+{{hrp-uwb|HRP}} dual-mode hardware supp" + }, + { + "stem": "ST64UWB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ound {{sts|STS}}. STMicroelectronics' **ST64UWB** (announced Q1 2026, 18 nm FD-SOI) is" + }, + { + "stem": "FD-SOI", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "' **ST64UWB** (announced Q1 2026, 18 nm FD-SOI) is the first commercial 4ab silicon, w" + }, + { + "stem": "VW", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "edes, Hyundai/Kia, Audi (new for 2025), VW, Porsche, GM, Ford, and Chinese OEMs (N" + }, + { + "stem": "ASSA", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "le|Apple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroel" + }, + { + "stem": "ABLOY", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroelectron" + }, + { + "stem": "EQS", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "on the Wallet-based Digital Key for the EQS and S-Class from 2022. **{{nxp|NXP}} SR" + }, + { + "stem": "S22/S23/S24", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "laxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/S24 (UWB-equipped models) for AR-based dire" + }, + { + "stem": "U100", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ung's **Exynos {{mqtt-connect|Connect}} U100** in-house UWB silicon also shipped in" + }, + { + "stem": "PTP", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "} over wired [[ethernet|Ethernet]] with PTP-grade clock distribution. **{{cisco|Cis" + }, + { + "stem": "L1", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "d-won against {{gps|GPS}} (operating at L1=1575.42 MHz), avionics, and DoD interes" + }, + { + "stem": "EIRP", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "-of-life systems. The **โˆ’41.3 dBm/MHz** EIRP limit is essentially the ยง15.209 backgr" + }, + { + "stem": "MB-OFDM", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "After three years of deadlock between **MB-OFDM** ({{intel|Intel}} + WiMedia Alliance)" + }, + { + "stem": "DS-UWB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "intel|Intel}} + WiMedia Alliance) and **DS-UWB** (Freescale + UWB Forum), neither side" + }, + { + "stem": "HI", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "ty required to ratify. At the Waikoloa, HI interim on **19 January 2006** the task" + }, + { + "stem": "DW1000", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "Hz wide. Older silicon ({{qorvo|Qorvo}} DW1000) supports only Channel 5; everything fr" + }, + { + "stem": "PCB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "handle UWB anchors typically use planar PCB patches with carefully controlled groun" + }, + { + "stem": "BLE/UWB", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "eeps the user in their car. **(d)** Log BLE/UWB transition failures separately for diag" + }, + { + "stem": "CIR", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "rection using channel-impulse-response (CIR) features; recent Adaptive Kalman Filte" + }, + { + "stem": "LOS", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "lace infrastructure anchors to maximise LOS to the working volume; ceiling mounts a" + }, + { + "stem": "PRF", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"], + "sample": "**(b)** Use {{bprf|BPRF}} (~64 MHz mean PRF) for tag-side rather than HPRF. **(c)**" + }, + { + "stem": "EAPOL", + "count": 1, + "files": ["src/lib/data/protocols/wifi.ts"], + "sample": "{{access-point|AP}} perform a 4-message EAPOL {{handshake|handshake}} to derive per-s" + }, + { + "stem": "RA", + "count": 1, + "files": ["src/lib/data/protocols/wifi.ts"], + "sample": "AC}} addresses (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with th" + }, + { + "stem": "TA", + "count": 1, + "files": ["src/lib/data/protocols/wifi.ts"], + "sample": "addresses (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with the se" + }, + { + "stem": "DA", + "count": 1, + "files": ["src/lib/data/protocols/wifi.ts"], + "sample": "es (three typically used) โ€” RA, TA, and DA โ€” and are encrypted with the session ke" + }, + { + "stem": "BSSID", + "count": 1, + "files": ["src/lib/data/protocols/wifi.ts"], + "sample": "capy in monitor mode โ€” revealing SSIDs, BSSIDs, and channels', alternatives: [ {" + }, + { + "stem": "MAC1", + "count": 1, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "a {{wg-tai64n|TAI64N timestamp}}. Plus MAC1 (proves the initiator knows the respond" + }, + { + "stem": "MAC2", + "count": 1, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "iator knows the responder's pubkey) and MAC2 ({{cookie|cookie}} under load, DoS shie" + }, + { + "stem": "H1", + "count": 1, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "et sizes, randomised header type bytes (H1โ€“H4 ranges instead of fixed 1โ€“4), random" + }, + { + "stem": "H4", + "count": 1, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "sizes, randomised header type bytes (H1โ€“H4 ranges instead of fixed 1โ€“4), random S1" + }, + { + "stem": "AWG", + "count": 1, + "files": ["src/lib/data/protocols/wireguard.ts"], + "sample": "ad of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{dns-resolution" + }, + { + "stem": "XEP", + "count": 1, + "files": ["src/lib/data/protocols/xmpp.ts"], + "sample": "e base protocol is minimal. Hundreds of XEPs add features: multi-user chat, {{http-m" + }, + { + "stem": "QPSK", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "The dominant {{phy|PHY}} is **2.4 GHz O-QPSK** with 16 channels (11โ€“26), 5 MHz spaci" + }, + { + "stem": "NA", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "kbit/s {{bpsk|BPSK}}) and 902โ€“928 MHz (NA, 40 kbit/s {{bpsk|BPSK}}) give better w" + }, + { + "stem": "FSK", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "terference at lower bit rates; R23 adds FSK PHYs in those same bands. {{frame|Frame" + }, + { + "stem": "PSDU", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "me|Frames}} are bounded at **127 octets PSDU** with a **16-bit {{checksum|FCS}}**. T" + }, + { + "stem": "CSMA-CA", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "The {{mac-address|MAC}} uses unslotted CSMA-CA in most deployments (FFDs as routers, R" + }, + { + "stem": "R20", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "mesh {{routing-table|routing}}** (since R20, 2007). Every mains-powered router main" + }, + { + "stem": "TI", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "t, dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted" + }, + { + "stem": "MMO-128", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "urve25519|Curve25519}} with {{aes|AES}}-MMO-128 (kills the *ZigBeeAlliance09* default-k" + }, + { + "stem": "IR", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "]], Power-over-Ethernet, {{usb|USB}}-C, IR blaster, **8 GB encrypted local storage" + }, + { + "stem": "BOM", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "a Bluetooth Low Energy radio, reducing BOM cost for cheaper {{matter|Matter}}-brid" + }, + { + "stem": "ZLL", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "sy that nudged Signify back to standard ZLL compatibility. IKEA remains an active {" + }, + { + "stem": "ROAM", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "ns covering Atrius, nLight, nLight AIR, ROAM, SensorSwitch, Synergy, and XPoint Wire" + }, + { + "stem": "GPL", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "s from 568 vendors', text: \"A single GPL-licensed Node.js project โ€” maintained p" + }, + { + "stem": "NV", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "ke regular backups of the coordinator's NV (zigbee2mqtt writes `coordinator_backup" + }, + { + "stem": "UPS", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "cally); **(b)** keep the Coordinator on UPS or PoE; **(c)** use a {{usb|USB}} exten" + }, + { + "stem": "SSD", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "gle away from {{usb|USB}} 3.0 ports and SSDs, which emit 2.4 GHz noise; **(d)** cons" + }, + { + "stem": "EFR32", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"], + "sample": "child-table size on a typical CC2652 / EFR32 firmware is **32**; the Sonoff ZBDongle" + } + ], + "concept": [ + { + "stem": "API", + "suggestedId": "api", + "count": 32, + "files": [ + "src/lib/data/book/parts/web-api.ts", + "src/lib/data/category-deep-dives.ts", + "src/lib/data/category-stories/web-api.ts", + "src/lib/data/comparison/pairs.ts", + "src/lib/data/diagram-definitions.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/graphql.ts", + "src/lib/data/protocols/oauth2.ts", + "src/lib/data/protocols/rest.ts", + "src/lib/data/protocols/tcp.ts" + ] + }, + { + "stem": "NAT", + "suggestedId": "nat", + "count": 13, + "files": [ + "src/lib/data/book/parts/patterns-failures.ts", + "src/lib/data/comparison/pairs.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/nat-traversal.ts" + ] + }, + { + "stem": "URL", + "suggestedId": "url", + "count": 11, + "files": [ + "src/lib/data/category-stories/web-api.ts", + "src/lib/data/comparison/pairs.ts", + "src/lib/data/diagram-definitions.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/dash.ts", + "src/lib/data/protocols/hls.ts", + "src/lib/data/protocols/nat-traversal.ts", + "src/lib/data/protocols/tls.ts" + ] + }, + { + "stem": "RFC", + "suggestedId": "rfc-doc", + "count": 10, + "files": [ + "src/lib/data/book/parts/how-to-learn-more.ts", + "src/lib/data/category-stories/utilities.ts", + "src/lib/data/protocols/nat-traversal.ts", + "src/lib/data/protocols/ospf.ts" + ] + }, + { + "stem": "CDN", + "suggestedId": "cdn-acr", + "count": 8, + "files": [ + "src/lib/data/category-stories/realtime-av.ts", + "src/lib/data/comparison/pairs.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/hls.ts", + "src/lib/data/protocols/quic.ts", + "src/lib/data/protocols/tls.ts" + ] + }, + { + "stem": "LSA", + "suggestedId": "lsa", + "count": 6, + "files": ["src/lib/data/protocols/ospf.ts"] + }, + { + "stem": "IMP", + "suggestedId": "imp", + "count": 4, + "files": [ + "src/lib/data/book/parts/story-of-the-internet.ts", + "src/lib/data/concept-foundations.ts", + "src/lib/data/outages.ts" + ] + }, + { + "stem": "AP", + "suggestedId": "ap-access-point", + "count": 4, + "files": [ + "src/lib/data/category-deep-dives.ts", + "src/lib/data/protocols/bluetooth.ts", + "src/lib/data/protocols/mdns-dns-sd.ts", + "src/lib/data/protocols/uwb.ts" + ] + }, + { + "stem": "MAC", + "suggestedId": "mac-media", + "count": 4, + "files": [ + "src/lib/data/comparison/pairs.ts", + "src/lib/data/journeys.ts", + "src/lib/data/protocols/ethernet.ts" + ] + }, + { + "stem": "ISP", + "suggestedId": "isp", + "count": 3, + "files": [ + "src/lib/data/diagram-definitions.ts", + "src/lib/data/journeys.ts", + "src/lib/data/outages.ts" + ] + }, + { + "stem": "ACK", + "suggestedId": "ack", + "count": 3, + "files": [ + "src/lib/data/outages.ts", + "src/lib/data/protocols/coap.ts", + "src/lib/data/protocols/tcp.ts" + ] + }, + { + "stem": "OEM", + "suggestedId": "oem", + "count": 3, + "files": ["src/lib/data/protocols/nfc.ts", "src/lib/data/protocols/uwb.ts"] + }, + { + "stem": "CLAT", + "suggestedId": "clat-acr", + "count": 2, + "files": ["src/lib/data/book/parts/frontier.ts"] + }, + { + "stem": "GPU", + "suggestedId": "gpu", + "count": 2, + "files": ["src/lib/data/book/parts/frontier.ts"] + }, + { + "stem": "ASK", + "suggestedId": "ask-modulation", + "count": 2, + "files": ["src/lib/data/book/parts/wireless.ts", "src/lib/data/protocols/nfc.ts"] + }, + { + "stem": "POP", + "suggestedId": "pop-acr", + "count": 2, + "files": ["src/lib/data/category-stories/utilities.ts", "src/lib/data/protocols/bgp.ts"] + }, + { + "stem": "LAN", + "suggestedId": "lan-acr", + "count": 2, + "files": ["src/lib/data/comparison/pairs.ts", "src/lib/data/journeys.ts"] + }, + { + "stem": "TLD", + "suggestedId": "tld", + "count": 2, + "files": ["src/lib/data/diagram-definitions.ts"] + }, + { + "stem": "URI", + "suggestedId": "uri", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/coap.ts"] + }, + { + "stem": "SELECT", + "suggestedId": "imap-select", + "count": 2, + "files": ["src/lib/data/journeys.ts", "src/lib/data/protocols/nfc.ts"] + }, + { + "stem": "CPU", + "suggestedId": "cpu", + "count": 2, + "files": ["src/lib/data/outages.ts"] + }, + { + "stem": "KEM", + "suggestedId": "kem-acr", + "count": 2, + "files": ["src/lib/data/protocols/ipsec.ts"] + }, + { + "stem": "KDC", + "suggestedId": "kerberos-kdc", + "count": 2, + "files": ["src/lib/data/protocols/kerberos.ts"] + }, + { + "stem": "ID", + "suggestedId": "id-identifier", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/wireguard.ts"] + }, + { + "stem": "SSID", + "suggestedId": "ssid", + "count": 2, + "files": ["src/lib/data/protocols/mdns-dns-sd.ts", "src/lib/data/protocols/wifi.ts"] + }, + { + "stem": "MRZ", + "suggestedId": "mrz", + "count": 2, + "files": ["src/lib/data/protocols/nfc.ts"] + }, + { + "stem": "DR", + "suggestedId": "ospf-dr", + "count": 2, + "files": ["src/lib/data/protocols/ospf.ts"] + }, + { + "stem": "FTM", + "suggestedId": "ftm", + "count": 2, + "files": ["src/lib/data/protocols/uwb.ts"] + }, + { + "stem": "PHY", + "suggestedId": "phy", + "count": 2, + "files": ["src/lib/data/protocols/zigbee.ts"] + }, + { + "stem": "ISN", + "suggestedId": "isn", + "count": 1, + "files": ["src/lib/data/book/parts/famous-outages.ts"] + }, + { + "stem": "X25519MLKEM768", + "suggestedId": "pq-ciphersuite", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"] + }, + { + "stem": "ROA", + "suggestedId": "roa", + "count": 1, + "files": ["src/lib/data/book/parts/frontier.ts"] + }, + { + "stem": "MED", + "suggestedId": "med", + "count": 1, + "files": ["src/lib/data/book/parts/layer-2-3.ts"] + }, + { + "stem": "SFU", + "suggestedId": "sfu", + "count": 1, + "files": ["src/lib/data/book/parts/realtime-av.ts"] + }, + { + "stem": "WAN", + "suggestedId": "wan-acr", + "count": 1, + "files": ["src/lib/data/book/parts/transport.ts"] + }, + { + "stem": "SCP", + "suggestedId": "scp-copy", + "count": 1, + "files": ["src/lib/data/book/parts/utilities-security.ts"] + }, + { + "stem": "CVE", + "suggestedId": "cve", + "count": 1, + "files": ["src/lib/data/book/parts/web-api.ts"] + }, + { + "stem": "VLAN", + "suggestedId": "vlan", + "count": 1, + "files": ["src/lib/data/category-deep-dives.ts"] + }, + { + "stem": "UI", + "suggestedId": "ui", + "count": 1, + "files": ["src/lib/data/journeys.ts"] + }, + { + "stem": "LLM", + "suggestedId": "llm", + "count": 1, + "files": ["src/lib/data/journeys.ts"] + }, + { + "stem": "KEEPALIVE", + "suggestedId": "bgp-keepalive", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"] + }, + { + "stem": "UPDATE", + "suggestedId": "bgp-update", + "count": 1, + "files": ["src/lib/data/protocols/bgp.ts"] + }, + { + "stem": "UUID", + "suggestedId": "uuid", + "count": 1, + "files": ["src/lib/data/protocols/bluetooth.ts"] + }, + { + "stem": "DC", + "suggestedId": "dc-domain-controller", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"] + }, + { + "stem": "SPN", + "suggestedId": "spn", + "count": 1, + "files": ["src/lib/data/protocols/kerberos.ts"] + }, + { + "stem": "APDU", + "suggestedId": "apdu", + "count": 1, + "files": ["src/lib/data/protocols/nfc.ts"] + }, + { + "stem": "LSDB", + "suggestedId": "lsdb", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"] + }, + { + "stem": "SRLG", + "suggestedId": "srlg", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"] + }, + { + "stem": "TLV", + "suggestedId": "tlv", + "count": 1, + "files": ["src/lib/data/protocols/ospf.ts"] + }, + { + "stem": "NIC", + "suggestedId": "nic", + "count": 1, + "files": ["src/lib/data/protocols/quic.ts"] + }, + { + "stem": "BLE", + "suggestedId": "ble", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"] + }, + { + "stem": "U2", + "suggestedId": "u2-chip", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"] + }, + { + "stem": "U1", + "suggestedId": "u1-chip", + "count": 1, + "files": ["src/lib/data/protocols/uwb.ts"] + }, + { + "stem": "FFD", + "suggestedId": "ffd", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"] + }, + { + "stem": "RFD", + "suggestedId": "rfd", + "count": 1, + "files": ["src/lib/data/protocols/zigbee.ts"] + } + ], + "protocol": [ + { + "stem": "UWB", + "suggestedId": "uwb", + "count": 74 + }, + { + "stem": "NFC", + "suggestedId": "nfc", + "count": 37 + }, + { + "stem": "HTTPS", + "suggestedId": "http1", + "count": 19 + }, + { + "stem": "IP", + "suggestedId": "ip", + "count": 9 + }, + { + "stem": "UDP", + "suggestedId": "udp", + "count": 2 + }, + { + "stem": "QUIC", + "suggestedId": "quic", + "count": 2 + }, + { + "stem": "OAUTH2", + "suggestedId": "oauth2", + "count": 1 + } + ] +} diff --git a/scripts/output/acronym-audit.md b/scripts/output/acronym-audit.md index 5114474..2318c37 100644 --- a/scripts/output/acronym-audit.md +++ b/scripts/output/acronym-audit.md @@ -11,387 +11,386 @@ Total distinct bare acronyms: **574** ## Unknown โ€” need new concept entries (508) -| Acronym | Count | Files | Suggested ID | Sample | -|---|---:|---:|---|---| -| `FF` | 12 | 2 | โ€” | to the {{broadcast\|broadcast}} address (FF:FF:FF:FF:FF:FF) asking "Who has 192.168 | -| `BMW` | 9 | 4 | โ€” | t bootstraps {{matter\|Matter}}, unlocks BMWs, and broadcasts public hearing-loops ac | -| `R23` | 9 | 3 | โ€” | zigbee\|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key\|Dynamic Link Key}}, | -| `AIP` | 6 | 2 | โ€” | After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and {{read-record\|READ REC | -| `GB` | 6 | 4 | โ€” | -byte lifetime (default ~8 hours / ~100 GB). Before either limit is hit, peers run | -| `Q1` | 5 | 4 | โ€” | he in-kernel push', text: 'As of Q1 2026, [[quic\|QUIC]] carries roughly **2 | -| `OV` | 5 | 2 | โ€” | to seconds of cloning time. **The Dutch OV-chipkaart kept shipping affected cards | -| `M3` | 5 | 2 | โ€” | atter}} devices* (Hue Bridge, Aqara Hub M3) translate {{matter\|Matter}} operations | -| `II` | 4 | 4 | โ€” | 'The **[[ethernet\|Ethernet]] Type II frame format** โ€” six bytes of destinati | -| `F1` | 4 | 4 | โ€” | caption: '**{{nist\|NIST}}-F1**, the caesium fountain atomic clock th | -| `SPEKE` | 4 | 2 | โ€” | amic-link-key\|Dynamic Link Key}}** with SPEKE-over-{{curve25519\|Curve25519}} removes | -| `MAI` | 4 | 1 | โ€” | the upstream took it.", mistake: "MAI Network Services ({{autonomous-system\|A | -| `PCCW` | 4 | 1 | โ€” | ocally. But Pakistan Telecom's upstream PCCW ({{autonomous-system\|AS}} 3491) had no | -| `IKEA` | 4 | 2 | โ€” | azon, Samsung, Aqara, Eve, Philips Hue, IKEA, Schlage, Yale, and dozens more.' } | -| `MUST` | 3 | 2 | โ€” | t of [[ip\|IP]]."** Every [[ip\|IP]] host MUST answer Echo Requests by spec. Dropping | -| `RS-232` | 3 | 2 | โ€” | pposed to be the wire that replaced the RS-232 cable to a mobile-phone headset. Thirty | -| `S1` | 3 | 3 | โ€” | ss network}} and the core (N2/N3 in 5G, S1 in {{lte\|LTE}}) is wrapped in [[ipsec\|I | -| `CONNECTED` | 3 | 3 | โ€” | connection state machine โ€” \`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\` for 5G โ€” and **{{nas\|NAS}} | -| `ET` | 3 | 2 | โ€” | text: 'On **22 February 2024 at 03:30 ET**, AT&T Mobility customers across the U | -| `AST` | 3 | 2 | โ€” | }}\'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Re | -| `UDP/5353` | 3 | 2 | โ€” | -local {{multicast\|multicast}} group on UDP/5353, with a probe/announce/respond/goodbye | -| `RX` | 3 | 1 | โ€” | n. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1` | -| `PARTNER.COM` | 3 | 1 | โ€” | XAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc\|KDC}} issues a **re | -| `PR` | 3 | 3 | โ€” | ded-clients DoS in 0.9-rc2 was fixed in PR #808.', source: { url: 'https:// | -| `NIO` | 3 | 2 | โ€” | lone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices mu | -| `XPENG` | 3 | 2 | โ€” | including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must supp | -| `T2` | 3 | 2 | โ€” | Server records when the packet arrives (T2) and when it sends the reply (T3). Both | -| `SIZE` | 2 | 2 | โ€” | he sentinel and uses an authoritative \`SIZE\` field. [[amqp\|AMQP]] itself adds no a | -| `GA` | 2 | 1 | โ€” | protocol', text: '**RabbitMQ 4.0 GA (18 September 2024)** made [[amqp\|AMQP] | -| `KIP-1150` | 2 | 1 | โ€” | ess Topics โ€” KIP-1150', text: '**KIP-1150 "Diskless Topics"** was accepted by the | -| `S3` | 2 | 1 | โ€” | less / Bufstream architecture that uses S3 as primary storage. Brokers become {{st | -| `MD` | 2 | 1 | โ€” | lorado Springs, Philadelphia, Rockville MD, San Francisco), with {{apple\|Apple}}, | -| `VSX` | 2 | 2 | โ€” | ', caption: 'A **Polycom VSX 7000** video-conferencing system โ€” the | -| `IIS` | 2 | 2 | โ€” | which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by **N | -| `TV` | 2 | 2 | โ€” | y Netflix stream, every {{apple\|Apple}} TV {{broadcast\|broadcast}} โ€” still starts | -| `EXT-X-PRELOAD-HINT` | 2 | 2 | โ€” | ttp2\|HTTP/2]] push requirement with **\`EXT-X-PRELOAD-HINT\`** โ€” a simpler, {{cdn\|CDN}}-friendly h | -| `UCLA` | 2 | 2 | โ€” | -node network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} p | -| `SRI` | 2 | 2 | โ€” | network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} per si | -| `ISI` | 2 | 2 | โ€” | '[[pioneer:jon-postel\|Jon Postel]] at ISI. He edited [[rfc:791\|RFC 791]] ([[ip\|IP | -| `L7` | 2 | 2 | โ€” | n the registry. The first genuinely new L7 protocol since [[websockets\|WebSockets] | -| `WS` | 2 | 2 | โ€” | dern protocol history. His core line: *"WS-\* bad"* โ€” shorthand among {{ietf\|IETF} | -| `INACTIVE` | 2 | 2 | โ€” | tate machine โ€” \`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\` for 5G โ€” and **{{nas\|NAS}}** carries | -| `AMPS` | 2 | 2 | โ€” | [cellular\|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through | -| `NFC-A` | 2 | 2 | โ€” | e flavours on the air', text: '**NFC-A** ({{iso\|ISO}} 14443-A): {{pcd\|PCD}}โ†’{{ | -| `OOK` | 2 | 2 | โ€” | ed-Miller; {{picc\|PICC}}โ†’{{pcd\|PCD}} is OOK Manchester on the 847.5 kHz subcarrier. | -| `NFC-B` | 2 | 2 | โ€” | Base rate 106 kbit/s, scaling to 848. **NFC-B** ({{iso\|ISO}} 14443-B): {{pcd\|PCD}}โ†’{{ | -| `NRZ-L` | 2 | 2 | โ€” | cc\|PICC}} is 10% {{ask-modulation\|ASK}} NRZ-L; {{picc\|PICC}}โ†’{{pcd\|PCD}} is {{bpsk\|BP | -| `JIS` | 2 | 2 | โ€” | assports. **{{nfc-f\|NFC-F}}** (FeliCa / JIS X 6319-4): 212/424 kbit/s Manchester-co | -| `PASMO` | 2 | 2 | โ€” | nt in Japan {{transit\|transit}} (Suica, PASMO) and Hong Kong (Octopus). **{{nfc-v\|NFC | -| `ETH` | 2 | 2 | โ€” | u, Giovanni Camurati, and colleagues at ETH Zรผrich published **Ghost Peak** โ€” an at | -| `D03` | 2 | 2 | โ€” | eee-802-15-4\|IEEE}} 802.15.4ab** (Draft D03 September 2025, ratification expected e | -| `ABI` | 2 | 2 | โ€” | eness of [[uwb\|UWB]] into one purchase. ABI projects [[uwb\|UWB]] phone penetration | -| `PRO` | 2 | 2 | โ€” | '[[zigbee\|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key\|Dynamic Link Ke | -| `RTSP` | 2 | 2 | โ€” | mber 2025)**, with camera streaming via RTSP, removing the last category that previo | -| `OASIS` | 2 | 2 | โ€” | ce the protocol and shepherd it through OASIS standardization.', imagePath: | -| `CEO` | 2 | 2 | โ€” | oyed [[amqp\|AMQP]] broker. Later became CEO of Weaveworks, bringing messaging patte | -| `TIBCO` | 2 | 2 | โ€” | rneyed from Wall Street trading floors (TIBCO) to IoT sensors ([[mqtt\|MQTT]]) to clou | -| `DIX` | 2 | 1 | โ€” | c\|Xerox PARC}} in 1973, co-authored the DIX [[ethernet\|Ethernet]] standard (1980), | -| `DEC` | 2 | 2 | โ€” | t infrastructure', caption: "The DEC PDP-11 โ€” machines like these ran early | -| `BIND` | 2 | 2 | โ€” | urity', contribution: 'Wrote BIND, the most widely deployed [[dns\|DNS]] s | -| `HTML5` | 2 | 2 | โ€” | sse\|Server-Sent Events]] as part of the HTML5 specification, enabling simple server-t | -| `CMOS` | 2 | 2 | โ€” | sh engineer who owned the analog RF and CMOS implementation work that paired with Ja | -| `IC` | 2 | 2 | โ€” | Jaap Haartsen\'s digital baseband. The IC-level decisions that made [[bluetooth\|B | -| `FR2` | 2 | 2 | โ€” | flexible numerology, {{mmwave\|mmWave}} (FR2) support, network slicing. First commer | -| `RTT` | 2 | 2 | โ€” | Adopted 3 September 2024. Phase-based + RTT distance measurement on a new {{le-audi | -| `H1/H2` | 2 | 2 | โ€” | m\|Broadcom}}, Qualcomm, {{apple\|Apple}} H1/H2) uses **time-division arbitration** at | -| `SMTPS` | 2 | 1 | โ€” | ication protocols transparently (HTTPS, SMTPS); [[ssh\|SSH]] provides an encrypted cha | -| `RTMPS` | 2 | 2 | โ€” | aps [[rtmp\|RTMP]] connections to create RTMPS, encrypting live stream ingest traffic | -| `MB` | 2 | 2 | โ€” | r packet is **1460 bytes**. Sending a 1 MB file means roughly 685 packets. {{path- | -| `NSFNET` | 2 | 2 | โ€” | 1986 the same architecture was carrying NSFNET traffic across the country โ€” and the bu | -| `UC` | 2 | 2 | โ€” | ffers between Lawrence Berkeley Lab and UC Berkeley, three hops apart, were where | -| `RACK-TLP` | 2 | 2 | โ€” | ubic\|CUBIC}}, {{bbr\|BBR}}, {{l4s\|L4S}}, RACK-TLP โ€” are each refinements of the same cons | -| `HPC` | 2 | 2 | โ€” | rnet\|Ethernet]]+[[ip\|IP]] for {{ai\|AI}}/HPC scale-out: {{connectionless\|connectionl | -| `CBC` | 2 | 2 | โ€” | }} key {{exchange\|exchange}}, and every CBC-mode cipher โ€” keeping only {{chacha20-p | -| `BEAST` | 2 | 2 | โ€” | been weaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam | -| `CRIME` | 2 | 2 | โ€” | eaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT | -| `BREACH` | 2 | 2 | โ€” | ed in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[ | -| `FREAK` | 2 | 2 | โ€” | attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls\|TLS]] 1.3 als | -| `ROBOT` | 2 | 2 | โ€” | CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls\|TLS]] 1.3 also reduced the { | -| `OBS` | 2 | 2 | โ€” | eam ingest}}** protocol โ€” your encoder (OBS, Wirecast) pushes a long-lived [[tcp\|TC | -| `STD` | 2 | 2 | โ€” | tra\|Dijkstra]] ([[rfc:2328\|RFC 2328]] / STD 54).', steps: { 0: '{{ospf-hello\|H | -| `CTR` | 2 | 2 | โ€” | t}}; **{{sts\|STS}}** is the {{aes\|AES}}-CTR-generated pulse pattern that makes the | -| `WHERE` | 2 | 1 | โ€” | transition: 'The browser now knows WHERE the server lives โ€” but packets on the i | -| `FSCI` | 2 | 2 | โ€” | TS}}** declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know h | -| `FCI` | 2 | 2 | โ€” | } `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid\|AI | -| `PROCESSING` | 2 | 2 | โ€” | gram', description: "After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and | -| `CDOL1` | 2 | 2 | โ€” | nerate-ac\|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amou | -| `QR` | 2 | 2 | โ€” | e}} (printed on the Hue bulb's box as a QR code), that link key is unique and an e | -| `CVSS` | 2 | 2 | โ€” | on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patc | -| `CID` | 2 | 1 | โ€” | att-mtu\|ATT}}) lives on {{l2cap\|L2CAP}} CID 0x0004 and provides read/write/notify/i | -| `LTK` | 2 | 1 | โ€” | Curve P-256 to derive a Long-Term Key (LTK); the link is then {{encryption\|encrypt | -| `CIS` | 2 | 1 | โ€” | nels** โ€” Connected Isochronous Streams (CIS) for {{unicast\|unicast}} earbuds/hearin | -| `LL` | 2 | 1 | โ€” | scription: 'Two devices in a normal LL connection schedule **{{channel-soundin | -| `NCC` | 2 | 2 | โ€” | s the protocol-level answer to the 2022 NCC Group {{ble\|BLE}} relay attack that ope | -| `GFSK` | 2 | 1 | โ€” | s over the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble | -| `PB` | 2 | 1 | โ€” | }} by Q3 2025; the network averages 6.5 PB/day. The first proof that a hyperscale | -| `NR` | 2 | 1 | โ€” | ecified in Release 17 (2022), the first NR-{{ntn\|NTN}} deployments shipped in late | -| `USA` | 2 | 1 | โ€” | numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Ja | -| `X2` | 2 | 2 | โ€” | *mandate** [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forg | -| `N2` | 2 | 2 | โ€” | date** [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetti | -| `N3` | 2 | 2 | โ€” | ** [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting t | -| `E1` | 2 | 2 | โ€” | ]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private | -| `SOA` | 2 | 1 | โ€” | pex must also have {{ns-record\|NS}} and SOA records. Some [[dns\|DNS]] providers off | -| `NXDOMAIN` | 2 | 1 | โ€” | g can hurt', text: 'Resolvers cache NXDOMAIN responses based on the SOA minimum fiel | -| `UDP/4500` | 2 | 1 | โ€” | {{security-association\|SA}} switches to UDP/4500 {{encapsulation\|encapsulation}}. Two me | -| `MOBIKE` | 2 | 1 | โ€” | me routers don\'t corrupt the packet. **MOBIKE** ([[rfc:4555\|RFC 4555]]) lets a roadwa | -| `SKU` | 2 | 2 | โ€” | (10 Gbps aggregate on the AZ-redundant SKU), {{gcp\|GCP}} Cloud {{vpn\|VPN}}, OCI Si | -| `AS-REQ` | 2 | 1 | โ€” | description: 'Client sends an **AS-REQ** to the {{kerberos-kdc\|KDC}}\'s Authen | -| `TGS-REP` | 2 | 1 | โ€” | ion key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted u | -| `GSS` | 2 | 1 | โ€” | y speak Kerberos directly. They speak **GSS-{{api\|API}}** (Generic Security Service | -| `SPNEGO` | 2 | 1 | โ€” | ntext\` / \`gss_accept_sec_context\`. **SPNEGO** ([[rfc:4178\|RFC 4178]]) is the protoc | -| `PKINIT` | 2 | 1 | โ€” | gust 2025 release. Headline features: **PKINIT {{ecdh\|ECDH}}/EC certs** (smart-card au | -| `DES` | 2 | 1 | โ€” | IT}}-internal for years because it used DES โ€” and DES exports required State Depart | -| `FF02` | 2 | 2 | โ€” | s* on \`224.0.0.251\` ([[ipv6\|IPv6]]: \`FF02::FB\`). Two flag bits get repurposed: t | -| `SD` | 2 | 2 | โ€” | cription: "A {{dns-resolution\|DNS}}-SD client looking for printers sends a {{p | -| `SRP` | 2 | 1 | โ€” | col) published', description: '**SRP** ({{rfc-doc\|RFC}} 9665, Lemon + [[pion | -| `LLMNR` | 2 | 1 | โ€” | th [[mdns-dns-sd\|mDNS]] **enabled** and LLMNR **disabled** in the security baseline. | -| `IGMP` | 2 | 1 | โ€” | e (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose list | -| `WLC` | 2 | 2 | โ€” | -dns-sd\|mDNS]] gateway ({{cisco\|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aero | -| `DERP` | 2 | 2 | โ€” | path between peers; their proprietary **DERP** relays absorb the rest as a {{turn\|TU | -| `CTO` | 2 | 2 | โ€” | turn\|TURN}}, and {{ice\|ICE}}. Currently CTO + Head of {{ai\|AI}} at Five9.' } ], | -| `T2T` | 2 | 1 | โ€” | ate frame size (FSCI) and timing (FWI). T2T cards skip {{rats\|RATS}} and go straigh | -| `TC` | 2 | 2 | โ€” | } โ€” either an {{arqc\|ARQC}} (online) or TC (offline). The cryptogram is signed in | -| `TNF` | 2 | 1 | โ€” | ifier\|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Know | -| `IEC` | 2 | 1 | โ€” | {ndef\|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NF | -| `HID` | 2 | 2 | โ€” | }}, Allegion, Aqara, {{google\|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nu | -| `EV3` | 2 | 1 | โ€” | Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Classic Crypto1 | -| `GM` | 2 | 2 | โ€” | is, Audi (new in 2025), Volvo, Porsche, GM, Ford, plus a wave of Chinese OEMs (NIO | -| `DDA/CDA` | 2 | 1 | โ€” | eturns an AIP byte that signals whether DDA/CDA is supported. A common custom-{{hce\|HCE | -| `RRP` | 2 | 1 | โ€” | gram\|EMV}} **Relay Resistance Protocol (RRP)** in Kernel 2 v2.6+ binds round-trip t | -| `T1` | 2 | 1 | โ€” | DP]] packet with its current timestamp (T1). The packet is tiny โ€” 48 bytes.' }, | -| `T3` | 2 | 1 | โ€” | rives (T2) and when it sends the reply (T3). Both timestamps are included in the r | -| `T4` | 2 | 1 | โ€” | ient records when the response arrives (T4). Now it has four timestamps: T1 (sent) | -| `NBMA` | 2 | 1 | โ€” | default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router\'s {{id-ident | -| `HPRF` | 2 | 1 | โ€” | Hz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz** in higher-power mod | -| `RTLS` | 2 | 1 | โ€” | f arrival โ€” used for warehouse/hospital RTLS where anchors are wired. **AoA / PDoA:* | -| `EN` | 2 | 1 | โ€” | Hz** across 3.1โ€“10.6 GHz. {{etsi\|ETSI}} EN 302 065 in Europe is similar with stric | -| `AR` | 2 | 1 | โ€” | ision Finding, BMW Digital Key, and the AR experiences in {{apple\|Apple}} Vision P | -| `T2024` | 2 | 1 | โ€” | 1-chip\|U1}}'s 16 nm), internal codename T2024, part number 339M00298. **1.5ร— longer P | -| `U400` | 2 | 1 | โ€” | amsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro\|A | -| `S21` | 2 | 1 | โ€” | \|Apple}} UWB tracker. Works with Galaxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/ | -| `DW3000` | 2 | 1 | โ€” | upports only Channel 5; everything from DW3000 / {{nxp\|NXP}} SR150 / {{apple\|Apple}} { | -| `SR150` | 2 | 1 | โ€” | 5; everything from DW3000 / {{nxp\|NXP}} SR150 / {{apple\|Apple}} {{u1-chip\|U1}} onward | -| `NLOS` | 2 | 1 | โ€” | ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/meta | -| `ACL` | 2 | 1 | โ€” | r which destination prefix) **and** the ACL (inbound: only accept packets from this | -| `TSPU` | 2 | 1 | โ€” | mimicry', description: "Russia's TSPU boxes learned to fingerprint and drop s | -| `S1/S2` | 2 | 1 | โ€” | H4 ranges instead of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{d | -| `WARP` | 2 | 1 | โ€” | are}}'s consumer {{vpn\|VPN}} (1.1.1.1 + WARP app) runs on **BoringTun**, {{cloudflar | -| `OTA` | 2 | 1 | โ€” | ntrol = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an **APSCounter* | -| `FOSS` | 2 | 1 | โ€” | and *no* microphone or camera. For the FOSS path the answer is **zigbee2mqtt** by K | -| `PSU` | 2 | 1 | โ€” | ble Zigbee โ€” the router's switched-mode PSU emits broadband 2.4 GHz noise." } ], | -| `CC2652` | 2 | 1 | โ€” | dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted behind | -| `SES` | 2 | 1 | โ€” | 3 December 2024** VusionGroup (formerly SES-imagotag) announced acceleration of dig | -| `ESL` | 2 | 1 | โ€” | 500 stores. Vusion shipped 350 million ESLs in 2023 alone; the EdgeSense platform r | -| `AIR` | 2 | 1 | โ€” | ', description: "Acuity's nLight AIR and Atrius lines are the dominant Zigbe | -| `SUN` | 2 | 1 | โ€” | and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15 | -| `VSAT` | 1 | 1 | โ€” | llips 66 oil pipelines over a brand-new VSAT satellite link. The 2-byte fixed header | -| `PINGREQ` | 1 | 1 | โ€” | ixed header**, smallest control packet (PINGREQ) is 2 bytes total. Designed in 1999 by | -| `JMS` | 1 | 1 | โ€” | sia is removed. RabbitMQ 4.3 also added JMS-style queues with {{sql\|SQL}} message s | -| `NETSCOUT` | 1 | 1 | โ€” | { kind: 'pull-quote', text: 'NETSCOUT\'s January 2019 scan found 388,344 publ | -| `QLC` | 1 | 1 | โ€” | ey were Chinese smartphones running the QLC Chain {{peer-to-peer\|peer-to-peer}} cry | -| `EDHOC` | 1 | 1 | โ€” | messages, ~100 bytes', text: '**EDHOC ([[rfc:9000\|RFC 9528]], March 2024)** โ€” | -| `DH` | 1 | 1 | โ€” | sages totalling ~100 bytes** for static-DH credentials, vs **~700+ bytes for a {{d | -| `OSCORE` | 1 | 1 | โ€” | years* of additional life. Companion: **OSCORE ([[rfc:8613\|RFC 8613]])** wraps the [[c | -| `DNA` | 1 | 1 | โ€” | g router carries the same architectural DNA: a control plane that builds the {{rout | -| `PREF64` | 1 | 1 | โ€” | clients "skip [[ip\|IPv4]] entirely," **PREF64 in Router Advertisements ([[rfc:8781\|RF | -| `RIR` | 1 | 1 | โ€” | {{roa\|ROA}} set. Lesson: enforce 2FA on RIR portals.', attribution: 'Author' | -| `OTC` | 1 | 1 | โ€” | fc:9234\|RFC 9234]] ([[bgp\|BGP]] Roles + OTC) ate its lunch. The lesson: a security | -| `MW` | 1 | 1 | โ€” | nal pluggable optics would consume ~180 MW of power for the optics alone. That is | -| `X1600` | 1 | 1 | โ€” | AI}} workloads. **{{spectrum\|Spectrum}}-X1600 (102.4 Tbps)** is expected 2H 2026.' | -| `GB200` | 1 | 1 | โ€” | ption: 'The **{{nvidia\|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on | -| `NVL72` | 1 | 1 | โ€” | 'The **{{nvidia\|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on displa | -| `COMPUTEX` | 1 | 1 | โ€” | ackwell-architecture rack on display at COMPUTEX 2024 โ€” the kind of {{ai\|AI}}-training e | -| `WECA` | 1 | 1 | โ€” | as a tagline retrofitted briefly by the WECA board and dropped. The yin-yang logo is | -| `OET` | 1 | 1 | โ€” | on **23 February 2024** the {{fcc\|FCC}} OET approved **seven {{afc\|AFC}} system ope | -| `RUCKUS` | 1 | 1 | โ€” | d [[wifi\|Wi-Fi]] 7 {{access-point\|AP}} (RUCKUS R770) was certified 16 April 2024.** Bu | -| `R770` | 1 | 1 | โ€” | i\|Wi-Fi]] 7 {{access-point\|AP}} (RUCKUS R770) was certified 16 April 2024.** But on | -| `SINR` | 1 | 1 | โ€” | squeezes for **+25% throughput at given SINR, โˆ’25% 95th-percentile {{latency\|latency | -| `MPDU` | 1 | 1 | โ€” | th-percentile {{latency\|latency}}, โˆ’25% MPDU loss across {{bss-coloring\|BSS}} transi | -| `CS168` | 1 | 1 | โ€” | P]] stack), {{mit\|MIT}} 6.829, Berkeley CS168.', slots: [ { kind: 'prose' | -| `PARC` | 1 | 1 | โ€” | still runs the original spec. The 1973 PARC sketch and a 2025 Ultra [[ethernet\|Ethe | -| `KU` | 1 | 1 | โ€” | , text: '**Mathy Vanhoef and the KU Leuven team have broken [[wifi\|Wi-Fi]] | -| `DCP` | 1 | 1 | โ€” | rote [[rfc:826\|RFC 826]] from address \`DCP@{{mit\|MIT}}-MC\` in November 1982. **ST | -| `MC` | 1 | 1 | โ€” | FC 826]] from address \`DCP@{{mit\|MIT}}-MC\` in November 1982. **STD 37 has never | -| `L2` | 1 | 1 | โ€” | xt: '[[arp\|ARP]] relies entirely on the L2 {{checksum\|frame check sequence}} โ€” no | -| `BRL` | 1 | 1 | โ€” | rote {{ping\|ping}} in a single night at BRL Aberdeen in December 1983, named after | -| `TOPS-20` | 1 | 1 | โ€” | st server was named *Jeeves* and ran on TOPS-20.', credit: 'Image: Wikimedia Com | -| `KEX` | 1 | 1 | โ€” | llo\|ServerHello}}/Finished, [[ssh\|SSH]] KEX, [[mqtt\|MQTT]] {{mqtt-connect\|CONNECT}} | -| `CONNACK` | 1 | 1 | โ€” | [[mqtt\|MQTT]] {{mqtt-connect\|CONNECT}}/CONNACK, [[sctp\|SCTP]]\'s four-way {{cookie\|Coo | -| `DAVE` | 1 | 1 | โ€” | on a whiteboard in 2018." Discord\'s **DAVE protocol** (deployed 1 March 2026) laye | -| `MLS` | 1 | 1 | โ€” | otocol** (deployed 1 March 2026) layers MLS keys + SFrame on top of [[rtp\|RTP]]/{{s | -| `E2EE` | 1 | 1 | โ€” | on top of [[rtp\|RTP]]/{{srtp\|SRTP}} for E2EE voice across **2.5 million concurrent u | -| `M120` | 1 | 1 | โ€” | AV1}} hardware encode shipped in Chrome M120 (Dec 2023). Firefox 125 added {{av1\|AV1 | -| `EME` | 1 | 1 | โ€” | ec 2023). Firefox 125 added {{av1\|AV1}}+EME in April 2024. But the royalty-free cla | -| `CMAF` | 1 | 1 | โ€” | ate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn\|CDN}} serves them ov | -| `ISDN` | 1 | 1 | โ€” | four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp\|RTP]]/H.323 โ†’ [[webrtc\|WebRTC]] | -| `PRNET/SATNET` | 1 | 1 | โ€” | et\|ARPANET}}), and unreliable wireless (PRNET/SATNET) each forced different design pressures | -| `UCSB` | 1 | 1 | โ€” | rk that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} per site.', | -| `EDGE` | 1 | 1 | โ€” | d on 29 June 2007 with [[wifi\|Wi-Fi]] + EDGE; the App Store followed in July 2008; { | -| `GIGA` | 1 | 1 | โ€” | ple}} {{os\|OS}} services, Korea Telecom GIGA Path, some specialised enterprise WANs) | -| `CA` | 1 | 1 | โ€” | te-authority\|CA}} signs an intermediate CA, which signs the end-entity {{certifica | -| `SIGALRM` | 1 | 1 | โ€” | {{linux\|Linux}}. Signal-handler race: \`SIGALRM\` handler calls \`syslog()\` (not async | -| `UNIX` | 1 | 1 | โ€” | er than {{arpanet\|ARPANET}}, older than UNIX, older than every other timestamp stand | -| `Y2036` | 1 | 1 | โ€” | it and will need fixes before 2036. The Y2036 work has been quietly underway since 20 | -| `SNDMSG` | 1 | 1 | โ€” | picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel\|Jon Postel]] publ | -| `DCE` | 1 | 1 | โ€” | a 40-year lineage of Sun {{rpc\|RPC}} / DCE / CORBA / Thrift. The client *stub* ser | -| `CORBA` | 1 | 1 | โ€” | year lineage of Sun {{rpc\|RPC}} / DCE / CORBA / Thrift. The client *stub* serialises | -| `NTIA` | 1 | 1 | โ€” | d States Frequency Allocations Chart**, NTIA. Every coloured stripe is a *service* โ€” | -| `WPA` | 1 | 1 | โ€” | \|OOB}} key or the Wi-Fi {{ssid\|SSID}} + WPA key in an {{ndef\|NDEF}} record. **[[zig | -| `MIMO` | 1 | 1 | โ€” | 11]] โ€” {{csma-ca\|CSMA/CA}} in practice, MIMO โ†’ {{ofdma\|OFDMA}} โ†’ {{mlo\|MLO}}, and th | -| `DIFS` | 1 | 1 | โ€” | of the {{airtime\|airtime}} is spent on DIFS gaps, {{ack\|ACK}} frames, beacons, and | -| `NB` | 1 | 1 | โ€” | volte\|VoLTE}} / [[wifi\|Wi-Fi]] calling, NB-IoT / {{lte\|LTE}}-M, satellite {{direct | -| `N2/N3` | 1 | 1 | โ€” | an\|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte\|LTE}}) is wrapped in | -| `IOS` | 1 | 1 | โ€” | teffen]]\'s strongSwan, {{cisco\|Cisco}} IOS, and Juniper {{junos\|Junos}} run more [ | -| `TACS` | 1 | 1 | โ€” | ar\|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{g | -| `NMT` | 1 | 1 | โ€” | ular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm\|GSM | -| `IS-95` | 1 | 1 | โ€” | he early 1980s through 2G {{gsm\|GSM}} / IS-95, 3G {{wcdma\|WCDMA}} / CDMA2000, 4G {{lt | -| `CDMA2000` | 1 | 1 | โ€” | gsm\|GSM}} / IS-95, 3G {{wcdma\|WCDMA}} / CDMA2000, 4G {{lte\|LTE}}, and {{5g-nr\|5G NR}}. E | -| `SYS.DDF01` | 1 | 1 | โ€” | t System Environment {{aid\|AID}} \`2PAY.SYS.DDF01\` โ€” and the card returns an FCI listing | -| `A0000000041010` | 1 | 1 | โ€” | The reader picks one (e.g. Mastercard \`A0000000041010\`), SELECTs it, gets back a {{pdol\|PDOL | -| `TX` | 1 | 1 | โ€” | *can* be cheated โ€” a relay with enough TX power makes a distant device look near. | -| `PAL` | 1 | 1 | โ€” | iority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and **G | -| `PMSE` | 1 | 1 | โ€” | has experimented with similar concepts (PMSE in the UK, {{lsa\|LSA}} in some EU pilot | -| `PIE` | 1 | 1 | โ€” | {{aqm\|Active Queue Management}} (CoDel, PIE, fq_codel) and algorithms like {{bbr\|BB | -| `SCADA` | 1 | 1 | โ€” | on: "Brought embedded systems and SCADA expertise to [[mqtt\|MQTT]]'s design. Co | -| `CBOR` | 1 | 1 | โ€” | oap\|CoAP]] specification and co-created CBOR, the efficient binary {{serialization\|s | -| `NATS` | 1 | 1 | โ€” | o cloud-native microservices ([[amqp]], NATS, [[kafka]]). Today, it's one of the mos | -| `P802` | 1 | 1 | โ€” | on 100 G lanes). The 1.6 TbE follow-up (P802.3dj, 200 G/lane) targets July 2026 โ€” dr | -| `LO` | 1 | 1 | โ€” | two months before the first successful "LO" transmission to SRI.', credit: 'Pho | -| `PDP-11` | 1 | 1 | โ€” | frastructure', caption: "The DEC PDP-11 โ€” machines like these ran early [[ntp\|N | -| `POWER` | 1 | 1 | โ€” | reads "This machine is a server. DO NOT POWER IT DOWN!!"', credit: 'Photo: Coolcae | -| `DOWN` | 1 | 1 | โ€” | is machine is a server. DO NOT POWER IT DOWN!!"', credit: 'Photo: Coolcaesar / CC | -| `AAIF` | 1 | 1 | โ€” | es to the Agentic {{ai\|AI}} Foundation (AAIF) and [[a2a\|A2A]] launches as a {{linux\| | -| `RF` | 1 | 1 | โ€” | 'Swedish engineer who owned the analog RF and CMOS implementation work that paire | -| `COMDEX` | 1 | 1 | โ€” | product (a hands-free headset) ships at COMDEX 1999.', protocolId: 'bluetooth' | -| `SC-FDMA` | 1 | 1 | โ€” | preading codes for an {{ofdma\|OFDMA}} + SC-FDMA air interface โ€” the clean-sheet radio d | -| `IQ` | 1 | 1 | โ€” | ble delivery of presence, messages, and IQ queries.', howTheyWork: 'An [[xmpp | -| `AMQPS` | 1 | 1 | โ€” | aps [[amqp\|AMQP]] connections to create AMQPS, encrypting all {{broker\|message broker | -| `MQTTS` | 1 | 1 | โ€” | aps [[mqtt\|MQTT]] connections to create MQTTS, encrypting all pub/sub messaging betwe | -| `SIPS` | 1 | 1 | โ€” | SIP]] {{signaling\|signaling}} to create SIPS, encrypting call setup, authentication, | -| `WSS` | 1 | 1 | โ€” | ckets\|WebSocket]] connections to create WSS (wss://), encrypting the {{full-duplex\| | -| `M3U8` | 1 | 1 | โ€” | LS]] delivers adaptive video by serving M3U8 playlists and media segments as standar | -| `BOSH` | 1 | 1 | โ€” | network without long-polling hacks like BOSH.', howTheyWork: 'The browser opens | -| `PROXY` | 1 | 1 | โ€” | ess you explicitly forward it via the **PROXY protocol** or an {{header\|HTTP header}} | -| `ARPA` | 1 | 1 | โ€” | down in 1986.', caption: 'The ARPA Network in September 1973, a few dozen | -| `DHT` | 1 | 1 | โ€” | Torrent uses centralised trackers (or a DHT, which is a decentralised tracker) to b | -| `SHA384` | 1 | 1 | โ€” | DigiCert [[tls\|TLS]] Hybrid {{ecc\|ECC}} SHA384 โ†’ DigiCert Global Root G3\`. Only the b | -| `G3` | 1 | 1 | โ€” | ecc\|ECC}} SHA384 โ†’ DigiCert Global Root G3\`. Only the bottom (root) {{certificate | -| `SIGTRAN` | 1 | 1 | โ€” | under telecom {{signaling\|signaling}} (SIGTRAN) and [[webrtc\|WebRTC]] data channels ([ | -| `WHATWG` | 1 | 1 | โ€” | only need {{server-push\|server push}} (WHATWG).', steps: { 0: 'Standard [[http1\| | -| `OMA` | 1 | 1 | โ€” | App, and the {{matter\|Matter}}-adjacent OMA-LwM2M IoT stack. Encrypted via {{startt | -| `CQRS` | 1 | 1 | โ€” | tream processing}}, event sourcing, and CQRS. **{{exactly-once-delivery\|Exactly-once | -| `T1/T2/T3/T4` | 1 | 1 | โ€” | timestamps per {{exchange\|exchange}}** (T1/T2/T3/T4) which cancel out network {{latency\|lat | -| `TGS` | 1 | 1 | โ€” | ey Distribution Center, split into AS + TGS), and Service. Two {{encryption\|encrypt | -| `SEND` | 1 | 1 | โ€” | ONNECT}}, {{mqtt-subscribe\|SUBSCRIBE}}, SEND, and {{ack\|ACK}} are self-explanatory, | -| `ERP` | 1 | 1 | โ€” | ing queue, maintenance data goes to the ERP integration queue, and raw telemetry go | -| `VP8` | 1 | 1 | โ€” | round rules: which codecs they support (VP8, H.264, Opus), what transport addresses | -| `DANE` | 1 | 1 | โ€” | d [[dns\|DNS]]-based authentication like DANE which allows domain owners to {{mqtt-pu | -| `TVR` | 1 | 1 | โ€” | the inputs (amount, currency, country, TVR, {{atc\|ATC}}, Unpredictable Number, AIP | -| `POS` | 1 | 1 | โ€” | description: "Modern wireless POS terminals (Square, Stripe, Verifone Eng | -| `APPROVED` | 1 | 1 | โ€” | sufficient balance + no fraud flag = **APPROVED**. The issuer returns an **ARPC** (Auth | -| `ARPC` | 1 | 1 | โ€” | = **APPROVED**. The issuer returns an **ARPC** (Authorisation Response Cryptogram) o | -| `RFRAME` | 1 | 1 | โ€” | n: "The phone transmits a **Poll** RFRAME on [[uwb\|UWB]] Channel 9 (7987.2 MHz, 4 | -| `LQI` | 1 | 1 | โ€” | icks the best parent by {{rssi\|RSSI}} + LQI. This is the slowest step โ€” beacon scan | -| `WITHDRAWAL` | 1 | 1 | โ€” | -system\|AS}} 32934 โ€” and then a wave of WITHDRAWALs of the [[ip\|IPv4]] and [[ipv6\|IPv6]] pr | -| `SERVFAIL` | 1 | 1 | โ€” | ike 1.1.1.1 and 8.8.8.8 start returning SERVFAIL for facebook.com. Apps and humans retry | -| `NANOG` | 1 | 1 | โ€” | tion: "Vince Bono's apology email to NANOG that day is preserved in the archives โ€” | -| `RIS` | 1 | 1 | โ€” | ally for hours. {{ripe-ncc\|RIPE NCC}}'s RIS data became the canonical post-mortem s | -| `LBL` | 1 | 1 | โ€” | delivery less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 4 | -| `UCB` | 1 | 1 | โ€” | y less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 40 bps โ€” | -| `LBL-UCB` | 1 | 1 | โ€” | uplicates. Goodput approaches zero. The LBL-UCB path measures 40 bps where it had measu | -| `CT` | 1 | 1 | โ€” | limit damage.", mistake: "At 02:42 CT, a network change with an equipment con | -| `GSO` | 1 | 1 | โ€” | ff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed | -| `OPEN` | 1 | 1 | โ€” | 'Both routers {{exchange\|exchange}} OPEN messages containing their {{autonomous- | -| `NLRI` | 1 | 1 | โ€” | messages containing reachable prefixes (NLRI) with path attributes: {{as-path\|AS_PAT | -| `EGP` | 1 | 1 | โ€” | Austin. The previous routing protocol (EGP) was unmanageable. They sketched a repl | -| `GTSM` | 1 | 1 | โ€” | tcha', text: 'Some operators enable GTSM (Generalised {{ttl\|TTL}} Security Mecha | -| `SBC` | 1 | 1 | โ€” | he mandatory {{codec\|codec}} (replacing SBC and saving ~50% battery vs A2DP). **{{a | -| `A2DP` | 1 | 1 | โ€” | eplacing SBC and saving ~50% battery vs A2DP). **{{auracast\|Auracast}}** is the {{si | -| `ISOAL` | 1 | 1 | โ€” | privacy against long-term tracking) and ISOAL improvements for {{le-audio\|LE Audio}} | -| `EURECOM` | 1 | 1 | โ€” | mes', text: "Daniele Antonioli (then EURECOM, now PostDoc-and-faculty) is the lead a | -| `DPSK` | 1 | 1 | โ€” | the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble\|BLE}} | -| `FR1` | 1 | 1 | โ€” | two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave\|mmWave}} 24โ€“52 | -| `LLR` | 1 | 1 | โ€” | ion}}. The receiver stores soft-decoded LLRs from failed transmissions and combines | -| `RLC` | 1 | 1 | โ€” | er compression', description: '**RLC** runs in TM (transparent), UM (unackno | -| `TM` | 1 | 1 | โ€” | ', description: '**RLC** runs in TM (transparent), UM (unacknowledged), or | -| `UM` | 1 | 1 | โ€” | '**RLC** runs in TM (transparent), UM (unacknowledged), or AM (acknowledged) | -| `AM` | 1 | 1 | โ€” | (transparent), UM (unacknowledged), or AM (acknowledged) mode with 10- or 16-bit | -| `PDCP` | 1 | 1 | โ€” | ce numbers}} ({{ts-3gpp\|TS}} 38.322). **PDCP** above it ({{ts-3gpp\|TS}} 38.323) does | -| `ROHC` | 1 | 1 | โ€” | * above it ({{ts-3gpp\|TS}} 38.323) does ROHC {{header\|header compression}} (squashin | -| `USIM` | 1 | 1 | โ€” | hentication vector, and the {{ue\|UE}}'s USIM verifies AUTN and computes RES*. After | -| `AUTN` | 1 | 1 | โ€” | ctor, and the {{ue\|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode | -| `RES` | 1 | 1 | โ€” | \|UE}}'s USIM verifies AUTN and computes RES*. After Security Mode Command, {{nas\|NA | -| `PCF` | 1 | 1 | โ€” | {upf\|UPF}}, {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **netwo | -| `NRF` | 1 | 1 | โ€” | UPF}}, {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network fu | -| `NEF` | 1 | 1 | โ€” | , {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network functio | -| `NSSF` | 1 | 1 | โ€” | usf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** wi | -| `AF` | 1 | 1 | โ€” | SF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with a | -| `GPRS` | 1 | 1 | โ€” | \|UPF}} travel over **{{gtp-u\|GTP-U}}** (GPRS Tunnelling Protocol โ€” User plane) on [[ | -| `ML` | 1 | 1 | โ€” | vanced release. New features: {{ai\|AI}}/ML in the air interface (CSI feedback comp | +| Acronym | Count | Files | Suggested ID | Sample | +| -------------------- | ----: | ----: | ------------ | ---------------------------------------------------------------------------------------------------- | +| `FF` | 12 | 2 | โ€” | to the {{broadcast\|broadcast}} address (FF:FF:FF:FF:FF:FF) asking "Who has 192.168 | +| `BMW` | 9 | 4 | โ€” | t bootstraps {{matter\|Matter}}, unlocks BMWs, and broadcasts public hearing-loops ac | +| `R23` | 9 | 3 | โ€” | zigbee\|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key\|Dynamic Link Key}}, | +| `AIP` | 6 | 2 | โ€” | After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and {{read-record\|READ REC | +| `GB` | 6 | 4 | โ€” | -byte lifetime (default ~8 hours / ~100 GB). Before either limit is hit, peers run | +| `Q1` | 5 | 4 | โ€” | he in-kernel push', text: 'As of Q1 2026, [[quic\|QUIC]] carries roughly \*\*2 | +| `OV` | 5 | 2 | โ€” | to seconds of cloning time. \*\*The Dutch OV-chipkaart kept shipping affected cards | +| `M3` | 5 | 2 | โ€” | atter}} devices\* (Hue Bridge, Aqara Hub M3) translate {{matter\|Matter}} operations | +| `II` | 4 | 4 | โ€” | 'The **[[ethernet\|Ethernet]] Type II frame format** โ€” six bytes of destinati | +| `F1` | 4 | 4 | โ€” | caption: '**{{nist\|NIST}}-F1**, the caesium fountain atomic clock th | +| `SPEKE` | 4 | 2 | โ€” | amic-link-key\|Dynamic Link Key}}\*\* with SPEKE-over-{{curve25519\|Curve25519}} removes | +| `MAI` | 4 | 1 | โ€” | the upstream took it.", mistake: "MAI Network Services ({{autonomous-system\|A | +| `PCCW` | 4 | 1 | โ€” | ocally. But Pakistan Telecom's upstream PCCW ({{autonomous-system\|AS}} 3491) had no | +| `IKEA` | 4 | 2 | โ€” | azon, Samsung, Aqara, Eve, Philips Hue, IKEA, Schlage, Yale, and dozens more.' } | +| `MUST` | 3 | 2 | โ€” | t of [[ip\|IP]]."\*\* Every [[ip\|IP]] host MUST answer Echo Requests by spec. Dropping | +| `RS-232` | 3 | 2 | โ€” | pposed to be the wire that replaced the RS-232 cable to a mobile-phone headset. Thirty | +| `S1` | 3 | 3 | โ€” | ss network}} and the core (N2/N3 in 5G, S1 in {{lte\|LTE}}) is wrapped in [[ipsec\|I | +| `CONNECTED` | 3 | 3 | โ€” | connection state machine โ€” \`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\` for 5G โ€” and \*\*{{nas\|NAS}} | +| `ET` | 3 | 2 | โ€” | text: 'On **22 February 2024 at 03:30 ET**, AT&T Mobility customers across the U | +| `AST` | 3 | 2 | โ€” | }}\'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Re | +| `UDP/5353` | 3 | 2 | โ€” | -local {{multicast\|multicast}} group on UDP/5353, with a probe/announce/respond/goodbye | +| `RX` | 3 | 1 | โ€” | n. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1` | +| `PARTNER.COM` | 3 | 1 | โ€” | XAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc\|KDC}} issues a \*\*re | +| `PR` | 3 | 3 | โ€” | ded-clients DoS in 0.9-rc2 was fixed in PR #808.', source: { url: 'https:// | +| `NIO` | 3 | 2 | โ€” | lone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices mu | +| `XPENG` | 3 | 2 | โ€” | including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must supp | +| `T2` | 3 | 2 | โ€” | Server records when the packet arrives (T2) and when it sends the reply (T3). Both | +| `SIZE` | 2 | 2 | โ€” | he sentinel and uses an authoritative \`SIZE\` field. [[amqp\|AMQP]] itself adds no a | +| `GA` | 2 | 1 | โ€” | protocol', text: '**RabbitMQ 4.0 GA (18 September 2024)** made [[amqp\|AMQP] | +| `KIP-1150` | 2 | 1 | โ€” | ess Topics โ€” KIP-1150', text: '**KIP-1150 "Diskless Topics"** was accepted by the | +| `S3` | 2 | 1 | โ€” | less / Bufstream architecture that uses S3 as primary storage. Brokers become {{st | +| `MD` | 2 | 1 | โ€” | lorado Springs, Philadelphia, Rockville MD, San Francisco), with {{apple\|Apple}}, | +| `VSX` | 2 | 2 | โ€” | ', caption: 'A **Polycom VSX 7000** video-conferencing system โ€” the | +| `IIS` | 2 | 2 | โ€” | which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by \*\*N | +| `TV` | 2 | 2 | โ€” | y Netflix stream, every {{apple\|Apple}} TV {{broadcast\|broadcast}} โ€” still starts | +| `EXT-X-PRELOAD-HINT` | 2 | 2 | โ€” | ttp2\|HTTP/2]] push requirement with **\`EXT-X-PRELOAD-HINT\`** โ€” a simpler, {{cdn\|CDN}}-friendly h | +| `UCLA` | 2 | 2 | โ€” | -node network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} p | +| `SRI` | 2 | 2 | โ€” | network that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} per si | +| `ISI` | 2 | 2 | โ€” | '[[pioneer:jon-postel\|Jon Postel]] at ISI. He edited [[rfc:791\|RFC 791]] ([[ip\|IP | +| `L7` | 2 | 2 | โ€” | n the registry. The first genuinely new L7 protocol since [[websockets\|WebSockets] | +| `WS` | 2 | 2 | โ€” | dern protocol history. His core line: _"WS-\* bad"_ โ€” shorthand among {{ietf\|IETF} | +| `INACTIVE` | 2 | 2 | โ€” | tate machine โ€” \`RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE\` for 5G โ€” and **{{nas\|NAS}}** carries | +| `AMPS` | 2 | 2 | โ€” | [cellular\|cellular]]\*\* โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through | +| `NFC-A` | 2 | 2 | โ€” | e flavours on the air', text: '**NFC-A** ({{iso\|ISO}} 14443-A): {{pcd\|PCD}}โ†’{{ | +| `OOK` | 2 | 2 | โ€” | ed-Miller; {{picc\|PICC}}โ†’{{pcd\|PCD}} is OOK Manchester on the 847.5 kHz subcarrier. | +| `NFC-B` | 2 | 2 | โ€” | Base rate 106 kbit/s, scaling to 848. **NFC-B** ({{iso\|ISO}} 14443-B): {{pcd\|PCD}}โ†’{{ | +| `NRZ-L` | 2 | 2 | โ€” | cc\|PICC}} is 10% {{ask-modulation\|ASK}} NRZ-L; {{picc\|PICC}}โ†’{{pcd\|PCD}} is {{bpsk\|BP | +| `JIS` | 2 | 2 | โ€” | assports. **{{nfc-f\|NFC-F}}** (FeliCa / JIS X 6319-4): 212/424 kbit/s Manchester-co | +| `PASMO` | 2 | 2 | โ€” | nt in Japan {{transit\|transit}} (Suica, PASMO) and Hong Kong (Octopus). \*\*{{nfc-v\|NFC | +| `ETH` | 2 | 2 | โ€” | u, Giovanni Camurati, and colleagues at ETH Zรผrich published **Ghost Peak** โ€” an at | +| `D03` | 2 | 2 | โ€” | eee-802-15-4\|IEEE}} 802.15.4ab\*\* (Draft D03 September 2025, ratification expected e | +| `ABI` | 2 | 2 | โ€” | eness of [[uwb\|UWB]] into one purchase. ABI projects [[uwb\|UWB]] phone penetration | +| `PRO` | 2 | 2 | โ€” | '[[zigbee\|IEEE 802.15.4 mesh]], Zigbee PRO R23 ({{dynamic-link-key\|Dynamic Link Ke | +| `RTSP` | 2 | 2 | โ€” | mber 2025)\*\*, with camera streaming via RTSP, removing the last category that previo | +| `OASIS` | 2 | 2 | โ€” | ce the protocol and shepherd it through OASIS standardization.', imagePath: | +| `CEO` | 2 | 2 | โ€” | oyed [[amqp\|AMQP]] broker. Later became CEO of Weaveworks, bringing messaging patte | +| `TIBCO` | 2 | 2 | โ€” | rneyed from Wall Street trading floors (TIBCO) to IoT sensors ([[mqtt\|MQTT]]) to clou | +| `DIX` | 2 | 1 | โ€” | c\|Xerox PARC}} in 1973, co-authored the DIX [[ethernet\|Ethernet]] standard (1980), | +| `DEC` | 2 | 2 | โ€” | t infrastructure', caption: "The DEC PDP-11 โ€” machines like these ran early | +| `BIND` | 2 | 2 | โ€” | urity', contribution: 'Wrote BIND, the most widely deployed [[dns\|DNS]] s | +| `HTML5` | 2 | 2 | โ€” | sse\|Server-Sent Events]] as part of the HTML5 specification, enabling simple server-t | +| `CMOS` | 2 | 2 | โ€” | sh engineer who owned the analog RF and CMOS implementation work that paired with Ja | +| `IC` | 2 | 2 | โ€” | Jaap Haartsen\'s digital baseband. The IC-level decisions that made [[bluetooth\|B | +| `FR2` | 2 | 2 | โ€” | flexible numerology, {{mmwave\|mmWave}} (FR2) support, network slicing. First commer | +| `RTT` | 2 | 2 | โ€” | Adopted 3 September 2024. Phase-based + RTT distance measurement on a new {{le-audi | +| `H1/H2` | 2 | 2 | โ€” | m\|Broadcom}}, Qualcomm, {{apple\|Apple}} H1/H2) uses **time-division arbitration** at | +| `SMTPS` | 2 | 1 | โ€” | ication protocols transparently (HTTPS, SMTPS); [[ssh\|SSH]] provides an encrypted cha | +| `RTMPS` | 2 | 2 | โ€” | aps [[rtmp\|RTMP]] connections to create RTMPS, encrypting live stream ingest traffic | +| `MB` | 2 | 2 | โ€” | r packet is **1460 bytes**. Sending a 1 MB file means roughly 685 packets. {{path- | +| `NSFNET` | 2 | 2 | โ€” | 1986 the same architecture was carrying NSFNET traffic across the country โ€” and the bu | +| `UC` | 2 | 2 | โ€” | ffers between Lawrence Berkeley Lab and UC Berkeley, three hops apart, were where | +| `RACK-TLP` | 2 | 2 | โ€” | ubic\|CUBIC}}, {{bbr\|BBR}}, {{l4s\|L4S}}, RACK-TLP โ€” are each refinements of the same cons | +| `HPC` | 2 | 2 | โ€” | rnet\|Ethernet]]+[[ip\|IP]] for {{ai\|AI}}/HPC scale-out: {{connectionless\|connectionl | +| `CBC` | 2 | 2 | โ€” | }} key {{exchange\|exchange}}, and every CBC-mode cipher โ€” keeping only {{chacha20-p | +| `BEAST` | 2 | 2 | โ€” | been weaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam | +| `CRIME` | 2 | 2 | โ€” | eaponised in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT | +| `BREACH` | 2 | 2 | โ€” | ed in a published attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[ | +| `FREAK` | 2 | 2 | โ€” | attack (BEAST, CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls\|TLS]] 1.3 als | +| `ROBOT` | 2 | 2 | โ€” | CRIME, BREACH, Lucky 13, FREAK, Logjam, ROBOT, โ€ฆ). [[tls\|TLS]] 1.3 also reduced the { | +| `OBS` | 2 | 2 | โ€” | eam ingest}}\*\* protocol โ€” your encoder (OBS, Wirecast) pushes a long-lived [[tcp\|TC | +| `STD` | 2 | 2 | โ€” | tra\|Dijkstra]] ([[rfc:2328\|RFC 2328]] / STD 54).', steps: { 0: '{{ospf-hello\|H | +| `CTR` | 2 | 2 | โ€” | t}}; **{{sts\|STS}}** is the {{aes\|AES}}-CTR-generated pulse pattern that makes the | +| `WHERE` | 2 | 1 | โ€” | transition: 'The browser now knows WHERE the server lives โ€” but packets on the i | +| `FSCI` | 2 | 2 | โ€” | TS}}\*\* declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know h | +| `FCI` | 2 | 2 | โ€” | } `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid\|AI | +| `PROCESSING` | 2 | 2 | โ€” | gram', description: "After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and | +| `CDOL1` | 2 | 2 | โ€” | nerate-ac\|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amou | +| `QR` | 2 | 2 | โ€” | e}} (printed on the Hue bulb's box as a QR code), that link key is unique and an e | +| `CVSS` | 2 | 2 | โ€” | on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patc | +| `CID` | 2 | 1 | โ€” | att-mtu\|ATT}}) lives on {{l2cap\|L2CAP}} CID 0x0004 and provides read/write/notify/i | +| `LTK` | 2 | 1 | โ€” | Curve P-256 to derive a Long-Term Key (LTK); the link is then {{encryption\|encrypt | +| `CIS` | 2 | 1 | โ€” | nels\*\* โ€” Connected Isochronous Streams (CIS) for {{unicast\|unicast}} earbuds/hearin | +| `LL` | 2 | 1 | โ€” | scription: 'Two devices in a normal LL connection schedule \*\*{{channel-soundin | +| `NCC` | 2 | 2 | โ€” | s the protocol-level answer to the 2022 NCC Group {{ble\|BLE}} relay attack that ope | +| `GFSK` | 2 | 1 | โ€” | s over the air\*\*. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble | +| `PB` | 2 | 1 | โ€” | }} by Q3 2025; the network averages 6.5 PB/day. The first proof that a hyperscale | +| `NR` | 2 | 1 | โ€” | ecified in Release 17 (2022), the first NR-{{ntn\|NTN}} deployments shipped in late | +| `USA` | 2 | 1 | โ€” | numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Ja | +| `X2` | 2 | 2 | โ€” | \*mandate\*\* [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forg | +| `N2` | 2 | 2 | โ€” | date\*\* [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetti | +| `N3` | 2 | 2 | โ€” | \*\* [[ipsec\|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting t | +| `E1` | 2 | 2 | โ€” | ]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private | +| `SOA` | 2 | 1 | โ€” | pex must also have {{ns-record\|NS}} and SOA records. Some [[dns\|DNS]] providers off | +| `NXDOMAIN` | 2 | 1 | โ€” | g can hurt', text: 'Resolvers cache NXDOMAIN responses based on the SOA minimum fiel | +| `UDP/4500` | 2 | 1 | โ€” | {{security-association\|SA}} switches to UDP/4500 {{encapsulation\|encapsulation}}. Two me | +| `MOBIKE` | 2 | 1 | โ€” | me routers don\'t corrupt the packet. **MOBIKE** ([[rfc:4555\|RFC 4555]]) lets a roadwa | +| `SKU` | 2 | 2 | โ€” | (10 Gbps aggregate on the AZ-redundant SKU), {{gcp\|GCP}} Cloud {{vpn\|VPN}}, OCI Si | +| `AS-REQ` | 2 | 1 | โ€” | description: 'Client sends an **AS-REQ** to the {{kerberos-kdc\|KDC}}\'s Authen | +| `TGS-REP` | 2 | 1 | โ€” | ion key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted u | +| `GSS` | 2 | 1 | โ€” | y speak Kerberos directly. They speak **GSS-{{api\|API}}** (Generic Security Service | +| `SPNEGO` | 2 | 1 | โ€” | ntext\` / \`gss_accept_sec_context\`. **SPNEGO** ([[rfc:4178\|RFC 4178]]) is the protoc | +| `PKINIT` | 2 | 1 | โ€” | gust 2025 release. Headline features: **PKINIT {{ecdh\|ECDH}}/EC certs** (smart-card au | +| `DES` | 2 | 1 | โ€” | IT}}-internal for years because it used DES โ€” and DES exports required State Depart | +| `FF02` | 2 | 2 | โ€” | s\* on \`224.0.0.251\` ([[ipv6\|IPv6]]: \`FF02::FB\`). Two flag bits get repurposed: t | +| `SD` | 2 | 2 | โ€” | cription: "A {{dns-resolution\|DNS}}-SD client looking for printers sends a {{p | +| `SRP` | 2 | 1 | โ€” | col) published', description: '**SRP** ({{rfc-doc\|RFC}} 9665, Lemon + [[pion | +| `LLMNR` | 2 | 1 | โ€” | th [[mdns-dns-sd\|mDNS]] **enabled** and LLMNR **disabled** in the security baseline. | +| `IGMP` | 2 | 1 | โ€” | e (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose list | +| `WLC` | 2 | 2 | โ€” | -dns-sd\|mDNS]] gateway ({{cisco\|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aero | +| `DERP` | 2 | 2 | โ€” | path between peers; their proprietary **DERP** relays absorb the rest as a {{turn\|TU | +| `CTO` | 2 | 2 | โ€” | turn\|TURN}}, and {{ice\|ICE}}. Currently CTO + Head of {{ai\|AI}} at Five9.' } ], | +| `T2T` | 2 | 1 | โ€” | ate frame size (FSCI) and timing (FWI). T2T cards skip {{rats\|RATS}} and go straigh | +| `TC` | 2 | 2 | โ€” | } โ€” either an {{arqc\|ARQC}} (online) or TC (offline). The cryptogram is signed in | +| `TNF` | 2 | 1 | โ€” | ifier\|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Know | +| `IEC` | 2 | 1 | โ€” | {ndef\|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NF | +| `HID` | 2 | 2 | โ€” | }}, Allegion, Aqara, {{google\|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nu | +| `EV3` | 2 | 1 | โ€” | Plus in **2011**, DESFire EV2 in 2016, EV3 in the early 2020s. The Classic Crypto1 | +| `GM` | 2 | 2 | โ€” | is, Audi (new in 2025), Volvo, Porsche, GM, Ford, plus a wave of Chinese OEMs (NIO | +| `DDA/CDA` | 2 | 1 | โ€” | eturns an AIP byte that signals whether DDA/CDA is supported. A common custom-{{hce\|HCE | +| `RRP` | 2 | 1 | โ€” | gram\|EMV}} **Relay Resistance Protocol (RRP)** in Kernel 2 v2.6+ binds round-trip t | +| `T1` | 2 | 1 | โ€” | DP]] packet with its current timestamp (T1). The packet is tiny โ€” 48 bytes.' }, | +| `T3` | 2 | 1 | โ€” | rives (T2) and when it sends the reply (T3). Both timestamps are included in the r | +| `T4` | 2 | 1 | โ€” | ient records when the response arrives (T4). Now it has four timestamps: T1 (sent) | +| `NBMA` | 2 | 1 | โ€” | default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router\'s {{id-ident | +| `HPRF` | 2 | 1 | โ€” | Hz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz\*\* in higher-power mod | +| `RTLS` | 2 | 1 | โ€” | f arrival โ€” used for warehouse/hospital RTLS where anchors are wired. \*_AoA / PDoA:_ | +| `EN` | 2 | 1 | โ€” | Hz\*\* across 3.1โ€“10.6 GHz. {{etsi\|ETSI}} EN 302 065 in Europe is similar with stric | +| `AR` | 2 | 1 | โ€” | ision Finding, BMW Digital Key, and the AR experiences in {{apple\|Apple}} Vision P | +| `T2024` | 2 | 1 | โ€” | 1-chip\|U1}}'s 16 nm), internal codename T2024, part number 339M00298. \*\*1.5ร— longer P | +| `U400` | 2 | 1 | โ€” | amsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro\|A | +| `S21` | 2 | 1 | โ€” | \|Apple}} UWB tracker. Works with Galaxy S21+ / S21 Ultra / Note 20 Ultra / S22/S23/ | +| `DW3000` | 2 | 1 | โ€” | upports only Channel 5; everything from DW3000 / {{nxp\|NXP}} SR150 / {{apple\|Apple}} { | +| `SR150` | 2 | 1 | โ€” | 5; everything from DW3000 / {{nxp\|NXP}} SR150 / {{apple\|Apple}} {{u1-chip\|U1}} onward | +| `NLOS` | 2 | 1 | โ€” | ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/meta | +| `ACL` | 2 | 1 | โ€” | r which destination prefix) **and** the ACL (inbound: only accept packets from this | +| `TSPU` | 2 | 1 | โ€” | mimicry', description: "Russia's TSPU boxes learned to fingerprint and drop s | +| `S1/S2` | 2 | 1 | โ€” | H4 ranges instead of fixed 1โ€“4), random S1/S2 padding. AWG 2.0 adds optional QUIC/{{d | +| `WARP` | 2 | 1 | โ€” | are}}'s consumer {{vpn\|VPN}} (1.1.1.1 + WARP app) runs on **BoringTun**, {{cloudflar | +| `OTA` | 2 | 1 | โ€” | ntrol = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an \*_APSCounter_ | +| `FOSS` | 2 | 1 | โ€” | and _no_ microphone or camera. For the FOSS path the answer is **zigbee2mqtt** by K | +| `PSU` | 2 | 1 | โ€” | ble Zigbee โ€” the router's switched-mode PSU emits broadband 2.4 GHz noise." } ], | +| `CC2652` | 2 | 1 | โ€” | dresden elektronik ConBee II, or any TI CC2652 stick โ€” the radio is abstracted behind | +| `SES` | 2 | 1 | โ€” | 3 December 2024\*\* VusionGroup (formerly SES-imagotag) announced acceleration of dig | +| `ESL` | 2 | 1 | โ€” | 500 stores. Vusion shipped 350 million ESLs in 2023 alone; the EdgeSense platform r | +| `AIR` | 2 | 1 | โ€” | ', description: "Acuity's nLight AIR and Atrius lines are the dominant Zigbe | +| `SUN` | 2 | 1 | โ€” | and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15 | +| `VSAT` | 1 | 1 | โ€” | llips 66 oil pipelines over a brand-new VSAT satellite link. The 2-byte fixed header | +| `PINGREQ` | 1 | 1 | โ€” | ixed header\*\*, smallest control packet (PINGREQ) is 2 bytes total. Designed in 1999 by | +| `JMS` | 1 | 1 | โ€” | sia is removed. RabbitMQ 4.3 also added JMS-style queues with {{sql\|SQL}} message s | +| `NETSCOUT` | 1 | 1 | โ€” | { kind: 'pull-quote', text: 'NETSCOUT\'s January 2019 scan found 388,344 publ | +| `QLC` | 1 | 1 | โ€” | ey were Chinese smartphones running the QLC Chain {{peer-to-peer\|peer-to-peer}} cry | +| `EDHOC` | 1 | 1 | โ€” | messages, ~100 bytes', text: '**EDHOC ([[rfc:9000\|RFC 9528]], March 2024)** โ€” | +| `DH` | 1 | 1 | โ€” | sages totalling ~100 bytes** for static-DH credentials, vs **~700+ bytes for a {{d | +| `OSCORE` | 1 | 1 | โ€” | years\* of additional life. Companion: **OSCORE ([[rfc:8613\|RFC 8613]])** wraps the [[c | +| `DNA` | 1 | 1 | โ€” | g router carries the same architectural DNA: a control plane that builds the {{rout | +| `PREF64` | 1 | 1 | โ€” | clients "skip [[ip\|IPv4]] entirely," \*\*PREF64 in Router Advertisements ([[rfc:8781\|RF | +| `RIR` | 1 | 1 | โ€” | {{roa\|ROA}} set. Lesson: enforce 2FA on RIR portals.', attribution: 'Author' | +| `OTC` | 1 | 1 | โ€” | fc:9234\|RFC 9234]] ([[bgp\|BGP]] Roles + OTC) ate its lunch. The lesson: a security | +| `MW` | 1 | 1 | โ€” | nal pluggable optics would consume ~180 MW of power for the optics alone. That is | +| `X1600` | 1 | 1 | โ€” | AI}} workloads. **{{spectrum\|Spectrum}}-X1600 (102.4 Tbps)** is expected 2H 2026.' | +| `GB200` | 1 | 1 | โ€” | ption: 'The **{{nvidia\|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on | +| `NVL72` | 1 | 1 | โ€” | 'The **{{nvidia\|NVIDIA}} GB200 NVL72** Blackwell-architecture rack on displa | +| `COMPUTEX` | 1 | 1 | โ€” | ackwell-architecture rack on display at COMPUTEX 2024 โ€” the kind of {{ai\|AI}}-training e | +| `WECA` | 1 | 1 | โ€” | as a tagline retrofitted briefly by the WECA board and dropped. The yin-yang logo is | +| `OET` | 1 | 1 | โ€” | on **23 February 2024** the {{fcc\|FCC}} OET approved \*\*seven {{afc\|AFC}} system ope | +| `RUCKUS` | 1 | 1 | โ€” | d [[wifi\|Wi-Fi]] 7 {{access-point\|AP}} (RUCKUS R770) was certified 16 April 2024.\*\* Bu | +| `R770` | 1 | 1 | โ€” | i\|Wi-Fi]] 7 {{access-point\|AP}} (RUCKUS R770) was certified 16 April 2024.\*\* But on | +| `SINR` | 1 | 1 | โ€” | squeezes for \*\*+25% throughput at given SINR, โˆ’25% 95th-percentile {{latency\|latency | +| `MPDU` | 1 | 1 | โ€” | th-percentile {{latency\|latency}}, โˆ’25% MPDU loss across {{bss-coloring\|BSS}} transi | +| `CS168` | 1 | 1 | โ€” | P]] stack), {{mit\|MIT}} 6.829, Berkeley CS168.', slots: [ { kind: 'prose' | +| `PARC` | 1 | 1 | โ€” | still runs the original spec. The 1973 PARC sketch and a 2025 Ultra [[ethernet\|Ethe | +| `KU` | 1 | 1 | โ€” | , text: '\*\*Mathy Vanhoef and the KU Leuven team have broken [[wifi\|Wi-Fi]] | +| `DCP` | 1 | 1 | โ€” | rote [[rfc:826\|RFC 826]] from address \`DCP@{{mit\|MIT}}-MC\` in November 1982. \*\*ST | +| `MC` | 1 | 1 | โ€” | FC 826]] from address \`DCP@{{mit\|MIT}}-MC\` in November 1982. \*\*STD 37 has never | +| `L2` | 1 | 1 | โ€” | xt: '[[arp\|ARP]] relies entirely on the L2 {{checksum\|frame check sequence}} โ€” no | +| `BRL` | 1 | 1 | โ€” | rote {{ping\|ping}} in a single night at BRL Aberdeen in December 1983, named after | +| `TOPS-20` | 1 | 1 | โ€” | st server was named _Jeeves_ and ran on TOPS-20.', credit: 'Image: Wikimedia Com | +| `KEX` | 1 | 1 | โ€” | llo\|ServerHello}}/Finished, [[ssh\|SSH]] KEX, [[mqtt\|MQTT]] {{mqtt-connect\|CONNECT}} | +| `CONNACK` | 1 | 1 | โ€” | [[mqtt\|MQTT]] {{mqtt-connect\|CONNECT}}/CONNACK, [[sctp\|SCTP]]\'s four-way {{cookie\|Coo | +| `DAVE` | 1 | 1 | โ€” | on a whiteboard in 2018." Discord\'s **DAVE protocol** (deployed 1 March 2026) laye | +| `MLS` | 1 | 1 | โ€” | otocol\*\* (deployed 1 March 2026) layers MLS keys + SFrame on top of [[rtp\|RTP]]/{{s | +| `E2EE` | 1 | 1 | โ€” | on top of [[rtp\|RTP]]/{{srtp\|SRTP}} for E2EE voice across \*\*2.5 million concurrent u | +| `M120` | 1 | 1 | โ€” | AV1}} hardware encode shipped in Chrome M120 (Dec 2023). Firefox 125 added {{av1\|AV1 | +| `EME` | 1 | 1 | โ€” | ec 2023). Firefox 125 added {{av1\|AV1}}+EME in April 2024. But the royalty-free cla | +| `CMAF` | 1 | 1 | โ€” | ate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn\|CDN}} serves them ov | +| `ISDN` | 1 | 1 | โ€” | four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp\|RTP]]/H.323 โ†’ [[webrtc\|WebRTC]] | +| `PRNET/SATNET` | 1 | 1 | โ€” | et\|ARPANET}}), and unreliable wireless (PRNET/SATNET) each forced different design pressures | +| `UCSB` | 1 | 1 | โ€” | rk that became the internet. UCLA, SRI, UCSB, and Utah; one {{imp\|IMP}} per site.', | +| `EDGE` | 1 | 1 | โ€” | d on 29 June 2007 with [[wifi\|Wi-Fi]] + EDGE; the App Store followed in July 2008; { | +| `GIGA` | 1 | 1 | โ€” | ple}} {{os\|OS}} services, Korea Telecom GIGA Path, some specialised enterprise WANs) | +| `CA` | 1 | 1 | โ€” | te-authority\|CA}} signs an intermediate CA, which signs the end-entity {{certifica | +| `SIGALRM` | 1 | 1 | โ€” | {{linux\|Linux}}. Signal-handler race: \`SIGALRM\` handler calls \`syslog()\` (not async | +| `UNIX` | 1 | 1 | โ€” | er than {{arpanet\|ARPANET}}, older than UNIX, older than every other timestamp stand | +| `Y2036` | 1 | 1 | โ€” | it and will need fixes before 2036. The Y2036 work has been quietly underway since 20 | +| `SNDMSG` | 1 | 1 | โ€” | picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel\|Jon Postel]] publ | +| `DCE` | 1 | 1 | โ€” | a 40-year lineage of Sun {{rpc\|RPC}} / DCE / CORBA / Thrift. The client _stub_ ser | +| `CORBA` | 1 | 1 | โ€” | year lineage of Sun {{rpc\|RPC}} / DCE / CORBA / Thrift. The client _stub_ serialises | +| `NTIA` | 1 | 1 | โ€” | d States Frequency Allocations Chart\**, NTIA. Every coloured stripe is a *service\* โ€” | +| `WPA` | 1 | 1 | โ€” | \|OOB}} key or the Wi-Fi {{ssid\|SSID}} + WPA key in an {{ndef\|NDEF}} record. \*\*[[zig | +| `MIMO` | 1 | 1 | โ€” | 11]] โ€” {{csma-ca\|CSMA/CA}} in practice, MIMO โ†’ {{ofdma\|OFDMA}} โ†’ {{mlo\|MLO}}, and th | +| `DIFS` | 1 | 1 | โ€” | of the {{airtime\|airtime}} is spent on DIFS gaps, {{ack\|ACK}} frames, beacons, and | +| `NB` | 1 | 1 | โ€” | volte\|VoLTE}} / [[wifi\|Wi-Fi]] calling, NB-IoT / {{lte\|LTE}}-M, satellite {{direct | +| `N2/N3` | 1 | 1 | โ€” | an\|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte\|LTE}}) is wrapped in | +| `IOS` | 1 | 1 | โ€” | teffen]]\'s strongSwan, {{cisco\|Cisco}} IOS, and Juniper {{junos\|Junos}} run more [ | +| `TACS` | 1 | 1 | โ€” | ar\|cellular]]\*\* โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{g | +| `NMT` | 1 | 1 | โ€” | ular]]\*\* โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm\|GSM | +| `IS-95` | 1 | 1 | โ€” | he early 1980s through 2G {{gsm\|GSM}} / IS-95, 3G {{wcdma\|WCDMA}} / CDMA2000, 4G {{lt | +| `CDMA2000` | 1 | 1 | โ€” | gsm\|GSM}} / IS-95, 3G {{wcdma\|WCDMA}} / CDMA2000, 4G {{lte\|LTE}}, and {{5g-nr\|5G NR}}. E | +| `SYS.DDF01` | 1 | 1 | โ€” | t System Environment {{aid\|AID}} \`2PAY.SYS.DDF01\` โ€” and the card returns an FCI listing | +| `A0000000041010` | 1 | 1 | โ€” | The reader picks one (e.g. Mastercard \`A0000000041010\`), SELECTs it, gets back a {{pdol\|PDOL | +| `TX` | 1 | 1 | โ€” | _can_ be cheated โ€” a relay with enough TX power makes a distant device look near. | +| `PAL` | 1 | 1 | โ€” | iority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and \*\*G | +| `PMSE` | 1 | 1 | โ€” | has experimented with similar concepts (PMSE in the UK, {{lsa\|LSA}} in some EU pilot | +| `PIE` | 1 | 1 | โ€” | {{aqm\|Active Queue Management}} (CoDel, PIE, fq_codel) and algorithms like {{bbr\|BB | +| `SCADA` | 1 | 1 | โ€” | on: "Brought embedded systems and SCADA expertise to [[mqtt\|MQTT]]'s design. Co | +| `CBOR` | 1 | 1 | โ€” | oap\|CoAP]] specification and co-created CBOR, the efficient binary {{serialization\|s | +| `NATS` | 1 | 1 | โ€” | o cloud-native microservices ([[amqp]], NATS, [[kafka]]). Today, it's one of the mos | +| `P802` | 1 | 1 | โ€” | on 100 G lanes). The 1.6 TbE follow-up (P802.3dj, 200 G/lane) targets July 2026 โ€” dr | +| `LO` | 1 | 1 | โ€” | two months before the first successful "LO" transmission to SRI.', credit: 'Pho | +| `PDP-11` | 1 | 1 | โ€” | frastructure', caption: "The DEC PDP-11 โ€” machines like these ran early [[ntp\|N | +| `POWER` | 1 | 1 | โ€” | reads "This machine is a server. DO NOT POWER IT DOWN!!"', credit: 'Photo: Coolcae | +| `DOWN` | 1 | 1 | โ€” | is machine is a server. DO NOT POWER IT DOWN!!"', credit: 'Photo: Coolcaesar / CC | +| `AAIF` | 1 | 1 | โ€” | es to the Agentic {{ai\|AI}} Foundation (AAIF) and [[a2a\|A2A]] launches as a {{linux\| | +| `RF` | 1 | 1 | โ€” | 'Swedish engineer who owned the analog RF and CMOS implementation work that paire | +| `COMDEX` | 1 | 1 | โ€” | product (a hands-free headset) ships at COMDEX 1999.', protocolId: 'bluetooth' | +| `SC-FDMA` | 1 | 1 | โ€” | preading codes for an {{ofdma\|OFDMA}} + SC-FDMA air interface โ€” the clean-sheet radio d | +| `IQ` | 1 | 1 | โ€” | ble delivery of presence, messages, and IQ queries.', howTheyWork: 'An [[xmpp | +| `AMQPS` | 1 | 1 | โ€” | aps [[amqp\|AMQP]] connections to create AMQPS, encrypting all {{broker\|message broker | +| `MQTTS` | 1 | 1 | โ€” | aps [[mqtt\|MQTT]] connections to create MQTTS, encrypting all pub/sub messaging betwe | +| `SIPS` | 1 | 1 | โ€” | SIP]] {{signaling\|signaling}} to create SIPS, encrypting call setup, authentication, | +| `WSS` | 1 | 1 | โ€” | ckets\|WebSocket]] connections to create WSS (wss://), encrypting the {{full-duplex\| | +| `M3U8` | 1 | 1 | โ€” | LS]] delivers adaptive video by serving M3U8 playlists and media segments as standar | +| `BOSH` | 1 | 1 | โ€” | network without long-polling hacks like BOSH.', howTheyWork: 'The browser opens | +| `PROXY` | 1 | 1 | โ€” | ess you explicitly forward it via the **PROXY protocol** or an {{header\|HTTP header}} | +| `ARPA` | 1 | 1 | โ€” | down in 1986.', caption: 'The ARPA Network in September 1973, a few dozen | +| `DHT` | 1 | 1 | โ€” | Torrent uses centralised trackers (or a DHT, which is a decentralised tracker) to b | +| `SHA384` | 1 | 1 | โ€” | DigiCert [[tls\|TLS]] Hybrid {{ecc\|ECC}} SHA384 โ†’ DigiCert Global Root G3\`. Only the b | +| `G3` | 1 | 1 | โ€” | ecc\|ECC}} SHA384 โ†’ DigiCert Global Root G3\`. Only the bottom (root) {{certificate | +| `SIGTRAN` | 1 | 1 | โ€” | under telecom {{signaling\|signaling}} (SIGTRAN) and [[webrtc\|WebRTC]] data channels ([ | +| `WHATWG` | 1 | 1 | โ€” | only need {{server-push\|server push}} (WHATWG).', steps: { 0: 'Standard [[http1\| | +| `OMA` | 1 | 1 | โ€” | App, and the {{matter\|Matter}}-adjacent OMA-LwM2M IoT stack. Encrypted via {{startt | +| `CQRS` | 1 | 1 | โ€” | tream processing}}, event sourcing, and CQRS. \*\*{{exactly-once-delivery\|Exactly-once | +| `T1/T2/T3/T4` | 1 | 1 | โ€” | timestamps per {{exchange\|exchange}}\*\* (T1/T2/T3/T4) which cancel out network {{latency\|lat | +| `TGS` | 1 | 1 | โ€” | ey Distribution Center, split into AS + TGS), and Service. Two {{encryption\|encrypt | +| `SEND` | 1 | 1 | โ€” | ONNECT}}, {{mqtt-subscribe\|SUBSCRIBE}}, SEND, and {{ack\|ACK}} are self-explanatory, | +| `ERP` | 1 | 1 | โ€” | ing queue, maintenance data goes to the ERP integration queue, and raw telemetry go | +| `VP8` | 1 | 1 | โ€” | round rules: which codecs they support (VP8, H.264, Opus), what transport addresses | +| `DANE` | 1 | 1 | โ€” | d [[dns\|DNS]]-based authentication like DANE which allows domain owners to {{mqtt-pu | +| `TVR` | 1 | 1 | โ€” | the inputs (amount, currency, country, TVR, {{atc\|ATC}}, Unpredictable Number, AIP | +| `POS` | 1 | 1 | โ€” | description: "Modern wireless POS terminals (Square, Stripe, Verifone Eng | +| `APPROVED` | 1 | 1 | โ€” | sufficient balance + no fraud flag = **APPROVED**. The issuer returns an **ARPC** (Auth | +| `ARPC` | 1 | 1 | โ€” | = **APPROVED**. The issuer returns an **ARPC** (Authorisation Response Cryptogram) o | +| `RFRAME` | 1 | 1 | โ€” | n: "The phone transmits a **Poll** RFRAME on [[uwb\|UWB]] Channel 9 (7987.2 MHz, 4 | +| `LQI` | 1 | 1 | โ€” | icks the best parent by {{rssi\|RSSI}} + LQI. This is the slowest step โ€” beacon scan | +| `WITHDRAWAL` | 1 | 1 | โ€” | -system\|AS}} 32934 โ€” and then a wave of WITHDRAWALs of the [[ip\|IPv4]] and [[ipv6\|IPv6]] pr | +| `SERVFAIL` | 1 | 1 | โ€” | ike 1.1.1.1 and 8.8.8.8 start returning SERVFAIL for facebook.com. Apps and humans retry | +| `NANOG` | 1 | 1 | โ€” | tion: "Vince Bono's apology email to NANOG that day is preserved in the archives โ€” | +| `RIS` | 1 | 1 | โ€” | ally for hours. {{ripe-ncc\|RIPE NCC}}'s RIS data became the canonical post-mortem s | +| `LBL` | 1 | 1 | โ€” | delivery less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 4 | +| `UCB` | 1 | 1 | โ€” | y less likely. Throughput on the LBL-to-UCB path collapsed from 32 kbps to 40 bps โ€” | +| `LBL-UCB` | 1 | 1 | โ€” | uplicates. Goodput approaches zero. The LBL-UCB path measures 40 bps where it had measu | +| `CT` | 1 | 1 | โ€” | limit damage.", mistake: "At 02:42 CT, a network change with an equipment con | +| `GSO` | 1 | 1 | โ€” | ff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed | +| `OPEN` | 1 | 1 | โ€” | 'Both routers {{exchange\|exchange}} OPEN messages containing their {{autonomous- | +| `NLRI` | 1 | 1 | โ€” | messages containing reachable prefixes (NLRI) with path attributes: {{as-path\|AS_PAT | +| `EGP` | 1 | 1 | โ€” | Austin. The previous routing protocol (EGP) was unmanageable. They sketched a repl | +| `GTSM` | 1 | 1 | โ€” | tcha', text: 'Some operators enable GTSM (Generalised {{ttl\|TTL}} Security Mecha | +| `SBC` | 1 | 1 | โ€” | he mandatory {{codec\|codec}} (replacing SBC and saving ~50% battery vs A2DP). \*\*{{a | +| `A2DP` | 1 | 1 | โ€” | eplacing SBC and saving ~50% battery vs A2DP). **{{auracast\|Auracast}}** is the {{si | +| `ISOAL` | 1 | 1 | โ€” | privacy against long-term tracking) and ISOAL improvements for {{le-audio\|LE Audio}} | +| `EURECOM` | 1 | 1 | โ€” | mes', text: "Daniele Antonioli (then EURECOM, now PostDoc-and-faculty) is the lead a | +| `DPSK` | 1 | 1 | โ€” | the air\*\*. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble\|BLE}} | +| `FR1` | 1 | 1 | โ€” | two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave\|mmWave}} 24โ€“52 | +| `LLR` | 1 | 1 | โ€” | ion}}. The receiver stores soft-decoded LLRs from failed transmissions and combines | +| `RLC` | 1 | 1 | โ€” | er compression', description: '**RLC** runs in TM (transparent), UM (unackno | +| `TM` | 1 | 1 | โ€” | ', description: '**RLC** runs in TM (transparent), UM (unacknowledged), or | +| `UM` | 1 | 1 | โ€” | '**RLC** runs in TM (transparent), UM (unacknowledged), or AM (acknowledged) | +| `AM` | 1 | 1 | โ€” | (transparent), UM (unacknowledged), or AM (acknowledged) mode with 10- or 16-bit | +| `PDCP` | 1 | 1 | โ€” | ce numbers}} ({{ts-3gpp\|TS}} 38.322). **PDCP** above it ({{ts-3gpp\|TS}} 38.323) does | +| `ROHC` | 1 | 1 | โ€” | \* above it ({{ts-3gpp\|TS}} 38.323) does ROHC {{header\|header compression}} (squashin | +| `USIM` | 1 | 1 | โ€” | hentication vector, and the {{ue\|UE}}'s USIM verifies AUTN and computes RES\*. After | +| `AUTN` | 1 | 1 | โ€” | ctor, and the {{ue\|UE}}'s USIM verifies AUTN and computes RES\*. After Security Mode | +| `RES` | 1 | 1 | โ€” | \|UE}}'s USIM verifies AUTN and computes RES\*. After Security Mode Command, {{nas\|NA | +| `PCF` | 1 | 1 | โ€” | {upf\|UPF}}, {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a \*\*netwo | +| `NRF` | 1 | 1 | โ€” | UPF}}, {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a \*\*network fu | +| `NEF` | 1 | 1 | โ€” | , {{ausf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a \*\*network functio | +| `NSSF` | 1 | 1 | โ€” | usf\|AUSF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** wi | +| `AF` | 1 | 1 | โ€” | SF}}, {{udm\|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with a | +| `GPRS` | 1 | 1 | โ€” | \|UPF}} travel over **{{gtp-u\|GTP-U}}** (GPRS Tunnelling Protocol โ€” User plane) on [[ | +| `ML` | 1 | 1 | โ€” | vanced release. New features: {{ai\|AI}}/ML in the air interface (CSI feedback comp | ## Known concept (just needs wrapping) (55) -| Acronym | Count | Files | Suggested ID | Sample | -|---|---:|---:|---|---| -| `API` | 32 | 10 | api | hat the vast majority of "[[rest\|REST]] APIs" are not RESTful in his strict sense โ€” | -| `NAT` | 13 | 4 | nat | CTP]], [[mptcp\|MPTCP]]) cannot traverse NATs that do not understand them; [[quic\|QUI | -| `URL` | 11 | 8 | url | {http-method\|HTTP}}, {{html\|HTML}}, and URLs \u2014 the three pillars of the web. Bu | -| `RFC` | 10 | 4 | rfc-doc | 'Curated reading lists per area โ€” the RFCs, books, courses, blogs, and tools worth | -| `CDN` | 8 | 6 | cdn-acr | , use ordinary {{http-method\|HTTP}} and CDNs.', protocolId: 'hls' }, { | -| `LSA` | 6 | 1 | lsa | ({{lsr\|LSR}})** packets asking for the LSAs they don\'t have, and receive them in * | -| `IMP` | 4 | 3 | imp | t router. The protocol that ran between IMPs is what [[tcp\|TCP]]/[[ip\|IP]] would lat | -| `AP` | 4 | 4 | ap-access-point | rable 2.4 GHz collapse โ€” when 20+ Wi-Fi APs share three non-overlapping channels, t | -| `MAC` | 4 | 3 | mac-media | [[arp\|ARP]] resolves those addresses to MACs. Together they bootstrap a device onto | -| `ISP` | 3 | 3 | isp | tonomous-system\|Autonomous Systems}}** (ISPs, big companies) tell each other which { | -| `ACK` | 3 | 3 | ack | 1) replacing the older 'three duplicate ACKs' loss-detection rule.", sources: [ | -| `OEM` | 3 | 2 | oem | 2025 alone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devic | -| `CLAT` | 2 | 1 | clat-acr | ]]. **Fedora/NetworkManager auto-enable CLAT for [[ipv6\|IPv6]]-mostly networks (2024 | -| `GPU` | 2 | 1 | gpu | d: 'pull-quote', text: 'Scaling 1M GPUs with traditional pluggable optics would | -| `ASK` | 2 | 2 | ask-modulation | 319-4): 212/424 kbit/s Manchester-coded ASK, *no subcarrier* โ€” dominant in Japan {{ | -| `POP` | 2 | 2 | pop-acr | nternet Message Access Protocol. Unlike POP, mail stays on the server โ€” a radical i | -| `LAN` | 2 | 2 | lan-acr | s [[ip\|IP]]\'s Layer 2 carrier on wired LANs.', howTheyWork: 'When an [[ip\|IP]] | -| `TLD` | 2 | 1 | tld | rchical: 13 **Root** servers know the **TLDs** (`.com`, `.org`...), TLDs know the ** | -| `URI` | 2 | 2 | uri | , and DELETE on resources identified by URIs โ€” familiar patterns for web developers, | -| `SELECT` | 2 | 2 | imap-select | inal picks the highest-priority one and SELECTs it; the card returns its **{{pdol\|PDOL} | -| `CPU` | 2 | 1 | cpu | f\|OSPF]] โ€” overwhelming the core router CPUs and crashing the entire network.", ca | -| `KEM` | 2 | 1 | kem-acr | 370]] multiple-KE โ€” meaning two or more KEMs (e.g. classical ecp384 + post-quantum { | -| `KDC` | 2 | 1 | kerberos-kdc | default)', description: "Modern KDCs reject an unauthenticated AS-REQ. The c | -| `ID` | 2 | 2 | id-identifier | ugh 38473) plus predictable transaction IDs ({{cve\|CVE}}-2024-52616) in **Avahi**, | -| `SSID` | 2 | 2 | ssid | st}}/{{multicast\|multicast}} on stadium SSIDs entirely, or deploy [[mdns-dns-sd\|mDNS] | -| `MRZ` | 2 | 1 | mrz | data without **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh\|ECDH}} from | -| `DR` | 2 | 1 | ospf-dr | ed Router ({{ospf-dr\|DR}})** and Backup DR โ€” the DR is the only neighbour every ro | -| `FTM` | 2 | 1 | ftm | icated UWB anchors. **Honest verdict:** FTM is *good enough* for room-level indoor | -| `PHY` | 2 | 1 | phy | spacing, 250 kbit/s data rate. Sub-GHz PHYs at 868 MHz (Europe, 20 kbit/s {{bpsk\|BP | -| `ISN` | 1 | 1 | isn | 48]]** and the cryptographically-random ISNs every modern stack uses.', credi | -| `X25519MLKEM768` | 1 | 1 | pq-ciphersuite | OpenSSL 3.5's default keyshare is now \`X25519MLKEM768 + {{x25519\|X25519}}\`.` }, | -| `ROA` | 1 | 1 | roa | in to {{ripe-ncc\|RIPE NCC}} and edited ROAs to make legitimate prefixes {{rpki\|RPKI | -| `MED` | 1 | 1 | med | r {{autonomous-system\|AS}}.** Comparing MEDs cross-{{autonomous-system\|AS}} is meani | -| `SFU` | 1 | 1 | sfu | ption\|encryption}} that travels through SFUs without decryption. [[pioneer:justin-ub | -| `WAN` | 1 | 1 | wan-acr | GIGA Path, some specialised enterprise WANs) it works well. Where it does not work | -| `SCP` | 1 | 1 | scp-copy | e protocol that was supposed to replace SCP is finally replacing it.' }, | -| `CVE` | 1 | 1 | cve | s not changed. The ecosystem has. Major CVEs in major implementations: **{{cve\|CVE}} | -| `VLAN` | 1 | 1 | vlan | agline: 'Advanced Layer 2-3 topics โ€” VLANs, spanning tree, IPv6 migration, {{arp-c | -| `UI` | 1 | 1 | ui | because of its simplicity, but complex UIs with deeply nested data often outgrow i | -| `LLM` | 1 | 1 | llm | s {{json\|JSON}} Schema definitions that LLMs can understand), resource access (files | -| `KEEPALIVE` | 1 | 1 | bgp-keepalive | ion', description: 'Routers send KEEPALIVEs every ~30 seconds to prove liveness. UP | -| `UPDATE` | 1 | 1 | bgp-update | Es every ~30 seconds to prove liveness. UPDATEs flow whenever routes change. {{notifica | -| `UUID` | 1 | 1 | uuid | sig\|SIG}}-assigned) or 128-bit (vendor) UUIDs. Default {{att-mtu\|ATT}} {{mtu\|MTU}} is | -| `DC` | 1 | 1 | dc-domain-controller | r this date, {{ad-active-directory\|AD}} DCs refuse Kerberos PKINIT with weakly-boun | -| `SPN` | 1 | 1 | spn | **Cure:** register both short and FQDN SPNs in the keytab; set `dns_canonicalize_ho | -| `APDU` | 1 | 1 | apdu | the reader speaks **{{iso\|ISO}} 7816-4 APDUs**: 4-byte header `CLA INS P1 P2` + opti | -| `LSDB` | 1 | 1 | lsdb | le. Areas (Area 0 is the backbone) keep LSDBs scoped so the {{spf\|SPF}} computation s | -| `SRLG` | 1 | 1 | srlg | (include/exclude admin groups, exclude SRLGs). Carried in the new Flexible Algorithm | -| `TLV` | 1 | 1 | tlv | ough Opaque LSAs and Router Information TLVs.' }, { title: 'OSPF has reliable | -| `NIC` | 1 | 1 | nic | DNs offload to [[tls\|TLS]]-acceleration NICs (kTLS); plain servers should expect hig | -| `BLE` | 1 | 1 | ble | reshold *and* the credential is valid โ†’ BLE returns Unlock granted/denied. [[nfc\|NF | -| `U2` | 1 | 1 | u2-chip | ng. AirTag 2 (January 2026) carries the U2 alongside the anti-stalking hardware up | -| `U1` | 1 | 1 | u1-chip | {{u1-chip\|U1}} โ‡„ {{u1-chip\|U1}}** and **U1 โ‡„ {{nxp\|NXP}} / {{qorvo\|Qorvo}}** combi | -| `FFD` | 1 | 1 | ffd | unslotted CSMA-CA in most deployments (FFDs as routers, RFDs as end-devices), with | -| `RFD` | 1 | 1 | rfd | A in most deployments (FFDs as routers, RFDs as end-devices), with optional beacon-m | +| Acronym | Count | Files | Suggested ID | Sample | +| ---------------- | ----: | ----: | -------------------- | ------------------------------------------------------------------------------------------ | +| `API` | 32 | 10 | api | hat the vast majority of "[[rest\|REST]] APIs" are not RESTful in his strict sense โ€” | +| `NAT` | 13 | 4 | nat | CTP]], [[mptcp\|MPTCP]]) cannot traverse NATs that do not understand them; [[quic\|QUI | +| `URL` | 11 | 8 | url | {http-method\|HTTP}}, {{html\|HTML}}, and URLs \u2014 the three pillars of the web. Bu | +| `RFC` | 10 | 4 | rfc-doc | 'Curated reading lists per area โ€” the RFCs, books, courses, blogs, and tools worth | +| `CDN` | 8 | 6 | cdn-acr | , use ordinary {{http-method\|HTTP}} and CDNs.', protocolId: 'hls' }, { | +| `LSA` | 6 | 1 | lsa | ({{lsr\|LSR}})\*_ packets asking for the LSAs they don\'t have, and receive them in _ | +| `IMP` | 4 | 3 | imp | t router. The protocol that ran between IMPs is what [[tcp\|TCP]]/[[ip\|IP]] would lat | +| `AP` | 4 | 4 | ap-access-point | rable 2.4 GHz collapse โ€” when 20+ Wi-Fi APs share three non-overlapping channels, t | +| `MAC` | 4 | 3 | mac-media | [[arp\|ARP]] resolves those addresses to MACs. Together they bootstrap a device onto | +| `ISP` | 3 | 3 | isp | tonomous-system\|Autonomous Systems}}\*\* (ISPs, big companies) tell each other which { | +| `ACK` | 3 | 3 | ack | 1) replacing the older 'three duplicate ACKs' loss-detection rule.", sources: [ | +| `OEM` | 3 | 2 | oem | 2025 alone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devic | +| `CLAT` | 2 | 1 | clat-acr | ]]. \*\*Fedora/NetworkManager auto-enable CLAT for [[ipv6\|IPv6]]-mostly networks (2024 | +| `GPU` | 2 | 1 | gpu | d: 'pull-quote', text: 'Scaling 1M GPUs with traditional pluggable optics would | +| `ASK` | 2 | 2 | ask-modulation | 319-4): 212/424 kbit/s Manchester-coded ASK, _no subcarrier_ โ€” dominant in Japan {{ | +| `POP` | 2 | 2 | pop-acr | nternet Message Access Protocol. Unlike POP, mail stays on the server โ€” a radical i | +| `LAN` | 2 | 2 | lan-acr | s [[ip\|IP]]\'s Layer 2 carrier on wired LANs.', howTheyWork: 'When an [[ip\|IP]] | +| `TLD` | 2 | 1 | tld | rchical: 13 **Root** servers know the **TLDs** (`.com`, `.org`...), TLDs know the \*\* | +| `URI` | 2 | 2 | uri | , and DELETE on resources identified by URIs โ€” familiar patterns for web developers, | +| `SELECT` | 2 | 2 | imap-select | inal picks the highest-priority one and SELECTs it; the card returns its \*\*{{pdol\|PDOL} | +| `CPU` | 2 | 1 | cpu | f\|OSPF]] โ€” overwhelming the core router CPUs and crashing the entire network.", ca | +| `KEM` | 2 | 1 | kem-acr | 370]] multiple-KE โ€” meaning two or more KEMs (e.g. classical ecp384 + post-quantum { | +| `KDC` | 2 | 1 | kerberos-kdc | default)', description: "Modern KDCs reject an unauthenticated AS-REQ. The c | +| `ID` | 2 | 2 | id-identifier | ugh 38473) plus predictable transaction IDs ({{cve\|CVE}}-2024-52616) in **Avahi**, | +| `SSID` | 2 | 2 | ssid | st}}/{{multicast\|multicast}} on stadium SSIDs entirely, or deploy [[mdns-dns-sd\|mDNS] | +| `MRZ` | 2 | 1 | mrz | data without **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh\|ECDH}} from | +| `DR` | 2 | 1 | ospf-dr | ed Router ({{ospf-dr\|DR}})\*\* and Backup DR โ€” the DR is the only neighbour every ro | +| `FTM` | 2 | 1 | ftm | icated UWB anchors. **Honest verdict:** FTM is _good enough_ for room-level indoor | +| `PHY` | 2 | 1 | phy | spacing, 250 kbit/s data rate. Sub-GHz PHYs at 868 MHz (Europe, 20 kbit/s {{bpsk\|BP | +| `ISN` | 1 | 1 | isn | 48]]\*\* and the cryptographically-random ISNs every modern stack uses.', credi | +| `X25519MLKEM768` | 1 | 1 | pq-ciphersuite | OpenSSL 3.5's default keyshare is now \`X25519MLKEM768 + {{x25519\|X25519}}\`.` }, | +| `ROA` | 1 | 1 | roa | in to {{ripe-ncc\|RIPE NCC}} and edited ROAs to make legitimate prefixes {{rpki\|RPKI | +| `MED` | 1 | 1 | med | r {{autonomous-system\|AS}}.\*\* Comparing MEDs cross-{{autonomous-system\|AS}} is meani | +| `SFU` | 1 | 1 | sfu | ption\|encryption}} that travels through SFUs without decryption. [[pioneer:justin-ub | +| `WAN` | 1 | 1 | wan-acr | GIGA Path, some specialised enterprise WANs) it works well. Where it does not work | +| `SCP` | 1 | 1 | scp-copy | e protocol that was supposed to replace SCP is finally replacing it.' }, | +| `CVE` | 1 | 1 | cve | s not changed. The ecosystem has. Major CVEs in major implementations: \*\*{{cve\|CVE}} | +| `VLAN` | 1 | 1 | vlan | agline: 'Advanced Layer 2-3 topics โ€” VLANs, spanning tree, IPv6 migration, {{arp-c | +| `UI` | 1 | 1 | ui | because of its simplicity, but complex UIs with deeply nested data often outgrow i | +| `LLM` | 1 | 1 | llm | s {{json\|JSON}} Schema definitions that LLMs can understand), resource access (files | +| `KEEPALIVE` | 1 | 1 | bgp-keepalive | ion', description: 'Routers send KEEPALIVEs every ~30 seconds to prove liveness. UP | +| `UPDATE` | 1 | 1 | bgp-update | Es every ~30 seconds to prove liveness. UPDATEs flow whenever routes change. {{notifica | +| `UUID` | 1 | 1 | uuid | sig\|SIG}}-assigned) or 128-bit (vendor) UUIDs. Default {{att-mtu\|ATT}} {{mtu\|MTU}} is | +| `DC` | 1 | 1 | dc-domain-controller | r this date, {{ad-active-directory\|AD}} DCs refuse Kerberos PKINIT with weakly-boun | +| `SPN` | 1 | 1 | spn | **Cure:** register both short and FQDN SPNs in the keytab; set `dns_canonicalize_ho | +| `APDU` | 1 | 1 | apdu | the reader speaks **{{iso\|ISO}} 7816-4 APDUs**: 4-byte header `CLA INS P1 P2` + opti | +| `LSDB` | 1 | 1 | lsdb | le. Areas (Area 0 is the backbone) keep LSDBs scoped so the {{spf\|SPF}} computation s | +| `SRLG` | 1 | 1 | srlg | (include/exclude admin groups, exclude SRLGs). Carried in the new Flexible Algorithm | +| `TLV` | 1 | 1 | tlv | ough Opaque LSAs and Router Information TLVs.' }, { title: 'OSPF has reliable | +| `NIC` | 1 | 1 | nic | DNs offload to [[tls\|TLS]]-acceleration NICs (kTLS); plain servers should expect hig | +| `BLE` | 1 | 1 | ble | reshold _and_ the credential is valid โ†’ BLE returns Unlock granted/denied. [[nfc\|NF | +| `U2` | 1 | 1 | u2-chip | ng. AirTag 2 (January 2026) carries the U2 alongside the anti-stalking hardware up | +| `U1` | 1 | 1 | u1-chip | {{u1-chip\|U1}} โ‡„ {{u1-chip\|U1}}** and **U1 โ‡„ {{nxp\|NXP}} / {{qorvo\|Qorvo}}\*\* combi | +| `FFD` | 1 | 1 | ffd | unslotted CSMA-CA in most deployments (FFDs as routers, RFDs as end-devices), with | +| `RFD` | 1 | 1 | rfd | A in most deployments (FFDs as routers, RFDs as end-devices), with optional beacon-m | ## Known protocol (needs link) (7) -| Acronym | Count | Files | Suggested ID | Sample | -|---|---:|---:|---|---| -| `UWB` | 74 | 2 | uwb | s + {{ble\|BLE}} proximity + {{ble\|BLE}}/UWB ranged โ€” three transports, one credenti | -| `NFC` | 37 | 2 | nfc | the ISM band', description: "All NFC variants operate at a carrier of 13.56 | -| `HTTPS` | 19 | 9 | http1 | he proximate cause of the industry-wide HTTPS-everywhere push.' }, { | -| `IP` | 9 | 6 | ip | groups efficiently and to hide users\' IPs from each other. BitTorrent uses centra | -| `UDP` | 2 | 1 | udp | e 40-byte [[ipv6\|IPv6]]+{{tcp-rst\|TCP}}/UDP header to 1โ€“4 bytes), {{aes\|AES}}-CTR { | -| `QUIC` | 2 | 1 | quic | om S1/S2 padding. AWG 2.0 adds optional QUIC/{{dns-resolution\|DNS}} protocol mimicry | -| `OAUTH2` | 1 | 1 | oauth2 | GIN}} or a {{sasl\|SASL}} mechanism like OAUTH2. The server grants access to the user's | +| Acronym | Count | Files | Suggested ID | Sample | +| -------- | ----: | ----: | ------------ | --------------------------------------------------------------------------------------- | +| `UWB` | 74 | 2 | uwb | s + {{ble\|BLE}} proximity + {{ble\|BLE}}/UWB ranged โ€” three transports, one credenti | +| `NFC` | 37 | 2 | nfc | the ISM band', description: "All NFC variants operate at a carrier of 13.56 | +| `HTTPS` | 19 | 9 | http1 | he proximate cause of the industry-wide HTTPS-everywhere push.' }, { | +| `IP` | 9 | 6 | ip | groups efficiently and to hide users\' IPs from each other. BitTorrent uses centra | +| `UDP` | 2 | 1 | udp | e 40-byte [[ipv6\|IPv6]]+{{tcp-rst\|TCP}}/UDP header to 1โ€“4 bytes), {{aes\|AES}}-CTR { | +| `QUIC` | 2 | 1 | quic | om S1/S2 padding. AWG 2.0 adds optional QUIC/{{dns-resolution\|DNS}} protocol mimicry | +| `OAUTH2` | 1 | 1 | oauth2 | GIN}} or a {{sasl\|SASL}} mechanism like OAUTH2. The server grants access to the user's | ## HTTP verbs (4) -| Acronym | Count | Files | Suggested ID | Sample | -|---|---:|---:|---|---| -| `POST` | 22 | 10 | โ€” | supports only GET \u2014 no headers, no POST, no status codes.' }, { ye | -| `DELETE` | 8 | 5 | โ€” | 1]], using its methods (GET, POST, PUT, DELETE), status codes, and headers to implemen | -| `OPTIONS` | 2 | 2 | โ€” | description: "After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and {{read- | -| `PATCH` | 1 | 1 | โ€” | T (read), POST (create), PUT (replace), PATCH (partial {{bgp-update\|update}}), DELETE | - +| Acronym | Count | Files | Suggested ID | Sample | +| --------- | ----: | ----: | ------------ | -------------------------------------------------------------------------------------- | +| `POST` | 22 | 10 | โ€” | supports only GET \u2014 no headers, no POST, no status codes.' }, { ye | +| `DELETE` | 8 | 5 | โ€” | 1]], using its methods (GET, POST, PUT, DELETE), status codes, and headers to implemen | +| `OPTIONS` | 2 | 2 | โ€” | description: "After GET PROCESSING OPTIONS (returning AIP+{{afl\|AFL}}) and {{read- | +| `PATCH` | 1 | 1 | โ€” | T (read), POST (create), PUT (replace), PATCH (partial {{bgp-update\|update}}), DELETE | diff --git a/scripts/output/term-audit.md b/scripts/output/term-audit.md index af68dfa..1b41feb 100644 --- a/scripts/output/term-audit.md +++ b/scripts/output/term-audit.md @@ -11,940 +11,1043 @@ Generated: 2026-05-21T14:48:17.867Z Add these to `src/lib/data/rfcs.ts`. Sorted by how many files mention them. -| RFC | Files | Sample mention | -|---|---:|---| -| RFC 1631 | 1 | ion, ([[rfc:1918\|RFC 1918]] + RFC 1631) โ€” the middlebox that bought | -| RFC 8899 | 1 | ocols must implement PLPMTUD (RFC 8899)." }, { title: 'IPs | -| RFC 1827 | 1 | rtly thereafter contribute to RFC 1827 (ESP).' }, { title: 'F | -| RFC 7619 | 1 | perating networks (null-auth, RFC 7619)' ], codeExample: { langu | -| RFC 8229 | 1 | rvive Wi-Fi-to-LTE handoff. **RFC 8229 (IKE/ESP over [[tcp\|TCP]])** | -| RFC 9347 | 1 | date: '2023-08', title: 'RFC 9347 โ€” IP-TFS (Traffic Flow Securi | -| RFC 4120 | 1 | port: 88, year: 1988, rfc: 'RFC 4120', oneLiner: 'The three-hea | -| RFC 6761 | 1 | iction over ICANN', text: 'RFC 6761 (February 2013) uses {{iana\|I | -| RFC 9665 | 1 | date: '2025-06', title: 'RFC 9665 โ€” SRP (Service Registration P | -| RFC 3264 | 1 | ]), [[sdp\|SDP]] offer/answer (RFC 3264), and **every** revision of { | -| RFC 4577 | 1 | ', 'MPLS-VPN PE-CE peering (RFC 4577)', 'Mid-tier ISP IGP (tier- | -| RFC 5709 | 1 | C}}-SHA-256** authentication (RFC 5709 for v2, RFC 7166 Authenticati | -| RFC 7166 | 1 | hentication (RFC 5709 for v2, RFC 7166 Authentication Trailer for v3 | -| RFC 7938 | 1 | erlay where pure-[[bgp\|BGP]] (RFC 7938) is unjustified', 'SD-WAN o | -| RFC 8405 | 1 | hem out at `MaxAge = 3600 s`. RFC 8405 SPF back-off (INITIAL/SHORT_W | -| RFC 8665 | 1 | ler for v3). Segment Routing (RFC 8665/8666) and SRv6 (RFC 9513) rid | -| RFC 9355 | 1 | r sub-second loss detection โ€” RFC 9355 Strict-Mode requires BFD up b | -| RFC 9513 | 1 | ing (RFC 8665/8666) and SRv6 (RFC 9513) ride on top via Opaque LSAs; | -| RFC 9667 | 1 | { date: '2024', title: 'RFC 9667 โ€” Dynamic Flooding on Dense G | -| RFC 8922 | 1 | โ€” that\'s not good enough."* RFC 8922 (2020) mentions WireGuard for | +| RFC | Files | Sample mention | +| -------- | ----: | ---------------------------------------------------------------------- | +| RFC 1631 | 1 | ion, ([[rfc:1918\|RFC 1918]] + RFC 1631) โ€” the middlebox that bought | +| RFC 8899 | 1 | ocols must implement PLPMTUD (RFC 8899)." }, { title: 'IPs | +| RFC 1827 | 1 | rtly thereafter contribute to RFC 1827 (ESP).' }, { title: 'F | +| RFC 7619 | 1 | perating networks (null-auth, RFC 7619)' ], codeExample: { langu | +| RFC 8229 | 1 | rvive Wi-Fi-to-LTE handoff. **RFC 8229 (IKE/ESP over [[tcp\|TCP]])** | +| RFC 9347 | 1 | date: '2023-08', title: 'RFC 9347 โ€” IP-TFS (Traffic Flow Securi | +| RFC 4120 | 1 | port: 88, year: 1988, rfc: 'RFC 4120', oneLiner: 'The three-hea | +| RFC 6761 | 1 | iction over ICANN', text: 'RFC 6761 (February 2013) uses {{iana\|I | +| RFC 9665 | 1 | date: '2025-06', title: 'RFC 9665 โ€” SRP (Service Registration P | +| RFC 3264 | 1 | ]), [[sdp\|SDP]] offer/answer (RFC 3264), and **every** revision of { | +| RFC 4577 | 1 | ', 'MPLS-VPN PE-CE peering (RFC 4577)', 'Mid-tier ISP IGP (tier- | +| RFC 5709 | 1 | C}}-SHA-256\*\* authentication (RFC 5709 for v2, RFC 7166 Authenticati | +| RFC 7166 | 1 | hentication (RFC 5709 for v2, RFC 7166 Authentication Trailer for v3 | +| RFC 7938 | 1 | erlay where pure-[[bgp\|BGP]] (RFC 7938) is unjustified', 'SD-WAN o | +| RFC 8405 | 1 | hem out at `MaxAge = 3600 s`. RFC 8405 SPF back-off (INITIAL/SHORT_W | +| RFC 8665 | 1 | ler for v3). Segment Routing (RFC 8665/8666) and SRv6 (RFC 9513) rid | +| RFC 9355 | 1 | r sub-second loss detection โ€” RFC 9355 Strict-Mode requires BFD up b | +| RFC 9513 | 1 | ing (RFC 8665/8666) and SRv6 (RFC 9513) ride on top via Opaque LSAs; | +| RFC 9667 | 1 | { date: '2024', title: 'RFC 9667 โ€” Dynamic Flooding on Dense G | +| RFC 8922 | 1 | โ€” that\'s not good enough."\* RFC 8922 (2020) mentions WireGuard for | ## 2. Pioneers named without `[[pioneer:โ€ฆ]]` Each row is the first unwrapped mention in a file. Apply once per section, not every occurrence. -| Pioneer | Files | -|---|---:| -| Vint Cerf | 5 | -| Jon Postel | 4 | -| Van Jacobson | 4 | -| Tim Berners-Lee | 2 | -| Henning Schulzrinne | 2 | -| Jonathan Rosenberg | 2 | -| Justin Uberti | 2 | -| Ian Hickson | 2 | -| Jim Kardach | 2 | -| Marty Cooper | 2 | -| Andrew Viterbi | 2 | -| Ray Tomlinson | 1 | -| Bob Metcalfe | 1 | -| Yakov Rekhter | 1 | -| Steve Deering | 1 | -| Bob Kahn | 1 | -| Jim Roskind | 1 | -| Paul Mockapetris | 1 | -| Eric Rescorla | 1 | -| Taher Elgamal | 1 | -| Roy Fielding | 1 | -| Mike Belshe | 1 | -| Jaap Haartsen | 1 | -| Sven Mattisson | 1 | -| Irwin Jacobs | 1 | -| Phil Karn | 1 | -| Stuart Cheshire | 1 | -| Charles Walton | 1 | -| Radia Perlman | 1 | -| Bob Heile | 1 | +| Pioneer | Files | +| ------------------- | ----: | +| Vint Cerf | 5 | +| Jon Postel | 4 | +| Van Jacobson | 4 | +| Tim Berners-Lee | 2 | +| Henning Schulzrinne | 2 | +| Jonathan Rosenberg | 2 | +| Justin Uberti | 2 | +| Ian Hickson | 2 | +| Jim Kardach | 2 | +| Marty Cooper | 2 | +| Andrew Viterbi | 2 | +| Ray Tomlinson | 1 | +| Bob Metcalfe | 1 | +| Yakov Rekhter | 1 | +| Steve Deering | 1 | +| Bob Kahn | 1 | +| Jim Roskind | 1 | +| Paul Mockapetris | 1 | +| Eric Rescorla | 1 | +| Taher Elgamal | 1 | +| Roy Fielding | 1 | +| Mike Belshe | 1 | +| Jaap Haartsen | 1 | +| Sven Mattisson | 1 | +| Irwin Jacobs | 1 | +| Phil Karn | 1 | +| Stuart Cheshire | 1 | +| Charles Walton | 1 | +| Radia Perlman | 1 | +| Bob Heile | 1 | ### Per-file pioneer hits **`src/lib/data/book/parts/layer-2-3.ts`** -- L226:20 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _eriment.', attribution: 'Vint Cerf, Linux.conf.au 2011' },_ + +- L226:20 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _eriment.', attribution: 'Vint Cerf, Linux.conf.au 2011' },_ **`src/lib/data/book/parts/story-of-the-internet.ts`** -- L106:14 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _Jon_Postel.jpg', alt: 'Jon Postel โ€” editor of RFC 791, 792, and_ -- L244:14 โ€” `[[pioneer:tim-berners-lee|Tim Berners-Lee]]` ยท _Web_Server.jpg', alt: 'Tim Berners-Lee\'s NeXTcube โ€” the world\'s fi_ -- L154:14 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _n_Jacobson.jpg', alt: 'Van Jacobson โ€” co-author of the 1988 paper_ + +- L106:14 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _Jon_Postel.jpg', alt: 'Jon Postel โ€” editor of RFC 791, 792, and_ +- L244:14 โ€” `[[pioneer:tim-berners-lee|Tim Berners-Lee]]` ยท _Web_Server.jpg', alt: 'Tim Berners-Lee\'s NeXTcube โ€” the world\'s fi_ +- L154:14 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _n_Jacobson.jpg', alt: 'Van Jacobson โ€” co-author of the 1988 paper_ **`src/lib/data/book/parts/utilities-security.ts`** -- L236:20 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _ry 2024.', attribution: 'Vint Cerf, Internet History list obitua_ -- L391:16 โ€” `[[pioneer:ray-tomlinson|Ray Tomlinson]]` ยท _: 'narrative', title: 'Ray Tomlinson Picked the @', text: `_ + +- L236:20 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _ry 2024.', attribution: 'Vint Cerf, Internet History list obitua_ +- L391:16 โ€” `[[pioneer:ray-tomlinson|Ray Tomlinson]]` ยท _: 'narrative', title: 'Ray Tomlinson Picked the @', text: `_ **`src/lib/data/category-stories/network-foundations.ts`** -- L74:13 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _jpg' }, { name: 'Vint Cerf', years: '1943โ€“', t_ -- L64:13 โ€” `[[pioneer:bob-metcalfe|Bob Metcalfe]]` ยท _people: [ { name: 'Bob Metcalfe', years: '1946โ€“', t_ -- L92:13 โ€” `[[pioneer:yakov-rekhter|Yakov Rekhter]]` ยท _ks.' }, { name: 'Yakov Rekhter', years: 'c. 1950โ€“',_ -- L100:13 โ€” `[[pioneer:steve-deering|Steve Deering]]` ยท _et.' }, { name: 'Steve Deering', years: '1951โ€“', t_ + +- L74:13 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _jpg' }, { name: 'Vint Cerf', years: '1943โ€“', t_ +- L64:13 โ€” `[[pioneer:bob-metcalfe|Bob Metcalfe]]` ยท _people: [ { name: 'Bob Metcalfe', years: '1946โ€“', t_ +- L92:13 โ€” `[[pioneer:yakov-rekhter|Yakov Rekhter]]` ยท _ks.' }, { name: 'Yakov Rekhter', years: 'c. 1950โ€“',_ +- L100:13 โ€” `[[pioneer:steve-deering|Steve Deering]]` ยท _et.' }, { name: 'Steve Deering', years: '1951โ€“', t_ **`src/lib/data/category-stories/realtime-av.ts`** -- L35:13 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _jpg' }, { name: 'Van Jacobson', years: '1950\u2013',_ -- L25:13 โ€” `[[pioneer:henning-schulzrinne|Henning Schulzrinne]]` ยท _people: [ { name: 'Henning Schulzrinne', years: 'c. 1962\u2013'_ -- L116:13 โ€” `[[pioneer:jonathan-rosenberg|Jonathan Rosenberg]]` ยท _ng.' }, { name: 'Jonathan Rosenberg', years: '', title:_ -- L221:13 โ€” `[[pioneer:justin-uberti|Justin Uberti]]` ยท _people: [ { name: 'Justin Uberti', years: '', title:_ + +- L35:13 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _jpg' }, { name: 'Van Jacobson', years: '1950\u2013',_ +- L25:13 โ€” `[[pioneer:henning-schulzrinne|Henning Schulzrinne]]` ยท _people: [ { name: 'Henning Schulzrinne', years: 'c. 1962\u2013'_ +- L116:13 โ€” `[[pioneer:jonathan-rosenberg|Jonathan Rosenberg]]` ยท _ng.' }, { name: 'Jonathan Rosenberg', years: '', title:_ +- L221:13 โ€” `[[pioneer:justin-uberti|Justin Uberti]]` ยท _people: [ { name: 'Justin Uberti', years: '', title:_ **`src/lib/data/category-stories/transport.ts`** -- L25:13 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _people: [ { name: 'Vint Cerf', years: '1943\u2013',_ -- L35:13 โ€” `[[pioneer:bob-kahn|Bob Kahn]]` ยท _jpg' }, { name: 'Bob Kahn', years: '1938\u2013',_ -- L45:13 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _jpg' }, { name: 'Jon Postel', years: '1943\u20131998_ -- L193:13 โ€” `[[pioneer:jim-roskind|Jim Roskind]]` ยท _people: [ { name: 'Jim Roskind', years: '1960s\u2013',_ + +- L25:13 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _people: [ { name: 'Vint Cerf', years: '1943\u2013',_ +- L35:13 โ€” `[[pioneer:bob-kahn|Bob Kahn]]` ยท _jpg' }, { name: 'Bob Kahn', years: '1938\u2013',_ +- L45:13 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _jpg' }, { name: 'Jon Postel', years: '1943\u20131998_ +- L193:13 โ€” `[[pioneer:jim-roskind|Jim Roskind]]` ยท _people: [ { name: 'Jim Roskind', years: '1960s\u2013',_ **`src/lib/data/category-stories/utilities.ts`** -- L25:13 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _es." }, { name: 'Jon Postel', years: '1943โ€“1998',_ -- L129:13 โ€” `[[pioneer:paul-mockapetris|Paul Mockapetris]]` ยท _people: [ { name: 'Paul Mockapetris', years: '1948โ€“', t_ -- L281:13 โ€” `[[pioneer:eric-rescorla|Eric Rescorla]]` ยท _et.' }, { name: 'Eric Rescorla', years: '', title:_ -- L263:13 โ€” `[[pioneer:taher-elgamal|Taher Elgamal]]` ยท _people: [ { name: 'Taher Elgamal', years: '1955โ€“', t_ + +- L25:13 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _es." }, { name: 'Jon Postel', years: '1943โ€“1998',_ +- L129:13 โ€” `[[pioneer:paul-mockapetris|Paul Mockapetris]]` ยท _people: [ { name: 'Paul Mockapetris', years: '1948โ€“', t_ +- L281:13 โ€” `[[pioneer:eric-rescorla|Eric Rescorla]]` ยท _et.' }, { name: 'Eric Rescorla', years: '', title:_ +- L263:13 โ€” `[[pioneer:taher-elgamal|Taher Elgamal]]` ยท _people: [ { name: 'Taher Elgamal', years: '1955โ€“', t_ **`src/lib/data/category-stories/web-api.ts`** -- L17:36 โ€” `[[pioneer:tim-berners-lee|Tim Berners-Lee]]` ยท _t: 'The NeXT computer used by Tim Berners-Lee at CERN, the world\'s first w_ -- L37:13 โ€” `[[pioneer:roy-fielding|Roy Fielding]]` ยท _jpg' }, { name: 'Roy Fielding', years: '1965\u2013',_ -- L129:13 โ€” `[[pioneer:mike-belshe|Mike Belshe]]` ยท _people: [ { name: 'Mike Belshe', years: '', title:_ -- L245:13 โ€” `[[pioneer:ian-hickson|Ian Hickson]]` ยท _ns." }, { name: 'Ian Hickson', years: '1976\u2013',_ + +- L17:36 โ€” `[[pioneer:tim-berners-lee|Tim Berners-Lee]]` ยท _t: 'The NeXT computer used by Tim Berners-Lee at CERN, the world\'s first w_ +- L37:13 โ€” `[[pioneer:roy-fielding|Roy Fielding]]` ยท _jpg' }, { name: 'Roy Fielding', years: '1965\u2013',_ +- L129:13 โ€” `[[pioneer:mike-belshe|Mike Belshe]]` ยท _people: [ { name: 'Mike Belshe', years: '', title:_ +- L245:13 โ€” `[[pioneer:ian-hickson|Ian Hickson]]` ยท _ns." }, { name: 'Ian Hickson', years: '1976\u2013',_ **`src/lib/data/category-stories/wireless.ts`** -- L50:13 โ€” `[[pioneer:jaap-haartsen|Jaap Haartsen]]` ยท _em.' }, { name: 'Jaap Haartsen', years: '1963โ€“', t_ -- L58:13 โ€” `[[pioneer:sven-mattisson|Sven Mattisson]]` ยท _5)." }, { name: 'Sven Mattisson', years: '1956โ€“', t_ -- L66:13 โ€” `[[pioneer:jim-kardach|Jim Kardach]]` ยท _ts.' }, { name: 'Jim Kardach', years: '1958โ€“', t_ -- L26:13 โ€” `[[pioneer:marty-cooper|Marty Cooper]]` ยท _people: [ { name: 'Marty Cooper', years: '1928โ€“', t_ -- L34:13 โ€” `[[pioneer:andrew-viterbi|Andrew Viterbi]]` ยท _e*.' }, { name: 'Andrew Viterbi', years: '1935โ€“', t_ + +- L50:13 โ€” `[[pioneer:jaap-haartsen|Jaap Haartsen]]` ยท _em.' }, { name: 'Jaap Haartsen', years: '1963โ€“', t_ +- L58:13 โ€” `[[pioneer:sven-mattisson|Sven Mattisson]]` ยท _5)." }, { name: 'Sven Mattisson', years: '1956โ€“', t_ +- L66:13 โ€” `[[pioneer:jim-kardach|Jim Kardach]]` ยท _ts.' }, { name: 'Jim Kardach', years: '1958โ€“', t_ +- L26:13 โ€” `[[pioneer:marty-cooper|Marty Cooper]]` ยท _people: [ { name: 'Marty Cooper', years: '1928โ€“', t_ +- L34:13 โ€” `[[pioneer:andrew-viterbi|Andrew Viterbi]]` ยท _e\*.' }, { name: 'Andrew Viterbi', years: '1935โ€“', t_ **`src/lib/data/concept-foundations.ts`** -- L72:14 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _people: [ { name: 'Vint Cerf', years: '1943 โ€“',_ -- L82:14 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _' }, { name: 'Jon Postel', years: '1943 โ€“ 1998',_ -- L479:11 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _-Van_Jacobson.jpg', alt: 'Van Jacobson โ€” co-author of the 1988 paper_ + +- L72:14 โ€” `[[pioneer:vint-cerf|Vint Cerf]]` ยท _people: [ { name: 'Vint Cerf', years: '1943 โ€“',_ +- L82:14 โ€” `[[pioneer:jon-postel|Jon Postel]]` ยท _' }, { name: 'Jon Postel', years: '1943 โ€“ 1998',_ +- L479:11 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _-Van_Jacobson.jpg', alt: 'Van Jacobson โ€” co-author of the 1988 paper_ **`src/lib/data/outages.ts`** -- L339:13 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _'tcp'], cast: [ { name: 'Van Jacobson (LBL)', role: "Co-author of t_ + +- L339:13 โ€” `[[pioneer:van-jacobson|Van Jacobson]]` ยท _'tcp'], cast: [ { name: 'Van Jacobson (LBL)', role: "Co-author of t_ **`src/lib/data/protocols/bluetooth.ts`** -- L215:180 โ€” `[[pioneer:jim-kardach|Jim Kardach]]` ยท _ho united Denmark and Norway. Jim Kardach at {{intel\|Intel}} proposed t_ + +- L215:180 โ€” `[[pioneer:jim-kardach|Jim Kardach]]` ยท _ho united Denmark and Norway. Jim Kardach at {{intel\|Intel}} proposed t_ **`src/lib/data/protocols/cellular.ts`** -- L366:54 โ€” `[[pioneer:marty-cooper|Marty Cooper]]` ยท _3, Sixth Avenue, Manhattan.** Marty Cooper of Motorola dialed Joel Engel_ -- L370:276 โ€” `[[pioneer:andrew-viterbi|Andrew Viterbi]]` ยท _cognizer. It made nothing for Andrew Viterbi directly; it made Qualcomm ev_ -- L378:71 โ€” `[[pioneer:irwin-jacobs|Irwin Jacobs]]` ยท _ted for TDMA; later that year Irwin Jacobs presented CDMA and *"no one f_ + +- L366:54 โ€” `[[pioneer:marty-cooper|Marty Cooper]]` ยท _3, Sixth Avenue, Manhattan.\*\* Marty Cooper of Motorola dialed Joel Engel_ +- L370:276 โ€” `[[pioneer:andrew-viterbi|Andrew Viterbi]]` ยท _cognizer. It made nothing for Andrew Viterbi directly; it made Qualcomm ev_ +- L378:71 โ€” `[[pioneer:irwin-jacobs|Irwin Jacobs]]` ยท _ted for TDMA; later that year Irwin Jacobs presented CDMA and \*"no one f_ **`src/lib/data/protocols/ipsec.ts`** -- L313:12 โ€” `[[pioneer:phil-karn|Phil Karn]]` ยท _funFacts: [ { title: 'Phil Karn sued the US State Department_ + +- L313:12 โ€” `[[pioneer:phil-karn|Phil Karn]]` ยท _funFacts: [ { title: 'Phil Karn sued the US State Department_ **`src/lib/data/protocols/mdns-dns-sd.ts`** -- L303:12 โ€” `[[pioneer:stuart-cheshire|Stuart Cheshire]]` ยท _1 years.' }, { title: 'Stuart Cheshire also wrote a tank game', t_ + +- L303:12 โ€” `[[pioneer:stuart-cheshire|Stuart Cheshire]]` ยท _1 years.' }, { title: 'Stuart Cheshire also wrote a tank game', t_ **`src/lib/data/protocols/nat-traversal.ts`** -- L297:12 โ€” `[[pioneer:jonathan-rosenberg|Jonathan Rosenberg]]` ยท _relays.' }, { title: 'Jonathan Rosenberg is a top-10 RFC author of all_ -- L226:12 โ€” `[[pioneer:justin-uberti|Justin Uberti]]` ยท _date: '2024-11', title: 'Justin Uberti joins OpenAI to lead Real-Tim_ + +- L297:12 โ€” `[[pioneer:jonathan-rosenberg|Jonathan Rosenberg]]` ยท _relays.' }, { title: 'Jonathan Rosenberg is a top-10 RFC author of all_ +- L226:12 โ€” `[[pioneer:justin-uberti|Justin Uberti]]` ยท _date: '2024-11', title: 'Justin Uberti joins OpenAI to lead Real-Tim_ **`src/lib/data/protocols/nfc.ts`** -- L401:12 โ€” `[[pioneer:charles-walton|Charles Walton]]` ยท _funFacts: [ { title: 'Charles Walton died the same year Google Wal_ + +- L401:12 โ€” `[[pioneer:charles-walton|Charles Walton]]` ยท _funFacts: [ { title: 'Charles Walton died the same year Google Wal_ **`src/lib/data/protocols/ospf.ts`** -- L285:12 โ€” `[[pioneer:radia-perlman|Radia Perlman]]` ยท _ip\|IP]].' }, { title: 'Radia Perlman designed the competitor, not_ + +- L285:12 โ€” `[[pioneer:radia-perlman|Radia Perlman]]` ยท _ip\|IP]].' }, { title: 'Radia Perlman designed the competitor, not_ **`src/lib/data/protocols/rtp.ts`** -- L167:9 โ€” `[[pioneer:henning-schulzrinne|Henning Schulzrinne]]` ยท _287838924022%29.jpg', alt: 'Henning Schulzrinne, co-creator of RTP, speaking_ + +- L167:9 โ€” `[[pioneer:henning-schulzrinne|Henning Schulzrinne]]` ยท _287838924022%29.jpg', alt: 'Henning Schulzrinne, co-creator of RTP, speaking_ **`src/lib/data/protocols/sse.ts`** -- L128:9 โ€” `[[pioneer:ian-hickson|Ian Hickson]]` ยท _ting_Day_Three.jpeg', alt: 'Ian Hickson at a CSS Working Group meetin_ + +- L128:9 โ€” `[[pioneer:ian-hickson|Ian Hickson]]` ยท _ting_Day_Three.jpeg', alt: 'Ian Hickson at a CSS Working Group meetin_ **`src/lib/data/protocols/zigbee.ts`** -- L384:12 โ€” `[[pioneer:bob-heile|Bob Heile]]` ยท _rmarket." }, { title: 'Bob Heile was a founding member of IEEE_ + +- L384:12 โ€” `[[pioneer:bob-heile|Bob Heile]]` ยท _rmarket." }, { title: 'Bob Heile was a founding member of IEEE_ ## 3. Concepts in `concepts.ts` mentioned without `{{โ€ฆ}}` Editorial rule: wrap on first appearance per section, not every time. `low` priority terms are common English words and should only be wrapped where the technical sense is the focus. -| Term | Files | -|---|---:| -| Protocol | 86 | -| Port | 63 | -| Latency | 61 | -| Packet | 43 | -| Frame | 26 | -| Google | 24 | -| Stream | 22 | -| Apple | 21 | -| Handshake | 20 | -| Segment | 17 | -| Hop | 17 | -| Linux | 14 | -| Encryption | 13 | -| Payload | 12 | -| Cloudflare | 11 | -| Socket | 9 | -| Certificate | 9 | -| Bandwidth | 9 | -| Cisco | 9 | -| Matter | 8 | -| ARPANET | 8 | -| DARPA | 8 | -| Meta | 7 | -| Datagram | 7 | -| Multipath | 7 | -| Checksum | 6 | -| Signaling | 6 | -| Topic | 5 | -| Peering | 5 | -| Congestion Control | 5 | -| Encapsulation | 5 | -| Microsoft | 5 | -| Public Key | 4 | -| Bufferbloat | 4 | -| RSA | 4 | -| ping | 4 | -| Multi-homing | 4 | -| DNS Resolution | 4 | -| SFTP | 4 | -| Stateless | 4 | -| CCC Digital Key | 4 | -| Anycast | 4 | -| Fragmentation | 4 | -| Failover | 4 | -| BBRv3 | 3 | -| Three-Way Handshake | 3 | -| SYN-ACK | 3 | -| AV1 | 3 | -| Multiplexing | 3 | -| Pipelining | 3 | -| Spectrum | 3 | -| WPA3 | 3 | -| Auracast | 3 | -| Channel Sounding | 3 | -| Thread | 3 | -| Direct-to-Cell | 3 | -| Codec | 3 | -| HPACK | 3 | -| CUBIC | 3 | -| QPACK | 3 | -| _โ€ฆ133 more_ | | +| Term | Files | +| ------------------- | ----: | +| Protocol | 86 | +| Port | 63 | +| Latency | 61 | +| Packet | 43 | +| Frame | 26 | +| Google | 24 | +| Stream | 22 | +| Apple | 21 | +| Handshake | 20 | +| Segment | 17 | +| Hop | 17 | +| Linux | 14 | +| Encryption | 13 | +| Payload | 12 | +| Cloudflare | 11 | +| Socket | 9 | +| Certificate | 9 | +| Bandwidth | 9 | +| Cisco | 9 | +| Matter | 8 | +| ARPANET | 8 | +| DARPA | 8 | +| Meta | 7 | +| Datagram | 7 | +| Multipath | 7 | +| Checksum | 6 | +| Signaling | 6 | +| Topic | 5 | +| Peering | 5 | +| Congestion Control | 5 | +| Encapsulation | 5 | +| Microsoft | 5 | +| Public Key | 4 | +| Bufferbloat | 4 | +| RSA | 4 | +| ping | 4 | +| Multi-homing | 4 | +| DNS Resolution | 4 | +| SFTP | 4 | +| Stateless | 4 | +| CCC Digital Key | 4 | +| Anycast | 4 | +| Fragmentation | 4 | +| Failover | 4 | +| BBRv3 | 3 | +| Three-Way Handshake | 3 | +| SYN-ACK | 3 | +| AV1 | 3 | +| Multiplexing | 3 | +| Pipelining | 3 | +| Spectrum | 3 | +| WPA3 | 3 | +| Auracast | 3 | +| Channel Sounding | 3 | +| Thread | 3 | +| Direct-to-Cell | 3 | +| Codec | 3 | +| HPACK | 3 | +| CUBIC | 3 | +| QPACK | 3 | +| _โ€ฆ133 more_ | | ### Per-file concept hits (high priority) **`src/lib/data/book/chapters.ts`** โ€” 1 term(s) -- L48 โ€” `{{encryption|encryption}}` ยท _each makes easy or hard.', 'encryption-basics': "What HTTPS actual_ + +- L48 โ€” `{{encryption|encryption}}` ยท _each makes easy or hard.', 'encryption-basics': "What HTTPS actual_ **`src/lib/data/book/parts/async-iot.ts`** โ€” 3 term(s) -- L71 โ€” `{{topic|topic}}` ยท _agram โ€” sensor publishes to a topic on a broker; subscriber recei_ -- L241 โ€” `{{matter|Matter}}` ยท _CoAP Actually Runs โ€” And the Matter Misconception', text:_ -- L124 โ€” `{{broadcom|Broadcom}}` ยท _arrative', title: 'The Broadcom Acquisition, And Where AMQP G_ + +- L71 โ€” `{{topic|topic}}` ยท _agram โ€” sensor publishes to a topic on a broker; subscriber recei_ +- L241 โ€” `{{matter|Matter}}` ยท _CoAP Actually Runs โ€” And the Matter Misconception', text:_ +- L124 โ€” `{{broadcom|Broadcom}}` ยท _arrative', title: 'The Broadcom Acquisition, And Where AMQP G_ **`src/lib/data/book/parts/famous-outages.ts`** โ€” 5 term(s) -- L21 โ€” `{{arpanet|arpanet}}` ยท _โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ { id: 'arpanet-1980', title: 'ARPANET 198_ -- L77 โ€” `{{darpa|DARPA}}` ยท _elf.', credit: 'Image: DARPA / public domain, via Wikimedi_ -- L135 โ€” `{{peering|peering}}` ยท _ng topology โ€” each line a BGP peering relationship.', captio_ -- L534 โ€” `{{meta|Meta}}` ยท _.jpg', alt: 'Facebook (Meta) Headquarters campus in Menlo_ -- L397 โ€” `{{linux|Linux}}` ยท _.png', alt: 'Tux โ€” the Linux mascot, a chubby cartoon peng_ + +- L21 โ€” `{{arpanet|arpanet}}` ยท _โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ { id: 'arpanet-1980', title: 'ARPANET 198_ +- L77 โ€” `{{darpa|DARPA}}` ยท _elf.', credit: 'Image: DARPA / public domain, via Wikimedi_ +- L135 โ€” `{{peering|peering}}` ยท _ng topology โ€” each line a BGP peering relationship.', captio_ +- L534 โ€” `{{meta|Meta}}` ยท _.jpg', alt: 'Facebook (Meta) Headquarters campus in Menlo_ +- L397 โ€” `{{linux|Linux}}` ยท _.png', alt: 'Tux โ€” the Linux mascot, a chubby cartoon peng_ **`src/lib/data/book/parts/frontier.ts`** โ€” 10 term(s) -- L274 โ€” `{{arpanet|ARPANET}}` ยท _march_1977.png', alt: 'ARPANET logical map, March 1977 โ€” the_ -- L277 โ€” `{{darpa|DARPA}}` ยท _net.', credit: 'Image: DARPA / public domain, via Wikimedi_ -- L74 โ€” `{{public-key|public key}}` ยท _metric cryptography diagram โ€” public key encrypts, private key decrypt_ -- L74 โ€” `{{private-key|private key}}` ยท _iagram โ€” public key encrypts, private key decrypts.', caption:_ -- L103 โ€” `{{bufferbloat|Bufferbloat}}` ยท _', title: 'The Problem Bufferbloat Created', text: `The m_ -- L205 โ€” `{{peering|peering}}` ยท _topology with each line a BGP peering relationship.', captio_ -- L50 โ€” `{{apple|Apple}}` ยท _pe: 'callout', title: 'Apple iOS 26 cliff: <2% to 25% in 9_ -- L337 โ€” `{{nvidia|NVIDIA}}` ยท _rwan%29_22.png', alt: 'NVIDIA GB200 NVL72 GPU rack on displ_ -- L147 โ€” `{{bbrv3|bbrv3}}` ยท _{ kind: 'frontier', id: 'bbrv3-default' } ] }, // โ”€โ”€_ -- L76 โ€” `{{rsa|RSA}}` ยท _on. The classical primitives (RSA, {{ecdh\|ECDH}} on {{curve2551_ + +- L274 โ€” `{{arpanet|ARPANET}}` ยท _march_1977.png', alt: 'ARPANET logical map, March 1977 โ€” the_ +- L277 โ€” `{{darpa|DARPA}}` ยท _net.', credit: 'Image: DARPA / public domain, via Wikimedi_ +- L74 โ€” `{{public-key|public key}}` ยท _metric cryptography diagram โ€” public key encrypts, private key decrypt_ +- L74 โ€” `{{private-key|private key}}` ยท _iagram โ€” public key encrypts, private key decrypts.', caption:_ +- L103 โ€” `{{bufferbloat|Bufferbloat}}` ยท _', title: 'The Problem Bufferbloat Created', text: `The m_ +- L205 โ€” `{{peering|peering}}` ยท _topology with each line a BGP peering relationship.', captio_ +- L50 โ€” `{{apple|Apple}}` ยท _pe: 'callout', title: 'Apple iOS 26 cliff: <2% to 25% in 9_ +- L337 โ€” `{{nvidia|NVIDIA}}` ยท _rwan%29_22.png', alt: 'NVIDIA GB200 NVL72 GPU rack on displ_ +- L147 โ€” `{{bbrv3|bbrv3}}` ยท _{ kind: 'frontier', id: 'bbrv3-default' } ] }, // โ”€โ”€_ +- L76 โ€” `{{rsa|RSA}}` ยท _on. The classical primitives (RSA, {{ecdh\|ECDH}} on {{curve2551_ **`src/lib/data/book/parts/how-to-learn-more.ts`** โ€” 3 term(s) -- L50 โ€” `{{arpanet|ARPANET}}` ยท _t_1974.svg.png', alt: 'ARPANET in 1974 โ€” the network the fir_ -- L167 โ€” `{{cloudflare|Cloudflare}}` ยท _go.svg.png', alt: 'The Cloudflare logo โ€” a stylised orange clou_ -- L210 โ€” `{{wireshark|Wireshark}}` ยท _screenshot.png', alt: 'Wireshark โ€” packet capture with protoco_ + +- L50 โ€” `{{arpanet|ARPANET}}` ยท _t_1974.svg.png', alt: 'ARPANET in 1974 โ€” the network the fir_ +- L167 โ€” `{{cloudflare|Cloudflare}}` ยท _go.svg.png', alt: 'The Cloudflare logo โ€” a stylised orange clou_ +- L210 โ€” `{{wireshark|Wireshark}}` ยท _screenshot.png', alt: 'Wireshark โ€” packet capture with protoco_ **`src/lib/data/book/parts/layer-2-3.ts`** โ€” 8 term(s) -- L485 โ€” `{{arpanet|ARPANET}}` ยท _march_1977.png', alt: 'ARPANET logical map, March 1977 โ€” pre_ -- L488 โ€” `{{darpa|DARPA}}` ยท _aks.', credit: 'Image: DARPA / public domain, via Wikimedi_ -- L382 โ€” `{{firewall|firewall}}` ยท _title: 'Dropping ICMP at the firewall is partially refusing to impl_ -- L171 โ€” `{{checksum|checksum}}` ยท _t', title: 'ARP has no checksum and no authentication',_ -- L69 โ€” `{{payload|payload}}` ยท _n MAC, source MAC, EtherType, payload, and FCS.', caption:_ -- L155 โ€” `{{hop|hop}}` ยท _ket}} finds the next physical hop โ€” [[arp\|STD 37]] has not been_ -- L226 โ€” `{{linux|Linux}}` ยท _attribution: 'Vint Cerf, Linux.conf.au 2011' }, {_ -- L366 โ€” `{{ping|ping}}` ยท _tion: 'Mike Muuss, on writing ping in December 1983' },_ + +- L485 โ€” `{{arpanet|ARPANET}}` ยท _march_1977.png', alt: 'ARPANET logical map, March 1977 โ€” pre_ +- L488 โ€” `{{darpa|DARPA}}` ยท _aks.', credit: 'Image: DARPA / public domain, via Wikimedi_ +- L382 โ€” `{{firewall|firewall}}` ยท _title: 'Dropping ICMP at the firewall is partially refusing to impl_ +- L171 โ€” `{{checksum|checksum}}` ยท _t', title: 'ARP has no checksum and no authentication',_ +- L69 โ€” `{{payload|payload}}` ยท _n MAC, source MAC, EtherType, payload, and FCS.', caption:_ +- L155 โ€” `{{hop|hop}}` ยท _ket}} finds the next physical hop โ€” [[arp\|STD 37]] has not been_ +- L226 โ€” `{{linux|Linux}}` ยท _attribution: 'Vint Cerf, Linux.conf.au 2011' }, {_ +- L366 โ€” `{{ping|ping}}` ยท _tion: 'Mike Muuss, on writing ping in December 1983' },_ **`src/lib/data/book/parts/patterns-failures.ts`** โ€” 7 term(s) -- L115 โ€” `{{latency|Latency}}` ยท _title: 'Bufferbloat โ€” Latency Without Loss', text: `_ -- L78 โ€” `{{handshake|handshake}}` ยท _', alt: 'TCP three-way handshake โ€” SYN, SYN-ACK, ACK between c_ -- L175 โ€” `{{congestion-control|Congestion Control}}` ยท _ory', title: 'A History of Congestion Control', synopsis: 'Tahoe โ†’ Reno_ -- L78 โ€” `{{three-way-handshake|three-way handshake}}` ยท _ke.svg.png', alt: 'TCP three-way handshake โ€” SYN, SYN-ACK, ACK between c_ -- L115 โ€” `{{bufferbloat|Bufferbloat}}` ยท _: 'narrative', title: 'Bufferbloat โ€” Latency Without Loss',_ -- L239 โ€” `{{bbrv3|bbrv3}}` ยท _{ kind: 'frontier', id: 'bbrv3-default' }, { kind: 'fron_ -- L78 โ€” `{{syn-ack|SYN-ACK}}` ยท _CP three-way handshake โ€” SYN, SYN-ACK, ACK between client and serve_ + +- L115 โ€” `{{latency|Latency}}` ยท _title: 'Bufferbloat โ€” Latency Without Loss', text: `_ +- L78 โ€” `{{handshake|handshake}}` ยท _', alt: 'TCP three-way handshake โ€” SYN, SYN-ACK, ACK between c_ +- L175 โ€” `{{congestion-control|Congestion Control}}` ยท _ory', title: 'A History of Congestion Control', synopsis: 'Tahoe โ†’ Reno_ +- L78 โ€” `{{three-way-handshake|three-way handshake}}` ยท _ke.svg.png', alt: 'TCP three-way handshake โ€” SYN, SYN-ACK, ACK between c_ +- L115 โ€” `{{bufferbloat|Bufferbloat}}` ยท _: 'narrative', title: 'Bufferbloat โ€” Latency Without Loss',_ +- L239 โ€” `{{bbrv3|bbrv3}}` ยท _{ kind: 'frontier', id: 'bbrv3-default' }, { kind: 'fron_ +- L78 โ€” `{{syn-ack|SYN-ACK}}` ยท _CP three-way handshake โ€” SYN, SYN-ACK, ACK between client and serve_ **`src/lib/data/book/parts/realtime-av.ts`** โ€” 5 term(s) -- L4 โ€” `{{latency|latency}}` ยท _Protocols that prioritise low latency over perfect delivery โ€” * vo_ -- L167 โ€” `{{hop|hop}}` ยท _URI scheme means [[tls\|TLS]] hop-by-hop only, NOT end-to-end l_ -- L98 โ€” `{{cloudflare|Cloudflare}}` ยท _}} mode.', attribution: 'Cloudflare engineering blog' },_ -- L271 โ€” `{{apple|Apple}}` ยท _title: 'Low-Latency, And The "Apple Took It Away" Drama',_ -- L121 โ€” `{{av1|AV1}}` ยท _pe: 'callout', title: 'AV1 came from screen-share',_ + +- L4 โ€” `{{latency|latency}}` ยท _Protocols that prioritise low latency over perfect delivery โ€” \* vo_ +- L167 โ€” `{{hop|hop}}` ยท _URI scheme means [[tls\|TLS]] hop-by-hop only, NOT end-to-end l_ +- L98 โ€” `{{cloudflare|Cloudflare}}` ยท _}} mode.', attribution: 'Cloudflare engineering blog' },_ +- L271 โ€” `{{apple|Apple}}` ยท _title: 'Low-Latency, And The "Apple Took It Away" Drama',_ +- L121 โ€” `{{av1|AV1}}` ยท _pe: 'callout', title: 'AV1 came from screen-share',_ **`src/lib/data/book/parts/story-of-the-internet.ts`** โ€” 5 term(s) -- L55 โ€” `{{arpanet|ARPANET}}` ยท _alt: 'Hand-drawn sketch of ARPANET, December 1969 โ€” the original_ -- L58 โ€” `{{darpa|DARPA}}` ยท _ite.', credit: 'Image: DARPA / public domain, via Wikimedi_ -- L261 โ€” `{{bufferbloat|bufferbloat}}` ยท _] }, { id: 'mobile-and-bufferbloat', title: 'The Mobile and B_ -- L327 โ€” `{{google|Google}}` ยท _The_Dalles.jpg', alt: 'Google data center in The Dalles, Or_ -- L374 โ€” `{{linux|linux}}` ยท _{ kind: 'frontier', id: 'a2a-linux-foundation' }, { kin_ + +- L55 โ€” `{{arpanet|ARPANET}}` ยท _alt: 'Hand-drawn sketch of ARPANET, December 1969 โ€” the original_ +- L58 โ€” `{{darpa|DARPA}}` ยท _ite.', credit: 'Image: DARPA / public domain, via Wikimedi_ +- L261 โ€” `{{bufferbloat|bufferbloat}}` ยท _] }, { id: 'mobile-and-bufferbloat', title: 'The Mobile and B_ +- L327 โ€” `{{google|Google}}` ยท _The_Dalles.jpg', alt: 'Google data center in The Dalles, Or_ +- L374 โ€” `{{linux|linux}}` ยท _{ kind: 'frontier', id: 'a2a-linux-foundation' }, { kin_ **`src/lib/data/book/parts/transport.ts`** โ€” 6 term(s) -- L149 โ€” `{{encapsulation|encapsulation}}` ยท _on.svg.png', alt: 'UDP encapsulation diagram showing an IP packet_ -- L58 โ€” `{{congestion-control|Congestion Control}}` ยท _: 'narrative', title: 'Congestion Control: Tahoe Through BBR Through L4_ -- L265 โ€” `{{multipath|Multipath}}` ยท _arrative', title: 'The Multipath QUIC Succession', text_ -- L349 โ€” `{{google|Google}}` ยท _Rack.jpg', alt: 'Early Google "corkboard" server rack โ€” bar_ -- L251 โ€” `{{apple|Apple}}` ยท _arrative', title: 'The Apple iOS 7 Deployment', tex_ -- L214 โ€” `{{multi-homing|multi-homing}}` ยท _oming.png', alt: 'SCTP multi-homing diagram showing one associati_ + +- L149 โ€” `{{encapsulation|encapsulation}}` ยท _on.svg.png', alt: 'UDP encapsulation diagram showing an IP packet_ +- L58 โ€” `{{congestion-control|Congestion Control}}` ยท _: 'narrative', title: 'Congestion Control: Tahoe Through BBR Through L4_ +- L265 โ€” `{{multipath|Multipath}}` ยท _arrative', title: 'The Multipath QUIC Succession', text_ +- L349 โ€” `{{google|Google}}` ยท _Rack.jpg', alt: 'Early Google "corkboard" server rack โ€” bar_ +- L251 โ€” `{{apple|Apple}}` ยท _arrative', title: 'The Apple iOS 7 Deployment', tex_ +- L214 โ€” `{{multi-homing|multi-homing}}` ยท _oming.png', alt: 'SCTP multi-homing diagram showing one associati_ **`src/lib/data/book/parts/utilities-security.ts`** โ€” 7 term(s) -- L142 โ€” `{{certificate|certificate}}` ยท _st.png', alt: 'Digital certificate chain of trust diagram โ€” root_ -- L142 โ€” `{{certificate-chain|certificate chain}}` ยท _st.png', alt: 'Digital certificate chain of trust diagram โ€” root CA, i_ -- L70 โ€” `{{dns-resolution|DNS resolution}}` ยท _.png', alt: 'Iterative DNS resolution diagram โ€” client โ†’ recursive_ -- L47 โ€” `{{dnssec|DNSSEC}}` ยท _e Kaminsky Moment, And Modern DNSSEC', text: `**Dan Kaminsk_ -- L216 โ€” `{{payload|payload}}` ยท _rmat showing length, padding, payload, and MAC fields.', cap_ -- L186 โ€” `{{sftp|SFTP}}` ยท _pe: 'callout', title: 'SFTP is not "FTP over SSH"',_ -- L70 โ€” `{{recursive-resolver|recursive resolver}}` ยท _resolution diagram โ€” client โ†’ recursive resolver โ†’ root โ†’ TLD โ†’ authoritative_ + +- L142 โ€” `{{certificate|certificate}}` ยท _st.png', alt: 'Digital certificate chain of trust diagram โ€” root_ +- L142 โ€” `{{certificate-chain|certificate chain}}` ยท _st.png', alt: 'Digital certificate chain of trust diagram โ€” root CA, i_ +- L70 โ€” `{{dns-resolution|DNS resolution}}` ยท _.png', alt: 'Iterative DNS resolution diagram โ€” client โ†’ recursive_ +- L47 โ€” `{{dnssec|DNSSEC}}` ยท _e Kaminsky Moment, And Modern DNSSEC', text: `\*\*Dan Kaminsk_ +- L216 โ€” `{{payload|payload}}` ยท _rmat showing length, padding, payload, and MAC fields.', cap_ +- L186 โ€” `{{sftp|SFTP}}` ยท _pe: 'callout', title: 'SFTP is not "FTP over SSH"',_ +- L70 โ€” `{{recursive-resolver|recursive resolver}}` ยท _resolution diagram โ€” client โ†’ recursive resolver โ†’ root โ†’ TLD โ†’ authoritative_ **`src/lib/data/book/parts/web-api.ts`** โ€” 12 term(s) -- L280 โ€” `{{client-server|Client-server model}}` ยท _del-en.svg.png', alt: 'Client-server model diagram โ€” multiple clients se_ -- L214 โ€” `{{handshake|handshake}}` ยท _g', alt: 'TLS 1.3 full handshake diagram showing ClientHello,_ -- L141 โ€” `{{multiplexing|multiplexing}}` ยท _HTTP/1.1 pipelining vs HTTP/2 multiplexing diagram, showing how multiple_ -- L42 โ€” `{{stateless|Stateless}}` ยท _title: 'Text on the Wire, Stateless Semantics, Persistent Connect_ -- L214 โ€” `{{certificate|certificate}}` ยท _ing ClientHello, ServerHello, certificate, finished messages in one rou_ -- L122 โ€” `{{server-push|Server Push}}` ยท _pe: 'callout', title: 'Server Push is gone', text: '[[htt_ -- L399 โ€” `{{webtransport|WebTransport}}` ยท _: 'narrative', title: 'WebTransport, and the Transport Future',_ -- L223 โ€” `{{multipath|multipath}}` ยท _{ kind: 'frontier', id: 'multipath-quic' }, { kind: 'frontie_ -- L487 โ€” `{{linux|linux}}` ยท _{ kind: 'frontier', id: 'a2a-linux-foundation' }, { kind: 's_ -- L214 โ€” `{{client-hello|ClientHello}}` ยท _ull handshake diagram showing ClientHello, ServerHello, certificate, fi_ -- L214 โ€” `{{server-hello|ServerHello}}` ยท _diagram showing ClientHello, ServerHello, certificate, finished messag_ -- L141 โ€” `{{pipelining|pipelining}}` ยท _g.png', alt: 'HTTP/1.1 pipelining vs HTTP/2 multiplexing diagra_ + +- L280 โ€” `{{client-server|Client-server model}}` ยท _del-en.svg.png', alt: 'Client-server model diagram โ€” multiple clients se_ +- L214 โ€” `{{handshake|handshake}}` ยท _g', alt: 'TLS 1.3 full handshake diagram showing ClientHello,_ +- L141 โ€” `{{multiplexing|multiplexing}}` ยท _HTTP/1.1 pipelining vs HTTP/2 multiplexing diagram, showing how multiple_ +- L42 โ€” `{{stateless|Stateless}}` ยท _title: 'Text on the Wire, Stateless Semantics, Persistent Connect_ +- L214 โ€” `{{certificate|certificate}}` ยท _ing ClientHello, ServerHello, certificate, finished messages in one rou_ +- L122 โ€” `{{server-push|Server Push}}` ยท _pe: 'callout', title: 'Server Push is gone', text: '[[htt_ +- L399 โ€” `{{webtransport|WebTransport}}` ยท _: 'narrative', title: 'WebTransport, and the Transport Future',_ +- L223 โ€” `{{multipath|multipath}}` ยท _{ kind: 'frontier', id: 'multipath-quic' }, { kind: 'frontie_ +- L487 โ€” `{{linux|linux}}` ยท _{ kind: 'frontier', id: 'a2a-linux-foundation' }, { kind: 's_ +- L214 โ€” `{{client-hello|ClientHello}}` ยท _ull handshake diagram showing ClientHello, ServerHello, certificate, fi_ +- L214 โ€” `{{server-hello|ServerHello}}` ยท _diagram showing ClientHello, ServerHello, certificate, finished messag_ +- L141 โ€” `{{pipelining|pipelining}}` ยท _g.png', alt: 'HTTP/1.1 pipelining vs HTTP/2 multiplexing diagra_ **`src/lib/data/book/parts/wireless.ts`** โ€” 22 term(s) -- L560 โ€” `{{darpa|DARPA}}` ยท _rrative', title: 'From DARPA radar to AirTag โ€” the 70-year_ -- L143 โ€” `{{bandwidth|bandwidth}}` ยท _ned multipath from enemy into bandwidth', text: `The original_ -- L321 โ€” `{{hop|hop}}` ยท _e fabric โ€” and every backhaul hop is wrapped in [[ipsec\|IPsec]]_ -- L610 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _: 'narrative', title: 'CCC Digital Key โ€” the canonical unlock flow',_ -- L674 โ€” `{{trust-center|trust center}}` ยท _title: 'The mesh, the trust center, and the install code',_ -- L674 โ€” `{{install-code|install code}}` ยท _sh, the trust center, and the install code', text: `A Zigbee netw_ -- L494 โ€” `{{matter|Matter}}` ยท _โ€” bootstrap to BLE / Wi-Fi / Matter', text: `For higher-th_ -- L8 โ€” `{{spectrum|spectrum}}` ยท _-security * lineage, and the spectrum frontier through 2030. The pe_ -- L143 โ€” `{{multipath|multipath}}` ยท _title: 'How MIMO turned multipath from enemy into bandwidth',_ -- L168 โ€” `{{wpa3|WPA3}}` ยท _Dragonblood, and the road to WPA3', text: `{{wpa2\|WPA2}}_ -- L264 โ€” `{{le-audio|LE Audio}}` ยท _: 'narrative', title: "LE Audio, Auracast, and the hearing-lo_ -- L264 โ€” `{{auracast|Auracast}}` ยท _ve', title: "LE Audio, Auracast, and the hearing-loop replace_ -- L273 โ€” `{{channel-sounding|Channel Sounding}}` ยท _: 'narrative', title: 'Channel Sounding โ€” taking the fight to UWB',_ -- L282 โ€” `{{knob-attack|KNOB / BIAS / BLUFFS}}` ยท _'callout', title: 'The KNOB / BIAS / BLUFFS lineage', text: 'Three_ -- L910 โ€” `{{mmwave|mmWave}}` ยท _: 'narrative', title: 'mmWave โ€” the band that under-deliver_ -- L400 โ€” `{{diameter|Diameter}}` ยท _ve', title: 'The SS7 / Diameter trust holdover', text:_ -- L648 โ€” `{{thread|Thread}}` ยท _'zigbee', title: 'Zigbee, Thread, and the Matter bridge', s_ -- L5 โ€” `{{direct-to-cell|Direct-to-Cell}}` ยท _* 5G-Advanced, and Starlink Direct-to-Cell. Nine chapters cover the * s_ -- L943 โ€” `{{ambient-iot|Ambient IoT}}` ยท _: 'narrative', title: 'Ambient IoT โ€” when the IoT device has no_ -- L629 โ€” `{{apple|Apple}}` ยท _Tag.svg.png', alt: 'An Apple AirTag โ€” a small round white_ -- L5 โ€” `{{starlink|Starlink}}` ยท _ooth 6.0, * 5G-Advanced, and Starlink Direct-to-Cell. Nine chapters_ -- L854 โ€” `{{wireshark|Wireshark}}` ยท _screenshot.png', alt: 'Wireshark screen capture showing a pack_ + +- L560 โ€” `{{darpa|DARPA}}` ยท _rrative', title: 'From DARPA radar to AirTag โ€” the 70-year_ +- L143 โ€” `{{bandwidth|bandwidth}}` ยท _ned multipath from enemy into bandwidth', text: `The original_ +- L321 โ€” `{{hop|hop}}` ยท _e fabric โ€” and every backhaul hop is wrapped in [[ipsec\|IPsec]]_ +- L610 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _: 'narrative', title: 'CCC Digital Key โ€” the canonical unlock flow',_ +- L674 โ€” `{{trust-center|trust center}}` ยท _title: 'The mesh, the trust center, and the install code',_ +- L674 โ€” `{{install-code|install code}}` ยท _sh, the trust center, and the install code', text: `A Zigbee netw_ +- L494 โ€” `{{matter|Matter}}` ยท _โ€” bootstrap to BLE / Wi-Fi / Matter', text: `For higher-th_ +- L8 โ€” `{{spectrum|spectrum}}` ยท _-security \* lineage, and the spectrum frontier through 2030. The pe_ +- L143 โ€” `{{multipath|multipath}}` ยท _title: 'How MIMO turned multipath from enemy into bandwidth',_ +- L168 โ€” `{{wpa3|WPA3}}` ยท _Dragonblood, and the road to WPA3', text: `{{wpa2\|WPA2}}_ +- L264 โ€” `{{le-audio|LE Audio}}` ยท _: 'narrative', title: "LE Audio, Auracast, and the hearing-lo_ +- L264 โ€” `{{auracast|Auracast}}` ยท _ve', title: "LE Audio, Auracast, and the hearing-loop replace_ +- L273 โ€” `{{channel-sounding|Channel Sounding}}` ยท _: 'narrative', title: 'Channel Sounding โ€” taking the fight to UWB',_ +- L282 โ€” `{{knob-attack|KNOB / BIAS / BLUFFS}}` ยท _'callout', title: 'The KNOB / BIAS / BLUFFS lineage', text: 'Three_ +- L910 โ€” `{{mmwave|mmWave}}` ยท _: 'narrative', title: 'mmWave โ€” the band that under-deliver_ +- L400 โ€” `{{diameter|Diameter}}` ยท _ve', title: 'The SS7 / Diameter trust holdover', text:_ +- L648 โ€” `{{thread|Thread}}` ยท _'zigbee', title: 'Zigbee, Thread, and the Matter bridge', s_ +- L5 โ€” `{{direct-to-cell|Direct-to-Cell}}` ยท _* 5G-Advanced, and Starlink Direct-to-Cell. Nine chapters cover the * s_ +- L943 โ€” `{{ambient-iot|Ambient IoT}}` ยท _: 'narrative', title: 'Ambient IoT โ€” when the IoT device has no_ +- L629 โ€” `{{apple|Apple}}` ยท _Tag.svg.png', alt: 'An Apple AirTag โ€” a small round white_ +- L5 โ€” `{{starlink|Starlink}}` ยท _ooth 6.0, \* 5G-Advanced, and Starlink Direct-to-Cell. Nine chapters_ +- L854 โ€” `{{wireshark|Wireshark}}` ยท _screenshot.png', alt: 'Wireshark screen capture showing a pack_ **`src/lib/data/category-deep-dives.ts`** โ€” 15 term(s) -- L354 โ€” `{{jitter|Jitter}}` ยท _'realtime-av', tagline: 'Jitter buffers, error correction, ad_ -- L427 โ€” `{{handshake|handshake}}` ยท _e: 'PKI internals, TLS 1.3 handshake walkthrough, cryptographic pr_ -- L101 โ€” `{{flow-control|flow control}}` ยท _ongestion control algorithms, flow control mechanics, and the subtle eng_ -- L101 โ€” `{{congestion-control|Congestion control}}` ยท _: 'transport', tagline: 'Congestion control algorithms, flow control mech_ -- L431 โ€” `{{certificate|Certificate}}` ยท _rrative', title: 'PKI and Certificate Chains', text: `The {{pki_ -- L303 โ€” `{{broker|Message Broker}}` ยท _type: 'diagram', title: 'Message Broker Architecture Patterns', c_ -- L427 โ€” `{{dns-resolution|DNS resolution}}` ยท _cryptographic primitives, and DNS resolution mechanics.', sections: [_ -- L354 โ€” `{{codec|codec}}` ยท _correction, adaptive bitrate, codec negotiation, and the engineer_ -- L213 โ€” `{{hpack|HPACK}}` ยท _ype: 'narrative', title: 'HPACK and QPACK Compression', t_ -- L378 โ€” `{{adaptive-bitrate|Adaptive Bitrate Streaming}}` ยท _type: 'diagram', title: 'Adaptive Bitrate Streaming Flow', caption: `How {{ad_ -- L118 โ€” `{{cubic|CUBIC}}` ยท _ndow Growth: Tahoe vs Reno vs CUBIC vs BBR', caption: `How di_ -- L151 โ€” `{{bufferbloat|Bufferbloat}}` ยท _e: 'callout', title: 'The Bufferbloat Problem', text: 'Oversize_ -- L288 โ€” `{{exactly-once-delivery|exactly-once delivery}}` ยท _antics, broker architectures, exactly-once delivery, and event sourcing patterns_ -- L156 โ€” `{{tcp-fast-open|TCP Fast Open}}` ยท _ype: 'narrative', title: 'TCP Fast Open', text: `Standard [[tcp\|T_ -- L213 โ€” `{{qpack|QPACK}}` ยท _ative', title: 'HPACK and QPACK Compression', text: `{{he_ + +- L354 โ€” `{{jitter|Jitter}}` ยท _'realtime-av', tagline: 'Jitter buffers, error correction, ad_ +- L427 โ€” `{{handshake|handshake}}` ยท _e: 'PKI internals, TLS 1.3 handshake walkthrough, cryptographic pr_ +- L101 โ€” `{{flow-control|flow control}}` ยท _ongestion control algorithms, flow control mechanics, and the subtle eng_ +- L101 โ€” `{{congestion-control|Congestion control}}` ยท _: 'transport', tagline: 'Congestion control algorithms, flow control mech_ +- L431 โ€” `{{certificate|Certificate}}` ยท _rrative', title: 'PKI and Certificate Chains', text: `The {{pki_ +- L303 โ€” `{{broker|Message Broker}}` ยท _type: 'diagram', title: 'Message Broker Architecture Patterns', c_ +- L427 โ€” `{{dns-resolution|DNS resolution}}` ยท _cryptographic primitives, and DNS resolution mechanics.', sections: [_ +- L354 โ€” `{{codec|codec}}` ยท _correction, adaptive bitrate, codec negotiation, and the engineer_ +- L213 โ€” `{{hpack|HPACK}}` ยท _ype: 'narrative', title: 'HPACK and QPACK Compression', t_ +- L378 โ€” `{{adaptive-bitrate|Adaptive Bitrate Streaming}}` ยท _type: 'diagram', title: 'Adaptive Bitrate Streaming Flow', caption: `How {{ad_ +- L118 โ€” `{{cubic|CUBIC}}` ยท _ndow Growth: Tahoe vs Reno vs CUBIC vs BBR', caption: `How di_ +- L151 โ€” `{{bufferbloat|Bufferbloat}}` ยท _e: 'callout', title: 'The Bufferbloat Problem', text: 'Oversize_ +- L288 โ€” `{{exactly-once-delivery|exactly-once delivery}}` ยท _antics, broker architectures, exactly-once delivery, and event sourcing patterns_ +- L156 โ€” `{{tcp-fast-open|TCP Fast Open}}` ยท _ype: 'narrative', title: 'TCP Fast Open', text: `Standard [[tcp\|T_ +- L213 โ€” `{{qpack|QPACK}}` ยท _ative', title: 'HPACK and QPACK Compression', text: `{{he_ **`src/lib/data/category-stories/network-foundations.ts`** โ€” 6 term(s) -- L77 โ€” `{{darpa|DARPA}}` ยท _CP/IP', org: 'Stanford / DARPA / Google', contribution:_ -- L5 โ€” `{{xerox-parc|Xerox PARC}}` ยท _foundations', tagline: 'From Xerox PARC to every connected device โ€” h_ -- L185 โ€” `{{encapsulation|Encapsulation}}` ยท _e: 'The Journey of a Packet โ€” Encapsulation in Action', definition: `g_ -- L77 โ€” `{{google|Google}}` ยท _org: 'Stanford / DARPA / Google', contribution: 'C_ -- L103 โ€” `{{cisco|Cisco}}` ยท _Pv6', org: 'Xerox PARC / Cisco', contribution: 'P_ -- L95 โ€” `{{juniper|Juniper Networks}}` ยท _tor of BGP', org: 'IBM / Juniper Networks', contribution: 'C_ + +- L77 โ€” `{{darpa|DARPA}}` ยท _CP/IP', org: 'Stanford / DARPA / Google', contribution:_ +- L5 โ€” `{{xerox-parc|Xerox PARC}}` ยท _foundations', tagline: 'From Xerox PARC to every connected device โ€” h_ +- L185 โ€” `{{encapsulation|Encapsulation}}` ยท _e: 'The Journey of a Packet โ€” Encapsulation in Action', definition: `g_ +- L77 โ€” `{{google|Google}}` ยท _org: 'Stanford / DARPA / Google', contribution: 'C_ +- L103 โ€” `{{cisco|Cisco}}` ยท _Pv6', org: 'Xerox PARC / Cisco', contribution: 'P_ +- L95 โ€” `{{juniper|Juniper Networks}}` ยท _tor of BGP', org: 'IBM / Juniper Networks', contribution: 'C_ **`src/lib/data/category-stories/realtime-av.ts`** โ€” 6 term(s) -- L51 โ€” `{{arpanet|ARPANET}}` ยท _e: 'Network Voice Protocol on ARPANET', description: 'Fi_ -- L97 โ€” `{{signaling|Signaling}}` ยท _e: 'pioneers', title: 'The Signaling Architects', people: [_ -- L150 โ€” `{{google|Google}}` ยท _year: 2010, title: 'Google Acquires GIPS for $68.2M',_ -- L143 โ€” `{{apple|Apple}}` ยท _title: 'HLS Announced by Apple', description: 'HT_ -- L119 โ€” `{{cisco|Cisco}}` ยท _ct', org: 'dynamicsoft / Cisco / Five9', contribution:_ -- L111 โ€” `{{intel|Intel}}` ยท _', org: 'Caltech / ISI / Intel', contribution: 'P_ + +- L51 โ€” `{{arpanet|ARPANET}}` ยท _e: 'Network Voice Protocol on ARPANET', description: 'Fi_ +- L97 โ€” `{{signaling|Signaling}}` ยท _e: 'pioneers', title: 'The Signaling Architects', people: [_ +- L150 โ€” `{{google|Google}}` ยท _year: 2010, title: 'Google Acquires GIPS for $68.2M',_ +- L143 โ€” `{{apple|Apple}}` ยท _title: 'HLS Announced by Apple', description: 'HT_ +- L119 โ€” `{{cisco|Cisco}}` ยท _ct', org: 'dynamicsoft / Cisco / Five9', contribution:_ +- L111 โ€” `{{intel|Intel}}` ยท _', org: 'Caltech / ISI / Intel', contribution: 'P_ **`src/lib/data/category-stories/transport.ts`** โ€” 4 term(s) -- L5 โ€” `{{arpanet|ARPANET}}` ยท _'transport', tagline: 'From ARPANET to the modern web \u2014 the_ -- L28 โ€” `{{darpa|DARPA}}` ยท _CP/IP', org: 'Stanford / DARPA', contribution: 'D_ -- L167 โ€” `{{google|Google}}` ยท _: 'QUIC Development Begins at Google', description: "[[_ -- L214 โ€” `{{cisco|Cisco}}` ยท _'SCTP Architect', org: 'Cisco', contribution: 'D_ + +- L5 โ€” `{{arpanet|ARPANET}}` ยท _'transport', tagline: 'From ARPANET to the modern web \u2014 the_ +- L28 โ€” `{{darpa|DARPA}}` ยท _CP/IP', org: 'Stanford / DARPA', contribution: 'D_ +- L167 โ€” `{{google|Google}}` ยท _: 'QUIC Development Begins at Google', description: "[[_ +- L214 โ€” `{{cisco|Cisco}}` ยท _'SCTP Architect', org: 'Cisco', contribution: 'D_ **`src/lib/data/category-stories/utilities.ts`** โ€” 2 term(s) -- L253 โ€” `{{encryption|encryption}}` ยท _e browser that introduced SSL encryption to the web', caption:_ -- L152 โ€” `{{cisco|Cisco}}` ยท _org: 'Bucknell University / Cisco', contribution: 'D_ + +- L253 โ€” `{{encryption|encryption}}` ยท _e browser that introduced SSL encryption to the web', caption:_ +- L152 โ€” `{{cisco|Cisco}}` ยท _org: 'Bucknell University / Cisco', contribution: 'D_ **`src/lib/data/category-stories/web-api.ts`** โ€” 5 term(s) -- L141 โ€” `{{hpack|HPACK}}` ยท _title: 'Co-creator of SPDY & HPACK', org: 'Google', co_ -- L132 โ€” `{{google|Google}}` ยท _-creator of SPDY', org: 'Google', contribution: 'L_ -- L224 โ€” `{{meta|Meta}}` ยท _aphQL', org: 'Facebook / Meta', contribution: 'P_ -- L319 โ€” `{{linux|Linux}}` ยท _tle: 'Both Protocols Join the Linux Foundation', description_ -- L131 โ€” `{{spdy|SPDY}}` ยท _', title: 'Co-creator of SPDY', org: 'Google', co_ + +- L141 โ€” `{{hpack|HPACK}}` ยท _title: 'Co-creator of SPDY & HPACK', org: 'Google', co_ +- L132 โ€” `{{google|Google}}` ยท _-creator of SPDY', org: 'Google', contribution: 'L_ +- L224 โ€” `{{meta|Meta}}` ยท _aphQL', org: 'Facebook / Meta', contribution: 'P_ +- L319 โ€” `{{linux|Linux}}` ยท _tle: 'Both Protocols Join the Linux Foundation', description_ +- L131 โ€” `{{spdy|SPDY}}` ยท _', title: 'Co-creator of SPDY', org: 'Google', co_ **`src/lib/data/category-stories/wireless.ts`** โ€” 5 term(s) -- L191 โ€” `{{spectrum|Spectrum}}` ยท _type: 'callout', title: 'Spectrum at a glance', text: `Every_ -- L170 โ€” `{{auracast|Auracast}}` ยท _e: 'Frankfurt Airport โ€” first Auracast deployment', description_ -- L156 โ€” `{{channel-sounding|Channel Sounding}}` ยท _title: 'Bluetooth 6.0 โ€” Channel Sounding', description: 'Ad_ -- L177 โ€” `{{direct-to-cell|Direct-to-Cell}}` ยท _title: 'T-Mobile + SpaceX Direct-to-Cell launches commercially',_ -- L69 โ€” `{{intel|Intel}}` ยท _'Named Bluetooth', org: 'Intel', contribution: 'P_ + +- L191 โ€” `{{spectrum|Spectrum}}` ยท _type: 'callout', title: 'Spectrum at a glance', text: `Every_ +- L170 โ€” `{{auracast|Auracast}}` ยท _e: 'Frankfurt Airport โ€” first Auracast deployment', description_ +- L156 โ€” `{{channel-sounding|Channel Sounding}}` ยท _title: 'Bluetooth 6.0 โ€” Channel Sounding', description: 'Ad_ +- L177 โ€” `{{direct-to-cell|Direct-to-Cell}}` ยท _title: 'T-Mobile + SpaceX Direct-to-Cell launches commercially',_ +- L69 โ€” `{{intel|Intel}}` ยท _'Named Bluetooth', org: 'Intel', contribution: 'P_ **`src/lib/data/comparison/pairs.ts`** โ€” 65 term(s) -- L43 โ€” `{{bandwidth|bandwidth}}` ยท _Throughput', left: 'Aggregate bandwidth of all paths', right: 'Limite_ -- L14 โ€” `{{latency|latency}}` ยท _rives in order at the cost of latency; [[udp\|UDP]] prioritizes spee_ -- L16 โ€” `{{handshake|handshake}}` ยท _\|Connection-oriented}} (3-way handshake)', right: '{{connectionless\|C_ -- L448 โ€” `{{connectionless|connectionless}}` ยท _ansport', left: '[[udp\|UDP]] (connectionless)', right: '[[tcp\|TCP]] (persi_ -- L1314 โ€” `{{encapsulation|encapsulation}}` ยท _aries, and multi-homing. This encapsulation is how [[webrtc\|WebRTC]] data_ -- L67 โ€” `{{multiplexing|Multiplexing}}` ยท _boundaries)' }, { aspect: 'Multiplexing', left: 'Multiple independent_ -- L17 โ€” `{{retransmission|retransmission}}` ยท _ft: 'Guaranteed delivery with retransmission', right: 'Best-effort, no ret_ -- L317 โ€” `{{stateless|stateless}}` ยท _: '[[rest\|REST]] follows a stateless {{request-response\|request-re_ -- L688 โ€” `{{stateful|stateful}}` ยท _model', left: 'Persistent stateful session (SELECT, FETCH, IDLE)_ -- L89 โ€” `{{encryption|encryption}}` ยท _eliability, multiplexing, and encryption on top of [[udp\|UDP]] to repl_ -- L669 โ€” `{{certificate|Certificate}}` ยท _t changing its protocol', 'Certificate-based trust via public CAs (L_ -- L398 โ€” `{{topic|topic}}` ยท _', right: 'Binary with simple topic-based pub/sub' }, { aspect_ -- L591 โ€” `{{firewall|firewall}}` ยท _'{{nat\|NAT}} traversal and firewall friendliness are critical'_ -- L2151 โ€” `{{subnet|subnet}}` ยท _obtain an [[ip\|IP]] address, subnet mask, and {{default-gateway\|d_ -- L756 โ€” `{{checksum|checksum}}` ยท _'Variable 20-60 bytes, header checksum, options', right: 'Fixed 40 b_ -- L523 โ€” `{{codec|codec}}` ยท _t; [[dash\|DASH]] is the open, codec-agnostic MPEG standard for ad_ -- L808 โ€” `{{serialization|Serialization}}` ยท _yDifferences: [ { aspect: 'Serialization', left: '{{xml\|XML}} (text-ba_ -- L1274 โ€” `{{unicast|unicast}}` ยท _via [[udp\|UDP]] broadcast or unicast. This bootstrap problem makes_ -- L551 โ€” `{{multicast|multicast}}` ยท _eer-to-peer\|Peer-to-peer}} or multicast', right: 'Client-to-server (i_ -- L1274 โ€” `{{broadcast|broadcast}}` ยท _n OFFER, also via [[udp\|UDP]] broadcast or unicast. This bootstrap pr_ -- L1844 โ€” `{{anycast|anycast}}` ยท _utes to reach it. [[dns\|DNS]] anycast relies on [[bgp\|BGP]] to adve_ -- L76 โ€” `{{signaling|signaling}}` ยท _'You are building telecom signaling (SS7/SIGTRAN) or [[webrtc\|Web_ -- L1304 โ€” `{{payload|payload}}` ยท _ence numbers, timestamps, and payload type identifiers, then sends_ -- L1487 โ€” `{{hop|hop}}` ยท _(sips:) mandates [[tls\|TLS]] hop-by-hop across the signaling p_ -- L757 โ€” `{{fragmentation|Fragmentation}}` ยท _eader chain' }, { aspect: 'Fragmentation', left: 'Routers and hosts ca_ + +- L43 โ€” `{{bandwidth|bandwidth}}` ยท _Throughput', left: 'Aggregate bandwidth of all paths', right: 'Limite_ +- L14 โ€” `{{latency|latency}}` ยท _rives in order at the cost of latency; [[udp\|UDP]] prioritizes spee_ +- L16 โ€” `{{handshake|handshake}}` ยท _\|Connection-oriented}} (3-way handshake)', right: '{{connectionless\|C_ +- L448 โ€” `{{connectionless|connectionless}}` ยท _ansport', left: '[[udp\|UDP]] (connectionless)', right: '[[tcp\|TCP]] (persi_ +- L1314 โ€” `{{encapsulation|encapsulation}}` ยท _aries, and multi-homing. This encapsulation is how [[webrtc\|WebRTC]] data_ +- L67 โ€” `{{multiplexing|Multiplexing}}` ยท _boundaries)' }, { aspect: 'Multiplexing', left: 'Multiple independent_ +- L17 โ€” `{{retransmission|retransmission}}` ยท _ft: 'Guaranteed delivery with retransmission', right: 'Best-effort, no ret_ +- L317 โ€” `{{stateless|stateless}}` ยท _: '[[rest\|REST]] follows a stateless {{request-response\|request-re_ +- L688 โ€” `{{stateful|stateful}}` ยท _model', left: 'Persistent stateful session (SELECT, FETCH, IDLE)_ +- L89 โ€” `{{encryption|encryption}}` ยท _eliability, multiplexing, and encryption on top of [[udp\|UDP]] to repl_ +- L669 โ€” `{{certificate|Certificate}}` ยท _t changing its protocol', 'Certificate-based trust via public CAs (L_ +- L398 โ€” `{{topic|topic}}` ยท _', right: 'Binary with simple topic-based pub/sub' }, { aspect_ +- L591 โ€” `{{firewall|firewall}}` ยท _'{{nat\|NAT}} traversal and firewall friendliness are critical'_ +- L2151 โ€” `{{subnet|subnet}}` ยท _obtain an [[ip\|IP]] address, subnet mask, and {{default-gateway\|d_ +- L756 โ€” `{{checksum|checksum}}` ยท _'Variable 20-60 bytes, header checksum, options', right: 'Fixed 40 b_ +- L523 โ€” `{{codec|codec}}` ยท _t; [[dash\|DASH]] is the open, codec-agnostic MPEG standard for ad_ +- L808 โ€” `{{serialization|Serialization}}` ยท _yDifferences: [ { aspect: 'Serialization', left: '{{xml\|XML}} (text-ba_ +- L1274 โ€” `{{unicast|unicast}}` ยท _via [[udp\|UDP]] broadcast or unicast. This bootstrap problem makes_ +- L551 โ€” `{{multicast|multicast}}` ยท _eer-to-peer\|Peer-to-peer}} or multicast', right: 'Client-to-server (i_ +- L1274 โ€” `{{broadcast|broadcast}}` ยท _n OFFER, also via [[udp\|UDP]] broadcast or unicast. This bootstrap pr_ +- L1844 โ€” `{{anycast|anycast}}` ยท _utes to reach it. [[dns\|DNS]] anycast relies on [[bgp\|BGP]] to adve_ +- L76 โ€” `{{signaling|signaling}}` ยท _'You are building telecom signaling (SS7/SIGTRAN) or [[webrtc\|Web_ +- L1304 โ€” `{{payload|payload}}` ยท _ence numbers, timestamps, and payload type identifiers, then sends_ +- L1487 โ€” `{{hop|hop}}` ยท _(sips:) mandates [[tls\|TLS]] hop-by-hop across the signaling p_ +- L757 โ€” `{{fragmentation|Fragmentation}}` ยท _eader chain' }, { aspect: 'Fragmentation', left: 'Routers and hosts ca_ - _โ€ฆ40 more in this file_ **`src/lib/data/concept-foundations.ts`** โ€” 20 term(s) -- L75 โ€” `{{darpa|DARPA}}` ยท _P/IP', org: 'Stanford โ†’ DARPA โ†’ Google', contribution_ -- L266 โ€” `{{mac-address|MAC address}}` ยท _t-field structure of a 48-bit MAC address โ€” 24-bit OUI + 24-bit NIC, wi_ -- L37 โ€” `{{handshake|handshake}}` ยท _png', alt: 'TCP three-way handshake sequence diagram โ€” client SYN_ -- L297 โ€” `{{encapsulation|Encapsulation}}` ยท _packets', title: 'Packets & Encapsulation', sections: [ { type_ -- L645 โ€” `{{encryption|encryption}}` ยท _ers."` } ] }, { id: 'encryption-basics', title: 'Encryption_ -- L693 โ€” `{{certificate|certificate}}` ยท _iate CA, which signs the leaf certificate.', caption: 'The X.5_ -- L671 โ€” `{{public-key|public key}}` ยท _ncrypts with the recipient\'s public key; recipient decrypts with thei_ -- L671 โ€” `{{private-key|private key}}` ยท _decrypts with their matching private key.', caption: '{{publi_ -- L399 โ€” `{{checksum|checksum}}` ยท _e/ACK numbers, flags, window, checksum.', caption: 'The [[t_ -- L266 โ€” `{{multicast|multicast}}` ยท _24-bit OUI + 24-bit NIC, with multicast and locally-administered flag_ -- L37 โ€” `{{three-way-handshake|three-way handshake}}` ยท _shake.svg.png', alt: 'TCP three-way handshake sequence diagram โ€” client SYN_ -- L340 โ€” `{{payload|payload}}` ยท _source MAC, 2-byte EtherType, payload, 4-byte FCS.', caption:_ -- L506 โ€” `{{cubic|CUBIC}}` ยท _ype: 'narrative', title: 'CUBIC: A Curve That Scales', te_ -- L423 โ€” `{{time-wait|TIME_WAIT}}` ยท _e: 'callout', title: 'Why TIME_WAIT lives for 60 seconds', te_ -- L524 โ€” `{{pacing|Pacing}}` ยท _e: 'callout', title: 'Why Pacing Matters', text: 'Classic_ -- L459 โ€” `{{spectrum|Spectrum}}` ยท _, title: 'The Reliability Spectrum', definition: `graph LR_ -- L75 โ€” `{{google|Google}}` ยท _org: 'Stanford โ†’ DARPA โ†’ Google', contribution:_ -- L788 โ€” `{{anthropic|Anthropic}}` ยท _people: [ { name: 'Anthropic team', years: '2024 โ€“',_ -- L37 โ€” `{{syn-ack|SYN-ACK}}` ยท _diagram โ€” client SYN, server SYN-ACK, client ACK.', caption:_ -- L712 โ€” `{{rsa|RSA}}` ยท _emoved RC4, 3DES, MD5, SHA-1, RSA key {{exchange\|exchange}}, an_ + +- L75 โ€” `{{darpa|DARPA}}` ยท _P/IP', org: 'Stanford โ†’ DARPA โ†’ Google', contribution_ +- L266 โ€” `{{mac-address|MAC address}}` ยท _t-field structure of a 48-bit MAC address โ€” 24-bit OUI + 24-bit NIC, wi_ +- L37 โ€” `{{handshake|handshake}}` ยท _png', alt: 'TCP three-way handshake sequence diagram โ€” client SYN_ +- L297 โ€” `{{encapsulation|Encapsulation}}` ยท _packets', title: 'Packets & Encapsulation', sections: [ { type_ +- L645 โ€” `{{encryption|encryption}}` ยท _ers."` } ] }, { id: 'encryption-basics', title: 'Encryption_ +- L693 โ€” `{{certificate|certificate}}` ยท _iate CA, which signs the leaf certificate.', caption: 'The X.5_ +- L671 โ€” `{{public-key|public key}}` ยท _ncrypts with the recipient\'s public key; recipient decrypts with thei_ +- L671 โ€” `{{private-key|private key}}` ยท _decrypts with their matching private key.', caption: '{{publi_ +- L399 โ€” `{{checksum|checksum}}` ยท _e/ACK numbers, flags, window, checksum.', caption: 'The [[t_ +- L266 โ€” `{{multicast|multicast}}` ยท _24-bit OUI + 24-bit NIC, with multicast and locally-administered flag_ +- L37 โ€” `{{three-way-handshake|three-way handshake}}` ยท _shake.svg.png', alt: 'TCP three-way handshake sequence diagram โ€” client SYN_ +- L340 โ€” `{{payload|payload}}` ยท _source MAC, 2-byte EtherType, payload, 4-byte FCS.', caption:_ +- L506 โ€” `{{cubic|CUBIC}}` ยท _ype: 'narrative', title: 'CUBIC: A Curve That Scales', te_ +- L423 โ€” `{{time-wait|TIME_WAIT}}` ยท _e: 'callout', title: 'Why TIME_WAIT lives for 60 seconds', te_ +- L524 โ€” `{{pacing|Pacing}}` ยท _e: 'callout', title: 'Why Pacing Matters', text: 'Classic_ +- L459 โ€” `{{spectrum|Spectrum}}` ยท _, title: 'The Reliability Spectrum', definition: `graph LR_ +- L75 โ€” `{{google|Google}}` ยท _org: 'Stanford โ†’ DARPA โ†’ Google', contribution:_ +- L788 โ€” `{{anthropic|Anthropic}}` ยท _people: [ { name: 'Anthropic team', years: '2024 โ€“',_ +- L37 โ€” `{{syn-ack|SYN-ACK}}` ยท _diagram โ€” client SYN, server SYN-ACK, client ACK.', caption:_ +- L712 โ€” `{{rsa|RSA}}` ยท _emoved RC4, 3DES, MD5, SHA-1, RSA key {{exchange\|exchange}}, an_ **`src/lib/data/diagram-definitions.ts`** โ€” 14 term(s) -- L203 โ€” `{{bandwidth|bandwidth}}` ยท _when nothing changed โ€” saves bandwidth on repeat visits. {{content-e_ -- L1532 โ€” `{{latency|latency}}` ยท _l connection-interval / slave-latency / supervision-timeout.', 4_ -- L1471 โ€” `{{handshake|handshake}}` ยท _crecy}} within a session, per-handshake {{forward-secrecy\|forward sec_ -- L200 โ€” `{{keep-alive|keep-alive}}` ยท _e}}** on every fetch. Without keep-alive, each resource would need a b_ -- L1403 โ€” `{{public-key|public key}}` ยท _pted with the home network\'s public key (ECIES Profile A on Curve2551_ -- L203 โ€” `{{payload|payload}}` ยท _or `br` (Brotli) shrinks the payload further.', 7: 'Each reques_ -- L664 โ€” `{{hop|hop}}` ยท _peer\|peer-to-peer}}** with no hop through your servers (W3C / {_ -- L1467 โ€” `{{cookie|cookie}}` ยท _ion). {{wg-mac2\|`MAC2`}} is a cookie under DoS load.', 3: '{{wg_ -- L1665 โ€” `{{multipath|multipath}}` ยท _solved to ~1 ns โ‰ˆ 30 cm; with multipath and {{sts\|STS}} valid, real-w_ -- L377 โ€” `{{fire-and-forget|fire-and-forget}}` ยท _onse will come back. Used for fire-and-forget events (logging, telemetry).'_ -- L900 โ€” `{{key-share|key share}}` ยท _}} the client supports plus a key share (its half of a {{diffie-hellm_ -- L1403 โ€” `{{curve25519|Curve25519}}` ยท _ublic key (ECIES Profile A on Curve25519 โ€” never sent in clear).',_ -- L1665 โ€” `{{clock-drift|clock drift}}` ยท _ross-product cancels relative clock drift to first order. {{tof-ranging_ -- L1634 โ€” `{{association-request|Association Request}}` ยท _+ LQI + capability.', 2: 'Association Request โ€” the {{zigbee-joiner\|joiner}_ + +- L203 โ€” `{{bandwidth|bandwidth}}` ยท _when nothing changed โ€” saves bandwidth on repeat visits. {{content-e_ +- L1532 โ€” `{{latency|latency}}` ยท _l connection-interval / slave-latency / supervision-timeout.', 4_ +- L1471 โ€” `{{handshake|handshake}}` ยท _crecy}} within a session, per-handshake {{forward-secrecy\|forward sec_ +- L200 โ€” `{{keep-alive|keep-alive}}` ยท _e}}\*\* on every fetch. Without keep-alive, each resource would need a b_ +- L1403 โ€” `{{public-key|public key}}` ยท _pted with the home network\'s public key (ECIES Profile A on Curve2551_ +- L203 โ€” `{{payload|payload}}` ยท _or `br` (Brotli) shrinks the payload further.', 7: 'Each reques_ +- L664 โ€” `{{hop|hop}}` ยท _peer\|peer-to-peer}}\*\* with no hop through your servers (W3C / {_ +- L1467 โ€” `{{cookie|cookie}}` ยท _ion). {{wg-mac2\|`MAC2`}} is a cookie under DoS load.', 3: '{{wg_ +- L1665 โ€” `{{multipath|multipath}}` ยท _solved to ~1 ns โ‰ˆ 30 cm; with multipath and {{sts\|STS}} valid, real-w_ +- L377 โ€” `{{fire-and-forget|fire-and-forget}}` ยท _onse will come back. Used for fire-and-forget events (logging, telemetry).'_ +- L900 โ€” `{{key-share|key share}}` ยท _}} the client supports plus a key share (its half of a {{diffie-hellm_ +- L1403 โ€” `{{curve25519|Curve25519}}` ยท _ublic key (ECIES Profile A on Curve25519 โ€” never sent in clear).',_ +- L1665 โ€” `{{clock-drift|clock drift}}` ยท _ross-product cancels relative clock drift to first order. {{tof-ranging_ +- L1634 โ€” `{{association-request|Association Request}}` ยท _+ LQI + capability.', 2: 'Association Request โ€” the {{zigbee-joiner\|joiner}_ **`src/lib/data/frontier.ts`** โ€” 8 term(s) -- L41 โ€” `{{topic|topic}}` ยท _: string; oneLiner: string; topic: FrontierTopic; status: Fron_ -- L24 โ€” `{{observability|observability}}` ยท _\| 'web' \| 'datacenter' \| 'observability' \| 'ai-agents' \| 'standards_ -- L232 โ€” `{{multipath|multipath}}` ยท _inciples' } ] }, { id: 'multipath-quic', title: 'Multipath QU_ -- L69 โ€” `{{cloudflare|Cloudflare}}` ยท _'2026-03-28' }, { label: 'Cloudflare HTTP', value: '40%', date: '2_ -- L9 โ€” `{{google|Google}}` ยท _ROV/ASPA, IPv6 hitting 50% of Google * traffic (March 2026), Wi-F_ -- L85 โ€” `{{apple|Apple}}` ยท _date: '2025-09 (default in Apple platforms)', protocols: ['t_ -- L282 โ€” `{{linux|linux}}` ยท _auth' } ] }, { id: 'a2a-linux-foundation', title: 'A2A Do_ -- L9 โ€” `{{bbrv3|BBRv3}}` ยท _ntum TLS (X25519MLKEM768), * BBRv3, L4S, ECH (RFC 9849), RPKI/RO_ + +- L41 โ€” `{{topic|topic}}` ยท _: string; oneLiner: string; topic: FrontierTopic; status: Fron_ +- L24 โ€” `{{observability|observability}}` ยท _\| 'web' \| 'datacenter' \| 'observability' \| 'ai-agents' \| 'standards_ +- L232 โ€” `{{multipath|multipath}}` ยท _inciples' } ] }, { id: 'multipath-quic', title: 'Multipath QU_ +- L69 โ€” `{{cloudflare|Cloudflare}}` ยท _'2026-03-28' }, { label: 'Cloudflare HTTP', value: '40%', date: '2_ +- L9 โ€” `{{google|Google}}` ยท _ROV/ASPA, IPv6 hitting 50% of Google \* traffic (March 2026), Wi-F_ +- L85 โ€” `{{apple|Apple}}` ยท _date: '2025-09 (default in Apple platforms)', protocols: ['t_ +- L282 โ€” `{{linux|linux}}` ยท _auth' } ] }, { id: 'a2a-linux-foundation', title: 'A2A Do_ +- L9 โ€” `{{bbrv3|BBRv3}}` ยท _ntum TLS (X25519MLKEM768), \* BBRv3, L4S, ECH (RFC 9849), RPKI/RO_ **`src/lib/data/journeys.ts`** โ€” 14 term(s) -- L38 โ€” `{{handshake|Handshake}}` ยท _colId: 'tcp', title: 'TCP Handshake', description: 'The_ -- L147 โ€” `{{encryption|Encryption}}` ยท _: 'tls', title: 'TLS: The Encryption Layer', description:_ -- L352 โ€” `{{request-response|Request-Response}}` ยท _Id: 'rest', title: 'REST: Request-Response', description: '[[re_ -- L31 โ€” `{{dns-resolution|DNS Resolution}}` ยท _rotocolId: 'dns', title: 'DNS Resolution', description: 'Befo_ -- L84 โ€” `{{hop|hop}}` ยท _ion address, then forwards it hop by hop toward its target. Eac_ -- L703 โ€” `{{connection-migration|Connection Migration}}` ยท _Id: 'quic', title: 'QUIC: Connection Migration', description: '[[qu_ -- L479 โ€” `{{ice|ICE (Interactive Connectivity Establishment)}}` ยท _orchestrates an entire stack: ICE (Interactive Connectivity Establishment) punches through NATs by testi_ -- L511 โ€” `{{vp9|VP9}}` ยท _] supports H.264, H.265/HEVC, VP9, AV1, and any future {{codec\|_ -- L511 โ€” `{{av1|AV1}}` ยท _ports H.264, H.265/HEVC, VP9, AV1, and any future {{codec\|codec_ -- L545 โ€” `{{rsa|RSA}}` ยท _sword, public-key (Ed25519 or RSA), {{certificate\|certificate}}_ -- L933 โ€” `{{association-request|Association Request}}` ยท _ocolId: 'zigbee', title: 'Association Request + Response โ€” get a short addr_ -- L843 โ€” `{{anti-collision|Anti-collision}}` ยท _rotocolId: 'nfc', title: 'Anti-collision + RATS/ATS โ€” negotiate framin_ -- L850 โ€” `{{select-aid|SELECT AID}}` ยท _c', title: 'SELECT PPSE โ†’ SELECT AID โ€” enumerate payment apps',_ -- L857 โ€” `{{generate-ac|GENERATE AC}}` ยท _rotocolId: 'nfc', title: 'GENERATE AC โ€” the cryptogram', descri_ + +- L38 โ€” `{{handshake|Handshake}}` ยท _colId: 'tcp', title: 'TCP Handshake', description: 'The_ +- L147 โ€” `{{encryption|Encryption}}` ยท _: 'tls', title: 'TLS: The Encryption Layer', description:_ +- L352 โ€” `{{request-response|Request-Response}}` ยท _Id: 'rest', title: 'REST: Request-Response', description: '[[re_ +- L31 โ€” `{{dns-resolution|DNS Resolution}}` ยท _rotocolId: 'dns', title: 'DNS Resolution', description: 'Befo_ +- L84 โ€” `{{hop|hop}}` ยท _ion address, then forwards it hop by hop toward its target. Eac_ +- L703 โ€” `{{connection-migration|Connection Migration}}` ยท _Id: 'quic', title: 'QUIC: Connection Migration', description: '[[qu_ +- L479 โ€” `{{ice|ICE (Interactive Connectivity Establishment)}}` ยท _orchestrates an entire stack: ICE (Interactive Connectivity Establishment) punches through NATs by testi_ +- L511 โ€” `{{vp9|VP9}}` ยท _] supports H.264, H.265/HEVC, VP9, AV1, and any future {{codec\|_ +- L511 โ€” `{{av1|AV1}}` ยท _ports H.264, H.265/HEVC, VP9, AV1, and any future {{codec\|codec_ +- L545 โ€” `{{rsa|RSA}}` ยท _sword, public-key (Ed25519 or RSA), {{certificate\|certificate}}_ +- L933 โ€” `{{association-request|Association Request}}` ยท _ocolId: 'zigbee', title: 'Association Request + Response โ€” get a short addr_ +- L843 โ€” `{{anti-collision|Anti-collision}}` ยท _rotocolId: 'nfc', title: 'Anti-collision + RATS/ATS โ€” negotiate framin_ +- L850 โ€” `{{select-aid|SELECT AID}}` ยท _c', title: 'SELECT PPSE โ†’ SELECT AID โ€” enumerate payment apps',_ +- L857 โ€” `{{generate-ac|GENERATE AC}}` ยท _rotocolId: 'nfc', title: 'GENERATE AC โ€” the cryptogram', descri_ **`src/lib/data/outages.ts`** โ€” 7 term(s) -- L380 โ€” `{{congestion-control|Congestion Control}}` ยท _5681', label: 'RFC 5681 โ€” TCP Congestion Control' } ] }, { id: 'centuryl_ -- L374 โ€” `{{congestion-avoidance|Congestion Avoidance}}` ยท _.pdf', label: "Jacobson โ€” Congestion Avoidance and Control (SIGCOMM '88)"_ -- L333 โ€” `{{hop|hop}}` ยท _scale: 'NSFNET โ€” three-IMP-hop path between Lawrence Berkele_ -- L426 โ€” `{{peering|peering}}` ยท _}, { title: 'Manual de-peering needed', description:_ -- L83 โ€” `{{cloudflare|Cloudflare}}` ยท _le: 'Operator' }, { name: 'Cloudflare', role: 'External monitor (1._ -- L82 โ€” `{{meta|Meta}}` ยท _'tcp'], cast: [ { name: 'Meta (AS 32934)', role: 'Operator'_ -- L563 โ€” `{{linux|Linux}}` ยท _e: 'SACK Panic โ€” A One-Packet Linux Kernel Crash', date: '2019-_ + +- L380 โ€” `{{congestion-control|Congestion Control}}` ยท _5681', label: 'RFC 5681 โ€” TCP Congestion Control' } ] }, { id: 'centuryl_ +- L374 โ€” `{{congestion-avoidance|Congestion Avoidance}}` ยท _.pdf', label: "Jacobson โ€” Congestion Avoidance and Control (SIGCOMM '88)"_ +- L333 โ€” `{{hop|hop}}` ยท _scale: 'NSFNET โ€” three-IMP-hop path between Lawrence Berkele_ +- L426 โ€” `{{peering|peering}}` ยท _}, { title: 'Manual de-peering needed', description:_ +- L83 โ€” `{{cloudflare|Cloudflare}}` ยท _le: 'Operator' }, { name: 'Cloudflare', role: 'External monitor (1._ +- L82 โ€” `{{meta|Meta}}` ยท _'tcp'], cast: [ { name: 'Meta (AS 32934)', role: 'Operator'_ +- L563 โ€” `{{linux|Linux}}` ยท _e: 'SACK Panic โ€” A One-Packet Linux Kernel Crash', date: '2019-_ **`src/lib/data/protocols/a2a.ts`** โ€” 2 term(s) -- L164 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'HTTP round-trip latency_ -- L152 โ€” `{{agent-card|Agent Card}}` ยท _tions: [ { title: 'Agent Card (/.well-known/agent.json)',_ + +- L164 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'HTTP round-trip latency_ +- L152 โ€” `{{agent-card|Agent Card}}` ยท _tions: [ { title: 'Agent Card (/.well-known/agent.json)',_ **`src/lib/data/protocols/amqp.ts`** โ€” 1 term(s) -- L158 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup is heav_ + +- L158 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup is heav_ **`src/lib/data/protocols/arp.ts`** โ€” 8 term(s) -- L169 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single broadcast + unica_ -- L29 โ€” `{{unicast|Unicast}}` ยท _segment.' }, { title: 'Unicast ARP reply', description:_ -- L24 โ€” `{{broadcast|Broadcast}}` ยท _process.' }, { title: 'Broadcast ARP request', description:_ -- L173 โ€” `{{payload|payload}}` ยท _, overhead: '28-byte ARP payload inside a 42-byte Ethernet hea_ -- L48 โ€” `{{failover|Failover}}` ยท _s detection at boot time', 'Failover and high-availability (gratui_ -- L19 โ€” `{{arp-cache|ARP cache}}` ยท _Works: [ { title: 'Check ARP cache', description: 'Before_ -- L24 โ€” `{{arp-request|ARP request}}` ยท _}, { title: 'Broadcast ARP request', description: 'If no_ -- L29 โ€” `{{arp-reply|ARP reply}}` ยท _' }, { title: 'Unicast ARP reply', description: "The de_ + +- L169 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single broadcast + unica_ +- L29 โ€” `{{unicast|Unicast}}` ยท _segment.' }, { title: 'Unicast ARP reply', description:_ +- L24 โ€” `{{broadcast|Broadcast}}` ยท _process.' }, { title: 'Broadcast ARP request', description:_ +- L173 โ€” `{{payload|payload}}` ยท _, overhead: '28-byte ARP payload inside a 42-byte Ethernet hea_ +- L48 โ€” `{{failover|Failover}}` ยท _s detection at boot time', 'Failover and high-availability (gratui_ +- L19 โ€” `{{arp-cache|ARP cache}}` ยท _Works: [ { title: 'Check ARP cache', description: 'Before_ +- L24 โ€” `{{arp-request|ARP request}}` ยท _}, { title: 'Broadcast ARP request', description: 'If no_ +- L29 โ€” `{{arp-reply|ARP reply}}` ยท _' }, { title: 'Unicast ARP reply', description: "The de_ **`src/lib/data/protocols/bgp.ts`** โ€” 7 term(s) -- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Session setup: seconds (_ -- L56 โ€” `{{anycast|anycast}}` ยท _ivery network}} ({{cdn\|CDN}}) anycast routing' ], codeExample: {_ -- L54 โ€” `{{peering|peering}}` ยท _)', 'Cloud provider network peering (AWS, Google, Azure edge netw_ -- L200 โ€” `{{cloudflare|Cloudflare}}` ยท _onstraint.' }, { org: 'Cloudflare', scale: '335+ cities, any_ -- L54 โ€” `{{google|Google}}` ยท _rovider network peering (AWS, Google, Azure edge networks)', '{{_ -- L186 โ€” `{{linux|Linux}}` ยท _', title: 'TCP-AO ships in Linux 6.7 for BGP', description:_ -- L53 โ€” `{{multi-homing|multi-homing}}` ยท _ent providers', 'Enterprise multi-homing (connecting to multiple ISPs_ + +- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Session setup: seconds (_ +- L56 โ€” `{{anycast|anycast}}` ยท _ivery network}} ({{cdn\|CDN}}) anycast routing' ], codeExample: {_ +- L54 โ€” `{{peering|peering}}` ยท _)', 'Cloud provider network peering (AWS, Google, Azure edge netw_ +- L200 โ€” `{{cloudflare|Cloudflare}}` ยท _onstraint.' }, { org: 'Cloudflare', scale: '335+ cities, any_ +- L54 โ€” `{{google|Google}}` ยท _rovider network peering (AWS, Google, Azure edge networks)', '{{_ +- L186 โ€” `{{linux|Linux}}` ยท _', title: 'TCP-AO ships in Linux 6.7 for BGP', description:_ +- L53 โ€” `{{multi-homing|multi-homing}}` ยท _ent providers', 'Enterprise multi-homing (connecting to multiple ISPs_ **`src/lib/data/protocols/bluetooth.ts`** โ€” 14 term(s) -- L199 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'BLE connection event lat_ -- L35 โ€” `{{encryption|encryption}}` ยท _}, { title: 'Pairing and encryption (SMP)', description: '_ -- L204 โ€” `{{payload|payload}}` ยท _fault ATT MTU = 23 โ†’ 20 bytes payload per Notify; negotiate up to 2_ -- L22 โ€” `{{hop|hop}}` ยท _37 data channels (0โ€“36) that hop once per connection event."_ -- L20 โ€” `{{ism-band|ISM band}}` ยท _quency-hopping in the 2.4 GHz ISM band', description: "Both B_ -- L286 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _l." }, { org: 'Tesla / CCC Digital Key', scale: 'Every Tesla sinc_ -- L40 โ€” `{{le-audio|LE Audio}}` ยท _racking.' }, { title: 'LE Audio and Auracast (5.2+)', desc_ -- L40 โ€” `{{auracast|Auracast}}` ยท _, { title: 'LE Audio and Auracast (5.2+)', description:_ -- L45 โ€” `{{channel-sounding|Channel Sounding}}` ยท _acement.' }, { title: 'Channel Sounding (6.0+)', description:_ -- L54 โ€” `{{thread|Thread}}` ยท _strap for {{matter\|Matter}} / Thread / [[wifi\|Wi-Fi]] IoT devices'_ -- L252 โ€” `{{google|Google}}` ยท _: '2024-12', title: 'Apple-Google DULT anti-stalking draft โ†’ IE_ -- L53 โ€” `{{apple|Apple}}` ยท _artwatches', 'Item finders: Apple AirTag, Samsung SmartTag, Til_ -- L167 โ€” `{{adv-ind|ADV_IND}}` ยท _title: 'BLE Advertisement (ADV_IND on ch 37)', code: `ADV__ -- L204 โ€” `{{att-mtu|ATT MTU}}` ยท _4-byte L2CAP header. Default ATT MTU = 23 โ†’ 20 bytes payload per N_ + +- L199 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'BLE connection event lat_ +- L35 โ€” `{{encryption|encryption}}` ยท _}, { title: 'Pairing and encryption (SMP)', description: '_ +- L204 โ€” `{{payload|payload}}` ยท _fault ATT MTU = 23 โ†’ 20 bytes payload per Notify; negotiate up to 2_ +- L22 โ€” `{{hop|hop}}` ยท _37 data channels (0โ€“36) that hop once per connection event."_ +- L20 โ€” `{{ism-band|ISM band}}` ยท _quency-hopping in the 2.4 GHz ISM band', description: "Both B_ +- L286 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _l." }, { org: 'Tesla / CCC Digital Key', scale: 'Every Tesla sinc_ +- L40 โ€” `{{le-audio|LE Audio}}` ยท _racking.' }, { title: 'LE Audio and Auracast (5.2+)', desc_ +- L40 โ€” `{{auracast|Auracast}}` ยท _, { title: 'LE Audio and Auracast (5.2+)', description:_ +- L45 โ€” `{{channel-sounding|Channel Sounding}}` ยท _acement.' }, { title: 'Channel Sounding (6.0+)', description:_ +- L54 โ€” `{{thread|Thread}}` ยท _strap for {{matter\|Matter}} / Thread / [[wifi\|Wi-Fi]] IoT devices'_ +- L252 โ€” `{{google|Google}}` ยท _: '2024-12', title: 'Apple-Google DULT anti-stalking draft โ†’ IE_ +- L53 โ€” `{{apple|Apple}}` ยท _artwatches', 'Item finders: Apple AirTag, Samsung SmartTag, Til_ +- L167 โ€” `{{adv-ind|ADV_IND}}` ยท \_title: 'BLE Advertisement (ADV_IND on ch 37)', code: `ADV\_\_ +- L204 โ€” `{{att-mtu|ATT MTU}}` ยท _4-byte L2CAP header. Default ATT MTU = 23 โ†’ 20 bytes payload per N_ **`src/lib/data/protocols/cellular.ts`** โ€” 8 term(s) -- L263 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Air-interface RTT: ~1 ms_ -- L268 โ€” `{{hop|hop}}` ยท _ys an IPsec round on every N3 hop. ROHC header compression brin_ -- L264 โ€” `{{mmwave|mmWave}}` ยท _cal mid-band 5G FR1, ~5โ€“10 ms mmWave with retransmits, ~30โ€“50 ms L_ -- L62 โ€” `{{volte|VoLTE / VoNR}}` ยท _P "non-public networks")', 'VoLTE / VoNR voice + Wi-Fi calling handoff_ -- L63 โ€” `{{direct-to-cell|direct-to-cell}}` ยท _alling handoff', 'Satellite direct-to-cell โ€” T-Mobile + Starlink, AT&T +_ -- L63 โ€” `{{apple|Apple}}` ยท _link, AT&T + AST SpaceMobile, Apple + Globalstar' ], codeExampl_ -- L63 โ€” `{{starlink|Starlink}}` ยท _e direct-to-cell โ€” T-Mobile + Starlink, AT&T + AST SpaceMobile, Appl_ -- L264 โ€” `{{pdu-session|PDU Session}}` ยท _e setup (RRC โ†’ Registration โ†’ PDU Session): ~200โ€“400 ms on 5G-SA; ~50 m_ + +- L263 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Air-interface RTT: ~1 ms_ +- L268 โ€” `{{hop|hop}}` ยท _ys an IPsec round on every N3 hop. ROHC header compression brin_ +- L264 โ€” `{{mmwave|mmWave}}` ยท _cal mid-band 5G FR1, ~5โ€“10 ms mmWave with retransmits, ~30โ€“50 ms L_ +- L62 โ€” `{{volte|VoLTE / VoNR}}` ยท _P "non-public networks")', 'VoLTE / VoNR voice + Wi-Fi calling handoff_ +- L63 โ€” `{{direct-to-cell|direct-to-cell}}` ยท _alling handoff', 'Satellite direct-to-cell โ€” T-Mobile + Starlink, AT&T +_ +- L63 โ€” `{{apple|Apple}}` ยท _link, AT&T + AST SpaceMobile, Apple + Globalstar' ], codeExampl_ +- L63 โ€” `{{starlink|Starlink}}` ยท _e direct-to-cell โ€” T-Mobile + Starlink, AT&T + AST SpaceMobile, Appl_ +- L264 โ€” `{{pdu-session|PDU Session}}` ยท _e setup (RRC โ†’ Registration โ†’ PDU Session): ~200โ€“400 ms on 5G-SA; ~50 m_ **`src/lib/data/protocols/coap.ts`** โ€” 1 term(s) -- L159 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'No connection setup (UDP) โ€”_ + +- L159 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'No connection setup (UDP) โ€”_ **`src/lib/data/protocols/dash.ts`** โ€” 2 term(s) -- L178 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Standard: 10-30 seconds._ -- L25 โ€” `{{manifest|manifest}}` ยท _mat.' }, { title: 'MPD manifest generation', description:_ + +- L178 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Standard: 10-30 seconds._ +- L25 โ€” `{{manifest|manifest}}` ยท _mat.' }, { title: 'MPD manifest generation', description:_ **`src/lib/data/protocols/dhcp.ts`** โ€” 2 term(s) -- L181 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Full DORA cycle: ~100-500ms_ -- L21 โ€” `{{broadcast|broadcast}}` ยท _s: [ { title: 'DISCOVER (broadcast)', description: 'New d_ + +- L181 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Full DORA cycle: ~100-500ms_ +- L21 โ€” `{{broadcast|broadcast}}` ยท _s: [ { title: 'DISCOVER (broadcast)', description: 'New d_ **`src/lib/data/protocols/dns.ts`** โ€” 9 term(s) -- L167 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Cached: <1ms. Uncached:_ -- L179 โ€” `{{dns-resolution|DNS resolution}}` ยท _t: 'Diagram showing iterative DNS resolution: client queries recursive res_ -- L222 โ€” `{{anycast|anycast}}` ยท _13 root server letters, ~1500 anycast instances', description:_ -- L194 โ€” `{{dnssec|DNSSEC}}` ยท _{ date: '2024', title: 'DNSSEC validation reaches 38%', d_ -- L209 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare 1.1.1.1', scale: '~1 trill_ -- L215 โ€” `{{google|Google}}` ยท _surements.' }, { org: 'Google 8.8.8.8', scale: '~14 tril_ -- L43 โ€” `{{mx-record|MX record}}` ยท _slation)', 'Email delivery (MX record lookups)', 'Domain verifica_ -- L44 โ€” `{{dmarc|DMARC}}` ยท _n (TXT records for SPF, DKIM, DMARC)', '{{load-balancing\|Load b_ -- L179 โ€” `{{recursive-resolver|recursive resolver}}` ยท _NS resolution: client queries recursive resolver, which queries root, TLD, and_ + +- L167 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Cached: <1ms. Uncached:_ +- L179 โ€” `{{dns-resolution|DNS resolution}}` ยท _t: 'Diagram showing iterative DNS resolution: client queries recursive res_ +- L222 โ€” `{{anycast|anycast}}` ยท _13 root server letters, ~1500 anycast instances', description:_ +- L194 โ€” `{{dnssec|DNSSEC}}` ยท _{ date: '2024', title: 'DNSSEC validation reaches 38%', d_ +- L209 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare 1.1.1.1', scale: '~1 trill_ +- L215 โ€” `{{google|Google}}` ยท _surements.' }, { org: 'Google 8.8.8.8', scale: '~14 tril_ +- L43 โ€” `{{mx-record|MX record}}` ยท _slation)', 'Email delivery (MX record lookups)', 'Domain verifica_ +- L44 โ€” `{{dmarc|DMARC}}` ยท _n (TXT records for SPF, DKIM, DMARC)', '{{load-balancing\|Load b_ +- L179 โ€” `{{recursive-resolver|recursive resolver}}` ยท _NS resolution: client queries recursive resolver, which queries root, TLD, and_ **`src/lib/data/protocols/ethernet.ts`** โ€” 3 term(s) -- L145 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-microsecond latency_ -- L158 โ€” `{{payload|payload}}` ยท _le, MAC addresses, EtherType, payload, and FCS fields', caption:_ -- L146 โ€” `{{store-and-forward|store-and-forward}}` ยท _ng at high speeds (25+ Gbps); store-and-forward at 1 Gbps takes ~12 \u00b5s f_ + +- L145 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-microsecond latency_ +- L158 โ€” `{{payload|payload}}` ยท _le, MAC addresses, EtherType, payload, and FCS fields', caption:_ +- L146 โ€” `{{store-and-forward|store-and-forward}}` ยท _ng at high speeds (25+ Gbps); store-and-forward at 1 Gbps takes ~12 \u00b5s f_ **`src/lib/data/protocols/ftp.ts`** โ€” 1 term(s) -- L148 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup + transfer_ + +- L148 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup + transfer_ **`src/lib/data/protocols/graphql.ts`** โ€” 4 term(s) -- L40 โ€” `{{bandwidth|bandwidth}}` ยท _Mobile applications (minimize bandwidth)', 'Complex dashboard UIs w_ -- L133 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single HTTP round trip for_ -- L134 โ€” `{{payload|payload}}` ยท _ut: 'No over-fetching reduces payload size; but complex queries can_ -- L134 โ€” `{{over-fetching|over-fetching}}` ยท _ST calls)', throughput: 'No over-fetching reduces payload size; but com_ + +- L40 โ€” `{{bandwidth|bandwidth}}` ยท _Mobile applications (minimize bandwidth)', 'Complex dashboard UIs w_ +- L133 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single HTTP round trip for_ +- L134 โ€” `{{payload|payload}}` ยท _ut: 'No over-fetching reduces payload size; but complex queries can_ +- L134 โ€” `{{over-fetching|over-fetching}}` ยท _ST calls)', throughput: 'No over-fetching reduces payload size; but com_ **`src/lib/data/protocols/grpc.ts`** โ€” 3 term(s) -- L119 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'HTTP/2 connection reuse + b_ -- L119 โ€” `{{serialization|serialization}}` ยท _P/2 connection reuse + binary serialization = very low latency per call',_ -- L130 โ€” `{{google|Google}}` ยท _ard_Server_Rack.jpg', alt: "Google's original corkboard server r_ + +- L119 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'HTTP/2 connection reuse + b_ +- L119 โ€” `{{serialization|serialization}}` ยท _P/2 connection reuse + binary serialization = very low latency per call',_ +- L130 โ€” `{{google|Google}}` ยท _ard_Server_Rack.jpg', alt: "Google's original corkboard server r_ **`src/lib/data/protocols/hls.ts`** โ€” 3 term(s) -- L153 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Standard: 10-30 seconds._ -- L40 โ€” `{{apple|Apple}}` ยท _'Video on demand (Disney+, Apple TV+, and as fallback on Netfl_ -- L24 โ€” `{{manifest|Manifest}}` ยท _ne file.' }, { title: 'Manifest playlist', description:_ + +- L153 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Standard: 10-30 seconds._ +- L40 โ€” `{{apple|Apple}}` ยท _'Video on demand (Disney+, Apple TV+, and as fallback on Netfl_ +- L24 โ€” `{{manifest|Manifest}}` ยท _ne file.' }, { title: 'Manifest playlist', description:_ **`src/lib/data/protocols/http1.ts`** โ€” 2 term(s) -- L108 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT per {{request-resp_ -- L132 โ€” `{{keep-alive|keep-alive}}` ยท _tent connections, showing how keep-alive reduces round trips', capti_ + +- L108 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT per {{request-resp_ +- L132 โ€” `{{keep-alive|keep-alive}}` ยท _tent connections, showing how keep-alive reduces round trips', capti_ **`src/lib/data/protocols/http2.ts`** โ€” 5 term(s) -- L113 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same connection setup as_ -- L126 โ€” `{{multiplexing|multiplexing}}` ยท _uests, pipelining, and HTTP/2 multiplexing over a single connection',_ -- L117 โ€” `{{hpack|HPACK}}` ยท _rhead waste', overhead: 'HPACK compresses headers by 30-76%_ -- L26 โ€” `{{binary-framing|Binary framing}}` ยท _es, etc.' }, { title: 'Binary framing', description: 'All co_ -- L126 โ€” `{{pipelining|pipelining}}` ยท _HTTP/1.1 sequential requests, pipelining, and HTTP/2 multiplexing over_ + +- L113 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same connection setup as_ +- L126 โ€” `{{multiplexing|multiplexing}}` ยท _uests, pipelining, and HTTP/2 multiplexing over a single connection',_ +- L117 โ€” `{{hpack|HPACK}}` ยท _rhead waste', overhead: 'HPACK compresses headers by 30-76%_ +- L26 โ€” `{{binary-framing|Binary framing}}` ยท _es, etc.' }, { title: 'Binary framing', description: 'All co_ +- L126 โ€” `{{pipelining|pipelining}}` ยท _HTTP/1.1 sequential requests, pipelining, and HTTP/2 multiplexing over_ **`src/lib/data/protocols/http3.ts`** โ€” 10 term(s) -- L42 โ€” `{{latency|latency}}` ยท _-first applications', 'High-latency networks (satellite, remote a_ -- L19 โ€” `{{handshake|handshake}}` ยท _tWorks: [ { title: 'QUIC handshake (1 RTT)', description:_ -- L187 โ€” `{{head-of-line-blocking|head-of-line blocking}}` ยท _' }, { title: 'No more head-of-line blocking', text: 'In [[http2\|HTTP/2_ -- L124 โ€” `{{encryption|encryption}}` ยท _r-packet than TCP due to QUIC encryption, offset by fewer round trips'_ -- L34 โ€” `{{connection-migration|Connection migration}}` ยท _others.' }, { title: 'Connection migration', description: "If the_ -- L154 โ€” `{{webtransport|WebTransport}}` ยท _{ date: '2024', title: 'WebTransport API ships in Chrome', desc_ -- L162 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare', scale: 'All HTTPS traffi_ -- L168 โ€” `{{google|Google}}` ยท _\|HTTP/3]].' }, { org: 'Google', scale: 'google.com / You_ -- L174 โ€” `{{meta|Meta}}` ยท _rdisation.' }, { org: 'Meta', scale: '>75% of internet_ -- L24 โ€” `{{qpack|QPACK}}` ยท _\|RTT}}).' }, { title: 'QPACK header compression', descr_ + +- L42 โ€” `{{latency|latency}}` ยท _-first applications', 'High-latency networks (satellite, remote a_ +- L19 โ€” `{{handshake|handshake}}` ยท _tWorks: [ { title: 'QUIC handshake (1 RTT)', description:_ +- L187 โ€” `{{head-of-line-blocking|head-of-line blocking}}` ยท _' }, { title: 'No more head-of-line blocking', text: 'In [[http2\|HTTP/2_ +- L124 โ€” `{{encryption|encryption}}` ยท _r-packet than TCP due to QUIC encryption, offset by fewer round trips'_ +- L34 โ€” `{{connection-migration|Connection migration}}` ยท _others.' }, { title: 'Connection migration', description: "If the_ +- L154 โ€” `{{webtransport|WebTransport}}` ยท _{ date: '2024', title: 'WebTransport API ships in Chrome', desc_ +- L162 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare', scale: 'All HTTPS traffi_ +- L168 โ€” `{{google|Google}}` ยท _\|HTTP/3]].' }, { org: 'Google', scale: 'google.com / You_ +- L174 โ€” `{{meta|Meta}}` ยท _rdisation.' }, { org: 'Meta', scale: '>75% of internet_ +- L24 โ€” `{{qpack|QPACK}}` ยท _\|RTT}}).' }, { title: 'QPACK header compression', descr_ **`src/lib/data/protocols/icmp.ts`** โ€” 6 term(s) -- L50 โ€” `{{latency|latency}}` ยท _ping)', 'Path discovery and latency measurement (traceroute/trace_ -- L181 โ€” `{{checksum|Checksum}}` ยท _byte ICMP header (Type, Code, Checksum, Id, Seq) encapsulated in IP._ -- L53 โ€” `{{signaling|signaling}}` ยท _Too Big messages)', 'Router signaling and redirect optimization' ]_ -- L45 โ€” `{{hop|hop}}` ยท _s a host to use a better next-hop router. If a router receives_ -- L23 โ€” `{{ping|ping}}` ยท _{ title: 'Echo Request (ping)', description: 'Sourc_ -- L38 โ€” `{{traceroute|traceroute}}` ยท _{ title: 'Time Exceeded (traceroute)', description: "When_ + +- L50 โ€” `{{latency|latency}}` ยท _ping)', 'Path discovery and latency measurement (traceroute/trace_ +- L181 โ€” `{{checksum|Checksum}}` ยท _byte ICMP header (Type, Code, Checksum, Id, Seq) encapsulated in IP._ +- L53 โ€” `{{signaling|signaling}}` ยท _Too Big messages)', 'Router signaling and redirect optimization' ]_ +- L45 โ€” `{{hop|hop}}` ยท _s a host to use a better next-hop router. If a router receives_ +- L23 โ€” `{{ping|ping}}` ยท _{ title: 'Echo Request (ping)', description: 'Sourc_ +- L38 โ€” `{{traceroute|traceroute}}` ยท _{ title: 'Time Exceeded (traceroute)', description: "When_ **`src/lib/data/protocols/imap.ts`** โ€” 1 term(s) -- L148 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'LOGIN + SELECT: ~200ms._ + +- L148 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'LOGIN + SELECT: ~200ms._ **`src/lib/data/protocols/ip.ts`** โ€” 7 term(s) -- L173 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Per-hop forwarding: 1-10_ -- L48 โ€” `{{encapsulation|encapsulation}}` ยท _eling ([[ip\|IP]]-in-[[ip\|IP]] encapsulation)', '{{multicast\|Multicast}}_ -- L47 โ€” `{{subnet|subnet}}` ยท _n between devices on the same subnet', '{{vpn\|VPN}} tunneling ([_ -- L187 โ€” `{{checksum|checksum}}` ยท _cation, flags, TTL, protocol, checksum, source and destination addre_ -- L174 โ€” `{{hop|hop}}` ยท _ormance: { latency: 'Per-hop forwarding: 1-10 \u00b5s in h_ -- L35 โ€” `{{fragmentation|Fragmentation}}` ยท _works).' }, { title: 'Fragmentation if needed', description:_ -- L99 โ€” `{{loopback|loopback}}` ยท _\`\${addr.internal ? '(loopback)' : '(external)'}\` );_ + +- L173 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Per-hop forwarding: 1-10_ +- L48 โ€” `{{encapsulation|encapsulation}}` ยท _eling ([[ip\|IP]]-in-[[ip\|IP]] encapsulation)', '{{multicast\|Multicast}}_ +- L47 โ€” `{{subnet|subnet}}` ยท _n between devices on the same subnet', '{{vpn\|VPN}} tunneling ([_ +- L187 โ€” `{{checksum|checksum}}` ยท _cation, flags, TTL, protocol, checksum, source and destination addre_ +- L174 โ€” `{{hop|hop}}` ยท _ormance: { latency: 'Per-hop forwarding: 1-10 \u00b5s in h_ +- L35 โ€” `{{fragmentation|Fragmentation}}` ยท _works).' }, { title: 'Fragmentation if needed', description:_ +- L99 โ€” `{{loopback|loopback}}` ยท _\`\${addr.internal ? '(loopback)' : '(external)'}\` );_ **`src/lib/data/protocols/ipsec.ts`** โ€” 14 term(s) -- L219 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '2 round trips for IKE_SA_ -- L56 โ€” `{{encryption|encryption}}` ยท _y networks', 'Opportunistic encryption between cooperating networks_ -- L141 โ€” `{{certificate|Certificate}}` ยท _enticationMethod</key><string>Certificate</string> <key>RemoteIdent_ -- L338 โ€” `{{hop|hop}}` ยท _overhead. If an intermediate hop drops large packets and the [_ -- L35 โ€” `{{anti-replay|Anti-replay window}}` ยท _crypted." }, { title: 'Anti-replay window', description: 'The 32_ -- L53 โ€” `{{apple|Apple}}` ยท _'Roadwarrior remote access โ€” Apple iOS/macOS native IKEv2, Micro_ -- L53 โ€” `{{microsoft|Microsoft}}` ยท _Apple iOS/macOS native IKEv2, Microsoft Always-On VPN, strongSwan / N_ -- L52 โ€” `{{cisco|Cisco}}` ยท _o-site VPN between firewalls (Cisco ASA, Juniper SRX, Fortinet, O_ -- L222 โ€” `{{intel|Intel}}` ยท _pto NICs (Mellanox BlueField, Intel QAT). AWS Site-to-Site VPN: 5_ -- L182 โ€” `{{aes-gcm|AES-GCM}}` ยท _le: 'ESP packet (tunnel mode, AES-GCM-256)', code: `Outer IP_ -- L25 โ€” `{{child-sa|Child SA}}` ยท _prove identity, authorize the Child SA', description: 'Each {_ -- L20 โ€” `{{ipsec-ike-sa-init|IKE_SA_INIT}}` ยท _howItWorks: [ { title: 'IKE_SA_INIT โ€” negotiate crypto, exchange_ -- L25 โ€” `{{ipsec-ike-auth|IKE_AUTH}}` ยท _hange}}.' }, { title: 'IKE_AUTH โ€” prove identity, authorize t_ -- L196 โ€” `{{ipsec-create-child-sa|CREATE_CHILD_SA}}` ยท _}, { title: 'CREATE_CHILD_SA โ€” rekey before lifetime expir_ + +- L219 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '2 round trips for IKE_SA_ +- L56 โ€” `{{encryption|encryption}}` ยท _y networks', 'Opportunistic encryption between cooperating networks_ +- L141 โ€” `{{certificate|Certificate}}` ยท _enticationMethod</key><string>Certificate</string> <key>RemoteIdent_ +- L338 โ€” `{{hop|hop}}` ยท _overhead. If an intermediate hop drops large packets and the [_ +- L35 โ€” `{{anti-replay|Anti-replay window}}` ยท _crypted." }, { title: 'Anti-replay window', description: 'The 32_ +- L53 โ€” `{{apple|Apple}}` ยท _'Roadwarrior remote access โ€” Apple iOS/macOS native IKEv2, Micro_ +- L53 โ€” `{{microsoft|Microsoft}}` ยท _Apple iOS/macOS native IKEv2, Microsoft Always-On VPN, strongSwan / N_ +- L52 โ€” `{{cisco|Cisco}}` ยท _o-site VPN between firewalls (Cisco ASA, Juniper SRX, Fortinet, O_ +- L222 โ€” `{{intel|Intel}}` ยท _pto NICs (Mellanox BlueField, Intel QAT). AWS Site-to-Site VPN: 5_ +- L182 โ€” `{{aes-gcm|AES-GCM}}` ยท _le: 'ESP packet (tunnel mode, AES-GCM-256)', code: `Outer IP_ +- L25 โ€” `{{child-sa|Child SA}}` ยท _prove identity, authorize the Child SA', description: 'Each {_ +- L20 โ€” `{{ipsec-ike-sa-init|IKE_SA_INIT}}` ยท _howItWorks: [ { title: 'IKE_SA_INIT โ€” negotiate crypto, exchange_ +- L25 โ€” `{{ipsec-ike-auth|IKE_AUTH}}` ยท _hange}}.' }, { title: 'IKE_AUTH โ€” prove identity, authorize t_ +- L196 โ€” `{{ipsec-create-child-sa|CREATE_CHILD_SA}}` ยท _}, { title: 'CREATE_CHILD_SA โ€” rekey before lifetime expir_ **`src/lib/data/protocols/ipv6.ts`** โ€” 5 term(s) -- L168 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as IPv4 for most pa_ -- L44 โ€” `{{stateless|Stateless}}` ยท _cast}}).' }, { title: 'Stateless autoconfiguration (SLAAC)',_ -- L169 โ€” `{{checksum|checksum}}` ยท _โ€” no NAT traversal, no header checksum computation at each hop, and_ -- L169 โ€” `{{hop|hop}}` ยท _checksum computation at each hop, and some ISPs have shorter I_ -- L171 โ€” `{{fragmentation|fragmentation}}` ยท _ksum recalculation, no router fragmentation, and fixed header size enable_ + +- L168 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as IPv4 for most pa_ +- L44 โ€” `{{stateless|Stateless}}` ยท _cast}}).' }, { title: 'Stateless autoconfiguration (SLAAC)',_ +- L169 โ€” `{{checksum|checksum}}` ยท _โ€” no NAT traversal, no header checksum computation at each hop, and_ +- L169 โ€” `{{hop|hop}}` ยท _checksum computation at each hop, and some ISPs have shorter I_ +- L171 โ€” `{{fragmentation|fragmentation}}` ยท _ksum recalculation, no router fragmentation, and fixed header size enable_ **`src/lib/data/protocols/json-rpc.ts`** โ€” 2 term(s) -- L158 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as the underlying t_ -- L47 โ€” `{{lsp|Language Server Protocol (LSP)}}` ยท _tcoin, Solana, Polkadot)', 'Language Server Protocol (LSP) for code editors', 'AI agen_ + +- L158 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as the underlying t_ +- L47 โ€” `{{lsp|Language Server Protocol (LSP)}}` ยท _tcoin, Solana, Polkadot)', 'Language Server Protocol (LSP) for code editors', 'AI agen_ **`src/lib/data/protocols/kafka.ts`** โ€” 3 term(s) -- L186 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'End-to-end: 2-10ms typical._ -- L198 โ€” `{{topic|topic}}` ยท _ng Kafka producers writing to topic partitions across brokers, wi_ -- L50 โ€” `{{stream-processing|Stream processing}}` ยท _ure (CDC) from databases', 'Stream processing with [[kafka\|Kafka]] Streams_ + +- L186 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'End-to-end: 2-10ms typical._ +- L198 โ€” `{{topic|topic}}` ยท _ng Kafka producers writing to topic partitions across brokers, wi_ +- L50 โ€” `{{stream-processing|Stream processing}}` ยท _ure (CDC) from databases', 'Stream processing with [[kafka\|Kafka]] Streams_ **`src/lib/data/protocols/kerberos.ts`** โ€” 8 term(s) -- L261 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for AS-REQ/AS-REP_ -- L386 โ€” `{{encryption|encryption}}` ยท _' }, { title: 'Weak encryption types still lurk in old keyta_ -- L299 โ€” `{{certificate|certificate}}` ยท _e: 'Microsoft enforces strong certificate binding (CVE-2022-37967 long-_ -- L208 โ€” `{{payload|payload}}` ยท _: 'AS-REP โ€” the magic two-key payload', code: `KRB-AS-REP ::=_ -- L344 โ€” `{{apple|Apple}}` ยท _org: 'Heimdal', scale: 'Apple\'s macOS, Samba, FreeBSD',_ -- L53 โ€” `{{microsoft|Microsoft}}` ยท _'**Active Directory** โ€” every Microsoft AD domain on Earth, primary a_ -- L338 โ€” `{{linux|Linux}}` ยท _al C codebase; ships in every Linux distro', description:_ -- L44 โ€” `{{kerberos-krbtgt|krbtgt}}` ยท _graph of shared keys between krbtgt principals โ€” the same mechani_ + +- L261 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for AS-REQ/AS-REP_ +- L386 โ€” `{{encryption|encryption}}` ยท _' }, { title: 'Weak encryption types still lurk in old keyta_ +- L299 โ€” `{{certificate|certificate}}` ยท _e: 'Microsoft enforces strong certificate binding (CVE-2022-37967 long-_ +- L208 โ€” `{{payload|payload}}` ยท _: 'AS-REP โ€” the magic two-key payload', code: `KRB-AS-REP ::=_ +- L344 โ€” `{{apple|Apple}}` ยท _org: 'Heimdal', scale: 'Apple\'s macOS, Samba, FreeBSD',_ +- L53 โ€” `{{microsoft|Microsoft}}` ยท _'**Active Directory** โ€” every Microsoft AD domain on Earth, primary a_ +- L338 โ€” `{{linux|Linux}}` ยท _al C codebase; ships in every Linux distro', description:_ +- L44 โ€” `{{kerberos-krbtgt|krbtgt}}` ยท _graph of shared keys between krbtgt principals โ€” the same mechani_ **`src/lib/data/protocols/mcp.ts`** โ€” 2 term(s) -- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'stdio transport has near_ -- L25 โ€” `{{handshake|handshake}}` ยท _}, { title: 'Initialize handshake', description: 'The cl_ + +- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'stdio transport has near_ +- L25 โ€” `{{handshake|handshake}}` ยท _}, { title: 'Initialize handshake', description: 'The cl_ **`src/lib/data/protocols/mdns-dns-sd.ts`** โ€” 15 term(s) -- L299 โ€” `{{icann|ICANN}}` ยท _act of IETF jurisdiction over ICANN', text: 'RFC 6761 (Februar_ -- L202 โ€” `{{bandwidth|bandwidth}}` ยท _nnounce/resolve. Steady-state bandwidth is dominated by the announce_ -- L199 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '~750 ms for full probe (_ -- L200 โ€” `{{unicast|unicast}}` ยท _on avoidance. Far faster than unicast DNS because no recursion is i_ -- L5 โ€” `{{multicast|Multicast}}` ยท _{ id: 'mdns-dns-sd', name: 'Multicast DNS & DNS-Based Service Disco_ -- L5 โ€” `{{service-discovery|Service Discovery}}` ยท _e: 'Multicast DNS & DNS-Based Service Discovery', abbreviation: 'mDNS / DNS-_ -- L53 โ€” `{{matter|Matter}}` ยท __pdl-datastream._tcp`)', '**Matter** device commissioning (`_mat_ -- L6 โ€” `{{mdns|mDNS / DNS-SD}}` ยท _e Discovery', abbreviation: 'mDNS / DNS-SD', categoryId: 'utilities',_ -- L280 โ€” `{{google|Google}}` ยท _n at work." }, { org: 'Google Chromecast + Cast ecosystem',_ -- L56 โ€” `{{apple|Apple}}` ยท _E remote-debug discovery', 'Apple Continuity (AirDrop, Handoff,_ -- L234 โ€” `{{microsoft|Microsoft}}` ยท _ces-configuring', label: 'Microsoft security baseline' } },_ -- L249 โ€” `{{cisco|Cisco}}` ยท _date: '2024-03', title: 'Cisco WLC mDNS DoS โ€” cisco-sa-wlc-m_ -- L275 โ€” `{{linux|Linux}}` ยท _cale: 'Default on every major Linux distro', description:_ -- L56 โ€” `{{airdrop|AirDrop}}` ยท _covery', 'Apple Continuity (AirDrop, Handoff, Universal Clipboard_ -- L162 โ€” `{{mdns-announce|mDNS announce}}` ยท _}, { title: 'mDNS announce (PTR + SRV + TXT + A, cache-f_ + +- L299 โ€” `{{icann|ICANN}}` ยท _act of IETF jurisdiction over ICANN', text: 'RFC 6761 (Februar_ +- L202 โ€” `{{bandwidth|bandwidth}}` ยท _nnounce/resolve. Steady-state bandwidth is dominated by the announce_ +- L199 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '~750 ms for full probe (_ +- L200 โ€” `{{unicast|unicast}}` ยท _on avoidance. Far faster than unicast DNS because no recursion is i_ +- L5 โ€” `{{multicast|Multicast}}` ยท _{ id: 'mdns-dns-sd', name: 'Multicast DNS & DNS-Based Service Disco_ +- L5 โ€” `{{service-discovery|Service Discovery}}` ยท _e: 'Multicast DNS & DNS-Based Service Discovery', abbreviation: 'mDNS / DNS-_ +- L53 โ€” `{{matter|Matter}}` ยท \__pdl-datastream.\_tcp`)', '**Matter** device commissioning (`\_mat_ +- L6 โ€” `{{mdns|mDNS / DNS-SD}}` ยท _e Discovery', abbreviation: 'mDNS / DNS-SD', categoryId: 'utilities',_ +- L280 โ€” `{{google|Google}}` ยท _n at work." }, { org: 'Google Chromecast + Cast ecosystem',_ +- L56 โ€” `{{apple|Apple}}` ยท _E remote-debug discovery', 'Apple Continuity (AirDrop, Handoff,_ +- L234 โ€” `{{microsoft|Microsoft}}` ยท _ces-configuring', label: 'Microsoft security baseline' } },_ +- L249 โ€” `{{cisco|Cisco}}` ยท _date: '2024-03', title: 'Cisco WLC mDNS DoS โ€” cisco-sa-wlc-m_ +- L275 โ€” `{{linux|Linux}}` ยท _cale: 'Default on every major Linux distro', description:_ +- L56 โ€” `{{airdrop|AirDrop}}` ยท _covery', 'Apple Continuity (AirDrop, Handoff, Universal Clipboard_ +- L162 โ€” `{{mdns-announce|mDNS announce}}` ยท _}, { title: 'mDNS announce (PTR + SRV + TXT + A, cache-f_ **`src/lib/data/protocols/mptcp.ts`** โ€” 8 term(s) -- L164 โ€” `{{bandwidth|bandwidth}}` ยท _throughput: 'Aggregated bandwidth of all subflows. Two 100Mbps_ -- L161 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Initial: same as TCP (1_ -- L19 โ€” `{{handshake|handshake}}` ยท _rks: [ { title: 'Initial handshake with MP_CAPABLE', descript_ -- L5 โ€” `{{multipath|Multipath}}` ยท _col = { id: 'mptcp', name: 'Multipath TCP', abbreviation: 'MPTCP',_ -- L46 โ€” `{{apple|Apple}}` ยท _]] to cellular handover)', 'Apple Siri, Maps, and Music on iOS_ -- L19 โ€” `{{mp-capable|MP_CAPABLE}}` ยท _itle: 'Initial handshake with MP_CAPABLE', description: 'The fi_ -- L24 โ€” `{{mp-join|MP_JOIN}}` ยท _tle: 'Additional subflows via MP_JOIN', description: 'Either_ -- L39 โ€” `{{failover|failover}}` ยท _}, { title: 'Seamless failover', description: 'If a {_ + +- L164 โ€” `{{bandwidth|bandwidth}}` ยท _throughput: 'Aggregated bandwidth of all subflows. Two 100Mbps_ +- L161 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Initial: same as TCP (1_ +- L19 โ€” `{{handshake|handshake}}` ยท _rks: [ { title: 'Initial handshake with MP_CAPABLE', descript_ +- L5 โ€” `{{multipath|Multipath}}` ยท _col = { id: 'mptcp', name: 'Multipath TCP', abbreviation: 'MPTCP',_ +- L46 โ€” `{{apple|Apple}}` ยท _]] to cellular handover)', 'Apple Siri, Maps, and Music on iOS_ +- L19 โ€” `{{mp-capable|MP_CAPABLE}}` ยท _itle: 'Initial handshake with MP_CAPABLE', description: 'The fi_ +- L24 โ€” `{{mp-join|MP_JOIN}}` ยท _tle: 'Additional subflows via MP_JOIN', description: 'Either_ +- L39 โ€” `{{failover|failover}}` ยท _}, { title: 'Seamless failover', description: 'If a {_ **`src/lib/data/protocols/mqtt.ts`** โ€” 2 term(s) -- L154 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-second for QoS 0; 1-2 R_ -- L79 โ€” `{{topic|topic}}` ยท _sage) => { console.log(\`\${topic}: \${message.toString()}\`);_ + +- L154 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-second for QoS 0; 1-2 R_ +- L79 โ€” `{{topic|topic}}` ยท _sage) => { console.log(\`\${topic}: \${message.toString()}\`);_ **`src/lib/data/protocols/nat-traversal.ts`** โ€” 12 term(s) -- L207 โ€” `{{ip-address|IP address}}` ยท _translated to a single public IP address', caption: 'The reason {_ -- L195 โ€” `{{bandwidth|bandwidth}}` ยท _ra hop of latency and re-bill bandwidth; Cloudflare Realtime charges_ -- L192 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for a STUN Binding_ -- L6 โ€” `{{stun-turn-ice|STUN/TURN/ICE}}` ยท _T Traversal', abbreviation: 'STUN/TURN/ICE', categoryId: 'utilities',_ -- L259 โ€” `{{anycast|anycast}}` ยท _e: '`stun.l.google.com:19302` anycast, free, default in libwebrtc',_ -- L195 โ€” `{{hop|hop}}` ยท _e). TURN relays add one extra hop of latency and re-bill bandwi_ -- L207 โ€” `{{public-ip-address|public IP address}}` ยท _router translated to a single public IP address', caption: 'The reason {_ -- L285 โ€” `{{cookie|cookie}}` ยท _s: [ { title: 'The magic cookie spells "STUN"', text: '{{s_ -- L55 โ€” `{{cloudflare|Cloudflare}}` ยท _, DERP as TURN-analogue)', 'Cloudflare Realtime, Twilio NTS, Microso_ -- L51 โ€” `{{google|Google}}` ยท _[webrtc\|WebRTC]] video calls (Google Meet, Zoom, Teams, Discord, F_ -- L55 โ€” `{{microsoft|Microsoft}}` ยท _udflare Realtime, Twilio NTS, Microsoft Teams relay backbone' ], co_ -- L136 โ€” `{{binding-request|STUN Binding Request}}` ยท _tions: [ { title: 'STUN Binding Request (client โ†’ server)', cod_ + +- L207 โ€” `{{ip-address|IP address}}` ยท _translated to a single public IP address', caption: 'The reason {_ +- L195 โ€” `{{bandwidth|bandwidth}}` ยท _ra hop of latency and re-bill bandwidth; Cloudflare Realtime charges_ +- L192 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for a STUN Binding_ +- L6 โ€” `{{stun-turn-ice|STUN/TURN/ICE}}` ยท _T Traversal', abbreviation: 'STUN/TURN/ICE', categoryId: 'utilities',_ +- L259 โ€” `{{anycast|anycast}}` ยท _e: '`stun.l.google.com:19302` anycast, free, default in libwebrtc',_ +- L195 โ€” `{{hop|hop}}` ยท _e). TURN relays add one extra hop of latency and re-bill bandwi_ +- L207 โ€” `{{public-ip-address|public IP address}}` ยท _router translated to a single public IP address', caption: 'The reason {_ +- L285 โ€” `{{cookie|cookie}}` ยท _s: [ { title: 'The magic cookie spells "STUN"', text: '{{s_ +- L55 โ€” `{{cloudflare|Cloudflare}}` ยท _, DERP as TURN-analogue)', 'Cloudflare Realtime, Twilio NTS, Microso_ +- L51 โ€” `{{google|Google}}` ยท _[webrtc\|WebRTC]] video calls (Google Meet, Zoom, Teams, Discord, F_ +- L55 โ€” `{{microsoft|Microsoft}}` ยท _udflare Realtime, Twilio NTS, Microsoft Teams relay backbone' ], co_ +- L136 โ€” `{{binding-request|STUN Binding Request}}` ยท _tions: [ { title: 'STUN Binding Request (client โ†’ server)', cod_ **`src/lib/data/protocols/nfc.ts`** โ€” 13 term(s) -- L271 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '50โ€“200 ms typical for ta_ -- L173 โ€” `{{payload|payload}}` ยท _rd header โ€” the universal NFC payload container', code: `Byte_ -- L20 โ€” `{{ism-band|ISM band}}` ยท _MHz inductive coupling in the ISM band', description: "All NF_ -- L20 โ€” `{{inductive-coupling|inductive coupling}}` ยท _s: [ { title: '13.56 MHz inductive coupling in the ISM band', descript_ -- L324 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _date: '2025-07', title: 'CCC Digital Key 4.0 announced', descriptio_ -- L205 โ€” `{{aliro|Aliro}}` ยท _16-4 APDU โ€” the EMV / eMRTD / Aliro command alphabet', code_ -- L45 โ€” `{{matter|Matter}}` ยท _ndover to Bluetooth / Wi-Fi / Matter', description: "For hi_ -- L56 โ€” `{{google|Google}}` ยท _[[nfc\|NFC]] tap at Apple Pay, Google Wallet, Samsung Pay, and ever_ -- L56 โ€” `{{apple|Apple}}` ยท _payment โ€” [[nfc\|NFC]] tap at Apple Pay, Google Wallet, Samsung P_ -- L433 โ€” `{{android|Android}}` ยท _cts and cold-start latency on Android', text: "When two install_ -- L30 โ€” `{{anti-collision|Anti-collision}}` ยท _NFC tag.' }, { title: 'Anti-collision: REQA โ†’ ATQA โ†’ SEL/NVB โ†’ SAK'_ -- L35 โ€” `{{select-aid|SELECT AID}}` ยท _Card Emulation: SELECT PPSE โ†’ SELECT AID โ†’ GET PROCESSING OPTIONS โ†’ GE_ -- L35 โ€” `{{generate-ac|GENERATE AC}}` ยท _ID โ†’ GET PROCESSING OPTIONS โ†’ GENERATE AC', description: "For ca_ + +- L271 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '50โ€“200 ms typical for ta_ +- L173 โ€” `{{payload|payload}}` ยท _rd header โ€” the universal NFC payload container', code: `Byte_ +- L20 โ€” `{{ism-band|ISM band}}` ยท _MHz inductive coupling in the ISM band', description: "All NF_ +- L20 โ€” `{{inductive-coupling|inductive coupling}}` ยท _s: [ { title: '13.56 MHz inductive coupling in the ISM band', descript_ +- L324 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _date: '2025-07', title: 'CCC Digital Key 4.0 announced', descriptio_ +- L205 โ€” `{{aliro|Aliro}}` ยท _16-4 APDU โ€” the EMV / eMRTD / Aliro command alphabet', code_ +- L45 โ€” `{{matter|Matter}}` ยท _ndover to Bluetooth / Wi-Fi / Matter', description: "For hi_ +- L56 โ€” `{{google|Google}}` ยท _[[nfc\|NFC]] tap at Apple Pay, Google Wallet, Samsung Pay, and ever_ +- L56 โ€” `{{apple|Apple}}` ยท _payment โ€” [[nfc\|NFC]] tap at Apple Pay, Google Wallet, Samsung P_ +- L433 โ€” `{{android|Android}}` ยท _cts and cold-start latency on Android', text: "When two install_ +- L30 โ€” `{{anti-collision|Anti-collision}}` ยท _NFC tag.' }, { title: 'Anti-collision: REQA โ†’ ATQA โ†’ SEL/NVB โ†’ SAK'_ +- L35 โ€” `{{select-aid|SELECT AID}}` ยท _Card Emulation: SELECT PPSE โ†’ SELECT AID โ†’ GET PROCESSING OPTIONS โ†’ GE_ +- L35 โ€” `{{generate-ac|GENERATE AC}}` ยท _ID โ†’ GET PROCESSING OPTIONS โ†’ GENERATE AC', description: "For ca_ **`src/lib/data/protocols/ntp.ts`** โ€” 3 term(s) -- L154 โ€” `{{bandwidth|bandwidth}}` ยท _: 64-1024 seconds. Negligible bandwidth.', overhead: '48-byte packe_ -- L153 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single UDP round trip. Sync_ -- L46 โ€” `{{certificate|Certificate}}` ยท _atory time requirements)', 'Certificate validity and expiration check_ + +- L154 โ€” `{{bandwidth|bandwidth}}` ยท _: 64-1024 seconds. Negligible bandwidth.', overhead: '48-byte packe_ +- L153 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single UDP round trip. Sync_ +- L46 โ€” `{{certificate|Certificate}}` ยท _atory time requirements)', 'Certificate validity and expiration check_ **`src/lib/data/protocols/oauth2.ts`** โ€” 3 term(s) -- L223 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Authorization flow: 1-3_ -- L48 โ€” `{{google|Google}}` ยท _'Social login ("Sign in with Google/GitHub/Apple")', 'Third-par_ -- L48 โ€” `{{apple|Apple}}` ยท _("Sign in with Google/GitHub/Apple")', 'Third-party API access_ + +- L223 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Authorization flow: 1-3_ +- L48 โ€” `{{google|Google}}` ยท _'Social login ("Sign in with Google/GitHub/Apple")', 'Third-par_ +- L48 โ€” `{{apple|Apple}}` ยท _("Sign in with Google/GitHub/Apple")', 'Third-party API access_ **`src/lib/data/protocols/ospf.ts`** โ€” 6 term(s) -- L185 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Default convergence ~40_ -- L52 โ€” `{{peering|peering}}` ยท _ackbones)', 'MPLS-VPN PE-CE peering (RFC 4577)', 'Mid-tier ISP_ -- L246 โ€” `{{microsoft|Microsoft}}` ยท _ldDeployments: [ { org: 'Microsoft Azure', scale: 'Inter-regi_ -- L252 โ€” `{{nvidia|NVIDIA}}` ยท _{ org: 'Cumulus Networks / NVIDIA SONiC', scale: 'Default IG_ -- L264 โ€” `{{cisco|Cisco}}` ยท _revalence." }, { org: 'Cisco IOS-XR / Juniper Junos', s_ -- L25 โ€” `{{adjacency|Adjacency}}` ยท _s field.' }, { title: 'Adjacency state machine', descriptio_ + +- L185 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Default convergence ~40_ +- L52 โ€” `{{peering|peering}}` ยท _ackbones)', 'MPLS-VPN PE-CE peering (RFC 4577)', 'Mid-tier ISP_ +- L246 โ€” `{{microsoft|Microsoft}}` ยท _ldDeployments: [ { org: 'Microsoft Azure', scale: 'Inter-regi_ +- L252 โ€” `{{nvidia|NVIDIA}}` ยท _{ org: 'Cumulus Networks / NVIDIA SONiC', scale: 'Default IG_ +- L264 โ€” `{{cisco|Cisco}}` ยท _revalence." }, { org: 'Cisco IOS-XR / Juniper Junos', s_ +- L25 โ€” `{{adjacency|Adjacency}}` ยท _s field.' }, { title: 'Adjacency state machine', descriptio_ **`src/lib/data/protocols/quic.ts`** โ€” 9 term(s) -- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for new connection_ -- L20 โ€” `{{handshake|handshake}}` ยท _rks: [ { title: 'Initial handshake (1 RTT)', description:_ -- L154 โ€” `{{encryption|encryption}}` ยท _er per-packet than TCP due to encryption, but fewer round trips overal_ -- L35 โ€” `{{connection-migration|Connection migration}}` ยท _others." }, { title: 'Connection migration', description: 'Connec_ -- L186 โ€” `{{multipath|Multipath}}` ยท _date: '2024-09', title: 'Multipath QUIC reaches stable IETF draf_ -- L216 โ€” `{{cloudflare|Cloudflare}}` ยท _en-source.' }, { org: 'Cloudflare', scale: 'All HTTPS traffi_ -- L164 โ€” `{{google|Google}}` ยท _r%2C_The_Dalles.jpg', alt: 'Google data center in The Dalles, Or_ -- L222 โ€” `{{apple|Apple}}` ยท _y default.' }, { org: 'Apple', scale: 'iOS 18+ / macOS_ -- L180 โ€” `{{meta|Meta}}` ยท _date: '2024-Q4', title: 'Meta reports >75% of internet traf_ + +- L150 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for new connection_ +- L20 โ€” `{{handshake|handshake}}` ยท _rks: [ { title: 'Initial handshake (1 RTT)', description:_ +- L154 โ€” `{{encryption|encryption}}` ยท _er per-packet than TCP due to encryption, but fewer round trips overal_ +- L35 โ€” `{{connection-migration|Connection migration}}` ยท _others." }, { title: 'Connection migration', description: 'Connec_ +- L186 โ€” `{{multipath|Multipath}}` ยท _date: '2024-09', title: 'Multipath QUIC reaches stable IETF draf_ +- L216 โ€” `{{cloudflare|Cloudflare}}` ยท _en-source.' }, { org: 'Cloudflare', scale: 'All HTTPS traffi_ +- L164 โ€” `{{google|Google}}` ยท _r%2C_The_Dalles.jpg', alt: 'Google data center in The Dalles, Or_ +- L222 โ€” `{{apple|Apple}}` ยท _y default.' }, { org: 'Apple', scale: 'iOS 18+ / macOS_ +- L180 โ€” `{{meta|Meta}}` ยท _date: '2024-Q4', title: 'Meta reports >75% of internet traf_ **`src/lib/data/protocols/rest.ts`** โ€” 4 term(s) -- L139 โ€” `{{client-server|client-server model}}` ยท _.png', alt: 'Diagram of the client-server model showing multiple clients comm_ -- L115 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Per-request (no persistent_ -- L28 โ€” `{{stateless|Stateless}}` ยท _ot safe.' }, { title: 'Stateless requests', description:_ -- L43 โ€” `{{matter|matter}}` ยท _icity and broad compatibility matter' ], codeExample: { langua_ + +- L139 โ€” `{{client-server|client-server model}}` ยท _.png', alt: 'Diagram of the client-server model showing multiple clients comm_ +- L115 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Per-request (no persistent_ +- L28 โ€” `{{stateless|Stateless}}` ยท _ot safe.' }, { title: 'Stateless requests', description:_ +- L43 โ€” `{{matter|matter}}` ยท _icity and broad compatibility matter' ], codeExample: { langua_ **`src/lib/data/protocols/rtmp.ts`** โ€” 3 term(s) -- L47 โ€” `{{latency|latency}}` ยท _-server transmission', 'Low-latency live broadcasts and gaming st_ -- L19 โ€” `{{handshake|handshake}}` ยท _ItWorks: [ { title: 'TCP handshake + RTMP handshake', descrip_ -- L69 โ€” `{{hop|hop}}` ยท _\|RTMP]] is the standard first hop for live streaming โ€” from enc_ + +- L47 โ€” `{{latency|latency}}` ยท _-server transmission', 'Low-latency live broadcasts and gaming st_ +- L19 โ€” `{{handshake|handshake}}` ยท _ItWorks: [ { title: 'TCP handshake + RTMP handshake', descrip_ +- L69 โ€” `{{hop|hop}}` ยท _\|RTMP]] is the standard first hop for live streaming โ€” from enc_ **`src/lib/data/protocols/rtp.ts`** โ€” 3 term(s) -- L155 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'No connection setup (UDP)._ -- L155 โ€” `{{jitter|jitter}}` ยท _typically 50-300ms including jitter buffering.', throughput:_ -- L157 โ€” `{{codec|codec}}` ยท _, throughput: 'Adaptive: codec and bitrate adjust based on R_ + +- L155 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'No connection setup (UDP)._ +- L155 โ€” `{{jitter|jitter}}` ยท _typically 50-300ms including jitter buffering.', throughput:_ +- L157 โ€” `{{codec|codec}}` ยท _, throughput: 'Adaptive: codec and bitrate adjust based on R_ **`src/lib/data/protocols/sctp.ts`** โ€” 6 term(s) -- L147 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '2 RTT for connection setup_ -- L19 โ€” `{{handshake|handshake}}` ยท _Works: [ { title: '4-way handshake', description: "[[sctp_ -- L40 โ€” `{{signaling|signaling}}` ยท _} ], useCases: [ 'Telecom signaling (SS7 over [[ip\|IP]], Diameter_ -- L40 โ€” `{{diameter|Diameter}}` ยท _ignaling (SS7 over [[ip\|IP]], Diameter)', '4G/5G mobile network in_ -- L19 โ€” `{{four-way-handshake|4-way handshake}}` ยท _howItWorks: [ { title: '4-way handshake', description: "[[sctp_ -- L29 โ€” `{{multi-homing|Multi-homing}}` ยท _cking}}." }, { title: 'Multi-homing', description: 'An [[s_ + +- L147 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '2 RTT for connection setup_ +- L19 โ€” `{{handshake|handshake}}` ยท _Works: [ { title: '4-way handshake', description: "[[sctp_ +- L40 โ€” `{{signaling|signaling}}` ยท _} ], useCases: [ 'Telecom signaling (SS7 over [[ip\|IP]], Diameter_ +- L40 โ€” `{{diameter|Diameter}}` ยท _ignaling (SS7 over [[ip\|IP]], Diameter)', '4G/5G mobile network in_ +- L19 โ€” `{{four-way-handshake|4-way handshake}}` ยท _howItWorks: [ { title: '4-way handshake', description: "[[sctp_ +- L29 โ€” `{{multi-homing|Multi-homing}}` ยท _cking}}." }, { title: 'Multi-homing', description: 'An [[s_ **`src/lib/data/protocols/sdp.ts`** โ€” 3 term(s) -- L177 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'SDP itself adds no latency_ -- L177 โ€” `{{signaling|signaling}}` ยท _no latency โ€” exchanged during signaling, before media flows.', thro_ -- L189 โ€” `{{cisco|Cisco}}` ยท _Prototype.jpg', alt: 'Early Cisco TelePresence CTS-3000 prototy_ + +- L177 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'SDP itself adds no latency_ +- L177 โ€” `{{signaling|signaling}}` ยท _no latency โ€” exchanged during signaling, before media flows.', thro_ +- L189 โ€” `{{cisco|Cisco}}` ยท _Prototype.jpg', alt: 'Early Cisco TelePresence CTS-3000 prototy_ **`src/lib/data/protocols/sip.ts`** โ€” 2 term(s) -- L167 โ€” `{{bandwidth|bandwidth}}` ยท _; the media (RTP) carries the bandwidth load', overhead: 'Text-base_ -- L166 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Call setup: 1-3 seconds (IN_ + +- L167 โ€” `{{bandwidth|bandwidth}}` ยท _; the media (RTP) carries the bandwidth load', overhead: 'Text-base_ +- L166 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Call setup: 1-3 seconds (IN_ **`src/lib/data/protocols/smtp.ts`** โ€” 2 term(s) -- L146 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Seconds to minutes (store a_ -- L11 โ€” `{{hop|hop}}` ยท _internet โ€” store and forward, hop by hop.', overview: `[[smtp\|_ + +- L146 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Seconds to minutes (store a_ +- L11 โ€” `{{hop|hop}}` ยท _internet โ€” store and forward, hop by hop.', overview: `[[smtp\|_ **`src/lib/data/protocols/soap.ts`** โ€” 3 term(s) -- L127 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as HTTP โ€” one reque_ -- L128 โ€” `{{request-response|request-response}}` ยท _tency: 'Same as HTTP โ€” one request-response round trip. XML parsing adds_ -- L119 โ€” `{{soap-fault|SOAP Fault}}` ยท _}, { title: 'SOAP Fault', code: `HTTP/1.1 500 I_ + +- L127 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Same as HTTP โ€” one reque_ +- L128 โ€” `{{request-response|request-response}}` ยท _tency: 'Same as HTTP โ€” one request-response round trip. XML parsing adds_ +- L119 โ€” `{{soap-fault|SOAP Fault}}` ยท _}, { title: 'SOAP Fault', code: `HTTP/1.1 500 I_ **`src/lib/data/protocols/sse.ts`** โ€” 1 term(s) -- L117 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-second (persistent conn_ + +- L117 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Sub-second (persistent conn_ **`src/lib/data/protocols/ssh.ts`** โ€” 7 term(s) -- L175 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1-2 RTTs for connection + k_ -- L176 โ€” `{{encryption|encryption}}` ยท _, throughput: 'Hardware AES encryption; limited mainly by the networ_ -- L187 โ€” `{{payload|payload}}` ยท _acket length, padding length, payload, padding, and MAC fields',_ -- L178 โ€” `{{aes-gcm|AES-GCM}}` ยท _256 = 32 bytes. AEAD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-_ -- L178 โ€” `{{chacha20-poly1305|ChaCha20-Poly1305}}` ยท _bytes. AEAD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-byte authentication_ -- L42 โ€” `{{sftp|SFTP}}` ยท _'Secure file transfer (SCP, SFTP)', '{{port-forwarding\|Port_ -- L178 โ€” `{{poly1305|Poly1305}}` ยท _AD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-byte authentication_ + +- L175 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1-2 RTTs for connection + k_ +- L176 โ€” `{{encryption|encryption}}` ยท _, throughput: 'Hardware AES encryption; limited mainly by the networ_ +- L187 โ€” `{{payload|payload}}` ยท _acket length, padding length, payload, padding, and MAC fields',_ +- L178 โ€” `{{aes-gcm|AES-GCM}}` ยท _256 = 32 bytes. AEAD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-_ +- L178 โ€” `{{chacha20-poly1305|ChaCha20-Poly1305}}` ยท _bytes. AEAD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-byte authentication_ +- L42 โ€” `{{sftp|SFTP}}` ยท _'Secure file transfer (SCP, SFTP)', '{{port-forwarding\|Port_ +- L178 โ€” `{{poly1305|Poly1305}}` ยท _AD ciphers (AES-GCM, ChaCha20-Poly1305) use a 16-byte authentication_ **`src/lib/data/protocols/stomp.ts`** โ€” 2 term(s) -- L173 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Similar to the underlying b_ -- L184 โ€” `{{broker|message broker}}` ยท _337%29.jpg', alt: 'RabbitMQ message broker presentation at a developer c_ + +- L173 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Similar to the underlying b_ +- L184 โ€” `{{broker|message broker}}` ยท _337%29.jpg', alt: 'RabbitMQ message broker presentation at a developer c_ **`src/lib/data/protocols/tcp.ts`** โ€” 14 term(s) -- L157 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for TCP handshake_ -- L111 โ€” `{{handshake|Handshake}}` ยท _{ title: 'Three-Way Handshake', code: `Client โ†’ Serve_ -- L111 โ€” `{{three-way-handshake|Three-Way Handshake}}` ยท _tions: [ { title: 'Three-Way Handshake', code: `Client โ†’ Serve_ -- L277 โ€” `{{ephemeral-port|Ephemeral port}}` ยท _apps.' }, { title: 'Ephemeral port exhaustion', text: 'On a_ -- L227 โ€” `{{cubic|CUBIC}}` ยท _g: 'Linux kernel', scale: 'CUBIC default since 2.6.19', des_ -- L184 โ€” `{{time-wait|TIME_WAIT}}` ยท _CLOSED through ESTABLISHED to TIME_WAIT', caption: 'The [[tcp\|TC_ -- L273 โ€” `{{delayed-ack|Delayed ACK}}` ยท _s: [ { title: 'Nagle + Delayed ACK = 200ms latency', text: '_ -- L232 โ€” `{{google|Google}}` ยท _e) run it.' }, { org: 'Google', scale: 'BBR for google.c_ -- L244 โ€” `{{apple|Apple}}` ยท _ent paths.' }, { org: 'Apple', scale: 'iOS / macOS defa_ -- L238 โ€” `{{meta|Meta}}` ยท _}\'s edge.' }, { org: 'Meta', scale: '>50% of traffic_ -- L193 โ€” `{{linux|Linux}}` ยท _date: '2024-01', title: 'Linux 6.7 ships native TCP-AO (RFC_ -- L21 โ€” `{{syn|SYN (synchronize)}}` ยท _tion: 'The client sends a SYN (synchronize) packet to the server, proposi_ -- L24 โ€” `{{syn-ack|SYN-ACK}}` ยท _message.' }, { title: 'SYN-ACK โ€” Server responds', descri_ -- L47 โ€” `{{sftp|SFTP}}` ยท _'File transfer ([[ftp\|FTP]], SFTP)', 'Remote access ([[ssh\|SS_ + +- L157 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 RTT for TCP handshake_ +- L111 โ€” `{{handshake|Handshake}}` ยท _{ title: 'Three-Way Handshake', code: `Client โ†’ Serve_ +- L111 โ€” `{{three-way-handshake|Three-Way Handshake}}` ยท _tions: [ { title: 'Three-Way Handshake', code: `Client โ†’ Serve_ +- L277 โ€” `{{ephemeral-port|Ephemeral port}}` ยท _apps.' }, { title: 'Ephemeral port exhaustion', text: 'On a_ +- L227 โ€” `{{cubic|CUBIC}}` ยท _g: 'Linux kernel', scale: 'CUBIC default since 2.6.19', des_ +- L184 โ€” `{{time-wait|TIME_WAIT}}` ยท _CLOSED through ESTABLISHED to TIME_WAIT', caption: 'The [[tcp\|TC_ +- L273 โ€” `{{delayed-ack|Delayed ACK}}` ยท _s: [ { title: 'Nagle + Delayed ACK = 200ms latency', text: '_ +- L232 โ€” `{{google|Google}}` ยท _e) run it.' }, { org: 'Google', scale: 'BBR for google.c_ +- L244 โ€” `{{apple|Apple}}` ยท _ent paths.' }, { org: 'Apple', scale: 'iOS / macOS defa_ +- L238 โ€” `{{meta|Meta}}` ยท _}\'s edge.' }, { org: 'Meta', scale: '>50% of traffic_ +- L193 โ€” `{{linux|Linux}}` ยท _date: '2024-01', title: 'Linux 6.7 ships native TCP-AO (RFC_ +- L21 โ€” `{{syn|SYN (synchronize)}}` ยท _tion: 'The client sends a SYN (synchronize) packet to the server, proposi_ +- L24 โ€” `{{syn-ack|SYN-ACK}}` ยท _message.' }, { title: 'SYN-ACK โ€” Server responds', descri_ +- L47 โ€” `{{sftp|SFTP}}` ยท _'File transfer ([[ftp\|FTP]], SFTP)', 'Remote access ([[ssh\|SS_ **`src/lib/data/protocols/tls.ts`** โ€” 13 term(s) -- L170 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'TLS 1.3: 1 RTT for new conn_ -- L194 โ€” `{{handshake|handshake}}` ยท _e diagram of the full TLS 1.3 handshake showing ClientHello, ServerHe_ -- L44 โ€” `{{encryption|encryption}}` ยท _API communication', 'Email encryption (SMTPS, IMAPS)', '{{vpn\|VPN_ -- L26 โ€” `{{certificate|Certificate}}` ยท _{ title: 'ServerHello + Certificate', description: 'Server_ -- L223 โ€” `{{ech|ECH (Encrypted Client Hello)}}` ยท _date: '2024-09', title: 'ECH (Encrypted Client Hello) progresses', description:_ -- L231 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare', scale: '100% of HTTPS ed_ -- L243 โ€” `{{google|Google}}` ยท _in iOS 26.' }, { org: 'Google Chrome', scale: 'Chrome 12_ -- L237 โ€” `{{apple|Apple}}` ยท _udflare}}.' }, { org: 'Apple', scale: 'iOS 26 / macOS 1_ -- L21 โ€” `{{client-hello|ClientHello}}` ยท _howItWorks: [ { title: 'ClientHello', description: 'Client_ -- L26 โ€” `{{server-hello|ServerHello}}` ยท _nd trip.' }, { title: 'ServerHello + Certificate', descriptio_ -- L172 โ€” `{{aes-gcm|AES-GCM}}` ยท _: 2 RTTs.', throughput: 'AES-GCM encryption is hardware-accele_ -- L44 โ€” `{{imaps|IMAPS}}` ยท _, 'Email encryption (SMTPS, IMAPS)', '{{vpn\|VPN}} tunneling (_ -- L263 โ€” `{{rsa|RSA}}` ยท _emoved RC4, 3DES, MD5, SHA-1, RSA key {{exchange\|exchange}}, an_ + +- L170 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'TLS 1.3: 1 RTT for new conn_ +- L194 โ€” `{{handshake|handshake}}` ยท _e diagram of the full TLS 1.3 handshake showing ClientHello, ServerHe_ +- L44 โ€” `{{encryption|encryption}}` ยท _API communication', 'Email encryption (SMTPS, IMAPS)', '{{vpn\|VPN_ +- L26 โ€” `{{certificate|Certificate}}` ยท _{ title: 'ServerHello + Certificate', description: 'Server_ +- L223 โ€” `{{ech|ECH (Encrypted Client Hello)}}` ยท _date: '2024-09', title: 'ECH (Encrypted Client Hello) progresses', description:_ +- L231 โ€” `{{cloudflare|Cloudflare}}` ยท _ldDeployments: [ { org: 'Cloudflare', scale: '100% of HTTPS ed_ +- L243 โ€” `{{google|Google}}` ยท _in iOS 26.' }, { org: 'Google Chrome', scale: 'Chrome 12_ +- L237 โ€” `{{apple|Apple}}` ยท _udflare}}.' }, { org: 'Apple', scale: 'iOS 26 / macOS 1_ +- L21 โ€” `{{client-hello|ClientHello}}` ยท _howItWorks: [ { title: 'ClientHello', description: 'Client_ +- L26 โ€” `{{server-hello|ServerHello}}` ยท _nd trip.' }, { title: 'ServerHello + Certificate', descriptio_ +- L172 โ€” `{{aes-gcm|AES-GCM}}` ยท _: 2 RTTs.', throughput: 'AES-GCM encryption is hardware-accele_ +- L44 โ€” `{{imaps|IMAPS}}` ยท _, 'Email encryption (SMTPS, IMAPS)', '{{vpn\|VPN}} tunneling (_ +- L263 โ€” `{{rsa|RSA}}` ยท _emoved RC4, 3DES, MD5, SHA-1, RSA key {{exchange\|exchange}}, an_ **`src/lib/data/protocols/udp.ts`** โ€” 10 term(s) -- L152 โ€” `{{arpanet|ARPANET}}` ยท _.svg.png', alt: 'Map of the ARPANET in 1974, showing interconnect_ -- L141 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Zero connection setup; sing_ -- L19 โ€” `{{handshake|handshake}}` ยท _wItWorks: [ { title: 'No handshake', description: 'Unlike_ -- L142 โ€” `{{congestion-control|congestion control}}` ยท _-response', throughput: 'No congestion control โ€” can send as fast as the net_ -- L141 โ€” `{{request-response|request-response}}` ยท _nection setup; single RTT for request-response', throughput: 'No congestio_ -- L222 โ€” `{{fragmentation|Fragmentation}}` ยท _own.' }, { title: 'Fragmentation = unreliable delivery', t_ -- L176 โ€” `{{google|Google}}` ยท _e: '~14 trillion queries/day (Google 8.8.8.8 alone)', descripti_ -- L194 โ€” `{{meta|Meta}}` ยท _0% of Chrome traffic, >75% of Meta', description: 'The la_ -- L167 โ€” `{{linux|Linux}}` ยท _{ date: '2025', title: 'Linux io_uring + UDP zero-copy',_ -- L222 โ€” `{{unreliable-delivery|unreliable delivery}}` ยท _{ title: 'Fragmentation = unreliable delivery', text: '[[udp\|UDP]] data_ + +- L152 โ€” `{{arpanet|ARPANET}}` ยท _.svg.png', alt: 'Map of the ARPANET in 1974, showing interconnect_ +- L141 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Zero connection setup; sing_ +- L19 โ€” `{{handshake|handshake}}` ยท _wItWorks: [ { title: 'No handshake', description: 'Unlike_ +- L142 โ€” `{{congestion-control|congestion control}}` ยท _-response', throughput: 'No congestion control โ€” can send as fast as the net_ +- L141 โ€” `{{request-response|request-response}}` ยท _nection setup; single RTT for request-response', throughput: 'No congestio_ +- L222 โ€” `{{fragmentation|Fragmentation}}` ยท _own.' }, { title: 'Fragmentation = unreliable delivery', t_ +- L176 โ€” `{{google|Google}}` ยท _e: '~14 trillion queries/day (Google 8.8.8.8 alone)', descripti_ +- L194 โ€” `{{meta|Meta}}` ยท _0% of Chrome traffic, >75% of Meta', description: 'The la_ +- L167 โ€” `{{linux|Linux}}` ยท _{ date: '2025', title: 'Linux io_uring + UDP zero-copy',_ +- L222 โ€” `{{unreliable-delivery|unreliable delivery}}` ยท _{ title: 'Fragmentation = unreliable delivery', text: '[[udp\|UDP]] data_ **`src/lib/data/protocols/uwb.ts`** โ€” 7 term(s) -- L270 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single DS-TWR ranging ro_ -- L436 โ€” `{{cipher-suite|cipher suite}}` ยท _}, { title: 'STS / cipher suite โ€” turn it on, and watch the r_ -- L40 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _ed form." }, { title: 'CCC Digital Key 3.0 โ€” the canonical UWB unloc_ -- L343 โ€” `{{aliro|Aliro}}` ยท _date: '2026-02', title: 'Aliro 1.0 finalised โ€” "Matter for d_ -- L343 โ€” `{{matter|Matter}}` ยท _itle: 'Aliro 1.0 finalised โ€” "Matter for door locks" with UWB',_ -- L56 โ€” `{{apple|Apple}}` ยท _ing with cm-class direction โ€” Apple AirTag, Samsung SmartTag+, Fi_ -- L27 โ€” `{{clock-drift|clock drift}}` ยท _T_reply1 + T_reply2)` cancels clock drift to first order โ€” the producti_ + +- L270 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Single DS-TWR ranging ro_ +- L436 โ€” `{{cipher-suite|cipher suite}}` ยท _}, { title: 'STS / cipher suite โ€” turn it on, and watch the r_ +- L40 โ€” `{{ccc-digital-key|CCC Digital Key}}` ยท _ed form." }, { title: 'CCC Digital Key 3.0 โ€” the canonical UWB unloc_ +- L343 โ€” `{{aliro|Aliro}}` ยท _date: '2026-02', title: 'Aliro 1.0 finalised โ€” "Matter for d_ +- L343 โ€” `{{matter|Matter}}` ยท _itle: 'Aliro 1.0 finalised โ€” "Matter for door locks" with UWB',_ +- L56 โ€” `{{apple|Apple}}` ยท _ing with cm-class direction โ€” Apple AirTag, Samsung SmartTag+, Fi_ +- L27 โ€” `{{clock-drift|clock drift}}` ยท _T_reply1 + T_reply2)` cancels clock drift to first order โ€” the producti_ **`src/lib/data/protocols/webrtc.ts`** โ€” 6 term(s) -- L156 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup: 2-5 secon_ -- L29 โ€” `{{handshake|handshake}}` ยท _er.' }, { title: 'DTLS handshake', description: 'Once a_ -- L19 โ€” `{{signaling|Signaling}}` ยท _howItWorks: [ { title: 'Signaling', description: 'Peers_ -- L24 โ€” `{{ice-candidate|ICE candidate}}` ยท _re how).' }, { title: 'ICE candidate gathering', description:_ -- L40 โ€” `{{google|Google}}` ยท _ses: [ 'Video conferencing (Google Meet, Zoom web client)', 'V_ -- L129 โ€” `{{binding-request|STUN Binding Request}}` ยท _}, { title: 'STUN Binding Request', code: `STUN Message:_ + +- L156 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Connection setup: 2-5 secon_ +- L29 โ€” `{{handshake|handshake}}` ยท _er.' }, { title: 'DTLS handshake', description: 'Once a_ +- L19 โ€” `{{signaling|Signaling}}` ยท _howItWorks: [ { title: 'Signaling', description: 'Peers_ +- L24 โ€” `{{ice-candidate|ICE candidate}}` ยท _re how).' }, { title: 'ICE candidate gathering', description:_ +- L40 โ€” `{{google|Google}}` ยท _ses: [ 'Video conferencing (Google Meet, Zoom web client)', 'V_ +- L129 โ€” `{{binding-request|STUN Binding Request}}` ยท _}, { title: 'STUN Binding Request', code: `STUN Message:_ **`src/lib/data/protocols/websockets.ts`** โ€” 5 term(s) -- L112 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 HTTP round trip for up_ -- L100 โ€” `{{handshake|Handshake}}` ยท _{ title: 'Upgrade Handshake', code: `GET /chat HTTP_ -- L124 โ€” `{{full-duplex|full-duplex}}` ยท _upgrade handshake followed by full-duplex bidirectional communication',_ -- L42 โ€” `{{google|Google}}` ยท _s', 'Collaborative editing (Google Docs, Figma)', 'Multiplayer_ -- L34 โ€” `{{ping|Ping}}` ยท _tweight.' }, { title: 'Ping/pong keepalive', descripti_ + +- L112 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 HTTP round trip for up_ +- L100 โ€” `{{handshake|Handshake}}` ยท _{ title: 'Upgrade Handshake', code: `GET /chat HTTP_ +- L124 โ€” `{{full-duplex|full-duplex}}` ยท _upgrade handshake followed by full-duplex bidirectional communication',_ +- L42 โ€” `{{google|Google}}` ยท _s', 'Collaborative editing (Google Docs, Figma)', 'Multiplayer_ +- L34 โ€” `{{ping|Ping}}` ยท _tweight.' }, { title: 'Ping/pong keepalive', descripti_ **`src/lib/data/protocols/wifi.ts`** โ€” 9 term(s) -- L164 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1-5 ms typical for local ac_ -- L32 โ€” `{{handshake|handshake}}` ยท _s.' }, { title: '4-way handshake (WPA2/WPA3)', description:_ -- L168 โ€” `{{encryption|encryption}}` ยท _flags (vs 14 for Ethernet) + encryption overhead (CCMP adds 16 bytes)_ -- L168 โ€” `{{airtime|airtime}}` ยท _s); acknowledgment frames add airtime cost' }, connections: ['eth_ -- L32 โ€” `{{wpa3|WPA3}}` ยท _title: '4-way handshake (WPA2/WPA3)', description: 'After_ -- L32 โ€” `{{wpa2|WPA2}}` ยท _{ title: '4-way handshake (WPA2/WPA3)', description: '_ -- L141 โ€” `{{beacon-frame|Beacon Frame}}` ยท _}, { title: 'Beacon Frame', code: `802.11 Beacon_ -- L32 โ€” `{{four-way-handshake|4-way handshake}}` ยท _access.' }, { title: '4-way handshake (WPA2/WPA3)', description:_ -- L141 โ€” `{{beacon|Beacon Frame}}` ยท _}, { title: 'Beacon Frame', code: `802.11 Beacon_ + +- L164 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1-5 ms typical for local ac_ +- L32 โ€” `{{handshake|handshake}}` ยท _s.' }, { title: '4-way handshake (WPA2/WPA3)', description:_ +- L168 โ€” `{{encryption|encryption}}` ยท _flags (vs 14 for Ethernet) + encryption overhead (CCMP adds 16 bytes)_ +- L168 โ€” `{{airtime|airtime}}` ยท _s); acknowledgment frames add airtime cost' }, connections: ['eth_ +- L32 โ€” `{{wpa3|WPA3}}` ยท _title: '4-way handshake (WPA2/WPA3)', description: 'After_ +- L32 โ€” `{{wpa2|WPA2}}` ยท _{ title: '4-way handshake (WPA2/WPA3)', description: '_ +- L141 โ€” `{{beacon-frame|Beacon Frame}}` ยท _}, { title: 'Beacon Frame', code: `802.11 Beacon_ +- L32 โ€” `{{four-way-handshake|4-way handshake}}` ยท _access.' }, { title: '4-way handshake (WPA2/WPA3)', description:_ +- L141 โ€” `{{beacon|Beacon Frame}}` ยท _}, { title: 'Beacon Frame', code: `802.11 Beacon_ **`src/lib/data/protocols/wireguard.ts`** โ€” 7 term(s) -- L211 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 round trip for handsha_ -- L25 โ€” `{{handshake|Handshake}}` ยท _plane).' }, { title: 'Handshake Initiation (148 bytes, type=1_ -- L20 โ€” `{{public-key|public key}}` ยท _: [ { title: 'Identity = public key', description: 'Each {_ -- L333 โ€” `{{routing-table|routing table}}` ยท _title: 'AllowedIPs is your routing table AND your ACL', text: 'A s_ -- L52 โ€” `{{cloudflare|Cloudflare}}` ยท _sumer "global VPN" services โ€” Cloudflare WARP, Mullvad, NordVPN NordLy_ -- L212 โ€” `{{linux|Linux}}` ยท _ding-plane overhead in-kernel Linux; ~3โ€“5 ms with BoringTun (user_ -- L216 โ€” `{{poly1305|Poly1305}}` ยท _B UDP + 20 B outer IP + 16 B Poly1305. Roughly 4% data inflation on_ + +- L211 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '1 round trip for handsha_ +- L25 โ€” `{{handshake|Handshake}}` ยท _plane).' }, { title: 'Handshake Initiation (148 bytes, type=1_ +- L20 โ€” `{{public-key|public key}}` ยท _: [ { title: 'Identity = public key', description: 'Each {_ +- L333 โ€” `{{routing-table|routing table}}` ยท _title: 'AllowedIPs is your routing table AND your ACL', text: 'A s_ +- L52 โ€” `{{cloudflare|Cloudflare}}` ยท _sumer "global VPN" services โ€” Cloudflare WARP, Mullvad, NordVPN NordLy_ +- L212 โ€” `{{linux|Linux}}` ยท _ding-plane overhead in-kernel Linux; ~3โ€“5 ms with BoringTun (user_ +- L216 โ€” `{{poly1305|Poly1305}}` ยท _B UDP + 20 B outer IP + 16 B Poly1305. Roughly 4% data inflation on_ **`src/lib/data/protocols/xmpp.ts`** โ€” 3 term(s) -- L195 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Near-instant over persis_ -- L46 โ€” `{{cisco|Cisco}}` ยท _Enterprise instant messaging (Cisco Jabber, Zoom Chat backend)',_ -- L35 โ€” `{{federation|federation}}` ยท _{ title: 'Server-to-server federation', description: 'When a_ + +- L195 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: 'Near-instant over persis_ +- L46 โ€” `{{cisco|Cisco}}` ยท _Enterprise instant messaging (Cisco Jabber, Zoom Chat backend)',_ +- L35 โ€” `{{federation|federation}}` ยท _{ title: 'Server-to-server federation', description: 'When a_ **`src/lib/data/protocols/zigbee.ts`** โ€” 9 term(s) -- L234 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '~30โ€“80 ms one-hop ZCL co_ -- L235 โ€” `{{hop|hop}}` ยท _latency: '~30โ€“80 ms one-hop ZCL command on idle networks;_ -- L10 โ€” `{{ieee-802-15-4|IEEE 802.15.4}}` ยท _rfc: 'Zigbee PRO 2023 (R23) / IEEE 802.15.4-2020', oneLiner: '{{ieee-8_ -- L40 โ€” `{{trust-center|Trust Center}}` ยท _er 2023." }, { title: 'Trust Center + install codes โ€” securing th_ -- L45 โ€” `{{matter|Matter}}` ยท _ntirely." }, { title: 'Matter bridge โ€” how Zigbee gets to t_ -- L277 โ€” `{{thread|Thread}}` ยท _M3 ships globally โ€” Zigbee + Thread + Matter in one box', desc_ -- L368 โ€” `{{apple|Apple}}` ยท _title: 'Philips Hue\'s 2012 Apple Store launch never said "Zigb_ -- L332 โ€” `{{failover|failover}}` ยท _100+ device models; multi-hub failover', description: "Shenzh_ -- L60 โ€” `{{curve25519|Curve25519}}` ยท _t\|GATT}} bootstrap with SPEKE/Curve25519)', 'Utility AMI โ€” Zigbee Sm_ +- L234 โ€” `{{latency|latency}}` ยท _} ] }, performance: { latency: '~30โ€“80 ms one-hop ZCL co_ +- L235 โ€” `{{hop|hop}}` ยท _latency: '~30โ€“80 ms one-hop ZCL command on idle networks;_ +- L10 โ€” `{{ieee-802-15-4|IEEE 802.15.4}}` ยท _rfc: 'Zigbee PRO 2023 (R23) / IEEE 802.15.4-2020', oneLiner: '{{ieee-8_ +- L40 โ€” `{{trust-center|Trust Center}}` ยท _er 2023." }, { title: 'Trust Center + install codes โ€” securing th_ +- L45 โ€” `{{matter|Matter}}` ยท _ntirely." }, { title: 'Matter bridge โ€” how Zigbee gets to t_ +- L277 โ€” `{{thread|Thread}}` ยท _M3 ships globally โ€” Zigbee + Thread + Matter in one box', desc_ +- L368 โ€” `{{apple|Apple}}` ยท _title: 'Philips Hue\'s 2012 Apple Store launch never said "Zigb_ +- L332 โ€” `{{failover|failover}}` ยท _100+ device models; multi-hub failover', description: "Shenzh_ +- L60 โ€” `{{curve25519|Curve25519}}` ยท _t\|GATT}} bootstrap with SPEKE/Curve25519)', 'Utility AMI โ€” Zigbee Sm_ diff --git a/scripts/wrap-bare-concepts.ts b/scripts/wrap-bare-concepts.ts index 646af04..88b07bc 100644 --- a/scripts/wrap-bare-concepts.ts +++ b/scripts/wrap-bare-concepts.ts @@ -72,15 +72,7 @@ const PARSED_FIELDS = new Set([ 'body', 'content' ]); -const SKIP_FIELDS = new Set([ - 'alt', - 'name', - 'title', - 'org', - 'label', - 'attribution', - 'authors' -]); +const SKIP_FIELDS = new Set(['alt', 'name', 'title', 'org', 'label', 'attribution', 'authors']); // Concept terms that ARE technical concepts but whose surface form is a // generic English word or an extremely common technical word. Wrapping @@ -281,11 +273,7 @@ for (const file of walk(DATA_DIR)) { const acronymMatch = fullSurface.match(/^([A-Z][A-Z0-9/-]{1,})\s+\S/); if (acronymMatch) { const acr = acronymMatch[1]; - if ( - acr.length >= 2 && - !LOW_PRIORITY.has(acr.toLowerCase()) && - !surfaces.includes(acr) - ) + if (acr.length >= 2 && !LOW_PRIORITY.has(acr.toLowerCase()) && !surfaces.includes(acr)) surfaces.push(acr); } // Also if the term itself is a bare 2-3 char acronym, surface it @@ -319,7 +307,7 @@ for (const file of walk(DATA_DIR)) { // of "Three-Way Handshake"), keep the longer surface โ€” the more // specific concept wins. Without this, sequential right-to-left // replacement corrupts the wrap by inserting markup mid-token. - allHits.sort((a, b) => (b.len - a.len) || (a.off - b.off)); + allHits.sort((a, b) => b.len - a.len || a.off - b.off); const claimed: Array<[number, number]> = []; // [start, end) ranges already claimed const nonOverlap: Hit[] = []; for (const h of allHits) { diff --git a/scripts/wrap-bare-protocols.ts b/scripts/wrap-bare-protocols.ts index 5e421c4..35cd640 100644 --- a/scripts/wrap-bare-protocols.ts +++ b/scripts/wrap-bare-protocols.ts @@ -59,15 +59,7 @@ const PARSED_FIELDS = new Set([ 'oneLiner', 'transition' ]); -const SKIP_FIELDS = new Set([ - 'alt', - 'name', - 'title', - 'org', - 'label', - 'attribution', - 'authors' -]); +const SKIP_FIELDS = new Set(['alt', 'name', 'title', 'org', 'label', 'attribution', 'authors']); const dry = process.argv.includes('--dry'); @@ -242,7 +234,7 @@ for (const file of walk(DATA_DIR)) { // the longer surface (e.g. "HTTP/2" beats "HTTP" if both could ever // match the same place). Defensive โ€” should be rare for protocols // but the rule is uniform with the concept wrapper. - wrappable.sort((a, b) => (b.len - a.len) || (a.off - b.off)); + wrappable.sort((a, b) => b.len - a.len || a.off - b.off); const claimed: Array<[number, number]> = []; const nonOverlap: Hit[] = []; for (const h of wrappable) { diff --git a/scripts/wrap-bare-rfcs.ts b/scripts/wrap-bare-rfcs.ts index 31396c4..a23ae7b 100644 --- a/scripts/wrap-bare-rfcs.ts +++ b/scripts/wrap-bare-rfcs.ts @@ -232,11 +232,12 @@ for (const r of reports.filter((x) => x.touched > 0).sort((a, b) => b.touched - console.log('\nSkipped (sample):'); const skippedByReason = new Map<string, number>(); for (const r of reports) - for (const h of r.skipped) - skippedByReason.set(h.skip!, (skippedByReason.get(h.skip!) ?? 0) + 1); + for (const h of r.skipped) skippedByReason.set(h.skip!, (skippedByReason.get(h.skip!) ?? 0) + 1); for (const [reason, count] of skippedByReason) console.log(` ${reason}: ${count}`); const sampleUnwrappedField = reports - .flatMap((r) => r.skipped.filter((h) => h.skip === 'unwrappedField').map((h) => ({ ...h, file: r.file }))) + .flatMap((r) => + r.skipped.filter((h) => h.skip === 'unwrappedField').map((h) => ({ ...h, file: r.file })) + ) .slice(0, 8); for (const h of sampleUnwrappedField) { console.log(` ${h.file}:${h.line} field=${h.field} ${h.match}`); diff --git a/src/lib/components/comparison/ComparisonCard.svelte b/src/lib/components/comparison/ComparisonCard.svelte index 60543a0..771cb7d 100644 --- a/src/lib/components/comparison/ComparisonCard.svelte +++ b/src/lib/components/comparison/ComparisonCard.svelte @@ -66,10 +66,15 @@ <div class="overflow-hidden rounded-lg border border-s-border"> {#each diffs as diff, i (diff.aspect)} <div class="flex text-xs {i % 2 === 0 ? 'bg-s-glass' : 'bg-transparent'}"> - <div class="w-[30%] shrink-0 border-r border-s-border px-3 py-2 font-medium text-t-secondary"> + <div + class="w-[30%] shrink-0 border-r border-s-border px-3 py-2 font-medium text-t-secondary" + > {diff.aspect} </div> - <div class="w-[35%] border-r border-s-border px-3 py-2 text-t-primary" style="border-left-color: {leftColor}30"> + <div + class="w-[35%] border-r border-s-border px-3 py-2 text-t-primary" + style="border-left-color: {leftColor}30" + > <LinkedText text={diff.left} {color} /> </div> <div class="w-[35%] px-3 py-2 text-t-primary"> @@ -89,26 +94,26 @@ <!-- Performance Comparison --> <section> - <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase"> - Performance - </h3> + <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase">Performance</h3> <div class="space-y-2"> - {#each [ - { label: 'Latency', left: leftProto.performance.latency, right: rightProto.performance.latency }, - { label: 'Throughput', left: leftProto.performance.throughput, right: rightProto.performance.throughput }, - { label: 'Overhead', left: leftProto.performance.overhead, right: rightProto.performance.overhead } - ] as stat (stat.label)} + {#each [{ label: 'Latency', left: leftProto.performance.latency, right: rightProto.performance.latency }, { label: 'Throughput', left: leftProto.performance.throughput, right: rightProto.performance.throughput }, { label: 'Overhead', left: leftProto.performance.overhead, right: rightProto.performance.overhead }] as stat (stat.label)} <div class="rounded-lg border border-s-border bg-s-glass p-3"> - <div class="mb-1.5 text-center text-[10px] font-semibold tracking-wider text-t-muted uppercase"> + <div + class="mb-1.5 text-center text-[10px] font-semibold tracking-wider text-t-muted uppercase" + > {stat.label} </div> <div class="flex gap-3"> <div class="flex-1 rounded border border-s-border bg-s-glass px-2.5 py-1.5"> - <div class="mb-0.5 text-[10px] font-medium" style="color: {leftColor}">{leftProto.abbreviation}</div> + <div class="mb-0.5 text-[10px] font-medium" style="color: {leftColor}"> + {leftProto.abbreviation} + </div> <div class="text-[11px] leading-relaxed text-t-secondary">{stat.left}</div> </div> <div class="flex-1 rounded border border-s-border bg-s-glass px-2.5 py-1.5"> - <div class="mb-0.5 text-[10px] font-medium" style="color: {rightColor}">{rightProto.abbreviation}</div> + <div class="mb-0.5 text-[10px] font-medium" style="color: {rightColor}"> + {rightProto.abbreviation} + </div> <div class="text-[11px] leading-relaxed text-t-secondary">{stat.right}</div> </div> </div> @@ -120,31 +125,41 @@ <!-- When to Use --> {#if useLeftWhen && useRightWhen} <section> - <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase"> - When to Use - </h3> + <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase">When to Use</h3> <div class="space-y-3"> - <div class="rounded-lg border px-3 py-2.5" style="border-color: {leftColor}20; background-color: {leftColor}08"> + <div + class="rounded-lg border px-3 py-2.5" + style="border-color: {leftColor}20; background-color: {leftColor}08" + > <div class="mb-1.5 text-xs font-medium" style="color: {leftColor}"> Use {leftProto.abbreviation} when: </div> <ul class="space-y-1"> {#each useLeftWhen as bullet, i (i)} <li class="flex items-start gap-2 text-xs leading-relaxed text-t-primary"> - <span class="mt-1.5 h-1 w-1 shrink-0 rounded-full" style="background-color: {leftColor}"></span> + <span + class="mt-1.5 h-1 w-1 shrink-0 rounded-full" + style="background-color: {leftColor}" + ></span> <LinkedText text={bullet} {color} /> </li> {/each} </ul> </div> - <div class="rounded-lg border px-3 py-2.5" style="border-color: {rightColor}20; background-color: {rightColor}08"> + <div + class="rounded-lg border px-3 py-2.5" + style="border-color: {rightColor}20; background-color: {rightColor}08" + > <div class="mb-1.5 text-xs font-medium" style="color: {rightColor}"> Use {rightProto.abbreviation} when: </div> <ul class="space-y-1"> {#each useRightWhen as bullet, i (i)} <li class="flex items-start gap-2 text-xs leading-relaxed text-t-primary"> - <span class="mt-1.5 h-1 w-1 shrink-0 rounded-full" style="background-color: {rightColor}"></span> + <span + class="mt-1.5 h-1 w-1 shrink-0 rounded-full" + style="background-color: {rightColor}" + ></span> <LinkedText text={bullet} {color} /> </li> {/each} @@ -153,5 +168,4 @@ </div> </section> {/if} - </div> diff --git a/src/lib/components/comparison/ComparisonPicker.svelte b/src/lib/components/comparison/ComparisonPicker.svelte index c9c2aa5..045145c 100644 --- a/src/lib/components/comparison/ComparisonPicker.svelte +++ b/src/lib/components/comparison/ComparisonPicker.svelte @@ -16,14 +16,16 @@ const pairs = $derived(getPairsForProtocol(protocolId)); const allPairs = $derived( - [...pairs.vs, ...pairs.relationships].map((pair) => { - const otherId = getOtherProtocol(pair, protocolId); - const proto = getProtocolById(otherId); - const cat = proto ? getCategoryById(proto.categoryId) : null; - return { pair, proto, cat }; - }).filter((e) => e.proto) - // Deduplicate by proto ID โ€” prefer VS pairs (listed first) over relationship duplicates - .filter((e, i, arr) => arr.findIndex((x) => x.proto!.id === e.proto!.id) === i) + [...pairs.vs, ...pairs.relationships] + .map((pair) => { + const otherId = getOtherProtocol(pair, protocolId); + const proto = getProtocolById(otherId); + const cat = proto ? getCategoryById(proto.categoryId) : null; + return { pair, proto, cat }; + }) + .filter((e) => e.proto) + // Deduplicate by proto ID โ€” prefer VS pairs (listed first) over relationship duplicates + .filter((e, i, arr) => arr.findIndex((x) => x.proto!.id === e.proto!.id) === i) ); </script> @@ -35,14 +37,28 @@ onclick={() => (appState.compareTargetId = proto.id)} > <div class="flex items-baseline gap-2"> - <span class="text-sm font-medium" style="color: {themedDomColor(cat?.color ?? '#FFFFFF', appState.theme)}">{proto.abbreviation}</span> + <span + class="text-sm font-medium" + style="color: {themedDomColor(cat?.color ?? '#FFFFFF', appState.theme)}" + >{proto.abbreviation}</span + > <span class="text-[10px] text-t-muted">{proto.year}</span> - <span class="rounded-full px-1.5 py-0.5 text-[9px] font-medium" style="background-color: {pair.type === 'vs' ? color + '15' : 'rgb(255 255 255 / 0.04)'}; color: {pair.type === 'vs' ? color : 'rgb(148 163 184)'}"> + <span + class="rounded-full px-1.5 py-0.5 text-[9px] font-medium" + style="background-color: {pair.type === 'vs' + ? color + '15' + : 'rgb(255 255 255 / 0.04)'}; color: {pair.type === 'vs' + ? color + : 'rgb(148 163 184)'}" + > {pair.type === 'vs' ? 'vs' : 'works with'} </span> </div> <p class="text-xs leading-relaxed text-t-secondary"> - <LinkedText text={pair.summary} color={themedDomColor(cat?.color ?? color, appState.theme)} /> + <LinkedText + text={pair.summary} + color={themedDomColor(cat?.color ?? color, appState.theme)} + /> </p> </button> {/if} diff --git a/src/lib/components/comparison/RelationshipCard.svelte b/src/lib/components/comparison/RelationshipCard.svelte index daa4fa1..9947ece 100644 --- a/src/lib/components/comparison/RelationshipCard.svelte +++ b/src/lib/components/comparison/RelationshipCard.svelte @@ -59,7 +59,9 @@ <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase"> How They Work Together </h3> - <p class="text-xs leading-relaxed text-t-secondary"><LinkedText text={pair.howTheyWork} {color} /></p> + <p class="text-xs leading-relaxed text-t-secondary"> + <LinkedText text={pair.howTheyWork} {color} /> + </p> </section> {/if} @@ -71,19 +73,29 @@ </h3> <div class="space-y-2"> {#if leftRoleText} - <div class="rounded-lg border px-3 py-2.5" style="border-color: {leftColor}20; background-color: {leftColor}08"> + <div + class="rounded-lg border px-3 py-2.5" + style="border-color: {leftColor}20; background-color: {leftColor}08" + > <div class="mb-1 text-xs font-medium" style="color: {leftColor}"> {leftProto.abbreviation} </div> - <p class="text-xs leading-relaxed text-t-primary"><LinkedText text={leftRoleText} {color} /></p> + <p class="text-xs leading-relaxed text-t-primary"> + <LinkedText text={leftRoleText} {color} /> + </p> </div> {/if} {#if rightRoleText} - <div class="rounded-lg border px-3 py-2.5" style="border-color: {rightColor}20; background-color: {rightColor}08"> + <div + class="rounded-lg border px-3 py-2.5" + style="border-color: {rightColor}20; background-color: {rightColor}08" + > <div class="mb-1 text-xs font-medium" style="color: {rightColor}"> {rightProto.abbreviation} </div> - <p class="text-xs leading-relaxed text-t-primary"><LinkedText text={rightRoleText} {color} /></p> + <p class="text-xs leading-relaxed text-t-primary"> + <LinkedText text={rightRoleText} {color} /> + </p> </div> {/if} </div> @@ -92,26 +104,26 @@ <!-- Performance Comparison --> <section> - <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase"> - Performance - </h3> + <h3 class="mb-2 text-xs font-semibold tracking-wider text-t-muted uppercase">Performance</h3> <div class="space-y-2"> - {#each [ - { label: 'Latency', left: leftProto.performance.latency, right: rightProto.performance.latency }, - { label: 'Throughput', left: leftProto.performance.throughput, right: rightProto.performance.throughput }, - { label: 'Overhead', left: leftProto.performance.overhead, right: rightProto.performance.overhead } - ] as stat (stat.label)} + {#each [{ label: 'Latency', left: leftProto.performance.latency, right: rightProto.performance.latency }, { label: 'Throughput', left: leftProto.performance.throughput, right: rightProto.performance.throughput }, { label: 'Overhead', left: leftProto.performance.overhead, right: rightProto.performance.overhead }] as stat (stat.label)} <div class="rounded-lg border border-s-border bg-s-glass p-3"> - <div class="mb-1.5 text-center text-[10px] font-semibold tracking-wider text-t-muted uppercase"> + <div + class="mb-1.5 text-center text-[10px] font-semibold tracking-wider text-t-muted uppercase" + > {stat.label} </div> <div class="flex gap-3"> <div class="flex-1 rounded border border-s-border bg-s-glass px-2.5 py-1.5"> - <div class="mb-0.5 text-[10px] font-medium" style="color: {leftColor}">{leftProto.abbreviation}</div> + <div class="mb-0.5 text-[10px] font-medium" style="color: {leftColor}"> + {leftProto.abbreviation} + </div> <div class="text-[11px] leading-relaxed text-t-secondary">{stat.left}</div> </div> <div class="flex-1 rounded border border-s-border bg-s-glass px-2.5 py-1.5"> - <div class="mb-0.5 text-[10px] font-medium" style="color: {rightColor}">{rightProto.abbreviation}</div> + <div class="mb-0.5 text-[10px] font-medium" style="color: {rightColor}"> + {rightProto.abbreviation} + </div> <div class="text-[11px] leading-relaxed text-t-secondary">{stat.right}</div> </div> </div> @@ -119,5 +131,4 @@ {/each} </div> </section> - </div> diff --git a/src/lib/components/desktop/AppHeader.svelte b/src/lib/components/desktop/AppHeader.svelte index 1ce0e1e..daceac4 100644 --- a/src/lib/components/desktop/AppHeader.svelte +++ b/src/lib/components/desktop/AppHeader.svelte @@ -3,20 +3,48 @@ import SearchBar from '$lib/search/SearchBar.svelte'; import { getAppState } from '$lib/state/context'; - let { onhelp, onguide, panelOpen = false }: { onhelp?: () => void; onguide?: () => void; panelOpen?: boolean } = $props(); + let { + onhelp, + onguide, + panelOpen = false + }: { onhelp?: () => void; onguide?: () => void; panelOpen?: boolean } = $props(); const appState = getAppState(); const isLight = $derived(appState.theme === 'light'); </script> -<div class="absolute left-3 top-3 z-[55] flex items-center gap-1 md:left-4 md:top-4 md:gap-1.5"> +<div class="absolute top-3 left-3 z-[55] flex items-center gap-1 md:top-4 md:left-4 md:gap-1.5"> <!-- App branding --> <div class="flex items-center gap-2.5 px-1"> <!-- Network constellation icon --> <svg viewBox="0 0 20 20" class="h-5 w-5 shrink-0" fill="none"> <!-- Connecting lines (behind nodes) --> - <line x1="10" y1="8.5" x2="10" y2="5" stroke={isLight ? '#16A34A' : '#6ee7b7'} stroke-width="1.2" opacity={isLight ? 0.7 : 0.5} /> - <line x1="8.8" y1="10.8" x2="5.6" y2="12.3" stroke={isLight ? '#7C3AED' : '#c4b5fd'} stroke-width="1.2" opacity={isLight ? 0.7 : 0.5} /> - <line x1="11.2" y1="10.8" x2="14.4" y2="12.3" stroke={isLight ? '#0284C7' : '#7dd3fc'} stroke-width="1.2" opacity={isLight ? 0.7 : 0.5} /> + <line + x1="10" + y1="8.5" + x2="10" + y2="5" + stroke={isLight ? '#16A34A' : '#6ee7b7'} + stroke-width="1.2" + opacity={isLight ? 0.7 : 0.5} + /> + <line + x1="8.8" + y1="10.8" + x2="5.6" + y2="12.3" + stroke={isLight ? '#7C3AED' : '#c4b5fd'} + stroke-width="1.2" + opacity={isLight ? 0.7 : 0.5} + /> + <line + x1="11.2" + y1="10.8" + x2="14.4" + y2="12.3" + stroke={isLight ? '#0284C7' : '#7dd3fc'} + stroke-width="1.2" + opacity={isLight ? 0.7 : 0.5} + /> <!-- Outer nodes โ€” equilateral triangle --> <circle cx="10" cy="3" r="2" fill={isLight ? '#16A34A' : '#6ee7b7'} /> <circle cx="4" cy="13.5" r="2" fill={isLight ? '#7C3AED' : '#c4b5fd'} /> diff --git a/src/lib/components/desktop/GraphCanvas.svelte b/src/lib/components/desktop/GraphCanvas.svelte index e274b5a..40afbb9 100644 --- a/src/lib/components/desktop/GraphCanvas.svelte +++ b/src/lib/components/desktop/GraphCanvas.svelte @@ -1,14 +1,27 @@ <script lang="ts"> import { onMount, untrack } from 'svelte'; import { prefersReducedMotion } from 'svelte/motion'; - import { buildGraphNodes, buildGraphEdges, buildMeshEdges, getProtocolById, allProtocols, categories, subcategories } from '$lib/data/index'; + import { + buildGraphNodes, + buildGraphEdges, + buildMeshEdges, + getProtocolById, + allProtocols, + categories, + subcategories + } from '$lib/data/index'; import type { GraphNode } from '$lib/data/types'; import { createSimulation, warmUpSimulation, syncPositions } from '$lib/engine/simulation'; import { render, findNodeAtPosition } from '$lib/engine/canvas-renderer'; import { RenderLoop } from '$lib/engine/render-loop.svelte'; import { getAppState } from '$lib/state/context'; - import { computeRadialPositions, computeTimelinePositions, computeMeshPositions, TIMELINE_PARAMS } from '$lib/engine/layouts'; + import { + computeRadialPositions, + computeTimelinePositions, + computeMeshPositions, + TIMELINE_PARAMS + } from '$lib/engine/layouts'; import type { LayoutMode } from '$lib/engine/layouts'; import { getThemeColors } from '$lib/utils/colors'; import { navigateToNode, navigateToHub } from '$lib/utils/navigation'; @@ -90,7 +103,7 @@ h ^= id.charCodeAt(i); h = Math.imul(h, 0x01000193); } - return ((h >>> 0) % 1000) / 1000 * BLOOM_JITTER_MAX_MS; + return (((h >>> 0) % 1000) / 1000) * BLOOM_JITTER_MAX_MS; } function computeChronologicalDelays(): Map<string, number> { @@ -160,7 +173,7 @@ h ^= id.charCodeAt(i); h = Math.imul(h, 0x01000193); } - return ((h >>> 0) % 1000) / 1000 * SPRING_STAGGER_MAX_MS; + return (((h >>> 0) % 1000) / 1000) * SPRING_STAGGER_MAX_MS; } /** @@ -251,14 +264,14 @@ function isPanelOccupied(): boolean { return Boolean( appState.selectedNode || - appState.activeBookChapter || - appState.activeBookPart || - appState.activeBookPartToc || - appState.activePioneer || - appState.activeRfc || - appState.activeOutage || - appState.activeFrontier || - appState.activeRegistryIndex + appState.activeBookChapter || + appState.activeBookPart || + appState.activeBookPartToc || + appState.activePioneer || + appState.activeRfc || + appState.activeOutage || + appState.activeFrontier || + appState.activeRegistryIndex ); } @@ -297,13 +310,13 @@ $effect(() => { const open = Boolean( appState.activeBookChapter || - appState.activeBookPart || - appState.activeBookPartToc || - appState.activePioneer || - appState.activeRfc || - appState.activeOutage || - appState.activeFrontier || - appState.activeRegistryIndex + appState.activeBookPart || + appState.activeBookPartToc || + appState.activePioneer || + appState.activeRfc || + appState.activeOutage || + appState.activeFrontier || + appState.activeRegistryIndex ); const selected = appState.selectedNode; @@ -426,12 +439,7 @@ const t = forceTargets.get(n.id); return t ? { ...n, x: t.x, y: t.y } : n; }); - appState.focusOnSubgraph( - targetNodes, - width, - height, - isPanelOccupied() ? undefined : 0 - ); + appState.focusOnSubgraph(targetNodes, width, height, isPanelOccupied() ? undefined : 0); } else { layoutTargets = null; springStates.clear(); @@ -461,12 +469,7 @@ mode === 'mesh' ? targetNodes.filter((n) => n.type === 'protocol' || n.type === 'subcategory') : targetNodes; - appState.focusOnSubgraph( - focusNodes, - width, - height, - isPanelOccupied() ? undefined : 0 - ); + appState.focusOnSubgraph(focusNodes, width, height, isPanelOccupied() ? undefined : 0); }); } prevLayout = mode; @@ -598,10 +601,7 @@ ); if (dist < 10) { // Tap โ€” select node or reset to default - const world = screenToWorld( - e.changedTouches[0].clientX, - e.changedTouches[0].clientY - ); + const world = screenToWorld(e.changedTouches[0].clientX, e.changedTouches[0].clientY); const node = findNodeAtPosition(hitNodes(), world.x, world.y, appState.viewport.scale); if (node) { navigateToNode(node); @@ -739,11 +739,11 @@ if (!bloomSpawned.has(node.id)) { bloomSpawned.add(node.id); const parentId = - node.type === 'category' - ? 'hub' - : node.type === 'subcategory' - ? node.categoryId - : (node.subcategoryId ?? node.categoryId); + node.type === 'category' + ? 'hub' + : node.type === 'subcategory' + ? node.categoryId + : (node.subcategoryId ?? node.categoryId); const parent = parentId ? nodes.find((n) => n.id === parentId) : undefined; const px = parent?.x ?? 0; const py = parent?.y ?? 0; @@ -758,10 +758,8 @@ // Critically-damped spring โ†’ smooth glide to target. for (let s = 0; s < SUBSTEPS; s++) { - const ax = - BLOOM_SPRING_STIFFNESS * (target.x - node.x) - BLOOM_SPRING_DAMPING * vel.vx; - const ay = - BLOOM_SPRING_STIFFNESS * (target.y - node.y) - BLOOM_SPRING_DAMPING * vel.vy; + const ax = BLOOM_SPRING_STIFFNESS * (target.x - node.x) - BLOOM_SPRING_DAMPING * vel.vx; + const ay = BLOOM_SPRING_STIFFNESS * (target.y - node.y) - BLOOM_SPRING_DAMPING * vel.vy; vel.vx += ax * subDt; vel.vy += ay * subDt; node.x += vel.vx * subDt; diff --git a/src/lib/components/desktop/HelpModal.svelte b/src/lib/components/desktop/HelpModal.svelte index 46e0912..db93326 100644 --- a/src/lib/components/desktop/HelpModal.svelte +++ b/src/lib/components/desktop/HelpModal.svelte @@ -8,22 +8,45 @@ role="dialog" aria-modal="true" > - <div class="relative mx-4 max-w-md rounded-2xl border border-s-border bg-bg-deep/95 p-6 shadow-2xl backdrop-blur-xl"> + <div + class="relative mx-4 max-w-md rounded-2xl border border-s-border bg-bg-deep/95 p-6 shadow-2xl backdrop-blur-xl" + > <button class="absolute top-3 right-3 flex h-7 w-7 items-center justify-center rounded-lg text-t-secondary transition-colors hover:bg-s-glass-hover hover:text-t-primary" onclick={onclose} aria-label="Close" > <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> + <path + stroke-linecap="round" + stroke-linejoin="round" + stroke-width="2" + d="M6 18L18 6M6 6l12 12" + /> </svg> </button> <h2 class="text-lg font-bold text-t-primary">Keyboard Shortcuts</h2> <div class="mt-4 space-y-2 text-sm text-t-primary"> - <div class="flex justify-between"><span>Zoom in/out</span><kbd class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Scroll</kbd></div> - <div class="flex justify-between"><span>Pan</span><kbd class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Drag</kbd></div> - <div class="flex justify-between"><span>Select node</span><kbd class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Click</kbd></div> - <div class="flex justify-between"><span>Deselect</span><kbd class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Click empty</kbd></div> + <div class="flex justify-between"> + <span>Zoom in/out</span><kbd + class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Scroll</kbd + > + </div> + <div class="flex justify-between"> + <span>Pan</span><kbd class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary" + >Drag</kbd + > + </div> + <div class="flex justify-between"> + <span>Select node</span><kbd + class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Click</kbd + > + </div> + <div class="flex justify-between"> + <span>Deselect</span><kbd + class="rounded bg-s-glass px-1.5 py-0.5 text-xs text-t-secondary">Click empty</kbd + > + </div> </div> </div> </div> diff --git a/src/lib/components/desktop/LayoutPicker.svelte b/src/lib/components/desktop/LayoutPicker.svelte index 41ce44f..06ce00a 100644 --- a/src/lib/components/desktop/LayoutPicker.svelte +++ b/src/lib/components/desktop/LayoutPicker.svelte @@ -40,7 +40,10 @@ ></button> {/if} -<div class="layout-picker absolute bottom-3 left-3 z-40 flex items-center gap-1.5 md:bottom-4 md:left-4 md:gap-2" data-tour="layout-picker"> +<div + class="layout-picker absolute bottom-3 left-3 z-40 flex items-center gap-1.5 md:bottom-4 md:left-4 md:gap-2" + data-tour="layout-picker" +> <!-- Compact zoom controls --> <div class="flex items-center gap-0.5 rounded-full border border-s-border bg-bg-deep/80 p-0.5 shadow-lg backdrop-blur-xl" @@ -72,55 +75,61 @@ <!-- Layout selector wrapper (relative for dropdown positioning) --> <div class="relative"> - <!-- Floating menu โ€” opens upward --> - {#if open} - <div - class="absolute bottom-full left-0 mb-2 overflow-hidden rounded-xl border border-s-border bg-bg-deep/95 shadow-2xl backdrop-blur-xl" - role="menu" + <!-- Floating menu โ€” opens upward --> + {#if open} + <div + class="absolute bottom-full left-0 mb-2 overflow-hidden rounded-xl border border-s-border bg-bg-deep/95 shadow-2xl backdrop-blur-xl" + role="menu" + > + {#each layouts as layout (layout.id)} + {@const isActive = appState.layoutMode === layout.id} + <button + class="flex w-full items-center gap-2.5 px-4 py-2.5 text-left text-xs transition-colors {isActive + ? 'bg-s-glass text-t-primary' + : 'text-t-secondary hover:bg-s-glass-hover hover:text-t-primary'}" + onclick={() => select(layout.id)} + role="menuitem" + > + <!-- Icon โ€” shared with the guided tour via $lib/utils/layout-icons --> + <span class="layout-glyph flex h-4 w-4 shrink-0 items-center justify-center opacity-70"> + <!-- Trusted static SVG markup from $lib/utils/layout-icons --> + <!-- eslint-disable-next-line svelte/no-at-html-tags --> + {@html LAYOUT_ICON_SVG[layout.id]} + </span> + <span class="w-16 font-medium tracking-wide">{layout.label}</span> + {#if isActive} + <svg + viewBox="0 0 16 16" + class="ml-auto h-3 w-3 shrink-0 text-t-primary" + fill="currentColor" + > + <path + d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0z" + /> + </svg> + {/if} + </button> + {/each} + </div> + {/if} + + <!-- Trigger pill โ€” icon mirrors whichever layout is currently active --> + <button + class="flex items-center gap-2 rounded-full border border-s-border bg-bg-deep/80 px-3.5 py-1.5 text-xs font-medium text-t-primary shadow-lg backdrop-blur-xl transition-colors hover:border-s-border hover:text-t-primary" + onclick={() => (open = !open)} + aria-haspopup="true" + aria-expanded={open} > - {#each layouts as layout (layout.id)} - {@const isActive = appState.layoutMode === layout.id} - <button - class="flex w-full items-center gap-2.5 px-4 py-2.5 text-left text-xs transition-colors {isActive - ? 'bg-s-glass text-t-primary' - : 'text-t-secondary hover:bg-s-glass-hover hover:text-t-primary'}" - onclick={() => select(layout.id)} - role="menuitem" - > - <!-- Icon โ€” shared with the guided tour via $lib/utils/layout-icons --> - <span class="layout-glyph flex h-4 w-4 shrink-0 items-center justify-center opacity-70"> - <!-- Trusted static SVG markup from $lib/utils/layout-icons --> - <!-- eslint-disable-next-line svelte/no-at-html-tags --> - {@html LAYOUT_ICON_SVG[layout.id]} - </span> - <span class="w-16 font-medium tracking-wide">{layout.label}</span> - {#if isActive} - <svg viewBox="0 0 16 16" class="ml-auto h-3 w-3 shrink-0 text-t-primary" fill="currentColor"> - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0z"/> - </svg> - {/if} - </button> - {/each} - </div> - {/if} - - <!-- Trigger pill โ€” icon mirrors whichever layout is currently active --> - <button - class="flex items-center gap-2 rounded-full border border-s-border bg-bg-deep/80 px-3.5 py-1.5 text-xs font-medium text-t-primary shadow-lg backdrop-blur-xl transition-colors hover:border-s-border hover:text-t-primary" - onclick={() => (open = !open)} - aria-haspopup="true" - aria-expanded={open} - > - <span class="layout-glyph flex h-3.5 w-3.5 shrink-0 items-center justify-center opacity-70"> - <!-- Trusted static SVG markup from $lib/utils/layout-icons --> - <!-- eslint-disable-next-line svelte/no-at-html-tags --> - {@html LAYOUT_ICON_SVG[appState.layoutMode]} - </span> - <span>{layouts.find((l) => l.id === appState.layoutMode)?.label ?? 'Layout'}</span> - <span class="opacity-50 transition-transform" class:rotate-180={open}> - <ChevronUp size={12} strokeWidth={2} /> - </span> - </button> + <span class="layout-glyph flex h-3.5 w-3.5 shrink-0 items-center justify-center opacity-70"> + <!-- Trusted static SVG markup from $lib/utils/layout-icons --> + <!-- eslint-disable-next-line svelte/no-at-html-tags --> + {@html LAYOUT_ICON_SVG[appState.layoutMode]} + </span> + <span>{layouts.find((l) => l.id === appState.layoutMode)?.label ?? 'Layout'}</span> + <span class="opacity-50 transition-transform" class:rotate-180={open}> + <ChevronUp size={12} strokeWidth={2} /> + </span> + </button> </div> <!-- Theme toggle --> @@ -135,7 +144,9 @@ aria-label="View on GitHub" > <svg viewBox="0 0 16 16" class="h-3.5 w-3.5" fill="currentColor"> - <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/> + <path + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" + /> </svg> </a> </div> diff --git a/src/lib/components/desktop/NodeTooltip.svelte b/src/lib/components/desktop/NodeTooltip.svelte index c9eff7e..0dbe7b8 100644 --- a/src/lib/components/desktop/NodeTooltip.svelte +++ b/src/lib/components/desktop/NodeTooltip.svelte @@ -150,7 +150,10 @@ </div> {#if hoveredInfo.nameSegments} <p class="mt-0.5 text-[11px] text-t-secondary"> - {#each hoveredInfo.nameSegments as seg, k (k)}{#if seg.highlight}<span class="font-bold" style="color: {tc(hoveredInfo.color)}">{seg.text}</span>{:else}{seg.text}{/if}{/each} + {#each hoveredInfo.nameSegments as seg, k (k)}{#if seg.highlight}<span + class="font-bold" + style="color: {tc(hoveredInfo.color)}">{seg.text}</span + >{:else}{seg.text}{/if}{/each} </p> {/if} <p class="mt-1 text-xs leading-relaxed text-t-primary">{hoveredInfo.description}</p> diff --git a/src/lib/components/detail/BookPartView.svelte b/src/lib/components/detail/BookPartView.svelte index 0810244..0a97911 100644 --- a/src/lib/components/detail/BookPartView.svelte +++ b/src/lib/components/detail/BookPartView.svelte @@ -76,10 +76,7 @@ > Part {part.label ?? ''} </div> - <h1 - class="mt-2 text-2xl leading-tight font-bold tracking-tight" - style="color: {accent};" - > + <h1 class="mt-2 text-2xl leading-tight font-bold tracking-tight" style="color: {accent};"> {part.title} </h1> {#if part.description} @@ -99,9 +96,7 @@ style="border-color: {accent}30;" onclick={() => navigateToBookChapter(part.id, chapter.id)} > - <span - class="shrink-0 font-mono text-[10px] tabular-nums" - style="color: {accent};" + <span class="shrink-0 font-mono text-[10px] tabular-nums" style="color: {accent};" >{(i + 1).toString().padStart(2, '0')}</span > <div class="min-w-0 flex-1"> @@ -122,7 +117,7 @@ <div class="flex items-baseline gap-3 rounded-lg border border-dashed border-s-border/60 px-3 py-2.5" > - <span class="shrink-0 font-mono text-[10px] tabular-nums text-t-muted/60" + <span class="shrink-0 font-mono text-[10px] text-t-muted/60 tabular-nums" >{(i + 1).toString().padStart(2, '0')}</span > <div class="min-w-0 flex-1 opacity-70"> @@ -135,8 +130,7 @@ </div> <span class="shrink-0 rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider text-t-muted/70 uppercase" - style="background-color: rgba(148, 163, 184, 0.1);" - >Coming soon</span + style="background-color: rgba(148, 163, 184, 0.1);">Coming soon</span > </div> {/if} diff --git a/src/lib/components/detail/CategoryAdvancedView.svelte b/src/lib/components/detail/CategoryAdvancedView.svelte index c77d71f..1a11394 100644 --- a/src/lib/components/detail/CategoryAdvancedView.svelte +++ b/src/lib/components/detail/CategoryAdvancedView.svelte @@ -14,14 +14,14 @@ <div class="flex flex-col gap-5"> {#each deepDive.sections as section, i (i)} {#if section.type === 'narrative'} - <StoryNarrative text={section.text} color={color} title={section.title} /> + <StoryNarrative text={section.text} {color} title={section.title} /> {:else if section.type === 'callout'} - <StoryCallout title={section.title} text={section.text} color={color} /> + <StoryCallout title={section.title} text={section.text} {color} /> {:else if section.type === 'diagram'} <StoryDiagram definition={section.definition} caption={section.caption} - color={color} + {color} title={section.title} /> {/if} diff --git a/src/lib/components/detail/CategoryReferences.svelte b/src/lib/components/detail/CategoryReferences.svelte index d10adc4..bf2e941 100644 --- a/src/lib/components/detail/CategoryReferences.svelte +++ b/src/lib/components/detail/CategoryReferences.svelte @@ -132,9 +132,8 @@ class="flex items-baseline gap-3 rounded-lg border border-s-border bg-s-glass px-3 py-1.5 text-left transition-all hover:bg-s-glass-hover" onclick={() => navigateToRfc(r.number)} > - <code - class="shrink-0 rounded font-mono text-[11px] font-bold" - style="color: {color};">RFC {r.number}</code + <code class="shrink-0 rounded font-mono text-[11px] font-bold" style="color: {color};" + >RFC {r.number}</code > <span class="flex-1 text-xs text-t-primary">{r.title}</span> <span class="shrink-0 text-[10px] text-t-muted tabular-nums">{r.year}</span> diff --git a/src/lib/components/detail/ChapterView.svelte b/src/lib/components/detail/ChapterView.svelte index 286ba96..9ae2ac9 100644 --- a/src/lib/components/detail/ChapterView.svelte +++ b/src/lib/components/detail/ChapterView.svelte @@ -110,7 +110,8 @@ style="color: {ACCENT};" onclick={() => navigateToBookPart(partId)} > - {partLabel(partId)}{#if part} โ€” {part.title}{/if} + {partLabel(partId)}{#if part} + โ€” {part.title}{/if} </button> {#if currentIndex >= 0} <span>ยท</span> @@ -151,11 +152,7 @@ title={storySection.title} /> {:else if storySection.type === 'callout'} - <StoryCallout - title={storySection.title} - text={storySection.text} - color={ACCENT} - /> + <StoryCallout title={storySection.title} text={storySection.text} color={ACCENT} /> {:else if storySection.type === 'diagram'} <StoryDiagram definition={storySection.definition} @@ -186,17 +183,9 @@ {:else if slot.kind === 'prose'} {#each slot.sections as storySection, j (`prose-${i}-${j}`)} {#if storySection.type === 'narrative'} - <StoryNarrative - text={storySection.text} - color={ACCENT} - title={storySection.title} - /> + <StoryNarrative text={storySection.text} color={ACCENT} title={storySection.title} /> {:else if storySection.type === 'callout'} - <StoryCallout - title={storySection.title} - text={storySection.text} - color={ACCENT} - /> + <StoryCallout title={storySection.title} text={storySection.text} color={ACCENT} /> {:else if storySection.type === 'diagram'} <StoryDiagram definition={storySection.definition} @@ -216,18 +205,11 @@ {:else if storySection.type === 'timeline'} <StoryTimeline entries={storySection.entries} color={ACCENT} /> {:else if storySection.type === 'pioneers'} - <PioneerGrid - people={storySection.people} - color={ACCENT} - title={storySection.title} - /> + <PioneerGrid people={storySection.people} color={ACCENT} title={storySection.title} /> {/if} {/each} {:else if slot.kind === 'pull-quote'} - <aside - class="my-2 border-l-2 pl-4" - style="border-color: {ACCENT};" - > + <aside class="my-2 border-l-2 pl-4" style="border-color: {ACCENT};"> <blockquote class="text-base leading-relaxed font-medium text-t-primary italic" style="color: {ACCENT};" @@ -258,13 +240,9 @@ <div class="min-w-0 flex-1"> <div class="flex items-baseline gap-2"> <div class="text-sm font-semibold text-t-primary">{proto.name}</div> - <div class="text-[10px] tracking-wider text-t-muted uppercase"> - open protocol - </div> + <div class="text-[10px] tracking-wider text-t-muted uppercase">open protocol</div> </div> - <div - class="mt-0.5 line-clamp-2 text-[12px] leading-relaxed text-t-secondary" - > + <div class="mt-0.5 line-clamp-2 text-[12px] leading-relaxed text-t-secondary"> <RichText segments={parseRichText(proto.oneLiner)} color={ACCENT} /> </div> </div> @@ -289,7 +267,10 @@ > <PlayCircle size={28} style="color: {pc};" /> <div class="min-w-0 flex-1"> - <div class="text-[10px] font-semibold tracking-wider uppercase" style="color: {pc};"> + <div + class="text-[10px] font-semibold tracking-wider uppercase" + style="color: {pc};" + > Try the simulation </div> <div class="text-sm font-semibold text-t-primary"> @@ -316,7 +297,10 @@ <AlertTriangle size={20} class="mt-0.5 shrink-0" style="color: #fb923c;" /> <div class="min-w-0 flex-1"> <div class="flex items-baseline gap-2"> - <div class="text-[10px] font-semibold tracking-wider uppercase" style="color: #fb923c;"> + <div + class="text-[10px] font-semibold tracking-wider uppercase" + style="color: #fb923c;" + > Famous outage ยท {outage.date ?? ''} </div> </div> @@ -380,7 +364,10 @@ > <Compass size={20} class="mt-0.5 shrink-0" style="color: #a78bfa;" /> <div class="min-w-0 flex-1"> - <div class="text-[10px] font-semibold tracking-wider uppercase" style="color: #a78bfa;"> + <div + class="text-[10px] font-semibold tracking-wider uppercase" + style="color: #a78bfa;" + > Frontier ยท {fe.status} </div> <div class="text-sm font-semibold text-t-primary">{fe.title}</div> @@ -403,13 +390,16 @@ > <FileText size={20} class="mt-0.5 shrink-0" style="color: {ACCENT};" /> <div class="min-w-0 flex-1"> - <div class="text-[10px] font-semibold tracking-wider uppercase" style="color: {ACCENT};"> + <div + class="text-[10px] font-semibold tracking-wider uppercase" + style="color: {ACCENT};" + > RFC {rfc.number} ยท {rfc.year} </div> <div class="text-sm font-semibold text-t-primary">{rfc.title}</div> <div class="mt-0.5 text-[11px] tracking-wide text-t-muted"> {rfc.status}{#if rfc.authors} - ยท {rfc.authors}{/if} + ยท {rfc.authors}{/if} </div> </div> <ArrowRight @@ -428,7 +418,10 @@ class="rounded-xl border p-3.5" style="border-color: {ACCENT}66; background-color: {ACCENT}08;" > - <div class="mb-2 flex items-center gap-1.5 text-[10px] font-semibold tracking-wider uppercase" style="color: {ACCENT};"> + <div + class="mb-2 flex items-center gap-1.5 text-[10px] font-semibold tracking-wider uppercase" + style="color: {ACCENT};" + > <ArrowLeftRight size={11} /> Compare </div> diff --git a/src/lib/components/detail/CodeExample.svelte b/src/lib/components/detail/CodeExample.svelte index 31b6ae3..7a07e52 100644 --- a/src/lib/components/detail/CodeExample.svelte +++ b/src/lib/components/detail/CodeExample.svelte @@ -26,9 +26,8 @@ let activeTab = $state(0); const tabs = $derived.by(() => { - const list: { language: string; code: string; sections?: { title: string; code: string }[] }[] = [ - { language: example.language, code: example.code } - ]; + const list: { language: string; code: string; sections?: { title: string; code: string }[] }[] = + [{ language: example.language, code: example.code }]; if (example.alternatives) { for (const alt of example.alternatives) { list.push(alt); @@ -125,15 +124,19 @@ class="code-block overflow-hidden rounded-xl border bg-[var(--theme-code-bg)]" style="border-color: {color}25;" > - <div class="flex items-center justify-between border-b px-3 py-2" style="border-color: {color}20;"> + <div + class="flex items-center justify-between border-b px-3 py-2" + style="border-color: {color}20;" + > {#if tabs.length > 1} <div class="flex gap-1"> {#each tabs as tab, i (tab.language)} <button - class="rounded-md px-2.5 py-1 text-[10px] font-medium tracking-wider uppercase transition-colors {activeTab !== i ? 'text-t-muted hover:bg-s-glass-hover hover:text-t-primary' : ''}" - style={activeTab === i - ? `background-color: ${color}18; color: ${color}` - : ''} + class="rounded-md px-2.5 py-1 text-[10px] font-medium tracking-wider uppercase transition-colors {activeTab !== + i + ? 'text-t-muted hover:bg-s-glass-hover hover:text-t-primary' + : ''}" + style={activeTab === i ? `background-color: ${color}18; color: ${color}` : ''} onclick={() => (activeTab = i)} > {displayLang(tab.language)} @@ -182,7 +185,10 @@ > {section.title} </div> - <pre class="custom-scrollbar overflow-x-auto px-3 py-2 text-[11px] leading-5 text-t-primary"><code class="hljs">{@html section.html}</code></pre> + <pre + class="custom-scrollbar overflow-x-auto px-3 py-2 text-[11px] leading-5 text-t-primary"><code + class="hljs">{@html section.html}</code + ></pre> </div> {#if i < highlightedSections.length - 1} <div style="border-bottom: 1px solid {color}12;"></div> diff --git a/src/lib/components/detail/ConceptTrigger.svelte b/src/lib/components/detail/ConceptTrigger.svelte index 371b490..e436c47 100644 --- a/src/lib/components/detail/ConceptTrigger.svelte +++ b/src/lib/components/detail/ConceptTrigger.svelte @@ -47,12 +47,26 @@ <button bind:this={triggerEl} - class="concept-trigger inline cursor-help border-b-[1.5px] border-dotted text-t-primary transition-all {bold ? 'font-semibold' : ''}" + class="concept-trigger inline cursor-help border-b-[1.5px] border-dotted text-t-primary transition-all {bold + ? 'font-semibold' + : ''}" style="border-bottom-color: {isLight ? '#0284c7' : 'rgba(56, 189, 248, 0.7)'};" - onmouseenter={(e) => { applyHoverStyle(e.currentTarget); showTooltip(); }} - onmouseleave={(e) => { clearHoverStyle(e.currentTarget); scheduleHide(); }} - onfocus={(e) => { applyHoverStyle(e.currentTarget); showTooltip(); }} - onblur={(e) => { clearHoverStyle(e.currentTarget); scheduleHide(); }} + onmouseenter={(e) => { + applyHoverStyle(e.currentTarget); + showTooltip(); + }} + onmouseleave={(e) => { + clearHoverStyle(e.currentTarget); + scheduleHide(); + }} + onfocus={(e) => { + applyHoverStyle(e.currentTarget); + showTooltip(); + }} + onblur={(e) => { + clearHoverStyle(e.currentTarget); + scheduleHide(); + }} onclick={handleClick} > {label} diff --git a/src/lib/components/detail/DetailPanel.svelte b/src/lib/components/detail/DetailPanel.svelte index e4445cd..f095144 100644 --- a/src/lib/components/detail/DetailPanel.svelte +++ b/src/lib/components/detail/DetailPanel.svelte @@ -248,7 +248,7 @@ <!-- Content layer --> <div - class="custom-scrollbar relative flex w-full min-h-0 flex-1 flex-col overflow-y-auto" + class="custom-scrollbar relative flex min-h-0 w-full flex-1 flex-col overflow-y-auto" bind:this={scrollerEl} > {#if appState.activeJourney} @@ -259,10 +259,7 @@ {#if appState.activeBookChapter && appState.activeBookPart} <div class="p-6"> - <ChapterView - partId={appState.activeBookPart} - chapterId={appState.activeBookChapter} - /> + <ChapterView partId={appState.activeBookPart} chapterId={appState.activeBookChapter} /> </div> {:else if appState.activePioneer} <div class="p-6"> @@ -328,7 +325,9 @@ <h3 class="text-xs font-semibold tracking-wider text-t-muted uppercase"> The book โ€” thirteen parts </h3> - <span class="text-[10px] text-t-muted">{totalChapters} chapters ยท jump in anywhere</span> + <span class="text-[10px] text-t-muted" + >{totalChapters} chapters ยท jump in anywhere</span + > </div> <div data-tour="book-toc" class="space-y-1.5"> {#each bookParts as part (part.id)} @@ -347,7 +346,7 @@ <div class="min-w-0 flex-1"> <div class="flex items-baseline justify-between gap-2"> <div class="text-sm font-semibold text-t-primary">{part.title}</div> - <span class="shrink-0 font-mono text-[10px] tabular-nums text-t-muted" + <span class="shrink-0 font-mono text-[10px] text-t-muted tabular-nums" >{part.chapters.length} ch</span > </div> @@ -388,7 +387,9 @@ </span> <div class="min-w-0"> <div class="text-sm font-medium text-t-primary">Pioneers</div> - <div class="text-[10px] text-t-muted">{pioneers.length} architects of the field</div> + <div class="text-[10px] text-t-muted"> + {pioneers.length} architects of the field + </div> </div> </button> <button @@ -433,7 +434,9 @@ </span> <div class="min-w-0"> <div class="text-sm font-medium text-t-primary">The Frontier</div> - <div class="text-[10px] text-t-muted">{frontierEntries.length} developments, 2024-2026</div> + <div class="text-[10px] text-t-muted"> + {frontierEntries.length} developments, 2024-2026 + </div> </div> </button> </div> @@ -467,10 +470,7 @@ <span class="ml-1 text-[10px] text-t-muted">{count} protocols</span> </div> <div class="mt-0.5 text-xs text-t-secondary"> - <RichText - segments={parseRichText(cat.description)} - color={dc(cat.color)} - /> + <RichText segments={parseRichText(cat.description)} color={dc(cat.color)} /> </div> </div> </button> @@ -654,8 +654,8 @@ <span class="text-[10px] text-t-muted">{proto.year}</span> </div> <div class="text-xs text-t-secondary"> - <RichText segments={parseRichText(proto.oneLiner)} {color} /> - </div> + <RichText segments={parseRichText(proto.oneLiner)} {color} /> + </div> </button> {/each} </div> @@ -725,7 +725,9 @@ onclick={() => navigateToProtocol(proto.id)} > <div class="flex items-baseline gap-2"> - <span class="text-sm font-medium" style="color: {color}">{proto.abbreviation}</span> + <span class="text-sm font-medium" style="color: {color}" + >{proto.abbreviation}</span + > <span class="text-[10px] text-t-muted">{proto.year}</span> </div> <div class="text-xs text-t-secondary"> diff --git a/src/lib/components/detail/DiagramModal.svelte b/src/lib/components/detail/DiagramModal.svelte index 97c6970..3b1c53c 100644 --- a/src/lib/components/detail/DiagramModal.svelte +++ b/src/lib/components/detail/DiagramModal.svelte @@ -46,14 +46,18 @@ onclick={handleBackdropClick} > <!-- Backdrop --> - <div class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md"></div> + <div + class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md" + ></div> <!-- Modal card --> <div - class="modal-card relative z-10 flex max-h-[96vh] sm:max-h-[92vh] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-s-border bg-bg-deep shadow-2xl" + class="modal-card relative z-10 flex max-h-[96vh] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-s-border bg-bg-deep shadow-2xl sm:max-h-[92vh]" > <!-- Header --> - <div class="flex shrink-0 items-center justify-between border-b border-s-border px-4 py-3 sm:px-6 sm:py-4"> + <div + class="flex shrink-0 items-center justify-between border-b border-s-border px-4 py-3 sm:px-6 sm:py-4" + > <div class="flex items-center gap-2 sm:gap-3"> <div class="h-2 w-2 rounded-full" style="background-color: {color}"></div> <h3 class="text-sm font-semibold text-t-primary sm:text-base"> @@ -67,7 +71,12 @@ aria-label="Close" > <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> + <path + stroke-linecap="round" + stroke-linejoin="round" + stroke-width="2" + d="M6 18L18 6M6 6l12 12" + /> </svg> </button> </div> diff --git a/src/lib/components/detail/FrontierView.svelte b/src/lib/components/detail/FrontierView.svelte index 05daf86..d9047c1 100644 --- a/src/lib/components/detail/FrontierView.svelte +++ b/src/lib/components/detail/FrontierView.svelte @@ -63,10 +63,7 @@ {STATUS_LABEL[entry.status] ?? entry.status} <span class="opacity-70">ยท {entry.date}</span> </div> - <h1 - class="mt-2 text-xl leading-tight font-bold tracking-tight" - style="color: {ACCENT};" - > + <h1 class="mt-2 text-xl leading-tight font-bold tracking-tight" style="color: {ACCENT};"> {entry.title} </h1> <p class="mt-2 text-sm leading-relaxed text-t-primary italic"> diff --git a/src/lib/components/detail/GlossaryView.svelte b/src/lib/components/detail/GlossaryView.svelte index 71155ad..2408749 100644 --- a/src/lib/components/detail/GlossaryView.svelte +++ b/src/lib/components/detail/GlossaryView.svelte @@ -223,11 +223,7 @@ {:else if seg.type === 'bold'} <strong class="font-semibold text-t-primary">{seg.value}</strong> {:else if seg.type === 'protocol-link' || seg.type === 'bold-protocol-link'} - <ProtocolLink - protocolId={seg.protocolId} - label={seg.label} - color="#38bdf8" - /> + <ProtocolLink protocolId={seg.protocolId} label={seg.label} color="#38bdf8" /> {:else if seg.type === 'concept' || seg.type === 'bold-concept'} <span class="font-medium text-t-primary">{seg.label}</span> {/if} diff --git a/src/lib/components/detail/MermaidDiagram.svelte b/src/lib/components/detail/MermaidDiagram.svelte index f66c861..e4964fd 100644 --- a/src/lib/components/detail/MermaidDiagram.svelte +++ b/src/lib/components/detail/MermaidDiagram.svelte @@ -68,8 +68,7 @@ .catch((err) => { console.error(`Mermaid render error [${protocolId}]:`, err); // eslint-disable-next-line svelte/no-dom-manipulating - containerEl.innerHTML = - '<p class="text-xs text-t-muted py-4">Diagram unavailable</p>'; + containerEl.innerHTML = '<p class="text-xs text-t-muted py-4">Diagram unavailable</p>'; }); }); </script> @@ -86,7 +85,7 @@ </div> </div> {#if definition?.caption && !hideCaption} - <p class="mt-3 text-center text-[11px] italic text-t-muted">{definition.caption}</p> + <p class="mt-3 text-center text-[11px] text-t-muted italic">{definition.caption}</p> {/if} </div> diff --git a/src/lib/components/detail/OutageView.svelte b/src/lib/components/detail/OutageView.svelte index 26c63b1..26cf7b8 100644 --- a/src/lib/components/detail/OutageView.svelte +++ b/src/lib/components/detail/OutageView.svelte @@ -57,10 +57,7 @@ {CATEGORY_LABEL[outage.category] ?? outage.category} </div> {/if} - <h1 - class="mt-2 text-2xl leading-tight font-bold tracking-tight" - style="color: {ACCENT};" - > + <h1 class="mt-2 text-2xl leading-tight font-bold tracking-tight" style="color: {ACCENT};"> {outage.title} </h1> <p class="mt-2 text-sm leading-relaxed text-t-primary italic"> @@ -112,9 +109,7 @@ <!-- Mistake --> <section> - <h2 class="mb-2 text-[11px] font-semibold tracking-wider text-t-muted uppercase"> - Mistake - </h2> + <h2 class="mb-2 text-[11px] font-semibold tracking-wider text-t-muted uppercase">Mistake</h2> <p class="text-sm leading-relaxed text-t-primary"> <RichText segments={renderRich(outage.mistake)} color={ACCENT} /> </p> @@ -134,7 +129,10 @@ style="background-color: {ACCENT};" ></div> {#if beat.time} - <div class="text-[10px] font-bold tracking-wider uppercase" style="color: {ACCENT};"> + <div + class="text-[10px] font-bold tracking-wider uppercase" + style="color: {ACCENT};" + > {beat.time} </div> {/if} diff --git a/src/lib/components/detail/PioneerView.svelte b/src/lib/components/detail/PioneerView.svelte index be5e82b..376c210 100644 --- a/src/lib/components/detail/PioneerView.svelte +++ b/src/lib/components/detail/PioneerView.svelte @@ -1,10 +1,5 @@ <script lang="ts"> - import { - getPioneerById, - getProtocolById, - getCategoryById, - categories - } from '$lib/data/index'; + import { getPioneerById, getProtocolById, getCategoryById, categories } from '$lib/data/index'; import { ExternalLink, Award, Quote } from 'lucide-svelte'; import { parseRichText } from '$lib/utils/text-parser'; import RichText from '$lib/components/detail/inline/RichText.svelte'; @@ -90,11 +85,7 @@ {:else if seg.type === 'bold'} <strong class="font-semibold text-t-primary">{seg.value}</strong> {:else if seg.type === 'protocol-link' || seg.type === 'bold-protocol-link'} - <ProtocolLink - protocolId={seg.protocolId} - label={seg.label} - color={accent} - /> + <ProtocolLink protocolId={seg.protocolId} label={seg.label} color={accent} /> {:else if seg.type === 'concept' || seg.type === 'bold-concept'} <span class="font-medium text-t-primary">{seg.label}</span> {/if} @@ -184,9 +175,7 @@ <!-- Category links --> {#if pioneer.categories && pioneer.categories.length > 0} <section> - <h3 class="mb-2 text-[10px] font-semibold tracking-wider text-t-muted uppercase"> - Areas - </h3> + <h3 class="mb-2 text-[10px] font-semibold tracking-wider text-t-muted uppercase">Areas</h3> <div class="flex flex-wrap gap-2"> {#each pioneer.categories as catId (catId)} {@const cat = getCategoryById(catId)} diff --git a/src/lib/components/detail/ProtocolDiagram.svelte b/src/lib/components/detail/ProtocolDiagram.svelte index 1822508..fa210d1 100644 --- a/src/lib/components/detail/ProtocolDiagram.svelte +++ b/src/lib/components/detail/ProtocolDiagram.svelte @@ -19,8 +19,18 @@ aria-label="Expand diagram" title="View larger" > - <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"> - <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" /> + <svg + class="h-3.5 w-3.5" + fill="none" + stroke="currentColor" + viewBox="0 0 24 24" + stroke-width="2" + > + <path + stroke-linecap="round" + stroke-linejoin="round" + d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" + /> </svg> </button> </div> diff --git a/src/lib/components/detail/ProtocolHeader.svelte b/src/lib/components/detail/ProtocolHeader.svelte index fadf758..9b98bf2 100644 --- a/src/lib/components/detail/ProtocolHeader.svelte +++ b/src/lib/components/detail/ProtocolHeader.svelte @@ -5,7 +5,11 @@ import { parseRichText } from '$lib/utils/text-parser'; import RichText from '$lib/components/detail/inline/RichText.svelte'; - let { proto, cat, color = cat?.color ?? '#fff' }: { proto: Protocol; cat: Category | undefined; color?: string } = $props(); + let { + proto, + cat, + color = cat?.color ?? '#fff' + }: { proto: Protocol; cat: Category | undefined; color?: string } = $props(); const nameSegments = $derived(getHighlightedName(proto.id, proto.name)); </script> @@ -25,7 +29,10 @@ {/if} </div> <p class="mt-0.5 text-xs text-t-secondary"> - {#each nameSegments as seg, i (i)}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} + {#each nameSegments as seg, i (i)}{#if seg.highlight}<span + class="font-bold" + style="color: {color}">{seg.text}</span + >{:else}{seg.text}{/if}{/each} </p> </div> </div> @@ -135,7 +142,7 @@ {/if} <p - class="mt-3 rounded-lg border py-2 px-3 text-sm leading-relaxed text-t-primary" + class="mt-3 rounded-lg border px-3 py-2 text-sm leading-relaxed text-t-primary" style="border-color: {color}30; background-color: {color}08" > <RichText segments={parseRichText(proto.oneLiner)} {color} /> diff --git a/src/lib/components/detail/ProtocolReferences.svelte b/src/lib/components/detail/ProtocolReferences.svelte index d5c93e9..d624697 100644 --- a/src/lib/components/detail/ProtocolReferences.svelte +++ b/src/lib/components/detail/ProtocolReferences.svelte @@ -35,13 +35,24 @@ * this protocolId. */ const chapters = $derived.by(() => { - const out: { partId: string; partTitle: string; partLabel: string; chapterId: string; chapterTitle: string; synopsis?: string }[] = []; + const out: { + partId: string; + partTitle: string; + partLabel: string; + chapterId: string; + chapterTitle: string; + synopsis?: string; + }[] = []; for (const { part, chapter } of listChapters()) { let mentions = false; for (const slot of chapter.slots) { if (slot.kind === 'protocol' && slot.id === protocolId) mentions = true; if (slot.kind === 'simulation' && slot.protocolId === protocolId) mentions = true; - if (slot.kind === 'comparison' && (slot.pairIds[0] === protocolId || slot.pairIds[1] === protocolId)) mentions = true; + if ( + slot.kind === 'comparison' && + (slot.pairIds[0] === protocolId || slot.pairIds[1] === protocolId) + ) + mentions = true; } if (mentions) { out.push({ @@ -156,9 +167,8 @@ class="flex items-baseline gap-3 rounded-lg border border-s-border bg-s-glass px-3 py-1.5 text-left transition-all hover:bg-s-glass-hover" onclick={() => navigateToRfc(r.number)} > - <code - class="shrink-0 rounded font-mono text-[11px] font-bold" - style="color: {color};">RFC {r.number}</code + <code class="shrink-0 rounded font-mono text-[11px] font-bold" style="color: {color};" + >RFC {r.number}</code > <span class="flex-1 text-xs text-t-primary">{r.title}</span> <span class="shrink-0 text-[10px] text-t-muted tabular-nums">{r.year}</span> diff --git a/src/lib/components/detail/RfcView.svelte b/src/lib/components/detail/RfcView.svelte index 1b9f505..66f7aa0 100644 --- a/src/lib/components/detail/RfcView.svelte +++ b/src/lib/components/detail/RfcView.svelte @@ -186,7 +186,6 @@ </div> </section> {/if} - </article> {:else} <div class="rounded-xl border border-s-border bg-s-glass p-6 text-center"> @@ -195,7 +194,8 @@ href="https://datatracker.ietf.org/doc/html/rfc{number}" target="_blank" rel="noopener noreferrer" - class="mt-2 inline-block text-xs text-sky-400 hover:underline">Open on datatracker.ietf.org โ†’</a + class="mt-2 inline-block text-xs text-sky-400 hover:underline" + >Open on datatracker.ietf.org โ†’</a > </div> {/if} diff --git a/src/lib/components/detail/SequencePlayer.svelte b/src/lib/components/detail/SequencePlayer.svelte index d6aac01..676a477 100644 --- a/src/lib/components/detail/SequencePlayer.svelte +++ b/src/lib/components/detail/SequencePlayer.svelte @@ -3,7 +3,11 @@ import { diagramDefinitions } from '$lib/data/diagram-definitions'; import { buildThemedDefinition, styleCrossArrows } from '$lib/utils/mermaid-helpers'; import { getAppState } from '$lib/state/context'; - import { parseSequenceSteps, type SequenceStep, type VisibleStep } from '$lib/utils/sequence-parser'; + import { + parseSequenceSteps, + type SequenceStep, + type VisibleStep + } from '$lib/utils/sequence-parser'; import DiagramCaption from './DiagramCaption.svelte'; export interface InlineSequence { @@ -120,12 +124,7 @@ intersectionObserver = new IntersectionObserver( (entries) => { for (const entry of entries) { - if ( - entry.isIntersecting && - entry.intersectionRatio >= 0.25 && - !autoStarted && - !playing - ) { + if (entry.isIntersecting && entry.intersectionRatio >= 0.25 && !autoStarted && !playing) { autoStarted = true; setTimeout(() => { if (!playing) play(); @@ -341,9 +340,20 @@ }); </script> -<div class="sequence-player flex flex-col" class:expanded class:gap-4={expanded} class:gap-3={!expanded}> +<div + class="sequence-player flex flex-col" + class:expanded + class:gap-4={expanded} + class:gap-3={!expanded} +> <!-- Player controls + caption โ€” sits above the diagram, not sticky. --> - <div class="player-bar flex flex-col rounded-xl border border-s-border bg-s-glass" class:gap-3={expanded} class:gap-2={!expanded} class:p-4={expanded} class:p-3={!expanded}> + <div + class="player-bar flex flex-col rounded-xl border border-s-border bg-s-glass" + class:gap-3={expanded} + class:gap-2={!expanded} + class:p-4={expanded} + class:p-3={!expanded} + > <div class="flex items-center" class:gap-3={expanded} class:gap-2={!expanded}> <button class="player-btn" @@ -352,20 +362,41 @@ aria-label="Previous step" title="Previous" > - <svg viewBox="0 0 24 24" class="player-icon" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> + <svg + viewBox="0 0 24 24" + class="player-icon" + fill="none" + stroke="currentColor" + stroke-width="2.2" + stroke-linecap="round" + stroke-linejoin="round" + > <polyline points="15 18 9 12 15 6"></polyline> </svg> </button> {#if playing} - <button class="player-btn player-btn-primary" onclick={pause} aria-label="Pause" title="Pause" style="--c: {color};"> + <button + class="player-btn player-btn-primary" + onclick={pause} + aria-label="Pause" + title="Pause" + style="--c: {color};" + > <svg viewBox="0 0 24 24" class="player-icon" fill="currentColor"> <rect x="6" y="5" width="4" height="14" rx="1"></rect> <rect x="14" y="5" width="4" height="14" rx="1"></rect> </svg> </button> {:else} - <button class="player-btn player-btn-primary" onclick={play} aria-label="Play" title="Play" disabled={total === 0} style="--c: {color};"> + <button + class="player-btn player-btn-primary" + onclick={play} + aria-label="Play" + title="Play" + disabled={total === 0} + style="--c: {color};" + > <svg viewBox="0 0 24 24" class="player-icon" fill="currentColor"> <polygon points="6 4 20 12 6 20 6 4"></polygon> </svg> @@ -379,19 +410,41 @@ aria-label="Next step" title="Next" > - <svg viewBox="0 0 24 24" class="player-icon" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> + <svg + viewBox="0 0 24 24" + class="player-icon" + fill="none" + stroke="currentColor" + stroke-width="2.2" + stroke-linecap="round" + stroke-linejoin="round" + > <polyline points="9 18 15 12 9 6"></polyline> </svg> </button> - <button class="player-btn" onclick={restart} aria-label="Restart" title="Restart from beginning" disabled={total === 0}> - <svg viewBox="0 0 24 24" class="player-icon" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> + <button + class="player-btn" + onclick={restart} + aria-label="Restart" + title="Restart from beginning" + disabled={total === 0} + > + <svg + viewBox="0 0 24 24" + class="player-icon" + fill="none" + stroke="currentColor" + stroke-width="2.2" + stroke-linecap="round" + stroke-linejoin="round" + > <polyline points="1 4 1 10 7 10"></polyline> <path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path> </svg> </button> - <div class="counter ml-1 tabular-nums text-t-muted"> + <div class="counter ml-1 text-t-muted tabular-nums"> {cursor + 1} / {total || 'โ€”'} </div> diff --git a/src/lib/components/detail/StoryDiagramModal.svelte b/src/lib/components/detail/StoryDiagramModal.svelte index 1387eaf..d327534 100644 --- a/src/lib/components/detail/StoryDiagramModal.svelte +++ b/src/lib/components/detail/StoryDiagramModal.svelte @@ -88,7 +88,9 @@ onclick={handleBackdropClick} > <!-- Backdrop --> - <div class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md"></div> + <div + class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md" + ></div> <!-- Modal card --> <div @@ -119,9 +121,7 @@ </div> <!-- Diagram content: align top so tall diagrams stay scrollable from the top --> - <div - class="custom-scrollbar flex flex-1 flex-col items-stretch overflow-y-auto px-8 py-6" - > + <div class="custom-scrollbar flex flex-1 flex-col items-stretch overflow-y-auto px-8 py-6"> <div class="diagram-container w-full flex-shrink-0" bind:this={containerEl}> <div class="flex h-24 items-center justify-center"> <span class="text-xs text-t-muted">Loading diagram...</span> diff --git a/src/lib/components/detail/StoryImageModal.svelte b/src/lib/components/detail/StoryImageModal.svelte index 1ca4874..018e36a 100644 --- a/src/lib/components/detail/StoryImageModal.svelte +++ b/src/lib/components/detail/StoryImageModal.svelte @@ -50,7 +50,9 @@ onclick={handleBackdropClick} > <!-- Backdrop --> - <div class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md"></div> + <div + class="pointer-events-none absolute inset-0 bg-[var(--theme-overlay)] backdrop-blur-md" + ></div> <!-- Modal card --> <div diff --git a/src/lib/components/detail/category-story/CategoryStoryView.svelte b/src/lib/components/detail/category-story/CategoryStoryView.svelte index 4848250..aba8b72 100644 --- a/src/lib/components/detail/category-story/CategoryStoryView.svelte +++ b/src/lib/components/detail/category-story/CategoryStoryView.svelte @@ -10,24 +10,28 @@ import StoryComparison from './StoryComparison.svelte'; import StoryAnimatedSequence from './StoryAnimatedSequence.svelte'; - let { story, cat, color = cat.color }: { story: StoryContent; cat: Category; color?: string } = $props(); + let { + story, + cat, + color = cat.color + }: { story: StoryContent; cat: Category; color?: string } = $props(); </script> <div class="flex flex-col gap-5"> {#each story.sections as section, i (i)} {#if section.type === 'narrative'} - <StoryNarrative text={section.text} color={color} title={section.title} /> + <StoryNarrative text={section.text} {color} title={section.title} /> {:else if section.type === 'timeline'} - <StoryTimeline entries={section.entries} color={color} /> + <StoryTimeline entries={section.entries} {color} /> {:else if section.type === 'pioneers'} - <PioneerGrid people={section.people} color={color} title={section.title} /> + <PioneerGrid people={section.people} {color} title={section.title} /> {:else if section.type === 'callout'} - <StoryCallout title={section.title} text={section.text} color={color} /> + <StoryCallout title={section.title} text={section.text} {color} /> {:else if section.type === 'diagram'} <StoryDiagram definition={section.definition} caption={section.caption} - color={color} + {color} title={section.title} /> {:else if section.type === 'image'} @@ -36,7 +40,7 @@ alt={section.alt} caption={section.caption} credit={section.credit} - color={color} + {color} title={section.title} /> {:else if section.type === 'comparison'} @@ -45,7 +49,7 @@ axes={section.axes} rows={section.rows} note={section.note} - color={color} + {color} /> {:else if section.type === 'animated-sequence'} <StoryAnimatedSequence @@ -53,7 +57,7 @@ definition={section.definition} caption={section.caption} steps={section.steps} - color={color} + {color} /> {/if} {/each} diff --git a/src/lib/components/detail/category-story/PioneerCard.svelte b/src/lib/components/detail/category-story/PioneerCard.svelte index d0e742f..edcf546 100644 --- a/src/lib/components/detail/category-story/PioneerCard.svelte +++ b/src/lib/components/detail/category-story/PioneerCard.svelte @@ -19,9 +19,7 @@ /** Resolve the pioneer-registry id either from the inline `id` field * or by matching `name` against the registry. When neither resolves, * the card stays static (no dead-button affordance). */ - const targetId = $derived( - pioneer.id ?? pioneerRegistry.find((p) => p.name === pioneer.name)?.id - ); + const targetId = $derived(pioneer.id ?? pioneerRegistry.find((p) => p.name === pioneer.name)?.id); let imgFailed = $state(false); </script> diff --git a/src/lib/components/detail/category-story/PioneerGrid.svelte b/src/lib/components/detail/category-story/PioneerGrid.svelte index 84d9647..b9898e5 100644 --- a/src/lib/components/detail/category-story/PioneerGrid.svelte +++ b/src/lib/components/detail/category-story/PioneerGrid.svelte @@ -2,11 +2,7 @@ import type { Pioneer } from '$lib/data/category-stories/types'; import PioneerCard from './PioneerCard.svelte'; - let { - people, - color, - title - }: { people: Pioneer[]; color: string; title?: string } = $props(); + let { people, color, title }: { people: Pioneer[]; color: string; title?: string } = $props(); </script> <section> diff --git a/src/lib/components/detail/category-story/StoryCallout.svelte b/src/lib/components/detail/category-story/StoryCallout.svelte index 73295ec..357a2b8 100644 --- a/src/lib/components/detail/category-story/StoryCallout.svelte +++ b/src/lib/components/detail/category-story/StoryCallout.svelte @@ -18,8 +18,7 @@ <div class="text-xs font-semibold" style="color: {color}">{title}</div> <div class="mt-1.5 space-y-2 text-xs leading-relaxed text-t-secondary"> {#snippet seg(s: TextSegment)} - {#if s.type === 'text'}{s.value}{:else if s.type === 'italic'}<em class="italic" - >{s.value}</em + {#if s.type === 'text'}{s.value}{:else if s.type === 'italic'}<em class="italic">{s.value}</em >{:else if s.type === 'code'}<code class="rounded bg-s-glass px-1 py-px font-mono text-[0.92em] text-t-primary" >{s.value}</code @@ -69,8 +68,7 @@ {#each paragraphs as segments, i (i)} <p> {#each segments as s, j (j)} - {#if s.type === 'bold'}<strong class="font-semibold text-t-primary" - >{s.value}</strong + {#if s.type === 'bold'}<strong class="font-semibold text-t-primary">{s.value}</strong >{:else if s.type === 'bold-group'}<strong class="font-semibold text-t-primary" >{#each s.segments as inner, k (k)}{@render seg(inner)}{/each}</strong >{:else}{@render seg(s)}{/if} diff --git a/src/lib/components/detail/category-story/StoryComparison.svelte b/src/lib/components/detail/category-story/StoryComparison.svelte index 56a9214..86cbbdf 100644 --- a/src/lib/components/detail/category-story/StoryComparison.svelte +++ b/src/lib/components/detail/category-story/StoryComparison.svelte @@ -45,10 +45,7 @@ <tbody> {#each rows as row, i (i)} <tr class:border-t={i > 0} class="border-s-border align-top"> - <th - class="whitespace-nowrap px-3 py-2 text-left font-semibold" - style="color: {color}" - > + <th class="px-3 py-2 text-left font-semibold whitespace-nowrap" style="color: {color}"> <RichText segments={parseRichText(row.label)} {color} /> </th> {#each row.values as val, k (k)} diff --git a/src/lib/components/detail/category-story/StoryNarrative.svelte b/src/lib/components/detail/category-story/StoryNarrative.svelte index a0f5a7e..b296c92 100644 --- a/src/lib/components/detail/category-story/StoryNarrative.svelte +++ b/src/lib/components/detail/category-story/StoryNarrative.svelte @@ -15,14 +15,15 @@ const appState = getAppState(); - type Block = - | { kind: 'p'; segments: TextSegment[] } - | { kind: 'ul'; items: TextSegment[][] }; + type Block = { kind: 'p'; segments: TextSegment[] } | { kind: 'ul'; items: TextSegment[][] }; /** Split into paragraphs, detecting blocks of `- ` / `* ` lines as lists. */ function parseBlocks(raw: string): Block[] { return raw.split('\n\n').map((p): Block => { - const lines = p.split('\n').map((l) => l.trim()).filter(Boolean); + const lines = p + .split('\n') + .map((l) => l.trim()) + .filter(Boolean); if (lines.length > 0 && lines.every((l) => /^[-*]\s+/.test(l))) { return { kind: 'ul', @@ -52,10 +53,10 @@ {/if} <div class="space-y-3 text-sm leading-relaxed text-t-primary"> {#snippet seg(s: TextSegment)} - {#if s.type === 'text'}{s.value}{:else if s.type === 'italic'}<em class="italic" - >{s.value}</em + {#if s.type === 'text'}{s.value}{:else if s.type === 'italic'}<em class="italic">{s.value}</em >{:else if s.type === 'code'}<code - class="rounded bg-s-glass px-1 py-px font-mono text-[0.92em] text-t-primary">{s.value}</code + class="rounded bg-s-glass px-1 py-px font-mono text-[0.92em] text-t-primary" + >{s.value}</code >{:else if s.type === 'protocol-link'}<ProtocolLink protocolId={s.protocolId} label={s.label} @@ -72,7 +73,10 @@ conceptId={s.conceptId} label={s.label} bold - />{:else if s.type === 'rfc-ref'}<RfcRef number={s.number} label={s.label} {color} + />{:else if s.type === 'rfc-ref'}<RfcRef + number={s.number} + label={s.label} + {color} />{:else if s.type === 'outage-link'}<OutageLink outageId={s.outageId} label={s.label} diff --git a/src/lib/components/detail/inline/ChapterLink.svelte b/src/lib/components/detail/inline/ChapterLink.svelte index e714d40..49c40aa 100644 --- a/src/lib/components/detail/inline/ChapterLink.svelte +++ b/src/lib/components/detail/inline/ChapterLink.svelte @@ -33,5 +33,7 @@ onclick={(e) => e.stopPropagation()}>{label}</a > {:else} - <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip}>{label}</span> + <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip} + >{label}</span + > {/if} diff --git a/src/lib/components/detail/inline/FrontierLink.svelte b/src/lib/components/detail/inline/FrontierLink.svelte index c74ac1d..9274ce1 100644 --- a/src/lib/components/detail/inline/FrontierLink.svelte +++ b/src/lib/components/detail/inline/FrontierLink.svelte @@ -34,5 +34,7 @@ <!-- Registry not yet populated for this id โ€” render as styled text so the reading flow isn't broken and authors can link in later without touching prose. --> - <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip}>{label}</span> + <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip} + >{label}</span + > {/if} diff --git a/src/lib/components/detail/inline/OutageLink.svelte b/src/lib/components/detail/inline/OutageLink.svelte index ed8fe6a..45aa424 100644 --- a/src/lib/components/detail/inline/OutageLink.svelte +++ b/src/lib/components/detail/inline/OutageLink.svelte @@ -34,5 +34,7 @@ <!-- Registry not yet populated for this id โ€” render as styled text so the reading flow isn't broken and authors can link in later without touching prose. --> - <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip}>{label}</span> + <span class="inline italic" style="color: {displayColor}; opacity: 0.85;" title={tooltip} + >{label}</span + > {/if} diff --git a/src/lib/components/detail/inline/ProtocolLink.svelte b/src/lib/components/detail/inline/ProtocolLink.svelte index 40d1f33..94f3bf3 100644 --- a/src/lib/components/detail/inline/ProtocolLink.svelte +++ b/src/lib/components/detail/inline/ProtocolLink.svelte @@ -2,9 +2,7 @@ import { buildGraphNodes } from '$lib/data/index'; import type { GraphNode } from '$lib/data/types'; - const nodeMap: Map<string, GraphNode> = new Map( - buildGraphNodes().map((n) => [n.id, n]) - ); + const nodeMap: Map<string, GraphNode> = new Map(buildGraphNodes().map((n) => [n.id, n])); </script> <script lang="ts"> @@ -60,7 +58,10 @@ bind:this={btn} class="inline transition-colors hover:underline {bold ? 'font-semibold' : 'font-medium'}" style="color: {displayColor}" - onclick={(e) => { e.stopPropagation(); navigateToProtocol(protocolId); }} + onclick={(e) => { + e.stopPropagation(); + navigateToProtocol(protocolId); + }} onmouseenter={show} onmouseleave={hide} onfocus={show} diff --git a/src/lib/components/detail/inline/RichText.svelte b/src/lib/components/detail/inline/RichText.svelte index 2e7f805..5f943f4 100644 --- a/src/lib/components/detail/inline/RichText.svelte +++ b/src/lib/components/detail/inline/RichText.svelte @@ -71,7 +71,10 @@ color={c} />{:else if seg.type === 'bold-concept'}<strong class="font-semibold" ><GlossaryLink conceptId={seg.conceptId} label={seg.label} color={c} /></strong - >{:else if seg.type === 'rfc-ref'}<RfcRef number={seg.number} label={seg.label} color={c} + >{:else if seg.type === 'rfc-ref'}<RfcRef + number={seg.number} + label={seg.label} + color={c} />{:else if seg.type === 'pioneer-link'}<PioneerLink pioneerId={seg.pioneerId} label={seg.label} diff --git a/src/lib/components/detail/registry-index/FrontierIndex.svelte b/src/lib/components/detail/registry-index/FrontierIndex.svelte index 1961d28..1816763 100644 --- a/src/lib/components/detail/registry-index/FrontierIndex.svelte +++ b/src/lib/components/detail/registry-index/FrontierIndex.svelte @@ -52,9 +52,9 @@ What's actively shipping </h1> <p class="mt-2 text-sm leading-relaxed text-t-secondary"> - {frontierEntries.length} developments that have shipped, are rolling out, or are - standardising right now. The 2024-2026 frontier of the protocol stack โ€” anything older - lives in the chapters, anything younger lives in IETF drafts. + {frontierEntries.length} developments that have shipped, are rolling out, or are standardising right + now. The 2024-2026 frontier of the protocol stack โ€” anything older lives in the chapters, anything + younger lives in IETF drafts. </p> </header> diff --git a/src/lib/components/detail/registry-index/OutagesIndex.svelte b/src/lib/components/detail/registry-index/OutagesIndex.svelte index fe850a5..05ab2c9 100644 --- a/src/lib/components/detail/registry-index/OutagesIndex.svelte +++ b/src/lib/components/detail/registry-index/OutagesIndex.svelte @@ -25,9 +25,8 @@ What broke and what we learned </h1> <p class="mt-2 text-sm leading-relaxed text-t-secondary"> - {outages.length} incidents told as stories โ€” setup, mistake, cascade, consequence, - lesson. The post-mortems engineers point to when they argue for redundancy, filtering, - or a less risky deployment. + {outages.length} incidents told as stories โ€” setup, mistake, cascade, consequence, lesson. The post-mortems + engineers point to when they argue for redundancy, filtering, or a less risky deployment. </p> </header> @@ -38,9 +37,7 @@ onclick={() => navigateToOutage(o.id)} > <div class="flex items-baseline justify-between gap-2"> - <span class="text-sm font-medium text-t-primary" style="color: {ACCENT};" - >{o.title}</span - > + <span class="text-sm font-medium text-t-primary" style="color: {ACCENT};">{o.title}</span> <span class="shrink-0 text-[10px] text-t-muted tabular-nums">{o.date}</span> </div> <p class="text-xs leading-relaxed text-t-secondary italic"> diff --git a/src/lib/components/detail/registry-index/PioneersIndex.svelte b/src/lib/components/detail/registry-index/PioneersIndex.svelte index 425a6e8..39448bd 100644 --- a/src/lib/components/detail/registry-index/PioneersIndex.svelte +++ b/src/lib/components/detail/registry-index/PioneersIndex.svelte @@ -9,9 +9,7 @@ /** Sort pioneers by birth-year so the chronology of the field * becomes the natural reading order. */ - const sorted = $derived( - [...pioneers].sort((a, b) => parseInt(a.years) - parseInt(b.years)) - ); + const sorted = $derived([...pioneers].sort((a, b) => parseInt(a.years) - parseInt(b.years))); </script> <div class="flex flex-col gap-6"> @@ -27,9 +25,8 @@ The architects of the field </h1> <p class="mt-2 text-sm leading-relaxed text-t-secondary"> - {pioneers.length} people whose work shows up across the protocols in this lab โ€” - from Bob Metcalfe's 1973 Ethernet sketch to Eric Rescorla's TLS 1.3 redesign half a - century later. + {pioneers.length} people whose work shows up across the protocols in this lab โ€” from Bob Metcalfe's + 1973 Ethernet sketch to Eric Rescorla's TLS 1.3 redesign half a century later. </p> </header> diff --git a/src/lib/components/detail/registry-index/RfcsIndex.svelte b/src/lib/components/detail/registry-index/RfcsIndex.svelte index 6a17807..42bae3c 100644 --- a/src/lib/components/detail/registry-index/RfcsIndex.svelte +++ b/src/lib/components/detail/registry-index/RfcsIndex.svelte @@ -31,8 +31,8 @@ The documents </h1> <p class="mt-2 text-sm leading-relaxed text-t-secondary"> - {rfcs.length} RFCs the chapters and protocol pages cite by name. Newest first; click - any to read the spec inline with notable section pointers. + {rfcs.length} RFCs the chapters and protocol pages cite by name. Newest first; click any to read + the spec inline with notable section pointers. </p> </header> diff --git a/src/lib/components/icons/CategoryIcon.svelte b/src/lib/components/icons/CategoryIcon.svelte index 57bffae..bc78edf 100644 --- a/src/lib/components/icons/CategoryIcon.svelte +++ b/src/lib/components/icons/CategoryIcon.svelte @@ -32,7 +32,11 @@ Bluetooth } from 'lucide-svelte'; - let { icon, size = 24, animate = false }: { icon: string; size?: number; animate?: boolean } = $props(); + let { + icon, + size = 24, + animate = false + }: { icon: string; size?: number; animate?: boolean } = $props(); const iconMap: Record<string, typeof ArrowLeftRight> = { // Categories @@ -100,10 +104,18 @@ animation: icon-pulse 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); } @keyframes icon-pulse { - 0% { transform: scale(1) rotate(0deg); } - 30% { transform: scale(1.15) rotate(-5deg); } - 60% { transform: scale(1.1) rotate(3deg); } - 100% { transform: scale(1) rotate(0deg); } + 0% { + transform: scale(1) rotate(0deg); + } + 30% { + transform: scale(1.15) rotate(-5deg); + } + 60% { + transform: scale(1.1) rotate(3deg); + } + 100% { + transform: scale(1) rotate(0deg); + } } @media (prefers-reduced-motion: reduce) { .icon-animate.animate, diff --git a/src/lib/components/mobile/CategoryAccordion.svelte b/src/lib/components/mobile/CategoryAccordion.svelte index 325cfed..d1aba37 100644 --- a/src/lib/components/mobile/CategoryAccordion.svelte +++ b/src/lib/components/mobile/CategoryAccordion.svelte @@ -46,7 +46,7 @@ {#if expanded} <div class="space-y-2 border-t border-s-border p-3"> {#each protocols as proto (proto.id)} - <ProtocolCard {proto} color={color} /> + <ProtocolCard {proto} {color} /> {/each} </div> {/if} diff --git a/src/lib/components/mobile/MobileDetailSheet.svelte b/src/lib/components/mobile/MobileDetailSheet.svelte index 1bf827c..83235dd 100644 --- a/src/lib/components/mobile/MobileDetailSheet.svelte +++ b/src/lib/components/mobile/MobileDetailSheet.svelte @@ -71,7 +71,10 @@ {/if} </div> <p class="text-xs text-t-secondary"> - {#each getHighlightedName(proto.id, proto.name) as seg, i (i)}{#if seg.highlight}<span class="font-bold" style="color: {color}">{seg.text}</span>{:else}{seg.text}{/if}{/each} + {#each getHighlightedName(proto.id, proto.name) as seg, i (i)}{#if seg.highlight}<span + class="font-bold" + style="color: {color}">{seg.text}</span + >{:else}{seg.text}{/if}{/each} </p> <p class="mt-2 rounded-lg border-l-2 py-2 pl-3 text-sm text-t-primary" @@ -81,7 +84,7 @@ </p> </div> - <SimulatorTabs color={color} /> + <SimulatorTabs {color} /> {#if appState.detailViewMode === 'learn'} <!-- Overview --> @@ -91,9 +94,9 @@ {/each} </div> - <ProtocolDiagram protocolId={proto.id} color={color} /> + <ProtocolDiagram protocolId={proto.id} {color} /> - <HowItWorksSteps steps={proto.howItWorks} color={color} /> + <HowItWorksSteps steps={proto.howItWorks} {color} /> <!-- Use cases --> <section> @@ -103,9 +106,7 @@ <ul class="space-y-1"> {#each proto.useCases as useCase, i (i)} <li class="flex items-start gap-2 text-xs text-t-primary"> - <span - class="mt-1.5 h-1 w-1 shrink-0 rounded-full" - style="background-color: {color}" + <span class="mt-1.5 h-1 w-1 shrink-0 rounded-full" style="background-color: {color}" ></span> {useCase} </li> @@ -117,10 +118,10 @@ <CodeExample example={proto.codeExample} /> {/if} - <PerformanceStats performance={proto.performance} color={color} /> + <PerformanceStats performance={proto.performance} {color} /> {:else if appState.detailViewMode === 'simulate'} {#key proto.id} - <SimulatorView protocolId={proto.id} color={color} /> + <SimulatorView protocolId={proto.id} {color} /> {/key} {:else if appState.detailViewMode === 'compare'} {#if appState.compareTargetId} @@ -128,13 +129,13 @@ {@const pair = getPair(proto.id, appState.compareTargetId)} {#if targetProto} {#if pair?.type === 'relationship'} - <RelationshipCard {pair} leftProto={proto} rightProto={targetProto} color={color} /> + <RelationshipCard {pair} leftProto={proto} rightProto={targetProto} {color} /> {:else} - <ComparisonCard {pair} leftProto={proto} rightProto={targetProto} color={color} /> + <ComparisonCard {pair} leftProto={proto} rightProto={targetProto} {color} /> {/if} {/if} {:else} - <ComparisonPicker protocolId={proto.id} color={color} /> + <ComparisonPicker protocolId={proto.id} {color} /> {/if} {/if} </div> diff --git a/src/lib/components/mobile/MobileView.svelte b/src/lib/components/mobile/MobileView.svelte index 49b02d7..15a3120 100644 --- a/src/lib/components/mobile/MobileView.svelte +++ b/src/lib/components/mobile/MobileView.svelte @@ -13,8 +13,24 @@ <h1 class="flex items-center justify-center gap-2 text-lg font-bold text-t-primary"> <svg viewBox="0 0 20 20" class="h-5 w-5 shrink-0" fill="none"> <line x1="10" y1="8.5" x2="10" y2="5" stroke="#6ee7b7" stroke-width="1.2" opacity="0.5" /> - <line x1="8.8" y1="10.8" x2="5.6" y2="12.3" stroke="#c4b5fd" stroke-width="1.2" opacity="0.5" /> - <line x1="11.2" y1="10.8" x2="14.4" y2="12.3" stroke="#7dd3fc" stroke-width="1.2" opacity="0.5" /> + <line + x1="8.8" + y1="10.8" + x2="5.6" + y2="12.3" + stroke="#c4b5fd" + stroke-width="1.2" + opacity="0.5" + /> + <line + x1="11.2" + y1="10.8" + x2="14.4" + y2="12.3" + stroke="#7dd3fc" + stroke-width="1.2" + opacity="0.5" + /> <circle cx="10" cy="3" r="2" fill="#6ee7b7" /> <circle cx="4" cy="13.5" r="2" fill="#c4b5fd" /> <circle cx="16" cy="13.5" r="2" fill="#7dd3fc" /> diff --git a/src/lib/data/book/chapters.ts b/src/lib/data/book/chapters.ts index dc1abe1..25da61a 100644 --- a/src/lib/data/book/chapters.ts +++ b/src/lib/data/book/chapters.ts @@ -47,8 +47,7 @@ const FOUNDATION_SYNOPSIS: Record<string, string> = { 'Two communication patterns โ€” {{client-server|client/server}} and {{peer-to-peer|peer-to-peer}} โ€” and what each makes easy or hard.', 'encryption-basics': "What HTTPS actually protects โ€” and what it doesn't. [[tls|TLS]] at the boundary.", - 'ai-protocols': - '[[mcp|MCP]] and [[a2a|A2A]] โ€” the new layer of protocols designed for AI agents.' + 'ai-protocols': '[[mcp|MCP]] and [[a2a|A2A]] โ€” the new layer of protocols designed for AI agents.' }; const partI: BookPart = { @@ -65,7 +64,6 @@ const partI: BookPart = { })) }; - export const bookParts: BookPart[] = [ partI, storyOfTheInternet, diff --git a/src/lib/data/book/parts/async-iot.ts b/src/lib/data/book/parts/async-iot.ts index 6195557..022b853 100644 --- a/src/lib/data/book/parts/async-iot.ts +++ b/src/lib/data/book/parts/async-iot.ts @@ -19,7 +19,8 @@ export const asyncIot: BookPart = { { id: 'mqtt', title: 'MQTT', - synopsis: 'Sensors, satellites, and [[mqtt|2-byte publish overhead]] โ€” designed in 1999 to instrument oil pipelines.', + synopsis: + 'Sensors, satellites, and [[mqtt|2-byte publish overhead]] โ€” designed in 1999 to instrument oil pipelines.', slots: [ { kind: 'pull-quote', @@ -84,11 +85,12 @@ The architecture is **{{mqtt-publish|publish}}-{{mqtt-subscribe|subscribe}}** th { id: 'amqp', title: 'AMQP', - synopsis: '[[amqp|Banking-grade messaging]] โ€” JPMorgan Chase, John O\'Hara, and "two billion dollars in collateral calls before he could blink."', + synopsis: + '[[amqp|Banking-grade messaging]] โ€” JPMorgan Chase, John O\'Hara, and "two billion dollars in collateral calls before he could blink."', slots: [ { kind: 'pull-quote', - text: 'If you read [[amqp|AMQP]] 1.0, it\'s called Advanced Message Queue Protocol, but there are no queues in it.', + text: "If you read [[amqp|AMQP]] 1.0, it's called Advanced Message Queue Protocol, but there are no queues in it.", attribution: 'Alexis Richardson, March 2025' }, { @@ -147,7 +149,8 @@ The trade-off versus [[mqtt|MQTT]] remains operational complexity. An [[amqp|AMQ { id: 'kafka', title: 'Kafka', - synopsis: '[[kafka|A distributed commit log]] as architecture unit โ€” {{linkedin|LinkedIn}}, 2010, named after Franz [[kafka|Kafka]] because "it\'s a system optimized for writing."', + synopsis: + '[[kafka|A distributed commit log]] as architecture unit โ€” {{linkedin|LinkedIn}}, 2010, named after Franz [[kafka|Kafka]] because "it\'s a system optimized for writing."', slots: [ { kind: 'pull-quote', @@ -212,11 +215,12 @@ The wire-level details that {{matter|matter}} operationally: [[kafka|Kafka]]'s r { id: 'coap', title: 'CoAP', - synopsis: '[[coap|REST shrunk for microcontrollers]] โ€” and one of the most-deployed-at-scale uses turned out to be Chinese smartphones.', + synopsis: + '[[coap|REST shrunk for microcontrollers]] โ€” and one of the most-deployed-at-scale uses turned out to be Chinese smartphones.', slots: [ { kind: 'pull-quote', - text: 'NETSCOUT\'s January 2019 scan found 388,344 publicly-reachable [[coap|CoAP]] endpoints, 81% in China, but most were not IoT devices โ€” they were Chinese smartphones running the QLC Chain {{peer-to-peer|peer-to-peer}} crypto stack.', + text: "NETSCOUT's January 2019 scan found 388,344 publicly-reachable [[coap|CoAP]] endpoints, 81% in China, but most were not IoT devices โ€” they were Chinese smartphones running the QLC Chain {{peer-to-peer|peer-to-peer}} crypto stack.", attribution: 'Author' }, { diff --git a/src/lib/data/book/parts/famous-outages.ts b/src/lib/data/book/parts/famous-outages.ts index 6767c70..4d30855 100644 --- a/src/lib/data/book/parts/famous-outages.ts +++ b/src/lib/data/book/parts/famous-outages.ts @@ -48,7 +48,7 @@ The fix was to install patched {{imp|IMP}} software that rejected sequence numbe }, { type: 'callout', - title: 'Postel\'s Law had limits', + title: "Postel's Law had limits", text: '**Be conservative in what you send, be liberal in what you accept.** A beautiful guideline โ€” until "liberal" means accepting a malformed message and propagating it network-wide. The 1980 collapse forced the field to admit Postel\'s Law has an important exception: be **strict** in what you accept from anything that isn\'t under your operational control. The modern interpretation: be liberal with **format**, strict with **semantics**.' } ] @@ -89,7 +89,7 @@ The fix was to install patched {{imp|IMP}} software that rejected sequence numbe slots: [ { kind: 'pull-quote', - text: 'Most-specific wins, by definition. {{autonomous-system|AS}} 7007 didn\'t hijack anything on purpose โ€” it simply announced everything as a /24, and the entire internet routed through a single underpowered Florida router.', + text: "Most-specific wins, by definition. {{autonomous-system|AS}} 7007 didn't hijack anything on purpose โ€” it simply announced everything as a /24, and the entire internet routed through a single underpowered Florida router.", attribution: 'Author' }, { @@ -171,7 +171,7 @@ Mitnick used this to land a forged connection from a host listed in Shimomura's { type: 'callout', title: 'rsh / rlogin trust was the multiplier', - text: '[[tcp|TCP]] sequence prediction by itself is not catastrophic โ€” it just lets you forge a connection. The reason this attack worked is that Berkeley Unix\'s `.rhosts` mechanism trusted **the source {{ip-address|IP address}}** of an incoming connection as authentication. Forge the source [[ip|IP]], get the trust. [[ssh|SSH]] (which Tatu Ylรถnen wrote in 1995, partly in response to incidents like this one) replaced `.rhosts` with cryptographic identity โ€” even a perfectly forged [[tcp|TCP]] connection cannot impersonate someone without their {{private-key|private key}}.' + text: "[[tcp|TCP]] sequence prediction by itself is not catastrophic โ€” it just lets you forge a connection. The reason this attack worked is that Berkeley Unix's `.rhosts` mechanism trusted **the source {{ip-address|IP address}}** of an incoming connection as authentication. Forge the source [[ip|IP]], get the trust. [[ssh|SSH]] (which Tatu Ylรถnen wrote in 1995, partly in response to incidents like this one) replaced `.rhosts` with cryptographic identity โ€” even a perfectly forged [[tcp|TCP]] connection cannot impersonate someone without their {{private-key|private key}}." }, { type: 'narrative', @@ -263,7 +263,7 @@ This is the structural reason [[bgp|BGP]] needs cryptography to fix it, not just src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Arpanet_logical_map%2C_march_1977.png/500px-Arpanet_logical_map%2C_march_1977.png', alt: 'ARPANET logical map, March 1977 โ€” sites in the US plus a node at London.', caption: - 'The {{arpanet|ARPANET}} in March 1977 โ€” a network small enough that one Pakistan-Telecom-class misconfiguration would have been caught manually within minutes. By 2008 the global [[bgp|BGP]] {{routing-table|routing table}} had grown to ~250,000 prefixes, and Pakistan Telecom\'s null-route on a single /24 of YouTube space silently became the world\'s outage in **three minutes flat**. Scale changes what counts as a recoverable error.', + "The {{arpanet|ARPANET}} in March 1977 โ€” a network small enough that one Pakistan-Telecom-class misconfiguration would have been caught manually within minutes. By 2008 the global [[bgp|BGP]] {{routing-table|routing table}} had grown to ~250,000 prefixes, and Pakistan Telecom's null-route on a single /24 of YouTube space silently became the world's outage in **three minutes flat**. Scale changes what counts as a recoverable error.", credit: 'Image: DARPA / public domain, via Wikimedia Commons' } ] @@ -275,7 +275,8 @@ This is the structural reason [[bgp|BGP]] needs cryptography to fix it, not just { id: 'china-telecom-2010', title: 'China Telecom 2010', - synopsis: '15% of the internet routed through a single {{autonomous-system|AS}} for 18 minutes.', + synopsis: + '15% of the internet routed through a single {{autonomous-system|AS}} for 18 minutes.', slots: [ { kind: 'prose', @@ -397,7 +398,8 @@ Looney found it by writing a fuzzer that combined {{sack|SACK}} with [[tcp|TCP]] alt: 'Tux โ€” the Linux mascot, a chubby cartoon penguin.', caption: '**Tux**, the {{linux|Linux}} mascot, drawn by Larry Ewing in 1996. Behind that cheerful penguin sits a [[tcp|TCP]] stack on every internet-facing {{linux|Linux}} server on Earth โ€” and from 2009 to 2019 every one of them was a single crafted [[tcp|TCP]] packet away from `kernel panic`. The fix shipped 17 June 2019; the lesson โ€” **code stability is not code correctness** โ€” has reshaped {{linux|Linux}} kernel networking testing since.', - credit: 'Image: Larry Ewing / lewing@isc.tamu.edu, public domain, via Wikimedia Commons' + credit: + 'Image: Larry Ewing / lewing@isc.tamu.edu, public domain, via Wikimedia Commons' } ] } @@ -459,7 +461,7 @@ So we live with the architectural fragility and add operational guards. Every mo src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/ARPANET_first_router.jpg/500px-ARPANET_first_router.jpg', alt: 'A BBN Interface Message Processor โ€” the original ARPANET router, ancestor of every BGP-speaking device on the modern internet.', caption: - 'A {{bbn|BBN}} {{imp|Interface Message Processor}} โ€” the original {{arpanet|ARPANET}} router. Every modern [[bgp|BGP]]-speaking router carries the same architectural DNA: a control plane that builds the {{routing-table|forwarding table}} from messages it receives over the *same wires* it eventually forwards user data over. CenturyLink\'s 2020 Flowspec self-block is the canonical example of how that elegant unification can blow up when a single rule disables its own delivery mechanism.', + "A {{bbn|BBN}} {{imp|Interface Message Processor}} โ€” the original {{arpanet|ARPANET}} router. Every modern [[bgp|BGP]]-speaking router carries the same architectural DNA: a control plane that builds the {{routing-table|forwarding table}} from messages it receives over the *same wires* it eventually forwards user data over. CenturyLink's 2020 Flowspec self-block is the canonical example of how that elegant unification can blow up when a single rule disables its own delivery mechanism.", credit: 'Photo: Steve Jurvetson, CC BY 2.0, via Wikimedia Commons' } ] @@ -545,7 +547,8 @@ The first [[bgp|BGP]] fix went in around 21:00 {{utc-time|UTC}}. Recovery took u { id: 'rogers-2022', title: 'Rogers 2022 โ€” A Country Disconnected', - synopsis: 'Fifteen hours, half of Canada offline โ€” one [[bgp|BGP]]/{{ospf-hello|OSPF}} redistribution mistake.', + synopsis: + 'Fifteen hours, half of Canada offline โ€” one [[bgp|BGP]]/{{ospf-hello|OSPF}} redistribution mistake.', slots: [ { kind: 'pull-quote', @@ -580,7 +583,7 @@ Recovery required Rogers engineers to log in to individual core routers (over ou { type: 'callout', title: 'The deeper structural lesson', - text: 'When a single private company\'s outage takes down national emergency services, the company is no longer just a private business โ€” it is **critical national infrastructure**. The {{crtc|CRTC}}\'s post-incident investigation forced Rogers to enter mandatory **reciprocal-roaming agreements** with Bell and Telus, so that future single-carrier outages would not strand emergency calls. Other countries (Australia, the UK, Germany) used the Rogers incident as a reference point for similar regulatory action.' + text: "When a single private company's outage takes down national emergency services, the company is no longer just a private business โ€” it is **critical national infrastructure**. The {{crtc|CRTC}}'s post-incident investigation forced Rogers to enter mandatory **reciprocal-roaming agreements** with Bell and Telus, so that future single-carrier outages would not strand emergency calls. Other countries (Australia, the UK, Germany) used the Rogers incident as a reference point for similar regulatory action." } ] }, @@ -650,7 +653,7 @@ The {{fcc|FCC}} opened a formal investigation under the 2018 911 Reliability Rul { type: 'callout', title: 'Same shape as Rogers 2022', - text: 'The shape of the AT&T failure mirrors [[outage:rogers-2022|Rogers 2022]] uncomfortably: a planned change, deployed simultaneously across the production fleet, with insufficient progressive-rollout controls. The lesson the industry should have internalised after Rogers โ€” **never push a config change to the entire fleet at once** โ€” had not propagated. AT&T\'s post-incident report committed to canary deployment for all core network changes within the year.' + text: "The shape of the AT&T failure mirrors [[outage:rogers-2022|Rogers 2022]] uncomfortably: a planned change, deployed simultaneously across the production fleet, with insufficient progressive-rollout controls. The lesson the industry should have internalised after Rogers โ€” **never push a config change to the entire fleet at once** โ€” had not propagated. AT&T's post-incident report committed to canary deployment for all core network changes within the year." } ] }, diff --git a/src/lib/data/book/parts/frontier.ts b/src/lib/data/book/parts/frontier.ts index 437ab15..48388ef 100644 --- a/src/lib/data/book/parts/frontier.ts +++ b/src/lib/data/book/parts/frontier.ts @@ -19,7 +19,8 @@ export const frontier: BookPart = { { id: 'post-quantum', title: 'Post-Quantum TLS', - synopsis: '{{pq-ciphersuite|X25519MLKEM768}} default in iOS 26 and Chrome โ€” the first deployed post-quantum [[tls|TLS]] {{handshake|handshake}} on the public web.', + synopsis: + '{{pq-ciphersuite|X25519MLKEM768}} default in iOS 26 and Chrome โ€” the first deployed post-quantum [[tls|TLS]] {{handshake|handshake}} on the public web.', slots: [ { kind: 'pull-quote', @@ -48,7 +49,7 @@ Browser deployment moved fast. **Chrome 124 (April 2024)** made X25519Kyber768 d { type: 'callout', title: 'Apple iOS 26 cliff: <2% to 25% in 90 days', - text: '**{{apple|Apple}} iOS 26 / iPadOS 26 / macOS Tahoe 26 / visionOS 26 (September 2025)** turned {{pq-ciphersuite|X25519MLKEM768}} on by default for all [[tls|TLS]] 1.3 in Network.framework. Within **four days** the iOS post-quantum traffic share went from <2% to 11%. By December 2025 it was >25%. {{apple|Apple}}\'s scale plus the default-on shipping pattern is the fastest deployment of a new [[tls|TLS]] feature in the protocol\'s history.' + text: "**{{apple|Apple}} iOS 26 / iPadOS 26 / macOS Tahoe 26 / visionOS 26 (September 2025)** turned {{pq-ciphersuite|X25519MLKEM768}} on by default for all [[tls|TLS]] 1.3 in Network.framework. Within **four days** the iOS post-quantum traffic share went from <2% to 11%. By December 2025 it was >25%. {{apple|Apple}}'s scale plus the default-on shipping pattern is the fastest deployment of a new [[tls|TLS]] feature in the protocol's history." }, { type: 'narrative', @@ -88,7 +89,8 @@ The **47-day-cert cliff**: {{certificate-authority|CA}}/Browser Forum **Ballot S { id: 'l4s-everywhere', title: 'L4S Everywhere', - synopsis: '{{l4s|L4S}}: sub-millisecond queuing {{latency|latency}} for cooperating flows โ€” Comcast launched in production January 2025.', + synopsis: + '{{l4s|L4S}}: sub-millisecond queuing {{latency|latency}} for cooperating flows โ€” Comcast launched in production January 2025.', slots: [ { kind: 'pull-quote', @@ -137,7 +139,7 @@ The unresolved political fight is **{{l4s|L4S}}-vs-classic fairness**: Scalable src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Cable_Modem.JPG/500px-Cable_Modem.JPG', alt: 'A DOCSIS cable modem โ€” the kind of last-mile device that ships L4S-capable AQM in 2024-2025.', caption: - 'A consumer **cable modem** โ€” the bit of hardware Comcast turned into the world\'s first production **{{l4s|L4S}}** deployment in **January 2025** across six US metros (Atlanta, Chicago, Colorado Springs, Philadelphia, Rockville MD, San Francisco). {{docsis|DOCSIS}} 4.0 modems ship {{l4s|L4S}}-capable Dual-Queue {{aqm|AQM}}; {{apple|Apple}} iOS 17 / macOS Sonoma added {{l4s|L4S}} support in 2023. Sub-millisecond queuing delay at full link utilisation, finally, after 15 years of {{bufferbloat|bufferbloat}}.', + "A consumer **cable modem** โ€” the bit of hardware Comcast turned into the world's first production **{{l4s|L4S}}** deployment in **January 2025** across six US metros (Atlanta, Chicago, Colorado Springs, Philadelphia, Rockville MD, San Francisco). {{docsis|DOCSIS}} 4.0 modems ship {{l4s|L4S}}-capable Dual-Queue {{aqm|AQM}}; {{apple|Apple}} iOS 17 / macOS Sonoma added {{l4s|L4S}} support in 2023. Sub-millisecond queuing delay at full link utilisation, finally, after 15 years of {{bufferbloat|bufferbloat}}.", credit: 'Photo: Wikimedia Commons / CC BY-SA' } ] @@ -152,7 +154,8 @@ The unresolved political fight is **{{l4s|L4S}}-vs-classic fairness**: Scalable { id: 'ipv6-mostly', title: 'IPv6-Mostly', - synopsis: 'On 28 March 2026, {{google|Google}}\'s [[ipv6|IPv6]] dashboard recorded 50.1% for the first time โ€” and [[ip|IPv4]] crossed under.', + synopsis: + "On 28 March 2026, {{google|Google}}'s [[ipv6|IPv6]] dashboard recorded 50.1% for the first time โ€” and [[ip|IPv4]] crossed under.", slots: [ { kind: 'pull-quote', @@ -204,7 +207,7 @@ The "everyone gets this wrong" detail: [[ipv6|IPv6]]'s mandatory-to-implement [[ src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Internet_map_1024.jpg/500px-Internet_map_1024.jpg', alt: 'A 2005 visualisation of the global internet topology with each line a BGP peering relationship.', caption: - 'A snapshot of the global internet, each line a [[bgp|BGP]] {{peering|peering}} relationship. The 28-year migration of this graph to [[ipv6|IPv6]] addressing finally crossed **50.1%** of {{google|Google}}\'s measured user base on **28 March 2026**. The driver was not advocacy; it was *economics* โ€” {{aws|AWS}}\'s **$0.005/{{ip-address|IP}}/hour charge from 1 February 2024** did more for v6 deployment in a year than two decades of standards work.', + "A snapshot of the global internet, each line a [[bgp|BGP]] {{peering|peering}} relationship. The 28-year migration of this graph to [[ipv6|IPv6]] addressing finally crossed **50.1%** of {{google|Google}}'s measured user base on **28 March 2026**. The driver was not advocacy; it was *economics* โ€” {{aws|AWS}}'s **$0.005/{{ip-address|IP}}/hour charge from 1 February 2024** did more for v6 deployment in a year than two decades of standards work.", credit: 'Image: The Opte Project / Wikimedia Commons, CC BY 2.5' } ] @@ -218,7 +221,8 @@ The "everyone gets this wrong" detail: [[ipv6|IPv6]]'s mandatory-to-implement [[ { id: 'rpki-aspa', title: 'RPKI + ASPA', - synopsis: '{{rpki|Cryptographic BGP}}, finally arriving โ€” 50% of [[ip|IPv4]] covered May 2024.', + synopsis: + '{{rpki|Cryptographic BGP}}, finally arriving โ€” 50% of [[ip|IPv4]] covered May 2024.', slots: [ { kind: 'pull-quote', @@ -259,7 +263,7 @@ The "everyone gets this wrong" detail: [[ipv6|IPv6]]'s mandatory-to-implement [[ }, { type: 'narrative', - title: 'When RPKI Backfires, And When It Doesn\'t', + title: "When RPKI Backfires, And When It Doesn't", text: `**Orange Espaรฑa, 3 January 2024**: a threat actor "Snow" used infostealer-harvested credentials to log in to Orange Spain's {{ripe-ncc|RIPE NCC}} account and edited ROAs to make legitimate prefixes {{rpki|RPKI}}-invalid โ€” the first major outage caused by **{{rpki|RPKI}} being too strict against an attacker-modified {{roa|ROA}} set**. Lesson: enforce 2FA on RIR portals. The vulnerability is not in {{rpki|RPKI}}; it is in the human-facing authentication surface around {{rpki|RPKI}}. **{{cloudflare|Cloudflare}} 1.1.1.1 hijack (27 June 2024)**: Brazilian {{isp|ISP}} Eletronet (AS267613) announced **1.1.1.1/32**. {{cloudflare|Cloudflare}} had a valid /24 {{roa|ROA}}, but ROAs cover up to maxLength /24, so a /32 announcement is not {{rpki|RPKI}}-invalid. Tier-1 {{peer|PEER}} 1 (AS1031) accepted and propagated. **300 networks in 70 countries lost 1.1.1.1.** The lesson: maxLength matters; sloppy {{roa|ROA}} configuration creates loopholes {{aspa|ASPA}} cannot close. @@ -287,7 +291,8 @@ The regulatory layer is moving too. **The {{fcc|FCC}} issued a Notice of Propose { id: 'ultra-ethernet', title: 'Ultra Ethernet', - synopsis: 'Replacing RoCEv2 in {{ai|AI}} training fabrics โ€” [[ethernet|Ultra Ethernet]] Specification 1.0 published 11 June 2025.', + synopsis: + 'Replacing RoCEv2 in {{ai|AI}} training fabrics โ€” [[ethernet|Ultra Ethernet]] Specification 1.0 published 11 June 2025.', slots: [ { kind: 'pull-quote', @@ -351,7 +356,8 @@ The commercial scale: **[[ethernet|Ethernet]] switching market exceeded $30B in { id: 'wifi-7-and-8', title: 'Wi-Fi 7 and 8', - synopsis: '[[wifi|Wi-Fi]] 7\'s 320 MHz, then [[wifi|Wi-Fi]] 8\'s 25% better {{tail-latency|tail latency}} target โ€” and the politics of 6 GHz.', + synopsis: + "[[wifi|Wi-Fi]] 7's 320 MHz, then [[wifi|Wi-Fi]] 8's 25% better {{tail-latency|tail latency}} target โ€” and the politics of 6 GHz.", slots: [ { kind: 'pull-quote', diff --git a/src/lib/data/book/parts/how-to-learn-more.ts b/src/lib/data/book/parts/how-to-learn-more.ts index d00cb1e..48564f0 100644 --- a/src/lib/data/book/parts/how-to-learn-more.ts +++ b/src/lib/data/book/parts/how-to-learn-more.ts @@ -18,7 +18,8 @@ export const howToLearnMore: BookPart = { { id: 'rfcs-to-read', title: 'RFCs Worth Reading', - synopsis: 'A guided tour with section pointers โ€” the documents that pay back the time investment.', + synopsis: + 'A guided tour with section pointers โ€” the documents that pay back the time investment.', slots: [ { kind: 'prose', @@ -102,7 +103,8 @@ For specialised areas: **Olivier Bonaventure, "Computer Networking: Principles, { id: 'courses', title: 'Courses', - synopsis: 'Stanford {{cs144-course|CS144}} (build a [[tcp|TCP]] stack), {{mit|MIT}} 6.829, Berkeley CS168.', + synopsis: + 'Stanford {{cs144-course|CS144}} (build a [[tcp|TCP]] stack), {{mit|MIT}} 6.829, Berkeley CS168.', slots: [ { kind: 'prose', @@ -137,7 +139,8 @@ For a self-paced path: read **{{rfc-doc|RFC}} 1180** (28 pages), then take **{{c { id: 'blogs', title: 'Blogs', - synopsis: '{{cloudflare|Cloudflare}}, {{meta|Meta}} Engineering, {{apnic|APNIC}} Labs, ipSpace.net.', + synopsis: + '{{cloudflare|Cloudflare}}, {{meta|Meta}} Engineering, {{apnic|APNIC}} Labs, ipSpace.net.', slots: [ { kind: 'prose', diff --git a/src/lib/data/book/parts/layer-2-3.ts b/src/lib/data/book/parts/layer-2-3.ts index b106ce3..2f3e302 100644 --- a/src/lib/data/book/parts/layer-2-3.ts +++ b/src/lib/data/book/parts/layer-2-3.ts @@ -20,7 +20,8 @@ export const layer23: BookPart = { { id: 'ethernet', title: 'Ethernet', - synopsis: 'From {{xerox-parc|PARC}} coaxial cable to [[ethernet|800 GbE]] in {{ai|AI}} training fabrics.', + synopsis: + 'From {{xerox-parc|PARC}} coaxial cable to [[ethernet|800 GbE]] in {{ai|AI}} training fabrics.', slots: [ { kind: 'pull-quote', @@ -87,7 +88,8 @@ The **[[frontier:ultra-ethernet-1-0|Ultra Ethernet Consortium]] Specification 1. { id: 'wifi', title: 'Wi-Fi', - synopsis: '{{csma-ca|CSMA/CA}} on the airwaves; from {{fcc|FCC}} Docket 81-413 to [[wifi|Wi-Fi]] 8.', + synopsis: + '{{csma-ca|CSMA/CA}} on the airwaves; from {{fcc|FCC}} Docket 81-413 to [[wifi|Wi-Fi]] 8.', slots: [ { kind: 'pull-quote', @@ -153,7 +155,8 @@ The breach that changed everything: **TJX (disclosed 17 January 2007)** โ€” atta { id: 'arp-and-ndp', title: 'ARP and NDP', - synopsis: 'How a {{packet|packet}} finds the next physical hop โ€” [[arp|STD 37]] has not been obsoleted in 44 years.', + synopsis: + 'How a {{packet|packet}} finds the next physical hop โ€” [[arp|STD 37]] has not been obsoleted in 44 years.', slots: [ { kind: 'prose', @@ -203,7 +206,7 @@ Two {{ndp|NDP}} CVEs deserve naming. src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/90/Ethernet_Switch_%28Front_View%29.jpg/500px-Ethernet_Switch_%28Front_View%29.jpg', alt: 'A rack-mounted Ethernet switch with rows of RJ-45 ports.', caption: - 'An [[ethernet|Ethernet]] switch โ€” the physical thing that builds and maintains a {{mac-address|MAC}}-address-to-port table for every device plugged in. Every entry in that table is a successful [[arp|ARP]] request: *who has 192.0.2.5? I do, at ab:cd:ef:01:02:03.* The switch caches; the host caches; the entire seam between the [[ip|IP]] layer\'s 32-bit addresses and the [[ethernet|Ethernet]] layer\'s 48-bit ones lives in those two caches.', + "An [[ethernet|Ethernet]] switch โ€” the physical thing that builds and maintains a {{mac-address|MAC}}-address-to-port table for every device plugged in. Every entry in that table is a successful [[arp|ARP]] request: *who has 192.0.2.5? I do, at ab:cd:ef:01:02:03.* The switch caches; the host caches; the entire seam between the [[ip|IP]] layer's 32-bit addresses and the [[ethernet|Ethernet]] layer's 48-bit ones lives in those two caches.", credit: 'Photo: Wikimedia Commons / CC BY-SA' } ] @@ -343,7 +346,7 @@ The 2024 {{ietf|IETF}} backlog tells the story of where [[ipv6|IPv6]] work is ha src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Ipv6_address_leading_zeros.svg/500px-Ipv6_address_leading_zeros.svg.png', alt: 'IPv6 address structure showing the eight 16-bit groups and the double-colon zero-compression rule.', caption: - 'An [[ipv6|IPv6]] address โ€” **128 bits**, written as eight colon-separated 16-bit groups, with one run of zeros collapsed to `::`. The field grew from [[ip|IPv4]]\'s 32 bits to enough that every grain of sand on Earth could have its own {{subnet|subnet}}. On 28 March 2026 {{google|Google}}\'s [[ipv6|IPv6]] dashboard crossed **50.1%** for the first time โ€” 28 years after [[rfc:2460|RFC 2460]] was published.', + "An [[ipv6|IPv6]] address โ€” **128 bits**, written as eight colon-separated 16-bit groups, with one run of zeros collapsed to `::`. The field grew from [[ip|IPv4]]'s 32 bits to enough that every grain of sand on Earth could have its own {{subnet|subnet}}. On 28 March 2026 {{google|Google}}'s [[ipv6|IPv6]] dashboard crossed **50.1%** for the first time โ€” 28 years after [[rfc:2460|RFC 2460]] was published.", credit: 'Image: Wikimedia Commons / CC BY-SA 4.0' } ] @@ -371,7 +374,7 @@ The 2024 {{ietf|IETF}} backlog tells the story of where [[ipv6|IPv6]] work is ha sections: [ { type: 'narrative', - title: 'Mike Muuss\'s One-Night Tool', + title: "Mike Muuss's One-Night Tool", text: `[[icmp|ICMP]] ([[rfc:792|RFC 792]], September 1981) is the protocol that lets the network tell you something is wrong without opening a connection. When a router drops your packet because the **{{ttl|TTL}}** hit zero, it sends an [[icmp|ICMP]] **{{time-exceeded|Time Exceeded}}** back to you โ€” the mechanism that **{{traceroute|traceroute}}** exploits to map every hop along a path. When a destination is unreachable, you get **Destination Unreachable**. When a router has too small an {{mtu|MTU}} for your packet and the **Don't Fragment** bit is set, it sends **{{fragmentation|Fragmentation}} Needed**, which is what **{{path-mtu-discovery|Path MTU Discovery}}** depends on. The most famous [[icmp|ICMP]] message is **{{echo-request|Echo Request}} / {{echo-reply|Echo Reply}}** โ€” what **{{ping|ping}}** sends. **Mike Muuss** wrote {{ping|ping}} at BRL Aberdeen **in December 1983 in a single night** after hearing Dave Mills describe Fuzzball {{latency|latency}}-timing experiments. He had to write the kernel raw-[[icmp|ICMP]] socket support too because it didn't exist. *"Had everything working well before sunrise."* @@ -428,7 +431,7 @@ The most famous [[icmp|ICMP]] message is **{{echo-request|Echo Request}} / {{ech slots: [ { kind: 'pull-quote', - text: '[[bgp|BGP]] doesn\'t have a real authentication story for 30+ years. The 16-byte all-ones Marker field at the start of every [[bgp|BGP]] message was originally a placeholder for an authentication digest โ€” now vestigial.', + text: "[[bgp|BGP]] doesn't have a real authentication story for 30+ years. The 16-byte all-ones Marker field at the start of every [[bgp|BGP]] message was originally a placeholder for an authentication digest โ€” now vestigial.", attribution: 'Author' }, { @@ -483,9 +486,9 @@ That sketch became [[rfc:4271|BGP-1]] ([[rfc:1105|RFC 1105]], June 1989), then [ { type: 'image', src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Arpanet_logical_map%2C_march_1977.png/500px-Arpanet_logical_map%2C_march_1977.png', - alt: 'ARPANET logical map, March 1977 โ€” predecessor topology to today\'s BGP-routed internet.', + alt: "ARPANET logical map, March 1977 โ€” predecessor topology to today's BGP-routed internet.", caption: - 'The {{arpanet|ARPANET}} logical map, March 1977 โ€” every node fits on a single sheet of paper. Today\'s [[bgp|BGP]] global {{routing-table|routing table}} has crossed **a million prefixes**, advertised by ~46,800 {{autonomous-system|ASes}}. [[pioneer:yakov-rekhter|Yakov Rekhter]] and Kirk Lougheed sketched the *Two-Napkin Protocol* in 1989 โ€” three handwritten sheets that became the protocol every {{transit|transit}} provider on Earth still speaks.', + "The {{arpanet|ARPANET}} logical map, March 1977 โ€” every node fits on a single sheet of paper. Today's [[bgp|BGP]] global {{routing-table|routing table}} has crossed **a million prefixes**, advertised by ~46,800 {{autonomous-system|ASes}}. [[pioneer:yakov-rekhter|Yakov Rekhter]] and Kirk Lougheed sketched the *Two-Napkin Protocol* in 1989 โ€” three handwritten sheets that became the protocol every {{transit|transit}} provider on Earth still speaks.", credit: 'Image: DARPA / public domain, via Wikimedia Commons' } ] @@ -504,7 +507,8 @@ That sketch became [[rfc:4271|BGP-1]] ([[rfc:1105|RFC 1105]], June 1989), then [ { id: 'dns', title: 'DNS', - synopsis: "[[dns|The naming layer]] every other protocol depends on โ€” designed by [[pioneer:paul-mockapetris|Paul Mockapetris]] in 1983.", + synopsis: + '[[dns|The naming layer]] every other protocol depends on โ€” designed by [[pioneer:paul-mockapetris|Paul Mockapetris]] in 1983.', slots: [ { kind: 'pull-quote', @@ -526,7 +530,7 @@ The first six TLDs were **\`.edu, .gov, .com, .mil, .org, .net\`**, with **\`.in { type: 'callout', title: '.onion is a special-use carve-out', - text: '**{{iana|IANA}} reserved `.onion` as a Special-Use Domain Name ([[rfc:7686|RFC 7686]], 2015) โ€” MUST NOT be looked up in public [[dns|DNS]].** A rare carve-out outside {{icann|ICANN}}\'s namespace, granted because the Tor protocol uses .onion as an internal addressing scheme rather than a public naming hierarchy. The reservation prevents accidental [[dns|DNS]] leakage of Tor traffic.' + text: "**{{iana|IANA}} reserved `.onion` as a Special-Use Domain Name ([[rfc:7686|RFC 7686]], 2015) โ€” MUST NOT be looked up in public [[dns|DNS]].** A rare carve-out outside {{icann|ICANN}}'s namespace, granted because the Tor protocol uses .onion as an internal addressing scheme rather than a public naming hierarchy. The reservation prevents accidental [[dns|DNS]] leakage of Tor traffic." }, { type: 'narrative', diff --git a/src/lib/data/book/parts/patterns-failures.ts b/src/lib/data/book/parts/patterns-failures.ts index b59b946..5ecf1a1 100644 --- a/src/lib/data/book/parts/patterns-failures.ts +++ b/src/lib/data/book/parts/patterns-failures.ts @@ -77,7 +77,7 @@ Modern protocols inherit the same idea. [[quic|QUIC]] has per-stream and per-con src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/TCP_Three-Way_Handshake.svg/500px-TCP_Three-Way_Handshake.svg.png', alt: 'TCP three-way handshake โ€” SYN, SYN-ACK, ACK between client and server.', caption: - 'The canonical **{{handshake|handshake}}**: [[tcp|TCP]]\'s **{{syn-cookies|SYN}} โ†’ {{syn-ack|SYN-ACK}} โ†’ {{ack|ACK}}** dance from [[rfc:9293|RFC 793]] in 1981. Every other {{handshake|handshake}} in this book โ€” [[tls|TLS]] {{client-hello|ClientHello}}/{{server-hello|ServerHello}}/Finished, [[ssh|SSH]] KEX, [[mqtt|MQTT]] {{mqtt-connect|CONNECT}}/CONNACK, [[sctp|SCTP]]\'s four-way {{cookie|Cookie}} {{exchange|exchange}} โ€” is a variation on this shape. Recognise the pattern once; recognise it in every other protocol you ever read.', + "The canonical **{{handshake|handshake}}**: [[tcp|TCP]]'s **{{syn-cookies|SYN}} โ†’ {{syn-ack|SYN-ACK}} โ†’ {{ack|ACK}}** dance from [[rfc:9293|RFC 793]] in 1981. Every other {{handshake|handshake}} in this book โ€” [[tls|TLS]] {{client-hello|ClientHello}}/{{server-hello|ServerHello}}/Finished, [[ssh|SSH]] KEX, [[mqtt|MQTT]] {{mqtt-connect|CONNECT}}/CONNACK, [[sctp|SCTP]]'s four-way {{cookie|Cookie}} {{exchange|exchange}} โ€” is a variation on this shape. Recognise the pattern once; recognise it in every other protocol you ever read.", credit: 'Image: Wikimedia Commons / public domain' } ] @@ -221,7 +221,7 @@ The arc: react to loss โ†’ react to delay โ†’ model the network โ†’ use explicit { type: 'callout', title: 'The unsolved problem: heterogeneous fairness', - text: 'Every congestion-control algorithm is fair to itself. Mix {{bbr|BBR}} with {{cubic|CUBIC}} on a shared bottleneck and {{bbr|BBR}} takes the lion\'s share. Mix {{l4s|L4S}} with classic flows in the wrong queue and {{l4s|L4S}} starves. Each new algorithm has had to fight not just for performance but for **coexistence** with the deployed base โ€” a constraint that consumes most of the engineering effort. {{bbrv3|BBRv3}} spent two years on coexistence work before it was production-ready.' + text: "Every congestion-control algorithm is fair to itself. Mix {{bbr|BBR}} with {{cubic|CUBIC}} on a shared bottleneck and {{bbr|BBR}} takes the lion's share. Mix {{l4s|L4S}} with classic flows in the wrong queue and {{l4s|L4S}} starves. Each new algorithm has had to fight not just for performance but for **coexistence** with the deployed base โ€” a constraint that consumes most of the engineering effort. {{bbrv3|BBRv3}} spent two years on coexistence work before it was production-ready." }, { type: 'image', diff --git a/src/lib/data/book/parts/realtime-av.ts b/src/lib/data/book/parts/realtime-av.ts index d2c09a0..da44d9f 100644 --- a/src/lib/data/book/parts/realtime-av.ts +++ b/src/lib/data/book/parts/realtime-av.ts @@ -74,7 +74,7 @@ Active 2025-2026 work in the {{ietf|IETF}} AVTCORE WG: **{{rfc-doc|RFC}} 9628 (2 src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Polycom_VSX_7000_with_2_video_conferencing_screens.JPG/500px-Polycom_VSX_7000_with_2_video_conferencing_screens.JPG', alt: 'A Polycom VSX 7000 video-conferencing system with two screens.', caption: - 'A **Polycom VSX 7000** video-conferencing system โ€” the early-2000s enterprise hardware whose audio and video both rode [[rtp|RTP]] under the hood. From the 1992 MBone audio-cast that produced [[rtp|RTP]]\'s wire format to today\'s ~2.5M-concurrent Discord voice fleet, the same {{sequence-number|Sequence Number}} + Timestamp + {{payload|Payload}} Type fields have carried voice and video across every generation of conferencing hardware.', + "A **Polycom VSX 7000** video-conferencing system โ€” the early-2000s enterprise hardware whose audio and video both rode [[rtp|RTP]] under the hood. From the 1992 MBone audio-cast that produced [[rtp|RTP]]'s wire format to today's ~2.5M-concurrent Discord voice fleet, the same {{sequence-number|Sequence Number}} + Timestamp + {{payload|Payload}} Type fields have carried voice and video across every generation of conferencing hardware.", credit: 'Photo: Wikimedia Commons / CC BY-SA' } ] @@ -90,7 +90,8 @@ Active 2025-2026 work in the {{ietf|IETF}} AVTCORE WG: **{{rfc-doc|RFC}} 9628 (2 { id: 'webrtc', title: 'WebRTC', - synopsis: '{{peer-to-peer|Peer-to-peer}} in the browser, {{ice|ICE}}/{{stun|STUN}}/{{turn|TURN}}, {{dtls|DTLS}}, {{srtp|SRTP}} โ€” and the only way for a browser to send a [[udp|UDP]] packet.', + synopsis: + '{{peer-to-peer|Peer-to-peer}} in the browser, {{ice|ICE}}/{{stun|STUN}}/{{turn|TURN}}, {{dtls|DTLS}}, {{srtp|SRTP}} โ€” and the only way for a browser to send a [[udp|UDP]] packet.', slots: [ { kind: 'pull-quote', @@ -146,7 +147,7 @@ Plan B [[sdp|SDP]] is fully gone now: deprecation-warned in Chrome M89 (Feb 2021 src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Video_Conference_Using_Laptop.jpg/500px-Video_Conference_Using_Laptop.jpg', alt: 'A laptop with a video conferencing application showing multiple participants.', caption: - 'A laptop video call โ€” what the [[webrtc|WebRTC]] stack actually produces in the user\'s seat. Underneath: a {{ble|BLE}}-discovered camera, {{ice-candidate|ICE candidate}} gathering, a {{dtls|DTLS}}-keyed {{srtp|SRTP}} flow over [[udp|UDP]], NetEQ in the audio path, libwebrtc compiled into the browser. **1.21 million lines of code** in libwebrtc โ€” three times the size of the Space Shuttle\'s onboard software, and it boots in under a second.', + "A laptop video call โ€” what the [[webrtc|WebRTC]] stack actually produces in the user's seat. Underneath: a {{ble|BLE}}-discovered camera, {{ice-candidate|ICE candidate}} gathering, a {{dtls|DTLS}}-keyed {{srtp|SRTP}} flow over [[udp|UDP]], NetEQ in the audio path, libwebrtc compiled into the browser. **1.21 million lines of code** in libwebrtc โ€” three times the size of the Space Shuttle's onboard software, and it boots in under a second.", credit: 'Photo: Wikimedia Commons / CC BY-SA' } ] @@ -160,7 +161,8 @@ Plan B [[sdp|SDP]] is fully gone now: deprecation-warned in Chrome M89 (Feb 2021 { id: 'sip-and-sdp', title: 'SIP and SDP', - synopsis: '[[pioneer:henning-schulzrinne|Henning Schulzrinne]] wrote three protocols ([[sip|SIP]], [[sdp|SDP]], [[rtp|RTP]]) that carry the world\'s phone calls.', + synopsis: + "[[pioneer:henning-schulzrinne|Henning Schulzrinne]] wrote three protocols ([[sip|SIP]], [[sdp|SDP]], [[rtp|RTP]]) that carry the world's phone calls.", slots: [ { kind: 'pull-quote', @@ -189,7 +191,7 @@ Twenty-eight years in, the protocol-version line is still \`v=0\`. The [[sdp|SDP { type: 'callout', title: 'The 911 outages keep happening', - text: 'The **AT&T 22 February 2024 outage** disconnected 125 million devices and blocked ~25,000 911 calls โ€” caused by a single misconfigured network element during expansion, surfacing as {{ims|IMS}}/[[sip|SIP]] registration failures. The **CenturyLink December 2018 911 outage** lost 911 service for 7.4 million Washington residents for 49 hours; 24,000 calls failed; Washington {{utc-time|UTC}} fined them $7.2 M. **{{volte|VoLTE}}/{{vonr|VoNR}} is the world\'s largest [[sip|SIP]] deployment** โ€” {{gsma|GSMA}} reports 310+ {{volte|VoLTE}} operators in 140+ countries and 45+ commercial {{vonr|VoNR}} networks by 2025 โ€” and the failure modes ripple straight into emergency services.' + text: "The **AT&T 22 February 2024 outage** disconnected 125 million devices and blocked ~25,000 911 calls โ€” caused by a single misconfigured network element during expansion, surfacing as {{ims|IMS}}/[[sip|SIP]] registration failures. The **CenturyLink December 2018 911 outage** lost 911 service for 7.4 million Washington residents for 49 hours; 24,000 calls failed; Washington {{utc-time|UTC}} fined them $7.2 M. **{{volte|VoLTE}}/{{vonr|VoNR}} is the world's largest [[sip|SIP]] deployment** โ€” {{gsma|GSMA}} reports 310+ {{volte|VoLTE}} operators in 140+ countries and 45+ commercial {{vonr|VoNR}} networks by 2025 โ€” and the failure modes ripple straight into emergency services." }, { type: 'narrative', @@ -231,11 +233,12 @@ The cryptography is slowly tightening: **{{rfc-doc|RFC}} 8760 (March 2020)** fin { id: 'hls-and-dash', title: 'HLS and DASH', - synopsis: '[[hls|HLS]] and [[dash|DASH]] โ€” adaptive bitrate over plain {{http-method|HTTP}}, and the {{m3u|M3U}} playlist Winamp left behind.', + synopsis: + '[[hls|HLS]] and [[dash|DASH]] โ€” adaptive bitrate over plain {{http-method|HTTP}}, and the {{m3u|M3U}} playlist Winamp left behind.', slots: [ { kind: 'pull-quote', - text: 'The world\'s most-deployed video protocol still starts every playlist with `#EXTM3U` โ€” the format Fraunhofer created in 1995 for WinPlay3 and Nullsoft popularised in Winamp on 21 April 1997.', + text: "The world's most-deployed video protocol still starts every playlist with `#EXTM3U` โ€” the format Fraunhofer created in 1995 for WinPlay3 and Nullsoft popularised in Winamp on 21 April 1997.", attribution: 'Author' }, { @@ -253,7 +256,7 @@ The trick was breaking the stream into **2-10 second segments**, each a regular { type: 'callout', title: 'M3U is a Winamp inheritance', - text: '[[hls|HLS]]\'s playlist format is **{{m3u|M3U}}**, which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by **Nullsoft\'s Winamp on 21 April 1997**. The world\'s most-deployed video protocol โ€” the one carrying every live sports event, every Netflix stream, every {{apple|Apple}} TV {{broadcast|broadcast}} โ€” still starts every playlist with `#EXTM3U`. The internet runs on inheritance.' + text: "[[hls|HLS]]'s playlist format is **{{m3u|M3U}}**, which was created in 1995 by Fraunhofer IIS for **WinPlay3** and popularised by **Nullsoft's Winamp on 21 April 1997**. The world's most-deployed video protocol โ€” the one carrying every live sports event, every Netflix stream, every {{apple|Apple}} TV {{broadcast|broadcast}} โ€” still starts every playlist with `#EXTM3U`. The internet runs on inheritance." }, { type: 'narrative', @@ -291,7 +294,7 @@ The post-Flash reality: **Adobe Flash Player retired on 31 December 2020**, kill src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Zpracovani_videa_HTTP_Live_Streaming.png/500px-Zpracovani_videa_HTTP_Live_Streaming.png', alt: 'HLS architecture diagram โ€” encoder produces multi-bitrate segments, CDN serves them, player adapts bitrate.', caption: - '**[[hls|HLS]]** architecture: an encoder produces parallel multi-bitrate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn|CDN}} serves them over plain {{http-method|HTTP}}; the client adapts bitrate between segments. Shipped 17 June 2009 with iPhone {{os|OS}} 3.0 / iPhone 3GS โ€” {{apple|Apple}}\'s play to dodge Flash and survive the 2008 3G {{firewall|firewall}} reality by reusing {{http-method|HTTP}}/443.', + "**[[hls|HLS]]** architecture: an encoder produces parallel multi-bitrate ladders of small .ts (or now .mp4 / CMAF) segments; a {{cdn|CDN}} serves them over plain {{http-method|HTTP}}; the client adapts bitrate between segments. Shipped 17 June 2009 with iPhone {{os|OS}} 3.0 / iPhone 3GS โ€” {{apple|Apple}}'s play to dodge Flash and survive the 2008 3G {{firewall|firewall}} reality by reusing {{http-method|HTTP}}/443.", credit: 'Image: Wikimedia Commons / CC BY-SA' } ] @@ -306,7 +309,8 @@ The post-Flash reality: **Adobe Flash Player retired on 31 December 2020**, kill { id: 'moq-transport', title: 'MoQ Transport', - synopsis: 'Sub-second live streaming over [[quic|QUIC]] โ€” the first {{ietf|IETF}} media transport that intentionally is not [[rtp|RTP]].', + synopsis: + 'Sub-second live streaming over [[quic|QUIC]] โ€” the first {{ietf|IETF}} media transport that intentionally is not [[rtp|RTP]].', slots: [ { kind: 'pull-quote', @@ -363,7 +367,7 @@ The conservative alternative: **[[rtp|RTP]]-over-[[quic|QUIC]] (RoQ)**. \`draft- src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/AT%26T_Picturephone_%2812721549765%29.jpg/500px-AT%26T_Picturephone_%2812721549765%29.jpg', alt: 'The 1964 AT&T Picturephone โ€” an early commercial video-call device.', caption: - 'The **AT&T Picturephone**, demonstrated at the 1964 World\'s Fair โ€” the first commercial live video over a telecommunications network. Sixty years and four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp|RTP]]/H.323 โ†’ [[webrtc|WebRTC]]), **MoQ over [[quic|QUIC]]** is the latest answer to the question the Picturephone asked: *how do you carry one-to-many live video at scale, in real time, over a network you do not own?* The current draft is `draft-{{ietf|ietf}}-moq-transport-17`; {{cloudflare|Cloudflare}} deployed MoQ relays across 330+ cities through 2025.', + "The **AT&T Picturephone**, demonstrated at the 1964 World's Fair โ€” the first commercial live video over a telecommunications network. Sixty years and four wholesale rewrites later (analog โ†’ ISDN โ†’ [[rtp|RTP]]/H.323 โ†’ [[webrtc|WebRTC]]), **MoQ over [[quic|QUIC]]** is the latest answer to the question the Picturephone asked: *how do you carry one-to-many live video at scale, in real time, over a network you do not own?* The current draft is `draft-{{ietf|ietf}}-moq-transport-17`; {{cloudflare|Cloudflare}} deployed MoQ relays across 330+ cities through 2025.", credit: 'Photo: AT&T Archives / Wikimedia Commons, public domain' } ] diff --git a/src/lib/data/book/parts/story-of-the-internet.ts b/src/lib/data/book/parts/story-of-the-internet.ts index 233e44e..5d50c26 100644 --- a/src/lib/data/book/parts/story-of-the-internet.ts +++ b/src/lib/data/book/parts/story-of-the-internet.ts @@ -20,7 +20,8 @@ export const storyOfTheInternet: BookPart = { { id: 'before-the-internet', title: 'Before the Internet', - synopsis: '{{xerox-parc|Xerox PARC}}, {{arpanet|ARPANET}}, {{ncp|NCP}} โ€” the three streams that flowed into [[tcp|TCP]]/[[ip|IP]].', + synopsis: + '{{xerox-parc|Xerox PARC}}, {{arpanet|ARPANET}}, {{ncp|NCP}} โ€” the three streams that flowed into [[tcp|TCP]]/[[ip|IP]].', slots: [ { kind: 'pull-quote', @@ -41,7 +42,7 @@ The third tradition was packet radio. ARPA's Packet Radio Network (PRNET, 1973) }, { type: 'callout', - title: "Why three? Because the problem was three problems.", + title: 'Why three? Because the problem was three problems.', text: 'Local fabric ([[ethernet|Ethernet]]), wide-area research backbone ({{arpanet|ARPANET}}), and unreliable wireless (PRNET/SATNET) each forced different design pressures. The architecture that won โ€” [[tcp|TCP]]/[[ip|IP]] โ€” is the one that took none of them as canonical and instead specified the **gluing** layer.' } ] @@ -62,7 +63,7 @@ The third tradition was packet radio. ARPA's Packet Radio Network (PRNET, 1973) src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Interface_Message_Processor_%28%22IMP%22%29_%282586235502%29.jpg/500px-Interface_Message_Processor_%28%22IMP%22%29_%282586235502%29.jpg', alt: 'A BBN-built Interface Message Processor (IMP) on display at the Computer History Museum.', caption: - 'An original {{bbn|BBN}} {{imp|Interface Message Processor}} ({{imp|IMP}}) โ€” the rugged minicomputer that served as {{arpanet|ARPANET}}\'s first router. The protocol that ran between IMPs is what [[tcp|TCP]]/[[ip|IP]] would later replace.', + "An original {{bbn|BBN}} {{imp|Interface Message Processor}} ({{imp|IMP}}) โ€” the rugged minicomputer that served as {{arpanet|ARPANET}}'s first router. The protocol that ran between IMPs is what [[tcp|TCP]]/[[ip|IP]] would later replace.", credit: 'Photo: Erik Pitti, CC BY 2.0, via Wikimedia Commons' } ] @@ -75,7 +76,8 @@ The third tradition was packet radio. ARPA's Packet Radio Network (PRNET, 1973) { id: 'the-1981-burst', title: 'The 1981โ€“83 Standardisation Burst', - synopsis: '[[rfc:791|RFC 791]]/792/793, the {{arpanet|ARPANET}} {{flag-day-1983|flag day}}, and {{ieee-802-15-4|IEEE}} 802.3 ratified โ€” three years that locked in the stack.', + synopsis: + '[[rfc:791|RFC 791]]/792/793, the {{arpanet|ARPANET}} {{flag-day-1983|flag day}}, and {{ieee-802-15-4|IEEE}} 802.3 ratified โ€” three years that locked in the stack.', slots: [ { kind: 'prose', @@ -123,7 +125,8 @@ This is the deepest principle of the era: **separate what changes together from { id: 'the-1986-collapse', title: 'The 1986 Congestion Collapse', - synopsis: '32 kbps to 40 bps in 400 yards โ€” and [[pioneer:van-jacobson|Van Jacobson]]\'s six-algorithm fix.', + synopsis: + "32 kbps to 40 bps in 400 yards โ€” and [[pioneer:van-jacobson|Van Jacobson]]'s six-algorithm fix.", slots: [ { kind: 'prose', @@ -222,7 +225,7 @@ By 1995, {{osi-model|OSI}} was effectively dead in production networks. CLNP sur sections: [ { type: 'narrative', - title: 'A Manager\'s Side Project', + title: "A Manager's Side Project", text: `In March 1989, **[[pioneer:tim-berners-lee|Tim Berners-Lee]]** circulated a memo at {{cern|CERN}} titled **"Information Management: A Proposal."** His manager, Mike Sendall, scribbled "vague but exciting" on the cover. The proposal described a system where documents on different machines could link to each other through hypertext, retrieved by a uniform addressing scheme. By Christmas 1990, on a NeXT workstation in his office, Berners-Lee had built the first **web server** (info.cern.ch), the first **web browser** (also a WYSIWYG editor), and the first three protocols he needed: {{http-method|HTTP}} for transport, {{html|HTML}} for markup, and URLs for addressing. The whole system rode on top of [[tcp|TCP]] โ€” that was the entire architectural assumption. It did not have to invent transport, ordering, {{retransmission|retransmission}}, or addressing. The internet had already solved those. @@ -253,14 +256,15 @@ The architectural lesson the web carried forward: an application that succeeds a { kind: 'pull-quote', text: 'Vague but exciting.', - attribution: 'Mike Sendall, on the cover of Berners-Lee\'s 1989 memo' + attribution: "Mike Sendall, on the cover of Berners-Lee's 1989 memo" } ] }, { id: 'mobile-and-bufferbloat', title: 'The Mobile and Bufferbloat Decade', - synopsis: '3G, 4G, the iPhone, and why your home internet is {{bufferbloat|laggy under load}}.', + synopsis: + '3G, 4G, the iPhone, and why your home internet is {{bufferbloat|laggy under load}}.', slots: [ { kind: 'prose', @@ -276,8 +280,9 @@ The fix took fifteen years. **{{aqm|Active queue management}}** (CoDel, fq_codel }, { type: 'callout', - title: 'Bufferbloat is the canonical example of well-meaning engineering creating a network-wide pathology.', - text: 'Adding more buffer seemed obviously good โ€” bursts wouldn\'t cause loss. But [[tcp|TCP]]\'s congestion-control loop **needed** loss as its signal. The fix was to push buffers back down and add explicit signalling ({{ecn|ECN}}) instead.' + title: + 'Bufferbloat is the canonical example of well-meaning engineering creating a network-wide pathology.', + text: "Adding more buffer seemed obviously good โ€” bursts wouldn't cause loss. But [[tcp|TCP]]'s congestion-control loop **needed** loss as its signal. The fix was to push buffers back down and add explicit signalling ({{ecn|ECN}}) instead." }, { type: 'image', @@ -326,7 +331,7 @@ This is the structural lesson of the late-2010s protocol-design era: **{{encrypt src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Google_Data_Center%2C_The_Dalles.jpg/500px-Google_Data_Center%2C_The_Dalles.jpg', alt: 'Google data center in The Dalles, Oregon โ€” where the gQUIC traffic was first deployed.', caption: - '{{google|Google}}\'s data center in **The Dalles, Oregon**. By 2014, every connection to *chrome.com* / *youtube.com* from a Chrome client was speaking experimental gQUIC over [[udp|UDP]] to one of these buildings. The fleet of users plus the fleet of servers is what gave {{google|Google}} the leverage to design a new transport โ€” and the leverage to *iterate* on it monthly instead of waiting decades for kernel rollouts.', + "{{google|Google}}'s data center in **The Dalles, Oregon**. By 2014, every connection to *chrome.com* / *youtube.com* from a Chrome client was speaking experimental gQUIC over [[udp|UDP]] to one of these buildings. The fleet of users plus the fleet of servers is what gave {{google|Google}} the leverage to design a new transport โ€” and the leverage to *iterate* on it monthly instead of waiting decades for kernel rollouts.", credit: 'Photo: Tony Webster, CC BY 2.0, via Wikimedia Commons' } ] diff --git a/src/lib/data/book/parts/transport.ts b/src/lib/data/book/parts/transport.ts index a31d184..c19a27e 100644 --- a/src/lib/data/book/parts/transport.ts +++ b/src/lib/data/book/parts/transport.ts @@ -20,7 +20,8 @@ export const transport: BookPart = { { id: 'tcp', title: 'TCP', - synopsis: '[[tcp|Reliable byte streams]], four decades of {{congestion-control|congestion control}}.', + synopsis: + '[[tcp|Reliable byte streams]], four decades of {{congestion-control|congestion control}}.', slots: [ { kind: 'pull-quote', @@ -51,7 +52,7 @@ Forty-five years after [[rfc:9293|RFC 793]] (September 1981), [[tcp|TCP]] is sti { type: 'callout', title: 'Three pre-existing security incidents from the 1990s', - text: '**[[tcp|TCP]] sequence-prediction (Mitnick 1994)** exploited predictable initial {{sequence-number|sequence numbers}} from {{bsd|BSD}}\'s linear {{isn|ISN}} counter. [[rfc:1948|RFC 1948]] (1996) replaced it with a cryptographically-hashed function of the four-tuple. **{{syn-cookies|SYN}} floods (mid-1990s)** exhausted server connection tables before {{syn-cookies|SYN cookies}} (Bernstein, [[rfc:4987|RFC 4987]]) made them {{stateless|stateless}}. **Smurf attacks (1997)** abused [[ip|IP]] {{broadcast|broadcast}} to amplify {{tcp-rst|TCP RST}} floods. Modern stacks defeat all three; the design lessons are baked into [[rfc:9293|RFC 9293]]\'s security considerations.' + text: "**[[tcp|TCP]] sequence-prediction (Mitnick 1994)** exploited predictable initial {{sequence-number|sequence numbers}} from {{bsd|BSD}}'s linear {{isn|ISN}} counter. [[rfc:1948|RFC 1948]] (1996) replaced it with a cryptographically-hashed function of the four-tuple. **{{syn-cookies|SYN}} floods (mid-1990s)** exhausted server connection tables before {{syn-cookies|SYN cookies}} (Bernstein, [[rfc:4987|RFC 4987]]) made them {{stateless|stateless}}. **Smurf attacks (1997)** abused [[ip|IP]] {{broadcast|broadcast}} to amplify {{tcp-rst|TCP RST}} floods. Modern stacks defeat all three; the design lessons are baked into [[rfc:9293|RFC 9293]]'s security considerations." }, { type: 'narrative', @@ -97,7 +98,8 @@ The vulnerability surface keeps producing CVEs. **{{cve|CVE}}-2019-11477 ({{sack { id: 'udp', title: 'UDP', - synopsis: '[[udp|Three pages of RFC]], no guarantees, ubiquitous โ€” and the substrate beneath [[quic|QUIC]].', + synopsis: + '[[udp|Three pages of RFC]], no guarantees, ubiquitous โ€” and the substrate beneath [[quic|QUIC]].', slots: [ { kind: 'pull-quote', @@ -199,7 +201,7 @@ The deeper lesson [[sctp|SCTP]] teaches is the lesson [[quic|QUIC]] applied: **i { type: 'callout', title: 'WebRTC Data Channels are SCTP under the hood', - text: 'There is one place [[sctp|SCTP]] runs successfully on the open internet: **[[webrtc|WebRTC]] Data Channels**. [[rfc:8831|RFC 8831]] defines the data channel as **[[sctp|SCTP]] over {{dtls|DTLS}} over [[udp|UDP]]** โ€” the [[sctp|SCTP]]-over-something-else trick [[quic|QUIC]] would later generalise. The browser implementations (libwebrtc, Firefox\'s networking stack) carry an [[sctp|SCTP]] stack in user space. [[webrtc|WebRTC]] is the largest production [[sctp|SCTP]] deployment by message count, even though almost nobody knows it.' + text: "There is one place [[sctp|SCTP]] runs successfully on the open internet: **[[webrtc|WebRTC]] Data Channels**. [[rfc:8831|RFC 8831]] defines the data channel as **[[sctp|SCTP]] over {{dtls|DTLS}} over [[udp|UDP]]** โ€” the [[sctp|SCTP]]-over-something-else trick [[quic|QUIC]] would later generalise. The browser implementations (libwebrtc, Firefox's networking stack) carry an [[sctp|SCTP]] stack in user space. [[webrtc|WebRTC]] is the largest production [[sctp|SCTP]] deployment by message count, even though almost nobody knows it." }, { type: 'narrative', @@ -328,7 +330,7 @@ The {{ietf|IETF}} [[quic|QUIC]] Working Group, formed in 2016, took {{google|Goo }, { type: 'narrative', - title: 'What\'s On the Frontier', + title: "What's On the Frontier", text: `The next ten years of transport innovation are all riding on [[quic|QUIC]]. **[[frontier:multipath-quic|Multipath QUIC]]** (\`draft-ietf-quic-multipath\`) entered IESG Last Call in December 2025. Inherits [[mptcp|MPTCP]]'s algorithmic ideas inside a transport that actually traverses middleboxes. @@ -348,7 +350,7 @@ By 2026, **{{meta|Meta}} reports >75% of internet-facing traffic on [[quic|QUIC] src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Google_Corkboard_Server_Rack.jpg/500px-Google_Corkboard_Server_Rack.jpg', alt: 'Early Google "corkboard" server rack โ€” bare motherboards mounted on cork backing, displayed at the Computer History Museum.', caption: - 'An early **{{google|Google}} corkboard server** โ€” the company that designed [[quic|QUIC]] in 2012 because it could no longer ship [[tcp|TCP]] improvements through kernel rollouts fast enough for its fleet. [[pioneer:jim-roskind|Jim Roskind]]\'s answer was to put a brand-new transport in *user space* on top of [[udp|UDP]], where it could iterate monthly and middleboxes would forward it unchanged.', + "An early **{{google|Google}} corkboard server** โ€” the company that designed [[quic|QUIC]] in 2012 because it could no longer ship [[tcp|TCP]] improvements through kernel rollouts fast enough for its fleet. [[pioneer:jim-roskind|Jim Roskind]]'s answer was to put a brand-new transport in *user space* on top of [[udp|UDP]], where it could iterate monthly and middleboxes would forward it unchanged.", credit: 'Photo: Wikimedia Commons / CC BY-SA' } ] diff --git a/src/lib/data/book/parts/utilities-security.ts b/src/lib/data/book/parts/utilities-security.ts index 6104f89..16549b9 100644 --- a/src/lib/data/book/parts/utilities-security.ts +++ b/src/lib/data/book/parts/utilities-security.ts @@ -12,13 +12,15 @@ export const utilitiesSecurity: BookPart = { id: 'utilities-security', title: 'Utilities & Security', label: 'IX', - description: 'The invisible plumbing โ€” [[tls|TLS]], [[ssh|SSH]], [[ntp|NTP]], the email stack, and authentication.', + description: + 'The invisible plumbing โ€” [[tls|TLS]], [[ssh|SSH]], [[ntp|NTP]], the email stack, and authentication.', chapters: [ // โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ { id: 'tls', title: 'TLS', - synopsis: '[[tls|From SSL 1.0]] (never released) to post-quantum hybrid by default in iOS 26.', + synopsis: + '[[tls|From SSL 1.0]] (never released) to post-quantum hybrid by default in iOS 26.', slots: [ { kind: 'pull-quote', @@ -73,7 +75,7 @@ Two more historical incidents to name: **goto fail ({{cve|CVE}}-2014-1266)** โ€” src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Digital_certificates_chain_of_trust.png/500px-Digital_certificates_chain_of_trust.png', alt: 'Digital certificate chain of trust diagram โ€” root CA, intermediate CA, end-entity certificate.', caption: - 'A **[[tls|TLS]] {{certificate-chain|certificate chain}} of trust**: a root {{certificate-authority|CA}} signs an intermediate CA, which signs the end-entity {{certificate|certificate}} your browser actually sees. Every HTTPS connection ends at a chain like this; DigiNotar\'s August 2011 compromise (531 fraudulent certs for 344 domains) is what forced **{{certificate-transparency|Certificate Transparency}}** into existence as a structural fix. The current frontier is 47-day cert lifetimes, mandatory by 15 March 2029.', + "A **[[tls|TLS]] {{certificate-chain|certificate chain}} of trust**: a root {{certificate-authority|CA}} signs an intermediate CA, which signs the end-entity {{certificate|certificate}} your browser actually sees. Every HTTPS connection ends at a chain like this; DigiNotar's August 2011 compromise (531 fraudulent certs for 344 domains) is what forced **{{certificate-transparency|Certificate Transparency}}** into existence as a structural fix. The current frontier is 47-day cert lifetimes, mandatory by 15 March 2029.", credit: 'Image: Wikimedia Commons / CC BY-SA' } ] @@ -92,7 +94,8 @@ Two more historical incidents to name: **goto fail ({{cve|CVE}}-2014-1266)** โ€” { id: 'ssh', title: 'SSH', - synopsis: '[[ssh|Encrypted shells]], port forwards, and {{scp-copy|SCP}} โ€” written by Tatu Ylรถnen in Helsinki, July 1995.', + synopsis: + '[[ssh|Encrypted shells]], port forwards, and {{scp-copy|SCP}} โ€” written by Tatu Ylรถnen in Helsinki, July 1995.', slots: [ { kind: 'pull-quote', @@ -160,7 +163,8 @@ The protocol uses **public-key cryptography** for host and user authentication, { id: 'ntp', title: 'NTP', - synopsis: '[[ntp|Why your timestamp is correct]] to within milliseconds โ€” and the era rollover on 7 February 2036.', + synopsis: + '[[ntp|Why your timestamp is correct]] to within milliseconds โ€” and the era rollover on 7 February 2036.', slots: [ { kind: 'pull-quote', @@ -184,7 +188,7 @@ A client samples the {{rtt|round-trip time}} to a server (call it ฮด) and the ap { type: 'callout', title: 'Era rollover: 7 February 2036 at 06:28:16 UTC', - text: '[[ntp|NTP]]\'s 64-bit timestamp uses the **[[ntp|NTP]] prime epoch, 1900-01-01 00:00:00 {{utc-time|UTC}}** โ€” older than {{arpanet|ARPANET}}, older than UNIX, older than every other timestamp standard in computing. Span = 2ยณยฒ s = **136.19 years per era**. **Era rollover is 7 February 2036 at 06:28:16 {{utc-time|UTC}}.** The protocol handles eras correctly via 64-bit math; many client implementations assume 32-bit and will need fixes before 2036. The Y2036 work has been quietly underway since 2020.' + text: "[[ntp|NTP]]'s 64-bit timestamp uses the **[[ntp|NTP]] prime epoch, 1900-01-01 00:00:00 {{utc-time|UTC}}** โ€” older than {{arpanet|ARPANET}}, older than UNIX, older than every other timestamp standard in computing. Span = 2ยณยฒ s = **136.19 years per era**. **Era rollover is 7 February 2036 at 06:28:16 {{utc-time|UTC}}.** The protocol handles eras correctly via 64-bit math; many client implementations assume 32-bit and will need fixes before 2036. The Y2036 work has been quietly underway since 2020." }, { type: 'narrative', @@ -217,7 +221,7 @@ A client samples the {{rtt|round-trip time}} to a server (call it ฮด) and the ap src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Nist-f1.jpg/500px-Nist-f1.jpg', alt: 'NIST-F1 caesium fountain atomic clock โ€” the US primary frequency standard.', caption: - '**{{nist|NIST}}-F1**, the caesium fountain atomic clock that has served as the US primary frequency standard since 1999. Accurate to about one second in 100 million years. [[pioneer:david-mills|David Mills]]\'s **[[ntp|NTP]]** (1985 โ€” Mills died 17 January 2024) is the protocol that flows this kind of accuracy out to every laptop, phone, and server on the internet, with Marzullo\'s 1984 consensus algorithm picking a sane median from a flock of stratum-1 sources.', + "**{{nist|NIST}}-F1**, the caesium fountain atomic clock that has served as the US primary frequency standard since 1999. Accurate to about one second in 100 million years. [[pioneer:david-mills|David Mills]]'s **[[ntp|NTP]]** (1985 โ€” Mills died 17 January 2024) is the protocol that flows this kind of accuracy out to every laptop, phone, and server on the internet, with Marzullo's 1984 consensus algorithm picking a sane median from a flock of stratum-1 sources.", credit: 'Photo: NIST / public domain, via Wikimedia Commons' } ] @@ -231,7 +235,8 @@ A client samples the {{rtt|round-trip time}} to a server (call it ฮด) and the ap { id: 'oauth-and-jwt', title: 'OAuth 2.1 and JWT', - synopsis: '[[oauth2|How modern apps delegate access]] โ€” and the most famous resignation in protocol history.', + synopsis: + '[[oauth2|How modern apps delegate access]] โ€” and the most famous resignation in protocol history.', slots: [ { kind: 'pull-quote', @@ -308,7 +313,8 @@ Before [[oauth2|OAuth]], an app that wanted access to your {{google|Google}} cal { id: 'email-stack', title: 'The Email Stack', - synopsis: '[[smtp|SMTP]] + [[imap|IMAP]], the protocol family that refused to die โ€” and the new bulk-sender enforcement.', + synopsis: + '[[smtp|SMTP]] + [[imap|IMAP]], the protocol family that refused to die โ€” and the new bulk-sender enforcement.', slots: [ { kind: 'pull-quote', @@ -367,7 +373,7 @@ His "Ten Commandments of How to Write an [[imap|IMAP]] client" still circulates; src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Email.svg/500px-Email.svg.png', alt: 'Email envelope icon โ€” stylised mail handler.', caption: - '**Email** โ€” the longest-running application of the internet. Ray Tomlinson at {{bbn|BBN}} picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel|Jon Postel]] published [[rfc:5321|RFC 821]] on port 25 in August 1982. Forty-four years later [[smtp|SMTP]] still relays your mail, [[imap|IMAP]] still serves your folders, and **{{dmarc|DMARC}} enforcement** at {{google|Google}} + Yahoo (from 1 February 2024) finally killed the easy spoofed-From address. The protocol is older than {{arpanet|ARPANET}}\'s {{flag-day-1983|flag day}}; the standards work is not done.', + "**Email** โ€” the longest-running application of the internet. Ray Tomlinson at {{bbn|BBN}} picked the **@** sign in 1971 modifying SNDMSG. [[pioneer:jon-postel|Jon Postel]] published [[rfc:5321|RFC 821]] on port 25 in August 1982. Forty-four years later [[smtp|SMTP]] still relays your mail, [[imap|IMAP]] still serves your folders, and **{{dmarc|DMARC}} enforcement** at {{google|Google}} + Yahoo (from 1 February 2024) finally killed the easy spoofed-From address. The protocol is older than {{arpanet|ARPANET}}'s {{flag-day-1983|flag day}}; the standards work is not done.", credit: 'Image: Wikimedia Commons / public domain' } ] diff --git a/src/lib/data/book/parts/web-api.ts b/src/lib/data/book/parts/web-api.ts index ab65816..c99bb82 100644 --- a/src/lib/data/book/parts/web-api.ts +++ b/src/lib/data/book/parts/web-api.ts @@ -57,7 +57,7 @@ That readability is the entire reason every developer can debug an HTTP problem { type: 'callout', title: 'The 6-connection cap is why HTTP/2 exists', - text: 'By 2009, web pages were averaging 90 requests across 15 origins. With 6 connections per origin, every page paid the cost of [[tcp|TCP]] setup repeatedly, and connections were {{imap-idle|idle}} most of the time. {{google|Google}}\'s {{spdy|SPDY}} experiment proposed {{multiplexing|multiplexing}} many requests over a single connection, with {{binary-framing|binary framing}}. {{spdy|SPDY}} became the seed of [[http2|HTTP/2]].' + text: "By 2009, web pages were averaging 90 requests across 15 origins. With 6 connections per origin, every page paid the cost of [[tcp|TCP]] setup repeatedly, and connections were {{imap-idle|idle}} most of the time. {{google|Google}}'s {{spdy|SPDY}} experiment proposed {{multiplexing|multiplexing}} many requests over a single connection, with {{binary-framing|binary framing}}. {{spdy|SPDY}} became the seed of [[http2|HTTP/2]]." }, { type: 'narrative', @@ -75,7 +75,7 @@ That readability is the entire reason every developer can debug an HTTP problem src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/HTTP_persistent_connection.svg/500px-HTTP_persistent_connection.svg.png', alt: 'HTTP persistent connection diagram โ€” multiple request/response pairs reusing the same TCP connection.', caption: - '**[[http1|HTTP/1.1]] persistent connections** โ€” request, response, request, response, all on the *same* [[tcp|TCP]] socket. The default in [[http1|HTTP/1.1]] (1997), and a quiet revolution after [[http1|HTTP/1.0]]\'s one-connection-per-request model. The reason a 1990s page-load of 90 small assets did not have to pay 90 {{syn-cookies|SYN}}/{{syn-ack|SYN-ACK}}/{{ack|ACK}} handshakes.', + "**[[http1|HTTP/1.1]] persistent connections** โ€” request, response, request, response, all on the *same* [[tcp|TCP]] socket. The default in [[http1|HTTP/1.1]] (1997), and a quiet revolution after [[http1|HTTP/1.0]]'s one-connection-per-request model. The reason a 1990s page-load of 90 small assets did not have to pay 90 {{syn-cookies|SYN}}/{{syn-ack|SYN-ACK}}/{{ack|ACK}} handshakes.", credit: 'Image: Wikimedia Commons / CC BY-SA 3.0' } ] @@ -91,7 +91,8 @@ That readability is the entire reason every developer can debug an HTTP problem { id: 'http2', title: 'HTTP/2', - synopsis: '{{binary-framing|Binary framing}}, streams, {{hpack|HPACK}} โ€” and the security saga that has not stopped.', + synopsis: + '{{binary-framing|Binary framing}}, streams, {{hpack|HPACK}} โ€” and the security saga that has not stopped.', slots: [ { kind: 'pull-quote', @@ -140,7 +141,7 @@ The pattern: each {{cve|CVE}} breaks an assumption that earlier mitigations had src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/HTTP_pipelining2.svg/500px-HTTP_pipelining2.svg.png', alt: 'HTTP/1.1 pipelining vs HTTP/2 multiplexing diagram, showing how multiple streams share one connection.', caption: - '[[http1|HTTP/1.1]] {{pipelining|pipelining}} vs [[http2|HTTP/2]] {{multiplexing|multiplexing}}. The 6-connection cap on [[http1|HTTP/1.1]] meant browsers paid the cost of [[tcp|TCP]] setup repeatedly; [[http2|HTTP/2]]\'s many-streams-on-one-connection model dropped page loads 30-40% in real-world measurements. The trade-off: a single {{retransmission|TCP retransmit}} now stalls *all* streams โ€” which is the {{head-of-line-blocking|head-of-line blocking}} problem [[http3|HTTP/3]] finally fixed.', + "[[http1|HTTP/1.1]] {{pipelining|pipelining}} vs [[http2|HTTP/2]] {{multiplexing|multiplexing}}. The 6-connection cap on [[http1|HTTP/1.1]] meant browsers paid the cost of [[tcp|TCP]] setup repeatedly; [[http2|HTTP/2]]'s many-streams-on-one-connection model dropped page loads 30-40% in real-world measurements. The trade-off: a single {{retransmission|TCP retransmit}} now stalls *all* streams โ€” which is the {{head-of-line-blocking|head-of-line blocking}} problem [[http3|HTTP/3]] finally fixed.", credit: 'Image: Wikimedia Commons / CC BY-SA 4.0' } ] @@ -213,7 +214,7 @@ The fix in flight is **in-kernel [[quic|QUIC]]**. Xin Long posted the first ~9,0 src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Full_TLS_1.3_Handshake.svg/500px-Full_TLS_1.3_Handshake.svg.png', alt: 'TLS 1.3 full handshake diagram showing ClientHello, ServerHello, certificate, finished messages in one round-trip.', caption: - 'The **[[tls|TLS]] 1.3** {{handshake|handshake}} โ€” one round-trip ([[rfc:8446|RFC 8446]], 2018), down from two in [[tls|TLS]] 1.2. [[http3|HTTP/3]]\'s headline win is *folding this entire {{handshake|handshake}} into the [[quic|QUIC]] transport {{handshake|handshake}}*, achieving **{{one-rtt|1-RTT}}** connection setup for new sessions and **{{zero-rtt|0-RTT}}** for resumption โ€” a flat 1-2 round-trips eliminated from every page load on mobile, where {{latency|latency}}, not {{bandwidth|bandwidth}}, is the bottleneck.', + "The **[[tls|TLS]] 1.3** {{handshake|handshake}} โ€” one round-trip ([[rfc:8446|RFC 8446]], 2018), down from two in [[tls|TLS]] 1.2. [[http3|HTTP/3]]'s headline win is *folding this entire {{handshake|handshake}} into the [[quic|QUIC]] transport {{handshake|handshake}}*, achieving **{{one-rtt|1-RTT}}** connection setup for new sessions and **{{zero-rtt|0-RTT}}** for resumption โ€” a flat 1-2 round-trips eliminated from every page load on mobile, where {{latency|latency}}, not {{bandwidth|bandwidth}}, is the bottleneck.", credit: 'Image: Wikimedia Commons / CC0' } ] @@ -231,7 +232,8 @@ The fix in flight is **in-kernel [[quic|QUIC]]**. Xin Long posted the first ~9,0 { id: 'rest-and-graphql', title: 'REST and GraphQL', - synopsis: '[[rest|REST]] and [[graphql|GraphQL]] โ€” two ways to model an {{api|API}}, and a 25-year argument over which one Fielding actually meant.', + synopsis: + '[[rest|REST]] and [[graphql|GraphQL]] โ€” two ways to model an {{api|API}}, and a 25-year argument over which one Fielding actually meant.', slots: [ { kind: 'prose', @@ -295,7 +297,8 @@ The choice between [[rest|REST]] and [[graphql|GraphQL]] is not strictly either/ { id: 'grpc', title: 'gRPC', - synopsis: '[[grpc|Typed RPC]] over [[http2|HTTP/2]] โ€” the microservices default for the controlled-both-sides case.', + synopsis: + '[[grpc|Typed RPC]] over [[http2|HTTP/2]] โ€” the microservices default for the controlled-both-sides case.', slots: [ { kind: 'pull-quote', @@ -340,7 +343,7 @@ Active 2024-2026 work in the [[grpc|gRPC]] working group includes: native [[http src: 'https://upload.wikimedia.org/wikipedia/commons/1/18/RPC_overview.png', alt: 'RPC overview diagram โ€” client stub, network, server stub, marshalling and unmarshalling parameters.', caption: - 'The **{{rpc|RPC}}** model that [[grpc|gRPC]] inherits from a 40-year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* serialises arguments, sends them over the network, and pretends to the caller that nothing happened. [[grpc|gRPC]]\'s contribution is **{{protocol-buffers|Protocol Buffers}}** (compact binary schema) + **[[http2|HTTP/2]] streams** as the transport. The model dominates service-to-service traffic inside every large engineering org since ~2019.', + "The **{{rpc|RPC}}** model that [[grpc|gRPC]] inherits from a 40-year lineage of Sun {{rpc|RPC}} / DCE / CORBA / Thrift. The client *stub* serialises arguments, sends them over the network, and pretends to the caller that nothing happened. [[grpc|gRPC]]'s contribution is **{{protocol-buffers|Protocol Buffers}}** (compact binary schema) + **[[http2|HTTP/2]] streams** as the transport. The model dominates service-to-service traffic inside every large engineering org since ~2019.", credit: 'Image: Wikimedia Commons / CC BY-SA' } ] @@ -354,7 +357,8 @@ Active 2024-2026 work in the [[grpc|gRPC]] working group includes: native [[http { id: 'websockets-and-sse', title: 'WebSockets and SSE', - synopsis: '[[websockets|WebSockets]] and [[sse|SSE]] โ€” {{server-push|server push}} two ways, and the [[sse|SSE]] renaissance via {{llm|LLM}} streaming.', + synopsis: + '[[websockets|WebSockets]] and [[sse|SSE]] โ€” {{server-push|server push}} two ways, and the [[sse|SSE]] renaissance via {{llm|LLM}} streaming.', slots: [ { kind: 'pull-quote', @@ -424,7 +428,8 @@ The choice between [[websockets|WebSocket]], [[sse|SSE]], and {{webtransport|Web { id: 'mcp-and-a2a', title: 'MCP and A2A', - synopsis: 'The protocol layer for {{ai|AI}} agents โ€” built deliberately boring on top of [[json-rpc|JSON-RPC]], {{http-method|HTTP}}, and [[sse|SSE]].', + synopsis: + 'The protocol layer for {{ai|AI}} agents โ€” built deliberately boring on top of [[json-rpc|JSON-RPC]], {{http-method|HTTP}}, and [[sse|SSE]].', slots: [ { kind: 'pull-quote', diff --git a/src/lib/data/book/parts/wireless.ts b/src/lib/data/book/parts/wireless.ts index c77c204..26726cf 100644 --- a/src/lib/data/book/parts/wireless.ts +++ b/src/lib/data/book/parts/wireless.ts @@ -45,7 +45,7 @@ Wired networking is a problem with a known solution. Wireless networking is thre }, { type: 'narrative', - title: "CSMA/CA โ€” the bedrock trick", + title: 'CSMA/CA โ€” the bedrock trick', text: `Wired [[ethernet|Ethernet]] uses **{{csma-cd|CSMA/CD}}** (Collision *Detection*): a station listens while it transmits, and the moment another station's signal collides with its own on the wire, both back off and retry. That trick is **impossible on radio**. Your own transmitter saturates your own receiver โ€” a wireless {{nic|NIC}} literally cannot hear another station while it is sending. Every wireless {{mac-address|MAC}} therefore uses **{{csma-ca|CSMA/CA}}** โ€” listen *before* you talk, plus a randomised back-off if the channel was busy, plus a mandatory {{ack|ACK}} after every {{unicast|unicast}} frame so the sender knows whether it got through. [[wifi|Wi-Fi]] calls it DCF (Distributed Coordination Function). Before each frame, a station senses the channel for a DIFS interval (28โ€“34 ยตs), picks a random slot from a contention window (initial CW = 15, doubled on collision up to 1023), and transmits if still {{imap-idle|idle}}. Every successful frame is ACKed after a SIFS gap (~10 ยตs); no {{ack|ACK}} in time is presumed to mean collision and the sender retries from a larger window. The ratio of *protocol overhead* to *{{payload|payload}} bytes* on a busy [[wifi|802.11]] channel routinely exceeds 50% โ€” which is why a Wi-Fi 6 {{access-point|access point}}'s nominal 9.6 Gbit/s shows up as 1โ€“2 Gbit/s of real throughput in a crowded room. @@ -55,7 +55,7 @@ Wired networking is a problem with a known solution. Wireless networking is thre { type: 'callout', title: 'The hidden-terminal problem in one sentence', - text: 'On a wired bus, every station hears every other station. On a radio, station A and station C may both hear {{access-point|AP}} B but **not each other** โ€” so they both think the channel is clear, both transmit at once, and both collide at B. The **{{hidden-terminal|RTS/CTS}}** option exists because of this; so does [[bluetooth|BLE]]\'s master-clocked frequency hopping; so does every [[cellular|cellular]] {{ran|RAN}}\'s centralised uplink scheduler. The same physics ripples through every wireless protocol design.' + text: "On a wired bus, every station hears every other station. On a radio, station A and station C may both hear {{access-point|AP}} B but **not each other** โ€” so they both think the channel is clear, both transmit at once, and both collide at B. The **{{hidden-terminal|RTS/CTS}}** option exists because of this; so does [[bluetooth|BLE]]'s master-clocked frequency hopping; so does every [[cellular|cellular]] {{ran|RAN}}'s centralised uplink scheduler. The same physics ripples through every wireless protocol design." }, { type: 'narrative', @@ -109,7 +109,7 @@ They coexist by a series of small accommodations. **Modern combo chips** ({{appl slots: [ { kind: 'pull-quote', - text: 'Wi-Fi 6\'s nominal 9.6 Gbit/s shows up as 1โ€“2 Gbit/s of real throughput in a crowded room, because more than half of the {{airtime|airtime}} is spent on DIFS gaps, {{ack|ACK}} frames, beacons, and back-off. The headline number is a physics fact; the delivered number is an {{airtime|airtime}} budget.', + text: "Wi-Fi 6's nominal 9.6 Gbit/s shows up as 1โ€“2 Gbit/s of real throughput in a crowded room, because more than half of the {{airtime|airtime}} is spent on DIFS gaps, {{ack|ACK}} frames, beacons, and back-off. The headline number is a physics fact; the delivered number is an {{airtime|airtime}} budget.", attribution: 'Author' }, { @@ -126,7 +126,7 @@ If you read Part III's Wi-Fi chapter first, this one is the second pass. If you }, { type: 'narrative', - title: "The CSMA/CA loop in real time", + title: 'The CSMA/CA loop in real time', text: `Every [[wifi|802.11]] transmission begins with a station deciding the channel is {{imap-idle|idle}}. The procedure (DCF โ€” Distributed Coordination Function) is mechanical: sense the channel for a **DIFS** interval of 28โ€“34 ยตs, pick a random slot from a contention window starting at CW = 15, count it down (each slot = 9 or 20 ยตs depending on {{phy|PHY}}), and transmit if the channel is still idle when the counter hits zero. If two stations pick the same slot, they collide; both double their CW (up to 1023) and try again. Every {{unicast|unicast}} frame must be {{ack|ACKed}} after a **SIFS** gap of ~10 ยตs. No {{ack|ACK}} means assumed collision and retransmit from a larger CW. {{ack|ACK}} frames are themselves unprotected by CSMA โ€” they fire SIFS-fast precisely so no other station has time to seize the channel between data and {{ack|ACK}}. @@ -136,7 +136,7 @@ The visible cost is **{{airtime|airtime}} overhead**. Add up DIFS + SIFS + {{ack { type: 'callout', title: 'RTS/CTS is the hidden-terminal escape hatch', - text: 'When two stations cannot hear each other but both hear the {{access-point|AP}}, they need the {{hidden-terminal|hidden-terminal}} fix: send a tiny **Request To Send**, wait for the {{ap-access-point|AP}}\'s **Clear To Send** which every other station within range will also hear, then transmit during the announced duration. {{rts-cts|RTS/CTS}} is *optional* and trades {{latency|latency}} for {{airtime|airtime}} certainty โ€” it adds two extra frames to every transmission, so it is on by default only for frames larger than a configurable threshold (often 2,346 bytes โ€” i.e., never in practice). Networks that {{turn|turn}} it on aggressively tend to be airport halls and convention centres where dozens of clients are routinely behind a column from each other.' + text: "When two stations cannot hear each other but both hear the {{access-point|AP}}, they need the {{hidden-terminal|hidden-terminal}} fix: send a tiny **Request To Send**, wait for the {{ap-access-point|AP}}'s **Clear To Send** which every other station within range will also hear, then transmit during the announced duration. {{rts-cts|RTS/CTS}} is *optional* and trades {{latency|latency}} for {{airtime|airtime}} certainty โ€” it adds two extra frames to every transmission, so it is on by default only for frames larger than a configurable threshold (often 2,346 bytes โ€” i.e., never in practice). Networks that {{turn|turn}} it on aggressively tend to be airport halls and convention centres where dozens of clients are routinely behind a column from each other." }, { type: 'narrative', @@ -161,7 +161,7 @@ The real headline feature of [[wifi|Wi-Fi]] 8 / 802.11bn is more honest about th { type: 'callout', title: 'Power management is the hidden battery story', - text: '802.11ax introduced **{{target-wake-time|Target Wake Time}}** โ€” a client and {{access-point|AP}} pre-negotiate exact wake-up windows, so the client\'s radio stays deeply asleep between scheduled appointments. Originally aimed at low-power IoT (years on a coin cell), it is now what extends smartphone battery life on busy networks. **{{bss-coloring|BSS Coloring}}** added a 6-bit color field so a station can tell its own {{ap-access-point|AP}}\'s transmissions from a neighbour\'s on the same channel, and apply a relaxed clear-channel threshold โ€” recovering {{airtime|airtime}} that classic carrier sense would have forfeited. Both features are why Wi-Fi 6/7 outperforms Wi-Fi 5 in *exactly the apartment buildings and shopping centres* where Wi-Fi 5 used to grind to a halt.' + text: "802.11ax introduced **{{target-wake-time|Target Wake Time}}** โ€” a client and {{access-point|AP}} pre-negotiate exact wake-up windows, so the client's radio stays deeply asleep between scheduled appointments. Originally aimed at low-power IoT (years on a coin cell), it is now what extends smartphone battery life on busy networks. **{{bss-coloring|BSS Coloring}}** added a 6-bit color field so a station can tell its own {{ap-access-point|AP}}'s transmissions from a neighbour's on the same channel, and apply a relaxed clear-channel threshold โ€” recovering {{airtime|airtime}} that classic carrier sense would have forfeited. Both features are why Wi-Fi 6/7 outperforms Wi-Fi 5 in *exactly the apartment buildings and shopping centres* where Wi-Fi 5 used to grind to a halt." }, { type: 'narrative', @@ -261,7 +261,7 @@ The pattern is simple: BLE has the **right discovery + power profile** to be the }, { type: 'narrative', - title: "LE Audio, Auracast, and the hearing-loop replacement story", + title: 'LE Audio, Auracast, and the hearing-loop replacement story', text: `**{{le-audio|LE Audio}}** is the 2020+ rebuild of Bluetooth audio, defined across Core 5.2+ and a stack of profiles (BAP, PBP, TMAP, HAP). It runs over **Isochronous Channels** โ€” Connected Isochronous Streams (CIS) for {{unicast|unicast}} earbuds and hearing aids, {{broadcast|Broadcast}} Isochronous Streams ({{bis-broadcast|BIS}}) for one-to-many. The mandatory {{codec|codec}} is **{{lc3|LC3}}** ({{sig|SIG}} + Fraunhofer IIS + Ericsson, January 2020), roughly 2ร— more battery-efficient than the 1990s SBC {{codec|codec}} at equivalent quality. The cultural moment is **{{auracast|Auracast}}** โ€” the {{sig|SIG}}'s brand for **{{broadcast|Broadcast}} Isochronous Streams** ({{bis-broadcast|BIS}}) over {{le-audio|LE Audio}} + {{lc3|LC3}}, one transmitter to unlimited listeners. Public venues replace analog hearing-loops with an {{auracast|Auracast}} {{broadcast|broadcast}}; nearby listeners scan, pick a stream, and tune in. **Frankfurt Airport became the first airport in the world to {{broadcast|broadcast}} all gate announcements over {{auracast|Auracast}} on 28 January 2026**. Cinemas, theatres, gyms, lecture halls, and houses of worship are deploying similar setups through 2026 and 2027. @@ -296,7 +296,7 @@ The 2022 attack is the canonical case study for why every credential standard si src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Bluetooth.svg/250px-Bluetooth.svg.png', alt: 'The Bluetooth logo โ€” a bind-rune combining Hagall and Bjarkan, the initials of Harald Blรฅtand.', caption: - 'The **[[bluetooth|Bluetooth]]** logo: a bind-rune combining **Hagall** (แšผ = H) and **Bjarkan** (แ›’ = B) โ€” *Harald Blรฅtand*\'s initials in Younger Futhark. [[pioneer:jim-kardach|Jim Kardach]] of {{intel|Intel}} proposed the name on a Toronto pub crawl in 1997 after the 10th-century Danish king who united Denmark and Norway. It was supposed to be a placeholder.', + "The **[[bluetooth|Bluetooth]]** logo: a bind-rune combining **Hagall** (แšผ = H) and **Bjarkan** (แ›’ = B) โ€” *Harald Blรฅtand*'s initials in Younger Futhark. [[pioneer:jim-kardach|Jim Kardach]] of {{intel|Intel}} proposed the name on a Toronto pub crawl in 1997 after the 10th-century Danish king who united Denmark and Norway. It was supposed to be a placeholder.", credit: 'Image: Bluetooth SIG trademark, via Wikimedia Commons' } ] @@ -345,7 +345,7 @@ Read that sentence again. **The control plane of every 5G carrier on Earth is no { type: 'callout', title: 'The largest enterprise IPsec deployment on Earth', - text: 'Every interface between the [[cellular|cellular]] {{ran|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in [[ipsec|IPsec ESP]] per {{3gpp|3GPP}} {{ts-3gpp|TS}} 33.501. With ~9 billion subscribers and tens of millions of base stations worldwide, the [[cellular|cellular]] backhaul is the single largest production [[ipsec|IPsec]] deployment that exists. [[pioneer:andreas-steffen|Andreas Steffen]]\'s strongSwan, {{cisco|Cisco}} IOS, and Juniper {{junos|Junos}} run more [[ipsec|IPsec]] tunnels inside one [[cellular|cellular]] operator than the entire enterprise {{vpn|VPN}} market combined.' + text: "Every interface between the [[cellular|cellular]] {{ran|radio access network}} and the core (N2/N3 in 5G, S1 in {{lte|LTE}}) is wrapped in [[ipsec|IPsec ESP]] per {{3gpp|3GPP}} {{ts-3gpp|TS}} 33.501. With ~9 billion subscribers and tens of millions of base stations worldwide, the [[cellular|cellular]] backhaul is the single largest production [[ipsec|IPsec]] deployment that exists. [[pioneer:andreas-steffen|Andreas Steffen]]'s strongSwan, {{cisco|Cisco}} IOS, and Juniper {{junos|Junos}} run more [[ipsec|IPsec]] tunnels inside one [[cellular|cellular]] operator than the entire enterprise {{vpn|VPN}} market combined." }, { type: 'narrative', @@ -409,7 +409,7 @@ The shape rhymes with the rest of this Part. Every wireless protocol's cryptogra src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Cellular_network_standards_and_generation_timeline.svg/500px-Cellular_network_standards_and_generation_timeline.svg.png', alt: 'Timeline of cellular network standards from 1G through 5G, by generation.', caption: - '**Fifty years of [[cellular|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lte|LTE}}, and {{5g-nr|5G NR}}. Each generation redrew both the air interface and the core network on roughly a decade\'s cadence, while the {{3gpp|3GPP}} Release calendar kept ticking every ~18 months. **6G** is in pre-standardisation now; first commercial deployments expected around 2030.', + "**Fifty years of [[cellular|cellular]]** โ€” from 1G analog AMPS / TACS / NMT in the early 1980s through 2G {{gsm|GSM}} / IS-95, 3G {{wcdma|WCDMA}} / CDMA2000, 4G {{lte|LTE}}, and {{5g-nr|5G NR}}. Each generation redrew both the air interface and the core network on roughly a decade's cadence, while the {{3gpp|3GPP}} Release calendar kept ticking every ~18 months. **6G** is in pre-standardisation now; first commercial deployments expected around 2030.", credit: 'Image: Wikimedia Commons / CC BY-SA 4.0' } ] @@ -473,7 +473,7 @@ Seven APDUs, ~300 ms, and the latte is paid for.` }, { type: 'narrative', - title: "Tokenisation โ€” why your real card number never leaves the bank", + title: 'Tokenisation โ€” why your real card number never leaves the bank', text: `{{apple|Apple}}'s 9 September 2014 launch was not just "we added an [[nfc|NFC]] chip to the iPhone." It was a *tokenisation revolution* baked into the architecture. The cardholder's real **Funding {{pan-id|PAN}} (FPAN)** never reaches the device. The bank issues a **Device {{pan-id|PAN}} ({{dpan|DPAN}})** instead, provisioned via the Token Service Provider (Visa Token Service or Mastercard Digital Enablement Service) into the {{ese|embedded Secure Element}} or the {{hce|HCE}} keystore. Every tap generates a per-transaction {{emv-cryptogram|cryptogram}} bound to the {{dpan|DPAN}}, the **{{atc|ATC}}** (Application Transaction Counter), and the **Unpredictable Number** from the terminal. A stolen {{dpan|DPAN}} is worthless without the keys in the {{se-secure-element|SE}}; a stolen cryptogram is worthless because the {{atc|ATC}} has already moved on. This is the reason **{{apple|Apple}} Pay fraud rates in 2026 are broadly in line with card-not-present rates** โ€” much better than physical-card-present fraud at unattended terminals โ€” despite the initial 2015 *"yellow path"* enrolment disaster where social-engineered phone agents over-approved fraudulent provisioning. @@ -616,7 +616,7 @@ The unlock dance: {{ble|BLE}} advertising from the car โ†’ {{ble|BLE}} pairing + }, { type: 'narrative', - title: "Regional masks, Japan, and the global-product problem", + title: 'Regional masks, Japan, and the global-product problem', text: `{{fcc|FCC}} Part 15.519 caps average power-spectral-density at **โˆ’41.3 dBm/MHz** across 3.1โ€“10.6 GHz. {{etsi|ETSI}} EN 302 065 in Europe is similar but with stricter Detect-and-Avoid requirements in some sub-bands. **Japan** applies a different mask with restrictions in 7.25โ€“7.75 GHz that overlap Channel 9 โ€” {{apple|Apple}}'s iPhone reduces or disables [[uwb|UWB]] features (Precision Finding, Find People) in Japan and a handful of other countries. The practical effect for a global consumer product: **(a)** geo-fence [[uwb|UWB]] features based on locale, **(b)** default to **Channel 5** in Japan and a handful of other restricted jurisdictions, **(c)** support a *no-UWB* mode entirely for countries where [[uwb|UWB]] is not permitted (a few small markets). This is one of the underappreciated reasons [[uwb|UWB]] consumer adoption is slower than {{ble|BLE}} or [[wifi|Wi-Fi]] โ€” *the regulatory map is fragmented*, and every iPhone software release ships a different list of countries where Precision Finding works. @@ -628,7 +628,7 @@ The contrast with [[nfc|NFC]] is instructive: [[nfc|NFC]] operates in the global src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Apple_AirTag.svg/330px-Apple_AirTag.svg.png', alt: 'An Apple AirTag โ€” a small round white tracker with the Apple logo.', caption: - 'The **{{apple|Apple}} AirTag**, $29, shipped 30 April 2021. Inside: a battery, a {{ble|BLE}} radio, a speaker, and the **{{apple|Apple}} {{u1-chip|U1}} chip** โ€” the [[uwb|UWB]] silicon that gave consumer [[uwb|UWB]] its first mass-market product. Precision Finding\'s arrow-and-distance display swept the world\'s awareness of [[uwb|UWB]] into one purchase. ABI projects [[uwb|UWB]] phone penetration rising from 27% in 2025 to 52% by 2030 โ€” the same adoption curve [[nfc|NFC]] followed a decade earlier.', + "The **{{apple|Apple}} AirTag**, $29, shipped 30 April 2021. Inside: a battery, a {{ble|BLE}} radio, a speaker, and the **{{apple|Apple}} {{u1-chip|U1}} chip** โ€” the [[uwb|UWB]] silicon that gave consumer [[uwb|UWB]] its first mass-market product. Precision Finding's arrow-and-distance display swept the world's awareness of [[uwb|UWB]] into one purchase. ABI projects [[uwb|UWB]] phone penetration rising from 27% in 2025 to 52% by 2030 โ€” the same adoption curve [[nfc|NFC]] followed a decade earlier.", credit: 'Image: Apple Inc. trademark / Wikimedia Commons' } ] @@ -651,7 +651,7 @@ The contrast with [[nfc|NFC]] is instructive: [[nfc|NFC]] operates in the global slots: [ { kind: 'pull-quote', - text: "Philips Hue's 2012 {{apple|Apple}} Store launch never said \"Zigbee\" out loud. The press release mentioned ZigBee LightLink exactly once; the in-store materials, packaging, and iOS app strenuously avoided the term. The customer was sold *web-enabled* lighting. The canonical example of a successful protocol whose user-visible brand is the product, not the standard.", + text: 'Philips Hue\'s 2012 {{apple|Apple}} Store launch never said "Zigbee" out loud. The press release mentioned ZigBee LightLink exactly once; the in-store materials, packaging, and iOS app strenuously avoided the term. The customer was sold *web-enabled* lighting. The canonical example of a successful protocol whose user-visible brand is the product, not the standard.', attribution: 'Author' }, { @@ -701,7 +701,7 @@ In 2026, **new device design has bifurcated**. Lighting and sensors are increasi { type: 'callout', title: "Matter's commitment, in three sentences", - text: 'The {{sig-bluetooth-acronym|CSA}} launched **{{matter|Matter}} 1.0 on 4 October 2022** as an {{ip-address|IP}}-native smart-home standard, running over [[wifi|Wi-Fi]], [[ethernet|Ethernet]], and {{thread|Thread}}. {{matter|Matter}} does **not** run over [[zigbee|Zigbee]] on the wire โ€” but it reuses Zigbee\'s {{zcl|ZCL}} data model directly, which lets a *{{matter|Matter}} Bridge for non-{{matter|Matter}} devices* (Hue Bridge, Aqara Hub M3) translate {{matter|Matter}} operations to Zigbee one-to-one. Now at **v1.5 (20 November 2025)**, with camera streaming via RTSP, removing the last category that previously required Zigbee bridging.' + text: "The {{sig-bluetooth-acronym|CSA}} launched **{{matter|Matter}} 1.0 on 4 October 2022** as an {{ip-address|IP}}-native smart-home standard, running over [[wifi|Wi-Fi]], [[ethernet|Ethernet]], and {{thread|Thread}}. {{matter|Matter}} does **not** run over [[zigbee|Zigbee]] on the wire โ€” but it reuses Zigbee's {{zcl|ZCL}} data model directly, which lets a *{{matter|Matter}} Bridge for non-{{matter|Matter}} devices* (Hue Bridge, Aqara Hub M3) translate {{matter|Matter}} operations to Zigbee one-to-one. Now at **v1.5 (20 November 2025)**, with camera streaming via RTSP, removing the last category that previously required Zigbee bridging." }, { type: 'narrative', @@ -753,7 +753,7 @@ For the home-automation hobbyist, the **{{matter|Matter}} bridge** is the right id: 'security-across-the-wireless-family', title: 'Security across the wireless family', synopsis: - 'One arc covering {{krack|KRACK}}, {{knob-attack|KNOB}}/{{bias-attack|BIAS}}/{{bluffs-attack|BLUFFS}}, FragAttacks, {{mifare|MIFARE}} Crypto1, the 2022 Tesla [[bluetooth|BLE]] relay, the Ghost Peak [[uwb|UWB]] {{sts|STS}} attack, and the {{ss7|SS7}} / {{diameter|Diameter}} trust holdover โ€” every wireless protocol\'s negotiation logic, broken on stage at least once.', + "One arc covering {{krack|KRACK}}, {{knob-attack|KNOB}}/{{bias-attack|BIAS}}/{{bluffs-attack|BLUFFS}}, FragAttacks, {{mifare|MIFARE}} Crypto1, the 2022 Tesla [[bluetooth|BLE]] relay, the Ghost Peak [[uwb|UWB]] {{sts|STS}} attack, and the {{ss7|SS7}} / {{diameter|Diameter}} trust holdover โ€” every wireless protocol's negotiation logic, broken on stage at least once.", slots: [ { kind: 'pull-quote', @@ -874,7 +874,7 @@ Every chapter in this Part has security stories. This chapter ties them together slots: [ { kind: 'pull-quote', - text: '{{spectrum|Spectrum}} policy moves on a four-year clock; the technology runs ten years faster. Every wireless protocol\'s deployment is gated by a regulator nobody on the engineering team has met.', + text: "{{spectrum|Spectrum}} policy moves on a four-year clock; the technology runs ten years faster. Every wireless protocol's deployment is gated by a regulator nobody on the engineering team has met.", attribution: 'Author' }, { @@ -903,7 +903,7 @@ The lower 6 GHz band (5.925โ€“6.425 GHz) is **Low-Power Indoor (LPI)** โ€” licen { type: 'callout', title: 'CBRS and the three-tier sharing experiment', - text: 'The US **{{cbrs|Citizens Broadband Radio Service}}** band โ€” 3.55โ€“3.7 GHz โ€” is the US regulator\'s **experiment in dynamic {{spectrum|spectrum}} sharing**. Three tiers coexist: **Incumbent** (US Navy radars get absolute priority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and **General Authorized Access** (anyone with a certified device). A cloud service called the **{{spectrum|Spectrum}} Access System** arbitrates in real time โ€” telling each device which channels and power levels it may use right now based on Navy radar activity. Powers Private 4G {{lte|LTE}} / 5G deployments at ports (Port of Long Beach), mines, hospitals, manufacturing plants, and stadiums. The largest production use of *database-arbitrated coexistence* anywhere on Earth. Europe has experimented with similar concepts (PMSE in the UK, {{lsa|LSA}} in some EU pilots) but has not deployed at {{cbrs|CBRS}} scale.' + text: "The US **{{cbrs|Citizens Broadband Radio Service}}** band โ€” 3.55โ€“3.7 GHz โ€” is the US regulator's **experiment in dynamic {{spectrum|spectrum}} sharing**. Three tiers coexist: **Incumbent** (US Navy radars get absolute priority), **Priority Access Licensees** (PALs, auctioned in 2020 for ~$4.5B), and **General Authorized Access** (anyone with a certified device). A cloud service called the **{{spectrum|Spectrum}} Access System** arbitrates in real time โ€” telling each device which channels and power levels it may use right now based on Navy radar activity. Powers Private 4G {{lte|LTE}} / 5G deployments at ports (Port of Long Beach), mines, hospitals, manufacturing plants, and stadiums. The largest production use of *database-arbitrated coexistence* anywhere on Earth. Europe has experimented with similar concepts (PMSE in the UK, {{lsa|LSA}} in some EU pilots) but has not deployed at {{cbrs|CBRS}} scale." }, { type: 'narrative', @@ -961,7 +961,7 @@ Whether [[cellular|cellular]] {{ambient-iot|Ambient IoT}} actually displaces the { type: 'callout', title: 'The four-year clock and the two-year clock', - text: 'Two clocks set the pace of wireless. The first is the **{{wrc|World Radiocommunication Conference}}**, every 3โ€“4 years, where the world\'s {{spectrum|spectrum}} allocations are renegotiated by treaty. **{{wrc|WRC-27}}** is the next major event โ€” terahertz bands for 6G, harmonisation of {{direct-to-cell|Direct-to-Cell}} bands, the 6 GHz EU upper-band decision. The second is the **{{3gpp|3GPP}} Release cycle**, every ~18 months โ€” Release 19 in flight, Release 20 (6G study items) kicking off. Together they decide what wireless protocols you can build, where, when. The {{ietf|IETF}} model โ€” *rough consensus and running code, two-week sprints* โ€” does not apply at this layer. {{spectrum|Spectrum}} and cellular standards run on geological time, and that is the constraint every wireless engineer eventually meets.' + text: "Two clocks set the pace of wireless. The first is the **{{wrc|World Radiocommunication Conference}}**, every 3โ€“4 years, where the world's {{spectrum|spectrum}} allocations are renegotiated by treaty. **{{wrc|WRC-27}}** is the next major event โ€” terahertz bands for 6G, harmonisation of {{direct-to-cell|Direct-to-Cell}} bands, the 6 GHz EU upper-band decision. The second is the **{{3gpp|3GPP}} Release cycle**, every ~18 months โ€” Release 19 in flight, Release 20 (6G study items) kicking off. Together they decide what wireless protocols you can build, where, when. The {{ietf|IETF}} model โ€” *rough consensus and running code, two-week sprints* โ€” does not apply at this layer. {{spectrum|Spectrum}} and cellular standards run on geological time, and that is the constraint every wireless engineer eventually meets." }, { type: 'narrative', diff --git a/src/lib/data/category-deep-dives.ts b/src/lib/data/category-deep-dives.ts index 7c4617f..31f4dd9 100644 --- a/src/lib/data/category-deep-dives.ts +++ b/src/lib/data/category-deep-dives.ts @@ -246,7 +246,8 @@ Transport is pluggable: **{{stdio|stdio}}** for local processes (the server is a { type: 'diagram', title: 'MCP Session Lifecycle', - caption: 'The full [[mcp|MCP]] session from initialization through tool invocation. The three-step {{handshake|handshake}} establishes capabilities before any tool or resource access.', + caption: + 'The full [[mcp|MCP]] session from initialization through tool invocation. The three-step {{handshake|handshake}} establishes capabilities before any tool or resource access.', definition: `graph TD I["initialize request<br/>(client capabilities, version)"] --> IR["initialize response<br/>(server capabilities, tools, resources)"] IR --> N["initialized {{notification|notification}}<br/>({{handshake|handshake}} complete)"] @@ -529,7 +530,7 @@ The numbers below are typical 2026 production values; spec maxima are higher, re }, { type: 'narrative', - title: 'CSMA/CA โ€” collision avoidance in a medium you can\'t monitor', + title: "CSMA/CA โ€” collision avoidance in a medium you can't monitor", text: `Wired [[ethernet|Ethernet]] uses **{{csma-cd|CSMA/CD}}** (Collision Detection): a station listens while it transmits and aborts the moment another station's signal collides with its own. That trick is impossible on radio โ€” your own transmitter saturates your own receiver, so a wireless {{nic|NIC}} literally cannot hear another station while it is sending. Every wireless {{mac-address|MAC}} therefore uses **{{csma-ca|CSMA/CA}}** (Collision *Avoidance*): listen-before-talk, plus a randomised back-off if the channel was busy. [[wifi|Wi-Fi]]'s flavour is DCF (Distributed Coordination Function). Before each {{frame|frame}}, the station senses the channel for a DIFS interval (28โ€“34 ยตs), then picks a random slot from a contention window (initial CW=15, doubled on collision up to 1023), then transmits if still {{imap-idle|idle}}. Every successful frame is {{ack|ACKed}} after a SIFS gap (~10 ยตs); no {{ack|ACK}} in time = the sender assumes collision and {{retransmission|retransmits}} from a larger CW. {{rts-cts|RTS/CTS}} is the optional defence against hidden terminals: the sender first asks "may I?" with a tiny RTS, the receiver responds with CTS, and every station that heard either falls silent for the negotiated duration. @@ -541,7 +542,7 @@ The cost of {{csma-ca|CSMA/CA}} is **{{airtime|airtime}} overhead**. At Wi-Fi 6' { type: 'callout', title: 'The hidden-terminal problem in one sentence', - text: 'On a wired bus, every station hears every other; on a radio, station A and station C may both hear {{ap-access-point|AP}} B but not each other โ€” so they both think the channel is clear and both transmit at once, colliding at B. {{rts-cts|RTS/CTS}} exists because of this. The same physics motivates {{ble|BLE}}\'s frequency-hopping master clock, Zigbee\'s coordinator-led scheduling, and every cellular {{ran|RAN}}\'s centralised uplink scheduler.' + text: "On a wired bus, every station hears every other; on a radio, station A and station C may both hear {{ap-access-point|AP}} B but not each other โ€” so they both think the channel is clear and both transmit at once, colliding at B. {{rts-cts|RTS/CTS}} exists because of this. The same physics motivates {{ble|BLE}}'s frequency-hopping master clock, Zigbee's coordinator-led scheduling, and every cellular {{ran|RAN}}'s centralised uplink scheduler." }, { type: 'narrative', diff --git a/src/lib/data/category-stories/async-iot.ts b/src/lib/data/category-stories/async-iot.ts index 1bf201f..4b2d500 100644 --- a/src/lib/data/category-stories/async-iot.ts +++ b/src/lib/data/category-stories/async-iot.ts @@ -122,7 +122,7 @@ export const asyncIotStory: CategoryStory = { title: 'Messaging Visionary', org: 'iMatix', contribution: - 'Built the first open-source [[amqp|AMQP]] broker (OpenAMQ) at iMatix and later created ZeroMQ, a brokerless messaging library. A passionate open-source advocate, though he grew critical of [[amqp|AMQP]]\'s complexity and eventually left the workgroup.', + "Built the first open-source [[amqp|AMQP]] broker (OpenAMQ) at iMatix and later created ZeroMQ, a brokerless messaging library. A passionate open-source advocate, though he grew critical of [[amqp|AMQP]]'s complexity and eventually left the workgroup.", imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Pieter_Hintjens_at_EuroPython2014_%28cropped%29.jpg/330px-Pieter_Hintjens_at_EuroPython2014_%28cropped%29.jpg' }, diff --git a/src/lib/data/category-stories/network-foundations.ts b/src/lib/data/category-stories/network-foundations.ts index 2218241..92c1c9f 100644 --- a/src/lib/data/category-stories/network-foundations.ts +++ b/src/lib/data/category-stories/network-foundations.ts @@ -2,7 +2,8 @@ import type { CategoryStory } from './types'; export const networkFoundationsStory: CategoryStory = { categoryId: 'network-foundations', - tagline: 'From {{xerox-parc|Xerox PARC}} to every connected device โ€” how frames, addresses, and routes make the internet possible', + tagline: + 'From {{xerox-parc|Xerox PARC}} to every connected device โ€” how frames, addresses, and routes make the internet possible', sections: [ { type: 'narrative', @@ -206,7 +207,7 @@ That sketch became [[ethernet|Ethernet]], and it solved the first problem of net year: 2026, title: 'IPv6 Crosses 50% on Google', description: - 'On 28 March 2026, [[ipv6|IPv6]] carried 50.1% of {{google|Google}}\'s traffic for the first time โ€” 28 years after [[rfc:2460|RFC 2460]]. {{cloudflare|Cloudflare}} and {{apnic|APNIC}} measure 40-43% from their vantage points, so the milestone is real but uneven.', + "On 28 March 2026, [[ipv6|IPv6]] carried 50.1% of {{google|Google}}'s traffic for the first time โ€” 28 years after [[rfc:2460|RFC 2460]]. {{cloudflare|Cloudflare}} and {{apnic|APNIC}} measure 40-43% from their vantage points, so the milestone is real but uneven.", protocolId: 'ipv6' } ] diff --git a/src/lib/data/category-stories/realtime-av.ts b/src/lib/data/category-stories/realtime-av.ts index 2663bcd..9f88525 100644 --- a/src/lib/data/category-stories/realtime-av.ts +++ b/src/lib/data/category-stories/realtime-av.ts @@ -182,7 +182,8 @@ export const realtimeAvStory: CategoryStory = { { year: 2021, title: 'WebRTC 1.0 \u2014 W3C Recommendation', - description: 'After a decade of development, [[webrtc|WebRTC]] reaches official standard status.', + description: + 'After a decade of development, [[webrtc|WebRTC]] reaches official standard status.', protocolId: 'webrtc' } ] diff --git a/src/lib/data/category-stories/utilities.ts b/src/lib/data/category-stories/utilities.ts index 493c4d4..03d8965 100644 --- a/src/lib/data/category-stories/utilities.ts +++ b/src/lib/data/category-stories/utilities.ts @@ -75,7 +75,7 @@ export const utilitiesStory: CategoryStory = { year: 1988, title: 'IMAP Created โ€” RFC 1064', description: - "Mark Crispin at Stanford invents the Internet Message Access Protocol. Unlike POP, mail stays on the server โ€” a radical idea that enables multi-device access.", + 'Mark Crispin at Stanford invents the Internet Message Access Protocol. Unlike POP, mail stays on the server โ€” a radical idea that enables multi-device access.', protocolId: 'imap' } ] @@ -207,7 +207,7 @@ export const utilitiesStory: CategoryStory = { src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Netscape_Navigator_2_Screenshot.png/500px-Netscape_Navigator_2_Screenshot.png', alt: 'A screenshot of Netscape Navigator 2, the browser that introduced SSL encryption to the web', caption: - "Netscape Navigator โ€” the browser that introduced {{ssl|SSL}} and the padlock icon, making encrypted web communication possible. This {{ui|UI}} convention persists in every browser today.", + 'Netscape Navigator โ€” the browser that introduced {{ssl|SSL}} and the padlock icon, making encrypted web communication possible. This {{ui|UI}} convention persists in every browser today.', credit: 'Screenshot: Indolering / CC0, via Wikimedia Commons' }, { diff --git a/src/lib/data/category-stories/web-api.ts b/src/lib/data/category-stories/web-api.ts index fca85d6..4218a80 100644 --- a/src/lib/data/category-stories/web-api.ts +++ b/src/lib/data/category-stories/web-api.ts @@ -14,7 +14,7 @@ The first version, {{http-method|HTTP}}/0.9, supported just one command: GET. No { type: 'image', src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/First_Web_Server.jpg/500px-First_Web_Server.jpg', - alt: 'The NeXT computer used by Tim Berners-Lee at CERN, the world\'s first web server', + alt: "The NeXT computer used by Tim Berners-Lee at CERN, the world's first web server", caption: 'The NeXT cube at {{cern|CERN}} โ€” the first web server and web browser, built by [[pioneer:tim-berners-lee|Tim Berners-Lee]] in 1990. The handwritten label reads "This machine is a server. DO NOT POWER IT DOWN!!"', credit: 'Photo: Coolcaesar / CC BY-SA 3.0, via Wikimedia Commons' @@ -103,7 +103,7 @@ Meanwhile, {{google|Google}}'s internal {{rpc|RPC}} system 'Stubby' was handling src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Ginevra%2C_centro_visitatori_del_cern%2C_primo_server_della_storia_%281989%29%2C_02.JPG/500px-Ginevra%2C_centro_visitatori_del_cern%2C_primo_server_della_storia_%281989%29%2C_02.JPG', alt: "Tim Berners-Lee's 1989 proposal 'Information Management: A Proposal' displayed at the CERN visitors center", caption: - "Berners-Lee's 1989 proposal on display at {{cern|CERN}} โ€” the document his supervisor Mike Sendall marked \"Vague, but exciting.\" It described {{http-method|HTTP}}, {{html|HTML}}, and URLs before any of them existed.", + 'Berners-Lee\'s 1989 proposal on display at {{cern|CERN}} โ€” the document his supervisor Mike Sendall marked "Vague, but exciting." It described {{http-method|HTTP}}, {{html|HTML}}, and URLs before any of them existed.', credit: 'Photo: Sailko / CC BY 3.0, via Wikimedia Commons' }, { diff --git a/src/lib/data/category-stories/wireless.ts b/src/lib/data/category-stories/wireless.ts index 084c84b..a7d7a42 100644 --- a/src/lib/data/category-stories/wireless.ts +++ b/src/lib/data/category-stories/wireless.ts @@ -36,7 +36,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo title: 'Viterbi algorithm; Qualcomm co-founder', org: 'Qualcomm', contribution: - 'Invented the **Viterbi algorithm** in 1967 โ€” used in every cellular phone, every disk-drive read channel, every {{gps|GPS}} receiver, and every speech recognizer. *On advice of a lawyer, Viterbi did not patent the algorithm.* Co-founded Qualcomm in 1985; led the company through the {{cdma|CDMA}}-vs-{{tdma|TDMA}} wars that culminated in {{cdma|CDMA}}\'s mathematical foundation becoming {{wcdma|WCDMA}} inside {{umts|UMTS}}. **{{ieee-802-15-4|IEEE}} Medal of Honor 2010**.' + "Invented the **Viterbi algorithm** in 1967 โ€” used in every cellular phone, every disk-drive read channel, every {{gps|GPS}} receiver, and every speech recognizer. *On advice of a lawyer, Viterbi did not patent the algorithm.* Co-founded Qualcomm in 1985; led the company through the {{cdma|CDMA}}-vs-{{tdma|TDMA}} wars that culminated in {{cdma|CDMA}}'s mathematical foundation becoming {{wcdma|WCDMA}} inside {{umts|UMTS}}. **{{ieee-802-15-4|IEEE}} Medal of Honor 2010**." }, { name: 'Vic Hayes', @@ -52,7 +52,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo title: 'Inventor of Bluetooth', org: 'Ericsson Mobile (Lund) / Plantronics', contribution: - "Dutch engineer who designed the [[bluetooth|Bluetooth]] radio at Ericsson Lund in 1994โ€“97. Tasked with replacing the RS-232 cable to a mobile-phone headset; his frequency-hopping {{piconet|piconet}} design became the foundation of every [[bluetooth|Bluetooth]] chip ever made. European Inventor Award Lifetime Achievement finalist (2015)." + 'Dutch engineer who designed the [[bluetooth|Bluetooth]] radio at Ericsson Lund in 1994โ€“97. Tasked with replacing the RS-232 cable to a mobile-phone headset; his frequency-hopping {{piconet|piconet}} design became the foundation of every [[bluetooth|Bluetooth]] chip ever made. European Inventor Award Lifetime Achievement finalist (2015).' }, { name: 'Sven Mattisson', @@ -60,7 +60,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo title: 'Co-inventor of Bluetooth', org: 'Ericsson Research / Sony Mobile', contribution: - 'Swedish engineer who owned the analog RF and CMOS implementation work that paired with Jaap Haartsen\'s digital baseband. The IC-level decisions that made [[bluetooth|Bluetooth]] manufacturable at consumer price points.' + "Swedish engineer who owned the analog RF and CMOS implementation work that paired with Jaap Haartsen's digital baseband. The IC-level decisions that made [[bluetooth|Bluetooth]] manufacturable at consumer price points." }, { name: 'Jim Kardach', @@ -85,7 +85,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo year: 1973, title: 'First handheld cellular call โ€” Motorola DynaTAC', description: - "Marty Cooper of Motorola dials Joel Engel at AT&T Bell Labs from Sixth Avenue, Manhattan: *\"Joel, this is Marty. I'm calling you from a cell phone, a real handheld portable cell phone.\"* The DynaTAC weighs 2.5 lb and gets 35 minutes of talk after 10 hours of charging.", + 'Marty Cooper of Motorola dials Joel Engel at AT&T Bell Labs from Sixth Avenue, Manhattan: *"Joel, this is Marty. I\'m calling you from a cell phone, a real handheld portable cell phone."* The DynaTAC weighs 2.5 lb and gets 35 minutes of talk after 10 hours of charging.', protocolId: 'cellular' }, { @@ -127,7 +127,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo year: 2010, title: 'Bluetooth 4.0 / BLE', description: - '[[bluetooth|Bluetooth]] Core 4.0 (December 2009 โ†’ 2010 products) adds **Bluetooth Low Energy** (originally Nokia\'s *Wibree*). Different radio, different framing ({{l2cap|L2CAP}}/{{att-mtu|ATT}}/{{gatt|GATT}}) โ€” wearables, beacons, AirTag-class trackers all sit on top of this layer.', + "[[bluetooth|Bluetooth]] Core 4.0 (December 2009 โ†’ 2010 products) adds **Bluetooth Low Energy** (originally Nokia's *Wibree*). Different radio, different framing ({{l2cap|L2CAP}}/{{att-mtu|ATT}}/{{gatt|GATT}}) โ€” wearables, beacons, AirTag-class trackers all sit on top of this layer.", protocolId: 'bluetooth' }, { @@ -148,7 +148,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo year: 2018, title: '5G NR Release 15 freeze', description: - "{{3gpp|3GPP}} Release 15 โ€” the **first {{5g-nr|5G NR}} specification** โ€” is frozen on 14 June 2018. Service-based {{5g-core|5G Core}}, flexible numerology, {{mmwave|mmWave}} (FR2) support, network slicing. First commercial 5G networks light up in 2019; first 5G-Standalone (no {{lte|LTE}} anchor) deployments arrive in 2020โ€“2021.", + '{{3gpp|3GPP}} Release 15 โ€” the **first {{5g-nr|5G NR}} specification** โ€” is frozen on 14 June 2018. Service-based {{5g-core|5G Core}}, flexible numerology, {{mmwave|mmWave}} (FR2) support, network slicing. First commercial 5G networks light up in 2019; first 5G-Standalone (no {{lte|LTE}} anchor) deployments arrive in 2020โ€“2021.', protocolId: 'cellular' }, { @@ -176,7 +176,7 @@ Together โ€” Wi-Fi for local broadband, Bluetooth for personal-area, Cellular fo year: 2025, title: 'T-Mobile + SpaceX Direct-to-Cell launches commercially', description: - "The first commercial **satellite-to-cell** service. Standard band n25/n26 phones {{mqtt-connect|connect}} to low-Earth-orbit {{starlink|Starlink}} satellites for {{sms|SMS}} and emergency. {{apple|Apple}}'s Globalstar partnership and AT&T's AST SpaceMobile follow similar patterns. Reshapes \"coverage\" as a concept: \"no signal\" no longer means *no signal*.", + 'The first commercial **satellite-to-cell** service. Standard band n25/n26 phones {{mqtt-connect|connect}} to low-Earth-orbit {{starlink|Starlink}} satellites for {{sms|SMS}} and emergency. {{apple|Apple}}\'s Globalstar partnership and AT&T\'s AST SpaceMobile follow similar patterns. Reshapes "coverage" as a concept: "no signal" no longer means *no signal*.', protocolId: 'cellular' } ] diff --git a/src/lib/data/comparison/pairs.ts b/src/lib/data/comparison/pairs.ts index 400bb6c..a8578cb 100644 --- a/src/lib/data/comparison/pairs.ts +++ b/src/lib/data/comparison/pairs.ts @@ -13,11 +13,23 @@ const vsPairs: ProtocolPair[] = [ summary: '[[tcp|TCP]] guarantees every byte arrives in order at the cost of {{latency|latency}}; [[udp|UDP]] prioritizes speed by skipping reliability guarantees entirely.', keyDifferences: [ - { aspect: 'Connection model', left: '{{connection-oriented|Connection-oriented}} (3-way handshake)', right: '{{connectionless|Connectionless}} (fire-and-forget)' }, - { aspect: 'Reliability', left: 'Guaranteed delivery with retransmission', right: 'Best-effort, no retransmission' }, + { + aspect: 'Connection model', + left: '{{connection-oriented|Connection-oriented}} (3-way handshake)', + right: '{{connectionless|Connectionless}} (fire-and-forget)' + }, + { + aspect: 'Reliability', + left: 'Guaranteed delivery with retransmission', + right: 'Best-effort, no retransmission' + }, { aspect: 'Ordering', left: 'Strict in-order delivery', right: 'No ordering guarantees' }, { aspect: 'Header size', left: '20-60 bytes', right: '8 bytes' }, - { aspect: 'Overhead', left: 'Higher (ACKs, {{flow-control|flow control}}, congestion)', right: 'Minimal (just send and hope)' } + { + aspect: 'Overhead', + left: 'Higher (ACKs, {{flow-control|flow control}}, congestion)', + right: 'Minimal (just send and hope)' + } ], useLeftWhen: [ 'You need guaranteed delivery (file transfer, web pages, email)', @@ -38,11 +50,31 @@ const vsPairs: ProtocolPair[] = [ summary: 'Standard [[tcp|TCP]] uses a single network path; [[mptcp|MPTCP]] spreads traffic across multiple paths (e.g. [[wifi|Wi-Fi]] + cellular) for better throughput and seamless {{failover|failover}}.', keyDifferences: [ - { aspect: 'Connection model', left: 'Multiple subflows across interfaces', right: 'Single path, single interface' }, - { aspect: 'Redundancy', left: 'Seamless failover between paths', right: 'Connection drops if path fails' }, - { aspect: 'Throughput', left: 'Aggregate bandwidth of all paths', right: 'Limited to single path bandwidth' }, - { aspect: 'Complexity', left: 'Complex path management and scheduling', right: 'Simple, well-understood behavior' }, - { aspect: 'Ecosystem', left: 'Growing support (Apple, Linux 5.6+)', right: 'Universal support everywhere' } + { + aspect: 'Connection model', + left: 'Multiple subflows across interfaces', + right: 'Single path, single interface' + }, + { + aspect: 'Redundancy', + left: 'Seamless failover between paths', + right: 'Connection drops if path fails' + }, + { + aspect: 'Throughput', + left: 'Aggregate bandwidth of all paths', + right: 'Limited to single path bandwidth' + }, + { + aspect: 'Complexity', + left: 'Complex path management and scheduling', + right: 'Simple, well-understood behavior' + }, + { + aspect: 'Ecosystem', + left: 'Growing support (Apple, Linux 5.6+)', + right: 'Universal support everywhere' + } ], useLeftWhen: [ 'Devices have multiple network interfaces (mobile with [[wifi|Wi-Fi]] + cellular)', @@ -63,11 +95,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[tcp|TCP]] delivers a single ordered byte stream; [[sctp|SCTP]] delivers multiple independent message streams over one association with built-in {{multi-homing|multi-homing}}.', keyDifferences: [ - { aspect: 'Data format', left: 'Message-oriented (preserves boundaries)', right: 'Byte-stream (no message boundaries)' }, - { aspect: 'Multiplexing', left: 'Multiple independent streams', right: 'Single stream ({{head-of-line-blocking|head-of-line blocking}})' }, - { aspect: 'Redundancy', left: 'Built-in multi-homing (multiple IPs)', right: 'Single [[ip|IP]] per connection' }, - { aspect: 'Connection model', left: '4-way handshake with cookie (DoS-resistant)', right: '3-way handshake' }, - { aspect: 'Ecosystem', left: 'Limited (telecom, [[webrtc|WebRTC]] data channels)', right: 'Universal support' } + { + aspect: 'Data format', + left: 'Message-oriented (preserves boundaries)', + right: 'Byte-stream (no message boundaries)' + }, + { + aspect: 'Multiplexing', + left: 'Multiple independent streams', + right: 'Single stream ({{head-of-line-blocking|head-of-line blocking}})' + }, + { + aspect: 'Redundancy', + left: 'Built-in multi-homing (multiple IPs)', + right: 'Single [[ip|IP]] per connection' + }, + { + aspect: 'Connection model', + left: '4-way handshake with cookie (DoS-resistant)', + right: '3-way handshake' + }, + { + aspect: 'Ecosystem', + left: 'Limited (telecom, [[webrtc|WebRTC]] data channels)', + right: 'Universal support' + } ], useLeftWhen: [ 'You need multiple independent streams without {{head-of-line-blocking|head-of-line blocking}}', @@ -88,11 +140,31 @@ const vsPairs: ProtocolPair[] = [ summary: 'Raw [[udp|UDP]] is a minimal, unreliable datagram service; [[quic|QUIC]] builds reliability, {{multiplexing|multiplexing}}, and {{encryption|encryption}} on top of [[udp|UDP]] to replace [[tcp|TCP]]+[[tls|TLS]].', keyDifferences: [ - { aspect: 'Reliability', left: 'Reliable delivery with retransmission', right: 'Best-effort, no guarantees' }, - { aspect: 'Encryption', left: 'Built-in [[tls|TLS]] 1.3 (always encrypted)', right: 'None (plaintext datagrams)' }, - { aspect: 'Multiplexing', left: 'Multiple independent streams', right: 'Single datagram, no streams' }, - { aspect: 'Connection model', left: '{{zero-rtt|0-RTT}}/{{one-rtt|1-RTT}} handshake', right: 'No connection setup' }, - { aspect: 'Complexity', left: 'Full transport protocol (congestion, {{flow-control|flow control}})', right: 'Minimal 8-byte header' } + { + aspect: 'Reliability', + left: 'Reliable delivery with retransmission', + right: 'Best-effort, no guarantees' + }, + { + aspect: 'Encryption', + left: 'Built-in [[tls|TLS]] 1.3 (always encrypted)', + right: 'None (plaintext datagrams)' + }, + { + aspect: 'Multiplexing', + left: 'Multiple independent streams', + right: 'Single datagram, no streams' + }, + { + aspect: 'Connection model', + left: '{{zero-rtt|0-RTT}}/{{one-rtt|1-RTT}} handshake', + right: 'No connection setup' + }, + { + aspect: 'Complexity', + left: 'Full transport protocol (congestion, {{flow-control|flow control}})', + right: 'Minimal 8-byte header' + } ], useLeftWhen: [ 'You need reliable delivery but want to avoid [[tcp|TCP]] {{head-of-line-blocking|head-of-line blocking}}', @@ -104,7 +176,7 @@ const vsPairs: ProtocolPair[] = [ 'Your protocol handles its own reliability ([[dns|DNS]], [[ntp|NTP]], custom game protocols)', 'Absolute minimum overhead per packet is critical', 'You are sending single-shot messages that do not need stream semantics', - 'Simplicity and universality outweigh [[quic|QUIC]]\'s features' + "Simplicity and universality outweigh [[quic|QUIC]]'s features" ] }, @@ -116,11 +188,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[http1|[[http1|HTTP/1]].1]] sends requests sequentially over separate connections; [[http2|HTTP/2]] multiplexes many requests over a single connection with header compression and {{server-push|server push}}.', keyDifferences: [ - { aspect: 'Multiplexing', left: 'One request per connection at a time', right: 'Many concurrent streams on one connection' }, - { aspect: 'Data format', left: 'Text-based headers', right: '{{binary-framing|Binary framing}} with {{hpack|HPACK}} compression' }, - { aspect: 'Header size', left: 'Repetitive, uncompressed headers', right: 'Compressed via {{hpack|HPACK}} (up to 90% smaller)' }, - { aspect: 'Direction', left: 'Client-initiated only', right: '{{server-push|Server push}} (proactive resource delivery)' }, - { aspect: 'Connection model', left: 'Multiple [[tcp|TCP]] connections (6 per domain)', right: 'Single [[tcp|TCP]] connection per origin' } + { + aspect: 'Multiplexing', + left: 'One request per connection at a time', + right: 'Many concurrent streams on one connection' + }, + { + aspect: 'Data format', + left: 'Text-based headers', + right: '{{binary-framing|Binary framing}} with {{hpack|HPACK}} compression' + }, + { + aspect: 'Header size', + left: 'Repetitive, uncompressed headers', + right: 'Compressed via {{hpack|HPACK}} (up to 90% smaller)' + }, + { + aspect: 'Direction', + left: 'Client-initiated only', + right: '{{server-push|Server push}} (proactive resource delivery)' + }, + { + aspect: 'Connection model', + left: 'Multiple [[tcp|TCP]] connections (6 per domain)', + right: 'Single [[tcp|TCP]] connection per origin' + } ], useLeftWhen: [ 'You are supporting very old clients or constrained devices that lack [[http2|HTTP/2]]', @@ -141,11 +233,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[http2|HTTP/2]] runs over [[tcp|TCP]] and suffers from [[tcp|TCP]]-level {{head-of-line-blocking|head-of-line blocking}}; [[http3|HTTP/3]] runs over [[quic|QUIC]] ([[udp|UDP]]-based) eliminating this and adding faster connection setup.', keyDifferences: [ - { aspect: 'Transport', left: '[[tcp|TCP]] + [[tls|TLS]] 1.2/1.3 (separate layers)', right: '[[quic|QUIC]] ([[udp|UDP]]-based, [[tls|TLS]] 1.3 built-in)' }, - { aspect: 'Multiplexing', left: 'Streams share [[tcp|TCP]] ({{head-of-line-blocking|head-of-line blocking}})', right: 'Streams independent (no cross-stream blocking)' }, - { aspect: 'Connection model', left: '{{one-rtt|1-RTT}} [[tcp|TCP]] + {{one-rtt|1-RTT}} [[tls|TLS]] = 2+ {{rtt|RTT}}', right: '{{one-rtt|1-RTT}} or {{zero-rtt|0-RTT}} (combined transport+crypto)' }, - { aspect: 'Header size', left: '{{hpack|HPACK}} compression', right: 'QPACK compression (designed for [[quic|QUIC]])' }, - { aspect: 'Ecosystem', left: 'Mature, universal support', right: 'Growing rapidly, most modern browsers support it' } + { + aspect: 'Transport', + left: '[[tcp|TCP]] + [[tls|TLS]] 1.2/1.3 (separate layers)', + right: '[[quic|QUIC]] ([[udp|UDP]]-based, [[tls|TLS]] 1.3 built-in)' + }, + { + aspect: 'Multiplexing', + left: 'Streams share [[tcp|TCP]] ({{head-of-line-blocking|head-of-line blocking}})', + right: 'Streams independent (no cross-stream blocking)' + }, + { + aspect: 'Connection model', + left: '{{one-rtt|1-RTT}} [[tcp|TCP]] + {{one-rtt|1-RTT}} [[tls|TLS]] = 2+ {{rtt|RTT}}', + right: '{{one-rtt|1-RTT}} or {{zero-rtt|0-RTT}} (combined transport+crypto)' + }, + { + aspect: 'Header size', + left: '{{hpack|HPACK}} compression', + right: 'QPACK compression (designed for [[quic|QUIC]])' + }, + { + aspect: 'Ecosystem', + left: 'Mature, universal support', + right: 'Growing rapidly, most modern browsers support it' + } ], useLeftWhen: [ 'Maximum compatibility with existing infrastructure is required', @@ -166,11 +278,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] uses human-readable {{json|JSON}} over {{http-method|HTTP}} for broad compatibility; [[grpc|gRPC]] uses binary Protobuf over [[http2|HTTP/2]] for high-performance, strongly-typed service communication.', keyDifferences: [ - { aspect: 'Data format', left: 'Binary ({{protocol-buffers|Protocol Buffers}})', right: 'Text ({{json|JSON}}, {{xml|XML}})' }, - { aspect: 'Transport', left: '[[http2|HTTP/2]] only (multiplexed streams)', right: 'Any HTTP version' }, - { aspect: 'Direction', left: 'Bidirectional streaming natively', right: '{{request-response|Request-response}} only (streaming via workarounds)' }, - { aspect: 'Browser support', left: 'Requires grpc-web proxy', right: 'Native in all browsers' }, - { aspect: 'Complexity', left: 'Schema-first (.proto files, codegen)', right: 'Schema-optional, ad-hoc design common' } + { + aspect: 'Data format', + left: 'Binary ({{protocol-buffers|Protocol Buffers}})', + right: 'Text ({{json|JSON}}, {{xml|XML}})' + }, + { + aspect: 'Transport', + left: '[[http2|HTTP/2]] only (multiplexed streams)', + right: 'Any HTTP version' + }, + { + aspect: 'Direction', + left: 'Bidirectional streaming natively', + right: '{{request-response|Request-response}} only (streaming via workarounds)' + }, + { + aspect: 'Browser support', + left: 'Requires grpc-web proxy', + right: 'Native in all browsers' + }, + { + aspect: 'Complexity', + left: 'Schema-first (.proto files, codegen)', + right: 'Schema-optional, ad-hoc design common' + } ], useLeftWhen: [ 'Services communicate internally (microservice-to-microservice)', @@ -191,11 +323,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] exposes fixed endpoints that return predetermined data shapes; [[graphql|GraphQL]] exposes a single endpoint where clients query exactly the fields they need.', keyDifferences: [ - { aspect: 'Data format', left: 'Client-specified query shapes', right: 'Server-defined resource shapes' }, - { aspect: 'Caching', left: 'Complex (query-level, requires tooling)', right: 'Simple (HTTP caching per URL)' }, - { aspect: 'Overhead', left: 'No over-fetching, but query parsing cost', right: 'Often over-fetches or under-fetches data' }, - { aspect: 'Direction', left: 'Queries + mutations + subscriptions', right: 'CRUD mapped to HTTP methods' }, - { aspect: 'Complexity', left: 'Schema required, resolver architecture', right: 'Simpler, convention-based' } + { + aspect: 'Data format', + left: 'Client-specified query shapes', + right: 'Server-defined resource shapes' + }, + { + aspect: 'Caching', + left: 'Complex (query-level, requires tooling)', + right: 'Simple (HTTP caching per URL)' + }, + { + aspect: 'Overhead', + left: 'No over-fetching, but query parsing cost', + right: 'Often over-fetches or under-fetches data' + }, + { + aspect: 'Direction', + left: 'Queries + mutations + subscriptions', + right: 'CRUD mapped to HTTP methods' + }, + { + aspect: 'Complexity', + left: 'Schema required, resolver architecture', + right: 'Simpler, convention-based' + } ], useLeftWhen: [ 'Clients need different slices of data (mobile vs desktop vs watch)', @@ -216,10 +368,26 @@ const vsPairs: ProtocolPair[] = [ summary: '[[websockets|WebSocket]] provides {{full-duplex|full-duplex}} bidirectional communication; [[sse|SSE]] provides server-to-client streaming over plain {{http-method|HTTP}} with automatic reconnection.', keyDifferences: [ - { aspect: 'Direction', left: 'Server-to-client only', right: '{{full-duplex|Full-duplex}} bidirectional' }, - { aspect: 'Transport', left: 'Standard HTTP (works with proxies, CDNs)', right: 'Upgraded connection (custom framing)' }, - { aspect: 'Complexity', left: 'Simple (EventSource API, text-based)', right: 'More complex (handshake, binary frames)' }, - { aspect: 'Reliability', left: 'Built-in auto-reconnection and last-event-ID', right: 'Manual reconnection logic needed' }, + { + aspect: 'Direction', + left: 'Server-to-client only', + right: '{{full-duplex|Full-duplex}} bidirectional' + }, + { + aspect: 'Transport', + left: 'Standard HTTP (works with proxies, CDNs)', + right: 'Upgraded connection (custom framing)' + }, + { + aspect: 'Complexity', + left: 'Simple (EventSource API, text-based)', + right: 'More complex (handshake, binary frames)' + }, + { + aspect: 'Reliability', + left: 'Built-in auto-reconnection and last-event-ID', + right: 'Manual reconnection logic needed' + }, { aspect: 'Data format', left: 'Text only (UTF-8)', right: 'Text and binary frames' } ], useLeftWhen: [ @@ -241,11 +409,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[graphql|GraphQL]] lets clients flexibly query for exactly the data they need over {{http-method|HTTP}}; [[grpc|gRPC]] provides high-performance, schema-strict {{rpc|RPC}} with bidirectional streaming.', keyDifferences: [ - { aspect: 'Data format', left: '{{json|JSON}} response, query language', right: 'Binary {{protocol-buffers|Protocol Buffers}}' }, - { aspect: 'Direction', left: '{{request-response|Request-response}} + subscriptions', right: 'Unary, server/client/bidirectional streaming' }, - { aspect: 'Browser support', left: 'Native (standard HTTP POST)', right: 'Requires grpc-web proxy' }, - { aspect: 'Complexity', left: 'Schema + resolvers, flexible queries', right: 'Schema + codegen, strict contracts' }, - { aspect: 'Overhead', left: '{{json|JSON}} text (human-readable)', right: 'Binary (compact, ~5-10x smaller)' } + { + aspect: 'Data format', + left: '{{json|JSON}} response, query language', + right: 'Binary {{protocol-buffers|Protocol Buffers}}' + }, + { + aspect: 'Direction', + left: '{{request-response|Request-response}} + subscriptions', + right: 'Unary, server/client/bidirectional streaming' + }, + { + aspect: 'Browser support', + left: 'Native (standard HTTP POST)', + right: 'Requires grpc-web proxy' + }, + { + aspect: 'Complexity', + left: 'Schema + resolvers, flexible queries', + right: 'Schema + codegen, strict contracts' + }, + { + aspect: 'Overhead', + left: '{{json|JSON}} text (human-readable)', + right: 'Binary (compact, ~5-10x smaller)' + } ], useLeftWhen: [ 'Clients need flexible, ad-hoc queries over complex data graphs', @@ -266,11 +454,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[http1|[[http1|HTTP/1]].1]] is the text-based, universally supported baseline; [[http3|HTTP/3]] is the latest evolution running over [[quic|QUIC]] with {{multiplexing|multiplexing}}, {{zero-rtt|0-RTT}}, and built-in {{encryption|encryption}}.', keyDifferences: [ - { aspect: 'Transport', left: '[[tcp|TCP]] (1+ {{rtt|RTT}} handshake)', right: '[[quic|QUIC]] over [[udp|UDP]] ({{zero-rtt|0-RTT}} possible)' }, - { aspect: 'Multiplexing', left: 'No multiplexing (one request per connection)', right: 'Full stream multiplexing (no {{head-of-line-blocking|head-of-line blocking}})' }, - { aspect: 'Header size', left: 'Uncompressed text headers', right: 'QPACK compressed binary headers' }, - { aspect: 'Encryption', left: 'Optional (HTTP or HTTPS)', right: 'Always encrypted ([[tls|TLS]] 1.3 built into [[quic|QUIC]])' }, - { aspect: 'Ecosystem', left: 'Universal โ€” every device and proxy supports it', right: 'Modern browsers and CDNs; some firewalls block [[udp|UDP]]' } + { + aspect: 'Transport', + left: '[[tcp|TCP]] (1+ {{rtt|RTT}} handshake)', + right: '[[quic|QUIC]] over [[udp|UDP]] ({{zero-rtt|0-RTT}} possible)' + }, + { + aspect: 'Multiplexing', + left: 'No multiplexing (one request per connection)', + right: 'Full stream multiplexing (no {{head-of-line-blocking|head-of-line blocking}})' + }, + { + aspect: 'Header size', + left: 'Uncompressed text headers', + right: 'QPACK compressed binary headers' + }, + { + aspect: 'Encryption', + left: 'Optional (HTTP or HTTPS)', + right: 'Always encrypted ([[tls|TLS]] 1.3 built into [[quic|QUIC]])' + }, + { + aspect: 'Ecosystem', + left: 'Universal โ€” every device and proxy supports it', + right: 'Modern browsers and CDNs; some firewalls block [[udp|UDP]]' + } ], useLeftWhen: [ 'Maximum backward compatibility is the top priority', @@ -291,11 +499,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[http2|HTTP/2]] provides multiplexed {{request-response|request-response}} with {{server-push|server push}} over a single connection; [[websockets|WebSocket]] provides a persistent, {{full-duplex|full-duplex}} message channel.', keyDifferences: [ - { aspect: 'Direction', left: '{{request-response|Request-response}} + {{server-push|server push}}', right: '{{full-duplex|Full-duplex}} persistent channel' }, - { aspect: 'Data format', left: 'HTTP semantics (headers, status codes)', right: 'Raw frames (text or binary)' }, - { aspect: 'Multiplexing', left: 'Many concurrent request/response streams', right: 'Single bidirectional channel' }, - { aspect: 'Caching', left: 'Standard HTTP caching works', right: 'No HTTP caching (custom protocol)' }, - { aspect: 'Complexity', left: 'Standard HTTP (works with existing tooling)', right: 'Requires upgrade handshake, custom framing' } + { + aspect: 'Direction', + left: '{{request-response|Request-response}} + {{server-push|server push}}', + right: '{{full-duplex|Full-duplex}} persistent channel' + }, + { + aspect: 'Data format', + left: 'HTTP semantics (headers, status codes)', + right: 'Raw frames (text or binary)' + }, + { + aspect: 'Multiplexing', + left: 'Many concurrent request/response streams', + right: 'Single bidirectional channel' + }, + { + aspect: 'Caching', + left: 'Standard HTTP caching works', + right: 'No HTTP caching (custom protocol)' + }, + { + aspect: 'Complexity', + left: 'Standard HTTP (works with existing tooling)', + right: 'Requires upgrade handshake, custom framing' + } ], useLeftWhen: [ 'Your communication follows {{request-response|request-response}} patterns (APIs, page loads)', @@ -316,11 +544,27 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] follows a {{stateless|stateless}} {{request-response|request-response}} model ideal for {{crud|CRUD}} operations; [[websockets|WebSocket]] maintains a persistent connection for real-time bidirectional communication.', keyDifferences: [ - { aspect: 'Statefulness', left: '{{stateless|Stateless}} (each request is independent)', right: '{{stateful|Stateful}} (persistent connection)' }, - { aspect: 'Direction', left: 'Client-initiated requests only', right: '{{full-duplex|Full-duplex}} (either side can send anytime)' }, + { + aspect: 'Statefulness', + left: '{{stateless|Stateless}} (each request is independent)', + right: '{{stateful|Stateful}} (persistent connection)' + }, + { + aspect: 'Direction', + left: 'Client-initiated requests only', + right: '{{full-duplex|Full-duplex}} (either side can send anytime)' + }, { aspect: 'Caching', left: 'Built-in HTTP caching', right: 'No caching (real-time stream)' }, - { aspect: 'Overhead', left: 'Full HTTP headers per request', right: 'Minimal framing after handshake (2-14 bytes)' }, - { aspect: 'Complexity', left: 'Simple, well-understood conventions', right: 'Requires connection management and reconnection logic' } + { + aspect: 'Overhead', + left: 'Full HTTP headers per request', + right: 'Minimal framing after handshake (2-14 bytes)' + }, + { + aspect: 'Complexity', + left: 'Simple, well-understood conventions', + right: 'Requires connection management and reconnection logic' + } ], useLeftWhen: [ 'Your operations are CRUD-style (create, read, update, delete)', @@ -341,9 +585,21 @@ const vsPairs: ProtocolPair[] = [ summary: '[[graphql|GraphQL]] lets clients query exactly the data they need via flexible queries; [[sse|SSE]] provides a simple server-push stream for real-time updates over {{http-method|HTTP}}.', keyDifferences: [ - { aspect: 'Direction', left: '{{request-response|Request-response}} + subscriptions', right: 'Server-to-client push only' }, - { aspect: 'Data format', left: 'Client-defined query shapes ({{json|JSON}})', right: 'Server-defined event stream (text)' }, - { aspect: 'Complexity', left: 'Schema, resolvers, query parsing', right: 'Simple EventSource API' }, + { + aspect: 'Direction', + left: '{{request-response|Request-response}} + subscriptions', + right: 'Server-to-client push only' + }, + { + aspect: 'Data format', + left: 'Client-defined query shapes ({{json|JSON}})', + right: 'Server-defined event stream (text)' + }, + { + aspect: 'Complexity', + left: 'Schema, resolvers, query parsing', + right: 'Simple EventSource API' + }, { aspect: 'Caching', left: 'Complex (query-level)', right: 'HTTP-level caching possible' }, { aspect: 'Browser support', left: 'Requires fetch/library', right: 'Native EventSource API' } ], @@ -366,11 +622,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] is an architectural style defining how to structure APIs; [[http2|HTTP/2]] is a transport protocol that improves how {{http-method|HTTP}} requests are delivered โ€” they operate at different levels and are not direct alternatives. They are complementary: [[rest|REST]] APIs can (and commonly do) run over [[http2|HTTP/2]], gaining {{multiplexing|multiplexing}}, header compression, and {{server-push|server push}} without any changes to {{api|API}} design.', keyDifferences: [ - { aspect: 'Multiplexing', left: 'Multiple concurrent streams natively', right: 'One request per connection (uses multiple connections)' }, - { aspect: 'Direction', left: '{{server-push|Server push}} for proactive delivery', right: 'Client-initiated requests only' }, - { aspect: 'Header size', left: '{{hpack|HPACK}} compressed (binary)', right: 'Full text headers repeated per request' }, - { aspect: 'Data format', left: '{{binary-framing|Binary framing}} layer', right: 'Text-based HTTP semantics' }, - { aspect: 'Complexity', left: 'Requires [[tls|TLS]] in practice, binary debugging', right: 'Simple, human-readable, curl-friendly' } + { + aspect: 'Multiplexing', + left: 'Multiple concurrent streams natively', + right: 'One request per connection (uses multiple connections)' + }, + { + aspect: 'Direction', + left: '{{server-push|Server push}} for proactive delivery', + right: 'Client-initiated requests only' + }, + { + aspect: 'Header size', + left: '{{hpack|HPACK}} compressed (binary)', + right: 'Full text headers repeated per request' + }, + { + aspect: 'Data format', + left: '{{binary-framing|Binary framing}} layer', + right: 'Text-based HTTP semantics' + }, + { + aspect: 'Complexity', + left: 'Requires [[tls|TLS]] in practice, binary debugging', + right: 'Simple, human-readable, curl-friendly' + } ], useLeftWhen: [ 'Many resources are loaded concurrently (web pages with dozens of assets)', @@ -394,11 +670,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[mqtt|MQTT]] is ultra-lightweight pub/sub designed for constrained IoT devices; [[amqp|AMQP]] is a feature-rich {{broker|message broker}} protocol for enterprise messaging with routing, transactions, and delivery guarantees.', keyDifferences: [ - { aspect: 'Overhead', left: 'Feature-rich (higher overhead)', right: 'Minimal (2-byte header possible)' }, - { aspect: 'Data format', left: 'Binary with rich semantics', right: 'Binary with simple topic-based pub/sub' }, - { aspect: 'Reliability', left: 'Transactions, dead-lettering, acknowledgments', right: 'QoS 0/1/2 (fire-forget to exactly-once)' }, - { aspect: 'Complexity', left: 'Exchanges, queues, bindings, routing keys', right: 'Simple topic hierarchy with wildcards' }, - { aspect: 'Ecosystem', left: 'RabbitMQ, enterprise integration', right: 'Mosquitto, AWS IoT, Azure IoT Hub' } + { + aspect: 'Overhead', + left: 'Feature-rich (higher overhead)', + right: 'Minimal (2-byte header possible)' + }, + { + aspect: 'Data format', + left: 'Binary with rich semantics', + right: 'Binary with simple topic-based pub/sub' + }, + { + aspect: 'Reliability', + left: 'Transactions, dead-lettering, acknowledgments', + right: 'QoS 0/1/2 (fire-forget to exactly-once)' + }, + { + aspect: 'Complexity', + left: 'Exchanges, queues, bindings, routing keys', + right: 'Simple topic hierarchy with wildcards' + }, + { + aspect: 'Ecosystem', + left: 'RabbitMQ, enterprise integration', + right: 'Mosquitto, AWS IoT, Azure IoT Hub' + } ], useLeftWhen: [ 'You need complex routing (topic, direct, fanout, headers exchange)', @@ -419,11 +715,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[amqp|AMQP]] is a binary, feature-complete {{broker|message broker}} protocol; [[stomp|STOMP]] is a text-based, deliberately simple messaging protocol designed for easy client implementation.', keyDifferences: [ - { aspect: 'Data format', left: 'Binary with rich type system', right: 'Text-based (like HTTP, human-readable)' }, - { aspect: 'Complexity', left: 'Exchanges, queues, bindings, routing', right: 'Simple SEND/SUBSCRIBE/UNSUBSCRIBE' }, - { aspect: 'Reliability', left: 'Transactions, publisher confirms, dead-lettering', right: 'Basic acknowledgments only' }, - { aspect: 'Browser support', left: 'Requires [[amqp|AMQP]] client library', right: 'Easy over [[websockets|WebSocket]] (text protocol)' }, - { aspect: 'Ecosystem', left: 'RabbitMQ, Qpid, Azure Service Bus', right: 'ActiveMQ, RabbitMQ ([[stomp|STOMP]] plugin)' } + { + aspect: 'Data format', + left: 'Binary with rich type system', + right: 'Text-based (like HTTP, human-readable)' + }, + { + aspect: 'Complexity', + left: 'Exchanges, queues, bindings, routing', + right: 'Simple SEND/SUBSCRIBE/UNSUBSCRIBE' + }, + { + aspect: 'Reliability', + left: 'Transactions, publisher confirms, dead-lettering', + right: 'Basic acknowledgments only' + }, + { + aspect: 'Browser support', + left: 'Requires [[amqp|AMQP]] client library', + right: 'Easy over [[websockets|WebSocket]] (text protocol)' + }, + { + aspect: 'Ecosystem', + left: 'RabbitMQ, Qpid, Azure Service Bus', + right: 'ActiveMQ, RabbitMQ ([[stomp|STOMP]] plugin)' + } ], useLeftWhen: [ 'You need advanced routing, transactions, and delivery guarantees', @@ -444,11 +760,27 @@ const vsPairs: ProtocolPair[] = [ summary: '[[mqtt|MQTT]] is a pub/sub protocol connecting many devices through a central broker; [[coap|CoAP]] is a {{request-response|request-response}} protocol for direct device-to-device communication modeled after {{http-method|HTTP}}.', keyDifferences: [ - { aspect: 'Connection model', left: '{{request-response|Request-response}} (like HTTP)', right: 'Publish-subscribe via broker' }, - { aspect: 'Transport', left: '[[udp|UDP]] (connectionless)', right: '[[tcp|TCP]] (persistent connection to broker)' }, - { aspect: 'Direction', left: 'Client-server (device to device)', right: 'Many-to-many via central broker' }, + { + aspect: 'Connection model', + left: '{{request-response|Request-response}} (like HTTP)', + right: 'Publish-subscribe via broker' + }, + { + aspect: 'Transport', + left: '[[udp|UDP]] (connectionless)', + right: '[[tcp|TCP]] (persistent connection to broker)' + }, + { + aspect: 'Direction', + left: 'Client-server (device to device)', + right: 'Many-to-many via central broker' + }, { aspect: 'Overhead', left: '4-byte header, compact binary', right: '2-byte minimum header' }, - { aspect: 'Complexity', left: '[[rest|REST]]-like (GET, PUT, POST, DELETE)', right: 'Pub/sub (CONNECT, PUBLISH, SUBSCRIBE)' } + { + aspect: 'Complexity', + left: '[[rest|REST]]-like (GET, PUT, POST, DELETE)', + right: 'Pub/sub (CONNECT, PUBLISH, SUBSCRIBE)' + } ], useLeftWhen: [ 'Devices communicate directly without a central broker', @@ -469,11 +801,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[stomp|STOMP]] is a minimal text-based messaging protocol for queue/{{topic|topic}} messaging; [[xmpp|XMPP]] is a rich {{xml|XML}}-based protocol for presence-aware, federated real-time communication.', keyDifferences: [ - { aspect: 'Data format', left: 'Simple text frames (like HTTP)', right: '{{xml|XML}} stanzas (verbose but extensible)' }, - { aspect: 'Complexity', left: 'Minimal (SEND, SUBSCRIBE, {{ack|ACK}})', right: 'Rich (presence, roster, multi-user chat, extensions)' }, - { aspect: 'Direction', left: 'Queue/topic messaging via broker', right: '{{peer-to-peer|Peer-to-peer}} with optional server federation' }, - { aspect: 'Ecosystem', left: 'ActiveMQ, RabbitMQ [[stomp|STOMP]] plugin', right: 'ejabberd, Prosody, Openfire' }, - { aspect: 'Standardization', left: 'Simple spec, few extensions', right: 'Hundreds of XEPs (extension protocols)' } + { + aspect: 'Data format', + left: 'Simple text frames (like HTTP)', + right: '{{xml|XML}} stanzas (verbose but extensible)' + }, + { + aspect: 'Complexity', + left: 'Minimal (SEND, SUBSCRIBE, {{ack|ACK}})', + right: 'Rich (presence, roster, multi-user chat, extensions)' + }, + { + aspect: 'Direction', + left: 'Queue/topic messaging via broker', + right: '{{peer-to-peer|Peer-to-peer}} with optional server federation' + }, + { + aspect: 'Ecosystem', + left: 'ActiveMQ, RabbitMQ [[stomp|STOMP]] plugin', + right: 'ejabberd, Prosody, Openfire' + }, + { + aspect: 'Standardization', + left: 'Simple spec, few extensions', + right: 'Hundreds of XEPs (extension protocols)' + } ], useLeftWhen: [ 'You need simple, lightweight queue or topic messaging', @@ -494,11 +846,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[amqp|AMQP]] brokers (like RabbitMQ) route individual messages with rich delivery semantics; [[kafka|Kafka]] is a distributed log that persists ordered event streams for replay and high-throughput processing.', keyDifferences: [ - { aspect: 'Data format', left: '{{broker|Message broker}} (consume = delete)', right: 'Append-only log (consume = read offset)' }, - { aspect: 'Ordering', left: 'Per-queue ordering', right: 'Per-partition ordering (scalable)' }, - { aspect: 'Reliability', left: 'Per-message acknowledgments', right: '{{offset|Offset}}-based consumer tracking' }, - { aspect: 'Complexity', left: 'Rich routing (exchanges, bindings)', right: 'Simple topic/partition model' }, - { aspect: 'Throughput', left: 'Lower (routing overhead per message)', right: 'Very high (sequential I/O, batching)' } + { + aspect: 'Data format', + left: '{{broker|Message broker}} (consume = delete)', + right: 'Append-only log (consume = read offset)' + }, + { + aspect: 'Ordering', + left: 'Per-queue ordering', + right: 'Per-partition ordering (scalable)' + }, + { + aspect: 'Reliability', + left: 'Per-message acknowledgments', + right: '{{offset|Offset}}-based consumer tracking' + }, + { + aspect: 'Complexity', + left: 'Rich routing (exchanges, bindings)', + right: 'Simple topic/partition model' + }, + { + aspect: 'Throughput', + left: 'Lower (routing overhead per message)', + right: 'Very high (sequential I/O, batching)' + } ], useLeftWhen: [ 'You need complex message routing (fanout, topic, header-based)', @@ -520,13 +892,29 @@ const vsPairs: ProtocolPair[] = [ ids: ['dash', 'hls'], type: 'vs', summary: - '[[hls|HLS]] is {{apple|Apple}}\'s {{http-method|HTTP}}-based adaptive streaming protocol with near-universal player support; [[dash|DASH]] is the open, {{codec|codec}}-agnostic {{mpeg-org|MPEG}} standard for adaptive streaming.', + "[[hls|HLS]] is {{apple|Apple}}'s {{http-method|HTTP}}-based adaptive streaming protocol with near-universal player support; [[dash|DASH]] is the open, {{codec|codec}}-agnostic {{mpeg-org|MPEG}} standard for adaptive streaming.", keyDifferences: [ - { aspect: 'Standardization', left: 'Open MPEG standard (ISO/IEC 23009)', right: 'Apple proprietary (widely adopted)' }, + { + aspect: 'Standardization', + left: 'Open MPEG standard (ISO/IEC 23009)', + right: 'Apple proprietary (widely adopted)' + }, { aspect: 'Data format', left: 'MPD manifest ({{xml|XML}})', right: 'M3U8 playlist (text)' }, - { aspect: 'Complexity', left: 'Codec-agnostic, more flexible', right: 'Simpler, opinionated defaults' }, - { aspect: 'Browser support', left: 'Requires MSE/JavaScript player', right: 'Native in Safari/iOS, MSE elsewhere' }, - { aspect: 'Ecosystem', left: 'YouTube, Netflix, Disney+', right: 'Apple TV+, Twitch, most live streams' } + { + aspect: 'Complexity', + left: 'Codec-agnostic, more flexible', + right: 'Simpler, opinionated defaults' + }, + { + aspect: 'Browser support', + left: 'Requires MSE/JavaScript player', + right: 'Native in Safari/iOS, MSE elsewhere' + }, + { + aspect: 'Ecosystem', + left: 'YouTube, Netflix, Disney+', + right: 'Apple TV+, Twitch, most live streams' + } ], useLeftWhen: [ 'You need codec flexibility (AV1, VP9) beyond H.264/H.265', @@ -547,11 +935,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rtp|RTP]] delivers real-time audio/video over [[udp|UDP]] for interactive communication; [[rtmp|RTMP]] delivers live streams over [[tcp|TCP]] for broadcasting to media servers.', keyDifferences: [ - { aspect: 'Transport', left: '[[udp|UDP]] (low latency, tolerates loss)', right: '[[tcp|TCP]] (reliable, higher latency)' }, - { aspect: 'Direction', left: '{{peer-to-peer|Peer-to-peer}} or multicast', right: 'Client-to-server (ingest)' }, - { aspect: 'Overhead', left: 'Minimal [[rtp|RTP]] header (12 bytes)', right: 'Chunked message format with handshake' }, - { aspect: 'Complexity', left: 'Paired with {{rtcp|RTCP}} for feedback', right: 'Self-contained streaming protocol' }, - { aspect: 'Ecosystem', left: '[[webrtc|WebRTC]], VoIP, video conferencing', right: 'OBS, Twitch ingest, Facebook Live' } + { + aspect: 'Transport', + left: '[[udp|UDP]] (low latency, tolerates loss)', + right: '[[tcp|TCP]] (reliable, higher latency)' + }, + { + aspect: 'Direction', + left: '{{peer-to-peer|Peer-to-peer}} or multicast', + right: 'Client-to-server (ingest)' + }, + { + aspect: 'Overhead', + left: 'Minimal [[rtp|RTP]] header (12 bytes)', + right: 'Chunked message format with handshake' + }, + { + aspect: 'Complexity', + left: 'Paired with {{rtcp|RTCP}} for feedback', + right: 'Self-contained streaming protocol' + }, + { + aspect: 'Ecosystem', + left: '[[webrtc|WebRTC]], VoIP, video conferencing', + right: 'OBS, Twitch ingest, Facebook Live' + } ], useLeftWhen: [ 'You are building interactive audio/video (calls, conferences)', @@ -572,11 +980,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[sip|SIP]] is the traditional telephony {{signaling|signaling}} protocol for {{voip|VoIP}} and video calls; [[webrtc|WebRTC]] provides browser-native {{peer-to-peer|peer-to-peer}} real-time communication without plugins.', keyDifferences: [ - { aspect: 'Browser support', left: 'Requires [[sip|SIP]] client/softphone', right: 'Native in all modern browsers' }, - { aspect: 'Connection model', left: 'Client-server via [[sip|SIP]] proxy/registrar', right: '{{peer-to-peer|Peer-to-peer}} with STUN/TURN fallback' }, - { aspect: 'Complexity', left: 'Mature telecom stack ([[sip|SIP]]/[[sdp|SDP]]/[[rtp|RTP]])', right: 'Integrated (ICE, {{dtls|DTLS}}-{{srtp|SRTP}}, [[sctp|SCTP]])' }, - { aspect: 'Ecosystem', left: 'Asterisk, FreeSWITCH, telecom carriers', right: 'Browsers, Twilio, Daily, Jitsi' }, - { aspect: 'Standardization', left: '{{ietf|IETF}} [[rfc:3261|RFC 3261]] (telecom-oriented)', right: '{{w3c|W3C}} + {{ietf|IETF}} (web-oriented)' } + { + aspect: 'Browser support', + left: 'Requires [[sip|SIP]] client/softphone', + right: 'Native in all modern browsers' + }, + { + aspect: 'Connection model', + left: 'Client-server via [[sip|SIP]] proxy/registrar', + right: '{{peer-to-peer|Peer-to-peer}} with STUN/TURN fallback' + }, + { + aspect: 'Complexity', + left: 'Mature telecom stack ([[sip|SIP]]/[[sdp|SDP]]/[[rtp|RTP]])', + right: 'Integrated (ICE, {{dtls|DTLS}}-{{srtp|SRTP}}, [[sctp|SCTP]])' + }, + { + aspect: 'Ecosystem', + left: 'Asterisk, FreeSWITCH, telecom carriers', + right: 'Browsers, Twilio, Daily, Jitsi' + }, + { + aspect: 'Standardization', + left: '{{ietf|IETF}} [[rfc:3261|RFC 3261]] (telecom-oriented)', + right: '{{w3c|W3C}} + {{ietf|IETF}} (web-oriented)' + } ], useLeftWhen: [ 'You are integrating with existing telephony infrastructure (PBX, PSTN)', @@ -597,11 +1025,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rtmp|RTMP]] is used for live stream ingest from encoders to servers; [[hls|HLS]] is used for delivery from servers to viewers via {{http-method|HTTP}}-based adaptive streaming.', keyDifferences: [ - { aspect: 'Transport', left: 'HTTP (segment-based delivery)', right: '[[tcp|TCP]] (persistent chunked stream)' }, - { aspect: 'Direction', left: 'Server-to-viewer (playback)', right: 'Encoder-to-server (ingest/publish)' }, - { aspect: 'Overhead', left: 'Segment-based (~2-6s chunks)', right: 'Low-latency continuous stream' }, - { aspect: 'Browser support', left: 'Native in Safari, MSE elsewhere', right: 'No browser support (Flash deprecated)' }, - { aspect: 'Ecosystem', left: 'Viewers: all devices and CDNs', right: 'Ingest: OBS, Wirecast, FFmpeg' } + { + aspect: 'Transport', + left: 'HTTP (segment-based delivery)', + right: '[[tcp|TCP]] (persistent chunked stream)' + }, + { + aspect: 'Direction', + left: 'Server-to-viewer (playback)', + right: 'Encoder-to-server (ingest/publish)' + }, + { + aspect: 'Overhead', + left: 'Segment-based (~2-6s chunks)', + right: 'Low-latency continuous stream' + }, + { + aspect: 'Browser support', + left: 'Native in Safari, MSE elsewhere', + right: 'No browser support (Flash deprecated)' + }, + { + aspect: 'Ecosystem', + left: 'Viewers: all devices and CDNs', + right: 'Ingest: OBS, Wirecast, FFmpeg' + } ], useLeftWhen: [ 'You are delivering video to end viewers (playback side)', @@ -622,11 +1070,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rtmp|RTMP]] is a persistent [[tcp|TCP]]-based protocol for live stream ingest; [[dash|DASH]] is an {{http-method|HTTP}}-based adaptive streaming protocol for scalable video delivery to viewers.', keyDifferences: [ - { aspect: 'Transport', left: 'HTTP (segment downloads)', right: '[[tcp|TCP]] (persistent connection)' }, - { aspect: 'Direction', left: 'Server-to-viewer (delivery)', right: 'Encoder-to-server (ingest)' }, - { aspect: 'Standardization', left: 'Open MPEG standard', right: 'Originally Adobe (now open)' }, - { aspect: 'Complexity', left: 'Adaptive bitrate with MPD manifests', right: 'Simple publish/play model' }, - { aspect: 'Browser support', left: 'Via MSE/JavaScript player', right: 'No browser support (Flash deprecated)' } + { + aspect: 'Transport', + left: 'HTTP (segment downloads)', + right: '[[tcp|TCP]] (persistent connection)' + }, + { + aspect: 'Direction', + left: 'Server-to-viewer (delivery)', + right: 'Encoder-to-server (ingest)' + }, + { + aspect: 'Standardization', + left: 'Open MPEG standard', + right: 'Originally Adobe (now open)' + }, + { + aspect: 'Complexity', + left: 'Adaptive bitrate with MPD manifests', + right: 'Simple publish/play model' + }, + { + aspect: 'Browser support', + left: 'Via MSE/JavaScript player', + right: 'No browser support (Flash deprecated)' + } ], useLeftWhen: [ 'You are building the viewer-facing delivery pipeline', @@ -650,11 +1118,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[tls|TLS]] secures arbitrary application protocols transparently (HTTPS, SMTPS); [[ssh|SSH]] provides an encrypted channel specifically for remote shell access, file transfer, and {{port-forwarding|port forwarding}}.', keyDifferences: [ - { aspect: 'Connection model', left: 'Interactive shell + channels (multiplex)', right: 'Transparent wrapper around any protocol' }, - { aspect: 'Complexity', left: 'Built-in auth, shell, file transfer, tunneling', right: 'Pure encryption/auth layer (no application features)' }, - { aspect: 'Data format', left: 'Channel-based (shell, SCP, SFTP, port forward)', right: 'Stream encryption (application handles framing)' }, - { aspect: 'Ecosystem', left: 'OpenSSH, PuTTY, remote administration', right: 'Web browsers, email servers, API gateways' }, - { aspect: 'Browser support', left: 'No browser support (terminal clients)', right: 'Native in all browsers (HTTPS)' } + { + aspect: 'Connection model', + left: 'Interactive shell + channels (multiplex)', + right: 'Transparent wrapper around any protocol' + }, + { + aspect: 'Complexity', + left: 'Built-in auth, shell, file transfer, tunneling', + right: 'Pure encryption/auth layer (no application features)' + }, + { + aspect: 'Data format', + left: 'Channel-based (shell, SCP, SFTP, port forward)', + right: 'Stream encryption (application handles framing)' + }, + { + aspect: 'Ecosystem', + left: 'OpenSSH, PuTTY, remote administration', + right: 'Web browsers, email servers, API gateways' + }, + { + aspect: 'Browser support', + left: 'No browser support (terminal clients)', + right: 'Native in all browsers (HTTPS)' + } ], useLeftWhen: [ 'You need remote shell access or command execution on servers', @@ -666,7 +1154,7 @@ const vsPairs: ProtocolPair[] = [ 'You are securing a web protocol (HTTP, [[smtp|SMTP]], [[ftp|FTP]], [[mqtt|MQTT]])', 'Browser clients must connect securely without special software', 'Your application needs transparent encryption without changing its protocol', - 'Certificate-based trust via public CAs (Let\'s Encrypt) is preferred' + "Certificate-based trust via public CAs (Let's Encrypt) is preferred" ] }, @@ -696,7 +1184,8 @@ const vsPairs: ProtocolPair[] = [ { aspect: 'Command format', left: 'Tagged commands (A001 {{imap-select|SELECT}} INBOX) โ€” enables {{pipelining|pipelining}}', - right: 'Sequential commands ({{ehlo|EHLO}} โ†’ {{smtp-mail-from|MAIL FROM}} โ†’ {{smtp-data|DATA}})' + right: + 'Sequential commands ({{ehlo|EHLO}} โ†’ {{smtp-mail-from|MAIL FROM}} โ†’ {{smtp-data|DATA}})' }, { aspect: 'Default port', @@ -726,11 +1215,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[ethernet|Ethernet]] uses cables for reliable, high-speed {{lan|LAN}} connectivity; [[wifi|Wi-Fi]] uses radio waves for wireless flexibility at the cost of shared {{airtime|airtime}} and lower throughput.', keyDifferences: [ - { aspect: 'Medium', left: 'Copper/fiber cables (dedicated per link)', right: 'Radio waves (shared airtime)' }, - { aspect: 'Access control', left: 'Full duplex on switched links (no collisions)', right: 'CSMA/{{certificate-authority|CA}} โ€” collision avoidance on shared medium' }, - { aspect: 'Speed (typical)', left: '1-100 Gbps', right: '100 Mbpsโ€“9.6 Gbps ([[wifi|Wi-Fi]] 6E/7)' }, - { aspect: 'Security', left: 'Physical access required (inherently private)', right: '{{encryption|Encryption}} mandatory (WPA2/WPA3)' }, - { aspect: 'Addressing', left: '2 MAC addresses per frame (src, dst)', right: '3-4 MAC addresses per frame (RA, TA, DA, SA)' } + { + aspect: 'Medium', + left: 'Copper/fiber cables (dedicated per link)', + right: 'Radio waves (shared airtime)' + }, + { + aspect: 'Access control', + left: 'Full duplex on switched links (no collisions)', + right: 'CSMA/{{certificate-authority|CA}} โ€” collision avoidance on shared medium' + }, + { + aspect: 'Speed (typical)', + left: '1-100 Gbps', + right: '100 Mbpsโ€“9.6 Gbps ([[wifi|Wi-Fi]] 6E/7)' + }, + { + aspect: 'Security', + left: 'Physical access required (inherently private)', + right: '{{encryption|Encryption}} mandatory (WPA2/WPA3)' + }, + { + aspect: 'Addressing', + left: '2 MAC addresses per frame (src, dst)', + right: '3-4 MAC addresses per frame (RA, TA, DA, SA)' + } ], useLeftWhen: [ 'Maximum speed and minimum latency are required (data centers, server rooms)', @@ -752,11 +1261,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[ip|IPv4]] uses 32-bit addresses (4.3 billion) and has served since 1981; [[ipv6|IPv6]] uses 128-bit addresses (340 undecillion) with a simplified header and no {{nat|NAT}} needed.', keyDifferences: [ - { aspect: 'Address size', left: '32-bit (192.168.1.1) โ€” 4.3 billion addresses', right: '128-bit (2001:db8::1) โ€” 340 undecillion addresses' }, - { aspect: 'Header', left: 'Variable 20-60 bytes, header checksum, options', right: 'Fixed 40 bytes, no checksum, extension header chain' }, - { aspect: 'Fragmentation', left: 'Routers and hosts can fragment', right: 'Only source host fragments ({{path-mtu-discovery|Path MTU Discovery}})' }, - { aspect: 'Address resolution', left: '[[arp|ARP]] broadcasts (FF:FF:FF:FF:FF:FF)', right: '{{ndp|NDP}} solicited-node multicast (far more efficient)' }, - { aspect: 'Auto-configuration', left: 'Requires [[dhcp|DHCP]] server', right: '{{slaac|SLAAC}} โ€” hosts self-configure from router prefix' } + { + aspect: 'Address size', + left: '32-bit (192.168.1.1) โ€” 4.3 billion addresses', + right: '128-bit (2001:db8::1) โ€” 340 undecillion addresses' + }, + { + aspect: 'Header', + left: 'Variable 20-60 bytes, header checksum, options', + right: 'Fixed 40 bytes, no checksum, extension header chain' + }, + { + aspect: 'Fragmentation', + left: 'Routers and hosts can fragment', + right: 'Only source host fragments ({{path-mtu-discovery|Path MTU Discovery}})' + }, + { + aspect: 'Address resolution', + left: '[[arp|ARP]] broadcasts (FF:FF:FF:FF:FF:FF)', + right: '{{ndp|NDP}} solicited-node multicast (far more efficient)' + }, + { + aspect: 'Auto-configuration', + left: 'Requires [[dhcp|DHCP]] server', + right: '{{slaac|SLAAC}} โ€” hosts self-configure from router prefix' + } ], useLeftWhen: [ 'You are operating in legacy environments where [[ipv6|IPv6]] is not yet supported', @@ -780,11 +1309,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[soap|SOAP]] provides formal {{xml|XML}} contracts and enterprise features (transactions, security); [[rest|REST]] favors simplicity with {{json|JSON}} over {{http-method|HTTP}} and standard methods.', keyDifferences: [ - { aspect: 'Data format', left: '{{xml|XML}} only (strict schema)', right: '{{json|JSON}}, {{xml|XML}}, or any format (flexible)' }, - { aspect: 'Contract', left: 'WSDL โ€” formal, machine-readable service definition', right: 'OpenAPI/Swagger โ€” optional, documentation-oriented' }, - { aspect: 'Transport', left: 'HTTP POST only (protocol-agnostic in theory)', right: 'Full HTTP semantics (GET, POST, PUT, DELETE)' }, - { aspect: 'Error handling', left: '[[soap|SOAP]] Fault โ€” structured {{xml|XML}} error envelopes', right: 'HTTP status codes (404, 500, etc.)' }, - { aspect: 'Ecosystem', left: 'WS-Security, WS-ReliableMessaging, WS-AtomicTransaction', right: 'Lightweight โ€” use [[tls|TLS]], retries, saga pattern separately' } + { + aspect: 'Data format', + left: '{{xml|XML}} only (strict schema)', + right: '{{json|JSON}}, {{xml|XML}}, or any format (flexible)' + }, + { + aspect: 'Contract', + left: 'WSDL โ€” formal, machine-readable service definition', + right: 'OpenAPI/Swagger โ€” optional, documentation-oriented' + }, + { + aspect: 'Transport', + left: 'HTTP POST only (protocol-agnostic in theory)', + right: 'Full HTTP semantics (GET, POST, PUT, DELETE)' + }, + { + aspect: 'Error handling', + left: '[[soap|SOAP]] Fault โ€” structured {{xml|XML}} error envelopes', + right: 'HTTP status codes (404, 500, etc.)' + }, + { + aspect: 'Ecosystem', + left: 'WS-Security, WS-ReliableMessaging, WS-AtomicTransaction', + right: 'Lightweight โ€” use [[tls|TLS]], retries, saga pattern separately' + } ], useLeftWhen: [ 'You need formal service contracts with strict schema validation (banking, insurance)', @@ -805,11 +1354,31 @@ const vsPairs: ProtocolPair[] = [ summary: 'Both use strict contracts and code generation, but [[soap|SOAP]] wraps calls in verbose {{xml|XML}} envelopes while [[grpc|gRPC]] uses compact binary Protobuf over [[http2|HTTP/2]].', keyDifferences: [ - { aspect: 'Serialization', left: '{{xml|XML}} (text-based, verbose)', right: '{{protocol-buffers|Protocol Buffers}} (binary, compact)' }, - { aspect: 'Contract', left: 'WSDL ({{xml|XML}} Schema)', right: '.proto files ({{protocol-buffers|Protocol Buffers}} IDL)' }, - { aspect: 'Transport', left: '[[http1|HTTP/1.1]] POST', right: '[[http2|HTTP/2]] with multiplexing and streaming' }, - { aspect: 'Streaming', left: 'Not supported natively', right: 'Bidirectional streaming built-in' }, - { aspect: 'Ecosystem', left: 'Mature enterprise (Java, .NET)', right: 'Modern polyglot (Go, Rust, Python, Java, JS)' } + { + aspect: 'Serialization', + left: '{{xml|XML}} (text-based, verbose)', + right: '{{protocol-buffers|Protocol Buffers}} (binary, compact)' + }, + { + aspect: 'Contract', + left: 'WSDL ({{xml|XML}} Schema)', + right: '.proto files ({{protocol-buffers|Protocol Buffers}} IDL)' + }, + { + aspect: 'Transport', + left: '[[http1|HTTP/1.1]] POST', + right: '[[http2|HTTP/2]] with multiplexing and streaming' + }, + { + aspect: 'Streaming', + left: 'Not supported natively', + right: 'Bidirectional streaming built-in' + }, + { + aspect: 'Ecosystem', + left: 'Mature enterprise (Java, .NET)', + right: 'Modern polyglot (Go, Rust, Python, Java, JS)' + } ], useLeftWhen: [ 'You are in a regulated industry requiring WSDL-based formal contracts', @@ -830,11 +1399,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[soap|SOAP]] defines rigid operations via {{wsdl|WSDL}}; [[graphql|GraphQL]] lets clients specify exactly the data they need in a single flexible query.', keyDifferences: [ - { aspect: 'Query model', left: 'Fixed operations defined in WSDL', right: 'Client specifies exact fields and relationships' }, - { aspect: 'Data format', left: '{{xml|XML}} envelopes with {{xml|XML}} Schema', right: '{{json|JSON}} responses with typed schema' }, - { aspect: 'Over/under-fetching', left: 'Returns entire operation result (over-fetching)', right: 'Returns exactly requested fields (precise)' }, - { aspect: 'Versioning', left: 'WSDL versioning (breaking changes)', right: 'Schema evolution (additive, non-breaking)' }, - { aspect: 'Introspection', left: 'WSDL document download', right: 'Built-in schema introspection queries' } + { + aspect: 'Query model', + left: 'Fixed operations defined in WSDL', + right: 'Client specifies exact fields and relationships' + }, + { + aspect: 'Data format', + left: '{{xml|XML}} envelopes with {{xml|XML}} Schema', + right: '{{json|JSON}} responses with typed schema' + }, + { + aspect: 'Over/under-fetching', + left: 'Returns entire operation result (over-fetching)', + right: 'Returns exactly requested fields (precise)' + }, + { + aspect: 'Versioning', + left: 'WSDL versioning (breaking changes)', + right: 'Schema evolution (additive, non-breaking)' + }, + { + aspect: 'Introspection', + left: 'WSDL document download', + right: 'Built-in schema introspection queries' + } ], useLeftWhen: [ 'You need formal, validated contracts for enterprise integration', @@ -858,11 +1447,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[oauth2|OAuth 2.0]] handles authorization (who can access what); [[tls|TLS]] handles {{encryption|encryption}} (protecting data in {{transit|transit}}). Different problems, complementary solutions โ€” [[oauth2|OAuth]] requires [[tls|TLS]].', keyDifferences: [ - { aspect: 'Problem solved', left: 'Authorization โ€” delegated access to resources', right: '{{encryption|Encryption}} โ€” confidentiality and integrity of data in transit' }, - { aspect: 'OSI layer', left: 'Application layer (HTTP redirects, tokens)', right: 'Session/transport layer (encrypts byte streams)' }, - { aspect: 'Scope', left: 'Per-resource access control (scopes, tokens)', right: 'Per-connection encryption (entire data stream)' }, - { aspect: 'User involvement', left: 'User consents to grant access', right: 'Transparent to the user (lock icon in browser)' }, - { aspect: 'Dependency', left: 'Requires [[tls|TLS]] for security (tokens in cleartext = disaster)', right: 'Independent โ€” works without [[oauth2|OAuth]]' } + { + aspect: 'Problem solved', + left: 'Authorization โ€” delegated access to resources', + right: '{{encryption|Encryption}} โ€” confidentiality and integrity of data in transit' + }, + { + aspect: 'OSI layer', + left: 'Application layer (HTTP redirects, tokens)', + right: 'Session/transport layer (encrypts byte streams)' + }, + { + aspect: 'Scope', + left: 'Per-resource access control (scopes, tokens)', + right: 'Per-connection encryption (entire data stream)' + }, + { + aspect: 'User involvement', + left: 'User consents to grant access', + right: 'Transparent to the user (lock icon in browser)' + }, + { + aspect: 'Dependency', + left: 'Requires [[tls|TLS]] for security (tokens in cleartext = disaster)', + right: 'Independent โ€” works without [[oauth2|OAuth]]' + } ], useLeftWhen: [ 'Third-party apps need access to user resources without passwords', @@ -886,11 +1495,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] maps operations to {{http-method|HTTP}} verbs and multiple resource URLs; [[json-rpc|JSON-RPC]] sends method names to a single endpoint. [[rest|REST]] is resource-oriented, [[json-rpc|JSON-RPC]] is action-oriented.', keyDifferences: [ - { aspect: 'Data format', left: 'Method name + params in {{json|JSON}} body', right: 'HTTP verbs + resource URLs' }, - { aspect: 'Caching', left: 'Not cacheable (all POSTs)', right: 'HTTP-level caching (GET is cacheable)' }, - { aspect: 'Complexity', left: 'Minimal spec, single endpoint', right: 'Convention-heavy, multiple endpoints' }, - { aspect: 'Ecosystem', left: 'Growing (blockchain, AI agents)', right: 'Dominant (most public APIs)' }, - { aspect: 'Overhead', left: 'Batch requests reduce round trips', right: 'One HTTP request per operation' } + { + aspect: 'Data format', + left: 'Method name + params in {{json|JSON}} body', + right: 'HTTP verbs + resource URLs' + }, + { + aspect: 'Caching', + left: 'Not cacheable (all POSTs)', + right: 'HTTP-level caching (GET is cacheable)' + }, + { + aspect: 'Complexity', + left: 'Minimal spec, single endpoint', + right: 'Convention-heavy, multiple endpoints' + }, + { + aspect: 'Ecosystem', + left: 'Growing (blockchain, AI agents)', + right: 'Dominant (most public APIs)' + }, + { + aspect: 'Overhead', + left: 'Batch requests reduce round trips', + right: 'One HTTP request per operation' + } ], useLeftWhen: [ 'Your API is action-oriented rather than resource-oriented (execute, calculate, query)', @@ -911,11 +1540,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[grpc|gRPC]] uses binary {{protocol-buffers|Protocol Buffers}} and [[http2|HTTP/2]] for maximum performance with code generation; [[json-rpc|JSON-RPC]] uses human-readable {{json|JSON}} over any transport for maximum simplicity.', keyDifferences: [ - { aspect: 'Data format', left: 'Binary ({{protocol-buffers|Protocol Buffers}})', right: 'Text ({{json|JSON}})' }, - { aspect: 'Transport', left: '[[http2|HTTP/2]] only', right: 'Any (HTTP, [[websockets|WebSocket]], stdio, [[tcp|TCP]])' }, - { aspect: 'Direction', left: 'Unary + bidirectional streaming', right: '{{request-response|Request-response}} + notifications' }, - { aspect: 'Complexity', left: '.proto files + code generation', right: 'No schema, no build step' }, - { aspect: 'Ecosystem', left: 'Mature (Google-backed, 11 languages)', right: 'Lightweight (blockchain, AI, editors)' } + { + aspect: 'Data format', + left: 'Binary ({{protocol-buffers|Protocol Buffers}})', + right: 'Text ({{json|JSON}})' + }, + { + aspect: 'Transport', + left: '[[http2|HTTP/2]] only', + right: 'Any (HTTP, [[websockets|WebSocket]], stdio, [[tcp|TCP]])' + }, + { + aspect: 'Direction', + left: 'Unary + bidirectional streaming', + right: '{{request-response|Request-response}} + notifications' + }, + { + aspect: 'Complexity', + left: '.proto files + code generation', + right: 'No schema, no build step' + }, + { + aspect: 'Ecosystem', + left: 'Mature (Google-backed, 11 languages)', + right: 'Lightweight (blockchain, AI, editors)' + } ], useLeftWhen: [ 'You need maximum throughput between internal microservices', @@ -936,11 +1585,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[graphql|GraphQL]] lets clients {{imap-select|select}} exactly which fields they need via a query language; [[json-rpc|JSON-RPC]] calls methods by name and returns whatever the method returns โ€” no field selection.', keyDifferences: [ - { aspect: 'Data format', left: 'Query language with field selection', right: 'Method name + params, fixed response' }, - { aspect: 'Complexity', left: 'Schema, resolvers, query parsing', right: 'No schema, direct method dispatch' }, - { aspect: 'Overhead', left: 'Query parsing + validation per request', right: 'Minimal โ€” {{json|JSON}} parse + method lookup' }, - { aspect: 'Direction', left: '{{request-response|Request-response}} + subscriptions', right: '{{request-response|Request-response}} + notifications' }, - { aspect: 'Ecosystem', left: 'Web frontends, mobile apps', right: 'Infrastructure, blockchain, AI agents' } + { + aspect: 'Data format', + left: 'Query language with field selection', + right: 'Method name + params, fixed response' + }, + { + aspect: 'Complexity', + left: 'Schema, resolvers, query parsing', + right: 'No schema, direct method dispatch' + }, + { + aspect: 'Overhead', + left: 'Query parsing + validation per request', + right: 'Minimal โ€” {{json|JSON}} parse + method lookup' + }, + { + aspect: 'Direction', + left: '{{request-response|Request-response}} + subscriptions', + right: '{{request-response|Request-response}} + notifications' + }, + { + aspect: 'Ecosystem', + left: 'Web frontends, mobile apps', + right: 'Infrastructure, blockchain, AI agents' + } ], useLeftWhen: [ 'Clients have varied data needs and over-fetching is a problem', @@ -961,11 +1630,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[soap|SOAP]] wraps {{rpc|RPC}} calls in verbose {{xml|XML}} envelopes with formal {{wsdl|WSDL}} contracts and {{ws-star|WS-*}} extensions; [[json-rpc|JSON-RPC]] does the same thing in a few lines of {{json|JSON}} with no ceremony.', keyDifferences: [ - { aspect: 'Data format', left: '{{json|JSON}} (lightweight text)', right: '{{xml|XML}} (verbose, structured envelopes)' }, - { aspect: 'Complexity', left: 'One-page spec, no schema required', right: 'WSDL, XSD, WS-* extensions' }, - { aspect: 'Overhead', left: '~60 bytes for a simple call', right: '500+ bytes for the same call in {{xml|XML}}' }, - { aspect: 'Standardization', left: 'Community spec (jsonrpc.org)', right: '{{w3c|W3C}} standard with enterprise extensions' }, - { aspect: 'Ecosystem', left: 'Modern infrastructure and AI', right: 'Enterprise banking, healthcare, government' } + { + aspect: 'Data format', + left: '{{json|JSON}} (lightweight text)', + right: '{{xml|XML}} (verbose, structured envelopes)' + }, + { + aspect: 'Complexity', + left: 'One-page spec, no schema required', + right: 'WSDL, XSD, WS-* extensions' + }, + { + aspect: 'Overhead', + left: '~60 bytes for a simple call', + right: '500+ bytes for the same call in {{xml|XML}}' + }, + { + aspect: 'Standardization', + left: 'Community spec (jsonrpc.org)', + right: '{{w3c|W3C}} standard with enterprise extensions' + }, + { + aspect: 'Ecosystem', + left: 'Modern infrastructure and AI', + right: 'Enterprise banking, healthcare, government' + } ], useLeftWhen: [ 'You want RPC without the overhead of {{xml|XML}} and WSDL', @@ -989,11 +1678,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[mcp|MCP]] connects an {{ai|AI}} agent to tools and data sources; [[a2a|A2A]] connects {{ai|AI}} agents to each other for multi-agent collaboration. They are complementary, not competing.', keyDifferences: [ - { aspect: 'Purpose', left: 'Agent-to-agent collaboration', right: 'Agent-to-tool integration' }, - { aspect: 'Discovery', left: 'Agent Cards at /.well-known/agent.json', right: 'Capabilities handshake (initialize)' }, - { aspect: 'Transparency', left: 'Opaque (skills only, no internals)', right: 'Transparent (tool schemas, resource URIs)' }, - { aspect: 'Unit of work', left: 'Task with lifecycle (stateful)', right: 'Tool call (stateless {{request-response|request-response}})' }, - { aspect: 'Transport', left: 'HTTP, [[sse|SSE]], webhooks, [[grpc|gRPC]]', right: 'stdio, Streamable HTTP' } + { + aspect: 'Purpose', + left: 'Agent-to-agent collaboration', + right: 'Agent-to-tool integration' + }, + { + aspect: 'Discovery', + left: 'Agent Cards at /.well-known/agent.json', + right: 'Capabilities handshake (initialize)' + }, + { + aspect: 'Transparency', + left: 'Opaque (skills only, no internals)', + right: 'Transparent (tool schemas, resource URIs)' + }, + { + aspect: 'Unit of work', + left: 'Task with lifecycle (stateful)', + right: 'Tool call (stateless {{request-response|request-response}})' + }, + { + aspect: 'Transport', + left: 'HTTP, [[sse|SSE]], webhooks, [[grpc|gRPC]]', + right: 'stdio, Streamable HTTP' + } ], useLeftWhen: [ 'You need multiple AI agents to collaborate on complex tasks', @@ -1014,11 +1723,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] is a general-purpose {{api|API}} style for any client; [[a2a|A2A]] is specifically designed for {{ai|AI}} agent communication with discovery, task lifecycle, and streaming built in.', keyDifferences: [ - { aspect: 'Purpose', left: 'AI agent-to-agent collaboration', right: 'General-purpose API access' }, - { aspect: 'Discovery', left: 'Agent Cards with skills and auth', right: 'OpenAPI/Swagger documentation' }, - { aspect: 'Statefulness', left: '{{stateful|Stateful}} tasks with lifecycle', right: '{{stateless|Stateless}} {{request-response|request-response}}' }, - { aspect: 'Direction', left: 'Bidirectional ([[sse|SSE]], webhooks)', right: 'Client-initiated only' }, - { aspect: 'Data format', left: '[[json-rpc|JSON-RPC]] methods + Parts/Artifacts', right: 'HTTP verbs + resource URLs' } + { + aspect: 'Purpose', + left: 'AI agent-to-agent collaboration', + right: 'General-purpose API access' + }, + { + aspect: 'Discovery', + left: 'Agent Cards with skills and auth', + right: 'OpenAPI/Swagger documentation' + }, + { + aspect: 'Statefulness', + left: '{{stateful|Stateful}} tasks with lifecycle', + right: '{{stateless|Stateless}} {{request-response|request-response}}' + }, + { + aspect: 'Direction', + left: 'Bidirectional ([[sse|SSE]], webhooks)', + right: 'Client-initiated only' + }, + { + aspect: 'Data format', + left: '[[json-rpc|JSON-RPC]] methods + Parts/Artifacts', + right: 'HTTP verbs + resource URLs' + } ], useLeftWhen: [ 'You are building multi-agent AI systems that need to delegate and coordinate', @@ -1039,11 +1768,27 @@ const vsPairs: ProtocolPair[] = [ summary: '[[rest|REST]] exposes resources via {{http-method|HTTP}} for any client; [[mcp|MCP]] exposes tools, resources, and prompts specifically for {{ai|AI}} applications with {{llm|LLM}}-native semantics like {{sampling|sampling}} and tool schemas.', keyDifferences: [ - { aspect: 'Purpose', left: 'AI-native tool and data access', right: 'General-purpose API access' }, - { aspect: 'Discovery', left: 'Dynamic capability negotiation', right: 'Static OpenAPI documentation' }, - { aspect: 'Data format', left: '[[json-rpc|JSON-RPC]] methods (tools/call)', right: 'HTTP verbs + resource URLs' }, + { + aspect: 'Purpose', + left: 'AI-native tool and data access', + right: 'General-purpose API access' + }, + { + aspect: 'Discovery', + left: 'Dynamic capability negotiation', + right: 'Static OpenAPI documentation' + }, + { + aspect: 'Data format', + left: '[[json-rpc|JSON-RPC]] methods (tools/call)', + right: 'HTTP verbs + resource URLs' + }, { aspect: 'Transport', left: 'stdio + Streamable HTTP', right: 'HTTP only' }, - { aspect: 'Ecosystem', left: 'AI apps (Claude, ChatGPT, Cursor)', right: 'Universal (any HTTP client)' } + { + aspect: 'Ecosystem', + left: 'AI apps (Claude, ChatGPT, Cursor)', + right: 'Universal (any HTTP client)' + } ], useLeftWhen: [ 'You are building tools for AI applications to consume (not human developers)', @@ -1064,11 +1809,31 @@ const vsPairs: ProtocolPair[] = [ summary: '[[grpc|gRPC]] is a general-purpose {{rpc|RPC}} framework for microservices; [[a2a|A2A]] is specifically designed for {{ai|AI}} agent communication with agent discovery, task lifecycle, and opaque collaboration.', keyDifferences: [ - { aspect: 'Purpose', left: 'AI agent collaboration', right: 'General-purpose microservice RPC' }, - { aspect: 'Discovery', left: 'Agent Cards with skills', right: 'Protobuf service reflection' }, - { aspect: 'Data format', left: '[[json-rpc|JSON-RPC]] 2.0 (text)', right: '{{protocol-buffers|Protocol Buffers}} (binary)' }, - { aspect: 'Statefulness', left: '{{stateful|Stateful}} tasks with lifecycle', right: '{{stateless|Stateless}} unary or streaming calls' }, - { aspect: 'Ecosystem', left: 'AI agents (Google, Salesforce, SAP)', right: 'Microservices (Kubernetes, {{service-mesh|service mesh}})' } + { + aspect: 'Purpose', + left: 'AI agent collaboration', + right: 'General-purpose microservice RPC' + }, + { + aspect: 'Discovery', + left: 'Agent Cards with skills', + right: 'Protobuf service reflection' + }, + { + aspect: 'Data format', + left: '[[json-rpc|JSON-RPC]] 2.0 (text)', + right: '{{protocol-buffers|Protocol Buffers}} (binary)' + }, + { + aspect: 'Statefulness', + left: '{{stateful|Stateful}} tasks with lifecycle', + right: '{{stateless|Stateless}} unary or streaming calls' + }, + { + aspect: 'Ecosystem', + left: 'AI agents (Google, Salesforce, SAP)', + right: 'Microservices (Kubernetes, {{service-mesh|service mesh}})' + } ], useLeftWhen: [ 'You are orchestrating opaque AI agents that need to discover and delegate tasks', @@ -1100,7 +1865,8 @@ const relationshipPairs: ProtocolPair[] = [ howTheyWork: '[[tcp|TCP]] first establishes a reliable connection via its 3-way {{handshake|handshake}}. Then [[tls|TLS]] performs its own {{handshake|handshake}} on top of that [[tcp|TCP]] connection, negotiating cipher suites and exchanging keys. Once both handshakes complete, all application data flows through [[tls|TLS]] {{encryption|encryption}} over the [[tcp|TCP]] stream.', leftRole: '[[tcp|TCP]] provides reliable, ordered byte-stream delivery between endpoints.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for the data [[tcp|TCP]] carries.' + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for the data [[tcp|TCP]] carries.' }, { ids: ['amqp', 'tcp'], @@ -1108,9 +1874,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[amqp|AMQP]] runs over [[tcp|TCP]], relying on its reliable byte stream to guarantee that messages, acknowledgments, and routing commands between clients and brokers are never lost or reordered.', howTheyWork: - 'An [[amqp|AMQP]] client opens a [[tcp|TCP]] connection to the broker (typically port 5672) and performs the [[amqp|AMQP]] protocol {{handshake|handshake}} to negotiate capabilities. [[amqp|AMQP]] then multiplexes multiple logical channels over this single [[tcp|TCP]] connection, using [[tcp|TCP]]\'s reliability to ensure every published message, acknowledgment, and broker command arrives intact and in order.', - leftRole: '[[amqp|AMQP]] provides message routing, queuing, acknowledgment, and delivery guarantee semantics.', - rightRole: '[[tcp|TCP]] provides the reliable, ordered byte-stream transport that [[amqp|AMQP]] frames are carried over.' + "An [[amqp|AMQP]] client opens a [[tcp|TCP]] connection to the broker (typically port 5672) and performs the [[amqp|AMQP]] protocol {{handshake|handshake}} to negotiate capabilities. [[amqp|AMQP]] then multiplexes multiple logical channels over this single [[tcp|TCP]] connection, using [[tcp|TCP]]'s reliability to ensure every published message, acknowledgment, and broker command arrives intact and in order.", + leftRole: + '[[amqp|AMQP]] provides message routing, queuing, acknowledgment, and delivery guarantee semantics.', + rightRole: + '[[tcp|TCP]] provides the reliable, ordered byte-stream transport that [[amqp|AMQP]] frames are carried over.' }, { ids: ['dns', 'tcp'], @@ -1119,8 +1887,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[dns|DNS]] falls back to [[tcp|TCP]] when responses exceed the 512-byte [[udp|UDP]] limit or when zone transfers require reliable delivery of complete [[dns|DNS]] records.', howTheyWork: 'When a [[dns|DNS]] response is too large for a single [[udp|UDP]] datagram (common with {{dnssec|DNSSEC}} or many records), the server signals truncation and the client retries over [[tcp|TCP]] port 53. Zone transfers (AXFR/IXFR) between authoritative servers always use [[tcp|TCP]] to ensure the complete zone dataset is delivered reliably without loss or reordering.', - leftRole: '[[dns|DNS]] defines the query/response protocol for name resolution and zone transfer operations.', - rightRole: '[[tcp|TCP]] provides reliable delivery for large [[dns|DNS]] responses and complete zone transfers that exceed [[udp|UDP]]\'s practical limits.' + leftRole: + '[[dns|DNS]] defines the query/response protocol for name resolution and zone transfer operations.', + rightRole: + "[[tcp|TCP]] provides reliable delivery for large [[dns|DNS]] responses and complete zone transfers that exceed [[udp|UDP]]'s practical limits." }, { ids: ['ftp', 'tcp'], @@ -1128,19 +1898,23 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[ftp|FTP]] uses [[tcp|TCP]] for both its control channel (commands and responses) and its separate data channel (file transfers), relying on reliable delivery to ensure files arrive intact.', howTheyWork: - '[[ftp|FTP]] establishes a [[tcp|TCP]] control connection on port 21 for exchanging commands (LIST, RETR, STOR) and status replies. For each file transfer, a separate [[tcp|TCP]] data connection is opened โ€” either from server to client (active mode) or client to server (passive mode). [[tcp|TCP]]\'s reliability guarantees that transferred files are complete and uncorrupted.', - leftRole: '[[ftp|FTP]] provides the command protocol for file listing, upload, download, and directory navigation.', - rightRole: '[[tcp|TCP]] provides reliable, ordered delivery for both the [[ftp|FTP]] control channel and file data transfers.' + "[[ftp|FTP]] establishes a [[tcp|TCP]] control connection on port 21 for exchanging commands (LIST, RETR, STOR) and status replies. For each file transfer, a separate [[tcp|TCP]] data connection is opened โ€” either from server to client (active mode) or client to server (passive mode). [[tcp|TCP]]'s reliability guarantees that transferred files are complete and uncorrupted.", + leftRole: + '[[ftp|FTP]] provides the command protocol for file listing, upload, download, and directory navigation.', + rightRole: + '[[tcp|TCP]] provides reliable, ordered delivery for both the [[ftp|FTP]] control channel and file data transfers.' }, { ids: ['http1', 'tcp'], type: 'relationship', summary: - '[[http1|[[http1|HTTP/1]].1]] sends requests and responses as plaintext over [[tcp|TCP]] connections, relying on [[tcp|TCP]]\'s reliable delivery to ensure every header and body byte arrives in order.', + "[[http1|[[http1|HTTP/1]].1]] sends requests and responses as plaintext over [[tcp|TCP]] connections, relying on [[tcp|TCP]]'s reliable delivery to ensure every header and body byte arrives in order.", howTheyWork: - 'The client opens a [[tcp|TCP]] connection (typically port 80 or 443 with [[tls|TLS]]) and sends an {{http-method|HTTP}} request as a text stream. The server responds over the same connection, which can be reused for subsequent requests via {{keep-alive|keep-alive}}. Each {{request-response|request-response}} pair is serialized on the connection, meaning [[http1|[[http1|HTTP/1]].1]] inherits [[tcp|TCP]]\'s {{head-of-line-blocking|head-of-line blocking}}.', - leftRole: '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} semantics, headers, methods, and status codes for web communication.', - rightRole: '[[tcp|TCP]] provides the reliable, ordered byte stream that [[http1|[[http1|HTTP/1]].1]] messages are transmitted over.' + "The client opens a [[tcp|TCP]] connection (typically port 80 or 443 with [[tls|TLS]]) and sends an {{http-method|HTTP}} request as a text stream. The server responds over the same connection, which can be reused for subsequent requests via {{keep-alive|keep-alive}}. Each {{request-response|request-response}} pair is serialized on the connection, meaning [[http1|[[http1|HTTP/1]].1]] inherits [[tcp|TCP]]'s {{head-of-line-blocking|head-of-line blocking}}.", + leftRole: + '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} semantics, headers, methods, and status codes for web communication.', + rightRole: + '[[tcp|TCP]] provides the reliable, ordered byte stream that [[http1|[[http1|HTTP/1]].1]] messages are transmitted over.' }, { ids: ['http2', 'tcp'], @@ -1149,8 +1923,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[http2|HTTP/2]] multiplexes many {{request-response|request-response}} streams over a single [[tcp|TCP]] connection, gaining efficiency but inheriting [[tcp|TCP]]-level {{head-of-line-blocking|head-of-line blocking}} when packets are lost.', howTheyWork: '[[http2|HTTP/2]] opens one [[tcp|TCP]] connection per origin and sends all requests as interleaved binary frames across independent logical streams. [[tcp|TCP]] sees this as a single byte stream and guarantees ordered delivery. If any [[tcp|TCP]] segment is lost, all [[http2|HTTP/2]] streams stall until {{retransmission|retransmission}} completes โ€” this [[tcp|TCP]]-level {{head-of-line-blocking|head-of-line blocking}} is what [[http3|HTTP/3]] ([[quic|QUIC]]) was designed to solve.', - leftRole: '[[http2|HTTP/2]] provides {{binary-framing|binary framing}}, multiplexed streams, header compression, and {{server-push|server push}}.', - rightRole: '[[tcp|TCP]] provides the single reliable byte stream over which all [[http2|HTTP/2]] frames are delivered.' + leftRole: + '[[http2|HTTP/2]] provides {{binary-framing|binary framing}}, multiplexed streams, header compression, and {{server-push|server push}}.', + rightRole: + '[[tcp|TCP]] provides the single reliable byte stream over which all [[http2|HTTP/2]] frames are delivered.' }, { ids: ['kafka', 'tcp'], @@ -1158,19 +1934,23 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[kafka|Kafka]] uses persistent [[tcp|TCP]] connections between producers, consumers, and brokers to reliably stream high-throughput event data with ordering guarantees.', howTheyWork: - '[[kafka|Kafka]] clients open long-lived [[tcp|TCP]] connections to brokers (default port 9092) and use [[kafka|Kafka]]\'s binary protocol to produce and consume messages in batches. [[tcp|TCP]]\'s reliable delivery ensures that large batches of events, {{offset|offset}} commits, and metadata requests are never lost or reordered. Clients maintain connections to multiple brokers for {{partition|partition}}-aware routing.', - leftRole: '[[kafka|Kafka]] provides distributed log storage, partitioned {{topic|topic}} streaming, and {{consumer-group|consumer group}} coordination.', - rightRole: '[[tcp|TCP]] provides the reliable, persistent connections needed for high-throughput event delivery between [[kafka|Kafka]] clients and brokers.' + "[[kafka|Kafka]] clients open long-lived [[tcp|TCP]] connections to brokers (default port 9092) and use [[kafka|Kafka]]'s binary protocol to produce and consume messages in batches. [[tcp|TCP]]'s reliable delivery ensures that large batches of events, {{offset|offset}} commits, and metadata requests are never lost or reordered. Clients maintain connections to multiple brokers for {{partition|partition}}-aware routing.", + leftRole: + '[[kafka|Kafka]] provides distributed log storage, partitioned {{topic|topic}} streaming, and {{consumer-group|consumer group}} coordination.', + rightRole: + '[[tcp|TCP]] provides the reliable, persistent connections needed for high-throughput event delivery between [[kafka|Kafka]] clients and brokers.' }, { ids: ['mqtt', 'tcp'], type: 'relationship', summary: - '[[mqtt|MQTT]] uses [[tcp|TCP]] as its default transport, relying on [[tcp|TCP]]\'s reliable delivery to carry lightweight pub/sub messages between IoT devices and brokers.', + "[[mqtt|MQTT]] uses [[tcp|TCP]] as its default transport, relying on [[tcp|TCP]]'s reliable delivery to carry lightweight pub/sub messages between IoT devices and brokers.", howTheyWork: - 'An [[mqtt|MQTT]] client opens a [[tcp|TCP]] connection to the broker (typically port 1883, or 8883 with [[tls|TLS]]) and sends a {{mqtt-connect|CONNECT}} packet to establish the session. [[tcp|TCP]]\'s reliability ensures that {{mqtt-publish|PUBLISH}}, {{mqtt-subscribe|SUBSCRIBE}}, and acknowledgment packets arrive intact, which [[mqtt|MQTT]] layers its own QoS levels on top of. The persistent [[tcp|TCP]] connection also enables the broker to push messages to clients at any time.', - leftRole: '[[mqtt|MQTT]] provides lightweight {{mqtt-publish|publish}}-{{mqtt-subscribe|subscribe}} messaging with QoS levels, retained messages, and last-will semantics.', - rightRole: '[[tcp|TCP]] provides the reliable, persistent connection that [[mqtt|MQTT]] uses to deliver messages between clients and the broker.' + "An [[mqtt|MQTT]] client opens a [[tcp|TCP]] connection to the broker (typically port 1883, or 8883 with [[tls|TLS]]) and sends a {{mqtt-connect|CONNECT}} packet to establish the session. [[tcp|TCP]]'s reliability ensures that {{mqtt-publish|PUBLISH}}, {{mqtt-subscribe|SUBSCRIBE}}, and acknowledgment packets arrive intact, which [[mqtt|MQTT]] layers its own QoS levels on top of. The persistent [[tcp|TCP]] connection also enables the broker to push messages to clients at any time.", + leftRole: + '[[mqtt|MQTT]] provides lightweight {{mqtt-publish|publish}}-{{mqtt-subscribe|subscribe}} messaging with QoS levels, retained messages, and last-will semantics.', + rightRole: + '[[tcp|TCP]] provides the reliable, persistent connection that [[mqtt|MQTT]] uses to deliver messages between clients and the broker.' }, { ids: ['rtmp', 'tcp'], @@ -1178,9 +1958,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[rtmp|RTMP]] runs over persistent [[tcp|TCP]] connections to reliably deliver live audio, video, and data streams from encoders to media servers.', howTheyWork: - '[[rtmp|RTMP]] establishes a [[tcp|TCP]] connection (default port 1935) and performs its own {{handshake|handshake}} to negotiate the session. It then multiplexes audio, video, and command messages as interleaved chunks over this single [[tcp|TCP]] connection. [[tcp|TCP]]\'s reliable delivery ensures no media chunks are lost, which is critical since [[rtmp|RTMP]]\'s chunk-based protocol cannot recover from gaps.', - leftRole: '[[rtmp|RTMP]] provides the media chunking, {{multiplexing|multiplexing}}, and stream control protocol for live streaming.', - rightRole: '[[tcp|TCP]] provides the reliable, persistent connection that ensures every media chunk is delivered in order.' + "[[rtmp|RTMP]] establishes a [[tcp|TCP]] connection (default port 1935) and performs its own {{handshake|handshake}} to negotiate the session. It then multiplexes audio, video, and command messages as interleaved chunks over this single [[tcp|TCP]] connection. [[tcp|TCP]]'s reliable delivery ensures no media chunks are lost, which is critical since [[rtmp|RTMP]]'s chunk-based protocol cannot recover from gaps.", + leftRole: + '[[rtmp|RTMP]] provides the media chunking, {{multiplexing|multiplexing}}, and stream control protocol for live streaming.', + rightRole: + '[[tcp|TCP]] provides the reliable, persistent connection that ensures every media chunk is delivered in order.' }, { ids: ['sip', 'tcp'], @@ -1189,8 +1971,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[sip|SIP]] can use [[tcp|TCP]] for {{signaling|signaling}} when messages are too large for [[udp|UDP]] datagrams or when reliable delivery of call setup and teardown is required.', howTheyWork: '[[sip|SIP]] operates over [[tcp|TCP]] (port 5060, or 5061 with [[tls|TLS]]) when message sizes exceed the {{mtu|MTU}} or when the deployment requires guaranteed delivery of {{sip-invite|INVITE}}, BYE, and REGISTER transactions. [[tcp|TCP]] ensures that large [[sip|SIP]] messages with [[sdp|SDP]] bodies, authentication headers, or multiple Via hops are delivered complete and in order.', - leftRole: '[[sip|SIP]] provides the {{signaling|signaling}} protocol for initiating, modifying, and terminating multimedia sessions.', - rightRole: '[[tcp|TCP]] provides reliable delivery for [[sip|SIP]] messages that are too large for [[udp|UDP]] or require guaranteed transport.' + leftRole: + '[[sip|SIP]] provides the {{signaling|signaling}} protocol for initiating, modifying, and terminating multimedia sessions.', + rightRole: + '[[tcp|TCP]] provides reliable delivery for [[sip|SIP]] messages that are too large for [[udp|UDP]] or require guaranteed transport.' }, { ids: ['smtp', 'tcp'], @@ -1198,9 +1982,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[smtp|SMTP]] uses [[tcp|TCP]] to reliably deliver email messages and commands between mail clients and servers, ensuring no message data is lost in {{transit|transit}}.', howTheyWork: - 'An [[smtp|SMTP]] client opens a [[tcp|TCP]] connection to the mail server on port 25 (or 587 for submission) and exchanges text commands ({{ehlo|EHLO}}, {{smtp-mail-from|MAIL FROM}}, {{smtp-rcpt-to|RCPT TO}}, {{smtp-data|DATA}}) in a synchronous dialogue. [[tcp|TCP]]\'s reliable delivery guarantees that every command, response code, and email body byte arrives in order, which is essential since [[smtp|SMTP]] has no mechanism to recover from lost data at the application layer.', - leftRole: '[[smtp|SMTP]] provides the command protocol for routing and delivering email messages between servers.', - rightRole: '[[tcp|TCP]] provides the reliable, ordered connection that [[smtp|SMTP]]\'s synchronous command-response dialogue requires.' + "An [[smtp|SMTP]] client opens a [[tcp|TCP]] connection to the mail server on port 25 (or 587 for submission) and exchanges text commands ({{ehlo|EHLO}}, {{smtp-mail-from|MAIL FROM}}, {{smtp-rcpt-to|RCPT TO}}, {{smtp-data|DATA}}) in a synchronous dialogue. [[tcp|TCP]]'s reliable delivery guarantees that every command, response code, and email body byte arrives in order, which is essential since [[smtp|SMTP]] has no mechanism to recover from lost data at the application layer.", + leftRole: + '[[smtp|SMTP]] provides the command protocol for routing and delivering email messages between servers.', + rightRole: + "[[tcp|TCP]] provides the reliable, ordered connection that [[smtp|SMTP]]'s synchronous command-response dialogue requires." }, { ids: ['ssh', 'tcp'], @@ -1208,19 +1994,23 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[ssh|SSH]] runs over [[tcp|TCP]] to provide encrypted remote shell access, file transfer, and {{port-forwarding|port forwarding}} over a reliable transport.', howTheyWork: - '[[ssh|SSH]] opens a [[tcp|TCP]] connection (default port 22) and immediately begins its own key {{exchange|exchange}} and authentication {{handshake|handshake}}. Once the encrypted tunnel is established, [[ssh|SSH]] multiplexes multiple channels (shell sessions, port forwards, file transfers) over the single [[tcp|TCP]] connection. [[tcp|TCP]]\'s reliability is essential because [[ssh|SSH]]\'s encrypted stream cannot tolerate missing or reordered bytes.', - leftRole: '[[ssh|SSH]] provides encrypted channels for remote shell access, file transfer, and {{port-forwarding|port forwarding}}.', - rightRole: '[[tcp|TCP]] provides the reliable, ordered byte stream that [[ssh|SSH]]\'s encrypted tunnel requires to function correctly.' + "[[ssh|SSH]] opens a [[tcp|TCP]] connection (default port 22) and immediately begins its own key {{exchange|exchange}} and authentication {{handshake|handshake}}. Once the encrypted tunnel is established, [[ssh|SSH]] multiplexes multiple channels (shell sessions, port forwards, file transfers) over the single [[tcp|TCP]] connection. [[tcp|TCP]]'s reliability is essential because [[ssh|SSH]]'s encrypted stream cannot tolerate missing or reordered bytes.", + leftRole: + '[[ssh|SSH]] provides encrypted channels for remote shell access, file transfer, and {{port-forwarding|port forwarding}}.', + rightRole: + "[[tcp|TCP]] provides the reliable, ordered byte stream that [[ssh|SSH]]'s encrypted tunnel requires to function correctly." }, { ids: ['stomp', 'tcp'], type: 'relationship', summary: - '[[stomp|STOMP]] sends its text-based messaging frames over [[tcp|TCP]] connections, relying on [[tcp|TCP]]\'s reliability to ensure message commands and acknowledgments are delivered intact.', + "[[stomp|STOMP]] sends its text-based messaging frames over [[tcp|TCP]] connections, relying on [[tcp|TCP]]'s reliability to ensure message commands and acknowledgments are delivered intact.", howTheyWork: 'A [[stomp|STOMP]] client opens a [[tcp|TCP]] connection to the broker and sends a {{mqtt-connect|CONNECT}} frame to initiate the session. All subsequent SEND, {{mqtt-subscribe|SUBSCRIBE}}, and {{ack|ACK}} frames are transmitted as text over this [[tcp|TCP]] connection. [[tcp|TCP]] guarantees that these frames arrive complete and in order, which [[stomp|STOMP]] depends on since its simple text framing has no built-in {{retransmission|retransmission}} or reordering logic.', - leftRole: '[[stomp|STOMP]] provides a simple, text-based messaging protocol with SEND, {{mqtt-subscribe|SUBSCRIBE}}, and {{ack|ACK}} commands.', - rightRole: '[[tcp|TCP]] provides the reliable transport that ensures [[stomp|STOMP]]\'s text frames are delivered without loss or reordering.' + leftRole: + '[[stomp|STOMP]] provides a simple, text-based messaging protocol with SEND, {{mqtt-subscribe|SUBSCRIBE}}, and {{ack|ACK}} commands.', + rightRole: + "[[tcp|TCP]] provides the reliable transport that ensures [[stomp|STOMP]]'s text frames are delivered without loss or reordering." }, { ids: ['tcp', 'websockets'], @@ -1228,9 +2018,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[websockets|WebSocket]] runs over [[tcp|TCP]], using an {{http-method|HTTP}} upgrade {{handshake|handshake}} to establish a persistent, {{full-duplex|full-duplex}} message channel over a reliable transport.', howTheyWork: - 'The client sends an [[http1|[[http1|HTTP/1]].1]] Upgrade request over an existing [[tcp|TCP]] connection, and the server responds with 101 Switching Protocols. From that point, the [[tcp|TCP]] connection carries [[websockets|WebSocket]] frames instead of {{http-method|HTTP}}. [[tcp|TCP]]\'s reliable, ordered delivery ensures that [[websockets|WebSocket]] messages โ€” which can be fragmented across multiple frames โ€” are reassembled correctly on both sides.', - leftRole: '[[tcp|TCP]] provides the reliable, persistent connection that [[websockets|WebSocket]] frames are transmitted over.', - rightRole: '[[websockets|WebSocket]] provides {{full-duplex|full-duplex}}, message-oriented communication with lightweight framing over the [[tcp|TCP]] connection.' + "The client sends an [[http1|[[http1|HTTP/1]].1]] Upgrade request over an existing [[tcp|TCP]] connection, and the server responds with 101 Switching Protocols. From that point, the [[tcp|TCP]] connection carries [[websockets|WebSocket]] frames instead of {{http-method|HTTP}}. [[tcp|TCP]]'s reliable, ordered delivery ensures that [[websockets|WebSocket]] messages โ€” which can be fragmented across multiple frames โ€” are reassembled correctly on both sides.", + leftRole: + '[[tcp|TCP]] provides the reliable, persistent connection that [[websockets|WebSocket]] frames are transmitted over.', + rightRole: + '[[websockets|WebSocket]] provides {{full-duplex|full-duplex}}, message-oriented communication with lightweight framing over the [[tcp|TCP]] connection.' }, { ids: ['tcp', 'xmpp'], @@ -1238,9 +2030,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[xmpp|XMPP]] maintains long-lived [[tcp|TCP]] connections to stream {{xml|XML}} stanzas between clients and servers, relying on [[tcp|TCP]] for reliable delivery of presence, messages, and IQ queries.', howTheyWork: - 'An [[xmpp|XMPP]] client opens a persistent [[tcp|TCP]] connection (default port 5222, with {{starttls|STARTTLS}} upgrade) and begins an {{xml|XML}} stream. All communication โ€” presence updates, chat messages, and IQ stanzas โ€” flows as {{xml|XML}} fragments over this single [[tcp|TCP]] connection. [[tcp|TCP]]\'s reliability ensures that {{xml|XML}} stanzas are never lost or reordered, which is critical since [[xmpp|XMPP]]\'s {{xml|XML}} parser requires a well-formed, sequential byte stream.', - leftRole: '[[tcp|TCP]] provides the persistent, reliable connection that carries [[xmpp|XMPP]]\'s continuous {{xml|XML}} stream.', - rightRole: '[[xmpp|XMPP]] provides real-time messaging, presence, and extensible communication semantics via {{xml|XML}} stanzas over the [[tcp|TCP]] stream.' + "An [[xmpp|XMPP]] client opens a persistent [[tcp|TCP]] connection (default port 5222, with {{starttls|STARTTLS}} upgrade) and begins an {{xml|XML}} stream. All communication โ€” presence updates, chat messages, and IQ stanzas โ€” flows as {{xml|XML}} fragments over this single [[tcp|TCP]] connection. [[tcp|TCP]]'s reliability ensures that {{xml|XML}} stanzas are never lost or reordered, which is critical since [[xmpp|XMPP]]'s {{xml|XML}} parser requires a well-formed, sequential byte stream.", + leftRole: + "[[tcp|TCP]] provides the persistent, reliable connection that carries [[xmpp|XMPP]]'s continuous {{xml|XML}} stream.", + rightRole: + '[[xmpp|XMPP]] provides real-time messaging, presence, and extensible communication semantics via {{xml|XML}} stanzas over the [[tcp|TCP]] stream.' }, // โ”€โ”€ UDP as transport โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1252,18 +2046,22 @@ const relationshipPairs: ProtocolPair[] = [ '[[dns|DNS]] uses [[udp|UDP]] as its primary transport for fast, single-packet query-response lookups, keeping name resolution lightweight and low-{{latency|latency}}.', howTheyWork: 'A [[dns|DNS]] client sends a query as a single [[udp|UDP]] datagram (typically under 512 bytes) to a resolver on port 53. The resolver responds with another [[udp|UDP]] datagram containing the answer. No connection setup is needed, making lookups fast. For responses exceeding 512 bytes or requiring reliability, [[dns|DNS]] falls back to [[tcp|TCP]].', - leftRole: '[[dns|DNS]] defines the query/response format for translating domain names to [[ip|IP]] addresses.', - rightRole: '[[udp|UDP]] provides the fast, {{connectionless|connectionless}} transport that makes single-packet [[dns|DNS]] lookups efficient.' + leftRole: + '[[dns|DNS]] defines the query/response format for translating domain names to [[ip|IP]] addresses.', + rightRole: + '[[udp|UDP]] provides the fast, {{connectionless|connectionless}} transport that makes single-packet [[dns|DNS]] lookups efficient.' }, { ids: ['coap', 'udp'], type: 'relationship', summary: - '[[coap|CoAP]] runs over [[udp|UDP]] to provide a lightweight [[rest|REST]]-like {{request-response|request-response}} model for constrained IoT devices that cannot afford [[tcp|TCP]]\'s overhead.', + "[[coap|CoAP]] runs over [[udp|UDP]] to provide a lightweight [[rest|REST]]-like {{request-response|request-response}} model for constrained IoT devices that cannot afford [[tcp|TCP]]'s overhead.", howTheyWork: - '[[coap|CoAP]] sends compact binary messages as [[udp|UDP]] datagrams, using a 4-byte fixed header and message IDs for optional reliability via confirmable messages. The client sends a [[coap|CoAP]] request (GET, PUT, POST, DELETE) in a single [[udp|UDP]] packet to the server, which replies with a response in another datagram. [[coap|CoAP]] adds its own simple {{retransmission|retransmission}} over [[udp|UDP]] rather than requiring [[tcp|TCP]]\'s full connection management.', - leftRole: '[[coap|CoAP]] provides RESTful resource semantics (methods, URIs, {{content-negotiation|content negotiation}}) optimized for constrained networks.', - rightRole: '[[udp|UDP]] provides the minimal, {{connectionless|connectionless}} transport that keeps [[coap|CoAP]] lightweight enough for battery-powered sensors.' + "[[coap|CoAP]] sends compact binary messages as [[udp|UDP]] datagrams, using a 4-byte fixed header and message IDs for optional reliability via confirmable messages. The client sends a [[coap|CoAP]] request (GET, PUT, POST, DELETE) in a single [[udp|UDP]] packet to the server, which replies with a response in another datagram. [[coap|CoAP]] adds its own simple {{retransmission|retransmission}} over [[udp|UDP]] rather than requiring [[tcp|TCP]]'s full connection management.", + leftRole: + '[[coap|CoAP]] provides RESTful resource semantics (methods, URIs, {{content-negotiation|content negotiation}}) optimized for constrained networks.', + rightRole: + '[[udp|UDP]] provides the minimal, {{connectionless|connectionless}} transport that keeps [[coap|CoAP]] lightweight enough for battery-powered sensors.' }, { ids: ['dhcp', 'udp'], @@ -1271,29 +2069,35 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[dhcp|DHCP]] uses [[udp|UDP]] for automatic [[ip|IP]] address assignment, since clients cannot establish [[tcp|TCP]] connections before they have an [[ip|IP]] address.', howTheyWork: - 'A [[dhcp|DHCP]] client broadcasts a DISCOVER message from port 68 as a [[udp|UDP]] datagram because it has no [[ip|IP]] address yet and cannot perform [[tcp|TCP]]\'s {{handshake|handshake}}. The [[dhcp|DHCP]] server listens on port 67 and responds with an OFFER, also via [[udp|UDP]] {{broadcast|broadcast}} or {{unicast|unicast}}. This bootstrap problem makes [[udp|UDP]] the only viable transport โ€” [[tcp|TCP]] requires an established [[ip|IP]] address on both sides before communication can begin.', - leftRole: '[[dhcp|DHCP]] provides the protocol logic for discovering servers, requesting leases, and assigning [[ip|IP]] configuration.', - rightRole: '[[udp|UDP]] provides the {{connectionless|connectionless}} transport necessary for communication before a client has an [[ip|IP]] address.' + "A [[dhcp|DHCP]] client broadcasts a DISCOVER message from port 68 as a [[udp|UDP]] datagram because it has no [[ip|IP]] address yet and cannot perform [[tcp|TCP]]'s {{handshake|handshake}}. The [[dhcp|DHCP]] server listens on port 67 and responds with an OFFER, also via [[udp|UDP]] {{broadcast|broadcast}} or {{unicast|unicast}}. This bootstrap problem makes [[udp|UDP]] the only viable transport โ€” [[tcp|TCP]] requires an established [[ip|IP]] address on both sides before communication can begin.", + leftRole: + '[[dhcp|DHCP]] provides the protocol logic for discovering servers, requesting leases, and assigning [[ip|IP]] configuration.', + rightRole: + '[[udp|UDP]] provides the {{connectionless|connectionless}} transport necessary for communication before a client has an [[ip|IP]] address.' }, { ids: ['http3', 'udp'], type: 'relationship', summary: - '[[http3|HTTP/3]] runs over [[quic|QUIC]], which itself runs over [[udp|UDP]], giving [[http3|HTTP/3]] multiplexed streams without [[tcp|TCP]]\'s {{head-of-line-blocking|head-of-line blocking}} while remaining deployable on existing networks.', + "[[http3|HTTP/3]] runs over [[quic|QUIC]], which itself runs over [[udp|UDP]], giving [[http3|HTTP/3]] multiplexed streams without [[tcp|TCP]]'s {{head-of-line-blocking|head-of-line blocking}} while remaining deployable on existing networks.", howTheyWork: - '[[udp|UDP]] carries [[quic|QUIC]] packets, which in turn carry [[http3|HTTP/3]] frames. [[quic|QUIC]] builds reliable, encrypted, multiplexed streams on top of [[udp|UDP]] datagrams, and [[http3|HTTP/3]] maps its {{request-response|request-response}} semantics onto those [[quic|QUIC]] streams. [[udp|UDP]]\'s universal {{nat|NAT}} and {{firewall|firewall}} traversal makes [[quic|QUIC]] deployable without changes to network infrastructure.', - leftRole: '[[http3|HTTP/3]] provides the application-layer {{request-response|request-response}} semantics, header compression ({{qpack|QPACK}}), and {{server-push|server push}}.', - rightRole: '[[udp|UDP]] provides the underlying datagram delivery that allows [[quic|QUIC]] and [[http3|HTTP/3]] to bypass [[tcp|TCP]]\'s {{head-of-line-blocking|head-of-line blocking}}.' + "[[udp|UDP]] carries [[quic|QUIC]] packets, which in turn carry [[http3|HTTP/3]] frames. [[quic|QUIC]] builds reliable, encrypted, multiplexed streams on top of [[udp|UDP]] datagrams, and [[http3|HTTP/3]] maps its {{request-response|request-response}} semantics onto those [[quic|QUIC]] streams. [[udp|UDP]]'s universal {{nat|NAT}} and {{firewall|firewall}} traversal makes [[quic|QUIC]] deployable without changes to network infrastructure.", + leftRole: + '[[http3|HTTP/3]] provides the application-layer {{request-response|request-response}} semantics, header compression ({{qpack|QPACK}}), and {{server-push|server push}}.', + rightRole: + "[[udp|UDP]] provides the underlying datagram delivery that allows [[quic|QUIC]] and [[http3|HTTP/3]] to bypass [[tcp|TCP]]'s {{head-of-line-blocking|head-of-line blocking}}." }, { ids: ['ntp', 'udp'], type: 'relationship', summary: - '[[ntp|NTP]] uses [[udp|UDP]] for clock synchronization because accurate timekeeping requires minimal, predictable {{latency|latency}} that [[tcp|TCP]]\'s {{handshake|handshake}} and retransmissions would distort.', + "[[ntp|NTP]] uses [[udp|UDP]] for clock synchronization because accurate timekeeping requires minimal, predictable {{latency|latency}} that [[tcp|TCP]]'s {{handshake|handshake}} and retransmissions would distort.", howTheyWork: - 'An [[ntp|NTP]] client sends a small [[udp|UDP]] datagram (48 bytes) to a time server on port 123, recording its send timestamp. The server stamps the packet with its receive and transmit times, then replies via [[udp|UDP]]. The client uses all four timestamps to calculate network delay and clock {{offset|offset}}. [[tcp|TCP]]\'s variable {{latency|latency}} from connection setup and {{retransmission|retransmission}} would corrupt these precise timing measurements.', - leftRole: '[[ntp|NTP]] provides the timestamping protocol and algorithms for calculating clock {{offset|offset}} and drift.', - rightRole: '[[udp|UDP]] provides the lightweight, fixed-overhead transport that preserves the timing accuracy [[ntp|NTP]] requires.' + "An [[ntp|NTP]] client sends a small [[udp|UDP]] datagram (48 bytes) to a time server on port 123, recording its send timestamp. The server stamps the packet with its receive and transmit times, then replies via [[udp|UDP]]. The client uses all four timestamps to calculate network delay and clock {{offset|offset}}. [[tcp|TCP]]'s variable {{latency|latency}} from connection setup and {{retransmission|retransmission}} would corrupt these precise timing measurements.", + leftRole: + '[[ntp|NTP]] provides the timestamping protocol and algorithms for calculating clock {{offset|offset}} and drift.', + rightRole: + '[[udp|UDP]] provides the lightweight, fixed-overhead transport that preserves the timing accuracy [[ntp|NTP]] requires.' }, { ids: ['rtp', 'udp'], @@ -1301,9 +2105,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[rtp|RTP]] carries real-time audio and video over [[udp|UDP]], accepting occasional packet loss in {{exchange|exchange}} for the low {{latency|latency}} that interactive media demands.', howTheyWork: - '[[rtp|RTP]] adds a 12-byte header to each media packet with sequence numbers, timestamps, and {{payload|payload}} type identifiers, then sends them as [[udp|UDP]] datagrams. The receiver uses sequence numbers to detect loss and reorder packets, and timestamps to synchronize playback. [[udp|UDP]]\'s lack of {{retransmission|retransmission}} is a feature here โ€” retransmitting a dropped video frame would arrive too late to be useful.', - leftRole: '[[rtp|RTP]] provides media framing, sequencing, timestamping, and {{payload|payload}} identification for audio/video streams.', - rightRole: '[[udp|UDP]] provides the low-{{latency|latency}}, no-{{retransmission|retransmission}} transport that real-time media playback requires.' + "[[rtp|RTP]] adds a 12-byte header to each media packet with sequence numbers, timestamps, and {{payload|payload}} type identifiers, then sends them as [[udp|UDP]] datagrams. The receiver uses sequence numbers to detect loss and reorder packets, and timestamps to synchronize playback. [[udp|UDP]]'s lack of {{retransmission|retransmission}} is a feature here โ€” retransmitting a dropped video frame would arrive too late to be useful.", + leftRole: + '[[rtp|RTP]] provides media framing, sequencing, timestamping, and {{payload|payload}} identification for audio/video streams.', + rightRole: + '[[udp|UDP]] provides the low-{{latency|latency}}, no-{{retransmission|retransmission}} transport that real-time media playback requires.' }, { ids: ['sctp', 'udp'], @@ -1312,18 +2118,22 @@ const relationshipPairs: ProtocolPair[] = [ '[[sctp|SCTP]] can be encapsulated inside [[udp|UDP]] datagrams to traverse NATs and firewalls that would otherwise block native [[sctp|SCTP]] packets.', howTheyWork: 'Since most {{nat|NAT}} devices and firewalls only understand [[tcp|TCP]] and [[udp|UDP]], [[sctp|SCTP]] packets are wrapped inside [[udp|UDP]] datagrams ([[rfc:6951|RFC 6951]]) to pass through unmodified network infrastructure. The [[udp|UDP]] header provides the {{nat|NAT}}-traversal capability while [[sctp|SCTP]] inside provides multi-streaming, message boundaries, and {{multi-homing|multi-homing}}. This {{encapsulation|encapsulation}} is how [[webrtc|WebRTC]] data channels deliver [[sctp|SCTP]] over the public internet.', - leftRole: '[[sctp|SCTP]] provides multi-stream, message-oriented reliable delivery with built-in {{multi-homing|multi-homing}}.', - rightRole: '[[udp|UDP]] provides the {{nat|NAT}}-traversable envelope that lets [[sctp|SCTP]] packets cross firewalls and middleboxes on the public internet.' + leftRole: + '[[sctp|SCTP]] provides multi-stream, message-oriented reliable delivery with built-in {{multi-homing|multi-homing}}.', + rightRole: + '[[udp|UDP]] provides the {{nat|NAT}}-traversable envelope that lets [[sctp|SCTP]] packets cross firewalls and middleboxes on the public internet.' }, { ids: ['sip', 'udp'], type: 'relationship', summary: - '[[sip|SIP]] commonly uses [[udp|UDP]] for {{voip|VoIP}} call {{signaling|signaling}} because its short, independent messages benefit from [[udp|UDP]]\'s low overhead and fast delivery.', + "[[sip|SIP]] commonly uses [[udp|UDP]] for {{voip|VoIP}} call {{signaling|signaling}} because its short, independent messages benefit from [[udp|UDP]]'s low overhead and fast delivery.", howTheyWork: - '[[sip|SIP]] sends {{signaling|signaling}} messages ({{sip-invite|INVITE}}, {{ack|ACK}}, BYE) as [[udp|UDP]] datagrams, typically on port 5060. Each [[sip|SIP]] message is self-contained and fits within a single datagram, making [[tcp|TCP]]\'s connection overhead unnecessary for most call setups. [[sip|SIP]] includes its own application-layer {{retransmission|retransmission}} timers for reliability, re-sending requests if no response arrives within the timeout period.', - leftRole: '[[sip|SIP]] provides the {{signaling|signaling}} protocol for initiating, modifying, and terminating multimedia sessions.', - rightRole: '[[udp|UDP]] provides the fast, {{connectionless|connectionless}} transport that keeps call setup {{latency|latency}} low for {{voip|VoIP}} {{signaling|signaling}}.' + "[[sip|SIP]] sends {{signaling|signaling}} messages ({{sip-invite|INVITE}}, {{ack|ACK}}, BYE) as [[udp|UDP]] datagrams, typically on port 5060. Each [[sip|SIP]] message is self-contained and fits within a single datagram, making [[tcp|TCP]]'s connection overhead unnecessary for most call setups. [[sip|SIP]] includes its own application-layer {{retransmission|retransmission}} timers for reliability, re-sending requests if no response arrives within the timeout period.", + leftRole: + '[[sip|SIP]] provides the {{signaling|signaling}} protocol for initiating, modifying, and terminating multimedia sessions.', + rightRole: + '[[udp|UDP]] provides the fast, {{connectionless|connectionless}} transport that keeps call setup {{latency|latency}} low for {{voip|VoIP}} {{signaling|signaling}}.' }, { ids: ['udp', 'webrtc'], @@ -1331,9 +2141,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[webrtc|WebRTC]] uses [[udp|UDP]] as its primary transport for {{peer-to-peer|peer-to-peer}} audio, video, and data channels, prioritizing low {{latency|latency}} over guaranteed delivery.', howTheyWork: - '[[webrtc|WebRTC]]\'s media stack sends {{srtp|SRTP}}-encrypted audio/video packets as [[udp|UDP]] datagrams between peers, using {{ice|ICE}} for {{nat|NAT}} traversal via {{stun|STUN}}/{{turn|TURN}}. Data channels use [[sctp|SCTP]] encapsulated in {{dtls|DTLS}} over [[udp|UDP]]. The entire [[webrtc|WebRTC]] transport is built on [[udp|UDP]] because interactive communication requires packets to arrive quickly or not at all โ€” [[tcp|TCP]]\'s {{retransmission|retransmission}} would add unacceptable delay.', - leftRole: '[[udp|UDP]] provides the low-{{latency|latency}} datagram transport that all [[webrtc|WebRTC]] media and data channels are built upon.', - rightRole: '[[webrtc|WebRTC]] provides the {{peer-to-peer|peer-to-peer}} media framework, {{encryption|encryption}} ({{dtls|DTLS}}/{{srtp|SRTP}}), {{nat|NAT}} traversal ({{ice|ICE}}), and data channels on top.' + "[[webrtc|WebRTC]]'s media stack sends {{srtp|SRTP}}-encrypted audio/video packets as [[udp|UDP]] datagrams between peers, using {{ice|ICE}} for {{nat|NAT}} traversal via {{stun|STUN}}/{{turn|TURN}}. Data channels use [[sctp|SCTP]] encapsulated in {{dtls|DTLS}} over [[udp|UDP]]. The entire [[webrtc|WebRTC]] transport is built on [[udp|UDP]] because interactive communication requires packets to arrive quickly or not at all โ€” [[tcp|TCP]]'s {{retransmission|retransmission}} would add unacceptable delay.", + leftRole: + '[[udp|UDP]] provides the low-{{latency|latency}} datagram transport that all [[webrtc|WebRTC]] media and data channels are built upon.', + rightRole: + '[[webrtc|WebRTC]] provides the {{peer-to-peer|peer-to-peer}} media framework, {{encryption|encryption}} ({{dtls|DTLS}}/{{srtp|SRTP}}), {{nat|NAT}} traversal ({{ice|ICE}}), and data channels on top.' }, // โ”€โ”€ TLS encryption โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1345,8 +2157,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] wraps [[amqp|AMQP]] connections to create AMQPS, encrypting all {{broker|message broker}} communication between clients and servers.', howTheyWork: 'An [[amqp|AMQP]] client connects to port 5671 (AMQPS) and performs a [[tls|TLS]] {{handshake|handshake}} before any [[amqp|AMQP]] protocol negotiation begins. Once [[tls|TLS]] is established, the standard [[amqp|AMQP]] {{handshake|handshake}} and all subsequent message publishing, consuming, and acknowledgments flow through the encrypted channel. Without [[tls|TLS]], credentials and message payloads travel in plaintext on the default port 5672.', - leftRole: '[[amqp|AMQP]] provides the {{broker|message broker}} semantics โ€” exchanges, queues, bindings, and delivery guarantees.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[amqp|AMQP]] traffic.' + leftRole: + '[[amqp|AMQP]] provides the {{broker|message broker}} semantics โ€” exchanges, queues, bindings, and delivery guarantees.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[amqp|AMQP]] traffic.' }, { ids: ['dash', 'tls'], @@ -1355,8 +2169,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[dash|DASH]] delivers adaptive streaming segments over HTTPS, relying on [[tls|TLS]] to protect video content and {{drm|DRM}} license exchanges in {{transit|transit}}.', howTheyWork: 'A [[dash|DASH]] player fetches the {{mpd|MPD}} {{manifest|manifest}} and all media segments via HTTPS requests, each secured by [[tls|TLS]]. The [[tls|TLS]] layer encrypts segment downloads and prevents tampering, which is especially critical when {{drm|DRM}} license acquisition URLs are embedded in the {{manifest|manifest}}.', - leftRole: '[[dash|DASH]] defines the {{adaptive-bitrate|adaptive bitrate streaming}} logic, {{manifest|manifest}} format, and segment request pattern.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity for {{manifest|manifest}} and segment downloads over HTTPS.' + leftRole: + '[[dash|DASH]] defines the {{adaptive-bitrate|adaptive bitrate streaming}} logic, {{manifest|manifest}} format, and segment request pattern.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity for {{manifest|manifest}} and segment downloads over HTTPS.' }, { ids: ['dns', 'tls'], @@ -1365,8 +2181,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[dns|DNS]] over [[tls|TLS]] (DoT) encrypts [[dns|DNS]] queries by wrapping them in a [[tls|TLS]] connection on port 853, preventing eavesdropping and manipulation of name resolution.', howTheyWork: 'A [[dns|DNS]] client establishes a [[tls|TLS]] connection to a resolver on port 853 ([[rfc:7858|RFC 7858]]) before sending any [[dns|DNS]] queries. Each query and response travels through the encrypted [[tls|TLS]] channel, preventing network observers from seeing which domains are being resolved. Without DoT, standard [[dns|DNS]] queries on port 53 are sent in plaintext and are trivially observable or spoofable.', - leftRole: '[[dns|DNS]] provides the query/response protocol for translating domain names to [[ip|IP]] addresses.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity, preventing eavesdropping and tampering of [[dns|DNS]] lookups.' + leftRole: + '[[dns|DNS]] provides the query/response protocol for translating domain names to [[ip|IP]] addresses.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity, preventing eavesdropping and tampering of [[dns|DNS]] lookups.' }, { ids: ['ftp', 'tls'], @@ -1375,8 +2193,10 @@ const relationshipPairs: ProtocolPair[] = [ '{{ftps|FTPS}} adds [[tls|TLS]] {{encryption|encryption}} to [[ftp|FTP]], securing both the control channel (commands and credentials) and data channel (file transfers).', howTheyWork: 'In explicit {{ftps|FTPS}}, the client connects to port 21 and issues an {{smtp-auth|AUTH}} [[tls|TLS]] command to upgrade the control connection to [[tls|TLS]] before sending credentials. In implicit {{ftps|FTPS}}, the client connects directly to port 990 where [[tls|TLS]] is required from the start. Both modes can also encrypt the data channel, ensuring file contents are protected in {{transit|transit}}.', - leftRole: '[[ftp|FTP]] provides the file transfer commands, directory listing, and data channel negotiation.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for [[ftp|FTP]] control and data channels.' + leftRole: + '[[ftp|FTP]] provides the file transfer commands, directory listing, and data channel negotiation.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for [[ftp|FTP]] control and data channels.' }, { ids: ['grpc', 'tls'], @@ -1385,8 +2205,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[grpc|gRPC]] strongly recommends [[tls|TLS]] for all connections, and most deployments require it to authenticate services and encrypt Protobuf payloads in {{transit|transit}}.', howTheyWork: '[[grpc|gRPC]] runs over [[http2|HTTP/2]], which in practice requires [[tls|TLS]]. The [[tls|TLS]] {{handshake|handshake}} authenticates the server (and optionally the client via mutual [[tls|TLS]]) before any {{rpc|RPC}} calls are made. [[grpc|gRPC]] channel credentials are configured with [[tls|TLS]] certificates, and the framework rejects insecure connections by default in production configurations.', - leftRole: '[[grpc|gRPC]] provides the {{rpc|RPC}} framework, Protobuf {{serialization|serialization}}, and service definition layer.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and mutual authentication for [[grpc|gRPC]] channels.' + leftRole: + '[[grpc|gRPC]] provides the {{rpc|RPC}} framework, Protobuf {{serialization|serialization}}, and service definition layer.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and mutual authentication for [[grpc|gRPC]] channels.' }, { ids: ['hls', 'tls'], @@ -1395,8 +2217,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[hls|HLS]] delivers adaptive streaming playlists and media segments over HTTPS, relying on [[tls|TLS]] to protect content and {{encryption|encryption}} keys in {{transit|transit}}.', howTheyWork: 'An [[hls|HLS]] player fetches M3U8 playlists and .ts/.fmp4 segments via HTTPS, with [[tls|TLS]] encrypting every request. This is critical because [[hls|HLS]] playlists often reference {{aes-128|AES-128}} key URIs for content protection โ€” without [[tls|TLS]], these decryption keys could be intercepted. {{apple|Apple}} requires HTTPS for all [[hls|HLS]] content in App Transport Security.', - leftRole: '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate switching logic.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity for playlist, segment, and {{encryption|encryption}} key downloads.' + leftRole: + '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate switching logic.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity for playlist, segment, and {{encryption|encryption}} key downloads.' }, { ids: ['http1', 'tls'], @@ -1405,8 +2229,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] encrypts [[http1|[[http1|HTTP/1]].1]] connections to create HTTPS, the foundational secure web protocol serving the majority of internet traffic on port 443.', howTheyWork: 'A client connects to port 443 and completes a [[tls|TLS]] {{handshake|handshake}}, authenticating the server via its {{certificate|certificate}} and negotiating {{encryption|encryption}} keys. Once the [[tls|TLS]] channel is established, standard [[http1|[[http1|HTTP/1]].1]] requests and responses flow through it with full {{encryption|encryption}}. Without [[tls|TLS]], [[http1|[[http1|HTTP/1]].1]] on port 80 transmits headers, cookies, and body content in plaintext.', - leftRole: '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} semantics, methods, headers, and {{content-negotiation|content negotiation}}.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and server authentication for all {{http-method|HTTP}} traffic.' + leftRole: + '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} semantics, methods, headers, and {{content-negotiation|content negotiation}}.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and server authentication for all {{http-method|HTTP}} traffic.' }, { ids: ['http2', 'tls'], @@ -1415,8 +2241,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[http2|HTTP/2]] effectively requires [[tls|TLS]] in practice, using the {{alpn|ALPN}} extension during the [[tls|TLS]] {{handshake|handshake}} to negotiate the h2 protocol without an extra round trip.', howTheyWork: 'Although [[http2|HTTP/2]] technically allows cleartext (h2c), all major browsers only support [[http2|HTTP/2]] over [[tls|TLS]]. During the [[tls|TLS]] {{handshake|handshake}}, the client advertises "h2" via {{alpn|ALPN}} ({{alpn|Application-Layer Protocol Negotiation}}), and the server selects it. This eliminates the need for an {{http-method|HTTP}} Upgrade dance and ensures the multiplexed binary connection is always encrypted.', - leftRole: '[[http2|HTTP/2]] provides multiplexed streams, header compression, and {{server-push|server push}} over a single connection.', - rightRole: '[[tls|TLS]] provides {{encryption|encryption}} and enables h2 protocol negotiation via the {{alpn|ALPN}} extension.' + leftRole: + '[[http2|HTTP/2]] provides multiplexed streams, header compression, and {{server-push|server push}} over a single connection.', + rightRole: + '[[tls|TLS]] provides {{encryption|encryption}} and enables h2 protocol negotiation via the {{alpn|ALPN}} extension.' }, { ids: ['http3', 'tls'], @@ -1425,8 +2253,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[http3|HTTP/3]] integrates [[tls|TLS]] 1.3 directly into the [[quic|QUIC]] transport layer, making {{encryption|encryption}} mandatory and reducing connection setup to a single round trip.', howTheyWork: 'Unlike [[http1|[[http1|HTTP/1]].1]] and [[http2|HTTP/2]] where [[tls|TLS]] is a separate layer on top of [[tcp|TCP]], [[quic|QUIC]] embeds the [[tls|TLS]] 1.3 {{handshake|handshake}} into its own transport {{handshake|handshake}}. Cryptographic key negotiation happens simultaneously with connection establishment, achieving {{one-rtt|1-RTT}} setup (or {{zero-rtt|0-RTT}} for resumed connections). Every [[quic|QUIC]] packet is authenticated and encrypted โ€” there is no unencrypted [[http3|HTTP/3]].', - leftRole: '[[http3|HTTP/3]] provides multiplexed {{request-response|request-response}} streams over [[quic|QUIC]] without {{head-of-line-blocking|head-of-line blocking}}.', - rightRole: '[[tls|TLS]] 1.3 provides the cryptographic {{handshake|handshake}} and {{encryption|encryption}} integrated directly into [[quic|QUIC]].' + leftRole: + '[[http3|HTTP/3]] provides multiplexed {{request-response|request-response}} streams over [[quic|QUIC]] without {{head-of-line-blocking|head-of-line blocking}}.', + rightRole: + '[[tls|TLS]] 1.3 provides the cryptographic {{handshake|handshake}} and {{encryption|encryption}} integrated directly into [[quic|QUIC]].' }, { ids: ['kafka', 'tls'], @@ -1435,8 +2265,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[kafka|Kafka]] supports [[tls|TLS]] to encrypt all communication between producers, consumers, and brokers, as well as inter-broker replication traffic.', howTheyWork: '[[kafka|Kafka]] listeners can be configured with {{ssl|SSL}}/[[tls|TLS]] security, requiring clients to perform a [[tls|TLS]] {{handshake|handshake}} when connecting to brokers. [[tls|TLS]] encrypts produce requests, {{imap-fetch|fetch}} responses, and metadata exchanges. Combined with {{sasl|SASL}} authentication, [[tls|TLS]] also enables mutual authentication between clients and brokers and secures inter-broker replication across data centers.', - leftRole: '[[kafka|Kafka]] provides the distributed log, {{topic|topic}} partitioning, consumer groups, and replication.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and optional mutual authentication for [[kafka|Kafka]] connections.' + leftRole: + '[[kafka|Kafka]] provides the distributed log, {{topic|topic}} partitioning, consumer groups, and replication.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and optional mutual authentication for [[kafka|Kafka]] connections.' }, { ids: ['mptcp', 'tls'], @@ -1445,8 +2277,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] encrypts [[mptcp|MPTCP]] connections just as it does standard [[tcp|TCP]], securing data flowing across multiple network paths simultaneously.', howTheyWork: '[[mptcp|MPTCP]] establishes multiple [[tcp|TCP]] subflows across different network interfaces (e.g., [[wifi|Wi-Fi]] and cellular). [[tls|TLS]] operates on the [[mptcp|MPTCP]] connection as a whole, performing its {{handshake|handshake}} once over the initial {{subflow|subflow}}. The encrypted [[tls|TLS]] session then transparently spans all subflows, so data remains protected regardless of which network path carries it.', - leftRole: '[[mptcp|MPTCP]] provides multi-path transport, aggregating {{bandwidth|bandwidth}} and enabling seamless {{failover|failover}}.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication across all [[mptcp|MPTCP]] subflows.' + leftRole: + '[[mptcp|MPTCP]] provides multi-path transport, aggregating {{bandwidth|bandwidth}} and enabling seamless {{failover|failover}}.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication across all [[mptcp|MPTCP]] subflows.' }, { ids: ['mqtt', 'tls'], @@ -1455,8 +2289,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] wraps [[mqtt|MQTT]] connections to create MQTTS, encrypting all pub/sub messaging between IoT devices and the broker on port 8883.', howTheyWork: 'An [[mqtt|MQTT]] client connects to the broker on port 8883 (MQTTS) and completes a [[tls|TLS]] {{handshake|handshake}} before sending the [[mqtt|MQTT]] {{mqtt-connect|CONNECT}} packet. All subsequent {{mqtt-publish|PUBLISH}}, {{mqtt-subscribe|SUBSCRIBE}}, and acknowledgment packets are encrypted. This is critical for IoT deployments where sensor data and device credentials traverse untrusted networks.', - leftRole: '[[mqtt|MQTT]] provides lightweight pub/sub messaging with {{topic|topic}} hierarchies and QoS levels.', - rightRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[mqtt|MQTT]] broker communication.' + leftRole: + '[[mqtt|MQTT]] provides lightweight pub/sub messaging with {{topic|topic}} hierarchies and QoS levels.', + rightRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[mqtt|MQTT]] broker communication.' }, { ids: ['quic', 'tls'], @@ -1465,8 +2301,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[quic|QUIC]] deeply integrates [[tls|TLS]] 1.3 into its transport {{handshake|handshake}}, making {{encryption|encryption}} inseparable from connection establishment rather than an optional add-on layer.', howTheyWork: '[[quic|QUIC]] embeds the [[tls|TLS]] 1.3 {{handshake|handshake}} within its own transport {{handshake|handshake}} messages, combining cryptographic negotiation with connection setup in a single round trip. [[tls|TLS]] provides the key {{exchange|exchange}} and cipher negotiation, while [[quic|QUIC]] uses the derived keys to encrypt every packet including most header fields. Unlike [[tcp|TCP]]+[[tls|TLS]], there is no unencrypted [[quic|QUIC]] โ€” the protocols are fused by design.', - leftRole: '[[quic|QUIC]] provides multiplexed streams, {{congestion-control|congestion control}}, and {{connection-migration|connection migration}} over [[udp|UDP]].', - rightRole: '[[tls|TLS]] 1.3 provides the cryptographic {{handshake|handshake}}, key derivation, and {{cipher-suite|cipher suite}} negotiation within [[quic|QUIC]].' + leftRole: + '[[quic|QUIC]] provides multiplexed streams, {{congestion-control|congestion control}}, and {{connection-migration|connection migration}} over [[udp|UDP]].', + rightRole: + '[[tls|TLS]] 1.3 provides the cryptographic {{handshake|handshake}}, key derivation, and {{cipher-suite|cipher suite}} negotiation within [[quic|QUIC]].' }, { ids: ['rtmp', 'tls'], @@ -1475,8 +2313,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] wraps [[rtmp|RTMP]] connections to create RTMPS, encrypting live stream ingest traffic between encoders and media servers on port 443.', howTheyWork: 'An encoder (e.g., OBS) connects to the media server on port 443 and performs a [[tls|TLS]] {{handshake|handshake}} before beginning the [[rtmp|RTMP]] {{handshake|handshake}}. All subsequent [[rtmp|RTMP]] chunks โ€” including the stream key, audio, and video data โ€” flow through the encrypted channel. RTMPS is now required by major platforms like Facebook Live and YouTube Live for stream ingest.', - leftRole: '[[rtmp|RTMP]] provides the live streaming protocol for publishing audio/video chunks to media servers.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity, protecting stream keys and media content in {{transit|transit}}.' + leftRole: + '[[rtmp|RTMP]] provides the live streaming protocol for publishing audio/video chunks to media servers.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity, protecting stream keys and media content in {{transit|transit}}.' }, { ids: ['sip', 'tls'], @@ -1485,8 +2325,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] secures [[sip|SIP]] {{signaling|signaling}} to create SIPS, encrypting call setup, authentication, and routing between {{voip|VoIP}} endpoints and proxies.', howTheyWork: 'A [[sip|SIP]] client connects to a proxy or registrar over [[tls|TLS]] (typically port 5061), encrypting all {{signaling|signaling}} messages including REGISTER, {{sip-invite|INVITE}}, and BYE requests. The SIPS {{uri|URI}} scheme (sips:) mandates [[tls|TLS]] hop-by-hop across the {{signaling|signaling}} path. Without [[tls|TLS]], [[sip|SIP]] headers expose caller identity, credentials, and call routing in plaintext.', - leftRole: '[[sip|SIP]] provides the {{signaling|signaling}} protocol for establishing, modifying, and terminating voice/video sessions.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity for [[sip|SIP]] {{signaling|signaling}}, protecting credentials and call metadata.' + leftRole: + '[[sip|SIP]] provides the {{signaling|signaling}} protocol for establishing, modifying, and terminating voice/video sessions.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity for [[sip|SIP]] {{signaling|signaling}}, protecting credentials and call metadata.' }, { ids: ['smtp', 'tls'], @@ -1495,8 +2337,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] secures [[smtp|SMTP]] email delivery via {{starttls|STARTTLS}} (opportunistic upgrade on port 587) or SMTPS (implicit [[tls|TLS]] on port 465), encrypting messages between mail servers.', howTheyWork: 'An [[smtp|SMTP]] client connects to a mail server and issues the {{starttls|STARTTLS}} command to upgrade the plaintext connection to [[tls|TLS]] before sending credentials or message content. Alternatively, implicit [[tls|TLS]] on port 465 establishes {{encryption|encryption}} immediately. {{mta|MTA}}-{{sts|STS}} and DANE policies can enforce [[tls|TLS]] to prevent downgrade attacks between mail servers.', - leftRole: '[[smtp|SMTP]] provides the email delivery protocol for routing messages between mail transfer agents.', - rightRole: '[[tls|TLS]] provides confidentiality and integrity for email content and authentication credentials in {{transit|transit}}.' + leftRole: + '[[smtp|SMTP]] provides the email delivery protocol for routing messages between mail transfer agents.', + rightRole: + '[[tls|TLS]] provides confidentiality and integrity for email content and authentication credentials in {{transit|transit}}.' }, { ids: ['tls', 'websockets'], @@ -1505,8 +2349,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[tls|TLS]] secures [[websockets|WebSocket]] connections to create WSS (wss://), encrypting the {{full-duplex|full-duplex}} message channel between browsers and servers.', howTheyWork: 'A client connects to port 443, completes a [[tls|TLS]] {{handshake|handshake}}, and then performs the [[websockets|WebSocket]] {{http-method|HTTP}} Upgrade over the encrypted connection. Once upgraded, all [[websockets|WebSocket]] frames โ€” both text and binary โ€” flow through the [[tls|TLS]] channel. WSS is effectively required in production because most browsers block mixed content and many proxies interfere with unencrypted [[websockets|WebSocket]] connections.', - leftRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for the [[websockets|WebSocket]] connection.', - rightRole: '[[websockets|WebSocket]] provides persistent, {{full-duplex|full-duplex}}, message-oriented communication over the secure channel.' + leftRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for the [[websockets|WebSocket]] connection.', + rightRole: + '[[websockets|WebSocket]] provides persistent, {{full-duplex|full-duplex}}, message-oriented communication over the secure channel.' }, { ids: ['tls', 'webrtc'], @@ -1515,8 +2361,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[webrtc|WebRTC]] uses {{dtls|DTLS}} (Datagram [[tls|TLS]]) to perform key {{exchange|exchange}} over [[udp|UDP]], establishing the {{encryption|encryption}} keys used by {{srtp|SRTP}} to protect real-time media streams.', howTheyWork: 'After {{ice|ICE}} connectivity checks establish a [[udp|UDP]] path between peers, a {{dtls|DTLS}} {{handshake|handshake}} occurs over that path to authenticate both endpoints and derive shared {{encryption|encryption}} keys. These keys are then used by {{srtp|SRTP}} to encrypt audio/video media and by [[sctp|SCTP]] (tunneled over {{dtls|DTLS}}) to encrypt data channel messages. Without {{dtls|DTLS}}, [[webrtc|WebRTC]] peers could not establish trust or derive {{encryption|encryption}} keys over {{connectionless|connectionless}} [[udp|UDP]].', - leftRole: '[[tls|TLS]] (as {{dtls|DTLS}}) provides the key {{exchange|exchange}}, peer authentication, and key derivation over [[udp|UDP]].', - rightRole: '[[webrtc|WebRTC]] uses {{dtls|DTLS}}-derived keys for {{srtp|SRTP}} media {{encryption|encryption}} and [[sctp|SCTP]] data channel security.' + leftRole: + '[[tls|TLS]] (as {{dtls|DTLS}}) provides the key {{exchange|exchange}}, peer authentication, and key derivation over [[udp|UDP]].', + rightRole: + '[[webrtc|WebRTC]] uses {{dtls|DTLS}}-derived keys for {{srtp|SRTP}} media {{encryption|encryption}} and [[sctp|SCTP]] data channel security.' }, { ids: ['tls', 'xmpp'], @@ -1525,8 +2373,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[xmpp|XMPP]] uses {{starttls|STARTTLS}} to upgrade client-to-server and server-to-server connections to [[tls|TLS]], encrypting all messaging, presence, and roster data.', howTheyWork: 'After opening an {{xml|XML}} stream, an [[xmpp|XMPP]] client or server sends a {{starttls|STARTTLS}} request to upgrade the connection. Once the [[tls|TLS]] {{handshake|handshake}} completes, a new {{xml|XML}} stream is opened over the encrypted channel. Modern [[xmpp|XMPP]] deployments mandate [[tls|TLS]], and XEP-0368 defines direct [[tls|TLS]] connections on port 5223 as an alternative to the {{starttls|STARTTLS}} upgrade mechanism.', - leftRole: '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[xmpp|XMPP]] communication.', - rightRole: '[[xmpp|XMPP]] provides the messaging, presence, and roster protocol operating over the encrypted channel.' + leftRole: + '[[tls|TLS]] provides confidentiality, integrity, and authentication for all [[xmpp|XMPP]] communication.', + rightRole: + '[[xmpp|XMPP]] provides the messaging, presence, and roster protocol operating over the encrypted channel.' }, // โ”€โ”€ HTTP as transport โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1537,9 +2387,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[grpc|gRPC]] uses [[http2|HTTP/2]] as its transport layer, leveraging its multiplexed streams and {{binary-framing|binary framing}} to deliver high-performance remote procedure calls.', howTheyWork: - '[[grpc|gRPC]] maps each {{rpc|RPC}} call to an [[http2|HTTP/2]] stream, using [[http2|HTTP/2]] headers for metadata (method, status, {{content-type|content-type}}) and {{smtp-data|DATA}} frames for serialized Protocol Buffer payloads. [[http2|HTTP/2]]\'s {{multiplexing|multiplexing}} allows many concurrent RPCs over a single [[tcp|TCP]] connection without {{head-of-line-blocking|head-of-line blocking}} at the {{http-method|HTTP}} level.', - leftRole: '[[http2|HTTP/2]] provides multiplexed {{binary-framing|binary framing}}, {{flow-control|flow control}}, and header compression as the transport.', - rightRole: '[[grpc|gRPC]] provides the {{rpc|RPC}} semantics, Protobuf {{serialization|serialization}}, and service definition framework on top.' + "[[grpc|gRPC]] maps each {{rpc|RPC}} call to an [[http2|HTTP/2]] stream, using [[http2|HTTP/2]] headers for metadata (method, status, {{content-type|content-type}}) and {{smtp-data|DATA}} frames for serialized Protocol Buffer payloads. [[http2|HTTP/2]]'s {{multiplexing|multiplexing}} allows many concurrent RPCs over a single [[tcp|TCP]] connection without {{head-of-line-blocking|head-of-line blocking}} at the {{http-method|HTTP}} level.", + leftRole: + '[[http2|HTTP/2]] provides multiplexed {{binary-framing|binary framing}}, {{flow-control|flow control}}, and header compression as the transport.', + rightRole: + '[[grpc|gRPC]] provides the {{rpc|RPC}} semantics, Protobuf {{serialization|serialization}}, and service definition framework on top.' }, { ids: ['dash', 'http1'], @@ -1548,8 +2400,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[dash|DASH]] delivers adaptive video by requesting media segments over [[http1|[[http1|HTTP/1]].1]], using standard web infrastructure for scalable streaming delivery.', howTheyWork: 'The [[dash|DASH]] client fetches an {{mpd|MPD}} {{manifest|manifest}} over [[http1|[[http1|HTTP/1]].1]], then requests individual media segments as standard {{http-method|HTTP}} GET requests. Each segment is a separate [[http1|[[http1|HTTP/1]].1]] {{request-response|request-response}} cycle, which means multiple [[tcp|TCP]] connections are used in parallel to {{imap-fetch|fetch}} video and audio segments at the appropriate bitrate.', - leftRole: '[[dash|DASH]] defines the {{manifest|manifest}} format, segment addressing, and adaptive bitrate switching logic.', - rightRole: '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} transport for fetching manifests and media segments.' + leftRole: + '[[dash|DASH]] defines the {{manifest|manifest}} format, segment addressing, and adaptive bitrate switching logic.', + rightRole: + '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} transport for fetching manifests and media segments.' }, { ids: ['dash', 'http2'], @@ -1557,9 +2411,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[dash|DASH]] delivers adaptive video over [[http2|HTTP/2]], benefiting from multiplexed streams to {{imap-fetch|fetch}} manifests and media segments more efficiently on a single connection.', howTheyWork: - 'The [[dash|DASH]] client fetches the {{mpd|MPD}} {{manifest|manifest}} and subsequent media segments as [[http2|HTTP/2]] requests multiplexed over a single [[tcp|TCP]] connection. [[http2|HTTP/2]]\'s stream {{multiplexing|multiplexing}} eliminates the need for multiple parallel connections, and header compression reduces the overhead of repeated segment requests to the same origin.', - leftRole: '[[dash|DASH]] defines the {{manifest|manifest}} format, segment addressing, and adaptive bitrate switching logic.', - rightRole: '[[http2|HTTP/2]] provides multiplexed, header-compressed transport for efficient parallel segment delivery.' + "The [[dash|DASH]] client fetches the {{mpd|MPD}} {{manifest|manifest}} and subsequent media segments as [[http2|HTTP/2]] requests multiplexed over a single [[tcp|TCP]] connection. [[http2|HTTP/2]]'s stream {{multiplexing|multiplexing}} eliminates the need for multiple parallel connections, and header compression reduces the overhead of repeated segment requests to the same origin.", + leftRole: + '[[dash|DASH]] defines the {{manifest|manifest}} format, segment addressing, and adaptive bitrate switching logic.', + rightRole: + '[[http2|HTTP/2]] provides multiplexed, header-compressed transport for efficient parallel segment delivery.' }, { ids: ['graphql', 'http1'], @@ -1568,8 +2424,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[graphql|GraphQL]] sends queries and mutations as [[http1|[[http1|HTTP/1]].1]] POST requests to a single endpoint, using standard {{http-method|HTTP}} as its most common transport.', howTheyWork: 'The client sends a [[graphql|GraphQL]] query as a {{json|JSON}} {{payload|payload}} in an [[http1|[[http1|HTTP/1]].1]] POST request to a single endpoint (typically /graphql). The server parses the query, resolves the requested fields, and returns a {{json|JSON}} response. Each query-response cycle is an independent [[http1|[[http1|HTTP/1]].1]] request, making it compatible with existing {{http-method|HTTP}} infrastructure.', - leftRole: '[[graphql|GraphQL]] defines the query language, schema, and resolver execution model.', - rightRole: '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} transport for sending queries and receiving results.' + leftRole: + '[[graphql|GraphQL]] defines the query language, schema, and resolver execution model.', + rightRole: + '[[http1|[[http1|HTTP/1]].1]] provides the {{request-response|request-response}} transport for sending queries and receiving results.' }, { ids: ['graphql', 'http2'], @@ -1578,8 +2436,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[graphql|GraphQL]] queries are sent over [[http2|HTTP/2]], benefiting from multiplexed streams when clients issue multiple queries or when responses are large with compressed headers.', howTheyWork: '[[graphql|GraphQL]] queries are sent as [[http2|HTTP/2]] POST requests to a single endpoint, just as with [[http1|[[http1|HTTP/1]].1]], but [[http2|HTTP/2]] multiplexes concurrent queries over a single connection. This is especially beneficial when a client fires multiple [[graphql|GraphQL]] queries in parallel, as they share one connection with compressed headers instead of requiring separate [[tcp|TCP]] connections.', - leftRole: '[[graphql|GraphQL]] defines the query language, schema, and resolver execution model.', - rightRole: '[[http2|HTTP/2]] provides multiplexed, header-compressed transport for concurrent query delivery.' + leftRole: + '[[graphql|GraphQL]] defines the query language, schema, and resolver execution model.', + rightRole: + '[[http2|HTTP/2]] provides multiplexed, header-compressed transport for concurrent query delivery.' }, { ids: ['graphql', 'websockets'], @@ -1588,8 +2448,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[graphql|GraphQL]] subscriptions use [[websockets|WebSocket]] as a persistent transport to push real-time data updates from the server to subscribed clients.', howTheyWork: 'The client establishes a [[websockets|WebSocket]] connection to the [[graphql|GraphQL]] server and sends subscription queries using a sub-protocol like graphql-ws. The server keeps the connection open and pushes data whenever the subscribed fields change. This complements the {{http-method|HTTP}}-based query/mutation model by adding server-initiated real-time updates.', - leftRole: '[[graphql|GraphQL]] defines the subscription query syntax and the data pushed when subscribed fields change.', - rightRole: '[[websockets|WebSocket]] provides the persistent, bidirectional channel needed for real-time subscription delivery.' + leftRole: + '[[graphql|GraphQL]] defines the subscription query syntax and the data pushed when subscribed fields change.', + rightRole: + '[[websockets|WebSocket]] provides the persistent, bidirectional channel needed for real-time subscription delivery.' }, { ids: ['hls', 'http1'], @@ -1598,8 +2460,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[hls|HLS]] delivers adaptive video by serving M3U8 playlists and media segments as standard [[http1|[[http1|HTTP/1]].1]] file downloads, leveraging existing web infrastructure and CDNs.', howTheyWork: 'The [[hls|HLS]] client fetches an M3U8 playlist over [[http1|[[http1|HTTP/1]].1]] to discover available bitrates and segment URLs. It then requests individual media segments as standard {{http-method|HTTP}} GET requests. Each segment is a self-contained file served like any static asset, making [[hls|HLS]] fully compatible with {{http-method|HTTP}} caches, CDNs, and standard web servers.', - leftRole: '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate selection algorithm.', - rightRole: '[[http1|[[http1|HTTP/1]].1]] provides the file-serving transport for delivering playlist and segment files.' + leftRole: + '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate selection algorithm.', + rightRole: + '[[http1|[[http1|HTTP/1]].1]] provides the file-serving transport for delivering playlist and segment files.' }, { ids: ['hls', 'http2'], @@ -1608,8 +2472,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[hls|HLS]] delivers adaptive video over [[http2|HTTP/2]], where multiplexed streams allow playlist refreshes and segment fetches to share a single connection efficiently.', howTheyWork: 'The [[hls|HLS]] client fetches M3U8 playlists and media segments over [[http2|HTTP/2]], {{multiplexing|multiplexing}} requests on a single connection instead of opening multiple parallel [[tcp|TCP]] connections. For live streams, this is especially beneficial since frequent playlist refreshes and segment requests can interleave without {{head-of-line-blocking|head-of-line blocking}} at the {{http-method|HTTP}} layer.', - leftRole: '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate selection algorithm.', - rightRole: '[[http2|HTTP/2]] provides multiplexed transport for efficient parallel delivery of playlists and segments.' + leftRole: + '[[hls|HLS]] defines the playlist format, segment structure, and adaptive bitrate selection algorithm.', + rightRole: + '[[http2|HTTP/2]] provides multiplexed transport for efficient parallel delivery of playlists and segments.' }, { ids: ['http1', 'rest'], @@ -1618,8 +2484,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[rest|REST]] APIs are most commonly served over [[http1|[[http1|HTTP/1]].1]], using its methods (GET, POST, PUT, DELETE), status codes, and headers to implement resource-oriented APIs.', howTheyWork: '[[rest|REST]] maps {{crud|CRUD}} operations to [[http1|[[http1|HTTP/1]].1]] methods: GET for reading, POST for creating, PUT/PATCH for updating, and DELETE for removing resources. [[http1|[[http1|HTTP/1]].1]] status codes communicate outcomes, headers handle {{content-negotiation|content negotiation}} and caching, and URLs identify resources. [[http1|[[http1|HTTP/1]].1]] provides all the semantics [[rest|REST]] relies on as an architectural style.', - leftRole: '[[http1|[[http1|HTTP/1]].1]] provides the methods, status codes, headers, and {{url|URL}} structure that [[rest|REST]] builds upon.', - rightRole: '[[rest|REST]] defines the architectural conventions for mapping resource operations onto {{http-method|HTTP}} semantics.' + leftRole: + '[[http1|[[http1|HTTP/1]].1]] provides the methods, status codes, headers, and {{url|URL}} structure that [[rest|REST]] builds upon.', + rightRole: + '[[rest|REST]] defines the architectural conventions for mapping resource operations onto {{http-method|HTTP}} semantics.' }, { ids: ['http1', 'websockets'], @@ -1628,8 +2496,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[websockets|WebSocket]] connections begin with an [[http1|[[http1|HTTP/1]].1]] Upgrade {{handshake|handshake}}, then switch to a persistent, bidirectional {{binary-framing|binary framing}} protocol.', howTheyWork: 'The client sends an [[http1|[[http1|HTTP/1]].1]] GET request with Upgrade: websocket and Connection: Upgrade headers, plus a Sec-[[websockets|WebSocket]]-Key. If the server accepts, it responds with 101 Switching Protocols and the connection transitions from {{http-method|HTTP}} to [[websockets|WebSocket]] framing. After the upgrade, the [[tcp|TCP]] connection carries [[websockets|WebSocket]] frames instead of {{http-method|HTTP}} messages.', - leftRole: '[[http1|[[http1|HTTP/1]].1]] provides the initial {{handshake|handshake}} and Upgrade mechanism to establish the connection.', - rightRole: '[[websockets|WebSocket]] provides the persistent, {{full-duplex|full-duplex}} message framing protocol after the upgrade completes.' + leftRole: + '[[http1|[[http1|HTTP/1]].1]] provides the initial {{handshake|handshake}} and Upgrade mechanism to establish the connection.', + rightRole: + '[[websockets|WebSocket]] provides the persistent, {{full-duplex|full-duplex}} message framing protocol after the upgrade completes.' }, { ids: ['http2', 'sse'], @@ -1638,8 +2508,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[sse|SSE]] streams server-pushed events over [[http2|HTTP/2]], where {{multiplexing|multiplexing}} allows multiple [[sse|SSE]] streams to share a single connection without blocking other requests.', howTheyWork: 'The client opens an [[sse|SSE]] connection by sending a GET request with Accept: text/event-stream. Over [[http2|HTTP/2]], this [[sse|SSE]] stream becomes one of many multiplexed streams on a single connection, so other {{api|API}} requests proceed in parallel without being blocked. This eliminates the browser connection limit problem that restricts [[sse|SSE]] to six concurrent streams per origin on [[http1|[[http1|HTTP/1]].1]].', - leftRole: '[[http2|HTTP/2]] provides multiplexed streams that let [[sse|SSE]] connections coexist with other requests on one connection.', - rightRole: '[[sse|SSE]] provides the text/event-stream format and {{eventsource|EventSource API}} for server-to-client push.' + leftRole: + '[[http2|HTTP/2]] provides multiplexed streams that let [[sse|SSE]] connections coexist with other requests on one connection.', + rightRole: + '[[sse|SSE]] provides the text/event-stream format and {{eventsource|EventSource API}} for server-to-client push.' }, { ids: ['http3', 'rest'], @@ -1648,8 +2520,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[rest|REST]] APIs can be served over [[http3|HTTP/3]], gaining faster connection setup, independent stream {{multiplexing|multiplexing}}, and built-in {{encryption|encryption}} from the [[quic|QUIC]] transport.', howTheyWork: '[[rest|REST]] semantics (methods, status codes, headers, URLs) work identically over [[http3|HTTP/3]] as they do over [[http1|[[http1|HTTP/1]].1]] or [[http2|HTTP/2]] โ€” only the transport changes. [[http3|HTTP/3]] runs over [[quic|QUIC]], providing {{zero-rtt|0-RTT}} connection establishment, stream-level independence (no {{head-of-line-blocking|head-of-line blocking}}), and mandatory [[tls|TLS]] 1.3. [[rest|REST]] APIs benefit automatically without any changes to {{api|API}} design.', - leftRole: '[[http3|HTTP/3]] provides the [[quic|QUIC]]-based transport with {{zero-rtt|0-RTT}} setup and independent stream {{multiplexing|multiplexing}}.', - rightRole: '[[rest|REST]] defines the resource-oriented {{api|API}} architecture that rides on [[http3|HTTP/3]] semantics.' + leftRole: + '[[http3|HTTP/3]] provides the [[quic|QUIC]]-based transport with {{zero-rtt|0-RTT}} setup and independent stream {{multiplexing|multiplexing}}.', + rightRole: + '[[rest|REST]] defines the resource-oriented {{api|API}} architecture that rides on [[http3|HTTP/3]] semantics.' }, // โ”€โ”€ WebSocket as transport โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1661,8 +2535,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[amqp|AMQP]] can be tunneled over [[websockets|WebSocket]] to allow browser-based clients to {{mqtt-connect|connect}} to message brokers without direct [[tcp|TCP]] access.', howTheyWork: 'The browser establishes a [[websockets|WebSocket]] connection to the {{broker|message broker}} (or a gateway), then speaks the [[amqp|AMQP]] protocol over that [[websockets|WebSocket]] channel. The [[websockets|WebSocket]] connection wraps [[amqp|AMQP]] frames so they can traverse {{http-method|HTTP}} proxies and firewalls that would otherwise block raw [[tcp|TCP]] [[amqp|AMQP]] connections on port 5672.', - leftRole: '[[amqp|AMQP]] provides the messaging semantics โ€” exchanges, queues, bindings, and delivery guarantees.', - rightRole: '[[websockets|WebSocket]] provides the browser-compatible transport tunnel that carries [[amqp|AMQP]] frames over {{http-method|HTTP}}.' + leftRole: + '[[amqp|AMQP]] provides the messaging semantics โ€” exchanges, queues, bindings, and delivery guarantees.', + rightRole: + '[[websockets|WebSocket]] provides the browser-compatible transport tunnel that carries [[amqp|AMQP]] frames over {{http-method|HTTP}}.' }, { ids: ['mqtt', 'websockets'], @@ -1671,18 +2547,22 @@ const relationshipPairs: ProtocolPair[] = [ '[[mqtt|MQTT]] over [[websockets|WebSocket]] enables browser-based IoT dashboards and web apps to {{mqtt-subscribe|subscribe}} to [[mqtt|MQTT]] topics directly from the browser.', howTheyWork: 'The browser opens a [[websockets|WebSocket]] connection to the [[mqtt|MQTT]] broker (typically on port 8083/8084). [[mqtt|MQTT]] packets are sent as [[websockets|WebSocket]] binary frames, allowing the browser to {{mqtt-publish|publish}}, {{mqtt-subscribe|subscribe}}, and receive messages using standard [[mqtt|MQTT]] semantics. This avoids the need for a custom [[rest|REST]] bridge between the browser and the [[mqtt|MQTT]] broker.', - leftRole: '[[mqtt|MQTT]] provides the lightweight pub/sub messaging protocol with {{topic|topic}} hierarchy and QoS levels.', - rightRole: '[[websockets|WebSocket]] provides the browser-accessible transport that carries [[mqtt|MQTT]] packets over {{http-method|HTTP}}.' + leftRole: + '[[mqtt|MQTT]] provides the lightweight pub/sub messaging protocol with {{topic|topic}} hierarchy and QoS levels.', + rightRole: + '[[websockets|WebSocket]] provides the browser-accessible transport that carries [[mqtt|MQTT]] packets over {{http-method|HTTP}}.' }, { ids: ['stomp', 'websockets'], type: 'relationship', summary: - '[[stomp|STOMP]] over [[websockets|WebSocket]] allows browser clients to {{mqtt-connect|connect}} to message brokers using [[stomp|STOMP]]\'s simple text-based messaging commands.', + "[[stomp|STOMP]] over [[websockets|WebSocket]] allows browser clients to {{mqtt-connect|connect}} to message brokers using [[stomp|STOMP]]'s simple text-based messaging commands.", howTheyWork: - 'The browser establishes a [[websockets|WebSocket]] connection to the {{broker|message broker}} (e.g., RabbitMQ with [[stomp|STOMP]] plugin, or Spring\'s [[stomp|STOMP]] broker). [[stomp|STOMP]] text frames ({{mqtt-connect|CONNECT}}, SEND, {{mqtt-subscribe|SUBSCRIBE}}, MESSAGE) are sent as [[websockets|WebSocket]] text messages. [[stomp|STOMP]]\'s {{http-method|HTTP}}-like text format makes it especially natural to carry over [[websockets|WebSocket]], requiring minimal client-side code.', - leftRole: '[[stomp|STOMP]] provides the text-based messaging commands for sending, subscribing, and acknowledging messages.', - rightRole: '[[websockets|WebSocket]] provides the browser-compatible bidirectional channel that carries [[stomp|STOMP]] frames.' + "The browser establishes a [[websockets|WebSocket]] connection to the {{broker|message broker}} (e.g., RabbitMQ with [[stomp|STOMP]] plugin, or Spring's [[stomp|STOMP]] broker). [[stomp|STOMP]] text frames ({{mqtt-connect|CONNECT}}, SEND, {{mqtt-subscribe|SUBSCRIBE}}, MESSAGE) are sent as [[websockets|WebSocket]] text messages. [[stomp|STOMP]]'s {{http-method|HTTP}}-like text format makes it especially natural to carry over [[websockets|WebSocket]], requiring minimal client-side code.", + leftRole: + '[[stomp|STOMP]] provides the text-based messaging commands for sending, subscribing, and acknowledging messages.', + rightRole: + '[[websockets|WebSocket]] provides the browser-compatible bidirectional channel that carries [[stomp|STOMP]] frames.' }, { ids: ['websockets', 'xmpp'], @@ -1691,8 +2571,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[xmpp|XMPP]] over [[websockets|WebSocket]] enables browser-based chat clients to participate in the [[xmpp|XMPP]] network without long-polling hacks like BOSH.', howTheyWork: 'The browser opens a [[websockets|WebSocket]] connection to the [[xmpp|XMPP]] server using the [[xmpp|XMPP]] sub-protocol ([[rfc:7395|RFC 7395]]). [[xmpp|XMPP]] stanzas (message, presence, iq) are sent as [[websockets|WebSocket]] text frames, providing the same real-time {{xml|XML}} stream as a native [[tcp|TCP]] [[xmpp|XMPP]] connection. This replaces the older BOSH (Bidirectional-streams Over Synchronous {{http-method|HTTP}}) approach with a cleaner, lower-{{latency|latency}} transport.', - leftRole: '[[websockets|WebSocket]] provides the persistent, low-{{latency|latency}} bidirectional transport between browser and [[xmpp|XMPP]] server.', - rightRole: '[[xmpp|XMPP]] provides the messaging semantics โ€” presence, roster, stanzas, and {{federation|federation}}.' + leftRole: + '[[websockets|WebSocket]] provides the persistent, low-{{latency|latency}} bidirectional transport between browser and [[xmpp|XMPP]] server.', + rightRole: + '[[xmpp|XMPP]] provides the messaging semantics โ€” presence, roster, stanzas, and {{federation|federation}}.' }, // โ”€โ”€ Real-time A/V โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1704,8 +2586,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[sdp|SDP]] describes the parameters of an [[rtp|RTP]] session โ€” codecs, {{payload|payload}} types, ports, and addresses โ€” so both endpoints agree on how to send and receive media.', howTheyWork: 'Before [[rtp|RTP]] media can flow, endpoints {{exchange|exchange}} [[sdp|SDP]] descriptions (via [[sip|SIP]], [[webrtc|WebRTC]] {{signaling|signaling}}, or other means) that specify the [[ip|IP]] addresses, port numbers, codecs, and {{payload|payload}} type mappings for each media stream. [[rtp|RTP]] then uses these negotiated parameters to deliver audio and video packets between the endpoints.', - leftRole: '[[rtp|RTP]] carries the actual audio and video media packets using parameters negotiated by [[sdp|SDP]].', - rightRole: '[[sdp|SDP]] describes the session parameters (codecs, ports, addresses) that configure the [[rtp|RTP]] streams.' + leftRole: + '[[rtp|RTP]] carries the actual audio and video media packets using parameters negotiated by [[sdp|SDP]].', + rightRole: + '[[sdp|SDP]] describes the session parameters (codecs, ports, addresses) that configure the [[rtp|RTP]] streams.' }, { ids: ['rtp', 'sip'], @@ -1714,8 +2598,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[sip|SIP]] establishes and manages call sessions (ringing, answering, hanging up), while [[rtp|RTP]] carries the actual audio and video media during the call.', howTheyWork: '[[sip|SIP]] handles call {{signaling|signaling}} โ€” {{sip-invite|INVITE}} to initiate, 200 OK to accept, BYE to terminate โ€” and carries [[sdp|SDP]] in its message bodies to negotiate media parameters. Once the [[sip|SIP]] {{signaling|signaling}} establishes a session, [[rtp|RTP]] streams flow directly between the media endpoints on the ports and codecs specified by [[sdp|SDP]]. [[sip|SIP]] manages the call lifecycle; [[rtp|RTP]] handles the media.', - leftRole: '[[rtp|RTP]] carries the real-time audio and video streams between endpoints during the call.', - rightRole: '[[sip|SIP]] provides the {{signaling|signaling}} to establish, modify, and tear down the call session.' + leftRole: + '[[rtp|RTP]] carries the real-time audio and video streams between endpoints during the call.', + rightRole: + '[[sip|SIP]] provides the {{signaling|signaling}} to establish, modify, and tear down the call session.' }, { ids: ['rtp', 'webrtc'], @@ -1724,8 +2610,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[webrtc|WebRTC]] uses {{srtp|SRTP}} (Secure [[rtp|RTP]]) as its media transport, encrypting all audio and video packets with {{dtls|DTLS}}-derived keys for secure {{peer-to-peer|peer-to-peer}} communication.', howTheyWork: '[[webrtc|WebRTC]] establishes a peer connection using {{ice|ICE}} for {{nat|NAT}} traversal and {{dtls|DTLS}} for key {{exchange|exchange}}. Once the secure channel is established, audio and video are transmitted as {{srtp|SRTP}} packets โ€” [[rtp|RTP]] with {{aes|AES}} {{encryption|encryption}}. [[webrtc|WebRTC]] mandates {{srtp|SRTP}} (not plain [[rtp|RTP]]) to ensure all media is encrypted end-to-end by default.', - leftRole: '[[rtp|RTP]] (as {{srtp|SRTP}}) carries the encrypted audio and video packets between [[webrtc|WebRTC]] peers.', - rightRole: '[[webrtc|WebRTC]] provides the peer connection framework, {{ice|ICE}} negotiation, and {{dtls|DTLS}} key {{exchange|exchange}} around {{srtp|SRTP}}.' + leftRole: + '[[rtp|RTP]] (as {{srtp|SRTP}}) carries the encrypted audio and video packets between [[webrtc|WebRTC]] peers.', + rightRole: + '[[webrtc|WebRTC]] provides the peer connection framework, {{ice|ICE}} negotiation, and {{dtls|DTLS}} key {{exchange|exchange}} around {{srtp|SRTP}}.' }, { ids: ['sctp', 'webrtc'], @@ -1733,9 +2621,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[webrtc|WebRTC]] data channels use [[sctp|SCTP]] tunneled over {{dtls|DTLS}} to provide reliable, ordered, and configurable message delivery between peers.', howTheyWork: - '[[webrtc|WebRTC]] establishes a {{dtls|DTLS}} connection over the {{ice|ICE}}-negotiated path, then runs [[sctp|SCTP]] on top of that {{dtls|DTLS}} tunnel. Each data channel maps to an [[sctp|SCTP]] stream, and [[sctp|SCTP]]\'s multi-stream support allows independent channels without {{head-of-line-blocking|head-of-line blocking}}. Channels can be configured as reliable/ordered or unreliable/unordered per-channel.', - leftRole: '[[sctp|SCTP]] provides the multi-stream, message-oriented transport with configurable reliability for each data channel.', - rightRole: '[[webrtc|WebRTC]] provides the peer connection, {{dtls|DTLS}} {{encryption|encryption}}, and {{ice|ICE}} traversal that [[sctp|SCTP]] runs over.' + "[[webrtc|WebRTC]] establishes a {{dtls|DTLS}} connection over the {{ice|ICE}}-negotiated path, then runs [[sctp|SCTP]] on top of that {{dtls|DTLS}} tunnel. Each data channel maps to an [[sctp|SCTP]] stream, and [[sctp|SCTP]]'s multi-stream support allows independent channels without {{head-of-line-blocking|head-of-line blocking}}. Channels can be configured as reliable/ordered or unreliable/unordered per-channel.", + leftRole: + '[[sctp|SCTP]] provides the multi-stream, message-oriented transport with configurable reliability for each data channel.', + rightRole: + '[[webrtc|WebRTC]] provides the peer connection, {{dtls|DTLS}} {{encryption|encryption}}, and {{ice|ICE}} traversal that [[sctp|SCTP]] runs over.' }, { ids: ['sdp', 'sip'], @@ -1744,8 +2634,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[sip|SIP]] carries [[sdp|SDP]] payloads in its {{sip-invite|INVITE}} and response messages to negotiate the media parameters (codecs, ports, addresses) for a call session.', howTheyWork: 'When a [[sip|SIP]] client sends an {{sip-invite|INVITE}}, it includes an [[sdp|SDP]] offer in the message body describing its supported codecs, [[ip|IP]] address, and port. The callee responds with a [[sip|SIP]] 200 OK containing an [[sdp|SDP]] answer with its own media capabilities. This offer/answer {{exchange|exchange}} within [[sip|SIP]] messages establishes the agreed-upon parameters for the subsequent [[rtp|RTP]] media streams.', - leftRole: '[[sdp|SDP]] provides the session description format that specifies codecs, ports, and media parameters.', - rightRole: '[[sip|SIP]] provides the {{signaling|signaling}} protocol that carries [[sdp|SDP]] offers and answers in its messages.' + leftRole: + '[[sdp|SDP]] provides the session description format that specifies codecs, ports, and media parameters.', + rightRole: + '[[sip|SIP]] provides the {{signaling|signaling}} protocol that carries [[sdp|SDP]] offers and answers in its messages.' }, { ids: ['sdp', 'webrtc'], @@ -1754,8 +2646,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[webrtc|WebRTC]] uses [[sdp|SDP]] in its offer/answer model to negotiate media capabilities, {{ice|ICE}} candidates, and {{dtls|DTLS}} fingerprints between peers.', howTheyWork: 'When a [[webrtc|WebRTC]] peer connection is created, the browser generates an [[sdp|SDP]] offer describing supported codecs, {{ice|ICE}} candidates, {{dtls|DTLS}} fingerprints, and media directions. This [[sdp|SDP]] is sent to the remote peer via an application-defined {{signaling|signaling}} channel. The remote peer generates an [[sdp|SDP]] answer, and both sides apply the negotiated parameters to configure their media and data channels.', - leftRole: '[[sdp|SDP]] describes the session parameters โ€” codecs, {{ice|ICE}} candidates, and {{dtls|DTLS}} fingerprints โ€” for [[webrtc|WebRTC]] negotiation.', - rightRole: '[[webrtc|WebRTC]] provides the peer connection {{api|API}} that generates, exchanges, and applies [[sdp|SDP]] descriptions.' + leftRole: + '[[sdp|SDP]] describes the session parameters โ€” codecs, {{ice|ICE}} candidates, and {{dtls|DTLS}} fingerprints โ€” for [[webrtc|WebRTC]] negotiation.', + rightRole: + '[[webrtc|WebRTC]] provides the peer connection {{api|API}} that generates, exchanges, and applies [[sdp|SDP]] descriptions.' }, // โ”€โ”€ Utility / Other โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1767,8 +2661,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[dhcp|DHCP]] provides [[dns|DNS]] server addresses to clients as part of network configuration, telling devices where to send their [[dns|DNS]] queries.', howTheyWork: 'When a device joins a network, [[dhcp|DHCP]] assigns it an [[ip|IP]] address along with other configuration including the [[dns|DNS]] server addresses (option 6 in DHCPv4). The client then uses these [[dns|DNS]] server addresses for all subsequent name resolution. Without [[dhcp|DHCP]] providing this information, clients would need manually configured [[dns|DNS]] servers.', - leftRole: '[[dhcp|DHCP]] provides network configuration including the [[dns|DNS]] server addresses clients should use.', - rightRole: '[[dns|DNS]] provides name resolution services at the server addresses distributed by [[dhcp|DHCP]].' + leftRole: + '[[dhcp|DHCP]] provides network configuration including the [[dns|DNS]] server addresses clients should use.', + rightRole: + '[[dns|DNS]] provides name resolution services at the server addresses distributed by [[dhcp|DHCP]].' }, { ids: ['dns', 'smtp'], @@ -1777,8 +2673,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[smtp|SMTP]] relies on [[dns|DNS]] {{mx-record|MX}} (Mail Exchanger) records to determine which mail server should receive email for a given domain.', howTheyWork: 'When an [[smtp|SMTP]] server needs to deliver mail to user@example.com, it queries [[dns|DNS]] for the {{mx-record|MX}} records of example.com. [[dns|DNS]] returns one or more mail server hostnames with priority values. The [[smtp|SMTP]] server then resolves those hostnames to [[ip|IP]] addresses (A/{{aaaa-record|AAAA}} records) and connects to the highest-priority server to deliver the message.', - leftRole: '[[dns|DNS]] provides the {{mx-record|MX record}} lookups that map email domains to their mail server hostnames.', - rightRole: '[[smtp|SMTP]] uses {{mx-record|MX}} records from [[dns|DNS]] to route and deliver email to the correct destination mail server.' + leftRole: + '[[dns|DNS]] provides the {{mx-record|MX record}} lookups that map email domains to their mail server hostnames.', + rightRole: + '[[smtp|SMTP]] uses {{mx-record|MX}} records from [[dns|DNS]] to route and deliver email to the correct destination mail server.' }, { ids: ['ftp', 'ssh'], @@ -1787,18 +2685,22 @@ const relationshipPairs: ProtocolPair[] = [ '{{sftp|SFTP}} ([[ssh|SSH]] File Transfer Protocol) runs entirely within an [[ssh|SSH]] channel, providing encrypted file transfer with strong authentication as a secure replacement for [[ftp|FTP]].', howTheyWork: '{{sftp|SFTP}} is a subsystem of [[ssh|SSH]], not a variant of [[ftp|FTP]] โ€” it uses a completely different binary protocol. The client establishes an [[ssh|SSH]] connection with key-based or password authentication, then opens an {{sftp|SFTP}} subsystem channel. All file operations (list, upload, download, rename, delete) are sent as binary {{sftp|SFTP}} packets within the encrypted [[ssh|SSH]] tunnel on a single port (22).', - leftRole: '[[ftp|FTP]]-style file operations (list, get, put, delete) are provided by the {{sftp|SFTP}} subsystem within [[ssh|SSH]].', - rightRole: '[[ssh|SSH]] provides the encrypted tunnel, authentication, and channel {{multiplexing|multiplexing}} that {{sftp|SFTP}} runs inside.' + leftRole: + '[[ftp|FTP]]-style file operations (list, get, put, delete) are provided by the {{sftp|SFTP}} subsystem within [[ssh|SSH]].', + rightRole: + '[[ssh|SSH]] provides the encrypted tunnel, authentication, and channel {{multiplexing|multiplexing}} that {{sftp|SFTP}} runs inside.' }, { ids: ['http3', 'quic'], type: 'relationship', summary: - '[[http3|HTTP/3]] is the first major protocol built specifically for [[quic|QUIC]], mapping {{http-method|HTTP}} semantics onto [[quic|QUIC]]\'s multiplexed, encrypted streams for head-of-line-blocking-free web delivery.', + "[[http3|HTTP/3]] is the first major protocol built specifically for [[quic|QUIC]], mapping {{http-method|HTTP}} semantics onto [[quic|QUIC]]'s multiplexed, encrypted streams for head-of-line-blocking-free web delivery.", howTheyWork: '[[http3|HTTP/3]] maps each {{request-response|request-response}} {{exchange|exchange}} to an independent [[quic|QUIC]] stream. [[quic|QUIC]] provides reliable, ordered delivery per-stream with [[tls|TLS]] 1.3 {{encryption|encryption}}, {{connection-migration|connection migration}}, and {{zero-rtt|0-RTT}} resumption. Unlike [[http2|HTTP/2]] over [[tcp|TCP]], losing a packet on one stream does not block others โ€” each [[quic|QUIC]] stream is independently reliable.', - leftRole: '[[http3|HTTP/3]] provides the {{http-method|HTTP}} semantics (methods, headers, status codes) and {{qpack|QPACK}} header compression.', - rightRole: '[[quic|QUIC]] provides the multiplexed, encrypted transport with per-stream reliability and fast connection setup.' + leftRole: + '[[http3|HTTP/3]] provides the {{http-method|HTTP}} semantics (methods, headers, status codes) and {{qpack|QPACK}} header compression.', + rightRole: + '[[quic|QUIC]] provides the multiplexed, encrypted transport with per-stream reliability and fast connection setup.' }, { ids: ['quic', 'tcp'], @@ -1806,9 +2708,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[quic|QUIC]] is designed as a modern replacement for the [[tcp|TCP]]+[[tls|TLS]] stack, providing reliable, multiplexed, encrypted transport over [[udp|UDP]] with faster connection setup.', howTheyWork: - '[[quic|QUIC]] implements the reliability, ordering, and {{congestion-control|congestion control}} features of [[tcp|TCP]] but runs over [[udp|UDP]] datagrams to avoid kernel-level [[tcp|TCP]] limitations and middlebox interference. It integrates [[tls|TLS]] 1.3 directly into its {{handshake|handshake}} (achieving {{one-rtt|1-RTT}} or {{zero-rtt|0-RTT}} setup) and provides independent stream {{multiplexing|multiplexing}} that eliminates [[tcp|TCP]]\'s {{head-of-line-blocking|head-of-line blocking}} problem.', - leftRole: '[[quic|QUIC]] provides the modern multiplexed, encrypted transport that aims to supersede [[tcp|TCP]]+[[tls|TLS]].', - rightRole: '[[tcp|TCP]] provides the traditional reliable transport that [[quic|QUIC]] was designed to replace and improve upon.' + "[[quic|QUIC]] implements the reliability, ordering, and {{congestion-control|congestion control}} features of [[tcp|TCP]] but runs over [[udp|UDP]] datagrams to avoid kernel-level [[tcp|TCP]] limitations and middlebox interference. It integrates [[tls|TLS]] 1.3 directly into its {{handshake|handshake}} (achieving {{one-rtt|1-RTT}} or {{zero-rtt|0-RTT}} setup) and provides independent stream {{multiplexing|multiplexing}} that eliminates [[tcp|TCP]]'s {{head-of-line-blocking|head-of-line blocking}} problem.", + leftRole: + '[[quic|QUIC]] provides the modern multiplexed, encrypted transport that aims to supersede [[tcp|TCP]]+[[tls|TLS]].', + rightRole: + '[[tcp|TCP]] provides the traditional reliable transport that [[quic|QUIC]] was designed to replace and improve upon.' }, { ids: ['rest', 'sse'], @@ -1816,9 +2720,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[sse|SSE]] is commonly used within [[rest|REST]] APIs to add a server-push capability, streaming real-time updates to clients over a standard {{http-method|HTTP}} connection.', howTheyWork: - 'A [[rest|REST]] {{api|API}} exposes an [[sse|SSE]] endpoint (e.g., GET /events) that returns a text/event-stream response. The client connects using the {{eventsource|EventSource API}} and receives server-pushed events as they occur, while continuing to use regular [[rest|REST]] endpoints for queries and mutations. [[sse|SSE]] complements [[rest|REST]]\'s {{request-response|request-response}} model by adding unidirectional real-time updates.', - leftRole: '[[rest|REST]] provides the {{request-response|request-response}} {{api|API}} structure that [[sse|SSE]] endpoints are integrated into.', - rightRole: '[[sse|SSE]] provides the server-push streaming mechanism that extends [[rest|REST]] with real-time event delivery.' + "A [[rest|REST]] {{api|API}} exposes an [[sse|SSE]] endpoint (e.g., GET /events) that returns a text/event-stream response. The client connects using the {{eventsource|EventSource API}} and receives server-pushed events as they occur, while continuing to use regular [[rest|REST]] endpoints for queries and mutations. [[sse|SSE]] complements [[rest|REST]]'s {{request-response|request-response}} model by adding unidirectional real-time updates.", + leftRole: + '[[rest|REST]] provides the {{request-response|request-response}} {{api|API}} structure that [[sse|SSE]] endpoints are integrated into.', + rightRole: + '[[sse|SSE]] provides the server-push streaming mechanism that extends [[rest|REST]] with real-time event delivery.' }, // โ”€โ”€ BGP relationships โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1827,9 +2733,9 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['bgp', 'tcp'], type: 'relationship', summary: - '[[bgp|BGP]] runs over [[tcp|TCP]] port 179, relying on [[tcp|TCP]]\'s reliable delivery to guarantee that routing updates are never lost, duplicated, or reordered between autonomous systems.', + "[[bgp|BGP]] runs over [[tcp|TCP]] port 179, relying on [[tcp|TCP]]'s reliable delivery to guarantee that routing updates are never lost, duplicated, or reordered between autonomous systems.", howTheyWork: - '[[bgp|BGP]] peers establish a [[tcp|TCP]] connection on port 179 before exchanging OPEN messages. All subsequent {{bgp-update|UPDATE}}, {{bgp-keepalive|KEEPALIVE}}, and {{notification|NOTIFICATION}} messages flow over this persistent [[tcp|TCP]] connection. [[tcp|TCP]]\'s reliability is critical because a lost route announcement could create routing loops or black holes in the internet.', + "[[bgp|BGP]] peers establish a [[tcp|TCP]] connection on port 179 before exchanging OPEN messages. All subsequent {{bgp-update|UPDATE}}, {{bgp-keepalive|KEEPALIVE}}, and {{notification|NOTIFICATION}} messages flow over this persistent [[tcp|TCP]] connection. [[tcp|TCP]]'s reliability is critical because a lost route announcement could create routing loops or black holes in the internet.", leftRole: '[[bgp|BGP]] provides the routing logic โ€” path selection, {{autonomous-system|AS}} path attributes, and network reachability advertisements between autonomous systems.', rightRole: @@ -1839,7 +2745,7 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['bgp', 'dns'], type: 'relationship', summary: - '[[bgp|BGP]] determines how [[ip|IP]] packets are routed between networks, while [[dns|DNS]] translates domain names to the [[ip|IP]] addresses that [[bgp|BGP]] routes. Together they form the internet\'s addressing and reachability system.', + "[[bgp|BGP]] determines how [[ip|IP]] packets are routed between networks, while [[dns|DNS]] translates domain names to the [[ip|IP]] addresses that [[bgp|BGP]] routes. Together they form the internet's addressing and reachability system.", howTheyWork: '[[dns|DNS]] resolves domain names to [[ip|IP]] addresses, and [[bgp|BGP]] determines how to reach those [[ip|IP]] addresses across {{autonomous-system|autonomous system}} boundaries. When a [[dns|DNS]] query returns an [[ip|IP]], the packets follow [[bgp|BGP]]-established routes to reach it. [[dns|DNS]] {{anycast|anycast}} relies on [[bgp|BGP]] to advertise the same [[ip|IP]] prefix from multiple geographic locations.', leftRole: @@ -1868,7 +2774,7 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[icmp|ICMP]] reports network-level errors for [[tcp|TCP]] connections โ€” when a [[tcp|TCP]] segment cannot be delivered, an [[icmp|ICMP]] Destination Unreachable message tells the sender why.', howTheyWork: - 'When a [[tcp|TCP]] {{syn-cookies|SYN}} reaches a host with no listening service, the host sends back [[icmp|ICMP]] Port Unreachable (Type 3, Code 3). When a router can\'t forward a [[tcp|TCP]] packet, it sends [[icmp|ICMP]] Network Unreachable. [[tcp|TCP]] {{path-mtu-discovery|Path MTU Discovery}} relies on [[icmp|ICMP]] Packet Too Big messages to determine the {{mss|maximum segment size}} without {{fragmentation|fragmentation}}.', + "When a [[tcp|TCP]] {{syn-cookies|SYN}} reaches a host with no listening service, the host sends back [[icmp|ICMP]] Port Unreachable (Type 3, Code 3). When a router can't forward a [[tcp|TCP]] packet, it sends [[icmp|ICMP]] Network Unreachable. [[tcp|TCP]] {{path-mtu-discovery|Path MTU Discovery}} relies on [[icmp|ICMP]] Packet Too Big messages to determine the {{mss|maximum segment size}} without {{fragmentation|fragmentation}}.", leftRole: '[[icmp|ICMP]] provides error reporting and diagnostics โ€” notifying [[tcp|TCP]] of unreachable destinations, {{ttl|TTL}} expiry, and {{mtu|MTU}} constraints.', rightRole: @@ -1883,11 +2789,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[imap|IMAP]] uses [[tcp|TCP]] for reliable delivery of email commands, message data, and mailbox state synchronization between clients and servers.', howTheyWork: - 'An [[imap|IMAP]] client opens a [[tcp|TCP]] connection to the mail server on port 993 (with [[tls|TLS]]) or 143 (plaintext). The tagged command-response protocol requires [[tcp|TCP]]\'s reliable, ordered delivery to ensure command tags match responses correctly. [[imap|IMAP]]\'s {{imap-idle|IDLE}} mode keeps the [[tcp|TCP]] connection open for real-time server-push notifications.', + "An [[imap|IMAP]] client opens a [[tcp|TCP]] connection to the mail server on port 993 (with [[tls|TLS]]) or 143 (plaintext). The tagged command-response protocol requires [[tcp|TCP]]'s reliable, ordered delivery to ensure command tags match responses correctly. [[imap|IMAP]]'s {{imap-idle|IDLE}} mode keeps the [[tcp|TCP]] connection open for real-time server-push notifications.", leftRole: '[[imap|IMAP]] provides the email retrieval protocol โ€” mailbox selection, message fetching, searching, and flag management.', rightRole: - '[[tcp|TCP]] provides the reliable, persistent connection that [[imap|IMAP]]\'s {{stateful|stateful}}, tagged command-response dialogue requires.' + "[[tcp|TCP]] provides the reliable, persistent connection that [[imap|IMAP]]'s {{stateful|stateful}}, tagged command-response dialogue requires." }, { ids: ['imap', 'tls'], @@ -1910,7 +2816,7 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[arp|ARP]] resolves [[ip|IP]] addresses to {{mac-address|MAC}} addresses so that [[ethernet|Ethernet]] frames can be addressed correctly on the local network.', howTheyWork: - 'When a host needs to send an [[ip|IP]] packet to a local destination, it first checks its [[arp|ARP]] cache for the destination\'s {{mac-address|MAC address}}. On a cache miss, it broadcasts an [[arp|ARP]] Request (EtherType 0x0806) to all devices on the [[ethernet|Ethernet]] segment. The target host replies with its {{mac-address|MAC address}}, which is cached for future [[ethernet|Ethernet]] frame construction.', + "When a host needs to send an [[ip|IP]] packet to a local destination, it first checks its [[arp|ARP]] cache for the destination's {{mac-address|MAC address}}. On a cache miss, it broadcasts an [[arp|ARP]] Request (EtherType 0x0806) to all devices on the [[ethernet|Ethernet]] segment. The target host replies with its {{mac-address|MAC address}}, which is cached for future [[ethernet|Ethernet]] frame construction.", leftRole: '[[arp|ARP]] provides the [[ip|IP]]-to-{{mac-address|MAC}} resolution mechanism that makes [[ethernet|Ethernet]] delivery possible for [[ip|IP]] traffic.', rightRole: @@ -1924,7 +2830,7 @@ const relationshipPairs: ProtocolPair[] = [ howTheyWork: '[[ip|IP]] provides logical addressing for routing packets across networks, but the last hop to the destination requires a physical {{mac-address|MAC address}}. [[arp|ARP]] translates the destination [[ip|IP]] address to the corresponding {{mac-address|MAC address}} on the local segment. Without [[arp|ARP]], [[ip|IP]] packets could be routed to the correct network but never delivered to the correct host.', leftRole: - '[[arp|ARP]] resolves [[ip|IP]]\'s logical addresses to the hardware addresses needed for local delivery.', + "[[arp|ARP]] resolves [[ip|IP]]'s logical addresses to the hardware addresses needed for local delivery.", rightRole: '[[ip|IP]] provides the logical addressing that [[arp|ARP]] resolves โ€” every [[arp|ARP]] request asks "who has this [[ip|IP]] address?"' }, @@ -1932,13 +2838,13 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['ip', 'ethernet'], type: 'relationship', summary: - '[[ip|IP]] packets are encapsulated inside [[ethernet|Ethernet]] frames for delivery on local networks โ€” [[ethernet|Ethernet]] is [[ip|IP]]\'s Layer 2 carrier on wired LANs.', + "[[ip|IP]] packets are encapsulated inside [[ethernet|Ethernet]] frames for delivery on local networks โ€” [[ethernet|Ethernet]] is [[ip|IP]]'s Layer 2 carrier on wired LANs.", howTheyWork: - 'When an [[ip|IP]] packet needs to traverse a local [[ethernet|Ethernet]] segment, it is placed inside an [[ethernet|Ethernet]] frame (EtherType 0x0800 for [[ip|IPv4]]). The [[ethernet|Ethernet]] frame\'s destination {{mac-address|MAC}} is either the final host (if local) or the {{default-gateway|default gateway}} router. At each router hop, the [[ip|IP]] header stays the same but the [[ethernet|Ethernet]] frame is stripped and rebuilt with new {{mac-address|MAC}} addresses.', + "When an [[ip|IP]] packet needs to traverse a local [[ethernet|Ethernet]] segment, it is placed inside an [[ethernet|Ethernet]] frame (EtherType 0x0800 for [[ip|IPv4]]). The [[ethernet|Ethernet]] frame's destination {{mac-address|MAC}} is either the final host (if local) or the {{default-gateway|default gateway}} router. At each router hop, the [[ip|IP]] header stays the same but the [[ethernet|Ethernet]] frame is stripped and rebuilt with new {{mac-address|MAC}} addresses.", leftRole: '[[ip|IP]] provides logical addressing, routing decisions, and {{ttl|TTL}} management for end-to-end packet delivery.', rightRole: - '[[ethernet|Ethernet]] provides the physical framing and {{mac-address|MAC}}-based delivery for each hop of the [[ip|IP]] packet\'s journey.' + "[[ethernet|Ethernet]] provides the physical framing and {{mac-address|MAC}}-based delivery for each hop of the [[ip|IP]] packet's journey." }, { ids: ['ip', 'wifi'], @@ -1956,13 +2862,13 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['ip', 'tcp'], type: 'relationship', summary: - '[[tcp|TCP]] provides reliable, ordered streams on top of [[ip|IP]]\'s best-effort packet delivery โ€” together they form [[tcp|TCP]]/[[ip|IP]], the foundation of the internet.', + "[[tcp|TCP]] provides reliable, ordered streams on top of [[ip|IP]]'s best-effort packet delivery โ€” together they form [[tcp|TCP]]/[[ip|IP]], the foundation of the internet.", howTheyWork: '[[ip|IP]] handles addressing and routing packets between {{hosts-bare|hosts}}, but provides no guarantees about delivery, ordering, or duplication. [[tcp|TCP]] adds reliability on top: sequence numbers track byte order, acknowledgments confirm delivery, and {{retransmission|retransmission}} recovers lost packets. Every [[tcp|TCP]] segment is encapsulated in an [[ip|IP]] packet (protocol number 6).', leftRole: '[[ip|IP]] provides the addressing and hop-by-hop routing that delivers packets across networks.', rightRole: - '[[tcp|TCP]] provides reliable, ordered, {{connection-oriented|connection-oriented}} byte streams over [[ip|IP]]\'s unreliable datagram service.' + "[[tcp|TCP]] provides reliable, ordered, {{connection-oriented|connection-oriented}} byte streams over [[ip|IP]]'s unreliable datagram service." }, { ids: ['ip', 'udp'], @@ -1980,13 +2886,13 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['ip', 'icmp'], type: 'relationship', summary: - '[[icmp|ICMP]] is [[ip|IP]]\'s diagnostic companion โ€” it reports routing errors, measures reachability, and discovers path {{mtu|MTU}}, all encapsulated directly in [[ip|IP]] packets.', + "[[icmp|ICMP]] is [[ip|IP]]'s diagnostic companion โ€” it reports routing errors, measures reachability, and discovers path {{mtu|MTU}}, all encapsulated directly in [[ip|IP]] packets.", howTheyWork: - '[[icmp|ICMP]] messages are encapsulated in [[ip|IP]] packets with protocol number 1 (not [[tcp|TCP]] or [[udp|UDP]]). When a router can\'t deliver an [[ip|IP]] packet ({{ttl|TTL}} expired, destination unreachable, {{fragmentation|fragmentation}} needed), it sends an [[icmp|ICMP]] message back to the sender. Ping ({{echo-request|Echo Request}}/Reply) and {{traceroute|traceroute}} ({{ttl|TTL}}-based hop discovery) are the most common [[icmp|ICMP]] operations.', + "[[icmp|ICMP]] messages are encapsulated in [[ip|IP]] packets with protocol number 1 (not [[tcp|TCP]] or [[udp|UDP]]). When a router can't deliver an [[ip|IP]] packet ({{ttl|TTL}} expired, destination unreachable, {{fragmentation|fragmentation}} needed), it sends an [[icmp|ICMP]] message back to the sender. Ping ({{echo-request|Echo Request}}/Reply) and {{traceroute|traceroute}} ({{ttl|TTL}}-based hop discovery) are the most common [[icmp|ICMP]] operations.", leftRole: '[[ip|IP]] provides the packet delivery that [[icmp|ICMP]] both rides on and diagnoses problems within.', rightRole: - '[[icmp|ICMP]] provides error reporting and diagnostics for [[ip|IP]]\'s routing infrastructure.' + "[[icmp|ICMP]] provides error reporting and diagnostics for [[ip|IP]]'s routing infrastructure." }, // โ”€โ”€ JSON-RPC relationships โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -1998,8 +2904,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[json-rpc|JSON-RPC]] commonly rides over [[http1|HTTP]] POST โ€” the {{http-method|HTTP}} layer handles transport while [[json-rpc|JSON-RPC]] defines the structured method-call semantics inside the body.', howTheyWork: 'The client sends a [[json-rpc|JSON-RPC]] request as the body of an [[http1|HTTP]] POST to a single endpoint (e.g., /rpc). The {{content-type|Content-Type}} is application/json. The server processes the [[json-rpc|JSON-RPC]] call and returns the result in the {{http-method|HTTP}} response body. Unlike [[rest|REST]], the {{http-method|HTTP method}} is always POST and the {{url|URL}} is always the same โ€” all routing happens via the method field inside the {{json|JSON}}.', - leftRole: '[[http1|HTTP]] provides the {{request-response|request-response}} transport, connection management, and [[tls|TLS]] {{encryption|encryption}} for [[json-rpc|JSON-RPC]] calls.', - rightRole: '[[json-rpc|JSON-RPC]] provides the method dispatch, parameter passing, error handling, and batch semantics inside the {{http-method|HTTP}} body.' + leftRole: + '[[http1|HTTP]] provides the {{request-response|request-response}} transport, connection management, and [[tls|TLS]] {{encryption|encryption}} for [[json-rpc|JSON-RPC]] calls.', + rightRole: + '[[json-rpc|JSON-RPC]] provides the method dispatch, parameter passing, error handling, and batch semantics inside the {{http-method|HTTP}} body.' }, { ids: ['json-rpc', 'websockets'], @@ -2008,18 +2916,22 @@ const relationshipPairs: ProtocolPair[] = [ '[[json-rpc|JSON-RPC]] over [[websockets|WebSockets]] enables bidirectional {{rpc|RPC}} โ€” both client and server can initiate method calls and send notifications over the persistent connection.', howTheyWork: 'After the [[websockets|WebSocket]] {{handshake|handshake}} upgrades the {{http-method|HTTP}} connection, both sides can send [[json-rpc|JSON-RPC]] messages at any time. The client sends requests; the server responds. But the server can also send notifications (no id) or even its own requests to the client โ€” something impossible over plain {{http-method|HTTP}}. This is how {{lsp|Language Server Protocol}} (LSP) sends diagnostics and how [[mcp|MCP]] servers push progress updates.', - leftRole: '[[json-rpc|JSON-RPC]] provides the structured call semantics โ€” method names, parameters, results, errors, and notifications.', - rightRole: '[[websockets|WebSockets]] provides the persistent, {{full-duplex|full-duplex}} transport that enables server-initiated [[json-rpc|JSON-RPC]] messages.' + leftRole: + '[[json-rpc|JSON-RPC]] provides the structured call semantics โ€” method names, parameters, results, errors, and notifications.', + rightRole: + '[[websockets|WebSockets]] provides the persistent, {{full-duplex|full-duplex}} transport that enables server-initiated [[json-rpc|JSON-RPC]] messages.' }, { ids: ['json-rpc', 'sse'], type: 'relationship', summary: - '[[json-rpc|JSON-RPC]] can use [[sse|SSE]] for streaming server responses โ€” the client sends requests via {{http-method|HTTP}} POST and receives streamed results as server-sent events, as used by [[mcp|MCP]]\'s Streamable {{http-method|HTTP}} transport.', + "[[json-rpc|JSON-RPC]] can use [[sse|SSE]] for streaming server responses โ€” the client sends requests via {{http-method|HTTP}} POST and receives streamed results as server-sent events, as used by [[mcp|MCP]]'s Streamable {{http-method|HTTP}} transport.", howTheyWork: - 'In [[mcp|MCP]]\'s Streamable {{http-method|HTTP}} transport, a client sends a [[json-rpc|JSON-RPC]] request as an {{http-method|HTTP}} POST. The server can respond with a normal {{json|JSON}} response or upgrade to an [[sse|SSE]] stream ({{content-type|Content-Type}}: text/event-stream), sending incremental results and notifications as events. This gives [[json-rpc|JSON-RPC]] streaming capabilities without requiring a full [[websockets|WebSocket]] connection.', - leftRole: '[[json-rpc|JSON-RPC]] provides the method-call structure and request/response correlation via the id field.', - rightRole: '[[sse|SSE]] provides the server-push streaming mechanism for delivering incremental [[json-rpc|JSON-RPC]] results and notifications.' + "In [[mcp|MCP]]'s Streamable {{http-method|HTTP}} transport, a client sends a [[json-rpc|JSON-RPC]] request as an {{http-method|HTTP}} POST. The server can respond with a normal {{json|JSON}} response or upgrade to an [[sse|SSE]] stream ({{content-type|Content-Type}}: text/event-stream), sending incremental results and notifications as events. This gives [[json-rpc|JSON-RPC]] streaming capabilities without requiring a full [[websockets|WebSocket]] connection.", + leftRole: + '[[json-rpc|JSON-RPC]] provides the method-call structure and request/response correlation via the id field.', + rightRole: + '[[sse|SSE]] provides the server-push streaming mechanism for delivering incremental [[json-rpc|JSON-RPC]] results and notifications.' }, // โ”€โ”€ MCP relationships โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -2030,29 +2942,35 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[mcp|MCP]] uses [[json-rpc|JSON-RPC]] 2.0 as its wire format โ€” every [[mcp|MCP]] message (initialize, tools/call, notifications) is a [[json-rpc|JSON-RPC]] request, response, or {{notification|notification}}.', howTheyWork: - '[[mcp|MCP]] defines the method names (initialize, tools/list, tools/call, resources/read) and their parameter schemas, while [[json-rpc|JSON-RPC]] provides the framing โ€” the id field for {{request-response|request-response}} correlation, the error object format, and the {{notification|notification}} pattern (no id = no response). [[mcp|MCP]]\'s three-step {{handshake|handshake}} is three [[json-rpc|JSON-RPC]] messages: a request, a response, and a {{notification|notification}}.', - leftRole: '[[json-rpc|JSON-RPC]] provides the wire format โ€” request/response correlation, error codes, notifications, and transport-agnostic framing.', - rightRole: '[[mcp|MCP]] defines the semantic methods (tools, resources, prompts, {{sampling|sampling}}) and their parameter schemas on top of [[json-rpc|JSON-RPC]].' + "[[mcp|MCP]] defines the method names (initialize, tools/list, tools/call, resources/read) and their parameter schemas, while [[json-rpc|JSON-RPC]] provides the framing โ€” the id field for {{request-response|request-response}} correlation, the error object format, and the {{notification|notification}} pattern (no id = no response). [[mcp|MCP]]'s three-step {{handshake|handshake}} is three [[json-rpc|JSON-RPC]] messages: a request, a response, and a {{notification|notification}}.", + leftRole: + '[[json-rpc|JSON-RPC]] provides the wire format โ€” request/response correlation, error codes, notifications, and transport-agnostic framing.', + rightRole: + '[[mcp|MCP]] defines the semantic methods (tools, resources, prompts, {{sampling|sampling}}) and their parameter schemas on top of [[json-rpc|JSON-RPC]].' }, { ids: ['http1', 'mcp'], type: 'relationship', summary: - '[[mcp|MCP]]\'s Streamable {{http-method|HTTP}} transport uses [[http1|HTTP]] POST for sending [[json-rpc|JSON-RPC]] messages, with optional [[sse|SSE]] upgrade for streaming responses.', + "[[mcp|MCP]]'s Streamable {{http-method|HTTP}} transport uses [[http1|HTTP]] POST for sending [[json-rpc|JSON-RPC]] messages, with optional [[sse|SSE]] upgrade for streaming responses.", howTheyWork: 'In Streamable {{http-method|HTTP}} mode, the [[mcp|MCP]] client sends [[json-rpc|JSON-RPC]] requests as [[http1|HTTP]] POST bodies to a single endpoint (e.g., /mcp). The server can respond with a plain {{json|JSON}} response or upgrade to an [[sse|SSE]] stream for incremental results. The server assigns a session {{id-identifier|ID}} via the Mcp-Session-Id header for {{stateful|stateful}} session management.', - leftRole: '[[http1|HTTP]] provides the {{request-response|request-response}} transport and connection management for remote [[mcp|MCP]] servers.', - rightRole: '[[mcp|MCP]] defines the [[json-rpc|JSON-RPC]] methods and session semantics carried inside {{http-method|HTTP}} requests.' + leftRole: + '[[http1|HTTP]] provides the {{request-response|request-response}} transport and connection management for remote [[mcp|MCP]] servers.', + rightRole: + '[[mcp|MCP]] defines the [[json-rpc|JSON-RPC]] methods and session semantics carried inside {{http-method|HTTP}} requests.' }, { ids: ['mcp', 'sse'], type: 'relationship', summary: - '[[mcp|MCP]]\'s Streamable {{http-method|HTTP}} transport uses [[sse|SSE]] to stream incremental tool results and server notifications back to the client.', + "[[mcp|MCP]]'s Streamable {{http-method|HTTP}} transport uses [[sse|SSE]] to stream incremental tool results and server notifications back to the client.", howTheyWork: - 'When an [[mcp|MCP]] server needs to stream results (e.g., a long-running tool or progress updates), it responds to the client\'s {{http-method|HTTP}} POST with {{content-type|Content-Type}}: text/event-stream instead of application/json. The server then sends [[json-rpc|JSON-RPC]] responses and notifications as [[sse|SSE]] events. This gives [[mcp|MCP]] streaming capabilities without requiring a persistent [[websockets|WebSocket]] connection.', - leftRole: '[[mcp|MCP]] defines the [[json-rpc|JSON-RPC]] messages (progress notifications, partial results) that are streamed as events.', - rightRole: '[[sse|SSE]] provides the {{http-method|HTTP}}-based streaming mechanism that delivers incremental [[mcp|MCP]] results to the client.' + "When an [[mcp|MCP]] server needs to stream results (e.g., a long-running tool or progress updates), it responds to the client's {{http-method|HTTP}} POST with {{content-type|Content-Type}}: text/event-stream instead of application/json. The server then sends [[json-rpc|JSON-RPC]] responses and notifications as [[sse|SSE]] events. This gives [[mcp|MCP]] streaming capabilities without requiring a persistent [[websockets|WebSocket]] connection.", + leftRole: + '[[mcp|MCP]] defines the [[json-rpc|JSON-RPC]] messages (progress notifications, partial results) that are streamed as events.', + rightRole: + '[[sse|SSE]] provides the {{http-method|HTTP}}-based streaming mechanism that delivers incremental [[mcp|MCP]] results to the client.' }, // โ”€โ”€ A2A relationships โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -2063,9 +2981,11 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[a2a|A2A]] uses [[json-rpc|JSON-RPC]] 2.0 as its wire format โ€” agent messages (message/send, message/stream) are [[json-rpc|JSON-RPC]] requests, and task results are [[json-rpc|JSON-RPC]] responses.', howTheyWork: - '[[a2a|A2A]] defines the method names (message/send, message/stream) and their parameter schemas, while [[json-rpc|JSON-RPC]] provides the wire framing. The [[a2a|A2A]] client sends a [[json-rpc|JSON-RPC]] request with a user message, and the server responds with a Task object containing status and artifacts. [[json-rpc|JSON-RPC]]\'s id field correlates multi-turn conversations.', - leftRole: '[[a2a|A2A]] defines the agent communication semantics โ€” messages, tasks, parts, artifacts, and the task lifecycle state machine.', - rightRole: '[[json-rpc|JSON-RPC]] provides the request/response framing, error handling, and {{notification|notification}} support for [[a2a|A2A]] messages.' + "[[a2a|A2A]] defines the method names (message/send, message/stream) and their parameter schemas, while [[json-rpc|JSON-RPC]] provides the wire framing. The [[a2a|A2A]] client sends a [[json-rpc|JSON-RPC]] request with a user message, and the server responds with a Task object containing status and artifacts. [[json-rpc|JSON-RPC]]'s id field correlates multi-turn conversations.", + leftRole: + '[[a2a|A2A]] defines the agent communication semantics โ€” messages, tasks, parts, artifacts, and the task lifecycle state machine.', + rightRole: + '[[json-rpc|JSON-RPC]] provides the request/response framing, error handling, and {{notification|notification}} support for [[a2a|A2A]] messages.' }, { ids: ['a2a', 'http1'], @@ -2074,8 +2994,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[a2a|A2A]] runs entirely over [[http1|HTTP]] โ€” agent discovery (GET /.well-known/agent.json), task communication (POST), and push notifications (webhooks) all use standard {{http-method|HTTP}}.', howTheyWork: 'Agent Cards are served as static {{json|JSON}} at the well-known {{http-method|HTTP}} {{url|URL}}. Task messages are sent as [[json-rpc|JSON-RPC]] payloads in {{http-method|HTTP}} POST requests. For streaming, the server responds with {{content-type|Content-Type}}: text/event-stream ([[sse|SSE]]). Push notifications use {{http-method|HTTP}} POST to a client-provided webhook {{url|URL}}. All communication is standard {{http-method|HTTP}} that works through proxies, load balancers, and CDNs.', - leftRole: '[[a2a|A2A]] defines the agent discovery, task management, and collaboration semantics layered on {{http-method|HTTP}}.', - rightRole: '[[http1|HTTP]] provides the universal transport โ€” GET for discovery, POST for messages, [[sse|SSE]] for streaming, webhooks for push.' + leftRole: + '[[a2a|A2A]] defines the agent discovery, task management, and collaboration semantics layered on {{http-method|HTTP}}.', + rightRole: + '[[http1|HTTP]] provides the universal transport โ€” GET for discovery, POST for messages, [[sse|SSE]] for streaming, webhooks for push.' }, { ids: ['a2a', 'sse'], @@ -2084,8 +3006,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[a2a|A2A]] uses [[sse|SSE]] to stream task status updates and artifact delivery in real-time via the message/stream method.', howTheyWork: 'When a client calls message/stream instead of message/send, the [[a2a|A2A]] server responds with a text/event-stream. As the agent works, it pushes TaskStatusUpdateEvent (state changes like "working" โ†’ "completed") and TaskArtifactUpdateEvent (incremental results) as [[sse|SSE]] events. This allows clients to show real-time progress without polling.', - leftRole: '[[a2a|A2A]] defines the event types (TaskStatusUpdate, TaskArtifactUpdate) that are streamed to the client.', - rightRole: '[[sse|SSE]] provides the {{http-method|HTTP}}-based streaming transport for delivering real-time [[a2a|A2A]] task updates.' + leftRole: + '[[a2a|A2A]] defines the event types (TaskStatusUpdate, TaskArtifactUpdate) that are streamed to the client.', + rightRole: + '[[sse|SSE]] provides the {{http-method|HTTP}}-based streaming transport for delivering real-time [[a2a|A2A]] task updates.' }, { ids: ['a2a', 'mcp'], @@ -2094,8 +3018,10 @@ const relationshipPairs: ProtocolPair[] = [ '[[mcp|MCP]] equips individual agents with tool access; [[a2a|A2A]] enables those equipped agents to collaborate. Together they form the two-protocol foundation of agentic {{ai|AI}}.', howTheyWork: 'In a multi-agent system, [[a2a|A2A]] handles high-level coordination โ€” Agent A uses message/send to delegate a sub-task to Agent B. Agent B then uses [[mcp|MCP]] internally to call database tools, read file resources, or invoke APIs to fulfill the task. Agent B returns results to Agent A via [[a2a|A2A]] artifacts. [[mcp|MCP]] is vertical (agent-to-tools), [[a2a|A2A]] is horizontal (agent-to-agent).', - leftRole: '[[a2a|A2A]] provides the inter-agent communication layer โ€” discovery, delegation, task lifecycle, and result delivery.', - rightRole: '[[mcp|MCP]] provides the tool integration layer โ€” each agent uses [[mcp|MCP]] to access the tools and data it needs to fulfill tasks.' + leftRole: + '[[a2a|A2A]] provides the inter-agent communication layer โ€” discovery, delegation, task lifecycle, and result delivery.', + rightRole: + '[[mcp|MCP]] provides the tool integration layer โ€” each agent uses [[mcp|MCP]] to access the tools and data it needs to fulfill tasks.' }, // โ”€โ”€ SOAP relationships โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -2158,7 +3084,7 @@ const relationshipPairs: ProtocolPair[] = [ ids: ['dns', 'ip'], type: 'relationship', summary: - '[[dns|DNS]] is the phone book for [[ip|IP]]\'s address space โ€” it translates human-readable names into the 32-bit or 128-bit addresses that [[ip|IP]] needs to route packets.', + "[[dns|DNS]] is the phone book for [[ip|IP]]'s address space โ€” it translates human-readable names into the 32-bit or 128-bit addresses that [[ip|IP]] needs to route packets.", howTheyWork: 'When an application needs to {{mqtt-connect|connect}} to a hostname, it queries [[dns|DNS]], which returns one or more [[ip|IP]] addresses. The operating system then uses [[ip|IP]] to construct packets with the resolved destination address. Without [[dns|DNS]], users would need to memorize numerical addresses; without [[ip|IP]], the resolved addresses would have nowhere to route to.', leftRole: @@ -2184,7 +3110,7 @@ const relationshipPairs: ProtocolPair[] = [ summary: 'Production [[soap|SOAP]] services run over HTTPS, with [[tls|TLS]] encrypting the {{xml|XML}} envelopes in {{transit|transit}}. [[soap|SOAP]] also has its own WS-Security layer for message-level {{encryption|encryption}} and signing.', howTheyWork: - '[[tls|TLS]] provides transport-level {{encryption|encryption}} for [[soap|SOAP]] messages sent over HTTPS โ€” protecting the entire {{http-method|HTTP}} request including the {{xml|XML}} envelope. For end-to-end security through intermediaries, [[soap|SOAP]]\'s WS-Security standard adds message-level {{encryption|encryption}} and digital signatures within the [[soap|SOAP]] Header, allowing parts of the message to remain encrypted even when [[tls|TLS]] terminates at a load balancer.', + "[[tls|TLS]] provides transport-level {{encryption|encryption}} for [[soap|SOAP]] messages sent over HTTPS โ€” protecting the entire {{http-method|HTTP}} request including the {{xml|XML}} envelope. For end-to-end security through intermediaries, [[soap|SOAP]]'s WS-Security standard adds message-level {{encryption|encryption}} and digital signatures within the [[soap|SOAP]] Header, allowing parts of the message to remain encrypted even when [[tls|TLS]] terminates at a load balancer.", leftRole: '[[soap|SOAP]] defines the {{xml|XML}} message format and can add message-level security via WS-Security headers for end-to-end protection.', rightRole: @@ -2235,7 +3161,7 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[tcp|TCP]] runs identically over [[ipv6|IPv6]] as over [[ip|IPv4]] โ€” the same reliable byte-stream delivery, but [[ipv6|IPv6]] mandates that [[tcp|TCP]] perform {{checksum|checksum}} computation ([[ipv6|IPv6]] has no header {{checksum|checksum}}).', howTheyWork: - '[[tcp|TCP]] segments are encapsulated in [[ipv6|IPv6]] packets with Next Header value 6. The key difference from [[ip|IPv4]]: since [[ipv6|IPv6]] has no header {{checksum|checksum}}, the [[tcp|TCP]] {{checksum|checksum}} is mandatory (not optional). [[tcp|TCP]]\'s pseudo-header for {{checksum|checksum}} computation uses 128-bit addresses instead of 32-bit ones. Otherwise the connection setup, {{flow-control|flow control}}, and congestion algorithms are identical.', + "[[tcp|TCP]] segments are encapsulated in [[ipv6|IPv6]] packets with Next Header value 6. The key difference from [[ip|IPv4]]: since [[ipv6|IPv6]] has no header {{checksum|checksum}}, the [[tcp|TCP]] {{checksum|checksum}} is mandatory (not optional). [[tcp|TCP]]'s pseudo-header for {{checksum|checksum}} computation uses 128-bit addresses instead of 32-bit ones. Otherwise the connection setup, {{flow-control|flow control}}, and congestion algorithms are identical.", leftRole: '[[ipv6|IPv6]] provides 128-bit addressing and routing, carrying [[tcp|TCP]] segments in its {{payload|payload}} with Next Header=6.', rightRole: @@ -2247,7 +3173,7 @@ const relationshipPairs: ProtocolPair[] = [ summary: '[[udp|UDP]] datagrams ride over [[ipv6|IPv6]] just as over [[ip|IPv4]], but with one key difference: the [[udp|UDP]] {{checksum|checksum}} is mandatory in [[ipv6|IPv6]] (it was optional in [[ip|IPv4]]).', howTheyWork: - '[[udp|UDP]] datagrams are carried in [[ipv6|IPv6]] packets with Next Header value 17. Because [[ipv6|IPv6]] eliminated the [[ip|IP]]-layer header {{checksum|checksum}}, [[udp|UDP]]\'s {{checksum|checksum}} became mandatory to ensure minimum integrity coverage. The {{checksum|checksum}} pseudo-header uses the full 128-bit source and destination addresses. Applications like [[dns|DNS]], [[dhcp|DHCPv6]], and real-time media use [[udp|UDP]] over [[ipv6|IPv6]].', + "[[udp|UDP]] datagrams are carried in [[ipv6|IPv6]] packets with Next Header value 17. Because [[ipv6|IPv6]] eliminated the [[ip|IP]]-layer header {{checksum|checksum}}, [[udp|UDP]]'s {{checksum|checksum}} became mandatory to ensure minimum integrity coverage. The {{checksum|checksum}} pseudo-header uses the full 128-bit source and destination addresses. Applications like [[dns|DNS]], [[dhcp|DHCPv6]], and real-time media use [[udp|UDP]] over [[ipv6|IPv6]].", leftRole: '[[ipv6|IPv6]] routes [[udp|UDP]] datagrams across networks using 128-bit addresses and Next Header=17.', rightRole: @@ -2312,7 +3238,8 @@ const allPairs: ProtocolPair[] = [...vsPairs, ...relationshipPairs]; /** Map for O(1) lookup by canonical key "idA:idB" (alphabetically sorted). */ const pairMap = new Map<string, ProtocolPair>(); for (const pair of allPairs) { - const key = pair.ids[0] < pair.ids[1] ? `${pair.ids[0]}:${pair.ids[1]}` : `${pair.ids[1]}:${pair.ids[0]}`; + const key = + pair.ids[0] < pair.ids[1] ? `${pair.ids[0]}:${pair.ids[1]}` : `${pair.ids[1]}:${pair.ids[0]}`; pairMap.set(key, pair); } @@ -2323,7 +3250,10 @@ export function getPair(idA: string, idB: string): ProtocolPair | null { } /** Get all pairs involving a given protocol, separated by type. */ -export function getPairsForProtocol(id: string): { vs: ProtocolPair[]; relationships: ProtocolPair[] } { +export function getPairsForProtocol(id: string): { + vs: ProtocolPair[]; + relationships: ProtocolPair[]; +} { const vs: ProtocolPair[] = []; const relationships: ProtocolPair[] = []; for (const pair of allPairs) { diff --git a/src/lib/data/concept-foundations.ts b/src/lib/data/concept-foundations.ts index c5d126f..0ce1f0c 100644 --- a/src/lib/data/concept-foundations.ts +++ b/src/lib/data/concept-foundations.ts @@ -29,7 +29,8 @@ The deeper trick is that protocols are **public**. They are described in plain t A -->|"3. {{ack|ACK}}"| B A -->|"4. Request"| B B -->|"5. Response"| A`, - caption: '[[tcp|TCP]] requires a {{three-way-handshake|three-way handshake}} before any data can flow. The order matters โ€” both sides have to confirm the connection in writing before either can speak its mind.' + caption: + '[[tcp|TCP]] requires a {{three-way-handshake|three-way handshake}} before any data can flow. The order matters โ€” both sides have to confirm the connection in writing before either can speak its mind.' }, { type: 'image', @@ -74,7 +75,7 @@ The {{ietf|IETF}}'s job is not to invent these protocols. It is to **document th title: 'Co-author of TCP/IP', org: 'Stanford โ†’ DARPA โ†’ Google', contribution: - "With [[pioneer:bob-kahn|Bob Kahn]], the 1974 paper that coined the word \"internet\" and described a single protocol they would later split into [[tcp|TCP]] + [[ip|IP]]. Stewards of the protocol's growth across the next four decades.", + 'With [[pioneer:bob-kahn|Bob Kahn]], the 1974 paper that coined the word "internet" and described a single protocol they would later split into [[tcp|TCP]] + [[ip|IP]]. Stewards of the protocol\'s growth across the next four decades.', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Dr_Vint_Cerf_ForMemRS_%28cropped%29.jpg/330px-Dr_Vint_Cerf_ForMemRS_%28cropped%29.jpg' }, @@ -188,7 +189,7 @@ The win was never about elegance โ€” {{osi-model|OSI}}'s seven layers are arguab { type: 'callout', title: 'Rough Consensus and Running Code', - text: 'David Clark\'s 1992 {{ietf|IETF}} quote is the closest thing the internet community has to a national anthem. It says: standards are documents about behavior we have already shipped, not theories we hope someone will adopt. It is the reason new protocols appear as Internet Drafts with reference implementations, not as {{iso|ISO}} documents. And it is why โ€” even in 2026 โ€” every protocol in this lab traces back to a draft someone could install and run.' + text: "David Clark's 1992 {{ietf|IETF}} quote is the closest thing the internet community has to a national anthem. It says: standards are documents about behavior we have already shipped, not theories we hope someone will adopt. It is the reason new protocols appear as Internet Drafts with reference implementations, not as {{iso|ISO}} documents. And it is why โ€” even in 2026 โ€” every protocol in this lab traces back to a draft someone could install and run." }, { type: 'narrative', @@ -240,7 +241,8 @@ Together: [[dns|DNS]] resolves the hostname โ†’ [[ip|IP]] routes the packet to t [[dns|DNS]] -->|"[[dns|DNS]] resolves"| {{ip-address|IP}} {{ip-address|IP}} -->|"[[arp|ARP]] / {{ndp|NDP}} resolves"| {{mac-address|MAC}} {{mac-address|MAC}} -->|"{{os|OS}} demuxes"| Port`, - caption: 'Each address layer answers a different question. [[dns|DNS]]: who. [[ip|IP]]: where. {{mac-address|MAC}}: which port on this switch. Port: which program.' + caption: + 'Each address layer answers a different question. [[dns|DNS]]: who. [[ip|IP]]: where. {{mac-address|MAC}}: which port on this switch. Port: which program.' }, { type: 'narrative', @@ -316,7 +318,8 @@ A {{packet|packet}} is a **self-contained unit** with a **header** (control info D -->|"[[tcp|TCP]] wraps"| S S -->|"{{ip-address|IP}} wraps"| P P -->|"[[ethernet|Ethernet]] wraps"| F`, - caption: 'Each layer adds its own header around the {{payload|payload}} from above. At the destination, headers are stripped in reverse order, and the original {{http-method|HTTP}} request is delivered to the application.' + caption: + 'Each layer adds its own header around the {{payload|payload}} from above. At the destination, headers are stripped in reverse order, and the original {{http-method|HTTP}} request is delivered to the application.' }, { type: 'image', @@ -391,7 +394,8 @@ Three conventional ranges. **Well-known ports** (0โ€“1023) are reserved for stan {{os|OS}} -->|":443"| S["HTTPS Server"] {{os|OS}} -->|":22"| [[ssh|SSH]]["[[ssh|SSH]] Daemon"] OS -->|":5432"| DB["Database"]`, - caption: 'The {{os|OS}} uses the destination port to deliver each packet to the right process. Multiple services share one [[ip|IP]] address; the port disambiguates.' + caption: + 'The {{os|OS}} uses the destination port to deliver each packet to the right process. Multiple services share one [[ip|IP]] address; the port disambiguates.' }, { type: 'image', @@ -435,7 +439,7 @@ This is also why [[quic|QUIC]] runs over [[udp|UDP]] port 443 ([[http3|HTTP/3]]) { type: 'callout', title: 'How a load balancer works at the port level', - text: 'A load balancer like nginx or HAProxy binds to port 443, accepts the inbound [[tcp|TCP]]/[[tls|TLS]] connection, then opens a **separate** outbound connection to one of N backend servers. From the client\'s perspective there is one connection; from the backends\' perspective there are many. The two connections are stitched together in user space. This is why the source [[ip|IP]] at the backend is the load balancer\'s, not the original client\'s, unless you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}} like `X-Forwarded-For`.' + text: "A load balancer like nginx or HAProxy binds to port 443, accepts the inbound [[tcp|TCP]]/[[tls|TLS]] connection, then opens a **separate** outbound connection to one of N backend servers. From the client's perspective there is one connection; from the backends' perspective there are many. The two connections are stitched together in user space. This is why the source [[ip|IP]] at the backend is the load balancer's, not the original client's, unless you explicitly forward it via the **PROXY protocol** or an {{header|HTTP header}} like `X-Forwarded-For`." } ] }, @@ -460,7 +464,8 @@ This tradeoff drives the entire protocol ecosystem. Web pages need reliability definition: `graph LR [[udp|UDP]]["<b>[[udp|UDP]]</b><br/>No guarantees<br/>8-byte header"] ---|"+ {{encryption|encryption}} + {{multiplexing|multiplexing}}"| [[quic|QUIC]]["<b>[[quic|QUIC]]</b><br/>Per-stream reliability<br/>0/{{one-rtt|1-RTT}} {{handshake|handshake}}"] [[quic|QUIC]] ---|"+ ordered byte stream"| [[tcp|TCP]]["<b>[[tcp|TCP]]</b><br/>Full reliability<br/>{{one-rtt|1-RTT}} {{handshake|handshake}}"]`, - caption: 'Protocols sit on a {{spectrum|spectrum}} from raw speed ([[udp|UDP]]) to guaranteed delivery ([[tcp|TCP]]). [[quic|QUIC]] sits in between by giving each multiplexed stream its own reliability โ€” so a lost packet only blocks one stream.' + caption: + 'Protocols sit on a {{spectrum|spectrum}} from raw speed ([[udp|UDP]]) to guaranteed delivery ([[tcp|TCP]]). [[quic|QUIC]] sits in between by giving each multiplexed stream its own reliability โ€” so a lost packet only blocks one stream.' }, { type: 'narrative', @@ -499,7 +504,8 @@ The principle they articulated โ€” **conservation of packets** โ€” has held up f RC -->|"new {{ack|ACK}}"| CA CA -->|"loss detected"| FR CA -->|"timeout"| S0`, - caption: 'The four-phase loop every [[tcp|TCP]] {{congestion-control|congestion controller}} has used since 1988. Modern algorithms ({{cubic|CUBIC}}, {{bbr|BBR}}) replace the linear growth in {{congestion-avoidance|Congestion Avoidance}} with their own curves, but the overall shape is unchanged.' + caption: + 'The four-phase loop every [[tcp|TCP]] {{congestion-control|congestion controller}} has used since 1988. Modern algorithms ({{cubic|CUBIC}}, {{bbr|BBR}}) replace the linear growth in {{congestion-avoidance|Congestion Avoidance}} with their own curves, but the overall shape is unchanged.' }, { type: 'narrative', @@ -546,7 +552,8 @@ BBRv1 hit ~4% mean throughput improvement on YouTube globally, more than 14% in C2021 --> C2023a["<b>2023</b><br/>{{bbrv3|BBRv3}} default<br/>for {{google|google}}.com / YouTube"] C2021 --> C2023b["<b>Jan 2023</b><br/>{{l4s|L4S}}<br/>[[rfc:9330|RFC 9330]]/9331/9332"] C2023b --> C2025["<b>Jan 2025</b><br/>Comcast {{l4s|L4S}}<br/>in production"]`, - caption: 'Every [[tcp|TCP]] congestion controller is a chapter in the story Jacobson started. Modern transports โ€” {{cubic|CUBIC}}, {{bbr|BBR}}, {{l4s|L4S}}, RACK-TLP โ€” are each refinements of the same conservation-of-packets principle, adapted to different network realities.' + caption: + 'Every [[tcp|TCP]] congestion controller is a chapter in the story Jacobson started. Modern transports โ€” {{cubic|CUBIC}}, {{bbr|BBR}}, {{l4s|L4S}}, RACK-TLP โ€” are each refinements of the same conservation-of-packets principle, adapted to different network realities.' }, { type: 'narrative', @@ -592,7 +599,8 @@ Second, **trust is concentrated**. The server can be hardened, audited, monitore P3 <--> P1 end CS ~~~ P2P`, - caption: 'Client-server centralises control through one authority. {{peer-to-peer|P2P}} connects nodes directly โ€” more resilient but harder to coordinate.' + caption: + 'Client-server centralises control through one authority. {{peer-to-peer|P2P}} connects nodes directly โ€” more resilient but harder to coordinate.' }, { type: 'image', @@ -668,9 +676,9 @@ The combination is what makes the modern web tractable. You use slow asymmetric { type: 'image', src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Asymmetric_Cryptography.svg/500px-Asymmetric_Cryptography.svg.png', - alt: 'Public-key cryptography: sender encrypts with the recipient\'s public key; recipient decrypts with their matching private key.', + alt: "Public-key cryptography: sender encrypts with the recipient's public key; recipient decrypts with their matching private key.", caption: - '{{public-key|Public-key}} cryptography. Anyone can {{encryption|encrypt}} a message using the recipient\'s {{public-key|public key}} (which is shared openly). Only the recipient โ€” the holder of the matching {{private-key|private key}} โ€” can decrypt it. This solves the key-distribution problem that defeated symmetric ciphers for centuries.', + "{{public-key|Public-key}} cryptography. Anyone can {{encryption|encrypt}} a message using the recipient's {{public-key|public key}} (which is shared openly). Only the recipient โ€” the holder of the matching {{private-key|private key}} โ€” can decrypt it. This solves the key-distribution problem that defeated symmetric ciphers for centuries.", credit: 'Diagram: Wikimedia Commons / public domain' }, { @@ -685,7 +693,8 @@ The combination is what makes the modern web tractable. You use slow asymmetric C2["Client"] <-->|"{{aes|AES}} / ChaCha20 encrypted"| S2["Server"] end {{handshake|Handshake}} -->|"shared secret"| Data`, - caption: '[[tls|TLS]] uses slow {{asymmetric-encryption|asymmetric crypto}} to safely {{exchange|exchange}} a session key, then switches to fast {{symmetric-encryption|symmetric encryption}} for all data. The {{handshake|handshake}} is a few hundred bytes; the data can be gigabytes.' + caption: + '[[tls|TLS]] uses slow {{asymmetric-encryption|asymmetric crypto}} to safely {{exchange|exchange}} a session key, then switches to fast {{symmetric-encryption|symmetric encryption}} for all data. The {{handshake|handshake}} is a few hundred bytes; the data can be gigabytes.' }, { type: 'image', @@ -751,7 +760,8 @@ In April 2025, {{google|Google}} published **Agent-to-Agent Protocol** โ€” [[a2a {{stdio|STDIO}}["{{stdio|stdio}} (local)"] end Wire -.-> Transport`, - caption: '{{ai|AI}} protocols sit at the application layer, using [[json-rpc|JSON-RPC]] 2.0 as their wire format and {{http-method|HTTP}} (or {{stdio|stdio}}) as their transport. [[mcp|MCP]] connects agents to tools; [[a2a|A2A]] connects agents to each other.' + caption: + '{{ai|AI}} protocols sit at the application layer, using [[json-rpc|JSON-RPC]] 2.0 as their wire format and {{http-method|HTTP}} (or {{stdio|stdio}}) as their transport. [[mcp|MCP]] connects agents to tools; [[a2a|A2A]] connects agents to each other.' }, { type: 'narrative', diff --git a/src/lib/data/concepts.ts b/src/lib/data/concepts.ts index 2108412..0185f69 100644 --- a/src/lib/data/concepts.ts +++ b/src/lib/data/concepts.ts @@ -41,7 +41,7 @@ export const concepts: Concept[] = [ id: 'imp', term: 'IMP (Interface Message Processor)', definition: - "The refrigerator-sized minicomputers (modified Honeywell DDP-516s) built by {{bbn|BBN}} that served as {{arpanet|ARPANET}}'s first routers. The IMP at UCLA processed the very first ARPANET message on October 29, 1969 โ€” the network's \"Hello World.\"", + 'The refrigerator-sized minicomputers (modified Honeywell DDP-516s) built by {{bbn|BBN}} that served as {{arpanet|ARPANET}}\'s first routers. The IMP at UCLA processed the very first ARPANET message on October 29, 1969 โ€” the network\'s "Hello World."', analogy: 'The original router, but the size of a wardrobe and humming loud enough to fill a room.', wikiUrl: 'https://en.wikipedia.org/wiki/Interface_Message_Processor', @@ -71,7 +71,7 @@ export const concepts: Concept[] = [ id: 'bbn', term: 'BBN (Bolt, Beranek and Newman)', definition: - "The Cambridge, Mass. consultancy that won the {{arpanet|ARPANET}} hardware contract in 1968 and built the {{imp|IMPs}}. BBN also wrote the first @-sign email program ([[pioneer:ray-tomlinson|Ray Tomlinson]], 1971) and much of the early internet plumbing. Now part of RTX (Raytheon Technologies).", + 'The Cambridge, Mass. consultancy that won the {{arpanet|ARPANET}} hardware contract in 1968 and built the {{imp|IMPs}}. BBN also wrote the first @-sign email program ([[pioneer:ray-tomlinson|Ray Tomlinson]], 1971) and much of the early internet plumbing. Now part of RTX (Raytheon Technologies).', analogy: 'The Skunk Works of early networking โ€” small team, contract by contract, no glamour, all of the foundations.', wikiUrl: 'https://en.wikipedia.org/wiki/BBN_Technologies', @@ -82,8 +82,7 @@ export const concepts: Concept[] = [ term: 'IANA (Internet Assigned Numbers Authority)', definition: 'The function (not an organization) responsible for assigning unique numbers used by internet protocols โ€” [[ip|IP]] address blocks, AS numbers, well-known port numbers, MIME types, character sets. Run single-handedly by [[pioneer:jon-postel|Jon Postel]] from his ISI office for over a decade; now operated by {{icann|ICANN}}.', - analogy: - 'The phone directory that prevents two countries from claiming the same area code.', + analogy: 'The phone directory that prevents two countries from claiming the same area code.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority', category: 'infrastructure' }, @@ -102,8 +101,7 @@ export const concepts: Concept[] = [ term: 'W3C (World Wide Web Consortium)', definition: 'The standards body for the web, founded by [[pioneer:tim-berners-lee|Tim Berners-Lee]] in 1994 and hosted by MIT (and partners). Publishes the specs for HTML, CSS, the DOM, and dozens of related web technologies. Where the {{ietf|IETF}} does wire formats, the W3C does the layers above HTTP.', - analogy: - '{{ietf|IETF}} runs the rails, W3C runs the trains.', + analogy: '{{ietf|IETF}} runs the rails, W3C runs the trains.', wikiUrl: 'https://en.wikipedia.org/wiki/World_Wide_Web_Consortium', category: 'web' }, @@ -112,8 +110,7 @@ export const concepts: Concept[] = [ term: 'ISOC (Internet Society)', definition: 'Non-profit founded in 1992 to provide an organizational home for the {{ietf|IETF}} and to advocate for open internet policy worldwide. Funds the IETF Trust, supports the IRTF research arm, and runs programs on internet access, encryption, and routing security.', - analogy: - 'The fiscal sponsor and policy lobby for the people who actually write the protocols.', + analogy: 'The fiscal sponsor and policy lobby for the people who actually write the protocols.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Society', category: 'infrastructure' }, @@ -313,7 +310,8 @@ export const concepts: Concept[] = [ term: 'Connectionless', definition: 'A communication mode where each packet is sent independently with no prior setup or guaranteed delivery (e.g., [[udp|UDP]]). Faster and simpler, but no ordering or reliability guarantees.', - analogy: 'Like sending postcards โ€” each one travels independently and might arrive out of order.', + analogy: + 'Like sending postcards โ€” each one travels independently and might arrive out of order.', wikiUrl: 'https://en.wikipedia.org/wiki/Connectionless_communication', category: 'networking-basics' }, @@ -468,8 +466,7 @@ export const concepts: Concept[] = [ term: 'Encryption', definition: 'The process of converting readable data (plaintext) into unreadable data (ciphertext) using an algorithm and a key. Only someone with the correct key can decrypt it back.', - analogy: - 'Like writing a message in a secret code that only your friend knows how to decode.', + analogy: 'Like writing a message in a secret code that only your friend knows how to decode.', wikiUrl: 'https://en.wikipedia.org/wiki/Encryption', category: 'security' }, @@ -538,7 +535,7 @@ export const concepts: Concept[] = [ id: 'certificate-authority', term: 'Certificate Authority (CA)', definition: - 'An organisation trusted to issue digital certificates. CAs sign certificates after verifying the requester controls a domain (DV), an organisation (OV), or has been extended-validated (EV). Root CAs are pre-installed in browsers and operating systems; intermediate CAs sign on their behalf so the root key can stay offline. Let\'s Encrypt, DigiCert, Sectigo, GoDaddy, and Google Trust Services issue most public-web certificates.', + "An organisation trusted to issue digital certificates. CAs sign certificates after verifying the requester controls a domain (DV), an organisation (OV), or has been extended-validated (EV). Root CAs are pre-installed in browsers and operating systems; intermediate CAs sign on their behalf so the root key can stay offline. Let's Encrypt, DigiCert, Sectigo, GoDaddy, and Google Trust Services issue most public-web certificates.", analogy: 'Like a notary public โ€” a third party that the issuing world has agreed to trust, so a stamp from them means the document is what it claims to be.', wikiUrl: 'https://en.wikipedia.org/wiki/Certificate_authority', @@ -724,7 +721,7 @@ export const concepts: Concept[] = [ id: 'mtu', term: 'MTU (Maximum Transmission Unit)', definition: - 'The largest packet size (in bytes) that a network link can carry. [[ethernet|Ethernet]] defaults to 1500 bytes. Packets larger than the MTU must be fragmented or dropped (if the Don\'t Fragment flag is set). Path MTU Discovery finds the smallest MTU along a route.', + "The largest packet size (in bytes) that a network link can carry. [[ethernet|Ethernet]] defaults to 1500 bytes. Packets larger than the MTU must be fragmented or dropped (if the Don't Fragment flag is set). Path MTU Discovery finds the smallest MTU along a route.", analogy: 'Like the maximum box size a conveyor belt can handle โ€” anything bigger must be split into smaller boxes.', wikiUrl: 'https://en.wikipedia.org/wiki/Maximum_transmission_unit', @@ -742,7 +739,7 @@ export const concepts: Concept[] = [ id: 'checksum', term: 'Checksum', definition: - 'A small value computed from a block of data to detect transmission errors. [[tcp|TCP]], [[udp|UDP]], and [[ip|IP]] each include checksums in their headers. The receiver recomputes the checksum and drops the packet if it doesn\'t match.', + "A small value computed from a block of data to detect transmission errors. [[tcp|TCP]], [[udp|UDP]], and [[ip|IP]] each include checksums in their headers. The receiver recomputes the checksum and drops the packet if it doesn't match.", analogy: 'Like a check digit on a credit card number โ€” a quick math test that catches accidental typos.', wikiUrl: 'https://en.wikipedia.org/wiki/Checksum', @@ -752,7 +749,7 @@ export const concepts: Concept[] = [ id: 'proxy', term: 'Proxy / Reverse Proxy', definition: - 'A proxy sits between client and server, forwarding requests on the client\'s behalf (hiding the client). A reverse proxy sits in front of servers, distributing incoming requests (hiding the servers). Used for caching, load balancing, and security.', + "A proxy sits between client and server, forwarding requests on the client's behalf (hiding the client). A reverse proxy sits in front of servers, distributing incoming requests (hiding the servers). Used for caching, load balancing, and security.", analogy: 'A forward proxy is like a personal assistant making calls for you. A reverse proxy is like a receptionist directing visitors to the right office.', wikiUrl: 'https://en.wikipedia.org/wiki/Reverse_proxy', @@ -788,9 +785,9 @@ export const concepts: Concept[] = [ id: 'forward-secrecy', term: 'Forward Secrecy', definition: - 'A property of key exchange protocols (like ECDHE) where compromising the server\'s long-term private key does not compromise past session keys. Each session generates unique ephemeral keys that are discarded after use.', + "A property of key exchange protocols (like ECDHE) where compromising the server's long-term private key does not compromise past session keys. Each session generates unique ephemeral keys that are discarded after use.", analogy: - 'Like using a different lock combination for every package โ€” even if someone learns today\'s code, they cannot open yesterday\'s packages.', + "Like using a different lock combination for every package โ€” even if someone learns today's code, they cannot open yesterday's packages.", wikiUrl: 'https://en.wikipedia.org/wiki/Forward_secrecy', category: 'security' }, @@ -798,7 +795,7 @@ export const concepts: Concept[] = [ id: 'dtls', term: 'DTLS (Datagram TLS)', definition: - 'A variant of [[tls|TLS]] designed for datagram protocols like [[udp|UDP]]. Provides the same encryption, authentication, and integrity guarantees as [[tls|TLS]], but handles packet loss and reordering that [[udp|UDP]] doesn\'t prevent. Used by [[webrtc|WebRTC]] and [[coap|CoAP]].', + "A variant of [[tls|TLS]] designed for datagram protocols like [[udp|UDP]]. Provides the same encryption, authentication, and integrity guarantees as [[tls|TLS]], but handles packet loss and reordering that [[udp|UDP]] doesn't prevent. Used by [[webrtc|WebRTC]] and [[coap|CoAP]].", wikiUrl: 'https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security', category: 'security' }, @@ -870,8 +867,7 @@ export const concepts: Concept[] = [ term: 'Broadcast', definition: 'A one-to-all transmission sent to every device on a local network segment. [[arp|ARP]] uses broadcast to find MAC addresses. [[ipv6|IPv6]] eliminates broadcast entirely, replacing it with multicast. Excessive broadcast traffic causes "broadcast storms."', - analogy: - 'Like a PA announcement in a building โ€” everyone hears it, whether they care or not.', + analogy: 'Like a PA announcement in a building โ€” everyone hears it, whether they care or not.', wikiUrl: 'https://en.wikipedia.org/wiki/Broadcasting_(networking)', category: 'networking-basics' }, @@ -925,7 +921,7 @@ export const concepts: Concept[] = [ id: 'opacity', term: 'Opacity (Agent Design)', definition: - 'A design principle where an agent\'s internal reasoning, tool usage, and prompt chains are hidden from external observers. In [[a2a|A2A]], agents are opaque โ€” you see their skills and outputs (artifacts), not how they arrive at results. This enables agents from different vendors to interoperate without exposing proprietary logic.', + "A design principle where an agent's internal reasoning, tool usage, and prompt chains are hidden from external observers. In [[a2a|A2A]], agents are opaque โ€” you see their skills and outputs (artifacts), not how they arrive at results. This enables agents from different vendors to interoperate without exposing proprietary logic.", wikiUrl: 'https://a2a-protocol.org/latest/topics/key-concepts/', category: 'protocol-mechanics' }, @@ -1111,7 +1107,7 @@ export const concepts: Concept[] = [ id: 'tunnel', term: 'Tunnel / Tunneling', definition: - 'Encapsulating one {{protocol|protocol}} inside another to carry traffic across a network that doesn\'t natively support it. For example, [[ssh|SSH]] tunnels wrap [[tcp|TCP]] traffic inside an encrypted [[ssh|SSH]] connection, and VPNs tunnel all traffic through an encrypted link. The outer protocol handles delivery; the inner protocol rides along as {{payload|payload}}.', + "Encapsulating one {{protocol|protocol}} inside another to carry traffic across a network that doesn't natively support it. For example, [[ssh|SSH]] tunnels wrap [[tcp|TCP]] traffic inside an encrypted [[ssh|SSH]] connection, and VPNs tunnel all traffic through an encrypted link. The outer protocol handles delivery; the inner protocol rides along as {{payload|payload}}.", analogy: 'Like putting a letter inside a letter โ€” the outer envelope gets it through the postal system, and the inner envelope carries the real message.', wikiUrl: 'https://en.wikipedia.org/wiki/Tunneling_protocol', @@ -1121,9 +1117,9 @@ export const concepts: Concept[] = [ id: 'vpn', term: 'VPN (Virtual Private Network)', definition: - 'A technology that creates an encrypted {{tunnel|tunnel}} between your device and a VPN server, making all your traffic appear to originate from the server\'s [[ip|IP]] address. Used for privacy (hiding traffic from ISPs), security (protecting data on public [[wifi|Wi-Fi]]), and accessing remote networks (corporate VPNs). Common protocols include WireGuard, OpenVPN, and IPsec.', + "A technology that creates an encrypted {{tunnel|tunnel}} between your device and a VPN server, making all your traffic appear to originate from the server's [[ip|IP]] address. Used for privacy (hiding traffic from ISPs), security (protecting data on public [[wifi|Wi-Fi]]), and accessing remote networks (corporate VPNs). Common protocols include WireGuard, OpenVPN, and IPsec.", analogy: - 'Like a secret underground passage between two buildings โ€” outsiders can\'t see what you\'re carrying or where you\'re really going.', + "Like a secret underground passage between two buildings โ€” outsiders can't see what you're carrying or where you're really going.", wikiUrl: 'https://en.wikipedia.org/wiki/Virtual_private_network', category: 'security' }, @@ -1179,7 +1175,7 @@ export const concepts: Concept[] = [ id: 'man-in-the-middle', term: 'Man-in-the-Middle Attack (MITM)', definition: - 'An attack where the attacker secretly intercepts and potentially alters communication between two parties who believe they are talking directly to each other. {{spoofing|ARP spoofing}} on a local network is a classic MITM vector. [[tls|TLS]] {{certificate|certificates}} prevent MITM by authenticating the server\'s identity.', + "An attack where the attacker secretly intercepts and potentially alters communication between two parties who believe they are talking directly to each other. {{spoofing|ARP spoofing}} on a local network is a classic MITM vector. [[tls|TLS]] {{certificate|certificates}} prevent MITM by authenticating the server's identity.", analogy: 'Like a postal worker secretly opening, reading, and resealing your letters โ€” both you and the recipient think the envelope was never touched.', wikiUrl: 'https://en.wikipedia.org/wiki/Man-in-the-middle_attack', @@ -1339,7 +1335,7 @@ export const concepts: Concept[] = [ id: 'bdp', term: 'BDP (Bandwidth-Delay Product)', definition: - 'The amount of data needed in flight to fully utilise a network path: bandwidth ร— round-trip time. The natural target size for a sender\'s congestion window. A 100 ms ร— 1 Gbps path has a 12.5 MB BDP.', + "The amount of data needed in flight to fully utilise a network path: bandwidth ร— round-trip time. The natural target size for a sender's congestion window. A 100 ms ร— 1 Gbps path has a 12.5 MB BDP.", analogy: 'Like the volume of water needed to fill a hose end-to-end before flow becomes steady โ€” short hose or low pressure means less water; long hose or high pressure means more.', wikiUrl: 'https://en.wikipedia.org/wiki/Bandwidth-delay_product', @@ -1357,7 +1353,7 @@ export const concepts: Concept[] = [ id: 'cubic', term: 'CUBIC', definition: - 'The [[tcp|TCP]] congestion control algorithm that has been the Linux default since 2.6.19 (2006), Windows default since 2017, and is now Standards Track as [[rfc:9438|RFC 9438]] (2023). Replaces AIMD\'s linear ramp with a cubic function of time since the last loss โ€” much friendlier to long fat pipes.', + "The [[tcp|TCP]] congestion control algorithm that has been the Linux default since 2.6.19 (2006), Windows default since 2017, and is now Standards Track as [[rfc:9438|RFC 9438]] (2023). Replaces AIMD's linear ramp with a cubic function of time since the last loss โ€” much friendlier to long fat pipes.", wikiUrl: 'https://en.wikipedia.org/wiki/CUBIC_TCP', category: 'protocol-mechanics' }, @@ -1365,7 +1361,7 @@ export const concepts: Concept[] = [ id: 'bbr', term: 'BBR (Bottleneck Bandwidth and Round-trip)', definition: - 'Google\'s 2016 model-based congestion control. Instead of treating loss as the only signal, BBR estimates the path\'s bottleneck bandwidth and minimum RTT and paces packets to fully use the bandwidth without filling buffers. BBRv3 has been the default for google.com and YouTube since 2023.', + "Google's 2016 model-based congestion control. Instead of treating loss as the only signal, BBR estimates the path's bottleneck bandwidth and minimum RTT and paces packets to fully use the bandwidth without filling buffers. BBRv3 has been the default for google.com and YouTube since 2023.", wikiUrl: 'https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_BBR', category: 'protocol-mechanics' }, @@ -1389,7 +1385,7 @@ export const concepts: Concept[] = [ id: 'aqm', term: 'AQM (Active Queue Management)', definition: - 'Algorithms that drop or mark packets in a router\'s queue *before* the queue fills up, signaling senders to slow down early instead of buffering data into seconds of latency. CoDel, FQ-CoDel, PIE, and the L4S DualQ Coupled AQM are modern examples; their absence is why bufferbloat exists.', + "Algorithms that drop or mark packets in a router's queue *before* the queue fills up, signaling senders to slow down early instead of buffering data into seconds of latency. CoDel, FQ-CoDel, PIE, and the L4S DualQ Coupled AQM are modern examples; their absence is why bufferbloat exists.", wikiUrl: 'https://en.wikipedia.org/wiki/Active_queue_management', category: 'protocol-mechanics' }, @@ -1430,7 +1426,8 @@ export const concepts: Concept[] = [ term: 'Session Resumption', definition: "A handshake shortcut where a returning client and server skip the full key exchange by reusing parameters from a previous session, identified by a session ID or session ticket. Saves an entire round-trip and the cost of asymmetric crypto. Underpins [[tls|TLS]] 1.3's 1-RTT and 0-RTT resumption.", - wikiUrl: 'https://en.wikipedia.org/wiki/Transport_Layer_Security#Session_IDs_and_session_tickets', + wikiUrl: + 'https://en.wikipedia.org/wiki/Transport_Layer_Security#Session_IDs_and_session_tickets', category: 'protocol-mechanics' }, { @@ -1537,7 +1534,7 @@ export const concepts: Concept[] = [ id: 'syn-flood', term: 'SYN Flood', definition: - 'A denial-of-service attack that sends many [[tcp|TCP]] SYN packets without completing the handshake, exhausting the server\'s half-open-connection table. The attack first hit the public internet at Panix in September 1996 and motivated D. J. Bernstein to invent SYN cookies within days.', + "A denial-of-service attack that sends many [[tcp|TCP]] SYN packets without completing the handshake, exhausting the server's half-open-connection table. The attack first hit the public internet at Panix in September 1996 and motivated D. J. Bernstein to invent SYN cookies within days.", wikiUrl: 'https://en.wikipedia.org/wiki/SYN_flood', category: 'security' }, @@ -1555,7 +1552,7 @@ export const concepts: Concept[] = [ id: 'same-origin-policy', term: 'Same-Origin Policy', definition: - 'The browser\'s foundational security boundary: scripts loaded from one origin (scheme + host + port) cannot read responses from another origin without that origin\'s explicit consent. CORS, document.domain, postMessage, and Cookie SameSite are the carve-outs and escape valves built around it.', + "The browser's foundational security boundary: scripts loaded from one origin (scheme + host + port) cannot read responses from another origin without that origin's explicit consent. CORS, document.domain, postMessage, and Cookie SameSite are the carve-outs and escape valves built around it.", wikiUrl: 'https://en.wikipedia.org/wiki/Same-origin_policy', category: 'web' }, @@ -1647,7 +1644,7 @@ export const concepts: Concept[] = [ definition: 'The property that you can answer arbitrary questions about a running system from the outside โ€” typically by combining three signal types: *metrics* (numerical aggregates over time), *logs* (timestamped events), and *traces* (causally-linked spans across services). OpenTelemetry is the standard wire format.', analogy: - 'Like the difference between a car\'s dashboard (metrics: a few numbers you watch) and a black-box flight recorder (traces: a complete record you query after the fact). Observability is having both.', + "Like the difference between a car's dashboard (metrics: a few numbers you watch) and a black-box flight recorder (traces: a complete record you query after the fact). Observability is having both.", wikiUrl: 'https://en.wikipedia.org/wiki/Observability_(software)', category: 'infrastructure' }, @@ -1673,7 +1670,7 @@ export const concepts: Concept[] = [ id: 'peering', term: 'Peering', definition: - 'A bilateral interconnection between two networks where each agrees to exchange traffic destined for the other (and the other\'s customers) at no cost. Distinct from *transit*, where one network pays another for access to the rest of the internet. Public peering happens at IXPs; private peering is direct fibre between two AS edges.', + "A bilateral interconnection between two networks where each agrees to exchange traffic destined for the other (and the other's customers) at no cost. Distinct from *transit*, where one network pays another for access to the rest of the internet. Public peering happens at IXPs; private peering is direct fibre between two AS edges.", wikiUrl: 'https://en.wikipedia.org/wiki/Peering', category: 'networking-basics' }, @@ -1689,7 +1686,7 @@ export const concepts: Concept[] = [ id: 'ixp', term: 'IXP (Internet Exchange Point)', definition: - 'A neutral facility where many autonomous systems meet on a shared layer-2 fabric (typically [[ethernet|Ethernet]]) to exchange traffic via [[bgp|BGP]] without paying transit. AMS-IX, DE-CIX, and LINX move terabits per second. The IXP itself doesn\'t move traffic โ€” it provides the meet-me room and the switch.', + "A neutral facility where many autonomous systems meet on a shared layer-2 fabric (typically [[ethernet|Ethernet]]) to exchange traffic via [[bgp|BGP]] without paying transit. AMS-IX, DE-CIX, and LINX move terabits per second. The IXP itself doesn't move traffic โ€” it provides the meet-me room and the switch.", wikiUrl: 'https://en.wikipedia.org/wiki/Internet_exchange_point', category: 'networking-basics' }, @@ -1712,7 +1709,7 @@ export const concepts: Concept[] = [ id: 'ndp', term: 'NDP (Neighbor Discovery Protocol)', definition: - "[[ipv6|IPv6]]'s replacement for [[arp|ARP]] plus router discovery, prefix discovery, and Duplicate Address Detection ([[rfc:4861|RFC 4861]]). Runs over ICMPv6 multicast on the local link. Where [[arp|ARP]] broadcasts \"who has 192.0.2.7?\", NDP sends a Neighbor Solicitation to a solicited-node multicast group โ€” much more efficient.", + '[[ipv6|IPv6]]\'s replacement for [[arp|ARP]] plus router discovery, prefix discovery, and Duplicate Address Detection ([[rfc:4861|RFC 4861]]). Runs over ICMPv6 multicast on the local link. Where [[arp|ARP]] broadcasts "who has 192.0.2.7?", NDP sends a Neighbor Solicitation to a solicited-node multicast group โ€” much more efficient.', wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', category: 'networking-basics' }, @@ -1721,7 +1718,8 @@ export const concepts: Concept[] = [ term: 'SLAAC (Stateless Address Autoconfiguration)', definition: "[[ipv6|IPv6]]'s mechanism ([[rfc:4862|RFC 4862]]) for hosts to generate their own globally-unique addresses without a [[dhcp|DHCP]] server. The router advertises a prefix; the host appends an interface identifier (EUI-64 or RFC 7217 stable-private). No server, no lease, no central state.", - wikiUrl: 'https://en.wikipedia.org/wiki/[[ipv6|IPv6]]#Stateless_address_autoconfiguration_(SLAAC)', + wikiUrl: + 'https://en.wikipedia.org/wiki/[[ipv6|IPv6]]#Stateless_address_autoconfiguration_(SLAAC)', category: 'networking-basics' }, { @@ -1736,7 +1734,7 @@ export const concepts: Concept[] = [ id: 'four-six-four-xlat', term: '464XLAT', definition: - "An [[ipv6|IPv6]] transition mechanism ([[rfc:6877|RFC 6877]]) that lets [[ip|IPv4]]-only applications run on [[ipv6|IPv6]]-only access networks. A CLAT on the host translates [[ip|IPv4]] โ†’ [[ipv6|IPv6]]; a PLAT (NAT64) at the carrier edge translates [[ipv6|IPv6]] โ†’ [[ip|IPv4]]. Modern Android, iOS, macOS, and Windows 11 ship CLAT natively. Why your phone can be [[ipv6|IPv6]]-only without breaking ancient apps.", + 'An [[ipv6|IPv6]] transition mechanism ([[rfc:6877|RFC 6877]]) that lets [[ip|IPv4]]-only applications run on [[ipv6|IPv6]]-only access networks. A CLAT on the host translates [[ip|IPv4]] โ†’ [[ipv6|IPv6]]; a PLAT (NAT64) at the carrier edge translates [[ipv6|IPv6]] โ†’ [[ip|IPv4]]. Modern Android, iOS, macOS, and Windows 11 ship CLAT natively. Why your phone can be [[ipv6|IPv6]]-only without breaking ancient apps.', wikiUrl: 'https://en.wikipedia.org/wiki/464XLAT', category: 'networking-basics' }, @@ -1754,7 +1752,7 @@ export const concepts: Concept[] = [ id: 'tcp-fin', term: 'TCP FIN', definition: - "A [[tcp|TCP]] packet with the FIN flag set, signalling \"I'm done sending data โ€” but I'll keep listening.\" The graceful counterpart to RST. A clean [[tcp|TCP]] close is a four-way exchange: FIN, ACK, FIN, ACK, with both sides able to half-close independently.", + 'A [[tcp|TCP]] packet with the FIN flag set, signalling "I\'m done sending data โ€” but I\'ll keep listening." The graceful counterpart to RST. A clean [[tcp|TCP]] close is a four-way exchange: FIN, ACK, FIN, ACK, with both sides able to half-close independently.', wikiUrl: 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_termination', category: 'protocol-mechanics' }, @@ -1762,15 +1760,16 @@ export const concepts: Concept[] = [ id: 'sack', term: 'SACK (Selective Acknowledgment)', definition: - "A [[tcp|TCP]] option ([[rfc:2018|RFC 2018]], 1996) that lets the receiver tell the sender exactly which non-contiguous byte ranges have arrived โ€” instead of the cumulative ACK only saying \"I have everything up to byte N.\" Lets the sender retransmit only what's missing, dramatically improving recovery on lossy paths. Universally supported.", - wikiUrl: 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Selective_acknowledgments', + 'A [[tcp|TCP]] option ([[rfc:2018|RFC 2018]], 1996) that lets the receiver tell the sender exactly which non-contiguous byte ranges have arrived โ€” instead of the cumulative ACK only saying "I have everything up to byte N." Lets the sender retransmit only what\'s missing, dramatically improving recovery on lossy paths. Universally supported.', + wikiUrl: + 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Selective_acknowledgments', category: 'protocol-mechanics' }, { id: 'window-scale', term: 'Window Scale', definition: - "A [[tcp|TCP]] option ([[rfc:7323|RFC 7323]]) that lets the 16-bit receive window field represent values up to 2ยณโฐ bytes by left-shifting it during the handshake. Without window scale, a single [[tcp|TCP]] connection caps at 64 KB in flight โ€” fine in 1981, far too little for a 10 Gbps ร— 100 ms BDP. Negotiated only in the SYN handshake, never midstream.", + 'A [[tcp|TCP]] option ([[rfc:7323|RFC 7323]]) that lets the 16-bit receive window field represent values up to 2ยณโฐ bytes by left-shifting it during the handshake. Without window scale, a single [[tcp|TCP]] connection caps at 64 KB in flight โ€” fine in 1981, far too little for a 10 Gbps ร— 100 ms BDP. Negotiated only in the SYN handshake, never midstream.', wikiUrl: 'https://en.wikipedia.org/wiki/TCP_window_scale_option', category: 'protocol-mechanics' }, @@ -1778,7 +1777,7 @@ export const concepts: Concept[] = [ id: 'nagle', term: "Nagle's Algorithm", definition: - "A 1984 sender-side rule (RFC 896) that holds back small writes until either the previous data is ACKed or a full segment is ready, to avoid flooding the network with tiny packets. Saved early networks; today it interacts pathologically with delayed ACKs and is the reason TCP_NODELAY exists.", + 'A 1984 sender-side rule (RFC 896) that holds back small writes until either the previous data is ACKed or a full segment is ready, to avoid flooding the network with tiny packets. Saved early networks; today it interacts pathologically with delayed ACKs and is the reason TCP_NODELAY exists.', wikiUrl: 'https://en.wikipedia.org/wiki/Nagle%27s_algorithm', category: 'protocol-mechanics' }, @@ -1810,7 +1809,7 @@ export const concepts: Concept[] = [ id: 'pacing', term: 'Pacing', definition: - "Spreading outgoing packets evenly over time instead of sending them in a burst. BBR paces every send to exactly the estimated bottleneck bandwidth, which avoids triggering AQM drops and minimises queue buildup. Linux pacing is implemented in the FQ qdisc โ€” BBR depends on it.", + 'Spreading outgoing packets evenly over time instead of sending them in a burst. BBR paces every send to exactly the estimated bottleneck bandwidth, which avoids triggering AQM drops and minimises queue buildup. Linux pacing is implemented in the FQ qdisc โ€” BBR depends on it.', category: 'protocol-mechanics' }, { @@ -1826,7 +1825,7 @@ export const concepts: Concept[] = [ id: 'salt', term: 'Salt', definition: - "Random data mixed with a password before hashing so identical passwords produce different stored hashes โ€” defeating precomputed rainbow tables. Modern password hashing (argon2, bcrypt, scrypt) salts internally. Distinct from a *nonce*, which prevents key reuse rather than precomputation.", + 'Random data mixed with a password before hashing so identical passwords produce different stored hashes โ€” defeating precomputed rainbow tables. Modern password hashing (argon2, bcrypt, scrypt) salts internally. Distinct from a *nonce*, which prevents key reuse rather than precomputation.', wikiUrl: 'https://en.wikipedia.org/wiki/Salt_(cryptography)', category: 'security' }, @@ -1842,7 +1841,7 @@ export const concepts: Concept[] = [ id: 'iv', term: 'IV (Initialization Vector)', definition: - "A non-secret value that randomises the starting state of a block cipher mode so encrypting the same plaintext twice produces different ciphertext. CBC requires an unpredictable IV; GCM uses a 96-bit nonce as IV. Reusing an IV under the same key in GCM is catastrophic (it leaks the authentication key).", + 'A non-secret value that randomises the starting state of a block cipher mode so encrypting the same plaintext twice produces different ciphertext. CBC requires an unpredictable IV; GCM uses a 96-bit nonce as IV. Reusing an IV under the same key in GCM is catastrophic (it leaks the authentication key).', wikiUrl: 'https://en.wikipedia.org/wiki/Initialization_vector', category: 'security' }, @@ -1850,7 +1849,7 @@ export const concepts: Concept[] = [ id: 'ocsp-crl', term: 'OCSP / CRL (Certificate Revocation)', definition: - "Two mechanisms for telling clients a certificate has been revoked before its expiry. CRLs are large signed lists the client downloads periodically; OCSP (RFC 6960) is a per-certificate online query. Both are unreliable in practice โ€” clients soft-fail when the responder is unreachable โ€” which is why short certificate lifetimes are replacing revocation as the primary defence.", + 'Two mechanisms for telling clients a certificate has been revoked before its expiry. CRLs are large signed lists the client downloads periodically; OCSP (RFC 6960) is a per-certificate online query. Both are unreliable in practice โ€” clients soft-fail when the responder is unreachable โ€” which is why short certificate lifetimes are replacing revocation as the primary defence.', wikiUrl: 'https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol', category: 'security' }, @@ -1882,15 +1881,16 @@ export const concepts: Concept[] = [ id: 'rov', term: 'ROV (Route Origin Validation)', definition: - "The runtime check a router performs against RPKI: for each [[bgp|BGP]] UPDATE, verify that the originating AS is authorised to announce the prefix. Result is *Valid*, *Invalid*, or *NotFound*. Most large transit providers drop *Invalid*. Pairs with RPKI as the deployment mechanism that stopped the YouTube-class hijack.", - wikiUrl: 'https://en.wikipedia.org/wiki/Resource_Public_Key_Infrastructure#Route_Origin_Validation', + 'The runtime check a router performs against RPKI: for each [[bgp|BGP]] UPDATE, verify that the originating AS is authorised to announce the prefix. Result is *Valid*, *Invalid*, or *NotFound*. Most large transit providers drop *Invalid*. Pairs with RPKI as the deployment mechanism that stopped the YouTube-class hijack.', + wikiUrl: + 'https://en.wikipedia.org/wiki/Resource_Public_Key_Infrastructure#Route_Origin_Validation', category: 'security' }, { id: 'aspa', term: 'ASPA (Autonomous System Provider Authorization)', definition: - "An emerging RPKI extension (draft-ietf-sidrops-aspa-verification, expected to publish 2026) where each AS publishes a signed list of its upstream providers. Routers can then detect path hijacks and route leaks by checking that each AS_PATH segment matches the customer-provider hierarchy. The pragmatic alternative to BGPsec.", + 'An emerging RPKI extension (draft-ietf-sidrops-aspa-verification, expected to publish 2026) where each AS publishes a signed list of its upstream providers. Routers can then detect path hijacks and route leaks by checking that each AS_PATH segment matches the customer-provider hierarchy. The pragmatic alternative to BGPsec.', wikiUrl: 'https://datatracker.ietf.org/doc/draft-ietf-sidrops-aspa-verification/', category: 'security' }, @@ -1924,7 +1924,7 @@ export const concepts: Concept[] = [ id: 'cookie', term: 'Cookie', definition: - "A small key-value pair the server stores on the client via Set-Cookie and the client returns on every subsequent request to the same origin. Modern attributes: Secure (HTTPS only), HttpOnly (not visible to JavaScript), SameSite (Strict/Lax/None โ€” controls cross-site sending), Domain, Path, Max-Age. Cookies underpin sessions, auth, tracking, and most XSS/CSRF concerns.", + 'A small key-value pair the server stores on the client via Set-Cookie and the client returns on every subsequent request to the same origin. Modern attributes: Secure (HTTPS only), HttpOnly (not visible to JavaScript), SameSite (Strict/Lax/None โ€” controls cross-site sending), Domain, Path, Max-Age. Cookies underpin sessions, auth, tracking, and most XSS/CSRF concerns.', wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies', category: 'web' }, @@ -1932,7 +1932,7 @@ export const concepts: Concept[] = [ id: 'hsts', term: 'HSTS (HTTP Strict Transport Security)', definition: - "A response header (RFC 6797) that tells the browser \"only ever connect to this domain over HTTPS, for the next N seconds.\" After the first visit, plaintext HTTP requests are upgraded automatically โ€” defeating SSL-stripping attacks. Browsers also ship a preload list (hstspreload.org) so the very first visit is protected too.", + 'A response header (RFC 6797) that tells the browser "only ever connect to this domain over HTTPS, for the next N seconds." After the first visit, plaintext HTTP requests are upgraded automatically โ€” defeating SSL-stripping attacks. Browsers also ship a preload list (hstspreload.org) so the very first visit is protected too.', wikiUrl: 'https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security', category: 'web' }, @@ -1956,7 +1956,7 @@ export const concepts: Concept[] = [ id: 'webtransport', term: 'WebTransport', definition: - "A modern client-server transport API for browsers (W3C Working Draft, IETF draft-ietf-webtrans-http3) running over [[http3|HTTP/3]]. Provides multiplexed reliable streams plus unreliable datagrams โ€” what [[websockets|WebSocket]] would look like if redesigned in 2024. Targeted for completion late 2026 or early 2027.", + 'A modern client-server transport API for browsers (W3C Working Draft, IETF draft-ietf-webtrans-http3) running over [[http3|HTTP/3]]. Provides multiplexed reliable streams plus unreliable datagrams โ€” what [[websockets|WebSocket]] would look like if redesigned in 2024. Targeted for completion late 2026 or early 2027.', wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/API/WebTransport_API', category: 'web' }, @@ -1964,7 +1964,7 @@ export const concepts: Concept[] = [ id: 'masque', term: 'MASQUE', definition: - "An IETF working group standardising proxy protocols on top of [[http3|HTTP/3]] โ€” CONNECT-[[ip|IP]] (tunnel any L3 traffic), CONNECT-[[udp|UDP]] (proxy [[udp|UDP]], used by [[http3|HTTP/3]]-over-[[http3|HTTP/3]]), CONNECT-[[ethernet|Ethernet]]. The technology behind iCloud Private Relay and Cloudflare WARP: arbitrary [[ip|IP]] traffic tunnelled inside what looks like normal HTTPS.", + 'An IETF working group standardising proxy protocols on top of [[http3|HTTP/3]] โ€” CONNECT-[[ip|IP]] (tunnel any L3 traffic), CONNECT-[[udp|UDP]] (proxy [[udp|UDP]], used by [[http3|HTTP/3]]-over-[[http3|HTTP/3]]), CONNECT-[[ethernet|Ethernet]]. The technology behind iCloud Private Relay and Cloudflare WARP: arbitrary [[ip|IP]] traffic tunnelled inside what looks like normal HTTPS.', wikiUrl: 'https://datatracker.ietf.org/wg/masque/about/', category: 'web' }, @@ -1989,7 +1989,7 @@ export const concepts: Concept[] = [ id: 'last-will', term: 'Last Will (MQTT)', definition: - "A message a client tells the [[mqtt|MQTT]] broker to publish on its behalf if the client disconnects ungracefully. Lets every other subscriber learn immediately when a sensor goes offline โ€” without polling โ€” even though the failed sensor cannot send anything itself.", + 'A message a client tells the [[mqtt|MQTT]] broker to publish on its behalf if the client disconnects ungracefully. Lets every other subscriber learn immediately when a sensor goes offline โ€” without polling โ€” even though the failed sensor cannot send anything itself.', wikiUrl: 'https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html', category: 'messaging' }, @@ -1997,7 +1997,7 @@ export const concepts: Concept[] = [ id: 'retained-message', term: 'Retained Message (MQTT)', definition: - "A message the [[mqtt|MQTT]] broker holds onto for a topic and immediately delivers to any new subscriber. Lets a late-joining subscriber learn the current state of the world (e.g., the last reading from a sensor) without waiting for the next publish.", + 'A message the [[mqtt|MQTT]] broker holds onto for a topic and immediately delivers to any new subscriber. Lets a late-joining subscriber learn the current state of the world (e.g., the last reading from a sensor) without waiting for the next publish.', wikiUrl: 'https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html', category: 'messaging' }, @@ -2005,7 +2005,7 @@ export const concepts: Concept[] = [ id: 'log-compaction', term: 'Log Compaction (Kafka)', definition: - "A [[kafka|Kafka]] retention policy that, instead of deleting old records by age, keeps the most recent value for each key. Lets a topic act as an event log that doubles as a snapshot โ€” a new consumer can read from offset 0 and end up with the current state of every key, just slowly.", + 'A [[kafka|Kafka]] retention policy that, instead of deleting old records by age, keeps the most recent value for each key. Lets a topic act as an event log that doubles as a snapshot โ€” a new consumer can read from offset 0 and end up with the current state of every key, just slowly.', wikiUrl: 'https://kafka.apache.org/documentation/#compaction', category: 'messaging' }, @@ -2039,7 +2039,7 @@ export const concepts: Concept[] = [ id: 'service-discovery', term: 'Service Discovery', definition: - "The mechanism by which a service finds the network address of another service it depends on, when those addresses change frequently. Implementations include [[dns|DNS]] (with short TTLs), Consul/etcd (key-value lookup), Kubernetes Services (a stable [[dns|DNS]] name in front of changing pod IPs), and the service mesh (the sidecar handles it).", + 'The mechanism by which a service finds the network address of another service it depends on, when those addresses change frequently. Implementations include [[dns|DNS]] (with short TTLs), Consul/etcd (key-value lookup), Kubernetes Services (a stable [[dns|DNS]] name in front of changing pod IPs), and the service mesh (the sidecar handles it).', wikiUrl: 'https://en.wikipedia.org/wiki/Service_discovery', category: 'infrastructure' }, @@ -2047,8 +2047,9 @@ export const concepts: Concept[] = [ id: 'circuit-breaker', term: 'Circuit Breaker', definition: - "A resilience pattern where calls to a failing dependency are short-circuited (fail-fast with a fallback) instead of waiting for timeouts. Three states: *closed* (calls flow), *open* (calls fail immediately), *half-open* (a few probe calls test recovery). Prevents one slow dependency from saturating thread pools and cascading the failure.", - analogy: 'Like the breaker in your house โ€” it trips when something downstream is in trouble, protecting the rest of the circuit until you fix it.', + 'A resilience pattern where calls to a failing dependency are short-circuited (fail-fast with a fallback) instead of waiting for timeouts. Three states: *closed* (calls flow), *open* (calls fail immediately), *half-open* (a few probe calls test recovery). Prevents one slow dependency from saturating thread pools and cascading the failure.', + analogy: + 'Like the breaker in your house โ€” it trips when something downstream is in trouble, protecting the rest of the circuit until you fix it.', wikiUrl: 'https://martinfowler.com/bliki/CircuitBreaker.html', category: 'infrastructure' }, @@ -2056,7 +2057,7 @@ export const concepts: Concept[] = [ id: 'exponential-backoff', term: 'Exponential Backoff', definition: - "A retry strategy where the wait between attempts doubles each time, ideally with random jitter. After a transient failure, attempt 1 waits 100 ms, attempt 2 waits 200 ms, then 400 ms, 800 ms, etc. Without jitter, many clients all retry at the same instant after a shared outage and create a thundering herd.", + 'A retry strategy where the wait between attempts doubles each time, ideally with random jitter. After a transient failure, attempt 1 waits 100 ms, attempt 2 waits 200 ms, then 400 ms, 800 ms, etc. Without jitter, many clients all retry at the same instant after a shared outage and create a thundering herd.', wikiUrl: 'https://en.wikipedia.org/wiki/Exponential_backoff', category: 'infrastructure' }, @@ -2064,7 +2065,7 @@ export const concepts: Concept[] = [ id: 'rate-limiting', term: 'Rate Limiting', definition: - "A server-side mechanism that caps how many requests a client may make in a time window โ€” by [[ip|IP]], API key, user, or tenant. Token bucket and leaky bucket are the standard algorithms. The HTTP response is 429 Too Many Requests, ideally with a Retry-After header naming when to try again.", + 'A server-side mechanism that caps how many requests a client may make in a time window โ€” by [[ip|IP]], API key, user, or tenant. Token bucket and leaky bucket are the standard algorithms. The HTTP response is 429 Too Many Requests, ideally with a Retry-After header naming when to try again.', wikiUrl: 'https://en.wikipedia.org/wiki/Rate_limiting', category: 'infrastructure' }, @@ -2072,7 +2073,7 @@ export const concepts: Concept[] = [ id: 'slo-sli-sla', term: 'SLO / SLI / SLA', definition: - "Three nested concepts from Google's SRE practice. An *SLI* (Service Level Indicator) is a measurement (e.g., 99th-percentile latency). An *SLO* (Objective) is the target you set for it (\"99.9% of requests under 200 ms over 30 days\"). An *SLA* (Agreement) is the externally-promised version with consequences if missed. The gap between an SLO and an SLA is your error budget.", + 'Three nested concepts from Google\'s SRE practice. An *SLI* (Service Level Indicator) is a measurement (e.g., 99th-percentile latency). An *SLO* (Objective) is the target you set for it ("99.9% of requests under 200 ms over 30 days"). An *SLA* (Agreement) is the externally-promised version with consequences if missed. The gap between an SLO and an SLA is your error budget.', wikiUrl: 'https://sre.google/sre-book/service-level-objectives/', category: 'infrastructure' }, @@ -2080,7 +2081,7 @@ export const concepts: Concept[] = [ id: 'tail-latency', term: 'Tail Latency (p99, p999)', definition: - "The high-percentile latencies that dominate user experience but disappear in averages. p99 is \"99% of requests are at least this fast\" โ€” and at internet scale every user hits p99+ multiple times per session. Jeff Dean and Luiz Barroso's 2013 paper \"The Tail at Scale\" is the canonical text.", + 'The high-percentile latencies that dominate user experience but disappear in averages. p99 is "99% of requests are at least this fast" โ€” and at internet scale every user hits p99+ multiple times per session. Jeff Dean and Luiz Barroso\'s 2013 paper "The Tail at Scale" is the canonical text.', wikiUrl: 'https://research.google/pubs/the-tail-at-scale/', category: 'infrastructure' }, @@ -2096,7 +2097,7 @@ export const concepts: Concept[] = [ id: 'availability-zone', term: 'Region / Availability Zone', definition: - "Cloud-provider terminology for failure domains. A *region* is a geographic area (us-east-1, eu-west-2) with its own user-facing endpoints. An *availability zone* is one or more datacenters within a region with independent power, cooling, and networking โ€” designed so a single AZ failure does not take down the others. \"Multi-AZ\" is the minimum production resilience bar.", + 'Cloud-provider terminology for failure domains. A *region* is a geographic area (us-east-1, eu-west-2) with its own user-facing endpoints. An *availability zone* is one or more datacenters within a region with independent power, cooling, and networking โ€” designed so a single AZ failure does not take down the others. "Multi-AZ" is the minimum production resilience bar.', wikiUrl: 'https://en.wikipedia.org/wiki/Availability_zone', category: 'infrastructure' }, @@ -2106,9 +2107,9 @@ export const concepts: Concept[] = [ id: 'ice', term: 'ICE (Interactive Connectivity Establishment)', definition: - 'The algorithm that orchestrates [[nat-traversal|NAT traversal]] for a single session. Each agent gathers every possible candidate address (host, server-reflexive via STUN, peer-reflexive, relayed via TURN), pairs them with the peer\'s candidates, runs connectivity checks across every pair, and nominates the highest-priority working one. RFC 8445.', + "The algorithm that orchestrates [[nat-traversal|NAT traversal]] for a single session. Each agent gathers every possible candidate address (host, server-reflexive via STUN, peer-reflexive, relayed via TURN), pairs them with the peer's candidates, runs connectivity checks across every pair, and nominates the highest-priority working one. RFC 8445.", analogy: - "Like a meet-up app that tries every route between two friends โ€” bike, train, ride-share, walking โ€” and picks the one that actually gets them together.", + 'Like a meet-up app that tries every route between two friends โ€” bike, train, ride-share, walking โ€” and picks the one that actually gets them together.', wikiUrl: 'https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment', category: 'networking-basics' }, @@ -2142,7 +2143,7 @@ export const concepts: Concept[] = [ id: 'gatt', term: 'GATT (Generic Attribute Profile)', definition: - "The [[bluetooth|BLE]] application protocol. A GATT *server* (peripheral) exposes a tree of services โ†’ characteristics โ†’ descriptors, each with a 16- or 128-bit UUID and a numeric handle. A GATT *client* (central) discovers them, reads/writes/subscribes-to-notifications. The protocol every BLE sensor and wearable speaks above L2CAP.", + 'The [[bluetooth|BLE]] application protocol. A GATT *server* (peripheral) exposes a tree of services โ†’ characteristics โ†’ descriptors, each with a 16- or 128-bit UUID and a numeric handle. A GATT *client* (central) discovers them, reads/writes/subscribes-to-notifications. The protocol every BLE sensor and wearable speaks above L2CAP.', analogy: 'Like a tiny REST API embedded in every Bluetooth sensor โ€” services are endpoints, characteristics are the actual values.', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#GATT', @@ -2152,7 +2153,7 @@ export const concepts: Concept[] = [ id: 'ble', term: 'BLE (Bluetooth Low Energy)', definition: - "The 2010 [[bluetooth|Bluetooth]] redesign for microamp power budgets. Different radio than Classic BR/EDR (40 ร— 2 MHz channels, GFSK-only, hops once per connection event). Different stack: L2CAP โ†’ ATT โ†’ GATT. The protocol under AirPods, AirTags, hearing aids, and Matter device commissioning.", + 'The 2010 [[bluetooth|Bluetooth]] redesign for microamp power budgets. Different radio than Classic BR/EDR (40 ร— 2 MHz channels, GFSK-only, hops once per connection event). Different stack: L2CAP โ†’ ATT โ†’ GATT. The protocol under AirPods, AirTags, hearing aids, and Matter device commissioning.', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', category: 'protocol-mechanics' }, @@ -2160,7 +2161,7 @@ export const concepts: Concept[] = [ id: 'l2cap', term: 'L2CAP (Logical Link Control and Adaptation Protocol)', definition: - "The [[bluetooth|Bluetooth]] transport layer above the Link Layer. Provides Channel IDs that demultiplex sub-protocols: CID 0x0004 is ATT (GATT data), CID 0x0005 is LE signalling, CID 0x0006 is the Security Manager Protocol (pairing).", + 'The [[bluetooth|Bluetooth]] transport layer above the Link Layer. Provides Channel IDs that demultiplex sub-protocols: CID 0x0004 is ATT (GATT data), CID 0x0005 is LE signalling, CID 0x0006 is the Security Manager Protocol (pairing).', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth#L2CAP', category: 'protocol-mechanics' }, @@ -2178,7 +2179,7 @@ export const concepts: Concept[] = [ id: 'lsa', term: 'LSA (Link State Advertisement)', definition: - "The unit of routing information in [[ospf|OSPF]] and IS-IS. Each router floods LSAs describing its own links โ€” type, cost, neighbours โ€” and every router in the area accumulates them into an identical Link State Database (LSDB). Dijkstra runs on that database to compute shortest paths.", + 'The unit of routing information in [[ospf|OSPF]] and IS-IS. Each router floods LSAs describing its own links โ€” type, cost, neighbours โ€” and every router in the area accumulates them into an identical Link State Database (LSDB). Dijkstra runs on that database to compute shortest paths.', wikiUrl: 'https://en.wikipedia.org/wiki/Link-state_advertisement', category: 'protocol-mechanics' }, @@ -2203,7 +2204,7 @@ export const concepts: Concept[] = [ id: 'security-association', term: 'SA (Security Association)', definition: - "A one-directional [[ipsec|IPsec]] tunnel, identified by a 32-bit Security Parameters Index (SPI). It carries the cipher, key, sequence-number counter, and anti-replay window for traffic in one direction. A typical site-to-site VPN has two SAs (one each way) per Traffic Selector pair.", + 'A one-directional [[ipsec|IPsec]] tunnel, identified by a 32-bit Security Parameters Index (SPI). It carries the cipher, key, sequence-number counter, and anti-replay window for traffic in one direction. A typical site-to-site VPN has two SAs (one each way) per Traffic Selector pair.', wikiUrl: 'https://en.wikipedia.org/wiki/Security_association', category: 'security' }, @@ -2211,7 +2212,7 @@ export const concepts: Concept[] = [ id: 'esp', term: 'ESP (Encapsulating Security Payload)', definition: - "The [[ipsec|IPsec]] data-plane protocol that encrypts and authenticates [[ip|IP]] payloads with an AEAD cipher like AES-GCM. 8-byte header (SPI + 32-bit sequence number), 8-byte AEAD nonce, encrypted payload, 16-byte authentication tag. The part of IPsec that everyone deploys. RFC 4303.", + 'The [[ipsec|IPsec]] data-plane protocol that encrypts and authenticates [[ip|IP]] payloads with an AEAD cipher like AES-GCM. 8-byte header (SPI + 32-bit sequence number), 8-byte AEAD nonce, encrypted payload, 16-byte authentication tag. The part of IPsec that everyone deploys. RFC 4303.', wikiUrl: 'https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload', category: 'security' }, @@ -2219,7 +2220,7 @@ export const concepts: Concept[] = [ id: 'ah-authentication-header', term: 'AH (Authentication Header)', definition: - "The [[ipsec|IPsec]] integrity-only protocol. Authenticates the entire [[ip|IP]] header (minus mutable fields) and payload but encrypts nothing. Almost no production deployment uses AH alone in 2026 โ€” ESP with AEAD does both jobs in one pass. RFC 4302.", + 'The [[ipsec|IPsec]] integrity-only protocol. Authenticates the entire [[ip|IP]] header (minus mutable fields) and payload but encrypts nothing. Almost no production deployment uses AH alone in 2026 โ€” ESP with AEAD does both jobs in one pass. RFC 4302.', wikiUrl: 'https://en.wikipedia.org/wiki/IPsec#Authentication_Header', category: 'security' }, @@ -2227,7 +2228,7 @@ export const concepts: Concept[] = [ id: 'ike', term: 'IKE / IKEv2 (Internet Key Exchange)', definition: - "The [[ipsec|IPsec]] control plane โ€” negotiates the cipher suite, exchanges Diffie-Hellman / ECDH / ML-KEM public keys, authenticates the peers (certificate, PSK, or EAP), and establishes the Security Associations the data plane uses. IKEv2 (RFC 7296, STD 79) is the modern Internet Standard.", + 'The [[ipsec|IPsec]] control plane โ€” negotiates the cipher suite, exchanges Diffie-Hellman / ECDH / ML-KEM public keys, authenticates the peers (certificate, PSK, or EAP), and establishes the Security Associations the data plane uses. IKEv2 (RFC 7296, STD 79) is the modern Internet Standard.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Key_Exchange', category: 'security' }, @@ -2235,7 +2236,7 @@ export const concepts: Concept[] = [ id: 'anti-replay', term: 'Anti-replay window', definition: - "A sliding bitmap of recently-seen sequence numbers maintained by an [[ipsec|ESP]] (or similar) receiver. Packets older than the window or duplicates within it are dropped. RFC 4303 ยง3.4.3 default is **32 entries** โ€” a well-documented foot-gun on 10 Gbps+ links where out-of-order delivery routinely overflows it; production gateways tune to 1024+.", + 'A sliding bitmap of recently-seen sequence numbers maintained by an [[ipsec|ESP]] (or similar) receiver. Packets older than the window or duplicates within it are dropped. RFC 4303 ยง3.4.3 default is **32 entries** โ€” a well-documented foot-gun on 10 Gbps+ links where out-of-order delivery routinely overflows it; production gateways tune to 1024+.', category: 'security' }, { @@ -2276,7 +2277,7 @@ export const concepts: Concept[] = [ id: 'ndef', term: 'NDEF (NFC Data Exchange Format)', definition: - "The NFC Forum binary record container that lives in tags and rides over LLCP/SNEP. A 1-byte header (MB/ME/CF/SR/IL + 3-bit TNF) + variable type/id/payload-length fields + payload. The TNF picks the namespace: 1=Well-Known (URI, Text, Smart Poster), 2=MIME, 3=Absolute URI, 4=External. A URI record uses a single-byte prefix shorthand (0x03 = `https://`). **Adopted as an IEC standard in March 2026.**", + 'The NFC Forum binary record container that lives in tags and rides over LLCP/SNEP. A 1-byte header (MB/ME/CF/SR/IL + 3-bit TNF) + variable type/id/payload-length fields + payload. The TNF picks the namespace: 1=Well-Known (URI, Text, Smart Poster), 2=MIME, 3=Absolute URI, 4=External. A URI record uses a single-byte prefix shorthand (0x03 = `https://`). **Adopted as an IEC standard in March 2026.**', category: 'protocol-mechanics' }, { @@ -2290,7 +2291,7 @@ export const concepts: Concept[] = [ id: 'aid', term: 'AID (Application Identifier)', definition: - "A 5โ€“16 byte identifier per ISO 7816-5 that selects which on-card application to talk to โ€” e.g. `A0000000041010` for Mastercard, `A0000000031010` for Visa, `A0000002471001` for ICAO eMRTDs. {{emv-cryptogram|EMV}} contactless uses a two-stage selection: first SELECT *PPSE* (`2PAY.SYS.DDF01`) to enumerate which AIDs the card supports, then SELECT the chosen AID.", + 'A 5โ€“16 byte identifier per ISO 7816-5 that selects which on-card application to talk to โ€” e.g. `A0000000041010` for Mastercard, `A0000000031010` for Visa, `A0000002471001` for ICAO eMRTDs. {{emv-cryptogram|EMV}} contactless uses a two-stage selection: first SELECT *PPSE* (`2PAY.SYS.DDF01`) to enumerate which AIDs the card supports, then SELECT the chosen AID.', category: 'protocol-mechanics' }, { @@ -2340,7 +2341,7 @@ export const concepts: Concept[] = [ id: 'ieee-802-15-4', term: 'IEEE 802.15.4', definition: - "The PHY/MAC standard that underlies [[zigbee|Zigbee]], **Thread**, **WirelessHART**, **Wi-SUN**, and (in its 802.15.4z amendment) [[uwb|UWB]]. Bands: 2.4 GHz O-QPSK at 250 kbit/s (16 channels), 868 MHz BPSK at 20 kbit/s (Europe), 902โ€“928 MHz BPSK at 40 kbit/s (North America). 127-byte PHY payload limit. Two device classes: FFD (Full-Function Device, can route) and RFD (Reduced-Function Device, sleepy end-device).", + 'The PHY/MAC standard that underlies [[zigbee|Zigbee]], **Thread**, **WirelessHART**, **Wi-SUN**, and (in its 802.15.4z amendment) [[uwb|UWB]]. Bands: 2.4 GHz O-QPSK at 250 kbit/s (16 channels), 868 MHz BPSK at 20 kbit/s (Europe), 902โ€“928 MHz BPSK at 40 kbit/s (North America). 127-byte PHY payload limit. Two device classes: FFD (Full-Function Device, can route) and RFD (Reduced-Function Device, sleepy end-device).', category: 'networking-basics' }, { @@ -2354,7 +2355,7 @@ export const concepts: Concept[] = [ id: 'trust-center', term: 'Trust Center', definition: - "The single [[zigbee|Zigbee]] device (almost always the Coordinator) that holds and distributes the **network key** to all joined devices, governs which devices may join, and rekeys the network. New devices authenticate to the TC at commissioning time using a **pre-configured link key** (the universally-known default *ZigBeeAlliance09*, an **install code** derived secret, or โ€” in R23 โ€” a SPEKE-over-Curve25519 dynamic link key). The TC is the single trust root of a Zigbee mesh.", + 'The single [[zigbee|Zigbee]] device (almost always the Coordinator) that holds and distributes the **network key** to all joined devices, governs which devices may join, and rekeys the network. New devices authenticate to the TC at commissioning time using a **pre-configured link key** (the universally-known default *ZigBeeAlliance09*, an **install code** derived secret, or โ€” in R23 โ€” a SPEKE-over-Curve25519 dynamic link key). The TC is the single trust root of a Zigbee mesh.', category: 'security' }, { @@ -2375,7 +2376,7 @@ export const concepts: Concept[] = [ id: 'sts', term: 'STS (Scrambled Timestamp Sequence)', definition: - "The cryptographic primitive that makes IEEE 802.15.4z [[uwb|UWB]] ranging secure against distance-decrease attacks. A 32โ€“2048-chip pulse sequence whose positions are generated by **AES-128 in Counter mode** keyed by a per-session STS_KEY and a per-frame nonce โ€” a *distance commitment*. An attacker without the key sees noise; they cannot predict the next chip and cannot reliably early-replay. Receiver generates the expected sequence locally and cross-correlates with a sharp autocorrelation peak. Pre-STS UWB (802.15.4a, 2007) was vulnerable; even STS has been attacked (Ghost Peak ~4% success at USENIX Sec 2022), motivating the 802.15.4ab redesign.", + 'The cryptographic primitive that makes IEEE 802.15.4z [[uwb|UWB]] ranging secure against distance-decrease attacks. A 32โ€“2048-chip pulse sequence whose positions are generated by **AES-128 in Counter mode** keyed by a per-session STS_KEY and a per-frame nonce โ€” a *distance commitment*. An attacker without the key sees noise; they cannot predict the next chip and cannot reliably early-replay. Receiver generates the expected sequence locally and cross-correlates with a sharp autocorrelation peak. Pre-STS UWB (802.15.4a, 2007) was vulnerable; even STS has been attacked (Ghost Peak ~4% success at USENIX Sec 2022), motivating the 802.15.4ab redesign.', category: 'security' }, { @@ -2389,14 +2390,14 @@ export const concepts: Concept[] = [ id: 'tof-ranging', term: 'Time-of-Flight (ToF) ranging', definition: - "Measuring distance by timing how long a radio pulse takes to traverse the air and multiplying by *c* โ‰ˆ 0.299792458 m/ns. A 1 ns timing error = 30 cm of range error. [[uwb|UWB]] chips routinely timestamp pulse arrival to 15โ€“60 ps, yielding cm-class precision โ€” and crucially, ToF cannot be *shortened* by a relay (the speed of light is the hard upper bound), so it defeats the BLE-RSSI relay attack class that broke Tesla Model 3 phone-as-a-key in 2022.", + 'Measuring distance by timing how long a radio pulse takes to traverse the air and multiplying by *c* โ‰ˆ 0.299792458 m/ns. A 1 ns timing error = 30 cm of range error. [[uwb|UWB]] chips routinely timestamp pulse arrival to 15โ€“60 ps, yielding cm-class precision โ€” and crucially, ToF cannot be *shortened* by a relay (the speed of light is the hard upper bound), so it defeats the BLE-RSSI relay attack class that broke Tesla Model 3 phone-as-a-key in 2022.', category: 'protocol-mechanics' }, { id: 'fira', term: 'FiRa Consortium', definition: - "*Fine Ranging.* Founded **1 August 2019** by NXP, Samsung, HID Global, and Bosch to certify [[uwb|UWB]] interoperability on top of IEEE 802.15.4z. Defines the **FiRa MAC profile** for application-layer ranging configuration (session setup, ranging-round structure, multi-node ranging, result reporting via the UWB Command Interface). ~200 members. The UWB-side analogue of what the [[bluetooth|Bluetooth]] SIG does for BLE or the NFC Forum does for NFC.", + '*Fine Ranging.* Founded **1 August 2019** by NXP, Samsung, HID Global, and Bosch to certify [[uwb|UWB]] interoperability on top of IEEE 802.15.4z. Defines the **FiRa MAC profile** for application-layer ranging configuration (session setup, ranging-round structure, multi-node ranging, result reporting via the UWB Command Interface). ~200 members. The UWB-side analogue of what the [[bluetooth|Bluetooth]] SIG does for BLE or the NFC Forum does for NFC.', category: 'infrastructure' }, { @@ -2447,7 +2448,7 @@ export const concepts: Concept[] = [ id: 'spectrum', term: 'Spectrum', definition: - "The frequency range a wireless protocol is allowed to transmit on. Allocated globally by the **ITU-R**, regionally by **CEPT** (Europe) or **APT** (Asia-Pacific), and nationally by regulators like the {{fcc|FCC}} (US) or Ofcom (UK). Licensed spectrum (auctioned to carriers, predictable QoS) carries [[cellular|cellular]]; unlicensed bands ({{ism-band|ISM}}, U-NII) host [[wifi|Wi-Fi]], [[bluetooth|Bluetooth]], [[zigbee|Zigbee]], [[uwb|UWB]]. Spectrum is the most contested resource in wireless โ€” every gigahertz freed (or reclaimed) is a multi-billion-dollar policy fight.", + 'The frequency range a wireless protocol is allowed to transmit on. Allocated globally by the **ITU-R**, regionally by **CEPT** (Europe) or **APT** (Asia-Pacific), and nationally by regulators like the {{fcc|FCC}} (US) or Ofcom (UK). Licensed spectrum (auctioned to carriers, predictable QoS) carries [[cellular|cellular]]; unlicensed bands ({{ism-band|ISM}}, U-NII) host [[wifi|Wi-Fi]], [[bluetooth|Bluetooth]], [[zigbee|Zigbee]], [[uwb|UWB]]. Spectrum is the most contested resource in wireless โ€” every gigahertz freed (or reclaimed) is a multi-billion-dollar policy fight.', analogy: 'Real estate on an invisible map. Some plots are auctioned for billions to single carriers; some plots are public parks anyone may build on if they obey the noise ordinance.', wikiUrl: 'https://en.wikipedia.org/wiki/Radio_spectrum', @@ -2475,7 +2476,7 @@ export const concepts: Concept[] = [ id: 'multipath', term: 'Multipath', definition: - "A radio signal that arrives at a receiver via two or more paths (one direct, others reflected off walls/floors/cars) interferes with itself โ€” the copies add constructively or destructively depending on their relative phase, producing rapid fading as the receiver or environment moves. The same physics that ruined 1990s analog cellular calls is the *foundation* of every modern wireless system: **MIMO** (multiple-input multiple-output) treats each reflected path as a separate spatial stream, and **OFDM** ({{ofdma|/OFDMA}}) spreads each symbol across hundreds of narrow subcarriers so only a handful are nulled by a deep fade. Wireless went from \"multipath is the enemy\" to \"multipath is the bandwidth\" in one generation.", + 'A radio signal that arrives at a receiver via two or more paths (one direct, others reflected off walls/floors/cars) interferes with itself โ€” the copies add constructively or destructively depending on their relative phase, producing rapid fading as the receiver or environment moves. The same physics that ruined 1990s analog cellular calls is the *foundation* of every modern wireless system: **MIMO** (multiple-input multiple-output) treats each reflected path as a separate spatial stream, and **OFDM** ({{ofdma|/OFDMA}}) spreads each symbol across hundreds of narrow subcarriers so only a handful are nulled by a deep fade. Wireless went from "multipath is the enemy" to "multipath is the bandwidth" in one generation.', wikiUrl: 'https://en.wikipedia.org/wiki/Multipath_propagation', category: 'networking-basics' }, @@ -2492,7 +2493,7 @@ export const concepts: Concept[] = [ id: 'ofdma', term: 'OFDMA (Orthogonal Frequency-Division Multiple Access)', definition: - "The multi-user upgrade to OFDM. Where plain OFDM splits one transmission across many orthogonal subcarriers, OFDMA lets the {{access-point|AP}} assign **subsets of subcarriers** (called Resource Units) to *different* clients in the same symbol โ€” like turning a single highway into multiple narrower lanes. Introduced to [[wifi|Wi-Fi]] in 802.11ax ([[wifi|Wi-Fi]] 6, 2020); the core multiple-access method of [[cellular|4G LTE]] and [[cellular|5G NR]] since 2008. The reason a Wi-Fi 6 {{access-point|AP}} can serve 30 phones in a coffee shop without each one paying the full per-transmission overhead the way Wi-Fi 5 did.", + 'The multi-user upgrade to OFDM. Where plain OFDM splits one transmission across many orthogonal subcarriers, OFDMA lets the {{access-point|AP}} assign **subsets of subcarriers** (called Resource Units) to *different* clients in the same symbol โ€” like turning a single highway into multiple narrower lanes. Introduced to [[wifi|Wi-Fi]] in 802.11ax ([[wifi|Wi-Fi]] 6, 2020); the core multiple-access method of [[cellular|4G LTE]] and [[cellular|5G NR]] since 2008. The reason a Wi-Fi 6 {{access-point|AP}} can serve 30 phones in a coffee shop without each one paying the full per-transmission overhead the way Wi-Fi 5 did.', wikiUrl: 'https://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiple_access', category: 'protocol-mechanics' }, @@ -2500,7 +2501,7 @@ export const concepts: Concept[] = [ id: 'mlo', term: 'MLO (Multi-Link Operation)', definition: - "The flagship feature of [[wifi|Wi-Fi]] 7 (802.11be, 2024). A single client connection spans 2.4 + 5 + 6 GHz radios simultaneously โ€” frames can be sent on whichever band is least congested, and {{tail-latency|tail latency}} on a busy network drops sharply. The catch in shipping silicon is that most MLO is **eMLSR** (Enhanced Multi-Link Single Radio): one radio time-sliced across bands. True simultaneous transmit-receive (STR) across bands is rare. The win is *latency consistency*, not raw aggregate throughput.", + 'The flagship feature of [[wifi|Wi-Fi]] 7 (802.11be, 2024). A single client connection spans 2.4 + 5 + 6 GHz radios simultaneously โ€” frames can be sent on whichever band is least congested, and {{tail-latency|tail latency}} on a busy network drops sharply. The catch in shipping silicon is that most MLO is **eMLSR** (Enhanced Multi-Link Single Radio): one radio time-sliced across bands. True simultaneous transmit-receive (STR) across bands is rare. The win is *latency consistency*, not raw aggregate throughput.', category: 'protocol-mechanics' }, { @@ -2544,7 +2545,7 @@ export const concepts: Concept[] = [ id: 'afc', term: 'AFC (Automated Frequency Coordination)', definition: - "A cloud service that arbitrates [[wifi|Wi-Fi]] use of the 6 GHz Standard-Power band against existing incumbent licensees (fixed microwave links, satellite services). A 6 GHz Wi-Fi {{access-point|AP}} queries an AFC operator with its location and antenna parameters; the AFC returns the channels and EIRP limits it may use without interfering with incumbents. The {{fcc|FCC}} approved seven AFC operators (Qualcomm, Federated Wireless, Sony, Comsearch, [[wifi|Wi-Fi]] Alliance Services, WBA, Broadcom) on 23 February 2024 โ€” the regulatory machinery without which 6 GHz Standard Power would not exist.", + 'A cloud service that arbitrates [[wifi|Wi-Fi]] use of the 6 GHz Standard-Power band against existing incumbent licensees (fixed microwave links, satellite services). A 6 GHz Wi-Fi {{access-point|AP}} queries an AFC operator with its location and antenna parameters; the AFC returns the channels and EIRP limits it may use without interfering with incumbents. The {{fcc|FCC}} approved seven AFC operators (Qualcomm, Federated Wireless, Sony, Comsearch, [[wifi|Wi-Fi]] Alliance Services, WBA, Broadcom) on 23 February 2024 โ€” the regulatory machinery without which 6 GHz Standard Power would not exist.', category: 'infrastructure' }, @@ -2561,14 +2562,14 @@ export const concepts: Concept[] = [ id: 'le-audio', term: 'LE Audio', definition: - "The 2020+ [[bluetooth|Bluetooth]] audio architecture, defined across Core 5.2+ and a stack of profiles (BAP, PBP, TMAP, HAP). Replaces Classic A2DP/HFP with **Isochronous Channels** โ€” Connected Isochronous Streams (CIS) for {{unicast|unicast}} earbuds and hearing aids, Broadcast Isochronous Streams (BIS) for {{auracast|Auracast}} one-to-many. Mandatory {{codec|codec}} is {{lc3|LC3}}. Cuts audio power by roughly half versus A2DP and brings true stereo, multi-stream, and hearing-aid-grade reliability under one umbrella.", + 'The 2020+ [[bluetooth|Bluetooth]] audio architecture, defined across Core 5.2+ and a stack of profiles (BAP, PBP, TMAP, HAP). Replaces Classic A2DP/HFP with **Isochronous Channels** โ€” Connected Isochronous Streams (CIS) for {{unicast|unicast}} earbuds and hearing aids, Broadcast Isochronous Streams (BIS) for {{auracast|Auracast}} one-to-many. Mandatory {{codec|codec}} is {{lc3|LC3}}. Cuts audio power by roughly half versus A2DP and brings true stereo, multi-stream, and hearing-aid-grade reliability under one umbrella.', category: 'protocol-mechanics' }, { id: 'lc3', term: 'LC3 (Low Complexity Communications Codec)', definition: - "Mandatory {{codec|codec}} of {{le-audio|LE Audio}}, standardised by the [[bluetooth|Bluetooth]] SIG in January 2020 (Ericsson + Fraunhofer IIS). Replaces 1990s SBC. Roughly 2ร— more battery-efficient than SBC at equivalent quality, 8โ€“48 kHz sample rates, 16โ€“320 kbit/s. The codec underneath every modern earbud and hearing aid shipping {{le-audio|LE Audio}}.", + 'Mandatory {{codec|codec}} of {{le-audio|LE Audio}}, standardised by the [[bluetooth|Bluetooth]] SIG in January 2020 (Ericsson + Fraunhofer IIS). Replaces 1990s SBC. Roughly 2ร— more battery-efficient than SBC at equivalent quality, 8โ€“48 kHz sample rates, 16โ€“320 kbit/s. The codec underneath every modern earbud and hearing aid shipping {{le-audio|LE Audio}}.', category: 'protocol-mechanics' }, { @@ -2582,21 +2583,21 @@ export const concepts: Concept[] = [ id: 'channel-sounding', term: 'Channel Sounding', definition: - "Centimetre-class distance measurement added to [[bluetooth|Bluetooth]] 6.0 (adopted 3 September 2024). Two devices in a normal LL connection schedule Channel Sounding events on a new LE 2M 2BT PHY and measure both signal **phase** across many frequencies (Phase-Based Ranging) and **round-trip time** of timestamped packets; the combination yields cm-accurate distance up to ~150 m. The protocol-level reply to [[uwb|UWB]] for digital car keys, anti-stalking tags, and proximity-aware locks.", + 'Centimetre-class distance measurement added to [[bluetooth|Bluetooth]] 6.0 (adopted 3 September 2024). Two devices in a normal LL connection schedule Channel Sounding events on a new LE 2M 2BT PHY and measure both signal **phase** across many frequencies (Phase-Based Ranging) and **round-trip time** of timestamped packets; the combination yields cm-accurate distance up to ~150 m. The protocol-level reply to [[uwb|UWB]] for digital car keys, anti-stalking tags, and proximity-aware locks.', category: 'protocol-mechanics' }, { id: 'rpa', term: 'RPA (Resolvable Private Address)', definition: - "A 48-bit Bluetooth LE address that *looks* random but is derivable from a long-lived Identity Resolving Key (IRK) the two paired devices share. Rotated every ~15 minutes by default. A bonded peer recomputes the expected RPA from the IRK and recognises its partner; a stranger sees only noise. The mechanism that prevents long-term tracking of {{ble|BLE}} devices by sniffers โ€” important for AirTags, AirPods, fitness wearables, and any device a person carries on their body all day.", + 'A 48-bit Bluetooth LE address that *looks* random but is derivable from a long-lived Identity Resolving Key (IRK) the two paired devices share. Rotated every ~15 minutes by default. A bonded peer recomputes the expected RPA from the IRK and recognises its partner; a stranger sees only noise. The mechanism that prevents long-term tracking of {{ble|BLE}} devices by sniffers โ€” important for AirTags, AirPods, fitness wearables, and any device a person carries on their body all day.', category: 'security' }, { id: 'knob-attack', term: 'KNOB / BIAS / BLUFFS', definition: - "Three [[bluetooth|Bluetooth]] BR/EDR session-security breaks by the same author (Daniele Antonioli) in five years. **KNOB** (CVE-2019-9506) downgrades the entropy of the negotiated session key to 1 byte โ€” brute-forceable. **BIAS** (CVE-2020-10135) impersonates a previously-bonded peer by abusing role-switch in Legacy Secure Connections. **BLUFFS** (CVE-2023-24023) breaks forward secrecy by forcing reuse of a session-key derivation across reconnections. Every BR/EDR device shipped before mid-2024 is affected; the Core 5.4 / 6.0 patches add explicit minimum-entropy and key-diversification checks.", + 'Three [[bluetooth|Bluetooth]] BR/EDR session-security breaks by the same author (Daniele Antonioli) in five years. **KNOB** (CVE-2019-9506) downgrades the entropy of the negotiated session key to 1 byte โ€” brute-forceable. **BIAS** (CVE-2020-10135) impersonates a previously-bonded peer by abusing role-switch in Legacy Secure Connections. **BLUFFS** (CVE-2023-24023) breaks forward secrecy by forcing reuse of a session-key derivation across reconnections. Every BR/EDR device shipped before mid-2024 is affected; the Core 5.4 / 6.0 patches add explicit minimum-entropy and key-diversification checks.', wikiUrl: 'https://en.wikipedia.org/wiki/KNOB_attack', category: 'security' }, @@ -2606,7 +2607,7 @@ export const concepts: Concept[] = [ id: '3gpp', term: '3GPP (3rd Generation Partnership Project)', definition: - "The umbrella standards body that owns the [[cellular|cellular]] family from GSM through 5G NR and (soon) 6G. Founded December 1998 as a partnership of regional SDOs (ETSI/Europe, ATIS/USA, TTA/Korea, ARIB+TTC/Japan, CCSA/China, TSDSI/India). Specifications are organised by *Release*: Release 8 (LTE, 2008), Release 15 (5G NR, 2018), Release 18 (5G-Advanced, frozen June 2024), Release 19/20 in flight. Every spec is free to download from 3gpp.org โ€” the largest free technical library in telecommunications.", + 'The umbrella standards body that owns the [[cellular|cellular]] family from GSM through 5G NR and (soon) 6G. Founded December 1998 as a partnership of regional SDOs (ETSI/Europe, ATIS/USA, TTA/Korea, ARIB+TTC/Japan, CCSA/China, TSDSI/India). Specifications are organised by *Release*: Release 8 (LTE, 2008), Release 15 (5G NR, 2018), Release 18 (5G-Advanced, frozen June 2024), Release 19/20 in flight. Every spec is free to download from 3gpp.org โ€” the largest free technical library in telecommunications.', wikiUrl: 'https://en.wikipedia.org/wiki/3GPP', category: 'infrastructure' }, @@ -2614,7 +2615,7 @@ export const concepts: Concept[] = [ id: 'gsma', term: 'GSMA (GSM Association)', definition: - "The trade association of mobile network operators โ€” ~750 carriers plus ~400 ecosystem members. Distinct from {{3gpp|3GPP}}, which writes the technical specs; the GSMA owns the *commercial* layer: IR.21 roaming agreements, BA.51 RCS, FS.36 SS7/Diameter security, the eSIM Architecture, and Mobile World Congress every February in Barcelona. The body operators belong to; 3GPP is the body engineers contribute specs to.", + 'The trade association of mobile network operators โ€” ~750 carriers plus ~400 ecosystem members. Distinct from {{3gpp|3GPP}}, which writes the technical specs; the GSMA owns the *commercial* layer: IR.21 roaming agreements, BA.51 RCS, FS.36 SS7/Diameter security, the eSIM Architecture, and Mobile World Congress every February in Barcelona. The body operators belong to; 3GPP is the body engineers contribute specs to.', wikiUrl: 'https://en.wikipedia.org/wiki/GSMA', category: 'infrastructure' }, @@ -2630,7 +2631,7 @@ export const concepts: Concept[] = [ id: '5g-nr', term: '5G NR (New Radio)', definition: - "{{3gpp|3GPP}} Release 15, frozen June 2018. The 5G air interface: scalable {{ofdma|OFDMA}} numerology (15/30/60/120/240 kHz subcarrier spacing) addressing sub-6 GHz (FR1) and {{mmwave|mmWave}} (FR2), service-based 5G Core, network slicing, ultra-reliable low-latency (URLLC), and mMTC for massive IoT. **5G Standalone** (no LTE anchor) deployments arrived 2020โ€“2021; **5G-Advanced** is Release 18 (June 2024).", + '{{3gpp|3GPP}} Release 15, frozen June 2018. The 5G air interface: scalable {{ofdma|OFDMA}} numerology (15/30/60/120/240 kHz subcarrier spacing) addressing sub-6 GHz (FR1) and {{mmwave|mmWave}} (FR2), service-based 5G Core, network slicing, ultra-reliable low-latency (URLLC), and mMTC for massive IoT. **5G Standalone** (no LTE anchor) deployments arrived 2020โ€“2021; **5G-Advanced** is Release 18 (June 2024).', wikiUrl: 'https://en.wikipedia.org/wiki/5G_NR', category: 'protocol-mechanics' }, @@ -2638,14 +2639,14 @@ export const concepts: Concept[] = [ id: 'mmwave', term: 'mmWave', definition: - "Millimetre-wave radio bands โ€” typically 24โ€“52 GHz for 5G NR FR2, plus 60 GHz for WiGig and 28/39 GHz for fixed wireless. Enormous bandwidth (hundreds of MHz of contiguous spectrum), gigabit speeds, line-of-sight only, ~20 dB attenuation through a wet leaf. Deployed mostly in stadiums, dense urban hotspots, and fixed-wireless backhaul rather than wide-area mobile.", + 'Millimetre-wave radio bands โ€” typically 24โ€“52 GHz for 5G NR FR2, plus 60 GHz for WiGig and 28/39 GHz for fixed wireless. Enormous bandwidth (hundreds of MHz of contiguous spectrum), gigabit speeds, line-of-sight only, ~20 dB attenuation through a wet leaf. Deployed mostly in stadiums, dense urban hotspots, and fixed-wireless backhaul rather than wide-area mobile.', category: 'networking-basics' }, { id: 'ran', term: 'RAN (Radio Access Network)', definition: - "The set of base stations and the protocol stack between them and the carrier core โ€” the *radio side* of a [[cellular|cellular]] network. In 5G the base station is the **gNB** (gNodeB), in 4G it was the **eNB** (eNodeB). The RAN handles the PHY/MAC/RLC/PDCP/RRC stack on the air interface and tunnels user traffic into the core over **GTP-U** on the N3 interface. **Open RAN** is the disaggregated alternative where vendor-neutral hardware and software replace vertically-integrated boxes (Vodafone UK, Rakuten Symphony, DISH on AWS Wavelength).", + 'The set of base stations and the protocol stack between them and the carrier core โ€” the *radio side* of a [[cellular|cellular]] network. In 5G the base station is the **gNB** (gNodeB), in 4G it was the **eNB** (eNodeB). The RAN handles the PHY/MAC/RLC/PDCP/RRC stack on the air interface and tunnels user traffic into the core over **GTP-U** on the N3 interface. **Open RAN** is the disaggregated alternative where vendor-neutral hardware and software replace vertically-integrated boxes (Vodafone UK, Rakuten Symphony, DISH on AWS Wavelength).', wikiUrl: 'https://en.wikipedia.org/wiki/Radio_access_network', category: 'infrastructure' }, @@ -2668,7 +2669,7 @@ export const concepts: Concept[] = [ id: 'volte', term: 'VoLTE / VoNR', definition: - "**Voice over LTE** and **Voice over New Radio** โ€” packetised carrier voice over the LTE or 5G data bearer, signalled by {{ims|IMS}} [[sip|SIP]] and carried over [[rtp|RTP]] using the AMR-WB or EVS {{codec|codec}}. Replaces the legacy 2G/3G circuit-switched voice fallback. GSMA reports 310+ commercial VoLTE operators in 140+ countries and 45+ commercial VoNR networks by 2025. **Wi-Fi Calling** is the same IMS stack tunneled to the carrier over [[ipsec|IPsec]] from any IP network.", + '**Voice over LTE** and **Voice over New Radio** โ€” packetised carrier voice over the LTE or 5G data bearer, signalled by {{ims|IMS}} [[sip|SIP]] and carried over [[rtp|RTP]] using the AMR-WB or EVS {{codec|codec}}. Replaces the legacy 2G/3G circuit-switched voice fallback. GSMA reports 310+ commercial VoLTE operators in 140+ countries and 45+ commercial VoNR networks by 2025. **Wi-Fi Calling** is the same IMS stack tunneled to the carrier over [[ipsec|IPsec]] from any IP network.', category: 'protocol-mechanics' }, { @@ -2704,7 +2705,7 @@ export const concepts: Concept[] = [ id: 'aaa', term: 'AAA (Authentication, Authorisation, Accounting)', definition: - "The three-question framework every access network asks: who are you, what may you do, what did you do? RADIUS (RFC 2865, 1997) was the original; {{diameter|Diameter}} replaced it for [[cellular|cellular]]; modern OIDC/[[oauth2|OAuth]] flows generalise it for web applications. The protocol-shaped hole every enterprise authentication system fills.", + 'The three-question framework every access network asks: who are you, what may you do, what did you do? RADIUS (RFC 2865, 1997) was the original; {{diameter|Diameter}} replaced it for [[cellular|cellular]]; modern OIDC/[[oauth2|OAuth]] flows generalise it for web applications. The protocol-shaped hole every enterprise authentication system fills.', category: 'security' }, { @@ -2721,7 +2722,7 @@ export const concepts: Concept[] = [ id: 'thread', term: 'Thread', definition: - "An [[ipv6|IPv6]]-native low-power mesh protocol on {{ieee-802-15-4|IEEE 802.15.4}} radios, governed by the Thread Group (Nest/Google, Apple, Samsung, ARM, Silicon Labs, NXP, +). Where [[zigbee|Zigbee]] grew its own application layer ({{zcl|ZCL}}), Thread carries native IPv6 over **6LoWPAN** {{header|header compression}} and **MLE** (Mesh Link Establishment) routing โ€” so a Thread device gets an IPv6 address and is reachable like any other host. Thread 1.4 (December 2024) introduced **Thread Border Routers** as multi-vendor commodity hardware. The radio layer of {{matter|Matter}} that is not Wi-Fi.", + 'An [[ipv6|IPv6]]-native low-power mesh protocol on {{ieee-802-15-4|IEEE 802.15.4}} radios, governed by the Thread Group (Nest/Google, Apple, Samsung, ARM, Silicon Labs, NXP, +). Where [[zigbee|Zigbee]] grew its own application layer ({{zcl|ZCL}}), Thread carries native IPv6 over **6LoWPAN** {{header|header compression}} and **MLE** (Mesh Link Establishment) routing โ€” so a Thread device gets an IPv6 address and is reachable like any other host. Thread 1.4 (December 2024) introduced **Thread Border Routers** as multi-vendor commodity hardware. The radio layer of {{matter|Matter}} that is not Wi-Fi.', wikiUrl: 'https://en.wikipedia.org/wiki/Thread_(network_protocol)', category: 'networking-basics' }, @@ -2743,7 +2744,7 @@ export const concepts: Concept[] = [ id: 'mdns', term: 'mDNS / DNS-SD', definition: - "Multicast DNS (RFC 6762) and DNS Service Discovery (RFC 6763). Lets a device on a local link discover services without any configured resolver โ€” the device queries `_googlecast._tcp.local`, `_airplay._tcp.local`, `_matter._tcp.local`, etc., over multicast UDP/5353, and any host providing the service answers. Designed by [[pioneer:stuart-cheshire|Stuart Cheshire]] at Apple. Underneath Bonjour, AirPlay, Matter device discovery, and {{thread|Thread}} Border Router service advertisement.", + 'Multicast DNS (RFC 6762) and DNS Service Discovery (RFC 6763). Lets a device on a local link discover services without any configured resolver โ€” the device queries `_googlecast._tcp.local`, `_airplay._tcp.local`, `_matter._tcp.local`, etc., over multicast UDP/5353, and any host providing the service answers. Designed by [[pioneer:stuart-cheshire|Stuart Cheshire]] at Apple. Underneath Bonjour, AirPlay, Matter device discovery, and {{thread|Thread}} Border Router service advertisement.', wikiUrl: 'https://en.wikipedia.org/wiki/Multicast_DNS', category: 'protocol-mechanics' }, @@ -2767,7 +2768,7 @@ export const concepts: Concept[] = [ id: 'direct-to-cell', term: 'Direct-to-Cell', definition: - "Satellite-to-standard-phone connectivity using ordinary [[cellular|cellular]] terrestrial bands (typically n25/n26) rather than handheld satellite-terminal hardware. T-Mobile + SpaceX Starlink launched commercial Direct-to-Cell in **January 2025** for SMS and emergency, with voice and data on a roadmap. AT&T's AST SpaceMobile and Apple's Globalstar Emergency SOS partnership follow similar patterns. Reshapes \"coverage\" as a concept: \"no signal\" no longer means *no signal*.", + 'Satellite-to-standard-phone connectivity using ordinary [[cellular|cellular]] terrestrial bands (typically n25/n26) rather than handheld satellite-terminal hardware. T-Mobile + SpaceX Starlink launched commercial Direct-to-Cell in **January 2025** for SMS and emergency, with voice and data on a roadmap. AT&T\'s AST SpaceMobile and Apple\'s Globalstar Emergency SOS partnership follow similar patterns. Reshapes "coverage" as a concept: "no signal" no longer means *no signal*.', category: 'infrastructure' }, { @@ -2781,7 +2782,7 @@ export const concepts: Concept[] = [ id: 'lpwan', term: 'LPWAN (Low-Power Wide-Area Network)', definition: - "The family of long-range, low-data-rate, multi-year-battery wireless protocols that sit between [[wifi|Wi-Fi]] and [[cellular|cellular]]. **LoRaWAN** (sub-GHz, ALOHA-style, 125M+ devices deployed by end-2025), **Sigfox** (slow-modulation 100 bit/s ultra-narrowband, France-originated), **NB-IoT** and **LTE-M** ([[cellular|cellular]]-licensed alternatives inside [[cellular|LTE]] spectrum). All trade throughput for kilometres of range and years of battery life.", + 'The family of long-range, low-data-rate, multi-year-battery wireless protocols that sit between [[wifi|Wi-Fi]] and [[cellular|cellular]]. **LoRaWAN** (sub-GHz, ALOHA-style, 125M+ devices deployed by end-2025), **Sigfox** (slow-modulation 100 bit/s ultra-narrowband, France-originated), **NB-IoT** and **LTE-M** ([[cellular|cellular]]-licensed alternatives inside [[cellular|LTE]] spectrum). All trade throughput for kilometres of range and years of battery life.', wikiUrl: 'https://en.wikipedia.org/wiki/LPWAN', category: 'networking-basics' }, @@ -2796,7 +2797,7 @@ export const concepts: Concept[] = [ id: 'wifi-sensing', term: 'Wi-Fi sensing (802.11bf)', definition: - "Using the Channel State Information (CSI) that [[wifi|Wi-Fi]] radios already compute for {{multipath|multipath}} equalisation to *detect* people, motion, and breathing โ€” radio waves as occupancy sensors. Standardised in **IEEE 802.11bf-2025** (published 26 September 2025), covering 1โ€“7.125 GHz and >45 GHz bands. Lets a home Wi-Fi mesh do presence detection without a camera or PIR sensor.", + 'Using the Channel State Information (CSI) that [[wifi|Wi-Fi]] radios already compute for {{multipath|multipath}} equalisation to *detect* people, motion, and breathing โ€” radio waves as occupancy sensors. Standardised in **IEEE 802.11bf-2025** (published 26 September 2025), covering 1โ€“7.125 GHz and >45 GHz bands. Lets a home Wi-Fi mesh do presence detection without a camera or PIR sensor.', category: 'protocol-mechanics' }, { @@ -2820,7 +2821,7 @@ export const concepts: Concept[] = [ id: 'cloudflare', term: 'Cloudflare', definition: - "Major CDN, DDoS-mitigation, and reverse-proxy operator founded 2009. Runs ~330 PoPs, serves ~20% of all websites by some measures, and authored or co-authored several internet standards ([[quic|QUIC]] adoption, {{ech|ECH}}, {{rpki|RPKI}} measurement at radar.cloudflare.com). Runs the **1.1.1.1** public DNS resolver. Their post-mortems are a major source of public outage learning.", + 'Major CDN, DDoS-mitigation, and reverse-proxy operator founded 2009. Runs ~330 PoPs, serves ~20% of all websites by some measures, and authored or co-authored several internet standards ([[quic|QUIC]] adoption, {{ech|ECH}}, {{rpki|RPKI}} measurement at radar.cloudflare.com). Runs the **1.1.1.1** public DNS resolver. Their post-mortems are a major source of public outage learning.', wikiUrl: 'https://en.wikipedia.org/wiki/Cloudflare', category: 'infrastructure' }, @@ -2828,7 +2829,7 @@ export const concepts: Concept[] = [ id: 'google', term: 'Google', definition: - "Search, YouTube, and Android operator that has driven a disproportionate share of post-2008 internet protocol design. Authored {{spdy|SPDY}} (became [[http2|HTTP/2]]), [[quic|QUIC]] (became [[http3|HTTP/3]]), {{bbr|BBR}}, [[webrtc|WebRTC]] adoption, the public **8.8.8.8** DNS resolver, and runs **Jupiter** โ€” one of the largest internal datacenter fabrics on earth.", + 'Search, YouTube, and Android operator that has driven a disproportionate share of post-2008 internet protocol design. Authored {{spdy|SPDY}} (became [[http2|HTTP/2]]), [[quic|QUIC]] (became [[http3|HTTP/3]]), {{bbr|BBR}}, [[webrtc|WebRTC]] adoption, the public **8.8.8.8** DNS resolver, and runs **Jupiter** โ€” one of the largest internal datacenter fabrics on earth.', wikiUrl: 'https://en.wikipedia.org/wiki/Google', category: 'infrastructure' }, @@ -2836,7 +2837,7 @@ export const concepts: Concept[] = [ id: 'apple', term: 'Apple', definition: - "Largest single force shaping client-side wireless and codec choices: [[hls|HLS]] (2009), {{airdrop|AirDrop}}, AirPlay, the **U1 / U2 ultra-wideband** chips (2019/2024) that drove {{ccc-digital-key|CCC Digital Key}} and AirTag, the iCloud Private Relay [[quic|QUIC]] deployment, and the first {{matter|Matter}} thread-border-router shipments. Their device share gives any default they pick (X25519MLKEM768, post-quantum [[tls|TLS]], etc.) immediate global reach.", + 'Largest single force shaping client-side wireless and codec choices: [[hls|HLS]] (2009), {{airdrop|AirDrop}}, AirPlay, the **U1 / U2 ultra-wideband** chips (2019/2024) that drove {{ccc-digital-key|CCC Digital Key}} and AirTag, the iCloud Private Relay [[quic|QUIC]] deployment, and the first {{matter|Matter}} thread-border-router shipments. Their device share gives any default they pick (X25519MLKEM768, post-quantum [[tls|TLS]], etc.) immediate global reach.', wikiUrl: 'https://en.wikipedia.org/wiki/Apple_Inc.', category: 'infrastructure' }, @@ -2844,7 +2845,7 @@ export const concepts: Concept[] = [ id: 'microsoft', term: 'Microsoft', definition: - "Operator of Azure, GitHub, and the Windows networking stack. Co-author of [[websockets|WebSockets]] adoption, [[mptcp|MPTCP]] early experiments, the Azure Service Bus [[amqp|AMQP]] deployment, and the SMB/SMB-Direct file-sharing protocols. Owns LinkedIn (the largest documented [[kafka|Kafka]] deployment on earth, >7 trillion messages/day).", + 'Operator of Azure, GitHub, and the Windows networking stack. Co-author of [[websockets|WebSockets]] adoption, [[mptcp|MPTCP]] early experiments, the Azure Service Bus [[amqp|AMQP]] deployment, and the SMB/SMB-Direct file-sharing protocols. Owns LinkedIn (the largest documented [[kafka|Kafka]] deployment on earth, >7 trillion messages/day).', wikiUrl: 'https://en.wikipedia.org/wiki/Microsoft', category: 'infrastructure' }, @@ -2852,7 +2853,7 @@ export const concepts: Concept[] = [ id: 'meta', term: 'Meta', definition: - "Operator of Facebook, Instagram, WhatsApp, and Messenger (the largest [[mqtt|MQTT]] deployment in the world). Major contributor to **mvfst** (open-source [[quic|QUIC]]), {{zstd|zstd}} compression, RDMA-over-Ethernet at scale, and several {{ietf|IETF}} working groups around Media-over-QUIC and {{l4s|L4S}}.", + 'Operator of Facebook, Instagram, WhatsApp, and Messenger (the largest [[mqtt|MQTT]] deployment in the world). Major contributor to **mvfst** (open-source [[quic|QUIC]]), {{zstd|zstd}} compression, RDMA-over-Ethernet at scale, and several {{ietf|IETF}} working groups around Media-over-QUIC and {{l4s|L4S}}.', wikiUrl: 'https://en.wikipedia.org/wiki/Meta_Platforms', category: 'infrastructure' }, @@ -2868,7 +2869,7 @@ export const concepts: Concept[] = [ id: 'nvidia', term: 'NVIDIA', definition: - "GPU and networking-silicon vendor (acquired Mellanox 2020) that drives modern AI-fabric design. Ships InfiniBand and **Spectrum-X** [[ethernet|Ethernet]] switches, Quantum-X / Spectrum-X co-packaged-optics chips, and BlueField DPUs. Joined the {{uec|Ultra Ethernet Consortium}} after long InfiniBand allegiance โ€” a turning point for AI datacenter networking.", + 'GPU and networking-silicon vendor (acquired Mellanox 2020) that drives modern AI-fabric design. Ships InfiniBand and **Spectrum-X** [[ethernet|Ethernet]] switches, Quantum-X / Spectrum-X co-packaged-optics chips, and BlueField DPUs. Joined the {{uec|Ultra Ethernet Consortium}} after long InfiniBand allegiance โ€” a turning point for AI datacenter networking.', wikiUrl: 'https://en.wikipedia.org/wiki/Nvidia', category: 'infrastructure' }, @@ -2876,7 +2877,7 @@ export const concepts: Concept[] = [ id: 'cisco', term: 'Cisco', definition: - "The dominant enterprise router and switch vendor since the 1990s. Built **IOS**, the canonical CLI networking-equipment shell, ran some of the most influential [[bgp|BGP]] reference implementations, and authored or co-authored major early {{ietf|IETF}} routing-protocol work. Acquired Webex (2007) and Meraki (2012); 2023โ€“2025 spent rebuilding its security stack around Splunk and Robust Intelligence.", + 'The dominant enterprise router and switch vendor since the 1990s. Built **IOS**, the canonical CLI networking-equipment shell, ran some of the most influential [[bgp|BGP]] reference implementations, and authored or co-authored major early {{ietf|IETF}} routing-protocol work. Acquired Webex (2007) and Meraki (2012); 2023โ€“2025 spent rebuilding its security stack around Splunk and Robust Intelligence.', wikiUrl: 'https://en.wikipedia.org/wiki/Cisco', category: 'infrastructure' }, @@ -2884,7 +2885,7 @@ export const concepts: Concept[] = [ id: 'juniper', term: 'Juniper Networks', definition: - "Carrier-grade router vendor founded 1996, the second pillar of internet backbone routing alongside [[cisco|Cisco]]. **Junos OS** is the canonical FreeBSD-derived router OS. Acquired by HPE in **1 July 2025** for $14 billion.", + 'Carrier-grade router vendor founded 1996, the second pillar of internet backbone routing alongside [[cisco|Cisco]]. **Junos OS** is the canonical FreeBSD-derived router OS. Acquired by HPE in **1 July 2025** for $14 billion.', wikiUrl: 'https://en.wikipedia.org/wiki/Juniper_Networks', category: 'infrastructure' }, @@ -2892,7 +2893,7 @@ export const concepts: Concept[] = [ id: 'broadcom', term: 'Broadcom', definition: - "Switch-silicon and connectivity-chip vendor that ships **Tomahawk**, **Trident**, and **Jericho** Ethernet ASICs โ€” the building blocks under most hyperscale datacenter switches. Acquired VMware in 2023. Tomahawk 6 (June 2025) was the first 102.4 Tbps single-chip Ethernet switch.", + 'Switch-silicon and connectivity-chip vendor that ships **Tomahawk**, **Trident**, and **Jericho** Ethernet ASICs โ€” the building blocks under most hyperscale datacenter switches. Acquired VMware in 2023. Tomahawk 6 (June 2025) was the first 102.4 Tbps single-chip Ethernet switch.', wikiUrl: 'https://en.wikipedia.org/wiki/Broadcom', category: 'infrastructure' }, @@ -2918,7 +2919,7 @@ export const concepts: Concept[] = [ id: 'linux', term: 'Linux', definition: - "The dominant server, router, and embedded operating system, started by Linus Torvalds in 1991. Owns the canonical implementations of [[tcp|TCP]] {{cubic|CUBIC}} (2.6.19+), {{bbr|BBR}} (4.9+), [[wireguard|WireGuard]] (5.6+), eBPF, XDP, and {{l4s|L4S}}. The reference platform every other OS measures itself against on the network stack.", + 'The dominant server, router, and embedded operating system, started by Linus Torvalds in 1991. Owns the canonical implementations of [[tcp|TCP]] {{cubic|CUBIC}} (2.6.19+), {{bbr|BBR}} (4.9+), [[wireguard|WireGuard]] (5.6+), eBPF, XDP, and {{l4s|L4S}}. The reference platform every other OS measures itself against on the network stack.', wikiUrl: 'https://en.wikipedia.org/wiki/Linux', category: 'infrastructure' }, @@ -2934,7 +2935,7 @@ export const concepts: Concept[] = [ id: 'wireshark', term: 'Wireshark', definition: - "The de-facto open-source packet analyser, originally **Ethereal** (1998). Reads pcap/pcapng files, decodes hundreds of protocols (TCP, TLS, QUIC, BGP, SIP, MQTT, CoAP, EMV โ€” almost everything in this catalogue), and is the universal tool when a protocol does not do what its spec says. Recent releases (4.4, late 2024) added decryption for [[tls|TLS]] 1.3 with key-log files and pcap-over-[[quic|QUIC]] capture.", + 'The de-facto open-source packet analyser, originally **Ethereal** (1998). Reads pcap/pcapng files, decodes hundreds of protocols (TCP, TLS, QUIC, BGP, SIP, MQTT, CoAP, EMV โ€” almost everything in this catalogue), and is the universal tool when a protocol does not do what its spec says. Recent releases (4.4, late 2024) added decryption for [[tls|TLS]] 1.3 with key-log files and pcap-over-[[quic|QUIC]] capture.', wikiUrl: 'https://en.wikipedia.org/wiki/Wireshark', category: 'infrastructure' }, @@ -2944,7 +2945,7 @@ export const concepts: Concept[] = [ id: 'iot', term: 'IoT (Internet of Things)', definition: - "The umbrella term for networked physical objects โ€” sensors, actuators, smart-home devices, industrial controllers โ€” that talk over [[mqtt|MQTT]], [[coap|CoAP]], {{thread|Thread}}, [[zigbee|Zigbee]], {{matter|Matter}}, or constrained [[cellular|cellular]] radios (NB-IoT, LTE-M). The defining constraints are *small RAM, small power budgets, intermittent connectivity, and a 10+ year deployment lifetime* โ€” which is why every IoT protocol obsesses about byte counts and battery-friendly handshakes.", + 'The umbrella term for networked physical objects โ€” sensors, actuators, smart-home devices, industrial controllers โ€” that talk over [[mqtt|MQTT]], [[coap|CoAP]], {{thread|Thread}}, [[zigbee|Zigbee]], {{matter|Matter}}, or constrained [[cellular|cellular]] radios (NB-IoT, LTE-M). The defining constraints are *small RAM, small power budgets, intermittent connectivity, and a 10+ year deployment lifetime* โ€” which is why every IoT protocol obsesses about byte counts and battery-friendly handshakes.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_of_things', category: 'networking-basics' }, @@ -2960,7 +2961,7 @@ export const concepts: Concept[] = [ id: 'wan', term: 'WAN (Wide Area Network)', definition: - "Any network spanning multiple physical locations or administrative domains โ€” the public internet, an MPLS-VPN backbone, an SD-WAN overlay. WANs are where [[bgp|BGP]] routes, {{nat|NAT}} translates, [[tls|TLS]] protects, and the latency budget jumps from microseconds to tens or hundreds of milliseconds.", + 'Any network spanning multiple physical locations or administrative domains โ€” the public internet, an MPLS-VPN backbone, an SD-WAN overlay. WANs are where [[bgp|BGP]] routes, {{nat|NAT}} translates, [[tls|TLS]] protects, and the latency budget jumps from microseconds to tens or hundreds of milliseconds.', wikiUrl: 'https://en.wikipedia.org/wiki/Wide_area_network', category: 'networking-basics' }, @@ -2970,7 +2971,7 @@ export const concepts: Concept[] = [ id: 'tcp-tahoe', term: 'TCP Tahoe', definition: - "The original [[tcp|TCP]] congestion-control algorithm, introduced by [[pioneer:van-jacobson|Van Jacobson]] in 1988. Adds **slow start**, **congestion avoidance**, **fast retransmit**, and full window reset on loss. Named for the 4.3BSD-Tahoe release. Superseded by {{tcp-reno|Reno}} (which keeps the window on duplicate {{ack|ACKs}}) within two years.", + 'The original [[tcp|TCP]] congestion-control algorithm, introduced by [[pioneer:van-jacobson|Van Jacobson]] in 1988. Adds **slow start**, **congestion avoidance**, **fast retransmit**, and full window reset on loss. Named for the 4.3BSD-Tahoe release. Superseded by {{tcp-reno|Reno}} (which keeps the window on duplicate {{ack|ACKs}}) within two years.', wikiUrl: 'https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_Tahoe_and_Reno', category: 'protocol-mechanics' }, @@ -2978,7 +2979,7 @@ export const concepts: Concept[] = [ id: 'tcp-reno', term: 'TCP Reno', definition: - "The 1990 evolution of [[tcp|TCP]] {{tcp-tahoe|Tahoe}} that added **fast recovery** โ€” on triple-duplicate {{ack|ACKs}}, halve the window and continue rather than dropping to one segment. The textbook congestion-control algorithm and the reference every later variant compares against.", + 'The 1990 evolution of [[tcp|TCP]] {{tcp-tahoe|Tahoe}} that added **fast recovery** โ€” on triple-duplicate {{ack|ACKs}}, halve the window and continue rather than dropping to one segment. The textbook congestion-control algorithm and the reference every later variant compares against.', wikiUrl: 'https://en.wikipedia.org/wiki/TCP_congestion_control', category: 'protocol-mechanics' }, @@ -2986,7 +2987,7 @@ export const concepts: Concept[] = [ id: 'tcp-newreno', term: 'TCP NewReno', definition: - "An incremental refinement of {{tcp-reno|Reno}} that handles **multiple packet losses in one window** by staying in fast-recovery until *all* losses in the window have been acknowledged. Specified in [[rfc:6582|RFC 6582]] (2012, obsoleting RFC 3782). The default on Windows pre-2008 and on many BSD stacks for two decades.", + 'An incremental refinement of {{tcp-reno|Reno}} that handles **multiple packet losses in one window** by staying in fast-recovery until *all* losses in the window have been acknowledged. Specified in [[rfc:6582|RFC 6582]] (2012, obsoleting RFC 3782). The default on Windows pre-2008 and on many BSD stacks for two decades.', wikiUrl: 'https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_NewReno', category: 'protocol-mechanics' }, @@ -2994,7 +2995,7 @@ export const concepts: Concept[] = [ id: 'bbrv3', term: 'BBRv3', definition: - "The 2023+ revision of {{bbr|BBR}} that addresses the v1 fairness problems with {{cubic|CUBIC}} and packet-conservation gaps. Now `draft-ietf-ccwg-bbr` (-04 / -05, 2025โ€“2026); Google has run it as the default on google.com and YouTube traffic since 2023. Available in Linux via `sysctl net.ipv4.tcp_congestion_control=bbr` paired with FQ qdisc.", + 'The 2023+ revision of {{bbr|BBR}} that addresses the v1 fairness problems with {{cubic|CUBIC}} and packet-conservation gaps. Now `draft-ietf-ccwg-bbr` (-04 / -05, 2025โ€“2026); Google has run it as the default on google.com and YouTube traffic since 2023. Available in Linux via `sysctl net.ipv4.tcp_congestion_control=bbr` paired with FQ qdisc.', category: 'protocol-mechanics' }, @@ -3011,7 +3012,7 @@ export const concepts: Concept[] = [ id: 'moq', term: 'MoQ (Media over QUIC)', definition: - "The {{ietf|IETF}} working group and protocol family designing the next-generation sub-second live streaming transport on top of [[quic|QUIC]]. `draft-ietf-moq-transport` (-17 in March 2026) is the core protocol โ€” co-edited by Suhas Nandakumar (Cisco), Victor Vasiliev (Google), Ian Swett (Google), and Alan Frindell (Meta). Designed to replace the [[rtmp|RTMP]]โ†’[[hls|HLS]] pipeline. Cloudflare runs production MoQ relays across 330+ cities.", + 'The {{ietf|IETF}} working group and protocol family designing the next-generation sub-second live streaming transport on top of [[quic|QUIC]]. `draft-ietf-moq-transport` (-17 in March 2026) is the core protocol โ€” co-edited by Suhas Nandakumar (Cisco), Victor Vasiliev (Google), Ian Swett (Google), and Alan Frindell (Meta). Designed to replace the [[rtmp|RTMP]]โ†’[[hls|HLS]] pipeline. Cloudflare runs production MoQ relays across 330+ cities.', category: 'protocol-mechanics' }, @@ -3020,7 +3021,7 @@ export const concepts: Concept[] = [ id: 'wpa2', term: 'WPA2', definition: - "The 2004 IEEE 802.11i amendment that made AES-CCMP and the **4-way handshake** mandatory for [[wifi|Wi-Fi]] security, ending WEP and TKIP. WPA2-Personal (PSK) is the universal home-router default 2004โ€“2018; WPA2-Enterprise pairs it with {{eap|EAP}}-TLS / PEAP. Replaced by {{wpa3|WPA3}} starting 2018 after KRACK (2017) exposed protocol-level flaws in the 4-way handshake.", + 'The 2004 IEEE 802.11i amendment that made AES-CCMP and the **4-way handshake** mandatory for [[wifi|Wi-Fi]] security, ending WEP and TKIP. WPA2-Personal (PSK) is the universal home-router default 2004โ€“2018; WPA2-Enterprise pairs it with {{eap|EAP}}-TLS / PEAP. Replaced by {{wpa3|WPA3}} starting 2018 after KRACK (2017) exposed protocol-level flaws in the 4-way handshake.', wikiUrl: 'https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access#WPA2', category: 'security' }, @@ -3028,7 +3029,7 @@ export const concepts: Concept[] = [ id: 'mesh-network', term: 'Mesh network', definition: - "A multi-hop wireless topology where every node forwards frames for its neighbours โ€” no central access point owns the airtime. {{thread|Thread}} (802.15.4 + IPv6), [[zigbee|Zigbee]] (802.15.4 + ZCL), Bluetooth Mesh (BR/EDR + GATT proxy), and Wi-Fi 802.11s are the four common families. The trade-off versus star topologies: longer reach and better resilience, but harder commissioning and worse battery life on relay nodes.", + 'A multi-hop wireless topology where every node forwards frames for its neighbours โ€” no central access point owns the airtime. {{thread|Thread}} (802.15.4 + IPv6), [[zigbee|Zigbee]] (802.15.4 + ZCL), Bluetooth Mesh (BR/EDR + GATT proxy), and Wi-Fi 802.11s are the four common families. The trade-off versus star topologies: longer reach and better resilience, but harder commissioning and worse battery life on relay nodes.', wikiUrl: 'https://en.wikipedia.org/wiki/Mesh_networking', category: 'networking-basics' }, @@ -3036,7 +3037,7 @@ export const concepts: Concept[] = [ id: 'beacon-frame', term: 'Beacon frame', definition: - "In [[wifi|Wi-Fi]] (and {{ble|BLE}}, in a different sense), the periodic management frame an {{access-point|access point}} broadcasts to announce its presence โ€” SSID, supported rates, capabilities, and timing. Default beacon interval is **100 ms** in Wi-Fi; this is one of the bigger sources of idle airtime in dense environments and is what Target Wake Time (TWT) tries to eliminate.", + 'In [[wifi|Wi-Fi]] (and {{ble|BLE}}, in a different sense), the periodic management frame an {{access-point|access point}} broadcasts to announce its presence โ€” SSID, supported rates, capabilities, and timing. Default beacon interval is **100 ms** in Wi-Fi; this is one of the bigger sources of idle airtime in dense environments and is what Target Wake Time (TWT) tries to eliminate.', wikiUrl: 'https://en.wikipedia.org/wiki/Beacon_frame', category: 'protocol-mechanics' }, @@ -3062,7 +3063,7 @@ export const concepts: Concept[] = [ id: 'zstd', term: 'Zstandard (zstd)', definition: - "A lossless data compression algorithm developed by Yann Collet at {{meta|Meta}} (open-sourced 2016). Trades a tiny throughput cost vs. zlib for a sizeable ratio improvement, and is now an {{ietf|IETF}} standard ([[rfc:8478|RFC 8478]]) and the default codec for several [[kafka|Kafka]] producers, container image registries, and Linux kernel modules.", + 'A lossless data compression algorithm developed by Yann Collet at {{meta|Meta}} (open-sourced 2016). Trades a tiny throughput cost vs. zlib for a sizeable ratio improvement, and is now an {{ietf|IETF}} standard ([[rfc:8478|RFC 8478]]) and the default codec for several [[kafka|Kafka]] producers, container image registries, and Linux kernel modules.', wikiUrl: 'https://en.wikipedia.org/wiki/Zstd', category: 'protocol-mechanics' }, @@ -3070,14 +3071,14 @@ export const concepts: Concept[] = [ id: 'uec', term: 'UEC (Ultra Ethernet Consortium)', definition: - "Linux Foundation hosted consortium founded **19 July 2023** by AMD, Arista, Broadcom, Cisco, Eviden, HPE, Intel, Meta, and Microsoft (NVIDIA joined later) to redesign [[ethernet|Ethernet]] for AI fabrics. **UEC Specification 1.0** was published 11 June 2025 โ€” defines **Ultra Ethernet Transport (UET)** with packet spraying, selective {{retransmission|retransmission}}, in-network telemetry, and ephemeral/{{connectionless|connectionless}} state for millions of endpoints.", + 'Linux Foundation hosted consortium founded **19 July 2023** by AMD, Arista, Broadcom, Cisco, Eviden, HPE, Intel, Meta, and Microsoft (NVIDIA joined later) to redesign [[ethernet|Ethernet]] for AI fabrics. **UEC Specification 1.0** was published 11 June 2025 โ€” defines **Ultra Ethernet Transport (UET)** with packet spraying, selective {{retransmission|retransmission}}, in-network telemetry, and ephemeral/{{connectionless|connectionless}} state for millions of endpoints.', category: 'infrastructure' }, { id: 'ssdp', term: 'SSDP (Simple Service Discovery Protocol)', definition: - "The UPnP discovery protocol โ€” multicast HTTP-over-[[udp|UDP]] to **239.255.255.250:1900** for finding devices on the {{lan|LAN}}. Routers, smart TVs, printers, game consoles, and media-server software (Plex, DLNA) all speak it. A long-standing security headache: open SSDP reflectors have been used in DDoS amplification attacks since 2014.", + 'The UPnP discovery protocol โ€” multicast HTTP-over-[[udp|UDP]] to **239.255.255.250:1900** for finding devices on the {{lan|LAN}}. Routers, smart TVs, printers, game consoles, and media-server software (Plex, DLNA) all speak it. A long-standing security headache: open SSDP reflectors have been used in DDoS amplification attacks since 2014.', wikiUrl: 'https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol', category: 'protocol-mechanics' }, @@ -3119,7 +3120,7 @@ export const concepts: Concept[] = [ id: 'tls-finished', term: 'Finished message', definition: - "The handshake-completion message in [[tls|TLS]]. A keyed MAC over the entire {{handshake|handshake}} transcript so far โ€” both sides send one to prove they computed the same keys and saw the same messages. Detects downgrade attacks: anyone who tampered with the cipher-suite list, the key shares, or the {{certificate|certificate}} chain would fail the Finished check.", + 'The handshake-completion message in [[tls|TLS]]. A keyed MAC over the entire {{handshake|handshake}} transcript so far โ€” both sides send one to prove they computed the same keys and saw the same messages. Detects downgrade attacks: anyone who tampered with the cipher-suite list, the key shares, or the {{certificate|certificate}} chain would fail the Finished check.', wikiUrl: 'https://en.wikipedia.org/wiki/Transport_Layer_Security', category: 'security' }, @@ -3129,7 +3130,7 @@ export const concepts: Concept[] = [ id: 'aes-gcm', term: 'AES-GCM', definition: - "The dominant {{aead|AEAD}} construction in the post-2010 internet: AES in counter mode for {{encryption|encryption}}, GHASH (Galois MAC) for authentication, all under one key. Used by [[tls|TLS]] 1.2/1.3, [[ipsec|IPsec ESP]], [[ssh|SSH]], [[wireguard|WireGuard]] (in AES variants), {{srtp|SRTP}}. Hardware AES-NI / VAES support makes it the fastest mainstream cipher on x86 and ARMv8.", + 'The dominant {{aead|AEAD}} construction in the post-2010 internet: AES in counter mode for {{encryption|encryption}}, GHASH (Galois MAC) for authentication, all under one key. Used by [[tls|TLS]] 1.2/1.3, [[ipsec|IPsec ESP]], [[ssh|SSH]], [[wireguard|WireGuard]] (in AES variants), {{srtp|SRTP}}. Hardware AES-NI / VAES support makes it the fastest mainstream cipher on x86 and ARMv8.', wikiUrl: 'https://en.wikipedia.org/wiki/Galois/Counter_Mode', category: 'security' }, @@ -3155,7 +3156,7 @@ export const concepts: Concept[] = [ id: 'pmk', term: 'PMK (Pairwise Master Key)', definition: - "The long-lived secret shared between a [[wifi|Wi-Fi]] station and the {{access-point|AP}}. In WPA2-Personal it is derived from the passphrase via PBKDF2(SSID, passphrase, 4096); in WPA2-Enterprise it falls out of the {{eap|EAP}} method. Both endpoints know the PMK *before* the {{four-way-handshake|4-way handshake}}; the handshake then mixes it with nonces to derive the per-session {{ptk|PTK}}.", + 'The long-lived secret shared between a [[wifi|Wi-Fi]] station and the {{access-point|AP}}. In WPA2-Personal it is derived from the passphrase via PBKDF2(SSID, passphrase, 4096); in WPA2-Enterprise it falls out of the {{eap|EAP}} method. Both endpoints know the PMK *before* the {{four-way-handshake|4-way handshake}}; the handshake then mixes it with nonces to derive the per-session {{ptk|PTK}}.', wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', category: 'security' }, @@ -3163,7 +3164,7 @@ export const concepts: Concept[] = [ id: 'ptk', term: 'PTK (Pairwise Transient Key)', definition: - "The per-session session key in [[wifi|Wi-Fi]] WPA2/WPA3, derived during the {{four-way-handshake|4-way handshake}} from PMK + ANonce + SNonce + both MAC addresses. The PTK is split into KCK (key-confirmation), KEK (key-encryption), and TK (the temporal key that actually encrypts data frames with AES-CCMP or GCMP). Rotated whenever the station re-associates.", + 'The per-session session key in [[wifi|Wi-Fi]] WPA2/WPA3, derived during the {{four-way-handshake|4-way handshake}} from PMK + ANonce + SNonce + both MAC addresses. The PTK is split into KCK (key-confirmation), KEK (key-encryption), and TK (the temporal key that actually encrypts data frames with AES-CCMP or GCMP). Rotated whenever the station re-associates.', wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', category: 'security' }, @@ -3179,7 +3180,7 @@ export const concepts: Concept[] = [ id: 'mic', term: 'MIC (Message Integrity Code)', definition: - "A short authenticator appended to encrypted frames in [[wifi|Wi-Fi]] (and [[bluetooth|Bluetooth LE]]) to prove integrity. In WPA2 CCMP it is 8 bytes; in GCMP it is 16. Different from a CRC: a CRC catches transmission errors; a MIC catches *adversarial* tampering because it depends on a secret key.", + 'A short authenticator appended to encrypted frames in [[wifi|Wi-Fi]] (and [[bluetooth|Bluetooth LE]]) to prove integrity. In WPA2 CCMP it is 8 bytes; in GCMP it is 16. Different from a CRC: a CRC catches transmission errors; a MIC catches *adversarial* tampering because it depends on a secret key.', wikiUrl: 'https://en.wikipedia.org/wiki/Message_authentication_code', category: 'security' }, @@ -3189,7 +3190,7 @@ export const concepts: Concept[] = [ id: 'spi', term: 'SPI (Security Parameters Index)', definition: - "A 32-bit identifier in the [[ipsec|IPsec]] ESP header that names *which Security Association* to use to decrypt this packet. The receiver looks up the SPI in its SAD (Security Association Database) to find the key, cipher, replay window, and counters. Each direction of an IPsec tunnel has its own SPI; they are negotiated in the {{ike-sa|IKE_SA_INIT}} exchange.", + 'A 32-bit identifier in the [[ipsec|IPsec]] ESP header that names *which Security Association* to use to decrypt this packet. The receiver looks up the SPI in its SAD (Security Association Database) to find the key, cipher, replay window, and counters. Each direction of an IPsec tunnel has its own SPI; they are negotiated in the {{ike-sa|IKE_SA_INIT}} exchange.', wikiUrl: 'https://en.wikipedia.org/wiki/Security_Parameter_Index', category: 'security' }, @@ -3197,7 +3198,7 @@ export const concepts: Concept[] = [ id: 'ike-sa', term: 'IKE SA', definition: - "The control-plane Security Association in [[ipsec|IKEv2]] โ€” the encrypted, authenticated channel that the two peers use to *negotiate* the data-plane Child SAs. Established by the **IKE_SA_INIT** + **IKE_AUTH** exchanges (two round trips) and lives for hours; rekeyed before lifetime expiry with **CREATE_CHILD_SA**.", + 'The control-plane Security Association in [[ipsec|IKEv2]] โ€” the encrypted, authenticated channel that the two peers use to *negotiate* the data-plane Child SAs. Established by the **IKE_SA_INIT** + **IKE_AUTH** exchanges (two round trips) and lives for hours; rekeyed before lifetime expiry with **CREATE_CHILD_SA**.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Key_Exchange', category: 'security' }, @@ -3205,7 +3206,7 @@ export const concepts: Concept[] = [ id: 'child-sa', term: 'Child SA', definition: - "A unidirectional data-plane Security Association in [[ipsec|IKEv2]]. Carries the ESP key, cipher choice, sequence-number window, and traffic selectors for one direction of a tunnel. Two Child SAs (one each way) are negotiated inside the {{ike-sa|IKE SA}} during IKE_AUTH and rekeyed via **CREATE_CHILD_SA** before their byte/time limits.", + 'A unidirectional data-plane Security Association in [[ipsec|IKEv2]]. Carries the ESP key, cipher choice, sequence-number window, and traffic selectors for one direction of a tunnel. Two Child SAs (one each way) are negotiated inside the {{ike-sa|IKE SA}} during IKE_AUTH and rekeyed via **CREATE_CHILD_SA** before their byte/time limits.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Key_Exchange', category: 'security' }, @@ -3215,7 +3216,7 @@ export const concepts: Concept[] = [ id: 'manifest', term: 'Manifest', definition: - "The top-level playlist file in adaptive-bitrate streaming. In [[hls|HLS]] this is an **`.m3u8`** text file; in [[dash|DASH]] it is an XML **MPD** (Media Presentation Description). Lists the available bitrate ladders, codec profiles, audio/subtitle tracks, and the URLs (or URL templates) for each segment. The player downloads the manifest first, then fetches segments per its {{adaptive-bitrate|adaptive-bitrate}} logic.", + 'The top-level playlist file in adaptive-bitrate streaming. In [[hls|HLS]] this is an **`.m3u8`** text file; in [[dash|DASH]] it is an XML **MPD** (Media Presentation Description). Lists the available bitrate ladders, codec profiles, audio/subtitle tracks, and the URLs (or URL templates) for each segment. The player downloads the manifest first, then fetches segments per its {{adaptive-bitrate|adaptive-bitrate}} logic.', wikiUrl: 'https://en.wikipedia.org/wiki/HTTP_Live_Streaming', category: 'protocol-mechanics' }, @@ -3233,7 +3234,7 @@ export const concepts: Concept[] = [ id: 'jitter-buffer', term: 'Jitter buffer', definition: - "A small (10โ€“200 ms) playout queue at the receiver in [[rtp|RTP]] / {{voip|VoIP}} systems that absorbs network {{jitter|jitter}}. Buffers a few packets before starting playback so out-of-order arrivals can be re-ordered by [[rtp|RTP]] {{sequence-number|sequence number}}, and late packets can be dropped without an audible gap. Trades a tiny added {{latency|latency}} for smooth audio/video.", + 'A small (10โ€“200 ms) playout queue at the receiver in [[rtp|RTP]] / {{voip|VoIP}} systems that absorbs network {{jitter|jitter}}. Buffers a few packets before starting playback so out-of-order arrivals can be re-ordered by [[rtp|RTP]] {{sequence-number|sequence number}}, and late packets can be dropped without an audible gap. Trades a tiny added {{latency|latency}} for smooth audio/video.', wikiUrl: 'https://en.wikipedia.org/wiki/Jitter#Jitter_buffer', category: 'protocol-mechanics' }, @@ -3241,7 +3242,7 @@ export const concepts: Concept[] = [ id: 'forward-error-correction', term: 'FEC (Forward Error Correction)', definition: - "Add redundancy on the *sender* side so the receiver can reconstruct lost packets without asking for a {{retransmission|retransmission}}. Common in real-time media where round-trip {{retransmission|retransmissions}} are too slow. Schemes range from simple parity (send 4 packets + 1 parity packet, survive 1 loss) to Reed-Solomon and Raptor codes. [[rtp|RTP]] payload format defined in [[rfc:5109|RFC 5109]] / [[rfc:8627|RFC 8627]].", + 'Add redundancy on the *sender* side so the receiver can reconstruct lost packets without asking for a {{retransmission|retransmission}}. Common in real-time media where round-trip {{retransmission|retransmissions}} are too slow. Schemes range from simple parity (send 4 packets + 1 parity packet, survive 1 loss) to Reed-Solomon and Raptor codes. [[rtp|RTP]] payload format defined in [[rfc:5109|RFC 5109]] / [[rfc:8627|RFC 8627]].', wikiUrl: 'https://en.wikipedia.org/wiki/Forward_error_correction', category: 'protocol-mechanics' }, @@ -3251,7 +3252,7 @@ export const concepts: Concept[] = [ id: 'ehlo', term: 'EHLO', definition: - "The opening command of an Extended [[smtp|SMTP]] session ([[rfc:5321|RFC 5321]]). Replaces the legacy `HELO` and lets the server advertise capabilities it supports โ€” {{starttls|STARTTLS}}, SIZE limits, PIPELINING, AUTH mechanisms, DSN, 8BITMIME, SMTPUTF8. Every modern mail exchange starts with `EHLO <client hostname>`.", + 'The opening command of an Extended [[smtp|SMTP]] session ([[rfc:5321|RFC 5321]]). Replaces the legacy `HELO` and lets the server advertise capabilities it supports โ€” {{starttls|STARTTLS}}, SIZE limits, PIPELINING, AUTH mechanisms, DSN, 8BITMIME, SMTPUTF8. Every modern mail exchange starts with `EHLO <client hostname>`.', wikiUrl: 'https://en.wikipedia.org/wiki/Extended_SMTP', category: 'protocol-mechanics' }, @@ -3259,7 +3260,7 @@ export const concepts: Concept[] = [ id: 'starttls', term: 'STARTTLS', definition: - "The opportunistic-{{encryption|encryption}} upgrade verb in [[smtp|SMTP]], [[imap|IMAP]], POP3, [[xmpp|XMPP]], and LDAP. Client sends `STARTTLS` over the plaintext session; server replies `220 Ready`; both sides perform a [[tls|TLS]] {{handshake|handshake}} on the same TCP connection. Vulnerable to **stripping attacks** where an active attacker removes the capability advertisement โ€” closed by **MTA-STS** ([[rfc:8461|RFC 8461]]) and DANE.", + 'The opportunistic-{{encryption|encryption}} upgrade verb in [[smtp|SMTP]], [[imap|IMAP]], POP3, [[xmpp|XMPP]], and LDAP. Client sends `STARTTLS` over the plaintext session; server replies `220 Ready`; both sides perform a [[tls|TLS]] {{handshake|handshake}} on the same TCP connection. Vulnerable to **stripping attacks** where an active attacker removes the capability advertisement โ€” closed by **MTA-STS** ([[rfc:8461|RFC 8461]]) and DANE.', wikiUrl: 'https://en.wikipedia.org/wiki/Opportunistic_TLS', category: 'security' }, @@ -3269,7 +3270,7 @@ export const concepts: Concept[] = [ id: 'dns-record-types', term: 'DNS record types', definition: - "The kinds of resource records [[dns|DNS]] serves. The common set: **A** ([[ip|IPv4]] address), **AAAA** ([[ipv6|IPv6]] address), **CNAME** (alias), **MX** (mail exchange), **NS** (authoritative name servers), **SOA** (zone authority), **TXT** (free-form text, used for SPF/DKIM/DMARC), **SRV** (service location, used by [[mdns-dns-sd|DNS-SD]] and Active Directory), **PTR** (reverse lookup), **CAA** (which {{certificate-authority|CAs}} may issue for a zone), and the {{dnssec|DNSSEC}} chain (DS, DNSKEY, RRSIG, NSEC).", + 'The kinds of resource records [[dns|DNS]] serves. The common set: **A** ([[ip|IPv4]] address), **AAAA** ([[ipv6|IPv6]] address), **CNAME** (alias), **MX** (mail exchange), **NS** (authoritative name servers), **SOA** (zone authority), **TXT** (free-form text, used for SPF/DKIM/DMARC), **SRV** (service location, used by [[mdns-dns-sd|DNS-SD]] and Active Directory), **PTR** (reverse lookup), **CAA** (which {{certificate-authority|CAs}} may issue for a zone), and the {{dnssec|DNSSEC}} chain (DS, DNSKEY, RRSIG, NSEC).', wikiUrl: 'https://en.wikipedia.org/wiki/List_of_DNS_record_types', category: 'protocol-mechanics' }, @@ -3277,7 +3278,7 @@ export const concepts: Concept[] = [ id: 'as-path', term: 'AS_PATH', definition: - "A [[bgp|BGP]] path attribute listing every {{autonomous-system|AS}} a route has passed through, in reverse-chronological order. Used both for *loop prevention* (a router rejects routes whose AS_PATH contains its own AS) and as the primary tie-breaker in best-path selection โ€” shorter paths win. The path-vector mechanism is what makes [[bgp|BGP]] **policy-routable** in a way that pure link-state protocols are not.", + 'A [[bgp|BGP]] path attribute listing every {{autonomous-system|AS}} a route has passed through, in reverse-chronological order. Used both for *loop prevention* (a router rejects routes whose AS_PATH contains its own AS) and as the primary tie-breaker in best-path selection โ€” shorter paths win. The path-vector mechanism is what makes [[bgp|BGP]] **policy-routable** in a way that pure link-state protocols are not.', wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol#Routes', category: 'protocol-mechanics' }, @@ -3295,7 +3296,7 @@ export const concepts: Concept[] = [ id: 'multi-homing', term: 'Multi-homing', definition: - "A host (or autonomous system) reachable through *multiple* network paths or {{ip-address|IP addresses}} simultaneously. [[sctp|SCTP]] negotiates multiple address pairs per association so a path failure switches transparently; [[mptcp|MPTCP]] does the same for TCP via subflows; [[bgp|BGP]]-speaking networks multi-home by announcing the same prefix from multiple upstream providers for redundancy.", + 'A host (or autonomous system) reachable through *multiple* network paths or {{ip-address|IP addresses}} simultaneously. [[sctp|SCTP]] negotiates multiple address pairs per association so a path failure switches transparently; [[mptcp|MPTCP]] does the same for TCP via subflows; [[bgp|BGP]]-speaking networks multi-home by announcing the same prefix from multiple upstream providers for redundancy.', wikiUrl: 'https://en.wikipedia.org/wiki/Multihoming', category: 'networking-basics' }, @@ -3303,7 +3304,7 @@ export const concepts: Concept[] = [ id: 'pipelining', term: 'Pipelining', definition: - "Sending the next request before the previous response arrives, so multiple {{request-response|request-response}} pairs are in flight at once. Standardised in [[http1|HTTP/1.1]] ([[rfc:9112|RFC 9112]]) but never reliably deployed because most servers responded *in order* โ€” one slow response stalled everything behind it ({{head-of-line-blocking|head-of-line blocking}}). [[http2|HTTP/2]] solved this with binary {{multiplexing|multiplexing}}; [[smtp|SMTP]] PIPELINING is one place it works well.", + 'Sending the next request before the previous response arrives, so multiple {{request-response|request-response}} pairs are in flight at once. Standardised in [[http1|HTTP/1.1]] ([[rfc:9112|RFC 9112]]) but never reliably deployed because most servers responded *in order* โ€” one slow response stalled everything behind it ({{head-of-line-blocking|head-of-line blocking}}). [[http2|HTTP/2]] solved this with binary {{multiplexing|multiplexing}}; [[smtp|SMTP]] PIPELINING is one place it works well.', wikiUrl: 'https://en.wikipedia.org/wiki/HTTP_pipelining', category: 'protocol-mechanics' }, @@ -3311,7 +3312,7 @@ export const concepts: Concept[] = [ id: 'doh', term: 'DoH (DNS over HTTPS)', definition: - "[[dns|DNS]] queries tunneled over [[http2|HTTP/2]] / [[http3|HTTP/3]] to a resolver (RFC 8484, 2018). Encrypts and authenticates DNS lookups against on-path eavesdroppers and tampering โ€” closes the metadata leak that {{dnssec|DNSSEC}} alone could not. Default in Firefox since 2020 (Cloudflare 1.1.1.1, NextDNS); enterprises sometimes block DoH to retain DNS-based filtering.", + '[[dns|DNS]] queries tunneled over [[http2|HTTP/2]] / [[http3|HTTP/3]] to a resolver (RFC 8484, 2018). Encrypts and authenticates DNS lookups against on-path eavesdroppers and tampering โ€” closes the metadata leak that {{dnssec|DNSSEC}} alone could not. Default in Firefox since 2020 (Cloudflare 1.1.1.1, NextDNS); enterprises sometimes block DoH to retain DNS-based filtering.', wikiUrl: 'https://en.wikipedia.org/wiki/DNS_over_HTTPS', category: 'security' }, @@ -3319,7 +3320,7 @@ export const concepts: Concept[] = [ id: 'dot', term: 'DoT (DNS over TLS)', definition: - "[[dns|DNS]] queries over a dedicated [[tls|TLS]] connection on port 853 (RFC 7858, 2016). Same goal as {{doh|DoH}} โ€” encrypt and authenticate the resolver path โ€” but uses its own port so middleboxes can distinguish DNS from web traffic. {{android|Android}} 9+ ships Private DNS that speaks DoT; the Knot, Unbound, and CoreDNS resolvers expose it server-side.", + '[[dns|DNS]] queries over a dedicated [[tls|TLS]] connection on port 853 (RFC 7858, 2016). Same goal as {{doh|DoH}} โ€” encrypt and authenticate the resolver path โ€” but uses its own port so middleboxes can distinguish DNS from web traffic. {{android|Android}} 9+ ships Private DNS that speaks DoT; the Knot, Unbound, and CoreDNS resolvers expose it server-side.', wikiUrl: 'https://en.wikipedia.org/wiki/DNS_over_TLS', category: 'security' }, @@ -3327,7 +3328,7 @@ export const concepts: Concept[] = [ id: 'stream-processing', term: 'Stream processing', definition: - "Compute over an unbounded data stream as records arrive โ€” window, aggregate, join, alert โ€” rather than batching a finite dataset. Built on top of distributed log brokers like [[kafka|Kafka]], [[amqp|AMQP]], or Pulsar. Frameworks: Flink, [[kafka|Kafka]] Streams, Spark Structured Streaming, ksqlDB. The processing model behind real-time fraud detection, telemetry, and CDC pipelines.", + 'Compute over an unbounded data stream as records arrive โ€” window, aggregate, join, alert โ€” rather than batching a finite dataset. Built on top of distributed log brokers like [[kafka|Kafka]], [[amqp|AMQP]], or Pulsar. Frameworks: Flink, [[kafka|Kafka]] Streams, Spark Structured Streaming, ksqlDB. The processing model behind real-time fraud detection, telemetry, and CDC pipelines.', wikiUrl: 'https://en.wikipedia.org/wiki/Stream_processing', category: 'messaging' }, @@ -3335,7 +3336,7 @@ export const concepts: Concept[] = [ id: 'anthropic', term: 'Anthropic', definition: - "AI safety company (founded 2021) and operator of the **Claude** family of large language models. Authored the Model Context Protocol ([[mcp|MCP]], November 2024), the open standard that lets LLM applications connect to outside tools and resources over [[json-rpc|JSON-RPC]] 2.0.", + 'AI safety company (founded 2021) and operator of the **Claude** family of large language models. Authored the Model Context Protocol ([[mcp|MCP]], November 2024), the open standard that lets LLM applications connect to outside tools and resources over [[json-rpc|JSON-RPC]] 2.0.', wikiUrl: 'https://en.wikipedia.org/wiki/Anthropic', category: 'infrastructure' }, @@ -3343,7 +3344,7 @@ export const concepts: Concept[] = [ id: 'linkedin', term: 'LinkedIn', definition: - "Professional-network site acquired by [[microsoft|Microsoft]] in 2016. Originator of Apache [[kafka|Kafka]] (open-sourced 2011); the company runs the largest publicly documented Kafka deployment on earth โ€” **>7 trillion messages/day** as of the 2020s โ€” and was the reference architecture every other Kafka deployment scaled against.", + 'Professional-network site acquired by [[microsoft|Microsoft]] in 2016. Originator of Apache [[kafka|Kafka]] (open-sourced 2011); the company runs the largest publicly documented Kafka deployment on earth โ€” **>7 trillion messages/day** as of the 2020s โ€” and was the reference architecture every other Kafka deployment scaled against.', wikiUrl: 'https://en.wikipedia.org/wiki/LinkedIn', category: 'infrastructure' }, @@ -3351,2669 +3352,2669 @@ export const concepts: Concept[] = [ id: 'android', term: 'Android', definition: - "[[google|Google]]'s mobile operating system (acquired from Android Inc. in 2005, first release 2008). Drives ~70% of global smartphone share. The reference platform that adopted [[quic|QUIC]], {{doh|DoH}}/{{dot|DoT}} (\"Private DNS\"), [[mptcp|MPTCP]], post-quantum [[tls|TLS]], and {{matter|Matter}} for the consumer device fleet.", + '[[google|Google]]\'s mobile operating system (acquired from Android Inc. in 2005, first release 2008). Drives ~70% of global smartphone share. The reference platform that adopted [[quic|QUIC]], {{doh|DoH}}/{{dot|DoT}} ("Private DNS"), [[mptcp|MPTCP]], post-quantum [[tls|TLS]], and {{matter|Matter}} for the consumer device fleet.', wikiUrl: 'https://en.wikipedia.org/wiki/Android_(operating_system)', category: 'infrastructure' }, // โ”€โ”€ Sequence-diagram densification (agent-merged) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ { - id: 'syn', - term: 'SYN (Synchronize)', - definition: - "TCP control flag that opens a connection. The first packet of the {{three-way-handshake|three-way handshake}} carries SYN plus the sender's initial {{sequence-number|sequence number}}. A flood of SYNs without ACKs is the basis of a {{syn-flood|SYN-flood attack}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment', - category: 'protocol-mechanics' + id: 'syn', + term: 'SYN (Synchronize)', + definition: + "TCP control flag that opens a connection. The first packet of the {{three-way-handshake|three-way handshake}} carries SYN plus the sender's initial {{sequence-number|sequence number}}. A flood of SYNs without ACKs is the basis of a {{syn-flood|SYN-flood attack}}.", + wikiUrl: 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment', + category: 'protocol-mechanics' }, { - id: 'syn-ack', - term: 'SYN-ACK', - definition: - "Second message of the [[tcp|TCP]] {{three-way-handshake|three-way handshake}}: the server's reply that combines its own {{syn|SYN}} (with a fresh {{sequence-number|sequence number}}) and an {{ack|ACK}} of the client's SYN.", - category: 'protocol-mechanics' + id: 'syn-ack', + term: 'SYN-ACK', + definition: + "Second message of the [[tcp|TCP]] {{three-way-handshake|three-way handshake}}: the server's reply that combines its own {{syn|SYN}} (with a fresh {{sequence-number|sequence number}}) and an {{ack|ACK}} of the client's SYN.", + category: 'protocol-mechanics' }, { - id: 'initial-sequence-number', - term: 'Initial Sequence Number (ISN)', - definition: - "The randomly chosen {{sequence-number|sequence number}} each [[tcp|TCP]] endpoint picks at connection setup. Randomness defends against blind injection attacks ([[rfc:1948|RFC 1948]]).", - category: 'protocol-mechanics' + id: 'initial-sequence-number', + term: 'Initial Sequence Number (ISN)', + definition: + 'The randomly chosen {{sequence-number|sequence number}} each [[tcp|TCP]] endpoint picks at connection setup. Randomness defends against blind injection attacks ([[rfc:1948|RFC 1948]]).', + category: 'protocol-mechanics' }, { - id: 'piggyback-ack', - term: 'Piggyback ACK', - definition: - "Combining an {{ack|ACK}} into an outgoing data segment in the opposite direction, saving a round trip. Common in [[tcp|TCP]] bidirectional traffic.", - category: 'protocol-mechanics' + id: 'piggyback-ack', + term: 'Piggyback ACK', + definition: + 'Combining an {{ack|ACK}} into an outgoing data segment in the opposite direction, saving a round trip. Common in [[tcp|TCP]] bidirectional traffic.', + category: 'protocol-mechanics' }, { - id: 'init-chunk', - term: 'INIT chunk', - definition: - "First chunk of an [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}. Carries the initiator's address list (for {{multi-homing|multi-homing}}) and verification tag.", - category: 'protocol-mechanics' + id: 'init-chunk', + term: 'INIT chunk', + definition: + "First chunk of an [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}. Carries the initiator's address list (for {{multi-homing|multi-homing}}) and verification tag.", + category: 'protocol-mechanics' }, { - id: 'init-ack-chunk', - term: 'INIT-ACK chunk', - definition: - "[[sctp|SCTP]]'s reply to an {{init-chunk|INIT}}. Carries a stateless {{cookie|cookie}} so the responder commits no resources until the {{cookie-echo|COOKIE-ECHO}} returns โ€” defeats {{syn-flood|SYN-flood}}-style attacks.", - category: 'protocol-mechanics' + id: 'init-ack-chunk', + term: 'INIT-ACK chunk', + definition: + "[[sctp|SCTP]]'s reply to an {{init-chunk|INIT}}. Carries a stateless {{cookie|cookie}} so the responder commits no resources until the {{cookie-echo|COOKIE-ECHO}} returns โ€” defeats {{syn-flood|SYN-flood}}-style attacks.", + category: 'protocol-mechanics' }, { - id: 'cookie-echo', - term: 'COOKIE-ECHO chunk', - definition: - "Third chunk of the [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}. The client echoes back the signed {{cookie|cookie}} it received in the {{init-ack-chunk|INIT-ACK}}; only at this point does the server allocate association state.", - category: 'protocol-mechanics' + id: 'cookie-echo', + term: 'COOKIE-ECHO chunk', + definition: + 'Third chunk of the [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}. The client echoes back the signed {{cookie|cookie}} it received in the {{init-ack-chunk|INIT-ACK}}; only at this point does the server allocate association state.', + category: 'protocol-mechanics' }, { - id: 'cookie-ack', - term: 'COOKIE-ACK chunk', - definition: - "Final chunk of the [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}, confirming the association is established and immune to {{syn-flood|SYN-flood}} DoS.", - category: 'protocol-mechanics' + id: 'cookie-ack', + term: 'COOKIE-ACK chunk', + definition: + 'Final chunk of the [[sctp|SCTP]] {{four-way-handshake|4-way handshake}}, confirming the association is established and immune to {{syn-flood|SYN-flood}} DoS.', + category: 'protocol-mechanics' }, { - id: 'sctp-association', - term: 'SCTP Association', - definition: - "[[sctp|SCTP]]'s connection-equivalent: a single logical session between two endpoints that may use multiple {{multi-homing|IP addresses}} and carries any number of independent {{stream|streams}}.", - category: 'protocol-mechanics' + id: 'sctp-association', + term: 'SCTP Association', + definition: + "[[sctp|SCTP]]'s connection-equivalent: a single logical session between two endpoints that may use multiple {{multi-homing|IP addresses}} and carries any number of independent {{stream|streams}}.", + category: 'protocol-mechanics' }, { - id: 'verification-tag', - term: 'Verification Tag', - definition: - "A random 32-bit value carried in every [[sctp|SCTP]] packet, chosen at association setup. Packets bearing the wrong tag are dropped, blocking blind injection.", - category: 'protocol-mechanics' + id: 'verification-tag', + term: 'Verification Tag', + definition: + 'A random 32-bit value carried in every [[sctp|SCTP]] packet, chosen at association setup. Packets bearing the wrong tag are dropped, blocking blind injection.', + category: 'protocol-mechanics' }, { - id: 'mp-capable', - term: 'MP_CAPABLE', - definition: - "[[mptcp|MPTCP]] [[tcp|TCP]] option exchanged during the initial {{three-way-handshake|handshake}} that signals *I can do multipath* and carries each side's per-host key โ€” used later to authenticate additional {{subflow|subflows}}.", - category: 'protocol-mechanics' + id: 'mp-capable', + term: 'MP_CAPABLE', + definition: + "[[mptcp|MPTCP]] [[tcp|TCP]] option exchanged during the initial {{three-way-handshake|handshake}} that signals *I can do multipath* and carries each side's per-host key โ€” used later to authenticate additional {{subflow|subflows}}.", + category: 'protocol-mechanics' }, { - id: 'mp-join', - term: 'MP_JOIN', - definition: - "[[mptcp|MPTCP]] [[tcp|TCP]] option that attaches a new {{subflow|subflow}} to an existing connection. Uses a token + {{nonce|nonce}} + {{hmac|HMAC}} to prove the new path belongs to the original session.", - category: 'protocol-mechanics' + id: 'mp-join', + term: 'MP_JOIN', + definition: + '[[mptcp|MPTCP]] [[tcp|TCP]] option that attaches a new {{subflow|subflow}} to an existing connection. Uses a token + {{nonce|nonce}} + {{hmac|HMAC}} to prove the new path belongs to the original session.', + category: 'protocol-mechanics' }, { - id: 'subflow', - term: 'Subflow (MPTCP)', - definition: - "An individual [[tcp|TCP]] connection carried over one network path that belongs to a larger [[mptcp|MPTCP]] session. A single MPTCP connection can have many subflows running in parallel over WiFi, cellular, ethernet, etc.", - category: 'protocol-mechanics' + id: 'subflow', + term: 'Subflow (MPTCP)', + definition: + 'An individual [[tcp|TCP]] connection carried over one network path that belongs to a larger [[mptcp|MPTCP]] session. A single MPTCP connection can have many subflows running in parallel over WiFi, cellular, ethernet, etc.', + category: 'protocol-mechanics' }, { - id: 'add-addr', - term: 'ADD_ADDR', - definition: - "[[mptcp|MPTCP]] option that advertises a newly available [[ip|IP]] address to the peer, inviting it to open a new {{subflow|subflow}} over that path.", - category: 'protocol-mechanics' + id: 'add-addr', + term: 'ADD_ADDR', + definition: + '[[mptcp|MPTCP]] option that advertises a newly available [[ip|IP]] address to the peer, inviting it to open a new {{subflow|subflow}} over that path.', + category: 'protocol-mechanics' }, { - id: 'failover', - term: 'Failover', - definition: - "Automatic re-routing of traffic onto a healthy path when the active one dies. Built into [[mptcp|MPTCP]] (subflow switching) and [[sctp|SCTP]] ({{multi-homing|multi-homing}}); often invisible to the application.", - category: 'protocol-mechanics' + id: 'failover', + term: 'Failover', + definition: + 'Automatic re-routing of traffic onto a healthy path when the active one dies. Built into [[mptcp|MPTCP]] (subflow switching) and [[sctp|SCTP]] ({{multi-homing|multi-homing}}); often invisible to the application.', + category: 'protocol-mechanics' }, { - id: 'unreliable-delivery', - term: 'Unreliable Delivery', - definition: - "Best-effort delivery with no retransmission, ordering, or acknowledgment. [[udp|UDP]]'s default โ€” packets may be lost, duplicated, or reordered, and the application must handle it.", - category: 'protocol-mechanics' + id: 'unreliable-delivery', + term: 'Unreliable Delivery', + definition: + "Best-effort delivery with no retransmission, ordering, or acknowledgment. [[udp|UDP]]'s default โ€” packets may be lost, duplicated, or reordered, and the application must handle it.", + category: 'protocol-mechanics' }, { - id: 'fire-and-forget', - term: 'Fire-and-Forget', - definition: - "Send a message and don't wait for confirmation. Characterizes [[udp|UDP]] datagrams and many event-driven systems โ€” fast, but the sender never knows if it arrived.", - category: 'protocol-mechanics' + id: 'fire-and-forget', + term: 'Fire-and-Forget', + definition: + "Send a message and don't wait for confirmation. Characterizes [[udp|UDP]] datagrams and many event-driven systems โ€” fast, but the sender never knows if it arrived.", + category: 'protocol-mechanics' }, { - id: 'key-share', - term: 'Key Share', - definition: - "{{tls-handshake|TLS}} extension where each side sends an ephemeral {{diffie-hellman|Diffie-Hellman}} public key in its first flight, enabling shared-secret derivation in 1-RTT and {{pfs|forward secrecy}}.", - category: 'security' + id: 'key-share', + term: 'Key Share', + definition: + '{{tls-handshake|TLS}} extension where each side sends an ephemeral {{diffie-hellman|Diffie-Hellman}} public key in its first flight, enabling shared-secret derivation in 1-RTT and {{pfs|forward secrecy}}.', + category: 'security' }, { - id: 'stream-independence', - term: 'Stream Independence', - definition: - "Property of [[quic|QUIC]] and [[sctp|SCTP]] where each {{stream|stream}} has its own ordering and loss-recovery, so a missing packet on one stream doesn't pause delivery on the others โ€” avoids {{head-of-line-blocking|head-of-line blocking}}.", - category: 'protocol-mechanics' + id: 'stream-independence', + term: 'Stream Independence', + definition: + "Property of [[quic|QUIC]] and [[sctp|SCTP]] where each {{stream|stream}} has its own ordering and loss-recovery, so a missing packet on one stream doesn't pause delivery on the others โ€” avoids {{head-of-line-blocking|head-of-line blocking}}.", + category: 'protocol-mechanics' }, { - id: 'initial-packet', - term: 'Initial Packet (QUIC)', - definition: - "First packet type in a [[quic|QUIC]] handshake. Carries the [[tls|TLS]] {{client-hello|ClientHello}} or {{server-hello|ServerHello}} plus QUIC transport parameters, protected with derived initial keys ([[rfc:9000|RFC 9000]]).", - category: 'protocol-mechanics' + id: 'initial-packet', + term: 'Initial Packet (QUIC)', + definition: + 'First packet type in a [[quic|QUIC]] handshake. Carries the [[tls|TLS]] {{client-hello|ClientHello}} or {{server-hello|ServerHello}} plus QUIC transport parameters, protected with derived initial keys ([[rfc:9000|RFC 9000]]).', + category: 'protocol-mechanics' }, { - id: 'n-plus-one', - term: 'N+1 Query Problem', - definition: - "Anti-pattern where fetching one parent resource then N children needs N+1 round trips (1 list + N detail calls). Common in {{request-response|request-response}} APIs over [[rest|REST]]; [[graphql|GraphQL]] mitigates it by letting clients request nested fields in a single query.", - wikiUrl: 'https://en.wikipedia.org/wiki/N%2B1_query_problem', - category: 'web' + id: 'n-plus-one', + term: 'N+1 Query Problem', + definition: + 'Anti-pattern where fetching one parent resource then N children needs N+1 round trips (1 list + N detail calls). Common in {{request-response|request-response}} APIs over [[rest|REST]]; [[graphql|GraphQL]] mitigates it by letting clients request nested fields in a single query.', + wikiUrl: 'https://en.wikipedia.org/wiki/N%2B1_query_problem', + category: 'web' }, { - id: 'over-fetching', - term: 'Over-fetching', - definition: - "When an API response includes more fields than the client needs โ€” wasting bandwidth and CPU. The flip side is *under-fetching*, when one call doesn't return enough and forces another round trip. [[graphql|GraphQL]] was designed to eliminate both by letting clients specify exactly the shape they want.", - category: 'web' + id: 'over-fetching', + term: 'Over-fetching', + definition: + "When an API response includes more fields than the client needs โ€” wasting bandwidth and CPU. The flip side is *under-fetching*, when one call doesn't return enough and forces another round trip. [[graphql|GraphQL]] was designed to eliminate both by letting clients specify exactly the shape they want.", + category: 'web' }, { - id: 'domain-sharding', - term: 'Domain Sharding', - definition: - "A 2010s-era [[http1|HTTP/1.1]] workaround: serve assets from multiple subdomains (`static1.example.com`, `static2.example.com`...) so the browser's 6-connections-per-origin limit multiplies. Made obsolete by [[http2|HTTP/2]] {{multiplexing|multiplexing}}, which actually hurts when you shard.", - wikiUrl: 'https://en.wikipedia.org/wiki/Domain_sharding', - category: 'web' + id: 'domain-sharding', + term: 'Domain Sharding', + definition: + "A 2010s-era [[http1|HTTP/1.1]] workaround: serve assets from multiple subdomains (`static1.example.com`, `static2.example.com`...) so the browser's 6-connections-per-origin limit multiplies. Made obsolete by [[http2|HTTP/2]] {{multiplexing|multiplexing}}, which actually hurts when you shard.", + wikiUrl: 'https://en.wikipedia.org/wiki/Domain_sharding', + category: 'web' }, { - id: 'content-encoding', - term: 'Content-Encoding', - definition: - "[[http1|HTTP]] response header naming the compression applied to the body โ€” usually `gzip`, `br` (Brotli), or `zstd` ({{zstd|Zstandard}}). The client advertises support via `Accept-Encoding` and the server picks one. Shrinks payloads 60-90% for text.", - wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding', - category: 'web' + id: 'content-encoding', + term: 'Content-Encoding', + definition: + '[[http1|HTTP]] response header naming the compression applied to the body โ€” usually `gzip`, `br` (Brotli), or `zstd` ({{zstd|Zstandard}}). The client advertises support via `Accept-Encoding` and the server picks one. Shrinks payloads 60-90% for text.', + wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding', + category: 'web' }, { - id: 'content-type', - term: 'Content-Type', - definition: - "[[http1|HTTP]] header naming the {{mime|MIME}} type of the message body (e.g., `text/html`, `application/json`, `text/event-stream`). Tells the receiver how to parse the bytes that follow.", - wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type', - category: 'web' + id: 'content-type', + term: 'Content-Type', + definition: + '[[http1|HTTP]] header naming the {{mime|MIME}} type of the message body (e.g., `text/html`, `application/json`, `text/event-stream`). Tells the receiver how to parse the bytes that follow.', + wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type', + category: 'web' }, { - id: 'mime', - term: 'MIME Type', - definition: - "Multipurpose Internet Mail Extensions โ€” the `type/subtype` labelling system ({{content-type|Content-Type}}) used by [[http1|HTTP]], [[smtp|SMTP]], and other protocols to declare what's in a message body. Examples: `text/html`, `application/json`, `image/png`.", - wikiUrl: 'https://en.wikipedia.org/wiki/Media_type', - category: 'web' + id: 'mime', + term: 'MIME Type', + definition: + "Multipurpose Internet Mail Extensions โ€” the `type/subtype` labelling system ({{content-type|Content-Type}}) used by [[http1|HTTP]], [[smtp|SMTP]], and other protocols to declare what's in a message body. Examples: `text/html`, `application/json`, `image/png`.", + wikiUrl: 'https://en.wikipedia.org/wiki/Media_type', + category: 'web' }, { - id: 'protocol-upgrade', - term: 'Protocol Upgrade', - definition: - "[[http1|HTTP]]'s mechanism for switching the same [[tcp|TCP]] connection to a different protocol mid-stream. Client sends `Upgrade: <name>` and `Connection: Upgrade`; the server replies **`101 Switching Protocols`** and both sides start speaking the new wire format. Used by [[websockets|WebSockets]] and HTTP/2 over cleartext (h2c).", - wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism', - category: 'web' + id: 'protocol-upgrade', + term: 'Protocol Upgrade', + definition: + "[[http1|HTTP]]'s mechanism for switching the same [[tcp|TCP]] connection to a different protocol mid-stream. Client sends `Upgrade: <name>` and `Connection: Upgrade`; the server replies **`101 Switching Protocols`** and both sides start speaking the new wire format. Used by [[websockets|WebSockets]] and HTTP/2 over cleartext (h2c).", + wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism', + category: 'web' }, { - id: 'websocket-frame', - term: 'WebSocket Frame', - definition: - "The minimal unit of a [[websockets|WebSocket]] message. A small header (opcode = text/binary/close/ping/pong, masking flag, length) followed by payload bytes. Replaces [[http1|HTTP]]'s request/response framing once the {{protocol-upgrade|Upgrade}} completes.", - category: 'web' + id: 'websocket-frame', + term: 'WebSocket Frame', + definition: + "The minimal unit of a [[websockets|WebSocket]] message. A small header (opcode = text/binary/close/ping/pong, masking flag, length) followed by payload bytes. Replaces [[http1|HTTP]]'s request/response framing once the {{protocol-upgrade|Upgrade}} completes.", + category: 'web' }, { - id: 'eventsource', - term: 'EventSource API', - definition: - "The browser JavaScript interface for [[sse|Server-Sent Events]]. `new EventSource(url)` opens a streaming [[http1|HTTP]] connection, auto-reconnects on drop, and fires `message`/named events. Sends the `Last-Event-ID` header on reconnect so the server can resume.", - wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/API/EventSource', - category: 'web' + id: 'eventsource', + term: 'EventSource API', + definition: + 'The browser JavaScript interface for [[sse|Server-Sent Events]]. `new EventSource(url)` opens a streaming [[http1|HTTP]] connection, auto-reconnects on drop, and fires `message`/named events. Sends the `Last-Event-ID` header on reconnect so the server can resume.', + wikiUrl: 'https://developer.mozilla.org/en-US/docs/Web/API/EventSource', + category: 'web' }, { - id: 'last-event-id', - term: 'Last-Event-ID', - definition: - "[[http1|HTTP]] header the browser sends when reconnecting an [[sse|SSE]] stream, carrying the `id:` of the last event it received. Lets the server resume the stream from where it left off โ€” built into the {{eventsource|EventSource API}}.", - category: 'web' + id: 'last-event-id', + term: 'Last-Event-ID', + definition: + '[[http1|HTTP]] header the browser sends when reconnecting an [[sse|SSE]] stream, carrying the `id:` of the last event it received. Lets the server resume the stream from where it left off โ€” built into the {{eventsource|EventSource API}}.', + category: 'web' }, { - id: 'graphql-query', - term: 'GraphQL Query', - definition: - "A read operation in [[graphql|GraphQL]] โ€” the client describes a nested field selection and the server returns exactly that shape. Counterpart to **mutations** (writes) and **subscriptions** (push streams, often over [[websockets|WebSockets]]).", - wikiUrl: 'https://graphql.org/learn/queries/', - category: 'web' + id: 'graphql-query', + term: 'GraphQL Query', + definition: + 'A read operation in [[graphql|GraphQL]] โ€” the client describes a nested field selection and the server returns exactly that shape. Counterpart to **mutations** (writes) and **subscriptions** (push streams, often over [[websockets|WebSockets]]).', + wikiUrl: 'https://graphql.org/learn/queries/', + category: 'web' }, { - id: 'graphql-mutation', - term: 'GraphQL Mutation', - definition: - "A write operation in [[graphql|GraphQL]] โ€” creates, updates, or deletes data. Same syntax as a {{graphql-query|query}} but the server treats fields as side-effecting and runs them sequentially.", - category: 'web' + id: 'graphql-mutation', + term: 'GraphQL Mutation', + definition: + 'A write operation in [[graphql|GraphQL]] โ€” creates, updates, or deletes data. Same syntax as a {{graphql-query|query}} but the server treats fields as side-effecting and runs them sequentially.', + category: 'web' }, { - id: 'graphql-subscription', - term: 'GraphQL Subscription', - definition: - "A long-lived push channel in [[graphql|GraphQL]] โ€” the client subscribes to events and the server streams matching payloads. Usually delivered over [[websockets|WebSockets]] (graphql-ws) or [[sse|SSE]].", - category: 'web' + id: 'graphql-subscription', + term: 'GraphQL Subscription', + definition: + 'A long-lived push channel in [[graphql|GraphQL]] โ€” the client subscribes to events and the server streams matching payloads. Usually delivered over [[websockets|WebSockets]] (graphql-ws) or [[sse|SSE]].', + category: 'web' }, { - id: 'graphql-schema', - term: 'GraphQL Schema', - definition: - "The typed contract of a [[graphql|GraphQL]] API โ€” defines every object type, field, argument, query/mutation/subscription root, and how they connect. Both client and server share it; tooling generates types from it.", - category: 'web' + id: 'graphql-schema', + term: 'GraphQL Schema', + definition: + 'The typed contract of a [[graphql|GraphQL]] API โ€” defines every object type, field, argument, query/mutation/subscription root, and how they connect. Both client and server share it; tooling generates types from it.', + category: 'web' }, { - id: 'graphql-resolver', - term: 'GraphQL Resolver', - definition: - "A server-side function that produces the value for a single {{graphql-schema|schema}} field. [[graphql|GraphQL]] walks the query, calling one resolver per field โ€” the runtime that turns a query into a response.", - category: 'web' + id: 'graphql-resolver', + term: 'GraphQL Resolver', + definition: + 'A server-side function that produces the value for a single {{graphql-schema|schema}} field. [[graphql|GraphQL]] walks the query, calling one resolver per field โ€” the runtime that turns a query into a response.', + category: 'web' }, { - id: 'rpc', - term: 'RPC (Remote Procedure Call)', - definition: - "An API style where the client calls a *named function* on the server with arguments and gets a result โ€” as if it were local. Contrast with [[rest|REST]] (resources + verbs) and [[graphql|GraphQL]] (typed field selection). Modern examples: [[grpc|gRPC]], [[json-rpc|JSON-RPC]], [[mcp|MCP]].", - wikiUrl: 'https://en.wikipedia.org/wiki/Remote_procedure_call', - category: 'protocol-mechanics' + id: 'rpc', + term: 'RPC (Remote Procedure Call)', + definition: + 'An API style where the client calls a *named function* on the server with arguments and gets a result โ€” as if it were local. Contrast with [[rest|REST]] (resources + verbs) and [[graphql|GraphQL]] (typed field selection). Modern examples: [[grpc|gRPC]], [[json-rpc|JSON-RPC]], [[mcp|MCP]].', + wikiUrl: 'https://en.wikipedia.org/wiki/Remote_procedure_call', + category: 'protocol-mechanics' }, { - id: 'protoc', - term: 'protoc', - definition: - "The {{protocol-buffers|Protocol Buffers}} compiler. Reads `.proto` schema files and generates type-safe client + server stubs in C++, Go, Java, Python, Rust, and a dozen other languages โ€” the build step behind [[grpc|gRPC]].", - wikiUrl: 'https://protobuf.dev/reference/protoc/', - category: 'protocol-mechanics' + id: 'protoc', + term: 'protoc', + definition: + 'The {{protocol-buffers|Protocol Buffers}} compiler. Reads `.proto` schema files and generates type-safe client + server stubs in C++, Go, Java, Python, Rust, and a dozen other languages โ€” the build step behind [[grpc|gRPC]].', + wikiUrl: 'https://protobuf.dev/reference/protoc/', + category: 'protocol-mechanics' }, { - id: 'json-schema', - term: 'JSON Schema', - definition: - "A vocabulary for describing the shape and constraints of {{json|JSON}} documents โ€” types, required fields, enums, patterns. Used by [[mcp|MCP]] to declare tool input shapes and by [[a2a|A2A]] Agent Cards to declare skill inputs, so an LLM can call the tool correctly.", - wikiUrl: 'https://json-schema.org/', - category: 'web' + id: 'json-schema', + term: 'JSON Schema', + definition: + 'A vocabulary for describing the shape and constraints of {{json|JSON}} documents โ€” types, required fields, enums, patterns. Used by [[mcp|MCP]] to declare tool input shapes and by [[a2a|A2A]] Agent Cards to declare skill inputs, so an LLM can call the tool correctly.', + wikiUrl: 'https://json-schema.org/', + category: 'web' }, { - id: 'lsp', - term: 'Language Server Protocol (LSP)', - definition: - "Microsoft's [[json-rpc|JSON-RPC]] standard letting code editors talk to language servers for autocomplete, jump-to-definition, diagnostics, etc. The transport pattern (JSON-RPC over stdio) directly inspired [[mcp|MCP]].", - wikiUrl: 'https://microsoft.github.io/language-server-protocol/', - category: 'web' + id: 'lsp', + term: 'Language Server Protocol (LSP)', + definition: + "Microsoft's [[json-rpc|JSON-RPC]] standard letting code editors talk to language servers for autocomplete, jump-to-definition, diagnostics, etc. The transport pattern (JSON-RPC over stdio) directly inspired [[mcp|MCP]].", + wikiUrl: 'https://microsoft.github.io/language-server-protocol/', + category: 'web' }, { - id: 'stdio', - term: 'stdio (Standard I/O)', - definition: - "The standard input/output streams of a process. Used as a transport by [[mcp|MCP]] and the {{lsp|Language Server Protocol}}: parent launches a child process and exchanges [[json-rpc|JSON-RPC]] messages over its stdin/stdout โ€” zero network setup, fully local.", - wikiUrl: 'https://en.wikipedia.org/wiki/Standard_streams', - category: 'infrastructure' + id: 'stdio', + term: 'stdio (Standard I/O)', + definition: + 'The standard input/output streams of a process. Used as a transport by [[mcp|MCP]] and the {{lsp|Language Server Protocol}}: parent launches a child process and exchanges [[json-rpc|JSON-RPC]] messages over its stdin/stdout โ€” zero network setup, fully local.', + wikiUrl: 'https://en.wikipedia.org/wiki/Standard_streams', + category: 'infrastructure' }, { - id: 'well-known-uri', - term: 'Well-Known URI', - definition: - "A standardized URL path under `/.well-known/` that hosts machine-readable metadata about a server. Examples: `/.well-known/openid-configuration` ([[oauth2|OAuth]]), `/.well-known/agent.json` ([[a2a|A2A]] Agent Card). Specified in [[rfc:8615|RFC 8615]].", - wikiUrl: 'https://en.wikipedia.org/wiki/Well-known_URI', - category: 'web' + id: 'well-known-uri', + term: 'Well-Known URI', + definition: + 'A standardized URL path under `/.well-known/` that hosts machine-readable metadata about a server. Examples: `/.well-known/openid-configuration` ([[oauth2|OAuth]]), `/.well-known/agent.json` ([[a2a|A2A]] Agent Card). Specified in [[rfc:8615|RFC 8615]].', + wikiUrl: 'https://en.wikipedia.org/wiki/Well-known_URI', + category: 'web' }, { - id: 'agent-card', - term: 'Agent Card', - definition: - "An [[a2a|A2A]] agent's public profile document, served at `/.well-known/agent.json` ({{well-known-uri|well-known URI}}). Lists the agent's name, skills, input/output schemas ({{json-schema|JSON Schema}}), authentication, and API endpoint โ€” the file other agents fetch to learn how to delegate to it.", - category: 'web' + id: 'agent-card', + term: 'Agent Card', + definition: + "An [[a2a|A2A]] agent's public profile document, served at `/.well-known/agent.json` ({{well-known-uri|well-known URI}}). Lists the agent's name, skills, input/output schemas ({{json-schema|JSON Schema}}), authentication, and API endpoint โ€” the file other agents fetch to learn how to delegate to it.", + category: 'web' }, { - id: 'mcp-tool', - term: 'MCP Tool', - definition: - "An executable function an [[mcp|MCP]] server exposes to a host. Each tool advertises a name, description, and {{json-schema|JSON Schema}} for its arguments. The host calls `tools/call` and the server runs the underlying code.", - category: 'web' + id: 'mcp-tool', + term: 'MCP Tool', + definition: + 'An executable function an [[mcp|MCP]] server exposes to a host. Each tool advertises a name, description, and {{json-schema|JSON Schema}} for its arguments. The host calls `tools/call` and the server runs the underlying code.', + category: 'web' }, { - id: 'mcp-resource', - term: 'MCP Resource', - definition: - "A readable data source an [[mcp|MCP]] server exposes โ€” addressed by URI (files, database rows, API endpoints). The host calls `resources/read` to fetch contents and may subscribe to change notifications.", - category: 'web' + id: 'mcp-resource', + term: 'MCP Resource', + definition: + 'A readable data source an [[mcp|MCP]] server exposes โ€” addressed by URI (files, database rows, API endpoints). The host calls `resources/read` to fetch contents and may subscribe to change notifications.', + category: 'web' }, { - id: 'mcp-host', - term: 'MCP Host', - definition: - "The AI application (e.g., Claude Desktop, an IDE assistant) on the user's side of an [[mcp|MCP]] connection. It launches or connects to MCP servers, runs the LLM, and orchestrates {{mcp-tool|tool}} calls and {{mcp-resource|resource}} reads.", - category: 'web' + id: 'mcp-host', + term: 'MCP Host', + definition: + "The AI application (e.g., Claude Desktop, an IDE assistant) on the user's side of an [[mcp|MCP]] connection. It launches or connects to MCP servers, runs the LLM, and orchestrates {{mcp-tool|tool}} calls and {{mcp-resource|resource}} reads.", + category: 'web' }, { - id: 'soap-envelope', - term: 'SOAP Envelope', - definition: - "The outer [[xml|XML]] element wrapping every [[soap|SOAP]] message: `<Envelope>` containing an optional `<Header>` (auth, routing, transaction info) and a required `<Body>` (the actual call or response payload, or a {{soap-fault|Fault}}).", - category: 'web' + id: 'soap-envelope', + term: 'SOAP Envelope', + definition: + 'The outer [[xml|XML]] element wrapping every [[soap|SOAP]] message: `<Envelope>` containing an optional `<Header>` (auth, routing, transaction info) and a required `<Body>` (the actual call or response payload, or a {{soap-fault|Fault}}).', + category: 'web' }, { - id: 'soap-fault', - term: 'SOAP Fault', - definition: - "A structured error inside a [[soap|SOAP]] response `<Body>` โ€” carries a fault code (`Client`/`Server`/`VersionMismatch`/`MustUnderstand`), a human-readable string, and optional details. Returned with HTTP 500 but parsed as protocol-level error info regardless of transport.", - category: 'web' + id: 'soap-fault', + term: 'SOAP Fault', + definition: + 'A structured error inside a [[soap|SOAP]] response `<Body>` โ€” carries a fault code (`Client`/`Server`/`VersionMismatch`/`MustUnderstand`), a human-readable string, and optional details. Returned with HTTP 500 but parsed as protocol-level error info regardless of transport.', + category: 'web' }, { - id: 'soapaction', - term: 'SOAPAction Header', - definition: - "[[http1|HTTP]] header on a [[soap|SOAP]] request naming the operation being invoked. Pre-{{wsdl|WSDL}} servers used it for fast dispatch without parsing the XML body; modern SOAP 1.2 puts the action in `Content-Type` instead.", - category: 'web' + id: 'soapaction', + term: 'SOAPAction Header', + definition: + '[[http1|HTTP]] header on a [[soap|SOAP]] request naming the operation being invoked. Pre-{{wsdl|WSDL}} servers used it for fast dispatch without parsing the XML body; modern SOAP 1.2 puts the action in `Content-Type` instead.', + category: 'web' }, { - id: 'task-lifecycle-a2a', - term: 'A2A Task Lifecycle', - definition: - "The state machine an [[a2a|A2A]] task moves through: `submitted` โ†’ `working` โ†’ (`input-required` โ†’ `working` ...) โ†’ `completed` / `failed` / `canceled`. Lets a client agent track long-running work and stream intermediate progress.", - category: 'web' + id: 'task-lifecycle-a2a', + term: 'A2A Task Lifecycle', + definition: + 'The state machine an [[a2a|A2A]] task moves through: `submitted` โ†’ `working` โ†’ (`input-required` โ†’ `working` ...) โ†’ `completed` / `failed` / `canceled`. Lets a client agent track long-running work and stream intermediate progress.', + category: 'web' }, { - id: 'http2-frame', - term: 'HTTP/2 Frame', - definition: - "The smallest unit of [[http2|HTTP/2]] communication. A 9-byte header (length, type, flags, stream ID) plus payload. Frame types include **HEADERS** (request/response headers, {{hpack|HPACK}}-encoded), **DATA** (body), **SETTINGS** (connection params), **WINDOW_UPDATE** ({{flow-control|flow control}}), **PING**, **RST_STREAM** (cancel a stream), **GOAWAY** (close connection), and **PUSH_PROMISE** ({{server-push|server push}}).", - category: 'web' + id: 'http2-frame', + term: 'HTTP/2 Frame', + definition: + 'The smallest unit of [[http2|HTTP/2]] communication. A 9-byte header (length, type, flags, stream ID) plus payload. Frame types include **HEADERS** (request/response headers, {{hpack|HPACK}}-encoded), **DATA** (body), **SETTINGS** (connection params), **WINDOW_UPDATE** ({{flow-control|flow control}}), **PING**, **RST_STREAM** (cancel a stream), **GOAWAY** (close connection), and **PUSH_PROMISE** ({{server-push|server push}}).', + category: 'web' }, { - id: 'qpack', - term: 'QPACK', - definition: - "[[http3|HTTP/3]]'s header-compression scheme โ€” the [[quic|QUIC]] equivalent of {{hpack|HPACK}}. Redesigned so header decoding doesn't stall when streams arrive out of order, which is essential since QUIC streams are independent ([[rfc:9204|RFC 9204]]).", - wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc9204', - category: 'web' + id: 'qpack', + term: 'QPACK', + definition: + "[[http3|HTTP/3]]'s header-compression scheme โ€” the [[quic|QUIC]] equivalent of {{hpack|HPACK}}. Redesigned so header decoding doesn't stall when streams arrive out of order, which is essential since QUIC streams are independent ([[rfc:9204|RFC 9204]]).", + wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc9204', + category: 'web' }, { - id: 'mqtt-connect', - term: 'CONNECT / CONNACK (MQTT)', - definition: - "First two messages of every [[mqtt|MQTT]] session. The client sends `CONNECT` with its client ID, optional credentials, keepalive interval, and last-will message; the {{broker|broker}} replies `CONNACK` with a return code (0 = accepted). Until CONNACK arrives, no PUBLISH or SUBSCRIBE is allowed.", - category: 'messaging' + id: 'mqtt-connect', + term: 'CONNECT / CONNACK (MQTT)', + definition: + 'First two messages of every [[mqtt|MQTT]] session. The client sends `CONNECT` with its client ID, optional credentials, keepalive interval, and last-will message; the {{broker|broker}} replies `CONNACK` with a return code (0 = accepted). Until CONNACK arrives, no PUBLISH or SUBSCRIBE is allowed.', + category: 'messaging' }, { - id: 'mqtt-subscribe', - term: 'SUBSCRIBE / SUBACK (MQTT)', - definition: - "Client registers interest in one or more {{topic|topic}} filters with a `SUBSCRIBE` packet; the {{broker|broker}} responds `SUBACK` listing the granted {{qos|QoS}} level per filter. Topic filters may use the `+` (one-level) and `#` (multi-level) wildcards.", - category: 'messaging' + id: 'mqtt-subscribe', + term: 'SUBSCRIBE / SUBACK (MQTT)', + definition: + 'Client registers interest in one or more {{topic|topic}} filters with a `SUBSCRIBE` packet; the {{broker|broker}} responds `SUBACK` listing the granted {{qos|QoS}} level per filter. Topic filters may use the `+` (one-level) and `#` (multi-level) wildcards.', + category: 'messaging' }, { - id: 'mqtt-publish', - term: 'PUBLISH (MQTT)', - definition: - "Packet carrying an application message from publisher to {{broker|broker}}, or {{broker|broker}} to subscriber. Contains the {{topic|topic}} name, {{qos|QoS}} level, retain flag, and payload. At QoS > 0 a PUBLISH is matched by `PUBACK` (QoS 1) or `PUBREC`/`PUBREL`/`PUBCOMP` (QoS 2).", - category: 'messaging' + id: 'mqtt-publish', + term: 'PUBLISH (MQTT)', + definition: + 'Packet carrying an application message from publisher to {{broker|broker}}, or {{broker|broker}} to subscriber. Contains the {{topic|topic}} name, {{qos|QoS}} level, retain flag, and payload. At QoS > 0 a PUBLISH is matched by `PUBACK` (QoS 1) or `PUBREC`/`PUBREL`/`PUBCOMP` (QoS 2).', + category: 'messaging' }, { - id: 'topic-wildcard', - term: 'Topic wildcard (+, #)', - definition: - "Pattern syntax in [[mqtt|MQTT]] {{topic|topic}} filters. `+` matches exactly one level (`sensor/+/temp` covers `sensor/kitchen/temp` but not `sensor/kitchen/inner/temp`); `#` matches zero or more remaining levels and must be the final character (`sensor/#`).", - category: 'messaging' + id: 'topic-wildcard', + term: 'Topic wildcard (+, #)', + definition: + 'Pattern syntax in [[mqtt|MQTT]] {{topic|topic}} filters. `+` matches exactly one level (`sensor/+/temp` covers `sensor/kitchen/temp` but not `sensor/kitchen/inner/temp`); `#` matches zero or more remaining levels and must be the final character (`sensor/#`).', + category: 'messaging' }, { - id: 'fanout-exchange', - term: 'Fanout exchange', - definition: - "[[amqp|AMQP]] {{exchange|exchange}} type that ignores the {{routing-key|routing key}} and delivers every published message to every queue bound to it. Use it for broadcast notifications where each consumer needs its own copy.", - category: 'messaging' + id: 'fanout-exchange', + term: 'Fanout exchange', + definition: + '[[amqp|AMQP]] {{exchange|exchange}} type that ignores the {{routing-key|routing key}} and delivers every published message to every queue bound to it. Use it for broadcast notifications where each consumer needs its own copy.', + category: 'messaging' }, { - id: 'direct-exchange', - term: 'Direct exchange', - definition: - "[[amqp|AMQP]] {{exchange|exchange}} type that delivers a message to queues whose binding key exactly matches the message's {{routing-key|routing key}}. Default routing for point-to-point work queues.", - category: 'messaging' + id: 'direct-exchange', + term: 'Direct exchange', + definition: + "[[amqp|AMQP]] {{exchange|exchange}} type that delivers a message to queues whose binding key exactly matches the message's {{routing-key|routing key}}. Default routing for point-to-point work queues.", + category: 'messaging' }, { - id: 'topic-exchange', - term: 'Topic exchange', - definition: - "[[amqp|AMQP]] {{exchange|exchange}} type that matches dotted {{routing-key|routing keys}} against patterns with `*` (one word) and `#` (zero or more words). Lets consumers subscribe to slices of a hierarchical event stream.", - category: 'messaging' + id: 'topic-exchange', + term: 'Topic exchange', + definition: + '[[amqp|AMQP]] {{exchange|exchange}} type that matches dotted {{routing-key|routing keys}} against patterns with `*` (one word) and `#` (zero or more words). Lets consumers subscribe to slices of a hierarchical event stream.', + category: 'messaging' }, { - id: 'headers-exchange', - term: 'Headers exchange', - definition: - "[[amqp|AMQP]] {{exchange|exchange}} type that routes on a dictionary of message headers instead of the {{routing-key|routing key}}. Bindings specify `x-match=all` (every header must match) or `x-match=any`.", - category: 'messaging' + id: 'headers-exchange', + term: 'Headers exchange', + definition: + '[[amqp|AMQP]] {{exchange|exchange}} type that routes on a dictionary of message headers instead of the {{routing-key|routing key}}. Bindings specify `x-match=all` (every header must match) or `x-match=any`.', + category: 'messaging' }, { - id: 'durable-queue', - term: 'Durable queue', - definition: - "A queue whose definition survives a {{broker|broker}} restart. Paired with persistent messages (written to disk), it provides at-least-once delivery across crashes โ€” at the cost of disk I/O on every publish.", - category: 'messaging' + id: 'durable-queue', + term: 'Durable queue', + definition: + 'A queue whose definition survives a {{broker|broker}} restart. Paired with persistent messages (written to disk), it provides at-least-once delivery across crashes โ€” at the cost of disk I/O on every publish.', + category: 'messaging' }, { - id: 'nack', - term: 'NACK (Negative Acknowledgement)', - definition: - "Signal that a consumer could not process a message. In [[amqp|AMQP]] (`basic.nack`) the {{broker|broker}} may requeue the message or route it to a {{dead-letter-queue|dead-letter queue}}; in [[mqtt|MQTT]] 5 a PUBACK can carry a non-success reason code. Opposite of {{ack|ACK}}.", - category: 'messaging' + id: 'nack', + term: 'NACK (Negative Acknowledgement)', + definition: + 'Signal that a consumer could not process a message. In [[amqp|AMQP]] (`basic.nack`) the {{broker|broker}} may requeue the message or route it to a {{dead-letter-queue|dead-letter queue}}; in [[mqtt|MQTT]] 5 a PUBACK can carry a non-success reason code. Opposite of {{ack|ACK}}.', + category: 'messaging' }, { - id: 'stomp-frame', - term: 'STOMP frame', - definition: - "Wire unit of [[stomp|STOMP]]: a command word (`CONNECT`, `SEND`, `SUBSCRIBE`, ...), zero or more `Header: value` lines, a blank line, an optional body, and a terminating `\\0` (null) byte. Plain text โ€” debuggable with `telnet`.", - category: 'messaging' + id: 'stomp-frame', + term: 'STOMP frame', + definition: + 'Wire unit of [[stomp|STOMP]]: a command word (`CONNECT`, `SEND`, `SUBSCRIBE`, ...), zero or more `Header: value` lines, a blank line, an optional body, and a terminating `\\0` (null) byte. Plain text โ€” debuggable with `telnet`.', + category: 'messaging' }, { - id: 'sasl', - term: 'SASL (Simple Authentication and Security Layer)', - definition: - "Framework defining a family of authentication mechanisms (PLAIN, SCRAM, GSSAPI, OAUTHBEARER, ...) that protocols like [[xmpp|XMPP]], [[smtp|SMTP]], [[imap|IMAP]] and LDAP can negotiate. Separates *how to prove identity* from the application protocol.", - category: 'security' + id: 'sasl', + term: 'SASL (Simple Authentication and Security Layer)', + definition: + 'Framework defining a family of authentication mechanisms (PLAIN, SCRAM, GSSAPI, OAUTHBEARER, ...) that protocols like [[xmpp|XMPP]], [[smtp|SMTP]], [[imap|IMAP]] and LDAP can negotiate. Separates *how to prove identity* from the application protocol.', + category: 'security' }, { - id: 'scram', - term: 'SCRAM (Salted Challenge Response Auth)', - definition: - "{{sasl|SASL}} mechanism in which the server stores a salted hash of the password and proves knowledge via a challenge-response exchange. The plaintext password never crosses the wire and the server never learns it. Default for modern [[xmpp|XMPP]], MongoDB, and PostgreSQL.", - category: 'security' + id: 'scram', + term: 'SCRAM (Salted Challenge Response Auth)', + definition: + '{{sasl|SASL}} mechanism in which the server stores a salted hash of the password and proves knowledge via a challenge-response exchange. The plaintext password never crosses the wire and the server never learns it. Default for modern [[xmpp|XMPP]], MongoDB, and PostgreSQL.', + category: 'security' }, { - id: 'xmpp-stream', - term: 'XML stream (XMPP)', - definition: - "An [[xmpp|XMPP]] session is a single long-lived XML document. Each side opens with `<stream:stream>` and appends `<message>`, `<presence>`, and `<iq>` stanzas until shutdown. The document is closed with `</stream:stream>`.", - category: 'messaging' + id: 'xmpp-stream', + term: 'XML stream (XMPP)', + definition: + 'An [[xmpp|XMPP]] session is a single long-lived XML document. Each side opens with `<stream:stream>` and appends `<message>`, `<presence>`, and `<iq>` stanzas until shutdown. The document is closed with `</stream:stream>`.', + category: 'messaging' }, { - id: 'xmpp-presence', - term: 'Presence stanza (XMPP)', - definition: - "An [[xmpp|XMPP]] `<presence/>` stanza broadcasts a user's availability (online, away, do-not-disturb) to subscribed contacts. The mechanism behind buddy-list status indicators.", - category: 'messaging' + id: 'xmpp-presence', + term: 'Presence stanza (XMPP)', + definition: + "An [[xmpp|XMPP]] `<presence/>` stanza broadcasts a user's availability (online, away, do-not-disturb) to subscribed contacts. The mechanism behind buddy-list status indicators.", + category: 'messaging' }, { - id: 'xmpp-resource', - term: 'JID resource binding', - definition: - "After [[xmpp|XMPP]] authentication the server assigns a per-connection *resource* suffix to the bare JID (`alice@example.com` โ†’ `alice@example.com/phone`). Lets one account stay connected from multiple devices and routes stanzas to the right one.", - category: 'messaging' + id: 'xmpp-resource', + term: 'JID resource binding', + definition: + 'After [[xmpp|XMPP]] authentication the server assigns a per-connection *resource* suffix to the bare JID (`alice@example.com` โ†’ `alice@example.com/phone`). Lets one account stay connected from multiple devices and routes stanzas to the right one.', + category: 'messaging' }, { - id: 'federation', - term: 'Federation', - definition: - "Architecture where independent servers in different domains interoperate by relaying messages directly to each other โ€” no central hub. Used by [[smtp|SMTP]] email, [[xmpp|XMPP]], Matrix, and ActivityPub.", - category: 'messaging' + id: 'federation', + term: 'Federation', + definition: + 'Architecture where independent servers in different domains interoperate by relaying messages directly to each other โ€” no central hub. Used by [[smtp|SMTP]] email, [[xmpp|XMPP]], Matrix, and ActivityPub.', + category: 'messaging' }, { - id: 'omemo', - term: 'OMEMO', - definition: - "End-to-end encryption extension for [[xmpp|XMPP]] based on the Signal Double Ratchet. Provides forward secrecy and multi-device support layered on top of the normal {{starttls|TLS}}-protected stream.", - category: 'security' + id: 'omemo', + term: 'OMEMO', + definition: + 'End-to-end encryption extension for [[xmpp|XMPP]] based on the Signal Double Ratchet. Provides forward secrecy and multi-device support layered on top of the normal {{starttls|TLS}}-protected stream.', + category: 'security' }, { - id: 'coap-confirmable', - term: 'Confirmable / Non-confirmable (CoAP)', - definition: - "[[coap|CoAP]] message types. `CON` requires an explicit {{ack|ACK}} from the peer โ€” reliable like [[tcp|TCP]] but per-message. `NON` is fire-and-forget, used for repeating sensor readings where a single drop is harmless.", - category: 'messaging' + id: 'coap-confirmable', + term: 'Confirmable / Non-confirmable (CoAP)', + definition: + '[[coap|CoAP]] message types. `CON` requires an explicit {{ack|ACK}} from the peer โ€” reliable like [[tcp|TCP]] but per-message. `NON` is fire-and-forget, used for repeating sensor readings where a single drop is harmless.', + category: 'messaging' }, { - id: 'coap-observe', - term: 'Observe (CoAP)', - definition: - "[[coap|CoAP]] extension where a client registers interest in a resource and the server pushes a new representation each time the value changes, with a monotonically-increasing sequence number. Lets battery-powered devices sleep instead of polling.", - category: 'messaging' + id: 'coap-observe', + term: 'Observe (CoAP)', + definition: + '[[coap|CoAP]] extension where a client registers interest in a resource and the server pushes a new representation each time the value changes, with a monotonically-increasing sequence number. Lets battery-powered devices sleep instead of polling.', + category: 'messaging' }, { - id: 'kafka-partition-leader', - term: 'Partition leader (Kafka)', - definition: - "One broker per {{partition|partition}} that serves all reads and writes for that partition; the others are followers that replicate it. Failure of the leader triggers an election so a replica takes over. Producers and consumers are routed to leaders via the cluster metadata.", - category: 'messaging' + id: 'kafka-partition-leader', + term: 'Partition leader (Kafka)', + definition: + 'One broker per {{partition|partition}} that serves all reads and writes for that partition; the others are followers that replicate it. Failure of the leader triggers an election so a replica takes over. Producers and consumers are routed to leaders via the cluster metadata.', + category: 'messaging' }, { - id: 'kafka-acks', - term: 'acks=0/1/all (Kafka)', - definition: - "Kafka producer durability setting. `acks=0` โ€” fire-and-forget, no acknowledgement; `acks=1` โ€” leader has written; `acks=all` โ€” every in-sync replica has written. Pick the durability vs latency trade-off explicitly.", - category: 'messaging' + id: 'kafka-acks', + term: 'acks=0/1/all (Kafka)', + definition: + 'Kafka producer durability setting. `acks=0` โ€” fire-and-forget, no acknowledgement; `acks=1` โ€” leader has written; `acks=all` โ€” every in-sync replica has written. Pick the durability vs latency trade-off explicitly.', + category: 'messaging' }, { - id: 'kafka-offset-commit', - term: 'OffsetCommit (Kafka)', - definition: - "Kafka consumer message that records *group X has processed up to offset N in partition P*. Stored in the internal `__consumer_offsets` topic. On consumer crash, another member of the {{consumer-group|consumer group}} resumes from the committed offset.", - category: 'messaging' + id: 'kafka-offset-commit', + term: 'OffsetCommit (Kafka)', + definition: + 'Kafka consumer message that records *group X has processed up to offset N in partition P*. Stored in the internal `__consumer_offsets` topic. On consumer crash, another member of the {{consumer-group|consumer group}} resumes from the committed offset.', + category: 'messaging' }, { - id: 'consumer-rebalance', - term: 'Consumer rebalance', - definition: - "When a Kafka {{consumer-group|consumer group}} gains or loses members, partition assignments are redistributed so every {{partition|partition}} is owned by exactly one consumer. Each consumer resumes from the last committed {{offset|offset}}.", - category: 'messaging' + id: 'consumer-rebalance', + term: 'Consumer rebalance', + definition: + 'When a Kafka {{consumer-group|consumer group}} gains or loses members, partition assignments are redistributed so every {{partition|partition}} is owned by exactly one consumer. Each consumer resumes from the last committed {{offset|offset}}.', + category: 'messaging' }, { - id: 'log-replay', - term: 'Log replay', - definition: - "Reading messages from a position earlier than the current tail of an append-only log (e.g. [[kafka|Kafka]]). Because the log is immutable, replay is just *reset the {{offset|offset}}* โ€” used for re-processing, debugging, and bootstrapping new consumers.", - category: 'messaging' + id: 'log-replay', + term: 'Log replay', + definition: + 'Reading messages from a position earlier than the current tail of an append-only log (e.g. [[kafka|Kafka]]). Because the log is immutable, replay is just *reset the {{offset|offset}}* โ€” used for re-processing, debugging, and bootstrapping new consumers.', + category: 'messaging' }, { - id: 'mta', - term: 'MTA (Mail Transfer Agent)', - definition: - "A server that accepts, queues, and forwards [[smtp|SMTP]] mail โ€” Postfix, Sendmail, Exim, MS Exchange. Mail hops MTA-to-MTA until it reaches the recipient's mailbox.", - category: 'messaging' + id: 'mta', + term: 'MTA (Mail Transfer Agent)', + definition: + "A server that accepts, queues, and forwards [[smtp|SMTP]] mail โ€” Postfix, Sendmail, Exim, MS Exchange. Mail hops MTA-to-MTA until it reaches the recipient's mailbox.", + category: 'messaging' }, { - id: 'mx-record', - term: 'MX record', - definition: - "[[dns|DNS]] record type listing the {{mta|mail servers}} responsible for a domain, each with a priority. Sending {{mta|MTAs}} look up the recipient's MX before delivering [[smtp|SMTP]] mail.", - category: 'messaging' + id: 'mx-record', + term: 'MX record', + definition: + "[[dns|DNS]] record type listing the {{mta|mail servers}} responsible for a domain, each with a priority. Sending {{mta|MTAs}} look up the recipient's MX before delivering [[smtp|SMTP]] mail.", + category: 'messaging' }, { - id: 'ptr-record', - term: 'PTR record', - definition: - "[[dns|DNS]] record mapping a name to another name. In reverse DNS, PTRs map an IP back to a hostname; in [[mdns-dns-sd|DNS-SD]], a PTR for `_service._tcp.local` lists the instance names offering that service.", - category: 'infrastructure' + id: 'ptr-record', + term: 'PTR record', + definition: + '[[dns|DNS]] record mapping a name to another name. In reverse DNS, PTRs map an IP back to a hostname; in [[mdns-dns-sd|DNS-SD]], a PTR for `_service._tcp.local` lists the instance names offering that service.', + category: 'infrastructure' }, { - id: 'srv-record', - term: 'SRV record', - definition: - "[[dns|DNS]] record giving the hostname and port for a named service plus priority and weight. Used by [[mdns-dns-sd|DNS-SD]], [[sip|SIP]], [[xmpp|XMPP]] server-to-server lookup, and Active Directory.", - category: 'infrastructure' + id: 'srv-record', + term: 'SRV record', + definition: + '[[dns|DNS]] record giving the hostname and port for a named service plus priority and weight. Used by [[mdns-dns-sd|DNS-SD]], [[sip|SIP]], [[xmpp|XMPP]] server-to-server lookup, and Active Directory.', + category: 'infrastructure' }, { - id: 'txt-record', - term: 'TXT record', - definition: - "[[dns|DNS]] record carrying arbitrary text. Used to publish SPF/DKIM/DMARC email-authentication policies, [[mdns-dns-sd|DNS-SD]] service metadata, and ownership-verification tokens.", - category: 'infrastructure' + id: 'txt-record', + term: 'TXT record', + definition: + '[[dns|DNS]] record carrying arbitrary text. Used to publish SPF/DKIM/DMARC email-authentication policies, [[mdns-dns-sd|DNS-SD]] service metadata, and ownership-verification tokens.', + category: 'infrastructure' }, { - id: 'spf', - term: 'SPF (Sender Policy Framework)', - definition: - "Email-authentication mechanism in which a domain publishes a {{txt-record|TXT record}} listing the IPs allowed to send mail on its behalf. Receiving {{mta|MTAs}} reject or flag messages from other sources.", - category: 'security' + id: 'spf', + term: 'SPF (Sender Policy Framework)', + definition: + 'Email-authentication mechanism in which a domain publishes a {{txt-record|TXT record}} listing the IPs allowed to send mail on its behalf. Receiving {{mta|MTAs}} reject or flag messages from other sources.', + category: 'security' }, { - id: 'dkim', - term: 'DKIM (DomainKeys Identified Mail)', - definition: - "Sending {{mta|MTA}} signs selected headers + body with a private key; receivers fetch the public key from a {{txt-record|TXT record}} and verify. Proves the message wasn't modified in transit and really came from the claimed domain.", - category: 'security' + id: 'dkim', + term: 'DKIM (DomainKeys Identified Mail)', + definition: + "Sending {{mta|MTA}} signs selected headers + body with a private key; receivers fetch the public key from a {{txt-record|TXT record}} and verify. Proves the message wasn't modified in transit and really came from the claimed domain.", + category: 'security' }, { - id: 'dmarc', - term: 'DMARC', - definition: - "Policy layer on top of {{spf|SPF}} and {{dkim|DKIM}}. A domain publishes a {{txt-record|TXT record}} telling receivers *reject / quarantine / monitor* mail that fails authentication and aggregates failure reports back to the domain owner.", - category: 'security' + id: 'dmarc', + term: 'DMARC', + definition: + 'Policy layer on top of {{spf|SPF}} and {{dkim|DKIM}}. A domain publishes a {{txt-record|TXT record}} telling receivers *reject / quarantine / monitor* mail that fails authentication and aggregates failure reports back to the domain owner.', + category: 'security' }, { - id: 'smtp-envelope', - term: 'SMTP envelope', - definition: - "The `MAIL FROM` and `RCPT TO` addresses used by [[smtp|SMTP]] to deliver a message. Separate from the `From:` / `To:` headers shown to humans โ€” like the address on a letter's envelope vs the heading inside.", - category: 'messaging' + id: 'smtp-envelope', + term: 'SMTP envelope', + definition: + "The `MAIL FROM` and `RCPT TO` addresses used by [[smtp|SMTP]] to deliver a message. Separate from the `From:` / `To:` headers shown to humans โ€” like the address on a letter's envelope vs the heading inside.", + category: 'messaging' }, { - id: 'store-and-forward', - term: 'Store-and-forward', - definition: - "Each hop accepts full responsibility for a message: it commits it to durable storage, then attempts to forward to the next hop with retries. Originating from telegraph relay, it's how [[smtp|SMTP]] email, [[xmpp|XMPP]] federation, and many message queues survive intermittent links.", - category: 'messaging' + id: 'store-and-forward', + term: 'Store-and-forward', + definition: + "Each hop accepts full responsibility for a message: it commits it to durable storage, then attempts to forward to the next hop with retries. Originating from telegraph relay, it's how [[smtp|SMTP]] email, [[xmpp|XMPP]] federation, and many message queues survive intermittent links.", + category: 'messaging' }, { - id: 'pop3', - term: 'POP3 (Post Office Protocol)', - definition: - "Pre-[[imap|IMAP]] mail-retrieval protocol that downloads messages and (by default) deletes them from the server. Simple but offers no server-side state, so multiple clients see different mailboxes.", - category: 'messaging' + id: 'pop3', + term: 'POP3 (Post Office Protocol)', + definition: + 'Pre-[[imap|IMAP]] mail-retrieval protocol that downloads messages and (by default) deletes them from the server. Simple but offers no server-side state, so multiple clients see different mailboxes.', + category: 'messaging' }, { - id: 'imap-idle', - term: 'IDLE (IMAP)', - definition: - "[[imap|IMAP]] command that parks a connection in waiting mode. The server may then push untagged updates (new message arrived, flags changed) without the client polling. Foundation of *push email* on mobile.", - category: 'messaging' + id: 'imap-idle', + term: 'IDLE (IMAP)', + definition: + '[[imap|IMAP]] command that parks a connection in waiting mode. The server may then push untagged updates (new message arrived, flags changed) without the client polling. Foundation of *push email* on mobile.', + category: 'messaging' }, { - id: 'imap-fetch', - term: 'FETCH (IMAP)', - definition: - "[[imap|IMAP]] command to download specific parts of a message (`ENVELOPE`, `BODY[HEADER]`, `BODY[TEXT]`, a particular MIME part) without pulling the whole thing. Lets clients show headers fast and load attachments on demand.", - category: 'messaging' + id: 'imap-fetch', + term: 'FETCH (IMAP)', + definition: + '[[imap|IMAP]] command to download specific parts of a message (`ENVELOPE`, `BODY[HEADER]`, `BODY[TEXT]`, a particular MIME part) without pulling the whole thing. Lets clients show headers fast and load attachments on demand.', + category: 'messaging' }, { - id: 'imap-select', - term: 'SELECT (IMAP)', - definition: - "[[imap|IMAP]] command that opens a mailbox (e.g. `INBOX`) for read-write access. The server immediately pushes its current state โ€” message count, recent count, validity tags.", - category: 'messaging' + id: 'imap-select', + term: 'SELECT (IMAP)', + definition: + '[[imap|IMAP]] command that opens a mailbox (e.g. `INBOX`) for read-write access. The server immediately pushes its current state โ€” message count, recent count, validity tags.', + category: 'messaging' }, { - id: 'imap-tag', - term: 'IMAP tag', - definition: - "Client-chosen identifier (`A001`, `A002`, ...) prefixed to each [[imap|IMAP]] command. The server's tagged response uses the same tag, so responses can come back out of order without confusion. Untagged responses (starting with `*`) are server-initiated.", - category: 'messaging' + id: 'imap-tag', + term: 'IMAP tag', + definition: + "Client-chosen identifier (`A001`, `A002`, ...) prefixed to each [[imap|IMAP]] command. The server's tagged response uses the same tag, so responses can come back out of order without confusion. Untagged responses (starting with `*`) are server-initiated.", + category: 'messaging' }, { - id: 'imaps', - term: 'IMAPS', - definition: - "[[imap|IMAP]] wrapped in [[tls|TLS]] from the first byte, conventionally on port 993. The implicit-TLS alternative to negotiating {{starttls|STARTTLS}} on port 143.", - category: 'security' + id: 'imaps', + term: 'IMAPS', + definition: + '[[imap|IMAP]] wrapped in [[tls|TLS]] from the first byte, conventionally on port 993. The implicit-TLS alternative to negotiating {{starttls|STARTTLS}} on port 143.', + category: 'security' }, { - id: 'ftp-active-passive', - term: 'FTP active vs passive mode', - definition: - "How [[ftp|FTP]] sets up the data channel. *Active* โ€” server opens a TCP connection back to the client (broken behind {{nat|NAT}} or {{firewall|firewall}}). *Passive* (`PASV`) โ€” server listens on a new port and tells the client to connect to it. PASV is the modern default.", - category: 'messaging' + id: 'ftp-active-passive', + term: 'FTP active vs passive mode', + definition: + 'How [[ftp|FTP]] sets up the data channel. *Active* โ€” server opens a TCP connection back to the client (broken behind {{nat|NAT}} or {{firewall|firewall}}). *Passive* (`PASV`) โ€” server listens on a new port and tells the client to connect to it. PASV is the modern default.', + category: 'messaging' }, { - id: 'ftps', - term: 'FTPS', - definition: - "[[ftp|FTP]] over [[tls|TLS]]. The control channel is encrypted via {{starttls|AUTH TLS}}, and the data channel is opened inside TLS as well. Not to be confused with SFTP, which is file transfer over [[ssh|SSH]] and shares only the name.", - category: 'security' + id: 'ftps', + term: 'FTPS', + definition: + '[[ftp|FTP]] over [[tls|TLS]]. The control channel is encrypted via {{starttls|AUTH TLS}}, and the data channel is opened inside TLS as well. Not to be confused with SFTP, which is file transfer over [[ssh|SSH]] and shares only the name.', + category: 'security' }, { - id: 'sftp', - term: 'SFTP', - definition: - "SSH File Transfer Protocol โ€” a file-management subsystem of [[ssh|SSH]], unrelated to [[ftp|FTP]] despite the name. Single port (22), no separate data channel, authenticated by SSH keys.", - category: 'security' + id: 'sftp', + term: 'SFTP', + definition: + 'SSH File Transfer Protocol โ€” a file-management subsystem of [[ssh|SSH]], unrelated to [[ftp|FTP]] despite the name. Single port (22), no separate data channel, authenticated by SSH keys.', + category: 'security' }, { - id: 'mdns-probe', - term: 'mDNS probe', - definition: - "First step of joining an [[mdns-dns-sd|mDNS]] link: the host sends three Query messages 250 ms apart for its candidate name. If any host claims that name, the prober picks a different one (`-2`, `-3`) and starts over.", - category: 'infrastructure' + id: 'mdns-probe', + term: 'mDNS probe', + definition: + 'First step of joining an [[mdns-dns-sd|mDNS]] link: the host sends three Query messages 250 ms apart for its candidate name. If any host claims that name, the prober picks a different one (`-2`, `-3`) and starts over.', + category: 'infrastructure' }, { - id: 'mdns-announce', - term: 'mDNS announce', - definition: - "After a successful probe an [[mdns-dns-sd|mDNS]] host sends two Response messages 1 s apart with the cache-flush bit set, so every listener replaces any stale entries for the new owner's records.", - category: 'infrastructure' + id: 'mdns-announce', + term: 'mDNS announce', + definition: + "After a successful probe an [[mdns-dns-sd|mDNS]] host sends two Response messages 1 s apart with the cache-flush bit set, so every listener replaces any stale entries for the new owner's records.", + category: 'infrastructure' }, { - id: 'mdns-goodbye', - term: 'mDNS goodbye', - definition: - "At graceful shutdown an [[mdns-dns-sd|mDNS]] host sends a Response with `TTL=0` for every record it owns; receivers flush those entries immediately instead of waiting for the normal {{ttl|TTL}} to expire.", - category: 'infrastructure' + id: 'mdns-goodbye', + term: 'mDNS goodbye', + definition: + 'At graceful shutdown an [[mdns-dns-sd|mDNS]] host sends a Response with `TTL=0` for every record it owns; receivers flush those entries immediately instead of waiting for the normal {{ttl|TTL}} to expire.', + category: 'infrastructure' }, { - id: 'cache-flush-bit', - term: 'Cache-flush bit (mDNS)', - definition: - "Per-record bit in [[mdns-dns-sd|mDNS]] responses that tells receivers *replace any cached records with this name and type with this new one*. Used during announce so a renaming or moving service is reflected everywhere on the link immediately.", - category: 'infrastructure' + id: 'cache-flush-bit', + term: 'Cache-flush bit (mDNS)', + definition: + 'Per-record bit in [[mdns-dns-sd|mDNS]] responses that tells receivers *replace any cached records with this name and type with this new one*. Used during announce so a renaming or moving service is reflected everywhere on the link immediately.', + category: 'infrastructure' }, { - id: 'ipp', - term: 'IPP (Internet Printing Protocol)', - definition: - "[[http1|HTTP]]-based protocol (port 631) for submitting print jobs and querying printer status. Discovered on local networks via [[mdns-dns-sd|DNS-SD]] under `_ipp._tcp.local`.", - category: 'infrastructure' + id: 'ipp', + term: 'IPP (Internet Printing Protocol)', + definition: + '[[http1|HTTP]]-based protocol (port 631) for submitting print jobs and querying printer status. Discovered on local networks via [[mdns-dns-sd|DNS-SD]] under `_ipp._tcp.local`.', + category: 'infrastructure' }, { - id: 'mpeg-ts', - term: 'MPEG-2 Transport Stream (.ts)', - definition: - "Container format originally for digital broadcast TV that packs audio, video, and metadata into 188-byte packets. In [[hls|HLS]] streaming, each ~6-second segment is a `.ts` file delivered as a standalone {{http-method|HTTP GET}} โ€” cacheable by any {{cdn|CDN}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/MPEG_transport_stream', - category: 'web' + id: 'mpeg-ts', + term: 'MPEG-2 Transport Stream (.ts)', + definition: + 'Container format originally for digital broadcast TV that packs audio, video, and metadata into 188-byte packets. In [[hls|HLS]] streaming, each ~6-second segment is a `.ts` file delivered as a standalone {{http-method|HTTP GET}} โ€” cacheable by any {{cdn|CDN}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/MPEG_transport_stream', + category: 'web' }, { - id: 'abr-segment-switch', - term: 'ABR Segment Boundary Switch', - definition: - "In {{adaptive-bitrate|adaptive bitrate}} streaming ([[hls|HLS]] / [[dash|DASH]]), the player can switch quality levels only at segment boundaries โ€” never mid-segment. Each segment is a fully-decodable, self-contained chunk, so swapping in a different bitrate for the next segment is seamless to the viewer.", - category: 'web' + id: 'abr-segment-switch', + term: 'ABR Segment Boundary Switch', + definition: + 'In {{adaptive-bitrate|adaptive bitrate}} streaming ([[hls|HLS]] / [[dash|DASH]]), the player can switch quality levels only at segment boundaries โ€” never mid-segment. Each segment is a fully-decodable, self-contained chunk, so swapping in a different bitrate for the next segment is seamless to the viewer.', + category: 'web' }, { - id: 'rtmp-c0-c1-c2', - term: 'RTMP C0 / C1 / C2', - definition: - "The three client-to-server messages of the [[rtmp|RTMP]] {{handshake|handshake}}. **C0** = a single protocol-version byte (0x03 for plain [[rtmp|RTMP]], 0x06 for RTMPE). **C1** = 1,536 random bytes plus the client timestamp. **C2** is a verbatim echo of {{rtmp-s0-s1-s2|S1}} โ€” proving the client received it.", - wikiUrl: 'https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol', - category: 'web' + id: 'rtmp-c0-c1-c2', + term: 'RTMP C0 / C1 / C2', + definition: + 'The three client-to-server messages of the [[rtmp|RTMP]] {{handshake|handshake}}. **C0** = a single protocol-version byte (0x03 for plain [[rtmp|RTMP]], 0x06 for RTMPE). **C1** = 1,536 random bytes plus the client timestamp. **C2** is a verbatim echo of {{rtmp-s0-s1-s2|S1}} โ€” proving the client received it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol', + category: 'web' }, { - id: 'rtmp-s0-s1-s2', - term: 'RTMP S0 / S1 / S2', - definition: - "Server-side counterparts of {{rtmp-c0-c1-c2|C0/C1/C2}} in the [[rtmp|RTMP]] {{handshake|handshake}}. **S0** = protocol version byte, **S1** = 1,536 random bytes plus server timestamp, **S2** = echo of {{rtmp-c0-c1-c2|C1}}. Once both sides have verified the echoes match, the {{handshake|handshake}} completes.", - wikiUrl: 'https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol', - category: 'web' + id: 'rtmp-s0-s1-s2', + term: 'RTMP S0 / S1 / S2', + definition: + 'Server-side counterparts of {{rtmp-c0-c1-c2|C0/C1/C2}} in the [[rtmp|RTMP]] {{handshake|handshake}}. **S0** = protocol version byte, **S1** = 1,536 random bytes plus server timestamp, **S2** = echo of {{rtmp-c0-c1-c2|C1}}. Once both sides have verified the echoes match, the {{handshake|handshake}} completes.', + wikiUrl: 'https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol', + category: 'web' }, { - id: 'rtmp-connect', - term: 'RTMP connect', - definition: - "First AMF0-encoded command after the [[rtmp|RTMP]] {{handshake|handshake}}. Specifies the application path on the server (e.g., `live`) and may carry optional auth parameters. The server replies with `_result` (success) or `_error`.", - category: 'web' + id: 'rtmp-connect', + term: 'RTMP connect', + definition: + 'First AMF0-encoded command after the [[rtmp|RTMP]] {{handshake|handshake}}. Specifies the application path on the server (e.g., `live`) and may carry optional auth parameters. The server replies with `_result` (success) or `_error`.', + category: 'web' }, { - id: 'rtmp-create-stream', - term: 'RTMP createStream', - definition: - "AMF0 command sent after [[rtmp|RTMP]] {{rtmp-connect|connect}}. Allocates a logical stream ID within the connection โ€” [[rtmp|RTMP]] can {{multiplexing|multiplex}} multiple streams, though {{live-stream-ingest|live ingest}} typically uses one.", - category: 'web' + id: 'rtmp-create-stream', + term: 'RTMP createStream', + definition: + 'AMF0 command sent after [[rtmp|RTMP]] {{rtmp-connect|connect}}. Allocates a logical stream ID within the connection โ€” [[rtmp|RTMP]] can {{multiplexing|multiplex}} multiple streams, though {{live-stream-ingest|live ingest}} typically uses one.', + category: 'web' }, { - id: 'rtmp-publish', - term: 'RTMP publish', - definition: - "AMF0 command that begins pushing audio/video to the server. Takes a {{rtmp-stream-key|stream key}} (the secret token authorising the upload) and a publish type (`live`, `record`, or `append`).", - category: 'web' + id: 'rtmp-publish', + term: 'RTMP publish', + definition: + 'AMF0 command that begins pushing audio/video to the server. Takes a {{rtmp-stream-key|stream key}} (the secret token authorising the upload) and a publish type (`live`, `record`, or `append`).', + category: 'web' }, { - id: 'rtmp-stream-key', - term: 'RTMP Stream Key', - definition: - "The opaque secret token your live encoder (OBS, Wirecast) embeds in the [[rtmp|RTMP]] {{rtmp-publish|publish}} request. Identifies *which channel* the encoder is pushing to and authorises the upload โ€” treat it like a password; anyone with the key can hijack your stream.", - category: 'web' + id: 'rtmp-stream-key', + term: 'RTMP Stream Key', + definition: + 'The opaque secret token your live encoder (OBS, Wirecast) embeds in the [[rtmp|RTMP]] {{rtmp-publish|publish}} request. Identifies *which channel* the encoder is pushing to and authorises the upload โ€” treat it like a password; anyone with the key can hijack your stream.', + category: 'web' }, { - id: 'live-stream-ingest', - term: 'Live-Stream Ingest', - definition: - "The pipeline that accepts a live video feed from an encoder and prepares it for distribution. The encoder pushes via [[rtmp|RTMP]] (or SRT/WebRTC) to a {{cdn|CDN}} ingest endpoint; the server then {{transcoding|transcodes}} into [[hls|HLS]] / [[dash|DASH]] segments for viewer playback.", - category: 'web' + id: 'live-stream-ingest', + term: 'Live-Stream Ingest', + definition: + 'The pipeline that accepts a live video feed from an encoder and prepares it for distribution. The encoder pushes via [[rtmp|RTMP]] (or SRT/WebRTC) to a {{cdn|CDN}} ingest endpoint; the server then {{transcoding|transcodes}} into [[hls|HLS]] / [[dash|DASH]] segments for viewer playback.', + category: 'web' }, { - id: 'transcoding', - term: 'Transcoding', - definition: - "Re-encoding a media stream from one {{codec|codec}} or bitrate to another. In live streaming, a {{cdn|CDN}} typically transcodes the [[rtmp|RTMP]] ingest into multiple [[hls|HLS]] / [[dash|DASH]] quality variants ({{adaptive-bitrate|adaptive bitrate}}) so players can switch based on {{bandwidth|bandwidth}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Transcoding', - category: 'web' + id: 'transcoding', + term: 'Transcoding', + definition: + 'Re-encoding a media stream from one {{codec|codec}} or bitrate to another. In live streaming, a {{cdn|CDN}} typically transcodes the [[rtmp|RTMP]] ingest into multiple [[hls|HLS]] / [[dash|DASH]] quality variants ({{adaptive-bitrate|adaptive bitrate}}) so players can switch based on {{bandwidth|bandwidth}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Transcoding', + category: 'web' }, { - id: 'aac', - term: 'AAC (Advanced Audio Coding)', - definition: - "Lossy audio {{codec|codec}} that superseded MP3 โ€” used by virtually every modern streaming service (YouTube, Apple Music, Spotify Connect) and the default audio in [[rtmp|RTMP]] / [[hls|HLS]] / [[dash|DASH]] pipelines. Defined in MPEG-4 Part 3 (ISO/IEC 14496-3).", - wikiUrl: 'https://en.wikipedia.org/wiki/Advanced_Audio_Coding', - category: 'web' + id: 'aac', + term: 'AAC (Advanced Audio Coding)', + definition: + 'Lossy audio {{codec|codec}} that superseded MP3 โ€” used by virtually every modern streaming service (YouTube, Apple Music, Spotify Connect) and the default audio in [[rtmp|RTMP]] / [[hls|HLS]] / [[dash|DASH]] pipelines. Defined in MPEG-4 Part 3 (ISO/IEC 14496-3).', + wikiUrl: 'https://en.wikipedia.org/wiki/Advanced_Audio_Coding', + category: 'web' }, { - id: 'h264', - term: 'H.264 / AVC', - definition: - "The dominant video {{codec|codec}} of the 2010s โ€” Advanced Video Coding, MPEG-4 Part 10. Ships in virtually every camera, phone, browser, and streaming pipeline. Carried inside [[hls|HLS]] `.ts` segments and [[rtmp|RTMP]] chunks.", - wikiUrl: 'https://en.wikipedia.org/wiki/Advanced_Video_Coding', - category: 'web' + id: 'h264', + term: 'H.264 / AVC', + definition: + 'The dominant video {{codec|codec}} of the 2010s โ€” Advanced Video Coding, MPEG-4 Part 10. Ships in virtually every camera, phone, browser, and streaming pipeline. Carried inside [[hls|HLS]] `.ts` segments and [[rtmp|RTMP]] chunks.', + wikiUrl: 'https://en.wikipedia.org/wiki/Advanced_Video_Coding', + category: 'web' }, { - id: 'h265', - term: 'H.265 / HEVC', - definition: - "High Efficiency Video Coding โ€” successor to {{h264|H.264}} delivering roughly 2x compression at the same quality. Widely used for 4K [[hls|HLS]] / [[dash|DASH]] but with patent-licensing friction that opened the door for royalty-free alternatives like {{av1|AV1}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding', - category: 'web' + id: 'h265', + term: 'H.265 / HEVC', + definition: + 'High Efficiency Video Coding โ€” successor to {{h264|H.264}} delivering roughly 2x compression at the same quality. Widely used for 4K [[hls|HLS]] / [[dash|DASH]] but with patent-licensing friction that opened the door for royalty-free alternatives like {{av1|AV1}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding', + category: 'web' }, { - id: 'vp9', - term: 'VP9', - definition: - "Royalty-free video {{codec|codec}} developed by {{google|Google}}. Comparable compression to {{h265|H.265}} but free of patent licensing; used heavily by YouTube. Carried in WebM and {{fragmented-mp4|fMP4}} containers for [[dash|DASH]] streaming.", - wikiUrl: 'https://en.wikipedia.org/wiki/VP9', - category: 'web' + id: 'vp9', + term: 'VP9', + definition: + 'Royalty-free video {{codec|codec}} developed by {{google|Google}}. Comparable compression to {{h265|H.265}} but free of patent licensing; used heavily by YouTube. Carried in WebM and {{fragmented-mp4|fMP4}} containers for [[dash|DASH]] streaming.', + wikiUrl: 'https://en.wikipedia.org/wiki/VP9', + category: 'web' }, { - id: 'av1', - term: 'AV1', - definition: - "Open, royalty-free video {{codec|codec}} from the Alliance for Open Media (Google, Netflix, Amazon, Apple). Roughly 30% better compression than {{h265|H.265}}. Native support in Chrome, Firefox, Safari 17+, and modern Android/iOS hardware decoders.", - wikiUrl: 'https://en.wikipedia.org/wiki/AV1', - category: 'web' + id: 'av1', + term: 'AV1', + definition: + 'Open, royalty-free video {{codec|codec}} from the Alliance for Open Media (Google, Netflix, Amazon, Apple). Roughly 30% better compression than {{h265|H.265}}. Native support in Chrome, Firefox, Safari 17+, and modern Android/iOS hardware decoders.', + wikiUrl: 'https://en.wikipedia.org/wiki/AV1', + category: 'web' }, { - id: 'fragmented-mp4', - term: 'Fragmented MP4 (fMP4)', - definition: - "An MP4 file split into independently-decodable fragments. Each `.m4s` segment in a [[dash|DASH]] stream (and modern [[hls|HLS]]) is one fragment โ€” small enough to {{cdn|CDN}}-cache and quality-switch at the boundary. Built on {{isobmff|ISOBMFF}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO_base_media_file_format', - category: 'web' + id: 'fragmented-mp4', + term: 'Fragmented MP4 (fMP4)', + definition: + 'An MP4 file split into independently-decodable fragments. Each `.m4s` segment in a [[dash|DASH]] stream (and modern [[hls|HLS]]) is one fragment โ€” small enough to {{cdn|CDN}}-cache and quality-switch at the boundary. Built on {{isobmff|ISOBMFF}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/ISO_base_media_file_format', + category: 'web' }, { - id: 'isobmff', - term: 'ISOBMFF (ISO Base Media File Format)', - definition: - "ISO/IEC 14496-12 โ€” the box-based container that underlies MP4, {{fragmented-mp4|fMP4}}, QuickTime, 3GP, and the segment format used by [[dash|DASH]] and CMAF [[hls|HLS]]. {{codec|Codec}}-agnostic: stores video, audio, subtitles, and metadata in nested boxes.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO_base_media_file_format', - category: 'web' + id: 'isobmff', + term: 'ISOBMFF (ISO Base Media File Format)', + definition: + 'ISO/IEC 14496-12 โ€” the box-based container that underlies MP4, {{fragmented-mp4|fMP4}}, QuickTime, 3GP, and the segment format used by [[dash|DASH]] and CMAF [[hls|HLS]]. {{codec|Codec}}-agnostic: stores video, audio, subtitles, and metadata in nested boxes.', + wikiUrl: 'https://en.wikipedia.org/wiki/ISO_base_media_file_format', + category: 'web' }, { - id: 'dash-period', - term: 'DASH Period', - definition: - "Top-level segment of a [[dash|DASH]] {{mpd|MPD}} timeline โ€” a single chapter of the presentation (e.g., main feature vs. ad break). Each Period contains one or more {{dash-adaptation-set|AdaptationSets}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP', - category: 'web' + id: 'dash-period', + term: 'DASH Period', + definition: + 'Top-level segment of a [[dash|DASH]] {{mpd|MPD}} timeline โ€” a single chapter of the presentation (e.g., main feature vs. ad break). Each Period contains one or more {{dash-adaptation-set|AdaptationSets}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP', + category: 'web' }, { - id: 'dash-adaptation-set', - term: 'DASH AdaptationSet', - definition: - "A track within a [[dash|DASH]] {{dash-period|Period}} โ€” typically *video*, *audio*, or *subtitle*. Contains multiple {{dash-representation|Representations}} that are alternative quality variants the player chooses between.", - category: 'web' + id: 'dash-adaptation-set', + term: 'DASH AdaptationSet', + definition: + 'A track within a [[dash|DASH]] {{dash-period|Period}} โ€” typically *video*, *audio*, or *subtitle*. Contains multiple {{dash-representation|Representations}} that are alternative quality variants the player chooses between.', + category: 'web' }, { - id: 'dash-representation', - term: 'DASH Representation', - definition: - "A single quality variant inside a {{dash-adaptation-set|DASH AdaptationSet}} โ€” e.g., the 720p version of the video track. The {{adaptive-bitrate|ABR}} algorithm switches between Representations as {{bandwidth|bandwidth}} changes.", - category: 'web' + id: 'dash-representation', + term: 'DASH Representation', + definition: + 'A single quality variant inside a {{dash-adaptation-set|DASH AdaptationSet}} โ€” e.g., the 720p version of the video track. The {{adaptive-bitrate|ABR}} algorithm switches between Representations as {{bandwidth|bandwidth}} changes.', + category: 'web' }, { - id: 'abr-bola', - term: 'BOLA (Buffer Occupancy based Lyapunov Algorithm)', - definition: - "Buffer-based {{adaptive-bitrate|ABR}} algorithm that picks the next segment's quality based on how full the player's buffer is โ€” not on measured throughput. The default in dash.js since 2016. More robust than throughput-only methods under variable network conditions.", - category: 'web' + id: 'abr-bola', + term: 'BOLA (Buffer Occupancy based Lyapunov Algorithm)', + definition: + "Buffer-based {{adaptive-bitrate|ABR}} algorithm that picks the next segment's quality based on how full the player's buffer is โ€” not on measured throughput. The default in dash.js since 2016. More robust than throughput-only methods under variable network conditions.", + category: 'web' }, { - id: 'sdp-offer-answer', - term: 'SDP Offer/Answer Model', - definition: - "The negotiation pattern used by [[sip|SIP]] and [[webrtc|WebRTC]] (RFC 3264). Side A sends an [[sdp|SDP]] *offer* listing every {{codec|codec}}/transport it supports; side B replies with an *answer* that contains only the intersection. One round trip โ€” no haggling, no renegotiation under steady state.", - wikiUrl: 'https://en.wikipedia.org/wiki/Session_Description_Protocol', - category: 'web' + id: 'sdp-offer-answer', + term: 'SDP Offer/Answer Model', + definition: + 'The negotiation pattern used by [[sip|SIP]] and [[webrtc|WebRTC]] (RFC 3264). Side A sends an [[sdp|SDP]] *offer* listing every {{codec|codec}}/transport it supports; side B replies with an *answer* that contains only the intersection. One round trip โ€” no haggling, no renegotiation under steady state.', + wikiUrl: 'https://en.wikipedia.org/wiki/Session_Description_Protocol', + category: 'web' }, { - id: 'sip-invite', - term: 'SIP INVITE', - definition: - "The [[sip|SIP]] request that initiates a session โ€” please ring this user. Body carries an [[sdp|SDP]] offer describing what audio/video the caller can send. Uses a {{three-way-handshake|three-way pattern}} (INVITE -> final response -> {{sip-ack|ACK}}) to be safe over [[udp|UDP]].", - wikiUrl: 'https://en.wikipedia.org/wiki/Session_Initiation_Protocol', - category: 'web' + id: 'sip-invite', + term: 'SIP INVITE', + definition: + 'The [[sip|SIP]] request that initiates a session โ€” please ring this user. Body carries an [[sdp|SDP]] offer describing what audio/video the caller can send. Uses a {{three-way-handshake|three-way pattern}} (INVITE -> final response -> {{sip-ack|ACK}}) to be safe over [[udp|UDP]].', + wikiUrl: 'https://en.wikipedia.org/wiki/Session_Initiation_Protocol', + category: 'web' }, { - id: 'sip-register', - term: 'SIP REGISTER', - definition: - "[[sip|SIP]] request that maps a SIP URI (`bob@example.com`) to the device's current {{ip-address|IP}} and {{port|port}}. The {{sip-registrar|registrar}} stores this binding so future {{sip-invite|INVITEs}} can be routed to the right device.", - category: 'web' + id: 'sip-register', + term: 'SIP REGISTER', + definition: + "[[sip|SIP]] request that maps a SIP URI (`bob@example.com`) to the device's current {{ip-address|IP}} and {{port|port}}. The {{sip-registrar|registrar}} stores this binding so future {{sip-invite|INVITEs}} can be routed to the right device.", + category: 'web' }, { - id: 'sip-ack', - term: 'SIP ACK', - definition: - "Third leg of the [[sip|SIP]] {{sip-invite|INVITE}} {{three-way-handshake|three-way handshake}}. The caller confirms it received the `{{sip-200-ok|200 OK}}`. Unlike most [[sip|SIP]] requests, the ACK to a 2xx response is hop-by-hop generated by the end user agent โ€” not by the proxy.", - category: 'web' + id: 'sip-ack', + term: 'SIP ACK', + definition: + 'Third leg of the [[sip|SIP]] {{sip-invite|INVITE}} {{three-way-handshake|three-way handshake}}. The caller confirms it received the `{{sip-200-ok|200 OK}}`. Unlike most [[sip|SIP]] requests, the ACK to a 2xx response is hop-by-hop generated by the end user agent โ€” not by the proxy.', + category: 'web' }, { - id: 'sip-bye', - term: 'SIP BYE', - definition: - "[[sip|SIP]] request that ends an established session. Either side can send BYE; the receiver replies `{{sip-200-ok|200 OK}}` and tears down the dialog. Media flow stops immediately.", - category: 'web' + id: 'sip-bye', + term: 'SIP BYE', + definition: + '[[sip|SIP]] request that ends an established session. Either side can send BYE; the receiver replies `{{sip-200-ok|200 OK}}` and tears down the dialog. Media flow stops immediately.', + category: 'web' }, { - id: 'sip-180-ringing', - term: 'SIP 180 Ringing', - definition: - "[[sip|SIP]] {{sip-provisional-response|provisional response}} (1xx) meaning *the callee's phone is being alerted*. May arrive multiple times as the {{sip-proxy|proxy}} forks the {{sip-invite|INVITE}} to multiple devices. Not a final response โ€” the call isn't answered yet.", - category: 'web' + id: 'sip-180-ringing', + term: 'SIP 180 Ringing', + definition: + "[[sip|SIP]] {{sip-provisional-response|provisional response}} (1xx) meaning *the callee's phone is being alerted*. May arrive multiple times as the {{sip-proxy|proxy}} forks the {{sip-invite|INVITE}} to multiple devices. Not a final response โ€” the call isn't answered yet.", + category: 'web' }, { - id: 'sip-200-ok', - term: 'SIP 200 OK', - definition: - "[[sip|SIP]] final response (2xx) โ€” the callee answered. The 200 OK to an {{sip-invite|INVITE}} carries the [[sdp|SDP]] *answer*, completing {{codec|codec}}/{{port|port}} negotiation. Caller responds with {{sip-ack|ACK}}.", - category: 'web' + id: 'sip-200-ok', + term: 'SIP 200 OK', + definition: + '[[sip|SIP]] final response (2xx) โ€” the callee answered. The 200 OK to an {{sip-invite|INVITE}} carries the [[sdp|SDP]] *answer*, completing {{codec|codec}}/{{port|port}} negotiation. Caller responds with {{sip-ack|ACK}}.', + category: 'web' }, { - id: 'sip-provisional-response', - term: 'SIP Provisional Response (1xx)', - definition: - "Any [[sip|SIP]] response in the 100-199 range โ€” informational, not final. Common: `100 Trying`, `{{sip-180-ringing|180 Ringing}}`, `183 Session Progress`. Lets the caller know the request is being processed before a final 2xx/4xx/5xx/6xx response arrives.", - category: 'web' + id: 'sip-provisional-response', + term: 'SIP Provisional Response (1xx)', + definition: + 'Any [[sip|SIP]] response in the 100-199 range โ€” informational, not final. Common: `100 Trying`, `{{sip-180-ringing|180 Ringing}}`, `183 Session Progress`. Lets the caller know the request is being processed before a final 2xx/4xx/5xx/6xx response arrives.', + category: 'web' }, { - id: 'sip-proxy', - term: 'SIP Proxy', - definition: - "Intermediary server that routes [[sip|SIP]] requests towards the callee โ€” like an SMTP relay for VoIP. May fork an {{sip-invite|INVITE}} to multiple registered devices ({{sip-forking|forking}}). Once the session establishes, media usually bypasses the proxy and flows {{peer-to-peer|peer-to-peer}}.", - category: 'web' + id: 'sip-proxy', + term: 'SIP Proxy', + definition: + 'Intermediary server that routes [[sip|SIP]] requests towards the callee โ€” like an SMTP relay for VoIP. May fork an {{sip-invite|INVITE}} to multiple registered devices ({{sip-forking|forking}}). Once the session establishes, media usually bypasses the proxy and flows {{peer-to-peer|peer-to-peer}}.', + category: 'web' }, { - id: 'sip-registrar', - term: 'SIP Registrar', - definition: - "[[sip|SIP]] server that accepts {{sip-register|REGISTER}} requests and stores the binding between a SIP URI (`bob@example.com`) and the device's current {{ip-address|IP}} and {{port|port}}. The {{sip-proxy|proxy}} queries the registrar to find where to route incoming calls.", - category: 'web' + id: 'sip-registrar', + term: 'SIP Registrar', + definition: + "[[sip|SIP]] server that accepts {{sip-register|REGISTER}} requests and stores the binding between a SIP URI (`bob@example.com`) and the device's current {{ip-address|IP}} and {{port|port}}. The {{sip-proxy|proxy}} queries the registrar to find where to route incoming calls.", + category: 'web' }, { - id: 'sip-forking', - term: 'SIP Forking', - definition: - "A {{sip-proxy|SIP proxy}} feature: when Bob has multiple devices registered to the same SIP URI, the proxy can fan the {{sip-invite|INVITE}} out to all of them in parallel โ€” so every phone he owns rings at once. The first to answer wins; the others get a CANCEL.", - category: 'web' + id: 'sip-forking', + term: 'SIP Forking', + definition: + 'A {{sip-proxy|SIP proxy}} feature: when Bob has multiple devices registered to the same SIP URI, the proxy can fan the {{sip-invite|INVITE}} out to all of them in parallel โ€” so every phone he owns rings at once. The first to answer wins; the others get a CANCEL.', + category: 'web' }, { - id: 'ssh-kex-init', - term: 'SSH KEX_INIT', - definition: - "The opening message of the [[ssh|SSH]] {{ssh-key-exchange|key exchange}}. Each side lists the algorithms it supports for {{ssh-key-exchange|key exchange}}, host-key, {{encryption|encryption}}, {{hmac|MAC}}, and compression. Both ends then pick the strongest mutual choice.", - wikiUrl: 'https://en.wikipedia.org/wiki/Secure_Shell', - category: 'security' + id: 'ssh-kex-init', + term: 'SSH KEX_INIT', + definition: + 'The opening message of the [[ssh|SSH]] {{ssh-key-exchange|key exchange}}. Each side lists the algorithms it supports for {{ssh-key-exchange|key exchange}}, host-key, {{encryption|encryption}}, {{hmac|MAC}}, and compression. Both ends then pick the strongest mutual choice.', + wikiUrl: 'https://en.wikipedia.org/wiki/Secure_Shell', + category: 'security' }, { - id: 'ssh-key-exchange', - term: 'SSH Key Exchange', - definition: - "Phase of the [[ssh|SSH]] connection that derives a shared session key โ€” typically via {{diffie-hellman|Diffie-Hellman}} or {{ecdh|ECDH}} on Curve25519. The session key encrypts every byte that follows; an eavesdropper with the full transcript still can't recover it.", - category: 'security' + id: 'ssh-key-exchange', + term: 'SSH Key Exchange', + definition: + "Phase of the [[ssh|SSH]] connection that derives a shared session key โ€” typically via {{diffie-hellman|Diffie-Hellman}} or {{ecdh|ECDH}} on Curve25519. The session key encrypts every byte that follows; an eavesdropper with the full transcript still can't recover it.", + category: 'security' }, { - id: 'ssh-host-key', - term: 'SSH Host Key', - definition: - "Long-term {{asymmetric-encryption|asymmetric}} key pair that identifies an [[ssh|SSH]] server across reboots. The client pins the public half in `known_hosts`; on later connections it verifies the server signs the {{ssh-key-exchange|KEX}} transcript with the matching {{private-key|private key}}. Defeats {{man-in-the-middle|MITM}}.", - category: 'security' + id: 'ssh-host-key', + term: 'SSH Host Key', + definition: + 'Long-term {{asymmetric-encryption|asymmetric}} key pair that identifies an [[ssh|SSH]] server across reboots. The client pins the public half in `known_hosts`; on later connections it verifies the server signs the {{ssh-key-exchange|KEX}} transcript with the matching {{private-key|private key}}. Defeats {{man-in-the-middle|MITM}}.', + category: 'security' }, { - id: 'ssh-tofu', - term: 'TOFU (Trust on First Use)', - definition: - "Security model used by [[ssh|SSH]] and many other protocols: trust the public key the *first* time you see it, pin it locally, alert loudly if it ever changes. Pragmatic compromise โ€” no {{pki|PKI}} needed, but the first connection is unauthenticated.", - wikiUrl: 'https://en.wikipedia.org/wiki/Trust_on_first_use', - category: 'security' + id: 'ssh-tofu', + term: 'TOFU (Trust on First Use)', + definition: + 'Security model used by [[ssh|SSH]] and many other protocols: trust the public key the *first* time you see it, pin it locally, alert loudly if it ever changes. Pragmatic compromise โ€” no {{pki|PKI}} needed, but the first connection is unauthenticated.', + wikiUrl: 'https://en.wikipedia.org/wiki/Trust_on_first_use', + category: 'security' }, { - id: 'ssh-publickey-auth', - term: 'SSH publickey Authentication', - definition: - "[[ssh|SSH]] auth method where the client proves possession of a {{private-key|private key}} matching a {{public-key|public key}} the server has authorised (in `~/.ssh/authorized_keys`). The de-facto standard for server access; replaces password auth entirely in modern deployments.", - category: 'security' + id: 'ssh-publickey-auth', + term: 'SSH publickey Authentication', + definition: + '[[ssh|SSH]] auth method where the client proves possession of a {{private-key|private key}} matching a {{public-key|public key}} the server has authorised (in `~/.ssh/authorized_keys`). The de-facto standard for server access; replaces password auth entirely in modern deployments.', + category: 'security' }, { - id: 'ssh-keyboard-interactive', - term: 'SSH keyboard-interactive', - definition: - "[[ssh|SSH]] auth method (RFC 4256) that lets the server prompt the client for arbitrary challenges โ€” used for 2FA, OTP tokens, and PAM-driven flows. The server sends a list of prompts; the client returns responses.", - category: 'security' + id: 'ssh-keyboard-interactive', + term: 'SSH keyboard-interactive', + definition: + '[[ssh|SSH]] auth method (RFC 4256) that lets the server prompt the client for arbitrary challenges โ€” used for 2FA, OTP tokens, and PAM-driven flows. The server sends a list of prompts; the client returns responses.', + category: 'security' }, { - id: 'ssh-channels', - term: 'SSH Channels', - definition: - "Logical streams inside one [[ssh|SSH]] connection. {{multiplexing|Multiplexes}} interactive shells, file transfer ({{sftp|SFTP}}), {{port-forwarding|port forwarding}}, and X11 forwarding โ€” all on the same encrypted [[tcp|TCP]] {{socket|socket}}.", - category: 'security' + id: 'ssh-channels', + term: 'SSH Channels', + definition: + 'Logical streams inside one [[ssh|SSH]] connection. {{multiplexing|Multiplexes}} interactive shells, file transfer ({{sftp|SFTP}}), {{port-forwarding|port forwarding}}, and X11 forwarding โ€” all on the same encrypted [[tcp|TCP]] {{socket|socket}}.', + category: 'security' }, { - id: 'tls-certificate-verify', - term: 'TLS CertificateVerify', - definition: - "[[tls|TLS]] 1.3 {{tls-handshake|handshake}} message in which the server signs the entire transcript with the {{private-key|private key}} matching its {{certificate|certificate}}. Proves the server actually owns the cert โ€” without this step a {{man-in-the-middle|MITM}} could replay someone else's cert.", - category: 'security' + id: 'tls-certificate-verify', + term: 'TLS CertificateVerify', + definition: + "[[tls|TLS]] 1.3 {{tls-handshake|handshake}} message in which the server signs the entire transcript with the {{private-key|private key}} matching its {{certificate|certificate}}. Proves the server actually owns the cert โ€” without this step a {{man-in-the-middle|MITM}} could replay someone else's cert.", + category: 'security' }, { - id: 'csrf', - term: 'CSRF (Cross-Site Request Forgery)', - definition: - "Attack class where a malicious site tricks a logged-in user's browser into making an unwanted request to a target site, riding on the user's session {{cookie|cookies}}. Defences: {{oauth-state|state}} tokens, SameSite cookies, double-submit headers.", - wikiUrl: 'https://en.wikipedia.org/wiki/Cross-site_request_forgery', - category: 'security' + id: 'csrf', + term: 'CSRF (Cross-Site Request Forgery)', + definition: + "Attack class where a malicious site tricks a logged-in user's browser into making an unwanted request to a target site, riding on the user's session {{cookie|cookies}}. Defences: {{oauth-state|state}} tokens, SameSite cookies, double-submit headers.", + wikiUrl: 'https://en.wikipedia.org/wiki/Cross-site_request_forgery', + category: 'security' }, { - id: 'oauth-state', - term: 'OAuth state parameter', - definition: - "Opaque, unpredictable token included in an [[oauth2|OAuth]] authorization request and echoed back in the redirect. Lets the client verify the response matches a request *it* initiated โ€” preventing {{csrf|CSRF}} on the callback endpoint. Always required.", - category: 'security' + id: 'oauth-state', + term: 'OAuth state parameter', + definition: + 'Opaque, unpredictable token included in an [[oauth2|OAuth]] authorization request and echoed back in the redirect. Lets the client verify the response matches a request *it* initiated โ€” preventing {{csrf|CSRF}} on the callback endpoint. Always required.', + category: 'security' }, { - id: 'oauth-auth-code', - term: 'OAuth Authorization Code', - definition: - "Short-lived (~30 s), single-use token returned by the [[oauth2|OAuth]] authorization server after user {{oauth-consent|consent}}. The client exchanges it (plus {{pkce|PKCE}} `code_verifier`) at the token endpoint for an {{access-token|access token}} + {{oauth-refresh-token|refresh token}}.", - category: 'security' + id: 'oauth-auth-code', + term: 'OAuth Authorization Code', + definition: + 'Short-lived (~30 s), single-use token returned by the [[oauth2|OAuth]] authorization server after user {{oauth-consent|consent}}. The client exchanges it (plus {{pkce|PKCE}} `code_verifier`) at the token endpoint for an {{access-token|access token}} + {{oauth-refresh-token|refresh token}}.', + category: 'security' }, { - id: 'oauth-consent', - term: 'OAuth Consent Screen', - definition: - "The page where the user reviews and approves which {{oauth-scope|scopes}} a client app is requesting access to. Run by the [[oauth2|OAuth]] authorization server โ€” the client never sees the user's password.", - category: 'security' + id: 'oauth-consent', + term: 'OAuth Consent Screen', + definition: + "The page where the user reviews and approves which {{oauth-scope|scopes}} a client app is requesting access to. Run by the [[oauth2|OAuth]] authorization server โ€” the client never sees the user's password.", + category: 'security' }, { - id: 'oauth-scope', - term: 'OAuth Scope', - definition: - "String identifying a specific permission requested by an [[oauth2|OAuth]] client (e.g., `read:user`, `repo`, `email`). Shown on the {{oauth-consent|consent screen}} so the user knows what they're granting. The {{access-token|access token}} is bound to the approved scopes.", - category: 'security' + id: 'oauth-scope', + term: 'OAuth Scope', + definition: + "String identifying a specific permission requested by an [[oauth2|OAuth]] client (e.g., `read:user`, `repo`, `email`). Shown on the {{oauth-consent|consent screen}} so the user knows what they're granting. The {{access-token|access token}} is bound to the approved scopes.", + category: 'security' }, { - id: 'oauth-client-id', - term: 'OAuth client_id', - definition: - "Public identifier the [[oauth2|OAuth]] authorization server uses to recognise a registered client application. Sent in every request (`/authorize`, `/token`). Not a secret โ€” paired with {{pkce|PKCE}} or a `client_secret` for confidential clients.", - category: 'security' + id: 'oauth-client-id', + term: 'OAuth client_id', + definition: + 'Public identifier the [[oauth2|OAuth]] authorization server uses to recognise a registered client application. Sent in every request (`/authorize`, `/token`). Not a secret โ€” paired with {{pkce|PKCE}} or a `client_secret` for confidential clients.', + category: 'security' }, { - id: 'oauth-refresh-token', - term: 'OAuth Refresh Token', - definition: - "Long-lived [[oauth2|OAuth]] token used to obtain new {{access-token|access tokens}} without re-prompting the user. Must be stored confidentially (server-side only for web apps). Rotated by the auth server on each use in modern implementations.", - category: 'security' + id: 'oauth-refresh-token', + term: 'OAuth Refresh Token', + definition: + 'Long-lived [[oauth2|OAuth]] token used to obtain new {{access-token|access tokens}} without re-prompting the user. Must be stored confidentially (server-side only for web apps). Rotated by the auth server on each use in modern implementations.', + category: 'security' }, { - id: 'rsa', - term: 'RSA', - definition: - "{{asymmetric-encryption|Asymmetric}} algorithm (Rivest-Shamir-Adleman, 1977) for signatures and key encapsulation. Security rests on the difficulty of factoring large integers. Still common in [[tls|TLS]] / [[ipsec|IPsec]] {{certificate|certificates}}, though {{ecdsa|ECDSA}} and Ed25519 are now preferred.", - wikiUrl: 'https://en.wikipedia.org/wiki/RSA_(cryptosystem)', - category: 'security' + id: 'rsa', + term: 'RSA', + definition: + '{{asymmetric-encryption|Asymmetric}} algorithm (Rivest-Shamir-Adleman, 1977) for signatures and key encapsulation. Security rests on the difficulty of factoring large integers. Still common in [[tls|TLS]] / [[ipsec|IPsec]] {{certificate|certificates}}, though {{ecdsa|ECDSA}} and Ed25519 are now preferred.', + wikiUrl: 'https://en.wikipedia.org/wiki/RSA_(cryptosystem)', + category: 'security' }, { - id: 'ecdsa', - term: 'ECDSA (Elliptic Curve Digital Signature Algorithm)', - definition: - "Digital signature scheme over elliptic curves โ€” much shorter keys/signatures than {{rsa|RSA}} for equivalent security. Used in [[tls|TLS]] / [[ssh|SSH]] / [[ipsec|IPsec]] {{certificate|certificates}}, and as the signature algorithm in Bitcoin and Ethereum.", - wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm', - category: 'security' + id: 'ecdsa', + term: 'ECDSA (Elliptic Curve Digital Signature Algorithm)', + definition: + 'Digital signature scheme over elliptic curves โ€” much shorter keys/signatures than {{rsa|RSA}} for equivalent security. Used in [[tls|TLS]] / [[ssh|SSH]] / [[ipsec|IPsec]] {{certificate|certificates}}, and as the signature algorithm in Bitcoin and Ethereum.', + wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm', + category: 'security' }, { - id: 'ecdh', - term: 'ECDH (Elliptic Curve Diffie-Hellman)', - definition: - "Variant of {{diffie-hellman|Diffie-Hellman}} key exchange over elliptic curves (commonly Curve25519 or P-256). Much smaller keys, faster computation, same shared-secret derivation. The default {{ssh-key-exchange|key exchange}} in modern [[tls|TLS]] 1.3 and [[ssh|SSH]].", - wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman', - category: 'security' + id: 'ecdh', + term: 'ECDH (Elliptic Curve Diffie-Hellman)', + definition: + 'Variant of {{diffie-hellman|Diffie-Hellman}} key exchange over elliptic curves (commonly Curve25519 or P-256). Much smaller keys, faster computation, same shared-secret derivation. The default {{ssh-key-exchange|key exchange}} in modern [[tls|TLS]] 1.3 and [[ssh|SSH]].', + wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman', + category: 'security' }, { - id: 'psk', - term: 'PSK (Pre-Shared Key)', - definition: - "Authentication mode where both parties share a long-term symmetric secret out of band โ€” no {{certificate|certificates}}, no {{pki|PKI}}. Used in [[ipsec|IPsec]] site-to-site VPNs, [[wireguard|WireGuard]] (optional mix), and consumer Wi-Fi (WPA-PSK).", - wikiUrl: 'https://en.wikipedia.org/wiki/Pre-shared_key', - category: 'security' + id: 'psk', + term: 'PSK (Pre-Shared Key)', + definition: + 'Authentication mode where both parties share a long-term symmetric secret out of band โ€” no {{certificate|certificates}}, no {{pki|PKI}}. Used in [[ipsec|IPsec]] site-to-site VPNs, [[wireguard|WireGuard]] (optional mix), and consumer Wi-Fi (WPA-PSK).', + wikiUrl: 'https://en.wikipedia.org/wiki/Pre-shared_key', + category: 'security' }, { - id: 'curve25519', - term: 'Curve25519', - definition: - "Modern elliptic curve designed by [[pioneer:dan-bernstein|Daniel J. Bernstein]] (2005). Used for {{ecdh|ECDH}} in [[tls|TLS]] 1.3, [[ssh|SSH]], [[wireguard|WireGuard]], Signal โ€” fast, side-channel-resistant, and free of suspect NIST parameters.", - wikiUrl: 'https://en.wikipedia.org/wiki/Curve25519', - category: 'security' + id: 'curve25519', + term: 'Curve25519', + definition: + 'Modern elliptic curve designed by [[pioneer:dan-bernstein|Daniel J. Bernstein]] (2005). Used for {{ecdh|ECDH}} in [[tls|TLS]] 1.3, [[ssh|SSH]], [[wireguard|WireGuard]], Signal โ€” fast, side-channel-resistant, and free of suspect NIST parameters.', + wikiUrl: 'https://en.wikipedia.org/wiki/Curve25519', + category: 'security' }, { - id: 'poly1305', - term: 'Poly1305', - definition: - "One-time authenticator (Bernstein, 2005) used as the integrity tag in the {{chacha20-poly1305|ChaCha20-Poly1305}} {{aead|AEAD}}. Appends a 16-byte tag the receiver verifies before accepting the ciphertext. Replay-safe when paired with a unique {{nonce|nonce}} per message.", - wikiUrl: 'https://en.wikipedia.org/wiki/Poly1305', - category: 'security' + id: 'poly1305', + term: 'Poly1305', + definition: + 'One-time authenticator (Bernstein, 2005) used as the integrity tag in the {{chacha20-poly1305|ChaCha20-Poly1305}} {{aead|AEAD}}. Appends a 16-byte tag the receiver verifies before accepting the ciphertext. Replay-safe when paired with a unique {{nonce|nonce}} per message.', + wikiUrl: 'https://en.wikipedia.org/wiki/Poly1305', + category: 'security' }, { - id: 'noise-ik', - term: 'Noise_IK pattern', - definition: - "One of the {{noise-protocol|Noise Protocol Framework}} handshake patterns. *I* = initiator's static key sent immediately, *K* = responder's static key already known. The [[wireguard|WireGuard]] handshake is `Noise_IKpsk2` โ€” Noise_IK with an optional pre-shared key mixed in at step 2.", - wikiUrl: 'https://en.wikipedia.org/wiki/Noise_Protocol_Framework', - category: 'security' + id: 'noise-ik', + term: 'Noise_IK pattern', + definition: + "One of the {{noise-protocol|Noise Protocol Framework}} handshake patterns. *I* = initiator's static key sent immediately, *K* = responder's static key already known. The [[wireguard|WireGuard]] handshake is `Noise_IKpsk2` โ€” Noise_IK with an optional pre-shared key mixed in at step 2.", + wikiUrl: 'https://en.wikipedia.org/wiki/Noise_Protocol_Framework', + category: 'security' }, { - id: 'noise-protocol', - term: 'Noise Protocol Framework', - definition: - "Family of cryptographic handshake patterns by [[pioneer:trevor-perrin|Trevor Perrin]] โ€” pick a pattern (IK, XX, NK), plug in DH curve + cipher + hash, get a complete handshake. Powers [[wireguard|WireGuard]], WhatsApp, Signal, and Lightning Network.", - wikiUrl: 'https://en.wikipedia.org/wiki/Noise_Protocol_Framework', - category: 'security' + id: 'noise-protocol', + term: 'Noise Protocol Framework', + definition: + 'Family of cryptographic handshake patterns by [[pioneer:trevor-perrin|Trevor Perrin]] โ€” pick a pattern (IK, XX, NK), plug in DH curve + cipher + hash, get a complete handshake. Powers [[wireguard|WireGuard]], WhatsApp, Signal, and Lightning Network.', + wikiUrl: 'https://en.wikipedia.org/wiki/Noise_Protocol_Framework', + category: 'security' }, { - id: 'wg-handshake-initiation', - term: 'WireGuard Handshake Initiation (type=1)', - definition: - "First message of the [[wireguard|WireGuard]] {{noise-ik|Noise_IKpsk2}} handshake โ€” 148 bytes. Carries the initiator's ephemeral pubkey, an {{aead|AEAD}}-encrypted copy of its static pubkey, a {{wg-tai64n|TAI64N}} timestamp, and the {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}} cookie pair.", - category: 'security' + id: 'wg-handshake-initiation', + term: 'WireGuard Handshake Initiation (type=1)', + definition: + "First message of the [[wireguard|WireGuard]] {{noise-ik|Noise_IKpsk2}} handshake โ€” 148 bytes. Carries the initiator's ephemeral pubkey, an {{aead|AEAD}}-encrypted copy of its static pubkey, a {{wg-tai64n|TAI64N}} timestamp, and the {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}} cookie pair.", + category: 'security' }, { - id: 'wg-handshake-response', - term: 'WireGuard Handshake Response (type=2)', - definition: - "Second message of the [[wireguard|WireGuard]] handshake โ€” 92 bytes. The responder's ephemeral pubkey, an {{aead|AEAD}}-encrypted empty payload (proves key agreement), and {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}}. After this, both peers hold matching {{chacha20-poly1305|ChaCha20-Poly1305}} keys.", - category: 'security' + id: 'wg-handshake-response', + term: 'WireGuard Handshake Response (type=2)', + definition: + "Second message of the [[wireguard|WireGuard]] handshake โ€” 92 bytes. The responder's ephemeral pubkey, an {{aead|AEAD}}-encrypted empty payload (proves key agreement), and {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}}. After this, both peers hold matching {{chacha20-poly1305|ChaCha20-Poly1305}} keys.", + category: 'security' }, { - id: 'wg-transport-data', - term: 'WireGuard Transport Data (type=4)', - definition: - "Steady-state [[wireguard|WireGuard]] {{packet|packet}} carrying an encrypted inner [[ip|IP]] payload. 16-byte header (type + receiver-index + 64-bit counter) + {{aead|AEAD}} ciphertext + 16-byte {{poly1305|Poly1305}} tag. Counter doubles as both the nonce and {{anti-replay|anti-replay}} sequence number.", - category: 'security' + id: 'wg-transport-data', + term: 'WireGuard Transport Data (type=4)', + definition: + 'Steady-state [[wireguard|WireGuard]] {{packet|packet}} carrying an encrypted inner [[ip|IP]] payload. 16-byte header (type + receiver-index + 64-bit counter) + {{aead|AEAD}} ciphertext + 16-byte {{poly1305|Poly1305}} tag. Counter doubles as both the nonce and {{anti-replay|anti-replay}} sequence number.', + category: 'security' }, { - id: 'wg-ephemeral-key', - term: 'Ephemeral Key (WireGuard)', - definition: - "Single-use Curve25519 key pair generated fresh for each [[wireguard|WireGuard]] {{handshake|handshake}}. Provides {{forward-secrecy|forward secrecy}}: even if the long-term static key leaks later, past session keys cannot be recovered.", - category: 'security' + id: 'wg-ephemeral-key', + term: 'Ephemeral Key (WireGuard)', + definition: + 'Single-use Curve25519 key pair generated fresh for each [[wireguard|WireGuard]] {{handshake|handshake}}. Provides {{forward-secrecy|forward secrecy}}: even if the long-term static key leaks later, past session keys cannot be recovered.', + category: 'security' }, { - id: 'wg-tai64n', - term: 'TAI64N timestamp', - definition: - "12-byte time-of-day stamp embedded in the [[wireguard|WireGuard]] {{wg-handshake-initiation|Handshake Initiation}}. Lets the responder reject replayed initiations that are older than the most recent one seen โ€” without keeping per-peer replay tables.", - wikiUrl: 'https://cr.yp.to/libtai/tai64.html', - category: 'security' + id: 'wg-tai64n', + term: 'TAI64N timestamp', + definition: + '12-byte time-of-day stamp embedded in the [[wireguard|WireGuard]] {{wg-handshake-initiation|Handshake Initiation}}. Lets the responder reject replayed initiations that are older than the most recent one seen โ€” without keeping per-peer replay tables.', + wikiUrl: 'https://cr.yp.to/libtai/tai64.html', + category: 'security' }, { - id: 'wg-mac1', - term: 'WireGuard MAC1', - definition: - "First message authentication code in every [[wireguard|WireGuard]] handshake packet. Computed over the message using the responder's static public key โ€” proves the sender already knows that pubkey. Cheap anti-amplification check.", - category: 'security' + id: 'wg-mac1', + term: 'WireGuard MAC1', + definition: + "First message authentication code in every [[wireguard|WireGuard]] handshake packet. Computed over the message using the responder's static public key โ€” proves the sender already knows that pubkey. Cheap anti-amplification check.", + category: 'security' }, { - id: 'wg-mac2', - term: 'WireGuard MAC2 (Cookie)', - definition: - "Second [[wireguard|WireGuard]] handshake MAC, normally zero but populated with a server-issued cookie when the responder is under DoS load. Acts as a stateless rate-limiter โ€” initiators must prove reachability before the responder spends CPU verifying signatures.", - category: 'security' + id: 'wg-mac2', + term: 'WireGuard MAC2 (Cookie)', + definition: + 'Second [[wireguard|WireGuard]] handshake MAC, normally zero but populated with a server-issued cookie when the responder is under DoS load. Acts as a stateless rate-limiter โ€” initiators must prove reachability before the responder spends CPU verifying signatures.', + category: 'security' }, { - id: 'post-quantum', - term: 'Post-Quantum Cryptography (PQC)', - definition: - "Algorithms believed to resist attacks by future large-scale quantum computers โ€” e.g., {{ml-kem|ML-KEM}}, ML-DSA, SLH-DSA (NIST FIPS 203/204/205, 2024). Being added to [[tls|TLS]], [[ssh|SSH]], [[ipsec|IPsec]] via hybrid handshakes that mix PQC with classical {{ecdh|ECDH}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Post-quantum_cryptography', - category: 'security' + id: 'post-quantum', + term: 'Post-Quantum Cryptography (PQC)', + definition: + 'Algorithms believed to resist attacks by future large-scale quantum computers โ€” e.g., {{ml-kem|ML-KEM}}, ML-DSA, SLH-DSA (NIST FIPS 203/204/205, 2024). Being added to [[tls|TLS]], [[ssh|SSH]], [[ipsec|IPsec]] via hybrid handshakes that mix PQC with classical {{ecdh|ECDH}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Post-quantum_cryptography', + category: 'security' }, { - id: 'kem', - term: 'KEM (Key Encapsulation Mechanism)', - definition: - "Cryptographic primitive for transmitting a symmetric key under a recipient's {{public-key|public key}}. {{post-quantum|Post-quantum}} {{ml-kem|ML-KEM}} is a KEM, as is classical RSA-KEM. KEMs replace ephemeral {{diffie-hellman|DH}} in PQC-era [[tls|TLS]] / [[ipsec|IPsec]] handshakes.", - wikiUrl: 'https://en.wikipedia.org/wiki/Key_encapsulation_mechanism', - category: 'security' + id: 'kem', + term: 'KEM (Key Encapsulation Mechanism)', + definition: + "Cryptographic primitive for transmitting a symmetric key under a recipient's {{public-key|public key}}. {{post-quantum|Post-quantum}} {{ml-kem|ML-KEM}} is a KEM, as is classical RSA-KEM. KEMs replace ephemeral {{diffie-hellman|DH}} in PQC-era [[tls|TLS]] / [[ipsec|IPsec]] handshakes.", + wikiUrl: 'https://en.wikipedia.org/wiki/Key_encapsulation_mechanism', + category: 'security' }, { - id: 'ipsec-ike-sa-init', - term: 'IKE_SA_INIT', - definition: - "First [[ipsec|IPsec]] {{ike|IKEv2}} exchange โ€” proposes a {{cipher-suite|cipher suite}}, runs {{diffie-hellman|Diffie-Hellman}} / {{ecdh|ECDH}} / {{kem|KEM}}, exchanges {{nonce|Nonces}}, and runs {{ipsec-nat-detection|NAT_DETECTION}}. No {{encryption|encryption}} yet โ€” keys don't exist until this completes.", - category: 'security' + id: 'ipsec-ike-sa-init', + term: 'IKE_SA_INIT', + definition: + "First [[ipsec|IPsec]] {{ike|IKEv2}} exchange โ€” proposes a {{cipher-suite|cipher suite}}, runs {{diffie-hellman|Diffie-Hellman}} / {{ecdh|ECDH}} / {{kem|KEM}}, exchanges {{nonce|Nonces}}, and runs {{ipsec-nat-detection|NAT_DETECTION}}. No {{encryption|encryption}} yet โ€” keys don't exist until this completes.", + category: 'security' }, { - id: 'ipsec-ike-intermediate', - term: 'IKE_INTERMEDIATE', - definition: - "[[ipsec|IPsec]] {{ike|IKEv2}} exchange added by [[rfc:9242|RFC 9242]] to ship large {{post-quantum|post-quantum}} keys ({{ml-kem|ML-KEM-1024}} ~ 1.5 KB) that won't fit in a single {{ipsec-ike-sa-init|IKE_SA_INIT}} [[udp|UDP]] datagram. Runs encrypted, before identity is revealed; can chain extra {{kem|KEMs}} per [[rfc:9370|RFC 9370]].", - category: 'security' + id: 'ipsec-ike-intermediate', + term: 'IKE_INTERMEDIATE', + definition: + "[[ipsec|IPsec]] {{ike|IKEv2}} exchange added by [[rfc:9242|RFC 9242]] to ship large {{post-quantum|post-quantum}} keys ({{ml-kem|ML-KEM-1024}} ~ 1.5 KB) that won't fit in a single {{ipsec-ike-sa-init|IKE_SA_INIT}} [[udp|UDP]] datagram. Runs encrypted, before identity is revealed; can chain extra {{kem|KEMs}} per [[rfc:9370|RFC 9370]].", + category: 'security' }, { - id: 'ipsec-ike-auth', - term: 'IKE_AUTH', - definition: - "Second [[ipsec|IPsec]] {{ike|IKEv2}} exchange. Carries the identities (`IDi`, `IDr`), authenticates the {{ipsec-ike-sa-init|IKE_SA_INIT}} transcript (with {{rsa|RSA}}/{{ecdsa|ECDSA}} {{certificate|certs}}, {{psk|PSK}}, or {{eap|EAP}}), and negotiates the first {{child-sa|Child SA}}.", - category: 'security' + id: 'ipsec-ike-auth', + term: 'IKE_AUTH', + definition: + 'Second [[ipsec|IPsec]] {{ike|IKEv2}} exchange. Carries the identities (`IDi`, `IDr`), authenticates the {{ipsec-ike-sa-init|IKE_SA_INIT}} transcript (with {{rsa|RSA}}/{{ecdsa|ECDSA}} {{certificate|certs}}, {{psk|PSK}}, or {{eap|EAP}}), and negotiates the first {{child-sa|Child SA}}.', + category: 'security' }, { - id: 'ipsec-create-child-sa', - term: 'CREATE_CHILD_SA', - definition: - "[[ipsec|IPsec]] {{ike|IKEv2}} exchange used both to add new {{child-sa|Child SAs}} and to rekey existing ones (with the `REKEY_SA` notify). Optional fresh {{diffie-hellman|DH}}/{{kem|KEM}} provides {{pfs|Perfect Forward Secrecy}}.", - category: 'security' + id: 'ipsec-create-child-sa', + term: 'CREATE_CHILD_SA', + definition: + '[[ipsec|IPsec]] {{ike|IKEv2}} exchange used both to add new {{child-sa|Child SAs}} and to rekey existing ones (with the `REKEY_SA` notify). Optional fresh {{diffie-hellman|DH}}/{{kem|KEM}} provides {{pfs|Perfect Forward Secrecy}}.', + category: 'security' }, { - id: 'ipsec-informational', - term: 'INFORMATIONAL (IKEv2)', - definition: - "Encrypted [[ipsec|IPsec]] {{ike|IKEv2}} exchange for housekeeping โ€” DELETE notifications when a {{security-association|SA}} expires, dead-peer-detection liveness probes, MOBIKE address updates, error messages.", - category: 'security' + id: 'ipsec-informational', + term: 'INFORMATIONAL (IKEv2)', + definition: + 'Encrypted [[ipsec|IPsec]] {{ike|IKEv2}} exchange for housekeeping โ€” DELETE notifications when a {{security-association|SA}} expires, dead-peer-detection liveness probes, MOBIKE address updates, error messages.', + category: 'security' }, { - id: 'ipsec-nat-detection', - term: 'NAT_DETECTION (IKEv2)', - definition: - "Pair of hash payloads exchanged in {{ipsec-ike-sa-init|IKE_SA_INIT}}: each side hashes its own and peer's IP/port and compares with what arrived. A mismatch means one of them is behind {{nat|NAT}} โ€” triggers UDP-encapsulation of {{esp|ESP}} on port 4500 (NAT-T).", - category: 'security' + id: 'ipsec-nat-detection', + term: 'NAT_DETECTION (IKEv2)', + definition: + "Pair of hash payloads exchanged in {{ipsec-ike-sa-init|IKE_SA_INIT}}: each side hashes its own and peer's IP/port and compares with what arrived. A mismatch means one of them is behind {{nat|NAT}} โ€” triggers UDP-encapsulation of {{esp|ESP}} on port 4500 (NAT-T).", + category: 'security' }, { - id: 'ipsec-skeyseed', - term: 'SKEYSEED', - definition: - "The seed value [[ipsec|IPsec]] {{ike|IKEv2}} derives from the {{ipsec-ike-sa-init|IKE_SA_INIT}} Diffie-Hellman shared secret plus the two {{nonce|Nonces}}. All subsequent {{ike-sa|IKE SA}} keys (`SK_d`, `SK_e`, `SK_a`, `SK_p`) are expanded from SKEYSEED via the prf.", - category: 'security' + id: 'ipsec-skeyseed', + term: 'SKEYSEED', + definition: + 'The seed value [[ipsec|IPsec]] {{ike|IKEv2}} derives from the {{ipsec-ike-sa-init|IKE_SA_INIT}} Diffie-Hellman shared secret plus the two {{nonce|Nonces}}. All subsequent {{ike-sa|IKE SA}} keys (`SK_d`, `SK_e`, `SK_a`, `SK_p`) are expanded from SKEYSEED via the prf.', + category: 'security' }, { - id: 'kerberos-kdc', - term: 'KDC (Key Distribution Center)', - definition: - "Central trusted server in [[kerberos|Kerberos]] โ€” split into the Authentication Service (AS, issues {{kerberos-tgt|TGTs}}) and the {{kerberos-tgs|Ticket Granting Service}} (TGS, issues service tickets). Knows every principal's long-term key; never speaks to services directly.", - wikiUrl: 'https://en.wikipedia.org/wiki/Key_distribution_center', - category: 'security' + id: 'kerberos-kdc', + term: 'KDC (Key Distribution Center)', + definition: + "Central trusted server in [[kerberos|Kerberos]] โ€” split into the Authentication Service (AS, issues {{kerberos-tgt|TGTs}}) and the {{kerberos-tgs|Ticket Granting Service}} (TGS, issues service tickets). Knows every principal's long-term key; never speaks to services directly.", + wikiUrl: 'https://en.wikipedia.org/wiki/Key_distribution_center', + category: 'security' }, { - id: 'kerberos-tgs', - term: 'Ticket Granting Service (TGS)', - definition: - "Half of the [[kerberos|Kerberos]] {{kerberos-kdc|KDC}}. Accepts a {{kerberos-tgt|TGT}} + {{kerberos-authenticator|authenticator}} ({{kerberos-tgs-req|TGS-REQ}}) and returns a {{kerberos-service-ticket|service ticket}} for the requested service ({{kerberos-tgs-rep|TGS-REP}}).", - category: 'security' + id: 'kerberos-tgs', + term: 'Ticket Granting Service (TGS)', + definition: + 'Half of the [[kerberos|Kerberos]] {{kerberos-kdc|KDC}}. Accepts a {{kerberos-tgt|TGT}} + {{kerberos-authenticator|authenticator}} ({{kerberos-tgs-req|TGS-REQ}}) and returns a {{kerberos-service-ticket|service ticket}} for the requested service ({{kerberos-tgs-rep|TGS-REP}}).', + category: 'security' }, { - id: 'kerberos-tgt', - term: 'TGT (Ticket Granting Ticket)', - definition: - "Time-bounded [[kerberos|Kerberos]] credential issued by the Authentication Service in {{kerberos-as-rep|AS-REP}}. {{encryption|Encrypted}} under the {{kerberos-krbtgt|krbtgt}} key (only the KDC reads it). Lets the client request {{kerberos-service-ticket|service tickets}} without re-entering its password โ€” typically valid 10 hours.", - wikiUrl: 'https://en.wikipedia.org/wiki/Ticket_Granting_Ticket', - category: 'security' + id: 'kerberos-tgt', + term: 'TGT (Ticket Granting Ticket)', + definition: + 'Time-bounded [[kerberos|Kerberos]] credential issued by the Authentication Service in {{kerberos-as-rep|AS-REP}}. {{encryption|Encrypted}} under the {{kerberos-krbtgt|krbtgt}} key (only the KDC reads it). Lets the client request {{kerberos-service-ticket|service tickets}} without re-entering its password โ€” typically valid 10 hours.', + wikiUrl: 'https://en.wikipedia.org/wiki/Ticket_Granting_Ticket', + category: 'security' }, { - id: 'kerberos-krbtgt', - term: 'krbtgt', - definition: - "Special [[kerberos|Kerberos]] {{kerberos-principal|principal}} whose long-term key encrypts every {{kerberos-tgt|TGT}}. Compromise of the krbtgt password hash = the famous *Golden Ticket* attack: an attacker can mint TGTs for any user in the realm.", - category: 'security' + id: 'kerberos-krbtgt', + term: 'krbtgt', + definition: + 'Special [[kerberos|Kerberos]] {{kerberos-principal|principal}} whose long-term key encrypts every {{kerberos-tgt|TGT}}. Compromise of the krbtgt password hash = the famous *Golden Ticket* attack: an attacker can mint TGTs for any user in the realm.', + category: 'security' }, { - id: 'kerberos-principal', - term: 'Kerberos Principal', - definition: - "Named identity in a [[kerberos|Kerberos]] realm โ€” either a user (`alice@EXAMPLE.COM`) or a service (`HTTP/web1.example.com@EXAMPLE.COM`). Each principal has a long-term key derived from its password (users) or stored in a {{kerberos-keytab|keytab}} (services).", - category: 'security' + id: 'kerberos-principal', + term: 'Kerberos Principal', + definition: + 'Named identity in a [[kerberos|Kerberos]] realm โ€” either a user (`alice@EXAMPLE.COM`) or a service (`HTTP/web1.example.com@EXAMPLE.COM`). Each principal has a long-term key derived from its password (users) or stored in a {{kerberos-keytab|keytab}} (services).', + category: 'security' }, { - id: 'kerberos-authenticator', - term: 'Kerberos Authenticator', - definition: - "Small encrypted blob the client builds fresh per request โ€” typically containing a timestamp and the client's principal. {{encryption|Encrypted}} under the session key inside whichever ticket it accompanies. Proves the client *just now* holds the key โ€” not just that it once did.", - category: 'security' + id: 'kerberos-authenticator', + term: 'Kerberos Authenticator', + definition: + "Small encrypted blob the client builds fresh per request โ€” typically containing a timestamp and the client's principal. {{encryption|Encrypted}} under the session key inside whichever ticket it accompanies. Proves the client *just now* holds the key โ€” not just that it once did.", + category: 'security' }, { - id: 'kerberos-keytab', - term: 'Kerberos Keytab', - definition: - "File on a service host that stores the long-term keys for service {{kerberos-principal|principals}}. The service uses its keytab to decrypt incoming {{kerberos-service-ticket|service tickets}} in {{kerberos-ap-req|AP-REQ}} โ€” without contacting the {{kerberos-kdc|KDC}}.", - category: 'security' + id: 'kerberos-keytab', + term: 'Kerberos Keytab', + definition: + 'File on a service host that stores the long-term keys for service {{kerberos-principal|principals}}. The service uses its keytab to decrypt incoming {{kerberos-service-ticket|service tickets}} in {{kerberos-ap-req|AP-REQ}} โ€” without contacting the {{kerberos-kdc|KDC}}.', + category: 'security' }, { - id: 'kerberos-service-ticket', - term: 'Kerberos Service Ticket', - definition: - "Per-service [[kerberos|Kerberos]] credential returned in {{kerberos-tgs-rep|TGS-REP}}. {{encryption|Encrypted}} under the target service's long-term key (so only that service can read it), containing the client identity and a fresh client<->service session key.", - category: 'security' + id: 'kerberos-service-ticket', + term: 'Kerberos Service Ticket', + definition: + "Per-service [[kerberos|Kerberos]] credential returned in {{kerberos-tgs-rep|TGS-REP}}. {{encryption|Encrypted}} under the target service's long-term key (so only that service can read it), containing the client identity and a fresh client<->service session key.", + category: 'security' }, { - id: 'kerberos-pa-enc-timestamp', - term: 'PA-ENC-TIMESTAMP', - definition: - "Pre-authentication data attached to a [[kerberos|Kerberos]] {{kerberos-as-req|AS-REQ}}: a fresh timestamp {{encryption|encrypted}} under the user's password-derived key. Lets the {{kerberos-kdc|KDC}} verify the user knows their password before issuing a {{kerberos-tgt|TGT}} โ€” blocks offline-cracking attacks on AS-REP.", - category: 'security' + id: 'kerberos-pa-enc-timestamp', + term: 'PA-ENC-TIMESTAMP', + definition: + "Pre-authentication data attached to a [[kerberos|Kerberos]] {{kerberos-as-req|AS-REQ}}: a fresh timestamp {{encryption|encrypted}} under the user's password-derived key. Lets the {{kerberos-kdc|KDC}} verify the user knows their password before issuing a {{kerberos-tgt|TGT}} โ€” blocks offline-cracking attacks on AS-REP.", + category: 'security' }, { - id: 'kerberos-as-req', - term: 'Kerberos AS-REQ', - definition: - "First [[kerberos|Kerberos]] message โ€” client to {{kerberos-kdc|KDC}} Authentication Service. Carries the client's {{kerberos-principal|principal}} name, requested {{kerberos-tgt|TGT}} options, and {{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}}.", - category: 'security' + id: 'kerberos-as-req', + term: 'Kerberos AS-REQ', + definition: + "First [[kerberos|Kerberos]] message โ€” client to {{kerberos-kdc|KDC}} Authentication Service. Carries the client's {{kerberos-principal|principal}} name, requested {{kerberos-tgt|TGT}} options, and {{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}}.", + category: 'security' }, { - id: 'kerberos-as-rep', - term: 'Kerberos AS-REP', - definition: - "{{kerberos-kdc|KDC}} response to a successful {{kerberos-as-req|AS-REQ}}. Carries the {{kerberos-tgt|TGT}} ({{encryption|encrypted}} under {{kerberos-krbtgt|krbtgt}}) and the new session key (encrypted under the user's long-term key).", - category: 'security' + id: 'kerberos-as-rep', + term: 'Kerberos AS-REP', + definition: + "{{kerberos-kdc|KDC}} response to a successful {{kerberos-as-req|AS-REQ}}. Carries the {{kerberos-tgt|TGT}} ({{encryption|encrypted}} under {{kerberos-krbtgt|krbtgt}}) and the new session key (encrypted under the user's long-term key).", + category: 'security' }, { - id: 'kerberos-tgs-req', - term: 'Kerberos TGS-REQ', - definition: - "Request from a [[kerberos|Kerberos]] client to the {{kerberos-tgs|Ticket Granting Service}}: give me a ticket for service X. Carries the {{kerberos-tgt|TGT}} and a fresh {{kerberos-authenticator|authenticator}} encrypted under the TGT's session key.", - category: 'security' + id: 'kerberos-tgs-req', + term: 'Kerberos TGS-REQ', + definition: + "Request from a [[kerberos|Kerberos]] client to the {{kerberos-tgs|Ticket Granting Service}}: give me a ticket for service X. Carries the {{kerberos-tgt|TGT}} and a fresh {{kerberos-authenticator|authenticator}} encrypted under the TGT's session key.", + category: 'security' }, { - id: 'kerberos-tgs-rep', - term: 'Kerberos TGS-REP', - definition: - "{{kerberos-tgs|TGS}} response to a successful {{kerberos-tgs-req|TGS-REQ}}: returns a {{kerberos-service-ticket|service ticket}} (encrypted under the service's long-term key) plus the new client<->service session key.", - category: 'security' + id: 'kerberos-tgs-rep', + term: 'Kerberos TGS-REP', + definition: + "{{kerberos-tgs|TGS}} response to a successful {{kerberos-tgs-req|TGS-REQ}}: returns a {{kerberos-service-ticket|service ticket}} (encrypted under the service's long-term key) plus the new client<->service session key.", + category: 'security' }, { - id: 'kerberos-ap-req', - term: 'Kerberos AP-REQ', - definition: - "Message the client sends *to the service* (not the KDC): the {{kerberos-service-ticket|service ticket}} plus a fresh {{kerberos-authenticator|authenticator}}. The service decrypts with its {{kerberos-keytab|keytab}}, verifies the authenticator's timestamp is within ยฑ5 min, and authenticates the client.", - category: 'security' + id: 'kerberos-ap-req', + term: 'Kerberos AP-REQ', + definition: + "Message the client sends *to the service* (not the KDC): the {{kerberos-service-ticket|service ticket}} plus a fresh {{kerberos-authenticator|authenticator}}. The service decrypts with its {{kerberos-keytab|keytab}}, verifies the authenticator's timestamp is within ยฑ5 min, and authenticates the client.", + category: 'security' }, { - id: 'kerberos-ap-rep', - term: 'Kerberos AP-REP', - definition: - "Optional reply from the service to the client โ€” an encrypted timestamp proving the service also knows the session key. Provides mutual authentication: client now knows the service is genuine, not an impostor with a stolen ticket.", - category: 'security' + id: 'kerberos-ap-rep', + term: 'Kerberos AP-REP', + definition: + 'Optional reply from the service to the client โ€” an encrypted timestamp proving the service also knows the session key. Provides mutual authentication: client now knows the service is genuine, not an impostor with a stolen ticket.', + category: 'security' }, { - id: 'nameserver', - term: 'Nameserver', - definition: - "A [[dns|DNS]] server that holds and serves zone data. Three flavors matter: **root** (knows the {{tld|TLDs}}), **TLD** (knows the registrars' authoritative servers), and **authoritative** (the final source of truth for a domain's records).", - wikiUrl: 'https://en.wikipedia.org/wiki/Name_server', - category: 'infrastructure' + id: 'nameserver', + term: 'Nameserver', + definition: + "A [[dns|DNS]] server that holds and serves zone data. Three flavors matter: **root** (knows the {{tld|TLDs}}), **TLD** (knows the registrars' authoritative servers), and **authoritative** (the final source of truth for a domain's records).", + wikiUrl: 'https://en.wikipedia.org/wiki/Name_server', + category: 'infrastructure' }, { - id: 'tld', - term: 'TLD (Top-Level Domain)', - definition: - "The rightmost label of a domain name โ€” `.com`, `.org`, `.net`, country codes like `.uk`. Run by registries (Verisign for `.com`); their {{nameserver|nameservers}} know which {{authoritative-nameserver|authoritative server}} owns each second-level domain.", - wikiUrl: 'https://en.wikipedia.org/wiki/Top-level_domain', - category: 'infrastructure' + id: 'tld', + term: 'TLD (Top-Level Domain)', + definition: + 'The rightmost label of a domain name โ€” `.com`, `.org`, `.net`, country codes like `.uk`. Run by registries (Verisign for `.com`); their {{nameserver|nameservers}} know which {{authoritative-nameserver|authoritative server}} owns each second-level domain.', + wikiUrl: 'https://en.wikipedia.org/wiki/Top-level_domain', + category: 'infrastructure' }, { - id: 'root-server', - term: 'Root Nameserver', - definition: - "One of 13 logical {{nameserver|nameservers}} (`a.root-servers.net` โ€ฆ `m.root-servers.net`, replicated globally via {{anycast|anycast}}) that anchor the [[dns|DNS]] hierarchy. They don't know specific domains โ€” they just know which {{tld|TLD}} server to ask next.", - wikiUrl: 'https://en.wikipedia.org/wiki/Root_name_server', - category: 'infrastructure' + id: 'root-server', + term: 'Root Nameserver', + definition: + "One of 13 logical {{nameserver|nameservers}} (`a.root-servers.net` โ€ฆ `m.root-servers.net`, replicated globally via {{anycast|anycast}}) that anchor the [[dns|DNS]] hierarchy. They don't know specific domains โ€” they just know which {{tld|TLD}} server to ask next.", + wikiUrl: 'https://en.wikipedia.org/wiki/Root_name_server', + category: 'infrastructure' }, { - id: 'authoritative-nameserver', - term: 'Authoritative Nameserver', - definition: - "A {{nameserver|nameserver}} that holds the definitive records for a domain (set by the registrant). Returns *answers*, not referrals โ€” the final stop in {{iterative-resolution|iterative resolution}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server', - category: 'infrastructure' + id: 'authoritative-nameserver', + term: 'Authoritative Nameserver', + definition: + 'A {{nameserver|nameserver}} that holds the definitive records for a domain (set by the registrant). Returns *answers*, not referrals โ€” the final stop in {{iterative-resolution|iterative resolution}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server', + category: 'infrastructure' }, { - id: 'recursive-resolver', - term: 'Recursive Resolver', - definition: - "A [[dns|DNS]] server that does the legwork of resolution on the client's behalf โ€” walks the hierarchy ({{root-server|root}} โ†’ {{tld|TLD}} โ†’ {{authoritative-nameserver|authoritative}}) and returns the final answer. Caches aggressively. Operated by ISPs and public services like `1.1.1.1` or `8.8.8.8`.", - wikiUrl: 'https://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers', - category: 'infrastructure' + id: 'recursive-resolver', + term: 'Recursive Resolver', + definition: + "A [[dns|DNS]] server that does the legwork of resolution on the client's behalf โ€” walks the hierarchy ({{root-server|root}} โ†’ {{tld|TLD}} โ†’ {{authoritative-nameserver|authoritative}}) and returns the final answer. Caches aggressively. Operated by ISPs and public services like `1.1.1.1` or `8.8.8.8`.", + wikiUrl: 'https://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers', + category: 'infrastructure' }, { - id: 'iterative-resolution', - term: 'Iterative Resolution', - definition: - "DNS lookup strategy where the {{recursive-resolver|resolver}} walks the hierarchy itself โ€” each {{nameserver|nameserver}} answers *go ask this other server* (a referral), not the final answer, until an {{authoritative-nameserver|authoritative}} server replies with the record.", - wikiUrl: 'https://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers', - category: 'protocol-mechanics' + id: 'iterative-resolution', + term: 'Iterative Resolution', + definition: + 'DNS lookup strategy where the {{recursive-resolver|resolver}} walks the hierarchy itself โ€” each {{nameserver|nameserver}} answers *go ask this other server* (a referral), not the final answer, until an {{authoritative-nameserver|authoritative}} server replies with the record.', + wikiUrl: 'https://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers', + category: 'protocol-mechanics' }, { - id: 'a-record', - term: 'A Record', - definition: - "Address record โ€” maps a domain name to a 32-bit IPv4 address. The most basic [[dns|DNS]] record type; the answer to *what's `example.com`'s IP?*.", - wikiUrl: 'https://en.wikipedia.org/wiki/List_of_DNS_record_types', - category: 'infrastructure' + id: 'a-record', + term: 'A Record', + definition: + "Address record โ€” maps a domain name to a 32-bit IPv4 address. The most basic [[dns|DNS]] record type; the answer to *what's `example.com`'s IP?*.", + wikiUrl: 'https://en.wikipedia.org/wiki/List_of_DNS_record_types', + category: 'infrastructure' }, { - id: 'aaaa-record', - term: 'AAAA Record', - definition: - "Quad-A record โ€” maps a domain name to a 128-bit [[ipv6|IPv6]] address. The [[ipv6|IPv6]] counterpart to the {{a-record|A record}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_address#Domain_Name_System', - category: 'infrastructure' + id: 'aaaa-record', + term: 'AAAA Record', + definition: + 'Quad-A record โ€” maps a domain name to a 128-bit [[ipv6|IPv6]] address. The [[ipv6|IPv6]] counterpart to the {{a-record|A record}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_address#Domain_Name_System', + category: 'infrastructure' }, { - id: 'cname-record', - term: 'CNAME Record', - definition: - "Canonical Name record. A [[dns|DNS]] alias โ€” *`www.example.com` is really called `example.com`*. Resolvers chase the chain until they hit an {{a-record|A}}/{{aaaa-record|AAAA}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/CNAME_record', - category: 'infrastructure' + id: 'cname-record', + term: 'CNAME Record', + definition: + 'Canonical Name record. A [[dns|DNS]] alias โ€” *`www.example.com` is really called `example.com`*. Resolvers chase the chain until they hit an {{a-record|A}}/{{aaaa-record|AAAA}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/CNAME_record', + category: 'infrastructure' }, { - id: 'ns-record', - term: 'NS Record', - definition: - "Nameserver record. Delegates a [[dns|DNS]] zone to a set of {{authoritative-nameserver|authoritative nameservers}}. How the parent zone (e.g. `.com`) points to the child zone's nameservers.", - wikiUrl: 'https://en.wikipedia.org/wiki/List_of_DNS_record_types#NS', - category: 'infrastructure' + id: 'ns-record', + term: 'NS Record', + definition: + "Nameserver record. Delegates a [[dns|DNS]] zone to a set of {{authoritative-nameserver|authoritative nameservers}}. How the parent zone (e.g. `.com`) points to the child zone's nameservers.", + wikiUrl: 'https://en.wikipedia.org/wiki/List_of_DNS_record_types#NS', + category: 'infrastructure' }, { - id: 'dora', - term: 'DORA (Discover, Offer, Request, Ack)', - definition: - "The mnemonic for the four-message [[dhcp|DHCP]] {{handshake|exchange}}: **D**ISCOVER (client broadcasts), **O**FFER (server proposes), **R**EQUEST (client accepts), **A**CK (server confirms). Yields an {{ip-address|IP address}}, gateway, [[dns|DNS]] settings, and {{dhcp-lease|lease}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Operation', - category: 'protocol-mechanics' + id: 'dora', + term: 'DORA (Discover, Offer, Request, Ack)', + definition: + 'The mnemonic for the four-message [[dhcp|DHCP]] {{handshake|exchange}}: **D**ISCOVER (client broadcasts), **O**FFER (server proposes), **R**EQUEST (client accepts), **A**CK (server confirms). Yields an {{ip-address|IP address}}, gateway, [[dns|DNS]] settings, and {{dhcp-lease|lease}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Operation', + category: 'protocol-mechanics' }, { - id: 'dhcp-discover', - term: 'DHCPDISCOVER', - definition: - "The first message of the {{dora|DORA}} {{handshake|exchange}}. A new client {{broadcast|broadcasts}} *I need an IP* from `0.0.0.0` to `255.255.255.255` so any [[dhcp|DHCP]] server on the {{lan|LAN}} can hear it.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', - category: 'protocol-mechanics' + id: 'dhcp-discover', + term: 'DHCPDISCOVER', + definition: + 'The first message of the {{dora|DORA}} {{handshake|exchange}}. A new client {{broadcast|broadcasts}} *I need an IP* from `0.0.0.0` to `255.255.255.255` so any [[dhcp|DHCP]] server on the {{lan|LAN}} can hear it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', + category: 'protocol-mechanics' }, { - id: 'dhcp-offer', - term: 'DHCPOFFER', - definition: - "The server's reply in the {{dora|DORA}} {{handshake|exchange}}: *here's a candidate {{ip-address|IP}} from my pool, plus a {{dhcp-lease|lease}} time*. Multiple servers may offer; the client picks one.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', - category: 'protocol-mechanics' + id: 'dhcp-offer', + term: 'DHCPOFFER', + definition: + "The server's reply in the {{dora|DORA}} {{handshake|exchange}}: *here's a candidate {{ip-address|IP}} from my pool, plus a {{dhcp-lease|lease}} time*. Multiple servers may offer; the client picks one.", + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', + category: 'protocol-mechanics' }, { - id: 'dhcp-request', - term: 'DHCPREQUEST', - definition: - "Third message of {{dora|DORA}}: client confirms *I'll take this offer*. Also {{broadcast|broadcast}} so other [[dhcp|DHCP]] servers know to release their offers.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', - category: 'protocol-mechanics' + id: 'dhcp-request', + term: 'DHCPREQUEST', + definition: + "Third message of {{dora|DORA}}: client confirms *I'll take this offer*. Also {{broadcast|broadcast}} so other [[dhcp|DHCP]] servers know to release their offers.", + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', + category: 'protocol-mechanics' }, { - id: 'dhcp-ack', - term: 'DHCPACK', - definition: - "Final message of {{dora|DORA}}: server confirms the {{dhcp-lease|lease}} and ships the full network config (subnet mask, default gateway, [[dns|DNS]] servers).", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', - category: 'protocol-mechanics' + id: 'dhcp-ack', + term: 'DHCPACK', + definition: + 'Final message of {{dora|DORA}}: server confirms the {{dhcp-lease|lease}} and ships the full network config (subnet mask, default gateway, [[dns|DNS]] servers).', + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol', + category: 'protocol-mechanics' }, { - id: 'dhcp-lease', - term: 'DHCP Lease', - definition: - "A time-bounded grant of an {{ip-address|IP address}} by a [[dhcp|DHCP]] server. Clients renew at T1 (~50%) and T2 (~87.5%) of the lease duration; if neither succeeds, they re-{{dhcp-discover|DISCOVER}} before expiry.", - wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Lease', - category: 'protocol-mechanics' + id: 'dhcp-lease', + term: 'DHCP Lease', + definition: + 'A time-bounded grant of an {{ip-address|IP address}} by a [[dhcp|DHCP]] server. Clients renew at T1 (~50%) and T2 (~87.5%) of the lease duration; if neither succeeds, they re-{{dhcp-discover|DISCOVER}} before expiry.', + wikiUrl: 'https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Lease', + category: 'protocol-mechanics' }, { - id: 'clock-drift', - term: 'Clock Drift', - definition: - "The tendency of a hardware clock to deviate from true time. Crystal oscillators in computers gain or lose seconds per day; [[ntp|NTP]] and PTP correct for this continuously.", - wikiUrl: 'https://en.wikipedia.org/wiki/Clock_drift', - category: 'networking-basics' + id: 'clock-drift', + term: 'Clock Drift', + definition: + 'The tendency of a hardware clock to deviate from true time. Crystal oscillators in computers gain or lose seconds per day; [[ntp|NTP]] and PTP correct for this continuously.', + wikiUrl: 'https://en.wikipedia.org/wiki/Clock_drift', + category: 'networking-basics' }, { - id: 'marzullos-algorithm', - term: "Marzullo's Algorithm", - definition: - "Algorithm that finds the smallest interval consistent with the largest number of estimates, used by [[ntp|NTP]] to discard outlier time samples and converge on a single accurate offset.", - wikiUrl: 'https://en.wikipedia.org/wiki/Marzullo%27s_algorithm', - category: 'protocol-mechanics' + id: 'marzullos-algorithm', + term: "Marzullo's Algorithm", + definition: + 'Algorithm that finds the smallest interval consistent with the largest number of estimates, used by [[ntp|NTP]] to discard outlier time samples and converge on a single accurate offset.', + wikiUrl: 'https://en.wikipedia.org/wiki/Marzullo%27s_algorithm', + category: 'protocol-mechanics' }, { - id: 'nts', - term: 'NTS (Network Time Security)', - definition: - "Cryptographic extension to [[ntp|NTP]] ([[rfc:8915|RFC 8915]]) that authenticates time replies โ€” defeats {{man-in-the-middle|MITM}} attackers who would otherwise manipulate clocks to break certificate validation.", - wikiUrl: 'https://en.wikipedia.org/wiki/Network_Time_Security', - category: 'security' + id: 'nts', + term: 'NTS (Network Time Security)', + definition: + 'Cryptographic extension to [[ntp|NTP]] ([[rfc:8915|RFC 8915]]) that authenticates time replies โ€” defeats {{man-in-the-middle|MITM}} attackers who would otherwise manipulate clocks to break certificate validation.', + wikiUrl: 'https://en.wikipedia.org/wiki/Network_Time_Security', + category: 'security' }, { - id: 'ping', - term: 'ping', - definition: - "The simplest reachability test on the internet. Sends an [[icmp|ICMP]] {{echo-request|Echo Request}} and times the {{echo-reply|Echo Reply}} โ€” gives you {{rtt|round-trip time}} and packet-loss percentage.", - wikiUrl: 'https://en.wikipedia.org/wiki/Ping_(networking_utility)', - category: 'infrastructure' + id: 'ping', + term: 'ping', + definition: + 'The simplest reachability test on the internet. Sends an [[icmp|ICMP]] {{echo-request|Echo Request}} and times the {{echo-reply|Echo Reply}} โ€” gives you {{rtt|round-trip time}} and packet-loss percentage.', + wikiUrl: 'https://en.wikipedia.org/wiki/Ping_(networking_utility)', + category: 'infrastructure' }, { - id: 'traceroute', - term: 'traceroute', - definition: - "Diagnostic that maps the {{hop|hops}} between you and a destination. Sends packets with increasing {{ttl|TTL}} (1, 2, 3 โ€ฆ); each router whose TTL hits 0 returns an [[icmp|ICMP]] {{time-exceeded|Time Exceeded}}, revealing its address.", - wikiUrl: 'https://en.wikipedia.org/wiki/Traceroute', - category: 'infrastructure' + id: 'traceroute', + term: 'traceroute', + definition: + 'Diagnostic that maps the {{hop|hops}} between you and a destination. Sends packets with increasing {{ttl|TTL}} (1, 2, 3 โ€ฆ); each router whose TTL hits 0 returns an [[icmp|ICMP]] {{time-exceeded|Time Exceeded}}, revealing its address.', + wikiUrl: 'https://en.wikipedia.org/wiki/Traceroute', + category: 'infrastructure' }, { - id: 'echo-request', - term: 'Echo Request (ICMP Type 8)', - definition: - "The [[icmp|ICMP]] message {{ping|ping}} sends. Type 8 for IPv4, Type 128 for [[ipv6|IPv6]] ({{icmpv6|ICMPv6}}). Carries an identifier + sequence number; the {{echo-reply|Echo Reply}} copies them back.", - wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Echo_request', - category: 'protocol-mechanics' + id: 'echo-request', + term: 'Echo Request (ICMP Type 8)', + definition: + 'The [[icmp|ICMP]] message {{ping|ping}} sends. Type 8 for IPv4, Type 128 for [[ipv6|IPv6]] ({{icmpv6|ICMPv6}}). Carries an identifier + sequence number; the {{echo-reply|Echo Reply}} copies them back.', + wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Echo_request', + category: 'protocol-mechanics' }, { - id: 'echo-reply', - term: 'Echo Reply (ICMP Type 0)', - definition: - "The [[icmp|ICMP]] response to an {{echo-request|Echo Request}}. Type 0 for IPv4, Type 129 for [[ipv6|IPv6]]. The send/receive timestamps give you {{rtt|round-trip time}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Echo_reply', - category: 'protocol-mechanics' + id: 'echo-reply', + term: 'Echo Reply (ICMP Type 0)', + definition: + 'The [[icmp|ICMP]] response to an {{echo-request|Echo Request}}. Type 0 for IPv4, Type 129 for [[ipv6|IPv6]]. The send/receive timestamps give you {{rtt|round-trip time}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Echo_reply', + category: 'protocol-mechanics' }, { - id: 'time-exceeded', - term: 'Time Exceeded (ICMP Type 11)', - definition: - "[[icmp|ICMP]] error sent by a router when a packet's {{ttl|TTL}} hits 0. {{traceroute|traceroute}} relies on this โ€” each TTL value reveals one more {{hop|hop}} along the path.", - wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Time_exceeded', - category: 'protocol-mechanics' + id: 'time-exceeded', + term: 'Time Exceeded (ICMP Type 11)', + definition: + "[[icmp|ICMP]] error sent by a router when a packet's {{ttl|TTL}} hits 0. {{traceroute|traceroute}} relies on this โ€” each TTL value reveals one more {{hop|hop}} along the path.", + wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Time_exceeded', + category: 'protocol-mechanics' }, { - id: 'arp-cache', - term: 'ARP Cache', - definition: - "Per-host table of recently-learned IPโ†’{{mac-address|MAC}} mappings. [[arp|ARP]] consults it before broadcasting a request; entries expire after 1โ€“5 minutes (OS-dependent) so changes propagate.", - wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol#ARP_cache', - category: 'networking-basics' + id: 'arp-cache', + term: 'ARP Cache', + definition: + 'Per-host table of recently-learned IPโ†’{{mac-address|MAC}} mappings. [[arp|ARP]] consults it before broadcasting a request; entries expire after 1โ€“5 minutes (OS-dependent) so changes propagate.', + wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol#ARP_cache', + category: 'networking-basics' }, { - id: 'arp-request', - term: 'ARP Request', - definition: - "The *who has this {{ip-address|IP}}?* {{broadcast|broadcast}} sent to destination [[ethernet|Ethernet]] address `FF:FF:FF:FF:FF:FF` so every host on the {{lan|LAN}} receives and processes it.", - wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol', - category: 'protocol-mechanics' + id: 'arp-request', + term: 'ARP Request', + definition: + 'The *who has this {{ip-address|IP}}?* {{broadcast|broadcast}} sent to destination [[ethernet|Ethernet]] address `FF:FF:FF:FF:FF:FF` so every host on the {{lan|LAN}} receives and processes it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol', + category: 'protocol-mechanics' }, { - id: 'arp-reply', - term: 'ARP Reply', - definition: - "The {{unicast|unicast}} response to an {{arp-request|ARP Request}} carrying the answering host's {{mac-address|MAC address}}. Only the matching host responds.", - wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol', - category: 'protocol-mechanics' + id: 'arp-reply', + term: 'ARP Reply', + definition: + "The {{unicast|unicast}} response to an {{arp-request|ARP Request}} carrying the answering host's {{mac-address|MAC address}}. Only the matching host responds.", + wikiUrl: 'https://en.wikipedia.org/wiki/Address_Resolution_Protocol', + category: 'protocol-mechanics' }, { - id: 'bgp-open', - term: 'BGP OPEN', - definition: - "First [[bgp|BGP]] message after the [[tcp|TCP]] connection forms โ€” peers exchange their {{asn|AS number}}, BGP version, {{hold-timer|hold time}}, and a router ID. Failure aborts the session.", - wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', - category: 'protocol-mechanics' + id: 'bgp-open', + term: 'BGP OPEN', + definition: + 'First [[bgp|BGP]] message after the [[tcp|TCP]] connection forms โ€” peers exchange their {{asn|AS number}}, BGP version, {{hold-timer|hold time}}, and a router ID. Failure aborts the session.', + wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', + category: 'protocol-mechanics' }, { - id: 'bgp-update', - term: 'BGP UPDATE', - definition: - "The workhorse [[bgp|BGP]] message โ€” announces new routes (NLRI + path attributes like {{as-path|AS_PATH}}, NEXT_HOP, LOCAL_PREF, MED) or withdraws previously announced ones.", - wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', - category: 'protocol-mechanics' + id: 'bgp-update', + term: 'BGP UPDATE', + definition: + 'The workhorse [[bgp|BGP]] message โ€” announces new routes (NLRI + path attributes like {{as-path|AS_PATH}}, NEXT_HOP, LOCAL_PREF, MED) or withdraws previously announced ones.', + wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', + category: 'protocol-mechanics' }, { - id: 'bgp-keepalive', - term: 'BGP KEEPALIVE', - definition: - "Tiny 19-byte heartbeat sent every ~30s on quiet [[bgp|BGP]] sessions. Proves the peer is alive even when there's nothing to {{bgp-update|UPDATE}}. Resets the {{hold-timer|hold timer}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', - category: 'protocol-mechanics' + id: 'bgp-keepalive', + term: 'BGP KEEPALIVE', + definition: + "Tiny 19-byte heartbeat sent every ~30s on quiet [[bgp|BGP]] sessions. Proves the peer is alive even when there's nothing to {{bgp-update|UPDATE}}. Resets the {{hold-timer|hold timer}}.", + wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', + category: 'protocol-mechanics' }, { - id: 'hold-timer', - term: 'Hold Timer', - definition: - "How long a [[bgp|BGP]] peer waits without receiving a {{bgp-keepalive|KEEPALIVE}} or {{bgp-update|UPDATE}} before declaring the neighbor dead. Default 90s, negotiated in {{bgp-open|OPEN}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', - category: 'protocol-mechanics' + id: 'hold-timer', + term: 'Hold Timer', + definition: + 'How long a [[bgp|BGP]] peer waits without receiving a {{bgp-keepalive|KEEPALIVE}} or {{bgp-update|UPDATE}} before declaring the neighbor dead. Default 90s, negotiated in {{bgp-open|OPEN}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol', + category: 'protocol-mechanics' }, { - id: 'router-solicitation', - term: 'Router Solicitation (ICMPv6 Type 133)', - definition: - "{{ndp|NDP}} message a new host sends to find any routers on the link. Multicast to `ff02::2` (all-routers). Routers reply with {{router-advertisement|Router Advertisements}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', - category: 'protocol-mechanics' + id: 'router-solicitation', + term: 'Router Solicitation (ICMPv6 Type 133)', + definition: + '{{ndp|NDP}} message a new host sends to find any routers on the link. Multicast to `ff02::2` (all-routers). Routers reply with {{router-advertisement|Router Advertisements}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', + category: 'protocol-mechanics' }, { - id: 'router-advertisement', - term: 'Router Advertisement (ICMPv6 Type 134)', - definition: - "{{ndp|NDP}} message routers send (periodically or in response to {{router-solicitation|Router Solicitation}}) carrying the link prefix, MTU, default gateway, and flags that drive [[ipv6|IPv6]] autoconfiguration ({{slaac|SLAAC}}).", - wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', - category: 'protocol-mechanics' + id: 'router-advertisement', + term: 'Router Advertisement (ICMPv6 Type 134)', + definition: + '{{ndp|NDP}} message routers send (periodically or in response to {{router-solicitation|Router Solicitation}}) carrying the link prefix, MTU, default gateway, and flags that drive [[ipv6|IPv6]] autoconfiguration ({{slaac|SLAAC}}).', + wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', + category: 'protocol-mechanics' }, { - id: 'neighbor-solicitation', - term: 'Neighbor Solicitation (ICMPv6 Type 135)', - definition: - "{{ndp|NDP}} message โ€” the [[ipv6|IPv6]] equivalent of [[arp|ARP Request]]. Asks *who has this address?*, sent to a {{solicited-node-multicast|solicited-node multicast}} address so only candidate matches process it.", - wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', - category: 'protocol-mechanics' + id: 'neighbor-solicitation', + term: 'Neighbor Solicitation (ICMPv6 Type 135)', + definition: + '{{ndp|NDP}} message โ€” the [[ipv6|IPv6]] equivalent of [[arp|ARP Request]]. Asks *who has this address?*, sent to a {{solicited-node-multicast|solicited-node multicast}} address so only candidate matches process it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', + category: 'protocol-mechanics' }, { - id: 'neighbor-advertisement', - term: 'Neighbor Advertisement (ICMPv6 Type 136)', - definition: - "{{ndp|NDP}} message โ€” the [[ipv6|IPv6]] equivalent of [[arp|ARP Reply]]. Carries the responder's link-layer address. Also sent unsolicited when an address changes.", - wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', - category: 'protocol-mechanics' + id: 'neighbor-advertisement', + term: 'Neighbor Advertisement (ICMPv6 Type 136)', + definition: + "{{ndp|NDP}} message โ€” the [[ipv6|IPv6]] equivalent of [[arp|ARP Reply]]. Carries the responder's link-layer address. Also sent unsolicited when an address changes.", + wikiUrl: 'https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol', + category: 'protocol-mechanics' }, { - id: 'solicited-node-multicast', - term: 'Solicited-Node Multicast', - definition: - "An [[ipv6|IPv6]] {{multicast|multicast}} address derived from the last 24 bits of a host's address (`ff02::1:ffXX:XXXX`). {{ndp|NDP}} uses it instead of {{broadcast|broadcast}} so only ~1 of 2ยฒโด hosts processes each query.", - wikiUrl: 'https://en.wikipedia.org/wiki/Solicited-node_multicast_address', - category: 'protocol-mechanics' + id: 'solicited-node-multicast', + term: 'Solicited-Node Multicast', + definition: + "An [[ipv6|IPv6]] {{multicast|multicast}} address derived from the last 24 bits of a host's address (`ff02::1:ffXX:XXXX`). {{ndp|NDP}} uses it instead of {{broadcast|broadcast}} so only ~1 of 2ยฒโด hosts processes each query.", + wikiUrl: 'https://en.wikipedia.org/wiki/Solicited-node_multicast_address', + category: 'protocol-mechanics' }, { - id: 'hop-limit', - term: 'Hop Limit', - definition: - "[[ipv6|IPv6]]'s rename of {{ttl|TTL}}. Decremented by 1 at every router; hits 0 โ†’ packet dropped + {{icmpv6|ICMPv6}} Time Exceeded returned. Loop prevention.", - wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_packet#Fixed_header', - category: 'protocol-mechanics' + id: 'hop-limit', + term: 'Hop Limit', + definition: + "[[ipv6|IPv6]]'s rename of {{ttl|TTL}}. Decremented by 1 at every router; hits 0 โ†’ packet dropped + {{icmpv6|ICMPv6}} Time Exceeded returned. Loop prevention.", + wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_packet#Fixed_header', + category: 'protocol-mechanics' }, { - id: 'icmpv6', - term: 'ICMPv6', - definition: - "[[icmp|ICMP]] for [[ipv6|IPv6]]. Same role โ€” diagnostics and errors โ€” but also carries {{ndp|NDP}}, MLD, and Router Renumbering. Mandatory; firewalls must not block it blindly.", - wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6', - category: 'protocol-mechanics' + id: 'icmpv6', + term: 'ICMPv6', + definition: + '[[icmp|ICMP]] for [[ipv6|IPv6]]. Same role โ€” diagnostics and errors โ€” but also carries {{ndp|NDP}}, MLD, and Router Renumbering. Mandatory; firewalls must not block it blindly.', + wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6', + category: 'protocol-mechanics' }, { - id: 'router-id', - term: 'Router ID (RID)', - definition: - "32-bit identifier (formatted like an IPv4 address) that uniquely identifies a router in [[ospf|OSPF]] / [[bgp|BGP]]. Usually the highest loopback or active interface address.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First#Router_ID', - category: 'protocol-mechanics' + id: 'router-id', + term: 'Router ID (RID)', + definition: + '32-bit identifier (formatted like an IPv4 address) that uniquely identifies a router in [[ospf|OSPF]] / [[bgp|BGP]]. Usually the highest loopback or active interface address.', + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First#Router_ID', + category: 'protocol-mechanics' }, { - id: 'ospf-hello', - term: 'OSPF Hello', - definition: - "[[ospf|OSPF]] message multicast to `224.0.0.5` every 10s on point-to-point links. Carries router ID, HelloInterval, DeadInterval, neighbors seen โ€” must match exactly for {{adjacency|adjacency}} to form.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'ospf-hello', + term: 'OSPF Hello', + definition: + '[[ospf|OSPF]] message multicast to `224.0.0.5` every 10s on point-to-point links. Carries router ID, HelloInterval, DeadInterval, neighbors seen โ€” must match exactly for {{adjacency|adjacency}} to form.', + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'dbd', - term: 'DBD (Database Description)', - definition: - "[[ospf|OSPF]] message exchanged in the ExStart/{{exchange|Exchange}} state. Master/slave is elected by router ID; each side sends {{lsa|LSA}} headers (not full LSAs) so peers learn what they're missing.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'dbd', + term: 'DBD (Database Description)', + definition: + "[[ospf|OSPF]] message exchanged in the ExStart/{{exchange|Exchange}} state. Master/slave is elected by router ID; each side sends {{lsa|LSA}} headers (not full LSAs) so peers learn what they're missing.", + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'lsr', - term: 'LSR (Link State Request)', - definition: - "[[ospf|OSPF]] message: *send me these {{lsa|LSAs}}*. Used during the Loading state to fetch full link-state records the router doesn't have or has older copies of.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'lsr', + term: 'LSR (Link State Request)', + definition: + "[[ospf|OSPF]] message: *send me these {{lsa|LSAs}}*. Used during the Loading state to fetch full link-state records the router doesn't have or has older copies of.", + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'lsu', - term: 'LSU (Link State Update)', - definition: - "[[ospf|OSPF]] message carrying one or more {{lsa|LSAs}}. The actual link-state data โ€” checksummed, age-stamped, sequence-numbered. Acknowledged by {{lsack|LSAck}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'lsu', + term: 'LSU (Link State Update)', + definition: + '[[ospf|OSPF]] message carrying one or more {{lsa|LSAs}}. The actual link-state data โ€” checksummed, age-stamped, sequence-numbered. Acknowledged by {{lsack|LSAck}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'lsack', - term: 'LSAck (Link State Acknowledgment)', - definition: - "[[ospf|OSPF]] message that acknowledges receipt of an {{lsu|LSU}}. Required because [[ospf|OSPF]] runs directly on [[ip|IP]] (protocol 89) without [[tcp|TCP]] โ€” it implements its own reliable delivery.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'lsack', + term: 'LSAck (Link State Acknowledgment)', + definition: + '[[ospf|OSPF]] message that acknowledges receipt of an {{lsu|LSU}}. Required because [[ospf|OSPF]] runs directly on [[ip|IP]] (protocol 89) without [[tcp|TCP]] โ€” it implements its own reliable delivery.', + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'adjacency', - term: 'Adjacency', - definition: - "An [[ospf|OSPF]] relationship between two neighboring routers that has progressed through the eight-state machine (Down โ†’ Init โ†’ 2-Way โ†’ ExStart โ†’ {{exchange|Exchange}} โ†’ Loading โ†’ Full) and now exchanges link-state info.", - wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', - category: 'protocol-mechanics' + id: 'adjacency', + term: 'Adjacency', + definition: + 'An [[ospf|OSPF]] relationship between two neighboring routers that has progressed through the eight-state machine (Down โ†’ Init โ†’ 2-Way โ†’ ExStart โ†’ {{exchange|Exchange}} โ†’ Loading โ†’ Full) and now exchanges link-state info.', + wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First', + category: 'protocol-mechanics' }, { - id: 'fib', - term: 'FIB (Forwarding Information Base)', - definition: - "The compiled, fast-lookup table that the data plane actually uses to forward packets. Derived from the {{routing-table|RIB}} but optimized for line-rate {{ip-address|IP}} matching (typically TCAM in hardware routers).", - wikiUrl: 'https://en.wikipedia.org/wiki/Forwarding_information_base', - category: 'infrastructure' + id: 'fib', + term: 'FIB (Forwarding Information Base)', + definition: + 'The compiled, fast-lookup table that the data plane actually uses to forward packets. Derived from the {{routing-table|RIB}} but optimized for line-rate {{ip-address|IP}} matching (typically TCAM in hardware routers).', + wikiUrl: 'https://en.wikipedia.org/wiki/Forwarding_information_base', + category: 'infrastructure' }, { - id: 'beacon', - term: 'Beacon Frame', - definition: - "[[wifi|Wi-Fi]] management frame broadcast by an {{access-point|AP}} ~10ร— per second. Carries the {{ssid|SSID}}, supported rates, security mode (WPA2/WPA3), and capabilities โ€” how clients discover the network.", - wikiUrl: 'https://en.wikipedia.org/wiki/Beacon_frame', - category: 'protocol-mechanics' + id: 'beacon', + term: 'Beacon Frame', + definition: + '[[wifi|Wi-Fi]] management frame broadcast by an {{access-point|AP}} ~10ร— per second. Carries the {{ssid|SSID}}, supported rates, security mode (WPA2/WPA3), and capabilities โ€” how clients discover the network.', + wikiUrl: 'https://en.wikipedia.org/wiki/Beacon_frame', + category: 'protocol-mechanics' }, { - id: 'ssid', - term: 'SSID (Service Set Identifier)', - definition: - "The human-readable network name advertised by a [[wifi|Wi-Fi]] {{access-point|AP}} (e.g. `MyNetwork`). Up to 32 bytes; multiple APs can share the same SSID to form an ESS.", - wikiUrl: 'https://en.wikipedia.org/wiki/Service_set_(802.11_network)#SSID', - category: 'networking-basics' + id: 'ssid', + term: 'SSID (Service Set Identifier)', + definition: + 'The human-readable network name advertised by a [[wifi|Wi-Fi]] {{access-point|AP}} (e.g. `MyNetwork`). Up to 32 bytes; multiple APs can share the same SSID to form an ESS.', + wikiUrl: 'https://en.wikipedia.org/wiki/Service_set_(802.11_network)#SSID', + category: 'networking-basics' }, { - id: 'authentication-frame', - term: '802.11 Authentication Frame', - definition: - "Legacy [[wifi|802.11]] management frame from before WPA. Today it's a formality โ€” modern security happens in the {{wpa2-handshake|WPA2/3 4-way handshake}}. Originally for WEP shared-key auth.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', - category: 'protocol-mechanics' + id: 'authentication-frame', + term: '802.11 Authentication Frame', + definition: + "Legacy [[wifi|802.11]] management frame from before WPA. Today it's a formality โ€” modern security happens in the {{wpa2-handshake|WPA2/3 4-way handshake}}. Originally for WEP shared-key auth.", + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', + category: 'protocol-mechanics' }, { - id: 'association-request', - term: 'Association Request', - definition: - "[[wifi|Wi-Fi]] management frame โ€” *I want to use this network*. Carries the client's capabilities and the {{ssid|SSID}}. The {{access-point|AP}} replies with an {{association-response|Association Response}} carrying an {{aid|AID}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', - category: 'protocol-mechanics' + id: 'association-request', + term: 'Association Request', + definition: + "[[wifi|Wi-Fi]] management frame โ€” *I want to use this network*. Carries the client's capabilities and the {{ssid|SSID}}. The {{access-point|AP}} replies with an {{association-response|Association Response}} carrying an {{aid|AID}}.", + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', + category: 'protocol-mechanics' }, { - id: 'association-response', - term: 'Association Response', - definition: - "[[wifi|Wi-Fi]] management frame from the {{access-point|AP}} accepting (or rejecting) an {{association-request|Association Request}}. On success, it carries the assigned {{aid|AID}} (1โ€“2007).", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', - category: 'protocol-mechanics' + id: 'association-response', + term: 'Association Response', + definition: + '[[wifi|Wi-Fi]] management frame from the {{access-point|AP}} accepting (or rejecting) an {{association-request|Association Request}}. On success, it carries the assigned {{aid|AID}} (1โ€“2007).', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11', + category: 'protocol-mechanics' }, { - id: 'wpa2-handshake', - term: 'WPA2 4-way Handshake', - definition: - "The post-association {{handshake|exchange}} that derives session keys from the {{pmk|PMK}} (passphrase): {{anonce|ANonce}} โ†’ {{snonce|SNonce}}+{{mic|MIC}} โ†’ {{gtk|GTK}}+{{mic|MIC}} โ†’ {{ack|ACK}}. Both sides prove they know the passphrase without sending it.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004#The_four-way_handshake', - category: 'security' + id: 'wpa2-handshake', + term: 'WPA2 4-way Handshake', + definition: + 'The post-association {{handshake|exchange}} that derives session keys from the {{pmk|PMK}} (passphrase): {{anonce|ANonce}} โ†’ {{snonce|SNonce}}+{{mic|MIC}} โ†’ {{gtk|GTK}}+{{mic|MIC}} โ†’ {{ack|ACK}}. Both sides prove they know the passphrase without sending it.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004#The_four-way_handshake', + category: 'security' }, { - id: 'anonce', - term: 'ANonce', - definition: - "Authenticator Nonce โ€” the random number the {{access-point|AP}} sends in step 1 of the {{wpa2-handshake|WPA2 4-way handshake}}. Combined with the {{snonce|SNonce}} and both {{mac-address|MAC}} addresses to derive the {{ptk|PTK}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', - category: 'security' + id: 'anonce', + term: 'ANonce', + definition: + 'Authenticator Nonce โ€” the random number the {{access-point|AP}} sends in step 1 of the {{wpa2-handshake|WPA2 4-way handshake}}. Combined with the {{snonce|SNonce}} and both {{mac-address|MAC}} addresses to derive the {{ptk|PTK}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', + category: 'security' }, { - id: 'snonce', - term: 'SNonce', - definition: - "Supplicant Nonce โ€” the random number the client sends in step 2 of the {{wpa2-handshake|WPA2 4-way handshake}}. Lets each side independently derive the {{ptk|PTK}} from the {{pmk|PMK}} + nonces + MACs.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', - category: 'security' + id: 'snonce', + term: 'SNonce', + definition: + 'Supplicant Nonce โ€” the random number the client sends in step 2 of the {{wpa2-handshake|WPA2 4-way handshake}}. Lets each side independently derive the {{ptk|PTK}} from the {{pmk|PMK}} + nonces + MACs.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', + category: 'security' }, { - id: 'adv-ind', - term: 'ADV_IND', - definition: - "[[bluetooth|BLE]] connectable, undirected advertising packet โ€” the default *I'm here, talk to me* beacon. Broadcast on channels 37/38/39 at the advertising interval. Carries Flags + Service UUIDs + local name (โ‰ค31 bytes).", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'adv-ind', + term: 'ADV_IND', + definition: + "[[bluetooth|BLE]] connectable, undirected advertising packet โ€” the default *I'm here, talk to me* beacon. Broadcast on channels 37/38/39 at the advertising interval. Carries Flags + Service UUIDs + local name (โ‰ค31 bytes).", + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'connect-ind', - term: 'CONNECT_IND', - definition: - "[[bluetooth|BLE]] link-layer packet a Central sends in response to {{adv-ind|ADV_IND}} to open a connection. Carries the 32-bit Access Address, channel-hop pattern, connection interval, and supervision timeout.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'connect-ind', + term: 'CONNECT_IND', + definition: + '[[bluetooth|BLE]] link-layer packet a Central sends in response to {{adv-ind|ADV_IND}} to open a connection. Carries the 32-bit Access Address, channel-hop pattern, connection interval, and supervision timeout.', + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'att-mtu', - term: 'ATT MTU', - definition: - "The maximum payload size of an {{gatt|ATT}} PDU on a [[bluetooth|BLE]] link. Defaults to 23 (only 20 bytes usable) โ€” the *first thing to fix on every new BLE connection* via an ATT MTU Exchange (up to 247 or 517).", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'att-mtu', + term: 'ATT MTU', + definition: + 'The maximum payload size of an {{gatt|ATT}} PDU on a [[bluetooth|BLE]] link. Defaults to 23 (only 20 bytes usable) โ€” the *first thing to fix on every new BLE connection* via an ATT MTU Exchange (up to 247 or 517).', + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'att-read', - term: 'ATT Read', - definition: - "{{gatt|GATT}} operation that retrieves a characteristic's value by handle or UUID. Read by Type lets a Central skip the handle-discovery step when it already knows the UUID.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'att-read', + term: 'ATT Read', + definition: + "{{gatt|GATT}} operation that retrieves a characteristic's value by handle or UUID. Read by Type lets a Central skip the handle-discovery step when it already knows the UUID.", + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'att-write', - term: 'ATT Write', - definition: - "{{gatt|GATT}} operation that sets a characteristic's value. *Write Request* expects a confirmation; *Write Without Response* (fire-and-forget) is the high-throughput variant.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'att-write', + term: 'ATT Write', + definition: + "{{gatt|GATT}} operation that sets a characteristic's value. *Write Request* expects a confirmation; *Write Without Response* (fire-and-forget) is the high-throughput variant.", + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'att-notify', - term: 'ATT Notify', - definition: - "Unsolicited {{gatt|GATT}} push from a Peripheral to a Central โ€” no ACK at the ATT layer. Enabled by writing `0x0001` to the {{cccd|CCCD}}. The mechanism behind every push-based BLE sensor.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'att-notify', + term: 'ATT Notify', + definition: + 'Unsolicited {{gatt|GATT}} push from a Peripheral to a Central โ€” no ACK at the ATT layer. Enabled by writing `0x0001` to the {{cccd|CCCD}}. The mechanism behind every push-based BLE sensor.', + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'cccd', - term: 'CCCD (Client Characteristic Configuration Descriptor)', - definition: - "{{gatt|GATT}} descriptor (UUID 0x2902) attached to notifiable characteristics. Write `0x0001` to enable {{att-notify|notifications}}, `0x0002` for indications, `0x0000` to disable.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'protocol-mechanics' + id: 'cccd', + term: 'CCCD (Client Characteristic Configuration Descriptor)', + definition: + '{{gatt|GATT}} descriptor (UUID 0x2902) attached to notifiable characteristics. Write `0x0001` to enable {{att-notify|notifications}}, `0x0002` for indications, `0x0000` to disable.', + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'protocol-mechanics' }, { - id: 'smp-pairing', - term: 'SMP Pairing', - definition: - "Security Manager Protocol โ€” [[bluetooth|BLE]]'s pairing layer. Modern devices use **LE Secure Connections** (ECDH on Curve P-256) to derive a Long-Term Key; legacy *Just-Works* is vulnerable to relay attacks.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#Security', - category: 'security' + id: 'smp-pairing', + term: 'SMP Pairing', + definition: + "Security Manager Protocol โ€” [[bluetooth|BLE]]'s pairing layer. Modern devices use **LE Secure Connections** (ECDH on Curve P-256) to derive a Long-Term Key; legacy *Just-Works* is vulnerable to relay attacks.", + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#Security', + category: 'security' }, { - id: 'll-enc-req', - term: 'LL_ENC_REQ', - definition: - "[[bluetooth|BLE]] Link Layer Control PDU that initiates link encryption. After {{smp-pairing|SMP pairing}} establishes the Long-Term Key, LL_ENC_REQ turns on AES-CCM for every subsequent PDU.", - wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', - category: 'security' + id: 'll-enc-req', + term: 'LL_ENC_REQ', + definition: + '[[bluetooth|BLE]] Link Layer Control PDU that initiates link encryption. After {{smp-pairing|SMP pairing}} establishes the Long-Term Key, LL_ENC_REQ turns on AES-CCM for every subsequent PDU.', + wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', + category: 'security' }, { - id: 'pcd', - term: 'PCD (Proximity Coupling Device)', - definition: - "The {{rfid|RFID}}/[[nfc|NFC]] reader side โ€” the *terminal* that energizes the 13.56 MHz field and initiates commands. ISO/IEC 14443 nomenclature.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'pcd', + term: 'PCD (Proximity Coupling Device)', + definition: + 'The {{rfid|RFID}}/[[nfc|NFC]] reader side โ€” the *terminal* that energizes the 13.56 MHz field and initiates commands. ISO/IEC 14443 nomenclature.', + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'picc', - term: 'PICC (Proximity Integrated Circuit Card)', - definition: - "The {{rfid|RFID}}/[[nfc|NFC]] *card* side โ€” passive (powered by {{inductive-coupling|inductive coupling}} from the {{pcd|PCD}}'s field) or active (phone in card-emulation mode).", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'picc', + term: 'PICC (Proximity Integrated Circuit Card)', + definition: + "The {{rfid|RFID}}/[[nfc|NFC]] *card* side โ€” passive (powered by {{inductive-coupling|inductive coupling}} from the {{pcd|PCD}}'s field) or active (phone in card-emulation mode).", + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'reqa', - term: 'REQA / WUPA', - definition: - "7-bit short frame ([[nfc|NFC]] Type A): REQA `0x26` wakes IDLE {{picc|PICCs}}, WUPA `0x52` wakes both IDLE and HALT. First message of the [[nfc|NFC]] anti-collision dance.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'reqa', + term: 'REQA / WUPA', + definition: + '7-bit short frame ([[nfc|NFC]] Type A): REQA `0x26` wakes IDLE {{picc|PICCs}}, WUPA `0x52` wakes both IDLE and HALT. First message of the [[nfc|NFC]] anti-collision dance.', + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'atqa', - term: 'ATQA (Answer to Request, Type A)', - definition: - "The {{picc|PICC}}'s reply to {{reqa|REQA}}/WUPA. 16 bits indicating the UID size (4/7/10 bytes) and which anti-collision bit-frame to use.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'atqa', + term: 'ATQA (Answer to Request, Type A)', + definition: + "The {{picc|PICC}}'s reply to {{reqa|REQA}}/WUPA. 16 bits indicating the UID size (4/7/10 bytes) and which anti-collision bit-frame to use.", + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'rats', - term: 'RATS / ATS', - definition: - "Request for Answer To Select โ€” the [[nfc|NFC]] command that promotes a card from raw ISO 14443-3 anti-collision to the higher-layer ISO 14443-4 protocol. The ATS response declares Frame Size and Frame Waiting Time.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'rats', + term: 'RATS / ATS', + definition: + 'Request for Answer To Select โ€” the [[nfc|NFC]] command that promotes a card from raw ISO 14443-3 anti-collision to the higher-layer ISO 14443-4 protocol. The ATS response declares Frame Size and Frame Waiting Time.', + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'anti-collision', - term: 'Anti-Collision', - definition: - "The bit-by-bit loop ([[nfc|NFC]] Type A: SEL + NVB cascade) that singles out exactly one card when multiple {{picc|PICCs}} share the {{pcd|PCD}}'s field. Resolves the UID one bit at a time.", - wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', - category: 'protocol-mechanics' + id: 'anti-collision', + term: 'Anti-Collision', + definition: + "The bit-by-bit loop ([[nfc|NFC]] Type A: SEL + NVB cascade) that singles out exactly one card when multiple {{picc|PICCs}} share the {{pcd|PCD}}'s field. Resolves the UID one bit at a time.", + wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', + category: 'protocol-mechanics' }, { - id: 'select-aid', - term: 'SELECT AID', - definition: - "ISO 7816-4 command (`00 A4 04 00 โ€ฆ`) that selects an application by its {{aid|AID}}. In contactless payment: first SELECT {{ppse|PPSE}}, then SELECT the chosen card AID (Visa, Mastercard, AmEx).", - wikiUrl: 'https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit', - category: 'protocol-mechanics' + id: 'select-aid', + term: 'SELECT AID', + definition: + 'ISO 7816-4 command (`00 A4 04 00 โ€ฆ`) that selects an application by its {{aid|AID}}. In contactless payment: first SELECT {{ppse|PPSE}}, then SELECT the chosen card AID (Visa, Mastercard, AmEx).', + wikiUrl: 'https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit', + category: 'protocol-mechanics' }, { - id: 'pdol', - term: 'PDOL (Processing Data Object List)', - definition: - "List of EMV tags the card needs filled in by the terminal before {{gpo|GPO}}: amount, currency, country, transaction date, terminal verification results, unpredictable number, etc.", - wikiUrl: 'https://en.wikipedia.org/wiki/EMV', - category: 'protocol-mechanics' + id: 'pdol', + term: 'PDOL (Processing Data Object List)', + definition: + 'List of EMV tags the card needs filled in by the terminal before {{gpo|GPO}}: amount, currency, country, transaction date, terminal verification results, unpredictable number, etc.', + wikiUrl: 'https://en.wikipedia.org/wiki/EMV', + category: 'protocol-mechanics' }, { - id: 'gpo', - term: 'GPO (Get Processing Options)', - definition: - "EMV contactless command that hands the {{pdol|PDOL}}-filled data to the card. The card replies with AIP (modes supported) and {{afl|AFL}} (which records the terminal should next {{read-record|READ}}).", - wikiUrl: 'https://en.wikipedia.org/wiki/EMV', - category: 'protocol-mechanics' + id: 'gpo', + term: 'GPO (Get Processing Options)', + definition: + 'EMV contactless command that hands the {{pdol|PDOL}}-filled data to the card. The card replies with AIP (modes supported) and {{afl|AFL}} (which records the terminal should next {{read-record|READ}}).', + wikiUrl: 'https://en.wikipedia.org/wiki/EMV', + category: 'protocol-mechanics' }, { - id: 'afl', - term: 'AFL (Application File Locator)', - definition: - "EMV record map returned in the {{gpo|GPO}} response โ€” tells the terminal exactly which records to {{read-record|READ RECORD}} to assemble the cardholder data, certificate chain, and CDOL.", - wikiUrl: 'https://en.wikipedia.org/wiki/EMV', - category: 'protocol-mechanics' + id: 'afl', + term: 'AFL (Application File Locator)', + definition: + 'EMV record map returned in the {{gpo|GPO}} response โ€” tells the terminal exactly which records to {{read-record|READ RECORD}} to assemble the cardholder data, certificate chain, and CDOL.', + wikiUrl: 'https://en.wikipedia.org/wiki/EMV', + category: 'protocol-mechanics' }, { - id: 'read-record', - term: 'READ RECORD', - definition: - "ISO 7816-4 command that retrieves one record from a file on the card. EMV terminals issue several READ RECORDs (one per {{afl|AFL}} entry) to pull DPAN, expiry, CDOL1, and the offline data-authentication certificate chain.", - wikiUrl: 'https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit', - category: 'protocol-mechanics' + id: 'read-record', + term: 'READ RECORD', + definition: + 'ISO 7816-4 command that retrieves one record from a file on the card. EMV terminals issue several READ RECORDs (one per {{afl|AFL}} entry) to pull DPAN, expiry, CDOL1, and the offline data-authentication certificate chain.', + wikiUrl: 'https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit', + category: 'protocol-mechanics' }, { - id: 'generate-ac', - term: 'GENERATE AC', - definition: - "The EMV command that asks the card to produce an Application Cryptogram from the CDOL1 inputs. Yields the {{arqc|ARQC}} (online) or TC (offline-approved). MAC'd under the per-DPAN key.", - wikiUrl: 'https://en.wikipedia.org/wiki/EMV', - category: 'security' + id: 'generate-ac', + term: 'GENERATE AC', + definition: + "The EMV command that asks the card to produce an Application Cryptogram from the CDOL1 inputs. Yields the {{arqc|ARQC}} (online) or TC (offline-approved). MAC'd under the per-DPAN key.", + wikiUrl: 'https://en.wikipedia.org/wiki/EMV', + category: 'security' }, { - id: 'arqc', - term: 'ARQC (Authorisation Request Cryptogram)', - definition: - "EMV cryptogram returned by {{generate-ac|GENERATE AC}}. The terminal forwards it via acquirer โ†’ payment network โ†’ issuer; the issuer's HSM verifies and returns an ARPC = APPROVED/DECLINED.", - wikiUrl: 'https://en.wikipedia.org/wiki/EMV', - category: 'security' + id: 'arqc', + term: 'ARQC (Authorisation Request Cryptogram)', + definition: + "EMV cryptogram returned by {{generate-ac|GENERATE AC}}. The terminal forwards it via acquirer โ†’ payment network โ†’ issuer; the issuer's HSM verifies and returns an ARPC = APPROVED/DECLINED.", + wikiUrl: 'https://en.wikipedia.org/wiki/EMV', + category: 'security' }, { - id: 'dpan', - term: 'DPAN (Device PAN)', - definition: - "The tokenized card number stored on a phone or wearable for contactless payments โ€” *not* the real PAN. Real PAN lives only at the issuer; the DPAN is unique per device + per merchant network.", - wikiUrl: 'https://en.wikipedia.org/wiki/Tokenization_(data_security)', - category: 'security' + id: 'dpan', + term: 'DPAN (Device PAN)', + definition: + 'The tokenized card number stored on a phone or wearable for contactless payments โ€” *not* the real PAN. Real PAN lives only at the issuer; the DPAN is unique per device + per merchant network.', + wikiUrl: 'https://en.wikipedia.org/wiki/Tokenization_(data_security)', + category: 'security' }, { - id: 'binding-request', - term: 'STUN Binding Request', - definition: - "20-byte {{stun|STUN}} packet โ€” magic cookie `0x2112A442` + 96-bit transaction ID. Sent to a STUN server (learns server-reflexive address) or peer (ICE connectivity check).", - wikiUrl: 'https://en.wikipedia.org/wiki/STUN', - category: 'protocol-mechanics' + id: 'binding-request', + term: 'STUN Binding Request', + definition: + '20-byte {{stun|STUN}} packet โ€” magic cookie `0x2112A442` + 96-bit transaction ID. Sent to a STUN server (learns server-reflexive address) or peer (ICE connectivity check).', + wikiUrl: 'https://en.wikipedia.org/wiki/STUN', + category: 'protocol-mechanics' }, { - id: 'xor-mapped-address', - term: 'XOR-MAPPED-ADDRESS', - definition: - "{{stun|STUN}} attribute in a Binding Response carrying the source `ip:port` the server observed, XORed against the magic cookie so {{nat|NAT}} middleboxes can't rewrite it. Your server-reflexive candidate.", - wikiUrl: 'https://en.wikipedia.org/wiki/STUN', - category: 'protocol-mechanics' + id: 'xor-mapped-address', + term: 'XOR-MAPPED-ADDRESS', + definition: + "{{stun|STUN}} attribute in a Binding Response carrying the source `ip:port` the server observed, XORed against the magic cookie so {{nat|NAT}} middleboxes can't rewrite it. Your server-reflexive candidate.", + wikiUrl: 'https://en.wikipedia.org/wiki/STUN', + category: 'protocol-mechanics' }, { - id: 'xor-relayed-address', - term: 'XOR-RELAYED-ADDRESS', - definition: - "{{turn|TURN}} attribute in an Allocate Response โ€” the public `ip:port` the relay reserved for the client. The fallback path when neither host nor server-reflexive {{ice-candidate|candidates}} work.", - wikiUrl: 'https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT', - category: 'protocol-mechanics' + id: 'xor-relayed-address', + term: 'XOR-RELAYED-ADDRESS', + definition: + '{{turn|TURN}} attribute in an Allocate Response โ€” the public `ip:port` the relay reserved for the client. The fallback path when neither host nor server-reflexive {{ice-candidate|candidates}} work.', + wikiUrl: 'https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT', + category: 'protocol-mechanics' }, { - id: 'use-candidate', - term: 'USE-CANDIDATE', - definition: - "{{stun|STUN}} attribute the {{ice|ICE}} controlling agent sets on the connectivity check it wants the other side to use. Nominates the winning candidate pair; media starts flowing on it.", - wikiUrl: 'https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment', - category: 'protocol-mechanics' + id: 'use-candidate', + term: 'USE-CANDIDATE', + definition: + '{{stun|STUN}} attribute the {{ice|ICE}} controlling agent sets on the connectivity check it wants the other side to use. Nominates the winning candidate pair; media starts flowing on it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment', + category: 'protocol-mechanics' }, { - id: 'interface-id', - term: 'Interface ID', - definition: - "Lower 64 bits of an [[ipv6|IPv6]] address โ€” identifies a specific interface on a link. Built from the {{mac-address|MAC}} via EUI-64, generated randomly (privacy addresses), or assigned via DHCPv6.", - wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_address#Modified_EUI-64', - category: 'networking-basics' + id: 'interface-id', + term: 'Interface ID', + definition: + 'Lower 64 bits of an [[ipv6|IPv6]] address โ€” identifies a specific interface on a link. Built from the {{mac-address|MAC}} via EUI-64, generated randomly (privacy addresses), or assigned via DHCPv6.', + wikiUrl: 'https://en.wikipedia.org/wiki/IPv6_address#Modified_EUI-64', + category: 'networking-basics' }, { - id: 'mac-table', - term: 'MAC Address Table', - definition: - "Per-switch table mapping {{mac-address|MAC addresses}} to switch ports. Learned by snooping the source MAC of frames as they arrive. Entries time out after a few minutes if unused. The reason a switch is faster than a hub.", - wikiUrl: 'https://en.wikipedia.org/wiki/Forwarding_information_base', - category: 'networking-basics' + id: 'mac-table', + term: 'MAC Address Table', + definition: + 'Per-switch table mapping {{mac-address|MAC addresses}} to switch ports. Learned by snooping the source MAC of frames as they arrive. Entries time out after a few minutes if unused. The reason a switch is faster than a hub.', + wikiUrl: 'https://en.wikipedia.org/wiki/Forwarding_information_base', + category: 'networking-basics' }, { - id: 'prach', - term: 'PRACH (Physical Random Access Channel)', - definition: - "The {{5g-nr|5G NR}} / {{lte|LTE}} uplink channel a {{ue|UE}} uses to first contact a {{gnb|base station}}. The UE transmits a PRACH preamble (Msg1) in a contention-based slot; the base station replies with a Random Access Response (RAR / Msg2) carrying initial timing advance and a temporary identifier ({{c-rnti|C-RNTI}}).", - wikiUrl: 'https://en.wikipedia.org/wiki/Physical_layer_(LTE)', - category: 'protocol-mechanics' + id: 'prach', + term: 'PRACH (Physical Random Access Channel)', + definition: + 'The {{5g-nr|5G NR}} / {{lte|LTE}} uplink channel a {{ue|UE}} uses to first contact a {{gnb|base station}}. The UE transmits a PRACH preamble (Msg1) in a contention-based slot; the base station replies with a Random Access Response (RAR / Msg2) carrying initial timing advance and a temporary identifier ({{c-rnti|C-RNTI}}).', + wikiUrl: 'https://en.wikipedia.org/wiki/Physical_layer_(LTE)', + category: 'protocol-mechanics' }, { - id: 'ue', - term: 'UE (User Equipment)', - definition: - "{{3gpp|3GPP}} term for the [[cellular|cellular]] subscriber device โ€” phone, tablet, modem, IoT module. The UE pairs with the {{sim-usim|USIM}} to authenticate to the network and runs the {{rrc|RRC}} and {{nas|NAS}} stacks against the {{gnb|gNB}} and {{amf|AMF}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/User_equipment', - category: 'networking-basics' + id: 'ue', + term: 'UE (User Equipment)', + definition: + '{{3gpp|3GPP}} term for the [[cellular|cellular]] subscriber device โ€” phone, tablet, modem, IoT module. The UE pairs with the {{sim-usim|USIM}} to authenticate to the network and runs the {{rrc|RRC}} and {{nas|NAS}} stacks against the {{gnb|gNB}} and {{amf|AMF}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/User_equipment', + category: 'networking-basics' }, { - id: 'gnb', - term: 'gNB (Next-Generation NodeB)', - definition: - "The {{5g-nr|5G}} base station โ€” the radio access node a {{ue|UE}} attaches to. Speaks {{rrc|RRC}} to UEs over the air and NGAP to the {{amf|AMF}} over the N2 interface. Successor to the {{lte|LTE}} eNB.", - wikiUrl: 'https://en.wikipedia.org/wiki/GNodeB', - category: 'networking-basics' + id: 'gnb', + term: 'gNB (Next-Generation NodeB)', + definition: + 'The {{5g-nr|5G}} base station โ€” the radio access node a {{ue|UE}} attaches to. Speaks {{rrc|RRC}} to UEs over the air and NGAP to the {{amf|AMF}} over the N2 interface. Successor to the {{lte|LTE}} eNB.', + wikiUrl: 'https://en.wikipedia.org/wiki/GNodeB', + category: 'networking-basics' }, { - id: 'rrc', - term: 'RRC (Radio Resource Control)', - definition: - "The signalling protocol between a {{ue|UE}} and a {{gnb|gNB}} that sets up, reconfigures, and tears down radio bearers. Walks the UE through an eight-state machine: Idle โ†’ RRCSetupRequest โ†’ RRCSetup โ†’ RRCReconfiguration. Carries security mode, measurement reports, and handover commands.", - wikiUrl: 'https://en.wikipedia.org/wiki/Radio_Resource_Control', - category: 'protocol-mechanics' + id: 'rrc', + term: 'RRC (Radio Resource Control)', + definition: + 'The signalling protocol between a {{ue|UE}} and a {{gnb|gNB}} that sets up, reconfigures, and tears down radio bearers. Walks the UE through an eight-state machine: Idle โ†’ RRCSetupRequest โ†’ RRCSetup โ†’ RRCReconfiguration. Carries security mode, measurement reports, and handover commands.', + wikiUrl: 'https://en.wikipedia.org/wiki/Radio_Resource_Control', + category: 'protocol-mechanics' }, { - id: 'nas', - term: 'NAS (Non-Access Stratum)', - definition: - "The [[cellular|cellular]] signalling layer that runs end-to-end between a {{ue|UE}} and the {{amf|AMF}}, transparent to the {{gnb|gNB}}. Carries Registration, Authentication, Security Mode Command, and PDU Session messages. NAS ciphering (128-NEA) and integrity (128-NIA) sit here.", - wikiUrl: 'https://en.wikipedia.org/wiki/Non-access_stratum', - category: 'protocol-mechanics' + id: 'nas', + term: 'NAS (Non-Access Stratum)', + definition: + 'The [[cellular|cellular]] signalling layer that runs end-to-end between a {{ue|UE}} and the {{amf|AMF}}, transparent to the {{gnb|gNB}}. Carries Registration, Authentication, Security Mode Command, and PDU Session messages. NAS ciphering (128-NEA) and integrity (128-NIA) sit here.', + wikiUrl: 'https://en.wikipedia.org/wiki/Non-access_stratum', + category: 'protocol-mechanics' }, { - id: 'amf', - term: 'AMF (Access and Mobility Management Function)', - definition: - "The {{5g-core|5G core}} function that terminates {{nas|NAS}} signalling for a {{ue|UE}}: handles Registration, mobility, paging, and authentication orchestration with {{ausf|AUSF}} / {{udm|UDM}}. Equivalent role to the {{lte|LTE}} MME.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', - category: 'infrastructure' + id: 'amf', + term: 'AMF (Access and Mobility Management Function)', + definition: + 'The {{5g-core|5G core}} function that terminates {{nas|NAS}} signalling for a {{ue|UE}}: handles Registration, mobility, paging, and authentication orchestration with {{ausf|AUSF}} / {{udm|UDM}}. Equivalent role to the {{lte|LTE}} MME.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', + category: 'infrastructure' }, { - id: 'smf', - term: 'SMF (Session Management Function)', - definition: - "The {{5g-core|5G core}} function that creates and manages {{pdu-session|PDU sessions}} โ€” assigns [[ip|IP]] addresses, programs the {{upf|UPF}} via {{pfcp|PFCP}}, enforces {{qos|QoS}} rules. Control-plane counterpart to UPF under {{cups|CUPS}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', - category: 'infrastructure' + id: 'smf', + term: 'SMF (Session Management Function)', + definition: + 'The {{5g-core|5G core}} function that creates and manages {{pdu-session|PDU sessions}} โ€” assigns [[ip|IP]] addresses, programs the {{upf|UPF}} via {{pfcp|PFCP}}, enforces {{qos|QoS}} rules. Control-plane counterpart to UPF under {{cups|CUPS}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', + category: 'infrastructure' }, { - id: 'upf', - term: 'UPF (User Plane Function)', - definition: - "The {{5g-core|5G core}} data-plane forwarder. Receives user packets from {{gnb|gNB}} via N3 ({{gtp-u|GTP-U}}), applies the PDR/FAR/QER/URR rules installed by the {{smf|SMF}} over {{pfcp|PFCP}}, and forwards to the data network. The packet processor in the {{cups|CUPS}} split.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', - category: 'infrastructure' + id: 'upf', + term: 'UPF (User Plane Function)', + definition: + 'The {{5g-core|5G core}} data-plane forwarder. Receives user packets from {{gnb|gNB}} via N3 ({{gtp-u|GTP-U}}), applies the PDR/FAR/QER/URR rules installed by the {{smf|SMF}} over {{pfcp|PFCP}}, and forwards to the data network. The packet processor in the {{cups|CUPS}} split.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', + category: 'infrastructure' }, { - id: 'ausf', - term: 'AUSF (Authentication Server Function)', - definition: - "The {{5g-core|5G core}} function that runs the authentication exchange with a {{ue|UE}}. Receives the authentication vector from {{udm|UDM}}, sends RAND/AUTN to the UE via {{amf|AMF}}, compares the returned RES* against HRES*. The 5G-AKA decision point.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_security', - category: 'security' + id: 'ausf', + term: 'AUSF (Authentication Server Function)', + definition: + 'The {{5g-core|5G core}} function that runs the authentication exchange with a {{ue|UE}}. Receives the authentication vector from {{udm|UDM}}, sends RAND/AUTN to the UE via {{amf|AMF}}, compares the returned RES* against HRES*. The 5G-AKA decision point.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_security', + category: 'security' }, { - id: 'udm', - term: 'UDM (Unified Data Management)', - definition: - "The {{5g-core|5G core}} subscriber database โ€” holds long-term keys K, subscription profiles, and policy data. Hosts the SIDF (Subscription Identifier De-concealing Function) that decrypts {{suci|SUCI}} back into {{supi|SUPI}}. Equivalent role to the {{lte|LTE}} HSS.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_security', - category: 'infrastructure' + id: 'udm', + term: 'UDM (Unified Data Management)', + definition: + 'The {{5g-core|5G core}} subscriber database โ€” holds long-term keys K, subscription profiles, and policy data. Hosts the SIDF (Subscription Identifier De-concealing Function) that decrypts {{suci|SUCI}} back into {{supi|SUPI}}. Equivalent role to the {{lte|LTE}} HSS.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_security', + category: 'infrastructure' }, { - id: '5g-core', - term: '5G Core (5GC)', - definition: - "The service-based architecture that replaced the {{lte|LTE}} EPC in {{5g-nr|5G}}. Decomposes mobility, sessions, authentication, and policy into discrete network functions ({{amf|AMF}}, {{smf|SMF}}, {{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF) that talk over HTTP/2 service APIs ({{sba|SBA}}).", - wikiUrl: 'https://en.wikipedia.org/wiki/5G', - category: 'infrastructure' + id: '5g-core', + term: '5G Core (5GC)', + definition: + 'The service-based architecture that replaced the {{lte|LTE}} EPC in {{5g-nr|5G}}. Decomposes mobility, sessions, authentication, and policy into discrete network functions ({{amf|AMF}}, {{smf|SMF}}, {{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF) that talk over HTTP/2 service APIs ({{sba|SBA}}).', + wikiUrl: 'https://en.wikipedia.org/wiki/5G', + category: 'infrastructure' }, { - id: 'suci', - term: 'SUCI (Subscription Concealed Identifier)', - definition: - "The encrypted form of a subscriber's permanent [[cellular|cellular]] identity. The {{sim-usim|USIM}} encrypts the {{supi|SUPI}} with the home network's public key (ECIES on Curve25519, Profile A) before any transmission โ€” so the long-term IMSI is never sent in clear over the air. Introduced in {{5g-nr|5G}} to defeat IMSI catchers.", - wikiUrl: 'https://en.wikipedia.org/wiki/Subscription_Concealed_Identifier', - category: 'security' + id: 'suci', + term: 'SUCI (Subscription Concealed Identifier)', + definition: + "The encrypted form of a subscriber's permanent [[cellular|cellular]] identity. The {{sim-usim|USIM}} encrypts the {{supi|SUPI}} with the home network's public key (ECIES on Curve25519, Profile A) before any transmission โ€” so the long-term IMSI is never sent in clear over the air. Introduced in {{5g-nr|5G}} to defeat IMSI catchers.", + wikiUrl: 'https://en.wikipedia.org/wiki/Subscription_Concealed_Identifier', + category: 'security' }, { - id: 'supi', - term: 'SUPI (Subscription Permanent Identifier)', - definition: - "The long-term [[cellular|cellular]] subscriber identity stored on the {{sim-usim|USIM}}. Usually an IMSI (MCC + MNC + MSIN). Never sent in clear in {{5g-nr|5G}} โ€” always concealed as a {{suci|SUCI}} on the air interface, decrypted only at the {{udm|UDM}}'s SIDF.", - wikiUrl: 'https://en.wikipedia.org/wiki/International_mobile_subscriber_identity', - category: 'security' + id: 'supi', + term: 'SUPI (Subscription Permanent Identifier)', + definition: + "The long-term [[cellular|cellular]] subscriber identity stored on the {{sim-usim|USIM}}. Usually an IMSI (MCC + MNC + MSIN). Never sent in clear in {{5g-nr|5G}} โ€” always concealed as a {{suci|SUCI}} on the air interface, decrypted only at the {{udm|UDM}}'s SIDF.", + wikiUrl: 'https://en.wikipedia.org/wiki/International_mobile_subscriber_identity', + category: 'security' }, { - id: '5g-aka', - term: '5G-AKA (Authentication and Key Agreement)', - definition: - "The mutual authentication and key derivation protocol between a {{ue|UE}} and the home network in {{5g-nr|5G}}. {{ausf|AUSF}} sends RAND + AUTN; the {{sim-usim|USIM}} verifies AUTN.MAC = f1(K, SQN, RAND), computes RES* via KDF(CK || IK); AUSF compares HRES*. Successor to {{lte|LTE}} EPS-AKA with hash-based RES* and {{suci|SUCI}} integration.", - wikiUrl: 'https://en.wikipedia.org/wiki/Authentication_and_Key_Agreement_(protocol)', - category: 'security' + id: '5g-aka', + term: '5G-AKA (Authentication and Key Agreement)', + definition: + 'The mutual authentication and key derivation protocol between a {{ue|UE}} and the home network in {{5g-nr|5G}}. {{ausf|AUSF}} sends RAND + AUTN; the {{sim-usim|USIM}} verifies AUTN.MAC = f1(K, SQN, RAND), computes RES* via KDF(CK || IK); AUSF compares HRES*. Successor to {{lte|LTE}} EPS-AKA with hash-based RES* and {{suci|SUCI}} integration.', + wikiUrl: 'https://en.wikipedia.org/wiki/Authentication_and_Key_Agreement_(protocol)', + category: 'security' }, { - id: 'guti', - term: '5G-GUTI (Globally Unique Temporary Identifier)', - definition: - "The temporary [[cellular|cellular]] identity assigned to a {{ue|UE}} by the {{amf|AMF}} after successful Registration. Used in place of the {{supi|SUPI}} for subsequent paging and signalling, rotated on a per-network policy to prevent tracking.", - wikiUrl: 'https://en.wikipedia.org/wiki/GUTI', - category: 'security' + id: 'guti', + term: '5G-GUTI (Globally Unique Temporary Identifier)', + definition: + 'The temporary [[cellular|cellular]] identity assigned to a {{ue|UE}} by the {{amf|AMF}} after successful Registration. Used in place of the {{supi|SUPI}} for subsequent paging and signalling, rotated on a per-network policy to prevent tracking.', + wikiUrl: 'https://en.wikipedia.org/wiki/GUTI', + category: 'security' }, { - id: 'nssai', - term: 'NSSAI / S-NSSAI (Network Slice Selection)', - definition: - "The {{5g-nr|5G}} identifier that selects which network slice a {{ue|UE}} attaches to. A single S-NSSAI is one slice (SST + SD); NSSAI is the set requested or allowed. Lets one physical [[cellular|cellular]] network present multiple isolated logical networks (eMBB, URLLC, mMTC).", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', - category: 'infrastructure' + id: 'nssai', + term: 'NSSAI / S-NSSAI (Network Slice Selection)', + definition: + 'The {{5g-nr|5G}} identifier that selects which network slice a {{ue|UE}} attaches to. A single S-NSSAI is one slice (SST + SD); NSSAI is the set requested or allowed. Lets one physical [[cellular|cellular]] network present multiple isolated logical networks (eMBB, URLLC, mMTC).', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', + category: 'infrastructure' }, { - id: 'pdu-session', - term: 'PDU Session', - definition: - "The {{5g-nr|5G}} equivalent of \"give me an [[ip|IP]] address.\" A logical connection between the {{ue|UE}} and the data network (identified by {{dnn|DNN}}), set up by the {{smf|SMF}} programming the {{upf|UPF}} via {{pfcp|PFCP}}. Carries one or more {{drb|Data Radio Bearers}} with {{qos|QoS}} flows.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G', - category: 'protocol-mechanics' + id: 'pdu-session', + term: 'PDU Session', + definition: + 'The {{5g-nr|5G}} equivalent of "give me an [[ip|IP]] address." A logical connection between the {{ue|UE}} and the data network (identified by {{dnn|DNN}}), set up by the {{smf|SMF}} programming the {{upf|UPF}} via {{pfcp|PFCP}}. Carries one or more {{drb|Data Radio Bearers}} with {{qos|QoS}} flows.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G', + category: 'protocol-mechanics' }, { - id: 'dnn', - term: 'DNN (Data Network Name)', - definition: - "The {{5g-nr|5G}} successor to {{lte|LTE}} APN. A string (\"internet\", \"ims\", \"private.acme\") that identifies which data network a {{pdu-session|PDU session}} terminates in. The {{smf|SMF}} uses it to pick the {{upf|UPF}} and IP pool.", - wikiUrl: 'https://en.wikipedia.org/wiki/Access_Point_Name', - category: 'networking-basics' + id: 'dnn', + term: 'DNN (Data Network Name)', + definition: + 'The {{5g-nr|5G}} successor to {{lte|LTE}} APN. A string ("internet", "ims", "private.acme") that identifies which data network a {{pdu-session|PDU session}} terminates in. The {{smf|SMF}} uses it to pick the {{upf|UPF}} and IP pool.', + wikiUrl: 'https://en.wikipedia.org/wiki/Access_Point_Name', + category: 'networking-basics' }, { - id: 'c-rnti', - term: 'C-RNTI (Cell Radio Network Temporary Identifier)', - definition: - "The 16-bit temporary identifier a {{gnb|gNB}} assigns to a {{ue|UE}} in its cell. Assigned in the RAR (Msg2) right after the {{prach|PRACH}} preamble succeeds. Addresses the UE in every subsequent radio scheduling command.", - wikiUrl: 'https://en.wikipedia.org/wiki/RNTI', - category: 'protocol-mechanics' + id: 'c-rnti', + term: 'C-RNTI (Cell Radio Network Temporary Identifier)', + definition: + 'The 16-bit temporary identifier a {{gnb|gNB}} assigns to a {{ue|UE}} in its cell. Assigned in the RAR (Msg2) right after the {{prach|PRACH}} preamble succeeds. Addresses the UE in every subsequent radio scheduling command.', + wikiUrl: 'https://en.wikipedia.org/wiki/RNTI', + category: 'protocol-mechanics' }, { - id: 'drb', - term: 'DRB (Data Radio Bearer)', - definition: - "A {{5g-nr|5G}} / {{lte|LTE}} radio-layer pipe for user data, set up by {{rrc|RRCReconfiguration}}. Each DRB carries one or more {{qos|QoS}} flows ({{qfi|QFI}}-tagged) of a {{pdu-session|PDU session}}. The signalling counterpart is the SRB.", - wikiUrl: 'https://en.wikipedia.org/wiki/E-UTRA', - category: 'protocol-mechanics' + id: 'drb', + term: 'DRB (Data Radio Bearer)', + definition: + 'A {{5g-nr|5G}} / {{lte|LTE}} radio-layer pipe for user data, set up by {{rrc|RRCReconfiguration}}. Each DRB carries one or more {{qos|QoS}} flows ({{qfi|QFI}}-tagged) of a {{pdu-session|PDU session}}. The signalling counterpart is the SRB.', + wikiUrl: 'https://en.wikipedia.org/wiki/E-UTRA', + category: 'protocol-mechanics' }, { - id: 'qfi', - term: 'QFI (QoS Flow Identifier)', - definition: - "The 6-bit tag a {{5g-nr|5G}} {{upf|UPF}} stamps on every uplink/downlink packet to identify which {{qos|QoS}} flow of a {{pdu-session|PDU session}} it belongs to. The {{gnb|gNB}} maps QFIs to {{drb|Data Radio Bearers}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G', - category: 'protocol-mechanics' + id: 'qfi', + term: 'QFI (QoS Flow Identifier)', + definition: + 'The 6-bit tag a {{5g-nr|5G}} {{upf|UPF}} stamps on every uplink/downlink packet to identify which {{qos|QoS}} flow of a {{pdu-session|PDU session}} it belongs to. The {{gnb|gNB}} maps QFIs to {{drb|Data Radio Bearers}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G', + category: 'protocol-mechanics' }, { - id: 'ngap', - term: 'NGAP (NG Application Protocol)', - definition: - "The control-plane signalling protocol between a {{gnb|gNB}} and the {{amf|AMF}} on the N2 interface in {{5g-nr|5G}}. Carries Initial UE Message, NAS PDUs, UE Context Setup, handover requests. Sibling of the {{lte|LTE}} S1AP.", - wikiUrl: 'https://en.wikipedia.org/wiki/NG_Application_Protocol', - category: 'protocol-mechanics' + id: 'ngap', + term: 'NGAP (NG Application Protocol)', + definition: + 'The control-plane signalling protocol between a {{gnb|gNB}} and the {{amf|AMF}} on the N2 interface in {{5g-nr|5G}}. Carries Initial UE Message, NAS PDUs, UE Context Setup, handover requests. Sibling of the {{lte|LTE}} S1AP.', + wikiUrl: 'https://en.wikipedia.org/wiki/NG_Application_Protocol', + category: 'protocol-mechanics' }, { - id: 'pfcp', - term: 'PFCP (Packet Forwarding Control Protocol)', - definition: - "The {{3gpp|3GPP}} protocol over UDP/8805 that lets {{smf|SMF}} program {{upf|UPF}} forwarding state: PDR (Packet Detection Rule), FAR (Forwarding Action Rule), QER ({{qos|QoS}} Enforcement Rule), URR (Usage Reporting Rule). The wire between control and data plane under {{cups|CUPS}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Packet_Forwarding_Control_Protocol', - category: 'protocol-mechanics' + id: 'pfcp', + term: 'PFCP (Packet Forwarding Control Protocol)', + definition: + 'The {{3gpp|3GPP}} protocol over UDP/8805 that lets {{smf|SMF}} program {{upf|UPF}} forwarding state: PDR (Packet Detection Rule), FAR (Forwarding Action Rule), QER ({{qos|QoS}} Enforcement Rule), URR (Usage Reporting Rule). The wire between control and data plane under {{cups|CUPS}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Packet_Forwarding_Control_Protocol', + category: 'protocol-mechanics' }, { - id: 'cups', - term: 'CUPS (Control and User Plane Separation)', - definition: - "The {{3gpp|3GPP}} architecture, mandatory in {{5g-nr|5G}}, that splits session-management signalling ({{smf|SMF}}) from packet forwarding ({{upf|UPF}}) and connects them with {{pfcp|PFCP}}. Lets operators scale data plane independently and deploy UPFs at the edge.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', - category: 'infrastructure' + id: 'cups', + term: 'CUPS (Control and User Plane Separation)', + definition: + 'The {{3gpp|3GPP}} architecture, mandatory in {{5g-nr|5G}}, that splits session-management signalling ({{smf|SMF}}) from packet forwarding ({{upf|UPF}}) and connects them with {{pfcp|PFCP}}. Lets operators scale data plane independently and deploy UPFs at the edge.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_network_slicing', + category: 'infrastructure' }, { - id: 'ssb', - term: 'SSB (Synchronization Signal Block)', - definition: - "The {{5g-nr|5G}} beacon a {{gnb|gNB}} radiates so {{ue|UEs}} can find it: a periodic burst containing PSS, SSS, and PBCH. UEs measure RSRP/RSRQ on the SSB to pick the best cell before sending a {{prach|PRACH}} preamble.", - wikiUrl: 'https://en.wikipedia.org/wiki/5G_NR_frequency_bands', - category: 'protocol-mechanics' + id: 'ssb', + term: 'SSB (Synchronization Signal Block)', + definition: + 'The {{5g-nr|5G}} beacon a {{gnb|gNB}} radiates so {{ue|UEs}} can find it: a periodic burst containing PSS, SSS, and PBCH. UEs measure RSRP/RSRQ on the SSB to pick the best cell before sending a {{prach|PRACH}} preamble.', + wikiUrl: 'https://en.wikipedia.org/wiki/5G_NR_frequency_bands', + category: 'protocol-mechanics' }, { - id: 'pan-id', - term: 'PAN ID (Personal Area Network Identifier)', - definition: - "The 16-bit identifier of an {{ieee-802-15-4|IEEE 802.15.4}} {{piconet|PAN}}. [[zigbee|Zigbee]] and Thread networks use the PAN ID to filter frames at the {{mac-address|MAC}} layer โ€” devices only process frames matching their PAN ID. Picked by the {{zigbee-coordinator|Coordinator}} at network formation.", - wikiUrl: 'https://en.wikipedia.org/wiki/Personal_area_network', - category: 'networking-basics' + id: 'pan-id', + term: 'PAN ID (Personal Area Network Identifier)', + definition: + 'The 16-bit identifier of an {{ieee-802-15-4|IEEE 802.15.4}} {{piconet|PAN}}. [[zigbee|Zigbee]] and Thread networks use the PAN ID to filter frames at the {{mac-address|MAC}} layer โ€” devices only process frames matching their PAN ID. Picked by the {{zigbee-coordinator|Coordinator}} at network formation.', + wikiUrl: 'https://en.wikipedia.org/wiki/Personal_area_network', + category: 'networking-basics' }, { - id: 'zigbee-coordinator', - term: 'Zigbee Coordinator', - definition: - "The single mandatory device that forms a [[zigbee|Zigbee]] network โ€” picks the channel and {{pan-id|PAN ID}}, distributes the network key as the {{trust-center|Trust Center}}, and owns short address 0x0000. Usually mains-powered and always a {{ffd|Full Function Device}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'infrastructure' + id: 'zigbee-coordinator', + term: 'Zigbee Coordinator', + definition: + 'The single mandatory device that forms a [[zigbee|Zigbee]] network โ€” picks the channel and {{pan-id|PAN ID}}, distributes the network key as the {{trust-center|Trust Center}}, and owns short address 0x0000. Usually mains-powered and always a {{ffd|Full Function Device}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'infrastructure' }, { - id: 'zigbee-router', - term: 'Zigbee Router', - definition: - "A mains-powered [[zigbee|Zigbee]] {{ffd|FFD}} that forwards frames on behalf of neighbours, enabling {{mesh-network|mesh}} routing via AODV. Routers also let new devices join the network by forwarding their Association Requests to the {{trust-center|Trust Center}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'infrastructure' + id: 'zigbee-router', + term: 'Zigbee Router', + definition: + 'A mains-powered [[zigbee|Zigbee]] {{ffd|FFD}} that forwards frames on behalf of neighbours, enabling {{mesh-network|mesh}} routing via AODV. Routers also let new devices join the network by forwarding their Association Requests to the {{trust-center|Trust Center}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'infrastructure' }, { - id: 'ffd', - term: 'FFD (Full Function Device)', - definition: - "An {{ieee-802-15-4|IEEE 802.15.4}} device that implements the full MAC and can route, act as a {{zigbee-coordinator|Coordinator}} or {{zigbee-router|Router}}, and talk to any other device. Contrast with {{rfd|RFD}} which can only talk to its parent.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', - category: 'networking-basics' + id: 'ffd', + term: 'FFD (Full Function Device)', + definition: + 'An {{ieee-802-15-4|IEEE 802.15.4}} device that implements the full MAC and can route, act as a {{zigbee-coordinator|Coordinator}} or {{zigbee-router|Router}}, and talk to any other device. Contrast with {{rfd|RFD}} which can only talk to its parent.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', + category: 'networking-basics' }, { - id: 'rfd', - term: 'RFD (Reduced Function Device)', - definition: - "An {{ieee-802-15-4|IEEE 802.15.4}} End Device that implements only the minimum MAC needed to talk to its parent. Typically battery-powered ([[zigbee|Zigbee]] sensors, buttons, end-line bulbs) and sleeps most of the time.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', - category: 'networking-basics' + id: 'rfd', + term: 'RFD (Reduced Function Device)', + definition: + 'An {{ieee-802-15-4|IEEE 802.15.4}} End Device that implements only the minimum MAC needed to talk to its parent. Typically battery-powered ([[zigbee|Zigbee]] sensors, buttons, end-line bulbs) and sleeps most of the time.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', + category: 'networking-basics' }, { - id: 'zigbee-joiner', - term: 'Zigbee Joiner', - definition: - "A new [[zigbee|Zigbee]] device attempting to join an existing network. Broadcasts a Beacon Request, picks a parent ({{zigbee-router|Router}} or {{zigbee-coordinator|Coordinator}}), sends an Association Request, and receives the network key encrypted under its pre-configured link key (often an {{install-code|install code}}).", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'protocol-mechanics' + id: 'zigbee-joiner', + term: 'Zigbee Joiner', + definition: + 'A new [[zigbee|Zigbee]] device attempting to join an existing network. Broadcasts a Beacon Request, picks a parent ({{zigbee-router|Router}} or {{zigbee-coordinator|Coordinator}}), sends an Association Request, and receives the network key encrypted under its pre-configured link key (often an {{install-code|install code}}).', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'protocol-mechanics' }, { - id: 'aps-layer', - term: 'APS (Application Support Sub-layer)', - definition: - "The [[zigbee|Zigbee]] layer sitting between {{zigbee-nwk|NWK}} and the application. Handles end-to-end addressing of clusters, APS-level encryption (Transport-Key commands carry the network key encrypted under the link key), and bindings. Frame format: APS header + ZCL payload.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'protocol-mechanics' + id: 'aps-layer', + term: 'APS (Application Support Sub-layer)', + definition: + 'The [[zigbee|Zigbee]] layer sitting between {{zigbee-nwk|NWK}} and the application. Handles end-to-end addressing of clusters, APS-level encryption (Transport-Key commands carry the network key encrypted under the link key), and bindings. Frame format: APS header + ZCL payload.', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'protocol-mechanics' }, { - id: 'zigbee-nwk', - term: 'NWK (Zigbee Network Layer)', - definition: - "The [[zigbee|Zigbee]] layer responsible for {{mesh-network|mesh}} routing (AODV-based), short-address allocation, and Device Announce broadcasts. Sits between {{ieee-802-15-4|802.15.4 MAC}} and {{aps-layer|APS}}; every NWK frame is encrypted with the network key.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'protocol-mechanics' + id: 'zigbee-nwk', + term: 'NWK (Zigbee Network Layer)', + definition: + 'The [[zigbee|Zigbee]] layer responsible for {{mesh-network|mesh}} routing (AODV-based), short-address allocation, and Device Announce broadcasts. Sits between {{ieee-802-15-4|802.15.4 MAC}} and {{aps-layer|APS}}; every NWK frame is encrypted with the network key.', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'protocol-mechanics' }, { - id: 'network-key', - term: 'Network Key (Zigbee)', - definition: - "The 128-bit AES key shared by every device on a [[zigbee|Zigbee]] network. Encrypts every {{zigbee-nwk|NWK}} frame in transit. Delivered to a new joiner by the {{trust-center|Trust Center}} via an {{aps-layer|APS}} Transport-Key command, itself encrypted under the joiner's pre-configured link key.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'security' + id: 'network-key', + term: 'Network Key (Zigbee)', + definition: + "The 128-bit AES key shared by every device on a [[zigbee|Zigbee]] network. Encrypts every {{zigbee-nwk|NWK}} frame in transit. Delivered to a new joiner by the {{trust-center|Trust Center}} via an {{aps-layer|APS}} Transport-Key command, itself encrypted under the joiner's pre-configured link key.", + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'security' }, { - id: 'short-address', - term: 'Short address (16-bit)', - definition: - "A 16-bit address assigned by the {{zigbee-coordinator|Coordinator}} to each [[zigbee|Zigbee]] device after Association. Used in every {{zigbee-nwk|NWK}} header instead of the full 8-byte {{eui-64|EUI-64}} to save airtime on the constrained {{ieee-802-15-4|802.15.4}} radio.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', - category: 'networking-basics' + id: 'short-address', + term: 'Short address (16-bit)', + definition: + 'A 16-bit address assigned by the {{zigbee-coordinator|Coordinator}} to each [[zigbee|Zigbee]] device after Association. Used in every {{zigbee-nwk|NWK}} header instead of the full 8-byte {{eui-64|EUI-64}} to save airtime on the constrained {{ieee-802-15-4|802.15.4}} radio.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', + category: 'networking-basics' }, { - id: 'eui-64', - term: 'EUI-64', - definition: - "A 64-bit globally unique identifier assigned by IEEE OUI to {{ieee-802-15-4|802.15.4}}, [[bluetooth|Bluetooth]], and [[ipv6|IPv6]] devices. The long-term factory-burned identity, exchanged once at join time, then replaced by a {{short-address|short address}} for normal traffic in [[zigbee|Zigbee]].", - wikiUrl: 'https://en.wikipedia.org/wiki/MAC_address', - category: 'networking-basics' + id: 'eui-64', + term: 'EUI-64', + definition: + 'A 64-bit globally unique identifier assigned by IEEE OUI to {{ieee-802-15-4|802.15.4}}, [[bluetooth|Bluetooth]], and [[ipv6|IPv6]] devices. The long-term factory-burned identity, exchanged once at join time, then replaced by a {{short-address|short address}} for normal traffic in [[zigbee|Zigbee]].', + wikiUrl: 'https://en.wikipedia.org/wiki/MAC_address', + category: 'networking-basics' }, { - id: 'zigbee-zdo', - term: 'ZDO (Zigbee Device Object)', - definition: - "Cluster 0x0013 on every [[zigbee|Zigbee]] device โ€” handles device announcement, service discovery, binding, and network management. The Device Announce broadcast lets routers update their routing tables when a new device joins.", - wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', - category: 'protocol-mechanics' + id: 'zigbee-zdo', + term: 'ZDO (Zigbee Device Object)', + definition: + 'Cluster 0x0013 on every [[zigbee|Zigbee]] device โ€” handles device announcement, service discovery, binding, and network management. The Device Announce broadcast lets routers update their routing tables when a new device joins.', + wikiUrl: 'https://en.wikipedia.org/wiki/Zigbee', + category: 'protocol-mechanics' }, { - id: 'aodv', - term: 'AODV (Ad-hoc On-demand Distance Vector)', - definition: - "The reactive {{mesh-network|mesh}} routing algorithm used by [[zigbee|Zigbee]] and other low-power meshes. Routes are discovered on demand via Route Request / Route Reply broadcasts; intermediate nodes cache routes and age them out. Trades convergence speed for low memory footprint.", - wikiUrl: 'https://en.wikipedia.org/wiki/Ad_hoc_On-Demand_Distance_Vector_Routing', - category: 'protocol-mechanics' + id: 'aodv', + term: 'AODV (Ad-hoc On-demand Distance Vector)', + definition: + 'The reactive {{mesh-network|mesh}} routing algorithm used by [[zigbee|Zigbee]] and other low-power meshes. Routes are discovered on demand via Route Request / Route Reply broadcasts; intermediate nodes cache routes and age them out. Trades convergence speed for low memory footprint.', + wikiUrl: 'https://en.wikipedia.org/wiki/Ad_hoc_On-Demand_Distance_Vector_Routing', + category: 'protocol-mechanics' }, { - id: 'ds-twr', - term: 'DS-TWR (Double-Sided Two-Way Ranging)', - definition: - "The three-message [[uwb|UWB]] ranging exchange (Poll, Response, Final) whose cross-product cancels relative clock drift between initiator and responder to first order. Achieves 10โ€“30 cm distance accuracy where SS-TWR would drift with ppm clock error. Standardised in {{ieee-802-15-4|IEEE 802.15.4z}}.", - wikiUrl: 'https://en.wikipedia.org/wiki/Real-time_locating_system', - category: 'protocol-mechanics' + id: 'ds-twr', + term: 'DS-TWR (Double-Sided Two-Way Ranging)', + definition: + 'The three-message [[uwb|UWB]] ranging exchange (Poll, Response, Final) whose cross-product cancels relative clock drift between initiator and responder to first order. Achieves 10โ€“30 cm distance accuracy where SS-TWR would drift with ppm clock error. Standardised in {{ieee-802-15-4|IEEE 802.15.4z}}.', + wikiUrl: 'https://en.wikipedia.org/wiki/Real-time_locating_system', + category: 'protocol-mechanics' }, { - id: 'sfd', - term: 'SFD (Start of Frame Delimiter)', - definition: - "The reference symbol an {{ieee-802-15-4|IEEE 802.15.4}} / [[uwb|UWB]] receiver locks onto to timestamp a frame's arrival. UWB DW3000-class chips resolve the SFD to ~15 picosecond precision โ€” the foundation of {{tof-ranging|ToF}} distance measurement.", - wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', - category: 'protocol-mechanics' + id: 'sfd', + term: 'SFD (Start of Frame Delimiter)', + definition: + "The reference symbol an {{ieee-802-15-4|IEEE 802.15.4}} / [[uwb|UWB]] receiver locks onto to timestamp a frame's arrival. UWB DW3000-class chips resolve the SFD to ~15 picosecond precision โ€” the foundation of {{tof-ranging|ToF}} distance measurement.", + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', + category: 'protocol-mechanics' }, { - id: 'pake', - term: 'PAKE (Password-Authenticated Key Exchange)', - definition: - "A class of key-exchange protocols (SPAKE2+, OPAQUE, J-PAKE) that derive a strong shared key from a low-entropy password without leaking the password to an eavesdropper or active MITM. Used by {{ccc-digital-key|CCC Digital Key}}, {{matter|Matter}} commissioning, and WPA3 SAE.", - wikiUrl: 'https://en.wikipedia.org/wiki/Password-authenticated_key_agreement', - category: 'security' + id: 'pake', + term: 'PAKE (Password-Authenticated Key Exchange)', + definition: + 'A class of key-exchange protocols (SPAKE2+, OPAQUE, J-PAKE) that derive a strong shared key from a low-entropy password without leaking the password to an eavesdropper or active MITM. Used by {{ccc-digital-key|CCC Digital Key}}, {{matter|Matter}} commissioning, and WPA3 SAE.', + wikiUrl: 'https://en.wikipedia.org/wiki/Password-authenticated_key_agreement', + category: 'security' }, { - id: 'nearby-interaction', - term: 'Nearby Interaction (Apple)', - definition: - "Apple's framework that exposes [[uwb|UWB]] {{ds-twr|DS-TWR}} ranging on iPhone (U1/U2 chip) and Apple Watch to apps. Bootstraps the session over [[bluetooth|BLE]], runs UWB on Channel 9, refreshes distance and angle at ~10 Hz. The mechanism under AirTag Precision Finding.", - wikiUrl: 'https://developer.apple.com/nearbyinteraction/', - category: 'protocol-mechanics' + id: 'nearby-interaction', + term: 'Nearby Interaction (Apple)', + definition: + "Apple's framework that exposes [[uwb|UWB]] {{ds-twr|DS-TWR}} ranging on iPhone (U1/U2 chip) and Apple Watch to apps. Bootstraps the session over [[bluetooth|BLE]], runs UWB on Channel 9, refreshes distance and angle at ~10 Hz. The mechanism under AirTag Precision Finding.", + wikiUrl: 'https://developer.apple.com/nearbyinteraction/', + category: 'protocol-mechanics' }, // โ”€โ”€ Acronym densification batch โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ @@ -6028,7 +6029,8 @@ export const concepts: Concept[] = [ term: 'API (Application Programming Interface)', definition: 'The contract a piece of software exposes for other software to call. On the web it almost always means an HTTP-spoken interface โ€” [[rest|REST]], [[grpc|gRPC]], [[graphql|GraphQL]], [[json-rpc|JSON-RPC]] โ€” with a published URL shape, method, request/response schema, and auth model.', - analogy: 'A restaurant menu: the kitchen exposes what it will cook, the rules, and the price โ€” you order against the menu, not by walking into the kitchen.', + analogy: + 'A restaurant menu: the kitchen exposes what it will cook, the rules, and the price โ€” you order against the menu, not by walking into the kitchen.', wikiUrl: 'https://en.wikipedia.org/wiki/API', category: 'web' }, @@ -6116,7 +6118,7 @@ export const concepts: Concept[] = [ id: 'ram', term: 'RAM (Random-Access Memory)', definition: - "Volatile working memory. In constrained-device contexts ([[coap|CoAP]] sensors, [[zigbee|Zigbee]] nodes), RAM is measured in kilobytes โ€” a hard ceiling on how much protocol state you can keep per connection.", + 'Volatile working memory. In constrained-device contexts ([[coap|CoAP]] sensors, [[zigbee|Zigbee]] nodes), RAM is measured in kilobytes โ€” a hard ceiling on how much protocol state you can keep per connection.', wikiUrl: 'https://en.wikipedia.org/wiki/Random-access_memory', category: 'infrastructure' }, @@ -6140,7 +6142,7 @@ export const concepts: Concept[] = [ id: 'html', term: 'HTML (HyperText Markup Language)', definition: - "The document format the web ships over [[http1|HTTP]]. Invented by [[pioneer:tim-berners-lee|Tim Berners-Lee]] at CERN in 1989 alongside HTTP and URLs โ€” one of the three pillars that made the web a thing.", + 'The document format the web ships over [[http1|HTTP]]. Invented by [[pioneer:tim-berners-lee|Tim Berners-Lee]] at CERN in 1989 alongside HTTP and URLs โ€” one of the three pillars that made the web a thing.', wikiUrl: 'https://en.wikipedia.org/wiki/HTML', category: 'web' }, @@ -6172,7 +6174,7 @@ export const concepts: Concept[] = [ id: 'uuid', term: 'UUID (Universally Unique Identifier)', definition: - "128-bit identifier with enough entropy that two systems can mint them independently without collision. Used everywhere from [[bluetooth|BLE]] service IDs to database primary keys to {{matter|Matter}} fabric IDs.", + '128-bit identifier with enough entropy that two systems can mint them independently without collision. Used everywhere from [[bluetooth|BLE]] service IDs to database primary keys to {{matter|Matter}} fabric IDs.', wikiUrl: 'https://en.wikipedia.org/wiki/Universally_unique_identifier', category: 'protocol-mechanics' }, @@ -6219,7 +6221,7 @@ export const concepts: Concept[] = [ id: 'osi', term: 'OSI (Open Systems Interconnection)', definition: - "The seven-layer reference model (Physical, Data Link, Network, Transport, Session, Presentation, Application) that the world learned networking through, even though the actual OSI protocol suite lost to [[tcp|TCP]]/[[ip|IP]]. Still the lingua franca for arguing about which layer a problem belongs to.", + 'The seven-layer reference model (Physical, Data Link, Network, Transport, Session, Presentation, Application) that the world learned networking through, even though the actual OSI protocol suite lost to [[tcp|TCP]]/[[ip|IP]]. Still the lingua franca for arguing about which layer a problem belongs to.', wikiUrl: 'https://en.wikipedia.org/wiki/OSI_model', category: 'networking-basics' }, @@ -6243,7 +6245,7 @@ export const concepts: Concept[] = [ id: 'mtu-acronym', term: 'MTU', definition: - "Maximum Transmission Unit โ€” the largest [[ip|IP]] payload that fits in one [[ethernet|link-layer]] frame without fragmentation. Standard Ethernet is 1500 bytes; jumbo frames go to 9000; PMTUD and PLPMTUD find the smallest MTU on a path. See {{mtu|MTU}} for the full entry.", + 'Maximum Transmission Unit โ€” the largest [[ip|IP]] payload that fits in one [[ethernet|link-layer]] frame without fragmentation. Standard Ethernet is 1500 bytes; jumbo frames go to 9000; PMTUD and PLPMTUD find the smallest MTU on a path. See {{mtu|MTU}} for the full entry.', wikiUrl: 'https://en.wikipedia.org/wiki/Maximum_transmission_unit', category: 'protocol-mechanics' }, @@ -6251,7 +6253,7 @@ export const concepts: Concept[] = [ id: 'sla', term: 'SLA (Service Level Agreement)', definition: - "The contracted promise โ€” typically a percentage uptime, a latency budget, a [[#rto|RTO]] โ€” that a service makes to its customers. Often the lever that forces an architecture change after an outage.", + 'The contracted promise โ€” typically a percentage uptime, a latency budget, a [[#rto|RTO]] โ€” that a service makes to its customers. Often the lever that forces an architecture change after an outage.', wikiUrl: 'https://en.wikipedia.org/wiki/Service-level_agreement', category: 'infrastructure' }, @@ -6301,7 +6303,7 @@ export const concepts: Concept[] = [ id: 'ibm', term: 'IBM', definition: - "International Business Machines. The mainframe giant whose 1970s networking (SNA) the internet replaced โ€” and whose later research arms shipped MQTT (Andy Stanford-Clark), RSA-precursor work, and a long tail of standards committee labour.", + 'International Business Machines. The mainframe giant whose 1970s networking (SNA) the internet replaced โ€” and whose later research arms shipped MQTT (Andy Stanford-Clark), RSA-precursor work, and a long tail of standards committee labour.', wikiUrl: 'https://en.wikipedia.org/wiki/IBM', category: 'infrastructure' }, @@ -6373,7 +6375,7 @@ export const concepts: Concept[] = [ id: 'parc', term: 'Xerox PARC', definition: - "Palo Alto Research Center. Where Ethernet was sketched in 1973 ([[pioneer:bob-metcalfe|Bob Metcalfe]], David Boggs), where the modern GUI was invented, where the Alto workstation networked over the original 2.94 Mb/s Ethernet โ€” a stunning concentration of firsts.", + 'Palo Alto Research Center. Where Ethernet was sketched in 1973 ([[pioneer:bob-metcalfe|Bob Metcalfe]], David Boggs), where the modern GUI was invented, where the Alto workstation networked over the original 2.94 Mb/s Ethernet โ€” a stunning concentration of firsts.', wikiUrl: 'https://en.wikipedia.org/wiki/PARC_(company)', category: 'infrastructure' }, @@ -6399,7 +6401,7 @@ export const concepts: Concept[] = [ id: 'aes-128', term: 'AES-128', definition: - "[[#aes|AES]] with a 128-bit key โ€” 10 rounds, fast everywhere. Used by MIFARE DESFire EV2/EV3, [[wireguard|WireGuard]] (via ChaCha alternative), TLS 1.3 cipher suites, and [[ipsec|IPsec]] ESP defaults.", + '[[#aes|AES]] with a 128-bit key โ€” 10 rounds, fast everywhere. Used by MIFARE DESFire EV2/EV3, [[wireguard|WireGuard]] (via ChaCha alternative), TLS 1.3 cipher suites, and [[ipsec|IPsec]] ESP defaults.', wikiUrl: 'https://en.wikipedia.org/wiki/Advanced_Encryption_Standard', category: 'security' }, @@ -6407,7 +6409,7 @@ export const concepts: Concept[] = [ id: 'md5', term: 'MD5 (Message-Digest 5)', definition: - "The 128-bit hash function Ron Rivest published in 1991. Practical collision attacks since 2004 (Wang Xiaoyun) made it cryptographically dead, but its checksum use in `MD5SUM` files and legacy [[bgp|BGP]] / [[tcp|TCP]]-MD5 lingers.", + 'The 128-bit hash function Ron Rivest published in 1991. Practical collision attacks since 2004 (Wang Xiaoyun) made it cryptographically dead, but its checksum use in `MD5SUM` files and legacy [[bgp|BGP]] / [[tcp|TCP]]-MD5 lingers.', wikiUrl: 'https://en.wikipedia.org/wiki/MD5', category: 'security' }, @@ -6423,7 +6425,7 @@ export const concepts: Concept[] = [ id: 'sha256', term: 'SHA-256', definition: - "256-bit member of the SHA-2 family โ€” the workhorse hash for HMAC, [[tls|TLS]] 1.3 transcripts, Bitcoin, [[ssh|SSH]] fingerprints, and almost every modern signature scheme.", + '256-bit member of the SHA-2 family โ€” the workhorse hash for HMAC, [[tls|TLS]] 1.3 transcripts, Bitcoin, [[ssh|SSH]] fingerprints, and almost every modern signature scheme.', wikiUrl: 'https://en.wikipedia.org/wiki/SHA-2', category: 'security' }, @@ -6431,7 +6433,7 @@ export const concepts: Concept[] = [ id: 'sha2', term: 'SHA-2', definition: - "Family of [[#nist|NIST]] hash functions (SHA-224/256/384/512) published in 2001 to replace [[#sha1|SHA-1]]. Still considered secure in 2026, but the world is migrating to SHA-3 and post-quantum primitives in parallel.", + 'Family of [[#nist|NIST]] hash functions (SHA-224/256/384/512) published in 2001 to replace [[#sha1|SHA-1]]. Still considered secure in 2026, but the world is migrating to SHA-3 and post-quantum primitives in parallel.', wikiUrl: 'https://en.wikipedia.org/wiki/SHA-2', category: 'security' }, @@ -6455,7 +6457,7 @@ export const concepts: Concept[] = [ id: 'ecc', term: 'ECC (Elliptic Curve Cryptography)', definition: - "Public-key cryptography over elliptic curves โ€” equivalent security to RSA at much smaller key sizes (256-bit ECC โ‰ˆ 3072-bit RSA). The basis of [[#ecdhe|ECDHE]], [[#ecdsa|ECDSA]], Ed25519, and [[#x25519|X25519]].", + 'Public-key cryptography over elliptic curves โ€” equivalent security to RSA at much smaller key sizes (256-bit ECC โ‰ˆ 3072-bit RSA). The basis of [[#ecdhe|ECDHE]], [[#ecdsa|ECDSA]], Ed25519, and [[#x25519|X25519]].', wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic-curve_cryptography', category: 'security' }, @@ -6471,7 +6473,7 @@ export const concepts: Concept[] = [ id: 'ecdsa-acr', term: 'ECDSA (Elliptic Curve Digital Signature Algorithm)', definition: - "[[#ecc|Elliptic-curve]] signature scheme used in [[tls|TLS]] server certificates, [[ssh|SSH]] host keys, and most blockchains. Smaller signatures and keys than RSA at equivalent security.", + '[[#ecc|Elliptic-curve]] signature scheme used in [[tls|TLS]] server certificates, [[ssh|SSH]] host keys, and most blockchains. Smaller signatures and keys than RSA at equivalent security.', wikiUrl: 'https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm', category: 'security' }, @@ -6487,7 +6489,7 @@ export const concepts: Concept[] = [ id: 'spake2', term: 'SPAKE2', definition: - "Password-authenticated key {{exchange|exchange}} โ€” derives a strong session key from a low-entropy password without leaking it. Used by {{matter|Matter}} commissioning (SPAKE2+), {{ccc-digital-key|CCC Digital Key}}, and a growing slice of zero-trust pairing flows.", + 'Password-authenticated key {{exchange|exchange}} โ€” derives a strong session key from a low-entropy password without leaking it. Used by {{matter|Matter}} commissioning (SPAKE2+), {{ccc-digital-key|CCC Digital Key}}, and a growing slice of zero-trust pairing flows.', wikiUrl: 'https://datatracker.ietf.org/doc/rfc9382/', category: 'security' }, @@ -6495,7 +6497,7 @@ export const concepts: Concept[] = [ id: 'pq', term: 'PQ (Post-Quantum)', definition: - "Shorthand for *post-quantum* cryptography โ€” primitives believed to survive a sufficiently large quantum computer. Hybrid PQ key exchange (X25519 + ML-KEM) is rolling out in [[tls|TLS]] now to defeat *harvest-now-decrypt-later* adversaries.", + 'Shorthand for *post-quantum* cryptography โ€” primitives believed to survive a sufficiently large quantum computer. Hybrid PQ key exchange (X25519 + ML-KEM) is rolling out in [[tls|TLS]] now to defeat *harvest-now-decrypt-later* adversaries.', wikiUrl: 'https://en.wikipedia.org/wiki/Post-quantum_cryptography', category: 'security' }, @@ -6511,7 +6513,7 @@ export const concepts: Concept[] = [ id: 'nist', term: 'NIST (National Institute of Standards and Technology)', definition: - "The US standards body that runs cryptographic standardisation โ€” [[#aes|AES]] (FIPS 197), SHA-2/SHA-3, [[#pqc|PQC]] (FIPS 203/204/205). Its calls for proposals quietly set the global crypto agenda.", + 'The US standards body that runs cryptographic standardisation โ€” [[#aes|AES]] (FIPS 197), SHA-2/SHA-3, [[#pqc|PQC]] (FIPS 203/204/205). Its calls for proposals quietly set the global crypto agenda.', wikiUrl: 'https://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology', category: 'security' }, @@ -6527,7 +6529,7 @@ export const concepts: Concept[] = [ id: 'cve', term: 'CVE (Common Vulnerabilities and Exposures)', definition: - "The MITRE-run public catalogue of disclosed security flaws โ€” every entry has a CVE-YYYY-NNNNN identifier so vendors, scanners, and incident responders can talk about the same bug. Most protocol weaknesses you read about here (Heartbleed, KNOB, BLUFFS) have CVE numbers attached.", + 'The MITRE-run public catalogue of disclosed security flaws โ€” every entry has a CVE-YYYY-NNNNN identifier so vendors, scanners, and incident responders can talk about the same bug. Most protocol weaknesses you read about here (Heartbleed, KNOB, BLUFFS) have CVE numbers attached.', wikiUrl: 'https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures', category: 'security' }, @@ -6575,7 +6577,7 @@ export const concepts: Concept[] = [ id: 'hsm', term: 'HSM (Hardware Security Module)', definition: - "A tamper-resistant box (USB key, PCIe card, rack appliance) that holds private keys and signs / decrypts inside the device โ€” keys never leave the boundary. Used for [[tls|TLS]] root CAs, payment HSMs, and modern enclave-style auth.", + 'A tamper-resistant box (USB key, PCIe card, rack appliance) that holds private keys and signs / decrypts inside the device โ€” keys never leave the boundary. Used for [[tls|TLS]] root CAs, payment HSMs, and modern enclave-style auth.', wikiUrl: 'https://en.wikipedia.org/wiki/Hardware_security_module', category: 'security' }, @@ -6583,7 +6585,7 @@ export const concepts: Concept[] = [ id: 'sso', term: 'SSO (Single Sign-On)', definition: - "Login once, access many services โ€” the property [[oauth2|OAuth]] / OIDC / [[ssh|Kerberos]] / SAML all deliver in different shapes. The convenience that makes federated identity worth the integration pain.", + 'Login once, access many services โ€” the property [[oauth2|OAuth]] / OIDC / [[ssh|Kerberos]] / SAML all deliver in different shapes. The convenience that makes federated identity worth the integration pain.', wikiUrl: 'https://en.wikipedia.org/wiki/Single_sign-on', category: 'security' }, @@ -6609,7 +6611,7 @@ export const concepts: Concept[] = [ id: 'crud', term: 'CRUD', definition: - "Create, Read, Update, Delete โ€” the canonical four operations almost every backend resource maps onto. REST maps these to POST / GET / PUT-PATCH / DELETE.", + 'Create, Read, Update, Delete โ€” the canonical four operations almost every backend resource maps onto. REST maps these to POST / GET / PUT-PATCH / DELETE.', wikiUrl: 'https://en.wikipedia.org/wiki/Create,_read,_update_and_delete', category: 'web' }, @@ -6617,7 +6619,7 @@ export const concepts: Concept[] = [ id: 'mime-acr', term: 'MIME', definition: - "Multipurpose Internet Mail Extensions โ€” the [[rfc:2045|RFC 2045]] / [[rfc:2046|RFC 2046]] machinery for tagging payload types (`text/html`, `image/png`, `application/json`) and bundling attachments. Born for [[smtp|email]], reused as the `Content-Type` system of [[http1|HTTP]] and HTTP/2/3.", + 'Multipurpose Internet Mail Extensions โ€” the [[rfc:2045|RFC 2045]] / [[rfc:2046|RFC 2046]] machinery for tagging payload types (`text/html`, `image/png`, `application/json`) and bundling attachments. Born for [[smtp|email]], reused as the `Content-Type` system of [[http1|HTTP]] and HTTP/2/3.', wikiUrl: 'https://en.wikipedia.org/wiki/MIME', category: 'web' }, @@ -6625,7 +6627,7 @@ export const concepts: Concept[] = [ id: 'ssl-cert', term: 'SSL Cert', definition: - "Colloquial name for a [[tls|TLS]] X.509 server certificate โ€” the file your CA issued you, even though SSL itself was retired around 1999. The acronym refuses to die.", + 'Colloquial name for a [[tls|TLS]] X.509 server certificate โ€” the file your CA issued you, even though SSL itself was retired around 1999. The acronym refuses to die.', wikiUrl: 'https://en.wikipedia.org/wiki/Public_key_certificate', category: 'security' }, @@ -6675,7 +6677,7 @@ export const concepts: Concept[] = [ id: 'crc', term: 'CRC (Cyclic Redundancy Check)', definition: - "A polynomial checksum used at almost every protocol layer ([[ethernet|Ethernet]] FCS, IP/TCP checksums, [[zigbee|802.15.4]] PHY) to detect bit errors. Cheap to compute in hardware; defeats single- and burst-errors of bounded length.", + 'A polynomial checksum used at almost every protocol layer ([[ethernet|Ethernet]] FCS, IP/TCP checksums, [[zigbee|802.15.4]] PHY) to detect bit errors. Cheap to compute in hardware; defeats single- and burst-errors of bounded length.', wikiUrl: 'https://en.wikipedia.org/wiki/Cyclic_redundancy_check', category: 'protocol-mechanics' }, @@ -6715,7 +6717,7 @@ export const concepts: Concept[] = [ id: 'isis', term: 'IS-IS (Intermediate System to Intermediate System)', definition: - "Link-state routing protocol from the OSI suite ([[#iso-iec|ISO/IEC]] 10589) that quietly runs inside most large ISP backbones โ€” same family as [[ospf|OSPF]] but encoded directly on top of [[ethernet|L2]] rather than [[ip|IP]]. Loved by Tier-1s for its multi-protocol cleanliness.", + 'Link-state routing protocol from the OSI suite ([[#iso-iec|ISO/IEC]] 10589) that quietly runs inside most large ISP backbones โ€” same family as [[ospf|OSPF]] but encoded directly on top of [[ethernet|L2]] rather than [[ip|IP]]. Loved by Tier-1s for its multi-protocol cleanliness.', wikiUrl: 'https://en.wikipedia.org/wiki/IS-IS', category: 'protocol-mechanics' }, @@ -6731,7 +6733,7 @@ export const concepts: Concept[] = [ id: 'med', term: 'MED (Multi-Exit Discriminator)', definition: - "A [[bgp|BGP]] attribute (path-selection step 7) that lets an AS hint to its neighbour which of multiple links is preferred for inbound traffic. Meaningful only between paths from the *same* neighbouring AS โ€” a frequent source of policy confusion.", + 'A [[bgp|BGP]] attribute (path-selection step 7) that lets an AS hint to its neighbour which of multiple links is preferred for inbound traffic. Meaningful only between paths from the *same* neighbouring AS โ€” a frequent source of policy confusion.', wikiUrl: 'https://en.wikipedia.org/wiki/Border_Gateway_Protocol#MULTI_EXIT_DISC', category: 'protocol-mechanics' }, @@ -6739,7 +6741,7 @@ export const concepts: Concept[] = [ id: 'sfu', term: 'SFU (Selective Forwarding Unit)', definition: - 'A media server that receives each [[webrtc|WebRTC]] participant\'s stream once and forwards copies to the other participants โ€” without transcoding. The scalable middle ground between mesh (every-to-every) and MCU (re-encode in the middle).', + "A media server that receives each [[webrtc|WebRTC]] participant's stream once and forwards copies to the other participants โ€” without transcoding. The scalable middle ground between mesh (every-to-every) and MCU (re-encode in the middle).", wikiUrl: 'https://webrtcglossary.com/sfu/', category: 'protocol-mechanics' }, @@ -6747,7 +6749,7 @@ export const concepts: Concept[] = [ id: 'sip-uri', term: 'SIP URI', definition: - "`sip:alice@example.com` or `sips:alice@example.com` โ€” the addressable identifier for a [[sip|SIP]] endpoint. `sips:` requires [[tls|TLS]] hop-by-hop but does not promise end-to-end encryption (an upstream relay sees plaintext).", + '`sip:alice@example.com` or `sips:alice@example.com` โ€” the addressable identifier for a [[sip|SIP]] endpoint. `sips:` requires [[tls|TLS]] hop-by-hop but does not promise end-to-end encryption (an upstream relay sees plaintext).', wikiUrl: 'https://en.wikipedia.org/wiki/Session_Initiation_Protocol#SIP_URI', category: 'protocol-mechanics' }, @@ -6757,7 +6759,7 @@ export const concepts: Concept[] = [ id: 'gsm', term: 'GSM (Global System for Mobile Communications)', definition: - "The 2G European cellular standard (1991) that ate the world โ€” first to digitise voice, first to define the SIM, the only network on which texting (SMS) was an accidental afterthought. Survives in patches for fallback in 2026.", + 'The 2G European cellular standard (1991) that ate the world โ€” first to digitise voice, first to define the SIM, the only network on which texting (SMS) was an accidental afterthought. Survives in patches for fallback in 2026.', wikiUrl: 'https://en.wikipedia.org/wiki/GSM', category: 'protocol-mechanics' }, @@ -6765,7 +6767,7 @@ export const concepts: Concept[] = [ id: 'cdma', term: 'CDMA (Code-Division Multiple Access)', definition: - "Spread-spectrum multiple-access scheme [[pioneer:irwin-jacobs|Irwin Jacobs]] and Qualcomm shipped commercially in IS-95 (1995) โ€” every user transmits on the same frequency, distinguished by orthogonal codes. The math underneath 3G WCDMA and CDMA2000.", + 'Spread-spectrum multiple-access scheme [[pioneer:irwin-jacobs|Irwin Jacobs]] and Qualcomm shipped commercially in IS-95 (1995) โ€” every user transmits on the same frequency, distinguished by orthogonal codes. The math underneath 3G WCDMA and CDMA2000.', wikiUrl: 'https://en.wikipedia.org/wiki/Code-division_multiple_access', category: 'protocol-mechanics' }, @@ -6781,7 +6783,7 @@ export const concepts: Concept[] = [ id: 'umts', term: 'UMTS (Universal Mobile Telecommunications System)', definition: - "The 3GPP-defined 3G family โ€” [[#wcdma|WCDMA]] radio + a packet core that finally treated data as a first-class citizen. Replaced by LTE in the 2010s and now shutting down worldwide.", + 'The 3GPP-defined 3G family โ€” [[#wcdma|WCDMA]] radio + a packet core that finally treated data as a first-class citizen. Replaced by LTE in the 2010s and now shutting down worldwide.', wikiUrl: 'https://en.wikipedia.org/wiki/UMTS', category: 'protocol-mechanics' }, @@ -6789,7 +6791,7 @@ export const concepts: Concept[] = [ id: 'epc', term: 'EPC (Evolved Packet Core)', definition: - "The 4G/LTE all-IP core network โ€” MME, SGW, PGW components โ€” replacing the circuit-switched leftovers of 3G. Replaced again in 5G by the service-based architecture (5GC SBA).", + 'The 4G/LTE all-IP core network โ€” MME, SGW, PGW components โ€” replacing the circuit-switched leftovers of 3G. Replaced again in 5G by the service-based architecture (5GC SBA).', wikiUrl: 'https://en.wikipedia.org/wiki/System_Architecture_Evolution', category: 'protocol-mechanics' }, @@ -6797,7 +6799,7 @@ export const concepts: Concept[] = [ id: 'gps', term: 'GPS (Global Positioning System)', definition: - "US-operated satellite constellation that broadcasts time-stamped signals so a receiver can trilaterate position. Network-adjacent: GPS provides the high-precision time source many [[ntp|NTP]] / PTP stratum-1 servers discipline themselves to.", + 'US-operated satellite constellation that broadcasts time-stamped signals so a receiver can trilaterate position. Network-adjacent: GPS provides the high-precision time source many [[ntp|NTP]] / PTP stratum-1 servers discipline themselves to.', wikiUrl: 'https://en.wikipedia.org/wiki/Global_Positioning_System', category: 'infrastructure' }, @@ -6805,7 +6807,7 @@ export const concepts: Concept[] = [ id: 'qam', term: 'QAM (Quadrature Amplitude Modulation)', definition: - "A modulation scheme that packs multiple bits per symbol by varying amplitude and phase. 4096-QAM (Wi-Fi 7, DOCSIS 4.0) means 12 bits/symbol โ€” at the cost of needing a clean SNR.", + 'A modulation scheme that packs multiple bits per symbol by varying amplitude and phase. 4096-QAM (Wi-Fi 7, DOCSIS 4.0) means 12 bits/symbol โ€” at the cost of needing a clean SNR.', wikiUrl: 'https://en.wikipedia.org/wiki/Quadrature_amplitude_modulation', category: 'protocol-mechanics' }, @@ -6813,7 +6815,7 @@ export const concepts: Concept[] = [ id: 'bpsk', term: 'BPSK (Binary Phase Shift Keying)', definition: - "The simplest phase-modulation scheme โ€” one bit per symbol, two phases 180ยฐ apart. Robust to noise, used in [[nfc|NFC-A]] PICC-to-PCD return signalling, GPS, and the lowest [[wifi|Wi-Fi]] data rates.", + 'The simplest phase-modulation scheme โ€” one bit per symbol, two phases 180ยฐ apart. Robust to noise, used in [[nfc|NFC-A]] PICC-to-PCD return signalling, GPS, and the lowest [[wifi|Wi-Fi]] data rates.', wikiUrl: 'https://en.wikipedia.org/wiki/Phase-shift_keying#Binary_phase-shift_keying_(BPSK)', category: 'protocol-mechanics' }, @@ -6821,7 +6823,7 @@ export const concepts: Concept[] = [ id: 'csma-cd', term: 'CSMA/CD', definition: - "Carrier-Sense Multiple Access with Collision Detection โ€” the original [[ethernet|Ethernet]] mediation algorithm: listen, talk, detect collisions, back off. Obsolete once switches replaced hubs; the modern descendant on Wi-Fi is {{csma-ca|CSMA/CA}}.", + 'Carrier-Sense Multiple Access with Collision Detection โ€” the original [[ethernet|Ethernet]] mediation algorithm: listen, talk, detect collisions, back off. Obsolete once switches replaced hubs; the modern descendant on Wi-Fi is {{csma-ca|CSMA/CA}}.', wikiUrl: 'https://en.wikipedia.org/wiki/Carrier-sense_multiple_access_with_collision_detection', category: 'protocol-mechanics' }, @@ -6837,7 +6839,7 @@ export const concepts: Concept[] = [ id: 'mac-media', term: 'MAC (Media Access Control)', definition: - "The data-link sub-layer that decides *who talks next* on a shared medium โ€” [[ethernet|Ethernet]] MAC, Wi-Fi MAC, [[zigbee|802.15.4]] MAC. Distinct from a {{mac-address|MAC address}}, which is the identifier the MAC layer uses.", + 'The data-link sub-layer that decides *who talks next* on a shared medium โ€” [[ethernet|Ethernet]] MAC, Wi-Fi MAC, [[zigbee|802.15.4]] MAC. Distinct from a {{mac-address|MAC address}}, which is the identifier the MAC layer uses.', wikiUrl: 'https://en.wikipedia.org/wiki/Medium_access_control', category: 'networking-basics' }, @@ -6845,7 +6847,7 @@ export const concepts: Concept[] = [ id: 'ap-access-point', term: 'AP (Access Point)', definition: - "The radio that bridges [[wifi|Wi-Fi]] clients to the wired [[ethernet|Ethernet]] LAN. APs broadcast beacons announcing the SSID, do CSMA/CA arbitration, and own the BSS โ€” the unit Wi-Fi roaming hops between.", + 'The radio that bridges [[wifi|Wi-Fi]] clients to the wired [[ethernet|Ethernet]] LAN. APs broadcast beacons announcing the SSID, do CSMA/CA arbitration, and own the BSS โ€” the unit Wi-Fi roaming hops between.', wikiUrl: 'https://en.wikipedia.org/wiki/Wireless_access_point', category: 'protocol-mechanics' }, @@ -6853,7 +6855,7 @@ export const concepts: Concept[] = [ id: 'rts-cts', term: 'RTS/CTS', definition: - "Request-To-Send / Clear-To-Send โ€” the optional [[wifi|Wi-Fi]] handshake that reserves a duration of the medium before a frame. Trades latency for protection against hidden-node collisions; mostly used at high data rates today.", + 'Request-To-Send / Clear-To-Send โ€” the optional [[wifi|Wi-Fi]] handshake that reserves a duration of the medium before a frame. Trades latency for protection against hidden-node collisions; mostly used at high data rates today.', wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11_RTS/CTS', category: 'protocol-mechanics' }, @@ -6861,7 +6863,7 @@ export const concepts: Concept[] = [ id: 'sms', term: 'SMS (Short Message Service)', definition: - "160-character text messaging, born in the [[#gsm|GSM]] standard (1992) as a control-plane afterthought and accidentally becoming the most reliable global-reach messaging system on earth. Still the fallback for satellite Direct-to-Cell.", + '160-character text messaging, born in the [[#gsm|GSM]] standard (1992) as a control-plane afterthought and accidentally becoming the most reliable global-reach messaging system on earth. Still the fallback for satellite Direct-to-Cell.', wikiUrl: 'https://en.wikipedia.org/wiki/SMS', category: 'protocol-mechanics' }, @@ -6869,7 +6871,7 @@ export const concepts: Concept[] = [ id: 'docsis', term: 'DOCSIS (Data Over Cable Service Interface Specification)', definition: - "The protocol stack that turns cable-TV coax into broadband. DOCSIS 4.0 (2026 deployments) adds 4096-QAM, full-duplex, and {{l4s|L4S}} support for low-latency queueing.", + 'The protocol stack that turns cable-TV coax into broadband. DOCSIS 4.0 (2026 deployments) adds 4096-QAM, full-duplex, and {{l4s|L4S}} support for low-latency queueing.', wikiUrl: 'https://en.wikipedia.org/wiki/DOCSIS', category: 'protocol-mechanics' }, @@ -6887,7 +6889,7 @@ export const concepts: Concept[] = [ id: 'hevc', term: 'HEVC', definition: - "H.265 / High Efficiency Video Coding โ€” successor to H.264, ~50% better compression for the same quality, but a patent thicket so dense that royalty-free AV1 was created to escape it.", + 'H.265 / High Efficiency Video Coding โ€” successor to H.264, ~50% better compression for the same quality, but a patent thicket so dense that royalty-free AV1 was created to escape it.', wikiUrl: 'https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding', category: 'web' }, @@ -6895,7 +6897,7 @@ export const concepts: Concept[] = [ id: 'drm', term: 'DRM (Digital Rights Management)', definition: - "The cryptographic + legal machinery that gates streamed video โ€” Widevine, FairPlay, PlayReady. License exchanges flow over [[tls|TLS]] alongside the [[dash|DASH]] / [[hls|HLS]] media segments.", + 'The cryptographic + legal machinery that gates streamed video โ€” Widevine, FairPlay, PlayReady. License exchanges flow over [[tls|TLS]] alongside the [[dash|DASH]] / [[hls|HLS]] media segments.', wikiUrl: 'https://en.wikipedia.org/wiki/Digital_rights_management', category: 'security' }, @@ -6913,7 +6915,7 @@ export const concepts: Concept[] = [ id: 'emv', term: 'EMV (Europay, Mastercard, Visa)', definition: - "The smart-card payment standard (and consortium) named after its founders. EMV runs on contactless and chip-and-PIN cards globally โ€” over [[#iso-iec|ISO/IEC]] 14443 at the link layer, ISO 7816 at the application layer.", + 'The smart-card payment standard (and consortium) named after its founders. EMV runs on contactless and chip-and-PIN cards globally โ€” over [[#iso-iec|ISO/IEC]] 14443 at the link layer, ISO 7816 at the application layer.', wikiUrl: 'https://en.wikipedia.org/wiki/EMV', category: 'protocol-mechanics' }, @@ -6929,7 +6931,7 @@ export const concepts: Concept[] = [ id: 'pcd', term: 'PCD (Proximity Coupling Device)', definition: - "The [[#iso-iec|ISO/IEC]] 14443 name for the *reader* in an [[nfc|NFC]] / contactless-card exchange โ€” the active side that powers the antenna and initiates communication.", + 'The [[#iso-iec|ISO/IEC]] 14443 name for the *reader* in an [[nfc|NFC]] / contactless-card exchange โ€” the active side that powers the antenna and initiates communication.', wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', category: 'protocol-mechanics' }, @@ -6937,7 +6939,7 @@ export const concepts: Concept[] = [ id: 'tlv', term: 'TLV (Type-Length-Value)', definition: - "A compact, extensible encoding pattern โ€” one byte of type, one or more bytes of length, then `length` bytes of value. Used by [[ipsec|IKE]], BGP attributes, [[nfc|NDEF]], EMV ICC data, and many constrained-device protocols.", + 'A compact, extensible encoding pattern โ€” one byte of type, one or more bytes of length, then `length` bytes of value. Used by [[ipsec|IKE]], BGP attributes, [[nfc|NDEF]], EMV ICC data, and many constrained-device protocols.', wikiUrl: 'https://en.wikipedia.org/wiki/Type%E2%80%93length%E2%80%93value', category: 'protocol-mechanics' }, @@ -6945,7 +6947,7 @@ export const concepts: Concept[] = [ id: 'icao', term: 'ICAO (International Civil Aviation Organization)', definition: - "The UN agency that, alongside writing aviation rules, also defines the file structure of biometric e-passports โ€” the data groups (DG1 MRZ, DG2 photo, EF.SOD, EF.COM) that an [[#iso-iec|ISO/IEC]] 14443-4 reader pulls off the passport chip.", + 'The UN agency that, alongside writing aviation rules, also defines the file structure of biometric e-passports โ€” the data groups (DG1 MRZ, DG2 photo, EF.SOD, EF.COM) that an [[#iso-iec|ISO/IEC]] 14443-4 reader pulls off the passport chip.', wikiUrl: 'https://en.wikipedia.org/wiki/International_Civil_Aviation_Organization', category: 'infrastructure' }, @@ -6953,7 +6955,7 @@ export const concepts: Concept[] = [ id: 'se-secure-element', term: 'SE (Secure Element)', definition: - "A tamper-resistant chip inside a phone or card that holds keys and runs sensitive applets (payment, transit, access). The eSE in modern phones replaces SIM-based SE for [[nfc|NFC]] payments.", + 'A tamper-resistant chip inside a phone or card that holds keys and runs sensitive applets (payment, transit, access). The eSE in modern phones replaces SIM-based SE for [[nfc|NFC]] payments.', wikiUrl: 'https://www.globalplatform.org/specificationsdevice.asp', category: 'security' }, @@ -6969,7 +6971,7 @@ export const concepts: Concept[] = [ id: 'sak', term: 'SAK (Select Acknowledge)', definition: - "The byte an [[#iso-iec|ISO/IEC]] 14443-A card returns in response to a SELECT โ€” encodes whether the card supports ISO 14443-4 and is the moment the reader decides which protocol stack to switch into.", + 'The byte an [[#iso-iec|ISO/IEC]] 14443-A card returns in response to a SELECT โ€” encodes whether the card supports ISO 14443-4 and is the moment the reader decides which protocol stack to switch into.', wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', category: 'protocol-mechanics' }, @@ -6979,7 +6981,7 @@ export const concepts: Concept[] = [ id: 'sig', term: 'SIG (Bluetooth SIG)', definition: - "The Bluetooth Special Interest Group โ€” the standards body that owns the [[bluetooth|Bluetooth]] specs (Core, Mesh, LE Audio, BR/EDR). Members like Apple, Google, Samsung, and Microsoft drive what ends up in a release.", + 'The Bluetooth Special Interest Group โ€” the standards body that owns the [[bluetooth|Bluetooth]] specs (Core, Mesh, LE Audio, BR/EDR). Members like Apple, Google, Samsung, and Microsoft drive what ends up in a release.', wikiUrl: 'https://www.bluetooth.com/about-us/', category: 'infrastructure' }, @@ -6995,7 +6997,7 @@ export const concepts: Concept[] = [ id: 'le-low-energy', term: 'LE (Low Energy)', definition: - "Short for [[bluetooth|Bluetooth Low Energy]] โ€” the 2010 redesign for battery-constrained sensors and wearables. Different radio (BLE 2M PHY), different framing ({{l2cap|L2CAP}} / {{att-mtu|ATT}} / {{gatt|GATT}}), different threat model.", + 'Short for [[bluetooth|Bluetooth Low Energy]] โ€” the 2010 redesign for battery-constrained sensors and wearables. Different radio (BLE 2M PHY), different framing ({{l2cap|L2CAP}} / {{att-mtu|ATT}} / {{gatt|GATT}}), different threat model.', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy', category: 'protocol-mechanics' }, @@ -7003,7 +7005,7 @@ export const concepts: Concept[] = [ id: 'att-attribute', term: 'ATT (Attribute Protocol)', definition: - "The [[bluetooth|BLE]] mid-layer that exposes named attributes (UUIDs) for read / write / notify operations. {{gatt|GATT}} is the profile layer on top of ATT.", + 'The [[bluetooth|BLE]] mid-layer that exposes named attributes (UUIDs) for read / write / notify operations. {{gatt|GATT}} is the profile layer on top of ATT.', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#Generic_Attribute_Profile', category: 'protocol-mechanics' }, @@ -7019,7 +7021,7 @@ export const concepts: Concept[] = [ id: 'bis-broadcast', term: 'BIS (Broadcast Isochronous Stream)', definition: - "The [[bluetooth|BLE Audio]] stream type for one-to-many public audio โ€” public Auracast hearing-loop, in-flight entertainment, gym-TV sound. The newer alternative to a {{cis|CIS}} unicast stream.", + 'The [[bluetooth|BLE Audio]] stream type for one-to-many public audio โ€” public Auracast hearing-loop, in-flight entertainment, gym-TV sound. The newer alternative to a {{cis|CIS}} unicast stream.', wikiUrl: 'https://en.wikipedia.org/wiki/Bluetooth_LE_Audio', category: 'protocol-mechanics' }, @@ -7027,7 +7029,7 @@ export const concepts: Concept[] = [ id: 'knob-attack', term: 'KNOB Attack', definition: - "Key Negotiation Of Bluetooth (CVE-2019-9506) โ€” downgraded BR/EDR pairing to a 1-byte session key, brute-forceable in seconds. Disclosed by Daniele Antonioli et al. in 2019.", + 'Key Negotiation Of Bluetooth (CVE-2019-9506) โ€” downgraded BR/EDR pairing to a 1-byte session key, brute-forceable in seconds. Disclosed by Daniele Antonioli et al. in 2019.', wikiUrl: 'https://knobattack.com/', category: 'security' }, @@ -7035,7 +7037,7 @@ export const concepts: Concept[] = [ id: 'bias-attack', term: 'BIAS Attack', definition: - "Bluetooth Impersonation AttackS (CVE-2020-10135) โ€” impersonated a previously-bonded BR/EDR device by exploiting the asymmetric authentication of legacy pairing. Same team as KNOB.", + 'Bluetooth Impersonation AttackS (CVE-2020-10135) โ€” impersonated a previously-bonded BR/EDR device by exploiting the asymmetric authentication of legacy pairing. Same team as KNOB.', wikiUrl: 'https://francozappa.github.io/about-bias/', category: 'security' }, @@ -7043,7 +7045,7 @@ export const concepts: Concept[] = [ id: 'bluffs-attack', term: 'BLUFFS', definition: - "Bluetooth Forward And Future Secrecy attacks (CVE-2023-24023) โ€” broke forward secrecy on BR/EDR Secure Connections sessions by forcing key reuse. Antonioli, 2023.", + 'Bluetooth Forward And Future Secrecy attacks (CVE-2023-24023) โ€” broke forward secrecy on BR/EDR Secure Connections sessions by forcing key reuse. Antonioli, 2023.', wikiUrl: 'https://francozappa.github.io/about-bluffs/', category: 'security' }, @@ -7051,7 +7053,7 @@ export const concepts: Concept[] = [ id: 'sig-bluetooth-acronym', term: 'CSA (Connectivity Standards Alliance)', definition: - "The standards body formerly known as the Zigbee Alliance โ€” owners of [[zigbee|Zigbee]] PRO and (since 2022) {{matter|Matter}}. Renamed in 2021 to escape the single-protocol branding.", + 'The standards body formerly known as the Zigbee Alliance โ€” owners of [[zigbee|Zigbee]] PRO and (since 2022) {{matter|Matter}}. Renamed in 2021 to escape the single-protocol branding.', wikiUrl: 'https://csa-iot.org/', category: 'infrastructure' }, @@ -7061,7 +7063,7 @@ export const concepts: Concept[] = [ id: 'ccc', term: 'CCC (Car Connectivity Consortium)', definition: - "The standards body that defines Digital Key โ€” the [[bluetooth|BLE]] + [[uwb|UWB]] protocol your phone uses to unlock and start cars from BMW, Mercedes, Hyundai, and a growing list.", + 'The standards body that defines Digital Key โ€” the [[bluetooth|BLE]] + [[uwb|UWB]] protocol your phone uses to unlock and start cars from BMW, Mercedes, Hyundai, and a growing list.', wikiUrl: 'https://carconnectivity.org/', category: 'infrastructure' }, @@ -7069,7 +7071,7 @@ export const concepts: Concept[] = [ id: 'ces-show', term: 'CES (Consumer Electronics Show)', definition: - "The annual Las Vegas trade show where consumer-IoT roadmaps land โ€” Matter device announcements, Digital Key partnerships, Wi-Fi alliance demos. Where a protocol becomes a press release.", + 'The annual Las Vegas trade show where consumer-IoT roadmaps land โ€” Matter device announcements, Digital Key partnerships, Wi-Fi alliance demos. Where a protocol becomes a press release.', wikiUrl: 'https://en.wikipedia.org/wiki/Consumer_Electronics_Show', category: 'infrastructure' }, @@ -7077,7 +7079,7 @@ export const concepts: Concept[] = [ id: 'oem', term: 'OEM (Original Equipment Manufacturer)', definition: - "The company that builds a product end customers buy โ€” BMW, Schlage, Hue. Distinct from a chip vendor (NXP, Qualcomm) or a standards body. The OEM is who has to ship firmware for every new protocol.", + 'The company that builds a product end customers buy โ€” BMW, Schlage, Hue. Distinct from a chip vendor (NXP, Qualcomm) or a standards body. The OEM is who has to ship firmware for every new protocol.', wikiUrl: 'https://en.wikipedia.org/wiki/Original_equipment_manufacturer', category: 'infrastructure' }, @@ -7087,7 +7089,7 @@ export const concepts: Concept[] = [ id: 'ikev2', term: 'IKEv2', definition: - "Internet Key Exchange v2 โ€” the [[ipsec|IPsec]] key-management protocol that negotiates Security Associations between peers. Defined in [[rfc:7296|RFC 7296]].", + 'Internet Key Exchange v2 โ€” the [[ipsec|IPsec]] key-management protocol that negotiates Security Associations between peers. Defined in [[rfc:7296|RFC 7296]].', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_Key_Exchange', category: 'security' }, @@ -7095,7 +7097,7 @@ export const concepts: Concept[] = [ id: 'esp', term: 'ESP (Encapsulating Security Payload)', definition: - "The [[ipsec|IPsec]] sub-protocol ([[rfc:4303|RFC 4303]]) that actually wraps and encrypts traffic between peers โ€” distinct from IKE (key exchange) and AH (auth without encryption).", + 'The [[ipsec|IPsec]] sub-protocol ([[rfc:4303|RFC 4303]]) that actually wraps and encrypts traffic between peers โ€” distinct from IKE (key exchange) and AH (auth without encryption).', wikiUrl: 'https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload', category: 'security' }, @@ -7113,7 +7115,7 @@ export const concepts: Concept[] = [ id: 'frr', term: 'FRR (Free Range Routing)', definition: - "An open-source routing daemon ({{bgp|BGP}}, [[ospf|OSPF]], [[isis|IS-IS]], BFD) โ€” the FreeBSD-licensed Quagga fork that runs on Linux switches and the Cumulus / SONiC ecosystem.", + 'An open-source routing daemon ({{bgp|BGP}}, [[ospf|OSPF]], [[isis|IS-IS]], BFD) โ€” the FreeBSD-licensed Quagga fork that runs on Linux switches and the Cumulus / SONiC ecosystem.', wikiUrl: 'https://frrouting.org/', category: 'infrastructure' }, @@ -7156,14 +7158,15 @@ export const concepts: Concept[] = [ term: 'ROA (Route Origin Authorization)', definition: "A signed [[#rpki-acr|RPKI]] object that says 'AS X is authorised to originate prefix P with max-length M'. Networks running ROV ([[bgp|BGP]] route-origin validation) drop announcements that fail to match.", - wikiUrl: 'https://www.ripe.net/manage-ips-and-asns/resource-management/rpki/route-origin-authorisation', + wikiUrl: + 'https://www.ripe.net/manage-ips-and-asns/resource-management/rpki/route-origin-authorisation', category: 'security' }, { id: 'ripe-ncc', term: 'RIPE NCC', definition: - "Rรฉseaux IP Europรฉens Network Coordination Centre โ€” the regional internet registry for Europe and the Middle East. Allocates [[ip|IPv4]] / [[ipv6|IPv6]] address space and AS numbers; runs the {{atlas|RIPE Atlas}} measurement platform.", + 'Rรฉseaux IP Europรฉens Network Coordination Centre โ€” the regional internet registry for Europe and the Middle East. Allocates [[ip|IPv4]] / [[ipv6|IPv6]] address space and AS numbers; runs the {{atlas|RIPE Atlas}} measurement platform.', wikiUrl: 'https://www.ripe.net/about-us', category: 'infrastructure' }, @@ -7179,7 +7182,7 @@ export const concepts: Concept[] = [ id: 'arin', term: 'ARIN', definition: - "American Registry for Internet Numbers โ€” the regional internet registry for the US, Canada, and parts of the Caribbean. Sister org to {{#ripe-ncc|RIPE NCC}}, {{#apnic|APNIC}}, AFRINIC, and LACNIC.", + 'American Registry for Internet Numbers โ€” the regional internet registry for the US, Canada, and parts of the Caribbean. Sister org to {{#ripe-ncc|RIPE NCC}}, {{#apnic|APNIC}}, AFRINIC, and LACNIC.', wikiUrl: 'https://www.arin.net/', category: 'infrastructure' }, @@ -7197,7 +7200,7 @@ export const concepts: Concept[] = [ id: 'smtp-mail-from', term: 'MAIL FROM', definition: - "The [[smtp|SMTP]] command that declares the envelope sender โ€” what bounces and 550 rejections route back to. Distinct from the `From:` *header* a user sees; mismatches between the two are how phishing makes a living.", + 'The [[smtp|SMTP]] command that declares the envelope sender โ€” what bounces and 550 rejections route back to. Distinct from the `From:` *header* a user sees; mismatches between the two are how phishing makes a living.', wikiUrl: 'https://en.wikipedia.org/wiki/Bounce_address', category: 'protocol-mechanics' }, @@ -7205,7 +7208,7 @@ export const concepts: Concept[] = [ id: 'smtp-rcpt-to', term: 'RCPT TO', definition: - "The [[smtp|SMTP]] command that declares an envelope recipient. Issued once per recipient; each receives an independent reply. The server can accept some and reject others before any message data flows.", + 'The [[smtp|SMTP]] command that declares an envelope recipient. Issued once per recipient; each receives an independent reply. The server can accept some and reject others before any message data flows.', wikiUrl: 'https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example', category: 'protocol-mechanics' }, @@ -7213,7 +7216,7 @@ export const concepts: Concept[] = [ id: 'smtp-data', term: 'DATA', definition: - "The [[smtp|SMTP]] command that begins the message body โ€” headers, MIME parts, attachments โ€” terminated by a `.` on its own line. Everything before DATA is envelope; everything after is the user-visible message.", + 'The [[smtp|SMTP]] command that begins the message body โ€” headers, MIME parts, attachments โ€” terminated by a `.` on its own line. Everything before DATA is envelope; everything after is the user-visible message.', wikiUrl: 'https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example', category: 'protocol-mechanics' }, @@ -7221,7 +7224,7 @@ export const concepts: Concept[] = [ id: 'smtp-auth', term: 'AUTH (SMTP)', definition: - "The [[smtp|SMTP]] extension ([[rfc:4954|RFC 4954]]) for authenticated submission โ€” historically AUTH LOGIN / PLAIN over [[tls|TLS]], now XOAUTH2 / [[oauth2|OAuth]] in modern providers (Microsoft 365 SMTP AUTH retires basic auth in 2026).", + 'The [[smtp|SMTP]] extension ([[rfc:4954|RFC 4954]]) for authenticated submission โ€” historically AUTH LOGIN / PLAIN over [[tls|TLS]], now XOAUTH2 / [[oauth2|OAuth]] in modern providers (Microsoft 365 SMTP AUTH retires basic auth in 2026).', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc4954', category: 'security' }, @@ -7239,7 +7242,7 @@ export const concepts: Concept[] = [ id: 'sip-invite', term: 'INVITE (SIP)', definition: - "The [[sip|SIP]] method that initiates a session โ€” `INVITE sip:bob@example.com SIP/2.0`, followed by SDP describing the proposed media. The 100/180/200 responses are the call-progression dance every SIP-stack tutorial draws.", + 'The [[sip|SIP]] method that initiates a session โ€” `INVITE sip:bob@example.com SIP/2.0`, followed by SDP describing the proposed media. The 100/180/200 responses are the call-progression dance every SIP-stack tutorial draws.', wikiUrl: 'https://en.wikipedia.org/wiki/Session_Initiation_Protocol#Methods', category: 'protocol-mechanics' }, @@ -7249,7 +7252,7 @@ export const concepts: Concept[] = [ id: 'bgp-update', term: 'UPDATE (BGP)', definition: - "The [[bgp|BGP]] message type that announces or withdraws routes. A storm of UPDATE messages is the visible symptom of every famous route leak ({{as-7007-1997|AS 7007}}, Pakistan-YouTube, Facebook 2021).", + 'The [[bgp|BGP]] message type that announces or withdraws routes. A storm of UPDATE messages is the visible symptom of every famous route leak ({{as-7007-1997|AS 7007}}, Pakistan-YouTube, Facebook 2021).', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc4271#section-4.3', category: 'protocol-mechanics' }, @@ -7257,7 +7260,7 @@ export const concepts: Concept[] = [ id: 'bgp-keepalive', term: 'KEEPALIVE (BGP)', definition: - "The smallest [[bgp|BGP]] message โ€” 19 bytes, no payload โ€” sent every Hold-Time / 3 to keep a session alive. Missing for a full Hold-Time tears the session down and triggers route reconvergence.", + 'The smallest [[bgp|BGP]] message โ€” 19 bytes, no payload โ€” sent every Hold-Time / 3 to keep a session alive. Missing for a full Hold-Time tears the session down and triggers route reconvergence.', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc4271#section-4.4', category: 'protocol-mechanics' }, @@ -7275,7 +7278,7 @@ export const concepts: Concept[] = [ id: 'kerberos-ap-req-acr', term: 'AP-REQ', definition: - "The [[ssh|Kerberos]] Application Request โ€” what a client sends to a service, containing the service ticket + a fresh authenticator. The service decrypts with its long-term key, verifies, and grants access.", + 'The [[ssh|Kerberos]] Application Request โ€” what a client sends to a service, containing the service ticket + a fresh authenticator. The service decrypts with its long-term key, verifies, and grants access.', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc4120#section-3.2', category: 'security' }, @@ -7293,7 +7296,7 @@ export const concepts: Concept[] = [ id: 'eee', term: 'CES (cellular)', definition: - "Carrier Ethernet Services โ€” the operator term for [[ethernet|Ethernet]] handoff between mobile networks and metro/aggregation. Different beast from the Vegas trade show CES.", + 'Carrier Ethernet Services โ€” the operator term for [[ethernet|Ethernet]] handoff between mobile networks and metro/aggregation. Different beast from the Vegas trade show CES.', wikiUrl: 'https://en.wikipedia.org/wiki/Carrier_Ethernet', category: 'infrastructure' }, @@ -7303,7 +7306,7 @@ export const concepts: Concept[] = [ id: 'acm-org', term: 'ACM (Association for Computing Machinery)', definition: - "The oldest scientific computing society (1947). Runs SIGCOMM and the Web Conference; publishes the Communications of the ACM. Where most foundational networking papers land.", + 'The oldest scientific computing society (1947). Runs SIGCOMM and the Web Conference; publishes the Communications of the ACM. Where most foundational networking papers land.', wikiUrl: 'https://www.acm.org/', category: 'infrastructure' }, @@ -7319,7 +7322,7 @@ export const concepts: Concept[] = [ id: 'usenix-conf', term: 'USENIX', definition: - "The systems-and-security conference family (USENIX Security, NSDI, ATC, SOSP-adjacent). Home of major networking papers (Stevens-era and beyond).", + 'The systems-and-security conference family (USENIX Security, NSDI, ATC, SOSP-adjacent). Home of major networking papers (Stevens-era and beyond).', wikiUrl: 'https://www.usenix.org/', category: 'infrastructure' }, @@ -7327,7 +7330,7 @@ export const concepts: Concept[] = [ id: 'sigcomm-conf', term: 'SIGCOMM', definition: - "The ACM Special Interest Group on Data Communication โ€” and its flagship annual conference. The forum that midwifed [[tcp|TCP]] congestion control, BBR, and most of the routing-protocol literature.", + 'The ACM Special Interest Group on Data Communication โ€” and its flagship annual conference. The forum that midwifed [[tcp|TCP]] congestion control, BBR, and most of the routing-protocol literature.', wikiUrl: 'https://www.sigcomm.org/', category: 'infrastructure' }, @@ -7347,7 +7350,7 @@ export const concepts: Concept[] = [ id: 'rfc-doc', term: 'RFC', definition: - "Request for Comments โ€” the document series that defines internet protocols. Published by the [[ietf|IETF]] (and historically by IAB, IRTF, Independent Stream). Every TCP/IP/HTTP/TLS rule you read about ultimately points to one. See {{ietf|IETF}} for the body that publishes them.", + 'Request for Comments โ€” the document series that defines internet protocols. Published by the [[ietf|IETF]] (and historically by IAB, IRTF, Independent Stream). Every TCP/IP/HTTP/TLS rule you read about ultimately points to one. See {{ietf|IETF}} for the body that publishes them.', wikiUrl: 'https://en.wikipedia.org/wiki/Request_for_Comments', category: 'infrastructure' }, @@ -7355,7 +7358,7 @@ export const concepts: Concept[] = [ id: 'scp-copy', term: 'SCP (Secure Copy Protocol)', definition: - "The file-copy command/protocol layered on [[ssh|SSH]] โ€” `scp file user@host:/path`. Written by Tatu Ylรถnen with the original SSH; the wire protocol was deprecated in [[#rhel|RHEL]] 9 / OpenSSH 9.0 in favour of SFTP, though the `scp` command still works (now via SFTP under the hood).", + 'The file-copy command/protocol layered on [[ssh|SSH]] โ€” `scp file user@host:/path`. Written by Tatu Ylรถnen with the original SSH; the wire protocol was deprecated in [[#rhel|RHEL]] 9 / OpenSSH 9.0 in favour of SFTP, though the `scp` command still works (now via SFTP under the hood).', wikiUrl: 'https://en.wikipedia.org/wiki/Secure_copy_protocol', category: 'security' }, @@ -7363,7 +7366,7 @@ export const concepts: Concept[] = [ id: 'ask-modulation', term: 'ASK (Amplitude Shift Keying)', definition: - "A modulation scheme that encodes bits by varying carrier amplitude. [[nfc|NFC]] Type-A uses 100% ASK modified-Miller from reader to card โ€” the carrier briefly drops to zero, which is easy to demodulate with the limited silicon in a passive card.", + 'A modulation scheme that encodes bits by varying carrier amplitude. [[nfc|NFC]] Type-A uses 100% ASK modified-Miller from reader to card โ€” the carrier briefly drops to zero, which is easy to demodulate with the limited silicon in a passive card.', wikiUrl: 'https://en.wikipedia.org/wiki/Amplitude-shift_keying', category: 'protocol-mechanics' }, @@ -7379,7 +7382,7 @@ export const concepts: Concept[] = [ id: 'sel-iso', term: 'SEL (Select Command, ISO 14443)', definition: - "The [[#iso-iec|ISO/IEC]] 14443-3 anti-collision command โ€” the reader walks the binary tree of card UIDs by sending SEL with progressively more of the UID until a single card is selected.", + 'The [[#iso-iec|ISO/IEC]] 14443-3 anti-collision command โ€” the reader walks the binary tree of card UIDs by sending SEL with progressively more of the UID until a single card is selected.', wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', category: 'protocol-mechanics' }, @@ -7387,7 +7390,7 @@ export const concepts: Concept[] = [ id: 'hosts-txt', term: 'HOSTS.TXT', definition: - "The single global text file that mapped hostnames to [[ip|IP]] addresses on the [[arpanet|ARPANET]] until 1983 โ€” maintained at SRI-NIC, distributed by FTP, hand-edited per change. Replaced by [[dns|DNS]] in 1983 ([[rfc:882|RFC 882]] / [[rfc:883|RFC 883]]).", + 'The single global text file that mapped hostnames to [[ip|IP]] addresses on the [[arpanet|ARPANET]] until 1983 โ€” maintained at SRI-NIC, distributed by FTP, hand-edited per change. Replaced by [[dns|DNS]] in 1983 ([[rfc:882|RFC 882]] / [[rfc:883|RFC 883]]).', wikiUrl: 'https://en.wikipedia.org/wiki/Hosts_(file)', category: 'infrastructure' }, @@ -7411,7 +7414,7 @@ export const concepts: Concept[] = [ id: 'cname-bare', term: 'CNAME', definition: - "Canonical-Name [[dns|DNS]] record โ€” an alias from one name to another. Resolvers follow the chain. CNAMEs cannot coexist with other records at the same name, which is why the apex of a zone often needs ALIAS / ANAME / CNAME-flattening trickery instead.", + 'Canonical-Name [[dns|DNS]] record โ€” an alias from one name to another. Resolvers follow the chain. CNAMEs cannot coexist with other records at the same name, which is why the apex of a zone often needs ALIAS / ANAME / CNAME-flattening trickery instead.', wikiUrl: 'https://en.wikipedia.org/wiki/CNAME_record', category: 'networking-basics' }, @@ -7435,7 +7438,7 @@ export const concepts: Concept[] = [ id: 'ts-3gpp', term: 'TS (3GPP Technical Specification)', definition: - "A numbered standards document published by {{3gpp|3GPP}} โ€” TS 23.501 (5G System Architecture), TS 33.501 (Security Architecture), TS 38.401 (RAN Architecture). Different prefix than [[rfc:1|IETF RFCs]] but plays the same role in the cellular world.", + 'A numbered standards document published by {{3gpp|3GPP}} โ€” TS 23.501 (5G System Architecture), TS 33.501 (Security Architecture), TS 38.401 (RAN Architecture). Different prefix than [[rfc:1|IETF RFCs]] but plays the same role in the cellular world.', wikiUrl: 'https://www.3gpp.org/specifications-technologies', category: 'protocol-mechanics' }, @@ -7443,7 +7446,7 @@ export const concepts: Concept[] = [ id: 'nba-mms', term: 'NBA-MMS', definition: - "Narrowband-Assisted Multi-Millisecond Sounding โ€” the [[bluetooth|Bluetooth]] 6.0 (early 2026) {{channel-sounding|Channel Sounding}} extension that improves ranging accuracy at distance by interleaving a narrowband tone with the wideband sounding pulse.", + 'Narrowband-Assisted Multi-Millisecond Sounding โ€” the [[bluetooth|Bluetooth]] 6.0 (early 2026) {{channel-sounding|Channel Sounding}} extension that improves ranging accuracy at distance by interleaving a narrowband tone with the wideband sounding pulse.', wikiUrl: 'https://www.bluetooth.com/specifications/specs/', category: 'protocol-mechanics' }, @@ -7459,7 +7462,7 @@ export const concepts: Concept[] = [ id: 'aes-ccm', term: 'AES-CCM', definition: - "AES in Counter with CBC-MAC mode โ€” an AEAD that combines encryption and authentication. Used by [[zigbee|802.15.4]] link-layer security, COSE_Encrypt0 in {{matter|Matter}}, and {{coap|CoAP}}-OSCORE. Less common than {{aes-gcm|AES-GCM}} but easier on constrained hardware.", + 'AES in Counter with CBC-MAC mode โ€” an AEAD that combines encryption and authentication. Used by [[zigbee|802.15.4]] link-layer security, COSE_Encrypt0 in {{matter|Matter}}, and {{coap|CoAP}}-OSCORE. Less common than {{aes-gcm|AES-GCM}} but easier on constrained hardware.', wikiUrl: 'https://en.wikipedia.org/wiki/CCM_mode', category: 'security' }, @@ -7467,7 +7470,7 @@ export const concepts: Concept[] = [ id: 'ccm-mode', term: 'CCM (Counter with CBC-MAC)', definition: - "The block-cipher mode of operation that combines CTR encryption with a CBC-MAC tag. CCM is the {{aes-ccm|AES-CCM}} family of constructions widely used in constrained-device networking.", + 'The block-cipher mode of operation that combines CTR encryption with a CBC-MAC tag. CCM is the {{aes-ccm|AES-CCM}} family of constructions widely used in constrained-device networking.', wikiUrl: 'https://en.wikipedia.org/wiki/CCM_mode', category: 'security' }, @@ -7483,7 +7486,7 @@ export const concepts: Concept[] = [ id: 'pq-ciphersuite', term: 'X25519MLKEM768', definition: - "The hybrid post-quantum [[tls|TLS]] 1.3 key {{exchange|exchange}} that combines classic {{#x25519|X25519}} with {{ml-kem|ML-KEM-768}}. Default key share in iOS 26 and Chrome 132+, switched on by default for Cloudflare-fronted sites in 2025.", + 'The hybrid post-quantum [[tls|TLS]] 1.3 key {{exchange|exchange}} that combines classic {{#x25519|X25519}} with {{ml-kem|ML-KEM-768}}. Default key share in iOS 26 and Chrome 132+, switched on by default for Cloudflare-fronted sites in 2025.', wikiUrl: 'https://blog.cloudflare.com/post-quantum-tls-with-x25519mlkem768/', category: 'security' }, @@ -7491,7 +7494,7 @@ export const concepts: Concept[] = [ id: 'nfc-v', term: 'NFC-V', definition: - "The [[#iso-iec|ISO/IEC]] 15693 long-range vicinity-coupling subtype of [[nfc|NFC]] โ€” used for libraries, asset tags, and some access-control systems where 10โ€“30 cm read range matters more than payment-grade security.", + 'The [[#iso-iec|ISO/IEC]] 15693 long-range vicinity-coupling subtype of [[nfc|NFC]] โ€” used for libraries, asset tags, and some access-control systems where 10โ€“30 cm read range matters more than payment-grade security.', wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_15693', category: 'protocol-mechanics' }, @@ -7499,7 +7502,7 @@ export const concepts: Concept[] = [ id: 'nfc-f', term: 'NFC-F (FeliCa)', definition: - "The Sony-designed [[nfc|NFC]] subtype standardised as {{#iso-iec|ISO/IEC}} 18092 โ€” different framing from NFC-A/B, native to Japan (Suica, PASMO) and Hong Kong (Octopus) transit systems, and supported by every modern phone for Japanese-market payments.", + 'The Sony-designed [[nfc|NFC]] subtype standardised as {{#iso-iec|ISO/IEC}} 18092 โ€” different framing from NFC-A/B, native to Japan (Suica, PASMO) and Hong Kong (Octopus) transit systems, and supported by every modern phone for Japanese-market payments.', wikiUrl: 'https://en.wikipedia.org/wiki/FeliCa', category: 'protocol-mechanics' }, @@ -7515,7 +7518,7 @@ export const concepts: Concept[] = [ id: 'pgw', term: 'PGW (PDN Gateway)', definition: - "The [[#epc|EPC]] component that connects user-plane traffic to the outside [[ip|IP]] world โ€” handles QoS, charging, lawful intercept, and the [[#smtp-mail-from|GTP-U]] tunnels back toward the {{#sgw-3gpp|SGW}}.", + 'The [[#epc|EPC]] component that connects user-plane traffic to the outside [[ip|IP]] world โ€” handles QoS, charging, lawful intercept, and the [[#smtp-mail-from|GTP-U]] tunnels back toward the {{#sgw-3gpp|SGW}}.', wikiUrl: 'https://en.wikipedia.org/wiki/System_Architecture_Evolution#PDN_Gateway', category: 'protocol-mechanics' }, @@ -7524,7 +7527,8 @@ export const concepts: Concept[] = [ term: 'MME (Mobility Management Entity)', definition: "The 4G [[#epc|EPC]] signalling brain โ€” handles UE attach, authentication via the HSS, paging, and bearer setup. Replaced by AMF + SMF in 5G's service-based architecture.", - wikiUrl: 'https://en.wikipedia.org/wiki/System_Architecture_Evolution#Mobility_Management_Entity', + wikiUrl: + 'https://en.wikipedia.org/wiki/System_Architecture_Evolution#Mobility_Management_Entity', category: 'protocol-mechanics' }, @@ -7541,7 +7545,7 @@ export const concepts: Concept[] = [ id: 'spake2-plus', term: 'SPAKE2', definition: - "Password-authenticated key {{exchange|exchange}} โ€” derives a strong session key from a low-entropy password without leaking it. The augmented SPAKE2+ variant ([[rfc:9383|RFC 9383]]) is what {{matter|Matter}} commissioning, {{ccc-digital-key|CCC Digital Key}}, and a growing slice of zero-trust pairing flows use.", + 'Password-authenticated key {{exchange|exchange}} โ€” derives a strong session key from a low-entropy password without leaking it. The augmented SPAKE2+ variant ([[rfc:9383|RFC 9383]]) is what {{matter|Matter}} commissioning, {{ccc-digital-key|CCC Digital Key}}, and a growing slice of zero-trust pairing flows use.', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc9383', category: 'security' }, @@ -7549,7 +7553,7 @@ export const concepts: Concept[] = [ id: 'iso14443', term: 'ISO/IEC 14443', definition: - "The four-part standard for proximity contactless cards at 13.56 MHz โ€” Type-A and Type-B physical layers, anti-collision (REQA/ATQA/SEL/SAK or ATQB/ATTRIB), block-oriented transmission. Almost every credit-card tap, transit card, and government-ID interaction passes through ISO 14443.", + 'The four-part standard for proximity contactless cards at 13.56 MHz โ€” Type-A and Type-B physical layers, anti-collision (REQA/ATQA/SEL/SAK or ATQB/ATTRIB), block-oriented transmission. Almost every credit-card tap, transit card, and government-ID interaction passes through ISO 14443.', wikiUrl: 'https://en.wikipedia.org/wiki/ISO/IEC_14443', category: 'protocol-mechanics' }, @@ -7567,7 +7571,7 @@ export const concepts: Concept[] = [ id: 'cidr-acr', term: 'CIDR', definition: - "Classless Inter-Domain Routing ([[rfc:1518|RFC 1518]] / 1519, 1993) โ€” replaced the rigid Class A/B/C [[ip|IPv4]] partition with the `prefix/length` notation (`10.0.0.0/8`). Without CIDR, [[ipv4|IPv4]] would have exhausted in the mid-1990s.", + 'Classless Inter-Domain Routing ([[rfc:1518|RFC 1518]] / 1519, 1993) โ€” replaced the rigid Class A/B/C [[ip|IPv4]] partition with the `prefix/length` notation (`10.0.0.0/8`). Without CIDR, [[ipv4|IPv4]] would have exhausted in the mid-1990s.', wikiUrl: 'https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing', category: 'networking-basics' }, @@ -7575,7 +7579,7 @@ export const concepts: Concept[] = [ id: 'wan-acr', term: 'WAN (Wide-Area Network)', definition: - "A network that spans long distances โ€” across cities, countries, continents. Distinguished from a LAN by latency, link cost, and the BGP routing that ties WAN segments together.", + 'A network that spans long distances โ€” across cities, countries, continents. Distinguished from a LAN by latency, link cost, and the BGP routing that ties WAN segments together.', wikiUrl: 'https://en.wikipedia.org/wiki/Wide_area_network', category: 'networking-basics' }, @@ -7583,7 +7587,7 @@ export const concepts: Concept[] = [ id: 'lan-acr', term: 'LAN (Local-Area Network)', definition: - "The network inside one building or campus โ€” Ethernet switches and Wi-Fi APs, usually one or two BGP-unaware autonomous systems wide.", + 'The network inside one building or campus โ€” Ethernet switches and Wi-Fi APs, usually one or two BGP-unaware autonomous systems wide.', wikiUrl: 'https://en.wikipedia.org/wiki/Local_area_network', category: 'networking-basics' }, @@ -7599,7 +7603,7 @@ export const concepts: Concept[] = [ id: 'voip-acr', term: 'VoIP (Voice over IP)', definition: - "Carrying voice telephony over [[ip|IP]] networks instead of dedicated circuits โ€” the umbrella the [[sip|SIP]] / [[rtp|RTP]] / [[#sdp-acr|SDP]] stack lives under. Killed the PSTN over two decades.", + 'Carrying voice telephony over [[ip|IP]] networks instead of dedicated circuits โ€” the umbrella the [[sip|SIP]] / [[rtp|RTP]] / [[#sdp-acr|SDP]] stack lives under. Killed the PSTN over two decades.', wikiUrl: 'https://en.wikipedia.org/wiki/Voice_over_IP', category: 'protocol-mechanics' }, @@ -7607,7 +7611,7 @@ export const concepts: Concept[] = [ id: 'volte', term: 'VoLTE (Voice over LTE)', definition: - "Carrying voice as packets over the LTE / 5G data plane (typically via the IMS core and RTP) rather than the legacy 3G circuit-switched fallback. The modern default in most carriers as 2G/3G sunset.", + 'Carrying voice as packets over the LTE / 5G data plane (typically via the IMS core and RTP) rather than the legacy 3G circuit-switched fallback. The modern default in most carriers as 2G/3G sunset.', wikiUrl: 'https://en.wikipedia.org/wiki/Voice_over_LTE', category: 'protocol-mechanics' }, @@ -7633,7 +7637,7 @@ export const concepts: Concept[] = [ id: 'sli-metric', term: 'SLI', definition: - "Service Level Indicator โ€” the actual measured metric (success rate, p99 latency) used to validate an {{#slo|SLO}}. Distinct from a metric in general because SLIs are picked specifically to map to user pain.", + 'Service Level Indicator โ€” the actual measured metric (success rate, p99 latency) used to validate an {{#slo|SLO}}. Distinct from a metric in general because SLIs are picked specifically to map to user pain.', wikiUrl: 'https://en.wikipedia.org/wiki/Service_level_indicator', category: 'infrastructure' }, @@ -7641,7 +7645,7 @@ export const concepts: Concept[] = [ id: 'mtbf', term: 'MTBF (Mean Time Between Failures)', definition: - "Average elapsed time between unplanned outages of a system. Hardware reliability lives here; software people prefer SLOs/error budgets because MTBF stops being a useful aggregate for rapid-release systems.", + 'Average elapsed time between unplanned outages of a system. Hardware reliability lives here; software people prefer SLOs/error budgets because MTBF stops being a useful aggregate for rapid-release systems.', wikiUrl: 'https://en.wikipedia.org/wiki/Mean_time_between_failures', category: 'infrastructure' }, @@ -7649,7 +7653,7 @@ export const concepts: Concept[] = [ id: 'mttr-acr', term: 'MTTR (Mean Time To Recovery)', definition: - "How long, on average, an incident takes to resolve. A leading SRE metric โ€” pairs with MTBF and feeds the error-budget math. Often the lever that drives investment in better tooling, deploys, and on-call.", + 'How long, on average, an incident takes to resolve. A leading SRE metric โ€” pairs with MTBF and feeds the error-budget math. Often the lever that drives investment in better tooling, deploys, and on-call.', wikiUrl: 'https://en.wikipedia.org/wiki/Mean_time_to_recovery', category: 'infrastructure' }, @@ -7659,7 +7663,7 @@ export const concepts: Concept[] = [ id: 'pop-acr', term: 'PoP (Point of Presence)', definition: - "A physical location where a network provider, CDN, or carrier has gear โ€” peering routers, anycast servers, optical regen. The unit of geographic reach for [[cloudflare|Cloudflare]], Netflix Open Connect, and big AS networks.", + 'A physical location where a network provider, CDN, or carrier has gear โ€” peering routers, anycast servers, optical regen. The unit of geographic reach for [[cloudflare|Cloudflare]], Netflix Open Connect, and big AS networks.', wikiUrl: 'https://en.wikipedia.org/wiki/Point_of_presence', category: 'infrastructure' }, @@ -7667,7 +7671,7 @@ export const concepts: Concept[] = [ id: 'ix-acr', term: 'IX / IXP (Internet Exchange Point)', definition: - "A physical fabric (usually a building or campus) where many networks peer with each other directly via [[bgp|BGP]] โ€” AMS-IX, DE-CIX, LINX, NL-ix. The reason a packet from one ISP to another rarely traverses a Tier-1 transit any more.", + 'A physical fabric (usually a building or campus) where many networks peer with each other directly via [[bgp|BGP]] โ€” AMS-IX, DE-CIX, LINX, NL-ix. The reason a packet from one ISP to another rarely traverses a Tier-1 transit any more.', wikiUrl: 'https://en.wikipedia.org/wiki/Internet_exchange_point', category: 'infrastructure' }, @@ -7675,7 +7679,7 @@ export const concepts: Concept[] = [ id: 'cdn-acr', term: 'CDN', definition: - "Content Delivery Network โ€” fleet of distributed cache servers that sits between origins and clients ([[cloudflare|Cloudflare]], Fastly, Akamai, Netflix Open Connect, AWS CloudFront). Cuts latency, absorbs DDoS, and terminates [[tls|TLS]] at the edge.", + 'Content Delivery Network โ€” fleet of distributed cache servers that sits between origins and clients ([[cloudflare|Cloudflare]], Fastly, Akamai, Netflix Open Connect, AWS CloudFront). Cuts latency, absorbs DDoS, and terminates [[tls|TLS]] at the edge.', wikiUrl: 'https://en.wikipedia.org/wiki/Content_delivery_network', category: 'infrastructure' }, @@ -7685,7 +7689,7 @@ export const concepts: Concept[] = [ id: 'l4s-acr', term: 'L4S', definition: - "Low Latency, Low Loss, Scalable throughput ([[rfc:9330|RFC 9330]]) โ€” a new active-queue-management scheme that uses ECN signalling for prompt feedback. Shipped in iOS 26, Apple TV, and DOCSIS 4.0 cable modems in 2025โ€“26.", + 'Low Latency, Low Loss, Scalable throughput ([[rfc:9330|RFC 9330]]) โ€” a new active-queue-management scheme that uses ECN signalling for prompt feedback. Shipped in iOS 26, Apple TV, and DOCSIS 4.0 cable modems in 2025โ€“26.', wikiUrl: 'https://en.wikipedia.org/wiki/L4S', category: 'protocol-mechanics' }, @@ -7693,7 +7697,7 @@ export const concepts: Concept[] = [ id: 'wifi-7', term: 'Wi-Fi 7', definition: - "IEEE 802.11be (ratified July 2024, certified mid-2025) โ€” 320 MHz channels, 4096-QAM, MLO (multi-link operation simultaneously across bands), 5โ€“10ร— the throughput of Wi-Fi 6. The first version positioning Wi-Fi as a cable-replacement for indoor 10 Gbps.", + 'IEEE 802.11be (ratified July 2024, certified mid-2025) โ€” 320 MHz channels, 4096-QAM, MLO (multi-link operation simultaneously across bands), 5โ€“10ร— the throughput of Wi-Fi 6. The first version positioning Wi-Fi as a cable-replacement for indoor 10 Gbps.', wikiUrl: 'https://en.wikipedia.org/wiki/Wi-Fi_7', category: 'protocol-mechanics' }, @@ -7701,7 +7705,7 @@ export const concepts: Concept[] = [ id: 'wifi-8', term: 'Wi-Fi 8', definition: - "IEEE 802.11bn (in standards work, ~2028 ratification) โ€” focused on reliability and AI/AR workloads rather than peak throughput. Will likely keep 4096-QAM and add tighter coordination across {{ap-access-point|APs}}.", + 'IEEE 802.11bn (in standards work, ~2028 ratification) โ€” focused on reliability and AI/AR workloads rather than peak throughput. Will likely keep 4096-QAM and add tighter coordination across {{ap-access-point|APs}}.', wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11bn', category: 'protocol-mechanics' }, @@ -7711,7 +7715,7 @@ export const concepts: Concept[] = [ id: 'etsi', term: 'ETSI (European Telecommunications Standards Institute)', definition: - "The European standards body that co-runs {{3gpp|3GPP}} (alongside ARIB+TTC in Japan, ATIS in North America, CCSA in China, and TTA in Korea). Owns GSM, DECT, and the European side of every cellular standard since.", + 'The European standards body that co-runs {{3gpp|3GPP}} (alongside ARIB+TTC in Japan, ATIS in North America, CCSA in China, and TTA in Korea). Owns GSM, DECT, and the European side of every cellular standard since.', wikiUrl: 'https://www.etsi.org/', category: 'infrastructure' }, @@ -7727,7 +7731,7 @@ export const concepts: Concept[] = [ id: 'dult', term: 'DULT (Detecting Unwanted Location Trackers)', definition: - "Joint Apple-Google standard for tracker-stalking detection โ€” born from the AirTag stalking incidents of 2022. Defines how iOS and Android scan for non-owner tracker beacons and warn the user.", + 'Joint Apple-Google standard for tracker-stalking detection โ€” born from the AirTag stalking incidents of 2022. Defines how iOS and Android scan for non-owner tracker beacons and warn the user.', wikiUrl: 'https://datatracker.ietf.org/doc/draft-detecting-unwanted-location-trackers/', category: 'security' }, @@ -7751,7 +7755,7 @@ export const concepts: Concept[] = [ id: 'srlg', term: 'SRLG (Shared Risk Link Group)', definition: - "The set of links that share a single failure point (a fibre conduit, a card chassis). Path-computation algorithms ([[ospf|OSPF-TE]], {{isis|IS-IS-TE}}, segment routing) avoid SRLG overlap when building primary/backup pairs.", + 'The set of links that share a single failure point (a fibre conduit, a card chassis). Path-computation algorithms ([[ospf|OSPF-TE]], {{isis|IS-IS-TE}}, segment routing) avoid SRLG overlap when building primary/backup pairs.', wikiUrl: 'https://en.wikipedia.org/wiki/Shared_Risk_Link_Group', category: 'protocol-mechanics' }, @@ -7759,7 +7763,7 @@ export const concepts: Concept[] = [ id: 'ospf-dr', term: 'DR (Designated Router)', definition: - "On a multi-access [[ospf|OSPF]] segment (Ethernet, broadcast), one router is elected DR โ€” it sources the network LSA and lets all other routers form adjacencies only with it, not pairwise. A Backup DR (BDR) shadows it.", + 'On a multi-access [[ospf|OSPF]] segment (Ethernet, broadcast), one router is elected DR โ€” it sources the network LSA and lets all other routers form adjacencies only with it, not pairwise. A Backup DR (BDR) shadows it.', wikiUrl: 'https://en.wikipedia.org/wiki/Open_Shortest_Path_First#Designated_router', category: 'protocol-mechanics' }, @@ -7767,7 +7771,7 @@ export const concepts: Concept[] = [ id: 'clat-acr', term: 'CLAT (Customer-side Translator)', definition: - "The customer-side half of 464XLAT ([[rfc:6877|RFC 6877]]) โ€” translates IPv4 traffic from legacy apps into IPv6 on an IPv6-only access network. Lets a phone or laptop run IPv4-only apps even when its carrier offers only IPv6.", + 'The customer-side half of 464XLAT ([[rfc:6877|RFC 6877]]) โ€” translates IPv4 traffic from legacy apps into IPv6 on an IPv6-only access network. Lets a phone or laptop run IPv4-only apps even when its carrier offers only IPv6.', wikiUrl: 'https://datatracker.ietf.org/doc/html/rfc6877', category: 'networking-basics' }, @@ -7775,7 +7779,7 @@ export const concepts: Concept[] = [ id: 'hosts-bare', term: 'HOSTS', definition: - "The {{hosts-txt|HOSTS.TXT}} file โ€” the single global text file that mapped hostnames to [[ip|IP]] addresses on the ARPANET before [[dns|DNS]] launched in 1983. Modern operating systems still have a tiny `/etc/hosts` for local overrides.", + 'The {{hosts-txt|HOSTS.TXT}} file โ€” the single global text file that mapped hostnames to [[ip|IP]] addresses on the ARPANET before [[dns|DNS]] launched in 1983. Modern operating systems still have a tiny `/etc/hosts` for local overrides.', wikiUrl: 'https://en.wikipedia.org/wiki/Hosts_(file)', category: 'infrastructure' }, @@ -7783,7 +7787,7 @@ export const concepts: Concept[] = [ id: 'hrp-uwb', term: 'HRP (High Rate Pulse Repetition)', definition: - "The high-pulse-rate UWB mode (~64โ€“249.6 MHz pulse repetition) used by IEEE 802.15.4z secure ranging โ€” the mode {{#u1-chip|Apple U1}} / U2 chips actually run. Distinguished from LRP (Low Rate Pulse) which optimises for power, not ranging accuracy.", + 'The high-pulse-rate UWB mode (~64โ€“249.6 MHz pulse repetition) used by IEEE 802.15.4z secure ranging โ€” the mode {{#u1-chip|Apple U1}} / U2 chips actually run. Distinguished from LRP (Low Rate Pulse) which optimises for power, not ranging accuracy.', wikiUrl: 'https://en.wikipedia.org/wiki/Ultra-wideband', category: 'protocol-mechanics' }, @@ -7791,7 +7795,7 @@ export const concepts: Concept[] = [ id: 'bprf', term: 'BPRF (Base Pulse Repetition Frequency)', definition: - "The IEEE 802.15.4z {{uwb|UWB}} HRP mode that runs at 64 MHz pulse repetition with 499.2 MHz of bandwidth and 6.81 Mbps payload โ€” the mainline mode for Apple Nearby Interaction and CCC Digital Key 3.0 ranging.", + 'The IEEE 802.15.4z {{uwb|UWB}} HRP mode that runs at 64 MHz pulse repetition with 499.2 MHz of bandwidth and 6.81 Mbps payload โ€” the mainline mode for Apple Nearby Interaction and CCC Digital Key 3.0 ranging.', wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.15.4', category: 'protocol-mechanics' }, @@ -7799,7 +7803,7 @@ export const concepts: Concept[] = [ id: 'nxp', term: 'NXP', definition: - "Dutch semiconductor company spun out of Philips in 2006 โ€” the dominant supplier of NFC, MIFARE, and secure-element chips for phones, cards, and access readers.", + 'Dutch semiconductor company spun out of Philips in 2006 โ€” the dominant supplier of NFC, MIFARE, and secure-element chips for phones, cards, and access readers.', wikiUrl: 'https://en.wikipedia.org/wiki/NXP_Semiconductors', category: 'infrastructure' }, @@ -7807,7 +7811,7 @@ export const concepts: Concept[] = [ id: 'qorvo', term: 'Qorvo', definition: - "US semiconductor company โ€” supplies most of the {{uwb|UWB}} radios that ship in Android phones, automotive Digital Key modules, and access-control readers. Competes with NXP in the UWB/NFC space.", + 'US semiconductor company โ€” supplies most of the {{uwb|UWB}} radios that ship in Android phones, automotive Digital Key modules, and access-control readers. Competes with NXP in the UWB/NFC space.', wikiUrl: 'https://en.wikipedia.org/wiki/Qorvo', category: 'infrastructure' }, @@ -7815,8 +7819,9 @@ export const concepts: Concept[] = [ id: 'crtc', term: 'CRTC', definition: - "Canadian Radio-television and Telecommunications Commission โ€” the national regulator that, after the 2022 Rogers outage, codified telecom networks as critical national infrastructure and forced large carriers to expose their resilience posture.", - wikiUrl: 'https://en.wikipedia.org/wiki/Canadian_Radio-television_and_Telecommunications_Commission', + 'Canadian Radio-television and Telecommunications Commission โ€” the national regulator that, after the 2022 Rogers outage, codified telecom networks as critical national infrastructure and forced large carriers to expose their resilience posture.', + wikiUrl: + 'https://en.wikipedia.org/wiki/Canadian_Radio-television_and_Telecommunications_Commission', category: 'infrastructure' }, { @@ -7849,7 +7854,7 @@ export const concepts: Concept[] = [ id: '5gc', term: '5GC (5G Core)', definition: - "The 5G replacement for the 4G [[#epc|EPC]] โ€” a service-based architecture where every function (AMF, SMF, UPF, AUSF, UDM, PCF) exposes HTTP/2 + JSON APIs. Cloud-native by design, harder to operate than its EPC predecessor.", + 'The 5G replacement for the 4G [[#epc|EPC]] โ€” a service-based architecture where every function (AMF, SMF, UPF, AUSF, UDM, PCF) exposes HTTP/2 + JSON APIs. Cloud-native by design, harder to operate than its EPC predecessor.', wikiUrl: 'https://en.wikipedia.org/wiki/5G_core_network', category: 'protocol-mechanics' }, @@ -7867,7 +7872,7 @@ export const concepts: Concept[] = [ id: 'rrc', term: 'RRC (Radio Resource Control)', definition: - "The cellular control-plane protocol between handset and base station โ€” manages the RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE state machine, bearer setup, paging. Distinct from {{#nas|NAS}} which signals to the core.", + 'The cellular control-plane protocol between handset and base station โ€” manages the RRC_IDLE โ†’ CONNECTED โ†’ INACTIVE state machine, bearer setup, paging. Distinct from {{#nas|NAS}} which signals to the core.', wikiUrl: 'https://en.wikipedia.org/wiki/Radio_Resource_Control', category: 'protocol-mechanics' }, @@ -7875,10 +7880,10 @@ export const concepts: Concept[] = [ id: 'nas', term: 'NAS (Non-Access Stratum)', definition: - "The cellular signalling protocols between the handset and the core network (MME in 4G, AMF in 5G) โ€” registration, authentication, mobility, session management. The control-plane layer above {{#rrc|RRC}}.", + 'The cellular signalling protocols between the handset and the core network (MME in 4G, AMF in 5G) โ€” registration, authentication, mobility, session management. The control-plane layer above {{#rrc|RRC}}.', wikiUrl: 'https://en.wikipedia.org/wiki/Non-access_stratum', category: 'protocol-mechanics' - }, + } ]; export const conceptMap = new Map(concepts.map((c) => [c.id, c])); diff --git a/src/lib/data/diagram-definitions.ts b/src/lib/data/diagram-definitions.ts index eb920c7..d2e814b 100644 --- a/src/lib/data/diagram-definitions.ts +++ b/src/lib/data/diagram-definitions.ts @@ -43,21 +43,21 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[tcp|TCP]]** = Transmission Control Protocol. A {{three-way-handshake|three-way handshake}} opens the connection, **`seq`**/**`ack`** numbers track every byte, and **{{fin|FIN}}** closes it cleanly โ€” the foundation of reliable delivery ([[rfc:793|RFC 793]] / [[rfc:9293|RFC 9293]]).', steps: { - 0: 'Before any data flows, both sides must agree they\'re talking. The next three messages โ€” {{syn|SYN}}, {{syn-ack|SYN-ACK}}, **{{ack|ACK}}** โ€” establish that agreement and sync their {{sequence-number|sequence number}} counters.', + 0: "Before any data flows, both sides must agree they're talking. The next three messages โ€” {{syn|SYN}}, {{syn-ack|SYN-ACK}}, **{{ack|ACK}}** โ€” establish that agreement and sync their {{sequence-number|sequence number}} counters.", 1: '{{syn|SYN}} = synchronize. The client picks a random {{initial-sequence-number|initial sequence number}} (here `100`) and sends it. The *Hey, can we talk?* step.', - 2: 'Server replies with its own {{syn|SYN}} (random `seq=300`) plus **{{ack|ACK}}** of the client\'s {{syn|SYN}}. **`ack=101`** means *next byte I expect is 101*. *Yes, I hear you โ€” can you hear me?*', - 3: 'Client **{{ack|ACK}}**s the server\'s {{syn|SYN}} with `ack=301`. Both sides have now seen each other\'s starting {{sequence-number|sequence numbers}} โ€” the {{handshake|handshake}} is complete.', + 2: "Server replies with its own {{syn|SYN}} (random `seq=300`) plus **{{ack|ACK}}** of the client's {{syn|SYN}}. **`ack=101`** means *next byte I expect is 101*. *Yes, I hear you โ€” can you hear me?*", + 3: "Client **{{ack|ACK}}**s the server's {{syn|SYN}} with `ack=301`. Both sides have now seen each other's starting {{sequence-number|sequence numbers}} โ€” the {{handshake|handshake}} is complete.", 4: 'The connection is open. {{sequence-number|Sequence-number}} counters are synced on both ends, so every byte from now on can be tracked, ordered, and {{ack|acknowledged}}.', 5: 'Client sends 50 bytes of application data starting at {{sequence-number|sequence}} **`101`**. The server will track these as bytes `101โ€“150`.', 6: 'Server replies with **`ack=151`** โ€” *I have received through byte 150; send me byte 151 next.* {{ack|ACKs}} always name the next-expected byte, not the last-received.', - 7: 'Client sends another 80 bytes starting at **`151`. Notice it didn\'t wait for individual {{ack|ACKs}} โ€” [[tcp|TCP]]\'s {{sliding-window|sliding window}}** lets multiple {{segment|segments}} be in flight at once.', + 7: "Client sends another 80 bytes starting at **`151`. Notice it didn't wait for individual {{ack|ACKs}} โ€” [[tcp|TCP]]'s {{sliding-window|sliding window}}** lets multiple {{segment|segments}} be in flight at once.", 8: 'Server {{piggyback-ack|piggybacks}} an **{{ack|ACK}}** onto its own outgoing data โ€” `ack=231` covers everything through byte 230. Combining {{ack|ACKs}} with data saves a {{rtt|round trip}}.', 9: 'The sequence/ack accounting is what makes [[tcp|TCP]] reliable. Missing {{ack|ACKs}} trigger {{retransmission|retransmission}}, and out-of-order bytes are reassembled before they reach the application.', 10: 'Either side can initiate close. The next three messages perform a graceful shutdown โ€” each direction is flushed independently before the connection is torn down.', - 11: '{{tcp-fin|FIN}} = finish. The client signals *I\'m done sending*. The server can still send any remaining data on its side.', - 12: 'Server **{{ack|ACK}}**s the {{tcp-fin|FIN}} and sends its own {{tcp-fin|FIN}} โ€” *I\'m done too*. These are often combined into a single {{segment|segment}}.', - 13: 'Client **{{ack|ACK}}**s the server\'s {{tcp-fin|FIN}}. Both directions are now closed; no more application data can flow on this connection.', - 14: 'Client lingers in **{{time-wait|`TIME_WAIT`}}** for ~60 seconds before releasing the {{socket|socket}}. This catches late-arriving {{packet|packets}} so they don\'t pollute a fresh connection on the same {{port|port}} pair.' + 11: "{{tcp-fin|FIN}} = finish. The client signals *I'm done sending*. The server can still send any remaining data on its side.", + 12: "Server **{{ack|ACK}}**s the {{tcp-fin|FIN}} and sends its own {{tcp-fin|FIN}} โ€” *I'm done too*. These are often combined into a single {{segment|segment}}.", + 13: "Client **{{ack|ACK}}**s the server's {{tcp-fin|FIN}}. Both directions are now closed; no more application data can flow on this connection.", + 14: "Client lingers in **{{time-wait|`TIME_WAIT`}}** for ~60 seconds before releasing the {{socket|socket}}. This catches late-arriving {{packet|packets}} so they don't pollute a fresh connection on the same {{port|port}} pair." } }, @@ -76,8 +76,8 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[udp|UDP]]** = User Datagram Protocol. {{fire-and-forget|Fire-and-forget}} delivery โ€” minimal 8-byte header, no {{handshake|handshake}}, no retransmits. The application is responsible for any reliability it needs ([[rfc:768|RFC 768]]).', steps: { - 0: 'No setup. The very first {{packet|packet}} carries data โ€” there\'s no {{syn|SYN}}/{{ack|ACK}} ceremony. This is what makes [[udp|UDP]] fast for [[dns|DNS]] lookups, voice, video, and gaming.', - 4: '{{datagram|Datagram}} 4 is dropped in transit. [[udp|UDP]] doesn\'t notice and doesn\'t care โ€” there\'s no {{retransmission|retransmission}} machinery.', + 0: "No setup. The very first {{packet|packet}} carries data โ€” there's no {{syn|SYN}}/{{ack|ACK}} ceremony. This is what makes [[udp|UDP]] fast for [[dns|DNS]] lookups, voice, video, and gaming.", + 4: "{{datagram|Datagram}} 4 is dropped in transit. [[udp|UDP]] doesn't notice and doesn't care โ€” there's no {{retransmission|retransmission}} machinery.", 6: 'Receiver gets `1, 2, 3, 5` โ€” *out of order possible* and one missing. [[udp|UDP]] delivers what arrives and leaves the rest to the application.', 7: 'No reliability features at all: no {{ack|ACKs}}, no {{sequence-number|sequence numbers}}, no {{flow-control|flow control}}, no {{congestion-control|congestion control}}. The {{header|header}} is just src/dst {{port|port}}, length, {{checksum|checksum}} โ€” a total of `8 bytes`.' } @@ -102,12 +102,12 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[quic|QUIC]]** = Quick [[udp|UDP]] Internet Connections. Transport + {{encryption|encryption}} fused into one {{handshake|handshake}}. Independent **streams** mean a lost packet only blocks its own stream, not the whole connection ([[rfc:9000|RFC 9000]]).', steps: { 0: 'Where [[tcp|TCP]] needs a separate {{tls-handshake|TLS handshake}} on top, [[quic|QUIC]] merges them โ€” connection setup and {{encryption|encryption}} happen in the same exchange, halving the {{rtt|round trips}}.', - 1: 'Client\'s first flight carries the [[tls|TLS]] {{client-hello|ClientHello}} plus [[quic|QUIC]] connection setup. Already includes its {{key-share|key share}} for the {{handshake|handshake}}.', + 1: "Client's first flight carries the [[tls|TLS]] {{client-hello|ClientHello}} plus [[quic|QUIC]] connection setup. Already includes its {{key-share|key share}} for the {{handshake|handshake}}.", 2: 'Server replies with **{{server-hello|ServerHello}}** + {{key-share|key share}} in the same {{initial-packet|Initial packet}}. After this exchange, both sides have shared keys.', 3: 'Server sends its **{{certificate|Certificate}}** and a {{tls-finished|`Finished`}} message โ€” already {{encryption|encrypted}} with the new keys.', 4: 'Client confirms it received and verified everything. {{one-rtt|One round trip}} total โ€” application data can now flow.', 7: 'A {{packet|packet}} on {{stream|Stream}} 1 is lost. In [[tcp|TCP]] this would block *every* stream behind it โ€” **{{head-of-line-blocking|head-of-line blocking}}** at the transport layer.', - 8: '{{stream|Stream}} 2\'s data delivers immediately. [[quic|QUIC]] {{stream-independence|streams are independent}} โ€” Stream 1\'s loss doesn\'t pause Stream 2 while waiting for {{retransmission|retransmission}}.', + 8: "{{stream|Stream}} 2's data delivers immediately. [[quic|QUIC]] {{stream-independence|streams are independent}} โ€” Stream 1's loss doesn't pause Stream 2 while waiting for {{retransmission|retransmission}}.", 9: 'Returning clients can send data in their first {{packet|packet}} using cached {{session-resumption|session keys}} โ€” **{{zero-rtt|0-RTT}}**. Trades a small {{replay-attack|replay-attack}} risk for a faster connection.' } }, @@ -130,13 +130,13 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[sctp|SCTP]]** = Stream Control Transmission Protocol. [[tcp|TCP]]-like reliability with two superpowers: multiple **independent streams** in one association (no {{head-of-line-blocking|head-of-line blocking}}) and **{{multi-homing|multi-homing}}** for [[ip|IP]]-level {{failover|failover}}. Used as the transport under telecom {{signaling|signaling}} (SIGTRAN) and [[webrtc|WebRTC]] data channels ([[rfc:4960|RFC 4960]] / 9260).', steps: { - 0: 'Unlike [[tcp|TCP]]\'s {{three-way-handshake|three-way}}, [[sctp|SCTP]] uses {{four-way-handshake|four messages}} โ€” the extra {{rtt|round trip}} lets the server hand out a {{cookie|cookie}} *before* committing any state, defeating {{syn-flood|SYN-flood}} attacks.', - 1: '{{init-chunk|INIT}} opens the {{sctp-association|association}}. Includes the client\'s address list ({{multi-homing|multi-homing}}) and a {{verification-tag|verification tag}}.', + 0: "Unlike [[tcp|TCP]]'s {{three-way-handshake|three-way}}, [[sctp|SCTP]] uses {{four-way-handshake|four messages}} โ€” the extra {{rtt|round trip}} lets the server hand out a {{cookie|cookie}} *before* committing any state, defeating {{syn-flood|SYN-flood}} attacks.", + 1: "{{init-chunk|INIT}} opens the {{sctp-association|association}}. Includes the client's address list ({{multi-homing|multi-homing}}) and a {{verification-tag|verification tag}}.", 2: 'Server replies with {{init-ack-chunk|INIT-ACK}} carrying a {{stateless|stateless}} **{{cookie|cookie}}** โ€” a signed token. The server keeps no state yet.', - 3: 'Client echoes the {{cookie|cookie}} back ({{cookie-echo|COOKIE-ECHO}}). Only now does the server allocate resources โ€” anyone forging an {{init-chunk|INIT}} couldn\'t fake the {{cookie|cookie}}.', + 3: "Client echoes the {{cookie|cookie}} back ({{cookie-echo|COOKIE-ECHO}}). Only now does the server allocate resources โ€” anyone forging an {{init-chunk|INIT}} couldn't fake the {{cookie|cookie}}.", 4: 'Server confirms with {{cookie-ack|COOKIE-ACK}}. {{sctp-association|Association}} established, immune to {{syn-flood|SYN-flood}} DoS.', 7: 'A {{packet|packet}} on {{stream|Stream}} 2 is lost. [[sctp|SCTP]] {{retransmission|retransmits}} it โ€” but only Stream 2 is affected.', - 8: '{{stream|Stream}} 3\'s voice traffic flows immediately, untouched by Stream 2\'s recovery. Each {{stream|stream}} has its own ordering โ€” same insight [[quic|QUIC]] later adopted.', + 8: "{{stream|Stream}} 3's voice traffic flows immediately, untouched by Stream 2's recovery. Each {{stream|stream}} has its own ordering โ€” same insight [[quic|QUIC]] later adopted.", 9: '**{{multi-homing|Multi-homing}}**: the same {{sctp-association|association}} can use multiple network paths. If one [[ip|IP]] fails, traffic reroutes through another without breaking the connection.' } }, @@ -170,8 +170,8 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 6: '**{{mp-join|`MP_JOIN`}} opens a second {{subflow|subflow}} on the cellular interface. Carries a token (proves it belongs to the existing connection) and a {{nonce|nonce}}** ({{replay-attack|replay protection}}).', 7: 'Server proves it knows `key_A` by sending an **{{hmac|HMAC}}**. Cryptographic binding stops attackers from sneaking in a fake {{subflow|subflow}}.', 8: 'Client returns its own {{hmac|HMAC}}. {{subflow|Subflow}} authenticated.', - 12: 'WiFi disconnects (e.g., walking out of a cafรฉ). The [[mptcp|MPTCP]] layer notices and {{failover|shifts all traffic to cellular}} โ€” the app\'s [[tcp|TCP]] {{socket|socket}} never breaks.', - 13: 'Data continues over cellular alone. From the application\'s view it\'s the same connection โ€” the most powerful feature of [[mptcp|MPTCP]].' + 12: "WiFi disconnects (e.g., walking out of a cafรฉ). The [[mptcp|MPTCP]] layer notices and {{failover|shifts all traffic to cellular}} โ€” the app's [[tcp|TCP]] {{socket|socket}} never breaks.", + 13: "Data continues over cellular alone. From the application's view it's the same connection โ€” the most powerful feature of [[mptcp|MPTCP]]." } }, @@ -197,11 +197,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 0: '**`GET`** = the request {{http-method|method}} for *fetching* a resource. Safe (no server-side side effects) and **{{idempotent|idempotent}}** (calling twice = calling once), so responses are freely cacheable. The other common methods: **`POST` (create), `PUT` (replace), `PATCH` (partial update), `DELETE` (remove), `HEAD` (GET without body โ€” just headers), `OPTIONS`** (capabilities probe, used in {{cors|CORS}}).', 1: '**`200 OK` = success with body. [[http1|HTTP]] {{status-code|status codes}} are 3-digit, grouped by hundreds: `1xx`** informational (`100 Continue`), **`2xx`** success (`201 Created`, `204 No Content`), **`3xx`** redirect (`301` permanent, `302` temporary, `304 Not Modified`), **`4xx`** client error (`400 Bad Request`, `401 Unauthorized`, `403 Forbidden`, `404 Not Found`, `429 Too Many Requests`), **`5xx`** server error (`500 Internal`, `502 Bad Gateway`, `503 Unavailable`, `504 Gateway Timeout`).', 2: 'Browser scans the HTML and finds **`<link rel="stylesheet">` (CSS), `<script src="...">` (JS), and `<img src="...">` tags pointing to other URLs. Each becomes a fresh request โ€” and HTML parsing pauses for blocking scripts** until they download and execute.', - 3: 'Same [[tcp|TCP]] connection. [[http1|HTTP/1.1]]\'s **`Connection: {{keep-alive|keep-alive}}` (the default since 1999) reuses the connection for all requests to the same host, saving the [[tcp|TCP]] + {{tls-handshake|TLS handshake}}** on every fetch. Without keep-alive, each resource would need a brand-new connection.', + 3: "Same [[tcp|TCP]] connection. [[http1|HTTP/1.1]]'s **`Connection: {{keep-alive|keep-alive}}` (the default since 1999) reuses the connection for all requests to the same host, saving the [[tcp|TCP]] + {{tls-handshake|TLS handshake}}** on every fetch. Without keep-alive, each resource would need a brand-new connection.", 4: 'Response carries {{header|headers}} like **`{{content-type|Content-Type}}: text/css` (so the browser interprets it correctly) and `{{cache-control|Cache-Control}}: max-age=31536000, immutable`** (reuse from cache for a year, never re-validate). Caching is *the* [[http1|HTTP]] performance superpower.', - 5: 'Third sequential request on this connection. Even though the browser knew it needed all three resources as soon as the HTML was parsed, [[http1|HTTP/1.1]] can\'t send them in parallel on one connection. To work around this, browsers open up to 6 concurrent connections per origin โ€” and *{{domain-sharding|domain sharding}}* (serving assets from `static1.example.com`, `static2.example.com`...) was a common 2010s trick.', + 5: "Third sequential request on this connection. Even though the browser knew it needed all three resources as soon as the HTML was parsed, [[http1|HTTP/1.1]] can't send them in parallel on one connection. To work around this, browsers open up to 6 concurrent connections per origin โ€” and *{{domain-sharding|domain sharding}}* (serving assets from `static1.example.com`, `static2.example.com`...) was a common 2010s trick.", 6: 'JS arrives. Conditional requests via **`If-None-Match` + `{{etag|ETag}}` (or `If-Modified-Since` + `Last-Modified`) let the server reply `304 Not Modified` with no body when nothing changed โ€” saves bandwidth on repeat visits. {{content-encoding|Compression}}** via `Content-Encoding: gzip` or `br` (Brotli) shrinks the payload further.', - 7: 'Each request must wait for the previous response โ€” **{{head-of-line-blocking|head-of-line blocking}}** at the application layer. The 6-connection workaround helps but doesn\'t scale. **[[http2|HTTP/2]]** fixed this by {{multiplexing|multiplexing}} all requests as numbered streams over a single [[tcp|TCP]] connection.' + 7: "Each request must wait for the previous response โ€” **{{head-of-line-blocking|head-of-line blocking}}** at the application layer. The 6-connection workaround helps but doesn't scale. **[[http2|HTTP/2]]** fixed this by {{multiplexing|multiplexing}} all requests as numbered streams over a single [[tcp|TCP]] connection." } }, @@ -228,7 +228,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 0: '**{{alpn|ALPN}}** = Application-Layer Protocol Negotiation. Inside the {{tls-handshake|TLS handshake}}, the client lists protocols it supports and the server picks one. **`h2`** = [[http2|HTTP/2]].', 3: 'All three {{http-method|GETs}} go out in parallel as separate {{http2-stream|streams}} (odd-numbered streams are client-initiated). No waiting for the first response. Each [[http2|HTTP/2]] message is carried in {{http2-frame|frames}} like **`HEADERS`** (request/response {{header|headers}}) and **`DATA`** (body).', - 9: '**{{hpack|HPACK}}** compresses repeated {{header|headers}} (common ones become 1-byte indices). **{{server-push|Server push}}** lets the server send resources the client hasn\'t asked for yet โ€” deprecated in practice.' + 9: "**{{hpack|HPACK}}** compresses repeated {{header|headers}} (common ones become 1-byte indices). **{{server-push|Server push}}** lets the server send resources the client hasn't asked for yet โ€” deprecated in practice." } }, @@ -253,10 +253,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[http3|HTTP/3]]** = {{http-method|HTTP}} over **[[quic|QUIC]]** (which runs on [[udp|UDP]]). Same {{multiplexing|multiplexing}} as [[http2|HTTP/2]], but streams are independent at the *transport* layer too โ€” a lost packet on one stream cannot block others ([[rfc:9114|RFC 9114]]).', steps: { - 0: '**`h3`** = [[http3|HTTP/3]] identifier negotiated via {{alpn|ALPN}} inside [[quic|QUIC]]\'s combined {{tls-handshake|TLS handshake}}. [[http3|HTTP/3]] uses {{qpack|QPACK}} instead of {{hpack|HPACK}} for {{header|header}} compression โ€” redesigned so streams arriving out of order don\'t stall decoding.', - 1: '[[quic|QUIC]]\'s {{handshake|handshake}} setup + crypto in one {{rtt|round trip}}. Returning clients can do **{{zero-rtt|0-RTT}}**.', - 7: '{{stream|Stream}} 2 loses a {{packet|packet}}. [[http2|HTTP/2]] over [[tcp|TCP]] would block all streams here โ€” [[tcp|TCP]]\'s ordered-byte abstraction means stream 1 and 3 wait too.', - 8: 'But [[http3|HTTP/3]]\'s streams are independent at the [[quic|QUIC]] layer, so {{stream|Stream}} 3 delivers immediately. {{stream|Stream}} 2 {{retransmission|retransmits}} in the background. The headline win over [[http2|HTTP/2]].' + 0: "**`h3`** = [[http3|HTTP/3]] identifier negotiated via {{alpn|ALPN}} inside [[quic|QUIC]]'s combined {{tls-handshake|TLS handshake}}. [[http3|HTTP/3]] uses {{qpack|QPACK}} instead of {{hpack|HPACK}} for {{header|header}} compression โ€” redesigned so streams arriving out of order don't stall decoding.", + 1: "[[quic|QUIC]]'s {{handshake|handshake}} setup + crypto in one {{rtt|round trip}}. Returning clients can do **{{zero-rtt|0-RTT}}**.", + 7: "{{stream|Stream}} 2 loses a {{packet|packet}}. [[http2|HTTP/2]] over [[tcp|TCP]] would block all streams here โ€” [[tcp|TCP]]'s ordered-byte abstraction means stream 1 and 3 wait too.", + 8: "But [[http3|HTTP/3]]'s streams are independent at the [[quic|QUIC]] layer, so {{stream|Stream}} 3 delivers immediately. {{stream|Stream}} 2 {{retransmission|retransmits}} in the background. The headline win over [[http2|HTTP/2]]." } }, @@ -298,10 +298,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { S->>C: Bidirectional stream Note over C,S: Code generated from .proto service definitions`, caption: - '**[[grpc|gRPC]]** = {{google|Google}}\'s high-performance **{{rpc|RPC}}** framework (2015). Methods defined in `.proto` files become typed client and server stubs in 11+ languages; messages travel as compact **Protobuf** {{binary-framing|binary}} over [[http2|HTTP/2]] with {{hpack|HPACK}}-compressed headers and [[tls|TLS]] by default. Four call patterns: unary {{request-response|request-response}}, server-stream, client-stream, bidirectional-stream.', + "**[[grpc|gRPC]]** = {{google|Google}}'s high-performance **{{rpc|RPC}}** framework (2015). Methods defined in `.proto` files become typed client and server stubs in 11+ languages; messages travel as compact **Protobuf** {{binary-framing|binary}} over [[http2|HTTP/2]] with {{hpack|HPACK}}-compressed headers and [[tls|TLS]] by default. Four call patterns: unary {{request-response|request-response}}, server-stream, client-stream, bidirectional-stream.", steps: { 0: '**{{rpc|RPC}}** = Remote Procedure Call. Looks like a function call but actually crosses the network. The strong typing comes from the **`.proto`** schema both sides share.', - 1: 'Method invocation. Note this isn\'t {{json|JSON}} โ€” **{{protocol-buffers|Protobuf}}** {{serialization|serializes}} the call by field-number, omitting names and types from the wire format.', + 1: "Method invocation. Note this isn't {{json|JSON}} โ€” **{{protocol-buffers|Protobuf}}** {{serialization|serializes}} the call by field-number, omitting names and types from the wire format.", 3: '[[grpc|gRPC]] has four call shapes: unary (oneโ†’one), client streaming (manyโ†’one), server streaming (oneโ†’many), and bidirectional (manyโ†”many) โ€” all on a single [[http2|HTTP/2]] connection.', 8: 'Run **{{protoc|`protoc`}}** against your `.proto` file and you get type-safe client + server code in C++, Go, Java, Python, Rust, etc. The schema is the source of truth.' } @@ -373,11 +373,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[json-rpc|JSON-RPC]]** = a tiny {{rpc|RPC}} protocol where every message is a {{json|JSON}} object. Calls have an `id` and get a result; notifications omit `id` and get nothing back. Used by Bitcoin, Ethereum, [[mcp|MCP]], and the {{lsp|Language Server Protocol}} (jsonrpc.org 2.0).', steps: { 0: 'A call: includes `method` name, `params` array or object, and an `id`. The id pairs the eventual response with this request.', - 1: 'Response with the matching `id` and a `result` field. Calls and responses don\'t have to arrive in order โ€” the id is what matches them.', + 1: "Response with the matching `id` and a `result` field. Calls and responses don't have to arrive in order โ€” the id is what matches them.", 2: 'A **{{notification|notification}}**: no `id`, so no response will come back. Used for fire-and-forget events (logging, telemetry).', 5: 'Multiple calls can be sent as a {{json|JSON}} array โ€” saves {{rtt|round trips}}. Mix of calls and {{notification|notifications}} is fine.', - 6: 'Server returns an array of responses (skipping {{notification|notifications}}). Order isn\'t guaranteed โ€” match by `id`.', - 7: '[[json-rpc|JSON-RPC]] is just a message format โ€” it doesn\'t care how the bytes get there. Common transports: [[http1|HTTP]] `POST`, {{websocket-frame|WebSocket frames}}, {{stdio|stdio}} (used by [[mcp|MCP]] and {{lsp|LSP}}), raw [[tcp|TCP]].', + 6: "Server returns an array of responses (skipping {{notification|notifications}}). Order isn't guaranteed โ€” match by `id`.", + 7: "[[json-rpc|JSON-RPC]] is just a message format โ€” it doesn't care how the bytes get there. Common transports: [[http1|HTTP]] `POST`, {{websocket-frame|WebSocket frames}}, {{stdio|stdio}} (used by [[mcp|MCP]] and {{lsp|LSP}}), raw [[tcp|TCP]].", 9: 'Errors return a structured `error` object with a numeric code (here **`-32601`** = method not found). Code ranges are reserved by the spec.' } }, @@ -406,11 +406,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 1: '{{mcp-host|Host}} opens with **`initialize`** โ€” sends its protocol version, capabilities (e.g., supports streaming?), and basic info about itself.', 2: 'Server replies with its capabilities (which categories of {{mcp-tool|tools}}/{{mcp-resource|resources}} it provides) and version {{handshake|negotiation}}.', 3: '**`{{notification|notifications}}/initialized`** confirms the {{mcp-host|host}} is ready. Note the `notifications/` prefix โ€” no `id`, no response expected.', - 4: 'Now the {{mcp-host|host}} learns what\'s available. The server doesn\'t send everything upfront โ€” the host queries lazily.', + 4: "Now the {{mcp-host|host}} learns what's available. The server doesn't send everything upfront โ€” the host queries lazily.", 5: '**`tools/list`** asks for callable {{mcp-tool|tools}}. Each tool has a name, description, and a {{json-schema|JSON Schema}} for its inputs (so the LLM knows how to call it).', 7: '**`resources/list`** asks for readable data sources. {{mcp-resource|Resources}} are addressed by URI โ€” files, database records, API endpoints โ€” and can be subscribed to for change {{notification|notifications}}.', 10: '**`tools/call`** is the actual invocation. The LLM (via the {{mcp-host|host}}) chose to call `weather` with `{city: "NYC"}` โ€” the server runs whatever code is behind it.', - 11: 'Result comes back as a content array (text, images, embedded {{mcp-resource|resources}}). The {{mcp-host|host}} feeds this into the LLM\'s next turn.' + 11: "Result comes back as a content array (text, images, embedded {{mcp-resource|resources}}). The {{mcp-host|host}} feeds this into the LLM's next turn." } }, @@ -435,14 +435,14 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[a2a|A2A]]** = Agent-to-Agent. The standard for one {{ai|AI}} agent to **discover** and **delegate work** to another over [[http1|HTTP]]. Built on [[json-rpc|JSON-RPC]] 2.0 with optional [[sse|Server-Sent Events]] streams. Tasks have an explicit lifecycle (`submitted` โ†’ `working` โ†’ `completed`/`failed`), and agents {{mqtt-publish|publish}} their skills in a public {{agent-card|Agent Card}} at `/.well-known/agent.{{json|json}}` (a2a-protocol.org).', steps: { 1: 'Discovery is just a **{{well-known-uri|well-known URL}}** โ€” `/.well-known/agent.json`. Anyone can fetch it without authentication to learn what an agent does.', - 2: 'The **{{agent-card|Agent Card}}** is the agent\'s public profile: name, what it can do (skills), what it accepts (input schemas, often {{json-schema|JSON Schema}}), how to authenticate, and the API endpoint.', + 2: "The **{{agent-card|Agent Card}}** is the agent's public profile: name, what it can do (skills), what it accepts (input schemas, often {{json-schema|JSON Schema}}), how to authenticate, and the API endpoint.", 4: 'Client agent sends a **`message/send`** โ€” natural-language task plus structured params. The remote agent decides how to break it down.', 5: '**{{task-lifecycle-a2a|Tasks}}** have an explicit state machine: `submitted` โ†’ `working` โ†’ (`input-required` or `completed` or `failed`).', 6: 'Agent reports progress while working. The client can poll, subscribe via [[sse|SSE]], or simply wait.', 7: '**`completed` state carries artifacts** โ€” the actual deliverables (text, files, structured data). Tasks can produce multiple artifacts.', 9: 'Same `message/send` semantics, but the client opens an **[[sse|SSE]]** stream to receive real-time updates instead of polling.', 10: '**`TaskStatusUpdate`** events stream the {{task-lifecycle-a2a|state transitions}} and intermediate messages.', - 11: '**`TaskArtifactUpdate`** events stream artifacts as they\'re produced โ€” useful for long-running jobs.' + 11: "**`TaskArtifactUpdate`** events stream artifacts as they're produced โ€” useful for long-running jobs." } }, @@ -467,7 +467,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 2: '**`POST` = create. Not {{idempotent|idempotent}} โ€” calling twice creates two resources. Returns `201 Created`** with a `Location` {{header|header}} pointing to the new URL.', 4: '**`PUT`** = replace. {{idempotent|Idempotent}}: PUTting the same body twice has the same effect as once. Sends the *full* representation; **`PATCH`** is the partial-update cousin.', 6: '**`DELETE`** = remove. {{idempotent|Idempotent}} โ€” once gone, repeated deletes still return success.', - 7: '**`204 No Content`** is the conventional success {{status-code|status code}} when there\'s nothing meaningful to return โ€” typical for `DELETE` and `PUT`.', + 7: "**`204 No Content`** is the conventional success {{status-code|status code}} when there's nothing meaningful to return โ€” typical for `DELETE` and `PUT`.", 8: '**{{stateless|Stateless}}** means every request carries everything the server needs โ€” auth tokens, {{cookie|cookies}}, query params. Lets any server in a {{load-balancing|load-balancer}} pool handle any request.' } }, @@ -520,10 +520,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[amqp|AMQP]]** = Advanced Message Queuing Protocol. Producers send to an **{{exchange|exchange}}**, which uses **binding rules** to route into named **queues**. Consumers acknowledge each message โ€” failures can be redirected to a {{dead-letter-queue|dead-letter queue}} ([[amqp|AMQP]] 0-9-1).', steps: { - 0: 'Publisher targets an **{{exchange|exchange}}** with a **{{routing-key|routing key}}** (here `order.new`). Unlike [[mqtt|MQTT]], producers don\'t pick the queue โ€” the {{exchange|exchange}} decides.', + 0: "Publisher targets an **{{exchange|exchange}}** with a **{{routing-key|routing key}}** (here `order.new`). Unlike [[mqtt|MQTT]], producers don't pick the queue โ€” the {{exchange|exchange}} decides.", 1: '{{exchange|Exchange}} types: {{direct-exchange|direct}} (exact key match), **{{topic-exchange|topic}}** (wildcard match), {{fanout-exchange|fanout}} ({{broadcast|broadcast}} to all bound queues), {{headers-exchange|headers}} (match on header dict). Picking the right type is the design choice.', 4: '**{{ack|ACK}}** tells the {{broker|broker}} *I have safely processed this; you can drop it from the queue.* Until {{ack|ACK}}, the {{broker|broker}} keeps the message and may {{retransmission|redeliver}}.', - 7: '**{{nack|NACK}}** = negative acknowledgement. The consumer couldn\'t process this message โ€” {{broker|broker}} treats it as failed.', + 7: "**{{nack|NACK}}** = negative acknowledgement. The consumer couldn't process this message โ€” {{broker|broker}} treats it as failed.", 8: 'Failed messages can be routed to a {{dead-letter-queue|dead-letter exchange}} for inspection or retry. Critical pattern for production reliability.', 9: '{{durable-queue|Durable queues}} + persistent messages survive a {{broker|broker}} crash. Trades throughput for safety; usually worth it.' } @@ -546,10 +546,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[stomp|STOMP]]** = Simple Text Oriented Messaging Protocol. Plain-text frames you can type by hand โ€” `COMMAND` + headers + body + `\\0` โ€” modeled on [[http1|HTTP]]. Built into many message {{broker|brokers}} (RabbitMQ, ActiveMQ) as a friendlier alternative to [[amqp|AMQP]] and a wire format for browser-side messaging libraries via [[websockets|WebSockets]].', steps: { 0: '**`CONNECT`** opens the session. Like an [[http1|HTTP]] {{handshake|handshake}} but the body is a {{stomp-frame|STOMP frame}}, and headers carry credentials.', - 2: '**`SUBSCRIBE`** registers interest in a destination (queue or {{topic|topic}}). The `id` is the client\'s local handle for this subscription.', + 2: "**`SUBSCRIBE`** registers interest in a destination (queue or {{topic|topic}}). The `id` is the client's local handle for this subscription.", 3: '**`RECEIPT`** is the optional {{ack|acknowledgement}} of any {{stomp-frame|frame}} the client asked the server to confirm โ€” gives {{at-least-once-delivery|at-least-once}} semantics over [[stomp|STOMP]] itself.', 5: '**`MESSAGE`** is the server delivering content to a subscriber. Subscription id matches what the client gave in `SUBSCRIBE`.', - 8: 'Each {{stomp-frame|frame}} is {{plaintext|plaintext}}, line-delimited, terminated by a `\\0` (null) byte. You can debug it with `telnet`. That readability is [[stomp|STOMP]]\'s whole pitch.' + 8: "Each {{stomp-frame|frame}} is {{plaintext|plaintext}}, line-delimited, terminated by a `\\0` (null) byte. You can debug it with `telnet`. That readability is [[stomp|STOMP]]'s whole pitch." } }, @@ -567,11 +567,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { S->>C: 2.05 Content: 24.8C (observe seq 3) Note over C,S: No polling โ€” server notifies on change`, caption: - '**[[coap|CoAP]]** = Constrained Application Protocol. {{http-method|HTTP}}\'s design, shrunk for tiny IoT devices: 4-byte header, runs over **[[udp|UDP]]**, optional reliability per message. Same [[rest|REST]] verbs and status codes ([[rfc:7252|RFC 7252]]).', + "**[[coap|CoAP]]** = Constrained Application Protocol. {{http-method|HTTP}}'s design, shrunk for tiny IoT devices: 4-byte header, runs over **[[udp|UDP]]**, optional reliability per message. Same [[rest|REST]] verbs and status codes ([[rfc:7252|RFC 7252]]).", steps: { 0: '**`CON` = {{coap-confirmable|Confirmable}}.** The request asks for an explicit **{{ack|ACK}}** back. The cheap counterpart is **{{coap-confirmable|`NON`}}** (non-confirmable, fire-and-forget).', - 1: '[[http1|HTTP]]\'s {{header|headers}} can run hundreds of bytes; [[coap|CoAP]] packs everything into 4 bytes plus compact options. Critical for battery-powered radios.', - 2: '**`2.05 Content`** is [[coap|CoAP]]\'s `200 OK` ({{status-code|codes}} are class.detail format, e.g. `4.04` = Not Found).', + 1: "[[http1|HTTP]]'s {{header|headers}} can run hundreds of bytes; [[coap|CoAP]] packs everything into 4 bytes plus compact options. Critical for battery-powered radios.", + 2: "**`2.05 Content`** is [[coap|CoAP]]'s `200 OK` ({{status-code|codes}} are class.detail format, e.g. `4.04` = Not Found).", 4: '**{{coap-observe|Observe}}** registers the client as interested in changes to this resource โ€” the request stays open conceptually.', 5: 'Server pushes a new representation whenever the value changes, with an incrementing {{coap-observe|observe}} {{sequence-number|sequence number}}. Detect lost {{notification|notifications}} by gaps in the sequence.', 8: 'Polling burns radio time and battery. **{{coap-observe|Observe}}** lets devices sleep until the server has something new to say.' @@ -599,12 +599,12 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[xmpp|XMPP]]** = Extensible Messaging and Presence Protocol. Originally **Jabber** (1999). An open {{xmpp-stream|XML stream}} over [[tcp|TCP]] with **federated** routing โ€” different domains relay to each other like email. Hardened over the decades into the substrate of {{google|Google}} Talk, the original WhatsApp, and the {{matter|Matter}}-adjacent OMA-LwM2M IoT stack. Encrypted via {{starttls|STARTTLS}}; modern {{encryption|end-to-end}} uses {{omemo|OMEMO}} ([[rfc:6120|RFC 6120]]).', steps: { - 0: 'Client opens a [[tcp|TCP]] {{socket|socket}} and sends `<stream:stream>` โ€” an {{xml|XML}} element that won\'t be closed until the session ends. The whole conversation is one continuous {{xmpp-stream|XML stream}}.', - 1: 'Server replies with **`<stream:features>`** advertising what\'s available โ€” [[tls|TLS]], {{sasl|SASL}} mechanisms, optional extensions.', + 0: "Client opens a [[tcp|TCP]] {{socket|socket}} and sends `<stream:stream>` โ€” an {{xml|XML}} element that won't be closed until the session ends. The whole conversation is one continuous {{xmpp-stream|XML stream}}.", + 1: "Server replies with **`<stream:features>`** advertising what's available โ€” [[tls|TLS]], {{sasl|SASL}} mechanisms, optional extensions.", 2: '**{{starttls|`STARTTLS`}}** upgrades the {{plaintext|plaintext}} stream to [[tls|TLS]]. After this, the {{xmpp-stream|XML stream}} restarts inside the encrypted {{tunnel|tunnel}}.', 3: '**{{sasl|SASL}}** = Simple Authentication and Security Layer. **{{scram|SCRAM}}** lets the server store hashed passwords (not {{plaintext|plaintext}}) while still proving knowledge โ€” modern best practice.', - 5: '**{{xmpp-resource|Resource binding}}** = the user\'s address gets a per-device suffix (`alice@example.com/phone` vs `/laptop`). Lets messages route to the right device.', - 7: '**{{xmpp-presence|`<presence/>`}}** = *I\'m online and available*. Other contacts subscribed to your {{xmpp-presence|presence}} get {{notification|notified}} โ€” the basis for buddy lists.', + 5: "**{{xmpp-resource|Resource binding}}** = the user's address gets a per-device suffix (`alice@example.com/phone` vs `/laptop`). Lets messages route to the right device.", + 7: "**{{xmpp-presence|`<presence/>`}}** = *I'm online and available*. Other contacts subscribed to your {{xmpp-presence|presence}} get {{notification|notified}} โ€” the basis for buddy lists.", 9: 'If `bob@serverb.com` is on a different server, this server connects to {{port|port}} 5269 ({{federation|server-to-server}}) and relays the message โ€” same as [[smtp|SMTP]] relay between {{mta|mail servers}}.' } }, @@ -663,10 +663,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[webrtc|WebRTC]]** = real-time video, audio, and data **directly between browsers**. The server only helps peers find each other ({{signaling|signaling}}) โ€” once connected, **media flows {{peer-to-peer|peer-to-peer}}** with no hop through your servers ({{w3c|W3C}} / {{ietf|IETF}}).', steps: { - 0: '**[[sdp|SDP]]** = Session Description Protocol. Peer A\'s offer lists the {{codec|codecs}} it supports, {{port|ports}}, {{encryption|encryption}} keys, and {{ice-candidate|ICE candidates}}.', - 1: 'Browsers can\'t talk directly until they know each other\'s addresses. Your {{signaling|signaling}} server (any transport โ€” [[websockets|WebSocket]] is typical) just forwards messages between them.', + 0: "**[[sdp|SDP]]** = Session Description Protocol. Peer A's offer lists the {{codec|codecs}} it supports, {{port|ports}}, {{encryption|encryption}} keys, and {{ice-candidate|ICE candidates}}.", + 1: "Browsers can't talk directly until they know each other's addresses. Your {{signaling|signaling}} server (any transport โ€” [[websockets|WebSocket]] is typical) just forwards messages between them.", 2: 'Peer B picks {{codec|codecs}} both sides support and replies with its own [[sdp|SDP]].', - 4: '**{{ice|ICE}}** = Interactive Connectivity Establishment. Each peer asks a **{{stun|STUN}}** server *what\'s my {{public-ip-address|public IP}} and {{port|port}}?* โ€” needed to traverse home-router {{nat|NAT}}.', + 4: "**{{ice|ICE}}** = Interactive Connectivity Establishment. Each peer asks a **{{stun|STUN}}** server *what's my {{public-ip-address|public IP}} and {{port|port}}?* โ€” needed to traverse home-router {{nat|NAT}}.", 5: 'Each {{ice-candidate|candidate}} is a possible address pair (host, server-reflexive, or {{turn|relayed}}). Both peers exchange them and try every combination, picking the one that works.', 7: 'Once a {{ice-candidate|candidate}} pair succeeds, the connection is direct between the browsers โ€” no media touches the server.', 8: '**{{srtp|SRTP}}** = Secure [[rtp|RTP]]. Audio and video frames flow with {{encryption|end-to-end encryption}}. Whether the server is online or not no longer matters.' @@ -720,11 +720,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[sip|SIP]]** = Session Initiation Protocol. The {{signaling|signaling}} that sets up {{voip|VoIP}} calls โ€” sounds like {{http-method|HTTP}}, looks like email addresses (`sip:bob@example.com`). Once a call is established, the actual audio/video flows separately over **[[rtp|RTP]]** ([[rfc:3261|RFC 3261]]).', steps: { - 0: '{{sip-register|REGISTER}} maps a [[sip|SIP]] address (`bob@example.com`) to the device\'s current {{ip-address|IP}}. The {{sip-registrar|registrar}} is how the {{sip-proxy|proxy}} knows where to ring Bob.', + 0: "{{sip-register|REGISTER}} maps a [[sip|SIP]] address (`bob@example.com`) to the device's current {{ip-address|IP}}. The {{sip-registrar|registrar}} is how the {{sip-proxy|proxy}} knows where to ring Bob.", 2: '{{sip-invite|INVITE}} is the call request. Body carries an [[sdp|SDP]] offer describing what audio/video the caller can send.', - 3: '{{sip-proxy|Proxy}} forwards to all of Bob\'s registered devices ({{sip-forking|*forking*}}) so every phone he owns can ring at once.', + 3: "{{sip-proxy|Proxy}} forwards to all of Bob's registered devices ({{sip-forking|*forking*}}) so every phone he owns can ring at once.", 4: '**{{sip-180-ringing|`180 Ringing`}}** = {{sip-provisional-response|provisional response}}: I got the {{sip-invite|INVITE}}, the user is being alerted. May arrive multiple times.', - 6: 'Bob picks up. **{{sip-200-ok|`200 OK`}} carries Bob\'s [[sdp|SDP]] answer**, completing the {{codec|codec}}/{{port|port}} negotiation.', + 6: "Bob picks up. **{{sip-200-ok|`200 OK`}} carries Bob's [[sdp|SDP]] answer**, completing the {{codec|codec}}/{{port|port}} negotiation.", 8: '**{{sip-ack|ACK}}** confirms the {{sip-200-ok|200}} was received. [[sip|SIP]] is {{request-response|request-response}} *except* for {{sip-invite|INVITE}}, which uses this {{three-way-handshake|3-way pattern}} to be safe over [[udp|UDP]].', 9: 'Now that {{signaling|signaling}} has agreed on {{codec|codecs}} and {{ip-address|IPs}}, media bypasses the {{sip-proxy|SIP proxy}} and flows phone-to-phone (typically as [[rtp|RTP]]).', 10: 'Either side sends {{sip-bye|BYE}} to hang up. Tears down the call cleanly.' @@ -753,7 +753,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 1: '**`.m3u8`** is a plain text playlist (the *master {{manifest|manifest}}*). Lists the variant playlists for each quality level.', 2: 'Player picks a starting quality based on initial {{bandwidth|bandwidth}} estimate.', 3: '**`.ts`** = {{mpeg-ts|MPEG-2 Transport Stream}} segment, ~6 seconds of video. Each is a standalone {{http-method|HTTP GET}} โ€” cacheable by any {{cdn|CDN}}.', - 7: 'Network slows down. The player measures throughput on each segment and notices it can\'t keep up at 1080p.', + 7: "Network slows down. The player measures throughput on each segment and notices it can't keep up at 1080p.", 8: 'Player switches to 720p for the *next* segment without breaking playback. Switches happen at {{abr-segment-switch|segment boundaries}}, so no buffer disruption.' } }, @@ -810,11 +810,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { B->>A: Media streams (RTP) begin Note over A,B: SDP negotiated codecs, ports, encryption`, caption: - '**[[sdp|SDP]]** = Session Description Protocol. A plain-text format that describes a media session โ€” codecs, ports, IPs, {{encryption|encryption}} keys. Used inside [[sip|SIP]] and [[webrtc|WebRTC]] to negotiate *what\'s about to be streamed* ([[rfc:8866|RFC 8866]]).', + "**[[sdp|SDP]]** = Session Description Protocol. A plain-text format that describes a media session โ€” codecs, ports, IPs, {{encryption|encryption}} keys. Used inside [[sip|SIP]] and [[webrtc|WebRTC]] to negotiate *what's about to be streamed* ([[rfc:8866|RFC 8866]]).", steps: { 1: 'Each line is `key=value`: **`v=0` ({{protocol|protocol}} version), `m=` (media: audio or video, {{port|port}}, {{codec|codec}} list), `c=`** (connection {{ip-address|IP}}), plus {{codec|codec}} parameters and {{encryption|crypto}}.', - 3: '[[sdp|SDP]] is transport-agnostic โ€” it doesn\'t carry itself, it rides inside something else ([[sip|SIP]] {{sip-invite|INVITE}} body, [[webrtc|WebRTC]] {{signaling|signaling}} channel).', - 5: '{{sdp-offer-answer|Offer/answer pattern}}: B picks {{codec|codecs}} from A\'s offer and returns only what both support. Negotiation is one {{rtt|round trip}}, no haggling.', + 3: "[[sdp|SDP]] is transport-agnostic โ€” it doesn't carry itself, it rides inside something else ([[sip|SIP]] {{sip-invite|INVITE}} body, [[webrtc|WebRTC]] {{signaling|signaling}} channel).", + 5: "{{sdp-offer-answer|Offer/answer pattern}}: B picks {{codec|codecs}} from A's offer and returns only what both support. Negotiation is one {{rtt|round trip}}, no haggling.", 10: 'Once [[sdp|SDP]] negotiation completes, both sides know which {{codec|codecs}} to use and where to send the bytes โ€” [[rtp|RTP]] {{packet|packets}} start flowing.' } }, @@ -841,7 +841,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[dash|DASH]]** = Dynamic Adaptive Streaming over {{http-method|HTTP}} ({{mpeg-org|MPEG}}, {{iso|ISO}} 23009-1). Same idea as [[hls|HLS]] โ€” segmented video at multiple bitrates over plain {{http-method|HTTP}} โ€” but **{{codec|codec}}-agnostic** and an open standard.', steps: { 0: '**`.mpd`** = {{mpd|Media Presentation Description}}, an [[xml|XML]] {{manifest|manifest}} describing the whole presentation hierarchy.', - 1: 'Hierarchy: {{dash-period|Period}} (a chapter) โ†’ {{dash-adaptation-set|AdaptationSet}} (a track: video, audio, subtitle) โ†’ {{dash-representation|Representation}} (a quality variant). Cleaner abstraction than [[hls|HLS]]\'s nested playlists.', + 1: "Hierarchy: {{dash-period|Period}} (a chapter) โ†’ {{dash-adaptation-set|AdaptationSet}} (a track: video, audio, subtitle) โ†’ {{dash-representation|Representation}} (a quality variant). Cleaner abstraction than [[hls|HLS]]'s nested playlists.", 3: '**`.m4s`** = {{fragmented-mp4|fragmented MP4}} segment. Standard {{isobmff|ISOBMFF}} container โ€” works with any {{codec|codec}} ({{h264|H.264}}, {{h265|H.265}}, {{vp9|VP9}}, {{av1|AV1}}).', 7: 'Player measures {{bandwidth|bandwidth}} on each segment download. Decision logic varies โ€” *throughput-based*, *buffer-based*, or hybrid ({{abr-bola|BOLA}}, dash.js default).', 11: '{{bandwidth|Bandwidth}} recovered โ†’ switch back up. Switches happen at {{abr-segment-switch|segment boundaries}}; the buffer continues seamlessly.' @@ -872,11 +872,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 0: 'Client asks its configured {{recursive-resolver|resolver}} (typically your ISP or a public one like `1.1.1.1` or `8.8.8.8`).', 1: 'First, the {{recursive-resolver|resolver}} checks its cache. Roughly 80% of real-world queries are answered here without a single network packet.', - 2: '{{iterative-resolution|Iterative resolution}}: the {{recursive-resolver|resolver}} walks the tree itself. Each {{nameserver|nameserver}} answers *go ask this other server*, not *here\'s the final answer*.', - 3: '{{root-server|Root servers}} don\'t know `example.com` โ€” they only know which servers run `.com`. Returns the {{ip-address|IP}} of a {{tld|TLD}} {{nameserver|nameserver}}.', - 5: '{{tld|TLD}} doesn\'t know the records either, just who\'s {{authoritative-nameserver|authoritative}} for `example.com` (set by the registrar at registration time).', + 2: "{{iterative-resolution|Iterative resolution}}: the {{recursive-resolver|resolver}} walks the tree itself. Each {{nameserver|nameserver}} answers *go ask this other server*, not *here's the final answer*.", + 3: "{{root-server|Root servers}} don't know `example.com` โ€” they only know which servers run `.com`. Returns the {{ip-address|IP}} of a {{tld|TLD}} {{nameserver|nameserver}}.", + 5: "{{tld|TLD}} doesn't know the records either, just who's {{authoritative-nameserver|authoritative}} for `example.com` (set by the registrar at registration time).", 7: '{{a-record|A record}} = the IPv4 address. Other {{dns-record-types|record types}}: {{aaaa-record|AAAA}} ([[ipv6|IPv6]]), {{mx-record|MX}} (mail), {{cname-record|CNAME}} (alias), {{txt-record|TXT}} (verification, SPF), {{ns-record|NS}} (delegation).', - 8: '{{recursive-resolver|Resolver}} caches the answer for the record\'s **{{ttl|TTL}}** (Time To Live). Subsequent queries for `example.com` return instantly.' + 8: "{{recursive-resolver|Resolver}} caches the answer for the record's **{{ttl|TTL}}** (Time To Live). Subsequent queries for `example.com` return instantly." } }, @@ -899,7 +899,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 1: '**{{client-hello|ClientHello}}** lists the {{cipher-suite|cipher suites}} the client supports plus a key share (its half of a {{diffie-hellman|Diffie-Hellman}} exchange). The keyshare bit is the [[tls|TLS]] 1.3 trick that saves a {{rtt|round trip}}.', 2: '**{{server-hello|ServerHello}}** picks one {{cipher-suite|cipher}} and sends its own key share. After this exchange, both sides can derive the shared secret โ€” the {{tls-handshake|handshake}} itself is now {{encryption|encrypted}}.', - 3: '**{{certificate|Certificate}}** proves the server is who it claims to be (signed by a trusted {{certificate-authority|CA}}). {{tls-certificate-verify|CertificateVerify}} signs the {{tls-handshake|handshake transcript}} with the cert\'s {{private-key|private key}} โ€” proves the server actually owns it.', + 3: "**{{certificate|Certificate}}** proves the server is who it claims to be (signed by a trusted {{certificate-authority|CA}}). {{tls-certificate-verify|CertificateVerify}} signs the {{tls-handshake|handshake transcript}} with the cert's {{private-key|private key}} โ€” proves the server actually owns it.", 4: '{{tls-finished|Finished}} is a {{hmac|MAC}} over the entire {{tls-handshake|handshake}} โ€” confirms nothing in the negotiation was tampered with.', 9: 'On reconnect, **{{zero-rtt|0-RTT}}** lets the client send data in its first {{packet|packet}} using a key derived from a previous {{session-resumption|session}}. Trades {{replay-attack|replay-attack}} resistance for one less {{rtt|round trip}}.' } @@ -925,10 +925,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[ssh|SSH]]** = Secure Shell. Encrypted remote shell, file transfer, and tunneling (Tatu Ylรถnen, 1995). **Diffie-Hellman key {{exchange|exchange}}** establishes a shared secret over an open network, **host key verification** stops {{man-in-the-middle|MITM}}, then user auth (public-key or password) grants access. Modern {{aead|AEAD}} ciphers ({{chacha20-poly1305|ChaCha20-Poly1305}}, {{aes-gcm|AES-GCM}}) protect every byte ([[rfc:4253|RFC 4253]]).', steps: { - 0: 'Both sides advertise their version string in {{plaintext|plaintext}}. Used to negotiate features and as input to the {{handshake|handshake}}\'s {{hmac|MAC}}.', + 0: "Both sides advertise their version string in {{plaintext|plaintext}}. Used to negotiate features and as input to the {{handshake|handshake}}'s {{hmac|MAC}}.", 3: '{{ssh-kex-init|KEX_INIT}} lists the algorithms each side supports for {{ssh-key-exchange|key exchange}}, {{ssh-host-key|host-key}}, {{encryption|encryption}}, {{hmac|MAC}}, and compression. Both sides pick the strongest mutual choice.', - 5: '{{diffie-hellman|Diffie-Hellman}} lets both sides derive a shared session key without ever sending it. An eavesdropper can\'t recover it even with the full transcript.', - 6: 'Server\'s {{ssh-host-key|host key}} identifies *this server* across reboots. The user\'s `known_hosts` file pins it โ€” that\'s the {{ssh-tofu|TOFU}} (trust on first use) prompt the first time you connect.', + 5: "{{diffie-hellman|Diffie-Hellman}} lets both sides derive a shared session key without ever sending it. An eavesdropper can't recover it even with the full transcript.", + 6: "Server's {{ssh-host-key|host key}} identifies *this server* across reboots. The user's `known_hosts` file pins it โ€” that's the {{ssh-tofu|TOFU}} (trust on first use) prompt the first time you connect.", 8: 'Authentication is separate from {{ssh-key-exchange|key exchange}}. Common methods: {{ssh-publickey-auth|`publickey`}} (your local [[ssh|SSH]] key), `password`, {{ssh-keyboard-interactive|`keyboard-interactive`}} (2FA prompts).', 11: '{{ssh-channels|Channels}} {{multiplexing|multiplex}} multiple sessions inside one [[ssh|SSH]] connection โ€” interactive shell, file transfer ({{sftp|SFTP}}), {{port-forwarding|port forwarding}}, all on the same [[tcp|TCP]] {{socket|socket}}.' } @@ -948,10 +948,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[dhcp|DHCP]]** = Dynamic Host Configuration Protocol. Plug a device into a network, it gets an {{ip-address|IP address}}, gateway, [[dns|DNS]], and {{subnet|subnet}} mask without manual config. The four messages spell **{{dora|DORA}}**: Discover, Offer, Request, Ack ([[rfc:2131|RFC 2131]]).', steps: { - 0: 'The device has no {{ip-address|IP}}, no gateway, no [[dns|DNS]] โ€” it can\'t even ask a specific server for help. The only thing it can do is **{{broadcast|broadcast}}**.', + 0: "The device has no {{ip-address|IP}}, no gateway, no [[dns|DNS]] โ€” it can't even ask a specific server for help. The only thing it can do is **{{broadcast|broadcast}}**.", 1: '{{dhcp-discover|DISCOVER}} is a {{broadcast|broadcast}} (`255.255.255.255` from `0.0.0.0`). Every [[dhcp|DHCP]] server on the {{lan|LAN}} can hear it; usually only one responds.', 2: 'Server {{dhcp-offer|OFFERs}} a specific {{ip-address|IP}} from its pool, with a {{dhcp-lease|lease}} duration. Multiple servers might offer โ€” the device picks one.', - 3: '{{dhcp-request|REQUEST}} confirms which {{dhcp-offer|offer}} the device accepted (also {{broadcast|broadcast}}, so other servers know to release their offers). Includes the chosen server\'s identifier.', + 3: "{{dhcp-request|REQUEST}} confirms which {{dhcp-offer|offer}} the device accepted (also {{broadcast|broadcast}}, so other servers know to release their offers). Includes the chosen server's identifier.", 4: '**{{dhcp-ack|ACK}}** confirms the {{dhcp-lease|lease}} and includes the network config: {{subnet|subnet}} mask, {{default-gateway|default gateway}}, [[dns|DNS]] servers, lease time. Device is now on the network.', 6: 'Devices try to renew at the halfway point (`T1`). If renewal fails, they try again at `T2` (~87.5%). If still nothing, they {{dhcp-discover|DISCOVER}} again before the {{dhcp-lease|lease}} expires.' } @@ -971,14 +971,14 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { Note over C,S: Offset = ((T2-T1)+(T3-T4))/2 Note over C,S: Multiple samples โ€” accuracy within 1-10ms`, caption: - '**[[ntp|NTP]]** = Network Time Protocol ([[pioneer:david-mills|David L. Mills]], 1985). Keeps every device\'s clock within milliseconds of true time โ€” the foundation of logs, [[tls|TLS]] {{certificate|certificates}}, and distributed systems. The trick is **four timestamps per {{exchange|exchange}}** (T1/T2/T3/T4) which cancel out network {{latency|latency}} and recover the one-way {{offset|offset}}. Runs over [[udp|UDP]]/123; modern hardening via **{{nts|NTS}}** (Network Time Security, [[rfc:8915|RFC 8915]]).', + "**[[ntp|NTP]]** = Network Time Protocol ([[pioneer:david-mills|David L. Mills]], 1985). Keeps every device's clock within milliseconds of true time โ€” the foundation of logs, [[tls|TLS]] {{certificate|certificates}}, and distributed systems. The trick is **four timestamps per {{exchange|exchange}}** (T1/T2/T3/T4) which cancel out network {{latency|latency}} and recover the one-way {{offset|offset}}. Runs over [[udp|UDP]]/123; modern hardening via **{{nts|NTS}}** (Network Time Security, [[rfc:8915|RFC 8915]]).", steps: { - 0: 'Crystal oscillators {{clock-drift|drift}} โ€” even good ones gain or lose seconds per day. Without [[ntp|NTP]], your machine\'s clock would be hours off after a few months.', + 0: "Crystal oscillators {{clock-drift|drift}} โ€” even good ones gain or lose seconds per day. Without [[ntp|NTP]], your machine's clock would be hours off after a few months.", 1: 'Client records **`T1`** when it sends the request. T1 travels in the packet.', 2: 'Server stamps **`T2` when the request arrives, then `T3`** when the reply leaves.', 3: 'Reply carries all three timestamps. Client records **`T4`** on receive.', 7: '{{offset|Offset}} = ((T2โˆ’T1) + (T3โˆ’T4)) / 2. The math cancels out one-way network {{latency|latency}} on the assumption that send and receive paths take roughly equal time.', - 8: 'Several samples are gathered. {{marzullos-algorithm|Marzullo\'s algorithm}} discards outliers and picks the most accurate โ€” typical accuracy is 1โ€“10 ms on a {{lan|LAN}}.' + 8: "Several samples are gathered. {{marzullos-algorithm|Marzullo's algorithm}} discards outliers and picks the most accurate โ€” typical accuracy is 1โ€“10 ms on a {{lan|LAN}}." } }, @@ -1001,7 +1001,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 0: '**{{ehlo|EHLO}}** = Extended HELLO (introduces the client). **{{starttls|STARTTLS}}** upgrades the {{plaintext|plaintext}} connection to [[tls|TLS]] โ€” modern {{mta|MTAs}} require it.', 1: 'Server replies with the capabilities it supports ({{pipelining|PIPELINING}}, AUTH methods, max message size, etc.) โ€” discovered, not assumed.', 2: 'Three commands send the {{smtp-envelope|envelope}}: **`MAIL FROM` (sender), `RCPT TO` (recipient), `DATA`** (the actual message body, ending with a `.` on its own line).', - 4: 'Sender\'s {{mta|MTA}} looks up the recipient domain\'s **{{mx-record|MX record}}** in [[dns|DNS]] โ€” the address of the receiving {{mta|MTA}}. *That\'s how mail finds its destination.*', + 4: "Sender's {{mta|MTA}} looks up the recipient domain's **{{mx-record|MX record}}** in [[dns|DNS]] โ€” the address of the receiving {{mta|MTA}}. *That's how mail finds its destination.*", 5: 'Same {{ehlo|EHLO}}/MAIL/RCPT/DATA dance, just {{mta|MTA}}-to-{{mta|MTA}}. The message can {{hop|hop}} through several relays before reaching the final mailbox.', 6: '[[smtp|SMTP]] only delivers. To *read* the mail, the recipient uses **[[imap|IMAP]]** or **{{pop3|POP3}}** (or a webmail UI on top).', 7: '**{{store-and-forward|Store-and-forward}}** means each {{mta|MTA}} accepts full responsibility for the message โ€” if the next {{hop|hop}} is down, it queues and retries.' @@ -1084,8 +1084,8 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[bgp|BGP]]** = Border Gateway Protocol ([[pioneer:yakov-rekhter|Yakov Rekhter]] et al., 1989). The protocol that holds the internet together โ€” routers in different **{{autonomous-system|Autonomous Systems}}** (ISPs, big companies) tell each other which {{ip-address|IP}} ranges they can reach. Path-vector design: every advertisement carries the {{as-path|AS_PATH}} for loop detection and policy. Crypto-secured by {{rpki|RPKI}} since 2008 ([[rfc:4271|RFC 4271]]).', steps: { - 0: 'Runs over [[tcp|TCP]] port 179 between two router neighbors that have been manually configured to {{peering|peer}} with each other. There\'s no auto-discovery on the public internet.', - 1: '{{autonomous-system|AS = Autonomous System}}: one organization\'s network, identified by a number ({{asn|ASN}}). {{bgp-open|OPEN}} carries this AS number plus a {{hold-timer|hold timer}} โ€” how long to wait without a {{bgp-keepalive|keepalive}} before declaring the peer dead.', + 0: "Runs over [[tcp|TCP]] port 179 between two router neighbors that have been manually configured to {{peering|peer}} with each other. There's no auto-discovery on the public internet.", + 1: "{{autonomous-system|AS = Autonomous System}}: one organization's network, identified by a number ({{asn|ASN}}). {{bgp-open|OPEN}} carries this AS number plus a {{hold-timer|hold timer}} โ€” how long to wait without a {{bgp-keepalive|keepalive}} before declaring the peer dead.", 3: '{{bgp-keepalive|KEEPALIVE}} is a tiny heartbeat โ€” proves the peer is alive even when nothing is changing.', 6: '{{bgp-update|UPDATE}} announces a route: *I can reach `192.168.0.0/16` โ€” send packets to me.* Includes the {{as-path|AS_PATH}} showing every {{autonomous-system|AS}} the announcement traveled through (loop prevention).', 9: 'Quiet links still need {{bgp-keepalive|keepalives}} every ~30s so peers know each other are alive.', @@ -1110,14 +1110,14 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { T->>S: Echo Reply โ€” destination reached Note over S,T: Each hop revealed by TTL expiry`, caption: - '**[[icmp|ICMP]]** = Internet Control Message Protocol ([[pioneer:jon-postel|Jon Postel]], 1981). The internet\'s diagnostic and error-reporting layer, riding directly on [[ip|IP]] (protocol 1). **`{{ping|ping}}`** measures {{rtt|round-trip time}} via {{echo-request|Echo Request}} / {{echo-reply|Echo Reply}}; **`{{traceroute|traceroute}}`** maps the path by sending packets with increasing **{{ttl|TTL}}** and reading the Time-Exceeded replies from each {{hop|hop}}. {{path-mtu-discovery|PMTUD}} uses {{fragmentation|Fragmentation}}-Needed [[icmp|ICMP]] to negotiate the path {{mtu|MTU}} ([[rfc:792|RFC 792]]).', + "**[[icmp|ICMP]]** = Internet Control Message Protocol ([[pioneer:jon-postel|Jon Postel]], 1981). The internet's diagnostic and error-reporting layer, riding directly on [[ip|IP]] (protocol 1). **`{{ping|ping}}`** measures {{rtt|round-trip time}} via {{echo-request|Echo Request}} / {{echo-reply|Echo Reply}}; **`{{traceroute|traceroute}}`** maps the path by sending packets with increasing **{{ttl|TTL}}** and reading the Time-Exceeded replies from each {{hop|hop}}. {{path-mtu-discovery|PMTUD}} uses {{fragmentation|Fragmentation}}-Needed [[icmp|ICMP]] to negotiate the path {{mtu|MTU}} ([[rfc:792|RFC 792]]).", steps: { 1: '{{echo-request|Echo Request}} = {{ping|ping}}. Type 8, identifier + {{sequence-number|sequence number}}, optional payload (helpful to detect {{mtu|MTU}} issues if you fill it with bytes).', - 2: '{{echo-reply|Echo Reply}} = pong. Type 0, copies the request\'s identifier and seq back so you can pair them. The time difference is your {{rtt|round-trip time}}.', + 2: "{{echo-reply|Echo Reply}} = pong. Type 0, copies the request's identifier and seq back so you can pair them. The time difference is your {{rtt|round-trip time}}.", 6: '**{{ttl|TTL}}** = Time To Live. Decrements by 1 at every router. Setting TTL=1 guarantees the very first router will drop the packet.', - 7: 'When {{ttl|TTL}} hits 0, the dropping router sends back an [[icmp|ICMP]] {{time-exceeded|Time Exceeded}} with its own {{ip-address|IP}}. Now you know {{hop|hop}} #1\'s address.', - 8: 'Increment {{ttl|TTL}} โ†’ next {{hop|hop}} drops it โ†’ next hop\'s address revealed. Walk all the way to the destination this way.', - 9: 'Eventually {{ttl|TTL}} is high enough to reach the target โ€” you get an {{echo-reply|Echo Reply}} instead of {{time-exceeded|Time Exceeded}}. That\'s how {{traceroute|traceroute}} knows it\'s done.' + 7: "When {{ttl|TTL}} hits 0, the dropping router sends back an [[icmp|ICMP]] {{time-exceeded|Time Exceeded}} with its own {{ip-address|IP}}. Now you know {{hop|hop}} #1's address.", + 8: "Increment {{ttl|TTL}} โ†’ next {{hop|hop}} drops it โ†’ next hop's address revealed. Walk all the way to the destination this way.", + 9: "Eventually {{ttl|TTL}} is high enough to reach the target โ€” you get an {{echo-reply|Echo Reply}} instead of {{time-exceeded|Time Exceeded}}. That's how {{traceroute|traceroute}} knows it's done." } }, @@ -1147,11 +1147,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 1: '**[[arp|ARP]]** asks *who has {{ip-address|IP}} `192.168.1.50`?* โ€” sent as an [[ethernet|Ethernet]] {{broadcast|broadcast}} (destination {{mac-address|MAC}} `FF:FF:FF:FF:FF:FF`).', 2: 'Switch floods {{broadcast|broadcasts}} to every port โ€” it has no choice; the destination {{mac-address|MAC}} is unknown and the request must reach everyone.', - 3: 'Host B replies with its {{mac-address|MAC}} (`00:1B:2C:3D:4E:5F`). The reply is {{unicast|unicast}} โ€” it has Host A\'s {{mac-address|MAC}} from the request.', - 4: 'Switch sees this reply pass through and learns: Host B\'s {{mac-address|MAC}} is on Port 3. From now on, {{frame|frames}} to that {{mac-address|MAC}} don\'t need flooding.', + 3: "Host B replies with its {{mac-address|MAC}} (`00:1B:2C:3D:4E:5F`). The reply is {{unicast|unicast}} โ€” it has Host A's {{mac-address|MAC}} from the request.", + 4: "Switch sees this reply pass through and learns: Host B's {{mac-address|MAC}} is on Port 3. From now on, {{frame|frames}} to that {{mac-address|MAC}} don't need flooding.", 5: '{{mac-table|MAC table}}: a per-port mapping of source {{mac-address|MACs}} the switch has observed. Entries time out after a few minutes if unused.', - 7: 'Host A sends an [[ethernet|Ethernet]] {{frame|frame}} addressed to Host B\'s {{mac-address|MAC}}. The {{ip-address|IP}} packet is the *{{payload|payload}}*.', - 8: 'Switch checks its {{mac-table|MAC table}} โ†’ Port 3 โ†’ forwards only to Port 3. Other ports never see this {{frame|frame}}. That\'s the difference between a switch and a hub.' + 7: "Host A sends an [[ethernet|Ethernet]] {{frame|frame}} addressed to Host B's {{mac-address|MAC}}. The {{ip-address|IP}} packet is the *{{payload|payload}}*.", + 8: "Switch checks its {{mac-table|MAC table}} โ†’ Port 3 โ†’ forwards only to Port 3. Other ports never see this {{frame|frame}}. That's the difference between a switch and a hub." } }, @@ -1179,10 +1179,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**WiFi** = wireless [[ethernet|Ethernet]] ({{ieee-802-15-4|IEEE}} [[wifi|802.11]]). After discovering the network, the device authenticates and associates, then runs the **{{wpa2|WPA2}} 4-way {{handshake|handshake}}** to derive {{encryption|encryption}} keys. Wireless frames are then bridged to the wired {{lan|LAN}} by the **{{ap-access-point|AP}}** ({{access-point|Access Point}}).', steps: { - 1: '{{beacon|Beacon}} = the {{access-point|AP}}\'s {{broadcast|broadcast}} announcement, ~10ร— per second. Carries the {{ssid|SSID}} (network name), supported rates, security mode, and capabilities.', - 2: '{{authentication-frame|Legacy step}} (predates {{wpa2|WPA}}): used to allow shared-key auth in WEP. Today it\'s just a formality โ€” security happens in the {{wpa2-handshake|4-way handshake}}.', + 1: "{{beacon|Beacon}} = the {{access-point|AP}}'s {{broadcast|broadcast}} announcement, ~10ร— per second. Carries the {{ssid|SSID}} (network name), supported rates, security mode, and capabilities.", + 2: "{{authentication-frame|Legacy step}} (predates {{wpa2|WPA}}): used to allow shared-key auth in WEP. Today it's just a formality โ€” security happens in the {{wpa2-handshake|4-way handshake}}.", 4: '{{association-request|Association}} is the actual *I want to use this network* request. {{access-point|AP}} assigns the device an **{{aid|AID}}** (Association ID, 1โ€“2007).', - 7: '{{anonce|ANonce}} = the {{access-point|AP}}\'s random {{nonce|number}}. Combined with both {{mac-address|MAC addresses}} + the pre-shared key (passphrase, {{pmk|PMK}}), it generates the session key.', + 7: "{{anonce|ANonce}} = the {{access-point|AP}}'s random {{nonce|number}}. Combined with both {{mac-address|MAC addresses}} + the pre-shared key (passphrase, {{pmk|PMK}}), it generates the session key.", 8: 'Client picks its own {{snonce|SNonce}} and computes the session key (**{{ptk|PTK}}**). {{mic|MIC}} (Message Integrity Code) over the message proves it knew the passphrase.', 9: '{{access-point|AP}} shares the **{{gtk|GTK}}** = Group Temporal Key, used for encrypting {{broadcast|broadcast}}/{{multicast|multicast}} {{frame|frames}} so all clients can decrypt them.', 12: '{{frame|Frames}} between client and {{access-point|AP}} are now {{encryption|encrypted}} with the {{ptk|PTK}}. Anyone listening on the air sees only ciphertext.', @@ -1211,8 +1211,8 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 1: '{{arp-cache|ARP cache}} stores recent {{ip-address|IP}}โ†’{{mac-address|MAC}} mappings. A miss means we have to ask the network.', 2: 'Sent as a **{{broadcast|broadcast}}** โ€” destination {{mac-address|MAC}} `FF:FF:FF:FF:FF:FF`. Every device on the {{lan|LAN}} receives and processes it.', - 5: 'Only the matching host replies, **{{unicast|unicast}}** to the asker\'s {{mac-address|MAC}}. {{arp-reply|Reply}} carries the answer in the sender hardware/protocol fields.', - 8: 'Now Host A wraps its {{ip-address|IP}} packet in an [[ethernet|Ethernet]] {{frame|frame}} addressed to Host B\'s {{mac-address|MAC}}. The two hosts can finally exchange real data.', + 5: "Only the matching host replies, **{{unicast|unicast}}** to the asker's {{mac-address|MAC}}. {{arp-reply|Reply}} carries the answer in the sender hardware/protocol fields.", + 8: "Now Host A wraps its {{ip-address|IP}} packet in an [[ethernet|Ethernet]] {{frame|frame}} addressed to Host B's {{mac-address|MAC}}. The two hosts can finally exchange real data.", 11: '{{arp-cache|ARP entries}} time out in 1โ€“5 minutes (OS-dependent) so {{mac-address|MAC-address}} changes (new NIC, {{ip-address|IP}} reassigned) get re-learned.' } }, @@ -1235,7 +1235,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[ip|IP]]** = Internet Protocol ([[pioneer:vint-cerf|Vint Cerf]] + [[pioneer:bob-kahn|Bob Kahn]], 1974; [[pioneer:jon-postel|Jon Postel]] editor). Routes packets across networks, {{hop|hop}} by {{hop|hop}}, with a 32-bit address space and best-effort delivery โ€” every higher-layer reliability ([[tcp|TCP]], [[quic|QUIC]], [[sctp|SCTP]]) is built on top. The crucial insight: **{{ip-address|IP source/destination}} stay the same end-to-end**, while **{{mac-address|MAC addresses}} change at every router** ([[rfc:791|RFC 791]]).', steps: { - 1: 'Source sends to its **{{default-gateway|default gateway}}** (the router). Destination {{mac-address|MAC}} is the router\'s MAC; destination {{ip-address|IP}} is the *final* destination.', + 1: "Source sends to its **{{default-gateway|default gateway}}** (the router). Destination {{mac-address|MAC}} is the router's MAC; destination {{ip-address|IP}} is the *final* destination.", 2: 'Router looks at the {{ip-address|IP}} destination, checks its **{{routing-table|routing table}}** โ€” *which interface goes toward `93.184.216.34`?*', 3: '**{{ttl|TTL}}** decrements by 1 at every router. Hits 0 โ†’ packet dropped, [[icmp|ICMP]] {{time-exceeded|Time Exceeded}} sent back. Stops infinite loops.', 5: 'Same packet leaves the router with new {{mac-address|MAC addresses}} for the next link, but same {{ip-address|IP addresses}} for the original endpoints.', @@ -1292,10 +1292,10 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[ipv6|IPv6]]** = the next-generation {{ip-address|IP}}. **128-bit addresses** (so many that {{nat|NAT}} becomes unnecessary), a fixed 40-byte header, and built-in autoconfiguration. {{ndp|NDP}} replaces [[arp|ARP]] using [[ipv6|IPv6]] {{multicast|multicast}} ([[rfc:8200|RFC 8200]]).', steps: { 1: '{{router-solicitation|Router Solicitation}} asks any router on the link to advertise itself. {{icmpv6|ICMPv6}} type 133, sent to the all-routers {{multicast|multicast}} address (`ff02::2`).', - 2: '{{router-advertisement|Router Advertisement}} carries the network\'s `/64` prefix. The host builds its own address by combining the prefix with its {{interface-id|interface ID}} โ€” no [[dhcp|DHCP]] needed (**{{slaac|SLAAC}}**).', - 4: '**{{ndp|NDP}}** = Neighbor Discovery Protocol. Instead of [[arp|ARP]]\'s full {{broadcast|broadcast}}, {{ndp|NDP}} uses {{solicited-node-multicast|solicited-node multicast}} โ€” only hosts whose {{ip-address|IP}} ends in `::1ff00:1` listen, dramatically reducing noise.', - 6: '[[ipv6|IPv6]]\'s header is fixed at 40 bytes with optional extension headers. [[ip|IPv4]]\'s variable header forced every router to do header parsing โ€” [[ipv6|IPv6]] is faster on average.', - 7: '**`{{hop-limit|Hop Limit}}` is [[ipv6|IPv6]]\'s {{ttl|TTL}} (decrements per router). `Next Header` chains optional extensions and identifies the upper protocol. No header {{checksum|checksum}}** โ€” [[udp|UDP]]/[[tcp|TCP]]/L2 already check, so no need.', + 2: "{{router-advertisement|Router Advertisement}} carries the network's `/64` prefix. The host builds its own address by combining the prefix with its {{interface-id|interface ID}} โ€” no [[dhcp|DHCP]] needed (**{{slaac|SLAAC}}**).", + 4: "**{{ndp|NDP}}** = Neighbor Discovery Protocol. Instead of [[arp|ARP]]'s full {{broadcast|broadcast}}, {{ndp|NDP}} uses {{solicited-node-multicast|solicited-node multicast}} โ€” only hosts whose {{ip-address|IP}} ends in `::1ff00:1` listen, dramatically reducing noise.", + 6: "[[ipv6|IPv6]]'s header is fixed at 40 bytes with optional extension headers. [[ip|IPv4]]'s variable header forced every router to do header parsing โ€” [[ipv6|IPv6]] is faster on average.", + 7: "**`{{hop-limit|Hop Limit}}` is [[ipv6|IPv6]]'s {{ttl|TTL}} (decrements per router). `Next Header` chains optional extensions and identifies the upper protocol. No header {{checksum|checksum}}** โ€” [[udp|UDP]]/[[tcp|TCP]]/L2 already check, so no need.", 9: 'Same {{ip-address|IP}} packet, new {{mac-address|MACs}} at every {{hop|hop}} โ€” same hop-by-hop pattern as [[ip|IPv4]].', 12: '`2^128` โ‰ˆ 340 undecillion addresses. Enough that every device gets a globally unique {{ip-address|address}} โ€” **{{nat|NAT}}** becomes a security choice, not a necessity.' } @@ -1354,12 +1354,12 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[kerberos|Kerberos]]** = three-headed dog: Client, **{{kerberos-kdc|KDC}}** (Key Distribution Center, split into AS + TGS), and Service. Two {{encryption|encrypted}} blobs per ticket, **zero passwords on the wire**. Time-bounded **{{kerberos-tgt|TGT}}** (Ticket Granting Ticket) gates further service tickets so the password is only used once per session. Designed at {{mit|MIT}} Project Athena (1983โ€“1991), [[rfc:4120|RFC 4120]] (2005). Powers every {{microsoft|Active Directory}} domain on Earth.', steps: { - 0: 'Alice wants to log in. She sends an {{kerberos-as-req|AS-REQ}} to the {{kerberos-kdc|Key Distribution Center}}\'s Authentication Service with her {{kerberos-principal|principal}} name and a {{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}} โ€” a fresh timestamp {{encryption|encrypted}} under her long-term key โ€” proving she knows the password before the {{kerberos-kdc|KDC}} bothers responding.', - 1: '{{kerberos-as-rep|AS-REP}} carries two things: a {{kerberos-tgt|Ticket Granting Ticket}} {{encryption|encrypted}} under the {{kerberos-krbtgt|krbtgt}} {{kerberos-principal|principal}}\'s key (only the {{kerberos-kdc|KDC}} can decrypt it later), and the session key encrypted under Alice\'s long-term key (only Alice can decrypt). Alice never sends her password.', - 3: 'For each service Alice wants to use, she sends a {{kerberos-tgs-req|TGS-REQ}} to the {{kerberos-kdc|KDC}}\'s {{kerberos-tgs|Ticket Granting Service}}: her {{kerberos-tgt|TGT}} (proves who she is) + a fresh {{kerberos-authenticator|authenticator}} {{encryption|encrypted}} under her {{kerberos-tgt|TGT}}\'s session key (proves she just got it).', - 4: '{{kerberos-tgs-rep|TGS-REP}} returns a {{kerberos-service-ticket|service ticket}} {{encryption|encrypted}} under web1\'s long-term key (so only web1 can decrypt it), plus the new clientโ†”service session key encrypted under the {{kerberos-tgt|TGT}}\'s session key (so only Alice can decrypt it).', - 6: '{{kerberos-ap-req|AP-REQ}} โ€” Alice connects to web1 and presents the {{kerberos-service-ticket|service ticket}} plus a fresh {{kerberos-authenticator|authenticator}}. The service ticket carries Alice\'s identity inside the {{encryption|encrypted}} blob; web1 doesn\'t need to talk to the {{kerberos-kdc|KDC}} to verify.', - 7: 'web1 decrypts the ticket with its {{kerberos-keytab|keytab}} key, extracts K_svc, decrypts the {{kerberos-authenticator|authenticator}}. If `ctime` is within ยฑ5 minutes of web1\'s clock and the authenticator hasn\'t been seen before, Alice is authenticated.', + 0: "Alice wants to log in. She sends an {{kerberos-as-req|AS-REQ}} to the {{kerberos-kdc|Key Distribution Center}}'s Authentication Service with her {{kerberos-principal|principal}} name and a {{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}} โ€” a fresh timestamp {{encryption|encrypted}} under her long-term key โ€” proving she knows the password before the {{kerberos-kdc|KDC}} bothers responding.", + 1: "{{kerberos-as-rep|AS-REP}} carries two things: a {{kerberos-tgt|Ticket Granting Ticket}} {{encryption|encrypted}} under the {{kerberos-krbtgt|krbtgt}} {{kerberos-principal|principal}}'s key (only the {{kerberos-kdc|KDC}} can decrypt it later), and the session key encrypted under Alice's long-term key (only Alice can decrypt). Alice never sends her password.", + 3: "For each service Alice wants to use, she sends a {{kerberos-tgs-req|TGS-REQ}} to the {{kerberos-kdc|KDC}}'s {{kerberos-tgs|Ticket Granting Service}}: her {{kerberos-tgt|TGT}} (proves who she is) + a fresh {{kerberos-authenticator|authenticator}} {{encryption|encrypted}} under her {{kerberos-tgt|TGT}}'s session key (proves she just got it).", + 4: "{{kerberos-tgs-rep|TGS-REP}} returns a {{kerberos-service-ticket|service ticket}} {{encryption|encrypted}} under web1's long-term key (so only web1 can decrypt it), plus the new clientโ†”service session key encrypted under the {{kerberos-tgt|TGT}}'s session key (so only Alice can decrypt it).", + 6: "{{kerberos-ap-req|AP-REQ}} โ€” Alice connects to web1 and presents the {{kerberos-service-ticket|service ticket}} plus a fresh {{kerberos-authenticator|authenticator}}. The service ticket carries Alice's identity inside the {{encryption|encrypted}} blob; web1 doesn't need to talk to the {{kerberos-kdc|KDC}} to verify.", + 7: "web1 decrypts the ticket with its {{kerberos-keytab|keytab}} key, extracts K_svc, decrypts the {{kerberos-authenticator|authenticator}}. If `ctime` is within ยฑ5 minutes of web1's clock and the authenticator hasn't been seen before, Alice is authenticated.", 8: '{{kerberos-ap-rep|AP-REP}} โ€” web1 returns an {{encryption|encrypted}} timestamp proving it also knows K_svc. This is {{mtls|mutual authentication}}: Alice now knows web1 is real (not an impostor with a stolen {{kerberos-tgt|TGT}}).' } }, @@ -1400,8 +1400,8 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 0: 'Random Access โ€” {{ue|UE}} chose a cell from {{ssb|SSB}} measurements, sent a {{prach|PRACH}} preamble (Msg1). {{gnb|Base station}} replied with a Random Access Response (Msg2) carrying timing advance and a temporary identifier ({{c-rnti|C-RNTI}}).', 2: '{{ue|UE}} sends RRCSetupRequest with an establishment cause. {{gnb|Base station}} responds with RRCSetup. UE now has SRB1 (signalling radio bearer) but no security yet โ€” {{rrc|RRC}} signalling is established but unprotected.', - 4: 'Registration Request carries the {{suci|SUCI}} โ€” the [[ip|IP]] address of every cell phone\'s long-term identity ({{supi|SUPI}}), encrypted with the home network\'s public key (ECIES Profile A on Curve25519 โ€” never sent in clear).', - 6: '{{5g-aka|5G-AKA}} โ€” {{amf|AMF}} asks {{ausf|AUSF}}, AUSF asks {{udm|UDM}}. The UDM\'s SIDF decrypts {{suci|SUCI}} โ†’ {{supi|SUPI}}, generates an authentication vector. RAND/AUTN traverse all the way down to the {{ue|UE}}. The {{sim-usim|USIM}} checks AUTN.MAC against `f1(K, SQN, RAND)`, computes RES* via `KDF(CK || IK)`. AUSF compares RES* to HRES*. Mutual authentication achieved.', + 4: "Registration Request carries the {{suci|SUCI}} โ€” the [[ip|IP]] address of every cell phone's long-term identity ({{supi|SUPI}}), encrypted with the home network's public key (ECIES Profile A on Curve25519 โ€” never sent in clear).", + 6: "{{5g-aka|5G-AKA}} โ€” {{amf|AMF}} asks {{ausf|AUSF}}, AUSF asks {{udm|UDM}}. The UDM's SIDF decrypts {{suci|SUCI}} โ†’ {{supi|SUPI}}, generates an authentication vector. RAND/AUTN traverse all the way down to the {{ue|UE}}. The {{sim-usim|USIM}} checks AUTN.MAC against `f1(K, SQN, RAND)`, computes RES* via `KDF(CK || IK)`. AUSF compares RES* to HRES*. Mutual authentication achieved.", 8: '{{nas|NAS}} Security Mode โ€” {{amf|AMF}} picks ciphering (typically 128-NEA2 = AES-CTR) and integrity (128-NIA2 = AES-CMAC). From here every NAS message is integrity-protected and ciphered with K_NASint / K_NASenc.', 10: 'Registration Accept carries the assigned {{guti|5G-GUTI}} (the temporary identity the {{ue|UE}} will use until next rekey) and the allowed {{nssai|NSSAI}} (network slices).', 12: '{{ue|UE}} requests a {{pdu-session|PDU Session}} โ€” what the rest of the world would call "give me an [[ip|IP]] address." {{dnn|DNN}} ("internet"), session type (IPv4v6), requested {{nssai|S-NSSAI}}.', @@ -1463,9 +1463,9 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[wireguard|WireGuard]]** = one round-trip Noise_IKpsk2 {{handshake|handshake}} โ†’ encrypted [[ip|IP]] packets over [[udp|UDP]]. Exactly four message types, exactly one ciphersuite (`Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s`). Designed by [[pioneer:jason-donenfeld|Jason Donenfeld]] (2015โ€“2016), mainlined in {{linux|Linux}} 5.6 (29 March 2020).', steps: { - 0: 'Before any traffic flows, each {{peer|peer}} already knows the other\'s 32-byte {{curve25519|Curve25519}} {{public-key|public key}}. There is no {{certificate|certificate}} exchange, no {{pki|PKI}}, no negotiation. The {{public-key|public key}} *is* the identity.', - 1: '{{wg-handshake-initiation|Handshake Initiation}} (type=1) โ€” 148 bytes. Carries the initiator\'s {{wg-ephemeral-key|ephemeral pubkey}}, an {{aead|AEAD}}-{{encryption|encrypted}} copy of its static {{public-key|pubkey}} (hides sender identity from passive observers), and a {{wg-tai64n|TAI64N}} timestamp. {{wg-mac1|`MAC1`}} proves the initiator knows the responder\'s {{public-key|pubkey}} (anti-amplification). {{wg-mac2|`MAC2`}} is a cookie under DoS load.', - 3: '{{wg-handshake-response|Handshake Response}} (type=2) โ€” 92 bytes. The responder\'s {{wg-ephemeral-key|ephemeral pubkey}}, an {{aead|AEAD}}-{{encryption|encrypted}} empty payload (proves key agreement), and the same {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}} pair. Completes the four-{{diffie-hellman|DH}} {{noise-ik|Noise_IK}} pattern (plus optional {{psk|PSK}} mix).', + 0: "Before any traffic flows, each {{peer|peer}} already knows the other's 32-byte {{curve25519|Curve25519}} {{public-key|public key}}. There is no {{certificate|certificate}} exchange, no {{pki|PKI}}, no negotiation. The {{public-key|public key}} *is* the identity.", + 1: "{{wg-handshake-initiation|Handshake Initiation}} (type=1) โ€” 148 bytes. Carries the initiator's {{wg-ephemeral-key|ephemeral pubkey}}, an {{aead|AEAD}}-{{encryption|encrypted}} copy of its static {{public-key|pubkey}} (hides sender identity from passive observers), and a {{wg-tai64n|TAI64N}} timestamp. {{wg-mac1|`MAC1`}} proves the initiator knows the responder's {{public-key|pubkey}} (anti-amplification). {{wg-mac2|`MAC2`}} is a cookie under DoS load.", + 3: "{{wg-handshake-response|Handshake Response}} (type=2) โ€” 92 bytes. The responder's {{wg-ephemeral-key|ephemeral pubkey}}, an {{aead|AEAD}}-{{encryption|encrypted}} empty payload (proves key agreement), and the same {{wg-mac1|MAC1}}/{{wg-mac2|MAC2}} pair. Completes the four-{{diffie-hellman|DH}} {{noise-ik|Noise_IK}} pattern (plus optional {{psk|PSK}} mix).", 4: 'Both sides now hold matching **{{chacha20-poly1305|ChaCha20-Poly1305}}** sending and receiving keys, derived from a chaining key via {{kdf|HKDF}}. The chaining key is wiped from memory โ€” there is no "session state" beyond the {{symmetric-encryption|symmetric keys}}.', 5: '{{wg-transport-data|Transport Data}} (type=4) โ€” every inner [[ip|IP]] {{packet|packet}} is wrapped in a 16-byte [[wireguard|WireGuard]] {{header|header}} (type, receiver-index, 64-bit counter) plus the {{aead|AEAD}} ciphertext + 16-byte {{poly1305|Poly1305}} tag. The counter doubles as the {{aead|AEAD}} {{nonce|nonce}} *and* the {{anti-replay|anti-replay}} {{sequence-number|sequence number}}.', 7: '**`REKEY_AFTER_TIME` = 120 s forces a fresh {{handshake|handshake}}. Old keys are wiped. Per-message {{forward-secrecy|forward secrecy}} within a session, per-handshake {{forward-secrecy|forward secrecy}}** across sessions. Silent {{peer|peers}} are torn down at `REJECT_AFTER_TIME = 180 s`.', @@ -1495,7 +1495,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { caption: '**[[ipsec|IPsec]]** = network-layer cryptographic envelope. **{{ikev2|IKEv2}}** negotiates keys ([[rfc:7296|RFC 7296]]); **{{esp|ESP}}** carries encrypted/authenticated [[ip|IP]] packets ([[rfc:4303|RFC 4303]]). Two round trips bring a tunnel up; **{{ipsec-create-child-sa|CREATE_CHILD_SA}}** rekeys before the lifetime expires.', steps: { - 0: '{{ipsec-ike-sa-init|IKE_SA_INIT}} is the first exchange โ€” no {{encryption|encryption}} yet because keys don\'t exist. The initiator proposes a {{cipher-suite|cipher suite}}, sends its {{diffie-hellman|Diffie-Hellman}} / {{ecdh|ECDH}} / {{ml-kem|ML-KEM}} {{public-key|public key}}, a random {{nonce|Nonce}}, and {{ipsec-nat-detection|NAT_DETECTION}} hashes that detect whether either {{peer|peer}} is behind {{nat|NAT}}.', + 0: "{{ipsec-ike-sa-init|IKE_SA_INIT}} is the first exchange โ€” no {{encryption|encryption}} yet because keys don't exist. The initiator proposes a {{cipher-suite|cipher suite}}, sends its {{diffie-hellman|Diffie-Hellman}} / {{ecdh|ECDH}} / {{ml-kem|ML-KEM}} {{public-key|public key}}, a random {{nonce|Nonce}}, and {{ipsec-nat-detection|NAT_DETECTION}} hashes that detect whether either {{peer|peer}} is behind {{nat|NAT}}.", 1: 'Responder picks one proposal from `SAi1`, replies with its own KE / {{nonce|Nonce}}, and optionally requests a {{certificate|certificate}} (`CERT_REQ`). After this exchange both sides derive {{ipsec-skeyseed|SKEYSEED}} and the {{ike-sa|IKE SA}} key material โ€” every subsequent exchange is {{ike|IKE}}-{{encryption|encrypted}}.', 3: '{{ipsec-ike-intermediate|IKE_INTERMEDIATE}} ([[rfc:9242|RFC 9242]]) was added because {{post-quantum|post-quantum}} {{public-key|public keys}} ({{ml-kem|ML-KEM-1024}} = 1,568 bytes) overflow common [[udp|UDP]] {{mtu|MTUs}} if shipped in {{ipsec-ike-sa-init|IKE_SA_INIT}}. It runs *inside* the {{ike-sa|IKE SA}}, before identity is revealed, and can chain additional {{kem|KEMs}} per [[rfc:9370|RFC 9370]].', 5: '{{ipsec-ike-auth|IKE_AUTH}} carries the identity (`IDi`, `IDr`) and authenticates the {{ipsec-ike-sa-init|IKE_SA_INIT}} exchange โ€” usually with an {{rsa|RSA}} / {{ecdsa|ECDSA}} {{certificate|certificate}} (`CERT` + `AUTH`), sometimes with a {{psk|PSK}} or {{eap|EAP}} method. The first **{{child-sa|Child SA}}** (an {{esp|ESP}} one-direction key) is negotiated in the same exchange via `SAi2` / `TSi` / `TSr`.', @@ -1563,11 +1563,11 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { '**[[ospf|OSPF]]** = Open Shortest Path First. Two routers walk the eight-state {{adjacency|adjacency}} machine โ€” **Down โ†’ Init โ†’ 2-Way โ†’ ExStart โ†’ {{exchange|Exchange}} โ†’ Loading โ†’ Full** โ€” synchronise an identical link-state database, then independently run [[pioneer:edsger-dijkstra|Dijkstra]] ([[rfc:2328|RFC 2328]] / STD 54).', steps: { 0: '{{ospf-hello|Hello}} packets are {{multicast|multicast}} to `224.0.0.5` ([[ipv6|IPv6]]: `FF02::5`) every 10 s on point-to-point links. They carry the {{router-id|router ID}}, the neighbours it currently sees, and the HelloInterval / DeadInterval that the other side must match exactly.', - 1: 'R1 sees the {{ospf-hello|Hello}} but R2 isn\'t listed in its neighbours field yet โ€” {{adjacency|adjacency}} is one-way. State: `Init`.', - 3: 'Once both {{ospf-hello|Hellos}} list each other (`Nbrs=[2.2.2.2]` โ†” `Nbrs=[1.1.1.1]`), the {{adjacency|adjacency}} goes **`2-Way`** โ€” both sides agree they\'re talking.', + 1: "R1 sees the {{ospf-hello|Hello}} but R2 isn't listed in its neighbours field yet โ€” {{adjacency|adjacency}} is one-way. State: `Init`.", + 3: "Once both {{ospf-hello|Hellos}} list each other (`Nbrs=[2.2.2.2]` โ†” `Nbrs=[1.1.1.1]`), the {{adjacency|adjacency}} goes **`2-Way`** โ€” both sides agree they're talking.", 5: '{{dbd|DBD = Database Description}}. The `MS` bit elects master/slave (higher {{router-id|RID}} wins); `I` is the init bit; `M` says more {{dbd|DBDs}} follow. Master controls the {{sequence-number|sequence number}}.', 7: 'Subsequent {{dbd|DBDs}} carry {{lsa|LSA}} headers โ€” just sequence/age/{{checksum|checksum}}, not the full {{lsa|LSA}}. Each side learns which {{lsa|LSAs}} the *other* has.', - 9: '{{lsr|LSR = Link State Request}}. R1 asks for the {{lsa|LSAs}} it doesn\'t have or whose copies are older.', + 9: "{{lsr|LSR = Link State Request}}. R1 asks for the {{lsa|LSAs}} it doesn't have or whose copies are older.", 10: '{{lsu|LSU = Link State Update}}. R2 sends the actual {{lsa|LSAs}}. Every {{lsa|LSA}} is {{checksum|checksummed}}, age-stamped, and sequence-numbered.', 11: '{{lsack|LSAck}} is mandatory โ€” [[ospf|OSPF]] implements reliable delivery on top of raw [[ip|IP]] (protocol 89), without [[tcp|TCP]]. Unacked {{lsa|LSAs}} are {{retransmission|retransmitted}} every RxmtInterval (5 s default).', 12: 'State **`Full`. Both routers have identical {{lsdb|LSDBs}}. Each independently runs [[pioneer:edsger-dijkstra|Dijkstra]]** on the topology graph, installs the resulting tree into its {{fib|FIB}}, and starts forwarding.' @@ -1599,7 +1599,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { steps: { 0: 'Before any check fires, each peer enumerates every address it might be reachable on: local {{lan|LAN}} interfaces (host), the {{public-ip-address|public address}} it reaches the world through (server-reflexive via {{stun|STUN}}), and a {{turn|TURN}}-allocated public relay (relayed).', 1: '{{binding-request|STUN Binding Request}} โ€” 20-byte header, magic cookie `0x2112A442`, random 96-bit transaction ID, zero attributes. The smallest useful packet on the modern internet.', - 2: 'The {{stun|STUN}} server replies with **`{{xor-mapped-address|XOR-MAPPED-ADDRESS}}`** โ€” the source `ip:port` it observed, XORed against the magic cookie so middleboxes can\'t rewrite it. That\'s your *server-reflexive {{ice-candidate|candidate}}*.', + 2: "The {{stun|STUN}} server replies with **`{{xor-mapped-address|XOR-MAPPED-ADDRESS}}`** โ€” the source `ip:port` it observed, XORed against the magic cookie so middleboxes can't rewrite it. That's your *server-reflexive {{ice-candidate|candidate}}*.", 3: '**{{turn|TURN}} `Allocate`** request reserves a public `ip:port` on the relay. The client authenticates with long-term creds (username/realm/{{nonce|nonce}}/{{hmac|HMAC-SHA256}}). Default lifetime: 600 s.', 4: 'The relay returns **`{{xor-relayed-address|XOR-RELAYED-ADDRESS}}`** โ€” a public {{socket|socket}} Bob can hit. This is the fallback path when nothing direct works.', 5: 'Trickle {{ice|ICE}} ([[rfc:8838|RFC 8838]]): {{ice-candidate|candidates}} are signalled as they appear, not after all gathering finishes. Cuts call-setup time by hundreds of milliseconds.', @@ -1632,7 +1632,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { 0: 'The new bulb has no parent. It {{broadcast|broadcasts}} a {{beacon-frame|Beacon Request}} (MAC Cmd 0x07) on the chosen channel. Pick 15, 20, 25, or 26 to avoid [[wifi|Wi-Fi]] channels 1/6/11.', 1: 'Every {{zigbee-router|router}} and the {{zigbee-coordinator|Coordinator}} that permits joining replies with a {{beacon-frame|Beacon}} advertising the {{pan-id|PAN ID}}, the Coordinator {{short-address|short address}} (0x0000), Stack Profile (Zigbee PRO), and the Permit-Joining flag. The {{zigbee-joiner|joiner}} picks by {{rssi|RSSI}} + LQI + capability.', 2: 'Association Request โ€” the {{zigbee-joiner|joiner}} asks for a {{short-address|short address}}. Capability byte 0x8E = {{ffd|FFD}}, mains-powered, security-capable, allocate-short.', - 3: 'The {{zigbee-coordinator|Coordinator}} allocates a 16-bit {{short-address|short}} (here 0x3F4E) โ€” much cheaper than the 8-byte {{eui-64|EUI-64}} on every {{frame|frame}} for the rest of the device\'s life on this network.', + 3: "The {{zigbee-coordinator|Coordinator}} allocates a 16-bit {{short-address|short}} (here 0x3F4E) โ€” much cheaper than the 8-byte {{eui-64|EUI-64}} on every {{frame|frame}} for the rest of the device's life on this network.", 5: '{{aps-layer|APS}} Transport-Key (cmd 0x05) delivers the {{network-key|network key}}, encrypted under the pre-configured link key. With an {{install-code|install code}}, an eavesdropper at join cannot decrypt this; with default *ZigBeeAlliance09*, they can โ€” the canonical [[zigbee|Zigbee]] sniffer-at-join attack.', 6: 'Device Announce ({{zigbee-zdo|ZDO}} cluster 0x0013) โ€” the {{zigbee-joiner|joiner}} {{broadcast|broadcasts}} its arrival so every {{zigbee-router|router}} can add it to {{routing-table|routing}} and binding tables. From here it is on the {{mesh-network|mesh}}.', 7: '{{zcl|ZCL}} OnOff Toggle (cluster 0x0006, command 0x02) โ€” the canonical first command. The whole on-the-wire payload, including all {{ieee-802-15-4|802.15.4}} + {{zigbee-nwk|NWK}} + {{aps-layer|APS}} + {{zcl|ZCL}} headers, fits in ~40 bytes.' @@ -1654,16 +1654,16 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { Note over A: Compute ToF via DS-TWR cross-product<br/>distance โ‰ˆ 1.41 m A->>P: BLE: distance + bearing โ†’ Unlock`, caption: - "**[[uwb|UWB]] {{ds-twr|DS-TWR}}** = the secure ranging flow under AirTag Precision Finding, BMW Digital Key, and {{aliro|Aliro}} hands-free unlock. [[bluetooth|BLE]] does the bootstrap (auth + STS_KEY transport); [[uwb|UWB]] does the three-message ranging {{exchange|exchange}}; the cross-product cancels {{clock-drift|clock drift}}; **{{sts|STS}}** is the {{aes|AES}}-CTR-generated pulse pattern that makes the distance measurement unforgeable.", + '**[[uwb|UWB]] {{ds-twr|DS-TWR}}** = the secure ranging flow under AirTag Precision Finding, BMW Digital Key, and {{aliro|Aliro}} hands-free unlock. [[bluetooth|BLE]] does the bootstrap (auth + STS_KEY transport); [[uwb|UWB]] does the three-message ranging {{exchange|exchange}}; the cross-product cancels {{clock-drift|clock drift}}; **{{sts|STS}}** is the {{aes|AES}}-CTR-generated pulse pattern that makes the distance measurement unforgeable.', steps: { 0: 'Every consumer [[uwb|UWB]] session starts on [[bluetooth|BLE]]. The anchor advertises its service UUID; the phone discovers it. UWB is not yet powered โ€” saves battery.', - 1: '[[bluetooth|BLE]] {{gatt|GATT}} pairing + application-specific authentication. SPAKE2+/{{pake|PAKE}} for {{ccc-digital-key|CCC Digital Key}}; {{apple|Apple}}\'s proprietary {{handshake|handshake}} for Find My; ECDSA {{mtls|mutual auth}} for {{aliro|Aliro 1.0}}.', + 1: "[[bluetooth|BLE]] {{gatt|GATT}} pairing + application-specific authentication. SPAKE2+/{{pake|PAKE}} for {{ccc-digital-key|CCC Digital Key}}; {{apple|Apple}}'s proprietary {{handshake|handshake}} for Find My; ECDSA {{mtls|mutual auth}} for {{aliro|Aliro 1.0}}.", 2: 'The STS_KEY (128-bit {{aes-gcm|AES}} key) and ranging schedule are transferred over the [[bluetooth|BLE]] {{encryption|encrypted}} channel. Without this key, the [[uwb|UWB]] ranging frames look like noise to any other receiver.', 3: 'Poll โ€” Phone fires [[uwb|UWB]] on Channel 9 (7987.2 MHz, 499.2 MHz BW). The 32-chip {{sts|STS}} segment is the AES-CTR-generated pulse pattern that defeats the distance-decrease attack. The phone records `t1 = TX timestamp` at the {{sfd|SFD}} (~15 ps resolution).', 4: 'Response โ€” Anchor RX-timestamps the Poll at t2, deliberately delays by T_reply1 (~200 ยตs), then transmits Response carrying t2, t3. Phone records `t4 = RX timestamp`.', 5: 'Final โ€” Phone delays by T_reply2 and transmits Final carrying t1, t4, t5. Anchor records `t6 = RX`. All six timestamps now exist.', 6: 'The {{ds-twr|DS-TWR}} cross-product cancels relative clock drift to first order. {{tof-ranging|ToF}} resolved to ~1 ns โ‰ˆ 30 cm; with multipath and {{sts|STS}} valid, real-world DS-TWR achieves 10โ€“30 cm distance accuracy and ~5 cm standard deviation.', - 8: 'Distance + bearing returned over [[bluetooth|BLE]]. {{apple|Apple}}\'s {{nearby-interaction|Nearby Interaction}} framework refreshes at ~10 Hz; the haptic + display guide the user. For {{ccc-digital-key|Digital Key}}, distance โ‰ค threshold + valid credential โ†’ Unlock.' + 8: "Distance + bearing returned over [[bluetooth|BLE]]. {{apple|Apple}}'s {{nearby-interaction|Nearby Interaction}} framework refreshes at ~10 Hz; the haptic + display guide the user. For {{ccc-digital-key|Digital Key}}, distance โ‰ค threshold + valid credential โ†’ Unlock." } }, @@ -1690,7 +1690,7 @@ export const diagramDefinitions: Record<string, DiagramDefinition> = { P->>T: ARQC + ATC + IAD Note over T,P: Terminal โ†’ acquirer โ†’ issuer โ†’ ARPC: APPROVED`, caption: - "**[[nfc|NFC]]** = Near Field Communication. The same nine beats โ€” {{anti-collision|anti-collision}} โ†’ {{rats|RATS}}/{{ats-nfc|ATS}} โ†’ {{imap-select|SELECT}} {{ppse|PPSE}} โ†’ {{select-aid|SELECT AID}} โ†’ {{gpo|GPO}} โ†’ {{read-record|READ RECORD}} โ†’ {{generate-ac|GENERATE AC}} โ€” that every {{apple|Apple}} Pay, {{google|Google}} Wallet, {{transit|transit}} gate, and plastic contactless card runs through in under half a second ({{iso-iec|ISO/IEC}} 14443 + {{iso-iec|ISO/IEC}} 7816-4 + EMVCo Contactless Book C-2).", + '**[[nfc|NFC]]** = Near Field Communication. The same nine beats โ€” {{anti-collision|anti-collision}} โ†’ {{rats|RATS}}/{{ats-nfc|ATS}} โ†’ {{imap-select|SELECT}} {{ppse|PPSE}} โ†’ {{select-aid|SELECT AID}} โ†’ {{gpo|GPO}} โ†’ {{read-record|READ RECORD}} โ†’ {{generate-ac|GENERATE AC}} โ€” that every {{apple|Apple}} Pay, {{google|Google}} Wallet, {{transit|transit}} gate, and plastic contactless card runs through in under half a second ({{iso-iec|ISO/IEC}} 14443 + {{iso-iec|ISO/IEC}} 7816-4 + EMVCo Contactless Book C-2).', steps: { 0: 'The terminal energises the 13.56 MHz magnetic carrier continuously. When the phone is within ~4 cm, the {{ese|eSE}} harvests power inductively and wakes โ€” no battery contribution needed.', 1: '{{reqa|REQA}} = `0x26`, a 7-bit short {{frame|frame}}. Any IDLE Type A {{picc|PICC}} in the field transitions to READY.', diff --git a/src/lib/data/frontier.ts b/src/lib/data/frontier.ts index c99a5fa..888c104 100644 --- a/src/lib/data/frontier.ts +++ b/src/lib/data/frontier.ts @@ -65,14 +65,20 @@ export const frontierEntries: FrontierEntry[] = [ The economics that finally tipped it: {{aws|AWS}} started charging $0.005/hour per public [[ip|IPv4]] address in February 2024, making [[ipv6|IPv6]]-only architectures financially compelling at scale. Combined with {{four-six-four-xlat|464XLAT}} being a first-class citizen in modern {{android|Android}}, iOS 9+, macOS 13+, and Windows 11, [[ipv6|IPv6]]-only access networks now Just Work for [[ip|IPv4]] applications too.`, metrics: [ - { label: "Google peak", value: '50.1%', date: '2026-03-28' }, + { label: 'Google peak', value: '50.1%', date: '2026-03-28' }, { label: 'Cloudflare HTTP', value: '40%', date: '2026-04' }, { label: 'APNIC capable', value: '43.13%', date: '2026-04' }, { label: 'US mobile avg', value: '~87%' } ], sources: [ - { url: 'https://www.google.com/intl/en/ipv6/statistics.html', label: 'Google IPv6 statistics' }, - { url: 'https://blog.apnic.net/2026/04/28/google-hits-50-ipv6/', label: 'APNIC โ€” Google hits 50% IPv6' } + { + url: 'https://www.google.com/intl/en/ipv6/statistics.html', + label: 'Google IPv6 statistics' + }, + { + url: 'https://blog.apnic.net/2026/04/28/google-hits-50-ipv6/', + label: 'APNIC โ€” Google hits 50% IPv6' + } ] }, { @@ -115,7 +121,10 @@ The economics that finally tipped it: {{aws|AWS}} started charging $0.005/hour p ], sources: [ { url: 'https://github.com/google/bbr', label: 'google/bbr GitHub repo' }, - { url: 'https://datatracker.ietf.org/doc/draft-ietf-ccwg-bbr/', label: 'IETF โ€” draft-ietf-ccwg-bbr' } + { + url: 'https://datatracker.ietf.org/doc/draft-ietf-ccwg-bbr/', + label: 'IETF โ€” draft-ietf-ccwg-bbr' + } ] }, { @@ -131,7 +140,10 @@ The economics that finally tipped it: {{aws|AWS}} started charging $0.005/hour p The mechanism: cooperating senders mark packets {{ecn|ECN}}-Capable; routers running the DualQ Coupled {{aqm|AQM}} mark instead of dropping when congestion is incipient; senders react to marks like minor losses without backing off as hard. The result is {{bufferbloat|bufferbloat}} avoided in real time: {{latency|latency}}-sensitive apps (cloud gaming, video calls) get the headroom they need without starving classic [[tcp|TCP]]. {{apple|Apple}} shipped {{l4s|L4S}} support in iOS 17, iPadOS 17, macOS Sonoma and tvOS 17 in 2023, on by default for [[quic|QUIC]] in newer releases.`, sources: [ - { url: 'https://www.rcrwireless.com/20250129/uncategorized/comcast-l4s', label: 'RCR Wireless โ€” Comcast L4S launch' }, + { + url: 'https://www.rcrwireless.com/20250129/uncategorized/comcast-l4s', + label: 'RCR Wireless โ€” Comcast L4S launch' + }, { url: 'https://www.nokia.com/bell-labs/research/l4s/', label: 'Nokia Bell Labs โ€” L4S' } ] }, @@ -148,8 +160,14 @@ The mechanism: cooperating senders mark packets {{ecn|ECN}}-Capable; routers run {{cloudflare|Cloudflare}} deploys {{ech|ECH}} for ~70% of websites it fronts; Chrome and Firefox both support it. The architecture: the server publishes an ECHConfig in [[dns|DNS]] (HTTPS RR); the client encrypts the inner {{client-hello|ClientHello}} to that key and wraps it in an outer {{client-hello|ClientHello}} that uses a generic "{{cloudflare|cloudflare}}-ech.com" {{sni|SNI}}. From the network's perspective, every fronted site looks the same.`, sources: [ - { url: 'https://www.feistyduck.com/newsletter/issue_127_encrypted_client_hello_approved_for_publication.html', label: 'Feisty Duck โ€” ECH approved for publication' }, - { url: 'https://www.cisecurity.org/insights/blog/security-control-changes-due-to-tls-encrypted-clienthello', label: 'CISecurity โ€” security control changes due to ECH' } + { + url: 'https://www.feistyduck.com/newsletter/issue_127_encrypted_client_hello_approved_for_publication.html', + label: 'Feisty Duck โ€” ECH approved for publication' + }, + { + url: 'https://www.cisecurity.org/insights/blog/security-control-changes-due-to-tls-encrypted-clienthello', + label: 'CISecurity โ€” security control changes due to ECH' + } ] }, { @@ -169,7 +187,10 @@ The mechanism: cooperating senders mark packets {{ecn|ECN}}-Capable; routers run { label: 'Traffic bound for RPKI-secured destinations', value: '~75%', date: '2024' } ], sources: [ - { url: 'https://manrs.org/2024/05/rpki-rov-deployment-reaches-major-milestone/', label: 'MANRS โ€” RPKI ROV milestone' }, + { + url: 'https://manrs.org/2024/05/rpki-rov-deployment-reaches-major-milestone/', + label: 'MANRS โ€” RPKI ROV milestone' + }, { url: 'https://blog.cloudflare.com/rpki-updates-data/', label: 'Cloudflare โ€” RPKI Updates' } ] }, @@ -208,7 +229,10 @@ The [[wifi|Wi-Fi]] Alliance opened certification on 8 January 2024. As of late A {{ai|AI}} training fabrics are the demand engine. "Lossless [[ethernet|Ethernet]]" with RoCEv2 โ€” [[ethernet|Ethernet]] plus PFC + DCQCN for losslessness โ€” is replacing InfiniBand in many large {{gpu|GPU}} clusters because the operational tooling, vendor diversity, and per-port economics are all better. The Ultra [[ethernet|Ethernet]] Consortium's {{uec|UEC}} 1.0 spec (June 2025) is the next step: a new transport for {{ai|AI}}/HPC scale-out built on plain [[ethernet|Ethernet]]+[[ip|IP]] that explicitly competes with InfiniBand and RoCEv2.`, sources: [ { url: 'https://www.ieee802.org/3/dj/index.html', label: 'IEEE P802.3dj task force' }, - { url: 'https://en.wikipedia.org/wiki/Terabit_Ethernet', label: 'Wikipedia โ€” Terabit Ethernet' } + { + url: 'https://en.wikipedia.org/wiki/Terabit_Ethernet', + label: 'Wikipedia โ€” Terabit Ethernet' + } ] }, { @@ -225,7 +249,10 @@ The [[wifi|Wi-Fi]] Alliance opened certification on 8 January 2024. As of late A AMD's Pensando Pollara 400 is the first shipping {{nic|NIC}}. The likely RoCEv2 successor for the next generation of {{gpu|GPU}} clusters โ€” at the scale of 100K+ accelerators training a single model, the assumptions baked into RoCEv2 (single-path, lossless via PFC, no out-of-order) become liabilities.`, sources: [ { url: 'https://ultraethernet.org/', label: 'Ultra Ethernet Consortium' }, - { url: 'https://arxiv.org/html/2508.08906v1', label: 'Hoefler et al. โ€” Ultra Ethernet design principles' } + { + url: 'https://arxiv.org/html/2508.08906v1', + label: 'Hoefler et al. โ€” Ultra Ethernet design principles' + } ] }, { @@ -241,7 +268,10 @@ AMD's Pensando Pollara 400 is the first shipping {{nic|NIC}}. The likely RoCEv2 Use cases: aggregating [[wifi|Wi-Fi]] and cellular {{bandwidth|bandwidth}} on a phone ({{apple|Apple}} already does this with [[mptcp|MPTCP]] for Siri), seamless network handover when the user changes interfaces, reaching a multi-homed server through whichever path is fastest. The {{3gpp|3GPP}} ATSSS standard for 5G already specifies [[mptcp|MPTCP]] and MPQUIC for traffic steering between cellular and [[wifi|Wi-Fi]].`, sources: [ - { url: 'https://datatracker.ietf.org/doc/html/draft-ietf-quic-multipath', label: 'IETF โ€” draft-ietf-quic-multipath' } + { + url: 'https://datatracker.ietf.org/doc/html/draft-ietf-quic-multipath', + label: 'IETF โ€” draft-ietf-quic-multipath' + } ] }, { @@ -257,7 +287,10 @@ Use cases: aggregating [[wifi|Wi-Fi]] and cellular {{bandwidth|bandwidth}} on a The architecture: publishers send named objects to MoQ relays; subscribers {{imap-fetch|fetch}} named objects from the nearest relay, with hop-by-hop [[quic|QUIC]]. Object naming + [[quic|QUIC]] stream {{multiplexing|multiplexing}} mean a relay can drop objects under congestion (preserve key frames over delta frames) without the publisher coordinating. [[webrtc|WebRTC]]'s lunch may finally be eaten for one-to-many use cases.`, sources: [ - { url: 'https://datatracker.ietf.org/doc/draft-ietf-moq-transport/', label: 'IETF โ€” draft-ietf-moq-transport' }, + { + url: 'https://datatracker.ietf.org/doc/draft-ietf-moq-transport/', + label: 'IETF โ€” draft-ietf-moq-transport' + }, { url: 'https://blog.cloudflare.com/moq/', label: 'Cloudflare โ€” MoQ' } ] }, @@ -274,15 +307,21 @@ The architecture: publishers send named objects to MoQ relays; subscribers {{ima Streamable {{http-method|HTTP}} is one HTTP endpoint that can return either a single [[json-rpc|JSON-RPC]] response or upgrade to [[sse|SSE]] for streaming. Single channel, simpler proxy story, easier to deploy on serverless. Combined with the 2025-03-26 spec adding [[oauth2|OAuth]] 2.1 with {{pkce|PKCE}} and dynamic client registration plus Resource Indicators ({{rfc-doc|RFC}} 8707) for token scoping, [[mcp|MCP]] is now a real internet protocol โ€” not just a local {{stdio|stdio}} convention.`, sources: [ - { url: 'https://modelcontextprotocol.io/specification/2025-11-25/basic/transports', label: 'MCP spec โ€” transports' }, - { url: 'https://stackoverflow.blog/2026/01/21/is-that-allowed-authentication-and-authorization-in-model-context-protocol/', label: 'Stack Overflow blog โ€” MCP auth' } + { + url: 'https://modelcontextprotocol.io/specification/2025-11-25/basic/transports', + label: 'MCP spec โ€” transports' + }, + { + url: 'https://stackoverflow.blog/2026/01/21/is-that-allowed-authentication-and-authorization-in-model-context-protocol/', + label: 'Stack Overflow blog โ€” MCP auth' + } ] }, { id: 'a2a-linux-foundation', title: 'A2A Donated to the Linux Foundation', oneLiner: - '{{google|Google}}\'s Agent2Agent protocol joins [[mcp|MCP]] under open governance โ€” the second {{ai|AI}}-agent protocol to find a foundation home.', + "{{google|Google}}'s Agent2Agent protocol joins [[mcp|MCP]] under open governance โ€” the second {{ai|AI}}-agent protocol to find a foundation home.", topic: 'ai-agents', status: 'shipped', date: '2025-06', @@ -291,7 +330,10 @@ Streamable {{http-method|HTTP}} is one HTTP endpoint that can return either a si In December 2025 {{anthropic|Anthropic}} donated [[mcp|MCP]] to the Agentic {{ai|AI}} Foundation (AAIF), a {{linux|Linux}} Foundation directed fund co-founded by {{anthropic|Anthropic}}, Block, and OpenAI. [[mcp|MCP]] and [[a2a|A2A]] are now under the same umbrella. Mid-2026 industry analyses report [[mcp|MCP]] at ~78% enterprise adoption vs [[a2a|A2A]] at ~23% โ€” the boundary between "agent" and "tool" remains fuzzy and the multi-agent collaboration use cases are still emerging.`, sources: [ - { url: 'https://www.linuxfoundation.org/press/linux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents', label: 'Linux Foundation โ€” A2A project' }, + { + url: 'https://www.linuxfoundation.org/press/linux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents', + label: 'Linux Foundation โ€” A2A project' + }, { url: 'https://en.wikipedia.org/wiki/Model_Context_Protocol', label: 'Wikipedia โ€” MCP' } ] } diff --git a/src/lib/data/journeys.ts b/src/lib/data/journeys.ts index ce87ab3..a4d3aeb 100644 --- a/src/lib/data/journeys.ts +++ b/src/lib/data/journeys.ts @@ -30,22 +30,25 @@ export const journeys: Journey[] = [ protocolId: 'dns', title: 'DNS Resolution', description: - 'Before your browser can reach {{google|google}}.com, it needs an actual address โ€” like needing a street address before you can mail a letter. Your device sends a [[dns|DNS]] query to a {{recursive-resolver|recursive resolver}}, which walks the [[dns|DNS]] hierarchy: root servers, then .com {{tld|TLD}} servers, then {{google|google}}.com\'s {{authoritative-nameserver|authoritative nameserver}}. The answer (e.g., 142.250.80.46) is cached locally so future requests skip this entire chain. Without [[dns|DNS]], you would have to memorize raw [[ip|IP]] addresses for every website you visit.', - transition: 'The browser now knows WHERE the server lives โ€” but packets on the internet can be lost, reordered, or duplicated. Before sending any real data, it needs to negotiate a reliable channel...' + "Before your browser can reach {{google|google}}.com, it needs an actual address โ€” like needing a street address before you can mail a letter. Your device sends a [[dns|DNS]] query to a {{recursive-resolver|recursive resolver}}, which walks the [[dns|DNS]] hierarchy: root servers, then .com {{tld|TLD}} servers, then {{google|google}}.com's {{authoritative-nameserver|authoritative nameserver}}. The answer (e.g., 142.250.80.46) is cached locally so future requests skip this entire chain. Without [[dns|DNS]], you would have to memorize raw [[ip|IP]] addresses for every website you visit.", + transition: + 'The browser now knows WHERE the server lives โ€” but packets on the internet can be lost, reordered, or duplicated. Before sending any real data, it needs to negotiate a reliable channel...' }, { protocolId: 'tcp', title: 'TCP Handshake', description: 'The internet is inherently unreliable โ€” packets can vanish, arrive out of order, or show up twice. [[tcp|TCP]] solves this with a {{three-way-handshake|three-way handshake}} ({{syn-cookies|SYN}}, {{syn-cookies|SYN}}-{{ack|ACK}}, {{ack|ACK}}) that synchronizes sequence numbers between your browser and the server, creating a reliable ordered channel. This {{handshake|handshake}} also negotiates window sizes for {{flow-control|flow control}}, ensuring neither side overwhelms the other. It costs one round trip of {{latency|latency}}, but without it every application would need to implement its own reliability logic.', - transition: 'A reliable pipe now connects your browser to the server โ€” but anyone sitting on the network path (your {{isp|ISP}}, a coffee shop router, a government {{firewall|firewall}}) can read every byte in plaintext. The data needs {{encryption|encryption}}...' + transition: + 'A reliable pipe now connects your browser to the server โ€” but anyone sitting on the network path (your {{isp|ISP}}, a coffee shop router, a government {{firewall|firewall}}) can read every byte in plaintext. The data needs {{encryption|encryption}}...' }, { protocolId: 'tls', title: 'TLS Negotiation', description: '[[tls|TLS]] is where trust is established. The server presents a {{certificate|certificate}} proving it really is {{google|google}}.com (signed by a trusted {{certificate-authority|certificate authority}}), and both sides negotiate which {{cipher-suite|cipher suite}} to use. They then perform a key {{exchange|exchange}} (typically {{ecdhe|ECDHE}}) to derive shared session keys that only they know โ€” even if someone recorded the entire {{handshake|handshake}}. [[tls|TLS]] 1.3 collapses this to a single round trip, and on repeat visits, {{zero-rtt|0-RTT}} resumption can send encrypted data immediately.', - transition: 'The connection is now both reliable and encrypted โ€” no eavesdropper can read or tamper with the data. Everything is ready to speak the language of the web...' + transition: + 'The connection is now both reliable and encrypted โ€” no eavesdropper can read or tamper with the data. Everything is ready to speak the language of the web...' }, { protocolId: 'http1', @@ -68,28 +71,32 @@ export const journeys: Journey[] = [ title: 'Ethernet Frame', description: 'Every piece of data on a local network travels as an [[ethernet|Ethernet]] frame โ€” a precisely structured envelope containing source and destination {{mac-address|MAC}} addresses (48-bit hardware identifiers burned into every network card), a type field that indicates what protocol lives inside ([[ip|IPv4]], [[ipv6|IPv6]], [[arp|ARP]]), and a Frame Check Sequence for error detection. The frame is the physical currency of LANs: switches read the destination {{mac-address|MAC}} to forward it to the correct port. Without this framing, raw electrical signals on the wire would be meaningless noise.', - transition: 'The [[ethernet|Ethernet]] frame needs a destination {{mac-address|MAC address}} โ€” but your application only knows an {{ip-address|IP address}}. Something has to bridge the gap between Layer 3 ([[ip|IP]]) and Layer 2 ([[ethernet|Ethernet]])...' + transition: + 'The [[ethernet|Ethernet]] frame needs a destination {{mac-address|MAC address}} โ€” but your application only knows an {{ip-address|IP address}}. Something has to bridge the gap between Layer 3 ([[ip|IP]]) and Layer 2 ([[ethernet|Ethernet]])...' }, { protocolId: 'arp', title: 'ARP Resolution', description: '[[arp|ARP]] is the glue between [[ip|IP]] addresses and physical hardware. When your machine needs to reach 192.168.1.1 but only knows its [[ip|IP]], it broadcasts an [[arp|ARP]] request to every device on the {{lan|LAN}}: "Who has 192.168.1.1? Tell me your {{mac-address|MAC address}}." The target replies directly with its {{mac-address|MAC}}, and the result is cached in an [[arp|ARP]] table so future packets skip the {{broadcast|broadcast}}. This is why the first packet to a new host on your {{lan|LAN}} is slightly slower โ€” [[arp|ARP]] has to resolve the address first.', - transition: 'With the destination {{mac-address|MAC}} resolved and the [[ethernet|Ethernet]] frame ready, the packet can now be addressed for its journey beyond the local network. The [[ip|IP]] layer takes over to handle global addressing and routing...' + transition: + 'With the destination {{mac-address|MAC}} resolved and the [[ethernet|Ethernet]] frame ready, the packet can now be addressed for its journey beyond the local network. The [[ip|IP]] layer takes over to handle global addressing and routing...' }, { protocolId: 'ip', title: 'IP Routing', description: '[[ip|IP]] is the postal service of the internet โ€” it stamps each packet with a source and destination address, then forwards it hop by hop toward its target. Each router along the path examines the destination [[ip|IP]], consults its {{routing-table|routing table}}, decrements the {{ttl|TTL}} ({{ttl|Time To Live}}) by one, and forwards the packet to the next hop. If {{ttl|TTL}} reaches zero, the packet is discarded and an [[icmp|ICMP]] "{{time-exceeded|Time Exceeded}}" is sent back โ€” this is how {{traceroute|traceroute}} works. [[ip|IP]] makes no guarantees about delivery order or reliability; it simply does its best to get each packet to the right machine.', - transition: '[[ip|IP]] delivered the packet to the correct machine โ€” but a server might be running dozens of applications simultaneously. A web server on port 80, an [[ssh|SSH]] daemon on port 22, a database on port 5432. Something has to deliver the data to the right process...' + transition: + '[[ip|IP]] delivered the packet to the correct machine โ€” but a server might be running dozens of applications simultaneously. A web server on port 80, an [[ssh|SSH]] daemon on port 22, a database on port 5432. Something has to deliver the data to the right process...' }, { protocolId: 'tcp', title: 'TCP Delivery', description: '[[tcp|TCP]] is the reliability layer that [[ip|IP]] lacks. It uses 16-bit port numbers (0-65535) to multiplex multiple conversations on the same {{ip-address|IP address}}, delivering each segment to the correct application. Beyond addressing, [[tcp|TCP]] guarantees that data arrives complete, in order, and without duplication โ€” it retransmits lost segments, resequences out-of-order arrivals, and uses {{sliding-window|sliding window}} {{flow-control|flow control}} to prevent a fast sender from overwhelming a slow receiver. This reliability is why the web, email, and file transfer all run on [[tcp|TCP]].', - transition: 'The data has been reliably delivered to the correct process on the correct machine. Now the application can finally interpret the bytes using its own protocol semantics...' + transition: + 'The data has been reliably delivered to the correct process on the correct machine. Now the application can finally interpret the bytes using its own protocol semantics...' }, { protocolId: 'http1', @@ -102,7 +109,8 @@ export const journeys: Journey[] = [ { id: 'transport-blocks', title: 'Building Blocks of Transport', - description: 'From raw datagrams to reliable streams โ€” the foundational transport protocols and their evolution.', + description: + 'From raw datagrams to reliable streams โ€” the foundational transport protocols and their evolution.', color: '#39FF14', scope: 'global', steps: [ @@ -111,27 +119,30 @@ export const journeys: Journey[] = [ title: 'UDP: The Simple Datagram', description: '[[udp|UDP]] is the bare minimum of transport โ€” it adds just 8 bytes of overhead (source port, destination port, length, {{checksum|checksum}}) and fires your data into the network with no {{handshake|handshake}}, no acknowledgments, and no ordering guarantees. This makes it blazing fast and perfect for scenarios where speed matters more than perfection: [[dns|DNS]] queries, live video, gaming, and voice calls. If a packet is lost, the application decides whether to care โ€” a missing video frame is better than waiting 200ms for a {{retransmission|retransmission}} that arrives too late to display.', - transition: '[[udp|UDP]] gives you raw speed, but many applications cannot tolerate missing or reordered data. A web page with a missing {{css|CSS}} file, a bank transfer with lost bytes, or a file download with gaps โ€” these need every byte in the right order. The internet needed a more disciplined transport...' + transition: + '[[udp|UDP]] gives you raw speed, but many applications cannot tolerate missing or reordered data. A web page with a missing {{css|CSS}} file, a bank transfer with lost bytes, or a file download with gaps โ€” these need every byte in the right order. The internet needed a more disciplined transport...' }, { protocolId: 'tcp', title: 'TCP: Reliable Streams', description: '[[tcp|TCP]] transforms the unreliable internet into a dependable byte stream. It establishes connections with a {{three-way-handshake|three-way handshake}}, assigns sequence numbers to every byte, requires acknowledgments for received data, and retransmits anything that goes missing. Its {{congestion-control|congestion control}} algorithms (Reno, {{cubic|CUBIC}}, {{bbr|BBR}}) actively probe the network to find the maximum safe sending rate without causing collapse. [[tcp|TCP]] has been the backbone of the internet for over 40 years โ€” {{http-method|HTTP}}, email, [[ssh|SSH]], and file transfer all depend on it. The tradeoff is {{latency|latency}}: the {{handshake|handshake}}, acknowledgment delays, and {{head-of-line-blocking|head-of-line blocking}} (one lost packet stalls everything behind it) add up.', - transition: '[[tcp|TCP]] proved that reliability works, but its single-stream design means one lost packet blocks all data behind it โ€” even unrelated requests. And its {{handshake|handshake}} adds a full round trip before any data flows. Engineers began asking: can we keep the reliability but eliminate these bottlenecks?' + transition: + '[[tcp|TCP]] proved that reliability works, but its single-stream design means one lost packet blocks all data behind it โ€” even unrelated requests. And its {{handshake|handshake}} adds a full round trip before any data flows. Engineers began asking: can we keep the reliability but eliminate these bottlenecks?' }, { protocolId: 'quic', title: 'QUIC: The Modern Fusion', description: '[[quic|QUIC]] is what happens when you redesign transport from scratch with modern needs in mind. It runs on top of [[udp|UDP]] (so it passes through existing firewalls and NATs), but implements its own reliability, ordering, and {{congestion-control|congestion control}} internally. Crucially, [[quic|QUIC]] supports multiplexed independent streams โ€” so a lost packet on stream 3 does not block streams 1, 2, or 4. It also bakes in [[tls|TLS]] 1.3 {{encryption|encryption}} from the start, merging the transport and security handshakes into a single round trip. On repeat connections, {{zero-rtt|0-RTT}} resumption lets you send data immediately. [[quic|QUIC]] powers [[http3|HTTP/3]] and is rapidly becoming the new default transport for the web.', - transition: '[[quic|QUIC]] solves {{head-of-line-blocking|head-of-line blocking}} and connection setup {{latency|latency}} brilliantly, but it assumes a single network path. What happens when a device has multiple network interfaces โ€” [[wifi|WiFi]] and cellular, two [[ethernet|Ethernet]] ports, or a wired and wireless backup link? There is a transport designed for exactly that scenario...' + transition: + '[[quic|QUIC]] solves {{head-of-line-blocking|head-of-line blocking}} and connection setup {{latency|latency}} brilliantly, but it assumes a single network path. What happens when a device has multiple network interfaces โ€” [[wifi|WiFi]] and cellular, two [[ethernet|Ethernet]] ports, or a wired and wireless backup link? There is a transport designed for exactly that scenario...' }, { protocolId: 'sctp', title: 'SCTP: Multi-Stream Transport', description: - '[[sctp|SCTP]] (Stream Control Transmission Protocol) introduced two ideas ahead of their time: multiple independent message streams within a single association, and {{multi-homing|multi-homing}} โ€” the ability to bind to multiple [[ip|IP]] addresses simultaneously and fail over between them without dropping the connection. If one network interface goes down, [[sctp|SCTP]] seamlessly switches to another. Originally designed for telecom {{signaling|signaling}} (carrying phone call setup messages between switches), it also supports message boundaries natively (unlike [[tcp|TCP]]\'s raw byte stream). While [[sctp|SCTP]] never gained widespread web adoption due to {{nat|NAT}} traversal issues, its concepts directly influenced [[quic|QUIC]]\'s stream {{multiplexing|multiplexing}} design.' + "[[sctp|SCTP]] (Stream Control Transmission Protocol) introduced two ideas ahead of their time: multiple independent message streams within a single association, and {{multi-homing|multi-homing}} โ€” the ability to bind to multiple [[ip|IP]] addresses simultaneously and fail over between them without dropping the connection. If one network interface goes down, [[sctp|SCTP]] seamlessly switches to another. Originally designed for telecom {{signaling|signaling}} (carrying phone call setup messages between switches), it also supports message boundaries natively (unlike [[tcp|TCP]]'s raw byte stream). While [[sctp|SCTP]] never gained widespread web adoption due to {{nat|NAT}} traversal issues, its concepts directly influenced [[quic|QUIC]]'s stream {{multiplexing|multiplexing}} design." } ] }, @@ -147,14 +158,16 @@ export const journeys: Journey[] = [ title: 'TLS: The Encryption Layer', description: 'In the early internet, everything traveled in plaintext โ€” passwords, credit cards, personal emails, all visible to anyone on the network path. [[tls|TLS]] changed everything by wrapping [[tcp|TCP]] connections in {{encryption|encryption}}. During the {{handshake|handshake}}, the server proves its identity with a {{certificate|certificate}} signed by a trusted authority, both sides agree on cipher suites, and an {{wg-ephemeral-key|ephemeral key}} {{exchange|exchange}} ({{ecdhe|ECDHE}}) creates shared session keys that even a passive observer who recorded every byte cannot derive. [[tls|TLS]] 1.3 stripped out legacy cruft, removing insecure algorithms and reducing the {{handshake|handshake}} to a single round trip. Today, over 95% of web traffic runs through [[tls|TLS]].', - transition: '[[tls|TLS]] secures client-to-server connections beautifully, but system administrators need more than encrypted web traffic โ€” they need to log into remote servers, transfer files, and tunnel network connections, all securely. A different protocol emerged for this exact purpose...' + transition: + '[[tls|TLS]] secures client-to-server connections beautifully, but system administrators need more than encrypted web traffic โ€” they need to log into remote servers, transfer files, and tunnel network connections, all securely. A different protocol emerged for this exact purpose...' }, { protocolId: 'ssh', title: 'SSH: Secure Shell', description: 'Before [[ssh|SSH]], administrators used Telnet to manage remote servers โ€” sending passwords and commands in cleartext. [[ssh|SSH]] replaced it with a fully encrypted channel that supports public-key authentication (no passwords to steal), secure file transfer ({{scp-copy|SCP}} and {{sftp|SFTP}}), and {{port-forwarding|port forwarding}} that can tunnel any [[tcp|TCP]] connection through the encrypted link. [[ssh|SSH]] uses its own key {{exchange|exchange}} and {{encryption|encryption}} layer independent of [[tls|TLS]], and its agent forwarding feature lets you chain [[ssh|SSH]] connections through jump {{hosts-bare|hosts}} without exposing your {{private-key|private key}}. It became the universal tool for server management, Git operations, and secure automation.', - transition: 'With [[tls|TLS]] protecting web connections and [[ssh|SSH]] securing server access, the foundations of internet security were in place. But there was still a problem: {{http-method|HTTP}} {{encryption|encryption}} was optional, and most sites did not bother. The web needed a forcing function to make {{encryption|encryption}} the default, not the exception...' + transition: + 'With [[tls|TLS]] protecting web connections and [[ssh|SSH]] securing server access, the foundations of internet security were in place. But there was still a problem: {{http-method|HTTP}} {{encryption|encryption}} was optional, and most sites did not bother. The web needed a forcing function to make {{encryption|encryption}} the default, not the exception...' }, { protocolId: 'http2', @@ -169,7 +182,8 @@ export const journeys: Journey[] = [ { id: 'packet-journey', title: 'Journey of a Packet', - description: 'Follow a single packet from creation to delivery on a local network, including diagnostics.', + description: + 'Follow a single packet from creation to delivery on a local network, including diagnostics.', color: '#F472B6', scope: 'network-foundations', steps: [ @@ -177,22 +191,25 @@ export const journeys: Journey[] = [ protocolId: 'ethernet', title: 'Ethernet Framing', description: - 'Every packet\'s journey begins at the network interface card ({{nic|NIC}}), which constructs an [[ethernet|Ethernet]] frame. The {{nic|NIC}} stamps on its own 48-bit {{mac-address|MAC address}} as the source, adds the destination {{mac-address|MAC}}, a type field (0x0800 for [[ip|IPv4]], 0x0806 for [[arp|ARP]]), the {{payload|payload}}, and a 4-byte Frame Check Sequence ({{crc|CRC}}-32) that lets the receiver detect bit errors caused by electrical interference. If any bits are corrupted in {{transit|transit}}, the {{fcs|FCS}} check fails and the frame is silently discarded โ€” no correction, just detection. This is the foundation of all local network communication.', - transition: 'The [[ethernet|Ethernet]] frame is ready to send, but there is a chicken-and-egg problem: your application knows the destination {{ip-address|IP address}} (192.168.1.100), not the destination {{mac-address|MAC address}}. You cannot build an [[ethernet|Ethernet]] frame without a {{mac-address|MAC}}. The network needs a way to translate between these two addressing systems...' + "Every packet's journey begins at the network interface card ({{nic|NIC}}), which constructs an [[ethernet|Ethernet]] frame. The {{nic|NIC}} stamps on its own 48-bit {{mac-address|MAC address}} as the source, adds the destination {{mac-address|MAC}}, a type field (0x0800 for [[ip|IPv4]], 0x0806 for [[arp|ARP]]), the {{payload|payload}}, and a 4-byte Frame Check Sequence ({{crc|CRC}}-32) that lets the receiver detect bit errors caused by electrical interference. If any bits are corrupted in {{transit|transit}}, the {{fcs|FCS}} check fails and the frame is silently discarded โ€” no correction, just detection. This is the foundation of all local network communication.", + transition: + 'The [[ethernet|Ethernet]] frame is ready to send, but there is a chicken-and-egg problem: your application knows the destination {{ip-address|IP address}} (192.168.1.100), not the destination {{mac-address|MAC address}}. You cannot build an [[ethernet|Ethernet]] frame without a {{mac-address|MAC}}. The network needs a way to translate between these two addressing systems...' }, { protocolId: 'arp', title: 'ARP Resolution', description: '[[arp|ARP]] solves the [[ip|IP]]-to-{{mac-address|MAC}} translation with an elegant {{broadcast|broadcast}} mechanism. Your machine sends an [[arp|ARP]] request to the {{broadcast|broadcast}} address (FF:FF:FF:FF:FF:FF) asking "Who has 192.168.1.100? Tell 192.168.1.1." Every device on the {{lan|LAN}} segment hears this, but only the owner of that [[ip|IP]] replies with its {{mac-address|MAC address}}. The mapping is cached in your [[arp|ARP]] table (typically for 20 minutes) so subsequent packets skip the {{broadcast|broadcast}} entirely. You can see your own [[arp|ARP]] cache by running "arp -a" in a terminal. [[arp|ARP]] {{spoofing|spoofing}} โ€” where an attacker sends fake [[arp|ARP]] replies to redirect traffic โ€” is why network security often relies on higher-layer {{encryption|encryption}}.', - transition: 'With the destination {{mac-address|MAC}} resolved, the [[ethernet|Ethernet]] frame can be properly addressed for the local segment. Now the [[ip|IP]] layer needs to make a critical decision: is this packet destined for a machine on the same local network, or does it need to be forwarded to the {{gateway|default gateway}} for routing across the internet?' + transition: + 'With the destination {{mac-address|MAC}} resolved, the [[ethernet|Ethernet]] frame can be properly addressed for the local segment. Now the [[ip|IP]] layer needs to make a critical decision: is this packet destined for a machine on the same local network, or does it need to be forwarded to the {{gateway|default gateway}} for routing across the internet?' }, { protocolId: 'ip', title: 'IP Addressing & Routing', description: - 'The [[ip|IP]] layer makes the key routing decision. It compares the destination [[ip|IP]] against the {{subnet|subnet}} mask to determine if the target is local or remote. If local, [[arp|ARP]] resolves the target\'s {{mac-address|MAC}} directly. If remote, the packet is sent to the {{gateway|default gateway}} (your router), which consults its {{routing-table|routing table}} and forwards it toward the destination, hop by hop. Each router decrements the {{ttl|TTL}} ({{ttl|Time To Live}}, typically starting at 64) by one โ€” when it reaches zero, the packet is discarded to prevent infinite routing loops. The [[ip|IP]] header also includes a header {{checksum|checksum}}, protocol field (6 for [[tcp|TCP]], 17 for [[udp|UDP]]), and {{fragmentation|fragmentation}} controls for packets that exceed a link\'s {{mtu|MTU}}.', - transition: 'The packet has been delivered successfully โ€” but networks are not always healthy. Links go down, routes change, {{hosts-bare|hosts}} become unreachable, and packets get dropped. How does a network administrator diagnose problems and verify that everything is working correctly?' + "The [[ip|IP]] layer makes the key routing decision. It compares the destination [[ip|IP]] against the {{subnet|subnet}} mask to determine if the target is local or remote. If local, [[arp|ARP]] resolves the target's {{mac-address|MAC}} directly. If remote, the packet is sent to the {{gateway|default gateway}} (your router), which consults its {{routing-table|routing table}} and forwards it toward the destination, hop by hop. Each router decrements the {{ttl|TTL}} ({{ttl|Time To Live}}, typically starting at 64) by one โ€” when it reaches zero, the packet is discarded to prevent infinite routing loops. The [[ip|IP]] header also includes a header {{checksum|checksum}}, protocol field (6 for [[tcp|TCP]], 17 for [[udp|UDP]]), and {{fragmentation|fragmentation}} controls for packets that exceed a link's {{mtu|MTU}}.", + transition: + 'The packet has been delivered successfully โ€” but networks are not always healthy. Links go down, routes change, {{hosts-bare|hosts}} become unreachable, and packets get dropped. How does a network administrator diagnose problems and verify that everything is working correctly?' }, { protocolId: 'icmp', @@ -215,20 +232,22 @@ export const journeys: Journey[] = [ title: 'IPv4: The Original Addressing', description: '[[ip|IPv4]], designed in 1981, gives every device a 32-bit address (like 192.168.1.1) and defines how packets are forwarded hop-by-hop through routers. It was brilliantly simple and powered the explosive growth of the internet โ€” but its designers never imagined billions of smartphones, IoT sensors, and cloud instances. With only 4.3 billion possible addresses, [[ip|IPv4]] exhaustion became inevitable. {{nat|NAT}} ({{nat|Network Address Translation}}) bought time by hiding entire private networks behind a single public [[ip|IP]], but it breaks end-to-end connectivity and complicates protocols that embed [[ip|IP]] addresses in their payloads.', - transition: '{{iana|IANA}} allocated the last [[ip|IPv4]] address blocks in 2011. The stopgap of {{nat|NAT}} created a fragile internet where devices could not directly reach each other. A fundamental redesign had been in the works since the 1990s, and the world is finally adopting it...' + transition: + '{{iana|IANA}} allocated the last [[ip|IPv4]] address blocks in 2011. The stopgap of {{nat|NAT}} created a fragile internet where devices could not directly reach each other. A fundamental redesign had been in the works since the 1990s, and the world is finally adopting it...' }, { protocolId: 'ipv6', title: 'IPv6: The Next Generation', description: - '[[ipv6|IPv6]] expands the address space from 32 bits to 128 bits โ€” enough for 340 undecillion addresses (3.4 x 10^38), roughly 100 addresses per atom on Earth\'s surface. But [[ipv6|IPv6]] is not just bigger addresses: it simplifies the packet header (no more header checksums or {{fragmentation|fragmentation}} at intermediate routers), introduces {{slaac|SLAAC}} ({{stateless|Stateless}} Address Auto-Configuration) so devices can {{generate-ac|generate}} their own addresses without [[dhcp|DHCP]], and replaces [[arp|ARP]] with {{ndp|NDP}} ({{ndp|Neighbor Discovery Protocol}}). Most importantly, it restores true end-to-end connectivity โ€” every device gets a globally routable address, eliminating the need for {{nat|NAT}}. The dual-stack transition (running [[ip|IPv4]] and [[ipv6|IPv6]] simultaneously) is well underway: on 28 March 2026 [[ipv6|IPv6]] carried 50.1% of {{google|Google}}\'s traffic for the first time, with US mobile carriers averaging ~87%.', - transition: 'Individual devices now have addresses, but the internet is composed of over 70,000 autonomous systems ({{autonomous-system|AS}}) โ€” independent networks run by ISPs, cloud providers, universities, and enterprises. These networks need a way to discover each other and calculate paths across this vast interconnected mesh...' + "[[ipv6|IPv6]] expands the address space from 32 bits to 128 bits โ€” enough for 340 undecillion addresses (3.4 x 10^38), roughly 100 addresses per atom on Earth's surface. But [[ipv6|IPv6]] is not just bigger addresses: it simplifies the packet header (no more header checksums or {{fragmentation|fragmentation}} at intermediate routers), introduces {{slaac|SLAAC}} ({{stateless|Stateless}} Address Auto-Configuration) so devices can {{generate-ac|generate}} their own addresses without [[dhcp|DHCP]], and replaces [[arp|ARP]] with {{ndp|NDP}} ({{ndp|Neighbor Discovery Protocol}}). Most importantly, it restores true end-to-end connectivity โ€” every device gets a globally routable address, eliminating the need for {{nat|NAT}}. The dual-stack transition (running [[ip|IPv4]] and [[ipv6|IPv6]] simultaneously) is well underway: on 28 March 2026 [[ipv6|IPv6]] carried 50.1% of {{google|Google}}'s traffic for the first time, with US mobile carriers averaging ~87%.", + transition: + 'Individual devices now have addresses, but the internet is composed of over 70,000 autonomous systems ({{autonomous-system|AS}}) โ€” independent networks run by ISPs, cloud providers, universities, and enterprises. These networks need a way to discover each other and calculate paths across this vast interconnected mesh...' }, { protocolId: 'bgp', - title: 'BGP: The Internet\'s Routing Protocol', + title: "BGP: The Internet's Routing Protocol", description: - '[[bgp|BGP]] (Border Gateway Protocol) is the protocol that literally holds the internet together. Each {{autonomous-system|autonomous system}} uses [[bgp|BGP]] to announce which [[ip|IP]] prefixes it owns and which paths it can reach. [[bgp|BGP]] routers at network borders {{exchange|exchange}} these announcements with their peers, building a global map of reachability. Path selection is policy-driven โ€” an {{isp|ISP}} might prefer cheaper {{transit|transit}} providers, avoid routes through certain countries, or favor shorter {{autonomous-system|AS}} paths. When a [[bgp|BGP]] misconfiguration happens (like Pakistan accidentally hijacking YouTube\'s prefix in 2008), large portions of the internet can go dark. Despite carrying the {{routing-table|routing table}} for the entire internet (nearly 1 million [[ip|IPv4]] prefixes), [[bgp|BGP]] runs on surprisingly modest hardware and converges within minutes after topology changes.' + "[[bgp|BGP]] (Border Gateway Protocol) is the protocol that literally holds the internet together. Each {{autonomous-system|autonomous system}} uses [[bgp|BGP]] to announce which [[ip|IP]] prefixes it owns and which paths it can reach. [[bgp|BGP]] routers at network borders {{exchange|exchange}} these announcements with their peers, building a global map of reachability. Path selection is policy-driven โ€” an {{isp|ISP}} might prefer cheaper {{transit|transit}} providers, avoid routes through certain countries, or favor shorter {{autonomous-system|AS}} paths. When a [[bgp|BGP]] misconfiguration happens (like Pakistan accidentally hijacking YouTube's prefix in 2008), large portions of the internet can go dark. Despite carrying the {{routing-table|routing table}} for the entire internet (nearly 1 million [[ip|IPv4]] prefixes), [[bgp|BGP]] runs on surprisingly modest hardware and converges within minutes after topology changes." } ] }, @@ -247,21 +266,24 @@ export const journeys: Journey[] = [ title: 'TCP: The Original', description: '[[tcp|TCP]] has been the workhorse of reliable internet communication since 1981 โ€” it guarantees that every byte arrives, in order, without duplication. Underneath, it uses sequence numbers, acknowledgments, {{retransmission|retransmission}} timers, and sophisticated {{congestion-control|congestion control}} (algorithms like Reno, {{cubic|CUBIC}}, and {{bbr|BBR}} that probe the network to find the optimal sending rate). But [[tcp|TCP]] has a fundamental limitation: it provides a single ordered byte stream. When [[http2|HTTP/2]] multiplexes dozens of requests over one [[tcp|TCP]] connection, a single lost packet blocks ALL streams until it is retransmitted. This {{head-of-line-blocking|head-of-line blocking}} problem becomes increasingly painful as connections carry more concurrent data.', - transition: '[[tcp|TCP]]\'s single-stream design meant that loss in one logical conversation blocked every other conversation sharing the same connection. The telecom industry, which needed to carry multiple independent {{signaling|signaling}} messages simultaneously, developed a different approach...' + transition: + "[[tcp|TCP]]'s single-stream design meant that loss in one logical conversation blocked every other conversation sharing the same connection. The telecom industry, which needed to carry multiple independent {{signaling|signaling}} messages simultaneously, developed a different approach..." }, { protocolId: 'sctp', title: 'SCTP: Multi-Streaming', description: - '[[sctp|SCTP]] was the first transport protocol to tackle {{head-of-line-blocking|head-of-line blocking}} directly. It introduced independent streams within a single association โ€” a lost packet on stream 5 does not stall streams 1 through 4. It also pioneered {{multi-homing|multi-homing}}: an [[sctp|SCTP]] association can span multiple [[ip|IP]] addresses on each endpoint, providing automatic {{failover|failover}} if a network interface goes down. Additionally, [[sctp|SCTP]] preserves message boundaries natively (unlike [[tcp|TCP]]\'s raw byte stream), making it ideal for structured messages like telephony {{signaling|signaling}} ({{ss7|SS7}} over [[ip|IP]]). While it never achieved broad web adoption because most NATs and firewalls do not understand [[sctp|SCTP]] packets, its ideas proved prescient.', - transition: '[[sctp|SCTP]] proved that independent streams eliminate {{head-of-line-blocking|head-of-line blocking}}, and {{multi-homing|multi-homing}} provides resilience. But what if you want to go further โ€” not just failing over between network paths, but actively using multiple paths simultaneously to aggregate {{bandwidth|bandwidth}}?' + "[[sctp|SCTP]] was the first transport protocol to tackle {{head-of-line-blocking|head-of-line blocking}} directly. It introduced independent streams within a single association โ€” a lost packet on stream 5 does not stall streams 1 through 4. It also pioneered {{multi-homing|multi-homing}}: an [[sctp|SCTP]] association can span multiple [[ip|IP]] addresses on each endpoint, providing automatic {{failover|failover}} if a network interface goes down. Additionally, [[sctp|SCTP]] preserves message boundaries natively (unlike [[tcp|TCP]]'s raw byte stream), making it ideal for structured messages like telephony {{signaling|signaling}} ({{ss7|SS7}} over [[ip|IP]]). While it never achieved broad web adoption because most NATs and firewalls do not understand [[sctp|SCTP]] packets, its ideas proved prescient.", + transition: + '[[sctp|SCTP]] proved that independent streams eliminate {{head-of-line-blocking|head-of-line blocking}}, and {{multi-homing|multi-homing}} provides resilience. But what if you want to go further โ€” not just failing over between network paths, but actively using multiple paths simultaneously to aggregate {{bandwidth|bandwidth}}?' }, { protocolId: 'mptcp', title: 'MPTCP: Multiple Paths', description: '{{multipath|Multipath}} [[tcp|TCP]] extends standard [[tcp|TCP]] to use multiple network interfaces simultaneously. Your phone can send data over both [[wifi|WiFi]] and cellular at the same time, aggregating their {{bandwidth|bandwidth}}. If you walk out of [[wifi|WiFi]] range, the cellular {{subflow|subflow}} keeps going seamlessly โ€” no connection drop, no reconnection delay. [[mptcp|MPTCP]] works by establishing multiple [[tcp|TCP]] subflows and distributing data across them using a coupled {{congestion-control|congestion control}} algorithm that balances load fairly. {{apple|Apple}} uses [[mptcp|MPTCP]] in iOS for Siri and Maps, and it powers the seamless [[wifi|WiFi]]-to-cellular transitions you experience daily without noticing. The tradeoff is complexity: schedulers must decide which path gets which data, and reordering at the receiver adds {{latency|latency}}.', - transition: '[[mptcp|MPTCP]] showed the power of using multiple paths, but it still inherits [[tcp|TCP]]\'s fundamental constraints โ€” the {{three-way-handshake|three-way handshake}}, the kernel implementation that is hard to {{bgp-update|update}}, and middlebox interference. A completely new transport protocol, designed with all these lessons in mind, would soon arrive...' + transition: + "[[mptcp|MPTCP]] showed the power of using multiple paths, but it still inherits [[tcp|TCP]]'s fundamental constraints โ€” the {{three-way-handshake|three-way handshake}}, the kernel implementation that is hard to {{bgp-update|update}}, and middlebox interference. A completely new transport protocol, designed with all these lessons in mind, would soon arrive..." }, { protocolId: 'quic', @@ -284,28 +306,31 @@ export const journeys: Journey[] = [ protocolId: 'tcp', title: 'TCP + TLS: The Old Way', description: - 'To load a web page over HTTPS, a browser traditionally needs three sequential round trips before any page data flows: one for the [[tcp|TCP]] {{handshake|handshake}} ({{syn-cookies|SYN}}, {{syn-cookies|SYN}}-{{ack|ACK}}, {{ack|ACK}}), one or two more for [[tls|TLS]] (exchanging cipher suites, certificates, and key material). On a connection with 100ms {{latency|latency}}, that is 200-300ms of pure {{handshake|handshake}} overhead before a single byte of {{html|HTML}} arrives. Even worse, [[http2|HTTP/2]] multiplexes all its streams over a single [[tcp|TCP]] connection, so when one packet is lost, [[tcp|TCP]]\'s {{head-of-line-blocking|head-of-line blocking}} stalls every request โ€” even though the lost data might belong to an unrelated resource like a tiny favicon.', - transition: '{{google|Google}} measured this cost at scale across billions of Chrome connections and realized the overhead was enormous. They wanted {{one-rtt|1-RTT}} connections, {{encryption|encryption}} by default, and no {{head-of-line-blocking|head-of-line blocking}}. But deploying a new transport protocol through the existing internet โ€” full of NATs, firewalls, and middleboxes that drop anything that is not [[tcp|TCP]] or [[udp|UDP]] โ€” seemed impossible. Unless they built on top of something that already works everywhere...' + "To load a web page over HTTPS, a browser traditionally needs three sequential round trips before any page data flows: one for the [[tcp|TCP]] {{handshake|handshake}} ({{syn-cookies|SYN}}, {{syn-cookies|SYN}}-{{ack|ACK}}, {{ack|ACK}}), one or two more for [[tls|TLS]] (exchanging cipher suites, certificates, and key material). On a connection with 100ms {{latency|latency}}, that is 200-300ms of pure {{handshake|handshake}} overhead before a single byte of {{html|HTML}} arrives. Even worse, [[http2|HTTP/2]] multiplexes all its streams over a single [[tcp|TCP]] connection, so when one packet is lost, [[tcp|TCP]]'s {{head-of-line-blocking|head-of-line blocking}} stalls every request โ€” even though the lost data might belong to an unrelated resource like a tiny favicon.", + transition: + '{{google|Google}} measured this cost at scale across billions of Chrome connections and realized the overhead was enormous. They wanted {{one-rtt|1-RTT}} connections, {{encryption|encryption}} by default, and no {{head-of-line-blocking|head-of-line blocking}}. But deploying a new transport protocol through the existing internet โ€” full of NATs, firewalls, and middleboxes that drop anything that is not [[tcp|TCP]] or [[udp|UDP]] โ€” seemed impossible. Unless they built on top of something that already works everywhere...' }, { protocolId: 'udp', title: 'UDP: The Foundation', description: 'The key insight was that [[udp|UDP]] passes through virtually every middlebox on the internet. NATs translate [[udp|UDP]] ports, firewalls allow it, and {{isp|ISP}} equipment does not inspect it. By layering a new protocol on top of [[udp|UDP]], {{google|Google}} could deploy revolutionary transport features without waiting for routers and operating systems to be updated โ€” a process that historically takes decades. [[udp|UDP]] itself adds almost nothing (just 8 bytes of header with ports and a {{checksum|checksum}}), giving [[quic|QUIC]] a blank canvas to build its own reliability, {{encryption|encryption}}, and stream management entirely in userspace. This also means [[quic|QUIC]] can be updated with a browser release, not an {{os|OS}} kernel {{bgp-update|update}}.', - transition: 'With [[udp|UDP]] providing universal reachability through the existing internet infrastructure, the [[quic|QUIC]] engineering team had the foundation they needed. Now they could design the actual transport protocol โ€” combining the reliability lessons of [[tcp|TCP]], the {{encryption|encryption}} of [[tls|TLS]], and the {{multiplexing|multiplexing}} ideas of [[http2|HTTP/2]] into a single, unified protocol...' + transition: + 'With [[udp|UDP]] providing universal reachability through the existing internet infrastructure, the [[quic|QUIC]] engineering team had the foundation they needed. Now they could design the actual transport protocol โ€” combining the reliability lessons of [[tcp|TCP]], the {{encryption|encryption}} of [[tls|TLS]], and the {{multiplexing|multiplexing}} ideas of [[http2|HTTP/2]] into a single, unified protocol...' }, { protocolId: 'quic', title: 'QUIC: The Synthesis', description: - '[[quic|QUIC]] merges transport and security into a single protocol. Its {{handshake|handshake}} combines the connection setup and [[tls|TLS]] 1.3 key {{exchange|exchange}} into one round trip โ€” the client sends its cryptographic parameters in the very first packet, and the server\'s first response is already encrypted. Independent streams within a single [[quic|QUIC]] connection mean a lost packet only blocks the stream it belongs to, not all traffic. Connections are identified by a variable-length Connection {{id-identifier|ID}} rather than the [[ip|IP]]/port 4-tuple, so when you switch from [[wifi|WiFi]] to cellular, the connection migrates seamlessly. And because [[quic|QUIC]] runs in userspace, it can be iterated on monthly rather than waiting years for kernel updates.', - transition: 'With [[quic|QUIC]] providing fast, encrypted, multiplexed transport, the final piece was adapting {{http-method|HTTP}} to take advantage of it. [[http3|HTTP/3]] is not just "[[http2|HTTP/2]] on [[quic|QUIC]]" โ€” it had to be redesigned because [[quic|QUIC]]\'s streams replaced the stream {{multiplexing|multiplexing}} that [[http2|HTTP/2]] implemented over [[tcp|TCP]]...' + "[[quic|QUIC]] merges transport and security into a single protocol. Its {{handshake|handshake}} combines the connection setup and [[tls|TLS]] 1.3 key {{exchange|exchange}} into one round trip โ€” the client sends its cryptographic parameters in the very first packet, and the server's first response is already encrypted. Independent streams within a single [[quic|QUIC]] connection mean a lost packet only blocks the stream it belongs to, not all traffic. Connections are identified by a variable-length Connection {{id-identifier|ID}} rather than the [[ip|IP]]/port 4-tuple, so when you switch from [[wifi|WiFi]] to cellular, the connection migrates seamlessly. And because [[quic|QUIC]] runs in userspace, it can be iterated on monthly rather than waiting years for kernel updates.", + transition: + 'With [[quic|QUIC]] providing fast, encrypted, multiplexed transport, the final piece was adapting {{http-method|HTTP}} to take advantage of it. [[http3|HTTP/3]] is not just "[[http2|HTTP/2]] on [[quic|QUIC]]" โ€” it had to be redesigned because [[quic|QUIC]]\'s streams replaced the stream {{multiplexing|multiplexing}} that [[http2|HTTP/2]] implemented over [[tcp|TCP]]...' }, { protocolId: 'http3', title: 'HTTP/3: The Payoff', description: - '[[http3|HTTP/3]] maps one {{http-method|HTTP}} {{request-response|request-response}} to one [[quic|QUIC]] stream, giving each request independent {{flow-control|flow control}} and loss recovery. A lost packet carrying image data does not block the {{css|CSS}} or JavaScript streams. {{qpack|QPACK}} replaces {{hpack|HPACK}} for header compression (adapted for [[quic|QUIC]]\'s out-of-order delivery), and {{zero-rtt|0-RTT}} resumption lets returning visitors send their first {{http-method|HTTP}} request in the very first packet โ€” zero round-trip {{latency|latency}} for the initial data. On lossy mobile networks, [[http3|HTTP/3]] delivers pages measurably faster than [[http2|HTTP/2]] over [[tcp|TCP]]. As of 2024, over 30% of global web traffic runs on [[http3|HTTP/3]], and adoption is accelerating as CDNs and cloud providers enable it by default.' + "[[http3|HTTP/3]] maps one {{http-method|HTTP}} {{request-response|request-response}} to one [[quic|QUIC]] stream, giving each request independent {{flow-control|flow control}} and loss recovery. A lost packet carrying image data does not block the {{css|CSS}} or JavaScript streams. {{qpack|QPACK}} replaces {{hpack|HPACK}} for header compression (adapted for [[quic|QUIC]]'s out-of-order delivery), and {{zero-rtt|0-RTT}} resumption lets returning visitors send their first {{http-method|HTTP}} request in the very first packet โ€” zero round-trip {{latency|latency}} for the initial data. On lossy mobile networks, [[http3|HTTP/3]] delivers pages measurably faster than [[http2|HTTP/2]] over [[tcp|TCP]]. As of 2024, over 30% of global web traffic runs on [[http3|HTTP/3]], and adoption is accelerating as CDNs and cloud providers enable it by default." } ] }, @@ -314,7 +339,8 @@ export const journeys: Journey[] = [ { id: 'http-timeline', title: 'The HTTP Timeline', - description: 'Three decades of {{http-method|HTTP}} evolution โ€” from [[pioneer:tim-berners-lee|Tim Berners-Lee]]\'s hypertext to [[quic|QUIC]]-powered streams.', + description: + "Three decades of {{http-method|HTTP}} evolution โ€” from [[pioneer:tim-berners-lee|Tim Berners-Lee]]'s hypertext to [[quic|QUIC]]-powered streams.", color: '#00D4FF', scope: 'web-api', steps: [ @@ -323,27 +349,30 @@ export const journeys: Journey[] = [ title: 'HTTP/1.1: The Foundation', description: '[[http1|HTTP/1.1]] (1997) established the web as we know it. It is entirely text-based โ€” you can literally type "GET / [[http1|HTTP/1.1]]" into a telnet session and get a web page back. The {{keep-alive|keep-alive}} header lets a single [[tcp|TCP]] connection serve multiple sequential requests, avoiding the cost of a new {{handshake|handshake}} for each resource. But requests are strictly serialized: the client must wait for each response before sending the next request. Browsers worked around this by opening 6-8 parallel [[tcp|TCP]] connections per domain, and developers invented {{domain-sharding|domain sharding}}, {{css|CSS}} sprites, and resource inlining to reduce the request count. These were hacks born from protocol limitations, and the web was crying out for something better.', - transition: 'By 2015, the average web page required over 100 resources (scripts, stylesheets, images, fonts). Opening 6 connections per domain and serializing requests within each one was an enormous waste of {{bandwidth|bandwidth}} and {{latency|latency}}. The web needed a protocol that could handle many requests simultaneously over a single connection...' + transition: + 'By 2015, the average web page required over 100 resources (scripts, stylesheets, images, fonts). Opening 6 connections per domain and serializing requests within each one was an enormous waste of {{bandwidth|bandwidth}} and {{latency|latency}}. The web needed a protocol that could handle many requests simultaneously over a single connection...' }, { protocolId: 'http2', title: 'HTTP/2: Multiplexed Binary', description: '[[http2|HTTP/2]] (2015) was a ground-up redesign of how {{http-method|HTTP}} frames are encoded and transmitted, while keeping the familiar semantics (GET, POST, headers, status codes) unchanged. It switched from text to a compact {{binary-framing|binary framing}} layer, multiplexes unlimited concurrent streams over a single [[tcp|TCP]] connection, and compresses headers with {{hpack|HPACK}} (using a shared dynamic table that avoids re-sending identical headers like cookies and user-agents). {{server-push|Server push}} lets the server proactively send resources it knows the client will need (like the {{css|CSS}} for a page it just served). All those [[http1|HTTP/1.1]] performance hacks โ€” {{domain-sharding|domain sharding}}, spriting, inlining โ€” became unnecessary and even counterproductive.', - transition: '[[http2|HTTP/2]] eliminated the {{http-method|HTTP}}-layer {{head-of-line-blocking|head-of-line blocking}}, but it exposed a deeper problem: all those multiplexed streams shared a single [[tcp|TCP]] connection. When one [[tcp|TCP]] packet was lost, [[tcp|TCP]]\'s ordered delivery guarantee stalled ALL streams until the {{retransmission|retransmission}} arrived. The protocol needed a new transport layer that would not punish unrelated streams for one stream\'s lost packet...' + transition: + "[[http2|HTTP/2]] eliminated the {{http-method|HTTP}}-layer {{head-of-line-blocking|head-of-line blocking}}, but it exposed a deeper problem: all those multiplexed streams shared a single [[tcp|TCP]] connection. When one [[tcp|TCP]] packet was lost, [[tcp|TCP]]'s ordered delivery guarantee stalled ALL streams until the {{retransmission|retransmission}} arrived. The protocol needed a new transport layer that would not punish unrelated streams for one stream's lost packet..." }, { protocolId: 'http3', title: 'HTTP/3: QUIC-Powered', description: - '[[http3|HTTP/3]] (2022) runs on [[quic|QUIC]] instead of [[tcp|TCP]], finally eliminating {{head-of-line-blocking|head-of-line blocking}} at every layer. Each {{http-method|HTTP}} stream maps to an independent [[quic|QUIC]] stream with its own loss recovery โ€” a dropped packet on one stream cannot block any other. {{qpack|QPACK}} replaces {{hpack|HPACK}} for header compression, adapted for [[quic|QUIC]]\'s potentially out-of-order stream delivery. The integrated [[tls|TLS]] 1.3 {{handshake|handshake}} means a new connection is ready in one round trip, and {{zero-rtt|0-RTT}} resumption for returning visitors means the browser can send its first {{http-method|HTTP}} request instantly. {{connection-migration|Connection migration}} (via [[quic|QUIC]]\'s Connection {{id-identifier|ID}}) means a phone switching from [[wifi|WiFi]] to cellular does not drop the page load. The three decades of {{http-method|HTTP}} evolution culminate here: a fast, encrypted, multiplexed protocol that works well even on lossy mobile networks.' + "[[http3|HTTP/3]] (2022) runs on [[quic|QUIC]] instead of [[tcp|TCP]], finally eliminating {{head-of-line-blocking|head-of-line blocking}} at every layer. Each {{http-method|HTTP}} stream maps to an independent [[quic|QUIC]] stream with its own loss recovery โ€” a dropped packet on one stream cannot block any other. {{qpack|QPACK}} replaces {{hpack|HPACK}} for header compression, adapted for [[quic|QUIC]]'s potentially out-of-order stream delivery. The integrated [[tls|TLS]] 1.3 {{handshake|handshake}} means a new connection is ready in one round trip, and {{zero-rtt|0-RTT}} resumption for returning visitors means the browser can send its first {{http-method|HTTP}} request instantly. {{connection-migration|Connection migration}} (via [[quic|QUIC]]'s Connection {{id-identifier|ID}}) means a phone switching from [[wifi|WiFi]] to cellular does not drop the page load. The three decades of {{http-method|HTTP}} evolution culminate here: a fast, encrypted, multiplexed protocol that works well even on lossy mobile networks." } ] }, { id: 'rest-to-realtime', title: 'REST to Real-Time', - description: 'From simple {{request-response|request-response}} to persistent bidirectional communication.', + description: + 'From simple {{request-response|request-response}} to persistent bidirectional communication.', color: '#00D4FF', scope: 'web-api', steps: [ @@ -352,21 +381,24 @@ export const journeys: Journey[] = [ title: 'REST: Request-Response', description: '[[rest|REST]] (Representational State Transfer) models your {{api|API}} as a collection of resources, each identified by a {{url|URL}}, manipulated through standard {{http-method|HTTP}} methods: GET to read, POST to create, PUT to replace, DELETE to remove. Its {{stateless|stateless}} design means every request carries all the context the server needs โ€” no session state to manage, trivial to cache, easy to scale behind load balancers. [[rest|REST]] dominates web APIs because of this simplicity. But it has a fundamental limitation: the client must ask for updates. If you want real-time stock prices or live chat messages, you are stuck polling โ€” hammering the server with repeated requests, most of which return "nothing new," wasting {{bandwidth|bandwidth}} and battery life.', - transition: 'Polling is like repeatedly calling someone to ask "any news?" โ€” wasteful for both parties. What if the server could simply call you back whenever something interesting happens? The web platform introduced a lightweight mechanism for exactly this kind of one-way push...' + transition: + 'Polling is like repeatedly calling someone to ask "any news?" โ€” wasteful for both parties. What if the server could simply call you back whenever something interesting happens? The web platform introduced a lightweight mechanism for exactly this kind of one-way push...' }, { protocolId: 'sse', title: 'SSE: Server-Sent Events', description: '[[sse|Server-Sent Events]] flip the [[rest|REST]] model on its head: instead of the client polling, the server holds the connection open and pushes events whenever they occur. It works over plain {{http-method|HTTP}} (so it passes through proxies, load balancers, and CDNs without issues), uses a dead-simple text-based format (just "data:" lines), and the browser\'s {{eventsource|EventSource API}} automatically reconnects if the connection drops โ€” even resuming from the last received event {{id-identifier|ID}}. [[sse|SSE]] is perfect for live dashboards, {{notification|notification}} feeds, log tailing, and {{ai|AI}} streaming responses (like ChatGPT\'s token-by-token output). The limitation is that it is one-directional: only the server can push. If the client needs to send messages too, it must use separate {{http-method|HTTP}} requests.', - transition: '[[sse|SSE]] handles server-to-client streaming elegantly, but many applications need truly bidirectional communication โ€” chat applications where both users type simultaneously, multiplayer games with constant input and output, collaborative editors where every keystroke must be {{broadcast|broadcast}}. These need a connection where either side can send at any moment...' + transition: + '[[sse|SSE]] handles server-to-client streaming elegantly, but many applications need truly bidirectional communication โ€” chat applications where both users type simultaneously, multiplayer games with constant input and output, collaborative editors where every keystroke must be {{broadcast|broadcast}}. These need a connection where either side can send at any moment...' }, { protocolId: 'websockets', title: 'WebSockets: Full Duplex', description: '[[websockets|WebSockets]] upgrade an {{http-method|HTTP}} connection into a persistent, {{full-duplex|full-duplex}} channel where both client and server can send messages independently at any time โ€” no request/response pairing required. After the initial {{http-method|HTTP}} upgrade {{handshake|handshake}}, the protocol switches to a lightweight {{binary-framing|binary framing}} format with minimal overhead (as little as 2 bytes per frame). This makes [[websockets|WebSockets]] ideal for chat applications (Slack, Discord), multiplayer gaming (real-time position updates), collaborative editing ({{google|Google}} Docs cursors), and financial trading (live order book updates). The tradeoff is that [[websockets|WebSockets]] are raw pipes โ€” they give you a message channel but impose no structure on what flows through it. You must design your own message formats, error handling, and connection management.', - transition: '[[websockets|WebSockets]] provide raw bidirectional messaging, but for microservice architectures and complex distributed systems, developers need more structure: typed message schemas, automatic code generation for multiple languages, streaming in both directions, and efficient binary {{serialization|serialization}}. Enterprise systems need a proper {{rpc|RPC}} framework...' + transition: + '[[websockets|WebSockets]] provide raw bidirectional messaging, but for microservice architectures and complex distributed systems, developers need more structure: typed message schemas, automatic code generation for multiple languages, streaming in both directions, and efficient binary {{serialization|serialization}}. Enterprise systems need a proper {{rpc|RPC}} framework...' }, { protocolId: 'grpc', @@ -390,14 +422,16 @@ export const journeys: Journey[] = [ title: 'MQTT: Lightweight IoT', description: '[[mqtt|MQTT]] was designed for the harshest conditions: sensors on oil rigs with satellite uplinks, medical devices with intermittent cellular, smart home gadgets on flaky [[wifi|WiFi]]. Its binary protocol is extraordinarily compact โ€” a minimal {{mqtt-publish|publish}} message is just 2 bytes of overhead. Clients {{mqtt-publish|publish}} to hierarchical topics (like "home/kitchen/temperature") and {{mqtt-subscribe|subscribe}} with wildcards ("home/+/temperature" for all rooms). Three QoS levels let you choose between {{fire-and-forget|fire-and-forget}} (QoS 0), acknowledged delivery (QoS 1), and {{exactly-once-delivery|exactly-once delivery}} (QoS 2). The broker handles all routing: publishers and subscribers never need to know about each other, creating clean decoupling. A "{{last-will|Last Will}}" message is even sent automatically if a device disconnects unexpectedly.', - transition: '[[mqtt|MQTT]] excels at getting small messages from constrained devices to a broker, but enterprise systems need more sophisticated message routing. What if you need to route messages based on content, fan out to multiple queues, implement priority ordering, or guarantee transactional processing with dead-letter handling?' + transition: + '[[mqtt|MQTT]] excels at getting small messages from constrained devices to a broker, but enterprise systems need more sophisticated message routing. What if you need to route messages based on content, fan out to multiple queues, implement priority ordering, or guarantee transactional processing with dead-letter handling?' }, { protocolId: 'amqp', title: 'AMQP: Enterprise Messaging', description: '[[amqp|AMQP]] (Advanced Message Queuing Protocol) is the industrial-strength messaging protocol for enterprise systems. It introduces a powerful routing model: producers send messages to exchanges, which route them to queues based on bindings. Different {{exchange|exchange}} types enable different patterns โ€” direct exchanges for point-to-point, fanout for broadcasting to all queues, {{topic|topic}} exchanges for pattern-based routing, and headers exchanges for attribute-based routing. Messages can be persistent (surviving broker restarts), acknowledged (consumers confirm processing), and rejected (dead-lettered for error handling). This architecture powers financial trading systems, healthcare data pipelines, and e-commerce order processing where losing a message could mean losing money or endangering lives.', - transition: '[[amqp|AMQP]] handles complex enterprise routing brilliantly, but what happens when you need to process millions of events per second, replay historical data, and scale horizontally across dozens of servers? Enterprise message brokers were not designed for internet-scale event streaming...' + transition: + '[[amqp|AMQP]] handles complex enterprise routing brilliantly, but what happens when you need to process millions of events per second, replay historical data, and scale horizontally across dozens of servers? Enterprise message brokers were not designed for internet-scale event streaming...' }, { protocolId: 'kafka', @@ -410,8 +444,7 @@ export const journeys: Journey[] = [ { id: 'iot-to-enterprise', title: 'IoT to Enterprise', - description: - 'From constrained sensors to enterprise integrations โ€” messaging at every scale.', + description: 'From constrained sensors to enterprise integrations โ€” messaging at every scale.', color: '#C084FC', scope: 'async-iot', steps: [ @@ -436,7 +469,8 @@ export const journeys: Journey[] = [ title: 'STOMP: Simple Integration', description: '[[stomp|STOMP]] (Simple Text Oriented Messaging Protocol) is the {{http-method|HTTP}} of messaging โ€” entirely text-based and human-readable, making it trivial to debug with basic tools. Commands like {{mqtt-connect|CONNECT}}, {{mqtt-subscribe|SUBSCRIBE}}, SEND, and {{ack|ACK}} are self-explanatory, and any developer who understands {{http-method|HTTP}} can integrate [[stomp|STOMP]] in minutes. Web applications commonly use [[stomp|STOMP]] over [[websockets|WebSockets]], enabling browser-based dashboards to {{mqtt-subscribe|subscribe}} to IoT data feeds in real time. Message brokers like RabbitMQ and ActiveMQ support [[stomp|STOMP]] alongside their native protocols, making it the easiest on-ramp for connecting web frontends to messaging infrastructure. The tradeoff is efficiency: text headers and no compression mean more overhead than binary protocols.', - transition: '[[stomp|STOMP]] makes integration easy, but enterprise data processing demands more โ€” content-based routing that sends alerts only to the right team, transactional message handling that guarantees no order is processed twice, dead-letter queues for failed processing, and priority ordering for time-sensitive data. These requirements call for a full-featured enterprise messaging protocol...' + transition: + '[[stomp|STOMP]] makes integration easy, but enterprise data processing demands more โ€” content-based routing that sends alerts only to the right team, transactional message handling that guarantees no order is processed twice, dead-letter queues for failed processing, and priority ordering for time-sensitive data. These requirements call for a full-featured enterprise messaging protocol...' }, { protocolId: 'amqp', @@ -451,8 +485,7 @@ export const journeys: Journey[] = [ { id: 'video-call', title: 'Building a Video Call', - description: - 'The protocols that make real-time video communication possible in the browser.', + description: 'The protocols that make real-time video communication possible in the browser.', color: '#FF9F67', scope: 'realtime-av', steps: [ @@ -468,7 +501,7 @@ export const journeys: Journey[] = [ protocolId: 'rtp', title: 'RTP: Media Transport', description: - '[[rtp|RTP]] (Real-time Transport Protocol) is the workhorse that carries the actual audio and video data. Each [[rtp|RTP]] packet includes a timestamp (essential for playing audio and video at the right moment, even if packets arrive out of order), a {{sequence-number|sequence number}} (for detecting lost packets), a {{payload|payload}} type identifier (so the receiver knows which {{codec|codec}} to use for decoding), and synchronization source identifiers (for distinguishing multiple media streams). [[rtp|RTP]] runs over [[udp|UDP]] because real-time media cannot afford [[tcp|TCP]]\'s {{retransmission|retransmission}} delays โ€” a 200ms-old video frame is useless, so it is better to skip it and show the next one. Its companion protocol {{rtcp|RTCP}} provides feedback: receiver reports on packet loss and {{jitter|jitter}} help the sender adapt its bitrate in real time.', + "[[rtp|RTP]] (Real-time Transport Protocol) is the workhorse that carries the actual audio and video data. Each [[rtp|RTP]] packet includes a timestamp (essential for playing audio and video at the right moment, even if packets arrive out of order), a {{sequence-number|sequence number}} (for detecting lost packets), a {{payload|payload}} type identifier (so the receiver knows which {{codec|codec}} to use for decoding), and synchronization source identifiers (for distinguishing multiple media streams). [[rtp|RTP]] runs over [[udp|UDP]] because real-time media cannot afford [[tcp|TCP]]'s {{retransmission|retransmission}} delays โ€” a 200ms-old video frame is useless, so it is better to skip it and show the next one. Its companion protocol {{rtcp|RTCP}} provides feedback: receiver reports on packet loss and {{jitter|jitter}} help the sender adapt its bitrate in real time.", transition: '[[rtp|RTP]] handles media transport beautifully, but building a video call in a web browser involves much more than just sending packets. Peers are usually behind NATs and firewalls, all media must be encrypted, and browsers need a JavaScript {{api|API}} to access cameras and microphones. A comprehensive framework is needed to tie everything together...' }, @@ -492,9 +525,9 @@ export const journeys: Journey[] = [ protocolId: 'rtmp', title: 'RTMP: Legacy Streaming', description: - '[[rtmp|RTMP]] (Real-Time Messaging Protocol) was developed by Macromedia for Flash Player and became the dominant live streaming protocol for over a decade. It maintains a persistent [[tcp|TCP]] connection and multiplexes audio, video, and data messages into interleaved chunks, achieving low {{latency|latency}} (1-3 seconds) for live broadcasts. [[rtmp|RTMP]] powered early YouTube live, Twitch, and Facebook Live. However, it required specialized streaming servers (like Adobe Media Server or Wowza), could not pass through many firewalls and proxies, and while Flash Player\'s end-of-life in 2020 ended [[rtmp|RTMP]]\'s use for playback, the protocol survives as a widely-used ingest format โ€” streamers still use [[rtmp|RTMP]] to send video from OBS to platforms like Twitch, which then transcode and redistribute via modern protocols.', + "[[rtmp|RTMP]] (Real-Time Messaging Protocol) was developed by Macromedia for Flash Player and became the dominant live streaming protocol for over a decade. It maintains a persistent [[tcp|TCP]] connection and multiplexes audio, video, and data messages into interleaved chunks, achieving low {{latency|latency}} (1-3 seconds) for live broadcasts. [[rtmp|RTMP]] powered early YouTube live, Twitch, and Facebook Live. However, it required specialized streaming servers (like Adobe Media Server or Wowza), could not pass through many firewalls and proxies, and while Flash Player's end-of-life in 2020 ended [[rtmp|RTMP]]'s use for playback, the protocol survives as a widely-used ingest format โ€” streamers still use [[rtmp|RTMP]] to send video from OBS to platforms like Twitch, which then transcode and redistribute via modern protocols.", transition: - '[[rtmp|RTMP]]\'s dependence on Flash and specialized servers was its downfall. The insight that changed everything was simple: what if you broke video into small files and served them over plain {{http-method|HTTP}}? Suddenly any web server, any {{cdn|CDN}}, and any {{http-method|HTTP}} cache in the world could deliver video without special software...' + "[[rtmp|RTMP]]'s dependence on Flash and specialized servers was its downfall. The insight that changed everything was simple: what if you broke video into small files and served them over plain {{http-method|HTTP}}? Suddenly any web server, any {{cdn|CDN}}, and any {{http-method|HTTP}} cache in the world could deliver video without special software..." }, { protocolId: 'hls', @@ -534,7 +567,7 @@ export const journeys: Journey[] = [ protocolId: 'tls', title: 'TLS: Encryption', description: - '[[tls|TLS]] is the {{encryption|encryption}} layer that makes secure internet communication possible. During the {{handshake|handshake}}, the server presents a {{certificate|certificate}} signed by a trusted {{certificate-authority|Certificate Authority}}, proving it is who it claims to be (authentication). Both sides negotiate a {{cipher-suite|cipher suite}} and perform a key {{exchange|exchange}} (typically {{ecdhe|ECDHE}} โ€” Elliptic Curve Diffie-Hellman Ephemeral) to create shared session keys that provide {{forward-secrecy|forward secrecy}}: even if the server\'s long-term {{private-key|private key}} is later compromised, past recorded sessions cannot be decrypted. Every byte of application data is then encrypted (confidentiality) and authenticated with a {{mac-address|MAC}} (integrity). [[tls|TLS]] 1.3 simplified the protocol dramatically, removing insecure legacy algorithms, reducing the {{handshake|handshake}} to one round trip, and making {{zero-rtt|0-RTT}} resumption possible for repeat connections.', + "[[tls|TLS]] is the {{encryption|encryption}} layer that makes secure internet communication possible. During the {{handshake|handshake}}, the server presents a {{certificate|certificate}} signed by a trusted {{certificate-authority|Certificate Authority}}, proving it is who it claims to be (authentication). Both sides negotiate a {{cipher-suite|cipher suite}} and perform a key {{exchange|exchange}} (typically {{ecdhe|ECDHE}} โ€” Elliptic Curve Diffie-Hellman Ephemeral) to create shared session keys that provide {{forward-secrecy|forward secrecy}}: even if the server's long-term {{private-key|private key}} is later compromised, past recorded sessions cannot be decrypted. Every byte of application data is then encrypted (confidentiality) and authenticated with a {{mac-address|MAC}} (integrity). [[tls|TLS]] 1.3 simplified the protocol dramatically, removing insecure legacy algorithms, reducing the {{handshake|handshake}} to one round trip, and making {{zero-rtt|0-RTT}} resumption possible for repeat connections.", transition: '[[tls|TLS]] protects the data flowing over network connections, but server administrators need more than encrypted web traffic โ€” they need to securely log into remote machines, transfer configuration files, and set up encrypted tunnels. A purpose-built protocol for secure remote access emerged to fill this gap...' }, @@ -549,8 +582,7 @@ export const journeys: Journey[] = [ { id: 'network-bootstrap', title: 'Getting Online', - description: - 'The chain of protocols that runs every time a device connects to a network.', + description: 'The chain of protocols that runs every time a device connects to a network.', color: '#2DD4BF', scope: 'utilities', steps: [ @@ -566,7 +598,7 @@ export const journeys: Journey[] = [ protocolId: 'ntp', title: 'NTP: Sync the Clock', description: - '[[ntp|NTP]] (Network Time Protocol) synchronizes your device\'s clock with atomic time references accurate to billionths of a second. It uses a clever algorithm that sends multiple time-stamped packets to upstream servers, measures the round-trip delay, and calculates the {{offset|offset}} between your clock and the server\'s clock โ€” compensating for the asymmetric network {{latency|latency}}. [[ntp|NTP]] organizes time sources in a stratum hierarchy: stratum 0 is the atomic clock itself, stratum 1 servers {{mqtt-connect|connect}} directly to those clocks, stratum 2 servers sync from stratum 1, and so on. Accurate time is not just a convenience โ€” [[tls|TLS]] certificates that appear expired due to {{clock-drift|clock drift}} will be rejected, distributed databases use timestamps for conflict resolution, and forensic logging is useless if you cannot trust when events occurred.', + "[[ntp|NTP]] (Network Time Protocol) synchronizes your device's clock with atomic time references accurate to billionths of a second. It uses a clever algorithm that sends multiple time-stamped packets to upstream servers, measures the round-trip delay, and calculates the {{offset|offset}} between your clock and the server's clock โ€” compensating for the asymmetric network {{latency|latency}}. [[ntp|NTP]] organizes time sources in a stratum hierarchy: stratum 0 is the atomic clock itself, stratum 1 servers {{mqtt-connect|connect}} directly to those clocks, stratum 2 servers sync from stratum 1, and so on. Accurate time is not just a convenience โ€” [[tls|TLS]] certificates that appear expired due to {{clock-drift|clock drift}} will be rejected, distributed databases use timestamps for conflict resolution, and forensic logging is useless if you cannot trust when events occurred.", transition: 'Your device now has a network address ([[dhcp|DHCP]]) and an accurate clock ([[ntp|NTP]]). The infrastructure is ready. But when you type "gmail.com" into a browser, the network needs to translate that human-friendly name into a machine-routable {{ip-address|IP address}}...' }, @@ -599,14 +631,16 @@ export const journeys: Journey[] = [ title: 'REST: Resources and URLs', description: '[[rest|REST]] (Representational State Transfer) models every piece of data as a resource with a unique {{url|URL}}. Clients interact using standard {{http-method|HTTP}} methods: GET to read, POST to create, PUT to replace, DELETE to remove. [[rest|REST]] APIs are {{stateless|stateless}} โ€” every request contains all the information needed to process it, making them easy to cache and scale. The trade-off is rigidity: clients get fixed data structures, often leading to {{over-fetching|over-fetching}} (getting fields they do not need) or under-fetching (needing multiple requests to assemble a view). [[rest|REST]] dominates the web because of its simplicity, but complex UIs with deeply nested data often outgrow it.', - transition: '[[rest|REST]] APIs work well for simple {{crud|CRUD}} operations, but mobile and single-page apps often need data from many related resources in a single screen. What if the client could specify exactly the data it needs in one request?' + transition: + '[[rest|REST]] APIs work well for simple {{crud|CRUD}} operations, but mobile and single-page apps often need data from many related resources in a single screen. What if the client could specify exactly the data it needs in one request?' }, { protocolId: 'graphql', title: 'GraphQL: Ask for Exactly What You Need', description: '[[graphql|GraphQL]] lets clients send a query describing exactly the shape of the data they want, and the server returns only that โ€” no more, no less. A single query can traverse relationships (user โ†’ posts โ†’ comments) that would require multiple [[rest|REST]] endpoints. The schema is typed and introspectable, making APIs self-documenting. Mutations handle writes, and subscriptions push real-time updates over [[websockets|WebSockets]]. The trade-off: the server must resolve arbitrary query shapes, making caching harder (no {{url|URL}}-based caching), rate-limiting more complex (a single query can be expensive), and N+1 database problems common without careful DataLoader usage.', - transition: '[[graphql|GraphQL]] gives clients flexibility, but its text-based {{json|JSON}} format adds overhead. For internal microservice communication where both sides are controlled by the same team, is there an even more efficient option?' + transition: + '[[graphql|GraphQL]] gives clients flexibility, but its text-based {{json|JSON}} format adds overhead. For internal microservice communication where both sides are controlled by the same team, is there an even more efficient option?' }, { protocolId: 'grpc', @@ -629,14 +663,16 @@ export const journeys: Journey[] = [ title: 'OAuth 2.0: Delegated Authorization', description: '[[oauth2|OAuth]] 2.0 solves a fundamental problem: how can a third-party app access your data without knowing your password? Instead of sharing credentials, [[oauth2|OAuth]] uses an authorization server as an intermediary. You authenticate directly with the provider ({{google|Google}}, GitHub), approve specific permissions (scopes), and the provider issues a time-limited {{access-token|access token}} to the app. The Authorization Code flow with {{pkce|PKCE}} is the standard for web and mobile apps โ€” it uses a code verifier to prevent interception attacks. Refresh tokens allow silent re-authentication without user interaction. [[oauth2|OAuth]] is authorization (what you can access), not authentication (who you are) โ€” OpenID {{mqtt-connect|Connect}} adds the identity layer on top.', - transition: '[[oauth2|OAuth]] tokens travel over the network as Bearer tokens in {{http-method|HTTP}} headers. But how are those {{http-method|HTTP}} connections themselves protected from eavesdroppers? The answer is the {{encryption|encryption}} layer that secures virtually all internet traffic...' + transition: + '[[oauth2|OAuth]] tokens travel over the network as Bearer tokens in {{http-method|HTTP}} headers. But how are those {{http-method|HTTP}} connections themselves protected from eavesdroppers? The answer is the {{encryption|encryption}} layer that secures virtually all internet traffic...' }, { protocolId: 'tls', title: 'TLS: Encrypted Channels', description: - '[[tls|TLS]] protects every [[oauth2|OAuth]] token, every {{api|API}} key, and every password in {{transit|transit}}. During the {{handshake|handshake}}, the server proves its identity with a {{certificate|certificate}} signed by a trusted {{certificate-authority|Certificate Authority}}, and both sides negotiate {{encryption|encryption}} parameters. The key {{exchange|exchange}} ({{ecdhe|ECDHE}}) generates ephemeral session keys that provide {{forward-secrecy|forward secrecy}} โ€” even if the server\'s {{private-key|private key}} is later compromised, past sessions remain secure. [[tls|TLS]] 1.3 streamlined this to a single round trip and removed all insecure legacy algorithms. Without [[tls|TLS]], [[oauth2|OAuth]] tokens would be visible to anyone on the network path.', - transition: '[[tls|TLS]] secures data in {{transit|transit}} over the network. But system administrators need a different kind of secure access โ€” interactive shell sessions, file transfers, and tunnels to remote machines. A purpose-built protocol provides this with a different trust model...' + "[[tls|TLS]] protects every [[oauth2|OAuth]] token, every {{api|API}} key, and every password in {{transit|transit}}. During the {{handshake|handshake}}, the server proves its identity with a {{certificate|certificate}} signed by a trusted {{certificate-authority|Certificate Authority}}, and both sides negotiate {{encryption|encryption}} parameters. The key {{exchange|exchange}} ({{ecdhe|ECDHE}}) generates ephemeral session keys that provide {{forward-secrecy|forward secrecy}} โ€” even if the server's {{private-key|private key}} is later compromised, past sessions remain secure. [[tls|TLS]] 1.3 streamlined this to a single round trip and removed all insecure legacy algorithms. Without [[tls|TLS]], [[oauth2|OAuth]] tokens would be visible to anyone on the network path.", + transition: + '[[tls|TLS]] secures data in {{transit|transit}} over the network. But system administrators need a different kind of secure access โ€” interactive shell sessions, file transfers, and tunnels to remote machines. A purpose-built protocol provides this with a different trust model...' }, { protocolId: 'ssh', @@ -659,20 +695,22 @@ export const journeys: Journey[] = [ title: 'ICMP: Is It Alive?', description: 'When something goes wrong on a network, [[icmp|ICMP]] is the first tool you reach for. The {{ping|ping}} command sends an [[icmp|ICMP]] {{echo-request|Echo Request}} to a host and measures the time until the {{echo-reply|Echo Reply}} comes back โ€” giving you {{rtt|round-trip time}}, packet loss percentage, and basic reachability in one command. {{traceroute|Traceroute}} exploits [[icmp|ICMP]] in a clever way: it sends packets with incrementally increasing {{ttl|TTL}} ({{ttl|Time to Live}}) values. Each router along the path decrements the {{ttl|TTL}}, and when it hits zero, that router sends back an [[icmp|ICMP]] {{time-exceeded|Time Exceeded}} message โ€” revealing its identity and distance. This traces the exact path packets take across the internet, exposing where {{latency|latency}} spikes or failures occur.', - transition: '[[icmp|ICMP]] told you whether a host is reachable and traced the network path to get there. But what if the problem is not routing โ€” what if the hostname itself is not resolving to the right {{ip-address|IP address}}? [[dns|DNS]] issues are one of the most common causes of "the internet is broken"...' + transition: + '[[icmp|ICMP]] told you whether a host is reachable and traced the network path to get there. But what if the problem is not routing โ€” what if the hostname itself is not resolving to the right {{ip-address|IP address}}? [[dns|DNS]] issues are one of the most common causes of "the internet is broken"...' }, { protocolId: 'dns', title: 'DNS: Is It Resolving?', description: '[[dns|DNS]] problems masquerade as total network failures โ€” everything seems down, but the real issue is name resolution. The dig command queries [[dns|DNS]] servers directly, showing you exactly which records are returned, which {{nameserver|nameserver}} answered, the {{ttl|TTL}} remaining on cached entries, and the full query chain. You can query specific record types (A, {{aaaa-record|AAAA}}, {{mx-record|MX}}, {{cname-record|CNAME}}, {{ns-record|NS}}) and specific [[dns|DNS]] servers to isolate whether the problem is your local resolver, the authoritative server, or caching. Common issues include stale cached records (wait for {{ttl|TTL}} expiry or flush the cache), misconfigured {{ns-record|NS}} delegations, missing or incorrect A/{{aaaa-record|AAAA}} records, and {{dnssec|DNSSEC}} validation failures.', - transition: '[[dns|DNS]] resolved the hostname to an {{ip-address|IP address}}, and [[icmp|ICMP]] confirmed the host is reachable at the network layer. But on a local network, there is one more address translation that happens invisibly โ€” if this layer breaks, devices on the same {{subnet|subnet}} cannot communicate at all...' + transition: + '[[dns|DNS]] resolved the hostname to an {{ip-address|IP address}}, and [[icmp|ICMP]] confirmed the host is reachable at the network layer. But on a local network, there is one more address translation that happens invisibly โ€” if this layer breaks, devices on the same {{subnet|subnet}} cannot communicate at all...' }, { protocolId: 'arp', title: 'ARP: Is Layer 2 Working?', description: - '[[arp|ARP]] operates at the boundary between [[ip|IP]] addresses and physical hardware. When your machine knows the [[ip|IP]] of a target on the same {{subnet|subnet}}, it still needs the target\'s {{mac-address|MAC address}} to build an [[ethernet|Ethernet]] frame. [[arp|ARP]] broadcasts a request to the entire {{lan|LAN}}, and the target responds with its {{mac-address|MAC address}}. The arp command shows the local [[arp|ARP]] cache โ€” mapping IPs to MACs โ€” and can reveal subtle issues: stale entries pointing to decommissioned hardware, duplicate [[ip|IP]] addresses (two MACs responding for the same [[ip|IP]]), or [[arp|ARP]] poisoning attacks where a malicious device claims to be the gateway. On modern networks, [[arp|ARP]] issues are rare but devastating when they occur, often causing intermittent connectivity that is maddeningly difficult to diagnose without checking the [[arp|ARP]] table directly.' + "[[arp|ARP]] operates at the boundary between [[ip|IP]] addresses and physical hardware. When your machine knows the [[ip|IP]] of a target on the same {{subnet|subnet}}, it still needs the target's {{mac-address|MAC address}} to build an [[ethernet|Ethernet]] frame. [[arp|ARP]] broadcasts a request to the entire {{lan|LAN}}, and the target responds with its {{mac-address|MAC address}}. The arp command shows the local [[arp|ARP]] cache โ€” mapping IPs to MACs โ€” and can reveal subtle issues: stale entries pointing to decommissioned hardware, duplicate [[ip|IP]] addresses (two MACs responding for the same [[ip|IP]]), or [[arp|ARP]] poisoning attacks where a malicious device claims to be the gateway. On modern networks, [[arp|ARP]] issues are rare but devastating when they occur, often causing intermittent connectivity that is maddeningly difficult to diagnose without checking the [[arp|ARP]] table directly." } ] }, @@ -689,14 +727,16 @@ export const journeys: Journey[] = [ title: 'TCP: The Reliable Foundation', description: '[[tcp|TCP]] was designed for fixed networks where connections are stable and endpoints do not move. It binds a connection to a 4-tuple: source [[ip|IP]], source port, destination [[ip|IP]], destination port. This works perfectly on desktops and servers, but on mobile devices it creates a fragile assumption โ€” the moment your phone switches from [[wifi|Wi-Fi]] to cellular (or between cell towers), your {{ip-address|IP address}} changes, and every [[tcp|TCP]] connection silently breaks. The application must detect the failure, re-establish the [[tcp|TCP]] {{handshake|handshake}}, re-negotiate [[tls|TLS]], and re-authenticate. For a video call or file download, this means a visible interruption.', - transition: '[[tcp|TCP]] ties connections to [[ip|IP]] addresses, making them fragile on mobile networks. What if a single connection could span multiple network interfaces simultaneously, surviving handoffs without the application even noticing?' + transition: + '[[tcp|TCP]] ties connections to [[ip|IP]] addresses, making them fragile on mobile networks. What if a single connection could span multiple network interfaces simultaneously, surviving handoffs without the application even noticing?' }, { protocolId: 'mptcp', title: 'MPTCP: Multiple Paths', description: '{{multipath|Multipath}} [[tcp|TCP]] extends [[tcp|TCP]] to use multiple network paths simultaneously. A phone can send data over both [[wifi|Wi-Fi]] and cellular at the same time, seamlessly shifting traffic when one path degrades. When you walk out of [[wifi|Wi-Fi]] range, [[mptcp|MPTCP]] gracefully migrates the connection to cellular without dropping a single byte โ€” the application sees one uninterrupted [[tcp|TCP]] stream. {{apple|Apple}} has used [[mptcp|MPTCP]] in iOS since 2013 (for Siri and {{apple|Apple}} Maps) and it is enabled system-wide in iOS 17+. [[mptcp|MPTCP]] is backward-compatible: it falls back to regular [[tcp|TCP]] when the other endpoint does not support it. The trade-off is complexity โ€” middleboxes (firewalls, NATs) sometimes strip the [[mptcp|MPTCP]] options they do not understand.', - transition: '[[mptcp|MPTCP]] adds resilience to [[tcp|TCP]], but it inherits [[tcp|TCP]]\'s fundamental limitations: {{head-of-line-blocking|head-of-line blocking}}, ossified middleboxes, and a kernel-level implementation that is slow to deploy. A ground-up redesign built on [[udp|UDP]] avoids all of these constraints...' + transition: + "[[mptcp|MPTCP]] adds resilience to [[tcp|TCP]], but it inherits [[tcp|TCP]]'s fundamental limitations: {{head-of-line-blocking|head-of-line blocking}}, ossified middleboxes, and a kernel-level implementation that is slow to deploy. A ground-up redesign built on [[udp|UDP]] avoids all of these constraints..." }, { protocolId: 'quic', @@ -718,17 +758,17 @@ export const journeys: Journey[] = [ protocolId: 'dns', title: 'DNS: Find the Mail Server', description: - 'When you send an email to user@example.com, your mail server does not just look up example.com\'s {{ip-address|IP address}} โ€” it queries [[dns|DNS]] for {{mx-record|MX}} (Mail {{exchange|Exchange}}) records, a special record type that specifies which servers accept email for that domain and their priority ordering. A domain might have multiple {{mx-record|MX}} records (mx1.example.com at priority 10, mx2.example.com at priority 20) for redundancy โ€” if the primary mail server is down, the sender automatically tries the backup. Your server also checks {{spf|SPF}} records (which IPs are authorized to send for that domain), {{dkim|DKIM}} records (public keys for verifying message signatures), and {{dmarc|DMARC}} records (the domain\'s policy for handling authentication failures). This [[dns|DNS]] step is where email security begins.', + "When you send an email to user@example.com, your mail server does not just look up example.com's {{ip-address|IP address}} โ€” it queries [[dns|DNS]] for {{mx-record|MX}} (Mail {{exchange|Exchange}}) records, a special record type that specifies which servers accept email for that domain and their priority ordering. A domain might have multiple {{mx-record|MX}} records (mx1.example.com at priority 10, mx2.example.com at priority 20) for redundancy โ€” if the primary mail server is down, the sender automatically tries the backup. Your server also checks {{spf|SPF}} records (which IPs are authorized to send for that domain), {{dkim|DKIM}} records (public keys for verifying message signatures), and {{dmarc|DMARC}} records (the domain's policy for handling authentication failures). This [[dns|DNS]] step is where email security begins.", transition: - 'The [[dns|DNS]] lookup revealed exactly which servers accept mail for the recipient\'s domain, along with their priority ordering. Now your mail server opens a [[tcp|TCP]] connection to the highest-priority {{mx-record|MX}} server and begins the [[smtp|SMTP]] dialogue to deliver the message...' + "The [[dns|DNS]] lookup revealed exactly which servers accept mail for the recipient's domain, along with their priority ordering. Now your mail server opens a [[tcp|TCP]] connection to the highest-priority {{mx-record|MX}} server and begins the [[smtp|SMTP]] dialogue to deliver the message..." }, { protocolId: 'smtp', title: 'SMTP: Send the Email', description: - '[[smtp|SMTP]] is one of the oldest internet protocols still in active use โ€” its text-based command dialogue has remained remarkably stable since 1982. Your mail server connects to the recipient\'s {{mx-record|MX}} server and they {{exchange|exchange}} greetings ({{ehlo|EHLO}}, which also advertises supported extensions like {{starttls|STARTTLS}} and SIZE). After upgrading to an encrypted connection via {{starttls|STARTTLS}}, the envelope is defined: {{smtp-mail-from|MAIL FROM}} specifies the bounce address, {{smtp-rcpt-to|RCPT TO}} identifies the recipient(s). Then the {{smtp-data|DATA}} command signals that the message body follows โ€” headers (From, To, Subject, Date, Message-{{id-identifier|ID}}), {{mime|MIME}} parts (text/plain, text/html), and base64-encoded attachments, terminated by a lone period on a line. The receiving server may relay the message through additional hops (forwarding, mailing lists) before final delivery to the recipient\'s mailbox.', + "[[smtp|SMTP]] is one of the oldest internet protocols still in active use โ€” its text-based command dialogue has remained remarkably stable since 1982. Your mail server connects to the recipient's {{mx-record|MX}} server and they {{exchange|exchange}} greetings ({{ehlo|EHLO}}, which also advertises supported extensions like {{starttls|STARTTLS}} and SIZE). After upgrading to an encrypted connection via {{starttls|STARTTLS}}, the envelope is defined: {{smtp-mail-from|MAIL FROM}} specifies the bounce address, {{smtp-rcpt-to|RCPT TO}} identifies the recipient(s). Then the {{smtp-data|DATA}} command signals that the message body follows โ€” headers (From, To, Subject, Date, Message-{{id-identifier|ID}}), {{mime|MIME}} parts (text/plain, text/html), and base64-encoded attachments, terminated by a lone period on a line. The receiving server may relay the message through additional hops (forwarding, mailing lists) before final delivery to the recipient's mailbox.", transition: - 'The email has traversed the internet and landed safely in the recipient\'s mailbox on their mail server. But it is just sitting there as a file on a remote disk โ€” the recipient needs a way to discover it, download it, organize it into folders, and keep everything synchronized across their phone, laptop, and web client...' + "The email has traversed the internet and landed safely in the recipient's mailbox on their mail server. But it is just sitting there as a file on a remote disk โ€” the recipient needs a way to discover it, download it, organize it into folders, and keep everything synchronized across their phone, laptop, and web client..." }, { protocolId: 'imap', @@ -754,34 +794,38 @@ export const journeys: Journey[] = [ title: 'JSON-RPC: The Wire Format', description: 'Before {{ai|AI}} protocols existed, [[json-rpc|JSON-RPC]] 2.0 was already the wire format of choice for infrastructure โ€” Ethereum nodes, Bitcoin Core, and the {{lsp|Language Server Protocol}} in VS Code all spoke [[json-rpc|JSON-RPC]]. Its appeal was radical simplicity: send a {{json|JSON}} object with a method name, params, and an {{id-identifier|ID}}; get back a result or error with the same {{id-identifier|ID}}. No schema files, no code generation, no binary encoding. When {{anthropic|Anthropic}} and {{google|Google}} independently designed their {{ai|AI}} protocols, both chose [[json-rpc|JSON-RPC]] 2.0 as the foundation โ€” not because it was trendy, but because it was the simplest thing that could possibly work.', - transition: '[[json-rpc|JSON-RPC]] provides the wire framing, but it says nothing about what methods should exist, what parameters they should take, or how {{ai|AI}} applications should discover tools. A higher-level protocol was needed to define the semantics of {{ai|AI}} tool use...' + transition: + '[[json-rpc|JSON-RPC]] provides the wire framing, but it says nothing about what methods should exist, what parameters they should take, or how {{ai|AI}} applications should discover tools. A higher-level protocol was needed to define the semantics of {{ai|AI}} tool use...' }, { protocolId: 'mcp', title: 'MCP: Connecting Agents to Tools', description: 'The Model Context Protocol solves the Nร—M integration problem. Before [[mcp|MCP]], connecting Claude to your database required custom code โ€” different from connecting it to GitHub, different from Slack. [[mcp|MCP]] provides a universal interface: an [[mcp|MCP]] server exposes tools (actions the {{llm|LLM}} can invoke), resources (data it can read), and prompts (templates it can use). The three-step initialization {{handshake|handshake}} negotiates capabilities, then the {{ai|AI}} host discovers available tools via tools/list and invokes them via tools/call. A single host can {{mqtt-connect|connect}} to dozens of [[mcp|MCP]] servers simultaneously โ€” one for your database, one for git, one for Slack โ€” all through the same protocol.', - transition: '[[mcp|MCP]] beautifully connects a single agent to its tools. But what happens when the task requires multiple specialized agents โ€” a travel agent, a research agent, a booking agent โ€” each with their own tools and expertise? A different protocol handles that layer of coordination...' + transition: + '[[mcp|MCP]] beautifully connects a single agent to its tools. But what happens when the task requires multiple specialized agents โ€” a travel agent, a research agent, a booking agent โ€” each with their own tools and expertise? A different protocol handles that layer of coordination...' }, { protocolId: 'a2a', title: 'A2A: Connecting Agents to Agents', description: - 'The Agent-to-Agent Protocol picks up where [[mcp|MCP]] leaves off. While [[mcp|MCP]] is vertical (agent-to-tools), [[a2a|A2A]] is horizontal (agent-to-agent). Each agent publishes an {{agent-card|Agent Card}} at /.well-known/agent.{{json|json}} describing its skills and capabilities. A coordinator agent discovers specialist agents, delegates tasks via message/send, and receives structured results as Artifacts. Tasks have a full lifecycle โ€” submitted, working, input-required, completed โ€” with [[sse|SSE]] streaming for real-time progress. The key design insight is {{opacity|opacity}}: you don\'t see another agent\'s internal reasoning or tool usage, only its skills and outputs. This allows agents from different vendors, built with different frameworks, to collaborate seamlessly.', - transition: 'In a production system, [[a2a|A2A]] and [[mcp|MCP]] work together. The coordinator uses [[a2a|A2A]] to delegate to a specialist, and that specialist uses [[mcp|MCP]] internally to access its tools. But both protocols rely on the same real-time streaming mechanism to deliver incremental results...' + "The Agent-to-Agent Protocol picks up where [[mcp|MCP]] leaves off. While [[mcp|MCP]] is vertical (agent-to-tools), [[a2a|A2A]] is horizontal (agent-to-agent). Each agent publishes an {{agent-card|Agent Card}} at /.well-known/agent.{{json|json}} describing its skills and capabilities. A coordinator agent discovers specialist agents, delegates tasks via message/send, and receives structured results as Artifacts. Tasks have a full lifecycle โ€” submitted, working, input-required, completed โ€” with [[sse|SSE]] streaming for real-time progress. The key design insight is {{opacity|opacity}}: you don't see another agent's internal reasoning or tool usage, only its skills and outputs. This allows agents from different vendors, built with different frameworks, to collaborate seamlessly.", + transition: + 'In a production system, [[a2a|A2A]] and [[mcp|MCP]] work together. The coordinator uses [[a2a|A2A]] to delegate to a specialist, and that specialist uses [[mcp|MCP]] internally to access its tools. But both protocols rely on the same real-time streaming mechanism to deliver incremental results...' }, { protocolId: 'sse', title: 'SSE: Streaming AI Responses', description: - '[[sse|Server-Sent Events]] tie everything together at the transport level. When an [[mcp|MCP]] tool takes time to produce results, the server upgrades its [[http1|HTTP]] response to an [[sse|SSE]] stream, pushing progress {{notification|notifications}} and partial results as events. When an [[a2a|A2A]] agent works on a long task, it streams TaskStatusUpdate and TaskArtifactUpdate events via [[sse|SSE]]. Even the token-by-token streaming you see in chat interfaces is [[sse|SSE]] under the hood. The {{eventsource|EventSource API}}\'s auto-reconnection means that if the connection drops mid-stream, the client reconnects and resumes from the last event {{id-identifier|ID}} โ€” no data lost, no user intervention needed.' + "[[sse|Server-Sent Events]] tie everything together at the transport level. When an [[mcp|MCP]] tool takes time to produce results, the server upgrades its [[http1|HTTP]] response to an [[sse|SSE]] stream, pushing progress {{notification|notifications}} and partial results as events. When an [[a2a|A2A]] agent works on a long task, it streams TaskStatusUpdate and TaskArtifactUpdate events via [[sse|SSE]]. Even the token-by-token streaming you see in chat interfaces is [[sse|SSE]] under the hood. The {{eventsource|EventSource API}}'s auto-reconnection means that if the connection drops mid-stream, the client reconnects and resumes from the last event {{id-identifier|ID}} โ€” no data lost, no user intervention needed." } ] }, { id: 'api-evolution', title: 'From REST to AI Protocols', - description: 'The evolution of web APIs โ€” from resource-oriented [[rest|REST]] to {{ai|AI}}-native protocols.', + description: + 'The evolution of web APIs โ€” from resource-oriented [[rest|REST]] to {{ai|AI}}-native protocols.', color: '#00D4FF', scope: 'global', steps: [ @@ -789,35 +833,39 @@ export const journeys: Journey[] = [ protocolId: 'rest', title: 'REST: The Foundation', description: - '[[pioneer:roy-fielding|Roy Fielding]]\'s 2000 dissertation defined [[rest|REST]] as an architectural style: use [[http1|HTTP]] verbs for operations, URLs for resources, and make everything {{stateless|stateless}}. [[rest|REST]] dominated the {{api|API}} landscape for two decades because of its simplicity โ€” any language with an [[http1|HTTP]] client could call a [[rest|REST]] {{api|API}}. But [[rest|REST]] was designed for human developers building web applications, not for {{ai|AI}} systems that need to dynamically discover and invoke capabilities. {{over-fetching|Over-fetching}}, under-fetching, and the lack of machine-readable schemas were annoyances for developers but blockers for autonomous agents.', - transition: '[[rest|REST]] served the web brilliantly for human-to-machine communication. But as systems grew more complex, developers needed richer patterns โ€” typed contracts, efficient {{serialization|serialization}}, and flexible data fetching...' + "[[pioneer:roy-fielding|Roy Fielding]]'s 2000 dissertation defined [[rest|REST]] as an architectural style: use [[http1|HTTP]] verbs for operations, URLs for resources, and make everything {{stateless|stateless}}. [[rest|REST]] dominated the {{api|API}} landscape for two decades because of its simplicity โ€” any language with an [[http1|HTTP]] client could call a [[rest|REST]] {{api|API}}. But [[rest|REST]] was designed for human developers building web applications, not for {{ai|AI}} systems that need to dynamically discover and invoke capabilities. {{over-fetching|Over-fetching}}, under-fetching, and the lack of machine-readable schemas were annoyances for developers but blockers for autonomous agents.", + transition: + '[[rest|REST]] served the web brilliantly for human-to-machine communication. But as systems grew more complex, developers needed richer patterns โ€” typed contracts, efficient {{serialization|serialization}}, and flexible data fetching...' }, { protocolId: 'grpc', title: 'gRPC: Typed, Efficient RPC', description: - '{{google|Google}}\'s internal {{rpc|RPC}} system, Stubby, handled billions of requests per day. When they open-sourced it as [[grpc|gRPC]] in 2015, it brought {{protocol-buffers|protocol buffers}} (binary {{serialization|serialization}} 3-10x smaller than {{json|JSON}}), [[http2|HTTP/2]] {{multiplexing|multiplexing}}, and streaming to the developer community. For the first time, {{api|API}} contracts were machine-enforced at compile time via .proto files. The tradeoff was complexity โ€” code generation, [[http2|HTTP/2]] requirements, and binary payloads that couldn\'t be debugged with curl. But for service-to-service communication at scale, [[grpc|gRPC]] was a revelation.', - transition: '[[grpc|gRPC]] optimized for machine-to-machine efficiency, but it required schema compilation and couldn\'t easily serve browser clients. What if there was something in between โ€” human-readable like [[rest|REST]] but with typed schemas and flexible querying?' + "{{google|Google}}'s internal {{rpc|RPC}} system, Stubby, handled billions of requests per day. When they open-sourced it as [[grpc|gRPC]] in 2015, it brought {{protocol-buffers|protocol buffers}} (binary {{serialization|serialization}} 3-10x smaller than {{json|JSON}}), [[http2|HTTP/2]] {{multiplexing|multiplexing}}, and streaming to the developer community. For the first time, {{api|API}} contracts were machine-enforced at compile time via .proto files. The tradeoff was complexity โ€” code generation, [[http2|HTTP/2]] requirements, and binary payloads that couldn't be debugged with curl. But for service-to-service communication at scale, [[grpc|gRPC]] was a revelation.", + transition: + "[[grpc|gRPC]] optimized for machine-to-machine efficiency, but it required schema compilation and couldn't easily serve browser clients. What if there was something in between โ€” human-readable like [[rest|REST]] but with typed schemas and flexible querying?" }, { protocolId: 'json-rpc', title: 'JSON-RPC: The Minimal Wire Format', description: - 'While [[rest|REST]] and [[grpc|gRPC]] dominated mainstream APIs, a quieter revolution was happening in infrastructure. [[json-rpc|JSON-RPC]] 2.0 โ€” a one-page spec for calling methods by name over {{json|JSON}} โ€” became the backbone of Ethereum\'s blockchain {{api|API}}, Bitcoin Core, and {{microsoft|Microsoft}}\'s {{lsp|Language Server Protocol}}. Its appeal was radical simplicity: no {{url|URL}} routing, no [[http1|HTTP]] verb semantics, no schema compilation. Just a method name, params, and an {{id-identifier|ID}}. The spec was so simple and transport-agnostic ([[http1|HTTP]], [[websockets|WebSocket]], {{stdio|stdio}}, [[tcp|TCP]]) that it became the natural foundation for the next generation of protocols.', - transition: '[[json-rpc|JSON-RPC]] proved that method-oriented {{rpc|RPC}} over {{json|JSON}} was powerful enough for critical infrastructure. When the {{ai|AI}} revolution demanded new protocols for tool use and agent collaboration, [[json-rpc|JSON-RPC]] was the obvious wire format...' + "While [[rest|REST]] and [[grpc|gRPC]] dominated mainstream APIs, a quieter revolution was happening in infrastructure. [[json-rpc|JSON-RPC]] 2.0 โ€” a one-page spec for calling methods by name over {{json|JSON}} โ€” became the backbone of Ethereum's blockchain {{api|API}}, Bitcoin Core, and {{microsoft|Microsoft}}'s {{lsp|Language Server Protocol}}. Its appeal was radical simplicity: no {{url|URL}} routing, no [[http1|HTTP]] verb semantics, no schema compilation. Just a method name, params, and an {{id-identifier|ID}}. The spec was so simple and transport-agnostic ([[http1|HTTP]], [[websockets|WebSocket]], {{stdio|stdio}}, [[tcp|TCP]]) that it became the natural foundation for the next generation of protocols.", + transition: + '[[json-rpc|JSON-RPC]] proved that method-oriented {{rpc|RPC}} over {{json|JSON}} was powerful enough for critical infrastructure. When the {{ai|AI}} revolution demanded new protocols for tool use and agent collaboration, [[json-rpc|JSON-RPC]] was the obvious wire format...' }, { protocolId: 'mcp', title: 'MCP: AI-Native Tool Access', description: - 'In November 2024, {{anthropic|Anthropic}} released the Model Context Protocol โ€” the first protocol designed specifically for {{ai|AI}} applications. Built on [[json-rpc|JSON-RPC]] 2.0, [[mcp|MCP]] provides dynamic tool discovery (tools/list returns {{json|JSON}} Schema definitions that LLMs can understand), resource access (files, database rows, {{api|API}} responses), and prompt templates. The key insight was that {{ai|AI}} applications don\'t just need APIs โ€” they need self-describing APIs that an {{llm|LLM}} can discover, understand, and invoke autonomously. Within a year, Claude, ChatGPT, Copilot, Cursor, and VS Code all spoke [[mcp|MCP]], with over 10,000 [[mcp|MCP]] servers in production.', - transition: '[[mcp|MCP]] connected {{ai|AI}} agents to tools, solving the integration problem. But the next challenge was bigger: how do you get multiple {{ai|AI}} agents โ€” potentially from different vendors, built with different frameworks โ€” to collaborate on complex tasks?' + "In November 2024, {{anthropic|Anthropic}} released the Model Context Protocol โ€” the first protocol designed specifically for {{ai|AI}} applications. Built on [[json-rpc|JSON-RPC]] 2.0, [[mcp|MCP]] provides dynamic tool discovery (tools/list returns {{json|JSON}} Schema definitions that LLMs can understand), resource access (files, database rows, {{api|API}} responses), and prompt templates. The key insight was that {{ai|AI}} applications don't just need APIs โ€” they need self-describing APIs that an {{llm|LLM}} can discover, understand, and invoke autonomously. Within a year, Claude, ChatGPT, Copilot, Cursor, and VS Code all spoke [[mcp|MCP]], with over 10,000 [[mcp|MCP]] servers in production.", + transition: + '[[mcp|MCP]] connected {{ai|AI}} agents to tools, solving the integration problem. But the next challenge was bigger: how do you get multiple {{ai|AI}} agents โ€” potentially from different vendors, built with different frameworks โ€” to collaborate on complex tasks?' }, { protocolId: 'a2a', title: 'A2A: AI-Native Agent Collaboration', description: - '{{google|Google}}\'s Agent-to-Agent Protocol, announced in April 2025, completed the picture. Where [[mcp|MCP]] connects agents to tools, [[a2a|A2A]] connects agents to each other. An agent publishes its skills in an {{agent-card|Agent Card}}, and other agents discover it, delegate tasks, and receive structured results โ€” all without knowing anything about the internal implementation. The task lifecycle (submitted โ†’ working โ†’ completed) with [[sse|SSE]] streaming provides the coordination primitives that multi-agent systems need. Together, [[mcp|MCP]] and [[a2a|A2A]] form the two-protocol foundation of the agentic {{ai|AI}} era โ€” donated to the {{linux|Linux}} Foundation as open industry standards.' + "{{google|Google}}'s Agent-to-Agent Protocol, announced in April 2025, completed the picture. Where [[mcp|MCP]] connects agents to tools, [[a2a|A2A]] connects agents to each other. An agent publishes its skills in an {{agent-card|Agent Card}}, and other agents discover it, delegate tasks, and receive structured results โ€” all without knowing anything about the internal implementation. The task lifecycle (submitted โ†’ working โ†’ completed) with [[sse|SSE]] streaming provides the coordination primitives that multi-agent systems need. Together, [[mcp|MCP]] and [[a2a|A2A]] form the two-protocol foundation of the agentic {{ai|AI}} era โ€” donated to the {{linux|Linux}} Foundation as open industry standards." } ] }, @@ -836,35 +884,40 @@ export const journeys: Journey[] = [ title: 'Field on โ€” phone harvests power inductively', description: "The terminal's antenna is radiating a 13.56 MHz magnetic field continuously. When you bring your phone within ~4 cm, the phone's [[nfc|NFC]] controller and {{ese|embedded Secure Element}} harvest microwatts directly from the field โ€” no battery contribution needed on the {{se-secure-element|SE}} side. This is the {{inductive-coupling|inductive coupling}} that makes [[nfc|NFC]] work: magnetic field falls off as 1/rยณ, which is exactly why 10 cm is a feature, not a bug. The biometric release (Face {{id-identifier|ID}} / Touch {{id-identifier|ID}}) had to happen *before* this point โ€” the eSE applet is now armed and waiting.", - transition: 'The phone is powered and the terminal needs to discover what kind of card is in the field. {{iso|ISO}} 14443-3 defines a tight {{anti-collision|anti-collision}} sequence โ€” {{reqa|REQA}} / {{atqa|ATQA}} / {{sel-iso|SEL}} / {{sak|SAK}} โ€” that completes in under 20 ms...' + transition: + 'The phone is powered and the terminal needs to discover what kind of card is in the field. {{iso|ISO}} 14443-3 defines a tight {{anti-collision|anti-collision}} sequence โ€” {{reqa|REQA}} / {{atqa|ATQA}} / {{sel-iso|SEL}} / {{sak|SAK}} โ€” that completes in under 20 ms...' }, { protocolId: 'nfc', title: 'Anti-collision + RATS/ATS โ€” negotiate framing', description: - "The terminal sends a 7-bit `0x26` {{reqa|REQA}}. The eSE replies with **{{atqa|ATQA}}** declaring a 4-byte {{uid|UID}} and standard {{anti-collision|anti-collision}}. The terminal then runs the bit-frame {{anti-collision|anti-collision}} loop (`{{sel-iso|SEL}}=0x93`, `NVB=0x20` โ†’ {{uid|UID}} โ†’ `NVB=0x70`) to converge on the {{frame|frame}} {{uid|UID}}, ending in **{{sak|SAK}}** = `0x28` โ€” bit 6 set means *I speak {{iso|ISO}} 14443-4*. The terminal sends **{{rats|RATS}}**, the eSE replies with **{{ats-nfc|ATS}}** declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know how to {{packet|packet}}ise the {{emv-cryptogram|EMV}} {{exchange|exchange}}.", - transition: "With 14443-4 framing established, the terminal switches into {{iso|ISO}} 7816-4 {{apdu|APDU}} mode and asks the canonical {{emv-cryptogram|EMV}} opening question: *which payment networks do you support?*" + 'The terminal sends a 7-bit `0x26` {{reqa|REQA}}. The eSE replies with **{{atqa|ATQA}}** declaring a 4-byte {{uid|UID}} and standard {{anti-collision|anti-collision}}. The terminal then runs the bit-frame {{anti-collision|anti-collision}} loop (`{{sel-iso|SEL}}=0x93`, `NVB=0x20` โ†’ {{uid|UID}} โ†’ `NVB=0x70`) to converge on the {{frame|frame}} {{uid|UID}}, ending in **{{sak|SAK}}** = `0x28` โ€” bit 6 set means *I speak {{iso|ISO}} 14443-4*. The terminal sends **{{rats|RATS}}**, the eSE replies with **{{ats-nfc|ATS}}** declaring its frame-size budget (FSCI=5 = 64 bytes max). Both ends now know how to {{packet|packet}}ise the {{emv-cryptogram|EMV}} {{exchange|exchange}}.', + transition: + 'With 14443-4 framing established, the terminal switches into {{iso|ISO}} 7816-4 {{apdu|APDU}} mode and asks the canonical {{emv-cryptogram|EMV}} opening question: *which payment networks do you support?*' }, { protocolId: 'nfc', title: 'SELECT PPSE โ†’ SELECT AID โ€” enumerate payment apps', description: - "The terminal sends `00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31` โ€” {{imap-select|SELECT}} **{{ppse|PPSE}}** (Proximity Payment System Environment, the magic {{aid|AID}} `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid|AID}} it supports in priority order โ€” Mastercard `A0000000041010`, Visa `A0000000031010`, etc. The terminal picks the highest-priority one and SELECTs it; the card returns its **{{pdol|PDOL}}** โ€” the list of {{emv-cryptogram|EMV}} tags the card needs filled in to compute the cryptogram (amount, currency, country, terminal type, Unpredictable Number).", - transition: 'The card now knows what payment network it is on; the terminal knows what data the card wants. Time to bind the transaction: amount, currency, a fresh random {{nonce|nonce}}.' + 'The terminal sends `00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31` โ€” {{imap-select|SELECT}} **{{ppse|PPSE}}** (Proximity Payment System Environment, the magic {{aid|AID}} `2PAY.SYS.DDF01`). The eSE returns an FCI Template listing every payment {{aid|AID}} it supports in priority order โ€” Mastercard `A0000000041010`, Visa `A0000000031010`, etc. The terminal picks the highest-priority one and SELECTs it; the card returns its **{{pdol|PDOL}}** โ€” the list of {{emv-cryptogram|EMV}} tags the card needs filled in to compute the cryptogram (amount, currency, country, terminal type, Unpredictable Number).', + transition: + 'The card now knows what payment network it is on; the terminal knows what data the card wants. Time to bind the transaction: amount, currency, a fresh random {{nonce|nonce}}.' }, { protocolId: 'nfc', title: 'GENERATE AC โ€” the cryptogram', description: - "After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and {{read-record|READ RECORD}} ร—N (pulling the **{{dpan|DPAN}}**, expiry, {{certificate-chain|certificate chain}}), the terminal sends `80 AE 80 00` {{generate-ac|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amount, currency, country, TVR, {{atc|ATC}}, Unpredictable Number, AIP) and runs them through {{aes|AES}}-{{mac-address|MAC}} under the per-{{dpan|DPAN}} key, producing the **{{emv-cryptogram|Application Cryptogram (ARQC)}}**. The {{anti-replay|ATC}} (Application Transaction Counter) has already incremented by 1; the cryptogram is unforgeable without the eSE key.", - transition: "The cryptogram is now in the terminal's hand. But the eSE has no online connection โ€” it can't authorise the transaction itself. The terminal needs to send the {{arqc|ARQC}} to the issuer bank, which is somewhere on the other end of the carrier network..." + 'After GET PROCESSING OPTIONS (returning AIP+{{afl|AFL}}) and {{read-record|READ RECORD}} ร—N (pulling the **{{dpan|DPAN}}**, expiry, {{certificate-chain|certificate chain}}), the terminal sends `80 AE 80 00` {{generate-ac|GENERATE AC}} with the filled CDOL1 data. The eSE composes the inputs (amount, currency, country, TVR, {{atc|ATC}}, Unpredictable Number, AIP) and runs them through {{aes|AES}}-{{mac-address|MAC}} under the per-{{dpan|DPAN}} key, producing the **{{emv-cryptogram|Application Cryptogram (ARQC)}}**. The {{anti-replay|ATC}} (Application Transaction Counter) has already incremented by 1; the cryptogram is unforgeable without the eSE key.', + transition: + "The cryptogram is now in the terminal's hand. But the eSE has no online connection โ€” it can't authorise the transaction itself. The terminal needs to send the {{arqc|ARQC}} to the issuer bank, which is somewhere on the other end of the carrier network..." }, { protocolId: 'cellular', title: 'Backhaul over LTE / 5G to the acquirer', description: "Modern wireless POS terminals (Square, Stripe, Verifone Engage) send the {{arqc|ARQC}} to the acquirer over [[cellular|cellular]] data โ€” {{lte|LTE}} Cat-1 or 5G in 2026. The terminal opens a [[tls|TLS]] connection to the acquirer's {{api|API}} endpoint, posts a {{json|JSON}} body containing the cryptogram + transaction details. The carrier core wraps the [[ip|IP]] traffic in **{{gtp-u|GTP-U}} over [[ipsec|IPsec ESP]]** between the gNB and {{upf|UPF}} โ€” per {{3gpp|3GPP}} {{ts-3gpp|TS}} 33.501, every backhaul {{hop|hop}} is IPsec-wrapped. The single largest enterprise [[ipsec|IPsec]] deployment on Earth lives inside this layer.", - transition: "The cryptogram reaches the acquirer; the acquirer routes it through the payment network (Mastercard / Visa) to the issuing bank's {{hsm|HSM}}..." + transition: + "The cryptogram reaches the acquirer; the acquirer routes it through the payment network (Mastercard / Visa) to the issuing bank's {{hsm|HSM}}..." }, { protocolId: 'tls', @@ -888,21 +941,24 @@ export const journeys: Journey[] = [ title: 'BLE advertising โ€” the car says hello on ch 37/38/39', description: "The car's {{ble|BLE}} radio broadcasts `{{adv-ind|ADV_IND}}` on advertising channels 37 (2402 MHz), 38 (2426 MHz), and 39 (2480 MHz) every 100 ms or so โ€” three channels carefully chosen to avoid [[wifi|Wi-Fi]]'s 1/6/11. The advert carries the {{ccc-digital-key|CCC Digital Key}} service {{uuid|UUID}} and an ephemeral identifier. Your iPhone (or Galaxy, or {{android|Android}} phone with {{aliro|Aliro}}) scans those channels continuously. When the phone sees the car's {{uuid|UUID}}, it sends `{{connect-ind|CONNECT_IND}}` โ€” switching both radios from advertising channels to one of the 37 data channels โ€” and the {{ble|BLE}} link is up.", - transition: '{{ble|BLE}} is now connected, but {{ble|BLE}} alone proved insecure in 2022 โ€” Sultan Qasim Khan unlocked a parked Tesla from 25 m using $50 of dev boards by relaying the {{ble|BLE}} signals. {{ccc-digital-key|CCC Digital Key}} 3.0 fixes this with a layered cryptographic + physical defence...' + transition: + '{{ble|BLE}} is now connected, but {{ble|BLE}} alone proved insecure in 2022 โ€” Sultan Qasim Khan unlocked a parked Tesla from 25 m using $50 of dev boards by relaying the {{ble|BLE}} signals. {{ccc-digital-key|CCC Digital Key}} 3.0 fixes this with a layered cryptographic + physical defence...' }, { protocolId: 'bluetooth', title: 'GATT pairing + SPAKE2+ authentication', description: - "Over the {{ble|BLE}} encrypted channel, the car and the phone run **{{spake2|SPAKE2}}+ / {{pake|PAKE}}** authentication โ€” the car proves it has the right vehicle key, the phone proves it has the right Digital Key applet in its {{ese|embedded Secure Element}}. {{apdu|APDUs}} flow over {{gatt|GATT}} carrying the {{emv-cryptogram|EMV}}-style {{certificate-chain|certificate chain}}. Both sides now share session keys. The next critical message: the car sends the phone the **STS_KEY** โ€” a 128-bit {{aes|AES}} key for the upcoming [[uwb|UWB]] ranging session โ€” over the now-encrypted {{ble|BLE}} channel. [[uwb|UWB]] has no power-efficient discovery of its own; {{ble|BLE}} provides the on-ramp.", - transition: 'The phone has the STS_KEY. The car has the STS_KEY. Both fire up their [[uwb|UWB]] radios for the ranging round that proves *the phone is actually here*, not relayed from across the parking lot...' + 'Over the {{ble|BLE}} encrypted channel, the car and the phone run **{{spake2|SPAKE2}}+ / {{pake|PAKE}}** authentication โ€” the car proves it has the right vehicle key, the phone proves it has the right Digital Key applet in its {{ese|embedded Secure Element}}. {{apdu|APDUs}} flow over {{gatt|GATT}} carrying the {{emv-cryptogram|EMV}}-style {{certificate-chain|certificate chain}}. Both sides now share session keys. The next critical message: the car sends the phone the **STS_KEY** โ€” a 128-bit {{aes|AES}} key for the upcoming [[uwb|UWB]] ranging session โ€” over the now-encrypted {{ble|BLE}} channel. [[uwb|UWB]] has no power-efficient discovery of its own; {{ble|BLE}} provides the on-ramp.', + transition: + 'The phone has the STS_KEY. The car has the STS_KEY. Both fire up their [[uwb|UWB]] radios for the ranging round that proves *the phone is actually here*, not relayed from across the parking lot...' }, { protocolId: 'uwb', title: 'UWB DS-TWR โ€” three messages, six timestamps, cm-class distance', description: - "The phone transmits a **Poll** RFRAME on [[uwb|UWB]] Channel 9 (7987.2 MHz, 499.2 MHz {{bandwidth|bandwidth}}, {{bprf|BPRF}} mode, 6.81 Mbps). The frame carries a 32-chip **{{sts|STS}}** (Scrambled Timestamp Sequence) generated by `{{aes-128|AES-128}}-CTR(STS_KEY, {{nonce|nonce}})` โ€” the {{aes|AES}}-keyed pulse pattern an attacker without STS_KEY cannot predict. The phone records `t1 = TX timestamp` at the {{sfd|SFD}} with ~15 ps resolution. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1` (~200 ยตs), transmits **Response** carrying t2 + t3. Phone records t4 = RX. Phone delays by T_reply2, transmits **Final** carrying t1, t4, t5. Car records t6 = RX. All six timestamps now exist.", - transition: 'The car can now compute {{tof-ranging|time-of-flight}}. The cross-product formula cancels relative {{clock-drift|clock drift}} to first order โ€” {{ds-twr|DS-TWR}} is insensitive to 20 ppm crystal offsets. Multiply ToF by the speed of light and you have distance...' + 'The phone transmits a **Poll** RFRAME on [[uwb|UWB]] Channel 9 (7987.2 MHz, 499.2 MHz {{bandwidth|bandwidth}}, {{bprf|BPRF}} mode, 6.81 Mbps). The frame carries a 32-chip **{{sts|STS}}** (Scrambled Timestamp Sequence) generated by `{{aes-128|AES-128}}-CTR(STS_KEY, {{nonce|nonce}})` โ€” the {{aes|AES}}-keyed pulse pattern an attacker without STS_KEY cannot predict. The phone records `t1 = TX timestamp` at the {{sfd|SFD}} with ~15 ps resolution. The car (multiple anchors typically) RX-timestamps at t2, delays by `T_reply1` (~200 ยตs), transmits **Response** carrying t2 + t3. Phone records t4 = RX. Phone delays by T_reply2, transmits **Final** carrying t1, t4, t5. Car records t6 = RX. All six timestamps now exist.', + transition: + 'The car can now compute {{tof-ranging|time-of-flight}}. The cross-product formula cancels relative {{clock-drift|clock drift}} to first order โ€” {{ds-twr|DS-TWR}} is insensitive to 20 ppm crystal offsets. Multiply ToF by the speed of light and you have distance...' }, { protocolId: 'uwb', @@ -926,27 +982,30 @@ export const journeys: Journey[] = [ title: 'Beacon Request โ€” joiner asks "any networks?"', description: "The new bulb powers on, has no parent yet, and broadcasts an {{ieee-802-15-4|IEEE 802.15.4}} {{mac-address|MAC}} Command `0x07` (**Beacon Request**) on its channel โ€” picked from {15, 20, 25, 26} to dodge [[wifi|Wi-Fi]] 1/6/11 at 2412/2437/2462 MHz. Every {{zigbee-router|Zigbee router}} with permit-joining enabled responds with a **Beacon**: the {{pan-id|PAN ID}}, the Coordinator's {{short-address|short address}} (0x0000), the Stack Profile (Zigbee PRO), and the Permit-Joining flag. The joiner picks the best parent by {{rssi|RSSI}} + LQI. This is the slowest step โ€” beacon scanning can take 2โ€“4 seconds across all candidate channels.", - transition: 'The bulb has picked a parent. Now it needs a {{short-address|short address}} โ€” a 16-bit local identifier much cheaper than its 64-bit {{eui-64|EUI-64}} on every frame for the rest of its life on this network...' + transition: + 'The bulb has picked a parent. Now it needs a {{short-address|short address}} โ€” a 16-bit local identifier much cheaper than its 64-bit {{eui-64|EUI-64}} on every frame for the rest of its life on this network...' }, { protocolId: 'zigbee', title: 'Association Request + Response โ€” get a short address', description: "The bulb sends {{mac-address|MAC}} Command `0x01` (**{{association-request|Association Request}}**) with its Capability byte (`0x8E` = {{ffd|FFD}}, mains-powered, security-capable, allocate-short). The Coordinator allocates a unique 16-bit {{short-address|short address}} (e.g. `0x3F4E`) and replies with {{mac-address|MAC}} Command `0x02` (**{{association-response|Association Response}}**). The bulb is now associated with the network at the {{mac-address|MAC}} layer โ€” but it doesn't have the **{{network-key|network key}}** yet, which means it can't decrypt or {{encryption|encrypt}} any actual Zigbee frames. The critical security step is next.", - transition: 'Without the {{network-key|network key}} the bulb is useless. The Coordinator (acting as {{trust-center|Trust Center}}) needs to securely deliver it โ€” and how it does that is the single most important security decision in the whole Zigbee architecture...' + transition: + 'Without the {{network-key|network key}} the bulb is useless. The Coordinator (acting as {{trust-center|Trust Center}}) needs to securely deliver it โ€” and how it does that is the single most important security decision in the whole Zigbee architecture...' }, { protocolId: 'zigbee', title: 'APS Transport-Key โ€” the network key, encrypted at the application layer', description: "The Coordinator sends an **{{aps-layer|APS}} Transport-Key** command (cmd `0x05`) containing the 128-bit {{aes|AES}} {{network-key|network key}}, **{{encryption|encrypted}} under the joiner's pre-configured link key**. With a per-device {{install-code|install code}} (printed on the Hue bulb's box as a QR code), that link key is unique and an eavesdropper at join cannot decrypt this frame. With the default *ZigBeeAlliance09* link key (universally known: `5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39`), an eavesdropper *can* โ€” this is the canonical Zigbee sniffer-at-join attack. Zigbee R23's **{{dynamic-link-key|Dynamic Link Key}}** with SPEKE-over-{{curve25519|Curve25519}} removes the question entirely.", - transition: "The bulb now has both a {{short-address|short address}} and the {{network-key|network key}}. It can encrypt frames and join the mesh as a router for its neighbours. Time to announce its arrival..." + transition: + 'The bulb now has both a {{short-address|short address}} and the {{network-key|network key}}. It can encrypt frames and join the mesh as a router for its neighbours. Time to announce its arrival...' }, { protocolId: 'zigbee', title: 'Device Announce + first ZCL command', description: - "The bulb {{zigbee-nwk|NWK}}-broadcasts a **Device Announce** {{zigbee-zdo|ZDO}} message (cluster `0x0013`): *I am 0x3F4E, {{eui-64|EUI-64}} = โ€ฆ, capability = mains-powered router*. Every router on the mesh adds the new bulb to its {{routing-table|routing}} and binding tables. The Hue app now appears to discover the bulb. Tapping the on/off toggle sends a single **{{zcl|ZCL}} OnOff.Toggle** command โ€” {{aps-layer|APS}} profile `0x0104` (Home Automation), cluster `0x0006` (OnOff), command `0x02` (Toggle). The whole on-the-wire {{payload|payload}}, including all 802.15.4 + {{zigbee-nwk|NWK}} + {{aps-layer|APS}} + {{zcl|ZCL}} {{header|headers}} + {{aes|AES}}-{{ccm-mode|CCM}}* {{mic|MIC}}, fits in ~40 bytes. The bulb turns on. From boot to first command: ~4 seconds." + 'The bulb {{zigbee-nwk|NWK}}-broadcasts a **Device Announce** {{zigbee-zdo|ZDO}} message (cluster `0x0013`): *I am 0x3F4E, {{eui-64|EUI-64}} = โ€ฆ, capability = mains-powered router*. Every router on the mesh adds the new bulb to its {{routing-table|routing}} and binding tables. The Hue app now appears to discover the bulb. Tapping the on/off toggle sends a single **{{zcl|ZCL}} OnOff.Toggle** command โ€” {{aps-layer|APS}} profile `0x0104` (Home Automation), cluster `0x0006` (OnOff), command `0x02` (Toggle). The whole on-the-wire {{payload|payload}}, including all 802.15.4 + {{zigbee-nwk|NWK}} + {{aps-layer|APS}} + {{zcl|ZCL}} {{header|headers}} + {{aes|AES}}-{{ccm-mode|CCM}}* {{mic|MIC}}, fits in ~40 bytes. The bulb turns on. From boot to first command: ~4 seconds.' } ] } diff --git a/src/lib/data/outages.ts b/src/lib/data/outages.ts index 285ff07..bccede2 100644 --- a/src/lib/data/outages.ts +++ b/src/lib/data/outages.ts @@ -75,7 +75,7 @@ export const outages: Outage[] = [ duration: '~6 hours', scale: 'Global โ€” 3 billion users; Facebook, Instagram, WhatsApp, Oculus all dark', oneLiner: - 'A routine maintenance command on {{meta|Meta}}\'s global backbone took down its [[dns|DNS]], then its websites, then its employees\' badge readers โ€” all because the safety mechanism worked exactly as designed.', + "A routine maintenance command on {{meta|Meta}}'s global backbone took down its [[dns|DNS]], then its websites, then its employees' badge readers โ€” all because the safety mechanism worked exactly as designed.", category: 'configuration', affectedProtocols: ['bgp', 'dns', 'tcp'], cast: [ @@ -84,7 +84,7 @@ export const outages: Outage[] = [ { name: 'ThousandEyes', role: 'External monitor' } ], setup: - "{{meta|Meta}} runs tens of thousands of miles of fibre between its data centres โ€” a global private backbone. Its [[dns|DNS]] servers live in smaller \"edge\" facilities, programmed with a defensive safety: if a [[dns|DNS]] server cannot reach the data centres (and therefore cannot answer authoritatively), it withdraws its own [[bgp|BGP]] advertisements so nobody routes queries to it. The reasoning was sound: a [[dns|DNS]] server that can't answer shouldn't be reached.", + '{{meta|Meta}} runs tens of thousands of miles of fibre between its data centres โ€” a global private backbone. Its [[dns|DNS]] servers live in smaller "edge" facilities, programmed with a defensive safety: if a [[dns|DNS]] server cannot reach the data centres (and therefore cannot answer authoritatively), it withdraws its own [[bgp|BGP]] advertisements so nobody routes queries to it. The reasoning was sound: a [[dns|DNS]] server that can\'t answer shouldn\'t be reached.', mistake: "During routine maintenance an engineer issued a command intended to assess the availability of global backbone capacity. {{meta|Meta}}'s audit tooling โ€” designed to catch destructive commands โ€” had a bug, and didn't stop it. The command took down the entire backbone.", cascade: [ @@ -118,9 +118,9 @@ export const outages: Outage[] = [ }, { time: '~16:00 UTC', - title: "Internal tools disappear too", + title: 'Internal tools disappear too', description: - "{{meta|Meta}} engineers cannot get into the network to fix it because their internal tools depend on the same [[dns|DNS]], and their physical badge readers depend on the same network. Engineers are reportedly dispatched to data centres with bolt cutters." + '{{meta|Meta}} engineers cannot get into the network to fix it because their internal tools depend on the same [[dns|DNS]], and their physical badge readers depend on the same network. Engineers are reportedly dispatched to data centres with bolt cutters.' }, { time: '21:00 UTC', @@ -131,11 +131,11 @@ export const outages: Outage[] = [ } ], consequence: - "Estimated revenue impact crosses $60M. Mark Zuckerberg's net worth drops by more than $6B in a day. In developing countries where Facebook's \"Free Basics\" program is the de-facto internet, communication, business, and humanitarian work pause for seven hours.", + 'Estimated revenue impact crosses $60M. Mark Zuckerberg\'s net worth drops by more than $6B in a day. In developing countries where Facebook\'s "Free Basics" program is the de-facto internet, communication, business, and humanitarian work pause for seven hours.', resolution: "{{meta|Meta}}'s post-mortem the next day acknowledges configuration tooling and audit-bypass as the root cause; the [[bgp|BGP]] withdrawal was the *symptom* of the larger backbone failure, not its cause.", lesson: - "Three layers โ€” [[bgp|BGP]], [[dns|DNS]], and physical access โ€” fail in cascade because each one trusts the layer below it. Never have a single dependency chain run through your own product. The defensive safety ([[dns|DNS]] withdraws on failure) is sound; the issue is that *every* product, including badge readers and audit tools, depended on the same [[dns|DNS]].", + 'Three layers โ€” [[bgp|BGP]], [[dns|DNS]], and physical access โ€” fail in cascade because each one trusts the layer below it. Never have a single dependency chain run through your own product. The defensive safety ([[dns|DNS]] withdraws on failure) is sound; the issue is that *every* product, including badge readers and audit tools, depended on the same [[dns|DNS]].', sources: [ { url: 'https://blog.cloudflare.com/october-2021-facebook-outage/', @@ -162,7 +162,7 @@ export const outages: Outage[] = [ category: 'configuration', affectedProtocols: ['bgp'], setup: - "In 1997 [[bgp|BGP]]-4 had been the inter-domain routing protocol for eight years. It assumes neighbours announce only what they own. There were almost no upstream filters: if a customer announced something, the upstream took it.", + 'In 1997 [[bgp|BGP]]-4 had been the inter-domain routing protocol for eight years. It assumes neighbours announce only what they own. There were almost no upstream filters: if a customer announced something, the upstream took it.', mistake: "MAI Network Services ({{autonomous-system|AS}} 7007) had a Bay Networks router whose forwarding table got dumped into [[bgp|BGP]] as if every entry were a route the {{autonomous-system|AS}} originated. The router didn't just announce its own prefixes โ€” it announced /24 fragments of the entire global {{routing-table|routing table}}, claiming MAI was the origin {{autonomous-system|AS}} for everything.", cascade: [ @@ -182,17 +182,17 @@ export const outages: Outage[] = [ "Sprint's network couldn't handle the redirected traffic. Routers crashed. Sprint went largely dark." }, { - title: 'Withdrawals don\'t help', + title: "Withdrawals don't help", description: 'Even after MAI withdrew the routes, the propagation took hours to drain โ€” the bad routes had been cached widely.' } ], consequence: - "Multi-hour partial outage of the public internet. Sprint customers especially affected. The first time the [[bgp|BGP]] community truly understood that a single misconfigured router anywhere on earth could take down the entire internet.", + 'Multi-hour partial outage of the public internet. Sprint customers especially affected. The first time the [[bgp|BGP]] community truly understood that a single misconfigured router anywhere on earth could take down the entire internet.', resolution: "Vince Bono's apology email to NANOG that day is preserved in the archives โ€” a remarkably calm and detailed admission that became a model for incident communication.", lesson: - "[[bgp|BGP]] trusts every neighbour by default. Without prefix filters at every {{peering|peering}} point, a single broken router can become the apparent origin of the entire internet. Prompted the slow rollout of route filters across {{transit|transit}} providers, but the protocol-level fix ({{rpki|RPKI}} {{rov|ROV}}) took another 25 years to reach 50% deployment.", + '[[bgp|BGP]] trusts every neighbour by default. Without prefix filters at every {{peering|peering}} point, a single broken router can become the apparent origin of the entire internet. Prompted the slow rollout of route filters across {{transit|transit}} providers, but the protocol-level fix ({{rpki|RPKI}} {{rov|ROV}}) took another 25 years to reach 50% deployment.', sources: [ { url: 'https://en.wikipedia.org/wiki/AS_7007_incident', @@ -200,7 +200,7 @@ export const outages: Outage[] = [ }, { url: 'https://archive.nanog.org/mailinglist/mailarchives/old_archive/1997-04/msg00444.html', - label: "Bono โ€” \"7007 Explanation and Apology\" (NANOG, April 1997)" + label: 'Bono โ€” "7007 Explanation and Apology" (NANOG, April 1997)' } ] }, @@ -211,7 +211,7 @@ export const outages: Outage[] = [ duration: '~2 hours', scale: 'Global โ€” YouTube unreachable from most of the internet', oneLiner: - 'Pakistan tried to block YouTube domestically. Its upstream provider didn\'t filter, and the block leaked to the whole internet.', + "Pakistan tried to block YouTube domestically. Its upstream provider didn't filter, and the block leaked to the whole internet.", category: 'configuration', affectedProtocols: ['bgp'], setup: @@ -228,19 +228,19 @@ export const outages: Outage[] = [ { title: 'YouTube goes dark', description: - "Traffic for the affected prefix headed to Pakistan, where it was null-routed. YouTube was unreachable for most of the internet for ~2 hours.", + 'Traffic for the affected prefix headed to Pakistan, where it was null-routed. YouTube was unreachable for most of the internet for ~2 hours.', protocols: ['bgp', 'tcp'] }, { title: 'YouTube counters with /25', description: - "YouTube announced an even more specific /25 to outcompete the hijack on the longest-prefix-match rule. The announcement spread; service started to recover.", + 'YouTube announced an even more specific /25 to outcompete the hijack on the longest-prefix-match rule. The announcement spread; service started to recover.', protocols: ['bgp'] }, { title: 'PCCW blackholes', description: - "PCCW eventually blackholed traffic to {{autonomous-system|AS}} 17557 to stop propagating the hijack." + 'PCCW eventually blackholed traffic to {{autonomous-system|AS}} 17557 to stop propagating the hijack.' } ], consequence: @@ -308,7 +308,7 @@ export const outages: Outage[] = [ resolution: 'No technical resolution beyond the withdrawal itself. The structural fix โ€” {{rpki|RPKI}} Route Origin Authorisations and {{rov|ROV}} enforcement at {{peering|peering}} points โ€” was already specified but a decade away from broad deployment.', lesson: - "Plain [[bgp|BGP]] advertises trust. A single {{autonomous-system|AS}} can globally redirect an arbitrary slice of internet traffic in minutes, with no protocol-level barrier to detection. China Telecom 2010 became one of the most-cited examples in the slow industry case for [[frontier:rpki-rov-50-percent|RPKI/ROV]], which finally crossed 50% of advertised {{ip-address|IP}} space in 2024 โ€” fourteen years later.", + 'Plain [[bgp|BGP]] advertises trust. A single {{autonomous-system|AS}} can globally redirect an arbitrary slice of internet traffic in minutes, with no protocol-level barrier to detection. China Telecom 2010 became one of the most-cited examples in the slow industry case for [[frontier:rpki-rov-50-percent|RPKI/ROV]], which finally crossed 50% of advertised {{ip-address|IP}} space in 2024 โ€” fourteen years later.', sources: [ { url: 'https://www.uscc.gov/sites/default/files/annual_reports/2010-Report-to-Congress.pdf', @@ -337,7 +337,10 @@ export const outages: Outage[] = [ affectedProtocols: ['tcp'], cast: [ { name: 'Van Jacobson (LBL)', role: "Co-author of the SIGCOMM '88 fix" }, - { name: 'Mike Karels (UC Berkeley CSRG)', role: 'Co-author; shipped the fixes in 4.3BSD-Tahoe' } + { + name: 'Mike Karels (UC Berkeley CSRG)', + role: 'Co-author; shipped the fixes in 4.3BSD-Tahoe' + } ], setup: 'In 1986 the early internet ran [[tcp|TCP]] without any {{congestion-control|congestion-control}} feedback loop. The original {{bsd|BSD}} [[tcp|TCP]] retransmitted aggressively when {{ack|ACKs}} were late: a missing {{ack|ACK}} at time *t* meant "the packet is probably gone, send again." Across the link from Lawrence Berkeley Lab to UC Berkeley โ€” a path of three {{imp|IMP}} hops, less than 400 yards of physical distance โ€” that policy worked fine until traffic levels rose.', @@ -365,7 +368,7 @@ export const outages: Outage[] = [ consequence: 'The first proof that a protocol designed for a small, lightly-loaded research network could fail catastrophically under production load. NSFNET regional links became unusable for hours at a time through October 1986. The internet engineering community accepted that an end-to-end {{congestion-control|congestion-control}} loop was not optional.', resolution: - "[[pioneer:van-jacobson|Van Jacobson]] and Mike Karels at Berkeley spent six months instrumenting the wire and reading the {{bsd|BSD}} source. Their 1988 {{sigcomm-conf|SIGCOMM}} paper โ€” *{{congestion-avoidance|Congestion Avoidance}} and Control* โ€” introduced six algorithms in one document: **{{slow-start|slow start}}**, **{{aimd|AIMD}} {{congestion-avoidance|congestion avoidance}}**, **fast retransmit**, **fast recovery**, **{{exponential-backoff|exponential RTO backoff}}**, and a refined **{{rtt|RTT}} estimator**. The fixes shipped in 4.3BSD-Tahoe and propagated to every [[tcp|TCP]] stack on earth.", + '[[pioneer:van-jacobson|Van Jacobson]] and Mike Karels at Berkeley spent six months instrumenting the wire and reading the {{bsd|BSD}} source. Their 1988 {{sigcomm-conf|SIGCOMM}} paper โ€” *{{congestion-avoidance|Congestion Avoidance}} and Control* โ€” introduced six algorithms in one document: **{{slow-start|slow start}}**, **{{aimd|AIMD}} {{congestion-avoidance|congestion avoidance}}**, **fast retransmit**, **fast recovery**, **{{exponential-backoff|exponential RTO backoff}}**, and a refined **{{rtt|RTT}} estimator**. The fixes shipped in 4.3BSD-Tahoe and propagated to every [[tcp|TCP]] stack on earth.', lesson: "Conservation of packets โ€” put one packet into the network only when an {{ack|ACK}} confirms a previous one has left it โ€” is the load-bearing principle that has held for forty years. Every later {{congestion-control|congestion-control}} algorithm (Reno, NewReno, Vegas, [[rfc:9438|CUBIC]], Compound, {{bbr|BBR}} v1/v2/v3, Prague over [[frontier:l4s-comcast-launch|L4S]]) is a refinement of Jacobson's six.", sources: [ @@ -414,24 +417,24 @@ export const outages: Outage[] = [ { title: 'Sessions re-establish', description: - "Each [[bgp|BGP]] session times out, retries, and re-establishes. As soon as it does, it re-receives the same Flowspec rule. The cycle restarts.", + 'Each [[bgp|BGP]] session times out, retries, and re-establishes. As soon as it does, it re-receives the same Flowspec rule. The cycle restarts.', protocols: ['bgp'] }, { title: 'Tier-1 collapse', description: - "The continuous churn means routes never converge. Customers across the Level 3 footprint experience massive packet loss. {{cloudflare|Cloudflare}} measures a 3.5% drop in *global* internet traffic." + 'The continuous churn means routes never converge. Customers across the Level 3 footprint experience massive packet loss. {{cloudflare|Cloudflare}} measures a 3.5% drop in *global* internet traffic.' }, { title: 'Manual de-peering needed', description: - "Level 3 has to ask other tier-1s to de-{{peer|peer}} with them temporarily to drain the [[bgp|BGP]]-{{bgp-update|update}} queue and let the bad rule be removed." + 'Level 3 has to ask other tier-1s to de-{{peer|peer}} with them temporarily to drain the [[bgp|BGP]]-{{bgp-update|update}} queue and let the bad rule be removed.' } ], consequence: "~5 hours of severe disruption across one of the world's largest backbones. {{cloudflare|Cloudflare}} publicly reported a 3.5% drop in global internet traffic. Many SaaS providers, video calls, and games hit by the cascading failures.", resolution: - "Level 3 manually de-peered with other tier-1s to break the [[bgp|BGP]]-{{bgp-update|update}} loop, removed the bad Flowspec rule, then re-peered.", + 'Level 3 manually de-peered with other tier-1s to break the [[bgp|BGP]]-{{bgp-update|update}} loop, removed the bad Flowspec rule, then re-peered.', lesson: "Don't deploy a feature whose failure mode disables the channel that controls it. [[bgp|BGP]] Flowspec is powerful โ€” and Flowspec rules that touch [[bgp|BGP]] itself can lock you out of your own network. The same lesson applies to any in-band control protocol.", sources: [ @@ -450,16 +453,17 @@ export const outages: Outage[] = [ title: 'Rogers โ€” A Country Disconnected', date: '2022-07-08', duration: '~15 hours', - scale: '12+ million Canadians lost wireless, wireline, internet, and Interac debit-card service', + scale: + '12+ million Canadians lost wireless, wireline, internet, and Interac debit-card service', oneLiner: - "A maintenance change to [[bgp|BGP]] route policy in the [[ip|IP]] core inadvertently allowed a full [[bgp|BGP]] table redistribution into [[ospf|OSPF]] โ€” overwhelming the core router CPUs and crashing the entire network.", + 'A maintenance change to [[bgp|BGP]] route policy in the [[ip|IP]] core inadvertently allowed a full [[bgp|BGP]] table redistribution into [[ospf|OSPF]] โ€” overwhelming the core router CPUs and crashing the entire network.', category: 'configuration', affectedProtocols: ['bgp'], cast: [{ name: 'Rogers Communications (AS 812)', role: 'Operator' }], setup: "Rogers ran one of Canada's three national telecom networks โ€” wireless, wireline, internet, and the Interac point-of-sale debit card system that runs Canadian retail. The [[ip|IP]] core used [[bgp|BGP]] for inter-{{autonomous-system|AS}} routing and [[ospf|OSPF]] for intra-{{autonomous-system|AS}} routing โ€” the standard separation.", mistake: - "A maintenance change to [[bgp|BGP]] route policy in the [[ip|IP]] core was meant to apply to a small set of routes. A missing filter let the entire [[bgp|BGP]] table โ€” nearly a million prefixes โ€” redistribute into [[ospf|OSPF]], the intra-{{autonomous-system|AS}} routing protocol.", + 'A maintenance change to [[bgp|BGP]] route policy in the [[ip|IP]] core was meant to apply to a small set of routes. A missing filter let the entire [[bgp|BGP]] table โ€” nearly a million prefixes โ€” redistribute into [[ospf|OSPF]], the intra-{{autonomous-system|AS}} routing protocol.', cascade: [ { title: 'BGP-into-OSPF flood', @@ -486,9 +490,9 @@ export const outages: Outage[] = [ consequence: "12+ million customers without service for a full business day. Hospitals, 911 operations, point-of-sale systems, government services impacted. {{crtc|CRTC}}'s 2024 executive summary identified missing route filters and lab-testing skipped due to an algorithm down-grading risk from 'High' to 'Low' after earlier phases succeeded.", resolution: - "Manual rollback of the offending policy change, with engineers physically present at core sites.", + 'Manual rollback of the offending policy change, with engineers physically present at core sites.', lesson: - "A single national telecom outage can take down payment systems, hospitals, and emergency services. Canada subsequently mandated mutual emergency-roaming agreements between carriers, on the principle that a single {{autonomous-system|AS}} failing should not disconnect a country.", + 'A single national telecom outage can take down payment systems, hospitals, and emergency services. Canada subsequently mandated mutual emergency-roaming agreements between carriers, on the principle that a single {{autonomous-system|AS}} failing should not disconnect a country.', sources: [ { url: 'https://blog.cloudflare.com/cloudflares-view-of-the-rogers-communications-outage-in-canada/', @@ -518,7 +522,7 @@ export const outages: Outage[] = [ setup: "AT&T Mobility is one of the three large US national wireless carriers. The mobility network has elaborate self-protection mechanisms โ€” when the system detects something seriously wrong, it can enter a defensive 'protect mode' that disconnects subscribers to limit damage.", mistake: - "At 02:42 CT, a network change with an equipment configuration error tripped the protect-mode threshold. The network defended itself by disconnecting every wireless device.", + 'At 02:42 CT, a network change with an equipment configuration error tripped the protect-mode threshold. The network defended itself by disconnecting every wireless device.', cascade: [ { time: '02:42 CT', @@ -529,7 +533,7 @@ export const outages: Outage[] = [ time: '02:43 CT', title: 'Protect mode', description: - 'The error trips the network\'s self-protection threshold. The mobility core enters \'protect mode\' and starts disconnecting devices.' + "The error trips the network's self-protection threshold. The mobility core enters 'protect mode' and starts disconnecting devices." }, { title: 'Nationwide outage', @@ -542,11 +546,11 @@ export const outages: Outage[] = [ } ], consequence: - "125M+ devices affected. 92M+ blocked voice calls. 25K+ failed 911 calls. The {{fcc|FCC}} report reads like every [[bgp|BGP]] outage post-mortem: insufficient {{peer|peer}} review, missing controls, unscanned changes.", + '125M+ devices affected. 92M+ blocked voice calls. 25K+ failed 911 calls. The {{fcc|FCC}} report reads like every [[bgp|BGP]] outage post-mortem: insufficient {{peer|peer}} review, missing controls, unscanned changes.', resolution: 'Configuration rollback and gradual reconnection of subscribers to avoid signalling overload.', lesson: - "\"Self-protection mechanisms that disconnect users\" is a category that needs careful design. The threshold for protect mode should not be reachable by an operator's mistake โ€” and if it is, recovery should not require 12 hours.", + '"Self-protection mechanisms that disconnect users" is a category that needs careful design. The threshold for protect mode should not be reachable by an operator\'s mistake โ€” and if it is, recovery should not require 12 hours.', sources: [ { url: 'https://docs.fcc.gov/public/attachments/DOC-404154A1.pdf', @@ -573,9 +577,9 @@ export const outages: Outage[] = [ { name: 'Linux Kernel TCP maintainers', role: 'Vendors' } ], setup: - "[[tcp|TCP]] {{sack|Selective Acknowledgment}} ({{sack|SACK}}, [[rfc:2018|RFC 2018]]) lets the receiver tell the sender exactly which non-contiguous byte ranges have arrived. The {{linux|Linux}} kernel tracks these as a queue of skb (socket buffer) ranges. The data structure includes a 16-bit gso_segs counter for the segments-in-flight on a single sk_buff.", + '[[tcp|TCP]] {{sack|Selective Acknowledgment}} ({{sack|SACK}}, [[rfc:2018|RFC 2018]]) lets the receiver tell the sender exactly which non-contiguous byte ranges have arrived. The {{linux|Linux}} kernel tracks these as a queue of skb (socket buffer) ranges. The data structure includes a 16-bit gso_segs counter for the segments-in-flight on a single sk_buff.', mistake: - "With a small enough {{mss|MSS}} โ€” easily set by a remote {{peer|peer}} โ€” a single sk_buff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed. The kernel hit an integer overflow in tcp_skb_cb, triggering a panic.", + 'With a small enough {{mss|MSS}} โ€” easily set by a remote {{peer|peer}} โ€” a single sk_buff could be split into more than 65,535 GSO segments. The 16-bit counter overflowed. The kernel hit an integer overflow in tcp_skb_cb, triggering a panic.', cascade: [ { title: 'Patch crafted', @@ -594,7 +598,7 @@ export const outages: Outage[] = [ } ], consequence: - "Most {{linux|Linux}} servers on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patch; many disabled {{sack|SACK}} as an interim mitigation, accepting performance degradation to avoid the crash.", + 'Most {{linux|Linux}} servers on the public internet were vulnerable. CVSS 7.5 (high). Operators scrambled to patch; many disabled {{sack|SACK}} as an interim mitigation, accepting performance degradation to avoid the crash.', resolution: 'Mainline kernel patch shipped within days. Mitigations: disable {{sack|SACK}} (`net.ipv4.tcp_sack=0`) or enforce a minimum {{mss|MSS}} via the new `net.ipv4.tcp_min_snd_mss` sysctl.', lesson: @@ -602,7 +606,7 @@ export const outages: Outage[] = [ sources: [ { url: 'https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md', - label: "Netflix Security Bulletin โ€” TCP SACK PANIC" + label: 'Netflix Security Bulletin โ€” TCP SACK PANIC' }, { url: 'https://access.redhat.com/security/vulnerabilities/tcpsack', diff --git a/src/lib/data/protocols/amqp.ts b/src/lib/data/protocols/amqp.ts index aa03c73..ae530c9 100644 --- a/src/lib/data/protocols/amqp.ts +++ b/src/lib/data/protocols/amqp.ts @@ -71,7 +71,8 @@ def callback(ch, method, properties, body): channel.basic_consume(queue='tasks', on_message_callback=callback) channel.start_consuming()`, - caption: 'RabbitMQ with pika โ€” {{mqtt-publish|publish}} durable messages and consume with acknowledgments', + caption: + 'RabbitMQ with pika โ€” {{mqtt-publish|publish}} durable messages and consume with acknowledgments', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/arp.ts b/src/lib/data/protocols/arp.ts index 541c566..60c0000 100644 --- a/src/lib/data/protocols/arp.ts +++ b/src/lib/data/protocols/arp.ts @@ -8,7 +8,8 @@ export const arp: Protocol = { port: undefined, year: 1982, rfc: 'RFC 826', - oneLiner: 'Translates [[ip|IP]] addresses to {{mac-address|MAC}} addresses โ€” the bridge between Layer 3 and Layer 2.', + oneLiner: + 'Translates [[ip|IP]] addresses to {{mac-address|MAC}} addresses โ€” the bridge between Layer 3 and Layer 2.', overview: `[[arp|ARP]] is the glue between [[ip|IP]] addresses and [[ethernet|Ethernet]] {{mac-address|MAC addresses}}. When your computer wants to send a {{packet|packet}} to 192.168.1.1, it knows the [[ip|IP]] but not the {{mac-address|MAC address}} of the destination. [[arp|ARP]] {{broadcast|broadcasts}} a question to the entire local network: "Who has 192.168.1.1? Tell me your {{mac-address|MAC address}}." The owner responds with a {{unicast|unicast}} reply containing its {{mac-address|MAC}}, and the sender caches this mapping for future use. Under the hood, [[arp|ARP]] uses EtherType 0x0806 and operates directly on [[ethernet|Ethernet]] โ€” it has no [[ip|IP]] header. The request is {{broadcast|broadcast}} to \`FF:FF:FF:FF:FF:FF\`, so every device on the segment receives it, but only the target replies. That reply is {{unicast|unicast}} directly back to the requester. The resulting [[ip|IP]]-to-{{mac-address|MAC}} mapping is stored in the [[arp|ARP]] cache (also called the [[arp|ARP]] table) with a {{ttl|time-to-live}} โ€” typically 15-45 seconds on modern systems (randomized per [[rfc:4861|RFC 4861]]) โ€” after which the entry expires and must be re-resolved. diff --git a/src/lib/data/protocols/bgp.ts b/src/lib/data/protocols/bgp.ts index 6ec48b2..e2611fe 100644 --- a/src/lib/data/protocols/bgp.ts +++ b/src/lib/data/protocols/bgp.ts @@ -172,7 +172,7 @@ for await (const elem of parser) { date: '2026', title: 'RPKI/ROV crosses 50% of advertised IP space', description: - '{{nist|NIST}} {{rov|Route Origin Validation}} Monitor and {{cloudflare|Cloudflare}}\'s isbgpsafeyet.com show over 50% of advertised [[ip|IPv4]] space now covered by signed Route Origin Authorisations. Most tier-1 transits enforce {{rov|ROV}} on incoming announcements.' + "{{nist|NIST}} {{rov|Route Origin Validation}} Monitor and {{cloudflare|Cloudflare}}'s isbgpsafeyet.com show over 50% of advertised [[ip|IPv4]] space now covered by signed Route Origin Authorisations. Most tier-1 transits enforce {{rov|ROV}} on incoming announcements." }, { date: '2024-2025', diff --git a/src/lib/data/protocols/bluetooth.ts b/src/lib/data/protocols/bluetooth.ts index cc4a54e..ee539cd 100644 --- a/src/lib/data/protocols/bluetooth.ts +++ b/src/lib/data/protocols/bluetooth.ts @@ -212,7 +212,7 @@ CRC: x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1, seeded by Access Address.` src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Bluetooth.svg/250px-Bluetooth.svg.png', alt: 'The Bluetooth logo โ€” a bind-rune combining Hagall (แšผ) and Bjarkan (แ›’), the initials of Harald Bluetooth in Younger Futhark', caption: - "The Bluetooth logo is a bind-rune combining **Hagall** (แšผ) and **Bjarkan** (แ›’) โ€” the initials of *Harald Blรฅtand*, the 10th-century Danish king who united Denmark and Norway. Jim Kardach at {{intel|Intel}} proposed the name as a placeholder during a 1997 {{sig|SIG}} meeting; it was never supposed to ship.", + 'The Bluetooth logo is a bind-rune combining **Hagall** (แšผ) and **Bjarkan** (แ›’) โ€” the initials of *Harald Blรฅtand*, the 10th-century Danish king who united Denmark and Norway. Jim Kardach at {{intel|Intel}} proposed the name as a placeholder during a 1997 {{sig|SIG}} meeting; it was never supposed to ship.', credit: 'Image: Wikimedia Commons / Public Domain (Bluetooth SIG trademark)' }, @@ -311,7 +311,7 @@ CRC: x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1, seeded by Access Address.` }, { title: 'BR/EDR and BLE share a logo but not a single bit', - text: "Despite the unified branding, **Bluetooth Classic and {{ble|BLE}} share no bits over the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble|BLE}} 1M), different channel plan (79 ร— 1 MHz vs 40 ร— 2 MHz), different hopping (1,600/s vs once-per-connection-event), different framing, different security. A dual-mode chip runs both stacks side by side. The {{sig|SIG}} estimates more than half of all shipping radios are dual-mode in 2024." + text: 'Despite the unified branding, **Bluetooth Classic and {{ble|BLE}} share no bits over the air**. Different modulation (GFSK + DPSK for Classic, GFSK only for {{ble|BLE}} 1M), different channel plan (79 ร— 1 MHz vs 40 ร— 2 MHz), different hopping (1,600/s vs once-per-connection-event), different framing, different security. A dual-mode chip runs both stacks side by side. The {{sig|SIG}} estimates more than half of all shipping radios are dual-mode in 2024.' } ], @@ -319,7 +319,7 @@ CRC: x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1, seeded by Access Address.` pitfalls: [ { title: 'The default ATT MTU is 23 bytes', - text: "Every {{ble|BLE}} connection starts with {{att-mtu|ATT MTU}} = 23, which means only **20 bytes of {{payload|payload}} per Notify** after the 3-byte {{att-mtu|ATT}} header. If you ship that default, your sensor stream is throughput-bound on overhead. **Cure:** request an {{mtu|MTU}} {{exchange|exchange}} (`ATT_Exchange_MTU_Request`) to 247 (one LL {{pdu-session|PDU}} with Data Length Extension) or 517 (the {{ble|BLE}} maximum) as the first {{att-mtu|ATT}} operation after pairing. Most platforms now do this automatically โ€” but verify with an nRF Sniffer capture." + text: 'Every {{ble|BLE}} connection starts with {{att-mtu|ATT MTU}} = 23, which means only **20 bytes of {{payload|payload}} per Notify** after the 3-byte {{att-mtu|ATT}} header. If you ship that default, your sensor stream is throughput-bound on overhead. **Cure:** request an {{mtu|MTU}} {{exchange|exchange}} (`ATT_Exchange_MTU_Request`) to 247 (one LL {{pdu-session|PDU}} with Data Length Extension) or 517 (the {{ble|BLE}} maximum) as the first {{att-mtu|ATT}} operation after pairing. Most platforms now do this automatically โ€” but verify with an nRF Sniffer capture.' }, { title: 'Connection interval ร— Slave latency ร— Supervision timeout', diff --git a/src/lib/data/protocols/cellular.ts b/src/lib/data/protocols/cellular.ts index 3ec7767..9bd6f0a 100644 --- a/src/lib/data/protocols/cellular.ts +++ b/src/lib/data/protocols/cellular.ts @@ -21,7 +21,7 @@ The frontier in 2026 is **5G-Advanced** (Release 18, frozen June 2024; Release 1 { title: 'PHY โ€” OFDMA with five numerologies', description: - "{{5g-nr|5G NR}} carries data on **Orthogonal Frequency-Division Multiple Access** subcarriers spaced at 15, 30, 60, 120, or 240 kHz ({{3gpp|3GPP}} {{ts-3gpp|TS}} 38.211). The choice is the *numerology* โ€” smaller spacing = longer symbols = more robust at low frequencies; larger spacing = shorter symbols = required at {{mmwave|mmWave}}. One framework, two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave|mmWave}} 24โ€“52 GHz)." + '{{5g-nr|5G NR}} carries data on **Orthogonal Frequency-Division Multiple Access** subcarriers spaced at 15, 30, 60, 120, or 240 kHz ({{3gpp|3GPP}} {{ts-3gpp|TS}} 38.211). The choice is the *numerology* โ€” smaller spacing = longer symbols = more robust at low frequencies; larger spacing = shorter symbols = required at {{mmwave|mmWave}}. One framework, two very different deployment regimes (FR1 sub-6 GHz, FR2 {{mmwave|mmWave}} 24โ€“52 GHz).' }, { title: 'MAC โ€” Hybrid ARQ', @@ -46,7 +46,7 @@ The frontier in 2026 is **5G-Advanced** (Release 18, frozen June 2024; Release 1 { title: '5GC service-based architecture', description: - "The {{5g-core|5G Core}} is a {{service-mesh|microservice fabric}}. {{amf|AMF}}, {{smf|SMF}}, {{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with an [[http2|HTTP/2]]+{{json|JSON}} {{api|API}} protected by [[tls|TLS]]. Service-based interfaces are named Nausf, Nudm, Namf, Nsmf, Npcf, Nnrf, Nnef, Nnssf, Naf. The control plane of every 5G carrier on Earth is now an [[http2|HTTP/2]] microservice fabric โ€” and every backhaul {{hop|hop}} is wrapped in [[ipsec|IPsec ESP]]." + 'The {{5g-core|5G Core}} is a {{service-mesh|microservice fabric}}. {{amf|AMF}}, {{smf|SMF}}, {{upf|UPF}}, {{ausf|AUSF}}, {{udm|UDM}}, PCF, NRF, NEF, NSSF, AF โ€” each is a **network function** with an [[http2|HTTP/2]]+{{json|JSON}} {{api|API}} protected by [[tls|TLS]]. Service-based interfaces are named Nausf, Nudm, Namf, Nsmf, Npcf, Nnrf, Nnef, Nnssf, Naf. The control plane of every 5G carrier on Earth is now an [[http2|HTTP/2]] microservice fabric โ€” and every backhaul {{hop|hop}} is wrapped in [[ipsec|IPsec ESP]].' }, { title: 'GTP-U on N3 โ€” the user-plane tunnel', @@ -110,7 +110,8 @@ sudo tshark -i lo -f 'sctp port 38412' -V # Decode NAS Registration Request, NAS Authentication, Security Mode, # Registration Accept, PDU Session Establishment Request, all in # real time. Wireshark NGAP/NAS-5GS dissectors handle the whole thing.`, - caption: 'A locally-runnable 5G testbed in three commands โ€” srsRAN gNB + Open5GS 5GC + {{wireshark|Wireshark}}. Used by every cellular-protocol researcher in 2026.', + caption: + 'A locally-runnable 5G testbed in three commands โ€” srsRAN gNB + Open5GS 5GC + {{wireshark|Wireshark}}. Used by every cellular-protocol researcher in 2026.', alternatives: [ { language: 'python', @@ -267,7 +268,24 @@ Inner packet: overhead: 'Air-interface MAC + RLC + PDCP overhead is ~5โ€“15% depending on numerology. On the backhaul, GTP-U adds 8 bytes plus the IPsec ESP wrapping (36โ€“60 bytes) โ€” every cellular packet pays an IPsec round on every N3 hop. ROHC header compression brings the 40-byte IPv6+TCP header down to 1โ€“4 bytes on a steady flow' }, - connections: ['ip', 'ipv6', 'tcp', 'udp', 'quic', 'ipsec', 'http2', 'http3', 'tls', 'dns', 'sip', 'rtp', 'webrtc', 'wifi', 'bluetooth', 'nfc'], + connections: [ + 'ip', + 'ipv6', + 'tcp', + 'udp', + 'quic', + 'ipsec', + 'http2', + 'http3', + 'tls', + 'dns', + 'sip', + 'rtp', + 'webrtc', + 'wifi', + 'bluetooth', + 'nfc' + ], links: { wikipedia: 'https://en.wikipedia.org/wiki/5G_NR', official: 'https://www.3gpp.org/' @@ -276,7 +294,7 @@ Inner packet: src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Cellular_network_standards_and_generation_timeline.svg/500px-Cellular_network_standards_and_generation_timeline.svg.png', alt: 'Cellular network standards generation timeline โ€” 1G through 5G with milestones', caption: - "The cellular generation timeline โ€” the {{3gpp|3GPP}} release cadence that took us from 1G analog AMPS (1979) โ†’ {{gsm|GSM}} 2G (1991) โ†’ {{umts|UMTS}}/{{wcdma|WCDMA}} 3G (2001) โ†’ **[[cellular|LTE 4G]] Release 8 (December 2008)** โ†’ **[[cellular|5G NR]] Release 15 (June 2018)** โ†’ 5G-Advanced Release 18 (June 2024) โ†’ 6G study items now. Every generation roughly doubled spectral efficiency and added a fundamentally new use case.", + 'The cellular generation timeline โ€” the {{3gpp|3GPP}} release cadence that took us from 1G analog AMPS (1979) โ†’ {{gsm|GSM}} 2G (1991) โ†’ {{umts|UMTS}}/{{wcdma|WCDMA}} 3G (2001) โ†’ **[[cellular|LTE 4G]] Release 8 (December 2008)** โ†’ **[[cellular|5G NR]] Release 15 (June 2018)** โ†’ 5G-Advanced Release 18 (June 2024) โ†’ 6G study items now. Every generation roughly doubled spectral efficiency and added a fundamentally new use case.', credit: 'Image: Wikimedia Commons / CC BY-SA' }, @@ -338,7 +356,7 @@ Inner packet: org: '3GPP / every mobile carrier on Earth', scale: '~9 billion subscriptions (GSMA, 2024)', description: - "The largest wireless protocol family by user count. Specified collectively by {{3gpp|3GPP}} โ€” a partnership of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular phone on Earth runs {{3gpp|3GPP}} protocols at the radio layer." + 'The largest wireless protocol family by user count. Specified collectively by {{3gpp|3GPP}} โ€” a partnership of {{etsi|ETSI}} (Europe), ARIB + TTC (Japan), ATIS (North America), CCSA (China), TSDSI (India), TTA (Korea). Every cellular phone on Earth runs {{3gpp|3GPP}} protocols at the radio layer.' }, { org: 'Reliance Jio', @@ -356,25 +374,25 @@ Inner packet: org: 'DISH Wireless / EchoStar', scale: '5G-SA on public cloud (AWS Wavelength)', description: - "The first commercial 5G-{{security-association|SA}} network running on **public-cloud infrastructure** ({{aws|AWS}} Wavelength + {{aws|AWS}} Local Zones). Proves the cloud-native {{5g-core|5G core}} architecture works in production. Rakuten Symphony (Japan) and Open5GS-based deployments worldwide follow the same pattern." + 'The first commercial 5G-{{security-association|SA}} network running on **public-cloud infrastructure** ({{aws|AWS}} Wavelength + {{aws|AWS}} Local Zones). Proves the cloud-native {{5g-core|5G core}} architecture works in production. Rakuten Symphony (Japan) and Open5GS-based deployments worldwide follow the same pattern.' } ], funFacts: [ { - title: "The first cellular call was a troll", - text: "**3 April 1973, Sixth Avenue, Manhattan.** Marty Cooper of Motorola dialed Joel Engel at AT&T Bell Labs โ€” his direct rival in the cellular-system fight โ€” and said: *\"Joel, this is Marty. I'm calling you from a cell phone, a real handheld portable cell phone.\"* Engel, by Cooper's account, claims not to remember the call." + title: 'The first cellular call was a troll', + text: '**3 April 1973, Sixth Avenue, Manhattan.** Marty Cooper of Motorola dialed Joel Engel at AT&T Bell Labs โ€” his direct rival in the cellular-system fight โ€” and said: *"Joel, this is Marty. I\'m calling you from a cell phone, a real handheld portable cell phone."* Engel, by Cooper\'s account, claims not to remember the call.' }, { - title: "Viterbi did not patent his most famous algorithm", - text: "*\"On advice of a lawyer, Viterbi did not patent the algorithm.\"* The **Viterbi algorithm** โ€” convolutional code decoding (1967) โ€” is used in every cellular phone, every disk-drive read channel, every {{gps|GPS}} receiver, and every speech recognizer. It made nothing for Andrew Viterbi directly; it made Qualcomm everything." + title: 'Viterbi did not patent his most famous algorithm', + text: '*"On advice of a lawyer, Viterbi did not patent the algorithm."* The **Viterbi algorithm** โ€” convolutional code decoding (1967) โ€” is used in every cellular phone, every disk-drive read channel, every {{gps|GPS}} receiver, and every speech recognizer. It made nothing for Andrew Viterbi directly; it made Qualcomm everything.' }, { title: 'MCC tells you where your SIM was issued', - text: 'The Mobile Country Code at the start of your IMSI is the protocol\'s private numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Japan, 262 = Germany, 222 = Italy, 208 = France. Your roaming bill itemises calls by MCC/MNC pair.' + text: "The Mobile Country Code at the start of your IMSI is the protocol's private numbering plan: 234/235 = UK, 310โ€“316 = USA, 460 = China, 405 = India, 440โ€“441 = Japan, 262 = Germany, 222 = Italy, 208 = France. Your roaming bill itemises calls by MCC/MNC pair." }, { - title: "The CDMA-vs-GSM wars were existential", + title: 'The CDMA-vs-GSM wars were existential', text: 'In January 1989 the US CTIA voted for {{tdma|TDMA}}; later that year Irwin Jacobs presented {{cdma|CDMA}} and *"no one found a hole in the technical presentation,"* but the political fight took a decade. Hong Kong (1995), then Korea, then the US were the first to ship cdmaOne. {{cdma|CDMA}}\'s mathematical foundation eventually became the basis of {{wcdma|WCDMA}} in {{umts|UMTS}} โ€” the {{gsm|GSM}} camp ended up adopting it.' } ], @@ -383,15 +401,15 @@ Inner packet: pitfalls: [ { title: 'IPv6-only carriers + IPv4-literal apps', - text: "On modern carriers (T-Mobile USA, Reliance Jio, parts of Verizon and DT), the {{ue|UE}} receives **only an [[ipv6|IPv6]] prefix**. Legacy [[ip|IPv4]] destinations are reached via **{{four-six-four-xlat|464XLAT}}** ([[rfc:6877|RFC 6877]]) โ€” {{clat-acr|CLAT}} on the {{ue|UE}}, PLAT/{{nat64|NAT64}} at the operator. **Pitfall:** apps with hardcoded [[ip|IPv4]] literals (`socket.{{mqtt-connect|connect}}(\"8.8.8.8\")`) silently fail. **Cure:** always resolve via [[dns|DNS]], always prefer [[ipv6|IPv6]] (`getaddrinfo`, `AF_UNSPEC`); use `IPv4v6` {{pdu-session|PDU session}} type, never `[[ip|IPv4]] only`." + text: 'On modern carriers (T-Mobile USA, Reliance Jio, parts of Verizon and DT), the {{ue|UE}} receives **only an [[ipv6|IPv6]] prefix**. Legacy [[ip|IPv4]] destinations are reached via **{{four-six-four-xlat|464XLAT}}** ([[rfc:6877|RFC 6877]]) โ€” {{clat-acr|CLAT}} on the {{ue|UE}}, PLAT/{{nat64|NAT64}} at the operator. **Pitfall:** apps with hardcoded [[ip|IPv4]] literals (`socket.{{mqtt-connect|connect}}("8.8.8.8")`) silently fail. **Cure:** always resolve via [[dns|DNS]], always prefer [[ipv6|IPv6]] (`getaddrinfo`, `AF_UNSPEC`); use `IPv4v6` {{pdu-session|PDU session}} type, never `[[ip|IPv4]] only`.' }, { title: 'PMTUD black holes on the GTP tunnel', - text: "Many cellular networks drop ICMPv4 Type 3 Code 4 (Frag Needed) messages on the SGi/N6 side. The {{mtu|MTU}} on a {{gtp-u|GTP-U}} tunnel is 1500 โˆ’ 8 ([[udp|UDP]]) โˆ’ 20/40 ({{ip-address|IP}}) โˆ’ 8 ({{gtp-u|GTP-U}}) โˆ’ overhead = typically 1430โ€“1452 inner bytes. **Cure:** [[tcp|TCP]] {{mss|MSS}} clamping at the {{pgw|PGW}}/{{upf|UPF}} saves [[tcp|TCP]]; [[quic|QUIC]] and other UDP-based protocols must implement {{plpmtud|PLPMTUD}} ({{rfc-doc|RFC}} 8899)." + text: 'Many cellular networks drop ICMPv4 Type 3 Code 4 (Frag Needed) messages on the SGi/N6 side. The {{mtu|MTU}} on a {{gtp-u|GTP-U}} tunnel is 1500 โˆ’ 8 ([[udp|UDP]]) โˆ’ 20/40 ({{ip-address|IP}}) โˆ’ 8 ({{gtp-u|GTP-U}}) โˆ’ overhead = typically 1430โ€“1452 inner bytes. **Cure:** [[tcp|TCP]] {{mss|MSS}} clamping at the {{pgw|PGW}}/{{upf|UPF}} saves [[tcp|TCP]]; [[quic|QUIC]] and other UDP-based protocols must implement {{plpmtud|PLPMTUD}} ({{rfc-doc|RFC}} 8899).' }, { title: 'IPsec is mandatory on every backhaul hop', - text: "{{3gpp|3GPP}} {{ts-3gpp|TS}} 33.401 ({{lte|LTE}}) and {{ts-3gpp|TS}} 33.501 (5G) **mandate** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private-5G deployment is the single most common compliance-audit failure. **Cure:** terminate every gNB-to-core hop in [[ipsec|IPsec]] {{esp|ESP}} with {{ikev2|IKEv2}}; do not run plain {{gtp-u|GTP-U}} on any link that leaves the secure perimeter." + text: '{{3gpp|3GPP}} {{ts-3gpp|TS}} 33.401 ({{lte|LTE}}) and {{ts-3gpp|TS}} 33.501 (5G) **mandate** [[ipsec|IPsec]] on every S1, X2, N2, N3, Xn, F1, and E1 interface. Forgetting this in a private-5G deployment is the single most common compliance-audit failure. **Cure:** terminate every gNB-to-core hop in [[ipsec|IPsec]] {{esp|ESP}} with {{ikev2|IKEv2}}; do not run plain {{gtp-u|GTP-U}} on any link that leaves the secure perimeter.' } ] } diff --git a/src/lib/data/protocols/coap.ts b/src/lib/data/protocols/coap.ts index d2753d5..17476f5 100644 --- a/src/lib/data/protocols/coap.ts +++ b/src/lib/data/protocols/coap.ts @@ -8,7 +8,8 @@ export const coap: Protocol = { port: 5683, year: 2014, rfc: 'RFC 7252', - oneLiner: '{{http-method|HTTP}} for tiny devices โ€” [[rest|REST]] semantics over [[udp|UDP]] for constrained IoT.', + oneLiner: + '{{http-method|HTTP}} for tiny devices โ€” [[rest|REST]] semantics over [[udp|UDP]] for constrained IoT.', overview: `[[coap|CoAP]] brings the familiar [[rest|REST]] model (GET, POST, PUT, DELETE) to the world of constrained IoT devices โ€” think microcontrollers with 10KB of {{ram|RAM}} on lossy, low-power wireless networks. It runs over [[udp|UDP]] instead of [[tcp|TCP]], uses a compact binary format, and adds built-in support for resource observation ({{mqtt-subscribe|subscribe}} to changes). The design mirrors [[http1|HTTP]] closely enough that translating between [[coap|CoAP]] and [[http1|HTTP]] is straightforward, enabling IoT devices to integrate with web infrastructure through simple {{gateway|proxies}}. But unlike [[http1|HTTP]], [[coap|CoAP]] supports {{multicast|multicast}} (discover all devices on a network), observation (a GET with an {{coap-observe|Observe}} option that lets clients receive push notifications when a resource changes), and block-wise transfer (for large payloads on constrained links). diff --git a/src/lib/data/protocols/dash.ts b/src/lib/data/protocols/dash.ts index faf3cad..18ba73a 100644 --- a/src/lib/data/protocols/dash.ts +++ b/src/lib/data/protocols/dash.ts @@ -68,7 +68,8 @@ for period in mpd.periods: # Download segments via HTTP GET # for seg_url in rep.base_urls: # data = requests.get(seg_url.base_url_value).content`, - caption: 'dash.js plays {{mpeg-org|MPEG}}-[[dash|DASH]] content with automatic adaptive bitrate', + caption: + 'dash.js plays {{mpeg-org|MPEG}}-[[dash|DASH]] content with automatic adaptive bitrate', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/dhcp.ts b/src/lib/data/protocols/dhcp.ts index 7eef755..a0c23fa 100644 --- a/src/lib/data/protocols/dhcp.ts +++ b/src/lib/data/protocols/dhcp.ts @@ -67,7 +67,8 @@ ans = srp1(dhcp_discover, timeout=5, verbose=0) if ans: offered_ip = ans[BOOTP].yiaddr print(f"Offered IP: {offered_ip}")`, - caption: 'Scapy lets you construct and send raw [[dhcp|DHCP]] packets โ€” see the {{dora|DORA}} process in action', + caption: + 'Scapy lets you construct and send raw [[dhcp|DHCP]] packets โ€” see the {{dora|DORA}} process in action', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/dns.ts b/src/lib/data/protocols/dns.ts index 4bf814f..49a3580 100644 --- a/src/lib/data/protocols/dns.ts +++ b/src/lib/data/protocols/dns.ts @@ -215,7 +215,7 @@ curl -sH 'accept: application/dns-json' \\ org: 'Google 8.8.8.8', scale: '~14 trillion queries/day', description: - 'The original public resolver, {{anycast|anycast}} across {{google|Google}}\'s edge network. Backbone of much of the modern internet\'s name resolution.' + "The original public resolver, {{anycast|anycast}} across {{google|Google}}'s edge network. Backbone of much of the modern internet's name resolution." }, { org: 'Root server system', @@ -252,7 +252,7 @@ curl -sH 'accept: application/dns-json' \\ }, { title: 'Negative caching can hurt', - text: 'Resolvers cache NXDOMAIN responses based on the SOA minimum field. If you typo a domain name and a resolver caches the failure for an hour, your fix won\'t take effect until the cache expires. Cure: monitor for unexpected NXDOMAIN; test resolution from multiple resolvers.' + text: "Resolvers cache NXDOMAIN responses based on the SOA minimum field. If you typo a domain name and a resolver caches the failure for an hour, your fix won't take effect until the cache expires. Cure: monitor for unexpected NXDOMAIN; test resolution from multiple resolvers." } ] } diff --git a/src/lib/data/protocols/graphql.ts b/src/lib/data/protocols/graphql.ts index 3642583..3cb115d 100644 --- a/src/lib/data/protocols/graphql.ts +++ b/src/lib/data/protocols/graphql.ts @@ -64,7 +64,8 @@ response = requests.post( data = response.json()["data"] print(data["user"]["name"], data["user"]["posts"])`, - caption: 'One [[graphql|GraphQL]] query replaces multiple [[rest|REST]] calls โ€” ask for exactly the data you need', + caption: + 'One [[graphql|GraphQL]] query replaces multiple [[rest|REST]] calls โ€” ask for exactly the data you need', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/grpc.ts b/src/lib/data/protocols/grpc.ts index c452781..abfc307 100644 --- a/src/lib/data/protocols/grpc.ts +++ b/src/lib/data/protocols/grpc.ts @@ -8,7 +8,8 @@ export const grpc: Protocol = { port: 443, year: 2015, rfc: undefined, - oneLiner: 'High-performance {{rpc|RPC}} framework using {{protocol-buffers|Protocol Buffers}} over [[http2|HTTP/2]].', + oneLiner: + 'High-performance {{rpc|RPC}} framework using {{protocol-buffers|Protocol Buffers}} over [[http2|HTTP/2]].', overview: `[[grpc|gRPC]] is {{google|Google}}'s open-source framework for remote procedure calls. Instead of designing [[rest|REST]] endpoints and manually serializing {{json|JSON}}, you define your service and messages in {{protocol-buffers|Protocol Buffers}} (.proto files), and [[grpc|gRPC]] generates strongly-typed client and server code in 11 languages. It uses [[http2|HTTP/2]] for transport, gaining {{multiplexing|multiplexing}} and {{header|header}} compression for free. Messages are serialized as {{protocol-buffers|Protocol Buffers}} โ€” a binary format that's 3-10x smaller and 3-10x faster to parse than {{json|JSON}}. [[grpc|gRPC]] also natively supports {{stream|streaming}}: server-streaming, client-streaming, and bidirectional streaming. diff --git a/src/lib/data/protocols/hls.ts b/src/lib/data/protocols/hls.ts index 679dd99..18ae9a3 100644 --- a/src/lib/data/protocols/hls.ts +++ b/src/lib/data/protocols/hls.ts @@ -8,7 +8,8 @@ export const hls: Protocol = { port: 443, year: 2009, rfc: 'RFC 8216', - oneLiner: "{{apple|Apple}}'s adaptive streaming protocol โ€” video delivered as small {{http-method|HTTP}} file downloads.", + oneLiner: + "{{apple|Apple}}'s adaptive streaming protocol โ€” video delivered as small {{http-method|HTTP}} file downloads.", overview: `[[hls|HLS]] takes a clever approach to streaming: instead of a continuous real-time stream, it chops video into small files (typically 2-10 second segments) and serves them as ordinary [[http1|HTTP]] downloads. A {{manifest|manifest}} file (.m3u8) lists the available segments and quality levels. This design is brilliant for several reasons: it works through any {{firewall|firewall}} (it's just [[http1|HTTP]]), it scales trivially with {{cdn|CDNs}} (segments are cacheable files), and it enables {{adaptive-bitrate|adaptive bitrate}} โ€” the player switches between quality levels based on {{bandwidth|bandwidth}}, providing smooth playback even on unstable connections. Increasingly, [[hls|HLS]] and [[dash|DASH]] are converging on CMAF (Common Media Application Format), which defines a unified segment format ({{fragmented-mp4|fragmented MP4}}) so content providers can encode once and serve both [[hls|HLS]] and [[dash|DASH]] from the same segments. @@ -62,7 +63,8 @@ media = m3u8.load(playlist.playlists[0].uri) for segment in media.segments: print(f"Segment: {segment.uri} ({segment.duration}s)") # data = requests.get(segment.uri).content`, - caption: 'ffmpeg creates [[hls|HLS]] segments and playlists โ€” CDNs serve these as ordinary {{http-method|HTTP}} files', + caption: + 'ffmpeg creates [[hls|HLS]] segments and playlists โ€” CDNs serve these as ordinary {{http-method|HTTP}} files', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/http2.ts b/src/lib/data/protocols/http2.ts index 8ba6983..d694bca 100644 --- a/src/lib/data/protocols/http2.ts +++ b/src/lib/data/protocols/http2.ts @@ -8,7 +8,8 @@ export const http2: Protocol = { port: 443, year: 2015, rfc: 'RFC 9113', - oneLiner: 'Multiplexed, binary {{http-method|HTTP}} โ€” many requests flying over one connection simultaneously.', + oneLiner: + 'Multiplexed, binary {{http-method|HTTP}} โ€” many requests flying over one connection simultaneously.', overview: `[[http2|HTTP/2]] was designed to fix [[http1|HTTP/1.1]]'s biggest pain points without changing the semantics developers know and love. You still use GET, POST, headers, and {{status-code|status codes}} โ€” but under the hood, everything is different. The protocol is {{binary-framing|binary (not text)}}, {{multiplexing|multiplexed}} (many requests share one connection), and supports {{header|header}} compression ({{hpack|HPACK}}) and {{server-push|server push}} (now deprecated โ€” Chrome removed support in Chrome 106; 103 {{early-hints|Early Hints}} is the recommended replacement). {{multiplexing|Multiplexing}} is the killer feature: instead of waiting for each response before sending the next request, [[http2|HTTP/2]] interleaves multiple {{request-response|request-response}} pairs as "{{stream|streams}}" on a single [[tcp|TCP]] connection. This eliminates the need for multiple connections and dramatically improves page load times for resource-heavy sites. @@ -58,7 +59,8 @@ print(f"Status: {response.status_code}") print(f"Body: {response.text}") client.close()`, - caption: '[[http2|HTTP/2]] multiplexes requests over a single connection with {{binary-framing|binary framing}}', + caption: + '[[http2|HTTP/2]] multiplexes requests over a single connection with {{binary-framing|binary framing}}', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/http3.ts b/src/lib/data/protocols/http3.ts index 9c89a6b..5d1cc1b 100644 --- a/src/lib/data/protocols/http3.ts +++ b/src/lib/data/protocols/http3.ts @@ -8,7 +8,8 @@ export const http3: Protocol = { port: 443, year: 2022, rfc: 'RFC 9114', - oneLiner: '{{http-method|HTTP}} over [[quic|QUIC]] โ€” faster connections, no {{head-of-line-blocking|head-of-line blocking}}, built-in {{encryption|encryption}}.', + oneLiner: + '{{http-method|HTTP}} over [[quic|QUIC]] โ€” faster connections, no {{head-of-line-blocking|head-of-line blocking}}, built-in {{encryption|encryption}}.', overview: `[[http3|HTTP/3]] is the latest evolution of {{http-method|HTTP}}, replacing [[tcp|TCP]] with [[quic|QUIC]] as its transport layer. This seemingly simple swap has profound implications: connections establish faster (1 {{rtt|RTT}} vs 2-3), lost {{packet|packets}} don't block unrelated streams, and connections survive network changes ([[wifi|Wi-Fi]] to cellular). The {{api|API}} for developers is identical โ€” same methods, headers, and status codes. The difference is entirely at the transport level. [[http3|HTTP/3]] uses [[quic|QUIC]]'s independent {{stream|streams}} to solve the {{head-of-line-blocking|head-of-line blocking}} that plagued [[http2|HTTP/2]] over [[tcp|TCP]]. Each {{http-method|HTTP}} request maps to a [[quic|QUIC]] stream; if one packet is lost, only that stream waits for {{retransmission|retransmission}}. @@ -55,7 +56,8 @@ curl -sI https://cloudflare-quic.com \\ # Force HTTP/3 only (fail if not supported) curl --http3-only https://cloudflare-quic.com`, - caption: '[[http3|HTTP/3]] uses [[quic|QUIC]] transport โ€” clients discover it via the Alt-Svc header', + caption: + '[[http3|HTTP/3]] uses [[quic|QUIC]] transport โ€” clients discover it via the Alt-Svc header', alternatives: [ { language: 'javascript', @@ -168,7 +170,7 @@ asyncio.run(fetch_h3())` org: 'Google', scale: 'google.com / YouTube', description: - 'Default for chrome.com, youtube.com, and most {{google|Google}} web properties. {{google|Google}}\'s investment is what drove [[quic|QUIC]] + [[http3|HTTP/3]] standardisation.' + "Default for chrome.com, youtube.com, and most {{google|Google}} web properties. {{google|Google}}'s investment is what drove [[quic|QUIC]] + [[http3|HTTP/3]] standardisation." }, { org: 'Meta', @@ -197,7 +199,7 @@ asyncio.run(fetch_h3())` pitfalls: [ { title: 'Alt-Svc bootstrap requires a TCP+TLS round-trip', - text: 'A new client doesn\'t know to try [[http3|HTTP/3]] until it sees an Alt-Svc header in an [[http1|HTTP/1.1]] or [[http2|HTTP/2]] response โ€” meaning the very first connection still pays the [[tcp|TCP]]+[[tls|TLS]] round-trip cost. The HTTPS [[dns|DNS]] record (HTTPS RR, [[rfc:9460|RFC 9460]]) closes this gap by advertising [[http3|HTTP/3]] support directly in [[dns|DNS]], but adoption is partial.' + text: "A new client doesn't know to try [[http3|HTTP/3]] until it sees an Alt-Svc header in an [[http1|HTTP/1.1]] or [[http2|HTTP/2]] response โ€” meaning the very first connection still pays the [[tcp|TCP]]+[[tls|TLS]] round-trip cost. The HTTPS [[dns|DNS]] record (HTTPS RR, [[rfc:9460|RFC 9460]]) closes this gap by advertising [[http3|HTTP/3]] support directly in [[dns|DNS]], but adoption is partial." }, { title: 'CDN coverage is much better than origin coverage', diff --git a/src/lib/data/protocols/icmp.ts b/src/lib/data/protocols/icmp.ts index 1edf64c..02383f2 100644 --- a/src/lib/data/protocols/icmp.ts +++ b/src/lib/data/protocols/icmp.ts @@ -8,7 +8,8 @@ export const icmp: Protocol = { port: undefined, year: 1981, rfc: 'RFC 792', - oneLiner: 'The diagnostic protocol behind {{ping|ping}} and {{traceroute|traceroute}} โ€” how the network reports errors.', + oneLiner: + 'The diagnostic protocol behind {{ping|ping}} and {{traceroute|traceroute}} โ€” how the network reports errors.', overview: `[[icmp|ICMP]] is the internet's error-reporting and diagnostic protocol. When you type \`ping google.com\`, [[icmp|ICMP]] {{echo-request|Echo Request}} and Reply messages measure whether the target is reachable and how long the {{rtt|round trip}} takes. When you run \`traceroute\`, [[icmp|ICMP]] {{time-exceeded|Time Exceeded}} messages reveal each {{hop|hop}} along the path. [[icmp|ICMP]] is arguably the most universally used protocol in network troubleshooting. Unlike [[tcp|TCP]] or [[udp|UDP]], [[icmp|ICMP]] doesn't use {{port|ports}}. It's {{encapsulation|encapsulated}} directly in [[ip|IP]] {{packet|packets}} with protocol number 1 โ€” sitting at the network layer, not the transport layer. This means [[icmp|ICMP]] can report problems that [[tcp|TCP]] and [[udp|UDP]] can't even see: unreachable networks, expired {{ttl|TTLs}}, {{fragmentation|fragmentation}} issues, and routing redirects. @@ -90,7 +91,8 @@ def ping(host): reply = sock.recv(1024) rtt = (time.time() - start) * 1000 print(f"Reply from {host}: time={rtt:.1f}ms")`, - caption: '[[icmp|ICMP]] requires raw sockets โ€” it operates at the network layer, below [[tcp|TCP]]/[[udp|UDP]]', + caption: + '[[icmp|ICMP]] requires raw sockets โ€” it operates at the network layer, below [[tcp|TCP]]/[[udp|UDP]]', alternatives: [ { language: 'cli', diff --git a/src/lib/data/protocols/imap.ts b/src/lib/data/protocols/imap.ts index 86206ec..0f12181 100644 --- a/src/lib/data/protocols/imap.ts +++ b/src/lib/data/protocols/imap.ts @@ -67,7 +67,8 @@ with imaplib.IMAP4_SSL('imap.example.com') as mail: print(data[0][1]) mail.logout()`, - caption: '[[imap|IMAP]] lets you search and {{imap-fetch|fetch}} email on the server โ€” no need to download everything', + caption: + '[[imap|IMAP]] lets you search and {{imap-fetch|fetch}} email on the server โ€” no need to download everything', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/ip.ts b/src/lib/data/protocols/ip.ts index 9ebf681..0eabf2a 100644 --- a/src/lib/data/protocols/ip.ts +++ b/src/lib/data/protocols/ip.ts @@ -177,7 +177,18 @@ sudo tcpdump -i eth0 -v -c 5 ip` overhead: '20-byte header minimum (no options); 24-60 bytes with options. Every packet on the internet carries this.' }, - connections: ['tcp', 'udp', 'ethernet', 'arp', 'dns', 'wifi', 'ipv6', 'ospf', 'ipsec', 'nat-traversal'], + connections: [ + 'tcp', + 'udp', + 'ethernet', + 'arp', + 'dns', + 'wifi', + 'ipv6', + 'ospf', + 'ipsec', + 'nat-traversal' + ], links: { wikipedia: 'https://en.wikipedia.org/wiki/Internet_Protocol', rfc: 'https://datatracker.ietf.org/doc/html/rfc791' diff --git a/src/lib/data/protocols/ipsec.ts b/src/lib/data/protocols/ipsec.ts index 0ecc95b..7c7b50d 100644 --- a/src/lib/data/protocols/ipsec.ts +++ b/src/lib/data/protocols/ipsec.ts @@ -9,7 +9,7 @@ export const ipsec: Protocol = { year: 1995, rfc: 'RFC 4301 / 7296', oneLiner: - 'The {{ietf|IETF}}\'s Layer-3 cryptographic envelope โ€” every site-to-site {{vpn|VPN}}, every {{3gpp|3GPP}} mobile-core backhaul, every {{ikev2|IKEv2}} client tunnel on macOS / iOS / Windows / {{android|Android}} runs IPsec.', + "The {{ietf|IETF}}'s Layer-3 cryptographic envelope โ€” every site-to-site {{vpn|VPN}}, every {{3gpp|3GPP}} mobile-core backhaul, every {{ikev2|IKEv2}} client tunnel on macOS / iOS / Windows / {{android|Android}} runs IPsec.", overview: `[[ipsec|IPsec]] is the {{ietf|IETF}}'s **network-layer** security architecture. Where [[tls|TLS]] wraps a single [[tcp|TCP]] stream and [[ssh|SSH]] wraps a single remote session, [[ipsec|IPsec]] {{encryption|encrypts}} entire [[ip|IP]] {{packet|packets}} โ€” host-to-host, gateway-to-gateway, or both โ€” and is the only mainstream cryptographic protocol that lives *inside* the network stack rather than above it. **{{ah-authentication-header|AH}}** ([[rfc:4302|RFC 4302]]) authenticates the [[ip|IP]] {{header|header}} and {{payload|payload}}; **{{esp|ESP}}** ([[rfc:4303|RFC 4303]], the part everyone actually deploys) encrypts and authenticates payloads using {{aead|AEAD ciphers}} like {{aes-gcm|AES-GCM}} and {{chacha20-poly1305|ChaCha20-Poly1305}}. **{{ike|IKEv2}}** ([[rfc:7296|RFC 7296]], the modern key-management protocol, edited across decades by [[pioneer:charlie-kaufman|Charlie Kaufman]] and [[pioneer:tero-kivinen|Tero Kivinen]]) negotiates the {{cipher-suite|cipher suite}} and establishes the {{security-association|Security Associations}} the data plane uses. The architecture began in 1995 with [[pioneer:randall-atkinson|Randall Atkinson]] at the U.S. Naval Research Lab ({{rfc-doc|RFC}} 1825/1826/1827); [[pioneer:phil-karn|Phil Karn]] influenced the design from Qualcomm and was, in parallel, the plaintiff in *Karn v. U.S. State Department* โ€” the export-control case that helped establish "code is speech." [[ipsec|IPsec]] has been re-architected twice ([[rfc:4301|RFC 4301]], 2005) and survived a 2003 architectural critique from Ferguson and Schneier (whose paper concluded it was, despite its complexity, "the best [[ip|IP]] security protocol available at the moment"). It is the **only** widely-deployed {{vpn|VPN}} that natively carries [[bgp|BGP]] / [[ospf|OSPF]] / {{multicast|multicast}} on tunnel interfaces โ€” the reason {{3gpp|3GPP}} picked it for {{lte|LTE}} S1/X2 and 5G N2/N3 backhaul, and the reason every carrier on Earth runs it whether they want to or not. @@ -29,7 +29,7 @@ As of May 2026, [[ipsec|IPsec]] is also the first mainstream {{vpn|VPN}} with a { title: 'ESP โ€” encrypt and authenticate every packet', description: - "Once the {{child-sa|Child SA}} is up, every outbound [[ip|IP]] {{packet|packet}} matching the Security Policy Database (SPD) is wrapped in an **{{esp|ESP}} {{header|header}}** (32-bit {{spi|SPI}} + 32-bit {{sequence-number|sequence number}}), {{aead|AEAD-encrypted}} with the negotiated key, and forwarded. In **tunnel mode** (the default for gateways) the original [[ip|IP]] packet is {{encapsulation|encapsulated}} inside a new outer [[ip|IP]] header. In **transport mode** (host-to-host) the [[ip|IP]] header is preserved and only the {{payload|payload}} is encrypted." + 'Once the {{child-sa|Child SA}} is up, every outbound [[ip|IP]] {{packet|packet}} matching the Security Policy Database (SPD) is wrapped in an **{{esp|ESP}} {{header|header}}** (32-bit {{spi|SPI}} + 32-bit {{sequence-number|sequence number}}), {{aead|AEAD-encrypted}} with the negotiated key, and forwarded. In **tunnel mode** (the default for gateways) the original [[ip|IP]] packet is {{encapsulation|encapsulated}} inside a new outer [[ip|IP]] header. In **transport mode** (host-to-host) the [[ip|IP]] header is preserved and only the {{payload|payload}} is encrypted.' }, { title: 'Anti-replay window', @@ -44,7 +44,7 @@ As of May 2026, [[ipsec|IPsec]] is also the first mainstream {{vpn|VPN}} with a { title: 'NAT-T, MOBIKE, MOBIKE-X โ€” survive the real internet', description: - 'Once outside the lab, {{nat|NAT}} and mobility appear. **{{nat|NAT}}-T** (UDP/4500) wraps {{esp|ESP}} in [[udp|UDP]] so home routers don\'t corrupt the packet. **MOBIKE** ([[rfc:4555|RFC 4555]]) lets a roadwarrior survive Wi-Fi-to-{{lte|LTE}} handoff. **{{rfc-doc|RFC}} 8229 ({{ike|IKE}}/{{esp|ESP}} over [[tcp|TCP]])** is the last-resort fallback for hostile networks (hotel Wi-Fi, captive portals) that drop [[udp|UDP]].' + "Once outside the lab, {{nat|NAT}} and mobility appear. **{{nat|NAT}}-T** (UDP/4500) wraps {{esp|ESP}} in [[udp|UDP]] so home routers don't corrupt the packet. **MOBIKE** ([[rfc:4555|RFC 4555]]) lets a roadwarrior survive Wi-Fi-to-{{lte|LTE}} handoff. **{{rfc-doc|RFC}} 8229 ({{ike|IKE}}/{{esp|ESP}} over [[tcp|TCP]])** is the last-resort fallback for hostile networks (hotel Wi-Fi, captive portals) that drop [[udp|UDP]]." } ], useCases: [ @@ -89,7 +89,8 @@ swanctl --initiate --child office-net swanctl --list-sas ip -s xfrm state # kernel data-plane counters ip -s xfrm policy # SPD entries`, - caption: 'A site-to-site [[ipsec|IPsec]] tunnel in strongSwan with **{{ml-kem|ML-KEM}}-768 hybrid post-quantum** key {{exchange|exchange}} โ€” production-deployable today on {{linux|Linux}} 6.x.', + caption: + 'A site-to-site [[ipsec|IPsec]] tunnel in strongSwan with **{{ml-kem|ML-KEM}}-768 hybrid post-quantum** key {{exchange|exchange}} โ€” production-deployable today on {{linux|Linux}} 6.x.', alternatives: [ { language: 'python', @@ -233,7 +234,7 @@ Payloads: src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Ipsec-ah.svg/500px-Ipsec-ah.svg.png', alt: 'IPsec Authentication Header (AH) format diagram showing the fields that authenticate every IP packet', caption: - 'IPsec\'s **Authentication Header ({{ah-authentication-header|AH}})** โ€” the simpler half of the architecture. Authenticates the [[ip|IP]] header *and* {{payload|payload}}, but encrypts nothing. Almost no production deployment uses {{ah-authentication-header|AH}} alone in 2026; **{{esp|ESP}}** ([[rfc:4303|RFC 4303]]) โ€” which encrypts *and* authenticates โ€” has won the architecture debate.', + "IPsec's **Authentication Header ({{ah-authentication-header|AH}})** โ€” the simpler half of the architecture. Authenticates the [[ip|IP]] header *and* {{payload|payload}}, but encrypts nothing. Almost no production deployment uses {{ah-authentication-header|AH}} alone in 2026; **{{esp|ESP}}** ([[rfc:4303|RFC 4303]]) โ€” which encrypts *and* authenticates โ€” has won the architecture debate.", credit: 'Image: Wikimedia Commons / CC BY-SA' }, @@ -323,7 +324,7 @@ Payloads: }, { title: 'WireGuard is ~4,000 lines; the IPsec stack is six digits', - text: '[[pioneer:jason-donenfeld|Jason Donenfeld]]\'s 2017 {{ndss-conf|NDSS}} WireGuard paper counted 116,730 LoC across OpenVPN + {{linux|Linux}} {{xfrm|XFRM}} + strongSwan + SoftEther. The comparison is biased โ€” {{xfrm|XFRM}} does more โ€” but the order of magnitude is correct. WireGuard\'s minimalism is a direct response to [[ipsec|IPsec]]\'s architectural sprawl; [[ipsec|IPsec]]\'s sprawl is a direct response to thirty years of interop requirements no clean-slate design has yet had to face.' + text: "[[pioneer:jason-donenfeld|Jason Donenfeld]]'s 2017 {{ndss-conf|NDSS}} WireGuard paper counted 116,730 LoC across OpenVPN + {{linux|Linux}} {{xfrm|XFRM}} + strongSwan + SoftEther. The comparison is biased โ€” {{xfrm|XFRM}} does more โ€” but the order of magnitude is correct. WireGuard's minimalism is a direct response to [[ipsec|IPsec]]'s architectural sprawl; [[ipsec|IPsec]]'s sprawl is a direct response to thirty years of interop requirements no clean-slate design has yet had to face." } ], @@ -339,7 +340,7 @@ Payloads: }, { title: 'Roadwarriors die on Wi-Fi โ†’ LTE handoff without MOBIKE', - text: 'A roadwarrior session that comes up on hotel Wi-Fi will tear down the moment the laptop switches to {{lte|LTE}} โ€” the {{ike-sa|IKE SA}} is bound to the source `ip:port` and reconnects from scratch. **Cure:** enable **MOBIKE** ([[rfc:4555|RFC 4555]]) on both ends (`mobike=yes` in strongSwan). The session migrates seamlessly to the new {{ip-address|address}} without re-authenticating. Built into {{apple|Apple}}\'s native client; opt-in on strongSwan/Libreswan.' + text: "A roadwarrior session that comes up on hotel Wi-Fi will tear down the moment the laptop switches to {{lte|LTE}} โ€” the {{ike-sa|IKE SA}} is bound to the source `ip:port` and reconnects from scratch. **Cure:** enable **MOBIKE** ([[rfc:4555|RFC 4555]]) on both ends (`mobike=yes` in strongSwan). The session migrates seamlessly to the new {{ip-address|address}} without re-authenticating. Built into {{apple|Apple}}'s native client; opt-in on strongSwan/Libreswan." } ] } diff --git a/src/lib/data/protocols/ipv6.ts b/src/lib/data/protocols/ipv6.ts index 954e42d..a316f09 100644 --- a/src/lib/data/protocols/ipv6.ts +++ b/src/lib/data/protocols/ipv6.ts @@ -76,7 +76,8 @@ sock.send(b'GET / HTTP/1.1\\r\\n' b'Host: example.com\\r\\n\\r\\n') response = sock.recv(4096) print(response.decode()[:200])`, - caption: '[[ipv6|IPv6]] sockets use AF_INET6 and 4-tuple addresses (host, port, flowinfo, scope_id)', + caption: + '[[ipv6|IPv6]] sockets use AF_INET6 and 4-tuple addresses (host, port, flowinfo, scope_id)', alternatives: [ { language: 'cli', diff --git a/src/lib/data/protocols/kerberos.ts b/src/lib/data/protocols/kerberos.ts index cc5d287..0396527 100644 --- a/src/lib/data/protocols/kerberos.ts +++ b/src/lib/data/protocols/kerberos.ts @@ -21,17 +21,17 @@ The famous architectural decision: Kerberos requires **time synchronisation** ac { title: 'AS-REQ โ†’ AS-REP โ€” get a Ticket Granting Ticket', description: - 'Client sends an **AS-REQ** to the {{kerberos-kdc|KDC}}\'s Authentication Service with its principal name (`alice@EXAMPLE.COM`). {{kerberos-kdc|KDC}} looks up Alice\'s long-term key in its database, generates a fresh session key, and returns an **{{kerberos-as-rep-acr|AS-REP}}** containing: (a) a **Ticket Granting Ticket ({{kerberos-tgt|TGT}})** {{encryption|encrypted}} under the **{{kerberos-krbtgt|krbtgt}}** principal\'s key (so only the {{kerberos-kdc|KDC}} can later decrypt it), and (b) the session key encrypted under Alice\'s long-term key (so only Alice can decrypt it). Alice never sends her password.' + "Client sends an **AS-REQ** to the {{kerberos-kdc|KDC}}'s Authentication Service with its principal name (`alice@EXAMPLE.COM`). {{kerberos-kdc|KDC}} looks up Alice's long-term key in its database, generates a fresh session key, and returns an **{{kerberos-as-rep-acr|AS-REP}}** containing: (a) a **Ticket Granting Ticket ({{kerberos-tgt|TGT}})** {{encryption|encrypted}} under the **{{kerberos-krbtgt|krbtgt}}** principal's key (so only the {{kerberos-kdc|KDC}} can later decrypt it), and (b) the session key encrypted under Alice's long-term key (so only Alice can decrypt it). Alice never sends her password." }, { title: 'Pre-authentication (the modern default)', description: - "Modern KDCs reject an unauthenticated AS-REQ. The client must include a **{{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}}** โ€” a fresh timestamp encrypted under its long-term key โ€” so the {{kerberos-kdc|KDC}} can verify the client actually knows the password before issuing a {{kerberos-tgt|TGT}}. (The old behaviour of returning the {{kerberos-as-rep-acr|AS-REP}} without pre-auth is what enables **{{kerberos-as-rep-acr|AS-REP}} roasting** โ€” an attacker harvests the {{encryption|encrypted}} blob and brute-forces it offline.)" + 'Modern KDCs reject an unauthenticated AS-REQ. The client must include a **{{kerberos-pa-enc-timestamp|PA-ENC-TIMESTAMP}}** โ€” a fresh timestamp encrypted under its long-term key โ€” so the {{kerberos-kdc|KDC}} can verify the client actually knows the password before issuing a {{kerberos-tgt|TGT}}. (The old behaviour of returning the {{kerberos-as-rep-acr|AS-REP}} without pre-auth is what enables **{{kerberos-as-rep-acr|AS-REP}} roasting** โ€” an attacker harvests the {{encryption|encrypted}} blob and brute-forces it offline.)' }, { title: 'TGS-REQ โ†’ TGS-REP โ€” get a service ticket', description: - 'When Alice wants to access `HTTP/web1.example.com`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}\'s {{kerberos-tgs|Ticket Granting Service}}, presenting her {{kerberos-tgt|TGT}} plus a fresh authenticator (an {{anti-replay|anti-replay}} timestamp encrypted under the {{kerberos-tgt|TGT}} session key). {{kerberos-kdc|KDC}} decrypts the {{kerberos-tgt|TGT}} (it knows {{kerberos-krbtgt|krbtgt}}\'s key), validates the authenticator, mints a new session key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted under web1\'s long-term key.' + "When Alice wants to access `HTTP/web1.example.com`, she sends a **TGS-REQ** to the {{kerberos-kdc|KDC}}'s {{kerberos-tgs|Ticket Granting Service}}, presenting her {{kerberos-tgt|TGT}} plus a fresh authenticator (an {{anti-replay|anti-replay}} timestamp encrypted under the {{kerberos-tgt|TGT}} session key). {{kerberos-kdc|KDC}} decrypts the {{kerberos-tgt|TGT}} (it knows {{kerberos-krbtgt|krbtgt}}'s key), validates the authenticator, mints a new session key for Aliceโ†”web1, and returns a **TGS-REP** with a **service ticket** encrypted under web1's long-term key." }, { title: 'AP-REQ โ€” present the service ticket', @@ -41,7 +41,7 @@ The famous architectural decision: Kerberos requires **time synchronisation** ac { title: 'Cross-realm referrals', description: - "When Alice in EXAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc|KDC}} issues a **referral {{kerberos-tgt|TGT}}** for the {{kerberos-krbtgt|krbtgt}}/PARTNER.COM principal (encrypted under a cross-realm shared key). Alice presents that to the PARTNER.COM {{kerberos-kdc|KDC}}, gets a service ticket. The trust topology is a graph of shared keys between {{kerberos-krbtgt|krbtgt}} principals โ€” the same mechanism Active Directory uses to scale to forests." + 'When Alice in EXAMPLE.COM wants to access a service in PARTNER.COM, her {{kerberos-kdc|KDC}} issues a **referral {{kerberos-tgt|TGT}}** for the {{kerberos-krbtgt|krbtgt}}/PARTNER.COM principal (encrypted under a cross-realm shared key). Alice presents that to the PARTNER.COM {{kerberos-kdc|KDC}}, gets a service ticket. The trust topology is a graph of shared keys between {{kerberos-krbtgt|krbtgt}} principals โ€” the same mechanism Active Directory uses to scale to forests.' }, { title: 'GSS-API and SPNEGO โ€” the application bindings', @@ -53,9 +53,9 @@ The famous architectural decision: Kerberos requires **time synchronisation** ac '**Active Directory** โ€” every Microsoft AD domain on Earth, primary authentication since Windows 2000', '**Hadoop / Spark / Kafka** in enterprise โ€” sec=krb5 is the only way to authenticate jobs at scale', '**NFSv4** with `sec=krb5` / `sec=krb5i` / `sec=krb5p` โ€” the only path to integrity + confidentiality on NFS', - '**FreeIPA** โ€” Red Hat\'s integrated identity solution (Kerberos + LDAP + DNS + CA)', + "**FreeIPA** โ€” Red Hat's integrated identity solution (Kerberos + LDAP + DNS + CA)", '**MIT Athena** โ€” still operational at MIT in 2026, four decades after the protocol was designed there', - '**SSH with GSSAPIAuthentication** โ€” passwordless SSH within a Kerberos realm via the user\'s TGT' + "**SSH with GSSAPIAuthentication** โ€” passwordless SSH within a Kerberos realm via the user's TGT" ], codeExample: { language: 'cli', @@ -99,7 +99,8 @@ slot KVNO Principal Encryption type ---- ---- ------------------------------------ ------------------ 1 2 HTTP/web1.example.com@EXAMPLE.COM aes256-cts-hmac-sha384-192 2 2 HTTP/web1.example.com@EXAMPLE.COM aes128-cts-hmac-sha256-128`, - caption: 'A full [[kerberos|Kerberos]] {{login-auth|login}} + service-ticket flow on {{mit|MIT}} krb5 โ€” the toolchain that has powered {{mit|MIT}} Athena since 1988.', + caption: + 'A full [[kerberos|Kerberos]] {{login-auth|login}} + service-ticket flow on {{mit|MIT}} krb5 โ€” the toolchain that has powered {{mit|MIT}} Athena since 1988.', alternatives: [ { language: 'python', @@ -285,14 +286,20 @@ server.listen(443);` title: 'MIT krb5 1.21.3 โ€” CVE-2024-37370 / CVE-2024-37371', description: 'Critical GSS message-token handling bugs in the {{mit|MIT}} codebase. {{cve|CVE}}-2024-37370 was an out-of-bounds write in `gss_unwrap` triggerable by a malformed token; {{cve|CVE}}-2024-37371 was a related integrity-bypass. Patched in 1.21.3, picked up downstream by every {{linux|Linux}} distro within days.', - source: { url: 'https://nvd.nist.gov/vuln/detail/CVE-2024-37370', label: 'NVD CVE-2024-37370' } + source: { + url: 'https://nvd.nist.gov/vuln/detail/CVE-2024-37370', + label: 'NVD CVE-2024-37370' + } }, { date: '2025-08', title: 'MIT krb5 1.22 โ€” PKINIT ECDH, IAKerb, Unix-domain transport', description: '5 August 2025 release. Headline features: **PKINIT {{ecdh|ECDH}}/EC certs** (smart-card auth on {{curve25519|Curve25519}} / P-384), **paChecksum2** support (longer FAST-armored {{checksum|checksum}} to retire {{sha1|SHA-1}}), **IAKerb** for realm discovery without [[dns|DNS]], and the first **Unix-domain socket transport** for in-host {{kerberos-kdc|KDC}} traffic. Initial release was withdrawn on 17 August for a critical vuln; re-issued as 1.22.2.', - source: { url: 'https://web.mit.edu/kerberos/krb5-1.22/', label: 'MIT krb5 1.22 release notes' } + source: { + url: 'https://web.mit.edu/kerberos/krb5-1.22/', + label: 'MIT krb5 1.22 release notes' + } }, { date: '2025-09', @@ -308,7 +315,7 @@ server.listen(443);` date: '2026-04', title: 'Windows Server 2025 / Win11 24H2 โ€” IAKerb + Local KDC GA', description: - 'Phase 2 of {{microsoft|Microsoft}}\'s {{ntlm|NTLM}} phase-out. **IAKerb** (Initial and Pass-Through Authentication using Kerberos) lets clients authenticate through a proxy when they cannot reach a {{kerberos-kdc|KDC}} directly. **Local {{kerberos-kdc|KDC}}** for workgroup machines (no domain join needed). Together they cover the residual use cases {{ntlm|NTLM}} was holding onto.', + "Phase 2 of {{microsoft|Microsoft}}'s {{ntlm|NTLM}} phase-out. **IAKerb** (Initial and Pass-Through Authentication using Kerberos) lets clients authenticate through a proxy when they cannot reach a {{kerberos-kdc|KDC}} directly. **Local {{kerberos-kdc|KDC}}** for workgroup machines (no domain join needed). Together they cover the residual use cases {{ntlm|NTLM}} was holding onto.", source: { url: 'https://techcommunity.microsoft.com/t5/windows-it-pro-blog/the-evolution-of-windows-authentication/ba-p/3926341', label: 'Microsoft Windows IT Pro blog' @@ -331,7 +338,7 @@ server.listen(443);` org: 'Microsoft Active Directory', scale: 'Every AD domain on Earth (>500M Windows endpoints, every Fortune 1000)', description: - 'Kerberos has been {{ad-active-directory|AD}}\'s primary authentication since Windows 2000. Every domain-joined Windows machine, every {{ad-active-directory|AD}}-integrated {{exchange|Exchange}} / Outlook, every SharePoint, every {{sql|SQL}} Server with Windows Authentication runs Kerberos under the hood. The single largest [[kerberos|Kerberos]] deployment ever.' + "Kerberos has been {{ad-active-directory|AD}}'s primary authentication since Windows 2000. Every domain-joined Windows machine, every {{ad-active-directory|AD}}-integrated {{exchange|Exchange}} / Outlook, every SharePoint, every {{sql|SQL}} Server with Windows Authentication runs Kerberos under the hood. The single largest [[kerberos|Kerberos]] deployment ever." }, { org: 'MIT Kerberos (krb5)', @@ -341,7 +348,7 @@ server.listen(443);` }, { org: 'Heimdal', - scale: 'Apple\'s macOS, Samba, FreeBSD', + scale: "Apple's macOS, Samba, FreeBSD", description: '{{bsd|BSD}}-licensed alternative to {{mit|MIT}} Kerberos, originated at SU/KTH in Sweden. {{apple|Apple}} shipped Heimdal in every macOS from 10.5 (2007) onward; Samba 4 uses it for {{ad-active-directory|AD}} compatibility. Love Hรถrnquist ร…strand has been the long-running maintainer.' }, @@ -349,14 +356,14 @@ server.listen(443);` org: 'Hadoop / Spark / Kafka', scale: 'Every Cloudera CDH / Hortonworks HDP / Confluent Platform install', description: - "`hadoop.security.authentication = kerberos` is the only path to authenticated jobs at scale in a Hadoop cluster. The 2015โ€“2025 enterprise-Hadoop era ran on krb5 keytabs distributed via Ambari/Cloudera Manager. Spark, Hive, Impala, HBase, ZooKeeper all bind to the same {{kerberos-kdc|KDC}}." + '`hadoop.security.authentication = kerberos` is the only path to authenticated jobs at scale in a Hadoop cluster. The 2015โ€“2025 enterprise-Hadoop era ran on krb5 keytabs distributed via Ambari/Cloudera Manager. Spark, Hive, Impala, HBase, ZooKeeper all bind to the same {{kerberos-kdc|KDC}}.' } ], funFacts: [ { title: 'Named after the three-headed dog that guards Hades', - text: '**Cerberus** in Greek mythology had three heads โ€” one for *past*, *present*, and *future*, or for *birth*, *youth*, and *old age*, depending on the source. The {{mit|MIT}} team picked the name to evoke three principals โ€” **client**, **server**, **{{kerberos-kdc|KDC}}** โ€” with the dog\'s job: nothing crosses without a ticket. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in modern Greek.' + text: "**Cerberus** in Greek mythology had three heads โ€” one for *past*, *present*, and *future*, or for *birth*, *youth*, and *old age*, depending on the source. The {{mit|MIT}} team picked the name to evoke three principals โ€” **client**, **server**, **{{kerberos-kdc|KDC}}** โ€” with the dog's job: nothing crosses without a ticket. Pronounced *KER-ber-os* in English; *KEHR-ber-os* in modern Greek." }, { title: 'V4 was held back by US export controls', @@ -364,11 +371,11 @@ server.listen(443);` }, { title: '"AS-REP roasting" is when you forget pre-auth', - text: 'A principal with `DONT_REQUIRE_PREAUTH` flag set can be queried by *anyone* with a network path to the {{kerberos-kdc|KDC}} โ€” no password required. The {{kerberos-kdc|KDC}} returns an {{kerberos-as-rep-acr|AS-REP}} encrypted under the principal\'s long-term key, which the attacker can then brute-force offline. **{{kerberos-as-rep-acr|AS-REP}} roasting** (Tim Medin, 2014) is the standard penetration-test move against {{ad-active-directory|AD}} environments where service-account pre-auth was accidentally disabled. Sister technique: **Kerberoasting** (also Tim Medin, 2014) requests TGS-REPs for service principals and brute-forces those.' + text: "A principal with `DONT_REQUIRE_PREAUTH` flag set can be queried by *anyone* with a network path to the {{kerberos-kdc|KDC}} โ€” no password required. The {{kerberos-kdc|KDC}} returns an {{kerberos-as-rep-acr|AS-REP}} encrypted under the principal's long-term key, which the attacker can then brute-force offline. **{{kerberos-as-rep-acr|AS-REP}} roasting** (Tim Medin, 2014) is the standard penetration-test move against {{ad-active-directory|AD}} environments where service-account pre-auth was accidentally disabled. Sister technique: **Kerberoasting** (also Tim Medin, 2014) requests TGS-REPs for service principals and brute-forces those." }, { title: 'Clock skew is the silent killer', - text: 'Default `clockskew` in `krb5.conf` is **ยฑ5 minutes**. If a client\'s clock drifts more than that, every authentication fails with `KRB_AP_ERR_SKEW`. Every enterprise Kerberos outage of the 2010s eventually traced back to [[ntp|NTP]] โ€” broken [[ntp|NTP]] servers, firewalls blocking UDP/123, virtualised {{hosts-bare|hosts}} with drift. The protocol\'s most operationally fragile dependency isn\'t crypto; it\'s time.' + text: "Default `clockskew` in `krb5.conf` is **ยฑ5 minutes**. If a client's clock drifts more than that, every authentication fails with `KRB_AP_ERR_SKEW`. Every enterprise Kerberos outage of the 2010s eventually traced back to [[ntp|NTP]] โ€” broken [[ntp|NTP]] servers, firewalls blocking UDP/123, virtualised {{hosts-bare|hosts}} with drift. The protocol's most operationally fragile dependency isn't crypto; it's time." } ], @@ -384,7 +391,7 @@ server.listen(443);` }, { title: 'Weak encryption types still lurk in old keytabs', - text: "Every keytab includes a list of {{encryption|encryption}} types the principal supports. Old {{ad-active-directory|AD}} environments have **{{rc4|RC4}} (NEA1)** still enabled โ€” the {{encryption|encryption}} type **Kerberoasting** specifically targets, because {{rc4|RC4}} keys are derived from NT hash and brute-force in hours. **Cure:** set `default_tkt_enctypes = aes256-cts-{{hmac|hmac}}-sha384-192 aes128-cts-{{hmac|hmac}}-sha256-128` in `krb5.conf`; remove {{rc4|RC4}} from the supported list with `Set-ADUser -KerberosEncryptionType AES128,AES256`; audit with {{wireshark|Wireshark}} filter `kerberos.etype == 23` to find any remaining {{rc4|RC4}} traffic." + text: 'Every keytab includes a list of {{encryption|encryption}} types the principal supports. Old {{ad-active-directory|AD}} environments have **{{rc4|RC4}} (NEA1)** still enabled โ€” the {{encryption|encryption}} type **Kerberoasting** specifically targets, because {{rc4|RC4}} keys are derived from NT hash and brute-force in hours. **Cure:** set `default_tkt_enctypes = aes256-cts-{{hmac|hmac}}-sha384-192 aes128-cts-{{hmac|hmac}}-sha256-128` in `krb5.conf`; remove {{rc4|RC4}} from the supported list with `Set-ADUser -KerberosEncryptionType AES128,AES256`; audit with {{wireshark|Wireshark}} filter `kerberos.etype == 23` to find any remaining {{rc4|RC4}} traffic.' } ] } diff --git a/src/lib/data/protocols/mdns-dns-sd.ts b/src/lib/data/protocols/mdns-dns-sd.ts index 9346b63..80edd76 100644 --- a/src/lib/data/protocols/mdns-dns-sd.ts +++ b/src/lib/data/protocols/mdns-dns-sd.ts @@ -24,7 +24,7 @@ Stuart Cheshire and Marc Krochmal at {{apple|Apple}} shipped this as **Rendezvou { title: 'Announce โ€” two responses with cache-flush', description: - "On winning the probe, the host sends two Response messages 1 second apart, each with the **cache-flush** bit set on its A/{{aaaa-record|AAAA}}/{{srv-record|SRV}}/{{txt-record|TXT}} records. Every receiver replaces any stale entries for that name with the new ones. The host is now *live* on the link." + 'On winning the probe, the host sends two Response messages 1 second apart, each with the **cache-flush** bit set on its A/{{aaaa-record|AAAA}}/{{srv-record|SRV}}/{{txt-record|TXT}} records. Every receiver replaces any stale entries for that name with the new ones. The host is now *live* on the link.' }, { title: 'Respond โ€” multicast queries, 20โ€“120 ms random delay', @@ -83,7 +83,8 @@ try: input("Press Enter to stop browsing...\\n") finally: zc.close()`, - caption: 'A [[mdns-dns-sd|DNS-SD]] browser in 25 lines of Python. Same code finds Chromecasts (`_googlecast._tcp.`), printers (`_ipp._tcp.`), or {{matter|Matter}} devices (`_matter._tcp.`).', + caption: + 'A [[mdns-dns-sd|DNS-SD]] browser in 25 lines of Python. Same code finds Chromecasts (`_googlecast._tcp.`), printers (`_ipp._tcp.`), or {{matter|Matter}} devices (`_matter._tcp.`).', alternatives: [ { language: 'javascript', @@ -280,7 +281,7 @@ Each RR's CLASS field: org: 'Google Chromecast + Cast ecosystem', scale: '100+ million Cast devices (Google, 2018)', description: - "Every Chromecast, Cast-enabled TV, and Cast-enabled speaker announces `_googlecast._tcp.local` via [[mdns-dns-sd|mDNS]]. {{google|Google}} last published an installed-base figure (\"100 million\") at I/O 2018; the actual number today is presumably much higher." + 'Every Chromecast, Cast-enabled TV, and Cast-enabled speaker announces `_googlecast._tcp.local` via [[mdns-dns-sd|mDNS]]. {{google|Google}} last published an installed-base figure ("100 million") at I/O 2018; the actual number today is presumably much higher.' }, { org: 'Matter ecosystem (CSA)', @@ -293,11 +294,11 @@ Each RR's CLASS field: funFacts: [ { title: 'The name was almost "OpenTalk"', - text: 'AppleInsider\'s exclusive of 18 February 2005 revealed {{apple|Apple}} had filed for the *OpenTalk* trademark before settling on **Bonjour**. Internal {{apple|Apple}} logic: *"naturally, when Rendezvous-enabled computers and devices come within range of each other, they say \'hello\' โ€” hence the name \'Bonjour.\'"* The rebrand was forced by a trademark dispute with Tibco, which had held *TIBCO Rendezvous* for its enterprise messaging product since 1994.' + text: "AppleInsider's exclusive of 18 February 2005 revealed {{apple|Apple}} had filed for the *OpenTalk* trademark before settling on **Bonjour**. Internal {{apple|Apple}} logic: *\"naturally, when Rendezvous-enabled computers and devices come within range of each other, they say 'hello' โ€” hence the name 'Bonjour.'\"* The rebrand was forced by a trademark dispute with Tibco, which had held *TIBCO Rendezvous* for its enterprise messaging product since 1994." }, { title: '`.local` is an act of IETF jurisdiction over ICANN', - text: '{{rfc-doc|RFC}} 6761 (February 2013) uses {{iana|IANA}}\'s Special-Use Domain Names registry to *take a {{tld|TLD}} off the table* permanently. There is no legal way for {{icann|ICANN}} to delegate `.local` to a registry โ€” this is one of the cleanest examples of the {{ietf|IETF}} asserting authority over names {{icann|ICANN}} normally controls. The legitimisation of a de-facto practice that had been running on every Mac for 11 years.' + text: "{{rfc-doc|RFC}} 6761 (February 2013) uses {{iana|IANA}}'s Special-Use Domain Names registry to *take a {{tld|TLD}} off the table* permanently. There is no legal way for {{icann|ICANN}} to delegate `.local` to a registry โ€” this is one of the cleanest examples of the {{ietf|IETF}} asserting authority over names {{icann|ICANN}} normally controls. The legitimisation of a de-facto practice that had been running on every Mac for 11 years." }, { title: 'Stuart Cheshire also wrote a tank game', @@ -305,15 +306,15 @@ Each RR's CLASS field: }, { title: 'The Avahi name is a lemur', - text: 'Trent Lloyd suggested *Avahi* (genus *Avahi*, woolly lemur, endemic to Madagascar) when the project was founded in 2004, following freedesktop.org\'s pattern of whimsical animal codenames. The Avahi project logo is a stylised lemur. Sometimes mis-translated from Latin โ€” *Avahi laniger* is the proper binomial; *avahi* is the Malagasy root.' + text: "Trent Lloyd suggested *Avahi* (genus *Avahi*, woolly lemur, endemic to Madagascar) when the project was founded in 2004, following freedesktop.org's pattern of whimsical animal codenames. The Avahi project logo is a stylised lemur. Sometimes mis-translated from Latin โ€” *Avahi laniger* is the proper binomial; *avahi* is the Malagasy root." } ], practicalWisdom: { pitfalls: [ { - title: 'IGMP/MLD snooping is mDNS\'s #1 enemy on enterprise Wi-Fi', - text: 'Access points forward {{multicast|multicast}} at the lowest basic rate (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose listeners haven\'t joined the group; per-{{ssid|SSID}}/per-{{vlan|VLAN}} isolation breaks the link-local scope assumption. **Cure:** deploy an [[mdns-dns-sd|mDNS]] gateway ({{cisco|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aerohive Bonjour Gateway). Whitelist exactly `224.0.0.251` and `FF02::FB`; rate-limit UDP/5353 to ~50 pps per client; never enable {{multicast|multicast}}-to-{{unicast|unicast}} conversion blindly.' + title: "IGMP/MLD snooping is mDNS's #1 enemy on enterprise Wi-Fi", + text: "Access points forward {{multicast|multicast}} at the lowest basic rate (often 6 Mbps); managed switches with IGMP snooping enabled drop frames whose listeners haven't joined the group; per-{{ssid|SSID}}/per-{{vlan|VLAN}} isolation breaks the link-local scope assumption. **Cure:** deploy an [[mdns-dns-sd|mDNS]] gateway ({{cisco|Cisco}} WLC `mdns-sd` profile, Aruba AirGroup, Aerohive Bonjour Gateway). Whitelist exactly `224.0.0.251` and `FF02::FB`; rate-limit UDP/5353 to ~50 pps per client; never enable {{multicast|multicast}}-to-{{unicast|unicast}} conversion blindly." }, { title: 'mDNS responders exposed to the WAN are a DDoS reflector', diff --git a/src/lib/data/protocols/mptcp.ts b/src/lib/data/protocols/mptcp.ts index 9f966d3..e3a675a 100644 --- a/src/lib/data/protocols/mptcp.ts +++ b/src/lib/data/protocols/mptcp.ts @@ -62,7 +62,8 @@ sock.sendall(b'GET / HTTP/1.1\\r\\nHost: example.com\\r\\n\\r\\n') response = sock.recv(4096) print(response.decode()) sock.close()`, - caption: '[[mptcp|MPTCP]] in Python โ€” same {{api|API}} as [[tcp|TCP]], but the kernel routes data over multiple paths', + caption: + '[[mptcp|MPTCP]] in Python โ€” same {{api|API}} as [[tcp|TCP]], but the kernel routes data over multiple paths', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/mqtt.ts b/src/lib/data/protocols/mqtt.ts index cee8d2f..f46df39 100644 --- a/src/lib/data/protocols/mqtt.ts +++ b/src/lib/data/protocols/mqtt.ts @@ -59,7 +59,8 @@ client.on_message = on_message # client.publish("home/kitchen/temperature", "22.5") client.loop_forever()`, - caption: '{{mqtt-subscribe|Subscribe}} to temperature readings from any room โ€” the broker handles routing', + caption: + '{{mqtt-subscribe|Subscribe}} to temperature readings from any room โ€” the broker handles routing', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/nat-traversal.ts b/src/lib/data/protocols/nat-traversal.ts index 000db1f..f053bc8 100644 --- a/src/lib/data/protocols/nat-traversal.ts +++ b/src/lib/data/protocols/nat-traversal.ts @@ -29,17 +29,17 @@ All three protocols share the same 20-byte {{stun|STUN}} header, transaction IDs { title: 'TURN: allocate a relay (fallback)', description: - "If direct paths might fail, the agent also `Allocate`s a port on a {{turn|TURN}} server using long-term credentials. The {{turn|TURN}} server returns `{{xor-relayed-address|XOR-RELAYED-ADDRESS}}` โ€” a public `ip:port` the {{peer|peer}} can hit. The default allocation lifetime is 600 seconds; clients refresh at ~450 s." + 'If direct paths might fail, the agent also `Allocate`s a port on a {{turn|TURN}} server using long-term credentials. The {{turn|TURN}} server returns `{{xor-relayed-address|XOR-RELAYED-ADDRESS}}` โ€” a public `ip:port` the {{peer|peer}} can hit. The default allocation lifetime is 600 seconds; clients refresh at ~450 s.' }, { title: 'Trickle and pair', description: - 'Candidates are signalled to the other {{peer|peer}} as they arrive ([[rfc:8838|RFC 8838]] Trickle {{ice|ICE}}) over the application\'s signalling channel ([[websockets|WebSocket]], [[sip|SIP]], etc.). Each side pairs every local candidate with every remote candidate and assigns a priority โ€” host (126) > {{peer|peer}}-reflexive (110) > server-reflexive (100) > relay (0).' + "Candidates are signalled to the other {{peer|peer}} as they arrive ([[rfc:8838|RFC 8838]] Trickle {{ice|ICE}}) over the application's signalling channel ([[websockets|WebSocket]], [[sip|SIP]], etc.). Each side pairs every local candidate with every remote candidate and assigns a priority โ€” host (126) > {{peer|peer}}-reflexive (110) > server-reflexive (100) > relay (0)." }, { title: 'Connectivity checks', description: - "Both agents send {{stun|STUN}} Binding Requests across every pair using short-term {{ice|ICE}} credentials (`ufrag`/`pwd` from the [[sdp|SDP]]). The first pair to round-trip successfully becomes a *valid pair*; the controlling agent then nominates one with `{{use-candidate|USE-CANDIDATE}}`." + 'Both agents send {{stun|STUN}} Binding Requests across every pair using short-term {{ice|ICE}} credentials (`ufrag`/`pwd` from the [[sdp|SDP]]). The first pair to round-trip successfully becomes a *valid pair*; the controlling agent then nominates one with `{{use-candidate|USE-CANDIDATE}}`.' }, { title: 'Keep the path alive', @@ -78,7 +78,7 @@ const offer = await pc.createOffer(); await pc.setLocalDescription(offer); signal({ sdp: offer });`, caption: - "A browser {{ice|ICE}} agent: {{stun|STUN}} + {{turn|TURN}} URLs go in, candidates trickle out. The {{nat|NAT traversal}} is invisible โ€” but every event firing here corresponds to a {{stun|STUN}} message on the wire.", + 'A browser {{ice|ICE}} agent: {{stun|STUN}} + {{turn|TURN}} URLs go in, candidates trickle out. The {{nat|NAT traversal}} is invisible โ€” but every event firing here corresponds to a {{stun|STUN}} message on the wire.', alternatives: [ { language: 'python', @@ -215,7 +215,7 @@ Attributes: date: '2024-09', title: 'Cloudflare Realtime TURN GA', description: - '{{cloudflare|Cloudflare}} opened its {{anycast|anycast}} {{turn|TURN}} service (`{{turn|turn}}.{{cloudflare|cloudflare}}.com`) at 335+ locations with $0.05/GB egress and 1 TB free per month โ€” the first major price drop in managed [[nat-traversal|NAT traversal]] in years. Free entirely when paired with {{cloudflare|Cloudflare}}\'s {{sfu|SFU}}.', + "{{cloudflare|Cloudflare}} opened its {{anycast|anycast}} {{turn|TURN}} service (`{{turn|turn}}.{{cloudflare|cloudflare}}.com`) at 335+ locations with $0.05/GB egress and 1 TB free per month โ€” the first major price drop in managed [[nat-traversal|NAT traversal]] in years. Free entirely when paired with {{cloudflare|Cloudflare}}'s {{sfu|SFU}}.", source: { url: 'https://developers.cloudflare.com/realtime/turn/', label: 'Cloudflare Realtime TURN docs' @@ -270,7 +270,7 @@ Attributes: org: 'Tailscale', scale: '>90% direct-path success via STUN hole-punching', description: - 'Tailscale\'s WireGuard overlay uses {{stun|STUN}}-style probes to find a direct path between peers; their proprietary **DERP** relays absorb the rest as a {{turn|TURN}}-analogue. Public engineering posts in 2024โ€“25 detailed multi-part improvements to [[udp|UDP]] hole-punching.' + "Tailscale's WireGuard overlay uses {{stun|STUN}}-style probes to find a direct path between peers; their proprietary **DERP** relays absorb the rest as a {{turn|TURN}}-analogue. Public engineering posts in 2024โ€“25 detailed multi-part improvements to [[udp|UDP]] hole-punching." }, { org: 'coturn', @@ -283,7 +283,7 @@ Attributes: funFacts: [ { title: 'The magic cookie spells "STUN"', - text: '{{stun|STUN}}\'s `0x2112A442` is the {{ietf|IETF}}\'s nod to the {{ip-address|IP}} version field, but the **FINGERPRINT** attribute {{checksum|checksum}} is XORed with `0x5354554E` โ€” the {{ascii|ASCII}} bytes for `{{stun|STUN}}`. The protocol literally signs its own name on every packet.' + text: "{{stun|STUN}}'s `0x2112A442` is the {{ietf|IETF}}'s nod to the {{ip-address|IP}} version field, but the **FINGERPRINT** attribute {{checksum|checksum}} is XORed with `0x5354554E` โ€” the {{ascii|ASCII}} bytes for `{{stun|STUN}}`. The protocol literally signs its own name on every packet." }, { title: 'STUN changed what its own acronym means', diff --git a/src/lib/data/protocols/nfc.ts b/src/lib/data/protocols/nfc.ts index 8b2f59f..ea88cbd 100644 --- a/src/lib/data/protocols/nfc.ts +++ b/src/lib/data/protocols/nfc.ts @@ -19,7 +19,7 @@ The hinge of the modern story is **9 September 2014**, when Tim Cook announced { { title: '13.56 MHz inductive coupling in the ISM band', description: - "All NFC variants operate at a carrier of 13.56 MHz ยฑ 7 kHz, the unlicensed {{ism-band|ISM}} allocation that is the legacy of {{iso|ISO}} 14443. Coupling is *inductive* (magnetic) between two loop antennas โ€” the magnetic field falls off as 1/rยณ, vs 1/rยฒ for far-field radiative coupling. Effective range is โ‰ค10 cm for {{iso|ISO}} 14443 (NFC-A/B/F) and historically โ‰ค1 m for {{iso|ISO}} 15693 ({{nfc-v|NFC-V}}). The {{pcd|PCD}} (Proximity Coupling Device โ€” the reader) energises its loop antenna; the passive {{picc|PICC}} (Proximity Integrated Circuit Card) harvests power from the field and communicates back via {{load-modulation|load modulation}} โ€” switching a resistor on its own antenna at an 847.5 kHz subcarrier (13.56 MHz/16), perceived by the reader as small amplitude/phase changes in its own resonant loop. Modern phones use *active {{load-modulation|load modulation}}* (ALM) instead, generating a small reflected carrier โ€” which is why an iPhone can be read across a metal-backed case where a plain plastic card cannot." + 'All NFC variants operate at a carrier of 13.56 MHz ยฑ 7 kHz, the unlicensed {{ism-band|ISM}} allocation that is the legacy of {{iso|ISO}} 14443. Coupling is *inductive* (magnetic) between two loop antennas โ€” the magnetic field falls off as 1/rยณ, vs 1/rยฒ for far-field radiative coupling. Effective range is โ‰ค10 cm for {{iso|ISO}} 14443 (NFC-A/B/F) and historically โ‰ค1 m for {{iso|ISO}} 15693 ({{nfc-v|NFC-V}}). The {{pcd|PCD}} (Proximity Coupling Device โ€” the reader) energises its loop antenna; the passive {{picc|PICC}} (Proximity Integrated Circuit Card) harvests power from the field and communicates back via {{load-modulation|load modulation}} โ€” switching a resistor on its own antenna at an 847.5 kHz subcarrier (13.56 MHz/16), perceived by the reader as small amplitude/phase changes in its own resonant loop. Modern phones use *active {{load-modulation|load modulation}}* (ALM) instead, generating a small reflected carrier โ€” which is why an iPhone can be read across a metal-backed case where a plain plastic card cannot.' }, { title: 'Three flavours of NFC on the air', @@ -29,22 +29,22 @@ The hinge of the modern story is **9 September 2014**, when Tim Cook announced { { title: 'Anti-collision: REQA โ†’ ATQA โ†’ SEL/NVB โ†’ SAK', description: - "When a {{picc|PICC}} enters the field it begins in {{imap-idle|IDLE}}. The reader broadcasts a 7-bit {{reqa|REQA}} (0x26) or WUPA (0x52) short frame; the card responds with **{{atqa|ATQA}}** (2 bytes) declaring its {{uid|UID}} size (4/7/10 bytes) and {{anti-collision|anti-collision}} support. The reader then runs the **bit-frame {{anti-collision|anti-collision}}** loop with {{sel-iso|SEL}}+NVB frames ({{sel-iso|SEL}}=0x93 for cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte of the {{uid|UID}} a bit at a time when multiple cards are in the field. When the {{uid|UID}} is complete the card answers with **{{sak|SAK}}**; if bit 6 of {{sak|SAK}} is set, the card supports {{iso|ISO}} 14443-4 and the reader proceeds with {{rats|RATS}}โ†’{{ats-nfc|ATS}} to negotiate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go straight to T2T {{read-record|READ}} commands." + 'When a {{picc|PICC}} enters the field it begins in {{imap-idle|IDLE}}. The reader broadcasts a 7-bit {{reqa|REQA}} (0x26) or WUPA (0x52) short frame; the card responds with **{{atqa|ATQA}}** (2 bytes) declaring its {{uid|UID}} size (4/7/10 bytes) and {{anti-collision|anti-collision}} support. The reader then runs the **bit-frame {{anti-collision|anti-collision}}** loop with {{sel-iso|SEL}}+NVB frames ({{sel-iso|SEL}}=0x93 for cascade level 1, 0x95 for CL2, 0x97 for CL3), converging on each byte of the {{uid|UID}} a bit at a time when multiple cards are in the field. When the {{uid|UID}} is complete the card answers with **{{sak|SAK}}**; if bit 6 of {{sak|SAK}} is set, the card supports {{iso|ISO}} 14443-4 and the reader proceeds with {{rats|RATS}}โ†’{{ats-nfc|ATS}} to negotiate frame size (FSCI) and timing (FWI). T2T cards skip {{rats|RATS}} and go straight to T2T {{read-record|READ}} commands.' }, { title: 'Card Emulation: SELECT PPSE โ†’ SELECT AID โ†’ GET PROCESSING OPTIONS โ†’ GENERATE AC', description: - "For card-emulation mode ({{apple|Apple}} Pay, {{transit|transit}}, access), once 14443-4 is established the reader speaks **{{iso|ISO}} 7816-4 APDUs**: 4-byte header `CLA INS P1 P2` + optional command body. The first command is *{{imap-select|SELECT}} {{ppse|PPSE}}* โ€” the Proximity Payment System Environment {{aid|AID}} `2PAY.SYS.DDF01` โ€” and the card returns an FCI listing all supported {{aid|payment AIDs}} in priority order. The reader picks one (e.g. Mastercard `A0000000041010`), SELECTs it, gets back a {{pdol|PDOL}} listing parameters the card needs (amount, currency, country, terminal-type, unpredictable number), then sends *GET PROCESSING OPTIONS* with those parameters. The card returns AIP+{{afl|AFL}} telling the reader which files to read; {{read-record|READ}} RECORDs pull the {{pan-id|PAN}}, expiry, and public-key {{certificate-chain|certificate chain}}. Finally *{{generate-ac|GENERATE AC}}* with CDOL1 data asks the card for an {{emv-cryptogram|Application Cryptogram}} โ€” either an {{arqc|ARQC}} (online) or TC (offline). The cryptogram is signed in the eSE/{{hce|HCE}} app and is what proves the transaction to the issuer." + 'For card-emulation mode ({{apple|Apple}} Pay, {{transit|transit}}, access), once 14443-4 is established the reader speaks **{{iso|ISO}} 7816-4 APDUs**: 4-byte header `CLA INS P1 P2` + optional command body. The first command is *{{imap-select|SELECT}} {{ppse|PPSE}}* โ€” the Proximity Payment System Environment {{aid|AID}} `2PAY.SYS.DDF01` โ€” and the card returns an FCI listing all supported {{aid|payment AIDs}} in priority order. The reader picks one (e.g. Mastercard `A0000000041010`), SELECTs it, gets back a {{pdol|PDOL}} listing parameters the card needs (amount, currency, country, terminal-type, unpredictable number), then sends *GET PROCESSING OPTIONS* with those parameters. The card returns AIP+{{afl|AFL}} telling the reader which files to read; {{read-record|READ}} RECORDs pull the {{pan-id|PAN}}, expiry, and public-key {{certificate-chain|certificate chain}}. Finally *{{generate-ac|GENERATE AC}}* with CDOL1 data asks the card for an {{emv-cryptogram|Application Cryptogram}} โ€” either an {{arqc|ARQC}} (online) or TC (offline). The cryptogram is signed in the eSE/{{hce|HCE}} app and is what proves the transaction to the issuer.' }, { title: 'NDEF: the data format for everything that is not a payment', description: - "NFC Forum **{{ndef|NDEF}}** (NFC Data {{exchange|Exchange}} Format) is the binary record container that lives in tags and rides over {{llcp|LLCP}}/{{snep|SNEP}}. Each record begins with a 1-byte header โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte length vs 4), IL ({{id-identifier|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Known like `U` for {{uri|URI}} or `T` for Text, 2={{mime|MIME}} media, 3=Absolute {{uri|URI}}, 4=External, 5=Unknown). The {{uri|URI}} Well-Known record uses a single-byte prefix shorthand โ€” 0x03 for `https://` saves 8 bytes per record on tags as small as 48 bytes. {{ndef|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NFC-WLC." + 'NFC Forum **{{ndef|NDEF}}** (NFC Data {{exchange|Exchange}} Format) is the binary record container that lives in tags and rides over {{llcp|LLCP}}/{{snep|SNEP}}. Each record begins with a 1-byte header โ€” bits MB/ME (Message Begin/End), CF (Chunk Flag), SR (Short Record โ€” 1-byte length vs 4), IL ({{id-identifier|ID}} Length present), and a 3-bit TNF (Type Name Format: 0=Empty, 1=Well-Known like `U` for {{uri|URI}} or `T` for Text, 2={{mime|MIME}} media, 3=Absolute {{uri|URI}}, 4=External, 5=Unknown). The {{uri|URI}} Well-Known record uses a single-byte prefix shorthand โ€” 0x03 for `https://` saves 8 bytes per record on tags as small as 48 bytes. {{ndef|NDEF}} was formally adopted as an IEC standard in **March 2026** alongside NFC-WLC.' }, { title: 'Three transports, one tap: Connection Handover to Bluetooth / Wi-Fi / Matter', description: - "For higher-throughput sessions NFC is almost always a *bootstrap*. The **Connection Handover** spec (v1.5) defines {{ndef|NDEF}} records of TNF=0x02 with {{mime|MIME}} `application/vnd.bluetooth.le.oob` carrying the [[bluetooth|Bluetooth]] {{mac-address|MAC address}}, name, and Security Manager {{oob|OOB}} key โ€” a single tap replaces a discovery/pairing dialog. The parallel Wi-Fi handover record carries {{ssid|SSID}}/key/security mode โ€” used for tap-to-join on printers and some smart-plug commissioning. **{{matter|Matter}} 1.3+** adds NFC as one of the three permitted commissioning paths alongside QR and {{ble|BLE}}. **{{ccc-digital-key|CCC Digital Key}} 3.0/4.0** uses NFC to bootstrap a credential into a phone, then {{ble|BLE}} for proximity and [[uwb|UWB]] for centimetre-accurate ranging. {{aliro|Aliro}} 1.0 likewise spans NFC tap-to-access + {{ble|BLE}} proximity + {{ble|BLE}}/UWB ranged โ€” three transports, one credential." + 'For higher-throughput sessions NFC is almost always a *bootstrap*. The **Connection Handover** spec (v1.5) defines {{ndef|NDEF}} records of TNF=0x02 with {{mime|MIME}} `application/vnd.bluetooth.le.oob` carrying the [[bluetooth|Bluetooth]] {{mac-address|MAC address}}, name, and Security Manager {{oob|OOB}} key โ€” a single tap replaces a discovery/pairing dialog. The parallel Wi-Fi handover record carries {{ssid|SSID}}/key/security mode โ€” used for tap-to-join on printers and some smart-plug commissioning. **{{matter|Matter}} 1.3+** adds NFC as one of the three permitted commissioning paths alongside QR and {{ble|BLE}}. **{{ccc-digital-key|CCC Digital Key}} 3.0/4.0** uses NFC to bootstrap a credential into a phone, then {{ble|BLE}} for proximity and [[uwb|UWB]] for centimetre-accurate ranging. {{aliro|Aliro}} 1.0 likewise spans NFC tap-to-access + {{ble|BLE}} proximity + {{ble|BLE}}/UWB ranged โ€” three transports, one credential.' }, { title: 'Tokenisation: why your real card number never leaves the bank', @@ -293,7 +293,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` date: '2024-03', title: 'iOS 17.4 opens NFC HCE to EEA wallets (DMA)', description: - "On 25 January 2024 {{apple|Apple}} announced โ€” and in March 2024 iOS 17.4 shipped โ€” the **NFC & Secure Element Platform** entitlement for the European Economic Area. For the first time on iPhone, third-party wallets can do {{hce|Host Card Emulation}} contactless payments without going through {{apple|Apple}} Pay. PayPal Germany was the first to ship; the entitlement covers {{hce|HCE}} access, side-button shortcut, Face/Touch {{id-identifier|ID}}, and Field-Detect. Available **only inside the EEA** (27 EU states + Iceland, Liechtenstein, Norway) and **only on iPhone** โ€” not {{apple|Apple}} Watch, not iPad.", + 'On 25 January 2024 {{apple|Apple}} announced โ€” and in March 2024 iOS 17.4 shipped โ€” the **NFC & Secure Element Platform** entitlement for the European Economic Area. For the first time on iPhone, third-party wallets can do {{hce|Host Card Emulation}} contactless payments without going through {{apple|Apple}} Pay. PayPal Germany was the first to ship; the entitlement covers {{hce|HCE}} access, side-button shortcut, Face/Touch {{id-identifier|ID}}, and Field-Detect. Available **only inside the EEA** (27 EU states + Iceland, Liechtenstein, Norway) and **only on iPhone** โ€” not {{apple|Apple}} Watch, not iPad.', source: { url: 'https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/', label: 'Apple newsroom, 25 Jan 2024' @@ -301,7 +301,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` }, { date: '2024-07', - title: 'EU Commission accepts Apple\'s 10-year NFC opening commitments', + title: "EU Commission accepts Apple's 10-year NFC opening commitments", description: "On **17 July 2024** the European Commission's commitments decision {{ip-address|IP}}/24/3706 made {{apple|Apple}}'s NFC opening legally binding for **ten years**, monitored by an independent trustee. The first time any regulator has compelled an {{oem|OEM}} to open NFC card emulation. The pattern is now templated and the watch-items are the UK CMA, Japan JFTC, and Australian ACCC.", source: { @@ -323,7 +323,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` date: '2025-07', title: 'CCC Digital Key 4.0 announced', description: - "The Car Connectivity Consortium announced **Digital Key 4.0** in July 2025 and tested it at the 13th Plugfest, hosted by {{apple|Apple}}. Headline: *cross-version compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa. **115 vehicle/module products** were certified in 2025 alone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must support at least one of NFC, {{ble|BLE}}, or [[uwb|UWB]]; NFC remains the fallback that works even on a phone with a dead battery (>5 hours on iPhone reserve power).", + 'The Car Connectivity Consortium announced **Digital Key 4.0** in July 2025 and tested it at the 13th Plugfest, hosted by {{apple|Apple}}. Headline: *cross-version compatibility* โ€” a DK3 phone unlocks a DK4 car and vice versa. **115 vehicle/module products** were certified in 2025 alone, including the first Chinese OEMs (NIO, XPENG, Geely group brands). Devices must support at least one of NFC, {{ble|BLE}}, or [[uwb|UWB]]; NFC remains the fallback that works even on a phone with a dead battery (>5 hours on iPhone reserve power).', source: { url: 'https://carconnectivity.org/', label: 'Car Connectivity Consortium' @@ -333,7 +333,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` date: '2026-02', title: 'Aliro 1.0 finalised โ€” "Matter for doors"', description: - "On **26 February 2026** the Connectivity Standards Alliance โ€” the same group that runs {{matter|Matter}} โ€” finalised {{aliro|Aliro 1.0}}, a {{pki|PKI}}-based access-control credential standard. {{ecdsa|ECDSA}} mutual authentication, support for NFC tap-to-access, {{ble|BLE}} proximity, and {{ble|BLE}}+[[uwb|UWB]] ranged unlock, with credentials provisioned into {{apple|Apple}}/{{google|Google}}/Samsung wallets. First certifications: {{apple|Apple}}, Allegion, Aqara, {{google|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nuki, {{nxp|NXP}}, {{qorvo|Qorvo}}, Samsung, STMicro. Target verticals: corporate, hospitality, residential, multi-family, university.", + 'On **26 February 2026** the Connectivity Standards Alliance โ€” the same group that runs {{matter|Matter}} โ€” finalised {{aliro|Aliro 1.0}}, a {{pki|PKI}}-based access-control credential standard. {{ecdsa|ECDSA}} mutual authentication, support for NFC tap-to-access, {{ble|BLE}} proximity, and {{ble|BLE}}+[[uwb|UWB]] ranged unlock, with credentials provisioned into {{apple|Apple}}/{{google|Google}}/Samsung wallets. First certifications: {{apple|Apple}}, Allegion, Aqara, {{google|Google}}, HID, Kastle, Kwikset, Last Lock, Nordic, Nuki, {{nxp|NXP}}, {{qorvo|Qorvo}}, Samsung, STMicro. Target verticals: corporate, hospitality, residential, multi-family, university.', source: { url: 'https://csa-iot.org/newsroom/introducing-aliro-1-0/', label: 'CSA: Introducing Aliro 1.0' @@ -354,19 +354,22 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` realWorldDeployments: [ { org: 'Apple Pay', - scale: 'Available in 85+ countries; ~$9.4 B revenue 2025 (3.4 % of all Apple); ~54 % share of US in-store mobile wallet', + scale: + 'Available in 85+ countries; ~$9.4 B revenue 2025 (3.4 % of all Apple); ~54 % share of US in-store mobile wallet', description: "Announced 9 September 2014 at Flint Center, Cupertino โ€” the same hall where Steve Jobs unveiled the original Macintosh in 1984. Tim Cook held up a leather wallet: 'Our vision is to replace this โ€” we're going to start with payments.' Launched in the US on 20 October 2014 with American Express, Bank of America, Capital One, Chase, Citi, and Wells Fargo. The three pillars โ€” NFC, {{ese|embedded Secure Element}}, and Touch {{id-identifier|ID}} โ€” set the template every mobile wallet has followed since. {{apple|Apple}} Pay generated ~\\$7.6 trillion in annualised transaction volume by 2025." }, { org: 'Tap to Pay on iPhone', - scale: 'More than 50 countries and regions by Q1 2026; available on iPhone XS or newer; no extra hardware', + scale: + 'More than 50 countries and regions by Q1 2026; available on iPhone XS or newer; no extra hardware', description: "{{apple|Apple}} acquired Mobeewave in 2020 and launched Tap to Pay on iPhone in the US in February 2022 via Stripe. By April 2026 {{apple|Apple}} stated availability in **more than 50 countries and regions** โ€” 18 European countries on 27 May 2025, 5 Nordic + Baltic + Monaco on 23 September 2025, Singapore 2 December 2025, Malaysia 22 April 2026. Turns the merchant's iPhone into a contactless terminal โ€” the protocol shift is that the iPhone is now usually on **both ends** of the tap." }, { org: 'JR East Suica + Hong Kong Octopus', - scale: '95.64 M Suica issued (Oct 2023), 6.6 M daily taps; >35 M Octopus cards on a population of 7.5 M', + scale: + '95.64 M Suica issued (Oct 2023), 6.6 M daily taps; >35 M Octopus cards on a population of 7.5 M', description: "Sony's FeliCa team began work in the late 1980s; the protocol shipped commercially as the **Hong Kong Octopus card on 1 September 1997** โ€” four years before NFC was named, seven before the NFC Forum existed. **Suica** launched on **18 November 2001** at 424 metropolitan Tokyo stations. {{apple|Apple}} Pay Suica became available on 7 September 2016 with the iPhone 7 (Japan-only), then went global on the iPhone 8. By 2021 Japan had ~200 M IC cards across nine mutually-usable regional schemes โ€” more cards than people." }, @@ -378,9 +381,10 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` }, { org: 'ICAO eMRTD passports + DTC', - scale: '~1 billion electronic passports in circulation worldwide; DTC airport pilots active 2024โ€“26', + scale: + '~1 billion electronic passports in circulation worldwide; DTC airport pilots active 2024โ€“26', description: - "Belgium issued the first {{icao|ICAO}} Doc 9303-compliant eMRTD in **2004**. By 2026 ~1 billion are in circulation. The chip is an {{iso|ISO}} 14443 {{picc|PICC}} running {{iso|ISO}} 7816-4 with a small {{icao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional DG3 fingerprints / DG4 iris). The reader cannot get any data without **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh|ECDH}} from MRZ or 6-digit CAN). The Digital Travel Credential (DTC-PC/VC) โ€” passport on phone โ€” is in airport pilots in Finland, the Netherlands, and Singapore." + 'Belgium issued the first {{icao|ICAO}} Doc 9303-compliant eMRTD in **2004**. By 2026 ~1 billion are in circulation. The chip is an {{iso|ISO}} 14443 {{picc|PICC}} running {{iso|ISO}} 7816-4 with a small {{icao|ICAO}} file system (DG1 {{mrz|MRZ}}, DG2 photo, EF.SOD signature, EF.COM index, plus optional DG3 fingerprints / DG4 iris). The reader cannot get any data without **BAC** (legacy 3DES from MRZ) or **PACE** (modern {{ecdh|ECDH}} from MRZ or 6-digit CAN). The Digital Travel Credential (DTC-PC/VC) โ€” passport on phone โ€” is in airport pilots in Finland, the Netherlands, and Singapore.' }, { org: 'NXP MIFARE family', @@ -390,7 +394,8 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` }, { org: 'CCC Digital Key', - scale: '115 vehicle/module products certified in 2025; BMW first to certify (late 2024); first Chinese OEMs in 2025', + scale: + '115 vehicle/module products certified in 2025; BMW first to certify (late 2024); first Chinese OEMs in 2025', description: "The Car Connectivity Consortium's Digital Key turns a phone into a vehicle key. v1.0 was proprietary; v2.0 standardised NFC; v3.0 added {{ble|BLE}} proximity + [[uwb|UWB]] ranging (so the car can tell *which side* of the door you are on); **v4.0** (announced July 2025) brings cross-version interoperability. BMW + {{nxp|NXP}} were the first to certify (late 2024). 115 products certified in 2025 alone; Mercedes, Hyundai/Kia/Genesis, Audi (new in 2025), Volvo, Porsche, GM, Ford, plus a wave of Chinese OEMs (NIO, XPENG, Geely group โ€” Volvo, Polestar, ZEEKR, Lynk & Co., smart, Lotus)." } @@ -399,7 +404,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` funFacts: [ { title: 'Charles Walton died the same year Google Wallet launched', - text: "[[pioneer:charles-walton|Charles Walton]], the {{ibm|IBM}} disk-drive engineer who founded **Proximity Devices in 1970** and holds the canonical {{rfid|RFID}} ancestor patent (US 4,384,288, 1983, *Portable Radio Frequency Emitting Identifier*) plus 50+ others, earned several million dollars in royalties before the bulk of his patents expired in the mid-1990s โ€” just before the wave of {{rfid|RFID}} adoption from Walmart and the US Department of Defense. He died in Los Gatos on **6 November 2011**, three months after {{google|Google}} launched **{{google|Google}} Wallet 1.0** on the Nexus S 4G in May 2011. Two pioneers of the same field, separated by 60 years, in the same calendar year." + text: '[[pioneer:charles-walton|Charles Walton]], the {{ibm|IBM}} disk-drive engineer who founded **Proximity Devices in 1970** and holds the canonical {{rfid|RFID}} ancestor patent (US 4,384,288, 1983, *Portable Radio Frequency Emitting Identifier*) plus 50+ others, earned several million dollars in royalties before the bulk of his patents expired in the mid-1990s โ€” just before the wave of {{rfid|RFID}} adoption from Walmart and the US Department of Defense. He died in Los Gatos on **6 November 2011**, three months after {{google|Google}} launched **{{google|Google}} Wallet 1.0** on the Nexus S 4G in May 2011. Two pioneers of the same field, separated by 60 years, in the same calendar year.' }, { title: 'FeliCa beat the NFC Forum to commercial deployment by seven years', @@ -419,7 +424,7 @@ Total airtime from field-on to ARQC: ~300โ€“800 ms on a real terminal.` }, { title: 'The "switch off NFC to save battery" myth', - text: "{{imap-idle|Idle}} NFC controllers draw on the order of **single-digit microamps** in their lowest poll states โ€” orders of magnitude less than the display, baseband, or {{ap-access-point|AP}}. Disabling NFC has no measurable battery effect on any modern phone. The option survives in {{os|OS}} settings only as a *security/privacy* toggle, not a power one. If you have ever turned NFC off to make your phone last longer, you have done exactly nothing for your battery." + text: '{{imap-idle|Idle}} NFC controllers draw on the order of **single-digit microamps** in their lowest poll states โ€” orders of magnitude less than the display, baseband, or {{ap-access-point|AP}}. Disabling NFC has no measurable battery effect on any modern phone. The option survives in {{os|OS}} settings only as a *security/privacy* toggle, not a power one. If you have ever turned NFC off to make your phone last longer, you have done exactly nothing for your battery.' } ], diff --git a/src/lib/data/protocols/ospf.ts b/src/lib/data/protocols/ospf.ts index e348a75..9a59c83 100644 --- a/src/lib/data/protocols/ospf.ts +++ b/src/lib/data/protocols/ospf.ts @@ -19,7 +19,7 @@ export const ospf: Protocol = { { title: 'Hello โ€” discover neighbours', description: - 'Each [[ospf|OSPF]]-enabled interface multicasts Hello {{packet|packets}} to `224.0.0.5` ([[ipv6|IPv6]]: `FF02::5`) every HelloInterval (default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router\'s {{id-identifier|ID}}, options, and the list of neighbours it currently sees on this link โ€” bidirectional visibility is established as soon as a Hello lists *you* in its neighbours field.' + "Each [[ospf|OSPF]]-enabled interface multicasts Hello {{packet|packets}} to `224.0.0.5` ([[ipv6|IPv6]]: `FF02::5`) every HelloInterval (default 10 s on point-to-point, 30 s on NBMA). Hellos carry the router's {{id-identifier|ID}}, options, and the list of neighbours it currently sees on this link โ€” bidirectional visibility is established as soon as a Hello lists *you* in its neighbours field." }, { title: 'Adjacency state machine', @@ -29,7 +29,7 @@ export const ospf: Protocol = { { title: 'Synchronise the LSDB', description: - 'Routers {{exchange|exchange}} **Database Description ({{dbd|DBD}})** packets carrying {{lsa|LSA}} *headers* (sequence/age/length), then send **Link State Request ({{lsr|LSR}})** packets asking for the LSAs they don\'t have, and receive them in **Link State {{bgp-update|Update}} ({{lsu|LSU}})** packets. **{{lsack|LSAck}}** packets explicitly acknowledge receipt โ€” [[ospf|OSPF]] has {{retransmission|reliable delivery}} without [[tcp|TCP]].' + "Routers {{exchange|exchange}} **Database Description ({{dbd|DBD}})** packets carrying {{lsa|LSA}} *headers* (sequence/age/length), then send **Link State Request ({{lsr|LSR}})** packets asking for the LSAs they don't have, and receive them in **Link State {{bgp-update|Update}} ({{lsu|LSU}})** packets. **{{lsack|LSAck}}** packets explicitly acknowledge receipt โ€” [[ospf|OSPF]] has {{retransmission|reliable delivery}} without [[tcp|TCP]]." }, { title: 'Flood, throttle, age', @@ -81,7 +81,8 @@ vtysh -c 'show ip ospf neighbor' vtysh -c 'show ip ospf database' vtysh -c 'show ip ospf interface eth0' vtysh -c 'show ip route ospf'`, - caption: 'A minimal [[ospf|OSPF]] speaker on {{frr|FRR}} โ€” three commands set up Area 0, {{md5|MD5}} authentication, and sub-second {{bfd|BFD}}-style failure detection.', + caption: + 'A minimal [[ospf|OSPF]] speaker on {{frr|FRR}} โ€” three commands set up Area 0, {{md5|MD5}} authentication, and sub-second {{bfd|BFD}}-style failure detection.', alternatives: [ { language: 'python', @@ -230,7 +231,10 @@ Total time on a tuned network: < 100 ms.` title: 'Junos OS Evolved 24.2R1 ships HMAC-SHA-2 keychains + Flex-Algo on hardware', description: 'Juniper\'s {{junos|Junos}} {{os|OS}} Evolved 24.2R1 (Aug 2024) added [[ospf|OSPFv2]] {{hmac|HMAC}}-{{sha2|SHA-2}} keychain authentication, Flex-Algo FAD with {{srlg|SRLG}}-exclude, and link-delay normalisation on ACX/PTX hardware โ€” bringing Flex-Algo from "shipped in {{ios-xr|IOS-XR}}" to "shipped at multi-vendor parity."', - source: { url: 'https://supportportal.juniper.net/s/article/Junos-OS-Evolved-24-2R1-Release-Notes', label: 'Junos OS Evolved 24.2R1' } + source: { + url: 'https://supportportal.juniper.net/s/article/Junos-OS-Evolved-24-2R1-Release-Notes', + label: 'Junos OS Evolved 24.2R1' + } }, { date: '2025-10', @@ -258,7 +262,7 @@ Total time on a tuned network: < 100 ms.` org: 'FRRouting', scale: 'The dominant open-source IGP implementation', description: - "Forked from Quagga in 2017 and now stewarded by the {{linux|Linux}} Foundation. Ships [[ospf|OSPFv2]] and [[ospf|OSPFv3]] daemons (`ospfd`, `ospf6d`) used everywhere from Vyatta/VyOS edge routers to enterprise SD-{{wan|WAN}} appliances. Public {{cve|CVE}} traffic (e.g. {{cve|CVE}}-2025-61103) tracks its prevalence." + 'Forked from Quagga in 2017 and now stewarded by the {{linux|Linux}} Foundation. Ships [[ospf|OSPFv2]] and [[ospf|OSPFv3]] daemons (`ospfd`, `ospf6d`) used everywhere from Vyatta/VyOS edge routers to enterprise SD-{{wan|WAN}} appliances. Public {{cve|CVE}} traffic (e.g. {{cve|CVE}}-2025-61103) tracks its prevalence.' }, { org: 'Cisco IOS-XR / Juniper Junos', @@ -291,7 +295,7 @@ Total time on a tuned network: < 100 ms.` pitfalls: [ { title: 'Mismatched HelloInterval / DeadInterval = no adjacency', - text: 'Two routers will sit in `Init` forever if their Hello or Dead intervals differ by even one second. There is no negotiation. **Cure:** standardise per-interface in your template; use `show ip ospf interface eth0` to dump both sides\' actual values before opening tickets. The state machine\'s most common stuck-state.' + text: "Two routers will sit in `Init` forever if their Hello or Dead intervals differ by even one second. There is no negotiation. **Cure:** standardise per-interface in your template; use `show ip ospf interface eth0` to dump both sides' actual values before opening tickets. The state machine's most common stuck-state." }, { title: 'Default 40-second DeadInterval is a 1990s artefact', diff --git a/src/lib/data/protocols/quic.ts b/src/lib/data/protocols/quic.ts index eefeb1f..187c056 100644 --- a/src/lib/data/protocols/quic.ts +++ b/src/lib/data/protocols/quic.ts @@ -66,7 +66,8 @@ async def main(): print(f"Response: {response}") asyncio.run(main())`, - caption: '[[quic|QUIC]] combines transport + {{encryption|encryption}} in one step, enabling faster connections', + caption: + '[[quic|QUIC]] combines transport + {{encryption|encryption}} in one step, enabling faster connections', alternatives: [ { language: 'javascript', @@ -185,7 +186,7 @@ sudo tcpdump -i any udp port 443` date: '2024-09', title: 'Multipath QUIC reaches stable IETF draft', description: - 'draft-{{ietf|ietf}}-quic-{{multipath|multipath}} progressed to stable; {{multipath|multipath}} [[quic|QUIC]] inherits [[mptcp|MPTCP]]\'s algorithmic ideas inside a transport that actually traverses middleboxes. {{apple|Apple}}, {{google|Google}}, and several mobile carriers are running interop events.', + "draft-{{ietf|ietf}}-quic-{{multipath|multipath}} progressed to stable; {{multipath|multipath}} [[quic|QUIC]] inherits [[mptcp|MPTCP]]'s algorithmic ideas inside a transport that actually traverses middleboxes. {{apple|Apple}}, {{google|Google}}, and several mobile carriers are running interop events.", source: { url: 'https://datatracker.ietf.org/doc/draft-ietf-quic-multipath/', label: 'IETF Datatracker' @@ -210,13 +211,13 @@ sudo tcpdump -i any udp port 443` org: 'Meta', scale: '>75% of web/mobile bytes', description: - 'Facebook, Instagram, WhatsApp serve majority of traffic via [[quic|QUIC]]. mvfst ({{meta|Meta}}\'s [[quic|QUIC]] implementation) is open-source.' + "Facebook, Instagram, WhatsApp serve majority of traffic via [[quic|QUIC]]. mvfst ({{meta|Meta}}'s [[quic|QUIC]] implementation) is open-source." }, { org: 'Cloudflare', scale: 'All HTTPS traffic', description: - 'quiche library powers [[quic|QUIC]] at {{cloudflare|Cloudflare}}\'s edge for every HTTPS site behind their {{cdn|CDN}}. Connection-coalescing and {{zero-rtt|0-RTT}} enabled by default.' + "quiche library powers [[quic|QUIC]] at {{cloudflare|Cloudflare}}'s edge for every HTTPS site behind their {{cdn|CDN}}. Connection-coalescing and {{zero-rtt|0-RTT}} enabled by default." }, { org: 'Apple', @@ -249,7 +250,7 @@ sudo tcpdump -i any udp port 443` }, { title: 'Connection migration breaks middleboxes', - text: 'Some {{stateful|stateful}} middleboxes ({{nat|NAT}} routers, transparent proxies) drop a connection when its source [[ip|IP]] suddenly changes โ€” they assume it\'s a new flow. [[quic|QUIC]]\'s Path Validation fixes this when both endpoints support it; the path-probing {{handshake|handshake}} is [[rfc:9000|RFC 9000]] ยง8.' + text: "Some {{stateful|stateful}} middleboxes ({{nat|NAT}} routers, transparent proxies) drop a connection when its source [[ip|IP]] suddenly changes โ€” they assume it's a new flow. [[quic|QUIC]]'s Path Validation fixes this when both endpoints support it; the path-probing {{handshake|handshake}} is [[rfc:9000|RFC 9000]] ยง8." }, { title: 'Higher CPU than kernel TCP', diff --git a/src/lib/data/protocols/sctp.ts b/src/lib/data/protocols/sctp.ts index 8244043..1d5f30c 100644 --- a/src/lib/data/protocols/sctp.ts +++ b/src/lib/data/protocols/sctp.ts @@ -8,7 +8,8 @@ export const sctp: Protocol = { port: undefined, year: 2000, rfc: 'RFC 9260', - oneLiner: "Multi-streaming, {{multi-homing|multi-homing}} transport โ€” [[tcp|TCP]]'s more capable but less popular cousin.", + oneLiner: + "Multi-streaming, {{multi-homing|multi-homing}} transport โ€” [[tcp|TCP]]'s more capable but less popular cousin.", overview: `[[sctp|SCTP]] was designed for telecom {{signaling|signaling}} but offers features that both [[tcp|TCP]] and [[udp|UDP]] lack. It supports {{multiplexing|multiple independent streams}} within a single connection (like [[quic|QUIC]], but decades earlier), {{multi-homing|multi-homing}} (a connection can span multiple network interfaces for redundancy), and message boundaries (unlike [[tcp|TCP]]'s byte stream). Despite its technical superiority in many aspects, [[sctp|SCTP]] never gained widespread adoption on the public internet because {{nat|NATs}} and {{firewall|firewalls}} typically don't understand it. However, it's widely used in telecom infrastructure (4G/5G networks use it extensively) and is used by [[webrtc|WebRTC]]'s data channels โ€” though in [[webrtc|WebRTC]], [[sctp|SCTP]] doesn't run as a raw {{os|OS}}-level transport; instead it runs over {{dtls|DTLS}} over [[udp|UDP]], with the [[sctp|SCTP]] implementation in userspace. diff --git a/src/lib/data/protocols/sdp.ts b/src/lib/data/protocols/sdp.ts index b693e7c..a8f660c 100644 --- a/src/lib/data/protocols/sdp.ts +++ b/src/lib/data/protocols/sdp.ts @@ -74,7 +74,8 @@ async def main(): await pc.setRemoteDescription(answer) asyncio.run(main())`, - caption: '[[webrtc|WebRTC]] [[sdp|SDP]] offer/answer โ€” [[sdp|SDP]] is generated automatically from your media tracks', + caption: + '[[webrtc|WebRTC]] [[sdp|SDP]] offer/answer โ€” [[sdp|SDP]] is generated automatically from your media tracks', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/sip.ts b/src/lib/data/protocols/sip.ts index 066eec9..cb3e897 100644 --- a/src/lib/data/protocols/sip.ts +++ b/src/lib/data/protocols/sip.ts @@ -8,7 +8,8 @@ export const sip: Protocol = { port: 5060, year: 1999, rfc: 'RFC 3261', - oneLiner: 'The "dialing" protocol for {{voip|VoIP}} โ€” establishes, modifies, and tears down calls.', + oneLiner: + 'The "dialing" protocol for {{voip|VoIP}} โ€” establishes, modifies, and tears down calls.', overview: `[[sip|SIP]] is the {{signaling|signaling}} {{protocol|protocol}} that makes {{voip|VoIP}} calls happen. It doesn't carry the actual audio or video (that's [[rtp|RTP]]'s job). Instead, [[sip|SIP]] handles the "control plane": inviting someone to a call, ringing, answering, putting on hold, transferring, and hanging up. [[sip|SIP]]'s design was inspired by [[http1|HTTP]] โ€” it uses text-based {{request-response|request/response}} messages with methods like {{sip-invite|INVITE}}, {{ack|ACK}}, BYE, and REGISTER. URIs identify users (sip:alice@example.com). This [[http1|HTTP]]-like design made it easier to implement and debug compared to the ITU's H.323 alternative. @@ -69,7 +70,8 @@ acfg.sipConfig.authCreds.append( account = pj.Account() account.create(acfg) # Sends SIP REGISTER`, - caption: 'PJSIP registers with a [[sip|SIP]] server โ€” the {{sip-invite|INVITE}}/200 OK/{{ack|ACK}} flow handles call setup', + caption: + 'PJSIP registers with a [[sip|SIP]] server โ€” the {{sip-invite|INVITE}}/200 OK/{{ack|ACK}} flow handles call setup', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/smtp.ts b/src/lib/data/protocols/smtp.ts index 14c9ab8..e707da8 100644 --- a/src/lib/data/protocols/smtp.ts +++ b/src/lib/data/protocols/smtp.ts @@ -57,7 +57,8 @@ with smtplib.SMTP("smtp.example.com", 587) as server: server.starttls() server.login("sender@example.com", "password") server.send_message(msg)`, - caption: '[[smtp|SMTP]] delivers email hop by hop โ€” {{starttls|STARTTLS}} encrypts the connection.', + caption: + '[[smtp|SMTP]] delivers email hop by hop โ€” {{starttls|STARTTLS}} encrypts the connection.', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/ssh.ts b/src/lib/data/protocols/ssh.ts index aed7201..cf008e9 100644 --- a/src/lib/data/protocols/ssh.ts +++ b/src/lib/data/protocols/ssh.ts @@ -8,7 +8,8 @@ export const ssh: Protocol = { port: 22, year: 1995, rfc: 'RFC 4253', - oneLiner: 'Encrypted remote access โ€” how developers securely {{mqtt-connect|connect}} to servers.', + oneLiner: + 'Encrypted remote access โ€” how developers securely {{mqtt-connect|connect}} to servers.', overview: `[[ssh|SSH]] replaced the insecure telnet and rlogin protocols by providing {{encryption|encrypted}} remote shell access. When you {{mqtt-connect|connect}} to a server, push code to GitHub, or tunnel a database connection, you're likely using [[ssh|SSH]]. [[ssh|SSH]] provides an encrypted tunnel between {{client-server|client and server}} that can carry interactive shell sessions, file transfers ({{scp-copy|SCP}}/{{sftp|SFTP}}), and {{port-forwarding|port forwarding}}. Authentication can use passwords, but the preferred method is {{public-key|public key}} authentication: your {{private-key|private key}} stays on your machine, and the server has your {{public-key|public key}} โ€” no passwords transmitted over the network. diff --git a/src/lib/data/protocols/stomp.ts b/src/lib/data/protocols/stomp.ts index 8fc9eec..9bf8adb 100644 --- a/src/lib/data/protocols/stomp.ts +++ b/src/lib/data/protocols/stomp.ts @@ -8,7 +8,8 @@ export const stomp: Protocol = { port: 61613, year: 2003, rfc: undefined, - oneLiner: 'A dead-simple text protocol for message brokers โ€” the {{http-method|HTTP}} of messaging.', + oneLiner: + 'A dead-simple text protocol for message brokers โ€” the {{http-method|HTTP}} of messaging.', overview: `[[stomp|STOMP]] is to message queuing what [[http1|HTTP]] is to the web โ€” a simple, text-based protocol that any language can implement easily. While [[amqp|AMQP]] has complex {{binary-framing|binary framing}} and [[mqtt|MQTT]] has its binary headers, [[stomp|STOMP]] uses plain text commands like {{mqtt-connect|CONNECT}}, {{mqtt-subscribe|SUBSCRIBE}}, SEND, and {{ack|ACK}}. This simplicity is [[stomp|STOMP]]'s superpower. You can literally telnet to a [[stomp|STOMP]] {{broker|broker}} and type messages by hand. It's supported by most major message brokers (RabbitMQ, ActiveMQ, Apollo) as an alternative to their native protocols, making it a great choice when you need messaging but don't want to learn a complex protocol. diff --git a/src/lib/data/protocols/tcp.ts b/src/lib/data/protocols/tcp.ts index 76008e7..a435c58 100644 --- a/src/lib/data/protocols/tcp.ts +++ b/src/lib/data/protocols/tcp.ts @@ -64,7 +64,8 @@ print(f"Connected by {addr}") data = conn.recv(1024) # Reliable, ordered delivery conn.sendall(b"Hello back!") conn.close() # FIN sequence`, - caption: 'A minimal [[tcp|TCP]] server โ€” the 3-way {{handshake|handshake}} happens automatically inside accept()', + caption: + 'A minimal [[tcp|TCP]] server โ€” the 3-way {{handshake|handshake}} happens automatically inside accept()', alternatives: [ { language: 'javascript', @@ -200,7 +201,10 @@ Client โ†’ Server [ACK] title: 'Comcast launches L4S in production', description: 'Sub-millisecond queuing {{latency|latency}} for cooperating flows in six US metros, with {{apple|Apple}}, {{nvidia|NVIDIA}} GeForce NOW, {{meta|Meta}}, and Valve as launch partners. The first large-scale deployment of the {{l4s|L4S}} architecture ([[rfc:9330|RFC 9330]]/9331/9332) on a production access network.', - source: { url: 'https://www.rcrwireless.com/20250129/uncategorized/comcast-l4s', label: 'RCR Wireless' } + source: { + url: 'https://www.rcrwireless.com/20250129/uncategorized/comcast-l4s', + label: 'RCR Wireless' + } }, { date: '2025-06', @@ -232,13 +236,13 @@ Client โ†’ Server [ACK] org: 'Google', scale: 'BBR for google.com / YouTube', description: - 'BBRv1 deployed in 2016, {{bbrv3|BBRv3}} has rolled out as the default since 2024. Replaces {{cubic|CUBIC}} for outbound traffic from {{google|Google}}\'s edge.' + "BBRv1 deployed in 2016, {{bbrv3|BBRv3}} has rolled out as the default since 2024. Replaces {{cubic|CUBIC}} for outbound traffic from {{google|Google}}'s edge." }, { org: 'Meta', scale: '>50% of traffic still TCP', description: - 'Despite >75% of {{meta|Meta}}\'s internet-facing traffic moving to [[quic|QUIC]], [[tcp|TCP]] remains the default for service-to-service inside the datacenter and for backwards-compatible client paths.' + "Despite >75% of {{meta|Meta}}'s internet-facing traffic moving to [[quic|QUIC]], [[tcp|TCP]] remains the default for service-to-service inside the datacenter and for backwards-compatible client paths." }, { org: 'Apple', @@ -251,11 +255,11 @@ Client โ†’ Server [ACK] funFacts: [ { title: 'RFC 793 was the spec for 41 years', - text: 'From September 1981 until [[rfc:9293|RFC 9293]] (August 2022), [[pioneer:jon-postel|Jon Postel]]\'s [[rfc:9293|RFC 793]] was the canonical [[tcp|TCP]] specification โ€” almost certainly the longest unmodified {{ietf|IETF}} spec ever. [[rfc:9293|RFC 9293]] finally consolidated 13 errata documents into a single readable document, edited by Wesley Eddy.' + text: "From September 1981 until [[rfc:9293|RFC 9293]] (August 2022), [[pioneer:jon-postel|Jon Postel]]'s [[rfc:9293|RFC 793]] was the canonical [[tcp|TCP]] specification โ€” almost certainly the longest unmodified {{ietf|IETF}} spec ever. [[rfc:9293|RFC 9293]] finally consolidated 13 errata documents into a single readable document, edited by Wesley Eddy." }, { - title: 'TCP\'s sequence numbers used to be guessable', - text: 'Early [[tcp|TCP]] picked the initial {{sequence-number|sequence number}} from a counter incremented at a fixed rate per second. Kevin Mitnick used this in 1994 to forge a connection to Tsutomu Shimomura\'s host. Modern stacks use a cryptographically-random {{isn|ISN}} per [[rfc:9293|RFC 9293]] ยง3.4.1.' + title: "TCP's sequence numbers used to be guessable", + text: "Early [[tcp|TCP]] picked the initial {{sequence-number|sequence number}} from a counter incremented at a fixed rate per second. Kevin Mitnick used this in 1994 to forge a connection to Tsutomu Shimomura's host. Modern stacks use a cryptographically-random {{isn|ISN}} per [[rfc:9293|RFC 9293]] ยง3.4.1." }, { title: 'The window field is only 16 bits', @@ -271,7 +275,7 @@ Client โ†’ Server [ACK] pitfalls: [ { title: 'Nagle + Delayed ACK = 200ms latency', - text: 'Nagle\'s algorithm coalesces small writes; {{delayed-ack|delayed ACK}} batches acknowledgements. When both are on (the default), interactive applications writing in small chunks can stall for up to 200 ms waiting for an {{ack|ACK}}. Cure: setsockopt(TCP_NODELAY, 1) for low-{{latency|latency}} apps.' + text: "Nagle's algorithm coalesces small writes; {{delayed-ack|delayed ACK}} batches acknowledgements. When both are on (the default), interactive applications writing in small chunks can stall for up to 200 ms waiting for an {{ack|ACK}}. Cure: setsockopt(TCP_NODELAY, 1) for low-{{latency|latency}} apps." }, { title: 'Ephemeral port exhaustion', diff --git a/src/lib/data/protocols/tls.ts b/src/lib/data/protocols/tls.ts index a6e7776..e7e3362 100644 --- a/src/lib/data/protocols/tls.ts +++ b/src/lib/data/protocols/tls.ts @@ -203,7 +203,10 @@ openssl req -x509 -newkey rsa:2048 -nodes \\ title: 'NIST finalises ML-KEM, ML-DSA, SLH-DSA', description: '{{fips|FIPS}} 203, 204, 205 published โ€” the {{post-quantum|post-quantum cryptography}} primitives that [[tls|TLS]] would depend on. {{ml-kem|ML-KEM}}-768 (formerly Kyber-768) becomes the foundation for hybrid key {{exchange|exchange}}.', - source: { url: 'https://csrc.nist.gov/publications/detail/fips/203/final', label: 'NIST FIPS 203' } + source: { + url: 'https://csrc.nist.gov/publications/detail/fips/203/final', + label: 'NIST FIPS 203' + } }, { date: '2024-Q2', @@ -246,7 +249,7 @@ openssl req -x509 -newkey rsa:2048 -nodes \\ 'Hybrid post-quantum key agreement enabled by default. Falls back gracefully when servers do not support it.' }, { - org: 'Let\'s Encrypt', + org: "Let's Encrypt", scale: '~470M certificates active', description: 'The dominant {{certificate-authority|CA}} for the web. All certificates issued via ACME. ~3M certificates renewed daily.' @@ -256,7 +259,7 @@ openssl req -x509 -newkey rsa:2048 -nodes \\ funFacts: [ { title: 'SSL 1.0 was never released', - text: 'Netscape\'s [[pioneer:taher-elgamal|Taher Elgamal]] designed {{ssl|SSL}} 1.0 in 1994 โ€” but a flaw was found before public release that let an attacker recover the session key. {{ssl|SSL}} 2.0 (1995) shipped instead. {{ssl|SSL}} 3.0 (1996) was rewritten from scratch by Paul Kocher and survived for over a decade.' + text: "Netscape's [[pioneer:taher-elgamal|Taher Elgamal]] designed {{ssl|SSL}} 1.0 in 1994 โ€” but a flaw was found before public release that let an attacker recover the session key. {{ssl|SSL}} 2.0 (1995) shipped instead. {{ssl|SSL}} 3.0 (1996) was rewritten from scratch by Paul Kocher and survived for over a decade." }, { title: 'TLS 1.3 cut every weak cipher', @@ -280,7 +283,7 @@ openssl req -x509 -newkey rsa:2048 -nodes \\ }, { title: 'Mixed content breaks the padlock', - text: 'A page loaded over HTTPS that includes a single script over {{http-method|HTTP}} triggers the browser\'s mixed-content blocker. The page either fails to load assets or shows a warning. Cure: use protocol-relative URLs or strict HTTPS-only resources.' + text: "A page loaded over HTTPS that includes a single script over {{http-method|HTTP}} triggers the browser's mixed-content blocker. The page either fails to load assets or shows a warning. Cure: use protocol-relative URLs or strict HTTPS-only resources." } ] } diff --git a/src/lib/data/protocols/udp.ts b/src/lib/data/protocols/udp.ts index 7f868da..fd83f99 100644 --- a/src/lib/data/protocols/udp.ts +++ b/src/lib/data/protocols/udp.ts @@ -57,7 +57,8 @@ sock.sendto(b"Ping!", ('localhost', 8888)) # Receive โ€” might never arrive data, addr = sock.recvfrom(1024) print(f"Got {data} from {addr}")`, - caption: '[[udp|UDP]] is {{connectionless|connectionless}} โ€” just bind, send, and hope for the best', + caption: + '[[udp|UDP]] is {{connectionless|connectionless}} โ€” just bind, send, and hope for the best', alternatives: [ { language: 'javascript', @@ -142,7 +143,21 @@ ss -un # or: netstat -un` throughput: 'No congestion control โ€” can send as fast as the network allows (or can handle)', overhead: '8-byte header only โ€” the minimum possible for transport' }, - connections: ['tcp', 'ip', 'ipv6', 'dns', 'quic', 'webrtc', 'dhcp', 'ntp', 'rtp', 'coap', 'sip', 'ipsec', 'nat-traversal'], + connections: [ + 'tcp', + 'ip', + 'ipv6', + 'dns', + 'quic', + 'webrtc', + 'dhcp', + 'ntp', + 'rtp', + 'coap', + 'sip', + 'ipsec', + 'nat-traversal' + ], links: { wikipedia: 'https://en.wikipedia.org/wiki/User_Datagram_Protocol', rfc: 'https://datatracker.ietf.org/doc/html/rfc768' @@ -181,7 +196,7 @@ ss -un # or: netstat -un` org: 'NTP pool', scale: '~25 billion queries/day', description: - 'pool.ntp.org and friends serve tens of billions of [[udp|UDP]] [[ntp|NTP]] queries per day, keeping the world\'s clocks within a few milliseconds.' + "pool.ntp.org and friends serve tens of billions of [[udp|UDP]] [[ntp|NTP]] queries per day, keeping the world's clocks within a few milliseconds." }, { org: 'WebRTC media', @@ -200,11 +215,11 @@ ss -un # or: netstat -un` funFacts: [ { title: 'RFC 768 is three pages long', - text: '[[udp|UDP]]\'s entire spec โ€” header format, length field, {{checksum|checksum}}, and a paragraph of prose โ€” fits in three pages. [[pioneer:jon-postel|Jon Postel]] wrote it in August 1980. It has not been updated since. There has been nothing to {{bgp-update|update}}.' + text: "[[udp|UDP]]'s entire spec โ€” header format, length field, {{checksum|checksum}}, and a paragraph of prose โ€” fits in three pages. [[pioneer:jon-postel|Jon Postel]] wrote it in August 1980. It has not been updated since. There has been nothing to {{bgp-update|update}}." }, { title: 'UDP gives you ports โ€” that is most of L4', - text: 'The only thing [[udp|UDP]] adds above raw [[ip|IP]] is the source/destination port pair. That is the entire reason multiple applications can share a host\'s network adapter. Everything else (reliability, ordering, congestion) is left to the application above.' + text: "The only thing [[udp|UDP]] adds above raw [[ip|IP]] is the source/destination port pair. That is the entire reason multiple applications can share a host's network adapter. Everything else (reliability, ordering, congestion) is left to the application above." }, { title: 'UDP is what middleboxes already pass', diff --git a/src/lib/data/protocols/uwb.ts b/src/lib/data/protocols/uwb.ts index e2ad9d1..b9a4d72 100644 --- a/src/lib/data/protocols/uwb.ts +++ b/src/lib/data/protocols/uwb.ts @@ -19,7 +19,7 @@ The reason UWB matters more than its raw precision is that it can **prove proxim { title: 'Impulse-radio physical layer โ€” Gaussian monocycles, not a carrier', description: - "Instead of modulating a continuous carrier, **IR-UWB** transmits sub-nanosecond Gaussian-monocycle (or doublet) pulses spaced across the available {{spectrum|spectrum}}. A symbol is built from a burst of pulses at one of two time-slot positions (BPM) with chosen polarity ({{bpsk|BPSK}}) โ€” *Burst-Position Modulation + Binary Phase-Shift Keying*. The mean pulse-repetition frequency is **{{bprf|BPRF}} โ‰ˆ 64 MHz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz** in higher-power modes. Data rates: 850 kbps, 6.81 Mbps, or 27 Mbps โ€” most ranging deployments use **6.81 Mbps** because shorter {{frame|frame}} air-time reduces clock-drift error. The 499.2 MHz channel {{bandwidth|bandwidth}} and the โ‰ฅ0.2 fractional-{{bandwidth|bandwidth}} requirement is what makes a UWB transmitter *legally UWB* under {{fcc|FCC}} Part 15.519." + 'Instead of modulating a continuous carrier, **IR-UWB** transmits sub-nanosecond Gaussian-monocycle (or doublet) pulses spaced across the available {{spectrum|spectrum}}. A symbol is built from a burst of pulses at one of two time-slot positions (BPM) with chosen polarity ({{bpsk|BPSK}}) โ€” *Burst-Position Modulation + Binary Phase-Shift Keying*. The mean pulse-repetition frequency is **{{bprf|BPRF}} โ‰ˆ 64 MHz** in the default 802.15.4z mode or **HPRF 124.8 / 249.6 MHz** in higher-power modes. Data rates: 850 kbps, 6.81 Mbps, or 27 Mbps โ€” most ranging deployments use **6.81 Mbps** because shorter {{frame|frame}} air-time reduces clock-drift error. The 499.2 MHz channel {{bandwidth|bandwidth}} and the โ‰ฅ0.2 fractional-{{bandwidth|bandwidth}} requirement is what makes a UWB transmitter *legally UWB* under {{fcc|FCC}} Part 15.519.' }, { title: 'The four ranging paradigms โ€” TWR, DS-TWR, TDoA, AoA', @@ -29,7 +29,7 @@ The reason UWB matters more than its raw precision is that it can **prove proxim { title: 'STS โ€” Scrambled Timestamp Sequence, the cryptographic distance bound', description: - "The vulnerability that 802.15.4a (2007) shipped with: its preamble and {{sfd|SFD}} patterns are public, so an attacker can predict the next pulse and inject an early replica that the receiver locks onto, shortening apparent distance โ€” the *Cicada* / *Early-Detect / Late-Commit* family. **{{sts|STS}} in 802.15.4z** replaces the predictable preamble-derived timestamp with a 32โ€“2048-chip pulse sequence whose positions are generated by **{{aes-128|AES-128}} in {{aead|Counter mode}}** keyed by a per-session STS_KEY and a per-frame {{nonce|nonce}}. An attacker without the key sees noise; they cannot predict the next chip and cannot reliably early-replay. The receiver, holding the same key, generates the expected sequence locally and cross-correlates โ€” sharp autocorrelation peak with a fresh code every frame. This is the **distance commitment** that defeats the {{ble|BLE}}-{{rssi|RSSI}} {{replay-attack|relay}} class of attack." + 'The vulnerability that 802.15.4a (2007) shipped with: its preamble and {{sfd|SFD}} patterns are public, so an attacker can predict the next pulse and inject an early replica that the receiver locks onto, shortening apparent distance โ€” the *Cicada* / *Early-Detect / Late-Commit* family. **{{sts|STS}} in 802.15.4z** replaces the predictable preamble-derived timestamp with a 32โ€“2048-chip pulse sequence whose positions are generated by **{{aes-128|AES-128}} in {{aead|Counter mode}}** keyed by a per-session STS_KEY and a per-frame {{nonce|nonce}}. An attacker without the key sees noise; they cannot predict the next chip and cannot reliably early-replay. The receiver, holding the same key, generates the expected sequence locally and cross-correlates โ€” sharp autocorrelation peak with a fresh code every frame. This is the **distance commitment** that defeats the {{ble|BLE}}-{{rssi|RSSI}} {{replay-attack|relay}} class of attack.' }, { title: 'BLE bootstraps every UWB session โ€” the indispensable on-ramp', @@ -44,7 +44,7 @@ The reason UWB matters more than its raw precision is that it can **prove proxim { title: 'The competition โ€” Wi-Fi FTM (802.11mc/11az) and the honest verdict', description: - "**[[wifi|Wi-Fi]] Fine Timing Measurement ({{ftm|FTM}})** in {{ieee-802-15-4|IEEE}} 802.11mc and the security-enhanced **802.11az** is the closest analogue to UWB ranging in mass-market silicon. *Native silicon:* Wi-Fi is already in every phone vs. a dedicated UWB chip. *{{bandwidth|Bandwidth}}:* Wi-Fi 80โ€“160 MHz vs. UWB 499.2 MHz. *Accuracy:* Wi-Fi 1โ€“2 m typical vs. UWB 10โ€“30 cm. *Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrastructure:* Wi-Fi reuses existing APs ({{cisco|Cisco}}/Aruba support) vs. dedicated UWB anchors. **Honest verdict:** FTM is *good enough* for room-level indoor positioning; **UWB wins for proximity-based authentication** (car keys, smart locks) because cm-precision *and* the {{sts|STS}} distance commitment combine to produce a hard distance upper-bound that FTM cannot match today. 802.11az narrows the gap. They will most likely coexist." + '**[[wifi|Wi-Fi]] Fine Timing Measurement ({{ftm|FTM}})** in {{ieee-802-15-4|IEEE}} 802.11mc and the security-enhanced **802.11az** is the closest analogue to UWB ranging in mass-market silicon. *Native silicon:* Wi-Fi is already in every phone vs. a dedicated UWB chip. *{{bandwidth|Bandwidth}}:* Wi-Fi 80โ€“160 MHz vs. UWB 499.2 MHz. *Accuracy:* Wi-Fi 1โ€“2 m typical vs. UWB 10โ€“30 cm. *Secure ranging:* Wi-Fi 11az TB/NTB with PASN vs. UWB {{sts|STS}}. *Infrastructure:* Wi-Fi reuses existing APs ({{cisco|Cisco}}/Aruba support) vs. dedicated UWB anchors. **Honest verdict:** FTM is *good enough* for room-level indoor positioning; **UWB wins for proximity-based authentication** (car keys, smart locks) because cm-precision *and* the {{sts|STS}} distance commitment combine to produce a hard distance upper-bound that FTM cannot match today. 802.11az narrows the gap. They will most likely coexist.' }, { title: 'Regional masks โ€” design for the strictest you must support', @@ -332,7 +332,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` date: '2025-07', title: 'CCC Digital Key 4.0 announced โ€” cross-platform key sharing', description: - "The **Car Connectivity Consortium** announced Digital Key 4.0 in July 2025 and validated it at the **13th Plugfest hosted by {{apple|Apple}}**. Adds **device-to-device key sharing across {{android|Android}} and iOS**, validates backward compatibility with 3.0 vehicles, and keeps the requirement that devices support at least one of [[nfc|NFC]], {{ble|BLE}}, or UWB. {{hrp-uwb|HRP}} UWB under 802.15.4z remains the secure default. **115 vehicle/module products** were certified across 2025 alone; BMW (first cert late 2024), Mercedes, Hyundai/Kia, Audi (new for 2025), VW, Porsche, GM, Ford, and Chinese OEMs (NIO, XPENG, Geely brands).", + 'The **Car Connectivity Consortium** announced Digital Key 4.0 in July 2025 and validated it at the **13th Plugfest hosted by {{apple|Apple}}**. Adds **device-to-device key sharing across {{android|Android}} and iOS**, validates backward compatibility with 3.0 vehicles, and keeps the requirement that devices support at least one of [[nfc|NFC]], {{ble|BLE}}, or UWB. {{hrp-uwb|HRP}} UWB under 802.15.4z remains the secure default. **115 vehicle/module products** were certified across 2025 alone; BMW (first cert late 2024), Mercedes, Hyundai/Kia, Audi (new for 2025), VW, Porsche, GM, Ford, and Chinese OEMs (NIO, XPENG, Geely brands).', source: { url: 'https://carconnectivity.org/', label: 'Car Connectivity Consortium' @@ -342,7 +342,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` date: '2026-02', title: 'Aliro 1.0 finalised โ€” "Matter for door locks" with UWB', description: - "On **26 February 2026** the {{sig-bluetooth-acronym|CSA}} published **{{aliro|Aliro 1.0}}**, a {{pki|PKI}}-based access-control credential standard with **[[nfc|NFC]] (tap) + {{ble|BLE}} (proximity) + {{ble|BLE}}+UWB (ranged, hands-free)** as its three transports. {{ecdsa|ECDSA}} mutual authentication; credentials provisioned into {{apple|Apple}}, {{google|Google}}, and Samsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro|Aliro}} coming via firmware {{bgp-update|update}}) and **Kwikset Halo {{imap-select|Select}} Plus**. Launch partners include {{apple|Apple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroelectronics, Silicon Labs, Nordic Semiconductor, plus smart-lock makers Schlage, Avia, Nuki, Xthings. {{aliro|Aliro}} generalises the {{apple|Apple}} Home Key {{ux|UX}} across {{android|Android}} โ€” the most consequential UWB-related deployment of 2026.", + 'On **26 February 2026** the {{sig-bluetooth-acronym|CSA}} published **{{aliro|Aliro 1.0}}**, a {{pki|PKI}}-based access-control credential standard with **[[nfc|NFC]] (tap) + {{ble|BLE}} (proximity) + {{ble|BLE}}+UWB (ranged, hands-free)** as its three transports. {{ecdsa|ECDSA}} mutual authentication; credentials provisioned into {{apple|Apple}}, {{google|Google}}, and Samsung wallets. First products: **Aqara U400** (first smart lock with UWB; {{aliro|Aliro}} coming via firmware {{bgp-update|update}}) and **Kwikset Halo {{imap-select|Select}} Plus**. Launch partners include {{apple|Apple}}, {{google|Google}}, Samsung, ASSA ABLOY, {{nxp|NXP}}, Infineon, STMicroelectronics, Silicon Labs, Nordic Semiconductor, plus smart-lock makers Schlage, Avia, Nuki, Xthings. {{aliro|Aliro}} generalises the {{apple|Apple}} Home Key {{ux|UX}} across {{android|Android}} โ€” the most consequential UWB-related deployment of 2026.', source: { url: 'https://csa-iot.org/all-solutions/aliro/', label: 'CSA: Aliro 1.0' @@ -353,27 +353,30 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` realWorldDeployments: [ { org: 'Apple AirTag', - scale: 'Tens of millions of units annually 2022โ€“2025 (Apple does not publish official figures)', + scale: + 'Tens of millions of units annually 2022โ€“2025 (Apple does not publish official figures)', description: "Launched **30 April 2021** at $29 single / $99 four-pack. {{ble|BLE}} for the Find My network {{ping|ping}} + {{u1-chip|U1}} UWB for the cm-class Precision Finding when you are within ~5 m. The Find My network of approaching ~1 billion participating {{apple|Apple}} devices is the world's largest crowdsourced locator. AirTag is, per {{apple|Apple}}'s own marketing, the best-selling item tracker on Earth. The second-generation AirTag shipped **January 2026** with {{u2-chip|U2}}, 1.5ร— longer Precision Finding range, a louder and harder-to-remove speaker (hardware anti-stalking), and {{apple|Apple}} Watch Series 9+ Precision Finding support." }, { org: 'BMW Digital Key Plus', - scale: 'First production CCC Digital Key 3.0 UWB vehicle; available on iX, i7, X5/X6/X7, 7 Series, 5 Series, MINI Countryman', + scale: + 'First production CCC Digital Key 3.0 UWB vehicle; available on iX, i7, X5/X6/X7, 7 Series, 5 Series, MINI Countryman', description: - "Announced **13 January 2021**; customer rollout from early 2022. **First production {{ccc-digital-key|CCC Digital Key}} 3.0 UWB vehicle**. BMW jointly developed the spec with {{apple|Apple}} and the {{ccc-digital-key|CCC}}. BMW Group was the first {{oem|OEM}} to receive {{ccc-digital-key|CCC Digital Key}} Certification for its UWB-based digital vehicle access. The {{ux|UX}}: walk up to the car, the doors unlock as you reach the handle ({{ble|BLE}} detects you, UWB confirms which side of the door you are on); inside, set the phone down anywhere and start the car (no key-fob ritual)." + 'Announced **13 January 2021**; customer rollout from early 2022. **First production {{ccc-digital-key|CCC Digital Key}} 3.0 UWB vehicle**. BMW jointly developed the spec with {{apple|Apple}} and the {{ccc-digital-key|CCC}}. BMW Group was the first {{oem|OEM}} to receive {{ccc-digital-key|CCC Digital Key}} Certification for its UWB-based digital vehicle access. The {{ux|UX}}: walk up to the car, the doors unlock as you reach the handle ({{ble|BLE}} detects you, UWB confirms which side of the door you are on); inside, set the phone down anywhere and start the car (no key-fob ritual).' }, { org: 'Mercedes-Benz EQS / S-Class', scale: 'NFC+UWB CCC Digital Key 3.0 across the flagship lineup', description: - "Mercedes-Benz partnered with {{apple|Apple}} on the Wallet-based Digital Key for the EQS and S-Class from 2022. **{{nxp|NXP}} SR1xx** silicon family in the vehicle anchors. The Mercedes Digital Key was one of the first deployed cases of an NFC-fallback + UWB-precision unlock โ€” battery-dead phones still get in via [[nfc|NFC]] tap; otherwise UWB walk-up authentication takes over." + 'Mercedes-Benz partnered with {{apple|Apple}} on the Wallet-based Digital Key for the EQS and S-Class from 2022. **{{nxp|NXP}} SR1xx** silicon family in the vehicle anchors. The Mercedes Digital Key was one of the first deployed cases of an NFC-fallback + UWB-precision unlock โ€” battery-dead phones still get in via [[nfc|NFC]] tap; otherwise UWB walk-up authentication takes over.' }, { org: 'Aqara U400 + Apple Home Key + Aliro', - scale: 'First smart lock shipped with UWB support (2025); Aliro 1.0 firmware update post-CES 2026', + scale: + 'First smart lock shipped with UWB support (2025); Aliro 1.0 firmware update post-CES 2026', description: - "**Aqara U400** is the first commercial smart lock to ship with UWB. Initially {{apple|Apple}}-Home-Key-only โ€” meaning the experience worked only for iPhone owners. With **{{aliro|Aliro}} 1.0** ({{sig-bluetooth-acronym|CSA}}, 26 February 2026) coming via firmware {{bgp-update|update}} โ€” announced at {{ces-show|CES}} 2026 โ€” the same lock will work hands-free with {{android|Android}}, Samsung, and any {{aliro|Aliro}}-compliant wallet. The {{apple|Apple}} Home Key experience (tap or walk up; door unlocks if your iPhone is the authenticated bearer) is what {{aliro|Aliro}} generalises across vendors." + '**Aqara U400** is the first commercial smart lock to ship with UWB. Initially {{apple|Apple}}-Home-Key-only โ€” meaning the experience worked only for iPhone owners. With **{{aliro|Aliro}} 1.0** ({{sig-bluetooth-acronym|CSA}}, 26 February 2026) coming via firmware {{bgp-update|update}} โ€” announced at {{ces-show|CES}} 2026 โ€” the same lock will work hands-free with {{android|Android}}, Samsung, and any {{aliro|Aliro}}-compliant wallet. The {{apple|Apple}} Home Key experience (tap or walk up; door unlocks if your iPhone is the authenticated bearer) is what {{aliro|Aliro}} generalises across vendors.' }, { org: 'Samsung Galaxy SmartTag+ + Galaxy S21+ family', @@ -383,26 +386,28 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` }, { org: 'Industrial / hospital RTLS โ€” Sonitor, Zebra, Apex Locate', - scale: 'TDoA anchor deployments; typical anchor density 1 per ~20โ€“30 mยฒ for cm-class accuracy', + scale: + 'TDoA anchor deployments; typical anchor density 1 per ~20โ€“30 mยฒ for cm-class accuracy', description: "**Sonitor** runs clinical-grade hospital asset tracking (patients, equipment, surgical instruments). **Zebra Technologies** runs warehouse forklift and pallet tracking at high anchor density. **Apex Locate** focuses on manufacturing. These are TDoA-anchor deployments (multiple time-synchronised receivers measure the time difference of arrival of a single tag's pulse) rather than {{peer-to-peer|peer-to-peer}} ranging โ€” anchors {{mqtt-connect|connect}} over wired [[ethernet|Ethernet]] with PTP-grade clock distribution. **{{cisco|Cisco}} partnered with Sewio in October 2019** to integrate UWB into wireless access points, but the strategy has been slow to mature." }, { org: 'UWB-equipped iPhone install base', - scale: '>1 B iPhones from iPhone 11 (Sep 2019) onward; ABI projects 27 % โ†’ 52 % UWB phone penetration 2025โ€“2030', + scale: + '>1 B iPhones from iPhone 11 (Sep 2019) onward; ABI projects 27 % โ†’ 52 % UWB phone penetration 2025โ€“2030', description: - "{{apple|Apple}} shipped >1 billion iPhones from the iPhone 11 (10 September 2019) onward by mid-decade. Not every iPhone has UWB โ€” **iPhone {{se-secure-element|SE}} 1/2/3, iPhone 16e, and iPhone 17e** do not include a UWB chip โ€” but the FiRa-compatible UWB device install base is the largest of any UWB ecosystem worldwide, dwarfing the Samsung Galaxy UWB-flagship base. The {{u1-chip|U1}} cohort spans iPhone 11 through iPhone 14, AirTag (1st gen), HomePod mini, {{apple|Apple}} Watch Series 6+, and the AirPods Pro 2 case. The {{u2-chip|U2}} cohort: iPhone 15/16/17 (excluding 16e/17e), AirTag 2." + '{{apple|Apple}} shipped >1 billion iPhones from the iPhone 11 (10 September 2019) onward by mid-decade. Not every iPhone has UWB โ€” **iPhone {{se-secure-element|SE}} 1/2/3, iPhone 16e, and iPhone 17e** do not include a UWB chip โ€” but the FiRa-compatible UWB device install base is the largest of any UWB ecosystem worldwide, dwarfing the Samsung Galaxy UWB-flagship base. The {{u1-chip|U1}} cohort spans iPhone 11 through iPhone 14, AirTag (1st gen), HomePod mini, {{apple|Apple}} Watch Series 6+, and the AirPods Pro 2 case. The {{u2-chip|U2}} cohort: iPhone 15/16/17 (excluding 16e/17e), AirTag 2.' } ], funFacts: [ { - title: 'The FCC adopted UWB regulations on Valentine\'s Day, 14 February 2002', - text: "The First Report and Order in ET Docket 98-153 (**{{fcc|FCC}} 02-48**, 17 {{fcc|FCC}} Rcd 7435), adopted **14 February 2002**, released **22 April 2002**, effective **15 July 2002**, was hard-won against {{gps|GPS}} (operating at L1=1575.42 MHz), avionics, and DoD interests who feared aggregate interference into safety-of-life systems. The **โˆ’41.3 dBm/MHz** EIRP limit is essentially the ยง15.209 background-unintentional-radiator threshold โ€” UWB devices may not emit *more than ordinary unintentional radiators do*, despite being intentional transmitters." + title: "The FCC adopted UWB regulations on Valentine's Day, 14 February 2002", + text: 'The First Report and Order in ET Docket 98-153 (**{{fcc|FCC}} 02-48**, 17 {{fcc|FCC}} Rcd 7435), adopted **14 February 2002**, released **22 April 2002**, effective **15 July 2002**, was hard-won against {{gps|GPS}} (operating at L1=1575.42 MHz), avionics, and DoD interests who feared aggregate interference into safety-of-life systems. The **โˆ’41.3 dBm/MHz** EIRP limit is essentially the ยง15.209 background-unintentional-radiator threshold โ€” UWB devices may not emit *more than ordinary unintentional radiators do*, despite being intentional transmitters.' }, { title: 'IEEE 802.15.3a is one of the most public failures of an IEEE 802 task group', - text: "After three years of deadlock between **MB-OFDM** ({{intel|Intel}} + WiMedia Alliance) and **DS-UWB** (Freescale + UWB Forum), neither side could win the 75 % supermajority required to ratify. At the Waikoloa, HI interim on **19 January 2006** the task group voted to **recommend its own dissolution**. The joint UWB Forum / WiMedia Alliance statement that *a more prudent course of action is necessary* became a textbook example of standards-body coalition deadlock. WiMedia formally dissolved in 2009, transferring its specs to {{usb|USB}}-IF, Bluetooth {{sig|SIG}}, and the Wireless {{usb|USB}} Promoter Group. What did not die: the 802.15.4a impulse-radio side that became 4z, became FiRa, became every {{u1-chip|U1}}-equipped iPhone." + text: 'After three years of deadlock between **MB-OFDM** ({{intel|Intel}} + WiMedia Alliance) and **DS-UWB** (Freescale + UWB Forum), neither side could win the 75 % supermajority required to ratify. At the Waikoloa, HI interim on **19 January 2006** the task group voted to **recommend its own dissolution**. The joint UWB Forum / WiMedia Alliance statement that *a more prudent course of action is necessary* became a textbook example of standards-body coalition deadlock. WiMedia formally dissolved in 2009, transferring its specs to {{usb|USB}}-IF, Bluetooth {{sig|SIG}}, and the Wireless {{usb|USB}} Promoter Group. What did not die: the 802.15.4a impulse-radio side that became 4z, became FiRa, became every {{u1-chip|U1}}-equipped iPhone.' }, { title: 'The "U" in Apple\'s U1 / U2 stands for Ultra-Wideband', @@ -414,7 +419,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` }, { title: 'Apple silicon engineers published their security response on arXiv', - text: "**Secure Ranging with {{ieee-802-15-4|IEEE}} 802.15.4z {{hrp-uwb|HRP}} UWB** (Luo, Kalkanli, Zhou, Zhan, Cohen โ€” arXiv:2312.03964, December 2023) is a rare instance of {{apple|Apple}} silicon engineers publishing a {{peer|peer}}-reviewable response to academic security research โ€” specifically the Singh / Leu / Capkun lineage from ETH Zurich. The paper specifies an {{sts|STS}} receiver design and proves its security and asymptotic optimality under the documented attack model. The cultural significance is almost as large as the technical: {{apple|Apple}} does not normally {{mqtt-publish|publish}} protocol-level threat analysis, and the act of doing so signalled that UWB security was sufficiently competitive to require open {{exchange|exchange}} with academia." + text: '**Secure Ranging with {{ieee-802-15-4|IEEE}} 802.15.4z {{hrp-uwb|HRP}} UWB** (Luo, Kalkanli, Zhou, Zhan, Cohen โ€” arXiv:2312.03964, December 2023) is a rare instance of {{apple|Apple}} silicon engineers publishing a {{peer|peer}}-reviewable response to academic security research โ€” specifically the Singh / Leu / Capkun lineage from ETH Zurich. The paper specifies an {{sts|STS}} receiver design and proves its security and asymptotic optimality under the documented attack model. The cultural significance is almost as large as the technical: {{apple|Apple}} does not normally {{mqtt-publish|publish}} protocol-level threat analysis, and the act of doing so signalled that UWB security was sufficiently competitive to require open {{exchange|exchange}} with academia.' }, { title: 'FiRa stands for "Fine Ranging"', @@ -422,7 +427,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` }, { title: 'The iPhone 16e and 17e do not have UWB', - text: "{{apple|Apple}} removed UWB from the *e* line-up as a cost-down. This creates an awkward {{fragmentation|fragmentation}}: **Precision Finding for AirTag works on iPhone 11โ€“17, except the 16e and 17e** (and the pre-iPhone-11 {{se-secure-element|SE}} models). Anti-stalking unwanted-tracker detection still works via {{ble|BLE}} on every iPhone. If you are scoping a UWB feature for an iOS app in 2026, gating on `NISession.isSupported` rather than assuming *modern iPhone implies UWB* will save you a support ticket later." + text: '{{apple|Apple}} removed UWB from the *e* line-up as a cost-down. This creates an awkward {{fragmentation|fragmentation}}: **Precision Finding for AirTag works on iPhone 11โ€“17, except the 16e and 17e** (and the pre-iPhone-11 {{se-secure-element|SE}} models). Anti-stalking unwanted-tracker detection still works via {{ble|BLE}} on every iPhone. If you are scoping a UWB feature for an iOS app in 2026, gating on `NISession.isSupported` rather than assuming *modern iPhone implies UWB* will save you a support ticket later.' } ], @@ -430,7 +435,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` pitfalls: [ { title: 'Channel choice โ€” start with Channel 5, plan for Channel 9', - text: "UWB has 16 {{hrp-uwb|HRP}} channels but only **two see real-world use**: Channel 5 (6489.6 MHz) and Channel 9 (7987.2 MHz), each 499.2 MHz wide. Older silicon ({{qorvo|Qorvo}} DW1000) supports only Channel 5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {{u1-chip|U1}} onwards supports both. Japanese regulations restrict 7.25โ€“7.75 GHz, which **clips Channel 9 in Japan**. For interoperability fallback, support Channel 5 โ€” it works everywhere. For isolation from 6 GHz Wi-Fi 6E (which is squeezing the 5.925โ€“7.125 GHz band increasingly hard), **prefer Channel 9 where regulation allows and fall back to Channel 5 in Japan and a few other jurisdictions**. {{ccc-digital-key|CCC Digital Key}} 3.0 mandates both. Verify against {{etsi|ETSI}} EN 302 065 (EU) and Japanese radio law before launch." + text: 'UWB has 16 {{hrp-uwb|HRP}} channels but only **two see real-world use**: Channel 5 (6489.6 MHz) and Channel 9 (7987.2 MHz), each 499.2 MHz wide. Older silicon ({{qorvo|Qorvo}} DW1000) supports only Channel 5; everything from DW3000 / {{nxp|NXP}} SR150 / {{apple|Apple}} {{u1-chip|U1}} onwards supports both. Japanese regulations restrict 7.25โ€“7.75 GHz, which **clips Channel 9 in Japan**. For interoperability fallback, support Channel 5 โ€” it works everywhere. For isolation from 6 GHz Wi-Fi 6E (which is squeezing the 5.925โ€“7.125 GHz band increasingly hard), **prefer Channel 9 where regulation allows and fall back to Channel 5 in Japan and a few other jurisdictions**. {{ccc-digital-key|CCC Digital Key}} 3.0 mandates both. Verify against {{etsi|ETSI}} EN 302 065 (EU) and Japanese radio law before launch.' }, { title: 'STS / cipher suite โ€” turn it on, and watch the receiver', @@ -446,7 +451,7 @@ Continuous Precision Finding refreshes at ~10 Hz on Apple silicon.` }, { title: 'Line-of-sight is everything; NLOS gives you positive distance bias', - text: "UWB resolves {{multipath|multipath}} at ~1 ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/metal, the first path may be heavily attenuated and the receiver locks onto a later, stronger reflection. Result: a **positive distance bias of 10s of cm to a metre**. Use first-path detection algorithms rather than peak-detection โ€” modern chips expose first-path index and confidence metrics. Apply NLOS bias correction using channel-impulse-response (CIR) features; recent Adaptive Kalman Filter work shows 30โ€“50 % accuracy improvement. Place infrastructure anchors to maximise LOS to the working volume; ceiling mounts are typical in warehouse/hospital RTLS." + text: 'UWB resolves {{multipath|multipath}} at ~1 ns = 30 cm, but in **non-line-of-sight (NLOS)** conditions through walls/people/metal, the first path may be heavily attenuated and the receiver locks onto a later, stronger reflection. Result: a **positive distance bias of 10s of cm to a metre**. Use first-path detection algorithms rather than peak-detection โ€” modern chips expose first-path index and confidence metrics. Apply NLOS bias correction using channel-impulse-response (CIR) features; recent Adaptive Kalman Filter work shows 30โ€“50 % accuracy improvement. Place infrastructure anchors to maximise LOS to the working volume; ceiling mounts are typical in warehouse/hospital RTLS.' }, { title: 'Power consumption โ€” UWB ranging is not cheap', diff --git a/src/lib/data/protocols/webrtc.ts b/src/lib/data/protocols/webrtc.ts index 394a11b..1615253 100644 --- a/src/lib/data/protocols/webrtc.ts +++ b/src/lib/data/protocols/webrtc.ts @@ -8,7 +8,8 @@ export const webrtc: Protocol = { port: undefined, year: 2011, rfc: 'RFC 8825', - oneLiner: '{{peer-to-peer|Peer-to-peer}} audio, video, and data โ€” directly between browsers, no plugins needed.', + oneLiner: + '{{peer-to-peer|Peer-to-peer}} audio, video, and data โ€” directly between browsers, no plugins needed.', overview: `[[webrtc|WebRTC]] is the technology that makes browser-based video calls possible. Before [[webrtc|WebRTC]], real-time communication required plugins (Flash, Java applets) or native apps. Now, two browsers can establish a direct, encrypted, {{peer-to-peer|peer-to-peer}} connection for audio, video, and arbitrary data. The key insight is "{{peer-to-peer|peer-to-peer}}" โ€” once the connection is established, data flows directly between users without passing through a server. This reduces {{latency|latency}} and server costs. However, establishing that connection requires a {{signaling|signaling server}} (to {{exchange|exchange}} connection offers) and the [[nat-traversal|STUN / TURN / ICE]] stack to navigate {{nat|NATs}} and {{firewall|firewalls}}. **{{stun|STUN}}** discovers the {{peer|peer}}'s {{public-ip-address|public IP address}}; **{{turn|TURN}}** relays media through a server when a direct connection fails (about 10โ€“15% of cases); **{{ice|ICE}}** coordinates both to find the best working path. See the [[nat-traversal|NAT-traversal]] page for the full wire format and history. diff --git a/src/lib/data/protocols/websockets.ts b/src/lib/data/protocols/websockets.ts index 1c44807..071b267 100644 --- a/src/lib/data/protocols/websockets.ts +++ b/src/lib/data/protocols/websockets.ts @@ -8,7 +8,8 @@ export const websockets: Protocol = { port: 80, year: 2011, rfc: 'RFC 6455', - oneLiner: '{{full-duplex|Full-duplex}}, persistent connection โ€” server and client talk freely in real time.', + oneLiner: + '{{full-duplex|Full-duplex}}, persistent connection โ€” server and client talk freely in real time.', overview: `[[websockets|WebSockets]] solve a fundamental limitation of [[http1|HTTP]]: the server can't initiate communication. In [[http1|HTTP]], the client always asks and the server always responds. [[websockets|WebSockets]] upgrade an [[http1|HTTP]] connection into a persistent, {{full-duplex|full-duplex}} channel where either side can send messages at any time. This is perfect for real-time applications: chat, live sports scores, collaborative editing, multiplayer games, financial tickers. Instead of the client repeatedly polling "any updates?" (wasteful), the server simply pushes data when it's available. Unlike [[http1|HTTP]]'s {{request-response|request-response}} model, [[websockets|WebSockets]] maintain a {{stateful|stateful}} connection where both sides can track context across messages without re-establishing identity on every {{exchange|exchange}}. @@ -57,7 +58,8 @@ async def chat(): await ws.send('{"type": "msg", "text": "Hello!"}') asyncio.run(chat())`, - caption: '[[websockets|WebSocket]] {{api|API}} is dead simple โ€” {{mqtt-connect|connect}}, send, receive. Both sides can initiate.', + caption: + '[[websockets|WebSocket]] {{api|API}} is dead simple โ€” {{mqtt-connect|connect}}, send, receive. Both sides can initiate.', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/wireguard.ts b/src/lib/data/protocols/wireguard.ts index a14c4d5..6fc1c7e 100644 --- a/src/lib/data/protocols/wireguard.ts +++ b/src/lib/data/protocols/wireguard.ts @@ -90,7 +90,8 @@ sudo wg show # latest handshake: 23 seconds ago # transfer: 142.3 KiB received, 89.7 KiB sent # persistent keepalive: every 25 seconds`, - caption: 'A complete [[wireguard|WireGuard]] tunnel in 12 lines of config. Same on {{linux|Linux}}, {{bsd|BSD}}, macOS, {{android|Android}}, Windows. The simplicity is the feature.', + caption: + 'A complete [[wireguard|WireGuard]] tunnel in 12 lines of config. Same on {{linux|Linux}}, {{bsd|BSD}}, macOS, {{android|Android}}, Windows. The simplicity is the feature.', alternatives: [ { language: 'python', @@ -311,15 +312,15 @@ Around 4% data inflation for typical 1400-byte inner packets.` funFacts: [ { title: 'The "4,000 lines of code" number is in the whitepaper itself', - text: "From the [[pioneer:jason-donenfeld|Donenfeld]] {{ndss-conf|NDSS}} 2017 paper: *\"WireGuard can be simply implemented for {{linux|Linux}} in less than 4,000 lines of code, making it easily audited and verified.\"* For comparison, OpenVPN's core (not counting OpenSSL) is north of 100,000 lines, and the equivalent {{linux|Linux}} [[ipsec|IPsec]] stack ({{xfrm|XFRM}} + strongSwan + libraries) is in the six digits. The order-of-magnitude has not changed in the 9 years since." + text: 'From the [[pioneer:jason-donenfeld|Donenfeld]] {{ndss-conf|NDSS}} 2017 paper: *"WireGuard can be simply implemented for {{linux|Linux}} in less than 4,000 lines of code, making it easily audited and verified."* For comparison, OpenVPN\'s core (not counting OpenSSL) is north of 100,000 lines, and the equivalent {{linux|Linux}} [[ipsec|IPsec]] stack ({{xfrm|XFRM}} + strongSwan + libraries) is in the six digits. The order-of-magnitude has not changed in the 9 years since.' }, { title: 'Linus said it was "a work of art"', - text: 'On 2 August 2018, in a postscript to a {{linux|Linux}} 4.18 networking pull-request, Linus Torvalds wrote: *"I see that Jason actually made the pull request to have wireguard included in the kernel. Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn\'t perfect, but I\'ve skimmed it, and compared to the horrors that are OpenVPN and [[ipsec|IPsec]], it\'s a work of art."* It took another 19 months for the merge to land ({{linux|Linux}} 5.6, March 2020) but the endorsement set the trajectory.' + text: "On 2 August 2018, in a postscript to a {{linux|Linux}} 4.18 networking pull-request, Linus Torvalds wrote: *\"I see that Jason actually made the pull request to have wireguard included in the kernel. Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn't perfect, but I've skimmed it, and compared to the horrors that are OpenVPN and [[ipsec|IPsec]], it's a work of art.\"* It took another 19 months for the merge to land ({{linux|Linux}} 5.6, March 2020) but the endorsement set the trajectory." }, { title: 'No IETF RFC โ€” by design', - text: '[[pioneer:jason-donenfeld|Donenfeld]] on the *Security Cryptography Whatever* podcast (Dec 2021): *"I have a very low opinion of internet standards, cryptography and internet standardsโ€ฆ WireGuard is one of the first times in my career I\'ve seen something get this much adoption without having to get through the filter of the {{ietf|IETF}}. I worry that publishing an {{rfc-doc|RFC}} might send the wrong message where โ€” oh, it sends the right bits on the wire, it\'s done โ€” that\'s not good enough."* {{rfc-doc|RFC}} 8922 (2020) mentions WireGuard for the Transport Services document but is not normative.' + text: "[[pioneer:jason-donenfeld|Donenfeld]] on the *Security Cryptography Whatever* podcast (Dec 2021): *\"I have a very low opinion of internet standards, cryptography and internet standardsโ€ฆ WireGuard is one of the first times in my career I've seen something get this much adoption without having to get through the filter of the {{ietf|IETF}}. I worry that publishing an {{rfc-doc|RFC}} might send the wrong message where โ€” oh, it sends the right bits on the wire, it's done โ€” that's not good enough.\"* {{rfc-doc|RFC}} 8922 (2020) mentions WireGuard for the Transport Services document but is not normative." }, { title: 'The logo is a snake from Delphi', @@ -332,7 +333,7 @@ Around 4% data inflation for typical 1400-byte inner packets.` { title: 'AllowedIPs is your routing table AND your ACL', text: 'A single `AllowedIPs` field on each {{peer|peer}} does two jobs: outbound it picks which {{peer|peer}} to send packets through for a given destination prefix, and inbound it filters which inner source IPs the {{peer|peer}} is allowed to send. Forgetting this is the most common config bug. **Cure:** when a {{peer|peer}} is supposed to be a "remote {{subnet|subnet}}", put the {{subnet|subnet}} in `AllowedIPs`. When a {{peer|peer}} is supposed to be a "single roadwarrior", put just its `/32`. When a {{peer|peer}} is "default route everything", use `0.0.0.0/0, ::/0` โ€” and add `PostUp` rules for masquerading.' - }, + }, { title: 'No dynamic IPs out of the box', text: 'Vanilla WireGuard refuses to do [[dns|DNS]] lookups on `Endpoint =` (the kernel module is keep-it-simple, no [[dns|DNS]]). The plumbing for "the {{peer|peer}}\'s endpoint changed because their {{isp|ISP}} rebooted them" is **not in the kernel**. `wg-quick(8)` resolves hostnames at interface-up time only. **Cure:** for road-warriors, the {{peer|peer}} connects *out* to a fixed endpoint and uses `PersistentKeepalive` to hold the {{nat|NAT}} binding. For dynamic-{{ip-address|IP}} servers, run `reresolve-dns.timer` (Donenfeld\'s own systemd timer) to re-resolve `Endpoint =` periodically.' diff --git a/src/lib/data/protocols/xmpp.ts b/src/lib/data/protocols/xmpp.ts index d50ec5c..a9ea1d1 100644 --- a/src/lib/data/protocols/xmpp.ts +++ b/src/lib/data/protocols/xmpp.ts @@ -72,7 +72,8 @@ class ChatBot(slixmpp.ClientXMPP): bot = ChatBot("alice@example.com", "secret") bot.connect() bot.process()`, - caption: '[[xmpp|XMPP]] client โ€” {{mqtt-connect|connect}}, announce presence, and send messages as {{xml|XML}} stanzas', + caption: + '[[xmpp|XMPP]] client โ€” {{mqtt-connect|connect}}, announce presence, and send messages as {{xml|XML}} stanzas', alternatives: [ { language: 'javascript', diff --git a/src/lib/data/protocols/zigbee.ts b/src/lib/data/protocols/zigbee.ts index b793526..b8a80e5 100644 --- a/src/lib/data/protocols/zigbee.ts +++ b/src/lib/data/protocols/zigbee.ts @@ -19,7 +19,7 @@ The current spec is **Zigbee PRO 2023 (R23)**, document 05-3474-23, ratified 15 { title: 'IEEE 802.15.4 PHY โ€” 2.4 GHz O-QPSK at 250 kbit/s + sub-GHz', description: - "All Zigbee variants ride {{ieee-802-15-4|IEEE 802.15.4-2020}}. The dominant {{phy|PHY}} is **2.4 GHz O-QPSK** with 16 channels (11โ€“26), 5 MHz spacing, 250 kbit/s data rate. Sub-GHz PHYs at 868 MHz (Europe, 20 kbit/s {{bpsk|BPSK}}) and 902โ€“928 MHz (NA, 40 kbit/s {{bpsk|BPSK}}) give better wall penetration and less [[wifi|Wi-Fi]] co-channel interference at lower bit rates; R23 adds FSK PHYs in those same bands. {{frame|Frames}} are bounded at **127 octets PSDU** with a **16-bit {{checksum|FCS}}**. The {{mac-address|MAC}} uses unslotted CSMA-CA in most deployments (FFDs as routers, RFDs as end-devices), with optional beacon-mode for low-power sensor networks." + 'All Zigbee variants ride {{ieee-802-15-4|IEEE 802.15.4-2020}}. The dominant {{phy|PHY}} is **2.4 GHz O-QPSK** with 16 channels (11โ€“26), 5 MHz spacing, 250 kbit/s data rate. Sub-GHz PHYs at 868 MHz (Europe, 20 kbit/s {{bpsk|BPSK}}) and 902โ€“928 MHz (NA, 40 kbit/s {{bpsk|BPSK}}) give better wall penetration and less [[wifi|Wi-Fi]] co-channel interference at lower bit rates; R23 adds FSK PHYs in those same bands. {{frame|Frames}} are bounded at **127 octets PSDU** with a **16-bit {{checksum|FCS}}**. The {{mac-address|MAC}} uses unslotted CSMA-CA in most deployments (FFDs as routers, RFDs as end-devices), with optional beacon-mode for low-power sensor networks.' }, { title: 'NWK layer โ€” mesh routing with AODV', @@ -29,7 +29,7 @@ The current spec is **Zigbee PRO 2023 (R23)**, document 05-3474-23, ratified 15 { title: 'APS layer โ€” Application Support Sublayer with endpoints and clusters', description: - "The {{aps-layer|APS}} layer {{multiplexing|multiplexes}} application traffic onto **endpoints** (1โ€“240, like sub-addresses on a device โ€” endpoint 11 might be a bulb, endpoint 1 a switch). Frames carry a **ProfileID** (Home Automation = 0x0104, Smart Energy = 0x0109), a **ClusterID** (OnOff = 0x0006, Level Control = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an **APSCounter** for {{replay-attack|replay protection}}. {{aps-layer|APS}}-level {{aes-128|AES-128}}-{{ccm-mode|CCM}}* {{encryption|encryption}} is layered on top of {{zigbee-nwk|NWK}} {{encryption|encryption}} when sensitive (e.g. {{trust-center|Trust Center}} Transport Key commands). The {{aps-layer|APS}} layer also handles binding tables โ€” persistent destination-routing for groupcast lights and similar." + 'The {{aps-layer|APS}} layer {{multiplexing|multiplexes}} application traffic onto **endpoints** (1โ€“240, like sub-addresses on a device โ€” endpoint 11 might be a bulb, endpoint 1 a switch). Frames carry a **ProfileID** (Home Automation = 0x0104, Smart Energy = 0x0109), a **ClusterID** (OnOff = 0x0006, Level Control = 0x0008, Color Control = 0x0300, OTA Upgrade = 0x0019), and an **APSCounter** for {{replay-attack|replay protection}}. {{aps-layer|APS}}-level {{aes-128|AES-128}}-{{ccm-mode|CCM}}* {{encryption|encryption}} is layered on top of {{zigbee-nwk|NWK}} {{encryption|encryption}} when sensitive (e.g. {{trust-center|Trust Center}} Transport Key commands). The {{aps-layer|APS}} layer also handles binding tables โ€” persistent destination-routing for groupcast lights and similar.' }, { title: 'ZCL โ€” the Zigbee Cluster Library data model', @@ -245,7 +245,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm }, image: { src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Zigbee_logo.svg/330px-Zigbee_logo.svg.png', - alt: 'The Zigbee logo โ€” a stylised honey-bee evoking the waggle dance, the Alliance\'s metaphor for mesh routing.', + alt: "The Zigbee logo โ€” a stylised honey-bee evoking the waggle dance, the Alliance's metaphor for mesh routing.", caption: 'The Zigbee name comes from the **honey-bee waggle dance** โ€” the figure-eight a foraging bee performs to communicate the direction and distance of food. The Alliance picked the metaphor for the mesh: thousands of small, low-power messengers cooperatively routing information to where it is needed.', credit: 'Image: Wikimedia Commons / Connectivity Standards Alliance trademark' @@ -256,7 +256,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm date: '2023-03', title: 'Zigbee PRO 2023 (R23) ratified', description: - "Document 05-3474-23, ratified **15 March 2023** by the {{sig-bluetooth-acronym|CSA}}. Headline additions: **{{dynamic-link-key|Dynamic Link Key}}** negotiation using SPEKE over {{curve25519|Curve25519}} with {{aes|AES}}-MMO-128 (kills the *ZigBeeAlliance09* default-key sniff-at-join attack), **{{trust-center|Trust Center}} Swap-Out** (a failed Coordinator can be replaced without re-joining every device), **Device Interview** (TC policy gate before granting full access), **Works With All Hubs** phase 1, sub-GHz support for Europe (863โ€“870 MHz) and North America (902โ€“928 MHz), and absorbs **Zigbee Direct**. Silicon Labs, Texas Instruments, and ubisys are the named *golden units*. Backward-compatible with Zigbee 3.0 certification.", + 'Document 05-3474-23, ratified **15 March 2023** by the {{sig-bluetooth-acronym|CSA}}. Headline additions: **{{dynamic-link-key|Dynamic Link Key}}** negotiation using SPEKE over {{curve25519|Curve25519}} with {{aes|AES}}-MMO-128 (kills the *ZigBeeAlliance09* default-key sniff-at-join attack), **{{trust-center|Trust Center}} Swap-Out** (a failed Coordinator can be replaced without re-joining every device), **Device Interview** (TC policy gate before granting full access), **Works With All Hubs** phase 1, sub-GHz support for Europe (863โ€“870 MHz) and North America (902โ€“928 MHz), and absorbs **Zigbee Direct**. Silicon Labs, Texas Instruments, and ubisys are the named *golden units*. Backward-compatible with Zigbee 3.0 certification.', source: { url: 'https://csa-iot.org/newsroom/zigbee-pro-2023-released/', label: 'CSA: Zigbee PRO 2023 release announcement' @@ -266,7 +266,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm date: '2023-09', title: 'Philips Hue Bridge ships Matter firmware โ€” 30M+ bulbs become Matter accessories', description: - "Public rollout **19/20 September 2023** of {{matter|Matter}} firmware for the second-generation square Hue Bridge after a Q1 2023 target slipped. The {{bgp-update|update}} exposes existing Hue Zigbee bulbs to {{apple|Apple}} Home, {{google|Google}} Home, Amazon Alexa, and SmartThings over {{ip-address|IP}}, while preserving the Zigbee mesh underneath. This single {{bgp-update|update}} made the Hue Bridge by far the largest {{matter|Matter}} Bridge installation in the world. Signify has continued to ship Bridge and Bridge Pro firmware updates through 2024โ€“26.", + 'Public rollout **19/20 September 2023** of {{matter|Matter}} firmware for the second-generation square Hue Bridge after a Q1 2023 target slipped. The {{bgp-update|update}} exposes existing Hue Zigbee bulbs to {{apple|Apple}} Home, {{google|Google}} Home, Amazon Alexa, and SmartThings over {{ip-address|IP}}, while preserving the Zigbee mesh underneath. This single {{bgp-update|update}} made the Hue Bridge by far the largest {{matter|Matter}} Bridge installation in the world. Signify has continued to ship Bridge and Bridge Pro firmware updates through 2024โ€“26.', source: { url: 'https://www.hueblog.com/2023/09/19/the-day-has-come-philips-hue-bridge-now-supports-matter/', label: 'Hueblog: Hue Bridge Matter release' @@ -276,7 +276,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm date: '2024-05', title: 'Aqara Hub M3 ships globally โ€” Zigbee + Thread + Matter in one box', description: - "Announced at {{ces-show|CES}} on **8 January 2024**; shipped **8 May 2024**. Triple-protocol โ€” **Zigbee 3.0 + {{thread|Thread}} {{border-router|border router}} + {{matter|Matter}} controller + {{matter|Matter}} Bridge** โ€” with dual-band [[wifi|Wi-Fi]], Power-over-Ethernet, {{usb|USB}}-C, IR blaster, **8 GB encrypted local storage**, and *no microphone or camera* (deliberate privacy stance). Up to 127 Zigbee + 127 {{thread|Thread}} devices. Aqara published a multi-hub-{{failover|failover}} architecture (up to 10 M3s mirroring automations) in mid-2024 โ€” the canonical 2024โ€“25 form factor for a privacy-forward smart-home bridge.", + 'Announced at {{ces-show|CES}} on **8 January 2024**; shipped **8 May 2024**. Triple-protocol โ€” **Zigbee 3.0 + {{thread|Thread}} {{border-router|border router}} + {{matter|Matter}} controller + {{matter|Matter}} Bridge** โ€” with dual-band [[wifi|Wi-Fi]], Power-over-Ethernet, {{usb|USB}}-C, IR blaster, **8 GB encrypted local storage**, and *no microphone or camera* (deliberate privacy stance). Up to 127 Zigbee + 127 {{thread|Thread}} devices. Aqara published a multi-hub-{{failover|failover}} architecture (up to 10 M3s mirroring automations) in mid-2024 โ€” the canonical 2024โ€“25 form factor for a privacy-forward smart-home bridge.', source: { url: 'https://www.aqara.com/en/news/aqara-hub-m3-globally', label: 'Aqara: Hub M3 global launch' @@ -296,7 +296,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm date: '2025-08', title: 'Matter 1.4.2 โ€” Wi-Fi-only commissioning (BLE optional)', description: - "Released **11 August 2025**. {{matter|Matter}} 1.4.2 adds **Wi-Fi-only commissioning** โ€” devices can be set up without a Bluetooth Low Energy radio, reducing BOM cost for cheaper {{matter|Matter}}-bridged accessories. Also adds **Quieter Reporting** (battery-saving data-model change) and admin verification. For the Zigbee story, this means a {{matter|Matter}} Bridge for Zigbee no longer needs {{ble|BLE}} silicon โ€” accelerating low-cost bridges from secondary brands.", + 'Released **11 August 2025**. {{matter|Matter}} 1.4.2 adds **Wi-Fi-only commissioning** โ€” devices can be set up without a Bluetooth Low Energy radio, reducing BOM cost for cheaper {{matter|Matter}}-bridged accessories. Also adds **Quieter Reporting** (battery-saving data-model change) and admin verification. For the Zigbee story, this means a {{matter|Matter}} Bridge for Zigbee no longer needs {{ble|BLE}} silicon โ€” accelerating low-cost bridges from secondary brands.', source: { url: 'https://csa-iot.org/newsroom/matter-1-4-2-released/', label: 'CSA: Matter 1.4.2 release' @@ -306,7 +306,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm date: '2025-11', title: 'Matter 1.5 โ€” camera streaming closes the last Zigbee gap', description: - "Released **20 November 2025**. {{matter|Matter}} 1.5 adds **camera streaming** via an RTSP side-channel โ€” the long-awaited piece for {{matter|Matter}} to fully displace Zigbee in new home-security deployments. For Zigbee, this is the moment new device categories (cameras, video doorbells) no longer have a reason to go through a Zigbee bridge โ€” they can go directly on [[wifi|Wi-Fi]] or {{thread|Thread}} with {{matter|Matter}} from day one.", + 'Released **20 November 2025**. {{matter|Matter}} 1.5 adds **camera streaming** via an RTSP side-channel โ€” the long-awaited piece for {{matter|Matter}} to fully displace Zigbee in new home-security deployments. For Zigbee, this is the moment new device categories (cameras, video doorbells) no longer have a reason to go through a Zigbee bridge โ€” they can go directly on [[wifi|Wi-Fi]] or {{thread|Thread}} with {{matter|Matter}} from day one.', source: { url: 'https://matteralpha.com/matter-timeline', label: 'MatterAlpha: Matter timeline' @@ -319,7 +319,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm org: 'Signify (Philips Hue)', scale: '~30M+ bulbs lifetime; largest Matter Bridge installation in the world', description: - "Launched **30 October 2012** exclusively at {{apple|Apple}} Stores for $199/starter kit. The Philips press release mentioned *ZigBee LightLink* exactly once, in the technical body; the in-store materials and iOS app deliberately avoided the term. The Hue inventor George Yianni built the first prototype as a {{ui|UI}} experiment on an iPhone. Hue migrated to Zigbee 3.0 via a Q1 2018 Bridge firmware {{bgp-update|update}}; the second-generation square Bridge gained {{matter|Matter}} support on 19 September 2023, turning the entire installed base into {{matter|Matter}} accessories overnight. The Hue Bridge is the canonical answer to *how does my smart-home ecosystem talk to Zigbee?*" + 'Launched **30 October 2012** exclusively at {{apple|Apple}} Stores for $199/starter kit. The Philips press release mentioned *ZigBee LightLink* exactly once, in the technical body; the in-store materials and iOS app deliberately avoided the term. The Hue inventor George Yianni built the first prototype as a {{ui|UI}} experiment on an iPhone. Hue migrated to Zigbee 3.0 via a Q1 2018 Bridge firmware {{bgp-update|update}}; the second-generation square Bridge gained {{matter|Matter}} support on 19 September 2023, turning the entire installed base into {{matter|Matter}} accessories overnight. The Hue Bridge is the canonical answer to *how does my smart-home ecosystem talk to Zigbee?*' }, { org: 'IKEA Trรฅdfri', @@ -331,19 +331,19 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm org: 'Aqara / Lumi United (Hub M3)', scale: '127 Zigbee + 127 Thread devices per hub; 100+ device models; multi-hub failover', description: - "Shenzhen-based, originally an {{apple|Apple}} HomeKit ecosystem partner. The **Aqara Hub M3** (announced {{ces-show|CES}} 8 January 2024, shipping 8 May 2024) is the textbook modern multi-protocol bridge: Zigbee 3.0 + {{thread|Thread}} {{border-router|border router}} + {{matter|Matter}} controller and bridge, dual-band [[wifi|Wi-Fi]] (2.4/5 GHz, {{wpa3|WPA3}}), PoE, {{usb|USB}}-C, 8 GB encrypted local storage, **no microphone or camera**. The M3 supersedes older Aqara hubs and runs automations locally โ€” an Edge-Hub model that does not depend on the Aqara cloud." + 'Shenzhen-based, originally an {{apple|Apple}} HomeKit ecosystem partner. The **Aqara Hub M3** (announced {{ces-show|CES}} 8 January 2024, shipping 8 May 2024) is the textbook modern multi-protocol bridge: Zigbee 3.0 + {{thread|Thread}} {{border-router|border router}} + {{matter|Matter}} controller and bridge, dual-band [[wifi|Wi-Fi]] (2.4/5 GHz, {{wpa3|WPA3}}), PoE, {{usb|USB}}-C, 8 GB encrypted local storage, **no microphone or camera**. The M3 supersedes older Aqara hubs and runs automations locally โ€” an Edge-Hub model that does not depend on the Aqara cloud.' }, { org: 'Samsung SmartThings', scale: 'Tens of millions of hubs across Hub v1โ€“v3 and Station', description: - "SmartThings shipped the original Hub in 2013; Samsung acquired the company in August 2014. Carries Zigbee + Z-Wave from day one; later generations added {{thread|Thread}} and {{matter|Matter}}. SmartThings is the most common single {{zigbee-coordinator|Zigbee Coordinator}} outside of Hue. Samsung sits on the {{sig-bluetooth-acronym|CSA}} board." + 'SmartThings shipped the original Hub in 2013; Samsung acquired the company in August 2014. Carries Zigbee + Z-Wave from day one; later generations added {{thread|Thread}} and {{matter|Matter}}. SmartThings is the most common single {{zigbee-coordinator|Zigbee Coordinator}} outside of Hue. Samsung sits on the {{sig-bluetooth-acronym|CSA}} board.' }, { org: 'Amazon Echo Plus / Echo 4th gen / Echo Hub', scale: 'Tens of millions of units 2017+', description: - "Amazon shipped a built-in {{zigbee-coordinator|Zigbee Coordinator}} inside the Echo Plus in 2017 โ€” the first time a mass-market smart speaker pretended to be a Zigbee hub. Echo (4th gen) and Echo Show 10 also carry a Zigbee radio; the Echo Hub (2024) is positioned as a smart-home control panel with Zigbee inside. Amazon Sidewalk overlaps mostly at sub-GHz (900 MHz) rather than competing with Zigbee directly." + 'Amazon shipped a built-in {{zigbee-coordinator|Zigbee Coordinator}} inside the Echo Plus in 2017 โ€” the first time a mass-market smart speaker pretended to be a Zigbee hub. Echo (4th gen) and Echo Show 10 also carry a Zigbee radio; the Echo Hub (2024) is positioned as a smart-home control panel with Zigbee inside. Amazon Sidewalk overlaps mostly at sub-GHz (900 MHz) rather than competing with Zigbee directly.' }, { org: 'Acuity Brands nLight AIR + Atrius', @@ -355,14 +355,14 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm org: 'VusionGroup electronic shelf labels', scale: '350M ESLs shipped in 2023 alone; Walmart US 4,600-store rollout from 2024', description: - "The under-reported Zigbee deployment that dwarfs every consumer brand by unit volume. VusionGroup (formerly SES-imagotag) runs a Zigbee-family radio in its EdgeSense / VusionCloud platform. The 23 December 2024 Walmart contract extension after a successful 500-store pilot will roll out across **all 4,600 US Walmart stores**. Carrefour, Lidl, Edeka, Tesco, and the UK Co-operative are parallel customers โ€” cumulative Zigbee-family ESL deployments are well into the billion-device lifetime range." + 'The under-reported Zigbee deployment that dwarfs every consumer brand by unit volume. VusionGroup (formerly SES-imagotag) runs a Zigbee-family radio in its EdgeSense / VusionCloud platform. The 23 December 2024 Walmart contract extension after a successful 500-store pilot will roll out across **all 4,600 US Walmart stores**. Carrefour, Lidl, Edeka, Tesco, and the UK Co-operative are parallel customers โ€” cumulative Zigbee-family ESL deployments are well into the billion-device lifetime range.' } ], funFacts: [ { title: 'The name comes from the honey-bee waggle dance', - text: "Foraging bees returning to the hive perform a figure-eight dance whose orientation and duration communicate the direction and distance of food โ€” an organic mesh routing protocol, in effect. The Alliance picked the name and the bee logo for exactly this metaphor: thousands of small, low-power messengers cooperatively routing information to where it is needed." + text: 'Foraging bees returning to the hive perform a figure-eight dance whose orientation and duration communicate the direction and distance of food โ€” an organic mesh routing protocol, in effect. The Alliance picked the name and the bee logo for exactly this metaphor: thousands of small, low-power messengers cooperatively routing information to where it is needed.' }, { title: 'Philips Hue\'s 2012 Apple Store launch never said "Zigbee" out loud', @@ -374,15 +374,15 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm }, { title: 'zigbee2mqtt supports 5,390 devices from 568 vendors', - text: "A single GPL-licensed Node.js project โ€” maintained primarily by Koen Kanters โ€” keeps a more complete decoder database of Zigbee Cluster Library quirks than any single commercial hub vendor. zigbee2mqtt is the de-facto interoperability spec for the FOSS smart-home community. The most common {{zigbee-coordinator|Zigbee Coordinator}} in 2026 is a $20 Sonoff ZBDongle-E plugged into a Raspberry Pi running Home Assistant." + text: 'A single GPL-licensed Node.js project โ€” maintained primarily by Koen Kanters โ€” keeps a more complete decoder database of Zigbee Cluster Library quirks than any single commercial hub vendor. zigbee2mqtt is the de-facto interoperability spec for the FOSS smart-home community. The most common {{zigbee-coordinator|Zigbee Coordinator}} in 2026 is a $20 Sonoff ZBDongle-E plugged into a Raspberry Pi running Home Assistant.' }, { - title: 'Walmart\'s shelf labels will outnumber every Hue bulb ever sold', - text: "When the 4,600-store Walmart US expansion completes, the total number of Zigbee-family devices on Walmart shelves alone will be roughly an order of magnitude larger than the total installed base of Philips Hue bulbs ever sold. The next time someone asks *is Zigbee dead?*, the right answer is: it is invisible because it is behind every price tag in your supermarket." + title: "Walmart's shelf labels will outnumber every Hue bulb ever sold", + text: 'When the 4,600-store Walmart US expansion completes, the total number of Zigbee-family devices on Walmart shelves alone will be roughly an order of magnitude larger than the total installed base of Philips Hue bulbs ever sold. The next time someone asks *is Zigbee dead?*, the right answer is: it is invisible because it is behind every price tag in your supermarket.' }, { title: 'Bob Heile was a founding member of IEEE 802.11 *and* the Zigbee Alliance', - text: "Robert F. Heile (1945โ€“2020) chaired the Zigbee Alliance from its founding in 2002 through 2013, was a founding member of {{ieee-802-15-4|IEEE}} [[wifi|802.11]] (Wi-Fi) in 1990, chaired {{ieee-802-15-4|IEEE}} 802.15 for two decades, and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15.4-based protocol you can name โ€” Zigbee, {{thread|Thread}}, WirelessHART, Wi-SUN โ€” traces directly back through Bob. He died of prostate cancer on 24 September 2020; his {{ieee-802-15-4|IEEE}} 802.15 chair role was passed days before his death." + text: 'Robert F. Heile (1945โ€“2020) chaired the Zigbee Alliance from its founding in 2002 through 2013, was a founding member of {{ieee-802-15-4|IEEE}} [[wifi|802.11]] (Wi-Fi) in 1990, chaired {{ieee-802-15-4|IEEE}} 802.15 for two decades, and later directed standards at the Wi-SUN Alliance. Almost every low-power 802.15.4-based protocol you can name โ€” Zigbee, {{thread|Thread}}, WirelessHART, Wi-SUN โ€” traces directly back through Bob. He died of prostate cancer on 24 September 2020; his {{ieee-802-15-4|IEEE}} 802.15 chair role was passed days before his death.' } ], @@ -398,7 +398,7 @@ That entire on-the-wire dump fits in roughly 40 bytes โ€” a single Hue bulb comm }, { title: 'Router density and child-table limits', - text: "Mains-powered Zigbee devices act as routers and adopt sleepy end-devices as children. The child-table size on a typical CC2652 / EFR32 firmware is **32**; the Sonoff ZBDongle-E reliably hits trouble around 50 directly-associated devices because of memory. The fix is *more routers, not a beefier coordinator* โ€” every smart plug, ceiling switch, and powered bulb is a free router. Aim for at least one router per 8โ€“10 metres in every direction from the Coordinator, and one router per sleepy-end-device cluster (a bedroom full of battery sensors should have a mains-powered plug or bulb acting as their parent)." + text: 'Mains-powered Zigbee devices act as routers and adopt sleepy end-devices as children. The child-table size on a typical CC2652 / EFR32 firmware is **32**; the Sonoff ZBDongle-E reliably hits trouble around 50 directly-associated devices because of memory. The fix is *more routers, not a beefier coordinator* โ€” every smart plug, ceiling switch, and powered bulb is a free router. Aim for at least one router per 8โ€“10 metres in every direction from the Coordinator, and one router per sleepy-end-device cluster (a bedroom full of battery sensors should have a mains-powered plug or bulb acting as their parent).' }, { title: 'Install codes vs. default key โ€” pick a stance at deployment time', diff --git a/src/lib/data/rfcs.ts b/src/lib/data/rfcs.ts index f88e2cb..0f11a20 100644 --- a/src/lib/data/rfcs.ts +++ b/src/lib/data/rfcs.ts @@ -177,7 +177,10 @@ Edited by Wesley Eddy in August 2022, this RFC consolidated **41 years of errata { ref: 'ยง3.1', description: '[[tcp|TCP]] header format' }, { ref: 'ยง3.4', description: 'Sequence numbers' }, { ref: 'ยง3.5', description: '{{three-way-handshake|Three-way handshake}}' }, - { ref: 'ยง3.8', description: '{{sliding-window|Sliding window}} {{flow-control|flow control}}' } + { + ref: 'ยง3.8', + description: '{{sliding-window|Sliding window}} {{flow-control|flow control}}' + } ] }, { @@ -218,7 +221,10 @@ The math originated in [[pioneer:van-jacobson|Van Jacobson]] and Karels's 1988 S Originally published as RFC 1323 in 1992 by [[pioneer:van-jacobson|Van Jacobson]] et al.; refined and republished here. Both options are negotiated in the SYN โ€” they're either there from the start or never.`, notableSections: [ - { ref: '{{window-scale|Window Scale}}', description: 'Lets the 16-bit receive window represent up to 2ยณโฐ bytes' }, + { + ref: '{{window-scale|Window Scale}}', + description: 'Lets the 16-bit receive window represent up to 2ยณโฐ bytes' + }, { ref: 'Timestamps + PAWS', description: 'Protection Against Wrapped Sequence numbers' } ] }, @@ -383,7 +389,7 @@ Internally cleaner than 1.0โ€“1.2; externally indistinguishable on the wire from notableSections: [ { ref: 'ยง5', description: 'Record Protocol' }, { ref: 'ยง7.1', description: 'Key schedule (HKDF-Extract / HKDF-Expand-Label)' }, - { ref: 'ยงD.4', description: "Middlebox-compatibility hacks (\"looks like [[tls|TLS]] 1.2\")" } + { ref: 'ยงD.4', description: 'Middlebox-compatibility hacks ("looks like [[tls|TLS]] 1.2")' } ] }, { @@ -885,7 +891,8 @@ Co-authored by Paul Hoffman and Patrick McManus (then Mozilla). DoH is now ubiqu }, { number: '9460', - title: 'Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)', + title: + 'Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)', year: 2023, authors: 'B. Schwartz, M. Bishop, E. Nygren', status: 'proposed-standard', @@ -961,7 +968,8 @@ If your mail client is configured to send via your provider, it's almost certain }, { number: '8314', - title: 'Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access', + title: + 'Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access', year: 2018, authors: 'K. Moore, C. Newman', status: 'proposed-standard', @@ -1528,9 +1536,7 @@ Edited across decades by [[pioneer:charlie-kaufman|Charlie Kaufman]] (Microsoft) abstract: `The first deployable **post-quantum** extension to [[ipsec|IPsec]]. Adds a **Post-quantum Preshared Key (PPK)** to the IKEv2 key derivation so that even if classical Diffie-Hellman is broken later by a quantum adversary, recorded traffic remains unrecoverable (the "harvest-now-decrypt-later" defence). Compatible with the IKEv2 state machine; only the KDF inputs change. Co-authored by Cisco (Scott Fluhrer, David McGrew), AWS (Panos Kampanakis), and ELVIS-PLUS (Valery Smyslov) โ€” illustrating that [[ipsec|IPsec]] is always a multi-vendor, multi-government project. Superseded for new deployments by [[rfc:9242|RFC 9242]] + [[rfc:9370|RFC 9370]] + the draft-ietf-ipsecme-ikev2-mlkem draft, but still the only PQ option for legacy stacks that can't be upgraded.`, - notableSections: [ - { ref: 'ยง3', description: 'PPK_IDENTITY notify and KDF mixing' } - ] + notableSections: [{ ref: 'ยง3', description: 'PPK_IDENTITY notify and KDF mixing' }] }, { number: '9242', @@ -1541,9 +1547,7 @@ Compatible with the IKEv2 state machine; only the KDF inputs change. Co-authored url: 'https://www.rfc-editor.org/rfc/rfc9242', protocols: ['ipsec'], abstract: `Adds a new **IKE_INTERMEDIATE** exchange between IKE_SA_INIT and IKE_AUTH so that large post-quantum public keys (ML-KEM-768 is 1,184 bytes; ML-KEM-1024 is 1,568 bytes) can be transferred *after* the IKE SA is protected but *before* the identity is revealed. Without this, the IKE_SA_INIT message would exceed common UDP MTU limits and force fragmentation that NATs and firewalls regularly mangle.`, - notableSections: [ - { ref: 'ยง3', description: 'IKE_INTERMEDIATE message format and rules' } - ] + notableSections: [{ ref: 'ยง3', description: 'IKE_INTERMEDIATE message format and rules' }] }, { number: '9370', @@ -1592,7 +1596,10 @@ Compatible with the IKEv2 state machine; only the KDF inputs change. Co-authored Independent of the transport. Works equally well over multicast DNS on the link or over unicast DNS for wide-area discovery (the latter now formalised by SRP, RFC 9665, 2025). The wire-protocol substrate for every AirPlay receiver, AirPrint printer, Chromecast, Sonos speaker, and Matter device on the planet.`, notableSections: [ - { ref: 'ยง4', description: 'Service Instance Names (the `Instance._service._proto.domain` pattern)' }, + { + ref: 'ยง4', + description: 'Service Instance Names (the `Instance._service._proto.domain` pattern)' + }, { ref: 'ยง7', description: 'Service Names registered with IANA' }, { ref: 'ยง6', description: 'Data syntax for DNS-SD TXT records' } ] @@ -1628,7 +1635,7 @@ The protocol foundation for Discord's **DAVE** end-to-end-encrypted voice (deplo // โ”€โ”€ Congestion control โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ { number: '6582', - title: 'The NewReno Modification to TCP\'s Fast Recovery Algorithm', + title: "The NewReno Modification to TCP's Fast Recovery Algorithm", year: 2012, authors: 'T. Henderson, S. Floyd, A. Gurtov, Y. Nishida', status: 'proposed-standard', diff --git a/src/lib/data/subcategories.ts b/src/lib/data/subcategories.ts index 4c7d374..be20ed8 100644 --- a/src/lib/data/subcategories.ts +++ b/src/lib/data/subcategories.ts @@ -16,8 +16,7 @@ export const subcategories: Subcategory[] = [ name: 'Internet Layer', categoryId: 'network-foundations', protocolIds: ['ip', 'ipv6', 'icmp'], - description: - 'Best-effort packet delivery across networks โ€” the narrow waist of the hourglass.', + description: 'Best-effort packet delivery across networks โ€” the narrow waist of the hourglass.', icon: 'internet-layer' }, { @@ -54,8 +53,7 @@ export const subcategories: Subcategory[] = [ name: 'Datagram Transport', categoryId: 'transport', protocolIds: ['udp', 'quic'], - description: - 'When you go raw โ€” or build something better in user space โ€” on top of datagrams.', + description: 'When you go raw โ€” or build something better in user space โ€” on top of datagrams.', icon: 'datagram-transport' }, @@ -83,8 +81,7 @@ export const subcategories: Subcategory[] = [ name: 'RPC Styles', categoryId: 'web-api', protocolIds: ['soap', 'json-rpc', 'grpc'], - description: - 'Calling a remote function like a local one โ€” the RPC dream and its iterations.', + description: 'Calling a remote function like a local one โ€” the RPC dream and its iterations.', icon: 'rpc-styles' }, { @@ -92,8 +89,7 @@ export const subcategories: Subcategory[] = [ name: 'Realtime Web', categoryId: 'web-api', protocolIds: ['sse', 'websockets'], - description: - 'Breaking out of request/response โ€” server push and full-duplex on the web.', + description: 'Breaking out of request/response โ€” server push and full-duplex on the web.', icon: 'realtime-web' }, { diff --git a/src/lib/data/subcategory-stories/agent-protocols.ts b/src/lib/data/subcategory-stories/agent-protocols.ts index f43e218..f3cb1df 100644 --- a/src/lib/data/subcategory-stories/agent-protocols.ts +++ b/src/lib/data/subcategory-stories/agent-protocols.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const agentProtocolsStory: SubcategoryStory = { subcategoryId: 'agent-protocols', tagline: - "Protocols emerging in real time for AI agents โ€” designed in public, in months instead of years", + 'Protocols emerging in real time for AI agents โ€” designed in public, in months instead of years', sections: [ { type: 'narrative', @@ -20,7 +20,7 @@ export const agentProtocolsStory: SubcategoryStory = { title: 'MCP Lead Designer', org: 'Anthropic', contribution: - "Led the [[mcp|MCP]] design and initial implementation at Anthropic, drawing on the Language Server Protocol (LSP) as a structural model โ€” LSP standardized editor-to-language-server communication a decade ago, and MCP applies the same client-server-via-[[json-rpc|JSON-RPC]] pattern to AI tools. The November 2024 launch shipped reference servers (filesystem, GitHub, Slack, Postgres) alongside the spec, which mattered: people could *use* MCP the day it was announced." + 'Led the [[mcp|MCP]] design and initial implementation at Anthropic, drawing on the Language Server Protocol (LSP) as a structural model โ€” LSP standardized editor-to-language-server communication a decade ago, and MCP applies the same client-server-via-[[json-rpc|JSON-RPC]] pattern to AI tools. The November 2024 launch shipped reference servers (filesystem, GitHub, Slack, Postgres) alongside the spec, which mattered: people could *use* MCP the day it was announced.' }, { name: 'Justin Hill', @@ -65,7 +65,7 @@ export const agentProtocolsStory: SubcategoryStory = { year: 2025, title: 'MCP Adoption Explodes (Q1)', description: - "Within months, MCP servers exist for GitHub, Slack, Linear, Notion, Postgres, Sentry, Figma, Stripe, Datadog, and ~hundreds more. Claude Desktop and Cursor ship MCP support. The protocol is shipping in production before the spec hits 1.0." + 'Within months, MCP servers exist for GitHub, Slack, Linear, Notion, Postgres, Sentry, Figma, Stripe, Datadog, and ~hundreds more. Claude Desktop and Cursor ship MCP support. The protocol is shipping in production before the spec hits 1.0.' }, { year: 2025, @@ -77,19 +77,19 @@ export const agentProtocolsStory: SubcategoryStory = { year: 2025, title: 'OpenAI Adopts MCP (March)', description: - 'OpenAI announces MCP support in the Agents SDK and ChatGPT desktop. Even Anthropic\'s competitor ships the Anthropic-designed protocol โ€” a sign of how strong the network effect already is.' + "OpenAI announces MCP support in the Agents SDK and ChatGPT desktop. Even Anthropic's competitor ships the Anthropic-designed protocol โ€” a sign of how strong the network effect already is." }, { year: 2025, title: 'MCP Spec Becomes 2025-06-18 / SEP Process', description: - "The protocol moves from rapid-iteration to a Specification Enhancement Proposal (SEP) process โ€” explicit versioning, formal change control, multi-vendor governance discussions. Growing-up begins." + 'The protocol moves from rapid-iteration to a Specification Enhancement Proposal (SEP) process โ€” explicit versioning, formal change control, multi-vendor governance discussions. Growing-up begins.' }, { year: 2025, title: 'A2A v0.2 (June)', description: - "A2A 0.2 adds richer streaming via [[sse|SSE]], improved task state model (submitted โ†’ working โ†’ completed/canceled/failed), and standardized agent cards for capability discovery. The first iteration that companies are running across vendor boundaries in production." + 'A2A 0.2 adds richer streaming via [[sse|SSE]], improved task state model (submitted โ†’ working โ†’ completed/canceled/failed), and standardized agent cards for capability discovery. The first iteration that companies are running across vendor boundaries in production.' } ] }, @@ -105,7 +105,7 @@ export const agentProtocolsStory: SubcategoryStory = { '[[json-rpc|JSON-RPC]] over stdio or HTTP+SSE', 'Resources, tools, prompts', 'Static config or registry; each client lists servers', - "~1 year old (Nov 2024); ecosystem of hundreds of servers" + '~1 year old (Nov 2024); ecosystem of hundreds of servers' ] }, { @@ -115,7 +115,7 @@ export const agentProtocolsStory: SubcategoryStory = { 'HTTP + SSE for streaming, JSON-RPC for messages', 'Tasks, messages, agent cards', 'Agent cards advertise capabilities (similar to OpenAPI)', - "~6 months old (Apr 2025); rapid early adoption" + '~6 months old (Apr 2025); rapid early adoption' ] } ], @@ -153,11 +153,11 @@ export const agentProtocolsStory: SubcategoryStory = { 5: 'Server returns a **list of available tools** with their JSON Schema input definitions. The host now knows exactly what the model can ask for.', 6: 'Host passes the **user message + tool catalog** to the model in a single LLM call. The model sees the available tools as if they were its own functions.', 7: 'Model decides to call **list_files**. This is a structured "tool_use" output โ€” not free text โ€” including the argument values.', - 8: 'Host translates the model\'s decision into **tools/call** on the MCP server. The model itself never sees the server.', + 8: "Host translates the model's decision into **tools/call** on the MCP server. The model itself never sees the server.", 9: 'Server executes the tool (reads the filesystem) and returns the **result** as text or structured content.', 10: 'Host feeds the **tool_result** back to the model as if completing the function call.', 11: 'Model produces a **natural-language response** describing the result. ("Your Documents folder has report.pdf, notes.md, ...")', - 12: 'Host delivers the **assistant message** to the user. From the user\'s perspective, it was one conversation.' + 12: "Host delivers the **assistant message** to the user. From the user's perspective, it was one conversation." } }, { @@ -172,7 +172,7 @@ export const agentProtocolsStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **MCP authorization** โ€” the November 2024 spec was light on auth. The 2025-06 spec introduces standardized OAuth 2.1 flows for HTTP-transported MCP servers. Expect this to be a major focus through 2026.\n- **MCP for non-text resources** โ€” current MCP is text-centric. Audio, images, structured binary, and streaming media are early targets. The protocol's extensibility (resources can be any MIME type) is the right shape; tooling has to catch up.\n- **A2A registries** โ€” early A2A is mostly statically configured. A registry โ€” a "DNS for agents" โ€” is the obvious next step but raises hard governance questions about who runs it.\n- **Cross-protocol bridges** โ€” agents that speak A2A to other agents and MCP to their own tools. The composition is the point; the bridges are non-trivial.\n- **Standards-body uptake** โ€” both protocols are currently single-vendor. Anthropic and Google have both signaled openness to formal standards-body governance (W3C, IETF). Whether that happens, and when, will shape whether agent protocols become *the* interoperability layer or just *an* interoperability layer.\n\nThis is the first new protocol family in this app where the next chapter is genuinely unwritten. Check back in a year.` } ] diff --git a/src/lib/data/subcategory-stories/authentication.ts b/src/lib/data/subcategory-stories/authentication.ts index 7f3775d..912c178 100644 --- a/src/lib/data/subcategory-stories/authentication.ts +++ b/src/lib/data/subcategory-stories/authentication.ts @@ -2,8 +2,7 @@ import type { SubcategoryStory } from './types'; export const authenticationStory: SubcategoryStory = { subcategoryId: 'authentication', - tagline: - "Proving who you are โ€” tickets vs tokens, centralized realms vs federated delegation", + tagline: 'Proving who you are โ€” tickets vs tokens, centralized realms vs federated delegation', sections: [ { type: 'narrative', @@ -30,7 +29,7 @@ export const authenticationStory: SubcategoryStory = { title: 'MIT Kerberos Lead', org: 'MIT', contribution: - 'Long-time maintainer of the MIT Kerberos reference implementation โ€” the codebase that powers Active Directory, Hadoop, NFSv4 secure mode, and many enterprise SSO deployments. Hudson\'s sustained engineering on the protocol\'s reference implementation has kept Kerberos secure and interoperable for two decades after the original designers moved on.' + "Long-time maintainer of the MIT Kerberos reference implementation โ€” the codebase that powers Active Directory, Hadoop, NFSv4 secure mode, and many enterprise SSO deployments. Hudson's sustained engineering on the protocol's reference implementation has kept Kerberos secure and interoperable for two decades after the original designers moved on." }, { name: 'Eran Hammer', @@ -38,7 +37,7 @@ export const authenticationStory: SubcategoryStory = { title: 'OAuth 1.0 Editor / OAuth 2.0 Critic', org: 'Independent', contribution: - "Edited the OAuth 1.0 specification ([[rfc:5849|RFC 5849]], 2010) and was the lead author through OAuth 2.0 drafts. Famously resigned from the OAuth 2.0 spec in July 2012 with a blog post (\"OAuth 2.0 and the Road to Hell\") arguing that the new spec was a developer-experience disaster: too many extension points, too many ways to do the same thing, no required signing, no built-in interop. The post is still cited as both \"why OAuth 2 is hard\" and \"why simple specs win.\"" + 'Edited the OAuth 1.0 specification ([[rfc:5849|RFC 5849]], 2010) and was the lead author through OAuth 2.0 drafts. Famously resigned from the OAuth 2.0 spec in July 2012 with a blog post ("OAuth 2.0 and the Road to Hell") arguing that the new spec was a developer-experience disaster: too many extension points, too many ways to do the same thing, no required signing, no built-in interop. The post is still cited as both "why OAuth 2 is hard" and "why simple specs win."' }, { name: 'Dick Hardt', @@ -46,7 +45,7 @@ export const authenticationStory: SubcategoryStory = { title: 'OAuth 2.0 Editor', org: 'Sxip / Microsoft', contribution: - "Took over from Hammer and shepherded [[oauth2|OAuth 2.0]] to publication ([[rfc:6749|RFC 6749]], 2012). Defended the framework-not-protocol approach: OAuth 2.0 is intentionally a toolkit because the use cases (server-to-server, browser app, mobile app, IoT) genuinely need different flows. The PKCE extension ([[rfc:7636|RFC 7636]], 2015) and OAuth 2.1 (consolidating best practices) are both responses to the worst of the 2012-era flexibility." + 'Took over from Hammer and shepherded [[oauth2|OAuth 2.0]] to publication ([[rfc:6749|RFC 6749]], 2012). Defended the framework-not-protocol approach: OAuth 2.0 is intentionally a toolkit because the use cases (server-to-server, browser app, mobile app, IoT) genuinely need different flows. The PKCE extension ([[rfc:7636|RFC 7636]], 2015) and OAuth 2.1 (consolidating best practices) are both responses to the worst of the 2012-era flexibility.' } ] }, @@ -57,13 +56,13 @@ export const authenticationStory: SubcategoryStory = { year: 1978, title: 'Needham-Schroeder Protocol', description: - "The academic foundation for ticket-based authentication. Subsequently shown to have a replay attack (1981) that the Lowe fix (1995) addressed. Kerberos is a Needham-Schroeder descendant with timestamps to prevent the attack." + 'The academic foundation for ticket-based authentication. Subsequently shown to have a replay attack (1981) that the Lowe fix (1995) addressed. Kerberos is a Needham-Schroeder descendant with timestamps to prevent the attack.' }, { year: 1988, title: 'Kerberos V4 at MIT', description: - "[[kerberos|Kerberos]] ships as part of MIT Project Athena. KDC, TGS, ticket-granting tickets, time-synchronized authentication. The model that defines authentication for the next 35 years." + '[[kerberos|Kerberos]] ships as part of MIT Project Athena. KDC, TGS, ticket-granting tickets, time-synchronized authentication. The model that defines authentication for the next 35 years.' }, { year: 1993, @@ -93,7 +92,7 @@ export const authenticationStory: SubcategoryStory = { year: 2012, title: 'OAuth 2.0 (RFC 6749)', description: - "[[oauth2|OAuth 2.0]] published. Framework rather than protocol โ€” multiple grant types (authorization code, implicit, client credentials, password). Hammer publicly resigns as editor citing complexity and developer-experience concerns." + '[[oauth2|OAuth 2.0]] published. Framework rather than protocol โ€” multiple grant types (authorization code, implicit, client credentials, password). Hammer publicly resigns as editor citing complexity and developer-experience concerns.' }, { year: 2014, @@ -105,7 +104,7 @@ export const authenticationStory: SubcategoryStory = { year: 2015, title: 'PKCE (RFC 7636)', description: - "PKCE โ€” Proof Key for Code Exchange โ€” extends OAuth 2.0 to protect public clients (mobile apps, SPAs) from authorization-code interception. Becomes the recommended pattern for all OAuth flows." + 'PKCE โ€” Proof Key for Code Exchange โ€” extends OAuth 2.0 to protect public clients (mobile apps, SPAs) from authorization-code interception. Becomes the recommended pattern for all OAuth flows.' }, { year: 2019, @@ -123,14 +122,20 @@ export const authenticationStory: SubcategoryStory = { year: 2025, title: 'OAuth 2.1 Stabilizes', description: - "OAuth 2.1 consolidates a decade of best-current-practice into one spec. Removes implicit and password grants. PKCE required for authorization-code flow. The standardization of \"how to do OAuth 2 safely\" instead of \"OAuth 2 plus six other RFCs.\"" + 'OAuth 2.1 consolidates a decade of best-current-practice into one spec. Removes implicit and password grants. PKCE required for authorization-code flow. The standardization of "how to do OAuth 2 safely" instead of "OAuth 2 plus six other RFCs."' } ] }, { type: 'comparison', title: 'Kerberos vs OAuth 2.0', - axes: ['Problem solved', 'Architecture', 'Credential', 'Time semantics', 'Where it dominates'], + axes: [ + 'Problem solved', + 'Architecture', + 'Credential', + 'Time semantics', + 'Where it dominates' + ], rows: [ { label: '[[kerberos|Kerberos]]', @@ -139,7 +144,7 @@ export const authenticationStory: SubcategoryStory = { 'Three-party: client, KDC, service', 'Time-stamped tickets, short-lived', 'Tightly synchronized (clock skew > 5 min = ticket invalid)', - "Active Directory, Hadoop, NFS Kerberos mode, enterprise SSO inside corporate networks" + 'Active Directory, Hadoop, NFS Kerberos mode, enterprise SSO inside corporate networks' ] }, { @@ -149,7 +154,7 @@ export const authenticationStory: SubcategoryStory = { 'Three-party: user, authorization server, resource server', 'Bearer tokens (anyone with the token has the access)', 'Loose โ€” tokens have an expiry, but no clock-sync requirement', - "Public-facing APIs, third-party app authorization, OIDC for federated login" + 'Public-facing APIs, third-party app authorization, OIDC for federated login' ] } ], @@ -178,21 +183,21 @@ export const authenticationStory: SubcategoryStory = { S-->>U: AP_REP โ€” mutual-auth response Note over U,S: User and service share session key, further messages encrypted`, caption: - "The Kerberos flow has the classic \"three-headed dog\" structure: AS (initial authentication), TGS (service ticket distribution), and the actual service. The user's password never leaves the user's machine. The KDC holds keys for *everyone* (users and services), which is also why a KDC compromise is catastrophic.", + 'The Kerberos flow has the classic "three-headed dog" structure: AS (initial authentication), TGS (service ticket distribution), and the actual service. The user\'s password never leaves the user\'s machine. The KDC holds keys for *everyone* (users and services), which is also why a KDC compromise is catastrophic.', steps: { 0: '**Step 1 โ€” Get a TGT.** Before the user can talk to *any* service, they need a Ticket Granting Ticket from the AS. This happens once per login session.', 1: 'User sends an **AS_REQ** identifying themselves. Importantly: this message does **not** contain the password.', - 2: '**AS looks up alice in its database**, retrieves her long-term key (derived from her password), and prepares a TGT encrypted under the TGS\'s own key (so only the TGS can read it later).', - 3: '**AS_REP** comes back with the TGT *plus* a session key, all encrypted under alice\'s password-derived key.', + 2: "**AS looks up alice in its database**, retrieves her long-term key (derived from her password), and prepares a TGT encrypted under the TGS's own key (so only the TGS can read it later).", + 3: "**AS_REP** comes back with the TGT *plus* a session key, all encrypted under alice's password-derived key.", 4: '**User decrypts with the password.** If the password was correct, the decryption succeeds and the user now holds a TGT plus session key. If the password was wrong, the bytes are garbage and the user knows immediately. The password never crossed the wire.', 5: '**Step 2 โ€” Get a service ticket.** Now the user wants to talk to a specific service (say a file server). They go back to the KDC, but this time present their TGT.', - 6: 'User sends **TGS_REQ**: the TGT, a fresh authenticator (timestamp + checksum encrypted under the TGT\'s session key), and the name of the target service.', - 7: '**TGS validates the TGT** (it can, because TGT is encrypted under TGS\'s own key) and the authenticator (proving the request is fresh). It then mints a service ticket encrypted under the fileserver\'s key.', + 6: "User sends **TGS_REQ**: the TGT, a fresh authenticator (timestamp + checksum encrypted under the TGT's session key), and the name of the target service.", + 7: "**TGS validates the TGT** (it can, because TGT is encrypted under TGS's own key) and the authenticator (proving the request is fresh). It then mints a service ticket encrypted under the fileserver's key.", 8: '**TGS_REP** delivers the service ticket plus a new session key for the userโ†”fileserver conversation.', - 9: '**Step 3 โ€” Use the service ticket.** The user now has everything needed to authenticate to the fileserver without the KDC\'s further involvement.', + 9: "**Step 3 โ€” Use the service ticket.** The user now has everything needed to authenticate to the fileserver without the KDC's further involvement.", 10: 'User sends **AP_REQ** to the service: the service ticket plus a fresh authenticator. The service can decrypt the ticket (it has its own key) and validate the authenticator with the session key inside.', 11: '**Service validates the timestamp.** Authenticator timestamps must be within ~5 minutes โ€” this is why Kerberos is allergic to clock skew.', - 12: 'Service replies with **AP_REP**, encrypting a value derived from the user\'s authenticator to prove mutual authentication (the user knows they\'re talking to the real fileserver, not an impostor).', + 12: "Service replies with **AP_REP**, encrypting a value derived from the user's authenticator to prove mutual authentication (the user knows they're talking to the real fileserver, not an impostor).", 13: 'From this point, **user and service share a session key** and can talk securely (or at least authenticated) for the lifetime of the service ticket โ€” typically 8 to 24 hours.' } }, @@ -208,7 +213,7 @@ export const authenticationStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Passkeys and WebAuthn** are slowly displacing password-based authentication. Cross-device synced passkeys (Apple, Google, Microsoft, 1Password, Bitwarden) make WebAuthn UX usable by non-technical users. The "death of the password" has been promised for 20 years; it's finally happening for consumer logins.\n- **OAuth 2.1** consolidates best practices into one spec. Many libraries and providers already implement the 2.1 conservative subset.\n- **DPoP** (Demonstrating Proof-of-Possession, [[rfc:9449|RFC 9449]]) binds OAuth tokens to a client-held key. Mitigates the bearer-token leak problem. Adoption is uneven but growing.\n- **Sender-constrained access tokens** in general โ€” TLS-bound, certificate-bound, or DPoP-bound โ€” are the long-term answer to "bearer tokens are too easy to steal."\n- **Workload Identity Federation** lets cloud workloads (GCP, AWS, Azure VMs / containers) authenticate to *other* clouds without long-lived API keys. The OAuth pattern applied to machine-to-machine auth.\n- **The Kerberos slow decline** continues. Cloud-native deployments don't use it; new enterprise systems default to OIDC. Active Directory remains, but the action is in Entra ID and similar cloud SSO products that *speak* AD-compatible protocols at the edge while running OAuth+OIDC underneath.\n- **MCP and OAuth 2.0 convergence** โ€” Anthropic's Model Context Protocol picked OAuth 2.1 + DCR (Dynamic Client Registration) as the auth model for remote MCP servers. The new agent ecosystem is being built on OAuth from day one.` } ] diff --git a/src/lib/data/subcategory-stories/conferencing-calls.ts b/src/lib/data/subcategory-stories/conferencing-calls.ts index 154319d..a899a59 100644 --- a/src/lib/data/subcategory-stories/conferencing-calls.ts +++ b/src/lib/data/subcategory-stories/conferencing-calls.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const conferencingCallsStory: SubcategoryStory = { subcategoryId: 'conferencing-calls', tagline: - "The full call stack โ€” signaling, session description, media transport, and NAT traversal โ€” composing into a browser-native call", + 'The full call stack โ€” signaling, session description, media transport, and NAT traversal โ€” composing into a browser-native call', sections: [ { type: 'narrative', @@ -50,7 +50,7 @@ export const conferencingCallsStory: SubcategoryStory = { year: 1996, title: 'RTP RFC 1889', description: - "[[pioneer:henning-schulzrinne|Schulzrinne]] and team publish [[rtp|RTP]] โ€” Real-time Transport Protocol. Sequence numbers, timestamps, SSRC identifiers. Designed to ride on UDP for media." + '[[pioneer:henning-schulzrinne|Schulzrinne]] and team publish [[rtp|RTP]] โ€” Real-time Transport Protocol. Sequence numbers, timestamps, SSRC identifiers. Designed to ride on UDP for media.' }, { year: 1996, @@ -62,7 +62,7 @@ export const conferencingCallsStory: SubcategoryStory = { year: 1999, title: 'SIP Becomes IETF Standard (RFC 2543)', description: - "The IETF response to H.323: [[sip|SIP]] โ€” text-based, HTTP-inspired, much simpler. RFC 2543 published. The \"SIP vs H.323 wars\" begin and last about five years." + 'The IETF response to H.323: [[sip|SIP]] โ€” text-based, HTTP-inspired, much simpler. RFC 2543 published. The "SIP vs H.323 wars" begin and last about five years.' }, { year: 2002, @@ -74,31 +74,31 @@ export const conferencingCallsStory: SubcategoryStory = { year: 2003, title: 'Skype Launches', description: - "Skype ships using a fully proprietary peer-to-peer protocol โ€” *not* SIP. The first widely-deployed consumer Internet calling, with its own ideas about NAT traversal and codecs. The lesson: a closed protocol with a great UX can crush an open one for years." + 'Skype ships using a fully proprietary peer-to-peer protocol โ€” *not* SIP. The first widely-deployed consumer Internet calling, with its own ideas about NAT traversal and codecs. The lesson: a closed protocol with a great UX can crush an open one for years.' }, { year: 2005, title: 'STUN RFC 3489', description: - "[[stun|STUN]] โ€” Session Traversal Utilities for NAT โ€” lets a peer discover its public-facing IP address through a NAT. The first piece of NAT-traversal infrastructure for media protocols." + '[[stun|STUN]] โ€” Session Traversal Utilities for NAT โ€” lets a peer discover its public-facing IP address through a NAT. The first piece of NAT-traversal infrastructure for media protocols.' }, { year: 2010, title: 'WHATWG / W3C Start WebRTC', description: - "Google publishes the initial [[webrtc|WebRTC]] proposal at the W3C. The IETF charters the RTCWEB working group. The goal: browser-to-browser audio, video, and data without plugins." + 'Google publishes the initial [[webrtc|WebRTC]] proposal at the W3C. The IETF charters the RTCWEB working group. The goal: browser-to-browser audio, video, and data without plugins.' }, { year: 2013, title: 'WebRTC 1.0 Ships in Chrome and Firefox', description: - "Chrome and Firefox implement WebRTC for real-time media. The first cross-browser video calls without Flash or plugins. Hangouts moves from a custom plugin to WebRTC." + 'Chrome and Firefox implement WebRTC for real-time media. The first cross-browser video calls without Flash or plugins. Hangouts moves from a custom plugin to WebRTC.' }, { year: 2017, title: 'WebRTC 1.0 Becomes W3C Candidate Recommendation', description: - "After seven years of standardization, WebRTC 1.0 finalizes. Apple Safari ships WebRTC support, making it truly cross-browser. WebRTC becomes the default for video calling on the web." + 'After seven years of standardization, WebRTC 1.0 finalizes. Apple Safari ships WebRTC support, making it truly cross-browser. WebRTC becomes the default for video calling on the web.' }, { year: 2020, @@ -110,7 +110,7 @@ export const conferencingCallsStory: SubcategoryStory = { year: 2024, title: 'WebRTC over QUIC Experiments', description: - "WebTransport (QUIC streams in the browser) opens experiments with non-RTP media. WebCodecs API lets JavaScript directly encode and decode video frames. \"Custom WebRTC\" โ€” using QUIC + WebCodecs instead of the built-in stack โ€” appears in production at Google Stadia's successor projects and some streaming startups." + 'WebTransport (QUIC streams in the browser) opens experiments with non-RTP media. WebCodecs API lets JavaScript directly encode and decode video frames. "Custom WebRTC" โ€” using QUIC + WebCodecs instead of the built-in stack โ€” appears in production at Google Stadia\'s successor projects and some streaming startups.' } ] }, @@ -125,7 +125,7 @@ export const conferencingCallsStory: SubcategoryStory = { 'Signaling โ€” call setup, teardown, control', 'Text (HTTP-like), runs over UDP/TCP/TLS/WebSocket', 'INVITE / 200 OK / ACK / BYE messages', - "SS7 setup messages (the telco signaling network)" + 'SS7 setup messages (the telco signaling network)' ] }, { @@ -152,11 +152,11 @@ export const conferencingCallsStory: SubcategoryStory = { 'Browser-native packaging of all of the above', 'JavaScript API + the protocols underneath', 'Audio, video, and data channels', - "(Browser API, not a PSTN equivalent)" + '(Browser API, not a PSTN equivalent)' ] } ], - note: "[[webrtc|WebRTC]] *contains* the other three. When you use `RTCPeerConnection`, the browser does SDP offer/answer, ICE/STUN/TURN for NAT, DTLS handshake, then sends SRTP-encrypted [[rtp|RTP]]. The signaling channel (how the two browsers exchange SDP) is *not* part of WebRTC โ€” you bring your own, usually a WebSocket or a SIP-over-WebSocket gateway." + note: '[[webrtc|WebRTC]] *contains* the other three. When you use `RTCPeerConnection`, the browser does SDP offer/answer, ICE/STUN/TURN for NAT, DTLS handshake, then sends SRTP-encrypted [[rtp|RTP]]. The signaling channel (how the two browsers exchange SDP) is *not* part of WebRTC โ€” you bring your own, usually a WebSocket or a SIP-over-WebSocket gateway.' }, { type: 'animated-sequence', @@ -195,12 +195,12 @@ export const conferencingCallsStory: SubcategoryStory = { A->>B: SRTP audio and video frames B-->>A: SRTP audio and video frames`, caption: - "The call setup is a five-phase dance. Signaling negotiates *what* (codecs, capabilities). ICE figures out *how* (which network path actually works). DTLS sets up *keys*. Only then does media (SRTP) start flowing. All of this happens behind a one-line JavaScript API.", + 'The call setup is a five-phase dance. Signaling negotiates *what* (codecs, capabilities). ICE figures out *how* (which network path actually works). DTLS sets up *keys*. Only then does media (SRTP) start flowing. All of this happens behind a one-line JavaScript API.', steps: { 0: '**Phase 1 โ€” Signaling.** Before the two peers can talk to each other, they need a way to *exchange* setup info. WebRTC deliberately does not specify this โ€” you bring your own (typically a WebSocket to a server you run).', 1: 'Browser A connects to the signaling server. Could be your chat backend, a Firebase channel, a custom WebSocket service.', 2: 'Browser B connects to the same signaling server.', - 3: '**Phase 2 โ€” Offer / Answer.** SDP is the data format that describes a session: "I support these codecs, here\'s the cipher I propose, here\'s where I\'ll send media."', + 3: "**Phase 2 โ€” Offer / Answer.** SDP is the data format that describes a session: \"I support these codecs, here's the cipher I propose, here's where I'll send media.\"", 4: 'Browser A calls `pc.createOffer()`. The browser produces an SDP describing its capabilities.', 5: 'A sends the offer to the signaling server โ€” to be relayed to B.', 6: 'Signaling forwards the offer to B. (Signaling is just a pipe here; it does not understand SDP.)', @@ -209,16 +209,16 @@ export const conferencingCallsStory: SubcategoryStory = { 9: 'Signaling relays the answer to A. Both peers now have matching SDPs.', 10: '**Phase 3 โ€” ICE candidate gathering.** Each peer now needs to discover what IP addresses and ports the *other* peer can actually reach it on. NAT makes this non-trivial.', 11: 'A asks STUN: **"what does my public address look like from outside the NAT?"**', - 12: 'STUN responds with A\'s server-reflexive candidate โ€” its public IP and port.', + 12: "STUN responds with A's server-reflexive candidate โ€” its public IP and port.", 13: 'A also asks TURN to **allocate a relay**, in case direct connectivity fails. TURN sits on a public address and forwards traffic.', 14: 'TURN gives A a **relayed candidate** โ€” an address that, if B sends to it, will forward to A.', 15: 'A sends its candidates to B via signaling. (B does the same โ€” abbreviated here.)', - 16: 'Signaling relays A\'s candidates to B.', + 16: "Signaling relays A's candidates to B.", 17: 'B sends its candidates back.', - 18: 'Signaling relays B\'s candidates to A. Both peers now know every possible address to try.', + 18: "Signaling relays B's candidates to A. Both peers now know every possible address to try.", 19: '**Phase 4 โ€” Connectivity checks.** Each peer pings every candidate pair with STUN binding requests to find which path actually works.', - 20: 'A sends a STUN binding to B\'s direct address. (If A and B can\'t reach each other directly, this fails and ICE falls back to a TURN-relayed pair.)', - 21: 'B responds. **A direct path works** โ€” the most expensive path (TURN relay) won\'t be needed for this call.', + 20: "A sends a STUN binding to B's direct address. (If A and B can't reach each other directly, this fails and ICE falls back to a TURN-relayed pair.)", + 21: "B responds. **A direct path works** โ€” the most expensive path (TURN relay) won't be needed for this call.", 22: '**TURN not needed.** ~75% of WebRTC calls find a direct path; the rest fall back to TURN at the cost of double bandwidth.', 23: '**Phase 5 โ€” Media flows.** Before audio/video can be sent, the two peers exchange DTLS handshakes to derive SRTP keys. *No* keys are sent in cleartext.', 24: 'A initiates the **DTLS handshake** directly with B (no third party). The result is a pair of SRTP keys.', @@ -238,7 +238,7 @@ export const conferencingCallsStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **WebRTC + WebCodecs + WebTransport** โ€” the "custom WebRTC" pattern where apps bypass the built-in stack and assemble their own from lower-level browser primitives. Better control over codecs, latency, and bandwidth โ€” at the cost of reimplementing what WebRTC gave you for free.\n- **AV1 in WebRTC** โ€” Chrome and Firefox now negotiate AV1 by default for screen sharing; software encoders are catching up for video. ~30% bandwidth savings at the same quality.\n- **AI noise suppression and background blur** moved to client-side TensorFlow.js or native models. Krisp, NVIDIA Maxine, and built-in Zoom/Teams/Meet features all happen *before* the codec sees the frame โ€” turning bad audio into clean audio invisibly.\n- **Spatial audio** in conferencing (Zoom, Teams) places each participant in 3D space. Reduces fatigue at the cost of more processing per stream.\n- **Real-time AI voice** (OpenAI Realtime API, Google Gemini Live, ElevenLabs streaming) is the new "what does the call stack do?" question. The answer: probably WebRTC, plus WebSocket or QUIC for the AI side. The stack designed for human-to-human is now carrying human-to-AI calls at growing scale.\n- **WHIP / WHEP** (WebRTC ingest and egress over HTTP) โ€” the same simplification that's replacing RTMP for ingestion may eventually displace SIP for one-way broadcasting too.` } ] diff --git a/src/lib/data/subcategory-stories/datagram-transport.ts b/src/lib/data/subcategory-stories/datagram-transport.ts index 09657d6..552cd22 100644 --- a/src/lib/data/subcategory-stories/datagram-transport.ts +++ b/src/lib/data/subcategory-stories/datagram-transport.ts @@ -32,7 +32,7 @@ export const datagramTransportStory: SubcategoryStory = { title: 'Designer of QUIC', org: 'Google', contribution: - 'Started [[quic|QUIC]] at Google in 2012 to fix [[tcp|TCP]]\'s deployment problems: kernel ossification, [[head-of-line-blocking|HoL blocking]], and the slow rollout of TLS 1.3. Roskind\'s key bet was that the transport layer could be *re-implemented in user space* โ€” ship updates with the browser, escape the kernel\'s deployment cycle. By 2017, Google reported ~7% of all Internet traffic was already QUIC. The {{ietf|IETF}} chartered the QUIC WG in 2016; [[rfc:9000|RFC 9000]] published in 2021.', + "Started [[quic|QUIC]] at Google in 2012 to fix [[tcp|TCP]]'s deployment problems: kernel ossification, [[head-of-line-blocking|HoL blocking]], and the slow rollout of TLS 1.3. Roskind's key bet was that the transport layer could be *re-implemented in user space* โ€” ship updates with the browser, escape the kernel's deployment cycle. By 2017, Google reported ~7% of all Internet traffic was already QUIC. The {{ietf|IETF}} chartered the QUIC WG in 2016; [[rfc:9000|RFC 9000]] published in 2021.", imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Jim_Roskind_2016.jpg/330px-Jim_Roskind_2016.jpg' }, @@ -54,7 +54,7 @@ export const datagramTransportStory: SubcategoryStory = { year: 1980, title: 'UDP Standardized (RFC 768)', description: - '[[pioneer:jon-postel|Postel]]\'s 3-page spec defines the simplest possible transport: 8-byte header, no state, no guarantees.' + "[[pioneer:jon-postel|Postel]]'s 3-page spec defines the simplest possible transport: 8-byte header, no state, no guarantees." }, { year: 1983, @@ -72,7 +72,7 @@ export const datagramTransportStory: SubcategoryStory = { year: 2008, title: 'NAT Traversal via UDP Hole Punching', description: - '{{ice|ICE}} (RFC 5245) and {{stun|STUN}}/{{turn|TURN}} establish that peer-to-peer connectivity requires UDP. [[webrtc|WebRTC]], P2P games, and (later) BitTorrent all rely on UDP\'s lighter NAT footprint.' + "{{ice|ICE}} (RFC 5245) and {{stun|STUN}}/{{turn|TURN}} establish that peer-to-peer connectivity requires UDP. [[webrtc|WebRTC]], P2P games, and (later) BitTorrent all rely on UDP's lighter NAT footprint." }, { year: 2012, @@ -102,7 +102,7 @@ export const datagramTransportStory: SubcategoryStory = { year: 2024, title: 'MASQUE Published', description: - 'Tunneling arbitrary traffic inside QUIC โ€” used by iCloud Private Relay, Apple Private Cloud Compute, and Cloudflare\'s Privacy Gateway.' + "Tunneling arbitrary traffic inside QUIC โ€” used by iCloud Private Relay, Apple Private Cloud Compute, and Cloudflare's Privacy Gateway." } ] }, @@ -115,7 +115,7 @@ export const datagramTransportStory: SubcategoryStory = { label: '[[udp|UDP]]', values: [ 'None โ€” fire and forget', - 'None (application\'s problem โ€” e.g. DTLS)', + "None (application's problem โ€” e.g. DTLS)", 'None โ€” opaque datagrams', "Application's problem", '[[dns|DNS]], [[ntp|NTP]], [[rtp|RTP]], multicast, games' @@ -154,13 +154,13 @@ export const datagramTransportStory: SubcategoryStory = { C->>S: 0-RTT application data using cached keys S-->>C: 1-RTT response`, caption: - "[[udp|UDP]] makes the application do everything. [[quic|QUIC]] bundles handshake + encryption + transport into a single round trip, and zero round trips on resumption. The cost: every QUIC implementation re-implements reliable transport in user space.", + '[[udp|UDP]] makes the application do everything. [[quic|QUIC]] bundles handshake + encryption + transport into a single round trip, and zero round trips on resumption. The cost: every QUIC implementation re-implements reliable transport in user space.', steps: { - 0: '**[[udp|UDP]] โ€” zero handshake.** No connection setup at all. The first datagram carries the application\'s actual payload. If the network drops it, the application learns about it (or doesn\'t) on its own schedule.', + 0: "**[[udp|UDP]] โ€” zero handshake.** No connection setup at all. The first datagram carries the application's actual payload. If the network drops it, the application learns about it (or doesn't) on its own schedule.", 1: 'Client sends a **UDP datagram**. 8-byte header, payload, done.', 2: '**No ACK is expected.** The kernel washes its hands of the packet the moment it leaves the NIC.', 3: '**No retransmit happens at the transport layer.** If anything needs to retry, the application has to do it.', - 4: 'Server replies if it wants to. That reply, too, is fire-and-forget โ€” either it arrives or it doesn\'t.', + 4: "Server replies if it wants to. That reply, too, is fire-and-forget โ€” either it arrives or it doesn't.", 5: '**[[quic|QUIC]] 1-RTT.** Unlike UDP, QUIC builds a real, encrypted, multiplexed transport on top โ€” but it does the entire handshake in ONE round trip. Compare to TLS-over-TCP, which needs 3 (TCP SYN/SYN-ACK/ACK plus TLS handshake).', 6: 'Client sends **Initial: ClientHello + QUIC params**. The first packet carries the TLS 1.3 ClientHello *and* QUIC transport parameters. Some of the packet is even encrypted (anti-injection), though the keys come from a public derivation.', 7: 'Server responds with **Initial: ServerHello + Handshake**. Now both sides have ephemeral keys and can encrypt the handshake fully. This is the same packet that contains the server certificate.', @@ -183,7 +183,7 @@ export const datagramTransportStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Multipath QUIC** โ€” bonding multiple network paths into one QUIC connection, like [[mptcp|MPTCP]] but easier because QUIC isn't bound to TCP's wire format. Draft in WG, deployment underway at Apple and Cloudflare.\n- **MASQUE** โ€” running arbitrary protocols (TCP, UDP, IP) inside QUIC for tunneling. Powers iCloud Private Relay and similar privacy infrastructure.\n- **WebTransport** โ€” exposes QUIC streams to browsers, a likely successor to {{websockets|WebSockets}} for low-latency bidirectional traffic.\n- **Media-over-QUIC** โ€” a new family of standards for live and on-demand media that bypasses RTP/RTMP/HLS entirely.\n- **QUIC offload silicon** โ€” first-generation NIC support landing in 2024โ€“2026, closing the CPU-cost gap with TCP.\n\nUDP itself isn't evolving โ€” that's the point. It is the stable substrate. The action is one layer up.` } ] diff --git a/src/lib/data/subcategory-stories/enterprise-brokers.ts b/src/lib/data/subcategory-stories/enterprise-brokers.ts index 73e4826..66b4acd 100644 --- a/src/lib/data/subcategory-stories/enterprise-brokers.ts +++ b/src/lib/data/subcategory-stories/enterprise-brokers.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const enterpriseBrokersStory: SubcategoryStory = { subcategoryId: 'enterprise-brokers', tagline: - "Decoupling producers from consumers at scale โ€” queues, immutable logs, and the wire formats that talk to them", + 'Decoupling producers from consumers at scale โ€” queues, immutable logs, and the wire formats that talk to them', sections: [ { type: 'narrative', @@ -15,7 +15,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { title: 'The Broker Architects', people: [ { - name: 'John A. O\'Hara', + name: "John A. O'Hara", years: 'โ€“', title: 'AMQP Originator', org: 'JPMorgan Chase', @@ -28,7 +28,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { title: 'Co-creator of Kafka', org: 'LinkedIn / Confluent', contribution: - "Co-created [[kafka|Apache Kafka]] at LinkedIn in 2011 with Neha Narkhede and Jun Rao. LinkedIn had outgrown ActiveMQ and Splunk for event ingestion; Kafka was their bet on a *log-as-primitive* approach instead of a queue-as-primitive. The 2013 paper \"The Log: What every software engineer should know about real-time data\\'s unifying abstraction\" is required reading. Kreps later co-founded Confluent (2014), now the dominant commercial Kafka company." + 'Co-created [[kafka|Apache Kafka]] at LinkedIn in 2011 with Neha Narkhede and Jun Rao. LinkedIn had outgrown ActiveMQ and Splunk for event ingestion; Kafka was their bet on a *log-as-primitive* approach instead of a queue-as-primitive. The 2013 paper "The Log: What every software engineer should know about real-time data\\\'s unifying abstraction" is required reading. Kreps later co-founded Confluent (2014), now the dominant commercial Kafka company.' }, { name: 'Brian McCallister', @@ -47,13 +47,13 @@ export const enterpriseBrokersStory: SubcategoryStory = { year: 1992, title: 'IBM MQSeries Ships', description: - "The first commercially significant message broker. Defines the queue model that AMQP later standardizes. Runs banks and airlines for the next 30 years; still alive as IBM MQ." + 'The first commercially significant message broker. Defines the queue model that AMQP later standardizes. Runs banks and airlines for the next 30 years; still alive as IBM MQ.' }, { year: 2001, title: 'JMS 1.0 (Java Message Service)', description: - "Sun ships JMS โ€” a Java API for messaging, not a wire protocol. Every Java app can talk to any broker that implements JMS. Powerful but Java-only." + 'Sun ships JMS โ€” a Java API for messaging, not a wire protocol. Every Java app can talk to any broker that implements JMS. Powerful but Java-only.' }, { year: 2003, @@ -65,7 +65,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { year: 2005, title: 'STOMP Designed', description: - "Brian McCallister and Hiram Chirino design [[stomp|STOMP]] โ€” Simple Text-Oriented Messaging Protocol. Five frame types, human-readable, no specific broker required." + 'Brian McCallister and Hiram Chirino design [[stomp|STOMP]] โ€” Simple Text-Oriented Messaging Protocol. Five frame types, human-readable, no specific broker required.' }, { year: 2007, @@ -83,13 +83,13 @@ export const enterpriseBrokersStory: SubcategoryStory = { year: 2011, title: 'Kafka Open-Sourced at Apache', description: - "LinkedIn donates [[kafka|Kafka]] to the Apache Software Foundation. The log model โ€” partitioned, replicated, consumer-group-based โ€” is a different conception of messaging than queues." + 'LinkedIn donates [[kafka|Kafka]] to the Apache Software Foundation. The log model โ€” partitioned, replicated, consumer-group-based โ€” is a different conception of messaging than queues.' }, { year: 2011, title: 'AMQP 1.0', description: - "AMQP 1.0 finalized โ€” wire-format-only, dropped the exchange/queue model from 0-9-1. RabbitMQ supports it via a plugin but keeps 0-9-1 as the default. The split between 0-9-1 and 1.0 has fragmented the AMQP ecosystem ever since." + 'AMQP 1.0 finalized โ€” wire-format-only, dropped the exchange/queue model from 0-9-1. RabbitMQ supports it via a plugin but keeps 0-9-1 as the default. The split between 0-9-1 and 1.0 has fragmented the AMQP ecosystem ever since.' }, { year: 2014, @@ -101,13 +101,13 @@ export const enterpriseBrokersStory: SubcategoryStory = { year: 2017, title: 'Kafka Streams + ksqlDB', description: - "Kafka grows beyond pure transport into stream processing. Kafka Streams (a Java library) and ksqlDB (a SQL-ish layer) let you do joins, aggregations, and windowing directly against the log." + 'Kafka grows beyond pure transport into stream processing. Kafka Streams (a Java library) and ksqlDB (a SQL-ish layer) let you do joins, aggregations, and windowing directly against the log.' }, { year: 2021, title: 'Kafka Removes ZooKeeper Dependency', description: - "KIP-500 โ€” Kafka raft-based metadata (KRaft) โ€” eliminates the long-standing ZooKeeper dependency. Operationally simpler; a smaller blast radius when something goes wrong." + 'KIP-500 โ€” Kafka raft-based metadata (KRaft) โ€” eliminates the long-standing ZooKeeper dependency. Operationally simpler; a smaller blast radius when something goes wrong.' }, { year: 2024, @@ -129,7 +129,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { 'Until ack from consumer', 'Competing consumers drain a queue', 'Binary frames over TCP', - "Work distribution, RPC patterns, request/response over queues" + 'Work distribution, RPC patterns, request/response over queues' ] }, { @@ -139,7 +139,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { 'Configurable retention (hours to forever)', 'Consumer groups read at their own offset', 'Custom binary over TCP (Kafka protocol)', - "Event sourcing, stream processing, replay, audit logs" + 'Event sourcing, stream processing, replay, audit logs' ] }, { @@ -149,11 +149,11 @@ export const enterpriseBrokersStory: SubcategoryStory = { "Broker's problem", 'Whatever the broker supports', 'Text frames over TCP or WebSocket', - "Browser โ†” broker; scripts and tools without language-specific libs" + 'Browser โ†” broker; scripts and tools without language-specific libs' ] } ], - note: "If you find yourself trying to make Kafka behave like a queue (or AMQP behave like a log), you almost certainly picked the wrong tool. The mental models are genuinely different." + note: 'If you find yourself trying to make Kafka behave like a queue (or AMQP behave like a log), you almost certainly picked the wrong tool. The mental models are genuinely different.' }, { type: 'animated-sequence', @@ -187,7 +187,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { K-->>C2: C Note over K: messages remain โ€” both groups read independently`, caption: - "In [[amqp|AMQP]], a message belongs to whoever consumes it first; the queue empties. In [[kafka|Kafka]], the messages stay; each consumer group has its own read offset. This is why \"replay the last hour of events\" is trivial with Kafka and nearly impossible with AMQP.", + 'In [[amqp|AMQP]], a message belongs to whoever consumes it first; the queue empties. In [[kafka|Kafka]], the messages stay; each consumer group has its own read offset. This is why "replay the last hour of events" is trivial with Kafka and nearly impossible with AMQP.', steps: { 0: '**AMQP โ€” competing consumers.** The queue is the source of truth. Multiple workers pull from the same queue; each message goes to exactly one of them.', 1: 'Producer publishes **msg A** to the queue.', @@ -223,7 +223,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Tiered storage in Kafka** โ€” cold data offloaded to S3/GCS while hot data stays on local disk. Cuts broker storage costs by ~10ร—. KIP-405 shipped; AWS MSK and Confluent Cloud offer it.\n- **Iceberg + Kafka convergence** โ€” Confluent's Tableflow and Redpanda's direct Iceberg writes make every Kafka topic queryable as an Iceberg table. The log-as-database vision is finally operationally trivial.\n- **WarpStream and "stateless brokers"** โ€” broker designs that store every partition directly in S3 instead of replicating on local disk. Trade a bit of latency for dramatically lower operational complexity and cost. Acquired by Confluent in 2024.\n- **RabbitMQ 4.0** ships proper quorum queues by default and finally removes mirrored queues. The eternal RabbitMQ operational pain point is being addressed.\n- **NATS** continues quietly winning niches where Kafka is overkill but AMQP is too heavy โ€” embedded systems, edge networks, in-cluster service eventing.\n- **The unsexy truth**: most teams should pick a managed broker (Confluent Cloud, AWS MSK, RabbitMQ Cloud, Upstash Kafka, etc.) and never operate one themselves. Running a broker is operationally distinct from using one.` } ] diff --git a/src/lib/data/subcategory-stories/federated-messaging.ts b/src/lib/data/subcategory-stories/federated-messaging.ts index bd0da75..79c281c 100644 --- a/src/lib/data/subcategory-stories/federated-messaging.ts +++ b/src/lib/data/subcategory-stories/federated-messaging.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const federatedMessagingStory: SubcategoryStory = { subcategoryId: 'federated-messaging', tagline: - "Federated chat for an era that wanted walled gardens โ€” the protocol that powered everyone before everyone left", + 'Federated chat for an era that wanted walled gardens โ€” the protocol that powered everyone before everyone left', sections: [ { type: 'narrative', @@ -20,8 +20,7 @@ export const federatedMessagingStory: SubcategoryStory = { title: 'Inventor of Jabber/XMPP', org: 'Jabber.org / Jabber, Inc. / Anaerobic', contribution: - "Started Jabber in 1998 as a side project to build an open alternative to AIM/ICQ. The original Jabber server (jabberd, written in C) launched in 2000. Miller co-founded Jabber, Inc. (commercial Jabber, eventually acquired by Cisco in 2008). The IETF standardized the protocol as [[xmpp|XMPP]] in 2002 ([[rfc:6120|RFC 3920/3921]], updated in 2011 to [[rfc:6120|RFC 6120/6121]]). After XMPP, Miller worked on TeleHash and a series of decentralized-protocol projects." - + 'Started Jabber in 1998 as a side project to build an open alternative to AIM/ICQ. The original Jabber server (jabberd, written in C) launched in 2000. Miller co-founded Jabber, Inc. (commercial Jabber, eventually acquired by Cisco in 2008). The IETF standardized the protocol as [[xmpp|XMPP]] in 2002 ([[rfc:6120|RFC 3920/3921]], updated in 2011 to [[rfc:6120|RFC 6120/6121]]). After XMPP, Miller worked on TeleHash and a series of decentralized-protocol projects.' }, { name: 'Peter Saint-Andre', @@ -29,7 +28,7 @@ export const federatedMessagingStory: SubcategoryStory = { title: 'XSF Executive Director / Spec Editor', org: 'XMPP Standards Foundation', contribution: - "Edited the major [[xmpp|XMPP]] specifications for nearly two decades, including the 2011 RFC 6120/6121/6122 update. Saint-Andre also led the XMPP Extensions Process (XEPs) โ€” the document series that defines the dozens of optional protocol extensions (group chat, pub/sub, file transfer, voice, video). Most production XMPP deployments are 95% extensions and 5% core; without the XEP discipline, XMPP would have fragmented years earlier than it did." + 'Edited the major [[xmpp|XMPP]] specifications for nearly two decades, including the 2011 RFC 6120/6121/6122 update. Saint-Andre also led the XMPP Extensions Process (XEPs) โ€” the document series that defines the dozens of optional protocol extensions (group chat, pub/sub, file transfer, voice, video). Most production XMPP deployments are 95% extensions and 5% core; without the XEP discipline, XMPP would have fragmented years earlier than it did.' }, { name: 'Matthew Hodgson', @@ -48,7 +47,7 @@ export const federatedMessagingStory: SubcategoryStory = { year: 1999, title: 'Jabber Begins', description: - "Jeremie Miller starts the Jabber project. The first design goal: messaging that works the way email works โ€” anyone can run a server, any server can federate with any other." + 'Jeremie Miller starts the Jabber project. The first design goal: messaging that works the way email works โ€” anyone can run a server, any server can federate with any other.' }, { year: 2000, @@ -90,19 +89,19 @@ export const federatedMessagingStory: SubcategoryStory = { year: 2011, title: 'RFC 6120/6121 โ€” XMPP Refresh', description: - "The current XMPP specification, edited by Peter Saint-Andre. Cleans up TLS requirements, internationalization (JIDs in Unicode), and stream features." + 'The current XMPP specification, edited by Peter Saint-Andre. Cleans up TLS requirements, internationalization (JIDs in Unicode), and stream features.' }, { year: 2014, title: 'Google Drops XMPP Federation', description: - "Google Talk becomes Hangouts. XMPP federation is removed. The single largest source of cross-server messages on the federated XMPP network disappears overnight." + 'Google Talk becomes Hangouts. XMPP federation is removed. The single largest source of cross-server messages on the federated XMPP network disappears overnight.' }, { year: 2014, title: 'Matrix Begins', description: - "Matthew Hodgson and Amandine Le Pape start Matrix as an HTTP-based, decentralized chat protocol. Explicitly positioned as \"what we wish XMPP looked like in 2014.\"" + 'Matthew Hodgson and Amandine Le Pape start Matrix as an HTTP-based, decentralized chat protocol. Explicitly positioned as "what we wish XMPP looked like in 2014."' }, { year: 2017, @@ -114,7 +113,7 @@ export const federatedMessagingStory: SubcategoryStory = { year: 2024, title: 'EU Digital Markets Act', description: - "The DMA names \"gatekeeper\" platforms (WhatsApp, Messenger, iMessage) and requires they offer interoperability APIs. The protocol details are unclear; XMPP and Matrix are both being discussed as candidate bridges. The federated dream gets a regulatory comeback." + 'The DMA names "gatekeeper" platforms (WhatsApp, Messenger, iMessage) and requires they offer interoperability APIs. The protocol details are unclear; XMPP and Matrix are both being discussed as candidate bridges. The federated dream gets a regulatory comeback.' } ] }, @@ -130,7 +129,7 @@ export const federatedMessagingStory: SubcategoryStory = { 'XML stanzas over long-lived TCP/TLS', 'OMEMO (Signal-protocol-based) or OTR; not mandatory', 'No โ€” designed for desktop XMPP clients', - "Still running in niches (gaming, IoT, smart-home); near-zero consumer presence" + 'Still running in niches (gaming, IoT, smart-home); near-zero consumer presence' ] }, { @@ -140,7 +139,7 @@ export const federatedMessagingStory: SubcategoryStory = { 'JSON events over HTTPS', 'Megolm (Signal-derived); on by default in newer clients', 'Yes โ€” designed for modern mobile clients', - "Active growth โ€” used by Element, governments (France, Germany), some Discord-alt communities" + 'Active growth โ€” used by Element, governments (France, Germany), some Discord-alt communities' ] }, { @@ -148,9 +147,9 @@ export const federatedMessagingStory: SubcategoryStory = { values: [ 'None (walled gardens)', 'Proprietary binary protocols', - 'Signal Protocol (WhatsApp, Messenger), Apple\'s own (iMessage)', + "Signal Protocol (WhatsApp, Messenger), Apple's own (iMessage)", 'Yes โ€” phone-number-first identity', - "Billions of users; effectively the messaging layer of mobile" + 'Billions of users; effectively the messaging layer of mobile' ] } ], @@ -175,16 +174,16 @@ export const federatedMessagingStory: SubcategoryStory = { SB->>B: deliver message from Alice Note over A,B: No central authority โ€” just two servers and DNS`, caption: - "This is the federation pattern email pioneered and XMPP brought to chat. Any server can speak to any other server using only DNS โ€” no central authority issues credentials, no platform brokers the connection. Beautiful in theory; commercially fragile in practice.", + 'This is the federation pattern email pioneered and XMPP brought to chat. Any server can speak to any other server using only DNS โ€” no central authority issues credentials, no platform brokers the connection. Beautiful in theory; commercially fragile in practice.', steps: { - 0: '**Federation in action.** Alice is on example.com\'s XMPP server, Bob is on foo.org\'s. Neither server is a "platform" โ€” they\'re run by different operators, and any other organization could run a third without asking permission.', - 1: 'Alice\'s client sends a `<message>` stanza to her own server, addressed to `bob@foo.org`.', - 2: 'Server SA does not know foo.org\'s address. It asks **DNS for the SRV record** `_xmpp-server._tcp.foo.org`. (SRV records let the operator point service traffic at a specific host and port without affecting the main hostname.)', + 0: "**Federation in action.** Alice is on example.com's XMPP server, Bob is on foo.org's. Neither server is a \"platform\" โ€” they're run by different operators, and any other organization could run a third without asking permission.", + 1: "Alice's client sends a `<message>` stanza to her own server, addressed to `bob@foo.org`.", + 2: "Server SA does not know foo.org's address. It asks **DNS for the SRV record** `_xmpp-server._tcp.foo.org`. (SRV records let the operator point service traffic at a specific host and port without affecting the main hostname.)", 3: 'DNS replies with `xmpp.foo.org:5269` โ€” the canonical XMPP server-to-server port. (Client-to-server is 5222; server-to-server is 5269.)', 4: 'SA **opens an XML stream to SB**. The first time these two servers talk, a stream is established and reused for all subsequent messages between them.', 5: 'SB responds with **stream features, TLS, and dialback verification**. Dialback is XMPP\'s lightweight "are you really example.com?" check โ€” uses DNS itself to validate.', - 6: 'SA **forwards Alice\'s message** to SB, properly tagged with the sender domain so SB can verify and route.', - 7: 'SB **delivers the message** to Bob\'s connected client (or queues it if Bob is offline).', + 6: "SA **forwards Alice's message** to SB, properly tagged with the sender domain so SB can verify and route.", + 7: "SB **delivers the message** to Bob's connected client (or queues it if Bob is offline).", 8: '**No central authority.** ICANN does not bless XMPP servers. There is no Meta, no platform. The whole interaction relied only on DNS and the two servers agreeing on a common protocol โ€” exactly the email model.' } }, @@ -200,7 +199,7 @@ export const federatedMessagingStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **EU Digital Markets Act interop** โ€” the DMA names WhatsApp and Messenger as gatekeepers required to offer messaging interoperability to third parties. The technical protocol is being argued; [[xmpp|XMPP]] and Matrix are both in the conversation as candidate bridges. The first time in 20 years that regulation rather than market forces is pushing federation forward.\n- **Matrix in government** โ€” France's government chat (Tchap), Germany's healthcare messaging (TI-Messenger), and the German Bundeswehr have all standardized on Matrix. Sovereignty concerns are driving uptake where US-based walled gardens are politically unacceptable.\n- **XMPP for IoT and gaming** โ€” the protocol that powers Zoom's chat, every major MMO backend (League of Legends, World of Warcraft chat), Sony PlayStation Network messaging, and most XMPP-IoT smart-home stacks. The consumer-chat market is gone; the infrastructure market remains.\n- **Bridges between worlds** โ€” Beeper (acquired by Automattic) and matrix.org bridges aim to be one app that talks to WhatsApp, iMessage, SMS, Telegram, Signal, and Matrix simultaneously. The federation-as-aggregation-layer approach when federation-as-protocol failed.\n- **The unsexy truth**: federated chat lost the consumer market and probably won't get it back. The interesting frontier is *interoperability bridges* and *sovereign-government deployments*, not the federated dream returning to displace WhatsApp.` } ] diff --git a/src/lib/data/subcategory-stories/http-versions.ts b/src/lib/data/subcategory-stories/http-versions.ts index e6a35d9..2bc0db7 100644 --- a/src/lib/data/subcategory-stories/http-versions.ts +++ b/src/lib/data/subcategory-stories/http-versions.ts @@ -43,7 +43,7 @@ export const httpVersionsStory: SubcategoryStory = { title: 'Designer of QUIC', org: 'Google', contribution: - 'Designed the original {{quic|QUIC}} at Google starting in 2012 โ€” a fundamentally new transport over [[udp|UDP]] that solved [[http2|HTTP/2]]\'s transport-layer {{head-of-line-blocking|head-of-line blocking}} by giving each stream its own loss-recovery context. The {{ietf|IETF}} took over standardization in 2016; [[http3|HTTP/3]] became RFC 9114 in June 2022. Roskind\'s key insight: encryption belongs *inside* the transport, not above it.', + "Designed the original {{quic|QUIC}} at Google starting in 2012 โ€” a fundamentally new transport over [[udp|UDP]] that solved [[http2|HTTP/2]]'s transport-layer {{head-of-line-blocking|head-of-line blocking}} by giving each stream its own loss-recovery context. The {{ietf|IETF}} took over standardization in 2016; [[http3|HTTP/3]] became RFC 9114 in June 2022. Roskind's key insight: encryption belongs *inside* the transport, not above it.", imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Jim_Roskind_2016.jpg/330px-Jim_Roskind_2016.jpg' } @@ -74,7 +74,7 @@ export const httpVersionsStory: SubcategoryStory = { year: 2009, title: 'SPDY at Google', description: - '[[pioneer:mike-belshe|Mike Belshe]] and Roberto Peon ship {{spdy|SPDY}} in Chrome. Binary frames, multiplexed streams over one connection, header compression, server push. The web didn\'t need a new protocol โ€” it needed [[http1|HTTP/1.1]] without its bottlenecks.' + "[[pioneer:mike-belshe|Mike Belshe]] and Roberto Peon ship {{spdy|SPDY}} in Chrome. Binary frames, multiplexed streams over one connection, header compression, server push. The web didn't need a new protocol โ€” it needed [[http1|HTTP/1.1]] without its bottlenecks." }, { year: 2012, @@ -92,7 +92,7 @@ export const httpVersionsStory: SubcategoryStory = { year: 2015, title: 'HTTP/2 Published (RFC 7540)', description: - 'Binary framing, multiplexing, {{hpack|HPACK}} header compression, server push (rarely used in practice). Solves [[http1|HTTP/1.1]]\'s application-layer {{head-of-line-blocking|HoL blocking}}. Doesn\'t solve TCP\'s.' + "Binary framing, multiplexing, {{hpack|HPACK}} header compression, server push (rarely used in practice). Solves [[http1|HTTP/1.1]]'s application-layer {{head-of-line-blocking|HoL blocking}}. Doesn't solve TCP's." }, { year: 2016, @@ -159,7 +159,7 @@ export const httpVersionsStory: SubcategoryStory = { 11: 'Server returns **interleaved frames** from all three streams. The page can start rendering as soon as the HTML frames arrive โ€” no head-of-line blocking *at the application layer*. But all three streams share one TCP connection, and a single dropped TCP packet stalls all of them.', 12: '**[[http3|HTTP/3]] โ€” multiplexing without TCP HoL.** Each stream is owned by [[quic|QUIC]] (over UDP), with its own loss-recovery context. Stream 0 stalling does not affect stream 4 or 8.', 13: 'Client opens **stream 0** for the HTML over QUIC.', - 14: 'Client opens **stream 4** for the CSS โ€” if a UDP packet carrying stream 4 is lost, QUIC retransmits only that stream\'s data.', + 14: "Client opens **stream 4** for the CSS โ€” if a UDP packet carrying stream 4 is lost, QUIC retransmits only that stream's data.", 15: 'Client opens **stream 8** for the JS โ€” same independence.', 16: '**Streams arrive in any order**, and packet loss on one does not stall the others. The HoL ghost that haunted HTTP for 25 years is finally exorcised โ€” at the cost of moving reliable transport into user space.' } @@ -176,7 +176,7 @@ export const httpVersionsStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `[[http3|HTTP/3]] is shipping but not finished. Active work in 2025:\n\n- **{{webtransport|WebTransport}}**: bidirectional streams over QUIC, exposed to browsers โ€” a possible replacement for {{websockets|WebSockets}} where you want UDP-like semantics with TLS.\n- **{{masque|MASQUE}}**: tunnel arbitrary protocols inside QUIC, used by iCloud Private Relay and similar privacy products.\n- **HTTP/2 over QUIC**: not actually a thing, but it's a useful reminder that the framing layer (HTTP) and the transport (TCP/QUIC) are now genuinely separable.\n- **Multipath QUIC**: the same {{mptcp|MPTCP}} idea โ€” use multiple network paths in parallel โ€” but for QUIC, which is much easier to evolve than TCP.\n\nThe deeper trend: HTTP is now the universal application protocol, and the interesting evolution is happening at the *transport* layer beneath it. After 35 years, the protocol that started as \`GET /index.html\` runs more of the world's traffic than any other single protocol โ€” and the next chapter is being written by the people who decided TCP wasn't good enough anymore.` } ] diff --git a/src/lib/data/subcategory-stories/index.ts b/src/lib/data/subcategory-stories/index.ts index 1639e29..c71e5db 100644 --- a/src/lib/data/subcategory-stories/index.ts +++ b/src/lib/data/subcategory-stories/index.ts @@ -54,9 +54,7 @@ const stories: SubcategoryStory[] = [ panProximityStory ]; -const storyMap = new Map<string, SubcategoryStory>( - stories.map((s) => [s.subcategoryId, s]) -); +const storyMap = new Map<string, SubcategoryStory>(stories.map((s) => [s.subcategoryId, s])); export function getSubcategoryStory(subcategoryId: string): SubcategoryStory | undefined { return storyMap.get(subcategoryId); diff --git a/src/lib/data/subcategory-stories/internet-layer.ts b/src/lib/data/subcategory-stories/internet-layer.ts index df3ee8e..22b7977 100644 --- a/src/lib/data/subcategory-stories/internet-layer.ts +++ b/src/lib/data/subcategory-stories/internet-layer.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const internetLayerStory: SubcategoryStory = { subcategoryId: 'internet-layer', tagline: - "Best-effort packet delivery across networks โ€” the narrow waist of the hourglass that lets the rest of the Internet exist", + 'Best-effort packet delivery across networks โ€” the narrow waist of the hourglass that lets the rest of the Internet exist', sections: [ { type: 'narrative', @@ -30,7 +30,7 @@ export const internetLayerStory: SubcategoryStory = { title: 'Co-inventor of TCP/IP', org: 'DARPA / Corporation for National Research Initiatives', contribution: - "Conceived the open-architecture networking idea at DARPA in 1972 and recruited [[pioneer:vint-cerf|Cerf]] to collaborate on the protocols that would become TCP/IP. The crucial decision was that the internet protocol โ€” the spanning layer that connected disparate networks โ€” should make no assumptions about the underlying network technology. That decision lets [[ip|IP]] run on Ethernet, Wi-Fi, satellites, dark fiber, smoke signals, and IP-over-Avian-Carriers ([[rfc:1149|RFC 1149]] โ€” yes, really)." + 'Conceived the open-architecture networking idea at DARPA in 1972 and recruited [[pioneer:vint-cerf|Cerf]] to collaborate on the protocols that would become TCP/IP. The crucial decision was that the internet protocol โ€” the spanning layer that connected disparate networks โ€” should make no assumptions about the underlying network technology. That decision lets [[ip|IP]] run on Ethernet, Wi-Fi, satellites, dark fiber, smoke signals, and IP-over-Avian-Carriers ([[rfc:1149|RFC 1149]] โ€” yes, really).' }, { id: 'steve-deering', @@ -39,7 +39,7 @@ export const internetLayerStory: SubcategoryStory = { title: 'Father of IPv6 and IP Multicast', org: 'Stanford / Xerox PARC / Cisco', contribution: - "Designed IP multicast (RFC 1112, 1989) โ€” the model for one-to-many delivery that underlies multicast routing, IGMP, and (eventually) every IPTV deployment. Also co-designed [[ipv6|IPv6]] (RFC 1883, 1995; later RFC 2460, then [[rfc:8200|RFC 8200]] in 2017) at Xerox PARC and Cisco. Deering\\'s judgment that \"variable-length addresses are operationally too hard\" โ€” leading to IPv6\\'s fixed 128-bit width โ€” is one of the bets that defines the next 50 years of Internet addressing." + 'Designed IP multicast (RFC 1112, 1989) โ€” the model for one-to-many delivery that underlies multicast routing, IGMP, and (eventually) every IPTV deployment. Also co-designed [[ipv6|IPv6]] (RFC 1883, 1995; later RFC 2460, then [[rfc:8200|RFC 8200]] in 2017) at Xerox PARC and Cisco. Deering\\\'s judgment that "variable-length addresses are operationally too hard" โ€” leading to IPv6\\\'s fixed 128-bit width โ€” is one of the bets that defines the next 50 years of Internet addressing.' } ] }, @@ -74,13 +74,13 @@ export const internetLayerStory: SubcategoryStory = { year: 1983, title: 'ARPANET Flag Day', description: - "January 1, 1983 โ€” the ARPANET transitions from NCP to [[tcp|TCP]]/[[ip|IP]]. Most networking textbooks date \"the Internet\" from this day." + 'January 1, 1983 โ€” the ARPANET transitions from NCP to [[tcp|TCP]]/[[ip|IP]]. Most networking textbooks date "the Internet" from this day.' }, { year: 1993, title: 'CIDR Replaces Classful Addressing (RFC 1519)', description: - "Classless Inter-Domain Routing โ€” variable-length subnet masks. Saves [[ip|IPv4]] from premature exhaustion through the late 1990s." + 'Classless Inter-Domain Routing โ€” variable-length subnet masks. Saves [[ip|IPv4]] from premature exhaustion through the late 1990s.' }, { year: 1995, @@ -98,31 +98,31 @@ export const internetLayerStory: SubcategoryStory = { year: 2011, title: 'IPv4 Address Exhaustion', description: - "IANA allocates the last /8 of IPv4 to a regional registry on February 3, 2011. Regional registries run out over the next decade. The address space the original architects thought would last forever is gone." + 'IANA allocates the last /8 of IPv4 to a regional registry on February 3, 2011. Regional registries run out over the next decade. The address space the original architects thought would last forever is gone.' }, { year: 2012, title: 'World IPv6 Launch Day', description: - "Google, Facebook, Yahoo, Akamai, and others permanently enable [[ipv6|IPv6]] on their main websites. Real-world IPv6 traffic share starts rising from <1%." + 'Google, Facebook, Yahoo, Akamai, and others permanently enable [[ipv6|IPv6]] on their main websites. Real-world IPv6 traffic share starts rising from <1%.' }, { year: 2017, title: 'IPv6 RFC 8200', description: - "The current IPv6 specification. Mostly clarifications; a few changes to fragmentation handling. Officially raises IPv6 to Internet Standard." + 'The current IPv6 specification. Mostly clarifications; a few changes to fragmentation handling. Officially raises IPv6 to Internet Standard.' }, { year: 2021, title: 'IPv6 Adoption ~40%', description: - "Google measures ~40% of users reaching it via IPv6. Apple-mandated IPv6-only support in App Store apps (2016) drove much of the adoption โ€” every major mobile app must work over IPv6-only networks." + 'Google measures ~40% of users reaching it via IPv6. Apple-mandated IPv6-only support in App Store apps (2016) drove much of the adoption โ€” every major mobile app must work over IPv6-only networks.' }, { year: 2024, title: 'IPv4 Address Trading', description: - "IPv4 /24 blocks trade for $40-50 each on the secondary market. AWS, Cloudflare, Microsoft are major buyers. The last vestiges of IPv4 allocation become a commodity market." + 'IPv4 /24 blocks trade for $40-50 each on the secondary market. AWS, Cloudflare, Microsoft are major buyers. The last vestiges of IPv4 allocation become a commodity market.' } ] }, @@ -136,9 +136,9 @@ export const internetLayerStory: SubcategoryStory = { values: [ '20 bytes minimum (40 with options)', '32 bits', - "4.3 billion addresses (long exhausted; [[nat-traversal|NAT]] stretches it)", + '4.3 billion addresses (long exhausted; [[nat-traversal|NAT]] stretches it)', 'Wide deployment, mature tooling, simple operation', - "Routers can fragment in transit" + 'Routers can fragment in transit' ] }, { @@ -146,19 +146,19 @@ export const internetLayerStory: SubcategoryStory = { values: [ '40 bytes fixed (extension headers for options)', '128 bits', - "3.4 ร— 10ยณโธ addresses (effectively unlimited)", + '3.4 ร— 10ยณโธ addresses (effectively unlimited)', 'No NAT needed, simpler header, native autoconfiguration (SLAAC)', - "Only end-hosts fragment; routers send ICMPv6 Packet Too Big" + 'Only end-hosts fragment; routers send ICMPv6 Packet Too Big' ] }, { label: '[[icmp|ICMP]]', values: [ 'Variable (depends on type)', - "N/A โ€” uses IP addresses", - "N/A", + 'N/A โ€” uses IP addresses', + 'N/A', 'Diagnostic + error reporting (echo, TTL exceeded, destination unreachable)', - "N/A" + 'N/A' ] } ], @@ -189,7 +189,7 @@ export const internetLayerStory: SubcategoryStory = { B-->>A: ICMP Destination Unreachable or response Note over A: traceroute now knows the full path โ€” R1, R2, R3, B`, caption: - "This is how `traceroute` actually works โ€” it abuses the TTL field. Every IP router decrements TTL; when TTL reaches 0, the router drops the packet and sends an ICMP Time Exceeded back to the source. By sending probes with TTL=1, 2, 3, ..., a source can map the path packet-by-packet. The control plane was never designed for this; it just falls out of the rules.", + 'This is how `traceroute` actually works โ€” it abuses the TTL field. Every IP router decrements TTL; when TTL reaches 0, the router drops the packet and sends an ICMP Time Exceeded back to the source. By sending probes with TTL=1, 2, 3, ..., a source can map the path packet-by-packet. The control plane was never designed for this; it just falls out of the rules.', steps: { 0: '**Normal IP forwarding.** Every router along the path decrements the TTL (Time To Live) field in the IP header by 1. The TTL exists to prevent packets from looping forever in case of routing loops.', 1: 'Source sends a packet destined for B with **TTL=64** (the typical default).', @@ -198,13 +198,13 @@ export const internetLayerStory: SubcategoryStory = { 4: '**Router 3 decrements TTL to 61** and forwards to B. The packet arrived in 4 hops and burned 4 TTL units.', 5: '**Traceroute exploits TTL.** Instead of sending packets with normal TTLs, traceroute sends probes with TTL=1, then 2, then 3... Each probe expires N hops in, and the router that expires it sends an ICMP error back.', 6: 'Source sends a probe with **TTL=1**. R1 will decrement to 0 and drop it.', - 7: 'R1 returns an **ICMP Time Exceeded** message. The source now knows R1\'s IP address โ€” first hop identified.', + 7: "R1 returns an **ICMP Time Exceeded** message. The source now knows R1's IP address โ€” first hop identified.", 8: 'Source sends a probe with **TTL=2**. R1 decrements to 1 and forwards; R2 decrements to 0 and drops.', 9: 'R2 returns **ICMP Time Exceeded** โ€” second hop identified.', 10: 'Source sends a probe with **TTL=3**. Reaches R3, which decrements to 0 and drops.', 11: 'R3 returns **ICMP Time Exceeded** โ€” third hop identified.', - 12: 'Source sends a probe with **TTL=4**. This time it reaches B. B is the destination, not a router; it responds with ICMP Destination Unreachable (if the probe was UDP to a closed port, traceroute\'s usual trick) or a regular response.', - 13: 'B\'s reply ends the trace. Traceroute now knows the full path: **A โ†’ R1 โ†’ R2 โ†’ R3 โ†’ B**, plus the round-trip latency to each hop. The TTL mechanism โ€” designed only to prevent loops โ€” gave us the most-used network-diagnostic tool ever built.' + 12: "Source sends a probe with **TTL=4**. This time it reaches B. B is the destination, not a router; it responds with ICMP Destination Unreachable (if the probe was UDP to a closed port, traceroute's usual trick) or a regular response.", + 13: "B's reply ends the trace. Traceroute now knows the full path: **A โ†’ R1 โ†’ R2 โ†’ R3 โ†’ B**, plus the round-trip latency to each hop. The TTL mechanism โ€” designed only to prevent loops โ€” gave us the most-used network-diagnostic tool ever built." } }, { @@ -219,7 +219,7 @@ export const internetLayerStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **IPv6-only networks** continue to spread. Most major mobile carriers (T-Mobile USA, Reliance Jio, France's mobile networks) are IPv6-only with NAT64/DNS64 for legacy IPv4 access. Apple-mandated dual-stack support means iOS apps just work on these networks. The transition is happening, slowly.\n- **Segment Routing (SRv6)** is rolling out in ISP backbones. Encodes the explicit packet path inside the IPv6 header itself; doesn't replace [[bgp|BGP]] but changes how engineers express traffic engineering. Largely an enterprise/ISP technology, invisible to end users.\n- **IPv6 Extension Headers** โ€” a generality of IPv6 originally meant for innovation โ€” remain underutilized. Many networks drop packets containing extension headers (which they shouldn't but do); deploying anything beyond plain IPv6 is operationally hard.\n- **QUIC over IP** โ€” [[quic|QUIC]] is layered above IP via UDP, but the design point โ€” encrypt transport headers, escape middlebox ossification โ€” is essentially "evolve transport behavior without changing IP." It's a workaround for the fact that IPv6 mass deployment didn't happen on schedule.\n- **IPv4 secondary market** continues. AWS now owns >100 million IPv4 addresses; Cloudflare, Microsoft, Akamai are major holders. IPv4 prefixes are quietly becoming a financial asset class.\n- **The boring truth**: IPv4 will be running real production traffic in 2050. The hourglass is wide enough to hold both versions of the waist for a very long time.` } ] diff --git a/src/lib/data/subcategory-stories/iot-messaging.ts b/src/lib/data/subcategory-stories/iot-messaging.ts index dbcd4c4..3e4676d 100644 --- a/src/lib/data/subcategory-stories/iot-messaging.ts +++ b/src/lib/data/subcategory-stories/iot-messaging.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const iotMessagingStory: SubcategoryStory = { subcategoryId: 'iot-messaging', tagline: - "Talking to billions of constrained devices over flaky links โ€” when every byte and every milliwatt matters", + 'Talking to billions of constrained devices over flaky links โ€” when every byte and every milliwatt matters', sections: [ { type: 'narrative', @@ -20,7 +20,7 @@ export const iotMessagingStory: SubcategoryStory = { title: 'Co-inventor of MQTT', org: 'IBM', contribution: - "Co-invented [[mqtt|MQTT]] at IBM in 1999 with Arlen Nipper. The original use case was telemetry from oil pipelines monitored by VSAT (satellite) โ€” a connection that was expensive, low-bandwidth, and routinely flaky. MQTT\\'s minimalism (2-byte header, no acks required at QoS 0) and its broker-mediated pub/sub model were direct responses to those constraints. Stanford-Clark also pioneered residential applications โ€” \"MQTT in the home\" demos in the mid-2000s โ€” that previewed the smart-home era." + 'Co-invented [[mqtt|MQTT]] at IBM in 1999 with Arlen Nipper. The original use case was telemetry from oil pipelines monitored by VSAT (satellite) โ€” a connection that was expensive, low-bandwidth, and routinely flaky. MQTT\\\'s minimalism (2-byte header, no acks required at QoS 0) and its broker-mediated pub/sub model were direct responses to those constraints. Stanford-Clark also pioneered residential applications โ€” "MQTT in the home" demos in the mid-2000s โ€” that previewed the smart-home era.' }, { name: 'Arlen Nipper', @@ -47,7 +47,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 1999, title: 'MQTT Born at IBM', description: - "[[pioneer:andy-stanford-clark|Stanford-Clark]] and [[pioneer:arlen-nipper|Nipper]] design [[mqtt|MQTT]] for monitoring oil pipelines via satellite links. Constraints: expensive bandwidth, frequent disconnects, tiny embedded controllers." + '[[pioneer:andy-stanford-clark|Stanford-Clark]] and [[pioneer:arlen-nipper|Nipper]] design [[mqtt|MQTT]] for monitoring oil pipelines via satellite links. Constraints: expensive bandwidth, frequent disconnects, tiny embedded controllers.' }, { year: 2011, @@ -77,7 +77,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 2016, title: 'AWS IoT Core Launches', description: - "AWS picks MQTT as the primary protocol for AWS IoT Core. Azure, Google Cloud IoT (now deprecated), Alibaba Cloud IoT all follow with MQTT-first stacks." + 'AWS picks MQTT as the primary protocol for AWS IoT Core. Azure, Google Cloud IoT (now deprecated), Alibaba Cloud IoT all follow with MQTT-first stacks.' }, { year: 2018, @@ -89,7 +89,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 2019, title: 'MQTT 5 Published', description: - "MQTT 5 adds shared subscriptions, message expiry, request/response patterns, properties (extensible metadata), reason codes. Most production deployments are still on 3.1.1 because of broker-side feature gating, but 5 is the path forward." + 'MQTT 5 adds shared subscriptions, message expiry, request/response patterns, properties (extensible metadata), reason codes. Most production deployments are still on 3.1.1 because of broker-side feature gating, but 5 is the path forward.' }, { year: 2022, @@ -117,7 +117,7 @@ export const iotMessagingStory: SubcategoryStory = { '[[tcp|TCP]] (with [[tls|TLS]]) โ€” sometimes WebSocket', 'Topic strings the publisher and subscriber agree on', 'QoS 0 (at-most-once) / 1 (at-least-once) / 2 (exactly-once)', - "Cloud-connected fleet telemetry, mobile push, smart-home cloud" + 'Cloud-connected fleet telemetry, mobile push, smart-home cloud' ] }, { @@ -127,7 +127,7 @@ export const iotMessagingStory: SubcategoryStory = { '[[udp|UDP]] (with DTLS) โ€” sometimes TCP', 'Resource URIs + multicast discovery', 'Confirmable / non-confirmable messages', - "Constrained-radio meshes (Thread, 6LoWPAN), Matter, local control" + 'Constrained-radio meshes (Thread, 6LoWPAN), Matter, local control' ] } ], @@ -161,7 +161,7 @@ export const iotMessagingStory: SubcategoryStory = { B->>S: PUBREL S-->>B: PUBCOMP`, caption: - "[[mqtt|MQTT]] gives you three reliability tiers at the protocol level. Most production traffic is QoS 1 โ€” the sweet spot of \"the broker will retry until acked\" without the 4-message overhead of QoS 2. QoS 2 is rare in practice because most apps prefer idempotent message handlers over exactly-once delivery semantics.", + '[[mqtt|MQTT]] gives you three reliability tiers at the protocol level. Most production traffic is QoS 1 โ€” the sweet spot of "the broker will retry until acked" without the 4-message overhead of QoS 2. QoS 2 is rare in practice because most apps prefer idempotent message handlers over exactly-once delivery semantics.', steps: { 0: '**QoS 0 โ€” fire and forget.** No acknowledgments, no retransmits. Cheapest, lightest, and zero guarantees. Used for telemetry where losing a sample is fine.', 1: 'Publisher sends a **PUBLISH** to the broker. No message ID is used (because there will be no ack to correlate).', @@ -169,7 +169,7 @@ export const iotMessagingStory: SubcategoryStory = { 3: 'No acks anywhere. If the wireless link dropped the packet, the message is gone โ€” the publisher will never know.', 4: '**QoS 1 โ€” at least once.** Adds acknowledgments. The publisher retries until the broker acks; the broker retries until each subscriber acks. The trade: a message may be *delivered more than once* if an ack is lost and the sender retries after the original arrived.', 5: 'Publisher sends **PUBLISH with message id 42**. Starts a retransmit timer.', - 6: 'Broker stores the message durably (per the publisher\'s settings) and replies with **PUBACK 42**. Publisher can now discard its in-flight copy.', + 6: "Broker stores the message durably (per the publisher's settings) and replies with **PUBACK 42**. Publisher can now discard its in-flight copy.", 7: 'Broker delivers **PUBLISH 42** to the subscriber.', 8: 'Subscriber acks with **PUBACK 42**. Broker is done.', 9: '**Possible duplicate.** If the PUBACK from broker to publisher is lost, the publisher retries โ€” the broker may publish the message twice. This is why QoS 1 demands idempotent message handling.', @@ -197,7 +197,7 @@ export const iotMessagingStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **MQTT over [[quic|QUIC]]** moves through IETF drafts. Better than MQTT-over-TCP on lossy mobile links โ€” no transport-layer HoL blocking, faster reconnect after network change. EMQX, HiveMQ, NanoMQ have early implementations.\n- **Sparkplug B** continues spreading in industrial OT (factory floors, energy grids) โ€” a layer on top of MQTT that defines device discovery, state, and command/control schemas. Bridges IT-style MQTT to OT-style protocols (Modbus, OPC UA).\n- **Matter / Thread adoption** drives more CoAP into consumer homes. Apple Home, Google Home, Amazon Alexa, SmartThings all support Matter now; CoAP is the wire protocol behind the curtains.\n- **MQTT-SN** (MQTT for Sensor Networks) โ€” a UDP version of MQTT for the lowest-end devices โ€” sees renewed interest as NB-IoT and LTE-M cellular IoT roll out.\n- **The convergence question**: should IoT consolidate on one protocol (probably MQTT) or maintain the broker-vs-peer-to-peer split? Practical answer for 2025 is probably both, indefinitely.` } ] diff --git a/src/lib/data/subcategory-stories/link-layer.ts b/src/lib/data/subcategory-stories/link-layer.ts index 1976783..203961c 100644 --- a/src/lib/data/subcategory-stories/link-layer.ts +++ b/src/lib/data/subcategory-stories/link-layer.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const linkLayerStory: SubcategoryStory = { subcategoryId: 'link-layer', tagline: - "How bits cross a single physical segment โ€” frames, MAC addresses, and the L2/L3 bridge that holds them together", + 'How bits cross a single physical segment โ€” frames, MAC addresses, and the L2/L3 bridge that holds them together', sections: [ { type: 'narrative', @@ -50,7 +50,7 @@ export const linkLayerStory: SubcategoryStory = { year: 1973, title: 'Ethernet at Xerox PARC', description: - "[[pioneer:bob-metcalfe|Metcalfe]] and [[pioneer:david-boggs|Boggs]] design Ethernet for connecting Alto workstations. Initial design memo dated May 22, 1973. Runs at 2.94 Mbps on a single coaxial cable." + '[[pioneer:bob-metcalfe|Metcalfe]] and [[pioneer:david-boggs|Boggs]] design Ethernet for connecting Alto workstations. Initial design memo dated May 22, 1973. Runs at 2.94 Mbps on a single coaxial cable.' }, { year: 1980, @@ -62,7 +62,7 @@ export const linkLayerStory: SubcategoryStory = { year: 1982, title: 'ARP RFC 826', description: - "[[arp|ARP]] standardized. The protocol that bridges IP addressing and Ethernet MAC addressing โ€” sit-at-Layer-2.5 forever." + '[[arp|ARP]] standardized. The protocol that bridges IP addressing and Ethernet MAC addressing โ€” sit-at-Layer-2.5 forever.' }, { year: 1983, @@ -74,49 +74,49 @@ export const linkLayerStory: SubcategoryStory = { year: 1985, title: 'Spanning Tree Protocol', description: - "[[pioneer:radia-perlman|Perlman]]'s STP lets multiple bridges interconnect without creating loops. The protocol's correctness is famously elegant; her poem \"Algorhyme\" describes it: \"I think that I shall never see / a graph more lovely than a tree.\"" + '[[pioneer:radia-perlman|Perlman]]\'s STP lets multiple bridges interconnect without creating loops. The protocol\'s correctness is famously elegant; her poem "Algorhyme" describes it: "I think that I shall never see / a graph more lovely than a tree."' }, { year: 1990, title: '10BASE-T โ€” Twisted Pair Ethernet', description: - "Star-topology Ethernet over twisted-pair cables and hubs. Eliminates the failure mode of \"one cable break takes down the whole segment.\" Begins Ethernet's dominance over Token Ring." + 'Star-topology Ethernet over twisted-pair cables and hubs. Eliminates the failure mode of "one cable break takes down the whole segment." Begins Ethernet\'s dominance over Token Ring.' }, { year: 1995, title: 'Fast Ethernet โ€” 100 Mbps', description: - "100BASE-TX โ€” 100 Mbps over Cat 5 twisted pair. The version that makes Ethernet boringly fast for the next decade. Full-duplex via switches eliminates collisions." + '100BASE-TX โ€” 100 Mbps over Cat 5 twisted pair. The version that makes Ethernet boringly fast for the next decade. Full-duplex via switches eliminates collisions.' }, { year: 1998, title: 'Gigabit Ethernet โ€” 1 Gbps', description: - "1000BASE-T. The era when Ethernet stopped being \"the office LAN\" and started being the data-center backbone." + '1000BASE-T. The era when Ethernet stopped being "the office LAN" and started being the data-center backbone.' }, { year: 2003, title: 'Power over Ethernet (802.3af)', description: - "PoE lets Ethernet cables carry power as well as data. Powers VoIP phones, IP cameras, wireless APs without separate power adapters. 802.3at (PoE+, 2009) and 802.3bt (PoE++, 2018) keep raising the power ceiling." + 'PoE lets Ethernet cables carry power as well as data. Powers VoIP phones, IP cameras, wireless APs without separate power adapters. 802.3at (PoE+, 2009) and 802.3bt (PoE++, 2018) keep raising the power ceiling.' }, { year: 2010, title: '40G and 100G Ethernet (802.3ba)', description: - "Ethernet hits data-center scale. 40 Gbps and 100 Gbps over fiber. Subsequent generations: 200/400G (802.3bs, 2017), 800G (802.3df, 2024)." + 'Ethernet hits data-center scale. 40 Gbps and 100 Gbps over fiber. Subsequent generations: 200/400G (802.3bs, 2017), 800G (802.3df, 2024).' }, { year: 2018, title: 'Multi-Gigabit Ethernet (NBASE-T)', description: - "2.5GBASE-T and 5GBASE-T over existing Cat 5e/6 cables. Designed for Wi-Fi 6/6E APs that need >1 Gbps backhaul without recabling the building." + '2.5GBASE-T and 5GBASE-T over existing Cat 5e/6 cables. Designed for Wi-Fi 6/6E APs that need >1 Gbps backhaul without recabling the building.' }, { year: 2024, title: 'Ethernet Everywhere', description: - "Ethernet variants now span 100 Mbps (still in some IoT) to 800 Gbps (data center spines), automotive (10BASE-T1S, single-pair), and TSN (Time-Sensitive Networking) for industrial real-time. The frame format has barely changed since 1980." + 'Ethernet variants now span 100 Mbps (still in some IoT) to 800 Gbps (data center spines), automotive (10BASE-T1S, single-pair), and TSN (Time-Sensitive Networking) for industrial real-time. The frame format has barely changed since 1980.' } ] }, @@ -129,9 +129,9 @@ export const linkLayerStory: SubcategoryStory = { label: '[[ethernet|Ethernet]]', values: [ 'Layer 2 (data link)', - "48-bit MAC addresses (2โดโธ โ‰ˆ 281 trillion)", - "One physical segment (or VLAN)", - "Switches learn MACs from source addresses of received frames" + '48-bit MAC addresses (2โดโธ โ‰ˆ 281 trillion)', + 'One physical segment (or VLAN)', + 'Switches learn MACs from source addresses of received frames' ] }, { @@ -140,11 +140,11 @@ export const linkLayerStory: SubcategoryStory = { 'Layer 2.5 (between L2 and L3)', 'Maps IPv4 addresses โ†’ MAC addresses', 'One physical segment (or VLAN)', - "Broadcast \"who has X?\" โ†’ unicast reply; cache the binding" + 'Broadcast "who has X?" โ†’ unicast reply; cache the binding' ] } ], - note: "ARP is IPv4-only. IPv6 replaces it with Neighbor Discovery (ND), which uses ICMPv6 โ€” same job, different protocol family. The need for the layer-bridging function never went away." + note: 'ARP is IPv4-only. IPv6 replaces it with Neighbor Discovery (ND), which uses ICMPv6 โ€” same job, different protocol family. The need for the layer-bridging function never went away.' }, { type: 'animated-sequence', @@ -169,7 +169,7 @@ export const linkLayerStory: SubcategoryStory = { Note over A,B: Subsequent packets bypass ARP โ€” cache hit Note over A: cache entry expires after 2-20 minutes, ARP re-runs`, caption: - "This is the classic Ethernet+ARP exchange. The first message to a new IP triggers an ARP request (broadcast across the segment); subsequent messages use the cached MAC. The switch learns MAC-to-port mappings from source addresses, so once both hosts have sent something, the switch forwards directly without flooding.", + 'This is the classic Ethernet+ARP exchange. The first message to a new IP triggers an ARP request (broadcast across the segment); subsequent messages use the cached MAC. The switch learns MAC-to-port mappings from source addresses, so once both hosts have sent something, the switch forwards directly without flooding.', steps: { 0: '**The problem.** Host A wants to send to IP `10.0.0.7`. The IP layer knows where to send (the destination IP); the Ethernet layer needs a *MAC address* to put in the frame header. ARP bridges these two layers.', 1: '**ARP cache miss.** A checks its local ARP cache first. Nothing there for 10.0.0.7 โ€” this is the first time A has talked to B.', @@ -177,13 +177,13 @@ export const linkLayerStory: SubcategoryStory = { 3: 'The switch **floods** the broadcast to every port except the one it came in on. This is what "broadcast domain" means.', 4: 'The broadcast reaches B (and every other host on the segment, but they ignore it).', 5: 'B recognizes its own IP in the request. The other hosts silently drop the frame.', - 6: 'B sends an **ARP REPLY** *unicast* back to A. The reply carries B\'s MAC address (`bb:bb`). Only A needs to hear this.', - 7: 'The switch **learns** that MAC `bb:bb` is reachable through B\'s port. This is the source-MAC learning that makes switches more efficient than hubs.', - 8: 'The switch forwards the reply to A โ€” *only* to A\'s port, because the switch knows where A is too.', + 6: "B sends an **ARP REPLY** *unicast* back to A. The reply carries B's MAC address (`bb:bb`). Only A needs to hear this.", + 7: "The switch **learns** that MAC `bb:bb` is reachable through B's port. This is the source-MAC learning that makes switches more efficient than hubs.", + 8: "The switch forwards the reply to A โ€” *only* to A's port, because the switch knows where A is too.", 9: 'A **caches** the mapping `10.0.0.7 โ†’ bb:bb`. Future packets to 10.0.0.7 skip the ARP step entirely.', - 10: '**Now A can send the real packet.** ARP was just to learn B\'s MAC; the actual data transfer begins here.', + 10: "**Now A can send the real packet.** ARP was just to learn B's MAC; the actual data transfer begins here.", 11: 'A sends an **Ethernet frame** with destination MAC `bb:bb` and the IP packet as the payload.', - 12: 'The switch already knows where `bb:bb` lives. It **forwards to B\'s port only** โ€” no flooding.', + 12: "The switch already knows where `bb:bb` lives. It **forwards to B's port only** โ€” no flooding.", 13: '**Subsequent packets bypass ARP entirely.** Both sides have cached MACs; the switch has learned port assignments. A 10-Gbps file transfer is just billions of frames following this same path.', 14: '**Cache entries expire** after 2โ€“20 minutes (varies by OS). When they expire, ARP runs again โ€” which is why a long-idle connection sometimes has a tiny stutter on its first packet after a pause.' } @@ -200,7 +200,7 @@ export const linkLayerStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **800 Gbps Ethernet** (802.3df, 2024) ships in hyperscaler data centers. 1.6 Tbps is the next target.\n- **Single-pair Ethernet (10BASE-T1S, 100BASE-T1, 1000BASE-T1)** for automotive and industrial. One pair of wires instead of four; multi-drop topology. Replacing CAN bus in cars over the next decade.\n- **TSN โ€” Time-Sensitive Networking** brings deterministic latency to Ethernet for industrial control and audio/video. Time-aware shaping, frame preemption, IEEE 802.1AS time sync. The "Ethernet for real-time" story finally credible.\n- **MACsec (802.1AE)** for link-layer encryption. Encrypts frames between switches, separately from IPsec/TLS at higher layers. Standard for hyperscaler east-west traffic.\n- **IPv6 + ND replacing IPv4 + ARP** continues slowly. IPv6 Neighbor Discovery (ND) does ARP's job over ICMPv6, with additional features for stateless address autoconfiguration. The transition is ~30% complete by traffic volume, ~5% by deployed device count.\n- **The truth about Ethernet**: the frame format from 1980 is still the frame format. The bandwidth has grown 80,000ร— (10 Mbps โ†’ 800 Gbps). The collision-detection medium-access protocol is gone. The protocol that runs the planet is the protocol that's changed everywhere except where its name is.` } ] diff --git a/src/lib/data/subcategory-stories/mail-file-transfer.ts b/src/lib/data/subcategory-stories/mail-file-transfer.ts index 9dab793..be7b59d 100644 --- a/src/lib/data/subcategory-stories/mail-file-transfer.ts +++ b/src/lib/data/subcategory-stories/mail-file-transfer.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const mailFileTransferStory: SubcategoryStory = { subcategoryId: 'mail-file-transfer', tagline: - "The oldest application protocols โ€” text on the wire, store-and-forward, and the surprising afterlife of 50-year-old designs", + 'The oldest application protocols โ€” text on the wire, store-and-forward, and the surprising afterlife of 50-year-old designs', sections: [ { type: 'narrative', @@ -46,7 +46,7 @@ export const mailFileTransferStory: SubcategoryStory = { title: 'Author of FTP', org: 'MIT', contribution: - "Wrote [[rfc:114|RFC 114]] (1971) โ€” the original [[ftp|FTP]] specification, predating TCP/IP. Bhushan was a graduate student at MIT working on the early ARPANET; FTP was needed because researchers wanted to share files between sites and there was no standard way to do it. The protocol has been revised many times (959, 2228, 2428) but the core command-response shape from 1971 remains." + 'Wrote [[rfc:114|RFC 114]] (1971) โ€” the original [[ftp|FTP]] specification, predating TCP/IP. Bhushan was a graduate student at MIT working on the early ARPANET; FTP was needed because researchers wanted to share files between sites and there was no standard way to do it. The protocol has been revised many times (959, 2228, 2428) but the core command-response shape from 1971 remains.' } ] }, @@ -57,31 +57,31 @@ export const mailFileTransferStory: SubcategoryStory = { year: 1971, title: 'FTP First Specified (RFC 114)', description: - "Bhushan publishes the first FTP. Originally ran on NCP, the pre-TCP ARPANET protocol. The oldest application protocol still in production use today." + 'Bhushan publishes the first FTP. Originally ran on NCP, the pre-TCP ARPANET protocol. The oldest application protocol still in production use today.' }, { year: 1971, title: 'Ray Tomlinson Sends First Network Email', description: - "Tomlinson uses SNDMSG to send a message between two ARPANET-connected PDP-10s at BBN. Picks `@` to separate user from host." + 'Tomlinson uses SNDMSG to send a message between two ARPANET-connected PDP-10s at BBN. Picks `@` to separate user from host.' }, { year: 1982, title: 'SMTP (RFC 821) + Message Format (RFC 822)', description: - "[[pioneer:jon-postel|Postel]] writes the [[smtp|SMTP]] spec, codifying what ARPANET sites had already been doing for a decade. Both RFCs published the same month; both still operational as updated [[rfc:5321|RFC 5321]] and RFC 5322." + '[[pioneer:jon-postel|Postel]] writes the [[smtp|SMTP]] spec, codifying what ARPANET sites had already been doing for a decade. Both RFCs published the same month; both still operational as updated [[rfc:5321|RFC 5321]] and RFC 5322.' }, { year: 1984, title: 'POP1 (RFC 918)', description: - "Post Office Protocol v1 ships โ€” \"download mail to my workstation, delete it from the server.\" The right design when your workstation is your only mail device; the wrong design once mobile arrives." + 'Post Office Protocol v1 ships โ€” "download mail to my workstation, delete it from the server." The right design when your workstation is your only mail device; the wrong design once mobile arrives.' }, { year: 1985, title: 'FTP RFC 959', description: - "The current [[ftp|FTP]] specification. Cleans up the 1971 design without breaking it. Active vs passive mode is documented; this still trips up firewalls 40 years later." + 'The current [[ftp|FTP]] specification. Cleans up the 1971 design without breaking it. Active vs passive mode is documented; this still trips up firewalls 40 years later.' }, { year: 1988, @@ -93,7 +93,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 1995, title: 'SFTP and SCP Over SSH', description: - "SCP and SFTP โ€” file transfer over [[ssh|SSH]] โ€” ship with OpenSSH. Eventually displaces FTP for most secure-file-transfer use cases inside organizations. FTP retreats to anonymous file mirrors." + 'SCP and SFTP โ€” file transfer over [[ssh|SSH]] โ€” ship with OpenSSH. Eventually displaces FTP for most secure-file-transfer use cases inside organizations. FTP retreats to anonymous file mirrors.' }, { year: 1998, @@ -104,8 +104,7 @@ export const mailFileTransferStory: SubcategoryStory = { { year: 2003, title: 'IMAP4rev1 (RFC 3501)', - description: - 'The IMAP4rev1 spec used by every modern mail client.' + description: 'The IMAP4rev1 spec used by every modern mail client.' }, { year: 2004, @@ -117,7 +116,7 @@ export const mailFileTransferStory: SubcategoryStory = { year: 2007, title: 'DKIM, SPF Standardized', description: - "DomainKeys Identified Mail and Sender Policy Framework finally give SMTP a way to verify mail origins. {{dmarc|DMARC}} (2015) glues them together with reporting and policy. Spam is reduced from existential threat to manageable nuisance." + 'DomainKeys Identified Mail and Sender Policy Framework finally give SMTP a way to verify mail origins. {{dmarc|DMARC}} (2015) glues them together with reporting and policy. Spam is reduced from existential threat to manageable nuisance.' }, { year: 2018, @@ -144,7 +143,7 @@ export const mailFileTransferStory: SubcategoryStory = { 'Push โ€” sender to receiver', '1 (control + data multiplexed)', 'Originally none; modern: SMTP-AUTH + STARTTLS', - "Mail submission (587) + server-to-server delivery (25)" + 'Mail submission (587) + server-to-server delivery (25)' ] }, { @@ -153,7 +152,7 @@ export const mailFileTransferStory: SubcategoryStory = { 'Pull โ€” client reads from server', '1 (with IDLE for push-like behavior)', 'Password (over TLS) or OAuth 2.0', - "Every mail client (Outlook, Apple Mail, Thunderbird, Gmail/iOS); ~all webmail" + 'Every mail client (Outlook, Apple Mail, Thunderbird, Gmail/iOS); ~all webmail' ] }, { @@ -162,7 +161,7 @@ export const mailFileTransferStory: SubcategoryStory = { 'Bidirectional โ€” STOR uploads, RETR downloads', '2 (control 21 + data port negotiated)', 'Anonymous or password; FTPS for TLS', - "Public file mirrors, legacy enterprise integration, some scientific data" + 'Public file mirrors, legacy enterprise integration, some scientific data' ] } ], @@ -198,32 +197,32 @@ export const mailFileTransferStory: SubcategoryStory = { U2->>M: IMAP FETCH unread messages M-->>U2: Mail delivered`, caption: - "Email's store-and-forward architecture means there's no end-to-end \"connection\" between sender and recipient. A message hops through one or more MTAs, each taking responsibility before the next, with retries on failure. This is why email tolerates network outages and recipient downtime โ€” the queueing was designed in from 1971.", + 'Email\'s store-and-forward architecture means there\'s no end-to-end "connection" between sender and recipient. A message hops through one or more MTAs, each taking responsibility before the next, with retries on failure. This is why email tolerates network outages and recipient downtime โ€” the queueing was designed in from 1971.', steps: { - 0: '**Phase 1 โ€” Submission.** Alice composes mail in Apple Mail. The MUA submits to *her own provider\'s* SMTP server โ€” never directly to the recipient. This separation is what enables spam filtering and authenticated submission.', + 0: "**Phase 1 โ€” Submission.** Alice composes mail in Apple Mail. The MUA submits to *her own provider's* SMTP server โ€” never directly to the recipient. This separation is what enables spam filtering and authenticated submission.", 1: 'Mail client connects to its submission server on **port 587** with STARTTLS and SMTP-AUTH. Port 25 is server-to-server only on modern networks; submission has its own port.', 2: 'Server accepts and replies **250 OK**, queueing the message. From here, Alice\'s sending is "done" โ€” but the message has not yet reached Bob.', 3: '**Phase 2 โ€” Lookup.** The sending MTA needs to find where to deliver. It asks DNS.', 4: 'SMTP server asks DNS for the **MX records** of `foo.org`. MX records point at mail servers, with priorities for failover.', 5: 'DNS returns `mx.foo.org` at priority 10 (the lower the priority, the higher the preference โ€” yes, backwards from intuition).', - 6: '**Phase 3 โ€” Server-to-server relay.** Now the actual SMTP conversation between two organizations\' mail servers.', + 6: "**Phase 3 โ€” Server-to-server relay.** Now the actual SMTP conversation between two organizations' mail servers.", 7: 'S1 connects to S2 on **port 25** and negotiates STARTTLS (opportunistic โ€” if S2 supports TLS, the conversation gets encrypted; if not, falls back to cleartext).', 8: 'S1 sends **MAIL FROM** โ€” declaring the envelope sender. This is the "return-path" used for bounces, not necessarily what the user sees in the From header.', 9: 'S2 accepts the sender with **250 ok**.', 10: 'S1 sends **RCPT TO** โ€” one recipient per RCPT command. (Multiple recipients = multiple RCPT TO lines.)', 11: 'S2 accepts the recipient with **250 ok**. (Could reject here for "user does not exist," "mailbox full," etc.)', 12: 'S1 sends **DATA**, then headers, body, and a terminating `CRLF.CRLF`. Everything between is the message proper.', - 13: 'S2 confirms with **250 queued**. The message is now S2\'s responsibility. S1 can delete its copy.', - 14: '**Phase 4 โ€” Local delivery.** S2 has accepted the message; now it has to deposit it in Bob\'s mailbox.', - 15: 'S2 hands off via **LMTP** (Local Mail Transfer Protocol) or direct write to the mailbox store. This step happens entirely inside S2\'s infrastructure.', + 13: "S2 confirms with **250 queued**. The message is now S2's responsibility. S1 can delete its copy.", + 14: "**Phase 4 โ€” Local delivery.** S2 has accepted the message; now it has to deposit it in Bob's mailbox.", + 15: "S2 hands off via **LMTP** (Local Mail Transfer Protocol) or direct write to the mailbox store. This step happens entirely inside S2's infrastructure.", 16: '**Phase 5 โ€” Recipient reads.** Bob is on Gmail. His client never sees SMTP; it uses IMAP to fetch.', - 17: 'Bob\'s mail client sends **IMAP FETCH** to ask for new messages.', - 18: 'Server returns the mail. **From Alice\'s perspective the message was sent hours ago; from Bob\'s perspective it just arrived.** The store-and-forward architecture made each hop independent.' + 17: "Bob's mail client sends **IMAP FETCH** to ask for new messages.", + 18: "Server returns the mail. **From Alice's perspective the message was sent hours ago; from Bob's perspective it just arrived.** The store-and-forward architecture made each hop independent." } }, { type: 'callout', - title: 'Why Email Survived (and FTP Didn\'t Quite)', + title: "Why Email Survived (and FTP Didn't Quite)", text: `[[smtp|SMTP]] is still the world's mail transport in 2025. [[ftp|FTP]] is barely alive. Both date from the same era. What's the difference?\n\n**Email has no replacement at scale.** Chat protocols (Slack, WhatsApp, iMessage, Teams) are silos โ€” Gmail can't message a WhatsApp user. Federated chat (XMPP, Matrix) lost the consumer market. The "universal address" property of \`alice@example.com\` โ€” anyone can email anyone, no platform required โ€” has no successor. As long as that property matters, SMTP runs.\n\n**FTP has obvious replacements.** SFTP (over [[ssh|SSH]]) gives the same file-transfer semantics with encryption and authentication built in. HTTPS lets you serve files with finer-grained access control, resumable downloads, and CDN caching. \`rsync\` does incremental sync better than FTP ever did. \`aws s3 cp\` is what people actually run when they want to "transfer a file" in 2025. FTP had everywhere to go but down.\n\n**Mail accreted modern features without breaking the wire.** Anti-spam (DKIM, SPF, DMARC), TLS encryption (STARTTLS, MTA-STS), authentication (SMTP-AUTH, OAuth 2.0), structured content (MIME), webmail โ€” all layered on top of 1982 SMTP without changing the basic envelope-headers-body shape. A 1995 Eudora client can technically still send mail to a Gmail user (Gmail might reject it for spam reasons, but the protocol path works).\n\nFTP's active-mode-vs-passive-mode connection complexity and unencrypted-by-default design made it a worse fit for the modern Internet. Mail's loose store-and-forward and text-extensibility made it a better one. Sometimes a protocol survives because it's exactly the right shape for the next forty years of demand.` }, { @@ -233,7 +232,7 @@ export const mailFileTransferStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **JMAP** (RFC 8620) continues slow adoption as the spiritual IMAP successor. JSON over HTTPS, designed for mobile-first sync. Fastmail uses it natively; Apple Mail, Thunderbird, and Roundcube have client support. The catch: nearly every existing mail server speaks IMAP, and rewriting that side is enormous work.\n- **MTA-STS + DANE + BIMI** continue closing the SMTP security gaps. MTA-STS forces TLS between mail servers using a published policy; DANE binds TLS certs to DNSSEC; BIMI shows brand logos in supporting mail clients. Email's security keeps getting better without changing the protocol.\n- **OAuth 2.0 for SMTP/IMAP** โ€” Microsoft 365 and Google Workspace require OAuth 2.0 for client mail access. Password-based mail is dying inside enterprises (already gone at Microsoft as of 2022).\n- **Encrypted mail (S/MIME, PGP)** remains niche. Apple Mail and Outlook ship S/MIME for enterprise; consumer adoption is rare. The "no end-to-end encrypted alternative to email at scale" problem is still open.\n- **FTP slow extinction**. Public FTP mirrors (kernel.org, Debian, GNU) have mostly moved to HTTPS. SFTP handles secure file transfer. Cloud object storage (S3, GCS) handles bulk transfer. FTP in 2030 will mostly exist as a legacy compatibility shim in enterprise integration platforms.\n- **The truth about these protocols**: they're too embedded to die and too old-fashioned to attract new development. They'll outlive most of the protocols designed in the last 20 years.` } ] diff --git a/src/lib/data/subcategory-stories/naming.ts b/src/lib/data/subcategory-stories/naming.ts index b49ef42..4c41bc9 100644 --- a/src/lib/data/subcategory-stories/naming.ts +++ b/src/lib/data/subcategory-stories/naming.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const namingStory: SubcategoryStory = { subcategoryId: 'naming', tagline: - "The distributed database that lets humans find machines โ€” and the single most consequential cache in computing", + 'The distributed database that lets humans find machines โ€” and the single most consequential cache in computing', sections: [ { type: 'narrative', @@ -21,7 +21,7 @@ export const namingStory: SubcategoryStory = { title: 'Inventor of DNS', org: 'USC ISI', contribution: - "Designed and implemented [[dns|DNS]] in 1983 ([[rfc:1034|RFC 1034]], [[rfc:1035|RFC 1035]]). The hierarchical zone-delegation model, the recursive vs iterative split, the resource-record types, the on-the-wire packet format โ€” all Mockapetris. The first DNS server was JEEVES, written in TOPS-20 assembler. BIND, the dominant DNS server for the next 35 years, was a clean-room re-implementation by Berkeley grad students using the spec. Mockapetris also chaired the IETF (1994โ€“1996).", + 'Designed and implemented [[dns|DNS]] in 1983 ([[rfc:1034|RFC 1034]], [[rfc:1035|RFC 1035]]). The hierarchical zone-delegation model, the recursive vs iterative split, the resource-record types, the on-the-wire packet format โ€” all Mockapetris. The first DNS server was JEEVES, written in TOPS-20 assembler. BIND, the dominant DNS server for the next 35 years, was a clean-room re-implementation by Berkeley grad students using the spec. Mockapetris also chaired the IETF (1994โ€“1996).', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Paul_Mockapetris.jpg/330px-Paul_Mockapetris.jpg' }, @@ -32,7 +32,7 @@ export const namingStory: SubcategoryStory = { title: 'IANA & Root Zone Steward', org: 'USC ISI', contribution: - "Managed the [[dns|DNS]] root zone and the top-level domain assignments for over a decade as IANA, often single-handedly. The famous \"Postel test\" of January 1998 โ€” Postel asked eight of the twelve root servers to temporarily take their root zone from his own server rather than the one operated by Network Solutions, to demonstrate that root authority should be technical, not political. The US government was not amused; ICANN was formed later that year to replace Postel's role with a multi-stakeholder body.", + 'Managed the [[dns|DNS]] root zone and the top-level domain assignments for over a decade as IANA, often single-handedly. The famous "Postel test" of January 1998 โ€” Postel asked eight of the twelve root servers to temporarily take their root zone from his own server rather than the one operated by Network Solutions, to demonstrate that root authority should be technical, not political. The US government was not amused; ICANN was formed later that year to replace Postel\'s role with a multi-stakeholder body.', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Jon_Postel_sitting_in_office_%28cropped%29.jpg/330px-Jon_Postel_sitting_in_office_%28cropped%29.jpg' }, @@ -54,19 +54,19 @@ export const namingStory: SubcategoryStory = { year: 1973, title: 'HOSTS.TXT Begins', description: - "Elizabeth Feinler at SRI maintains a single text file mapping ARPANET hosts to addresses. Distribution: FTP overnight." + 'Elizabeth Feinler at SRI maintains a single text file mapping ARPANET hosts to addresses. Distribution: FTP overnight.' }, { year: 1983, title: 'DNS Standardized (RFCs 1034, 1035)', description: - "[[pioneer:paul-mockapetris|Mockapetris]] publishes the design that will run the Internet. Hierarchical namespace, distributed authority, caching." + '[[pioneer:paul-mockapetris|Mockapetris]] publishes the design that will run the Internet. Hierarchical namespace, distributed authority, caching.' }, { year: 1984, title: 'BIND 1.0 Released', description: - "Berkeley Internet Name Domain โ€” a clean-room reimplementation by Doug Terry, Mark Painter, David Riggle, and Songnian Zhou. Becomes the dominant DNS server for 30+ years." + 'Berkeley Internet Name Domain โ€” a clean-room reimplementation by Doug Terry, Mark Painter, David Riggle, and Songnian Zhou. Becomes the dominant DNS server for 30+ years.' }, { year: 1998, @@ -78,7 +78,7 @@ export const namingStory: SubcategoryStory = { year: 2008, title: 'Kaminsky DNS Cache Poisoning', description: - "Dan Kaminsky discovers that the 16-bit DNS transaction ID is too small to prevent off-path poisoning. Coordinated patch deploys randomized source ports to add ~16 more bits of entropy. The fix is wire-compatible; recursive resolvers everywhere update within months." + 'Dan Kaminsky discovers that the 16-bit DNS transaction ID is too small to prevent off-path poisoning. Coordinated patch deploys randomized source ports to add ~16 more bits of entropy. The fix is wire-compatible; recursive resolvers everywhere update within months.' }, { year: 2010, @@ -96,7 +96,7 @@ export const namingStory: SubcategoryStory = { year: 2018, title: 'DNS over HTTPS (DoH) Standardized (RFC 8484)', description: - "Encapsulating DNS queries in HTTPS to the resolver. Mozilla and Google enable it by default in their browsers, drawing fire from ISPs and governments that relied on DNS visibility for filtering, analytics, and law enforcement." + 'Encapsulating DNS queries in HTTPS to the resolver. Mozilla and Google enable it by default in their browsers, drawing fire from ISPs and governments that relied on DNS visibility for filtering, analytics, and law enforcement.' }, { year: 2022, @@ -128,15 +128,30 @@ export const namingStory: SubcategoryStory = { }, { label: 'DNS over TLS (DoT)', - values: ['[[tcp|TCP]] + [[tls|TLS]]', '853', '[[tls|TLS]] 1.2+', 'OS-level resolvers (Android Private DNS)'] + values: [ + '[[tcp|TCP]] + [[tls|TLS]]', + '853', + '[[tls|TLS]] 1.2+', + 'OS-level resolvers (Android Private DNS)' + ] }, { label: 'DNS over HTTPS (DoH)', - values: ['[[http2|HTTP/2]] + [[tls|TLS]]', '443', '[[tls|TLS]] 1.2+', 'Browser-level (Chrome, Firefox); hides DNS from local network'] + values: [ + '[[http2|HTTP/2]] + [[tls|TLS]]', + '443', + '[[tls|TLS]] 1.2+', + 'Browser-level (Chrome, Firefox); hides DNS from local network' + ] }, { label: 'DNS over QUIC (DoQ)', - values: ['[[quic|QUIC]] (UDP)', '853', 'Mandatory [[tls|TLS]] 1.3', 'Lower latency than DoH; emerging adoption'] + values: [ + '[[quic|QUIC]] (UDP)', + '853', + 'Mandatory [[tls|TLS]] 1.3', + 'Lower latency than DoH; emerging adoption' + ] } ], note: "All four are wire-compatible at the *DNS payload* level. The transport changed; the message format didn't. That's the depth of Mockapetris's original design." @@ -165,7 +180,7 @@ export const namingStory: SubcategoryStory = { caption: "The first query for a name walks the tree โ€” root โ†’ TLD โ†’ authoritative. Every subsequent query within the TTL window is served from the resolver's cache. Caching is what makes DNS *fast*. Cache poisoning is what makes DNS *dangerous*.", steps: { - 0: '**The query begins.** Your laptop wants to load `www.example.com`. The OS asks the configured DNS resolver โ€” usually your ISP\'s, or 8.8.8.8, or 1.1.1.1.', + 0: "**The query begins.** Your laptop wants to load `www.example.com`. The OS asks the configured DNS resolver โ€” usually your ISP's, or 8.8.8.8, or 1.1.1.1.", 1: 'Client sends the query to its **recursive resolver**. (The client itself is a "stub resolver" โ€” it does no work beyond asking once.)', 2: '**Cache miss.** The recursive resolver checks its cache. If it had answered this name in the last TTL window, it would serve from cache and be done. First-time queries โ€” and rare names โ€” recurse.', 3: 'Resolver asks a **root server**. There are 13 root server addresses (a-m.root-servers.net), heavily anycast-replicated worldwide. The resolver knows them from a built-in hints file.', @@ -191,7 +206,7 @@ export const namingStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **{{dnssec|DNSSEC}} validation in stub resolvers** โ€” pushed by Apple in iOS/macOS and increasingly enabled by default. The end-to-end chain finally completes when the *client*, not just the recursive resolver, validates signatures.\n- **Encrypted Client Hello (ECH)** uses DNS to publish keys that hide SNI from passive network observers. Now default in Chrome and Firefox; the last metadata leak in TLS is closing.\n- **Oblivious DNS over HTTPS (ODoH)** separates *who is asking* from *what they're asking*. A relay knows the client but not the query; a target knows the query but not the client. Apple's iCloud Private Relay uses a similar architecture.\n- **The political fight over DoH.** Several governments (UK, Russia, China, parts of EU) have moved to restrict or ban encrypted DNS. The protocol is decided; the question of who can run a recursive resolver, and whether ISPs can mandate their own, is not.\n\nThe protocol Mockapetris designed in 1983 is barely changed. Everything new is happening around its edges.` } ] diff --git a/src/lib/data/subcategory-stories/network-services.ts b/src/lib/data/subcategory-stories/network-services.ts index 55fc6d3..577b10b 100644 --- a/src/lib/data/subcategory-stories/network-services.ts +++ b/src/lib/data/subcategory-stories/network-services.ts @@ -21,7 +21,7 @@ export const networkServicesStory: SubcategoryStory = { title: 'DHCP Implementer / Stewart', org: 'Internet Software Consortium / Apple / Independent', contribution: - "Implemented and maintained ISC DHCP โ€” the reference open-source DHCP server and client for two decades โ€” and authored major DHCP-related RFCs including IPv6 DHCP, dynamic DNS updates, and the modern DHCPv4 reliability extensions. ISC DHCP shipped in essentially every Linux distribution, BSD, and embedded router for years; Lemon\\'s sustained engineering is one of the reasons \"plug it in and it works\" is a universal expectation." + 'Implemented and maintained ISC DHCP โ€” the reference open-source DHCP server and client for two decades โ€” and authored major DHCP-related RFCs including IPv6 DHCP, dynamic DNS updates, and the modern DHCPv4 reliability extensions. ISC DHCP shipped in essentially every Linux distribution, BSD, and embedded router for years; Lemon\\\'s sustained engineering is one of the reasons "plug it in and it works" is a universal expectation.' }, { id: 'david-mills', @@ -48,7 +48,7 @@ export const networkServicesStory: SubcategoryStory = { title: 'NAT Traversal Researcher', org: 'MIT / Yale / EPFL', contribution: - "Co-authored the seminal 2005 USENIX paper \"Peer-to-Peer Communication Across Network Address Translators\" with Pyda Srisuresh and Dan Kegel. The paper laid out the taxonomy of NAT behaviors (full cone, restricted cone, port-restricted cone, symmetric) and the hole-punching techniques that became {{stun|STUN}} / {{turn|TURN}} / {{ice|ICE}}. Without this work, modern peer-to-peer (WebRTC, BitTorrent peer discovery, IPFS, blockchain peer networks) would be vastly more expensive or impossible." + 'Co-authored the seminal 2005 USENIX paper "Peer-to-Peer Communication Across Network Address Translators" with Pyda Srisuresh and Dan Kegel. The paper laid out the taxonomy of NAT behaviors (full cone, restricted cone, port-restricted cone, symmetric) and the hole-punching techniques that became {{stun|STUN}} / {{turn|TURN}} / {{ice|ICE}}. Without this work, modern peer-to-peer (WebRTC, BitTorrent peer discovery, IPFS, blockchain peer networks) would be vastly more expensive or impossible.' } ] }, @@ -59,7 +59,7 @@ export const networkServicesStory: SubcategoryStory = { year: 1981, title: 'NTP First Version (RFC 778)', description: - "[[pioneer:david-mills|Mills]] publishes the first NTP version. Time synchronization on the early Internet was previously ad-hoc; NTP would standardize it for 40+ years." + '[[pioneer:david-mills|Mills]] publishes the first NTP version. Time synchronization on the early Internet was previously ad-hoc; NTP would standardize it for 40+ years.' }, { year: 1985, @@ -71,7 +71,7 @@ export const networkServicesStory: SubcategoryStory = { year: 1993, title: 'DHCP RFC 1531', description: - "[[dhcp|DHCP]] extends BOOTP with dynamic address pools and leases. Every workstation can get an address without a configured mapping." + '[[dhcp|DHCP]] extends BOOTP with dynamic address pools and leases. Every workstation can get an address without a configured mapping.' }, { year: 1997, @@ -95,25 +95,25 @@ export const networkServicesStory: SubcategoryStory = { year: 2005, title: 'STUN RFC 3489', description: - "Session Traversal Utilities for NAT โ€” the first IETF protocol that lets a client behind a NAT learn its public-facing address." + 'Session Traversal Utilities for NAT โ€” the first IETF protocol that lets a client behind a NAT learn its public-facing address.' }, { year: 2008, title: 'STUN RFC 5389', description: - "STUN revised. The original protocol's name is changed (\"Simple\" โ†’ \"Session\") to reflect its role beyond pure address discovery." + 'STUN revised. The original protocol\'s name is changed ("Simple" โ†’ "Session") to reflect its role beyond pure address discovery.' }, { year: 2010, title: 'ICE RFC 5245', description: - "Interactive Connectivity Establishment โ€” the framework that gathers all possible network candidates and probes connectivity to find the best path between two NAT-bound peers. The foundation of WebRTC NAT traversal." + 'Interactive Connectivity Establishment โ€” the framework that gathers all possible network candidates and probes connectivity to find the best path between two NAT-bound peers. The foundation of WebRTC NAT traversal.' }, { year: 2010, title: 'NTP RFC 5905', description: - "The current NTP specification (NTPv4). Adds extension fields, improved security." + 'The current NTP specification (NTPv4). Adds extension fields, improved security.' }, { year: 2013, @@ -125,19 +125,19 @@ export const networkServicesStory: SubcategoryStory = { year: 2017, title: 'NTS โ€” Network Time Security (RFC 8915 draft)', description: - "NTP gets a modern security story. Authenticated NTP messages without the per-association key configuration NTP authentication had previously required. RFC 8915 publishes in 2020." + 'NTP gets a modern security story. Authenticated NTP messages without the per-association key configuration NTP authentication had previously required. RFC 8915 publishes in 2020.' }, { year: 2020, title: 'NTS RFC 8915', description: - "Network Time Security ships. The first widely-deployable, scalable authenticated NTP. Cloudflare runs time.cloudflare.com with NTS; Netnod, Hetzner, and others follow." + 'Network Time Security ships. The first widely-deployable, scalable authenticated NTP. Cloudflare runs time.cloudflare.com with NTS; Netnod, Hetzner, and others follow.' }, { year: 2024, title: 'IPv6-only Networks Grow', description: - "Apple, T-Mobile, Verizon, and major datacenters run IPv6-only networks with NAT64/DNS64 for legacy IPv4 traffic. NAT traversal still matters because IPv6 firewalls block inbound โ€” but the address-exhaustion driver for NAT is fading." + 'Apple, T-Mobile, Verizon, and major datacenters run IPv6-only networks with NAT64/DNS64 for legacy IPv4 traffic. NAT traversal still matters because IPv6 firewalls block inbound โ€” but the address-exhaustion driver for NAT is fading.' } ] }, @@ -151,8 +151,8 @@ export const networkServicesStory: SubcategoryStory = { values: [ 'Assigns IP, mask, gateway, DNS', 'When you join the network (and lease renewals)', - "\"No network connection\" โ€” you have no IP", - "DHCPv6 (for IPv6 stateful); SLAAC for stateless IPv6" + '"No network connection" โ€” you have no IP', + 'DHCPv6 (for IPv6 stateful); SLAAC for stateless IPv6' ] }, { @@ -160,8 +160,8 @@ export const networkServicesStory: SubcategoryStory = { values: [ 'Syncs system clock to UTC', 'Continuously (background)', - "Time wrong โ†’ cert errors, auth failures, log analysis chaos", - "NTS (authenticated NTP); chrony as the reference daemon" + 'Time wrong โ†’ cert errors, auth failures, log analysis chaos', + 'NTS (authenticated NTP); chrony as the reference daemon' ] }, { @@ -169,8 +169,8 @@ export const networkServicesStory: SubcategoryStory = { values: [ 'Local-network name resolution + service discovery', 'When you ask for a `.local` name or browse for a service type', - "\"Printer doesn't show up\" โ€” service discovery silently fails", - "Used by AirPlay, Chromecast, AirPrint, Matter device commissioning" + '"Printer doesn\'t show up" โ€” service discovery silently fails', + 'Used by AirPlay, Chromecast, AirPrint, Matter device commissioning' ] }, { @@ -178,12 +178,12 @@ export const networkServicesStory: SubcategoryStory = { values: [ 'Establishes peer-to-peer through NATs', 'When two peers want a direct connection', - "Video call goes through a relay (slow), or fails entirely", - "WebRTC, peer-to-peer gaming, BitTorrent, IPFS" + 'Video call goes through a relay (slow), or fails entirely', + 'WebRTC, peer-to-peer gaming, BitTorrent, IPFS' ] } ], - note: "These four are independent โ€” your laptop runs DHCP at boot, NTP continuously, mDNS on demand, and ICE only when an app needs peer-to-peer. They're grouped here because they're what makes \"the network just works.\"" + note: 'These four are independent โ€” your laptop runs DHCP at boot, NTP continuously, mDNS on demand, and ICE only when an app needs peer-to-peer. They\'re grouped here because they\'re what makes "the network just works."' }, { type: 'animated-sequence', @@ -207,7 +207,7 @@ export const networkServicesStory: SubcategoryStory = { caption: "DHCP's 4-step DORA (Discover, Offer, Request, Acknowledge) is one of the most-executed protocol exchanges on the Internet. Every laptop on every cafรฉ Wi-Fi runs it within seconds of joining. The broadcast-based design โ€” needed because the client has no IP yet โ€” is why DHCP is a link-local protocol; it doesn't cross routers without a relay.", steps: { - 0: '**The setup.** A new device joins a network. It has no IP address, doesn\'t know the gateway, has no DNS server. Everything below has to bootstrap from nothing.', + 0: "**The setup.** A new device joins a network. It has no IP address, doesn't know the gateway, has no DNS server. Everything below has to bootstrap from nothing.", 1: '**D โ€” Discover.** Client broadcasts a DHCPDISCOVER with source 0.0.0.0 (no IP) and destination 255.255.255.255 (everyone on this segment). The MAC source is the real NIC MAC, so servers can reply.', 2: '**Server sees the broadcast.** Any DHCP server on the segment picks it up. The server checks its address pool and finds a free IP to offer.', 3: '**O โ€” Offer.** Server broadcasts a DHCPOFFER (also broadcast because the client has no IP to unicast to yet) offering 192.168.1.42, subnet mask, default gateway, DNS resolver, and lease duration.', @@ -216,7 +216,7 @@ export const networkServicesStory: SubcategoryStory = { 6: '**A โ€” Ack.** The chosen server confirms with DHCPACK. The lease is now committed. Default lease is 24 hours in most home routers, longer in enterprise.', 7: '**Configure the interface.** Client sets its IP, subnet mask, default gateway, and DNS resolver from the ACK. The client is now properly on the network.', 8: '**Bootstrap services.** With IP + gateway + DNS, the client can now start NTP (to fix the clock), resolve hostnames, and do whatever the user actually wanted to do.', - 9: '**Lease renewal.** At T/2 elapsed (half the lease), the client tries to renew with the *same* server. This is unicast โ€” no need to broadcast since the client knows the server\'s address.', + 9: "**Lease renewal.** At T/2 elapsed (half the lease), the client tries to renew with the *same* server. This is unicast โ€” no need to broadcast since the client knows the server's address.", 10: 'Client sends a **unicast DHCPREQUEST** to renew.', 11: 'Server confirms with **DHCPACK**, extending the lease. If the server fails to respond, the client falls back to broadcasting at T*7/8 to find any DHCP server. The address space is reclaimed cleanly when leases expire.' } @@ -233,7 +233,7 @@ export const networkServicesStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **NTS** (Network Time Security) is rolling out at major time providers (Cloudflare, Netnod). The first credible authenticated NTP in production. NTP's 40-year security gap is finally closing.\n- **DHCP options for IoT** โ€” DHCPv6 keeps getting options for device-management URLs, manufacturer hints, and Matter commissioning. Even DHCP โ€” designed in 1993 โ€” keeps growing.\n- **Matter / Thread commissioning** uses mDNS extensively for device discovery on the home network. The Matter spec mandates DNS-SD service browsing for smart-home device pairing โ€” extending Bonjour into every consumer-IoT product.\n- **IPv6-only networks** + NAT64 + DNS64 are growing in mobile carriers and datacenter networks. The "every device has a routable address" promise is finally semi-real; NAT traversal still matters because firewalls still block inbound, but the variety of NAT pathologies is reducing.\n- **Tailscale-style mesh VPNs** (Tailscale, Headscale, Netbird, NetMaker) are essentially "NAT traversal as a service" โ€” they bundle STUN/TURN/ICE, key management, and routing into one product. The protocols underneath are the same ICE family; the developer experience is finally good.\n- **TLS-protected DHCP** (DHCP over TLS) remains a niche request. DHCP's plaintext design is increasingly out of step with the rest of the network stack, but the broadcast-based first-message design is hard to encrypt.\n- **The truth about these protocols**: they don't need to change much. The job is invisible, the protocols mostly work, the operational pain is in the configuration and tooling around them rather than in the protocols themselves.` } ] diff --git a/src/lib/data/subcategory-stories/pan-proximity.ts b/src/lib/data/subcategory-stories/pan-proximity.ts index 935fbea..f1eb35c 100644 --- a/src/lib/data/subcategory-stories/pan-proximity.ts +++ b/src/lib/data/subcategory-stories/pan-proximity.ts @@ -2,8 +2,7 @@ import type { SubcategoryStory } from './types'; export const panProximityStory: SubcategoryStory = { subcategoryId: 'pan-proximity', - tagline: - "Short-range wireless โ€” four protocols for four different versions of \"close\"", + tagline: 'Short-range wireless โ€” four protocols for four different versions of "close"', sections: [ { type: 'narrative', @@ -21,7 +20,7 @@ export const panProximityStory: SubcategoryStory = { title: '"Father of Bluetooth"', org: 'Ericsson', contribution: - "Designed [[bluetooth|Bluetooth]] at Ericsson in 1994. The original use case was eliminating the cable between a phone and a headset; the architecture (small piconets, frequency hopping for interference resilience, master/slave roles) scaled to almost any short-range use case. The protocol was named for the 10th-century Danish king Harald Bluetooth, who united Scandinavian tribes โ€” the metaphor was uniting incompatible mobile-device standards. Haartsen and his Ericsson team partnered with IBM, Intel, Nokia, and Toshiba to form the Bluetooth SIG in 1998." + 'Designed [[bluetooth|Bluetooth]] at Ericsson in 1994. The original use case was eliminating the cable between a phone and a headset; the architecture (small piconets, frequency hopping for interference resilience, master/slave roles) scaled to almost any short-range use case. The protocol was named for the 10th-century Danish king Harald Bluetooth, who united Scandinavian tribes โ€” the metaphor was uniting incompatible mobile-device standards. Haartsen and his Ericsson team partnered with IBM, Intel, Nokia, and Toshiba to form the Bluetooth SIG in 1998.' }, { id: 'charles-walton', @@ -59,37 +58,37 @@ export const panProximityStory: SubcategoryStory = { year: 1973, title: 'RFID First Patent', description: - "[[pioneer:charles-walton|Walton]] patents the first portable RFID system โ€” passive tags read by nearby readers. The basis for NFC three decades later." + '[[pioneer:charles-walton|Walton]] patents the first portable RFID system โ€” passive tags read by nearby readers. The basis for NFC three decades later.' }, { year: 1994, title: 'Bluetooth Conceived at Ericsson', description: - "[[pioneer:jaap-haartsen|Haartsen]] starts [[bluetooth|Bluetooth]] at Ericsson as a cable-replacement technology for phones and accessories." + '[[pioneer:jaap-haartsen|Haartsen]] starts [[bluetooth|Bluetooth]] at Ericsson as a cable-replacement technology for phones and accessories.' }, { year: 1998, title: 'Bluetooth SIG Founded', description: - "Ericsson, IBM, Intel, Nokia, Toshiba form the Bluetooth Special Interest Group. Bluetooth 1.0 ships in 1999." + 'Ericsson, IBM, Intel, Nokia, Toshiba form the Bluetooth Special Interest Group. Bluetooth 1.0 ships in 1999.' }, { year: 2002, title: 'FCC Approves Commercial UWB', description: - "Federal Communications Commission opens unlicensed [[uwb|ultra-wideband]] operation in the 3.1โ€“10.6 GHz range. Time Domain, Freescale, Intel all start commercial UWB development." + 'Federal Communications Commission opens unlicensed [[uwb|ultra-wideband]] operation in the 3.1โ€“10.6 GHz range. Time Domain, Freescale, Intel all start commercial UWB development.' }, { year: 2002, title: 'NFC Forum Founded', description: - "Nokia, Philips, and Sony form the NFC Forum to standardize what would become contactless payment, transit, and proximity-pairing on phones." + 'Nokia, Philips, and Sony form the NFC Forum to standardize what would become contactless payment, transit, and proximity-pairing on phones.' }, { year: 2003, title: 'Zigbee Alliance Formed', description: - "[[zigbee|Zigbee]] launches as a low-power mesh networking standard for sensors and actuators. ZigBee 1.0 ships in 2004." + '[[zigbee|Zigbee]] launches as a low-power mesh networking standard for sensors and actuators. ZigBee 1.0 ships in 2004.' }, { year: 2006, @@ -101,25 +100,25 @@ export const panProximityStory: SubcategoryStory = { year: 2010, title: 'Bluetooth 4.0 โ€” BLE', description: - "Bluetooth Low Energy (BLE) ships โ€” a fundamental redesign for sub-milliwatt power, suitable for coin-cell batteries lasting years. The breakthrough that makes \"the IoT\" practical for sensor-class devices." + 'Bluetooth Low Energy (BLE) ships โ€” a fundamental redesign for sub-milliwatt power, suitable for coin-cell batteries lasting years. The breakthrough that makes "the IoT" practical for sensor-class devices.' }, { year: 2014, title: 'Apple Pay Launches', description: - "Apple Pay uses NFC for in-store contactless payment. Drives mainstream consumer awareness of NFC; within two years, every major Android phone has matching support." + 'Apple Pay uses NFC for in-store contactless payment. Drives mainstream consumer awareness of NFC; within two years, every major Android phone has matching support.' }, { year: 2015, title: 'Bluetooth Mesh', description: - "Bluetooth SIG adds mesh networking, competing directly with Zigbee for smart-home and industrial use cases." + 'Bluetooth SIG adds mesh networking, competing directly with Zigbee for smart-home and industrial use cases.' }, { year: 2019, title: 'Apple iPhone 11 โ€” U1 Chip / UWB', description: - "Apple ships UWB in iPhone 11 with the U1 chip. The first mainstream consumer device with precision-ranging UWB. AirDrop becomes direction-aware; AirTags ship in 2021 using UWB for precise finding." + 'Apple ships UWB in iPhone 11 with the U1 chip. The first mainstream consumer device with precision-ranging UWB. AirDrop becomes direction-aware; AirTags ship in 2021 using UWB for precise finding.' }, { year: 2020, @@ -137,7 +136,7 @@ export const panProximityStory: SubcategoryStory = { year: 2024, title: 'Bluetooth 6.0 โ€” Channel Sounding', description: - "Bluetooth gains UWB-like precision ranging via Channel Sounding. The boundary between BT and UWB blurs for proximity use cases." + 'Bluetooth gains UWB-like precision ranging via Channel Sounding. The boundary between BT and UWB blurs for proximity use cases.' } ] }, @@ -151,9 +150,9 @@ export const panProximityStory: SubcategoryStory = { values: [ '~10 m (Class 2); ~100 m (Class 1)', '~2 Mbps (BLE 5) to ~50 Mbps (BR/EDR)', - "BLE: ฮผWโ€“mW; classic: tens of mW", - "Star (piconet, master + โ‰ค7 slaves); now mesh too", - "Headphones, keyboards, fitness trackers, beacons" + 'BLE: ฮผWโ€“mW; classic: tens of mW', + 'Star (piconet, master + โ‰ค7 slaves); now mesh too', + 'Headphones, keyboards, fitness trackers, beacons' ] }, { @@ -162,8 +161,8 @@ export const panProximityStory: SubcategoryStory = { '~4 cm', '~424 Kbps', "Passive tag: zero (powered by reader's field)", - "Reader + passive tag, or peer-to-peer", - "Contactless payment, transit, key cards, tap-to-share" + 'Reader + passive tag, or peer-to-peer', + 'Contactless payment, transit, key cards, tap-to-share' ] }, { @@ -171,9 +170,9 @@ export const panProximityStory: SubcategoryStory = { values: [ '~50 m line of sight', '~110 Mbps (rarely used at full rate)', - "Tens of mW per measurement, idle off", - "Anchor + tag, or peer-to-peer", - "Precise indoor/asset location, AirTag-class finding, secure car key" + 'Tens of mW per measurement, idle off', + 'Anchor + tag, or peer-to-peer', + 'Precise indoor/asset location, AirTag-class finding, secure car key' ] }, { @@ -181,9 +180,9 @@ export const panProximityStory: SubcategoryStory = { values: [ '~10โ€“30 m per hop, building-scale via mesh', '~250 Kbps', - "ฮผWโ€“mW (designed for coin-cell years)", - "Mesh โ€” every router-class node forwards for others", - "Smart-home (bulbs, sensors, switches), industrial automation" + 'ฮผWโ€“mW (designed for coin-cell years)', + 'Mesh โ€” every router-class node forwards for others', + 'Smart-home (bulbs, sensors, switches), industrial automation' ] } ], @@ -215,10 +214,10 @@ export const panProximityStory: SubcategoryStory = { "[[bluetooth|BLE]]'s advertising-then-connect dance is what lets sensor-class devices run on coin cells for years. The peripheral broadcasts a small ADV packet at long intervals; the central scans and connects on demand. Once connected, both sides wake briefly per connection interval and sleep otherwise. Average current is microamps.", steps: { 0: '**Phase 1 โ€” Advertising.** A BLE peripheral (smartwatch, sensor, beacon) advertises its presence by broadcasting on three known channels. The central (your phone) scans those channels passively.', - 1: 'Peripheral wakes every 100msโ€“1s and **broadcasts an ADV_IND packet** on channels 37, 38, and 39 (BLE\'s three advertising channels). When sleeping, it draws microamps.', + 1: "Peripheral wakes every 100msโ€“1s and **broadcasts an ADV_IND packet** on channels 37, 38, and 39 (BLE's three advertising channels). When sleeping, it draws microamps.", 2: '**Central scans** the same three channels. Most of the time central is also off; it wakes to scan briefly. Both sides spend almost no time on.', - 3: 'Central catches an ADV_IND. The packet carries a UUID identifying the device or service, the peripheral\'s name, and its signal strength (RSSI).', - 4: 'Central may optionally send a **SCAN_REQ** to ask for more advertising data the peripheral didn\'t fit in the initial ADV.', + 3: "Central catches an ADV_IND. The packet carries a UUID identifying the device or service, the peripheral's name, and its signal strength (RSSI).", + 4: "Central may optionally send a **SCAN_REQ** to ask for more advertising data the peripheral didn't fit in the initial ADV.", 5: 'Peripheral replies with **SCAN_RSP** carrying additional metadata.', 6: '**Phase 2 โ€” Connection request.** Central decides to connect.', 7: 'Central sends **CONNECT_REQ** with connection parameters: how often the two will exchange data (interval), how many intervals the peripheral can skip if it has nothing to say (latency), how long without contact before the connection is declared dead (supervision timeout).', @@ -244,7 +243,7 @@ export const panProximityStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Bluetooth LE Audio + Auracast** broadcasts audio to many earbud-equipped listeners at once. Use cases: airport announcements, gym TVs, audio assistive listening in theaters. Slowly rolling out as new hardware ships.\n- **Bluetooth 6.0 Channel Sounding** brings precision ranging to BT, blurring the line with [[uwb|UWB]]. Expect "find my" features that work without a dedicated UWB chip in future devices.\n- **UWB everywhere** โ€” UWB chips are spreading from flagship phones to mid-tier, from cars to smart-home hubs. The next 3โ€“5 years will normalize centimeter-accurate ranging as a phone primitive.\n- **Matter / Thread continued growth** โ€” most new smart-home devices ship Matter-over-Thread. Zigbee's install base is huge but the new growth is Matter. Many bridges (Hue, SmartThings, Aqara) translate between Zigbee and Matter.\n- **NFC for digital identity** โ€” driver's licenses, passports, and government IDs are increasingly carried as NFC-readable credentials on phones. Apple Wallet IDs in US states; the EU's eIDAS 2.0 framework expects NFC-based national ID by 2026.\n- **The interesting frontier**: precision proximity. Knowing not just "the user is nearby" but "the user is sitting in the driver's seat" or "the user is approaching the front door from outside" is the next-generation interaction primitive. UWB plus BT plus mature multipath handling is what enables it.` } ] diff --git a/src/lib/data/subcategory-stories/realtime-web.ts b/src/lib/data/subcategory-stories/realtime-web.ts index 6a60000..831cb96 100644 --- a/src/lib/data/subcategory-stories/realtime-web.ts +++ b/src/lib/data/subcategory-stories/realtime-web.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const realtimeWebStory: SubcategoryStory = { subcategoryId: 'realtime-web', tagline: - "Breaking out of request/response โ€” server push and full-duplex on a protocol that was never meant for either", + 'Breaking out of request/response โ€” server push and full-duplex on a protocol that was never meant for either', sections: [ { type: 'narrative', @@ -29,7 +29,7 @@ export const realtimeWebStory: SubcategoryStory = { title: 'Coined "Comet"', org: 'Lightstreamer / Independent', contribution: - "Coined {{comet|\"Comet\"}} in 2006 as the umbrella term for long-polling and streaming techniques people were using to fake server push over plain HTTP. The name stuck through the late-2000s era and is the reason \"the Comet pattern\" is still recognizable shorthand for HTTP-push hacks." + 'Coined {{comet|"Comet"}} in 2006 as the umbrella term for long-polling and streaming techniques people were using to fake server push over plain HTTP. The name stuck through the late-2000s era and is the reason "the Comet pattern" is still recognizable shorthand for HTTP-push hacks.' }, { name: 'Bert Belder', @@ -37,7 +37,7 @@ export const realtimeWebStory: SubcategoryStory = { title: 'WebSocket Implementer / Node.js Core', org: 'StrongLoop / npm', contribution: - "Co-authored the `ws` library โ€” the dominant Node.js [[websockets|WebSocket]] implementation โ€” which made server-side WebSocket trivially deployable from JavaScript. Node + ws + Socket.IO turned \"real-time web\" from a Tomcat/Comet engineering project into a weekend hack. The ergonomics shift mattered as much as the protocol." + 'Co-authored the `ws` library โ€” the dominant Node.js [[websockets|WebSocket]] implementation โ€” which made server-side WebSocket trivially deployable from JavaScript. Node + ws + Socket.IO turned "real-time web" from a Tomcat/Comet engineering project into a weekend hack. The ergonomics shift mattered as much as the protocol.' } ] }, @@ -48,13 +48,13 @@ export const realtimeWebStory: SubcategoryStory = { year: 2000, title: 'XMLHttpRequest Ships', description: - "Microsoft ships XMLHttpRequest in IE5 (1999); other browsers follow. The first real way to do background HTTP from JavaScript. The first practical polling implementations follow within a year." + 'Microsoft ships XMLHttpRequest in IE5 (1999); other browsers follow. The first real way to do background HTTP from JavaScript. The first practical polling implementations follow within a year.' }, { year: 2004, title: 'Gmail Launches with AJAX', description: - "Gmail makes AJAX mainstream. The pattern: poll for new mail every few minutes. Latency is fine for mail; users tolerate it. Realtime apps are still hard." + 'Gmail makes AJAX mainstream. The pattern: poll for new mail every few minutes. Latency is fine for mail; users tolerate it. Realtime apps are still hard.' }, { year: 2006, @@ -66,7 +66,7 @@ export const realtimeWebStory: SubcategoryStory = { year: 2009, title: 'SSE Standardized (W3C HTML5)', description: - "[[sse|Server-Sent Events]] ships with an EventSource API. Reconnection, Last-Event-ID, named event types. Server-to-client only โ€” which is the entire point." + '[[sse|Server-Sent Events]] ships with an EventSource API. Reconnection, Last-Event-ID, named event types. Server-to-client only โ€” which is the entire point.' }, { year: 2011, @@ -84,13 +84,13 @@ export const realtimeWebStory: SubcategoryStory = { year: 2015, title: 'WebSocket Adoption Mainstreams', description: - "Slack, Discord, Trello, Figma, Google Docs all run on WebSockets. Production scaling lessons โ€” sticky load balancing, server-side connection pooling, presence systems โ€” become widely documented." + 'Slack, Discord, Trello, Figma, Google Docs all run on WebSockets. Production scaling lessons โ€” sticky load balancing, server-side connection pooling, presence systems โ€” become widely documented.' }, { year: 2018, title: 'SSE Returns for LLMs', description: - "OpenAI ships streaming completions over [[sse|SSE]] for ChatGPT-like UX. The token-by-token effect requires server-push but not client-push โ€” SSE is the natural fit. Anthropic, Google, Mistral all follow the same pattern." + 'OpenAI ships streaming completions over [[sse|SSE]] for ChatGPT-like UX. The token-by-token effect requires server-push but not client-push โ€” SSE is the natural fit. Anthropic, Google, Mistral all follow the same pattern.' }, { year: 2021, @@ -102,13 +102,13 @@ export const realtimeWebStory: SubcategoryStory = { year: 2023, title: 'WebTransport in Chrome', description: - "WebTransport โ€” QUIC streams exposed to browsers โ€” ships in Chrome. Possible WebSocket successor: lower latency, multiple independent streams, unreliable datagrams when wanted. Slow uptake outside Google products so far." + 'WebTransport โ€” QUIC streams exposed to browsers โ€” ships in Chrome. Possible WebSocket successor: lower latency, multiple independent streams, unreliable datagrams when wanted. Slow uptake outside Google products so far.' }, { year: 2024, title: 'SSE Everywhere', description: - "Every major LLM provider streams via SSE. Server-driven UI frameworks (React Server Components, HTMX) lean heavily on SSE. The boring older protocol gets a second act." + 'Every major LLM provider streams via SSE. Server-driven UI frameworks (React Server Components, HTMX) lean heavily on SSE. The boring older protocol gets a second act.' } ] }, @@ -122,9 +122,9 @@ export const realtimeWebStory: SubcategoryStory = { values: [ 'Server โ†’ client only', 'Plain HTTP (works over [[http1|h1]], [[http2|h2]], [[http3|h3]])', - "Text โ€” `data:` lines separated by blank lines", + 'Text โ€” `data:` lines separated by blank lines', 'Built-in โ€” auto-reconnects with Last-Event-ID', - "LLM streaming, notifications, server-driven UI updates" + 'LLM streaming, notifications, server-driven UI updates' ] }, { @@ -133,12 +133,12 @@ export const realtimeWebStory: SubcategoryStory = { 'Full-duplex', 'HTTP upgrade then custom framing over TCP', 'Binary frames with opcode + masking', - 'Application\'s problem', - "Chat, collaborative editing, multiplayer games, anything client-push-heavy" + "Application's problem", + 'Chat, collaborative editing, multiplayer games, anything client-push-heavy' ] } ], - note: "If your traffic is one-way (server โ†’ client), [[sse|SSE]] is simpler, plays nice with HTTP infrastructure, and has cleaner failure semantics. If the client also needs to push frequently, [[websockets|WebSockets]]." + note: 'If your traffic is one-way (server โ†’ client), [[sse|SSE]] is simpler, plays nice with HTTP infrastructure, and has cleaner failure semantics. If the client also needs to push frequently, [[websockets|WebSockets]].' }, { type: 'animated-sequence', @@ -169,7 +169,7 @@ export const realtimeWebStory: SubcategoryStory = { C->>S: frame chat S-->>C: frame ack`, caption: - "Each step reduces latency or improves resource use over the last. [[websockets|WebSocket]] is the only one where both sides can send asynchronously; the others are still server-driven.", + 'Each step reduces latency or improves resource use over the last. [[websockets|WebSocket]] is the only one where both sides can send asynchronously; the others are still server-driven.', steps: { 0: '**Polling โ€” the original hack.** Before SSE or WebSockets, the only way to get server-pushed data was to ask the server, over and over, for new data. Most requests came back empty.', 1: 'Client asks **GET /messages**.', @@ -207,7 +207,7 @@ export const realtimeWebStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **WebTransport** is the proposed successor to [[websockets|WebSocket]] โ€” built on [[quic|QUIC]], with native stream multiplexing, unreliable datagrams when wanted, and no proxy-Upgrade nonsense. Shipping in Chrome; slow elsewhere.\n- **HTTP/3 over QUIC** changes [[sse|SSE]]'s scaling story โ€” one QUIC connection can carry many SSE streams without TCP head-of-line blocking. Cloudflare and Fastly are quietly making this the default.\n- **Server-driven UI** frameworks (HTMX, Phoenix LiveView, Inertia.js, React Server Components) lean on SSE for their UI updates โ€” the boring older protocol is having a second moment because the new use case fits it perfectly.\n- **LLM streaming** is now the dominant new use case for [[sse|SSE]]. Every chat-like AI product ships an SSE endpoint; the token-by-token effect is canonical.\n- **The death of polling** is overstated. Mobile push notifications, periodic background sync, and "check every N seconds" are still the right answer for many product surfaces. Realtime is expensive; not everything needs it.` } ] diff --git a/src/lib/data/subcategory-stories/reliable-streams.ts b/src/lib/data/subcategory-stories/reliable-streams.ts index 62c9e1c..de90561 100644 --- a/src/lib/data/subcategory-stories/reliable-streams.ts +++ b/src/lib/data/subcategory-stories/reliable-streams.ts @@ -66,13 +66,13 @@ export const reliableStreamsStory: SubcategoryStory = { year: 1981, title: 'TCP RFC 793 Published', description: - "The reference TCP spec. Three-way handshake, sliding window, retransmission, flow control. Congestion control is *not* yet present โ€” that omission will nearly destroy the Internet five years later." + 'The reference TCP spec. Three-way handshake, sliding window, retransmission, flow control. Congestion control is *not* yet present โ€” that omission will nearly destroy the Internet five years later.' }, { year: 1986, title: 'Congestion Collapse', description: - "The path between LBL and UC Berkeley โ€” 400 yards apart โ€” collapses to 40 bps from a nominal 32 kbps. The cause: TCP retransmits compounding network overload until the network drowns in retries." + 'The path between LBL and UC Berkeley โ€” 400 yards apart โ€” collapses to 40 bps from a nominal 32 kbps. The cause: TCP retransmits compounding network overload until the network drowns in retries.' }, { year: 1988, @@ -84,7 +84,7 @@ export const reliableStreamsStory: SubcategoryStory = { year: 1999, title: 'TCP Reno โ†’ NewReno โ†’ SACK', description: - 'A decade of incremental tuning. {{sack|Selective Acknowledgments}} (RFC 2018) let receivers tell senders *which* packets were lost, fixing the original ACK\'s ambiguity.' + "A decade of incremental tuning. {{sack|Selective Acknowledgments}} (RFC 2018) let receivers tell senders *which* packets were lost, fixing the original ACK's ambiguity." }, { year: 2000, @@ -102,7 +102,7 @@ export const reliableStreamsStory: SubcategoryStory = { year: 2013, title: 'MPTCP RFC 6824', description: - "[[mptcp|MPTCP]] bonds multiple TCP subflows into a single logical stream. Wire-compatible with middleboxes because each subflow *is* a normal TCP connection." + '[[mptcp|MPTCP]] bonds multiple TCP subflows into a single logical stream. Wire-compatible with middleboxes because each subflow *is* a normal TCP connection.' }, { year: 2016, @@ -151,7 +151,7 @@ export const reliableStreamsStory: SubcategoryStory = { ] } ], - note: '[[sctp|SCTP]] is technically the most capable, but its lack of NAT/firewall traversal kept it off the public Internet. [[mptcp|MPTCP]] is the pragmatic answer: take TCP\'s deployability and bolt the missing features on top.' + note: "[[sctp|SCTP]] is technically the most capable, but its lack of NAT/firewall traversal kept it off the public Internet. [[mptcp|MPTCP]] is the pragmatic answer: take TCP's deployability and bolt the missing features on top." }, { type: 'animated-sequence', @@ -211,7 +211,7 @@ export const reliableStreamsStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **{{bbr|BBRv3}}** continues to roll out beyond Google's properties. Fairness with CUBIC under shared bottlenecks remains a live research area.\n- **Multipath TCP for 5G** (ATSSS โ€” Access Traffic Steering, Switching, and Splitting) lets carriers bond cellular + Wi-Fi for handset traffic. Standardized in 3GPP Release 16.\n- **L4S** (Low Latency, Low Loss, Scalable throughput) adds an ECN-based signal so endpoints can react to congestion *before* loss. Requires both router and endpoint changes; deployment is slow.\n- **The slow death of TCP for new things.** Most green-field protocols (HTTP/3, WebTransport, Media-over-QUIC) skip TCP entirely. The Reliable Streams family isn't shrinking yet โ€” but its growth has stopped.` } ] diff --git a/src/lib/data/subcategory-stories/resource-query-apis.ts b/src/lib/data/subcategory-stories/resource-query-apis.ts index b0bfa07..da65df5 100644 --- a/src/lib/data/subcategory-stories/resource-query-apis.ts +++ b/src/lib/data/subcategory-stories/resource-query-apis.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const resourceQueryApisStory: SubcategoryStory = { subcategoryId: 'resource-query-apis', tagline: - "Modeling data on the web โ€” verbs and nouns ([[rest|REST]]) vs schemas and queries ([[graphql|GraphQL]])", + 'Modeling data on the web โ€” verbs and nouns ([[rest|REST]]) vs schemas and queries ([[graphql|GraphQL]])', sections: [ { type: 'narrative', @@ -21,7 +21,7 @@ export const resourceQueryApisStory: SubcategoryStory = { title: 'Inventor of REST', org: 'UC Irvine / Apache / Adobe', contribution: - "Co-authored the [[http1|HTTP/1.0]] and [[http1|HTTP/1.1]] specifications in the late 1990s, then named the architectural style underlying the web in his 2000 PhD dissertation. The dissertation's Chapter 5 โ€” 36 pages โ€” is the entire formal definition of [[rest|REST]]. Co-founded the Apache HTTP Server Project. Fielding has spent 25 years gently noting that the vast majority of \"REST APIs\" violate his {{hateoas|HATEOAS}} constraint and are really just RPC-over-HTTP.", + 'Co-authored the [[http1|HTTP/1.0]] and [[http1|HTTP/1.1]] specifications in the late 1990s, then named the architectural style underlying the web in his 2000 PhD dissertation. The dissertation\'s Chapter 5 โ€” 36 pages โ€” is the entire formal definition of [[rest|REST]]. Co-founded the Apache HTTP Server Project. Fielding has spent 25 years gently noting that the vast majority of "REST APIs" violate his {{hateoas|HATEOAS}} constraint and are really just RPC-over-HTTP.', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Roy_Fielding_%28cropped%29.jpg/330px-Roy_Fielding_%28cropped%29.jpg' }, @@ -31,7 +31,7 @@ export const resourceQueryApisStory: SubcategoryStory = { title: 'Co-creator of GraphQL', org: 'Facebook / Robinhood / The Graph Foundation', contribution: - "Designed [[graphql|GraphQL]] at Facebook in 2012 with Nick Schrock and Dan Schafer to solve the mobile-fetch problem. Open-sourced in 2015 at React Conf. Later moved to Robinhood to apply GraphQL to financial-services APIs; now stewards the language as part of the GraphQL Foundation. The original internal name was \"SuperGraph\" โ€” \"GraphQL\" came later because the wire format was a *query language*, not just a graph API." + 'Designed [[graphql|GraphQL]] at Facebook in 2012 with Nick Schrock and Dan Schafer to solve the mobile-fetch problem. Open-sourced in 2015 at React Conf. Later moved to Robinhood to apply GraphQL to financial-services APIs; now stewards the language as part of the GraphQL Foundation. The original internal name was "SuperGraph" โ€” "GraphQL" came later because the wire format was a *query language*, not just a graph API.' }, { name: 'Sam Newman', @@ -48,15 +48,15 @@ export const resourceQueryApisStory: SubcategoryStory = { entries: [ { year: 2000, - title: 'Fielding\'s Dissertation Names REST', + title: "Fielding's Dissertation Names REST", description: - "[[pioneer:roy-fielding|Fielding]] formalizes the architectural style behind the web in *Architectural Styles and the Design of Network-based Software Architectures*. Six constraints: client-server, stateless, cacheable, uniform interface, layered system, code-on-demand." + '[[pioneer:roy-fielding|Fielding]] formalizes the architectural style behind the web in *Architectural Styles and the Design of Network-based Software Architectures*. Six constraints: client-server, stateless, cacheable, uniform interface, layered system, code-on-demand.' }, { year: 2006, title: 'AWS S3 Launches with REST API', description: - "Amazon Web Services ships S3 with a [[rest|REST]] API alongside SOAP. Developers overwhelmingly choose REST. The lesson โ€” \"SOAP is for vendors, REST is for developers\" โ€” shapes a decade of API design." + 'Amazon Web Services ships S3 with a [[rest|REST]] API alongside SOAP. Developers overwhelmingly choose REST. The lesson โ€” "SOAP is for vendors, REST is for developers" โ€” shapes a decade of API design.' }, { year: 2008, @@ -68,37 +68,37 @@ export const resourceQueryApisStory: SubcategoryStory = { year: 2012, title: 'Facebook Begins GraphQL', description: - "Lee Byron, Nick Schrock, and Dan Schafer start GraphQL internally to fix mobile-app fetch storms. The original problem: a Facebook News Feed screen made 30+ REST calls on slow 3G." + 'Lee Byron, Nick Schrock, and Dan Schafer start GraphQL internally to fix mobile-app fetch storms. The original problem: a Facebook News Feed screen made 30+ REST calls on slow 3G.' }, { year: 2015, title: 'GraphQL Open-Sourced', description: - "Facebook releases [[graphql|GraphQL]] at React.js Conf. GitHub announces its API v4 will be GraphQL within months. The schema-typed, client-driven query model spreads fast." + 'Facebook releases [[graphql|GraphQL]] at React.js Conf. GitHub announces its API v4 will be GraphQL within months. The schema-typed, client-driven query model spreads fast.' }, { year: 2018, title: 'GraphQL Foundation Forms', description: - "Linux Foundation takes stewardship from Facebook. The community proves the spec can outlive its original maintainers โ€” a recurring fear with single-vendor open source." + 'Linux Foundation takes stewardship from Facebook. The community proves the spec can outlive its original maintainers โ€” a recurring fear with single-vendor open source.' }, { year: 2020, title: 'OpenAPI 3.1 / JSON Schema Convergence', description: - "REST gets a typed-schema story too. OpenAPI 3.1 aligns with JSON Schema 2020-12. Tools like Speakeasy, Stainless, and Fern generate typed clients from OpenAPI specs โ€” narrowing the developer-experience gap with GraphQL." + 'REST gets a typed-schema story too. OpenAPI 3.1 aligns with JSON Schema 2020-12. Tools like Speakeasy, Stainless, and Fern generate typed clients from OpenAPI specs โ€” narrowing the developer-experience gap with GraphQL.' }, { year: 2022, title: 'tRPC + End-to-End Types', description: - "A wave of \"GraphQL without GraphQL\" โ€” tRPC, Hono RPC, ts-rest โ€” uses TypeScript inference to give clients end-to-end types without a separate schema language. Works only inside TypeScript monorepos, but where it works it's instant." + 'A wave of "GraphQL without GraphQL" โ€” tRPC, Hono RPC, ts-rest โ€” uses TypeScript inference to give clients end-to-end types without a separate schema language. Works only inside TypeScript monorepos, but where it works it\'s instant.' }, { year: 2024, title: 'GraphQL Federation Matures', description: - "Apollo Federation 2, GraphQL Mesh, and StepZen mature the \"multiple subgraphs composed into one\" pattern. GraphQL becomes the default API gateway for microservices at Netflix, Airbnb, Shopify." + 'Apollo Federation 2, GraphQL Mesh, and StepZen mature the "multiple subgraphs composed into one" pattern. GraphQL becomes the default API gateway for microservices at Netflix, Airbnb, Shopify.' } ] }, @@ -149,16 +149,16 @@ export const resourceQueryApisStory: SubcategoryStory = { caption: "Same data, two shapes. [[rest|REST]] makes the client orchestrate; [[graphql|GraphQL]] makes the server resolve. The cost of GraphQL's flexibility is that the server has to be ready for *any* query, which makes performance and authorization harder to reason about.", steps: { - 0: '**The REST way.** Each entity has its own URL. Fetching nested data โ€” user, their posts, each post\'s comments โ€” means several sequential requests because the client needs response N to know what to ask for in request N+1.', + 0: "**The REST way.** Each entity has its own URL. Fetching nested data โ€” user, their posts, each post's comments โ€” means several sequential requests because the client needs response N to know what to ask for in request N+1.", 1: 'Client asks for the **user**.', - 2: 'Server returns user fields. Now the client knows it can ask for this user\'s posts.', - 3: 'Client asks for the **user\'s posts**.', - 4: 'Server returns post summaries. Now the client has post IDs and can ask for each post\'s comments.', + 2: "Server returns user fields. Now the client knows it can ask for this user's posts.", + 3: "Client asks for the **user's posts**.", + 4: "Server returns post summaries. Now the client has post IDs and can ask for each post's comments.", 5: '**Client asks for comments โ€” one request per post.** Or two requests, or fifty. The classic "N+1 query" problem of REST APIs.', 6: 'Server returns comments for each post in separate responses. The client now has all the data โ€” but it took multiple round-trips and most of the bytes were headers.', 7: '**The GraphQL way.** One request describes the entire nested shape the client wants. The server resolves all of it at once and returns exactly what was asked for.', 8: 'Client sends **one POST to /graphql** with a query body specifying user โ†’ posts โ†’ comments โ†’ author/body. The shape of the request mirrors the shape of the wanted response.', - 9: 'Server returns **nested JSON** matching the query shape exactly. One round-trip; zero over-fetch (no fields the client didn\'t ask for); zero under-fetch (everything the client needed in one trip). The cost: the server has to be smart enough to resolve any arbitrary tree shape efficiently.' + 9: "Server returns **nested JSON** matching the query shape exactly. One round-trip; zero over-fetch (no fields the client didn't ask for); zero under-fetch (everything the client needed in one trip). The cost: the server has to be smart enough to resolve any arbitrary tree shape efficiently." } }, { @@ -173,7 +173,7 @@ export const resourceQueryApisStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **GraphQL Federation** is becoming the default architecture for large API gateways โ€” multiple teams own subgraphs that compose into one client-facing schema. Apollo Federation, StepZen, GraphQL Mesh.\n- **REST + types** is closing the developer-experience gap with GraphQL. OpenAPI 3.1, Stainless, Speakeasy, Fern all generate typed clients from REST specs that feel nearly as good as GraphQL codegen.\n- **tRPC and friends** keep growing inside TypeScript monorepos. End-to-end inferred types, no schema language, no codegen. The boundary: any client outside the monorepo needs a real API.\n- **JSON:API** quietly powers a lot of "strict REST with conventions" deployments โ€” the spec is unfashionable but solves the "every REST API reinvents pagination" problem.\n- **The unsexy truth**: most companies run both. REST for public/partner APIs and CDN-cacheable reads. GraphQL for first-party mobile and web clients. Choosing one and using it for everything is rare in practice.` } ] diff --git a/src/lib/data/subcategory-stories/routing.ts b/src/lib/data/subcategory-stories/routing.ts index f42dbb5..9c1aebb 100644 --- a/src/lib/data/subcategory-stories/routing.ts +++ b/src/lib/data/subcategory-stories/routing.ts @@ -21,7 +21,7 @@ export const routingStory: SubcategoryStory = { title: 'Inventor of Shortest-Path Algorithm', org: 'Eindhoven / UT Austin', contribution: - "In 1956 Dijkstra invented his shortest-path algorithm in about 20 minutes \"to demonstrate the capabilities of the ARMAC computer.\" Published in 1959 (\"A Note on Two Problems in Connexion with Graphs\"). [[ospf|OSPF]] runs Dijkstra's algorithm on the link-state database every time the topology changes โ€” every Internet router that uses OSPF runs Dijkstra's 1956 algorithm thousands of times a day.", + 'In 1956 Dijkstra invented his shortest-path algorithm in about 20 minutes "to demonstrate the capabilities of the ARMAC computer." Published in 1959 ("A Note on Two Problems in Connexion with Graphs"). [[ospf|OSPF]] runs Dijkstra\'s algorithm on the link-state database every time the topology changes โ€” every Internet router that uses OSPF runs Dijkstra\'s 1956 algorithm thousands of times a day.', imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Edsger_Wybe_Dijkstra.jpg/330px-Edsger_Wybe_Dijkstra.jpg' }, @@ -41,7 +41,7 @@ export const routingStory: SubcategoryStory = { title: 'Author of OSPF', org: 'Proteon / Cascade / Sycamore', contribution: - "Designed [[ospf|OSPF]] in 1989 as a replacement for RIP (the distance-vector protocol that took multi-minute convergence times in the 1980s Internet). Moy wrote OSPFv1 (RFC 1131, 1989), OSPFv2 (RFC 1247, 1991, then [[rfc:2328|RFC 2328]], 1998 โ€” still the current spec), and the canonical book \"OSPF: Anatomy of an Internet Routing Protocol.\" OSPF's link-state design โ€” flood the topology, run Dijkstra locally โ€” is now standard for IGPs across vendors." + 'Designed [[ospf|OSPF]] in 1989 as a replacement for RIP (the distance-vector protocol that took multi-minute convergence times in the 1980s Internet). Moy wrote OSPFv1 (RFC 1131, 1989), OSPFv2 (RFC 1247, 1991, then [[rfc:2328|RFC 2328]], 1998 โ€” still the current spec), and the canonical book "OSPF: Anatomy of an Internet Routing Protocol." OSPF\'s link-state design โ€” flood the topology, run Dijkstra locally โ€” is now standard for IGPs across vendors.' } ] }, @@ -52,13 +52,13 @@ export const routingStory: SubcategoryStory = { year: 1956, title: 'Dijkstra Invents Shortest-Path', description: - "[[pioneer:edsger-dijkstra|Dijkstra]] sketches his algorithm in a Dutch cafรฉ. It will become the engine of every link-state IGP three decades later." + '[[pioneer:edsger-dijkstra|Dijkstra]] sketches his algorithm in a Dutch cafรฉ. It will become the engine of every link-state IGP three decades later.' }, { year: 1982, title: 'EGP RFC 827', description: - "The first inter-AS protocol โ€” strictly tree-shaped, assumed the Internet had a single backbone core (the ARPANET). It worked only because the early Internet was small and centralized." + 'The first inter-AS protocol โ€” strictly tree-shaped, assumed the Internet had a single backbone core (the ARPANET). It worked only because the early Internet was small and centralized.' }, { year: 1989, @@ -76,13 +76,13 @@ export const routingStory: SubcategoryStory = { year: 1995, title: 'BGP-4 (RFC 1771)', description: - "BGP-4 adds {{cidr|CIDR}} support โ€” variable-length prefixes instead of class A/B/C boundaries. CIDR is the only thing that staved off [[ipv4|IPv4]] address exhaustion through the 1990s." + 'BGP-4 adds {{cidr|CIDR}} support โ€” variable-length prefixes instead of class A/B/C boundaries. CIDR is the only thing that staved off [[ipv4|IPv4]] address exhaustion through the 1990s.' }, { year: 1998, title: 'OSPFv2 Final (RFC 2328)', description: - "The OSPF spec that almost every router on Earth still implements unchanged. Multi-area hierarchy, MD5 authentication, type-of-service routing (rarely used)." + 'The OSPF spec that almost every router on Earth still implements unchanged. Multi-area hierarchy, MD5 authentication, type-of-service routing (rarely used).' }, { year: 1999, @@ -100,7 +100,7 @@ export const routingStory: SubcategoryStory = { year: 2008, title: 'YouTube Disappears for Two Hours', description: - 'Pakistan Telecom announces a more-specific BGP route to YouTube\'s prefix, intending to block YouTube locally. The announcement leaks to upstream PCCW Global and propagates globally. YouTube is unreachable for ~2 hours.' + "Pakistan Telecom announces a more-specific BGP route to YouTube's prefix, intending to block YouTube locally. The announcement leaks to upstream PCCW Global and propagates globally. YouTube is unreachable for ~2 hours." }, { year: 2021, @@ -112,7 +112,7 @@ export const routingStory: SubcategoryStory = { year: 2024, title: 'RPKI Coverage Crosses 50%', description: - 'Resource Public Key Infrastructure โ€” cryptographically signed assertions of who owns which prefix โ€” finally covers more than half of routed IPv4 space. The first credible defense against BGP hijacks since BGP\'s invention.' + "Resource Public Key Infrastructure โ€” cryptographically signed assertions of who owns which prefix โ€” finally covers more than half of routed IPv4 space. The first credible defense against BGP hijacks since BGP's invention." } ] }, @@ -164,7 +164,7 @@ export const routingStory: SubcategoryStory = { A->>A: Install route 192.0.2.0/24 via C Note over A,C: AS 64500 announces nothing back โ€” customer does not transit for providers`, caption: - "BGP isn't about shortest path โ€” it's about *policy*. The rule of thumb: prefer customer routes (you get paid), then peers (free), then transit (you pay). \"Hot potato routing\" โ€” get the packet out your network as fast as possible โ€” is policy expressed as IGP cost in step 5.", + 'BGP isn\'t about shortest path โ€” it\'s about *policy*. The rule of thumb: prefer customer routes (you get paid), then peers (free), then transit (you pay). "Hot potato routing" โ€” get the packet out your network as fast as possible โ€” is policy expressed as IGP cost in step 5.', steps: { 0: '**The setup.** AS 64500 (a small content provider) has two ways to reach AS 13335 (Cloudflare): through its paid transit provider B, or through a free direct peering with C. Which path wins?', 1: '**Transit provider sends an UPDATE.** B says "I can reach 192.0.2.0/24 โ€” the AS_PATH is [65001, 13335]." (Each AS prepends itself when forwarding.)', @@ -175,9 +175,9 @@ export const routingStory: SubcategoryStory = { 6: 'Step 3: **lowest MED** (Multi-Exit Discriminator). Hint set by the *neighbor* to influence which entry point you use. Usually ignored across ASes for trust reasons. Still tied.', 7: 'Step 4: **eBGP preferred over iBGP.** External BGP (between ASes) is preferred over internal BGP (within your AS). Both candidates are eBGP โ€” still tied.', 8: 'Step 5: **lowest IGP cost to the next-hop wins.** The direct peer C is one hop away inside our network; the transit provider B is several hops further. C wins.', - 9: '**Selected via AS 65002.** The direct peer wins because it\'s closer in our internal topology AND because crossing it is free (peering is settlement-free; transit is paid).', + 9: "**Selected via AS 65002.** The direct peer wins because it's closer in our internal topology AND because crossing it is free (peering is settlement-free; transit is paid).", 10: 'Router **installs the route** in the forwarding table: traffic destined to 192.0.2.0/24 goes out the peering link to C.', - 11: '**Announcement back.** AS 64500 (a customer) doesn\'t re-announce this route to its providers โ€” customers don\'t transit for their providers. This single-line policy rule is what makes the global routing table converge.' + 11: "**Announcement back.** AS 64500 (a customer) doesn't re-announce this route to its providers โ€” customers don't transit for their providers. This single-line policy rule is what makes the global routing table converge." } }, { @@ -192,7 +192,7 @@ export const routingStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **{{rpki|RPKI}} coverage** continues to grow toward universal โ€” the goal is a tipping point where invalid announcements are dropped by enough networks that hijacks become unprofitable. AT&T, Telia, NTT, Comcast all now drop RPKI-invalid routes.\n- **BGPsec** โ€” full AS_PATH signing โ€” remains stuck in the "almost deployable" zone. Hardware capable of signing each hop at line rate is finally available, but ecosystem adoption is slow.\n- **Segment Routing (SRv6)** is replacing MPLS-TE in some ISP backbones. Encodes the explicit path in the [[ipv6|IPv6]] header itself; doesn't replace [[bgp|BGP]] but changes what an IGP needs to compute.\n- **The deprecation of public looking glasses** โ€” many ISPs are turning off the public "show me your BGP table" tools that BGP researchers relied on for decades, citing security. The visible Internet is becoming less visible.\n\nRouting protocols themselves change slowly. The change is happening in *what runs on top of them* โ€” verification, policy automation, observability.` } ] diff --git a/src/lib/data/subcategory-stories/rpc-styles.ts b/src/lib/data/subcategory-stories/rpc-styles.ts index 423be7e..ee59843 100644 --- a/src/lib/data/subcategory-stories/rpc-styles.ts +++ b/src/lib/data/subcategory-stories/rpc-styles.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const rpcStylesStory: SubcategoryStory = { subcategoryId: 'rpc-styles', tagline: - "Call a remote function like a local one โ€” the dream of remote procedure call across forty years of attempts", + 'Call a remote function like a local one โ€” the dream of remote procedure call across forty years of attempts', sections: [ { type: 'narrative', @@ -53,7 +53,7 @@ export const rpcStylesStory: SubcategoryStory = { year: 1987, title: 'Sun RPC / ONC RPC', description: - "Sun ships RPC as the foundation for NFS. XDR for marshalling, portmap for service discovery. The first widely-deployed RPC outside research." + 'Sun ships RPC as the foundation for NFS. XDR for marshalling, portmap for service discovery. The first widely-deployed RPC outside research.' }, { year: 1991, @@ -65,13 +65,13 @@ export const rpcStylesStory: SubcategoryStory = { year: 1998, title: 'XML-RPC Published', description: - "Dave Winer's deliberately minimal XML-over-HTTP RPC. The spec fits on a napkin. Becomes the first widely-used \"RPC for the web.\"" + 'Dave Winer\'s deliberately minimal XML-over-HTTP RPC. The spec fits on a napkin. Becomes the first widely-used "RPC for the web."' }, { year: 1999, title: 'SOAP 1.0', description: - "Microsoft + Userland + others publish [[soap|SOAP]] โ€” XML-RPC reframed for enterprise. WSDL for service description; XML Schema for types. Adoption explodes through 2005." + 'Microsoft + Userland + others publish [[soap|SOAP]] โ€” XML-RPC reframed for enterprise. WSDL for service description; XML Schema for types. Adoption explodes through 2005.' }, { year: 2005, @@ -83,7 +83,7 @@ export const rpcStylesStory: SubcategoryStory = { year: 2008, title: 'Protocol Buffers Open-Sourced', description: - "Google releases protobuf โ€” the typed binary serialization format used internally since 2001. Schemas in `.proto` files generate strongly-typed code in C++, Java, Python, Go." + 'Google releases protobuf โ€” the typed binary serialization format used internally since 2001. Schemas in `.proto` files generate strongly-typed code in C++, Java, Python, Go.' }, { year: 2015, @@ -107,7 +107,7 @@ export const rpcStylesStory: SubcategoryStory = { year: 2024, title: 'Buf Connect Protocol', description: - "Connect โ€” a gRPC-compatible protocol that also speaks plain HTTP/JSON โ€” splits the difference between gRPC and REST. Same .proto definitions, runs in browsers without a proxy." + 'Connect โ€” a gRPC-compatible protocol that also speaks plain HTTP/JSON โ€” splits the difference between gRPC and REST. Same .proto definitions, runs in browsers without a proxy.' } ] }, @@ -142,7 +142,7 @@ export const rpcStylesStory: SubcategoryStory = { 'Protocol Buffers (binary)', '.proto IDL (typed, versioned)', '[[http2|HTTP/2]] streaming', - "Heavy โ€” generates clients in C++, Java, Go, Python, Ruby, JS, etc.", + 'Heavy โ€” generates clients in C++, Java, Go, Python, Ruby, JS, etc.', 'Internal microservices at scale; mobile-to-backend with typed contracts' ] } @@ -189,7 +189,7 @@ export const rpcStylesStory: SubcategoryStory = { 12: 'Server responds to and acks message 2 in one frame.', 13: 'Client sends message 3.', 14: 'Server responds. The two sides keep ping-ponging until either closes the stream.', - 15: '**One HTTP/2 connection** carries all of these calls (and dozens more in parallel for other RPCs). HTTP/2\'s frame multiplexing means small messages from different streams interleave without blocking each other.' + 15: "**One HTTP/2 connection** carries all of these calls (and dozens more in parallel for other RPCs). HTTP/2's frame multiplexing means small messages from different streams interleave without blocking each other." } }, { @@ -204,7 +204,7 @@ export const rpcStylesStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Connect protocol** (Buf, 2024) โ€” a [[grpc|gRPC]]-compatible protocol that also speaks plain HTTP/JSON, eliminating the browser-proxy problem. Same .proto files generate clients for both transports.\n- **Cap'n Proto + Tonic + Twirp** โ€” lighter alternatives to full gRPC, each with niche followings. Twirp keeps protobuf but drops streaming and HTTP/2 for simpler operations.\n- **OpenAPI codegen catching up** โ€” Stainless, Speakeasy, Fern generate typed clients from OpenAPI specs that rival the gRPC developer experience. The line between "typed REST" and "JSON-over-HTTP RPC" is dissolving.\n- **Schema-on-the-wire** experiments (Cap'n Proto, Apache Avro for streaming) keep niche traction in data pipelines and storage formats.\n- **The unsexy truth**: [[grpc|gRPC]] won internal microservice RPC. [[json-rpc|JSON-RPC]] won blockchain and editor protocols. [[soap|SOAP]] is in maintenance. New API design in 2025 picks gRPC if everything is yours and behind your edge; picks typed REST/OpenAPI if anything is public.` } ] diff --git a/src/lib/data/subcategory-stories/secure-channels-vpn.ts b/src/lib/data/subcategory-stories/secure-channels-vpn.ts index a5e59e0..8a7c990 100644 --- a/src/lib/data/subcategory-stories/secure-channels-vpn.ts +++ b/src/lib/data/subcategory-stories/secure-channels-vpn.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const secureChannelsVpnStory: SubcategoryStory = { subcategoryId: 'secure-channels-vpn', tagline: - "Encrypting traffic at different layers, for different threat models โ€” transport, app, network, and the minimalist successor", + 'Encrypting traffic at different layers, for different threat models โ€” transport, app, network, and the minimalist successor', sections: [ { type: 'narrative', @@ -30,7 +30,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { title: 'IPsec / IKE Implementer', org: 'SafeNet / Independent', contribution: - "Maintained the reference implementation of [[ipsec|IPsec]] / IKE used by half the industry (Racoon, isakmpd). Authored or co-authored ~30 IPsec-related RFCs, including significant parts of IKEv2. Kivinen\\'s sustained engineering work is one of the reasons IPsec went from \"unimplementable in practice\" to \"the default enterprise VPN for 25 years.\"" + 'Maintained the reference implementation of [[ipsec|IPsec]] / IKE used by half the industry (Racoon, isakmpd). Authored or co-authored ~30 IPsec-related RFCs, including significant parts of IKEv2. Kivinen\\\'s sustained engineering work is one of the reasons IPsec went from "unimplementable in practice" to "the default enterprise VPN for 25 years."' }, { id: 'jason-donenfeld', @@ -58,13 +58,13 @@ export const secureChannelsVpnStory: SubcategoryStory = { year: 1995, title: 'SSL 2.0 (Netscape)', description: - "Netscape ships SSL 2.0 in Navigator. Cryptographically weak (multiple flaws); replaced within a year by SSL 3.0." + 'Netscape ships SSL 2.0 in Navigator. Cryptographically weak (multiple flaws); replaced within a year by SSL 3.0.' }, { year: 1995, title: 'SSH 1.0 (Ylรถnen)', description: - '[[ssh|SSH]] replaces Telnet for remote login. Within a year it\'s standard on every Unix.' + "[[ssh|SSH]] replaces Telnet for remote login. Within a year it's standard on every Unix." }, { year: 1995, @@ -82,7 +82,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { year: 2005, title: 'IKEv2 / IPsec Stabilizes', description: - "After a decade of IKEv1 (Internet Key Exchange v1) frustration, IKEv2 ships ([[ipsec|RFC 4306]], later 5996). Most modern IPsec deployments use IKEv2." + 'After a decade of IKEv1 (Internet Key Exchange v1) frustration, IKEv2 ships ([[ipsec|RFC 4306]], later 5996). Most modern IPsec deployments use IKEv2.' }, { year: 2008, @@ -100,7 +100,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { year: 2016, title: 'WireGuard First Release', description: - "[[pioneer:jason-donenfeld|Donenfeld]] publishes WireGuard 0.1. Initial reception in the cryptography community is enthusiastic โ€” \"finally, a VPN protocol you can read in an afternoon.\"" + '[[pioneer:jason-donenfeld|Donenfeld]] publishes WireGuard 0.1. Initial reception in the cryptography community is enthusiastic โ€” "finally, a VPN protocol you can read in an afternoon."' }, { year: 2018, @@ -112,19 +112,19 @@ export const secureChannelsVpnStory: SubcategoryStory = { year: 2020, title: 'WireGuard Mainlined in Linux 5.6', description: - "Linus Torvalds merges WireGuard into the Linux kernel after years of \"please can we have this.\" Within months it ships in major distros and is the default of new VPN services (Mullvad, Tailscale, NordVPN's NordLynx)." + 'Linus Torvalds merges WireGuard into the Linux kernel after years of "please can we have this." Within months it ships in major distros and is the default of new VPN services (Mullvad, Tailscale, NordVPN\'s NordLynx).' }, { year: 2021, title: 'Tailscale Mainstream Adoption', description: - "Tailscale โ€” a WireGuard-based zero-config mesh VPN with NAT punch-through and coordination server โ€” explodes in adoption. Demonstrates that \"WireGuard plus a control plane\" is the future of \"how do I connect my laptop to my home server.\"" + 'Tailscale โ€” a WireGuard-based zero-config mesh VPN with NAT punch-through and coordination server โ€” explodes in adoption. Demonstrates that "WireGuard plus a control plane" is the future of "how do I connect my laptop to my home server."' }, { year: 2024, title: 'Post-Quantum TLS Rolls Out', description: - "Chrome, Cloudflare, Apple roll out hybrid post-quantum key exchange (X25519+Kyber/MLKEM) in TLS 1.3 connections by default. The first widely-deployed PQC in production." + 'Chrome, Cloudflare, Apple roll out hybrid post-quantum key exchange (X25519+Kyber/MLKEM) in TLS 1.3 connections by default. The first widely-deployed PQC in production.' } ] }, @@ -140,7 +140,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { 'HTTPS, IMAPS, SMTPS, any TCP service', '1-RTT (TLS 1.3); 2-RTT (older)', 'X.509 certificate hierarchy', - "Record protocol with handshake / app data / alert layers" + 'Record protocol with handshake / app data / alert layers' ] }, { @@ -150,7 +150,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { 'Remote shell, tunneling, file transfer', 'Custom โ€” diffie-hellman + key auth', 'Server host keys + user keys (no PKI)', - "Binary packet protocol over TCP" + 'Binary packet protocol over TCP' ] }, { @@ -158,9 +158,9 @@ export const secureChannelsVpnStory: SubcategoryStory = { values: [ 'Network (inside IP)', 'Site-to-site VPN, IPv6 mandate', - "IKEv2 โ€” typically 4 messages", - "Pre-shared keys, X.509, or EAP", - "ESP (encrypted payload) and AH (auth header)" + 'IKEv2 โ€” typically 4 messages', + 'Pre-shared keys, X.509, or EAP', + 'ESP (encrypted payload) and AH (auth header)' ] }, { @@ -169,12 +169,12 @@ export const secureChannelsVpnStory: SubcategoryStory = { 'Network (UDP-based virtual interface)', 'Modern VPN โ€” point-to-point and mesh', '1-RTT โ€” Noise IK pattern', - "Public keys exchanged out of band (simple)", - "UDP datagrams โ€” no TCP fallback, no algorithm negotiation" + 'Public keys exchanged out of band (simple)', + 'UDP datagrams โ€” no TCP fallback, no algorithm negotiation' ] } ], - note: "These don\\'t compete the way most protocol families do. Different layers, different use cases. The replacement question is mostly *IPsec โ†’ WireGuard* (where the answer is \"yes, almost always for new deployments\")." + note: 'These don\\\'t compete the way most protocol families do. Different layers, different use cases. The replacement question is mostly *IPsec โ†’ WireGuard* (where the answer is "yes, almost always for new deployments").' }, { type: 'animated-sequence', @@ -199,12 +199,12 @@ export const secureChannelsVpnStory: SubcategoryStory = { steps: { 0: '**The win.** TLS 1.2 needed 2 full round trips (4 messages) before any app data could flow โ€” TCP added 1 more. TLS 1.3 cuts that to 1 RTT for the handshake, and 0 RTT on session resumption. The savings are enormous on high-latency mobile links.', 1: 'Client opens with **ClientHello**: supported TLS versions, cipher suites it accepts, *and* a `key_share` โ€” a Diffie-Hellman public key. This bold "send key material in the first message" choice is what enables 1-RTT.', - 2: 'Server **picks a cipher suite** from the client\'s offered list and immediately derives handshake encryption keys using its own ephemeral DH private key + the client\'s `key_share`. No back-and-forth negotiation.', + 2: "Server **picks a cipher suite** from the client's offered list and immediately derives handshake encryption keys using its own ephemeral DH private key + the client's `key_share`. No back-and-forth negotiation.", 3: 'Server sends **ServerHello** with its `key_share` (so the client can derive the same handshake keys) plus EncryptedExtensions (additional negotiation, now encrypted).', 4: 'Server sends **Certificate** โ€” encrypted with the handshake key. Notable: the cert itself is encrypted, defeating passive observers from learning *which* certificate (and thus which hostname) is in play.', 5: 'Server sends **CertificateVerify** โ€” a signature over the handshake transcript proving the server owns the private key for the cert.', 6: 'Server sends **Finished** โ€” a MAC over the entire transcript so far, proving both sides agreed on the same handshake.', - 7: '**Client verifies.** It checks the certificate chain against its trust store and validates the CertificateVerify signature. If anything\'s wrong, the connection aborts here.', + 7: "**Client verifies.** It checks the certificate chain against its trust store and validates the CertificateVerify signature. If anything's wrong, the connection aborts here.", 8: 'Client sends its own **Finished** โ€” its MAC over the transcript, proving it saw the same handshake messages.', 9: 'Client sends **application data** encrypted under freshly-derived application keys. The first useful request rides in the same RTT as the Finished โ€” net: 1 round trip from "connect" to "request sent."', 10: 'Server responds with **application data** under the same keys. The connection is now established and encrypted; everything from here is just data.', @@ -223,7 +223,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Post-quantum TLS** is rolling out. Chrome, Cloudflare, Apple have already deployed hybrid X25519+ML-KEM (Kyber) by default. NIST PQC standards finalized in 2024; the migration phase is now.\n- **Encrypted Client Hello (ECH)** hides the SNI (which hostname the client is asking for) from passive observers. Default-on in Chrome and Firefox in 2024. The last unencrypted metadata in a TLS connection is gone.\n- **WireGuard in everything** โ€” every major commercial VPN now offers WireGuard. Cloudflare WARP, Tailscale, Mullvad, NordVPN, Surfshark. The transition from OpenVPN/IPsec is essentially complete for consumer VPNs.\n- **SSH certificates** are slowly displacing \`authorized_keys\` files in enterprise environments. Short-lived certificates issued by a CA (HashiCorp Vault, smallstep CA, Teleport) provide centralized control and automatic expiry.\n- **MASQUE** (proxy traffic inside QUIC) is the next generation of "VPN" โ€” used by iCloud Private Relay and Cloudflare's Privacy Gateway. Not a replacement for site-to-site IPsec, but a replacement for the "encrypted DNS + proxy" pattern that consumer VPNs deliver.\n- **Memory-safe TLS implementations** (rustls, BoringSSL's improvements, OpenSSL 3.x rewrites) continue replacing C-based stacks where the language gives crypto code more guarantees against the Heartbleed-class bugs.` } ] diff --git a/src/lib/data/subcategory-stories/streaming-delivery.ts b/src/lib/data/subcategory-stories/streaming-delivery.ts index 3fcfc98..627458e 100644 --- a/src/lib/data/subcategory-stories/streaming-delivery.ts +++ b/src/lib/data/subcategory-stories/streaming-delivery.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const streamingDeliveryStory: SubcategoryStory = { subcategoryId: 'streaming-delivery', tagline: - "Delivering video at Internet scale โ€” from Flash push to adaptive HTTP, and the protocol that refused to die", + 'Delivering video at Internet scale โ€” from Flash push to adaptive HTTP, and the protocol that refused to die', sections: [ { type: 'narrative', @@ -28,7 +28,7 @@ export const streamingDeliveryStory: SubcategoryStory = { title: 'DASH Chair', org: 'MPEG / Microsoft', contribution: - "Chaired the MPEG working group that standardized [[dash|MPEG-DASH]] (ISO/IEC 23009-1) in 2012. Where [[hls|HLS]] was a single-vendor spec, DASH was the standards-body answer โ€” designed to be codec-agnostic, container-agnostic, and royalty-free. Sodagar and the DASH-IF (DASH Industry Forum) drove interop testing across hundreds of player and encoder implementations." + 'Chaired the MPEG working group that standardized [[dash|MPEG-DASH]] (ISO/IEC 23009-1) in 2012. Where [[hls|HLS]] was a single-vendor spec, DASH was the standards-body answer โ€” designed to be codec-agnostic, container-agnostic, and royalty-free. Sodagar and the DASH-IF (DASH Industry Forum) drove interop testing across hundreds of player and encoder implementations.' }, { name: 'Will Law', @@ -36,7 +36,7 @@ export const streamingDeliveryStory: SubcategoryStory = { title: 'CMAF / Low-Latency Streaming Architect', org: 'Akamai', contribution: - "Co-led the Common Media Application Format (CMAF, 2016) effort to unify the segment formats used by HLS and DASH โ€” for years both used MPEG-2 Transport Streams for HLS and fragmented MP4 for DASH, requiring CDNs to cache two copies of the same content. Law also helped shape Low-Latency HLS (LL-HLS) and the Akamai Low-Latency CMAF pattern, which together pushed end-to-end live streaming latency from 30+ seconds down to 2โ€“4 seconds." + 'Co-led the Common Media Application Format (CMAF, 2016) effort to unify the segment formats used by HLS and DASH โ€” for years both used MPEG-2 Transport Streams for HLS and fragmented MP4 for DASH, requiring CDNs to cache two copies of the same content. Law also helped shape Low-Latency HLS (LL-HLS) and the Akamai Low-Latency CMAF pattern, which together pushed end-to-end live streaming latency from 30+ seconds down to 2โ€“4 seconds.' } ] }, @@ -47,19 +47,19 @@ export const streamingDeliveryStory: SubcategoryStory = { year: 1995, title: 'RealAudio Ships', description: - "RealNetworks ships RealAudio with the first widely-deployed Internet streaming protocol. Proprietary, complex, hugely successful for music streaming in the late 1990s." + 'RealNetworks ships RealAudio with the first widely-deployed Internet streaming protocol. Proprietary, complex, hugely successful for music streaming in the late 1990s.' }, { year: 2002, - title: 'Adobe Buys Macromedia\'s Flash', + title: "Adobe Buys Macromedia's Flash", description: - "Adobe inherits Flash Media Server and the RTMP protocol. Flash becomes the default video stack on the web for the next decade." + 'Adobe inherits Flash Media Server and the RTMP protocol. Flash becomes the default video stack on the web for the next decade.' }, { year: 2005, title: 'YouTube Launches on Flash', description: - "YouTube ships using Adobe Flash + [[rtmp|RTMP]]/HTTP progressive download. Becomes the largest video site on the Internet." + 'YouTube ships using Adobe Flash + [[rtmp|RTMP]]/HTTP progressive download. Becomes the largest video site on the Internet.' }, { year: 2007, @@ -71,7 +71,7 @@ export const streamingDeliveryStory: SubcategoryStory = { year: 2009, title: 'HLS Spec Drafts at IETF', description: - "Apple publishes the first [[hls|HLS]] internet-drafts. The original spec is short: an .m3u8 manifest pointing to .ts segment files served from any HTTP origin." + 'Apple publishes the first [[hls|HLS]] internet-drafts. The original spec is short: an .m3u8 manifest pointing to .ts segment files served from any HTTP origin.' }, { year: 2010, @@ -83,13 +83,13 @@ export const streamingDeliveryStory: SubcategoryStory = { year: 2012, title: 'MPEG-DASH Standardized', description: - 'ISO/IEC 23009-1 publishes [[dash|MPEG-DASH]]. Codec-agnostic, royalty-free, designed by committee โ€” the standards-body answer to Apple\'s vendor-controlled HLS.' + "ISO/IEC 23009-1 publishes [[dash|MPEG-DASH]]. Codec-agnostic, royalty-free, designed by committee โ€” the standards-body answer to Apple's vendor-controlled HLS." }, { year: 2015, title: 'YouTube Defaults to DASH', description: - "YouTube migrates its primary player from Flash + RTMP to HTML5 + DASH. Netflix, Hulu, BBC iPlayer follow with DASH (or HLS) shortly after." + 'YouTube migrates its primary player from Flash + RTMP to HTML5 + DASH. Netflix, Hulu, BBC iPlayer follow with DASH (or HLS) shortly after.' }, { year: 2016, @@ -101,19 +101,19 @@ export const streamingDeliveryStory: SubcategoryStory = { year: 2017, title: 'Flash Officially Discontinued', description: - "Adobe announces Flash end-of-life by 2020. The last consumer browser version is removed from Chrome in late 2020." + 'Adobe announces Flash end-of-life by 2020. The last consumer browser version is removed from Chrome in late 2020.' }, { year: 2019, title: 'Low-Latency HLS (LL-HLS) and CMAF-LL', description: - "Apple publishes Low-Latency HLS; CMAF Low-Latency follows. Achieve 2โ€“4 second end-to-end live latency, competitive with the WebRTC alternatives โ€” without giving up the CDN cacheability that makes streaming economical." + 'Apple publishes Low-Latency HLS; CMAF Low-Latency follows. Achieve 2โ€“4 second end-to-end live latency, competitive with the WebRTC alternatives โ€” without giving up the CDN cacheability that makes streaming economical.' }, { year: 2023, title: 'Media over QUIC (MoQ) Working Group', description: - "IETF charters the MoQ WG to define the post-HLS/DASH future: streaming directly over [[quic|QUIC]] without segment files. Twitch and Meta are the largest sponsors." + 'IETF charters the MoQ WG to define the post-HLS/DASH future: streaming directly over [[quic|QUIC]] without segment files. Twitch and Meta are the largest sponsors.' } ] }, @@ -127,9 +127,9 @@ export const streamingDeliveryStory: SubcategoryStory = { values: [ 'Push (server pushes to player); also push (ingest)', 'TCP (long-lived)', - "FLV container, AAC/H.264", + 'FLV container, AAC/H.264', '1โ€“5 seconds (low for the era)', - "Live ingest from streamer โ†’ service (Twitch, YouTube Live, Facebook Live)" + 'Live ingest from streamer โ†’ service (Twitch, YouTube Live, Facebook Live)' ] }, { @@ -137,9 +137,9 @@ export const streamingDeliveryStory: SubcategoryStory = { values: [ 'Pull (client fetches segments)', 'HTTP โ€” fits behind any CDN', - ".m3u8 manifest + .ts or fMP4 segments", + '.m3u8 manifest + .ts or fMP4 segments', 'Standard: 15โ€“30s; LL-HLS: 2โ€“4s', - "All Apple platforms; default for mobile and Smart TVs; CDN-cached delivery" + 'All Apple platforms; default for mobile and Smart TVs; CDN-cached delivery' ] }, { @@ -147,13 +147,13 @@ export const streamingDeliveryStory: SubcategoryStory = { values: [ 'Pull (client fetches segments)', 'HTTP โ€” fits behind any CDN', - ".mpd manifest + fMP4 (or webm) segments", + '.mpd manifest + fMP4 (or webm) segments', 'Standard: 6โ€“30s; CMAF-LL: 2โ€“4s', - "YouTube, Netflix, most non-Apple platforms; codec-agnostic so it survives codec churn" + 'YouTube, Netflix, most non-Apple platforms; codec-agnostic so it survives codec churn' ] } ], - note: "Modern live streams typically use [[rtmp|RTMP]] for ingest and [[hls|HLS]] or [[dash|DASH]] for delivery. The CMAF unification means a single set of fMP4 segments can serve both HLS and DASH players." + note: 'Modern live streams typically use [[rtmp|RTMP]] for ingest and [[hls|HLS]] or [[dash|DASH]] for delivery. The CMAF unification means a single set of fMP4 segments can serve both HLS and DASH players.' }, { type: 'animated-sequence', @@ -182,11 +182,11 @@ export const streamingDeliveryStory: SubcategoryStory = { CDN-->>P: segment, back to high quality Note over CDN: All segments cached at CDN edge โ€” most requests never hit origin`, caption: - "The adaptive bitrate ladder is the magic of HTTP-based streaming. Each segment is a separate HTTP request, the player picks the bitrate per segment, and the CDN caches every variant. A 4K stream with 5 bitrates costs 5ร— the storage but ~1ร— the origin bandwidth โ€” almost all traffic is served from cache.", + 'The adaptive bitrate ladder is the magic of HTTP-based streaming. Each segment is a separate HTTP request, the player picks the bitrate per segment, and the CDN caches every variant. A 4K stream with 5 bitrates costs 5ร— the storage but ~1ร— the origin bandwidth โ€” almost all traffic is served from cache.', steps: { 0: '**The setup.** The player will fetch many small segments (typically 2โ€“10 seconds each) over HTTP from a CDN. Before it can do anything, it needs the *manifest* โ€” the list of available bitrates and segment URLs.', 1: 'Player requests the **manifest** (.m3u8 for HLS, .mpd for DASH).', - 2: '**CDN cache miss** โ€” it doesn\'t have the manifest yet, so it fetches from origin.', + 2: "**CDN cache miss** โ€” it doesn't have the manifest yet, so it fetches from origin.", 3: 'Origin returns the manifest listing five bitrates: **240p, 480p, 720p, 1080p, 4K**.', 4: 'CDN forwards the manifest to the player and caches it. Future viewers get the manifest from cache.', 5: '**The player chooses a starting bitrate** โ€” typically conservative (low) โ€” and starts measuring how fast segments are arriving to inform its quality decisions.', @@ -216,7 +216,7 @@ export const streamingDeliveryStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Media over QUIC (MoQ)** โ€” IETF working group developing the post-HLS/DASH future. Direct streaming over QUIC streams instead of segment files. Sub-second latency potential, but the segment-based + CDN-cacheable model is hard to beat economically.\n- **WHIP / WHEP for WebRTC ingest** โ€” WebRTC HTTP Ingestion Protocol (WHIP, RFC 9725) and Egress Protocol (WHEP) are the WebRTC-based path to replace RTMP ingest. Twitch, OBS, YouTube all have partial support.\n- **AV1 rollout** โ€” YouTube and Netflix are pushing AV1 hard. ~30% bandwidth savings vs H.264 at equivalent quality. Hardware decode support is catching up (Apple A17, Snapdragon 8 Gen 3, Intel Arc).\n- **Low-latency CMAF and LL-HLS** are converging in practice โ€” Apple's LL-HLS uses CMAF segments, the format wars are over.\n- **Live commerce and live auctions** are the new "must be <2 seconds" use cases driving low-latency investment. WebRTC is winning the under-1-second tier; LL-HLS/CMAF-LL the 2โ€“4 second tier; standard HLS/DASH the 15โ€“30 second tier (which is fine for most actual viewing).\n- **The boring truth**: 95% of streaming in 2025 is still standard HLS or DASH segments served from a CDN. The architectural breakthroughs (RTMP, segment-based adaptive, CMAF) are mostly already in production. The frontier is the long tail โ€” latency, codec efficiency, ingest modernization.` } ] diff --git a/src/lib/data/subcategory-stories/types.ts b/src/lib/data/subcategory-stories/types.ts index e24a7d4..cb57f01 100644 --- a/src/lib/data/subcategory-stories/types.ts +++ b/src/lib/data/subcategory-stories/types.ts @@ -3,11 +3,7 @@ * structure is identical (narrative, timeline, pioneers, callout, diagram, * image). Only the parent id differs. */ -export type { - Pioneer, - TimelineEntry, - StorySection -} from '../category-stories/types'; +export type { Pioneer, TimelineEntry, StorySection } from '../category-stories/types'; import type { StoryContent } from '../category-stories/types'; diff --git a/src/lib/data/subcategory-stories/wlan-wan.ts b/src/lib/data/subcategory-stories/wlan-wan.ts index 03765e1..c800853 100644 --- a/src/lib/data/subcategory-stories/wlan-wan.ts +++ b/src/lib/data/subcategory-stories/wlan-wan.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const wlanWanStory: SubcategoryStory = { subcategoryId: 'wlan-wan', tagline: - "General-purpose wireless at two scales โ€” unlicensed Wi-Fi for hundreds of meters, licensed cellular for hundreds of kilometers", + 'General-purpose wireless at two scales โ€” unlicensed Wi-Fi for hundreds of meters, licensed cellular for hundreds of kilometers', sections: [ { type: 'narrative', @@ -30,7 +30,7 @@ export const wlanWanStory: SubcategoryStory = { title: 'Inventor of the Viterbi Algorithm / Co-founder of Qualcomm', org: 'UCSD / Qualcomm', contribution: - "Invented the Viterbi algorithm (1967) โ€” the optimal decoder for convolutional codes that underpins essentially every wireless modem since. Co-founded Qualcomm (1985), which bet on CDMA for cellular against the entrenched TDMA standard (GSM). CDMA won the US 2G/3G battle; the underlying spread-spectrum mathematics also drove modern OFDMA and 5G NR. The Viterbi School of Engineering at USC is named for him." + 'Invented the Viterbi algorithm (1967) โ€” the optimal decoder for convolutional codes that underpins essentially every wireless modem since. Co-founded Qualcomm (1985), which bet on CDMA for cellular against the entrenched TDMA standard (GSM). CDMA won the US 2G/3G battle; the underlying spread-spectrum mathematics also drove modern OFDMA and 5G NR. The Viterbi School of Engineering at USC is named for him.' }, { name: 'Vic Hayes', @@ -38,7 +38,7 @@ export const wlanWanStory: SubcategoryStory = { title: '"Father of Wi-Fi"', org: 'NCR / Lucent / IEEE 802.11', contribution: - 'Chaired the IEEE 802.11 working group from its founding in 1990 through 2000 โ€” the decade when Wi-Fi went from a proposal to a global standard. Hayes\' particular contribution was shepherding the consensus between vendors with incompatible early designs (NCR\'s WaveLAN, others\') into a single standard that everyone could implement. Without that coordination, Wi-Fi would have fragmented like the early cellular world did.' + "Chaired the IEEE 802.11 working group from its founding in 1990 through 2000 โ€” the decade when Wi-Fi went from a proposal to a global standard. Hayes' particular contribution was shepherding the consensus between vendors with incompatible early designs (NCR's WaveLAN, others') into a single standard that everyone could implement. Without that coordination, Wi-Fi would have fragmented like the early cellular world did." }, { id: 'erik-dahlman', @@ -64,25 +64,25 @@ export const wlanWanStory: SubcategoryStory = { year: 1983, title: 'First Commercial Cellular (1G AMPS)', description: - "Ameritech launches Advanced Mobile Phone System in Chicago. Analog voice; FM modulation; massive cell towers." + 'Ameritech launches Advanced Mobile Phone System in Chicago. Analog voice; FM modulation; massive cell towers.' }, { year: 1991, title: '2G GSM Launches', description: - "Digital cellular ships in Finland. GSM standardized in Europe; CDMA-based IS-95 in the US. The split between TDMA-based GSM and CDMA-based US carriers defines a decade of incompatibility." + 'Digital cellular ships in Finland. GSM standardized in Europe; CDMA-based IS-95 in the US. The split between TDMA-based GSM and CDMA-based US carriers defines a decade of incompatibility.' }, { year: 1997, title: 'IEEE 802.11 Published', description: - "The original [[wifi|Wi-Fi]] standard โ€” 1 Mbps and 2 Mbps in 2.4 GHz. Initially marketed as \"WaveLAN.\" The Wi-Fi Alliance forms a couple years later to brand the certified-interop version." + 'The original [[wifi|Wi-Fi]] standard โ€” 1 Mbps and 2 Mbps in 2.4 GHz. Initially marketed as "WaveLAN." The Wi-Fi Alliance forms a couple years later to brand the certified-interop version.' }, { year: 1999, title: '802.11b โ€” Wi-Fi Takes Off', description: - "11 Mbps in 2.4 GHz. Apple ships AirPort base stations and AirPort cards (rebadged Lucent WaveLAN). [[wifi|Wi-Fi]] starts appearing in laptops by default. Cafรฉs and airports become the first public Wi-Fi locations." + '11 Mbps in 2.4 GHz. Apple ships AirPort base stations and AirPort cards (rebadged Lucent WaveLAN). [[wifi|Wi-Fi]] starts appearing in laptops by default. Cafรฉs and airports become the first public Wi-Fi locations.' }, { year: 2001, @@ -94,7 +94,7 @@ export const wlanWanStory: SubcategoryStory = { year: 2003, title: '802.11g โ€” 54 Mbps', description: - "54 Mbps in 2.4 GHz. The version that mainstreams Wi-Fi in homes and offices. WPA replaces the badly-broken WEP for encryption." + '54 Mbps in 2.4 GHz. The version that mainstreams Wi-Fi in homes and offices. WPA replaces the badly-broken WEP for encryption.' }, { year: 2009, @@ -106,37 +106,37 @@ export const wlanWanStory: SubcategoryStory = { year: 2009, title: '4G LTE Launches', description: - "TeliaSonera deploys the first commercial LTE network in Stockholm and Oslo. Verizon launches LTE in the US in 2010. Smartphones and high-bandwidth mobile internet take off." + 'TeliaSonera deploys the first commercial LTE network in Stockholm and Oslo. Verizon launches LTE in the US in 2010. Smartphones and high-bandwidth mobile internet take off.' }, { year: 2013, title: '802.11ac / Wi-Fi 5 โ€” Gigabit', description: - "Gigabit speeds in 5 GHz. The version that finally made \"wireless = fast\" universal in consumer perception." + 'Gigabit speeds in 5 GHz. The version that finally made "wireless = fast" universal in consumer perception.' }, { year: 2019, title: '5G NR Launches', description: - "Commercial 5G launches in South Korea, the US, and China. Two flavors: sub-6 GHz (longer range, similar to LTE+) and mmWave (very fast, very short range)." + 'Commercial 5G launches in South Korea, the US, and China. Two flavors: sub-6 GHz (longer range, similar to LTE+) and mmWave (very fast, very short range).' }, { year: 2019, title: '802.11ax / Wi-Fi 6 โ€” OFDMA', description: - "OFDMA borrowed from LTE arrives in Wi-Fi. Better performance with many simultaneous devices, which matters far more in real-world deployments than peak speed." + 'OFDMA borrowed from LTE arrives in Wi-Fi. Better performance with many simultaneous devices, which matters far more in real-world deployments than peak speed.' }, { year: 2020, title: 'Wi-Fi 6E โ€” 6 GHz Spectrum', description: - "Regulators (FCC, Ofcom, EU) open the 6 GHz band for unlicensed use. 1200 MHz of new spectrum; effectively triples Wi-Fi capacity. Wi-Fi 6E devices ship in 2021." + 'Regulators (FCC, Ofcom, EU) open the 6 GHz band for unlicensed use. 1200 MHz of new spectrum; effectively triples Wi-Fi capacity. Wi-Fi 6E devices ship in 2021.' }, { year: 2024, title: '802.11be / Wi-Fi 7', description: - "320 MHz channel width in 6 GHz, 4096-QAM, multi-link operation (use 2.4 and 5 and 6 GHz simultaneously). Theoretical peak ~46 Gbps." + '320 MHz channel width in 6 GHz, 4096-QAM, multi-link operation (use 2.4 and 5 and 6 GHz simultaneously). Theoretical peak ~46 Gbps.' } ] }, @@ -151,8 +151,8 @@ export const wlanWanStory: SubcategoryStory = { 'Unlicensed (2.4 / 5 / 6 GHz)', 'Tens to hundreds of meters per AP', 'CapEx only (buy the AP); no per-user fees', - "Stationary or walking โ€” handover between APs is OS-handled and lossy", - "Indoor โ€” homes, offices, public hotspots, IoT inside buildings" + 'Stationary or walking โ€” handover between APs is OS-handled and lossy', + 'Indoor โ€” homes, offices, public hotspots, IoT inside buildings' ] }, { @@ -160,9 +160,9 @@ export const wlanWanStory: SubcategoryStory = { values: [ 'Licensed (various bands per region, billions paid at auction)', 'Kilometers per tower; mmWave only meters', - 'OpEx (per-month SIM); CapEx is the carrier\'s problem', - "Designed for fast handover at vehicle speeds โ€” works on bullet trains", - "Outdoor and mobile โ€” phones, vehicles, fixed-wireless backhaul" + "OpEx (per-month SIM); CapEx is the carrier's problem", + 'Designed for fast handover at vehicle speeds โ€” works on bullet trains', + 'Outdoor and mobile โ€” phones, vehicles, fixed-wireless backhaul' ] } ], @@ -207,7 +207,7 @@ export const wlanWanStory: SubcategoryStory = { 8: '**Association Response: Success.** The AP allocates state for this client and tells it the association ID it will use.', 9: '**Phase 3 โ€” The 4-Way Handshake.** Both sides already know the **Pairwise Master Key** (derived from the Wi-Fi password for WPA2-PSK, from the RADIUS exchange for WPA2-Enterprise). What they need now are *fresh* session keys.', 10: '**Message 1.** The AP picks a random {{nonce|nonce}} (ANonce) and sends it. No encryption yet โ€” but the nonce alone is harmless.', - 11: '**The client derives the Pairwise Transient Key** by combining the PMK, its own SNonce, the AP\'s ANonce, and both MAC addresses. The PTK is the actual encryption + integrity key for this session.', + 11: "**The client derives the Pairwise Transient Key** by combining the PMK, its own SNonce, the AP's ANonce, and both MAC addresses. The PTK is the actual encryption + integrity key for this session.", 12: '**Message 2.** The client sends its SNonce so the AP can derive the same PTK, plus a Message Integrity Code computed with the new key โ€” proving the client really has the right password.', 13: '**The AP derives the PTK** with the now-known SNonce and verifies the MIC. A wrong password fails here; this is what makes the password "leak-free" โ€” it never travels over the air.', 14: '**Message 3.** The AP confirms key installation and ships the **Group Temporal Key** (used for broadcast/multicast frames), encrypted with the new PTK.', @@ -219,7 +219,7 @@ export const wlanWanStory: SubcategoryStory = { }, { type: 'callout', - title: 'Why Cellular and Wi-Fi Don\'t Merge', + title: "Why Cellular and Wi-Fi Don't Merge", text: `For thirty years, people have predicted that Wi-Fi and cellular would converge into a single wireless standard. They haven't. The reasons are economic, not technical.\n\n**Spectrum economics are completely different.** Carriers spent ~$700 billion globally on spectrum licenses over 20 years. They built tower networks on top of that investment. They have to charge for access to recoup it. Wi-Fi spectrum is free. The two pricing models are incompatible: there is no good way to monetize spectrum that is *also* free for anyone to use.\n\n**Coverage area economics differ.** Wi-Fi makes sense indoors (where signals don't travel far and adding APs is cheap). Cellular makes sense outdoors and at vehicle speeds (where tower-scale infrastructure is the only way). Trying to use Wi-Fi outdoors hits propagation limits; trying to use cellular indoors hits coverage gaps and signal absorption.\n\n**Regulatory frameworks differ.** Cellular spectrum is per-operator; Wi-Fi spectrum is shared. The "carrier" model assumes a single accountable operator per spectrum band; the "unlicensed" model assumes everyone competes politely. Bringing them together would either monopolize the unlicensed spectrum or fragment the licensed.\n\n**Practical convergence happens at the application layer.** Your iPhone seamlessly switches between Wi-Fi and 5G based on signal quality; Wi-Fi Calling uses Wi-Fi for cellular calls; Passpoint lets your SIM identity authenticate you to Wi-Fi networks. The user experience is unified; the underlying spectrum and economics are not.\n\nThe most interesting recent convergence is **private 5G** โ€” companies (factories, ports, stadiums) buy small slices of cellular-style spectrum (CBRS in the US) and run their own 5G networks. Same air interface as commercial cellular; same convenience as Wi-Fi; sits in between. It's growing fast but is still a small fraction of either market.` }, { @@ -229,7 +229,7 @@ export const wlanWanStory: SubcategoryStory = { }, { type: 'narrative', - title: 'What\'s Next', + title: "What's Next", text: `Active work in 2025:\n\n- **Wi-Fi 7** (802.11be) is shipping in flagship devices. Multi-Link Operation lets a device use 2.4 + 5 + 6 GHz simultaneously, dramatically improving roaming and throughput. Reality lags the spec; few APs and clients support all features yet.\n- **6G research** has begun. ITU-R is targeting 2030 for commercial launch. Frequencies will include sub-terahertz; expect 100+ Gbps peak speeds but very short range.\n- **CBRS / private 5G** continues growing for industrial use cases. Factories, ports, mines, stadiums deploying their own 5G is now mainstream rather than experimental.\n- **OpenRAN** โ€” disaggregating cellular base-station hardware from software โ€” slowly moving from political will to commercial deployment. Dish Network in the US is the largest OpenRAN deployment; Rakuten in Japan was first.\n- **Satellite + cellular convergence** โ€” Apple's Emergency SOS, Starlink Direct-to-Cell, AST SpaceMobile all let standard cell phones talk to satellites for SMS and (soon) data in areas with no tower coverage. The boundary between WAN cellular and LEO satellite is dissolving.\n- **Spectrum management automation** โ€” Wi-Fi 6E and 7 in 6 GHz require AFC (Automated Frequency Coordination) to avoid interfering with existing fixed-service users. AFC databases shipped in 2024; standard-power 6 GHz Wi-Fi is finally deployable.\n- **The boring truth**: Wi-Fi and cellular will keep getting faster, eat each other's lunch at the edges, and never merge into one technology. The dual-stack will persist.` } ] diff --git a/src/lib/engine/canvas-renderer.ts b/src/lib/engine/canvas-renderer.ts index 9837875..4d2f77f 100644 --- a/src/lib/engine/canvas-renderer.ts +++ b/src/lib/engine/canvas-renderer.ts @@ -1,5 +1,11 @@ import type { GraphNode, GraphEdge, Viewport } from '$lib/data/types'; -import { hexToRgba, themedColor, themedDomColor, shiftHsl, type ThemeColors } from '$lib/utils/colors'; +import { + hexToRgba, + themedColor, + themedDomColor, + shiftHsl, + type ThemeColors +} from '$lib/utils/colors'; import { getProtocolById } from '$lib/data/index'; import { categoryMap, categories } from '$lib/data/categories'; import { subcategoryMap } from '$lib/data/subcategories'; @@ -71,7 +77,14 @@ function updateJourneyIds(journey: Journey | null | undefined): void { } } -function isNodeDimmed(node: GraphNode, selectedNode: GraphNode | null, compareTargetId?: string | null, activeJourney?: Journey | null, searchHighlightIds?: Set<string> | null, hoveredNode?: GraphNode | null): boolean { +function isNodeDimmed( + node: GraphNode, + selectedNode: GraphNode | null, + compareTargetId?: string | null, + activeJourney?: Journey | null, + searchHighlightIds?: Set<string> | null, + hoveredNode?: GraphNode | null +): boolean { // Hover overrides every dimming mode โ€” when the user hovers an inline // protocol link in prose, the target node must light up regardless of // the current selection / journey / comparison context. @@ -135,8 +148,24 @@ function isNodeDimmed(node: GraphNode, selectedNode: GraphNode | null, compareTa let currentTheme: ThemeColors; export function render(ctx: CanvasRenderingContext2D, options: RenderOptions): void { - const { width, height, viewport, nodes, edges, hoveredNode, selectedNode, compareTargetId, activeJourney, activeJourneyStepIndex, searchHighlightIds, time, dpr, layoutMode, theme, birthScales } = - options; + const { + width, + height, + viewport, + nodes, + edges, + hoveredNode, + selectedNode, + compareTargetId, + activeJourney, + activeJourneyStepIndex, + searchHighlightIds, + time, + dpr, + layoutMode, + theme, + birthScales + } = options; const getBirth = (id: string): number => birthScales?.get(id) ?? 1; @@ -213,7 +242,16 @@ export function render(ctx: CanvasRenderingContext2D, options: RenderOptions): v // Update dim animations (smooth fade in/out) for (const node of nodes) { - const targetDim = isNodeDimmed(node, selectedNode, compareTargetId, activeJourney, searchHighlightIds, hoveredNode) ? 1 : 0; + const targetDim = isNodeDimmed( + node, + selectedNode, + compareTargetId, + activeJourney, + searchHighlightIds, + hoveredNode + ) + ? 1 + : 0; const current = dimAnim.get(node.id) ?? 0; const speed = targetDim > current ? DIM_EASE_IN : DIM_EASE_OUT; const next = current + (targetDim - current) * speed; @@ -244,7 +282,19 @@ export function render(ctx: CanvasRenderingContext2D, options: RenderOptions): v const isConnected = connectedIds.has(node.id); const birthT = getBirth(node.id); if (birthT <= 0.001) continue; - drawNode(ctx, node, hoverT, isSelected, dimT, isConnected, time, viewport.scale, theme, layoutMode, birthT); + drawNode( + ctx, + node, + hoverT, + isSelected, + dimT, + isConnected, + time, + viewport.scale, + theme, + layoutMode, + birthT + ); } ctx.restore(); @@ -292,8 +342,11 @@ function drawRelatedEdges( ctx.moveTo(liveNode.x, liveNode.y); ctx.quadraticCurveTo(cpx, cpy, targetNode.x, targetNode.y); const isLight = !tc.showStars; - ctx.strokeStyle = hexToRgba(nodeColor, compareTargetId ? (isLight ? 0.6 : 0.4) : (isLight ? 0.5 : 0.25)); - ctx.lineWidth = compareTargetId ? 1.5 : (isLight ? 1.4 : 1.0); + ctx.strokeStyle = hexToRgba( + nodeColor, + compareTargetId ? (isLight ? 0.6 : 0.4) : isLight ? 0.5 : 0.25 + ); + ctx.lineWidth = compareTargetId ? 1.5 : isLight ? 1.4 : 1.0; ctx.stroke(); } @@ -382,9 +435,8 @@ function drawJourneyPath( ctx.font = `600 ${9 * pulseScale}px Inter, system-ui, sans-serif`; ctx.textAlign = 'center'; ctx.textBaseline = 'middle'; - ctx.fillStyle = isCurrent || isVisited - ? (tc.showStars ? '#000000' : '#FFFFFF') - : hexToRgba(jColor, 0.8); + ctx.fillStyle = + isCurrent || isVisited ? (tc.showStars ? '#000000' : '#FFFFFF') : hexToRgba(jColor, 0.8); ctx.fillText(String(i + 1), badgeX, badgeY + 0.5); } @@ -495,7 +547,6 @@ function drawTimelineUnderlay(ctx: CanvasRenderingContext2D, theme: ThemeColors) ctx.restore(); } - // Seeded star field โ€” generated once, reused every frame let starCache: { x: number; y: number; r: number; a: number }[] | null = null; let starCacheKey = ''; @@ -754,8 +805,7 @@ function drawNode( const glowScale = 1 + 0.3 * eased; // glow grows out with hover const glowRadius = r * 2.2 * glowScale; const glow = ctx.createRadialGradient(x, y, r * 0.5, x, y, glowRadius); - const baseGlowAlpha = - isSelected ? 0.35 : isConnected ? 0.2 : type === 'hub' ? 0.08 : 0.1; + const baseGlowAlpha = isSelected ? 0.35 : isConnected ? 0.2 : type === 'hub' ? 0.08 : 0.1; const glowAlpha = (baseGlowAlpha + 0.25 * eased) * glowVisibility; glow.addColorStop(0, hexToRgba(color, glowAlpha)); glow.addColorStop(1, hexToRgba(color, 0)); @@ -782,7 +832,7 @@ function drawNode( // Extract the rgb and replace alpha with (1 - dimT) const match = baseBg.match(/rgba?\(([^)]+)\)/); if (match) { - const parts = match[1].split(',').map(s => s.trim()); + const parts = match[1].split(',').map((s) => s.trim()); ctx.fillStyle = `rgba(${parts[0]}, ${parts[1]}, ${parts[2]}, ${1 - dimT})`; } else { ctx.fillStyle = baseBg; @@ -798,7 +848,7 @@ function drawNode( gradient.addColorStop(0, hexToRgba(theme.hub, alpha)); const endMatch = theme.hubGradientEnd.match(/rgba?\(([^)]+)\)/); if (endMatch) { - const parts = endMatch[1].split(',').map(s => s.trim()); + const parts = endMatch[1].split(',').map((s) => s.trim()); gradient.addColorStop(1, `rgba(${parts[0]}, ${parts[1]}, ${parts[2]}, ${alpha * 0.8})`); } else { gradient.addColorStop(1, hexToRgba(theme.hub, alpha * 0.8)); @@ -825,7 +875,10 @@ function drawNode( const highlight = ctx.createRadialGradient(x - r * 0.25, y - r * 0.3, 0, x, y, r); const hlAlpha = 1 - dimT; const hubHighlight = theme.showStars ? 0.4 : 0.15; // subtler in light mode - highlight.addColorStop(0, `rgba(255, 255, 255, ${(type === 'hub' ? hubHighlight : theme.innerHighlightAlpha) * hlAlpha})`); + highlight.addColorStop( + 0, + `rgba(255, 255, 255, ${(type === 'hub' ? hubHighlight : theme.innerHighlightAlpha) * hlAlpha})` + ); highlight.addColorStop(0.5, 'rgba(255, 255, 255, 0)'); highlight.addColorStop(1, 'rgba(255, 255, 255, 0)'); ctx.beginPath(); @@ -860,8 +913,10 @@ function drawNode( // Label โ€” show for non-dimmed nodes and connected nodes if (dimT < 0.95 || isConnected) { - const fontSize = type === 'hub' ? 11 : type === 'category' ? 10 : type === 'subcategory' ? 9.5 : 9; - const showLabel = scale > 0.5 || type === 'hub' || type === 'category' || type === 'subcategory'; + const fontSize = + type === 'hub' ? 11 : type === 'category' ? 10 : type === 'subcategory' ? 9.5 : 9; + const showLabel = + scale > 0.5 || type === 'hub' || type === 'category' || type === 'subcategory'; const showAbbrev = scale <= 0.5 && scale > 0.3 && type === 'protocol'; if (showLabel || showAbbrev || isConnected) { @@ -880,12 +935,9 @@ function drawNode( ctx.font = `${type === 'hub' ? '600' : '500'} ${fontSize}px Inter, system-ui, sans-serif`; // In light mode, use muted DOM colors for labels so they're readable on the light bg - const labelColor = type === 'hub' - ? theme.hub - : theme.showStars - ? color - : themedDomColor(node.color, 'light'); - ctx.fillStyle = hexToRgba(labelColor, type === 'hub' ? labelAlpha : labelAlpha * 0.9); + const labelColor = + type === 'hub' ? theme.hub : theme.showStars ? color : themedDomColor(node.color, 'light'); + ctx.fillStyle = hexToRgba(labelColor, type === 'hub' ? labelAlpha : labelAlpha * 0.9); // Text shadow ctx.shadowColor = theme.labelShadowColor; @@ -978,11 +1030,17 @@ function drawAsyncIotIcon(ctx: CanvasRenderingContext2D): void { } function drawRealtimeAvIcon(ctx: CanvasRenderingContext2D): void { - ctx.stroke(new Path2D('M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z')); + ctx.stroke( + new Path2D('M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z') + ); } function drawUtilitiesIcon(ctx: CanvasRenderingContext2D): void { - ctx.stroke(new Path2D('M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z')); + ctx.stroke( + new Path2D( + 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z' + ) + ); ctx.stroke(new Path2D('M9 12l2 2 4-4')); } diff --git a/src/lib/engine/layouts.ts b/src/lib/engine/layouts.ts index 8d782cb..f99a095 100644 --- a/src/lib/engine/layouts.ts +++ b/src/lib/engine/layouts.ts @@ -15,9 +15,7 @@ import { allProtocols, categories } from '$lib/data/index'; export type LayoutMode = 'force' | 'radial' | 'timeline' | 'mesh'; // โ”€โ”€โ”€ Radial โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -export function computeRadialPositions( - nodes: GraphNode[] -): Map<string, { x: number; y: number }> { +export function computeRadialPositions(nodes: GraphNode[]): Map<string, { x: number; y: number }> { const pos = new Map<string, { x: number; y: number }>(); const hub = nodes.find((n) => n.type === 'hub'); @@ -85,9 +83,7 @@ export function computeRadialPositions( // Fallback for protocols without a subcategory: spread them across // the category sector at the protocol radius (preserves old behavior). - const orphans = protoNodes.filter( - (p) => p.categoryId === cat.id && !p.subcategoryId - ); + const orphans = protoNodes.filter((p) => p.categoryId === cat.id && !p.subcategoryId); orphans.forEach((proto, j) => { const t = (j + 0.5) / orphans.length; const protoAngle = catAngle - catSectorSpan / 2 + t * catSectorSpan; @@ -194,9 +190,7 @@ interface MeshNode extends SimulationNodeDatum { } type MeshLink = SimulationLinkDatum<MeshNode>; -export function computeMeshPositions( - nodes: GraphNode[] -): Map<string, { x: number; y: number }> { +export function computeMeshPositions(nodes: GraphNode[]): Map<string, { x: number; y: number }> { const pos = new Map<string, { x: number; y: number }>(); const protoNodes = nodes.filter((n) => n.type === 'protocol'); const subNodes = nodes.filter((n) => n.type === 'subcategory'); diff --git a/src/lib/search/search-index.ts b/src/lib/search/search-index.ts index 822cdd0..d618205 100644 --- a/src/lib/search/search-index.ts +++ b/src/lib/search/search-index.ts @@ -222,7 +222,8 @@ for (const p of pioneers) { type: 'pioneer', label: p.name, description: p.title ?? p.org ?? '', - searchText: `${p.name} ${p.title ?? ''} ${p.org ?? ''} ${stripAtoms(p.contribution)} ${protoNames}`.toLowerCase(), + searchText: + `${p.name} ${p.title ?? ''} ${p.org ?? ''} ${stripAtoms(p.contribution)} ${protoNames}`.toLowerCase(), protocolIds: p.protocols ?? [], nav: { kind: 'pioneer', pioneerId: p.id } }); @@ -253,7 +254,8 @@ for (const o of outages) { type: 'outage', label: o.title, description: cleanOneLiner, - searchText: `outage incident ${o.title} ${cleanOneLiner} ${o.date} ${stripAtoms(o.setup)} ${stripAtoms(o.mistake)} ${stripAtoms(o.lesson)}`.toLowerCase(), + searchText: + `outage incident ${o.title} ${cleanOneLiner} ${o.date} ${stripAtoms(o.setup)} ${stripAtoms(o.mistake)} ${stripAtoms(o.lesson)}`.toLowerCase(), protocolIds: o.affectedProtocols, nav: { kind: 'outage', outageId: o.id } }); @@ -266,7 +268,8 @@ for (const f of frontierEntries) { type: 'frontier', label: f.title, description: cleanOneLiner, - searchText: `frontier ${f.title} ${cleanOneLiner} ${stripAtoms(f.description)} ${f.topic} ${f.status}`.toLowerCase(), + searchText: + `frontier ${f.title} ${cleanOneLiner} ${stripAtoms(f.description)} ${f.topic} ${f.status}`.toLowerCase(), protocolIds: f.protocols, nav: { kind: 'frontier', frontierId: f.id } }); diff --git a/src/lib/simulator/components/ActorStage.svelte b/src/lib/simulator/components/ActorStage.svelte index 0f3f82c..22a188c 100644 --- a/src/lib/simulator/components/ActorStage.svelte +++ b/src/lib/simulator/components/ActorStage.svelte @@ -19,9 +19,7 @@ const fromIdx = $derived( currentStep ? actors.findIndex((a) => a.id === currentStep.fromActor) : -1 ); - const toIdx = $derived( - currentStep ? actors.findIndex((a) => a.id === currentStep.toActor) : -1 - ); + const toIdx = $derived(currentStep ? actors.findIndex((a) => a.id === currentStep.toActor) : -1); function isActiveActor(idx: number): boolean { return idx === fromIdx || idx === toIdx; @@ -73,11 +71,7 @@ {#each actors as actor, idx (actor.id)} {@const active = isActiveActor(idx)} <div class="actor" class:active> - <span - class="actor-label" - class:text-t-primary={active} - class:text-t-muted={!active} - > + <span class="actor-label" class:text-t-primary={active} class:text-t-muted={!active}> {actor.label} </span> <div @@ -222,7 +216,9 @@ border-radius: 50%; border: 1px solid var(--theme-glass-border); background: var(--theme-tooltip-bg); - transition: border-color 0.25s ease, box-shadow 0.25s ease; + transition: + border-color 0.25s ease, + box-shadow 0.25s ease; flex-shrink: 0; } .actor-stage.compact .actor-icon-wrap { diff --git a/src/lib/simulator/components/PacketInspector.svelte b/src/lib/simulator/components/PacketInspector.svelte index 910f6f6..1524e1a 100644 --- a/src/lib/simulator/components/PacketInspector.svelte +++ b/src/lib/simulator/components/PacketInspector.svelte @@ -11,7 +11,13 @@ compact?: boolean; } - let { layers, activeLayerIndex = -1, direction = 'encapsulate', highlightFields = [], compact = false }: Props = $props(); + let { + layers, + activeLayerIndex = -1, + direction = 'encapsulate', + highlightFields = [], + compact = false + }: Props = $props(); const appState = getAppState(); /** Theme-aware layer color */ @@ -19,7 +25,15 @@ return themedDomColor(rawColor, appState.theme); } - let hoveredField: { layerIdx: number; fieldIdx: number; layerColor: string; name: string; value: string; bits: number; description: string } | null = $state(null); + let hoveredField: { + layerIdx: number; + fieldIdx: number; + layerColor: string; + name: string; + value: string; + bits: number; + description: string; + } | null = $state(null); let mouseX = $state(0); let mouseY = $state(0); let tooltipEl: HTMLDivElement | undefined = $state(); @@ -55,7 +69,13 @@ return String(value); } - function onFieldEnter(e: MouseEvent, li: number, fi: number, layer: ProtocolLayer, field: ProtocolLayer['headerFields'][0]) { + function onFieldEnter( + e: MouseEvent, + li: number, + fi: number, + layer: ProtocolLayer, + field: ProtocolLayer['headerFields'][0] + ) { mouseX = e.clientX; mouseY = e.clientY; hoveredField = { @@ -97,109 +117,141 @@ {#each layers as layer (layer.abbreviation)} <span class="inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-[9px] font-bold tracking-wider uppercase" - style="background-color: {lc(layer.color)}15; color: {lc(layer.color)}; border: 1px solid {lc(layer.color)}30;" + style="background-color: {lc(layer.color)}15; color: {lc( + layer.color + )}; border: 1px solid {lc(layer.color)}30;" > - <span - class="h-1.5 w-1.5 rounded-full" - style="background-color: {lc(layer.color)};" - ></span> + <span class="h-1.5 w-1.5 rounded-full" style="background-color: {lc(layer.color)};"></span> {layer.abbreviation} </span> {/each} </div> {:else} -<div class="flex flex-col gap-1"> - <h4 class="text-xs font-semibold tracking-wider text-t-muted uppercase"> - Encapsulation - </h4> - - <div class="relative rounded-lg border border-s-border bg-s-glass p-3"> - {#each displayLayers as layer, li (layer.abbreviation)} - <!-- Encapsulation connector between layers --> - {#if li > 0} - <div class="flex items-center gap-2 py-2.5"> - <div class="h-px flex-1" style="background: linear-gradient(to right, transparent, {lc(layer.color)}30);"></div> - <div - class="flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[10px]" - style="border-color: {lc(layer.color)}30; background-color: {lc(layer.color)}0a; color: var(--theme-text-secondary);" - > - <!-- Nested-layers icon (encapsulation) --> - <svg class="h-3 w-3 shrink-0" viewBox="0 0 16 16" fill="none"> - <rect x="3" y="3" width="6.5" height="4" rx="0.8" stroke={lc(layer.color)} stroke-width="1.2" opacity="0.7" /> - <rect x="1.5" y="7" width="13" height="6" rx="0.8" stroke={lc(layer.color)} stroke-width="1.2" /> - </svg> - <span>wrapped in <span style="color: {lc(layer.color)}" class="font-semibold">{layer.abbreviation}</span></span> + <div class="flex flex-col gap-1"> + <h4 class="text-xs font-semibold tracking-wider text-t-muted uppercase">Encapsulation</h4> + + <div class="relative rounded-lg border border-s-border bg-s-glass p-3"> + {#each displayLayers as layer, li (layer.abbreviation)} + <!-- Encapsulation connector between layers --> + {#if li > 0} + <div class="flex items-center gap-2 py-2.5"> + <div + class="h-px flex-1" + style="background: linear-gradient(to right, transparent, {lc(layer.color)}30);" + ></div> + <div + class="flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[10px]" + style="border-color: {lc(layer.color)}30; background-color: {lc( + layer.color + )}0a; color: var(--theme-text-secondary);" + > + <!-- Nested-layers icon (encapsulation) --> + <svg class="h-3 w-3 shrink-0" viewBox="0 0 16 16" fill="none"> + <rect + x="3" + y="3" + width="6.5" + height="4" + rx="0.8" + stroke={lc(layer.color)} + stroke-width="1.2" + opacity="0.7" + /> + <rect + x="1.5" + y="7" + width="13" + height="6" + rx="0.8" + stroke={lc(layer.color)} + stroke-width="1.2" + /> + </svg> + <span + >wrapped in <span style="color: {lc(layer.color)}" class="font-semibold" + >{layer.abbreviation}</span + ></span + > + </div> + <div + class="h-px flex-1" + style="background: linear-gradient(to left, transparent, {lc(layer.color)}30);" + ></div> </div> - <div class="h-px flex-1" style="background: linear-gradient(to left, transparent, {lc(layer.color)}30);"></div> - </div> - {/if} + {/if} - <!-- Layer card --> - <div - class="overflow-hidden rounded-lg transition-all duration-300" - style=" + <!-- Layer card --> + <div + class="overflow-hidden rounded-lg transition-all duration-300" + style=" border: 1px solid {lc(layer.color)}25; background-color: {lc(layer.color)}05; " - > - <!-- Layer header --> - <div - class="flex items-center gap-2 px-3 py-1.5" - style="background-color: {lc(layer.color)}0a; border-bottom: 1px solid {lc(layer.color)}15;" > + <!-- Layer header --> <div - class="h-2 w-2 rounded-full shrink-0" - style="background-color: {lc(layer.color)}; box-shadow: 0 0 6px {lc(layer.color)}60;" - ></div> - <span class="text-[11px] font-bold tracking-wider uppercase" style="color: {lc(layer.color)}"> - {layer.abbreviation} - </span> - <span class="text-[10px] text-t-muted"> - Layer {layer.osiLayer} โ€” {layer.name} - </span> - </div> - - <!-- Header fields --> - <div class="grid gap-1 p-2" style="grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));"> - {#each layer.headerFields as field, fi (field.name)} - {@const highlighted = isHighlighted(field.name)} - {@const isFullRow = field.bits === 0} + class="flex items-center gap-2 px-3 py-1.5" + style="background-color: {lc(layer.color)}0a; border-bottom: 1px solid {lc( + layer.color + )}15;" + > <div - class="flex min-w-0 flex-col overflow-hidden rounded-md px-2 py-1 transition-all cursor-help" - style=" + class="h-2 w-2 shrink-0 rounded-full" + style="background-color: {lc(layer.color)}; box-shadow: 0 0 6px {lc(layer.color)}60;" + ></div> + <span + class="text-[11px] font-bold tracking-wider uppercase" + style="color: {lc(layer.color)}" + > + {layer.abbreviation} + </span> + <span class="text-[10px] text-t-muted"> + Layer {layer.osiLayer} โ€” {layer.name} + </span> + </div> + + <!-- Header fields --> + <div + class="grid gap-1 p-2" + style="grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));" + > + {#each layer.headerFields as field, fi (field.name)} + {@const highlighted = isHighlighted(field.name)} + {@const isFullRow = field.bits === 0} + <div + class="flex min-w-0 cursor-help flex-col overflow-hidden rounded-md px-2 py-1 transition-all" + style=" background-color: {highlighted ? lc(layer.color) + '18' : 'var(--theme-glass-bg)'}; border: 1px solid {highlighted ? lc(layer.color) + '40' : 'var(--theme-glass-border)'}; grid-column: {isFullRow ? '1 / -1' : 'span 1'}; " - onmouseenter={(e) => onFieldEnter(e, li, fi, layer, field)} - onmousemove={onFieldMove} - onmouseleave={onFieldLeave} - role="presentation" - > - <span class="text-[8px] leading-tight text-t-muted">{field.name}</span> - <span - class="truncate text-[11px] font-mono font-medium" - style="color: {highlighted ? lc(layer.color) : 'var(--theme-text-primary)'}" - title={formatValue(field.value)} + onmouseenter={(e) => onFieldEnter(e, li, fi, layer, field)} + onmousemove={onFieldMove} + onmouseleave={onFieldLeave} + role="presentation" > - {formatValue(field.value)} - </span> - {#if field.bits > 0} - <span class="text-[7px] text-t-muted">{field.bits}b</span> - {/if} - </div> - {/each} + <span class="text-[8px] leading-tight text-t-muted">{field.name}</span> + <span + class="truncate font-mono text-[11px] font-medium" + style="color: {highlighted ? lc(layer.color) : 'var(--theme-text-primary)'}" + title={formatValue(field.value)} + > + {formatValue(field.value)} + </span> + {#if field.bits > 0} + <span class="text-[7px] text-t-muted">{field.bits}b</span> + {/if} + </div> + {/each} + </div> </div> - </div> - {/each} + {/each} - {#if displayLayers.length === 0} - <div class="py-6 text-center text-xs text-t-muted"> - Press Play to begin encapsulation - </div> - {/if} + {#if displayLayers.length === 0} + <div class="py-6 text-center text-xs text-t-muted">Press Play to begin encapsulation</div> + {/if} + </div> </div> -</div> {/if} <!-- Tooltip portaled to document.body via $effect --> @@ -218,14 +270,20 @@ > {#if hoveredField} <div class="flex items-center gap-2"> - <span class="text-xs font-semibold" style="color: {hoveredField.layerColor}">{hoveredField.name}</span> + <span class="text-xs font-semibold" style="color: {hoveredField.layerColor}" + >{hoveredField.name}</span + > {#if hoveredField.bits > 0} - <span class="rounded bg-s-glass px-1.5 py-0.5 text-[10px] text-t-secondary">{hoveredField.bits} bits</span> + <span class="rounded bg-s-glass px-1.5 py-0.5 text-[10px] text-t-secondary" + >{hoveredField.bits} bits</span + > {/if} </div> <p class="mt-1 text-xs leading-relaxed text-t-primary">{hoveredField.description}</p> <p class="mt-1 text-[10px] text-t-muted"> - Value: <span class="font-mono" style="color: {hoveredField.layerColor}">{hoveredField.value}</span> + Value: <span class="font-mono" style="color: {hoveredField.layerColor}" + >{hoveredField.value}</span + > </p> {/if} </div> diff --git a/src/lib/simulator/components/PlaybackControls.svelte b/src/lib/simulator/components/PlaybackControls.svelte index 0e75c68..1c25443 100644 --- a/src/lib/simulator/components/PlaybackControls.svelte +++ b/src/lib/simulator/components/PlaybackControls.svelte @@ -82,7 +82,7 @@ {/if} <!-- Step indicator --> - <span class="shrink-0 text-[10px] tabular-nums text-t-muted"> + <span class="shrink-0 text-[10px] text-t-muted tabular-nums"> {#if state.currentStep >= 0} {state.currentStep + 1}/{state.totalSteps} {:else if state.status === 'complete'} diff --git a/src/lib/simulator/components/SimulationInputs.svelte b/src/lib/simulator/components/SimulationInputs.svelte index db0ce4f..6df488a 100644 --- a/src/lib/simulator/components/SimulationInputs.svelte +++ b/src/lib/simulator/components/SimulationInputs.svelte @@ -13,16 +13,14 @@ {#if inputs.length > 0} <div class="flex flex-col gap-2"> - <h4 class="text-xs font-semibold tracking-wider text-t-muted uppercase"> - Configuration - </h4> + <h4 class="text-xs font-semibold tracking-wider text-t-muted uppercase">Configuration</h4> <div class="grid gap-2" style="grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));"> {#each inputs as input (input.id)} <label class="flex flex-col gap-1"> <span class="text-[10px] font-medium text-t-secondary">{input.label}</span> {#if input.type === 'select' && input.options} <select - class="rounded-md border border-s-border bg-s-glass px-2 py-1.5 text-xs text-t-primary outline-none transition-colors focus:border-opacity-50" + class="focus:border-opacity-50 rounded-md border border-s-border bg-s-glass px-2 py-1.5 text-xs text-t-primary transition-colors outline-none" style="focus:border-color: {color}" value={state.userValues[input.id] ?? input.defaultValue} onchange={(e) => state.setUserValue(input.id, (e.target as HTMLSelectElement).value)} @@ -34,7 +32,7 @@ {:else} <input type={input.type} - class="rounded-md border border-s-border bg-s-glass px-2 py-1.5 text-xs text-t-primary outline-none transition-colors focus:border-opacity-50" + class="focus:border-opacity-50 rounded-md border border-s-border bg-s-glass px-2 py-1.5 text-xs text-t-primary transition-colors outline-none" style="focus:border-color: {color}" placeholder={input.placeholder} value={state.userValues[input.id] ?? input.defaultValue} diff --git a/src/lib/simulator/components/SimulatorView.svelte b/src/lib/simulator/components/SimulatorView.svelte index 1cb4fed..9240a70 100644 --- a/src/lib/simulator/components/SimulatorView.svelte +++ b/src/lib/simulator/components/SimulatorView.svelte @@ -53,15 +53,26 @@ class="flex h-16 w-16 items-center justify-center rounded-2xl" style="background-color: {color}10" > - <svg class="h-8 w-8" style="color: {color}" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5"> - <path stroke-linecap="round" stroke-linejoin="round" d="M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" /> + <svg + class="h-8 w-8" + style="color: {color}" + fill="none" + stroke="currentColor" + viewBox="0 0 24 24" + stroke-width="1.5" + > + <path + stroke-linecap="round" + stroke-linejoin="round" + d="M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" + /> </svg> </div> <div> <p class="text-sm font-medium text-t-primary">Simulation Coming Soon</p> <p class="mt-1 text-xs text-t-muted"> - An interactive simulation for this protocol is being developed. - Switch to the Learn tab to explore its documentation. + An interactive simulation for this protocol is being developed. Switch to the Learn tab to + explore its documentation. </p> </div> </div> diff --git a/src/lib/simulator/components/StepTimeline.svelte b/src/lib/simulator/components/StepTimeline.svelte index 8ea6485..34c8ef9 100644 --- a/src/lib/simulator/components/StepTimeline.svelte +++ b/src/lib/simulator/components/StepTimeline.svelte @@ -39,9 +39,7 @@ </script> <section> - <h3 class="mb-3 text-xs font-semibold tracking-wider text-t-muted uppercase"> - Simulation Steps - </h3> + <h3 class="mb-3 text-xs font-semibold tracking-wider text-t-muted uppercase">Simulation Steps</h3> <div class="relative space-y-0"> {#each config.steps as step, i (step.id)} {@const stepState = stepStates[i]} @@ -73,7 +71,13 @@ aria-label="Go to step {i + 1}: {step.label}" > {#if isPast} - <svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="3"> + <svg + class="h-3 w-3" + fill="none" + stroke="currentColor" + viewBox="0 0 24 24" + stroke-width="3" + > <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /> </svg> {:else} @@ -97,12 +101,7 @@ <div class="mt-3 space-y-3"> <div in:fly={{ y: 8, duration: 300, delay: 60 }}> - <ActorStage - actors={config.actors} - currentStep={step} - {color} - compact={true} - /> + <ActorStage actors={config.actors} currentStep={step} {color} compact={true} /> </div> {#if step.layers && step.layers.length > 0} diff --git a/src/lib/simulator/components/actors/ActorIcon.svelte b/src/lib/simulator/components/actors/ActorIcon.svelte index 2b7e5e2..5d1abbb 100644 --- a/src/lib/simulator/components/actors/ActorIcon.svelte +++ b/src/lib/simulator/components/actors/ActorIcon.svelte @@ -10,7 +10,16 @@ let { icon, color = '#94a3b8', size = 32 }: Props = $props(); </script> -<svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> +<svg + width={size} + height={size} + viewBox="0 0 24 24" + fill="none" + stroke={color} + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" +> {#if icon === 'client' || icon === 'browser'} <!-- Laptop --> <path d="M4 16V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10" /> diff --git a/src/lib/simulator/components/actors/MessageArrow.svelte b/src/lib/simulator/components/actors/MessageArrow.svelte index 12dbf01..a899fd4 100644 --- a/src/lib/simulator/components/actors/MessageArrow.svelte +++ b/src/lib/simulator/components/actors/MessageArrow.svelte @@ -36,7 +36,8 @@ <!-- Arrowhead --> <polygon - points="{toX},{y} {toX - direction * arrowSize},{y - 3.5} {toX - direction * arrowSize},{y + 3.5}" + points="{toX},{y} {toX - direction * arrowSize},{y - 3.5} {toX - direction * arrowSize},{y + + 3.5}" fill={lineColor} /> diff --git a/src/lib/simulator/layers/amqp.ts b/src/lib/simulator/layers/amqp.ts index b4a7e4d..f36e2fa 100644 --- a/src/lib/simulator/layers/amqp.ts +++ b/src/lib/simulator/layers/amqp.ts @@ -14,40 +14,35 @@ export function createAMQPLayer( bits: 8, value: overrides?.frameType ?? 'Method (1)', editable: false, - description: - 'AMQP frame type โ€” 1=Method, 2=Content Header, 3=Content Body, 8=Heartbeat' + description: 'AMQP frame type โ€” 1=Method, 2=Content Header, 3=Content Body, 8=Heartbeat' }, { name: 'Channel', bits: 16, value: overrides?.channel ?? 0, editable: false, - description: - 'Channel number โ€” 0 for connection-level, 1+ for application channels' + description: 'Channel number โ€” 0 for connection-level, 1+ for application channels' }, { name: 'Class.Method', bits: 0, value: overrides?.method ?? 'Connection.Start', editable: false, - description: - 'AMQP class and method โ€” Connection.Start, Channel.Open, Basic.Publish, etc.' + description: 'AMQP class and method โ€” Connection.Start, Channel.Open, Basic.Publish, etc.' }, { name: 'Payload Size', bits: 32, value: overrides?.payloadSize ?? 128, editable: false, - description: - 'Size of the method arguments or content body in bytes' + description: 'Size of the method arguments or content body in bytes' }, { name: 'Properties', bits: 0, value: overrides?.properties ?? '', editable: false, - description: - 'Message properties โ€” content-type, delivery-mode, correlation-id, headers' + description: 'Message properties โ€” content-type, delivery-mode, correlation-id, headers' }, { name: 'Payload', diff --git a/src/lib/simulator/layers/arp.ts b/src/lib/simulator/layers/arp.ts index 127353a..9c9a362 100644 --- a/src/lib/simulator/layers/arp.ts +++ b/src/lib/simulator/layers/arp.ts @@ -64,8 +64,7 @@ export function createARPLayer( bits: 48, value: overrides?.targetMac ?? '00:00:00:00:00:00', editable: false, - description: - 'MAC address of the target โ€” all zeros in requests (unknown)' + description: 'MAC address of the target โ€” all zeros in requests (unknown)' }, { name: 'Target IP', diff --git a/src/lib/simulator/layers/bgp.ts b/src/lib/simulator/layers/bgp.ts index e7cc6ae..f50bb77 100644 --- a/src/lib/simulator/layers/bgp.ts +++ b/src/lib/simulator/layers/bgp.ts @@ -14,24 +14,21 @@ export function createBGPLayer( bits: 128, value: overrides?.marker ?? '0xFFโ€ฆFF (all ones)', editable: false, - description: - 'Sync marker โ€” 16 bytes of all 1s for authentication and synchronization' + description: 'Sync marker โ€” 16 bytes of all 1s for authentication and synchronization' }, { name: 'Length', bits: 16, value: overrides?.length ?? 29, editable: false, - description: - 'Total message length in bytes (19โ€“4096). Minimum 19 = header only (KEEPALIVE)' + description: 'Total message length in bytes (19โ€“4096). Minimum 19 = header only (KEEPALIVE)' }, { name: 'Type', bits: 8, value: overrides?.type ?? 'OPEN (1)', editable: false, - description: - 'Message type โ€” OPEN (1), UPDATE (2), NOTIFICATION (3), KEEPALIVE (4)', + description: 'Message type โ€” OPEN (1), UPDATE (2), NOTIFICATION (3), KEEPALIVE (4)', color: '#DC2626' }, { @@ -39,8 +36,7 @@ export function createBGPLayer( bits: 16, value: overrides?.asNumber ?? 'AS 65001', editable: false, - description: - 'Autonomous System number โ€” identifies the routing domain' + description: 'Autonomous System number โ€” identifies the routing domain' }, { name: 'Hold Time', @@ -55,8 +51,7 @@ export function createBGPLayer( bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Type-specific data โ€” NLRI prefixes, path attributes, error codes' + description: 'Type-specific data โ€” NLRI prefixes, path attributes, error codes' } ] }; diff --git a/src/lib/simulator/layers/ble.ts b/src/lib/simulator/layers/ble.ts index b651372..aeb0fba 100644 --- a/src/lib/simulator/layers/ble.ts +++ b/src/lib/simulator/layers/ble.ts @@ -30,7 +30,8 @@ export function createBLELinkLayer( bits: 16, value: overrides?.llHeader ?? 'PDU=ADV_IND, len=22', editable: false, - description: 'PDU type + RFU + TxAdd + RxAdd + length on advertising; LLID/NESN/SN/MD on data' + description: + 'PDU type + RFU + TxAdd + RxAdd + length on advertising; LLID/NESN/SN/MD on data' }, { name: 'PDU Body', @@ -108,7 +109,8 @@ export function createATTLayer( bits: 16, value: overrides?.handle ?? '0x002A', editable: false, - description: 'Attribute handle โ€” the address of a characteristic or descriptor in the GATT database' + description: + 'Attribute handle โ€” the address of a characteristic or descriptor in the GATT database' }, { name: 'Value', diff --git a/src/lib/simulator/layers/cellular.ts b/src/lib/simulator/layers/cellular.ts index 5eeba1a..d6fd21d 100644 --- a/src/lib/simulator/layers/cellular.ts +++ b/src/lib/simulator/layers/cellular.ts @@ -102,7 +102,8 @@ export function createGTPULayer( bits: 8, value: '0x34 (v1, GTP, E=1)', editable: false, - description: 'Version=1, Protocol Type=GTP, E flag set when an Extension Header (PDU Session Container) follows' + description: + 'Version=1, Protocol Type=GTP, E flag set when an Extension Header (PDU Session Container) follows' }, { name: 'Message Type', @@ -116,28 +117,32 @@ export function createGTPULayer( bits: 16, value: overrides?.length ?? 1380, editable: false, - description: 'Length of the GTP-U payload + extension headers, excluding the 8-byte mandatory header' + description: + 'Length of the GTP-U payload + extension headers, excluding the 8-byte mandatory header' }, { name: 'TEID', bits: 32, value: overrides?.teid ?? '0xC0FFEE01', editable: false, - description: 'Tunnel Endpoint Identifier โ€” identifies which PDU session this packet belongs to' + description: + 'Tunnel Endpoint Identifier โ€” identifies which PDU session this packet belongs to' }, { name: 'PDU Session Container', bits: 0, value: overrides?.qfi ?? 'QFI=9 (QoS flow)', editable: false, - description: 'Extension header carrying the QoS Flow Identifier; maps to the DRB on the air interface' + description: + 'Extension header carrying the QoS Flow Identifier; maps to the DRB on the air interface' }, { name: 'Inner IP Packet', bits: 0, value: overrides?.inner ?? 'IPv6 src=UE dst=internet โ€” TCP/UDP/QUIC payload', editable: false, - description: "The UE's actual IP packet โ€” what an application sees as 'the internet connection'" + description: + "The UE's actual IP packet โ€” what an application sees as 'the internet connection'" } ] }; diff --git a/src/lib/simulator/layers/coap.ts b/src/lib/simulator/layers/coap.ts index d55aa81..a42a387 100644 --- a/src/lib/simulator/layers/coap.ts +++ b/src/lib/simulator/layers/coap.ts @@ -21,8 +21,7 @@ export function createCoAPLayer( bits: 2, value: overrides?.type ?? 'CON (0)', editable: false, - description: - 'Message type โ€” CON (confirmable), NON (non-confirmable), ACK, RST' + description: 'Message type โ€” CON (confirmable), NON (non-confirmable), ACK, RST' }, { name: 'Token Len', @@ -37,8 +36,7 @@ export function createCoAPLayer( bits: 8, value: overrides?.code ?? '0.01 GET', editable: false, - description: - 'Method or response code โ€” 0.01 GET, 0.02 POST, 2.05 Content, 2.04 Changed', + description: 'Method or response code โ€” 0.01 GET, 0.02 POST, 2.05 Content, 2.04 Changed', color: '#78C257' }, { @@ -46,24 +44,21 @@ export function createCoAPLayer( bits: 16, value: overrides?.messageId ?? '0x7D34', editable: false, - description: - '16-bit ID for matching ACKs to CON messages and detecting duplicates' + description: '16-bit ID for matching ACKs to CON messages and detecting duplicates' }, { name: 'Options', bits: 0, value: overrides?.options ?? '', editable: false, - description: - 'CoAP options โ€” Uri-Path, Content-Format, Observe, Max-Age, ETag' + description: 'CoAP options โ€” Uri-Path, Content-Format, Observe, Max-Age, ETag' }, { name: 'Payload', bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Message payload โ€” typically CBOR or JSON, preceded by 0xFF marker' + description: 'Message payload โ€” typically CBOR or JSON, preceded by 0xFF marker' } ] }; diff --git a/src/lib/simulator/layers/dhcp.ts b/src/lib/simulator/layers/dhcp.ts index e2ef260..8d27a79 100644 --- a/src/lib/simulator/layers/dhcp.ts +++ b/src/lib/simulator/layers/dhcp.ts @@ -22,8 +22,7 @@ export function createDHCPLayer( bits: 32, value: overrides?.xid ?? '0x3903F326', editable: false, - description: - 'Transaction ID โ€” random value chosen by client to match requests with replies' + description: 'Transaction ID โ€” random value chosen by client to match requests with replies' }, { name: 'Client MAC', @@ -44,8 +43,7 @@ export function createDHCPLayer( bits: 8, value: overrides?.messageType ?? 'DISCOVER', editable: false, - description: - 'DHCP option 53 โ€” DISCOVER, OFFER, REQUEST, ACK, NAK, RELEASE', + description: 'DHCP option 53 โ€” DISCOVER, OFFER, REQUEST, ACK, NAK, RELEASE', color: '#06B6D4' }, { @@ -53,8 +51,7 @@ export function createDHCPLayer( bits: 0, value: overrides?.options ?? '', editable: false, - description: - 'DHCP options โ€” subnet mask, router, DNS servers, lease time' + description: 'DHCP options โ€” subnet mask, router, DNS servers, lease time' } ] }; diff --git a/src/lib/simulator/layers/ethernet.ts b/src/lib/simulator/layers/ethernet.ts index 857443c..34812b9 100644 --- a/src/lib/simulator/layers/ethernet.ts +++ b/src/lib/simulator/layers/ethernet.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createEthernetLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createEthernetLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'Ethernet Frame', abbreviation: 'ETH', diff --git a/src/lib/simulator/layers/ftp.ts b/src/lib/simulator/layers/ftp.ts index 110111c..c774571 100644 --- a/src/lib/simulator/layers/ftp.ts +++ b/src/lib/simulator/layers/ftp.ts @@ -43,8 +43,7 @@ export function createFTPLayer( bits: 0, value: overrides?.channel ?? 'Control (21)', editable: false, - description: - 'Which connection carries this data โ€” Control (port 21) or Data (port 20)' + description: 'Which connection carries this data โ€” Control (port 21) or Data (port 20)' } ] }; diff --git a/src/lib/simulator/layers/grpc.ts b/src/lib/simulator/layers/grpc.ts index 3c7abac..7cc809c 100644 --- a/src/lib/simulator/layers/grpc.ts +++ b/src/lib/simulator/layers/grpc.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createGRPCLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createGRPCLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'gRPC Message', abbreviation: 'gRPC', diff --git a/src/lib/simulator/layers/http2.ts b/src/lib/simulator/layers/http2.ts index cbe89ae..04fde69 100644 --- a/src/lib/simulator/layers/http2.ts +++ b/src/lib/simulator/layers/http2.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createHTTP2FrameLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createHTTP2FrameLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'HTTP/2 Frame', abbreviation: 'H2', @@ -33,7 +35,8 @@ export function createHTTP2FrameLayer(overrides?: Partial<Record<string, string bits: 31, value: overrides?.streamId ?? 1, editable: false, - description: 'Stream identifier โ€” odd for client-initiated, even for server push, 0 for connection' + description: + 'Stream identifier โ€” odd for client-initiated, even for server push, 0 for connection' }, { name: 'Payload', diff --git a/src/lib/simulator/layers/icmp.ts b/src/lib/simulator/layers/icmp.ts index f3fe485..3c878dd 100644 --- a/src/lib/simulator/layers/icmp.ts +++ b/src/lib/simulator/layers/icmp.ts @@ -23,32 +23,28 @@ export function createICMPLayer( bits: 8, value: overrides?.code ?? 0, editable: false, - description: - 'Subtype code โ€” for Type 3: 0=Net, 1=Host, 3=Port unreachable' + description: 'Subtype code โ€” for Type 3: 0=Net, 1=Host, 3=Port unreachable' }, { name: 'Checksum', bits: 16, value: overrides?.checksum ?? '0x4D2A', editable: false, - description: - 'Error-checking value covering the entire ICMP message' + description: 'Error-checking value covering the entire ICMP message' }, { name: 'Identifier', bits: 16, value: overrides?.identifier ?? '0x1234', editable: false, - description: - 'Identifies the ping session โ€” matches requests to replies' + description: 'Identifies the ping session โ€” matches requests to replies' }, { name: 'Sequence', bits: 16, value: overrides?.sequence ?? 1, editable: false, - description: - 'Sequence number โ€” increments with each ping in a session' + description: 'Sequence number โ€” increments with each ping in a session' }, { name: 'Data', diff --git a/src/lib/simulator/layers/imap.ts b/src/lib/simulator/layers/imap.ts index f6e0705..7ffb8d4 100644 --- a/src/lib/simulator/layers/imap.ts +++ b/src/lib/simulator/layers/imap.ts @@ -22,32 +22,28 @@ export function createIMAPLayer( bits: 0, value: overrides?.command ?? 'SELECT', editable: false, - description: - 'IMAP command โ€” LOGIN, SELECT, FETCH, SEARCH, STORE, IDLE, LOGOUT' + description: 'IMAP command โ€” LOGIN, SELECT, FETCH, SEARCH, STORE, IDLE, LOGOUT' }, { name: 'Arguments', bits: 0, value: overrides?.arguments ?? 'INBOX', editable: false, - description: - 'Command arguments โ€” mailbox name, message sequence, fetch items' + description: 'Command arguments โ€” mailbox name, message sequence, fetch items' }, { name: 'Response Status', bits: 0, value: overrides?.responseStatus ?? '', editable: false, - description: - 'Tagged response status โ€” OK, NO, BAD, or untagged * responses' + description: 'Tagged response status โ€” OK, NO, BAD, or untagged * responses' }, { name: 'Response Data', bits: 0, value: overrides?.responseData ?? '', editable: false, - description: - 'Response payload โ€” message data, mailbox info, search results' + description: 'Response payload โ€” message data, mailbox info, search results' } ] }; diff --git a/src/lib/simulator/layers/ipsec.ts b/src/lib/simulator/layers/ipsec.ts index 887ab5f..8c95024 100644 --- a/src/lib/simulator/layers/ipsec.ts +++ b/src/lib/simulator/layers/ipsec.ts @@ -14,14 +14,16 @@ export function createIKEv2Layer( bits: 64, value: overrides?.initSpi ?? '0x1122334455667788', editable: false, - description: '64-bit Initiator Security Parameters Index โ€” identifies the IKE SA on the initiator' + description: + '64-bit Initiator Security Parameters Index โ€” identifies the IKE SA on the initiator' }, { name: 'Responder SPI', bits: 64, value: overrides?.respSpi ?? '0x0000000000000000', editable: false, - description: '64-bit Responder SPI โ€” zero until the responder picks one in the first IKE_SA_INIT response' + description: + '64-bit Responder SPI โ€” zero until the responder picks one in the first IKE_SA_INIT response' }, { name: 'Next Payload', @@ -57,7 +59,8 @@ export function createIKEv2Layer( bits: 32, value: overrides?.messageId ?? 0, editable: false, - description: 'Counter that prevents replay; starts at 0 for IKE_SA_INIT and increments per request' + description: + 'Counter that prevents replay; starts at 0 for IKE_SA_INIT and increments per request' }, { name: 'Payloads', @@ -84,14 +87,16 @@ export function createESPLayer( bits: 32, value: overrides?.spi ?? '0xC0FFEE01', editable: false, - description: 'Security Parameters Index โ€” receiver looks up the SA (key, cipher) by this value' + description: + 'Security Parameters Index โ€” receiver looks up the SA (key, cipher) by this value' }, { name: 'Sequence Number', bits: 32, value: overrides?.seq ?? 1, editable: false, - description: 'Anti-replay counter โ€” receiver maintains a sliding window (default 32, prod tune โ‰ฅ1024)' + description: + 'Anti-replay counter โ€” receiver maintains a sliding window (default 32, prod tune โ‰ฅ1024)' }, { name: 'IV / Nonce', @@ -105,7 +110,8 @@ export function createESPLayer( bits: 0, value: overrides?.payload ?? '<encrypted inner IP packet + ESP trailer>', editable: false, - description: 'In tunnel mode: the entire inner IP packet plus an ESP trailer (padding + next-header byte)' + description: + 'In tunnel mode: the entire inner IP packet plus an ESP trailer (padding + next-header byte)' }, { name: 'ICV (Auth Tag)', diff --git a/src/lib/simulator/layers/ipv4.ts b/src/lib/simulator/layers/ipv4.ts index 70d4ea7..c44f493 100644 --- a/src/lib/simulator/layers/ipv4.ts +++ b/src/lib/simulator/layers/ipv4.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createIPv4Layer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createIPv4Layer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'IPv4 Packet', abbreviation: 'IP', @@ -38,7 +40,7 @@ export function createIPv4Layer(overrides?: Partial<Record<string, string | numb { name: 'ID', bits: 16, - value: overrides?.id ?? 0x1A2B, + value: overrides?.id ?? 0x1a2b, editable: false, description: 'Identification โ€” used for reassembling fragmented packets' }, @@ -47,7 +49,7 @@ export function createIPv4Layer(overrides?: Partial<Record<string, string | numb bits: 3, value: '010', editable: false, - description: 'Control flags โ€” bit 1 (DF: Don\'t Fragment) is set' + description: "Control flags โ€” bit 1 (DF: Don't Fragment) is set" }, { name: 'TTL', diff --git a/src/lib/simulator/layers/ipv6.ts b/src/lib/simulator/layers/ipv6.ts index 979bda9..71405fa 100644 --- a/src/lib/simulator/layers/ipv6.ts +++ b/src/lib/simulator/layers/ipv6.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createIPv6Layer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createIPv6Layer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'IPv6 Packet', abbreviation: 'IPv6', @@ -47,7 +49,8 @@ export function createIPv6Layer(overrides?: Partial<Record<string, string | numb bits: 8, value: overrides?.hopLimit ?? 64, editable: true, - description: 'Hop Limit โ€” decremented at each router, packet discarded at 0 (replaces IPv4 TTL)' + description: + 'Hop Limit โ€” decremented at each router, packet discarded at 0 (replaces IPv4 TTL)' }, { name: 'Src IP', diff --git a/src/lib/simulator/layers/kafka.ts b/src/lib/simulator/layers/kafka.ts index b0f0b13..80f4cfe 100644 --- a/src/lib/simulator/layers/kafka.ts +++ b/src/lib/simulator/layers/kafka.ts @@ -14,32 +14,28 @@ export function createKafkaLayer( bits: 16, value: overrides?.apiKey ?? 'Produce (0)', editable: false, - description: - 'Request type โ€” ApiVersions (18), Metadata (3), Produce (0), Fetch (1), etc.' + description: 'Request type โ€” ApiVersions (18), Metadata (3), Produce (0), Fetch (1), etc.' }, { name: 'API Version', bits: 16, value: overrides?.apiVersion ?? 9, editable: false, - description: - 'Protocol version for this API โ€” allows backward-compatible evolution' + description: 'Protocol version for this API โ€” allows backward-compatible evolution' }, { name: 'Correlation ID', bits: 32, value: overrides?.correlationId ?? 1, editable: false, - description: - 'Client-assigned ID to match responses to requests across async pipelining' + description: 'Client-assigned ID to match responses to requests across async pipelining' }, { name: 'Client ID', bits: 0, value: overrides?.clientId ?? 'producer-1', editable: false, - description: - 'Identifier for the client application โ€” used in logging and quotas' + description: 'Identifier for the client application โ€” used in logging and quotas' }, { name: 'Topic', @@ -54,16 +50,14 @@ export function createKafkaLayer( bits: 32, value: overrides?.partition ?? 0, editable: false, - description: - 'Partition index โ€” topics are split into partitions for parallel processing' + description: 'Partition index โ€” topics are split into partitions for parallel processing' }, { name: 'Payload', bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Message key/value pairs โ€” typically serialized as JSON, Avro, or Protobuf' + description: 'Message key/value pairs โ€” typically serialized as JSON, Avro, or Protobuf' } ] }; diff --git a/src/lib/simulator/layers/kerberos.ts b/src/lib/simulator/layers/kerberos.ts index 56fb1ee..93bdef8 100644 --- a/src/lib/simulator/layers/kerberos.ts +++ b/src/lib/simulator/layers/kerberos.ts @@ -22,14 +22,16 @@ export function createKerberosLayer( bits: 8, value: 5, editable: false, - description: 'Kerberos protocol version โ€” 5 is current; V4 was deprecated in MIT krb5 1.18 (2020)' + description: + 'Kerberos protocol version โ€” 5 is current; V4 was deprecated in MIT krb5 1.18 (2020)' }, { name: 'Message Type', bits: 8, value: overrides?.msgType ?? 10, editable: false, - description: 'Matches the application tag โ€” 10=AS-REQ, 11=AS-REP, 12=TGS-REQ, 13=TGS-REP, 14=AP-REQ, 15=AP-REP' + description: + 'Matches the application tag โ€” 10=AS-REQ, 11=AS-REP, 12=TGS-REQ, 13=TGS-REP, 14=AP-REQ, 15=AP-REP' }, { name: 'Principal Name (cname / sname)', diff --git a/src/lib/simulator/layers/mdns.ts b/src/lib/simulator/layers/mdns.ts index 29a8e9a..b530d1a 100644 --- a/src/lib/simulator/layers/mdns.ts +++ b/src/lib/simulator/layers/mdns.ts @@ -14,7 +14,8 @@ export function createMDNSLayer( bits: 16, value: overrides?.txid ?? '0x0000', editable: false, - description: 'mDNS uses 0x0000 โ€” multicast doesn\'t need transaction IDs (matching is by question)' + description: + "mDNS uses 0x0000 โ€” multicast doesn't need transaction IDs (matching is by question)" }, { name: 'Flags', diff --git a/src/lib/simulator/layers/mptcp.ts b/src/lib/simulator/layers/mptcp.ts index 8db10fc..d0e8bbd 100644 --- a/src/lib/simulator/layers/mptcp.ts +++ b/src/lib/simulator/layers/mptcp.ts @@ -14,8 +14,7 @@ export function createMPTCPLayer( bits: 4, value: overrides?.subtype ?? 'MP_CAPABLE (0)', editable: false, - description: - 'MPTCP option subtype โ€” MP_CAPABLE, MP_JOIN, DSS, ADD_ADDR, REMOVE_ADDR' + description: 'MPTCP option subtype โ€” MP_CAPABLE, MP_JOIN, DSS, ADD_ADDR, REMOVE_ADDR' }, { name: 'Version', @@ -29,24 +28,21 @@ export function createMPTCPLayer( bits: 8, value: overrides?.flags ?? 'H=1', editable: false, - description: - 'Option flags โ€” H (HMAC-SHA256), A (checksum), B (backup path), etc.' + description: 'Option flags โ€” H (HMAC-SHA256), A (checksum), B (backup path), etc.' }, { name: 'Sender Key', bits: 0, value: overrides?.senderKey ?? '', editable: false, - description: - 'Sender\'s key โ€” used to derive tokens and authenticate subflow joins' + description: "Sender's key โ€” used to derive tokens and authenticate subflow joins" }, { name: 'Subflow', bits: 0, value: overrides?.subflow ?? 'Primary', editable: false, - description: - 'Which TCP subflow this belongs to โ€” Primary (Wi-Fi) or Secondary (Cellular)' + description: 'Which TCP subflow this belongs to โ€” Primary (Wi-Fi) or Secondary (Cellular)' }, { name: 'Payload', diff --git a/src/lib/simulator/layers/mqtt.ts b/src/lib/simulator/layers/mqtt.ts index 3fa5619..49af8d8 100644 --- a/src/lib/simulator/layers/mqtt.ts +++ b/src/lib/simulator/layers/mqtt.ts @@ -21,40 +21,35 @@ export function createMQTTLayer( bits: 4, value: overrides?.flags ?? '0000', editable: false, - description: - 'Type-specific flags โ€” DUP, QoS level, RETAIN for PUBLISH packets' + description: 'Type-specific flags โ€” DUP, QoS level, RETAIN for PUBLISH packets' }, { name: 'Remaining Len', bits: 8, value: overrides?.remainingLength ?? 42, editable: false, - description: - 'Remaining bytes after fixed header โ€” variable-length encoding up to 256 MB' + description: 'Remaining bytes after fixed header โ€” variable-length encoding up to 256 MB' }, { name: 'Packet ID', bits: 16, value: overrides?.packetId ?? 1, editable: false, - description: - 'Packet identifier โ€” used by QoS 1/2 and SUBSCRIBE/UNSUBSCRIBE for matching' + description: 'Packet identifier โ€” used by QoS 1/2 and SUBSCRIBE/UNSUBSCRIBE for matching' }, { name: 'Topic', bits: 0, value: overrides?.topic ?? 'sensors/temperature', editable: false, - description: - 'Topic name โ€” hierarchical path using / separators, supports + and # wildcards' + description: 'Topic name โ€” hierarchical path using / separators, supports + and # wildcards' }, { name: 'Payload', bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Message payload โ€” can be any binary data, commonly JSON or plain text' + description: 'Message payload โ€” can be any binary data, commonly JSON or plain text' } ] }; diff --git a/src/lib/simulator/layers/nfc.ts b/src/lib/simulator/layers/nfc.ts index f83c635..0d8f092 100644 --- a/src/lib/simulator/layers/nfc.ts +++ b/src/lib/simulator/layers/nfc.ts @@ -13,7 +13,8 @@ export function createNFCALayer( { name: 'Carrier', bits: 0, - value: '13.56 MHz, 100% ASK modified-Miller (readerโ†’card) / OOK Manchester on 847.5 kHz subcarrier (cardโ†’reader)', + value: + '13.56 MHz, 100% ASK modified-Miller (readerโ†’card) / OOK Manchester on 847.5 kHz subcarrier (cardโ†’reader)', editable: false, description: 'NFC-A physical layer โ€” the same since ISO 14443-3 was published in 2000' }, @@ -30,21 +31,24 @@ export function createNFCALayer( bits: 0, value: overrides?.direction ?? 'PCD โ†’ PICC', editable: false, - description: 'PCD (Proximity Coupling Device, the reader) โ†’ PICC (Proximity Integrated Circuit Card, the tag)' + description: + 'PCD (Proximity Coupling Device, the reader) โ†’ PICC (Proximity Integrated Circuit Card, the tag)' }, { name: 'Payload', bits: 0, value: overrides?.payload ?? '0x26', editable: false, - description: 'Frame-specific payload โ€” REQA=0x26, WUPA=0x52, SEL=0x93/0x95/0x97, HLTA=0x50 0x00, etc.' + description: + 'Frame-specific payload โ€” REQA=0x26, WUPA=0x52, SEL=0x93/0x95/0x97, HLTA=0x50 0x00, etc.' }, { name: 'CRC_A', bits: 16, value: overrides?.crc ?? '(none โ€” short frame)', editable: false, - description: 'CRC_A polynomial 0x8408, appended to standard and full frames; absent on short frames' + description: + 'CRC_A polynomial 0x8408, appended to standard and full frames; absent on short frames' } ] }; @@ -96,7 +100,7 @@ export function createNDEFLayer( value: overrides?.payload ?? '0x03 example.com/info', editable: false, description: - "For a URI record: first byte is the prefix code (0x01=http://www., 0x02=https://www., 0x03=http://, 0x04=https://, 0x05=tel:, 0x06=mailto:); remainder is the URI body" + 'For a URI record: first byte is the prefix code (0x01=http://www., 0x02=https://www., 0x03=http://, 0x04=https://, 0x05=tel:, 0x06=mailto:); remainder is the URI body' } ] }; @@ -130,9 +134,12 @@ export function createAPDULayer( { name: 'Data', bits: 0, - value: overrides?.data ?? "32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 (PPSE AID '2PAY.SYS.DDF01')", + value: + overrides?.data ?? + "32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 (PPSE AID '2PAY.SYS.DDF01')", editable: false, - description: 'Command body โ€” for SELECT, the AID being selected; for GENERATE AC, the CDOL1 data' + description: + 'Command body โ€” for SELECT, the AID being selected; for GENERATE AC, the CDOL1 data' }, { name: 'Le', diff --git a/src/lib/simulator/layers/ntp.ts b/src/lib/simulator/layers/ntp.ts index cae624d..c403fd3 100644 --- a/src/lib/simulator/layers/ntp.ts +++ b/src/lib/simulator/layers/ntp.ts @@ -30,32 +30,28 @@ export function createNTPLayer( bits: 8, value: overrides?.poll ?? 6, editable: false, - description: - 'Poll interval as log2 seconds โ€” 6 means poll every 64 seconds' + description: 'Poll interval as log2 seconds โ€” 6 means poll every 64 seconds' }, { name: 'Precision', bits: 8, value: overrides?.precision ?? '-20', editable: false, - description: - 'Clock precision as log2 seconds โ€” -20 is approximately 1 microsecond' + description: 'Clock precision as log2 seconds โ€” -20 is approximately 1 microsecond' }, { name: 'Reference ID', bits: 32, value: overrides?.refId ?? '', editable: false, - description: - 'Identifies the time source โ€” "GPS", "ATOM", or IP address of upstream server' + description: 'Identifies the time source โ€” "GPS", "ATOM", or IP address of upstream server' }, { name: 'Timestamps', bits: 0, value: overrides?.timestamps ?? '', editable: false, - description: - 'Four 64-bit timestamps: Reference, Origin (T1), Receive (T2), Transmit (T3)' + description: 'Four 64-bit timestamps: Reference, Origin (T1), Receive (T2), Transmit (T3)' } ] }; diff --git a/src/lib/simulator/layers/oauth2.ts b/src/lib/simulator/layers/oauth2.ts index a80f47e..602dc3d 100644 --- a/src/lib/simulator/layers/oauth2.ts +++ b/src/lib/simulator/layers/oauth2.ts @@ -14,24 +14,21 @@ export function createOAuth2Layer( bits: 0, value: overrides?.grantType ?? 'authorization_code', editable: false, - description: - 'OAuth flow type โ€” authorization_code, client_credentials, refresh_token' + description: 'OAuth flow type โ€” authorization_code, client_credentials, refresh_token' }, { name: 'Client ID', bits: 0, value: overrides?.clientId ?? 'my-app-id', editable: false, - description: - 'Identifies the application requesting access' + description: 'Identifies the application requesting access' }, { name: 'Scope', bits: 0, value: overrides?.scope ?? 'read:user email', editable: false, - description: - 'Requested permissions โ€” limits what the token can access', + description: 'Requested permissions โ€” limits what the token can access', color: '#2DD4BF' }, { @@ -39,24 +36,21 @@ export function createOAuth2Layer( bits: 0, value: overrides?.state ?? 'xYz123_csrf', editable: false, - description: - 'CSRF protection โ€” random value verified on callback' + description: 'CSRF protection โ€” random value verified on callback' }, { name: 'Code Challenge', bits: 0, value: overrides?.codeChallenge ?? 'SHA256(verifier)', editable: false, - description: - 'PKCE โ€” proves the token requester is the same as the auth initiator' + description: 'PKCE โ€” proves the token requester is the same as the auth initiator' }, { name: 'Token', bits: 0, value: overrides?.token ?? '', editable: false, - description: - 'Access token (JWT or opaque) โ€” presented in Authorization: Bearer header' + description: 'Access token (JWT or opaque) โ€” presented in Authorization: Bearer header' } ] }; diff --git a/src/lib/simulator/layers/ospf.ts b/src/lib/simulator/layers/ospf.ts index 91223e2..026f1b8 100644 --- a/src/lib/simulator/layers/ospf.ts +++ b/src/lib/simulator/layers/ospf.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createOSPFLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createOSPFLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'OSPFv2 Packet', abbreviation: 'OSPF', diff --git a/src/lib/simulator/layers/quic.ts b/src/lib/simulator/layers/quic.ts index b2f303c..7ac02fb 100644 --- a/src/lib/simulator/layers/quic.ts +++ b/src/lib/simulator/layers/quic.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createQUICLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createQUICLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'QUIC Packet', abbreviation: 'QUIC', diff --git a/src/lib/simulator/layers/rtmp.ts b/src/lib/simulator/layers/rtmp.ts index c5ea1c0..6edb20e 100644 --- a/src/lib/simulator/layers/rtmp.ts +++ b/src/lib/simulator/layers/rtmp.ts @@ -14,16 +14,14 @@ export function createRTMPLayer( bits: 2, value: overrides?.chunkType ?? 'Type 0 (full)', editable: false, - description: - 'Chunk header format โ€” Type 0 (12 bytes, full), Type 1-3 (compressed headers)' + description: 'Chunk header format โ€” Type 0 (12 bytes, full), Type 1-3 (compressed headers)' }, { name: 'Chunk Stream ID', bits: 6, value: overrides?.chunkStreamId ?? 3, editable: false, - description: - 'Multiplexing channel โ€” 2=protocol control, 3+=application messages' + description: 'Multiplexing channel โ€” 2=protocol control, 3+=application messages' }, { name: 'Message Type', @@ -38,8 +36,7 @@ export function createRTMPLayer( bits: 32, value: overrides?.streamId ?? 0, editable: false, - description: - 'Message stream ID โ€” 0 for control, 1+ for published streams' + description: 'Message stream ID โ€” 0 for control, 1+ for published streams' }, { name: 'Timestamp', @@ -54,8 +51,7 @@ export function createRTMPLayer( bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'AMF-encoded command, audio/video data, or metadata' + description: 'AMF-encoded command, audio/video data, or metadata' } ] }; diff --git a/src/lib/simulator/layers/rtp.ts b/src/lib/simulator/layers/rtp.ts index a730582..af17337 100644 --- a/src/lib/simulator/layers/rtp.ts +++ b/src/lib/simulator/layers/rtp.ts @@ -14,8 +14,7 @@ export function createRTPLayer( bits: 8, value: overrides?.flags ?? '0x80', editable: false, - description: - 'Version (2), Padding (1), Extension (1), CSRC Count (4) โ€” V=2 is current' + description: 'Version (2), Padding (1), Extension (1), CSRC Count (4) โ€” V=2 is current' }, { name: 'M/PT', @@ -30,8 +29,7 @@ export function createRTPLayer( bits: 16, value: overrides?.seq ?? 1, editable: false, - description: - 'Sequence number โ€” increments per packet, used to detect loss and reorder' + description: 'Sequence number โ€” increments per packet, used to detect loss and reorder' }, { name: 'Timestamp', @@ -54,8 +52,7 @@ export function createRTPLayer( bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Encoded media data โ€” audio samples (Opus, G.711) or video frames (H.264, VP8)' + description: 'Encoded media data โ€” audio samples (Opus, G.711) or video frames (H.264, VP8)' } ] }; diff --git a/src/lib/simulator/layers/sctp.ts b/src/lib/simulator/layers/sctp.ts index acb340d..e4d8b03 100644 --- a/src/lib/simulator/layers/sctp.ts +++ b/src/lib/simulator/layers/sctp.ts @@ -28,16 +28,14 @@ export function createSCTPLayer( bits: 32, value: overrides?.vTag ?? '0x00000000', editable: false, - description: - 'Verification Tag โ€” prevents blind attacks, must match the association\'s tag' + description: "Verification Tag โ€” prevents blind attacks, must match the association's tag" }, { name: 'Chunk Type', bits: 8, value: overrides?.chunkType ?? 'INIT (1)', editable: false, - description: - 'Chunk type โ€” INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK, DATA, SACK, HEARTBEAT', + description: 'Chunk type โ€” INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK, DATA, SACK, HEARTBEAT', color: '#7C3AED' }, { @@ -52,8 +50,7 @@ export function createSCTPLayer( bits: 0, value: overrides?.payload ?? '', editable: false, - description: - 'Chunk data โ€” initiation parameters, cookie, or application data' + description: 'Chunk data โ€” initiation parameters, cookie, or application data' } ] }; diff --git a/src/lib/simulator/layers/sip.ts b/src/lib/simulator/layers/sip.ts index f3d70ca..757df78 100644 --- a/src/lib/simulator/layers/sip.ts +++ b/src/lib/simulator/layers/sip.ts @@ -14,8 +14,7 @@ export function createSIPLayer( bits: 0, value: overrides?.method ?? 'INVITE', editable: false, - description: - 'SIP method โ€” INVITE, ACK, BYE, CANCEL, REGISTER, OPTIONS' + description: 'SIP method โ€” INVITE, ACK, BYE, CANCEL, REGISTER, OPTIONS' }, { name: 'Status', @@ -30,32 +29,28 @@ export function createSIPLayer( bits: 0, value: overrides?.from ?? '', editable: false, - description: - 'Caller SIP URI โ€” identifies the initiator of the request (sip:user@domain)' + description: 'Caller SIP URI โ€” identifies the initiator of the request (sip:user@domain)' }, { name: 'To', bits: 0, value: overrides?.to ?? '', editable: false, - description: - 'Callee SIP URI โ€” identifies the intended recipient of the request' + description: 'Callee SIP URI โ€” identifies the intended recipient of the request' }, { name: 'Call-ID', bits: 0, value: overrides?.callId ?? '', editable: false, - description: - 'Unique call identifier โ€” groups all messages belonging to the same dialog' + description: 'Unique call identifier โ€” groups all messages belonging to the same dialog' }, { name: 'Body', bits: 0, value: overrides?.body ?? '', editable: false, - description: - 'Message body โ€” typically SDP for media negotiation in INVITE/200 OK' + description: 'Message body โ€” typically SDP for media negotiation in INVITE/200 OK' } ] }; diff --git a/src/lib/simulator/layers/smtp.ts b/src/lib/simulator/layers/smtp.ts index 9e4bb54..6827876 100644 --- a/src/lib/simulator/layers/smtp.ts +++ b/src/lib/simulator/layers/smtp.ts @@ -21,8 +21,7 @@ export function createSMTPLayer( bits: 0, value: overrides?.parameter ?? 'client.example.com', editable: false, - description: - 'Command parameter โ€” hostname for EHLO, address for MAIL FROM/RCPT TO' + description: 'Command parameter โ€” hostname for EHLO, address for MAIL FROM/RCPT TO' }, { name: 'Response Code', diff --git a/src/lib/simulator/layers/soap.ts b/src/lib/simulator/layers/soap.ts index 627152c..25990bb 100644 --- a/src/lib/simulator/layers/soap.ts +++ b/src/lib/simulator/layers/soap.ts @@ -14,24 +14,21 @@ export function createSOAPLayer( bits: 0, value: overrides?.envelope ?? 'soap:Envelope xmlns:soap="..."', editable: false, - description: - 'Root XML element wrapping the entire SOAP message' + description: 'Root XML element wrapping the entire SOAP message' }, { name: 'Header', bits: 0, value: overrides?.header ?? '', editable: false, - description: - 'Optional SOAP Header โ€” authentication, routing, transaction context' + description: 'Optional SOAP Header โ€” authentication, routing, transaction context' }, { name: 'Body', bits: 0, value: overrides?.body ?? 'GetUser(id: 42)', editable: false, - description: - 'Required SOAP Body โ€” contains the operation and parameters', + description: 'Required SOAP Body โ€” contains the operation and parameters', color: '#00D4FF' }, { @@ -39,16 +36,14 @@ export function createSOAPLayer( bits: 0, value: overrides?.namespace ?? 'http://example.com/users', editable: false, - description: - 'XML namespace identifying the service schema and operations' + description: 'XML namespace identifying the service schema and operations' }, { name: 'SOAPAction', bits: 0, value: overrides?.soapAction ?? 'http://example.com/GetUser', editable: false, - description: - 'HTTP header identifying the intended SOAP operation' + description: 'HTTP header identifying the intended SOAP operation' } ] }; diff --git a/src/lib/simulator/layers/ssh.ts b/src/lib/simulator/layers/ssh.ts index 16f4435..ef675fe 100644 --- a/src/lib/simulator/layers/ssh.ts +++ b/src/lib/simulator/layers/ssh.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createSSHLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createSSHLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'SSH Packet', abbreviation: 'SSH', @@ -26,7 +28,8 @@ export function createSSHLayer(overrides?: Partial<Record<string, string | numbe bits: 8, value: overrides?.messageType ?? 'KEXINIT (20)', editable: false, - description: 'SSH message type โ€” KEXINIT, KEXDH_INIT, NEWKEYS, SERVICE_REQUEST, USERAUTH_REQUEST, etc.' + description: + 'SSH message type โ€” KEXINIT, KEXDH_INIT, NEWKEYS, SERVICE_REQUEST, USERAUTH_REQUEST, etc.' }, { name: 'Algorithm', @@ -40,7 +43,8 @@ export function createSSHLayer(overrides?: Partial<Record<string, string | numbe bits: 0, value: overrides?.payload ?? 'Key exchange data', editable: false, - description: 'Message-specific payload โ€” key exchange parameters, auth credentials, or encrypted data' + description: + 'Message-specific payload โ€” key exchange parameters, auth credentials, or encrypted data' } ] }; diff --git a/src/lib/simulator/layers/stomp.ts b/src/lib/simulator/layers/stomp.ts index babea32..3724cea 100644 --- a/src/lib/simulator/layers/stomp.ts +++ b/src/lib/simulator/layers/stomp.ts @@ -14,24 +14,21 @@ export function createSTOMPLayer( bits: 0, value: overrides?.command ?? 'CONNECT', editable: false, - description: - 'STOMP command โ€” CONNECT, CONNECTED, SEND, SUBSCRIBE, MESSAGE, ACK, DISCONNECT' + description: 'STOMP command โ€” CONNECT, CONNECTED, SEND, SUBSCRIBE, MESSAGE, ACK, DISCONNECT' }, { name: 'Destination', bits: 0, value: overrides?.destination ?? '', editable: false, - description: - 'Message destination โ€” queue or topic path (e.g. /queue/orders, /topic/prices)' + description: 'Message destination โ€” queue or topic path (e.g. /queue/orders, /topic/prices)' }, { name: 'Content-Type', bits: 0, value: overrides?.contentType ?? '', editable: false, - description: - 'MIME type of the body โ€” application/json, text/plain, etc.' + description: 'MIME type of the body โ€” application/json, text/plain, etc.' }, { name: 'Receipt', @@ -54,8 +51,7 @@ export function createSTOMPLayer( bits: 0, value: overrides?.body ?? '', editable: false, - description: - 'Frame body โ€” the message payload, terminated by a null character (\\0)' + description: 'Frame body โ€” the message payload, terminated by a null character (\\0)' } ] }; diff --git a/src/lib/simulator/layers/stun.ts b/src/lib/simulator/layers/stun.ts index b2ef1f0..c732f40 100644 --- a/src/lib/simulator/layers/stun.ts +++ b/src/lib/simulator/layers/stun.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createSTUNLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createSTUNLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'STUN Message', abbreviation: 'STUN', @@ -40,7 +42,8 @@ export function createSTUNLayer(overrides?: Partial<Record<string, string | numb bits: 0, value: overrides?.attribute ?? 'XOR-MAPPED-ADDRESS', editable: false, - description: 'STUN attribute โ€” XOR-MAPPED-ADDRESS reveals the public IP:port as seen by the STUN server' + description: + 'STUN attribute โ€” XOR-MAPPED-ADDRESS reveals the public IP:port as seen by the STUN server' } ] }; diff --git a/src/lib/simulator/layers/tcp.ts b/src/lib/simulator/layers/tcp.ts index 13239b2..b584a63 100644 --- a/src/lib/simulator/layers/tcp.ts +++ b/src/lib/simulator/layers/tcp.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createTCPLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createTCPLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'TCP Segment', abbreviation: 'TCP', @@ -76,7 +78,8 @@ export function createTCPLayer(overrides?: Partial<Record<string, string | numbe bits: 16, value: 0, editable: false, - description: 'Urgent pointer โ€” offset to the end of urgent data (only valid when URG flag is set)' + description: + 'Urgent pointer โ€” offset to the end of urgent data (only valid when URG flag is set)' } ] }; diff --git a/src/lib/simulator/layers/tls.ts b/src/lib/simulator/layers/tls.ts index 497fa2c..f41c2a0 100644 --- a/src/lib/simulator/layers/tls.ts +++ b/src/lib/simulator/layers/tls.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createTLSRecordLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createTLSRecordLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'TLS Record', abbreviation: 'TLS', @@ -12,7 +14,8 @@ export function createTLSRecordLayer(overrides?: Partial<Record<string, string | bits: 8, value: overrides?.contentType ?? 'Handshake (22)', editable: false, - description: 'Record type โ€” Handshake (22), Application Data (23), Alert (21), Change Cipher Spec (20)' + description: + 'Record type โ€” Handshake (22), Application Data (23), Alert (21), Change Cipher Spec (20)' }, { name: 'Version', @@ -47,7 +50,8 @@ export function createTLSRecordLayer(overrides?: Partial<Record<string, string | bits: 0, value: overrides?.extensions ?? 'SNI, key_share, supported_versions', editable: false, - description: 'TLS extensions โ€” Server Name Indication, key shares, supported protocol versions' + description: + 'TLS extensions โ€” Server Name Indication, key shares, supported protocol versions' } ] }; diff --git a/src/lib/simulator/layers/udp.ts b/src/lib/simulator/layers/udp.ts index a41738e..b0f1cdf 100644 --- a/src/lib/simulator/layers/udp.ts +++ b/src/lib/simulator/layers/udp.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createUDPLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createUDPLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'UDP Datagram', abbreviation: 'UDP', @@ -12,7 +14,7 @@ export function createUDPLayer(overrides?: Partial<Record<string, string | numbe bits: 16, value: overrides?.srcPort ?? 49152, editable: true, - description: 'Source port โ€” sender\'s port number' + description: "Source port โ€” sender's port number" }, { name: 'Dst Port', diff --git a/src/lib/simulator/layers/uwb.ts b/src/lib/simulator/layers/uwb.ts index c27d985..e9324cd 100644 --- a/src/lib/simulator/layers/uwb.ts +++ b/src/lib/simulator/layers/uwb.ts @@ -15,28 +15,32 @@ export function createUWBPHYLayer( bits: 0, value: overrides?.channel ?? 'Ch 9 โ€” 7987.2 MHz, 499.2 MHz BW', editable: false, - description: 'Channel 5 (6489.6 MHz) is universal; Channel 9 (7987.2 MHz) is preferred outside Japan' + description: + 'Channel 5 (6489.6 MHz) is universal; Channel 9 (7987.2 MHz) is preferred outside Japan' }, { name: 'Mode', bits: 0, value: overrides?.mode ?? 'BPRF mean PRF = 64 MHz, 6.81 Mbps data rate', editable: false, - description: 'BPRF (base ~64 MHz) for tag-side power; HPRF (124.8/249.6 MHz) for anchor-side processing gain' + description: + 'BPRF (base ~64 MHz) for tag-side power; HPRF (124.8/249.6 MHz) for anchor-side processing gain' }, { name: 'SHR (Preamble + SFD)', bits: 0, value: overrides?.shr ?? '64 sync symbols + 8-symbol SFD', editable: false, - description: 'Synchronisation Header: receiver acquires symbol timing and detects "frame here". First-path-arrival timestamp is taken on the SFD.' + description: + 'Synchronisation Header: receiver acquires symbol timing and detects "frame here". First-path-arrival timestamp is taken on the SFD.' }, { name: 'PHR', bits: 19, value: overrides?.phr ?? 'len=12, RFRAME=1, rate=01 (6.81 Mbps)', editable: false, - description: 'PHY Header: 7-bit frame length, 1-bit ranging-frame flag (RFRAME), 2-bit data rate, 6-bit SECDED parity' + description: + 'PHY Header: 7-bit frame length, 1-bit ranging-frame flag (RFRAME), 2-bit data rate, 6-bit SECDED parity' }, { name: 'PSDU (data field)', @@ -86,7 +90,8 @@ export function createFiRaLayer( bits: 16, value: overrides?.round ?? 0x002a, editable: false, - description: 'Index of the ranging round within the session โ€” increments per Poll/Response/Final triplet' + description: + 'Index of the ranging round within the session โ€” increments per Poll/Response/Final triplet' }, { name: 'Frame Type', @@ -108,7 +113,8 @@ export function createFiRaLayer( bits: 16, value: overrides?.peer ?? 'Init=0x4321 โ†’ Resp=0x1234', editable: false, - description: '16-bit short addresses of the initiator and responder for this ranging exchange' + description: + '16-bit short addresses of the initiator and responder for this ranging exchange' } ] }; diff --git a/src/lib/simulator/layers/websocket.ts b/src/lib/simulator/layers/websocket.ts index 7fb8e14..f42034c 100644 --- a/src/lib/simulator/layers/websocket.ts +++ b/src/lib/simulator/layers/websocket.ts @@ -1,6 +1,8 @@ import type { ProtocolLayer } from '../types'; -export function createWebSocketFrameLayer(overrides?: Partial<Record<string, string | number>>): ProtocolLayer { +export function createWebSocketFrameLayer( + overrides?: Partial<Record<string, string | number>> +): ProtocolLayer { return { name: 'WebSocket Frame', abbreviation: 'WS', diff --git a/src/lib/simulator/layers/wifi.ts b/src/lib/simulator/layers/wifi.ts index b0caac6..fd1d8f6 100644 --- a/src/lib/simulator/layers/wifi.ts +++ b/src/lib/simulator/layers/wifi.ts @@ -14,8 +14,7 @@ export function createWiFiLayer( bits: 16, value: overrides?.frameControl ?? '0x0841', editable: false, - description: - 'Frame type and control bits โ€” Data (0x08), To DS, Protected Frame', + description: 'Frame type and control bits โ€” Data (0x08), To DS, Protected Frame', color: '#F472B6' }, { @@ -31,8 +30,7 @@ export function createWiFiLayer( bits: 48, value: overrides?.addr1 ?? 'AA:BB:CC:DD:EE:FF', editable: true, - description: - 'Receiver Address โ€” the immediate next recipient (usually the access point)' + description: 'Receiver Address โ€” the immediate next recipient (usually the access point)' }, { name: 'Addr 2 (TA)', @@ -46,24 +44,21 @@ export function createWiFiLayer( bits: 48, value: overrides?.addr3 ?? 'CC:DD:EE:FF:00:11', editable: true, - description: - 'Destination Address โ€” the final destination on the network' + description: 'Destination Address โ€” the final destination on the network' }, { name: 'Seq Control', bits: 16, value: overrides?.seqControl ?? '0x0010', editable: false, - description: - 'Fragment and sequence number for reassembly and duplicate detection' + description: 'Fragment and sequence number for reassembly and duplicate detection' }, { name: 'Payload', bits: 0, value: overrides?.payload ?? '...', editable: false, - description: - 'Encrypted data payload (up to 2304 bytes with WPA2/3 encryption)' + description: 'Encrypted data payload (up to 2304 bytes with WPA2/3 encryption)' }, { name: 'FCS', diff --git a/src/lib/simulator/layers/wireguard.ts b/src/lib/simulator/layers/wireguard.ts index 6153864..28890d3 100644 --- a/src/lib/simulator/layers/wireguard.ts +++ b/src/lib/simulator/layers/wireguard.ts @@ -30,14 +30,16 @@ export function createWireGuardLayer( bits: 32, value: overrides?.senderIndex ?? '0xABCD1234', editable: false, - description: 'Random 32-bit identifier the receiver echoes back; lets peers track parallel handshakes' + description: + 'Random 32-bit identifier the receiver echoes back; lets peers track parallel handshakes' }, { name: 'Receiver Index', bits: 32, value: overrides?.receiverIndex ?? '0x00000000', editable: false, - description: 'Echoed back in Handshake Response and Transport Data; zero in the initial handshake' + description: + 'Echoed back in Handshake Response and Transport Data; zero in the initial handshake' }, { name: 'Payload', diff --git a/src/lib/simulator/layers/xmpp.ts b/src/lib/simulator/layers/xmpp.ts index ea4f71f..c5d3a04 100644 --- a/src/lib/simulator/layers/xmpp.ts +++ b/src/lib/simulator/layers/xmpp.ts @@ -14,8 +14,7 @@ export function createXMPPLayer( bits: 0, value: overrides?.stanzaType ?? '<stream:stream>', editable: false, - description: - 'XML element type โ€” <stream:stream>, <message>, <presence>, <iq>, <auth>' + description: 'XML element type โ€” <stream:stream>, <message>, <presence>, <iq>, <auth>' }, { name: 'From', @@ -30,8 +29,7 @@ export function createXMPPLayer( bits: 0, value: overrides?.to ?? '', editable: false, - description: - 'Recipient JID โ€” the destination user, room, or service' + description: 'Recipient JID โ€” the destination user, room, or service' }, { name: 'ID', diff --git a/src/lib/simulator/layers/zigbee.ts b/src/lib/simulator/layers/zigbee.ts index efaf1b5..1dcf5a5 100644 --- a/src/lib/simulator/layers/zigbee.ts +++ b/src/lib/simulator/layers/zigbee.ts @@ -15,7 +15,8 @@ export function create802154Layer( bits: 16, value: overrides?.frameControl ?? '0x8841 (Data, AckReq=1, PAN-ID Compression)', editable: false, - description: 'Frame type (Data/Ack/Cmd), security on/off, AckReq, frame version, addressing modes' + description: + 'Frame type (Data/Ack/Cmd), security on/off, AckReq, frame version, addressing modes' }, { name: 'Seq Num', @@ -86,7 +87,8 @@ export function createZigbeeNWKLayer( bits: 16, value: overrides?.dstAddr ?? '0x1234', editable: false, - description: 'NWK 16-bit short address โ€” every node has a locally unique 16-bit address assigned at join' + description: + 'NWK 16-bit short address โ€” every node has a locally unique 16-bit address assigned at join' }, { name: 'Src Addr', @@ -114,7 +116,8 @@ export function createZigbeeNWKLayer( bits: 0, value: overrides?.security ?? 'AES-CCM* (frame counter 0x000ABCDE, MIC=4 bytes)', editable: false, - description: 'AES-128-CCM* encryption + integrity using the network key; 4/8/16-byte MIC appended' + description: + 'AES-128-CCM* encryption + integrity using the network key; 4/8/16-byte MIC appended' }, { name: 'Payload (APS frame)', @@ -142,14 +145,16 @@ export function createZigbeeAPSLayer( bits: 8, value: overrides?.frameControl ?? '0x40 (Data, Unicast, no Ack)', editable: false, - description: 'Type (Data / Cmd / Ack), Delivery Mode (Unicast / Indirect / Broadcast / Group), Security, AckReq, Extended Hdr' + description: + 'Type (Data / Cmd / Ack), Delivery Mode (Unicast / Indirect / Broadcast / Group), Security, AckReq, Extended Hdr' }, { name: 'Dst Endpoint', bits: 8, value: overrides?.dstEp ?? 11, editable: false, - description: 'Endpoint within the destination device (1โ€“240). Endpoint 11 is the standard Hue bulb endpoint.' + description: + 'Endpoint within the destination device (1โ€“240). Endpoint 11 is the standard Hue bulb endpoint.' }, { name: 'Cluster ID', diff --git a/src/lib/simulator/simulations/a2a-task.ts b/src/lib/simulator/simulations/a2a-task.ts index 22b5e6f..c8f8f08 100644 --- a/src/lib/simulator/simulations/a2a-task.ts +++ b/src/lib/simulator/simulations/a2a-task.ts @@ -10,9 +10,21 @@ function httpRequestLayer(method: string, path: string, contentType: string) { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Method', bits: 0, value: method, editable: false, description: `HTTP ${method} โ€” A2A uses standard HTTP as its transport` }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: `HTTP ${method} โ€” A2A uses standard HTTP as its transport` + }, { name: 'Path', bits: 0, value: path, editable: false, description: 'A2A endpoint path' }, - { name: 'Content-Type', bits: 0, value: contentType, editable: false, description: 'Request content type' } + { + name: 'Content-Type', + bits: 0, + value: contentType, + editable: false, + description: 'Request content type' + } ] }; } @@ -24,10 +36,34 @@ function a2aRequestLayer(method: string, params: string, id: string | number) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version โ€” A2A uses JSON-RPC 2.0 as its wire format' }, - { name: 'Method', bits: 0, value: method, editable: false, description: 'A2A method to invoke on the remote agent' }, - { name: 'Params', bits: 0, value: params, editable: false, description: 'Method parameters as a JSON object' }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Request identifier โ€” remote agent echoes this back to correlate the response' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version โ€” A2A uses JSON-RPC 2.0 as its wire format' + }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'A2A method to invoke on the remote agent' + }, + { + name: 'Params', + bits: 0, + value: params, + editable: false, + description: 'Method parameters as a JSON object' + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Request identifier โ€” remote agent echoes this back to correlate the response' + } ] }; } @@ -39,9 +75,28 @@ function a2aResponseLayer(result: string, id: string | number, color: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Result', bits: 0, value: result, editable: false, description: 'Response payload from the remote agent', color }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Matches the request ID โ€” confirms which call this responds to' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Result', + bits: 0, + value: result, + editable: false, + description: 'Response payload from the remote agent', + color + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Matches the request ID โ€” confirms which call this responds to' + } ] }; } @@ -50,7 +105,7 @@ export const a2aTask: SimulationConfig = { protocolId: 'a2a', title: 'A2A โ€” Agent Discovery & Task Lifecycle', description: - 'Watch an agent discover another agent and delegate a task. The client fetches the remote agent\'s card, sends a message, and receives streaming task updates โ€” all using the Agent-to-Agent protocol.', + "Watch an agent discover another agent and delegate a task. The client fetches the remote agent's card, sends a message, and receives streaming task updates โ€” all using the Agent-to-Agent protocol.", tier: 'client', actors: [ { id: 'client', label: 'Client Agent', icon: 'browser', position: 'left' }, @@ -70,7 +125,7 @@ export const a2aTask: SimulationConfig = { id: 'agent-card-request', label: 'Agent Card Request', description: - 'Client agent sends an HTTP GET to the well-known agent card endpoint. This is how agents discover each other โ€” the card describes the remote agent\'s identity, skills, and capabilities.', + "Client agent sends an HTTP GET to the well-known agent card endpoint. This is how agents discover each other โ€” the card describes the remote agent's identity, skills, and capabilities.", fromActor: 'client', toActor: 'remote', duration: 800, @@ -85,9 +140,28 @@ export const a2aTask: SimulationConfig = { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'HTTP GET โ€” retrieving the agent\'s public card' }, - { name: 'Path', bits: 0, value: '/.well-known/agent.json', editable: false, description: 'Well-known URI for agent discovery โ€” standardized path so clients know where to look' }, - { name: 'Accept', bits: 0, value: 'application/json', editable: false, description: 'Client expects a JSON agent card' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: "HTTP GET โ€” retrieving the agent's public card" + }, + { + name: 'Path', + bits: 0, + value: '/.well-known/agent.json', + editable: false, + description: + 'Well-known URI for agent discovery โ€” standardized path so clients know where to look' + }, + { + name: 'Accept', + bits: 0, + value: 'application/json', + editable: false, + description: 'Client expects a JSON agent card' + } ] } ] @@ -111,8 +185,21 @@ export const a2aTask: SimulationConfig = { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Status', bits: 0, value: '200 OK', editable: false, description: 'Agent card found and returned', color: '#22c55e' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'Agent card is JSON' } + { + name: 'Status', + bits: 0, + value: '200 OK', + editable: false, + description: 'Agent card found and returned', + color: '#22c55e' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'Agent card is JSON' + } ] }, { @@ -121,11 +208,41 @@ export const a2aTask: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Name', bits: 0, value: '"TravelAgent"', editable: false, description: 'Human-readable agent name' }, - { name: 'Description', bits: 0, value: '"Books flights, hotels, and travel plans"', editable: false, description: 'What this agent can do' }, - { name: 'URL', bits: 0, value: '"https://travel.example.com/a2a"', editable: false, description: 'Endpoint for sending messages to this agent' }, - { name: 'Skills', bits: 0, value: '[{"id":"flight-search","name":"Flight Search"}]', editable: false, description: 'List of skills โ€” each with an ID, name, and description' }, - { name: 'Version', bits: 0, value: '"0.2.1"', editable: false, description: 'A2A protocol version supported by this agent' } + { + name: 'Name', + bits: 0, + value: '"TravelAgent"', + editable: false, + description: 'Human-readable agent name' + }, + { + name: 'Description', + bits: 0, + value: '"Books flights, hotels, and travel plans"', + editable: false, + description: 'What this agent can do' + }, + { + name: 'URL', + bits: 0, + value: '"https://travel.example.com/a2a"', + editable: false, + description: 'Endpoint for sending messages to this agent' + }, + { + name: 'Skills', + bits: 0, + value: '[{"id":"flight-search","name":"Flight Search"}]', + editable: false, + description: 'List of skills โ€” each with an ID, name, and description' + }, + { + name: 'Version', + bits: 0, + value: '"0.2.1"', + editable: false, + description: 'A2A protocol version supported by this agent' + } ] } ] @@ -144,7 +261,11 @@ export const a2aTask: SimulationConfig = { createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 55100, dstPort: 443, flags: 'PSH,ACK' }), httpRequestLayer('POST', '/a2a', 'application/json'), - a2aRequestLayer('message/send', '{"message":{"role":"user","parts":[{"kind":"text","text":"Find flights NYC to London"}]}}', 1) + a2aRequestLayer( + 'message/send', + '{"message":{"role":"user","parts":[{"kind":"text","text":"Find flights NYC to London"}]}}', + 1 + ) ] }, { @@ -160,7 +281,11 @@ export const a2aTask: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 55100, flags: 'PSH,ACK' }), - a2aResponseLayer('{"id":"task-001","status":{"state":"working","message":{"role":"agent","parts":[{"kind":"text","text":"Searching flights..."}]}}}', 1, '#eab308') + a2aResponseLayer( + '{"id":"task-001","status":{"state":"working","message":{"role":"agent","parts":[{"kind":"text","text":"Searching flights..."}]}}}', + 1, + '#eab308' + ) ] }, { @@ -176,7 +301,11 @@ export const a2aTask: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 55100, flags: 'PSH,ACK' }), - a2aResponseLayer('{"id":"task-001","status":{"state":"completed"},"artifacts":[{"name":"flights","parts":[{"kind":"text","text":"BA115 JFKโ†’LHR 7pm $450"}]}]}', 1, '#22c55e') + a2aResponseLayer( + '{"id":"task-001","status":{"state":"completed"},"artifacts":[{"name":"flights","parts":[{"kind":"text","text":"BA115 JFKโ†’LHR 7pm $450"}]}]}', + 1, + '#22c55e' + ) ] }, { @@ -193,7 +322,11 @@ export const a2aTask: SimulationConfig = { createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 55100, dstPort: 443, flags: 'PSH,ACK' }), httpRequestLayer('POST', '/a2a', 'application/json'), - a2aRequestLayer('message/stream', '{"message":{"role":"user","parts":[{"kind":"text","text":"Find flights NYC to London"}]}}', 2) + a2aRequestLayer( + 'message/stream', + '{"message":{"role":"user","parts":[{"kind":"text","text":"Find flights NYC to London"}]}}', + 2 + ) ] }, { @@ -215,7 +348,14 @@ export const a2aTask: SimulationConfig = { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Content-Type', bits: 0, value: 'text/event-stream', editable: false, description: 'Server-sent events โ€” the server pushes updates over a long-lived HTTP connection' } + { + name: 'Content-Type', + bits: 0, + value: 'text/event-stream', + editable: false, + description: + 'Server-sent events โ€” the server pushes updates over a long-lived HTTP connection' + } ] }, { @@ -224,9 +364,28 @@ export const a2aTask: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Event 1', bits: 0, value: '{"status":{"state":"working","message":"Searching..."}}', editable: false, description: 'First SSE event โ€” task is now working' }, - { name: 'Event 2', bits: 0, value: '{"artifact":{"name":"flights","parts":[...],"append":true}}', editable: false, description: 'Artifact event โ€” partial results streamed incrementally' }, - { name: 'Event 3', bits: 0, value: '{"status":{"state":"completed"},"final":true}', editable: false, description: 'Final event โ€” task complete, stream closes', color: '#22c55e' } + { + name: 'Event 1', + bits: 0, + value: '{"status":{"state":"working","message":"Searching..."}}', + editable: false, + description: 'First SSE event โ€” task is now working' + }, + { + name: 'Event 2', + bits: 0, + value: '{"artifact":{"name":"flights","parts":[...],"append":true}}', + editable: false, + description: 'Artifact event โ€” partial results streamed incrementally' + }, + { + name: 'Event 3', + bits: 0, + value: '{"status":{"state":"completed"},"final":true}', + editable: false, + description: 'Final event โ€” task complete, stream closes', + color: '#22c55e' + } ] } ] diff --git a/src/lib/simulator/simulations/amqp-messaging.ts b/src/lib/simulator/simulations/amqp-messaging.ts index b7b8988..d5d4924 100644 --- a/src/lib/simulator/simulations/amqp-messaging.ts +++ b/src/lib/simulator/simulations/amqp-messaging.ts @@ -157,7 +157,8 @@ export const amqpMessaging: SimulationConfig = { channel: 1, method: 'Basic.Deliver', payloadSize: 86, - properties: 'Consumer-Tag: ctag-1, Delivery-Tag: 1, Exchange: orders, Routing-Key: order.created', + properties: + 'Consumer-Tag: ctag-1, Delivery-Tag: 1, Exchange: orders, Routing-Key: order.created', payload: '{"event": "order.created", "orderId": "ORD-1234", "total": 59.99}' }) ] diff --git a/src/lib/simulator/simulations/arp-resolution.ts b/src/lib/simulator/simulations/arp-resolution.ts index aacc369..980bed8 100644 --- a/src/lib/simulator/simulations/arp-resolution.ts +++ b/src/lib/simulator/simulations/arp-resolution.ts @@ -58,7 +58,7 @@ export const arpResolution: SimulationConfig = { id: 'arp-reply', label: 'ARP Reply (unicast)', description: - 'Host B recognizes its own IP in the Target IP field and responds with a unicast ARP Reply. The reply fills in the missing piece: Sender MAC AA:BB:CC:DD:EE:FF. Notice this is unicast (directly to Host A\'s MAC), not broadcast โ€” only Host A receives the reply. Host B also caches Host A\'s IP-to-MAC mapping from the request, since it will likely need it soon.', + "Host B recognizes its own IP in the Target IP field and responds with a unicast ARP Reply. The reply fills in the missing piece: Sender MAC AA:BB:CC:DD:EE:FF. Notice this is unicast (directly to Host A's MAC), not broadcast โ€” only Host A receives the reply. Host B also caches Host A's IP-to-MAC mapping from the request, since it will likely need it soon.", fromActor: 'host-b', toActor: 'host-a', duration: 800, @@ -126,7 +126,7 @@ export const arpResolution: SimulationConfig = { id: 'response', label: 'Response (cache hit)', description: - 'Host B sends a response back to Host A. This time, no ARP is needed โ€” Host B already cached Host A\'s MAC address when it processed the original ARP Request. This is a cache hit: the Ethernet frame is constructed immediately with the known destination MAC. Bidirectional communication now flows without any ARP overhead.', + "Host B sends a response back to Host A. This time, no ARP is needed โ€” Host B already cached Host A's MAC address when it processed the original ARP Request. This is a cache hit: the Ethernet frame is constructed immediately with the known destination MAC. Bidirectional communication now flows without any ARP overhead.", fromActor: 'host-b', toActor: 'host-a', duration: 600, diff --git a/src/lib/simulator/simulations/bgp-peering.ts b/src/lib/simulator/simulations/bgp-peering.ts index 780737c..bcf2cc1 100644 --- a/src/lib/simulator/simulations/bgp-peering.ts +++ b/src/lib/simulator/simulations/bgp-peering.ts @@ -63,7 +63,7 @@ export const bgpPeering: SimulationConfig = { id: 'keepalive-a', label: 'KEEPALIVE', description: - 'Router A confirms the session parameters by sending a KEEPALIVE. This is the smallest possible BGP message โ€” just the 19-byte header with no payload. The KEEPALIVE serves double duty: it confirms the OPEN exchange and starts the hold timer. If either peer doesn\'t hear from the other within the hold time, the session is torn down.', + "Router A confirms the session parameters by sending a KEEPALIVE. This is the smallest possible BGP message โ€” just the 19-byte header with no payload. The KEEPALIVE serves double duty: it confirms the OPEN exchange and starts the hold timer. If either peer doesn't hear from the other within the hold time, the session is torn down.", fromActor: 'routerA', toActor: 'routerB', duration: 800, @@ -129,7 +129,7 @@ export const bgpPeering: SimulationConfig = { id: 'update-announce-b', label: 'UPDATE (announce)', description: - 'Router B announces its own networks in return. The AS_PATH now shows AS 65002, and the NEXT_HOP points to Router B\'s address. When Router A receives this, it knows that to reach 172.16.0.0/12, it should send traffic to 10.0.0.2. This is how the internet\'s routing table is built โ€” one UPDATE at a time.', + "Router B announces its own networks in return. The AS_PATH now shows AS 65002, and the NEXT_HOP points to Router B's address. When Router A receives this, it knows that to reach 172.16.0.0/12, it should send traffic to 10.0.0.2. This is how the internet's routing table is built โ€” one UPDATE at a time.", fromActor: 'routerB', toActor: 'routerA', duration: 1000, @@ -173,7 +173,7 @@ export const bgpPeering: SimulationConfig = { id: 'keepalive-periodic', label: 'KEEPALIVE', description: - 'BGP peers send periodic KEEPALIVEs (typically every 30 seconds) to prove they\'re still alive. If no message is received within the hold time (90 seconds), the peer is declared dead and all its routes are withdrawn. This is why BGP misconfiguration can cause massive internet outages โ€” if a major ISP\'s session drops, thousands of routes disappear.', + "BGP peers send periodic KEEPALIVEs (typically every 30 seconds) to prove they're still alive. If no message is received within the hold time (90 seconds), the peer is declared dead and all its routes are withdrawn. This is why BGP misconfiguration can cause massive internet outages โ€” if a major ISP's session drops, thousands of routes disappear.", fromActor: 'routerA', toActor: 'routerB', duration: 800, diff --git a/src/lib/simulator/simulations/bluetooth-ble.ts b/src/lib/simulator/simulations/bluetooth-ble.ts index d42b793..749a7ac 100644 --- a/src/lib/simulator/simulations/bluetooth-ble.ts +++ b/src/lib/simulator/simulations/bluetooth-ble.ts @@ -5,7 +5,7 @@ export const bluetoothBleGatt: SimulationConfig = { protocolId: 'bluetooth', title: 'BLE Connect, Pair, and GATT Read', description: - "Watch a phone (Central) discover a heart-rate sensor (Peripheral) on a BLE advertising channel, establish a connection, exchange MTU, pair with LE Secure Connections, and subscribe to notifications. This is the flow under every fitness tracker, AirTag, hearing aid, and Matter device commissioning over Bluetooth.", + 'Watch a phone (Central) discover a heart-rate sensor (Peripheral) on a BLE advertising channel, establish a connection, exchange MTU, pair with LE Secure Connections, and subscribe to notifications. This is the flow under every fitness tracker, AirTag, hearing aid, and Matter device commissioning over Bluetooth.', tier: 'client', actors: [ { id: 'central', label: 'Central (Phone)', icon: 'device', position: 'left' }, diff --git a/src/lib/simulator/simulations/cellular-registration.ts b/src/lib/simulator/simulations/cellular-registration.ts index 04e91f2..ef3736b 100644 --- a/src/lib/simulator/simulations/cellular-registration.ts +++ b/src/lib/simulator/simulations/cellular-registration.ts @@ -9,7 +9,7 @@ export const cellularRegistration: SimulationConfig = { protocolId: 'cellular', title: '5G Initial Registration + First PDU Session', description: - "Watch a phone power on and walk the 8 beats every 5G-SA UE walks every time it leaves airplane mode: RRC Setup โ†’ Registration Request โ†’ 5G-AKA โ†’ Security Mode โ†’ Registration Accept โ†’ PDU Session Establishment โ†’ UPF programming โ†’ user plane up. Every NGAP and GTP-U hop is wrapped in IPsec ESP per 3GPP TS 33.501.", + 'Watch a phone power on and walk the 8 beats every 5G-SA UE walks every time it leaves airplane mode: RRC Setup โ†’ Registration Request โ†’ 5G-AKA โ†’ Security Mode โ†’ Registration Accept โ†’ PDU Session Establishment โ†’ UPF programming โ†’ user plane up. Every NGAP and GTP-U hop is wrapped in IPsec ESP per 3GPP TS 33.501.', tier: 'client', actors: [ { id: 'ue', label: 'UE (phone)', icon: 'device', position: 'left' }, @@ -44,7 +44,7 @@ export const cellularRegistration: SimulationConfig = { id: 'rrc-setup', label: 'RRC Setup (random access)', description: - "UE selects a cell from SSB measurements and runs random access: PRACH preamble (Msg1) โ†’ Random Access Response with timing advance + temporary C-RNTI (Msg2) โ†’ RRCSetupRequest (Msg3) โ†’ RRCSetup (Msg4). At this point the UE has SRB1 (signalling radio bearer) but no security context.", + 'UE selects a cell from SSB measurements and runs random access: PRACH preamble (Msg1) โ†’ Random Access Response with timing advance + temporary C-RNTI (Msg2) โ†’ RRCSetupRequest (Msg3) โ†’ RRCSetup (Msg4). At this point the UE has SRB1 (signalling radio bearer) but no security context.', fromActor: 'ue', toActor: 'gnb', duration: 1300, @@ -62,14 +62,16 @@ export const cellularRegistration: SimulationConfig = { bits: 0, value: 'mo-Signalling', editable: false, - description: 'Why the UE wants a connection โ€” signalling, data, voice, emergency, etc.' + description: + 'Why the UE wants a connection โ€” signalling, data, voice, emergency, etc.' }, { name: 'C-RNTI', bits: 16, value: '0x4A2F', editable: false, - description: 'Cell Radio Network Temporary Identifier โ€” the UE\'s short-lived ID in this cell' + description: + "Cell Radio Network Temporary Identifier โ€” the UE's short-lived ID in this cell" }, { name: 'SRB1', @@ -86,7 +88,7 @@ export const cellularRegistration: SimulationConfig = { id: 'reg-req', label: 'Registration Request (NAS)', description: - 'UE sends a Registration Request over SRB1. The gNB doesn\'t look at the NAS payload โ€” it just forwards it to the AMF inside an NGAP Initial UE Message on SCTP/38412 (wrapped in IPsec ESP). The Request carries the **SUCI** (public-key-encrypted SUPI), requested NSSAI, and UE security capabilities.', + "UE sends a Registration Request over SRB1. The gNB doesn't look at the NAS payload โ€” it just forwards it to the AMF inside an NGAP Initial UE Message on SCTP/38412 (wrapped in IPsec ESP). The Request carries the **SUCI** (public-key-encrypted SUPI), requested NSSAI, and UE security capabilities.", fromActor: 'gnb', toActor: 'core', duration: 1400, @@ -112,7 +114,7 @@ export const cellularRegistration: SimulationConfig = { id: 'aka', label: '5G-AKA Authentication', description: - 'AMF asks AUSF โ†’ AUSF asks UDM โ†’ UDM\'s SIDF decrypts SUCI to SUPI, generates an authentication vector. RAND/AUTN traverse all the way down to the UE. The USIM checks AUTN.MAC against f1(K, SQN, RAND), computes RES* via KDF(CK โ€– IK). AUSF compares RES* to HRES*. Mutual authentication.', + "AMF asks AUSF โ†’ AUSF asks UDM โ†’ UDM's SIDF decrypts SUCI to SUPI, generates an authentication vector. RAND/AUTN traverse all the way down to the UE. The USIM checks AUTN.MAC against f1(K, SQN, RAND), computes RES* via KDF(CK โ€– IK). AUSF compares RES* to HRES*. Mutual authentication.", fromActor: 'core', toActor: 'ue', duration: 1500, @@ -136,7 +138,7 @@ export const cellularRegistration: SimulationConfig = { id: 'security-mode', label: 'NAS Security Mode Command', description: - "AMF picks ciphering (128-NEA2 = AES-CTR) and integrity (128-NIA2 = AES-CMAC). Sends Security Mode Command integrity-protected with the freshly-derived K_NASint. UE responds with Security Mode Complete ciphered+integrity-protected. From this point every NAS message is wrapped in `(Security Header, MAC, sequence)`.", + 'AMF picks ciphering (128-NEA2 = AES-CTR) and integrity (128-NIA2 = AES-CMAC). Sends Security Mode Command integrity-protected with the freshly-derived K_NASint. UE responds with Security Mode Complete ciphered+integrity-protected. From this point every NAS message is wrapped in `(Security Header, MAC, sequence)`.', fromActor: 'core', toActor: 'ue', duration: 1300, @@ -232,7 +234,7 @@ export const cellularRegistration: SimulationConfig = { id: 'user-plane', label: 'First user-plane packet (GTP-U on N3)', description: - "The N3 tunnel is up. First user-plane packet flows. UE sends an HTTPS request to 2606:4700:4700::1111 (Cloudflare DNS). The packet travels: UE โ†’ gNB (radio) โ†’ gNB wraps in GTP-U + IPsec ESP โ†’ N3 to UPF โ†’ UPF unwraps โ†’ public internet. The encapsulation is *the* lesson of cellular protocol design.", + 'The N3 tunnel is up. First user-plane packet flows. UE sends an HTTPS request to 2606:4700:4700::1111 (Cloudflare DNS). The packet travels: UE โ†’ gNB (radio) โ†’ gNB wraps in GTP-U + IPsec ESP โ†’ N3 to UPF โ†’ UPF unwraps โ†’ public internet. The encapsulation is *the* lesson of cellular protocol design.', fromActor: 'gnb', toActor: 'core', duration: 1500, diff --git a/src/lib/simulator/simulations/coap-request.ts b/src/lib/simulator/simulations/coap-request.ts index 038e7c9..8adf22f 100644 --- a/src/lib/simulator/simulations/coap-request.ts +++ b/src/lib/simulator/simulations/coap-request.ts @@ -100,7 +100,7 @@ export const coapRequest: SimulationConfig = { id: 'ack-changed', label: 'ACK 2.04 Changed', description: - 'The server confirms the resource was updated successfully. Code 2.04 Changed is the CoAP equivalent of HTTP 204 No Content. The empty payload is typical for update confirmations โ€” the client already knows what it sent. CoAP\'s simplicity makes it ideal for battery-powered sensors.', + "The server confirms the resource was updated successfully. Code 2.04 Changed is the CoAP equivalent of HTTP 204 No Content. The empty payload is typical for update confirmations โ€” the client already knows what it sent. CoAP's simplicity makes it ideal for battery-powered sensors.", fromActor: 'server', toActor: 'sensor', duration: 600, diff --git a/src/lib/simulator/simulations/dash-streaming.ts b/src/lib/simulator/simulations/dash-streaming.ts index c3c05d6..80267fc 100644 --- a/src/lib/simulator/simulations/dash-streaming.ts +++ b/src/lib/simulator/simulations/dash-streaming.ts @@ -11,8 +11,20 @@ function dashRequestLayer(path: string): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'DASH uses standard HTTP GET โ€” fully CDN-compatible' }, - { name: 'Path', bits: 0, value: path, editable: false, description: 'Resource path โ€” MPD manifest or media segment' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: 'DASH uses standard HTTP GET โ€” fully CDN-compatible' + }, + { + name: 'Path', + bits: 0, + value: path, + editable: false, + description: 'Resource path โ€” MPD manifest or media segment' + } ] }; } @@ -24,8 +36,20 @@ function dashPayloadLayer(contentType: string, content: string): ProtocolLayer { osiLayer: 7, color: '#F472B6', headerFields: [ - { name: 'Content-Type', bits: 0, value: contentType, editable: false, description: 'MIME type โ€” application/dash+xml for MPD, video/mp4 for segments' }, - { name: 'Content', bits: 0, value: content, editable: false, description: 'MPD manifest or CMAF/fMP4 segment data' } + { + name: 'Content-Type', + bits: 0, + value: contentType, + editable: false, + description: 'MIME type โ€” application/dash+xml for MPD, video/mp4 for segments' + }, + { + name: 'Content', + bits: 0, + value: content, + editable: false, + description: 'MPD manifest or CMAF/fMP4 segment data' + } ] }; } @@ -45,7 +69,7 @@ export const dashStreaming: SimulationConfig = { id: 'mpd', label: 'GET MPD', description: - 'The player fetches the Media Presentation Description (MPD), an XML document that describes the entire stream structure. It lists Periods (timeline), Adaptation Sets (media types), and Representations (quality levels). The MPD is DASH\'s equivalent of HLS\'s master playlist.', + "The player fetches the Media Presentation Description (MPD), an XML document that describes the entire stream structure. It lists Periods (timeline), Adaptation Sets (media types), and Representations (quality levels). The MPD is DASH's equivalent of HLS's master playlist.", fromActor: 'player', toActor: 'cdn', duration: 800, @@ -54,9 +78,15 @@ export const dashStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53400, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), dashRequestLayer('/content/manifest.mpd'), - dashPayloadLayer('application/dash+xml', '<MPD> Period โ†’ AdaptationSet(video) โ†’ Rep 1080p@5Mbps, 720p@2.5Mbps, 480p@1Mbps') + dashPayloadLayer( + 'application/dash+xml', + '<MPD> Period โ†’ AdaptationSet(video) โ†’ Rep 1080p@5Mbps, 720p@2.5Mbps, 480p@1Mbps' + ) ] }, { @@ -72,7 +102,10 @@ export const dashStreaming: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 53400, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), dashPayloadLayer('video/mp4', 'fMP4 init โ€” moov box, H.264 codec config, 1080p, 24fps') ] }, @@ -89,7 +122,10 @@ export const dashStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53400, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), dashRequestLayer('/content/video/1080p/seg-1.m4s'), dashPayloadLayer('video/mp4', 'fMP4 segment โ€” 4.0s, 1080p, H.264, 2.5 MB') ] @@ -107,7 +143,10 @@ export const dashStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53400, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), dashRequestLayer('/content/video/720p/seg-2.m4s'), dashPayloadLayer('video/mp4', 'fMP4 segment โ€” 4.0s, 720p, H.264, 1.2 MB (ABR switch)') ] diff --git a/src/lib/simulator/simulations/dhcp-dora.ts b/src/lib/simulator/simulations/dhcp-dora.ts index 80ff7f2..60a447d 100644 --- a/src/lib/simulator/simulations/dhcp-dora.ts +++ b/src/lib/simulator/simulations/dhcp-dora.ts @@ -65,7 +65,7 @@ export const dhcpDora: SimulationConfig = { id: 'request', label: 'REQUEST', description: - 'The device broadcasts its acceptance of a specific server\'s offer. This broadcast ensures that all DHCP servers on the network know which offer was chosen, so declined servers can return their proposed addresses to their pools.', + "The device broadcasts its acceptance of a specific server's offer. This broadcast ensures that all DHCP servers on the network know which offer was chosen, so declined servers can return their proposed addresses to their pools.", fromActor: 'client', toActor: 'server', duration: 1000, diff --git a/src/lib/simulator/simulations/dns-resolution.ts b/src/lib/simulator/simulations/dns-resolution.ts index 1fb508e..9b6c034 100644 --- a/src/lib/simulator/simulations/dns-resolution.ts +++ b/src/lib/simulator/simulations/dns-resolution.ts @@ -14,13 +14,43 @@ function dnsQueryLayers(srcIp: string, dstIp: string) { osiLayer: 7, color: '#2DD4BF', headerFields: [ - { name: 'ID', bits: 16, value: '0xA1B2', editable: false, description: 'Transaction ID โ€” matches queries to responses' }, + { + name: 'ID', + bits: 16, + value: '0xA1B2', + editable: false, + description: 'Transaction ID โ€” matches queries to responses' + }, { name: 'QR', bits: 1, value: 0, editable: false, description: '0 = Query, 1 = Response' }, { name: 'Opcode', bits: 4, value: 0, editable: false, description: '0 = Standard query' }, - { name: 'RD', bits: 1, value: 1, editable: false, description: 'Recursion Desired โ€” ask the resolver to recurse on our behalf' }, - { name: 'QDCount', bits: 16, value: 1, editable: false, description: 'Number of questions โ€” we are asking about one domain' }, - { name: 'QNAME', bits: 0, value: 'example.com', editable: false, description: 'The domain name we want to resolve' }, - { name: 'QTYPE', bits: 16, value: 'A', editable: false, description: 'Query type A โ€” requesting an IPv4 address' } + { + name: 'RD', + bits: 1, + value: 1, + editable: false, + description: 'Recursion Desired โ€” ask the resolver to recurse on our behalf' + }, + { + name: 'QDCount', + bits: 16, + value: 1, + editable: false, + description: 'Number of questions โ€” we are asking about one domain' + }, + { + name: 'QNAME', + bits: 0, + value: 'example.com', + editable: false, + description: 'The domain name we want to resolve' + }, + { + name: 'QTYPE', + bits: 16, + value: 'A', + editable: false, + description: 'Query type A โ€” requesting an IPv4 address' + } ] } ]; @@ -37,14 +67,57 @@ function dnsResponseLayers(srcIp: string, dstIp: string, answer: string) { osiLayer: 7, color: '#2DD4BF', headerFields: [ - { name: 'ID', bits: 16, value: '0xA1B2', editable: false, description: 'Same transaction ID โ€” matches our query' }, + { + name: 'ID', + bits: 16, + value: '0xA1B2', + editable: false, + description: 'Same transaction ID โ€” matches our query' + }, { name: 'QR', bits: 1, value: 1, editable: false, description: '1 = Response' }, - { name: 'AA', bits: 1, value: 1, editable: false, description: 'Authoritative Answer โ€” this server owns the domain' }, - { name: 'ANCount', bits: 16, value: 1, editable: false, description: 'Number of answer records' }, - { name: 'NAME', bits: 0, value: 'example.com', editable: false, description: 'The domain name we asked about' }, - { name: 'TYPE', bits: 16, value: 'A', editable: false, description: 'Answer type โ€” A record (IPv4 address)' }, - { name: 'TTL', bits: 32, value: 3600, editable: false, description: 'Time to live โ€” cache this answer for 3600 seconds (1 hour)' }, - { name: 'RDATA', bits: 32, value: answer, editable: false, description: 'The resolved IPv4 address', color: '#2DD4BF' } + { + name: 'AA', + bits: 1, + value: 1, + editable: false, + description: 'Authoritative Answer โ€” this server owns the domain' + }, + { + name: 'ANCount', + bits: 16, + value: 1, + editable: false, + description: 'Number of answer records' + }, + { + name: 'NAME', + bits: 0, + value: 'example.com', + editable: false, + description: 'The domain name we asked about' + }, + { + name: 'TYPE', + bits: 16, + value: 'A', + editable: false, + description: 'Answer type โ€” A record (IPv4 address)' + }, + { + name: 'TTL', + bits: 32, + value: 3600, + editable: false, + description: 'Time to live โ€” cache this answer for 3600 seconds (1 hour)' + }, + { + name: 'RDATA', + bits: 32, + value: answer, + editable: false, + description: 'The resolved IPv4 address', + color: '#2DD4BF' + } ] } ]; @@ -97,7 +170,7 @@ export const dnsResolution: SimulationConfig = { id: 'root-referral', label: 'Root Referral', description: - 'The root nameserver doesn\'t know example.com, but it knows who handles all .com domains. It responds with a referral to the .com TLD nameserver.', + "The root nameserver doesn't know example.com, but it knows who handles all .com domains. It responds with a referral to the .com TLD nameserver.", fromActor: 'nameserver', toActor: 'resolver', duration: 1000, diff --git a/src/lib/simulator/simulations/ethernet-frame.ts b/src/lib/simulator/simulations/ethernet-frame.ts index 5210862..55223f4 100644 --- a/src/lib/simulator/simulations/ethernet-frame.ts +++ b/src/lib/simulator/simulations/ethernet-frame.ts @@ -67,7 +67,7 @@ export const ethernetFrame: SimulationConfig = { id: 'arp-reply', label: 'ARP Reply (unicast)', description: - 'Host B recognizes its own IP (192.168.1.50) in the ARP Request and sends a unicast ARP Reply directly to Host A\'s MAC. The reply contains Host B\'s MAC address AA:BB:CC:DD:EE:FF, which is the information Host A was looking for. This is unicast โ€” only the requesting host receives it.', + "Host B recognizes its own IP (192.168.1.50) in the ARP Request and sends a unicast ARP Reply directly to Host A's MAC. The reply contains Host B's MAC address AA:BB:CC:DD:EE:FF, which is the information Host A was looking for. This is unicast โ€” only the requesting host receives it.", fromActor: 'host-b', toActor: 'host-a', duration: 800, @@ -91,7 +91,7 @@ export const ethernetFrame: SimulationConfig = { id: 'data-frame', label: 'Data Frame (Host A โ†’ Switch)', description: - 'Now that Host A knows Host B\'s MAC, it constructs a proper Ethernet frame with the correct destination MAC AA:BB:CC:DD:EE:FF. The EtherType reverts to 0x0800 (IPv4) since this is a regular data packet. The IP payload is encapsulated inside the Ethernet frame โ€” this is Layer 2 encapsulation of a Layer 3 packet.', + "Now that Host A knows Host B's MAC, it constructs a proper Ethernet frame with the correct destination MAC AA:BB:CC:DD:EE:FF. The EtherType reverts to 0x0800 (IPv4) since this is a regular data packet. The IP payload is encapsulated inside the Ethernet frame โ€” this is Layer 2 encapsulation of a Layer 3 packet.", fromActor: 'host-a', toActor: 'switch', duration: 600, @@ -111,7 +111,7 @@ export const ethernetFrame: SimulationConfig = { id: 'switch-forward', label: 'Switch Forwards to Host B', description: - 'The switch looks up destination MAC AA:BB:CC:DD:EE:FF in its forwarding table and finds a match โ€” it learned this MAC when Host B sent the ARP Reply. Instead of flooding, the switch forwards the frame only to Host B\'s port. This is the efficiency of a switch over a hub: unicast traffic stays on the relevant port.', + "The switch looks up destination MAC AA:BB:CC:DD:EE:FF in its forwarding table and finds a match โ€” it learned this MAC when Host B sent the ARP Reply. Instead of flooding, the switch forwards the frame only to Host B's port. This is the efficiency of a switch over a hub: unicast traffic stays on the relevant port.", fromActor: 'switch', toActor: 'host-b', duration: 600, @@ -131,7 +131,7 @@ export const ethernetFrame: SimulationConfig = { id: 'response-frame', label: 'Response Frame (Host B โ†’ Switch)', description: - 'Host B processes the received data and sends a response back. The Ethernet frame has swapped source and destination MACs โ€” Host B\'s MAC is now the source, Host A\'s MAC is the destination. The switch already has both MACs in its forwarding table, so this frame will be switched efficiently.', + "Host B processes the received data and sends a response back. The Ethernet frame has swapped source and destination MACs โ€” Host B's MAC is now the source, Host A's MAC is the destination. The switch already has both MACs in its forwarding table, so this frame will be switched efficiently.", fromActor: 'host-b', toActor: 'switch', duration: 600, @@ -151,7 +151,7 @@ export const ethernetFrame: SimulationConfig = { id: 'response-forward', label: 'Switch Forwards to Host A', description: - 'The switch forwards the response directly to Host A\'s port using its learned MAC table entry. Both directions are now fully learned โ€” no more flooding is needed for traffic between these two hosts. The forwarding table entries will age out after a timeout (typically 300 seconds) if no traffic is seen.', + "The switch forwards the response directly to Host A's port using its learned MAC table entry. Both directions are now fully learned โ€” no more flooding is needed for traffic between these two hosts. The forwarding table entries will age out after a timeout (typically 300 seconds) if no traffic is seen.", fromActor: 'switch', toActor: 'host-a', duration: 600, diff --git a/src/lib/simulator/simulations/ftp-transfer.ts b/src/lib/simulator/simulations/ftp-transfer.ts index 503cb5c..ba05381 100644 --- a/src/lib/simulator/simulations/ftp-transfer.ts +++ b/src/lib/simulator/simulations/ftp-transfer.ts @@ -94,7 +94,7 @@ export const ftpTransfer: SimulationConfig = { id: 'pass', label: 'PASS', description: - 'The client sends the password. On success, the server responds with 230 (User logged in). FTP\'s plain-text credentials are a well-known security weakness, which is why modern file transfer uses SFTP or FTPS with TLS encryption.', + "The client sends the password. On success, the server responds with 230 (User logged in). FTP's plain-text credentials are a well-known security weakness, which is why modern file transfer uses SFTP or FTPS with TLS encryption.", fromActor: 'client', toActor: 'server', duration: 800, diff --git a/src/lib/simulator/simulations/graphql-operation.ts b/src/lib/simulator/simulations/graphql-operation.ts index 0b7e299..a8081c6 100644 --- a/src/lib/simulator/simulations/graphql-operation.ts +++ b/src/lib/simulator/simulations/graphql-operation.ts @@ -11,25 +11,93 @@ function gqlRequestLayer(): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'POST', editable: false, description: 'GraphQL always uses POST โ€” the query is in the request body, not the URL' }, - { name: 'Path', bits: 0, value: '/graphql', editable: false, description: 'Single endpoint โ€” unlike REST, all operations go to the same URL' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'GraphQL request bodies are JSON-encoded' } + { + name: 'Method', + bits: 0, + value: 'POST', + editable: false, + description: 'GraphQL always uses POST โ€” the query is in the request body, not the URL' + }, + { + name: 'Path', + bits: 0, + value: '/graphql', + editable: false, + description: 'Single endpoint โ€” unlike REST, all operations go to the same URL' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'GraphQL request bodies are JSON-encoded' + } ] }; } -function gqlLayer(operation: string, name: string, variables: string, selectionSet: string, responseData: string): ProtocolLayer { +function gqlLayer( + operation: string, + name: string, + variables: string, + selectionSet: string, + responseData: string +): ProtocolLayer { return { name: 'GraphQL Operation', abbreviation: 'GQL', osiLayer: 7, color: '#E535AB', headerFields: [ - { name: 'Operation', bits: 0, value: operation, editable: false, description: 'GraphQL operation type โ€” query (read), mutation (write), or subscription (stream)' }, - { name: 'Name', bits: 0, value: name, editable: false, description: 'Operation name โ€” used for debugging and server-side logging' }, - ...(variables ? [{ name: 'Variables', bits: 0, value: variables, editable: false, description: 'Variables passed to the operation โ€” typed inputs that parameterize the query' }] : []), - ...(selectionSet ? [{ name: 'Selection Set', bits: 0, value: selectionSet, editable: false, description: 'The fields requested โ€” determines the exact shape of the response' }] : []), - ...(responseData ? [{ name: 'Response Data', bits: 0, value: responseData, editable: false, description: 'JSON response body โ€” mirrors the selection set structure exactly' }] : []) + { + name: 'Operation', + bits: 0, + value: operation, + editable: false, + description: + 'GraphQL operation type โ€” query (read), mutation (write), or subscription (stream)' + }, + { + name: 'Name', + bits: 0, + value: name, + editable: false, + description: 'Operation name โ€” used for debugging and server-side logging' + }, + ...(variables + ? [ + { + name: 'Variables', + bits: 0, + value: variables, + editable: false, + description: + 'Variables passed to the operation โ€” typed inputs that parameterize the query' + } + ] + : []), + ...(selectionSet + ? [ + { + name: 'Selection Set', + bits: 0, + value: selectionSet, + editable: false, + description: 'The fields requested โ€” determines the exact shape of the response' + } + ] + : []), + ...(responseData + ? [ + { + name: 'Response Data', + bits: 0, + value: responseData, + editable: false, + description: 'JSON response body โ€” mirrors the selection set structure exactly' + } + ] + : []) ] }; } @@ -41,8 +109,22 @@ function gqlResponseLayer(status: string): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Status', bits: 0, value: status, editable: false, description: 'GraphQL always returns 200 โ€” errors are in the response body, not HTTP status codes', color: '#22c55e' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'Response body is JSON with data and/or errors fields' } + { + name: 'Status', + bits: 0, + value: status, + editable: false, + description: + 'GraphQL always returns 200 โ€” errors are in the response body, not HTTP status codes', + color: '#22c55e' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'Response body is JSON with data and/or errors fields' + } ] }; } @@ -80,9 +162,18 @@ export const graphqlOperation: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52400, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), gqlRequestLayer(), - gqlLayer('query', 'GetUser', '{ "id": "42" }', '{ user(id: $id) { name email posts { title } } }', '') + gqlLayer( + 'query', + 'GetUser', + '{ "id": "42" }', + '{ user(id: $id) { name email posts { title } } }', + '' + ) ] }, { @@ -98,9 +189,18 @@ export const graphqlOperation: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52400, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), gqlResponseLayer('200 OK'), - gqlLayer('query', 'GetUser', '', '', '{ user: { name: "Alice", email: "alice@...", posts: [{ title: "Getting Started" }] } }') + gqlLayer( + 'query', + 'GetUser', + '', + '', + '{ user: { name: "Alice", email: "alice@...", posts: [{ title: "Getting Started" }] } }' + ) ] }, { @@ -116,9 +216,18 @@ export const graphqlOperation: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52400, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), gqlRequestLayer(), - gqlLayer('mutation', 'CreatePost', '{ "title": "New Post", "authorId": "42" }', '{ createPost(input: $input) { id title author { name } } }', '') + gqlLayer( + 'mutation', + 'CreatePost', + '{ "title": "New Post", "authorId": "42" }', + '{ createPost(input: $input) { id title author { name } } }', + '' + ) ] }, { @@ -134,9 +243,18 @@ export const graphqlOperation: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52400, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), gqlResponseLayer('200 OK'), - gqlLayer('mutation', 'CreatePost', '', '', '{ createPost: { id: "99", title: "New Post", author: { name: "Alice" } } }') + gqlLayer( + 'mutation', + 'CreatePost', + '', + '', + '{ createPost: { id: "99", title: "New Post", author: { name: "Alice" } } }' + ) ] } ] diff --git a/src/lib/simulator/simulations/hls-streaming.ts b/src/lib/simulator/simulations/hls-streaming.ts index b73b511..693d58a 100644 --- a/src/lib/simulator/simulations/hls-streaming.ts +++ b/src/lib/simulator/simulations/hls-streaming.ts @@ -11,9 +11,27 @@ function hlsRequestLayer(path: string, accept: string): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'HLS uses standard HTTP GET โ€” works through any CDN and proxy' }, - { name: 'Path', bits: 0, value: path, editable: false, description: 'Resource path โ€” playlist manifest or media segment' }, - { name: 'Accept', bits: 0, value: accept, editable: false, description: 'Expected content type for the response' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: 'HLS uses standard HTTP GET โ€” works through any CDN and proxy' + }, + { + name: 'Path', + bits: 0, + value: path, + editable: false, + description: 'Resource path โ€” playlist manifest or media segment' + }, + { + name: 'Accept', + bits: 0, + value: accept, + editable: false, + description: 'Expected content type for the response' + } ] }; } @@ -25,8 +43,21 @@ function hlsResponseLayer(contentType: string, body: string): ProtocolLayer { osiLayer: 7, color: '#3B82F6', headerFields: [ - { name: 'Content-Type', bits: 0, value: contentType, editable: false, description: 'MIME type โ€” application/vnd.apple.mpegurl for playlists, video/MP2T for segments' }, - { name: 'Content', bits: 0, value: body, editable: false, description: 'Playlist directives or media segment data' } + { + name: 'Content-Type', + bits: 0, + value: contentType, + editable: false, + description: + 'MIME type โ€” application/vnd.apple.mpegurl for playlists, video/MP2T for segments' + }, + { + name: 'Content', + bits: 0, + value: body, + editable: false, + description: 'Playlist directives or media segment data' + } ] }; } @@ -55,7 +86,10 @@ export const hlsStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53100, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), hlsRequestLayer('/live/stream.m3u8', 'application/vnd.apple.mpegurl') ] }, @@ -72,8 +106,14 @@ export const hlsStreaming: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 53100, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), - hlsResponseLayer('application/vnd.apple.mpegurl', '#EXTM3U, #EXT-X-TARGETDURATION:6, #EXTINF:6.0, seg001.ts, seg002.ts, seg003.ts') + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), + hlsResponseLayer( + 'application/vnd.apple.mpegurl', + '#EXTM3U, #EXT-X-TARGETDURATION:6, #EXTINF:6.0, seg001.ts, seg002.ts, seg003.ts' + ) ] }, { @@ -89,7 +129,10 @@ export const hlsStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53100, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), hlsRequestLayer('/live/720p/seg001.ts', 'video/MP2T'), hlsResponseLayer('video/MP2T', 'MPEG-TS segment โ€” 6.0s, 720p, H.264+AAC, 1.2 MB') ] @@ -107,7 +150,10 @@ export const hlsStreaming: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 53100, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), hlsRequestLayer('/live/720p/seg002.ts', 'video/MP2T'), hlsResponseLayer('video/MP2T', 'MPEG-TS segment โ€” 6.0s, 720p, H.264+AAC, 1.1 MB') ] diff --git a/src/lib/simulator/simulations/http-request.ts b/src/lib/simulator/simulations/http-request.ts index f17861b..4c4ff43 100644 --- a/src/lib/simulator/simulations/http-request.ts +++ b/src/lib/simulator/simulations/http-request.ts @@ -48,8 +48,7 @@ export const httpRequest: SimulationConfig = { { id: 'tcp-synack', label: 'TCP SYN-ACK', - description: - 'Server responds with SYN-ACK, agreeing to establish the connection.', + description: 'Server responds with SYN-ACK, agreeing to establish the connection.', fromActor: 'server', toActor: 'browser', duration: 800, @@ -95,12 +94,48 @@ export const httpRequest: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'HTTP method โ€” what action to perform' }, - { name: 'Path', bits: 0, value: '/index.html', editable: false, description: 'Resource path on the server' }, - { name: 'Version', bits: 0, value: 'HTTP/1.1', editable: false, description: 'Protocol version' }, - { name: 'Host', bits: 0, value: 'example.com', editable: false, description: 'Host header โ€” which server to contact' }, - { name: 'Accept', bits: 0, value: 'text/html', editable: false, description: 'What content types the browser accepts' }, - { name: 'Connection', bits: 0, value: 'keep-alive', editable: false, description: 'Keep the TCP connection open for more requests' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: 'HTTP method โ€” what action to perform' + }, + { + name: 'Path', + bits: 0, + value: '/index.html', + editable: false, + description: 'Resource path on the server' + }, + { + name: 'Version', + bits: 0, + value: 'HTTP/1.1', + editable: false, + description: 'Protocol version' + }, + { + name: 'Host', + bits: 0, + value: 'example.com', + editable: false, + description: 'Host header โ€” which server to contact' + }, + { + name: 'Accept', + bits: 0, + value: 'text/html', + editable: false, + description: 'What content types the browser accepts' + }, + { + name: 'Connection', + bits: 0, + value: 'keep-alive', + editable: false, + description: 'Keep the TCP connection open for more requests' + } ] } ] @@ -116,7 +151,12 @@ export const httpRequest: SimulationConfig = { highlight: ['Status', 'Content-Type'], layers: [ createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), - createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6, totalLength: 1420 }), + createIPv4Layer({ + srcIp: '93.184.216.34', + dstIp: '192.168.1.100', + protocol: 6, + totalLength: 1420 + }), createTCPLayer({ srcPort: 80, dstPort: 52000, seq: 301, ack: 321, flags: 'PSH,ACK' }), { name: 'HTTP Response', @@ -124,11 +164,42 @@ export const httpRequest: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: 'HTTP/1.1', editable: false, description: 'Protocol version' }, - { name: 'Status', bits: 0, value: '200 OK', editable: false, description: 'Success โ€” the resource was found and returned', color: '#22c55e' }, - { name: 'Content-Type', bits: 0, value: 'text/html', editable: false, description: 'MIME type of the response body' }, - { name: 'Content-Length', bits: 0, value: '1256', editable: false, description: 'Size of the response body in bytes' }, - { name: 'Body', bits: 0, value: '<html>...</html>', editable: false, description: 'The HTML content of the page' } + { + name: 'Version', + bits: 0, + value: 'HTTP/1.1', + editable: false, + description: 'Protocol version' + }, + { + name: 'Status', + bits: 0, + value: '200 OK', + editable: false, + description: 'Success โ€” the resource was found and returned', + color: '#22c55e' + }, + { + name: 'Content-Type', + bits: 0, + value: 'text/html', + editable: false, + description: 'MIME type of the response body' + }, + { + name: 'Content-Length', + bits: 0, + value: '1256', + editable: false, + description: 'Size of the response body in bytes' + }, + { + name: 'Body', + bits: 0, + value: '<html>...</html>', + editable: false, + description: 'The HTML content of the page' + } ] } ] diff --git a/src/lib/simulator/simulations/imap-session.ts b/src/lib/simulator/simulations/imap-session.ts index 279029a..2e74557 100644 --- a/src/lib/simulator/simulations/imap-session.ts +++ b/src/lib/simulator/simulations/imap-session.ts @@ -116,7 +116,7 @@ export const imapSession: SimulationConfig = { id: 'select-response', label: 'A002 OK', description: - 'The server returns the complete mailbox state: 47 messages exist, 2 are recent (new since last check), and the available flags for messages. The UIDVALIDITY value ensures the client\'s cached UIDs are still valid โ€” if it changes, the client must re-sync everything.', + "The server returns the complete mailbox state: 47 messages exist, 2 are recent (new since last check), and the available flags for messages. The UIDVALIDITY value ensures the client's cached UIDs are still valid โ€” if it changes, the client must re-sync everything.", fromActor: 'server', toActor: 'client', duration: 1000, @@ -138,7 +138,7 @@ export const imapSession: SimulationConfig = { id: 'fetch', label: 'A003 FETCH', description: - 'The client requests the newest message\'s envelope (sender, subject, date) and body text. IMAP can fetch specific parts of messages โ€” just headers, just the text body, or individual MIME attachments โ€” without downloading the entire message. This is one of IMAP\'s key advantages over POP3.', + "The client requests the newest message's envelope (sender, subject, date) and body text. IMAP can fetch specific parts of messages โ€” just headers, just the text body, or individual MIME attachments โ€” without downloading the entire message. This is one of IMAP's key advantages over POP3.", fromActor: 'client', toActor: 'server', duration: 800, diff --git a/src/lib/simulator/simulations/ip-routing.ts b/src/lib/simulator/simulations/ip-routing.ts index 89a437d..fee3c1c 100644 --- a/src/lib/simulator/simulations/ip-routing.ts +++ b/src/lib/simulator/simulations/ip-routing.ts @@ -18,7 +18,7 @@ export const ipRouting: SimulationConfig = { id: 'construct', label: 'Construct IP Packet', description: - 'The source host constructs an IP packet with TTL=64 (the standard initial value on Linux). The destination IP 93.184.216.34 is not on the local 192.168.1.0/24 subnet, so the host knows it must send the packet to its default gateway. The Ethernet destination MAC is set to the router\'s MAC โ€” not the final destination\'s MAC.', + "The source host constructs an IP packet with TTL=64 (the standard initial value on Linux). The destination IP 93.184.216.34 is not on the local 192.168.1.0/24 subnet, so the host knows it must send the packet to its default gateway. The Ethernet destination MAC is set to the router's MAC โ€” not the final destination's MAC.", fromActor: 'source', toActor: 'source', duration: 800, @@ -40,7 +40,7 @@ export const ipRouting: SimulationConfig = { id: 'send-to-gateway', label: 'Send to Default Gateway', description: - 'The packet is placed on the wire toward the default gateway (the router). The Ethernet frame is addressed to the router\'s MAC CC:DD:EE:FF:00:11, but the IP destination remains 93.184.216.34. This is the key insight: Layer 2 addressing is hop-by-hop, while Layer 3 addressing is end-to-end.', + "The packet is placed on the wire toward the default gateway (the router). The Ethernet frame is addressed to the router's MAC CC:DD:EE:FF:00:11, but the IP destination remains 93.184.216.34. This is the key insight: Layer 2 addressing is hop-by-hop, while Layer 3 addressing is end-to-end.", fromActor: 'source', toActor: 'router', duration: 600, @@ -84,7 +84,7 @@ export const ipRouting: SimulationConfig = { id: 'router-forwards', label: 'Router Forwards (new MACs)', description: - 'The router re-encapsulates the IP packet in a brand-new Ethernet frame for the next link. Notice: the source and destination IPs are completely unchanged, but the Ethernet MACs are entirely different โ€” the router\'s outbound interface MAC is now the source, and the next hop\'s MAC is the destination. This MAC rewriting happens at every hop.', + "The router re-encapsulates the IP packet in a brand-new Ethernet frame for the next link. Notice: the source and destination IPs are completely unchanged, but the Ethernet MACs are entirely different โ€” the router's outbound interface MAC is now the source, and the next hop's MAC is the destination. This MAC rewriting happens at every hop.", fromActor: 'router', toActor: 'dest', duration: 600, @@ -150,7 +150,7 @@ export const ipRouting: SimulationConfig = { id: 'return-route', label: 'Return Route (TTL 63)', description: - 'The router decrements TTL from 64 to 63 and re-encapsulates with new Ethernet MACs for the source\'s local network. The source\'s MAC is now the Ethernet destination, and the router\'s LAN-side MAC is the source. The IP addresses remain 93.184.216.34 โ†’ 192.168.1.100, unchanged across the entire return path.', + "The router decrements TTL from 64 to 63 and re-encapsulates with new Ethernet MACs for the source's local network. The source's MAC is now the Ethernet destination, and the router's LAN-side MAC is the source. The IP addresses remain 93.184.216.34 โ†’ 192.168.1.100, unchanged across the entire return path.", fromActor: 'router', toActor: 'source', duration: 600, diff --git a/src/lib/simulator/simulations/ipsec-tunnel.ts b/src/lib/simulator/simulations/ipsec-tunnel.ts index f3f0024..2a8250d 100644 --- a/src/lib/simulator/simulations/ipsec-tunnel.ts +++ b/src/lib/simulator/simulations/ipsec-tunnel.ts @@ -86,7 +86,7 @@ export const ipsecTunnel: SimulationConfig = { id: 'ike-intermediate', label: 'IKE_INTERMEDIATE', description: - "RFC 9242. PQ public keys are too large for a single UDP-fragmentable IKE_SA_INIT. IKE_INTERMEDIATE runs *inside* the IKE SA (encrypted), before identity is revealed, and can carry chained KEMs per RFC 9370 โ€” here adding FrodoKEM as a second-line PQ backup.", + 'RFC 9242. PQ public keys are too large for a single UDP-fragmentable IKE_SA_INIT. IKE_INTERMEDIATE runs *inside* the IKE SA (encrypted), before identity is revealed, and can carry chained KEMs per RFC 9370 โ€” here adding FrodoKEM as a second-line PQ backup.', fromActor: 'hq', toActor: 'branch', duration: 1300, @@ -107,7 +107,7 @@ export const ipsecTunnel: SimulationConfig = { id: 'ike-auth', label: 'IKE_AUTH (req)', description: - "HQ proves identity (`IDi`) with its certificate and signs the IKE_SA_INIT messages (`AUTH`). The first **Child SA** โ€” a one-direction ESP key โ€” is negotiated in the same exchange via `SAi2`, `TSi`, `TSr`. After this round trip, ESP traffic can flow.", + 'HQ proves identity (`IDi`) with its certificate and signs the IKE_SA_INIT messages (`AUTH`). The first **Child SA** โ€” a one-direction ESP key โ€” is negotiated in the same exchange via `SAi2`, `TSi`, `TSr`. After this round trip, ESP traffic can flow.', fromActor: 'hq', toActor: 'branch', duration: 1400, @@ -128,7 +128,7 @@ export const ipsecTunnel: SimulationConfig = { id: 'esp-traffic-1', label: 'ESP (HQ โ†’ Branch)', description: - "Child SA up. An inner [[ip|IP]] packet (10.0.0.5 โ†’ 10.1.0.42, payload `GET /index.html`) is encrypted with AES-GCM-256 and wrapped in ESP with SPI=0xC0FFEE01. Outer header is the public-internet IP pair. Receiver looks up SA by SPI, validates the 128-bit auth tag, decrypts, and forwards the inner packet.", + 'Child SA up. An inner [[ip|IP]] packet (10.0.0.5 โ†’ 10.1.0.42, payload `GET /index.html`) is encrypted with AES-GCM-256 and wrapped in ESP with SPI=0xC0FFEE01. Outer header is the public-internet IP pair. Receiver looks up SA by SPI, validates the 128-bit auth tag, decrypts, and forwards the inner packet.', fromActor: 'hq', toActor: 'branch', duration: 1400, diff --git a/src/lib/simulator/simulations/ipv6-ndp.ts b/src/lib/simulator/simulations/ipv6-ndp.ts index 81a222e..f63713c 100644 --- a/src/lib/simulator/simulations/ipv6-ndp.ts +++ b/src/lib/simulator/simulations/ipv6-ndp.ts @@ -6,7 +6,7 @@ export const ipv6Ndp: SimulationConfig = { protocolId: 'ipv6', title: 'IPv6 โ€” Neighbor Discovery and Routing', description: - 'Watch an IPv6 packet traverse a network using Neighbor Discovery Protocol (NDP) instead of ARP. Unlike IPv4\'s broadcast-based ARP, NDP uses efficient solicited-node multicast to resolve addresses. Observe how the fixed 40-byte header simplifies router processing, and how Hop Limit (IPv6\'s TTL) decrements at each hop.', + "Watch an IPv6 packet traverse a network using Neighbor Discovery Protocol (NDP) instead of ARP. Unlike IPv4's broadcast-based ARP, NDP uses efficient solicited-node multicast to resolve addresses. Observe how the fixed 40-byte header simplifies router processing, and how Hop Limit (IPv6's TTL) decrements at each hop.", tier: 'client', actors: [ { id: 'source', label: 'Source Host', icon: 'client', position: 'left' }, @@ -41,7 +41,7 @@ export const ipv6Ndp: SimulationConfig = { id: 'ndp-solicitation', label: 'Neighbor Solicitation (NDP)', description: - 'Before sending data, the source must resolve the router\'s IPv6 address to a MAC address. Instead of IPv4\'s ARP broadcast to FF:FF:FF:FF:FF:FF, IPv6 uses NDP Neighbor Solicitation (ICMPv6 Type 135) sent to the solicited-node multicast address ff02::1:ff00:1 โ€” only the target and a handful of other nodes process this packet, not the entire network. This is dramatically more efficient than ARP broadcasts.', + "Before sending data, the source must resolve the router's IPv6 address to a MAC address. Instead of IPv4's ARP broadcast to FF:FF:FF:FF:FF:FF, IPv6 uses NDP Neighbor Solicitation (ICMPv6 Type 135) sent to the solicited-node multicast address ff02::1:ff00:1 โ€” only the target and a handful of other nodes process this packet, not the entire network. This is dramatically more efficient than ARP broadcasts.", fromActor: 'source', toActor: 'router', duration: 600, @@ -64,7 +64,7 @@ export const ipv6Ndp: SimulationConfig = { id: 'ndp-advertisement', label: 'Neighbor Advertisement (reply)', description: - 'The router responds with a Neighbor Advertisement (ICMPv6 Type 136) containing its link-layer MAC address. The source now caches this mapping in its Neighbor Cache (IPv6\'s equivalent of the ARP cache). The Solicited flag is set, indicating this is a direct response. Unlike ARP\'s simple request/reply, NDP also supports Duplicate Address Detection (DAD) and Router Redirect.', + "The router responds with a Neighbor Advertisement (ICMPv6 Type 136) containing its link-layer MAC address. The source now caches this mapping in its Neighbor Cache (IPv6's equivalent of the ARP cache). The Solicited flag is set, indicating this is a direct response. Unlike ARP's simple request/reply, NDP also supports Duplicate Address Detection (DAD) and Router Redirect.", fromActor: 'router', toActor: 'source', duration: 600, @@ -110,7 +110,7 @@ export const ipv6Ndp: SimulationConfig = { id: 'router-process', label: 'Router Processes (Hop Limit 63)', description: - 'The router examines the IPv6 header. Unlike IPv4, there is no header checksum to recalculate โ€” this was removed by design since upper layers (TCP, UDP) already have checksums. The router decrements Hop Limit from 64 to 63 (equivalent to IPv4\'s TTL). If Hop Limit reached 0, the router would send an ICMPv6 Time Exceeded message. It consults the routing table for 2001:db8:2::/64 and determines the outbound interface.', + "The router examines the IPv6 header. Unlike IPv4, there is no header checksum to recalculate โ€” this was removed by design since upper layers (TCP, UDP) already have checksums. The router decrements Hop Limit from 64 to 63 (equivalent to IPv4's TTL). If Hop Limit reached 0, the router would send an ICMPv6 Time Exceeded message. It consults the routing table for 2001:db8:2::/64 and determines the outbound interface.", fromActor: 'router', toActor: 'router', duration: 800, @@ -133,7 +133,7 @@ export const ipv6Ndp: SimulationConfig = { id: 'router-forward', label: 'Forward with New MACs', description: - 'The router re-encapsulates the IPv6 packet in a new Ethernet frame for the destination\'s network segment. Just like IPv4 routing: the IPv6 addresses stay constant end-to-end, but the Ethernet MACs change at every hop. The router\'s outbound MAC becomes the new source, and the destination\'s MAC (resolved via NDP on that segment) becomes the new destination. No fragmentation by routers โ€” IPv6 requires the source to use Path MTU Discovery.', + "The router re-encapsulates the IPv6 packet in a new Ethernet frame for the destination's network segment. Just like IPv4 routing: the IPv6 addresses stay constant end-to-end, but the Ethernet MACs change at every hop. The router's outbound MAC becomes the new source, and the destination's MAC (resolved via NDP on that segment) becomes the new destination. No fragmentation by routers โ€” IPv6 requires the source to use Path MTU Discovery.", fromActor: 'router', toActor: 'dest', duration: 600, diff --git a/src/lib/simulator/simulations/json-rpc-call.ts b/src/lib/simulator/simulations/json-rpc-call.ts index d6dddb2..29e9bea 100644 --- a/src/lib/simulator/simulations/json-rpc-call.ts +++ b/src/lib/simulator/simulations/json-rpc-call.ts @@ -10,10 +10,34 @@ function jsonRpcRequestLayer(method: string, params: string, id: string | number osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version โ€” always "2.0"' }, - { name: 'Method', bits: 0, value: method, editable: false, description: 'Name of the method to invoke on the server' }, - { name: 'Params', bits: 0, value: params, editable: false, description: 'Method arguments โ€” can be by-position (array) or by-name (object)' }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Request identifier โ€” server echoes this back to correlate the response' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version โ€” always "2.0"' + }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'Name of the method to invoke on the server' + }, + { + name: 'Params', + bits: 0, + value: params, + editable: false, + description: 'Method arguments โ€” can be by-position (array) or by-name (object)' + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Request identifier โ€” server echoes this back to correlate the response' + } ] }; } @@ -25,9 +49,28 @@ function jsonRpcResponseLayer(result: string, id: string | number, color: string osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Result', bits: 0, value: result, editable: false, description: 'Method return value โ€” present on success, absent on error', color }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Matches the request ID โ€” confirms which call this responds to' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Result', + bits: 0, + value: result, + editable: false, + description: 'Method return value โ€” present on success, absent on error', + color + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Matches the request ID โ€” confirms which call this responds to' + } ] }; } @@ -39,10 +82,36 @@ function jsonRpcErrorLayer(code: number, message: string, id: string | number) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Error Code', bits: 0, value: String(code), editable: false, description: 'Standard error code โ€” negative numbers are reserved by the spec', color: '#ef4444' }, - { name: 'Error Message', bits: 0, value: message, editable: false, description: 'Human-readable error description', color: '#ef4444' }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Matches the request ID โ€” even errors are correlated' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Error Code', + bits: 0, + value: String(code), + editable: false, + description: 'Standard error code โ€” negative numbers are reserved by the spec', + color: '#ef4444' + }, + { + name: 'Error Message', + bits: 0, + value: message, + editable: false, + description: 'Human-readable error description', + color: '#ef4444' + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Matches the request ID โ€” even errors are correlated' + } ] }; } @@ -54,10 +123,36 @@ function jsonRpcNotificationLayer(method: string, params: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Method', bits: 0, value: method, editable: false, description: 'Notification method name โ€” server will not reply' }, - { name: 'Params', bits: 0, value: params, editable: false, description: 'Notification parameters' }, - { name: 'ID', bits: 0, value: '(absent)', editable: false, description: 'No ID field โ€” this is a notification, not a request. The server MUST NOT reply.', color: '#a855f7' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'Notification method name โ€” server will not reply' + }, + { + name: 'Params', + bits: 0, + value: params, + editable: false, + description: 'Notification parameters' + }, + { + name: 'ID', + bits: 0, + value: '(absent)', + editable: false, + description: + 'No ID field โ€” this is a notification, not a request. The server MUST NOT reply.', + color: '#a855f7' + } ] }; } @@ -69,9 +164,28 @@ function httpRequestWrapper() { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Method', bits: 0, value: 'POST', editable: false, description: 'JSON-RPC always uses HTTP POST โ€” the method is inside the JSON, not in the URL' }, - { name: 'Path', bits: 0, value: '/rpc', editable: false, description: 'Single endpoint โ€” all methods go to the same URL' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'JSON-RPC payload is always JSON' } + { + name: 'Method', + bits: 0, + value: 'POST', + editable: false, + description: + 'JSON-RPC always uses HTTP POST โ€” the method is inside the JSON, not in the URL' + }, + { + name: 'Path', + bits: 0, + value: '/rpc', + editable: false, + description: 'Single endpoint โ€” all methods go to the same URL' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'JSON-RPC payload is always JSON' + } ] }; } @@ -183,7 +297,7 @@ export const jsonRpcCall: SimulationConfig = { id: 'batch-request', label: 'Batch Request', description: - 'Client sends an array of JSON-RPC calls in a single HTTP request. This is one of JSON-RPC\'s killer features โ€” multiple independent calls in one round trip. The array can mix requests and notifications.', + "Client sends an array of JSON-RPC calls in a single HTTP request. This is one of JSON-RPC's killer features โ€” multiple independent calls in one round trip. The array can mix requests and notifications.", fromActor: 'client', toActor: 'server', duration: 1000, @@ -199,9 +313,27 @@ export const jsonRpcCall: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Call 1', bits: 0, value: '{"method":"add","params":[1,2],"id":"a"}', editable: false, description: 'First call in the batch โ€” will get a response' }, - { name: 'Call 2', bits: 0, value: '{"method":"log","params":["hi"]}', editable: false, description: 'Notification in the batch โ€” no response expected' }, - { name: 'Call 3', bits: 0, value: '{"method":"multiply","params":[3,4],"id":"b"}', editable: false, description: 'Third call โ€” will get a response' } + { + name: 'Call 1', + bits: 0, + value: '{"method":"add","params":[1,2],"id":"a"}', + editable: false, + description: 'First call in the batch โ€” will get a response' + }, + { + name: 'Call 2', + bits: 0, + value: '{"method":"log","params":["hi"]}', + editable: false, + description: 'Notification in the batch โ€” no response expected' + }, + { + name: 'Call 3', + bits: 0, + value: '{"method":"multiply","params":[3,4],"id":"b"}', + editable: false, + description: 'Third call โ€” will get a response' + } ] } ] @@ -225,9 +357,30 @@ export const jsonRpcCall: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Result 1', bits: 0, value: '{"result":3,"id":"a"}', editable: false, description: 'Response for add(1,2) = 3', color: '#22c55e' }, - { name: 'Result 2', bits: 0, value: '{"result":12,"id":"b"}', editable: false, description: 'Response for multiply(3,4) = 12', color: '#22c55e' }, - { name: 'Note', bits: 0, value: 'No entry for notification', editable: false, description: 'The log notification had no id, so no response was generated', color: '#a855f7' } + { + name: 'Result 1', + bits: 0, + value: '{"result":3,"id":"a"}', + editable: false, + description: 'Response for add(1,2) = 3', + color: '#22c55e' + }, + { + name: 'Result 2', + bits: 0, + value: '{"result":12,"id":"b"}', + editable: false, + description: 'Response for multiply(3,4) = 12', + color: '#22c55e' + }, + { + name: 'Note', + bits: 0, + value: 'No entry for notification', + editable: false, + description: 'The log notification had no id, so no response was generated', + color: '#a855f7' + } ] } ] diff --git a/src/lib/simulator/simulations/kafka-events.ts b/src/lib/simulator/simulations/kafka-events.ts index 5cad17c..751c3d8 100644 --- a/src/lib/simulator/simulations/kafka-events.ts +++ b/src/lib/simulator/simulations/kafka-events.ts @@ -8,7 +8,7 @@ export const kafkaEvents: SimulationConfig = { protocolId: 'kafka', title: 'Kafka โ€” Event Streaming', description: - 'Follow a producer connecting to a Kafka broker, discovering topic metadata, and publishing an event. Kafka\'s binary wire protocol uses API keys and versioning for backward-compatible evolution.', + "Follow a producer connecting to a Kafka broker, discovering topic metadata, and publishing an event. Kafka's binary wire protocol uses API keys and versioning for backward-compatible evolution.", tier: 'client', actors: [ { id: 'producer', label: 'Producer', icon: 'client', position: 'left' }, @@ -124,7 +124,7 @@ export const kafkaEvents: SimulationConfig = { id: 'produce-ack', label: 'Produce ACK', description: - 'The broker acknowledges the produce request after all in-sync replicas have written the records. The response includes the base offset โ€” the position in the partition\'s append-only log where the records were written. Consumers use offsets to track their read position.', + "The broker acknowledges the produce request after all in-sync replicas have written the records. The response includes the base offset โ€” the position in the partition's append-only log where the records were written. Consumers use offsets to track their read position.", fromActor: 'broker', toActor: 'producer', duration: 800, diff --git a/src/lib/simulator/simulations/kerberos-auth.ts b/src/lib/simulator/simulations/kerberos-auth.ts index 408713d..87a4d97 100644 --- a/src/lib/simulator/simulations/kerberos-auth.ts +++ b/src/lib/simulator/simulations/kerberos-auth.ts @@ -8,7 +8,7 @@ export const kerberosAuth: SimulationConfig = { protocolId: 'kerberos', title: 'Kerberos Authentication โ€” TGT โ†’ Service Ticket โ†’ AP-REQ', description: - "Watch Alice log into a Kerberos realm, acquire a Ticket Granting Ticket, fetch a service ticket for a web server, and authenticate to that server โ€” all without sending her password on the wire. Same flow that runs in every Active Directory domain and every Hadoop cluster on Earth.", + 'Watch Alice log into a Kerberos realm, acquire a Ticket Granting Ticket, fetch a service ticket for a web server, and authenticate to that server โ€” all without sending her password on the wire. Same flow that runs in every Active Directory domain and every Hadoop cluster on Earth.', tier: 'client', actors: [ { id: 'client', label: 'Client (Alice)', icon: 'client', position: 'left' }, @@ -60,8 +60,7 @@ export const kerberosAuth: SimulationConfig = { appTag: '[APPLICATION 10] AS-REQ', msgType: 10, cname: 'alice@EXAMPLE.COM', - body: - 'kdc-options: forwardable, renewable; sname: krbtgt/EXAMPLE.COM; padata: PA-ENC-TIMESTAMP (enc with K_alice); nonce: 0xA1B2C3D4; etype: { AES-256, AES-128 }' + body: 'kdc-options: forwardable, renewable; sname: krbtgt/EXAMPLE.COM; padata: PA-ENC-TIMESTAMP (enc with K_alice); nonce: 0xA1B2C3D4; etype: { AES-256, AES-128 }' }) ] }, @@ -69,7 +68,7 @@ export const kerberosAuth: SimulationConfig = { id: 'as-rep', label: 'AS-REP โ€” TGT delivered', description: - 'KDC looks up Alice\'s long-term key, generates a fresh session key, returns the AS-REP with **two encrypted blobs**: (a) the **TGT** encrypted under the krbtgt principal\'s key โ€” only the KDC can later decrypt it, (b) the session key encrypted under Alice\'s long-term key โ€” only Alice can decrypt it. Alice never sees her own password fly over the wire.', + "KDC looks up Alice's long-term key, generates a fresh session key, returns the AS-REP with **two encrypted blobs**: (a) the **TGT** encrypted under the krbtgt principal's key โ€” only the KDC can later decrypt it, (b) the session key encrypted under Alice's long-term key โ€” only Alice can decrypt it. Alice never sees her own password fly over the wire.", fromActor: 'kdc', toActor: 'client', duration: 1300, @@ -82,8 +81,7 @@ export const kerberosAuth: SimulationConfig = { appTag: '[APPLICATION 11] AS-REP', msgType: 11, cname: 'alice@EXAMPLE.COM', - body: - 'ticket: TGT enc[krbtgt key] { K_session, flags, times }; enc-part: enc[K_alice] { K_session, nonce echoed, sname=krbtgt }' + body: 'ticket: TGT enc[krbtgt key] { K_session, flags, times }; enc-part: enc[K_alice] { K_session, nonce echoed, sname=krbtgt }' }) ] }, @@ -91,7 +89,7 @@ export const kerberosAuth: SimulationConfig = { id: 'tgs-req', label: 'TGS-REQ โ€” request a service ticket', description: - 'Alice now wants to access HTTP/web1.example.com. She sends a TGS-REQ to the KDC\'s Ticket Granting Service, presenting her TGT (proves who she is) plus a fresh **authenticator** encrypted under the TGT\'s session key (proves she just got it). No password again.', + "Alice now wants to access HTTP/web1.example.com. She sends a TGS-REQ to the KDC's Ticket Granting Service, presenting her TGT (proves who she is) plus a fresh **authenticator** encrypted under the TGT's session key (proves she just got it). No password again.", fromActor: 'client', toActor: 'kdc', duration: 1300, @@ -104,8 +102,7 @@ export const kerberosAuth: SimulationConfig = { appTag: '[APPLICATION 12] TGS-REQ', msgType: 12, cname: 'alice@EXAMPLE.COM', - body: - 'sname: HTTP/web1.example.com; padata: PA-TGS-REQ (AP-REQ with TGT + authenticator); nonce: 0xE5F60718; etype: { AES-256 }' + body: 'sname: HTTP/web1.example.com; padata: PA-TGS-REQ (AP-REQ with TGT + authenticator); nonce: 0xE5F60718; etype: { AES-256 }' }) ] }, @@ -126,8 +123,7 @@ export const kerberosAuth: SimulationConfig = { appTag: '[APPLICATION 13] TGS-REP', msgType: 13, cname: 'alice@EXAMPLE.COM', - body: - 'ticket: ServiceTicket enc[web1 keytab] { K_svc, flags, times }; enc-part: enc[K_TGT_session] { K_svc, sname=HTTP/web1, times }' + body: 'ticket: ServiceTicket enc[web1 keytab] { K_svc, flags, times }; enc-part: enc[K_TGT_session] { K_svc, sname=HTTP/web1, times }' }) ] }, @@ -169,8 +165,7 @@ export const kerberosAuth: SimulationConfig = { appTag: '[APPLICATION 14] AP-REQ', msgType: 14, cname: 'alice@EXAMPLE.COM', - body: - 'ticket: ServiceTicket enc[web1 keytab] { K_svc }; authenticator: enc[K_svc] { ctime, cusec, seq-number, subkey? }' + body: 'ticket: ServiceTicket enc[web1 keytab] { K_svc }; authenticator: enc[K_svc] { ctime, cusec, seq-number, subkey? }' }) ] }, @@ -247,7 +242,8 @@ export const kerberosAuth: SimulationConfig = { bits: 0, value: 'enc[K_svc] { user payload, seq-number }', editable: false, - description: 'For protocols that want Kerberos confidentiality (rare โ€” most use TLS for that)' + description: + 'For protocols that want Kerberos confidentiality (rare โ€” most use TLS for that)' } ] } diff --git a/src/lib/simulator/simulations/mcp-session.ts b/src/lib/simulator/simulations/mcp-session.ts index c9fadf1..ef67ebc 100644 --- a/src/lib/simulator/simulations/mcp-session.ts +++ b/src/lib/simulator/simulations/mcp-session.ts @@ -10,10 +10,34 @@ function mcpRequestLayer(method: string, params: string, id: string | number) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version โ€” MCP uses JSON-RPC 2.0 as its wire format' }, - { name: 'Method', bits: 0, value: method, editable: false, description: 'MCP method to invoke on the server' }, - { name: 'Params', bits: 0, value: params, editable: false, description: 'Method parameters as a JSON object' }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Request identifier โ€” server echoes this back to correlate the response' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version โ€” MCP uses JSON-RPC 2.0 as its wire format' + }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'MCP method to invoke on the server' + }, + { + name: 'Params', + bits: 0, + value: params, + editable: false, + description: 'Method parameters as a JSON object' + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Request identifier โ€” server echoes this back to correlate the response' + } ] }; } @@ -25,9 +49,28 @@ function mcpResponseLayer(result: string, id: string | number, color: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Result', bits: 0, value: result, editable: false, description: 'Response payload โ€” contains the requested data or confirmation', color }, - { name: 'ID', bits: 0, value: String(id), editable: false, description: 'Matches the request ID โ€” confirms which call this responds to' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Result', + bits: 0, + value: result, + editable: false, + description: 'Response payload โ€” contains the requested data or confirmation', + color + }, + { + name: 'ID', + bits: 0, + value: String(id), + editable: false, + description: 'Matches the request ID โ€” confirms which call this responds to' + } ] }; } @@ -39,10 +82,36 @@ function mcpNotificationLayer(method: string, params: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: '"2.0"', editable: false, description: 'JSON-RPC protocol version' }, - { name: 'Method', bits: 0, value: method, editable: false, description: 'Notification method โ€” server acknowledges but MUST NOT reply' }, - { name: 'Params', bits: 0, value: params, editable: false, description: 'Notification parameters' }, - { name: 'ID', bits: 0, value: '(absent)', editable: false, description: 'No ID field โ€” this is a notification, not a request. The server MUST NOT reply.', color: '#a855f7' } + { + name: 'Version', + bits: 0, + value: '"2.0"', + editable: false, + description: 'JSON-RPC protocol version' + }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'Notification method โ€” server acknowledges but MUST NOT reply' + }, + { + name: 'Params', + bits: 0, + value: params, + editable: false, + description: 'Notification parameters' + }, + { + name: 'ID', + bits: 0, + value: '(absent)', + editable: false, + description: + 'No ID field โ€” this is a notification, not a request. The server MUST NOT reply.', + color: '#a855f7' + } ] }; } @@ -54,9 +123,21 @@ function httpTransportLayer(method: string, path: string) { osiLayer: 7, color: '#4B5563', headerFields: [ - { name: 'Method', bits: 0, value: method, editable: false, description: 'HTTP method โ€” MCP uses POST for JSON-RPC messages over Streamable HTTP' }, + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: 'HTTP method โ€” MCP uses POST for JSON-RPC messages over Streamable HTTP' + }, { name: 'Path', bits: 0, value: path, editable: false, description: 'MCP endpoint path' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'JSON-RPC payload is always JSON' } + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'JSON-RPC payload is always JSON' + } ] }; } @@ -95,7 +176,11 @@ export const mcpSession: SimulationConfig = { createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 54200, dstPort: 443, flags: 'PSH,ACK' }), httpTransportLayer('POST', '/mcp'), - mcpRequestLayer('initialize', '{"protocolVersion":"2025-03-26","capabilities":{"roots":{"listChanged":true}},"clientInfo":{"name":"MyAIApp","version":"1.0"}}', 1) + mcpRequestLayer( + 'initialize', + '{"protocolVersion":"2025-03-26","capabilities":{"roots":{"listChanged":true}},"clientInfo":{"name":"MyAIApp","version":"1.0"}}', + 1 + ) ] }, { @@ -111,7 +196,11 @@ export const mcpSession: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 54200, flags: 'PSH,ACK' }), - mcpResponseLayer('{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"WeatherServer","version":"2.0"}}', 1, '#22c55e') + mcpResponseLayer( + '{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"WeatherServer","version":"2.0"}}', + 1, + '#22c55e' + ) ] }, { @@ -161,7 +250,11 @@ export const mcpSession: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 54200, flags: 'PSH,ACK' }), - mcpResponseLayer('{"tools":[{"name":"weather","description":"Get current weather","inputSchema":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}}]}', 2, '#22c55e') + mcpResponseLayer( + '{"tools":[{"name":"weather","description":"Get current weather","inputSchema":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}}]}', + 2, + '#22c55e' + ) ] }, { @@ -194,7 +287,11 @@ export const mcpSession: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 54200, flags: 'PSH,ACK' }), - mcpResponseLayer('{"content":[{"type":"text","text":"San Francisco: 62\u00b0F, partly cloudy, wind 12mph W"}],"isError":false}', 3, '#22c55e') + mcpResponseLayer( + '{"content":[{"type":"text","text":"San Francisco: 62\u00b0F, partly cloudy, wind 12mph W"}],"isError":false}', + 3, + '#22c55e' + ) ] } ] diff --git a/src/lib/simulator/simulations/mdns-discovery.ts b/src/lib/simulator/simulations/mdns-discovery.ts index be42939..908c74e 100644 --- a/src/lib/simulator/simulations/mdns-discovery.ts +++ b/src/lib/simulator/simulations/mdns-discovery.ts @@ -8,7 +8,7 @@ export const mdnsDiscovery: SimulationConfig = { protocolId: 'mdns-dns-sd', title: 'mDNS / DNS-SD โ€” Probe, Announce, Discover, Goodbye', description: - "Watch a new printer claim `office-printer.local`, announce its IPP service, get discovered by a laptop browsing for `_ipp._tcp`, and send a clean goodbye on shutdown. The full Bonjour lifecycle on one link.", + 'Watch a new printer claim `office-printer.local`, announce its IPP service, get discovered by a laptop browsing for `_ipp._tcp`, and send a clean goodbye on shutdown. The full Bonjour lifecycle on one link.', tier: 'server', actors: [ { id: 'printer', label: 'Printer (responder)', icon: 'device', position: 'left' }, @@ -142,7 +142,7 @@ export const mdnsDiscovery: SimulationConfig = { id: 'sd-response', label: 'PTR Response (unicast)', description: - "Printer responds โ€” unicast this time (because the querier set the unicast-response bit). Just the PTR pointing to its service instance. The laptop will follow up with SRV+TXT+A queries to complete the resolution.", + 'Printer responds โ€” unicast this time (because the querier set the unicast-response bit). Just the PTR pointing to its service instance. The laptop will follow up with SRV+TXT+A queries to complete the resolution.', fromActor: 'printer', toActor: 'laptop', duration: 1200, diff --git a/src/lib/simulator/simulations/mptcp-multipath.ts b/src/lib/simulator/simulations/mptcp-multipath.ts index f0820e7..c8c5686 100644 --- a/src/lib/simulator/simulations/mptcp-multipath.ts +++ b/src/lib/simulator/simulations/mptcp-multipath.ts @@ -42,7 +42,7 @@ export const mptcpMultipath: SimulationConfig = { id: 'synack-capable', label: 'SYN-ACK + MP_CAPABLE', description: - 'The server responds with SYN-ACK and its own MP_CAPABLE option containing the server\'s key. Both keys are now exchanged โ€” the client and server can derive tokens from each other\'s keys to authenticate additional subflows later. The primary subflow is established.', + "The server responds with SYN-ACK and its own MP_CAPABLE option containing the server's key. Both keys are now exchanged โ€” the client and server can derive tokens from each other's keys to authenticate additional subflows later. The primary subflow is established.", fromActor: 'server', toActor: 'client', duration: 800, @@ -88,7 +88,7 @@ export const mptcpMultipath: SimulationConfig = { id: 'join', label: 'SYN + MP_JOIN', description: - 'The phone adds a second subflow over cellular. MP_JOIN uses a token derived from the server\'s key to identify which MPTCP connection to join. The server verifies the HMAC to ensure this is a legitimate subflow and not an attack. Data can now be split across both Wi-Fi and cellular paths.', + "The phone adds a second subflow over cellular. MP_JOIN uses a token derived from the server's key to identify which MPTCP connection to join. The server verifies the HMAC to ensure this is a legitimate subflow and not an attack. Data can now be split across both Wi-Fi and cellular paths.", fromActor: 'client', toActor: 'server', duration: 1000, diff --git a/src/lib/simulator/simulations/mqtt-pubsub.ts b/src/lib/simulator/simulations/mqtt-pubsub.ts index e23ad49..742b300 100644 --- a/src/lib/simulator/simulations/mqtt-pubsub.ts +++ b/src/lib/simulator/simulations/mqtt-pubsub.ts @@ -51,7 +51,7 @@ export const mqttPubSub: SimulationConfig = { id: 'connack', label: 'CONNACK', description: - 'The broker validates the client\'s credentials and session state, then responds with CONNACK. A return code of 0 means the connection is accepted. The broker can also signal whether a previous session exists for this client ID.', + "The broker validates the client's credentials and session state, then responds with CONNACK. A return code of 0 means the connection is accepted. The broker can also signal whether a previous session exists for this client ID.", fromActor: 'broker', toActor: 'device', duration: 800, diff --git a/src/lib/simulator/simulations/nat-traversal.ts b/src/lib/simulator/simulations/nat-traversal.ts index 1cd76ec..37f9b14 100644 --- a/src/lib/simulator/simulations/nat-traversal.ts +++ b/src/lib/simulator/simulations/nat-traversal.ts @@ -56,7 +56,7 @@ export const natTraversalIce: SimulationConfig = { id: 'stun-bind-resp', label: 'STUN Binding Success', description: - 'STUN replies with what it saw โ€” Alice\'s public ip:port encoded in XOR-MAPPED-ADDRESS (XORed against the magic cookie so middleboxes can\'t rewrite it). That\'s Alice\'s **server-reflexive candidate**.', + "STUN replies with what it saw โ€” Alice's public ip:port encoded in XOR-MAPPED-ADDRESS (XORed against the magic cookie so middleboxes can't rewrite it). That's Alice's **server-reflexive candidate**.", fromActor: 'server', toActor: 'alice', duration: 1200, @@ -91,7 +91,8 @@ export const natTraversalIce: SimulationConfig = { createSTUNLayer({ type: 'Allocate Request', length: 96, - attribute: 'REQUESTED-TRANSPORT=17 (UDP), LIFETIME=600, USERNAME, REALM, NONCE, MESSAGE-INTEGRITY-256' + attribute: + 'REQUESTED-TRANSPORT=17 (UDP), LIFETIME=600, USERNAME, REALM, NONCE, MESSAGE-INTEGRITY-256' }) ] }, @@ -122,7 +123,7 @@ export const natTraversalIce: SimulationConfig = { id: 'ice-check-alice-bob', label: 'ICE Connectivity Check (A โ†’ B)', description: - 'Alice sends a STUN Binding Request directly to Bob\'s reflexive candidate, using short-term ICE credentials (the ufrag/pwd exchanged via SDP). PRIORITY carries the candidate priority; ICE-CONTROLLING carries a 64-bit tiebreaker.', + "Alice sends a STUN Binding Request directly to Bob's reflexive candidate, using short-term ICE credentials (the ufrag/pwd exchanged via SDP). PRIORITY carries the candidate priority; ICE-CONTROLLING carries a 64-bit tiebreaker.", fromActor: 'alice', toActor: 'bob', duration: 1400, @@ -134,7 +135,8 @@ export const natTraversalIce: SimulationConfig = { createSTUNLayer({ type: 'Binding Request', length: 32, - attribute: 'USERNAME (bob:alice), PRIORITY, ICE-CONTROLLING, MESSAGE-INTEGRITY, FINGERPRINT' + attribute: + 'USERNAME (bob:alice), PRIORITY, ICE-CONTROLLING, MESSAGE-INTEGRITY, FINGERPRINT' }) ] }, diff --git a/src/lib/simulator/simulations/nfc-tap.ts b/src/lib/simulator/simulations/nfc-tap.ts index 7df42db..80df977 100644 --- a/src/lib/simulator/simulations/nfc-tap.ts +++ b/src/lib/simulator/simulations/nfc-tap.ts @@ -5,7 +5,7 @@ export const nfcTap: SimulationConfig = { protocolId: 'nfc', title: 'NFC Tap โ€” Apple Pay / EMV Contactless', description: - "Watch a phone present an EMV cryptogram to a contactless terminal in ~300 ms. The same nine beats โ€” REQA โ†’ ATQA โ†’ SEL โ†’ SAK โ†’ RATS โ†’ ATS โ†’ SELECT PPSE โ†’ SELECT AID โ†’ GPO โ†’ READ RECORD โ†’ GENERATE AC โ€” that runs ~$7.6 trillion in annualised Apple Pay transactions and every plastic contactless card on Earth.", + 'Watch a phone present an EMV cryptogram to a contactless terminal in ~300 ms. The same nine beats โ€” REQA โ†’ ATQA โ†’ SEL โ†’ SAK โ†’ RATS โ†’ ATS โ†’ SELECT PPSE โ†’ SELECT AID โ†’ GPO โ†’ READ RECORD โ†’ GENERATE AC โ€” that runs ~$7.6 trillion in annualised Apple Pay transactions and every plastic contactless card on Earth.', tier: 'client', actors: [ { id: 'phone', label: 'Phone (PICC)', icon: 'device', position: 'left' }, @@ -44,18 +44,32 @@ export const nfcTap: SimulationConfig = { toActor: 'terminal', duration: 800, highlight: ['Carrier'], - layers: [createNFCALayer({ frame: 'RF field (continuous)', direction: '13.56 MHz carrier from PCD', payload: 'Power transfer + clock recovery', crc: '(none โ€” physical layer)' })] + layers: [ + createNFCALayer({ + frame: 'RF field (continuous)', + direction: '13.56 MHz carrier from PCD', + payload: 'Power transfer + clock recovery', + crc: '(none โ€” physical layer)' + }) + ] }, { id: 'reqa', label: 'REQA โ€” terminal asks "any Type A cards here?"', description: - "The terminal sends a 7-bit short frame `0x26` โ€” Request-A โ€” on the carrier. Any IDLE Type A PICC in the field transitions to READY and prepares to answer. (For deep-sleep cards the terminal would use `WUPA = 0x52` instead, which also wakes HALT cards.)", + 'The terminal sends a 7-bit short frame `0x26` โ€” Request-A โ€” on the carrier. Any IDLE Type A PICC in the field transitions to READY and prepares to answer. (For deep-sleep cards the terminal would use `WUPA = 0x52` instead, which also wakes HALT cards.)', fromActor: 'terminal', toActor: 'phone', duration: 700, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Short frame (7 bits, no CRC)', direction: 'PCD โ†’ PICC', payload: '0x26 (REQA)', crc: '(none โ€” short frame)' })] + layers: [ + createNFCALayer({ + frame: 'Short frame (7 bits, no CRC)', + direction: 'PCD โ†’ PICC', + payload: '0x26 (REQA)', + crc: '(none โ€” short frame)' + }) + ] }, { id: 'atqa', @@ -66,29 +80,50 @@ export const nfcTap: SimulationConfig = { toActor: 'terminal', duration: 700, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Standard frame (16 bits, no CRC)', direction: 'PICC โ†’ PCD', payload: '0x04 0x00 (ATQA โ€” 4-byte UID, std anti-collision)', crc: '(none)' })] + layers: [ + createNFCALayer({ + frame: 'Standard frame (16 bits, no CRC)', + direction: 'PICC โ†’ PCD', + payload: '0x04 0x00 (ATQA โ€” 4-byte UID, std anti-collision)', + crc: '(none)' + }) + ] }, { id: 'sel', label: 'SEL/NVB โ€” bit-frame anti-collision converges on the UID', description: - "The terminal sends `SEL = 0x93` (cascade level 1), `NVB = 0x20` (no bits known yet). The card returns its 4 UID bytes + BCC (the XOR check byte). The terminal echoes them back with `NVB = 0x70` and a CRC_A. The card responds with `SAK = 0x28` โ€” bit 6 set says *I support ISO 14443-4* (so RATS/ATS will follow); bit 3 clear says *the UID is complete, no further cascade needed*.", + 'The terminal sends `SEL = 0x93` (cascade level 1), `NVB = 0x20` (no bits known yet). The card returns its 4 UID bytes + BCC (the XOR check byte). The terminal echoes them back with `NVB = 0x70` and a CRC_A. The card responds with `SAK = 0x28` โ€” bit 6 set says *I support ISO 14443-4* (so RATS/ATS will follow); bit 3 clear says *the UID is complete, no further cascade needed*.', fromActor: 'terminal', toActor: 'phone', duration: 900, highlight: ['Frame', 'Payload', 'CRC_A'], - layers: [createNFCALayer({ frame: 'Full frame (CRC_A protected)', direction: 'PCD โ†” PICC (multi-frame exchange)', payload: 'SEL=0x93 NVB=0x20 โ†’ UID=04 1A 2B 3C BCC=4D โ†’ SEL=0x93 NVB=0x70 ... โ†’ SAK=0x28', crc: 'CRC_A on SEL+NVB+UID' })] + layers: [ + createNFCALayer({ + frame: 'Full frame (CRC_A protected)', + direction: 'PCD โ†” PICC (multi-frame exchange)', + payload: 'SEL=0x93 NVB=0x20 โ†’ UID=04 1A 2B 3C BCC=4D โ†’ SEL=0x93 NVB=0x70 ... โ†’ SAK=0x28', + crc: 'CRC_A on SEL+NVB+UID' + }) + ] }, { id: 'rats', label: 'RATS / ATS โ€” negotiate frame size and timing', description: - "Now in 14443-4 mode. The terminal sends `RATS = 0xE0 0x80` (Request for ATS, with CID=0 and FSDI=8 meaning *I can accept up to 256-byte frames*). The phone replies with **ATS** โ€” `06 75 33 81 02 80` โ€” declaring its Frame Size for the Card (FSCI=5 = 64 bytes max), Frame Waiting Time (FWI=3), and supports CID/NAD options. Both ends now know the framing budget for the rest of the conversation.", + 'Now in 14443-4 mode. The terminal sends `RATS = 0xE0 0x80` (Request for ATS, with CID=0 and FSDI=8 meaning *I can accept up to 256-byte frames*). The phone replies with **ATS** โ€” `06 75 33 81 02 80` โ€” declaring its Frame Size for the Card (FSCI=5 = 64 bytes max), Frame Waiting Time (FWI=3), and supports CID/NAD options. Both ends now know the framing budget for the rest of the conversation.', fromActor: 'terminal', toActor: 'phone', duration: 800, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Full frame (CRC_A protected)', direction: 'PCD โ†” PICC', payload: 'RATS=E0 80 โ†’ ATS=06 75 33 81 02 80 (FSCI=5, FWI=3, CID supported)', crc: 'CRC_A' })] + layers: [ + createNFCALayer({ + frame: 'Full frame (CRC_A protected)', + direction: 'PCD โ†” PICC', + payload: 'RATS=E0 80 โ†’ ATS=06 75 33 81 02 80 (FSCI=5, FWI=3, CID supported)', + crc: 'CRC_A' + }) + ] }, { id: 'ppse', @@ -99,7 +134,15 @@ export const nfcTap: SimulationConfig = { toActor: 'phone', duration: 900, highlight: ['CLA INS P1 P2', 'Data', 'Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '00 A4 04 00', lc: '0E', data: "32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 (PPSE AID '2PAY.SYS.DDF01')", le: '00', response: '6F .. A5 .. BF0C 1C 61 1A 4F 07 A0000000041010 50 0A MASTERCARD ... 90 00' })] + layers: [ + createAPDULayer({ + header: '00 A4 04 00', + lc: '0E', + data: "32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 (PPSE AID '2PAY.SYS.DDF01')", + le: '00', + response: '6F .. A5 .. BF0C 1C 61 1A 4F 07 A0000000041010 50 0A MASTERCARD ... 90 00' + }) + ] }, { id: 'select-aid', @@ -110,7 +153,15 @@ export const nfcTap: SimulationConfig = { toActor: 'phone', duration: 900, highlight: ['CLA INS P1 P2', 'Data', 'Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '00 A4 04 00', lc: '07', data: 'A0 00 00 00 04 10 10 (AID: Mastercard credit/debit)', le: '00', response: '6F .. A5 .. 9F38 (PDOL list: amount, currency, country, TVR, ...) 90 00' })] + layers: [ + createAPDULayer({ + header: '00 A4 04 00', + lc: '07', + data: 'A0 00 00 00 04 10 10 (AID: Mastercard credit/debit)', + le: '00', + response: '6F .. A5 .. 9F38 (PDOL list: amount, currency, country, TVR, ...) 90 00' + }) + ] }, { id: 'gpo', @@ -121,18 +172,35 @@ export const nfcTap: SimulationConfig = { toActor: 'phone', duration: 1100, highlight: ['CLA INS P1 P2', 'Data', 'Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '80 A8 00 00', lc: '23', data: '83 21 ...PDOL filled: amount ยฃ28.50, currency GBP, country UK, TVR, UN...', le: '00', response: '77 .. 82 02 19 80 (AIP: CDA, CVM, RRP) 94 0C 18 01 02 00 ... (AFL) 90 00' })] + layers: [ + createAPDULayer({ + header: '80 A8 00 00', + lc: '23', + data: '83 21 ...PDOL filled: amount ยฃ28.50, currency GBP, country UK, TVR, UN...', + le: '00', + response: '77 .. 82 02 19 80 (AIP: CDA, CVM, RRP) 94 0C 18 01 02 00 ... (AFL) 90 00' + }) + ] }, { id: 'read-records', label: 'READ RECORD ร—N โ€” pull PAN, expiry, public-key certificates', description: - "For each entry in the AFL, the terminal issues `00 B2 <rec> <(sfi<<3)|0x04>` READ RECORD. The card returns the **PAN-equivalent** (DPAN, not the real card number โ€” that lives at the issuer), expiry, CDOL1 (which tags GENERATE AC needs), the **Issuer Public-Key Certificate** and **ICC Public-Key Certificate** for offline CDA verification. Three to five READ RECORDs is typical.", + 'For each entry in the AFL, the terminal issues `00 B2 <rec> <(sfi<<3)|0x04>` READ RECORD. The card returns the **PAN-equivalent** (DPAN, not the real card number โ€” that lives at the issuer), expiry, CDOL1 (which tags GENERATE AC needs), the **Issuer Public-Key Certificate** and **ICC Public-Key Certificate** for offline CDA verification. Three to five READ RECORDs is typical.', fromActor: 'terminal', toActor: 'phone', duration: 1100, highlight: ['CLA INS P1 P2', 'Data', 'Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '00 B2 01 0C', lc: '(none)', data: '(no command body)', le: '00', response: '70 .. 5F24 (expiry 12/27) 5A 08 5413 33xx xxxx xxxx (DPAN) 8F 01 ... (cert chain) 90 00' })] + layers: [ + createAPDULayer({ + header: '00 B2 01 0C', + lc: '(none)', + data: '(no command body)', + le: '00', + response: + '70 .. 5F24 (expiry 12/27) 5A 08 5413 33xx xxxx xxxx (DPAN) 8F 01 ... (cert chain) 90 00' + }) + ] }, { id: 'generate-ac', @@ -143,18 +211,35 @@ export const nfcTap: SimulationConfig = { toActor: 'phone', duration: 1300, highlight: ['CLA INS P1 P2', 'Data', 'Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '80 AE 80 00', lc: '1F', data: '...CDOL1 data: amount ยฃ28.50, currency GBP, TVR, UN 0x9C2A3B4D...', le: '00', response: '77 .. 9F27 80 (CID=ARQC) 9F36 02 00 7A (ATC) 9F26 08 1A 2B 3C 4D 5E 6F 70 81 (Application Cryptogram) 9F10 ...IAD... 90 00' })] + layers: [ + createAPDULayer({ + header: '80 AE 80 00', + lc: '1F', + data: '...CDOL1 data: amount ยฃ28.50, currency GBP, TVR, UN 0x9C2A3B4D...', + le: '00', + response: + '77 .. 9F27 80 (CID=ARQC) 9F36 02 00 7A (ATC) 9F26 08 1A 2B 3C 4D 5E 6F 70 81 (Application Cryptogram) 9F10 ...IAD... 90 00' + }) + ] }, { id: 'authorize', label: 'Issuer authorisation โ€” terminal sends ARQC online, gets ARPC back', description: - "The terminal hands the ARQC to the acquirer (Stripe, Square, Worldpay), which routes it through the payment network (Mastercard) to the **issuing bank**. The issuer verifies the cryptogram against the per-DPAN key in its HSM and returns an **ARPC** (Authorisation Response Cryptogram) โ€” `APPROVED`. Total time including network round-trip: typically 300โ€“800 ms. The terminal beeps green; the phone vibrates with the Apple Pay success animation. Total airtime in the magnetic field was less than half a second.", + 'The terminal hands the ARQC to the acquirer (Stripe, Square, Worldpay), which routes it through the payment network (Mastercard) to the **issuing bank**. The issuer verifies the cryptogram against the per-DPAN key in its HSM and returns an **ARPC** (Authorisation Response Cryptogram) โ€” `APPROVED`. Total time including network round-trip: typically 300โ€“800 ms. The terminal beeps green; the phone vibrates with the Apple Pay success animation. Total airtime in the magnetic field was less than half a second.', fromActor: 'terminal', toActor: 'phone', duration: 1000, highlight: ['Response Data / SW1 SW2'], - layers: [createAPDULayer({ header: '(issuer round-trip via acquirer + payment network โ€” not in-field)', lc: 'โ€”', data: 'ARQC โ†’ issuer HSM โ†’ ARPC (APPROVED, ARC=00)', le: 'โ€”', response: 'Terminal beeps green; phone shows Apple Pay tick' })] + layers: [ + createAPDULayer({ + header: '(issuer round-trip via acquirer + payment network โ€” not in-field)', + lc: 'โ€”', + data: 'ARQC โ†’ issuer HSM โ†’ ARPC (APPROVED, ARC=00)', + le: 'โ€”', + response: 'Terminal beeps green; phone shows Apple Pay tick' + }) + ] } ] }; @@ -163,7 +248,7 @@ export const nfcTagRead: SimulationConfig = { protocolId: 'nfc', title: 'NFC Tag Read โ€” Type 2 NDEF Smart Poster', description: - "Watch a phone pick up an NDEF URL from a passive transit-poster tag in a single tap. Same physics as Apple Pay, simpler stack: REQA โ†’ ATQA โ†’ SEL โ†’ SAK (without 14443-4) โ†’ T2T READ โ†’ NDEF parse โ†’ hand off to the browser.", + 'Watch a phone pick up an NDEF URL from a passive transit-poster tag in a single tap. Same physics as Apple Pay, simpler stack: REQA โ†’ ATQA โ†’ SEL โ†’ SAK (without 14443-4) โ†’ T2T READ โ†’ NDEF parse โ†’ hand off to the browser.', tier: 'client', actors: [ { id: 'phone', label: 'Phone (PCD)', icon: 'device', position: 'left' }, @@ -175,7 +260,12 @@ export const nfcTagRead: SimulationConfig = { label: 'Tag type', type: 'select', defaultValue: 'NTAG216 (T2T, 924 bytes)', - options: ['NTAG213 (T2T, 144 bytes)', 'NTAG216 (T2T, 924 bytes)', 'MIFARE Classic 1k (legacy)', 'ICODE SLIX2 (T5T)'] + options: [ + 'NTAG213 (T2T, 144 bytes)', + 'NTAG216 (T2T, 924 bytes)', + 'MIFARE Classic 1k (legacy)', + 'ICODE SLIX2 (T5T)' + ] } ], steps: [ @@ -188,40 +278,69 @@ export const nfcTagRead: SimulationConfig = { toActor: 'tag', duration: 800, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Short โ†’ standard frames', direction: 'PCD โ†’ PICC โ†’ PCD', payload: 'REQA 0x26 โ†’ ATQA 0x00 0x44 (7-byte UID)', crc: '(none / short)' })] + layers: [ + createNFCALayer({ + frame: 'Short โ†’ standard frames', + direction: 'PCD โ†’ PICC โ†’ PCD', + payload: 'REQA 0x26 โ†’ ATQA 0x00 0x44 (7-byte UID)', + crc: '(none / short)' + }) + ] }, { id: 'sel', label: 'SEL cascade โ€” converge on the 7-byte UID', description: - "Two cascade levels are needed for a 7-byte UID. Level 1 (SEL=0x93) returns bytes 0โ€“3 (with the cascade tag CT=0x88 in byte 0) + BCC. Level 2 (SEL=0x95) returns bytes 4โ€“6 + BCC. Final SAK is `0x00` โ€” meaning *Type 2 tag, no ISO 14443-4*. We go straight to T2T commands.", + 'Two cascade levels are needed for a 7-byte UID. Level 1 (SEL=0x93) returns bytes 0โ€“3 (with the cascade tag CT=0x88 in byte 0) + BCC. Level 2 (SEL=0x95) returns bytes 4โ€“6 + BCC. Final SAK is `0x00` โ€” meaning *Type 2 tag, no ISO 14443-4*. We go straight to T2T commands.', fromActor: 'phone', toActor: 'tag', duration: 900, highlight: ['Frame', 'Payload', 'CRC_A'], - layers: [createNFCALayer({ frame: 'Full frame, multi-step', direction: 'PCD โ†” PICC', payload: 'CL1 โ†’ UID-CL1 (with CT=0x88) + BCC โ†’ CL2 โ†’ UID-CL2 + BCC โ†’ SAK 0x00 (T2T)', crc: 'CRC_A' })] + layers: [ + createNFCALayer({ + frame: 'Full frame, multi-step', + direction: 'PCD โ†” PICC', + payload: 'CL1 โ†’ UID-CL1 (with CT=0x88) + BCC โ†’ CL2 โ†’ UID-CL2 + BCC โ†’ SAK 0x00 (T2T)', + crc: 'CRC_A' + }) + ] }, { id: 'read-cc', label: 'T2T READ โ€” fetch the Capability Container', description: - "NDEF tags begin with a CC at page 3 (16 bytes). T2T READ command (`0x30 0x03`) returns 4 pages = 16 bytes. The CC is the first 4 bytes: `E1 10 6D 00` โ€” magic byte 0xE1, version 1.0, memory size 0x6D ร— 8 = 872 bytes available, read/write access flags 0x00. The reader knows this tag has NDEF content.", + 'NDEF tags begin with a CC at page 3 (16 bytes). T2T READ command (`0x30 0x03`) returns 4 pages = 16 bytes. The CC is the first 4 bytes: `E1 10 6D 00` โ€” magic byte 0xE1, version 1.0, memory size 0x6D ร— 8 = 872 bytes available, read/write access flags 0x00. The reader knows this tag has NDEF content.', fromActor: 'phone', toActor: 'tag', duration: 800, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Full frame, CRC_A', direction: 'PCD โ†” PICC', payload: 'READ 0x30 0x03 โ†’ 16 bytes: E1 10 6D 00 (CC) + first NDEF page', crc: 'CRC_A' })] + layers: [ + createNFCALayer({ + frame: 'Full frame, CRC_A', + direction: 'PCD โ†” PICC', + payload: 'READ 0x30 0x03 โ†’ 16 bytes: E1 10 6D 00 (CC) + first NDEF page', + crc: 'CRC_A' + }) + ] }, { id: 'read-ndef', label: 'T2T READ โ€” pull the NDEF TLV', description: - "Continue reading pages 4..N. Tag memory has an NDEF TLV: byte 0x03 (NDEF Message), 1-byte length, then the NDEF message bytes. One TLV may chain multiple NDEF records.", + 'Continue reading pages 4..N. Tag memory has an NDEF TLV: byte 0x03 (NDEF Message), 1-byte length, then the NDEF message bytes. One TLV may chain multiple NDEF records.', fromActor: 'phone', toActor: 'tag', duration: 800, highlight: ['Frame', 'Payload'], - layers: [createNFCALayer({ frame: 'Full frame, CRC_A', direction: 'PCD โ†” PICC', payload: 'READ 0x30 0x04..., 0x30 0x08, ...: 03 19 D1 01 15 55 03 t r a n s i t . e x a m p l e . c o m / q r', crc: 'CRC_A' })] + layers: [ + createNFCALayer({ + frame: 'Full frame, CRC_A', + direction: 'PCD โ†” PICC', + payload: + 'READ 0x30 0x04..., 0x30 0x08, ...: 03 19 D1 01 15 55 03 t r a n s i t . e x a m p l e . c o m / q r', + crc: 'CRC_A' + }) + ] }, { id: 'parse-ndef', @@ -232,19 +351,35 @@ export const nfcTagRead: SimulationConfig = { toActor: 'phone', duration: 800, highlight: ['Header byte', 'Type', 'Payload'], - layers: [createNDEFLayer({ header: 'MB=1 ME=1 SR=1 IL=0 TNF=1 (Well-Known)', typeLen: 1, payloadLen: 21, type: "'U' (URI Record)", payload: '0x03 transit.example.com/qr โ†’ https://transit.example.com/qr' })] + layers: [ + createNDEFLayer({ + header: 'MB=1 ME=1 SR=1 IL=0 TNF=1 (Well-Known)', + typeLen: 1, + payloadLen: 21, + type: "'U' (URI Record)", + payload: '0x03 transit.example.com/qr โ†’ https://transit.example.com/qr' + }) + ] }, { id: 'handoff', label: 'Hand-off โ€” phone OS opens the URL', description: - "The phone OS receives the parsed NDEF URL and hands it off to the default browser. On iOS the tap-to-launch notification appears (if `com.apple.developer.nfc.readersession.iso7816.select-identifiers` is in the app entitlement); on Android the URL launches directly. Total time from tap to browser load: typically <300 ms.", + 'The phone OS receives the parsed NDEF URL and hands it off to the default browser. On iOS the tap-to-launch notification appears (if `com.apple.developer.nfc.readersession.iso7816.select-identifiers` is in the app entitlement); on Android the URL launches directly. Total time from tap to browser load: typically <300 ms.', fromActor: 'phone', toActor: 'tag', duration: 800, highlight: ['Payload'], data: 'OS opens https://transit.example.com/qr', - layers: [createNDEFLayer({ header: 'parsed', typeLen: 1, payloadLen: 21, type: "'U' (URI)", payload: 'https://transit.example.com/qr โ†’ handed to default browser' })] + layers: [ + createNDEFLayer({ + header: 'parsed', + typeLen: 1, + payloadLen: 21, + type: "'U' (URI)", + payload: 'https://transit.example.com/qr โ†’ handed to default browser' + }) + ] } ] }; diff --git a/src/lib/simulator/simulations/oauth2-flow.ts b/src/lib/simulator/simulations/oauth2-flow.ts index 883e989..fa2fb01 100644 --- a/src/lib/simulator/simulations/oauth2-flow.ts +++ b/src/lib/simulator/simulations/oauth2-flow.ts @@ -52,8 +52,7 @@ function httpRequestLayer( bits: 0, value: extra.auth, editable: false, - description: - 'Authorization header โ€” carries the Bearer access token', + description: 'Authorization header โ€” carries the Bearer access token', color: '#2DD4BF' } ] @@ -128,7 +127,7 @@ export const oauth2Flow: SimulationConfig = { protocolId: 'oauth2', title: 'OAuth 2.0 Authorization Code + PKCE', description: - 'See how OAuth 2.0 delegates authorization through a three-party redirect flow. The app never sees the user\'s password โ€” instead it receives a scoped access token after the user consents at the authorization server.', + "See how OAuth 2.0 delegates authorization through a three-party redirect flow. The app never sees the user's password โ€” instead it receives a scoped access token after the user consents at the authorization server.", tier: 'client', actors: [ { id: 'app', label: 'Your App', icon: 'browser', position: 'left' }, @@ -149,7 +148,7 @@ export const oauth2Flow: SimulationConfig = { id: 'pkce-redirect', label: 'Authorization Request', description: - 'App generates a random code_verifier and its SHA-256 hash (code_challenge) for PKCE. Then it redirects the user\'s browser to the authorization server with client_id, scope, state, and the code_challenge.', + "App generates a random code_verifier and its SHA-256 hash (code_challenge) for PKCE. Then it redirects the user's browser to the authorization server with client_id, scope, state, and the code_challenge.", fromActor: 'app', toActor: 'auth', duration: 800, @@ -182,7 +181,7 @@ export const oauth2Flow: SimulationConfig = { id: 'user-consent', label: 'User Consent', description: - 'Auth server presents a consent screen showing what the app is requesting. The user authenticates (if not already logged in) and approves the requested scopes. The app never sees the user\'s credentials.', + "Auth server presents a consent screen showing what the app is requesting. The user authenticates (if not already logged in) and approves the requested scopes. The app never sees the user's credentials.", fromActor: 'auth', toActor: 'app', duration: 1200, @@ -215,7 +214,7 @@ export const oauth2Flow: SimulationConfig = { id: 'auth-code', label: 'Authorization Code', description: - 'After consent, the auth server redirects the browser back to the app\'s callback URL with a short-lived authorization code and the original state parameter for CSRF verification.', + "After consent, the auth server redirects the browser back to the app's callback URL with a short-lived authorization code and the original state parameter for CSRF verification.", fromActor: 'auth', toActor: 'app', duration: 800, @@ -368,11 +367,7 @@ export const oauth2Flow: SimulationConfig = { cipherSuite: 'AES-256-GCM', length: 384 }), - httpResponseLayer( - '200 OK', - '#22c55e', - '{id:42, name:"Alice", email:"alice@example.com"}' - ) + httpResponseLayer('200 OK', '#22c55e', '{id:42, name:"Alice", email:"alice@example.com"}') ] } ] diff --git a/src/lib/simulator/simulations/ospf-adjacency.ts b/src/lib/simulator/simulations/ospf-adjacency.ts index 0415c48..5fc341e 100644 --- a/src/lib/simulator/simulations/ospf-adjacency.ts +++ b/src/lib/simulator/simulations/ospf-adjacency.ts @@ -7,7 +7,7 @@ export const ospfAdjacency: SimulationConfig = { protocolId: 'ospf', title: 'OSPF Adjacency โ€” Cold Boot to Full', description: - "Watch two routers walk the eight-state OSPF adjacency machine, synchronise their link-state databases, and converge. The protocol runs directly on IP (protocol 89) using link-local multicast 224.0.0.5 โ€” no TCP, no UDP.", + 'Watch two routers walk the eight-state OSPF adjacency machine, synchronise their link-state databases, and converge. The protocol runs directly on IP (protocol 89) using link-local multicast 224.0.0.5 โ€” no TCP, no UDP.', tier: 'server', actors: [ { id: 'r1', label: 'Router R1', icon: 'router', position: 'left' }, @@ -154,7 +154,7 @@ export const ospfAdjacency: SimulationConfig = { id: 'lsack', label: 'LSAck (Full)', description: - "R1 acknowledges every LSA. OSPF implements reliable delivery on top of raw IP โ€” no TCP underneath. Both routers are now Full: identical LSDB, ready to run Dijkstra.", + 'R1 acknowledges every LSA. OSPF implements reliable delivery on top of raw IP โ€” no TCP underneath. Both routers are now Full: identical LSDB, ready to run Dijkstra.', fromActor: 'r1', toActor: 'r2', duration: 1000, @@ -190,23 +190,26 @@ export const ospfAdjacency: SimulationConfig = { { name: 'Algorithm', bits: 0, - value: "Dijkstra (E.W. Dijkstra, 1956)", + value: 'Dijkstra (E.W. Dijkstra, 1956)', editable: false, - description: 'The shortest-path-first algorithm โ€” every link-state router runs it locally on its own LSDB' + description: + 'The shortest-path-first algorithm โ€” every link-state router runs it locally on its own LSDB' }, { name: 'Throttle', bits: 0, value: 'RFC 8405: 50 / 200 / 5000 ms', editable: false, - description: 'SPF back-off: INITIAL, SHORT_WAIT, LONG_WAIT โ€” prevents thrashing on rapid topology churn' + description: + 'SPF back-off: INITIAL, SHORT_WAIT, LONG_WAIT โ€” prevents thrashing on rapid topology churn' }, { name: 'Result', bits: 0, value: 'Shortest-path tree from R1 installed into FIB', editable: false, - description: 'The forwarding information base โ€” what hardware actually uses to forward packets' + description: + 'The forwarding information base โ€” what hardware actually uses to forward packets' } ] } diff --git a/src/lib/simulator/simulations/quic-connection.ts b/src/lib/simulator/simulations/quic-connection.ts index 6d64d12..6ba2dc8 100644 --- a/src/lib/simulator/simulations/quic-connection.ts +++ b/src/lib/simulator/simulations/quic-connection.ts @@ -43,7 +43,7 @@ export const quicConnection: SimulationConfig = { id: 'handshake', label: 'Handshake', description: - 'The server responds with an Initial packet (containing ServerHello) followed by a Handshake packet with its certificate and Finished message. The server\'s Initial carries the TLS ServerHello, while the Handshake packet carries encrypted certificate data. This completes the server side of the cryptographic handshake.', + "The server responds with an Initial packet (containing ServerHello) followed by a Handshake packet with its certificate and Finished message. The server's Initial carries the TLS ServerHello, while the Handshake packet carries encrypted certificate data. This completes the server side of the cryptographic handshake.", fromActor: 'server', toActor: 'client', duration: 1000, @@ -115,7 +115,7 @@ export const quicConnection: SimulationConfig = { id: 'close', label: 'Connection Close', description: - 'Either side can close the connection immediately with a CONNECTION_CLOSE frame. Unlike TCP\'s four-way FIN handshake, QUIC closes in a single packet. The frame includes an error code (0 = no error) and an optional reason phrase. The peer enters a draining period before freeing connection state.', + "Either side can close the connection immediately with a CONNECTION_CLOSE frame. Unlike TCP's four-way FIN handshake, QUIC closes in a single packet. The frame includes an error code (0 = no error) and an optional reason phrase. The peer enters a draining period before freeing connection state.", fromActor: 'client', toActor: 'server', duration: 600, diff --git a/src/lib/simulator/simulations/rest-api.ts b/src/lib/simulator/simulations/rest-api.ts index 6483d99..8f34cc2 100644 --- a/src/lib/simulator/simulations/rest-api.ts +++ b/src/lib/simulator/simulations/rest-api.ts @@ -10,13 +10,59 @@ function httpRequestLayer(method: string, path: string, body?: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: method, editable: false, description: `HTTP method โ€” ${method} retrieves or modifies a resource` }, - { name: 'Path', bits: 0, value: path, editable: false, description: 'REST resource path โ€” follows /resource/{id} convention' }, - { name: 'Version', bits: 0, value: 'HTTP/1.1', editable: false, description: 'Protocol version' }, - { name: 'Host', bits: 0, value: 'api.example.com', editable: false, description: 'API server hostname' }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'MIME type โ€” REST APIs typically use JSON' }, - ...(body ? [{ name: 'Body', bits: 0, value: body, editable: false, description: 'JSON request body โ€” the resource representation' }] : []), - { name: 'Accept', bits: 0, value: 'application/json', editable: false, description: 'Client tells the server it expects JSON responses' } + { + name: 'Method', + bits: 0, + value: method, + editable: false, + description: `HTTP method โ€” ${method} retrieves or modifies a resource` + }, + { + name: 'Path', + bits: 0, + value: path, + editable: false, + description: 'REST resource path โ€” follows /resource/{id} convention' + }, + { + name: 'Version', + bits: 0, + value: 'HTTP/1.1', + editable: false, + description: 'Protocol version' + }, + { + name: 'Host', + bits: 0, + value: 'api.example.com', + editable: false, + description: 'API server hostname' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'MIME type โ€” REST APIs typically use JSON' + }, + ...(body + ? [ + { + name: 'Body', + bits: 0, + value: body, + editable: false, + description: 'JSON request body โ€” the resource representation' + } + ] + : []), + { + name: 'Accept', + bits: 0, + value: 'application/json', + editable: false, + description: 'Client tells the server it expects JSON responses' + } ] }; } @@ -28,10 +74,35 @@ function httpResponseLayer(status: string, body: string, statusColor: string) { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Version', bits: 0, value: 'HTTP/1.1', editable: false, description: 'Protocol version' }, - { name: 'Status', bits: 0, value: status, editable: false, description: `HTTP status code โ€” ${status}`, color: statusColor }, - { name: 'Content-Type', bits: 0, value: 'application/json', editable: false, description: 'Response body is JSON-encoded' }, - { name: 'Body', bits: 0, value: body, editable: false, description: 'JSON response body โ€” the resource representation' } + { + name: 'Version', + bits: 0, + value: 'HTTP/1.1', + editable: false, + description: 'Protocol version' + }, + { + name: 'Status', + bits: 0, + value: status, + editable: false, + description: `HTTP status code โ€” ${status}`, + color: statusColor + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/json', + editable: false, + description: 'Response body is JSON-encoded' + }, + { + name: 'Body', + bits: 0, + value: body, + editable: false, + description: 'JSON response body โ€” the resource representation' + } ] }; } diff --git a/src/lib/simulator/simulations/rtp-media.ts b/src/lib/simulator/simulations/rtp-media.ts index 8b5e80f..aeb4d47 100644 --- a/src/lib/simulator/simulations/rtp-media.ts +++ b/src/lib/simulator/simulations/rtp-media.ts @@ -11,10 +11,34 @@ function createRTCPLayer(reportType: string, ssrc: string, payload: string): Pro osiLayer: 7, color: '#BE185D', headerFields: [ - { name: 'Version', bits: 2, value: 2, editable: false, description: 'RTCP version โ€” always 2' }, - { name: 'Report Type', bits: 8, value: reportType, editable: false, description: 'RTCP packet type โ€” SR (200), RR (201), SDES (202), BYE (203)' }, - { name: 'SSRC', bits: 32, value: ssrc, editable: false, description: 'SSRC of the report sender' }, - { name: 'Report Data', bits: 0, value: payload, editable: false, description: 'Statistics โ€” NTP timestamp, packet count, jitter, loss fraction' } + { + name: 'Version', + bits: 2, + value: 2, + editable: false, + description: 'RTCP version โ€” always 2' + }, + { + name: 'Report Type', + bits: 8, + value: reportType, + editable: false, + description: 'RTCP packet type โ€” SR (200), RR (201), SDES (202), BYE (203)' + }, + { + name: 'SSRC', + bits: 32, + value: ssrc, + editable: false, + description: 'SSRC of the report sender' + }, + { + name: 'Report Data', + bits: 0, + value: payload, + editable: false, + description: 'Statistics โ€” NTP timestamp, packet count, jitter, loss fraction' + } ] }; } @@ -89,7 +113,11 @@ export const rtpMedia: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 17 }), createUDPLayer({ srcPort: 5005, dstPort: 5005 }), - createRTCPLayer('SR (200)', '0x12345678', 'NTP: 2026-03-13 14:30:00, Packets: 1500, Bytes: 240000') + createRTCPLayer( + 'SR (200)', + '0x12345678', + 'NTP: 2026-03-13 14:30:00, Packets: 1500, Bytes: 240000' + ) ] }, { @@ -105,7 +133,11 @@ export const rtpMedia: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 17 }), createUDPLayer({ srcPort: 5005, dstPort: 5005 }), - createRTCPLayer('RR (201)', '0x87654321', 'Loss: 0.5%, Jitter: 12ms, Last SR: 14:30:00, Delay: 45ms') + createRTCPLayer( + 'RR (201)', + '0x87654321', + 'Loss: 0.5%, Jitter: 12ms, Last SR: 14:30:00, Delay: 45ms' + ) ] } ] diff --git a/src/lib/simulator/simulations/sctp-association.ts b/src/lib/simulator/simulations/sctp-association.ts index 8535a0f..2e4b4dd 100644 --- a/src/lib/simulator/simulations/sctp-association.ts +++ b/src/lib/simulator/simulations/sctp-association.ts @@ -7,7 +7,7 @@ export const sctpAssociation: SimulationConfig = { protocolId: 'sctp', title: 'SCTP โ€” Multi-Stream Association', description: - 'Watch SCTP\'s four-way handshake that establishes a multi-stream association. Unlike TCP\'s three-way handshake, SCTP uses a cookie mechanism to prevent SYN flood attacks. SCTP also supports multi-homing โ€” a single association can span multiple IP addresses for failover.', + "Watch SCTP's four-way handshake that establishes a multi-stream association. Unlike TCP's three-way handshake, SCTP uses a cookie mechanism to prevent SYN flood attacks. SCTP also supports multi-homing โ€” a single association can span multiple IP addresses for failover.", tier: 'client', actors: [ { id: 'client', label: 'Client', icon: 'client', position: 'left' }, @@ -40,7 +40,7 @@ export const sctpAssociation: SimulationConfig = { id: 'init-ack', label: 'INIT-ACK', description: - 'The server responds with INIT-ACK containing its own parameters and a State Cookie. The cookie is a signed bundle of both sides\' parameters โ€” crucially, the server still allocates no state. This cookie-based design makes SCTP immune to SYN flood denial-of-service attacks.', + "The server responds with INIT-ACK containing its own parameters and a State Cookie. The cookie is a signed bundle of both sides' parameters โ€” crucially, the server still allocates no state. This cookie-based design makes SCTP immune to SYN flood denial-of-service attacks.", fromActor: 'server', toActor: 'client', duration: 800, diff --git a/src/lib/simulator/simulations/sdp-negotiation.ts b/src/lib/simulator/simulations/sdp-negotiation.ts index e5e820f..e5e1bfc 100644 --- a/src/lib/simulator/simulations/sdp-negotiation.ts +++ b/src/lib/simulator/simulations/sdp-negotiation.ts @@ -10,9 +10,28 @@ function createSDPLayer(type: string, fields: string, media: string): ProtocolLa osiLayer: 7, color: '#A855F7', headerFields: [ - { name: 'Type', bits: 0, value: type, editable: false, description: 'SDP role โ€” Offer (initial proposal) or Answer (accepted subset)' }, - { name: 'Session Fields', bits: 0, value: fields, editable: false, description: 'Session-level fields โ€” v= (version), o= (origin), s= (session name), t= (timing)' }, - { name: 'Media', bits: 0, value: media, editable: false, description: 'Media descriptions โ€” m= lines with port, protocol, and format list' }, + { + name: 'Type', + bits: 0, + value: type, + editable: false, + description: 'SDP role โ€” Offer (initial proposal) or Answer (accepted subset)' + }, + { + name: 'Session Fields', + bits: 0, + value: fields, + editable: false, + description: + 'Session-level fields โ€” v= (version), o= (origin), s= (session name), t= (timing)' + }, + { + name: 'Media', + bits: 0, + value: media, + editable: false, + description: 'Media descriptions โ€” m= lines with port, protocol, and format list' + } ] }; } @@ -24,8 +43,20 @@ function signalingLayer(action: string): ProtocolLayer { osiLayer: 7, color: '#6366F1', headerFields: [ - { name: 'Action', bits: 0, value: action, editable: false, description: 'Signaling action โ€” carried over WebSocket, HTTP, or SIP' }, - { name: 'Content-Type', bits: 0, value: 'application/sdp', editable: false, description: 'The payload is an SDP description' } + { + name: 'Action', + bits: 0, + value: action, + editable: false, + description: 'Signaling action โ€” carried over WebSocket, HTTP, or SIP' + }, + { + name: 'Content-Type', + bits: 0, + value: 'application/sdp', + editable: false, + description: 'The payload is an SDP description' + } ] }; } diff --git a/src/lib/simulator/simulations/sip-call.ts b/src/lib/simulator/simulations/sip-call.ts index 031e966..b94f95a 100644 --- a/src/lib/simulator/simulations/sip-call.ts +++ b/src/lib/simulator/simulations/sip-call.ts @@ -65,7 +65,7 @@ export const sipCall: SimulationConfig = { id: 'ringing', label: '180 Ringing', description: - 'The callee\'s phone is ringing. The 180 Ringing response is forwarded back through the proxy chain. The caller can now play a ringback tone. This provisional response can optionally include early media (ringback from the callee\'s network) via SDP.', + "The callee's phone is ringing. The 180 Ringing response is forwarded back through the proxy chain. The caller can now play a ringback tone. This provisional response can optionally include early media (ringback from the callee's network) via SDP.", fromActor: 'server', toActor: 'caller', duration: 800, diff --git a/src/lib/simulator/simulations/smtp-delivery.ts b/src/lib/simulator/simulations/smtp-delivery.ts index 8664a46..89b5f07 100644 --- a/src/lib/simulator/simulations/smtp-delivery.ts +++ b/src/lib/simulator/simulations/smtp-delivery.ts @@ -160,7 +160,7 @@ export const smtpDelivery: SimulationConfig = { id: 'queued', label: '250 Queued', description: - 'The server accepts the message for delivery and returns a queue ID. The 250 code means the server has taken responsibility for delivering this email. The message will now be relayed to the recipient\'s mail server by looking up MX records in DNS.', + "The server accepts the message for delivery and returns a queue ID. The 250 code means the server has taken responsibility for delivering this email. The message will now be relayed to the recipient's mail server by looking up MX records in DNS.", fromActor: 'server', toActor: 'client', duration: 800, diff --git a/src/lib/simulator/simulations/soap-request.ts b/src/lib/simulator/simulations/soap-request.ts index 1c3e00d..2c19d3c 100644 --- a/src/lib/simulator/simulations/soap-request.ts +++ b/src/lib/simulator/simulations/soap-request.ts @@ -58,8 +58,7 @@ function httpRequestLayer( bits: 0, value: extra.soapAction, editable: false, - description: - 'HTTP header identifying the SOAP operation โ€” required by SOAP 1.1' + description: 'HTTP header identifying the SOAP operation โ€” required by SOAP 1.1' } ] : []) @@ -252,11 +251,7 @@ export const soapRequest: SimulationConfig = { protocol: 6 }), createTCPLayer({ srcPort: 80, dstPort: 51400, flags: 'PSH,ACK' }), - httpResponseLayer( - '500 Internal Server Error', - 'text/xml; charset=utf-8', - '#ef4444' - ), + httpResponseLayer('500 Internal Server Error', 'text/xml; charset=utf-8', '#ef4444'), createSOAPLayer({ body: 'Fault(code: "Client", string: "Invalid user ID")', header: 'faultactor: http://example.com/UserService' diff --git a/src/lib/simulator/simulations/sse-stream.ts b/src/lib/simulator/simulations/sse-stream.ts index 56384e0..d206e70 100644 --- a/src/lib/simulator/simulations/sse-stream.ts +++ b/src/lib/simulator/simulations/sse-stream.ts @@ -11,11 +11,41 @@ function sseRequestLayer(): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'SSE uses a standard GET request โ€” no upgrade or special handshake needed' }, - { name: 'Path', bits: 0, value: '/events', editable: false, description: 'Event stream endpoint โ€” the server will hold this connection open' }, - { name: 'Accept', bits: 0, value: 'text/event-stream', editable: false, description: 'Tells the server the client wants an SSE stream, not a regular response' }, - { name: 'Cache-Control', bits: 0, value: 'no-cache', editable: false, description: 'Prevents caching โ€” events should always be received fresh from the server' }, - { name: 'Connection', bits: 0, value: 'keep-alive', editable: false, description: 'The connection stays open for the stream duration' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: 'SSE uses a standard GET request โ€” no upgrade or special handshake needed' + }, + { + name: 'Path', + bits: 0, + value: '/events', + editable: false, + description: 'Event stream endpoint โ€” the server will hold this connection open' + }, + { + name: 'Accept', + bits: 0, + value: 'text/event-stream', + editable: false, + description: 'Tells the server the client wants an SSE stream, not a regular response' + }, + { + name: 'Cache-Control', + bits: 0, + value: 'no-cache', + editable: false, + description: 'Prevents caching โ€” events should always be received fresh from the server' + }, + { + name: 'Connection', + bits: 0, + value: 'keep-alive', + editable: false, + description: 'The connection stays open for the stream duration' + } ] }; } @@ -27,25 +57,85 @@ function sseResponseLayer(): ProtocolLayer { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Status', bits: 0, value: '200 OK', editable: false, description: 'Stream opened successfully โ€” data will follow incrementally', color: '#22c55e' }, - { name: 'Content-Type', bits: 0, value: 'text/event-stream', editable: false, description: 'SSE MIME type โ€” tells the browser to use EventSource API' }, - { name: 'Cache-Control', bits: 0, value: 'no-cache', editable: false, description: 'No caching for live event streams' }, - { name: 'Connection', bits: 0, value: 'keep-alive', editable: false, description: 'Connection remains open โ€” no Content-Length since the stream is infinite' } + { + name: 'Status', + bits: 0, + value: '200 OK', + editable: false, + description: 'Stream opened successfully โ€” data will follow incrementally', + color: '#22c55e' + }, + { + name: 'Content-Type', + bits: 0, + value: 'text/event-stream', + editable: false, + description: 'SSE MIME type โ€” tells the browser to use EventSource API' + }, + { + name: 'Cache-Control', + bits: 0, + value: 'no-cache', + editable: false, + description: 'No caching for live event streams' + }, + { + name: 'Connection', + bits: 0, + value: 'keep-alive', + editable: false, + description: 'Connection remains open โ€” no Content-Length since the stream is infinite' + } ] }; } -function sseEventLayer(eventType: string, eventId: string, data: string, retry: string): ProtocolLayer { +function sseEventLayer( + eventType: string, + eventId: string, + data: string, + retry: string +): ProtocolLayer { return { name: 'SSE Event', abbreviation: 'SSE', osiLayer: 7, color: '#EF4444', headerFields: [ - { name: 'Event Type', bits: 0, value: eventType, editable: false, description: 'Named event type โ€” clients listen for specific types with addEventListener()' }, - { name: 'Event ID', bits: 0, value: eventId, editable: false, description: 'Unique event identifier โ€” sent as Last-Event-ID on reconnect for resumption' }, - { name: 'Data', bits: 0, value: data, editable: false, description: 'Event payload โ€” UTF-8 text, typically JSON. Multiple data: lines are joined with newlines' }, - ...(retry ? [{ name: 'Retry', bits: 0, value: retry, editable: false, description: 'Reconnection interval in milliseconds โ€” browser waits this long before reconnecting' }] : []) + { + name: 'Event Type', + bits: 0, + value: eventType, + editable: false, + description: 'Named event type โ€” clients listen for specific types with addEventListener()' + }, + { + name: 'Event ID', + bits: 0, + value: eventId, + editable: false, + description: 'Unique event identifier โ€” sent as Last-Event-ID on reconnect for resumption' + }, + { + name: 'Data', + bits: 0, + value: data, + editable: false, + description: + 'Event payload โ€” UTF-8 text, typically JSON. Multiple data: lines are joined with newlines' + }, + ...(retry + ? [ + { + name: 'Retry', + bits: 0, + value: retry, + editable: false, + description: + 'Reconnection interval in milliseconds โ€” browser waits this long before reconnecting' + } + ] + : []) ] }; } @@ -83,7 +173,10 @@ export const sseStream: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52500, dstPort: 443, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), sseRequestLayer() ] }, @@ -100,7 +193,10 @@ export const sseStream: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52500, flags: 'PSH,ACK' }), - createTLSRecordLayer({ contentType: 'Application Data (23)', handshakeType: 'N/A (encrypted)' }), + createTLSRecordLayer({ + contentType: 'Application Data (23)', + handshakeType: 'N/A (encrypted)' + }), sseResponseLayer() ] }, @@ -149,7 +245,12 @@ export const sseStream: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52500, flags: 'PSH,ACK' }), - sseEventLayer('notification', 'evt-003', '{"alert": "System maintenance in 10 minutes"}', '5000') + sseEventLayer( + 'notification', + 'evt-003', + '{"alert": "System maintenance in 10 minutes"}', + '5000' + ) ] }, { diff --git a/src/lib/simulator/simulations/stomp-subscription.ts b/src/lib/simulator/simulations/stomp-subscription.ts index ac13794..10d8de3 100644 --- a/src/lib/simulator/simulations/stomp-subscription.ts +++ b/src/lib/simulator/simulations/stomp-subscription.ts @@ -28,7 +28,7 @@ export const stompSubscription: SimulationConfig = { id: 'connect', label: 'CONNECT', description: - 'The client sends a CONNECT frame with login credentials and protocol version. STOMP frames are human-readable text: a command line, headers as key:value pairs, a blank line, an optional body, and a null character terminator. This simplicity is STOMP\'s main advantage.', + "The client sends a CONNECT frame with login credentials and protocol version. STOMP frames are human-readable text: a command line, headers as key:value pairs, a blank line, an optional body, and a null character terminator. This simplicity is STOMP's main advantage.", fromActor: 'client', toActor: 'broker', duration: 800, diff --git a/src/lib/simulator/simulations/tcp-handshake.ts b/src/lib/simulator/simulations/tcp-handshake.ts index fc70e0e..534505c 100644 --- a/src/lib/simulator/simulations/tcp-handshake.ts +++ b/src/lib/simulator/simulations/tcp-handshake.ts @@ -50,7 +50,7 @@ export const tcpHandshake: SimulationConfig = { id: 'syn-ack', label: 'SYN-ACK', description: - 'Server acknowledges the client\'s SYN and sends its own SYN. The ACK number equals the client\'s sequence + 1, confirming receipt.', + "Server acknowledges the client's SYN and sends its own SYN. The ACK number equals the client's sequence + 1, confirming receipt.", fromActor: 'server', toActor: 'client', duration: 1200, @@ -78,7 +78,7 @@ export const tcpHandshake: SimulationConfig = { id: 'ack', label: 'ACK', description: - 'Client completes the handshake by acknowledging the server\'s SYN. The connection is now ESTABLISHED โ€” both sides agree on sequence numbers.', + "Client completes the handshake by acknowledging the server's SYN. The connection is now ESTABLISHED โ€” both sides agree on sequence numbers.", fromActor: 'client', toActor: 'server', duration: 1000, diff --git a/src/lib/simulator/simulations/tls-handshake.ts b/src/lib/simulator/simulations/tls-handshake.ts index 9334393..aaee2f8 100644 --- a/src/lib/simulator/simulations/tls-handshake.ts +++ b/src/lib/simulator/simulations/tls-handshake.ts @@ -82,7 +82,7 @@ export const tlsHandshake: SimulationConfig = { createTLSRecordLayer({ handshakeType: 'Certificate + Verify', cipherSuite: 'TLS_AES_256_GCM_SHA384', - extensions: 'CN=example.com, Issuer=Let\'s Encrypt', + extensions: "CN=example.com, Issuer=Let's Encrypt", length: 2048 }) ] diff --git a/src/lib/simulator/simulations/udp-datagram.ts b/src/lib/simulator/simulations/udp-datagram.ts index d2e111e..f4cd1f0 100644 --- a/src/lib/simulator/simulations/udp-datagram.ts +++ b/src/lib/simulator/simulations/udp-datagram.ts @@ -27,7 +27,7 @@ export const udpDatagram: SimulationConfig = { id: 'dgram-1', label: 'Datagram #1', description: - 'UDP sends the first datagram immediately โ€” no connection setup needed. Notice the minimal 8-byte header compared to TCP\'s 20 bytes.', + "UDP sends the first datagram immediately โ€” no connection setup needed. Notice the minimal 8-byte header compared to TCP's 20 bytes.", fromActor: 'sender', toActor: 'receiver', duration: 800, @@ -42,7 +42,13 @@ export const udpDatagram: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Payload', bits: 0, value: 'Packet #1: Hello!', editable: false, description: 'Application payload โ€” sent without waiting for acknowledgment' } + { + name: 'Payload', + bits: 0, + value: 'Packet #1: Hello!', + editable: false, + description: 'Application payload โ€” sent without waiting for acknowledgment' + } ] } ] @@ -51,7 +57,7 @@ export const udpDatagram: SimulationConfig = { id: 'dgram-2', label: 'Datagram #2', description: - 'The second datagram is sent right away โ€” UDP doesn\'t wait for the first one to be acknowledged. Each datagram is independent.', + "The second datagram is sent right away โ€” UDP doesn't wait for the first one to be acknowledged. Each datagram is independent.", fromActor: 'sender', toActor: 'receiver', duration: 800, @@ -66,7 +72,13 @@ export const udpDatagram: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Payload', bits: 0, value: 'Packet #2: World!', editable: false, description: 'Another independent datagram' } + { + name: 'Payload', + bits: 0, + value: 'Packet #2: World!', + editable: false, + description: 'Another independent datagram' + } ] } ] @@ -90,7 +102,14 @@ export const udpDatagram: SimulationConfig = { osiLayer: 7, color: '#ef4444', headerFields: [ - { name: 'Payload', bits: 0, value: 'Packet #3: Lost!', editable: false, description: 'This datagram never arrives โ€” lost in the network', color: '#ef4444' } + { + name: 'Payload', + bits: 0, + value: 'Packet #3: Lost!', + editable: false, + description: 'This datagram never arrives โ€” lost in the network', + color: '#ef4444' + } ] } ] @@ -99,7 +118,7 @@ export const udpDatagram: SimulationConfig = { id: 'dgram-4', label: 'Datagram #4', description: - 'The sender keeps going, unaware that datagram #3 was lost. This is the trade-off: UDP is fast because it doesn\'t wait, but unreliable.', + "The sender keeps going, unaware that datagram #3 was lost. This is the trade-off: UDP is fast because it doesn't wait, but unreliable.", fromActor: 'sender', toActor: 'receiver', duration: 800, @@ -113,7 +132,13 @@ export const udpDatagram: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Payload', bits: 0, value: 'Packet #4: Still here', editable: false, description: 'The sender continues without knowing about the loss' } + { + name: 'Payload', + bits: 0, + value: 'Packet #4: Still here', + editable: false, + description: 'The sender continues without knowing about the loss' + } ] } ] @@ -122,7 +147,7 @@ export const udpDatagram: SimulationConfig = { id: 'dgram-5', label: 'Datagram #5', description: - 'Final datagram sent. The receiver got packets 1, 2, 4, and 5 โ€” but not 3. If ordering matters, the application must handle that itself (UDP doesn\'t).', + "Final datagram sent. The receiver got packets 1, 2, 4, and 5 โ€” but not 3. If ordering matters, the application must handle that itself (UDP doesn't).", fromActor: 'sender', toActor: 'receiver', duration: 800, @@ -136,7 +161,13 @@ export const udpDatagram: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Payload', bits: 0, value: 'Packet #5: Done', editable: false, description: 'Last datagram โ€” receiver reconstructs what it can' } + { + name: 'Payload', + bits: 0, + value: 'Packet #5: Done', + editable: false, + description: 'Last datagram โ€” receiver reconstructs what it can' + } ] } ] diff --git a/src/lib/simulator/simulations/uwb-ranging.ts b/src/lib/simulator/simulations/uwb-ranging.ts index f0465f7..6ddb4ea 100644 --- a/src/lib/simulator/simulations/uwb-ranging.ts +++ b/src/lib/simulator/simulations/uwb-ranging.ts @@ -5,7 +5,7 @@ export const uwbRanging: SimulationConfig = { protocolId: 'uwb', title: 'UWB Ranging โ€” BLE bootstrap โ†’ DS-TWR โ†’ distance', description: - "The five beats every consumer UWB session walks: BLE advertise โ†’ BLE GATT pairing + STS_KEY transport โ†’ UWB Poll โ†’ UWB Response โ†’ UWB Final โ†’ distance. Same flow under AirTag Precision Finding, BMW Digital Key, Aqara U400 hands-free unlock, and (from Feb 2026) Aliro 1.0 for everyone else.", + 'The five beats every consumer UWB session walks: BLE advertise โ†’ BLE GATT pairing + STS_KEY transport โ†’ UWB Poll โ†’ UWB Response โ†’ UWB Final โ†’ distance. Same flow under AirTag Precision Finding, BMW Digital Key, Aqara U400 hands-free unlock, and (from Feb 2026) Aliro 1.0 for everyone else.', tier: 'client', actors: [ { id: 'phone', label: 'iPhone (Initiator)', icon: 'device', position: 'left' }, @@ -17,10 +17,7 @@ export const uwbRanging: SimulationConfig = { label: 'UWB channel', type: 'select', defaultValue: 'Channel 9 (7987.2 MHz)', - options: [ - 'Channel 5 (6489.6 MHz, universal)', - 'Channel 9 (7987.2 MHz, restricted in Japan)' - ] + options: ['Channel 5 (6489.6 MHz, universal)', 'Channel 9 (7987.2 MHz, restricted in Japan)'] }, { id: 'mode', @@ -165,7 +162,7 @@ export const uwbRanging: SimulationConfig = { id: 'compute-tof', label: 'Compute ToF โ€” DS-TWR cross-product cancels clock drift', description: - "The anchor (or phone, in some implementations) plugs all six timestamps into the cross-product:\n\n`ToF = (T_round1 ยท T_round2 โˆ’ T_reply1 ยท T_reply2) / (T_round1 + T_round2 + T_reply1 + T_reply2)`\n\nwhere `T_round1 = t4โˆ’t1`, `T_reply1 = t3โˆ’t2`, `T_round2 = t6โˆ’t3`, `T_reply2 = t5โˆ’t4`. The cross-product cancels relative clock drift to first order โ€” DS-TWR is insensitive to 20 ppm crystal offsets, where SS-TWR would yield ~1.2 m of bias under the same conditions. Multiply ToF by `c โ‰ˆ 0.299792458 m/ns` to get distance.", + 'The anchor (or phone, in some implementations) plugs all six timestamps into the cross-product:\n\n`ToF = (T_round1 ยท T_round2 โˆ’ T_reply1 ยท T_reply2) / (T_round1 + T_round2 + T_reply1 + T_reply2)`\n\nwhere `T_round1 = t4โˆ’t1`, `T_reply1 = t3โˆ’t2`, `T_round2 = t6โˆ’t3`, `T_reply2 = t5โˆ’t4`. The cross-product cancels relative clock drift to first order โ€” DS-TWR is insensitive to 20 ppm crystal offsets, where SS-TWR would yield ~1.2 m of bias under the same conditions. Multiply ToF by `c โ‰ˆ 0.299792458 m/ns` to get distance.', fromActor: 'anchor', toActor: 'phone', duration: 800, diff --git a/src/lib/simulator/simulations/webrtc-peer.ts b/src/lib/simulator/simulations/webrtc-peer.ts index 01c455f..f7ec031 100644 --- a/src/lib/simulator/simulations/webrtc-peer.ts +++ b/src/lib/simulator/simulations/webrtc-peer.ts @@ -38,7 +38,8 @@ function createSDPLayer(type: 'Offer' | 'Answer') { bits: 0, value: 'sha-256 AB:CD:...', editable: false, - description: 'DTLS certificate fingerprint โ€” verified during DTLS handshake for authentication' + description: + 'DTLS certificate fingerprint โ€” verified during DTLS handshake for authentication' } ] }; @@ -170,7 +171,7 @@ export const webrtcPeer: SimulationConfig = { id: 'sdp-answer-relay', label: 'SDP Answer (relay)', description: - 'Signaling server relays the answer to Peer A. Both peers now know each other\'s capabilities. Next, ICE connectivity checks will find the best direct path between them.', + "Signaling server relays the answer to Peer A. Both peers now know each other's capabilities. Next, ICE connectivity checks will find the best direct path between them.", fromActor: 'signal', toActor: 'peerA', duration: 600, @@ -186,7 +187,7 @@ export const webrtcPeer: SimulationConfig = { id: 'ice-stun', label: 'ICE / STUN', description: - 'Peers exchange STUN Binding Requests directly to test connectivity. ICE tries multiple candidate paths (host, server-reflexive, relay) and picks the best one. STUN reveals each peer\'s public IP.', + "Peers exchange STUN Binding Requests directly to test connectivity. ICE tries multiple candidate paths (host, server-reflexive, relay) and picks the best one. STUN reveals each peer's public IP.", fromActor: 'peerA', toActor: 'peerB', duration: 1000, diff --git a/src/lib/simulator/simulations/websocket.ts b/src/lib/simulator/simulations/websocket.ts index 5b6f060..4a8b2e3 100644 --- a/src/lib/simulator/simulations/websocket.ts +++ b/src/lib/simulator/simulations/websocket.ts @@ -43,12 +43,49 @@ export const websocketConnection: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Method', bits: 0, value: 'GET', editable: false, description: 'WebSocket upgrade always starts with GET' }, - { name: 'Path', bits: 0, value: '/ws/chat', editable: false, description: 'WebSocket endpoint path' }, - { name: 'Upgrade', bits: 0, value: 'websocket', editable: false, description: 'Requests protocol switch to WebSocket' }, - { name: 'Connection', bits: 0, value: 'Upgrade', editable: false, description: 'Signals this is a connection upgrade, not a normal request' }, - { name: 'Sec-WebSocket-Key', bits: 0, value: 'dGhlIHNhbXBsZ...', editable: false, description: 'Base64-encoded random key โ€” server hashes it to prove it supports WebSocket' }, - { name: 'Sec-WebSocket-Version', bits: 0, value: '13', editable: false, description: 'WebSocket protocol version (13 is the only current version)' } + { + name: 'Method', + bits: 0, + value: 'GET', + editable: false, + description: 'WebSocket upgrade always starts with GET' + }, + { + name: 'Path', + bits: 0, + value: '/ws/chat', + editable: false, + description: 'WebSocket endpoint path' + }, + { + name: 'Upgrade', + bits: 0, + value: 'websocket', + editable: false, + description: 'Requests protocol switch to WebSocket' + }, + { + name: 'Connection', + bits: 0, + value: 'Upgrade', + editable: false, + description: 'Signals this is a connection upgrade, not a normal request' + }, + { + name: 'Sec-WebSocket-Key', + bits: 0, + value: 'dGhlIHNhbXBsZ...', + editable: false, + description: + 'Base64-encoded random key โ€” server hashes it to prove it supports WebSocket' + }, + { + name: 'Sec-WebSocket-Version', + bits: 0, + value: '13', + editable: false, + description: 'WebSocket protocol version (13 is the only current version)' + } ] } ] @@ -72,10 +109,36 @@ export const websocketConnection: SimulationConfig = { osiLayer: 7, color: '#00D4FF', headerFields: [ - { name: 'Status', bits: 0, value: '101 Switching Protocols', editable: false, description: 'Server agrees to switch from HTTP to WebSocket', color: '#22c55e' }, - { name: 'Upgrade', bits: 0, value: 'websocket', editable: false, description: 'Confirms the protocol switch' }, - { name: 'Connection', bits: 0, value: 'Upgrade', editable: false, description: 'Connection is now upgraded' }, - { name: 'Sec-WebSocket-Accept', bits: 0, value: 's3pPLMBiTxaQ9k...', editable: false, description: 'SHA-1 hash of the client key + magic GUID โ€” proves server supports WebSocket' } + { + name: 'Status', + bits: 0, + value: '101 Switching Protocols', + editable: false, + description: 'Server agrees to switch from HTTP to WebSocket', + color: '#22c55e' + }, + { + name: 'Upgrade', + bits: 0, + value: 'websocket', + editable: false, + description: 'Confirms the protocol switch' + }, + { + name: 'Connection', + bits: 0, + value: 'Upgrade', + editable: false, + description: 'Connection is now upgraded' + }, + { + name: 'Sec-WebSocket-Accept', + bits: 0, + value: 's3pPLMBiTxaQ9k...', + editable: false, + description: + 'SHA-1 hash of the client key + magic GUID โ€” proves server supports WebSocket' + } ] } ] @@ -109,7 +172,12 @@ export const websocketConnection: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52200, flags: 'PSH,ACK' }), - createWebSocketFrameLayer({ opcode: 'Text (0x1)', mask: 0, maskingKey: 'N/A', payload: 'Message received!' }) + createWebSocketFrameLayer({ + opcode: 'Text (0x1)', + mask: 0, + maskingKey: 'N/A', + payload: 'Message received!' + }) ] }, { @@ -125,7 +193,13 @@ export const websocketConnection: SimulationConfig = { createEthernetLayer({ srcMac: 'AA:BB:CC:DD:EE:FF', dstMac: '00:1A:2B:3C:4D:5E' }), createIPv4Layer({ srcIp: '93.184.216.34', dstIp: '192.168.1.100', protocol: 6 }), createTCPLayer({ srcPort: 443, dstPort: 52200, flags: 'PSH,ACK' }), - createWebSocketFrameLayer({ opcode: 'Ping (0x9)', mask: 0, payloadLength: 0, maskingKey: 'N/A', payload: '' }) + createWebSocketFrameLayer({ + opcode: 'Ping (0x9)', + mask: 0, + payloadLength: 0, + maskingKey: 'N/A', + payload: '' + }) ] }, { @@ -141,7 +215,12 @@ export const websocketConnection: SimulationConfig = { createEthernetLayer(), createIPv4Layer({ protocol: 6 }), createTCPLayer({ srcPort: 52200, dstPort: 443, flags: 'PSH,ACK' }), - createWebSocketFrameLayer({ opcode: 'Close (0x8)', payloadLength: 2, payload: '1000 (Normal)', maskingKey: '0x55AA33CC' }) + createWebSocketFrameLayer({ + opcode: 'Close (0x8)', + payloadLength: 2, + payload: '1000 (Normal)', + maskingKey: '0x55AA33CC' + }) ] } ] diff --git a/src/lib/simulator/simulations/wifi-association.ts b/src/lib/simulator/simulations/wifi-association.ts index 50f80ed..81cd1c6 100644 --- a/src/lib/simulator/simulations/wifi-association.ts +++ b/src/lib/simulator/simulations/wifi-association.ts @@ -38,7 +38,7 @@ export const wifiAssociation: SimulationConfig = { id: 'auth', label: 'Authentication', description: - 'The laptop sends an Authentication frame to the AP using WPA3\'s Simultaneous Authentication of Equals (SAE). Unlike WPA2\'s simple open-system authentication, SAE performs a zero-knowledge proof โ€” neither side reveals the password, yet both can verify the other knows it. This prevents offline dictionary attacks.', + "The laptop sends an Authentication frame to the AP using WPA3's Simultaneous Authentication of Equals (SAE). Unlike WPA2's simple open-system authentication, SAE performs a zero-knowledge proof โ€” neither side reveals the password, yet both can verify the other knows it. This prevents offline dictionary attacks.", fromActor: 'laptop', toActor: 'ap', duration: 800, @@ -57,7 +57,7 @@ export const wifiAssociation: SimulationConfig = { id: 'assoc-request', label: 'Association Request', description: - 'After successful authentication, the laptop sends an Association Request to join the BSS (Basic Service Set). This frame advertises the laptop\'s capabilities: supported PHY rates, power management mode, and QoS support. The AP uses this to decide whether the station is compatible and which rates to use.', + "After successful authentication, the laptop sends an Association Request to join the BSS (Basic Service Set). This frame advertises the laptop's capabilities: supported PHY rates, power management mode, and QoS support. The AP uses this to decide whether the station is compatible and which rates to use.", fromActor: 'laptop', toActor: 'ap', duration: 800, @@ -136,7 +136,7 @@ export const wifiAssociation: SimulationConfig = { id: 'bridge-to-ethernet', label: 'Bridge to Ethernet', description: - 'The AP decrypts the Wi-Fi frame and re-encapsulates the IP packet into a standard Ethernet frame for the wired LAN. The AP\'s MAC becomes the Ethernet source, and the LAN server\'s MAC becomes the destination. This bridging is transparent โ€” the server sees a normal Ethernet frame and has no idea the traffic originated from a wireless client.', + "The AP decrypts the Wi-Fi frame and re-encapsulates the IP packet into a standard Ethernet frame for the wired LAN. The AP's MAC becomes the Ethernet source, and the LAN server's MAC becomes the destination. This bridging is transparent โ€” the server sees a normal Ethernet frame and has no idea the traffic originated from a wireless client.", fromActor: 'ap', toActor: 'server', duration: 600, diff --git a/src/lib/simulator/simulations/wireguard-handshake.ts b/src/lib/simulator/simulations/wireguard-handshake.ts index c0aadc4..461499a 100644 --- a/src/lib/simulator/simulations/wireguard-handshake.ts +++ b/src/lib/simulator/simulations/wireguard-handshake.ts @@ -8,7 +8,7 @@ export const wireguardHandshake: SimulationConfig = { protocolId: 'wireguard', title: 'WireGuard โ€” Noise_IKpsk2 Handshake and Transport', description: - "Watch two WireGuard peers โ€” Alice and Bob โ€” complete a one-round-trip Noise_IKpsk2 handshake and start exchanging encrypted IP packets. Then watch the 120-second rekey, the design that gives WireGuard per-handshake forward secrecy.", + 'Watch two WireGuard peers โ€” Alice and Bob โ€” complete a one-round-trip Noise_IKpsk2 handshake and start exchanging encrypted IP packets. Then watch the 120-second rekey, the design that gives WireGuard per-handshake forward secrecy.', tier: 'client', actors: [ { id: 'alice', label: 'Peer A (Alice)', icon: 'client', position: 'left' }, @@ -48,7 +48,8 @@ export const wireguardHandshake: SimulationConfig = { type: '1 (Handshake Init)', senderIndex: '0xABCD1234', receiverIndex: '0x00000000', - payload: 'ephemeral_pub (32 B) + enc_static (32+16 B) + enc_TAI64N (12+16 B) + MAC1 (16 B) + MAC2 (16 B)' + payload: + 'ephemeral_pub (32 B) + enc_static (32+16 B) + enc_TAI64N (12+16 B) + MAC1 (16 B) + MAC2 (16 B)' }) ] }, @@ -99,7 +100,7 @@ export const wireguardHandshake: SimulationConfig = { id: 'transport-data-2', label: 'Transport Data (B โ†’ A)', description: - "Reverse direction uses a *different* key (WireGuard keys are unidirectional โ€” separate `T_send` and `T_recv` derived from the same chaining key) and a *separate* counter. Each direction has its own anti-replay window.", + 'Reverse direction uses a *different* key (WireGuard keys are unidirectional โ€” separate `T_send` and `T_recv` derived from the same chaining key) and a *separate* counter. Each direction has its own anti-replay window.', fromActor: 'bob', toActor: 'alice', duration: 1300, @@ -142,7 +143,7 @@ export const wireguardHandshake: SimulationConfig = { id: 'rekey', label: 'Rekey at REKEY_AFTER_TIME (120 s)', description: - "At 120 seconds, Alice (whoever sent the first handshake) initiates a fresh handshake. A new pair of ephemeral keys; the chaining key is freshly derived; the old session keys are wiped. **Per-handshake forward secrecy** across sessions, **per-message forward secrecy** within a session.", + 'At 120 seconds, Alice (whoever sent the first handshake) initiates a fresh handshake. A new pair of ephemeral keys; the chaining key is freshly derived; the old session keys are wiped. **Per-handshake forward secrecy** across sessions, **per-message forward secrecy** within a session.', fromActor: 'alice', toActor: 'bob', duration: 1400, diff --git a/src/lib/simulator/simulations/zigbee-join.ts b/src/lib/simulator/simulations/zigbee-join.ts index bf2fc6a..f53b26f 100644 --- a/src/lib/simulator/simulations/zigbee-join.ts +++ b/src/lib/simulator/simulations/zigbee-join.ts @@ -5,7 +5,7 @@ export const zigbeeJoin: SimulationConfig = { protocolId: 'zigbee', title: 'Zigbee Device Join โ€” Coordinator โ†’ new bulb โ†’ first OnOff command', description: - "Watch a new Zigbee 3.0 bulb join a Trust Centerโ€“centralised network with an install code: beacon scan โ†’ Association โ†’ Transport-Key โ†’ Toggle. Same flow under every Philips Hue join, IKEA Trรฅdfri pairing, and Aqara device commissioning in 2026.", + 'Watch a new Zigbee 3.0 bulb join a Trust Centerโ€“centralised network with an install code: beacon scan โ†’ Association โ†’ Transport-Key โ†’ Toggle. Same flow under every Philips Hue join, IKEA Trรฅdfri pairing, and Aqara device commissioning in 2026.', tier: 'client', actors: [ { id: 'bulb', label: 'New Bulb (Joiner)', icon: 'device', position: 'left' }, @@ -18,14 +18,23 @@ export const zigbeeJoin: SimulationConfig = { label: 'Zigbee channel', type: 'select', defaultValue: '25 (2475 MHz)', - options: ['15 (2425 MHz, avoids Wi-Fi 6)', '20 (2450 MHz)', '25 (2475 MHz)', '26 (2480 MHz, regulatory limit)'] + options: [ + '15 (2425 MHz, avoids Wi-Fi 6)', + '20 (2450 MHz)', + '25 (2475 MHz)', + '26 (2480 MHz, regulatory limit)' + ] }, { id: 'auth', label: 'Pre-configured link key', type: 'select', defaultValue: 'Install code (secure)', - options: ['Install code (secure)', 'ZigBeeAlliance09 default (legacy)', 'R23 Dynamic Link Key (SPEKE/Curve25519)'] + options: [ + 'Install code (secure)', + 'ZigBeeAlliance09 default (legacy)', + 'R23 Dynamic Link Key (SPEKE/Curve25519)' + ] }, { id: 'panId', @@ -92,7 +101,8 @@ export const zigbeeJoin: SimulationConfig = { dstPan: '0x1A62', dstAddr: '0x0000 (Coordinator)', srcAddr: 'EUI-64 of the joiner', - payload: 'MAC Cmd 0x01 โ€” Association Request. Capability=0x8E (FFD, mains-powered, security-capable, allocate-short)' + payload: + 'MAC Cmd 0x01 โ€” Association Request. Capability=0x8E (FFD, mains-powered, security-capable, allocate-short)' }) ] }, @@ -112,7 +122,8 @@ export const zigbeeJoin: SimulationConfig = { dstPan: '0x1A62', dstAddr: 'EUI-64 of joiner', srcAddr: '0x0000 (Coordinator EUI-64)', - payload: 'MAC Cmd 0x02 โ€” Association Response. Allocated short=0x3F4E. Status=0x00 (success)' + payload: + 'MAC Cmd 0x02 โ€” Association Response. Allocated short=0x3F4E. Status=0x00 (success)' }) ] }, @@ -127,13 +138,15 @@ export const zigbeeJoin: SimulationConfig = { highlight: ['Frame Control', 'Aux Sec Hdr / MIC', 'Payload (APS frame)'], layers: [ createZigbeeNWKLayer({ - frameControl: '0x0048 (Data, ProtoVer=2, NWK Security off โ€” APS-level only on Transport-Key)', + frameControl: + '0x0048 (Data, ProtoVer=2, NWK Security off โ€” APS-level only on Transport-Key)', dstAddr: '0x3F4E', srcAddr: '0x0000', radius: 1, seq: 0x10, security: '(none at NWK; APS encrypts under pre-conf link key)', - payload: 'APS Cmd 0x05 โ€” Transport-Key (Network Key). Encrypted under install-code-derived link key.' + payload: + 'APS Cmd 0x05 โ€” Transport-Key (Network Key). Encrypted under install-code-derived link key.' }) ] }, @@ -141,7 +154,7 @@ export const zigbeeJoin: SimulationConfig = { id: 'device-announce', label: 'Device Announce โ€” bulb broadcasts its arrival', description: - "The joiner now has both a short address and the network key. It NWK-broadcasts a **Device Announce** ZDO message (cluster 0x0013) โ€” *I am 0x3F4E, EUI-64 = โ€ฆ, capability = โ€ฆ* โ€” so every router knows to add it to their routing tables and binding tables. From here the device is on the mesh.", + 'The joiner now has both a short address and the network key. It NWK-broadcasts a **Device Announce** ZDO message (cluster 0x0013) โ€” *I am 0x3F4E, EUI-64 = โ€ฆ, capability = โ€ฆ* โ€” so every router knows to add it to their routing tables and binding tables. From here the device is on the mesh.', fromActor: 'bulb', toActor: 'router', duration: 900, @@ -162,7 +175,7 @@ export const zigbeeJoin: SimulationConfig = { id: 'onoff-toggle', label: 'First command โ€” ZCL OnOff.Toggle = 0x02', description: - "A switch (or the Hue app via the bridge) sends a ZCL OnOff Toggle command to the new bulb. APS frame: Cluster 0x0006 (OnOff), Profile 0x0104 (Home Automation), Cmd 0x02 (Toggle). The ZCL FrameCtrl byte 0x11 says *cluster-specific, clientโ†’server, disable default response*. The whole on-the-wire payload is roughly 40 bytes including all the headers.", + 'A switch (or the Hue app via the bridge) sends a ZCL OnOff Toggle command to the new bulb. APS frame: Cluster 0x0006 (OnOff), Profile 0x0104 (Home Automation), Cmd 0x02 (Toggle). The ZCL FrameCtrl byte 0x11 says *cluster-specific, clientโ†’server, disable default response*. The whole on-the-wire payload is roughly 40 bytes including all the headers.', fromActor: 'coord', toActor: 'bulb', duration: 1000, diff --git a/src/lib/tour/app-tour.ts b/src/lib/tour/app-tour.ts index 7db400f..d3a0e60 100644 --- a/src/lib/tour/app-tour.ts +++ b/src/lib/tour/app-tour.ts @@ -33,8 +33,7 @@ export async function startTour(appState: AppState, allNodes: GraphNode[]): Prom // destroy so the user lands back where they started. const savedPath = window.location.pathname + window.location.search; const baseHome = `${base}/`; - const isAtHome = - window.location.pathname === baseHome || window.location.pathname === base; + const isAtHome = window.location.pathname === baseHome || window.location.pathname === base; if (!isAtHome) { await goto(baseHome, { replaceState: false, keepFocus: true }); } diff --git a/src/routes/layout.css b/src/routes/layout.css index a5ff270..a47267c 100644 --- a/src/routes/layout.css +++ b/src/routes/layout.css @@ -16,7 +16,13 @@ --theme-scrollbar: rgba(255, 255, 255, 0.12); --theme-scrollbar-thumb: rgba(255, 255, 255, 0.1); --theme-scrollbar-thumb-hover: rgba(255, 255, 255, 0.2); - --theme-panel-desktop: linear-gradient(to right, rgb(9 14 26 / 0.6), rgb(9 14 26 / 0.88) 25%, rgb(7 10 20 / 0.98) 70%, rgb(5 8 16 / 1)); + --theme-panel-desktop: linear-gradient( + to right, + rgb(9 14 26 / 0.6), + rgb(9 14 26 / 0.88) 25%, + rgb(7 10 20 / 0.98) 70%, + rgb(5 8 16 / 1) + ); --theme-panel-mobile: rgb(5 8 16 / 0.98); --theme-tooltip-bg: rgba(15, 23, 42, 0.92); --theme-shadow-color: rgba(0, 0, 0, 0.3); @@ -37,7 +43,13 @@ --theme-scrollbar: rgba(0, 0, 0, 0.08); --theme-scrollbar-thumb: rgba(0, 0, 0, 0.12); --theme-scrollbar-thumb-hover: rgba(0, 0, 0, 0.2); - --theme-panel-desktop: linear-gradient(to right, rgb(219 234 254 / 0.55), rgb(232 238 246 / 0.92) 25%, rgb(241 245 249 / 0.98) 70%, rgb(248 250 252 / 1)); + --theme-panel-desktop: linear-gradient( + to right, + rgb(219 234 254 / 0.55), + rgb(232 238 246 / 0.92) 25%, + rgb(241 245 249 / 0.98) 70%, + rgb(248 250 252 / 1) + ); --theme-panel-mobile: rgb(241 245 249 / 0.98); --theme-tooltip-bg: rgba(248, 250, 252, 0.95); --theme-shadow-color: rgba(0, 0, 0, 0.08); From 36071fcc9c6ac44f4e1a6aca375e6e376ce84d17 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:19:07 -0500 Subject: [PATCH 06/16] ci: gate check + lint + build on PRs and before deploy - New ci.yml runs prettier/eslint (npm run lint), svelte-check (npm run check), and a production build on pull requests and non-main pushes. - deploy.yml now runs the same lint + check gates before building, so main cannot deploy a red baseline. (Test + cross-reference-validation gates are added in the test/validator commits that follow.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/deploy.yml | 5 +++++ 2 files changed, 36 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4f33cdf --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI + +on: + pull_request: + push: + branches-ignore: [main] # main is covered by deploy.yml + workflow_dispatch: + +permissions: + contents: read + +jobs: + quality: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + + - run: npm ci + + # Formatting + lint (prettier --check . && eslint .) + - run: npm run lint + + # Type + Svelte diagnostics + - run: npm run check + + - run: npm run build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d07b670..00f67e7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,6 +26,11 @@ jobs: cache: npm - run: npm ci + + # Quality gates โ€” never deploy a red baseline. + - run: npm run lint + - run: npm run check + - run: npm run build env: BASE_PATH: '/${{ github.event.repository.name }}' From 9821546a2b8a90edaa7758ec4dcaf00fdc35796c Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:23:04 -0500 Subject: [PATCH 07/16] fix(simulator): load sim state once via untrack, not in an $effect The earlier reactivity-warning fix wrapped simState.load() in an $effect, which made Svelte flag unsafe state mutation at runtime (config/userValues written inside an effect). The parent already remounts via {#key protocolId}, so the load is genuinely once-per-mount; untrack(() => getSimulation(protocolId)) expresses that, silences the state_referenced_locally warning, and removes the runtime errors. Verified clean in-browser across TCP/TLS simulate + stepping. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- src/lib/simulator/components/SimulatorView.svelte | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/simulator/components/SimulatorView.svelte b/src/lib/simulator/components/SimulatorView.svelte index 9240a70..c10df47 100644 --- a/src/lib/simulator/components/SimulatorView.svelte +++ b/src/lib/simulator/components/SimulatorView.svelte @@ -1,4 +1,5 @@ <script lang="ts"> + import { untrack } from 'svelte'; import { SimulatorState } from '../state.svelte'; import { getSimulation } from '../simulations/index'; import StepTimeline from './StepTimeline.svelte'; @@ -15,14 +16,14 @@ let { protocolId, color }: Props = $props(); const simState = new SimulatorState(); - const config = $derived(getSimulation(protocolId)); - // Reload whenever the resolved simulation changes. The parent also wraps - // this in {#key protocolId} to fully remount, so in practice this runs once - // per protocol โ€” but deriving keeps it correct if that guard is ever removed. - $effect(() => { - if (config) simState.load(config); - }); + // Resolve and load the simulation exactly once at mount. The parent wraps + // this component in {#key protocolId} so a protocol change fully remounts it + // โ€” so reading protocolId once here is intentional. `untrack` documents that + // (and avoids loading sim state inside an effect, which Svelte flags as an + // unsafe mutation). + const config = untrack(() => getSimulation(protocolId)); + if (config) simState.load(config); </script> {#if config} From 63a97036c41249b4c90547fa2cd1625ba2f2ae6c Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:31:09 -0500 Subject: [PATCH 08/16] test: add Vitest unit suite + Playwright e2e critical paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unit (vitest, node env): 39 tests over the pure logic the content layer leans on โ€” sequence-parser (notes/arrows/blocks), text-parser (rich-markup grammar, cross-ref resolution, bold-group recursion, strip), math, and color helpers. Config added to vite.config.ts; scripts test:unit/test:unit:watch added; `npm test` now runs unit then e2e. E2e (playwright, against the production preview โ€” no window.__dev): 15 tests covering graph load + console-clean, /p/tcp detail + overview, Simulate tab, 404, category/subcategory, search, every registry/book/journey page prerender, and a mobile bottom-sheet + no-horizontal-overflow check. Deleted the demo scaffolding routes (src/routes/demo/**) and their placeholder spec. CI (ci.yml) now runs test:unit + e2e. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .github/workflows/ci.yml | 5 +- e2e/app.e2e.ts | 125 ++++ package-lock.json | 537 +++++++++++++++++- package.json | 8 +- src/lib/utils/colors.test.ts | 54 ++ src/lib/utils/math.test.ts | 64 +++ src/lib/utils/sequence-parser.test.ts | 93 +++ src/lib/utils/text-parser.test.ts | 107 ++++ src/routes/demo/+page.svelte | 5 - src/routes/demo/playwright/+page.svelte | 1 - src/routes/demo/playwright/page.svelte.e2e.ts | 6 - vite.config.ts | 11 +- 12 files changed, 981 insertions(+), 35 deletions(-) create mode 100644 e2e/app.e2e.ts create mode 100644 src/lib/utils/colors.test.ts create mode 100644 src/lib/utils/math.test.ts create mode 100644 src/lib/utils/sequence-parser.test.ts create mode 100644 src/lib/utils/text-parser.test.ts delete mode 100644 src/routes/demo/+page.svelte delete mode 100644 src/routes/demo/playwright/+page.svelte delete mode 100644 src/routes/demo/playwright/page.svelte.e2e.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f33cdf..923bcae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,4 +28,7 @@ jobs: # Type + Svelte diagnostics - run: npm run check - - run: npm run build + # Unit tests (vitest) + e2e (playwright builds + previews internally) + - run: npm run test:unit + - run: npx playwright install --with-deps chromium + - run: npm run test:e2e diff --git a/e2e/app.e2e.ts b/e2e/app.e2e.ts new file mode 100644 index 0000000..4eec0f3 --- /dev/null +++ b/e2e/app.e2e.ts @@ -0,0 +1,125 @@ +import { expect, test, type Page } from '@playwright/test'; + +/** + * End-to-end smoke + critical-path coverage. These run against the production + * build (`npm run build && npm run preview`), so the dev-only `window.__dev` + * helper is unavailable โ€” every test drives the app through real URLs and + * clicks, the same way a user (or a crawler) would. + */ + +/** Collect console errors so a test can assert the page stayed clean. */ +function trackConsoleErrors(page: Page): string[] { + const errors: string[] = []; + page.on('console', (msg) => { + if (msg.type() === 'error') errors.push(msg.text()); + }); + page.on('pageerror', (err) => errors.push(String(err))); + return errors; +} + +test.describe('home / graph', () => { + test('loads the graph canvas with the right title and no console errors', async ({ page }) => { + const errors = trackConsoleErrors(page); + await page.goto('/'); + await expect(page).toHaveTitle(/Protocol Lab/); + const canvas = page.locator('canvas').first(); + await expect(canvas).toBeVisible(); + const box = await canvas.boundingBox(); + expect(box?.width ?? 0).toBeGreaterThan(100); + expect(box?.height ?? 0).toBeGreaterThan(100); + expect(errors, errors.join('\n')).toEqual([]); + }); +}); + +test.describe('protocol detail', () => { + test('navigating to /p/tcp opens the TCP panel with overview prose', async ({ page }) => { + await page.goto('/p/tcp'); + await expect(page).toHaveTitle(/TCP/); + await expect(page.getByRole('heading', { name: 'TCP', exact: true })).toBeVisible(); + // Overview mentions TCP somewhere in the prose body. + await expect( + page.getByText(/Transmission Control Protocol|backbone of the internet/i).first() + ).toBeVisible(); + }); + + test('the Simulate tab reveals the step-driven simulator', async ({ page }) => { + await page.goto('/p/tcp'); + await page + .getByRole('button', { name: /Simulate/i }) + .first() + .click(); + await expect(page.locator('[data-tour="simulator-view"]')).toBeVisible(); + // A playback control should be present (Play / Step). + await expect(page.getByRole('button', { name: /Play|Step/i }).first()).toBeVisible(); + }); + + test('404s on an unknown protocol id', async ({ page }) => { + const res = await page.goto('/p/definitely-not-a-protocol'); + // adapter-static serves the SvelteKit error page; status may be 200 for the + // fallback shell, so assert on the rendered error text instead. + await expect(page.getByText(/not found|404|Unknown protocol/i).first()).toBeVisible(); + expect(res).toBeTruthy(); + }); +}); + +test.describe('category & subcategory', () => { + test('/c/transport renders the Transport category', async ({ page }) => { + await page.goto('/c/transport'); + await expect(page.getByText(/Transport/i).first()).toBeVisible(); + }); + + test('/s/link-layer renders the subcategory guide', async ({ page }) => { + await page.goto('/s/link-layer'); + await expect(page.locator('h2').first()).toBeVisible(); + }); +}); + +test.describe('search', () => { + test('typing a query surfaces matching results', async ({ page }) => { + await page.goto('/'); + // Open search (button labelled for screen readers) then type. + const searchTrigger = page.getByRole('button', { name: /search/i }).first(); + if (await searchTrigger.isVisible().catch(() => false)) { + await searchTrigger.click(); + } + const input = page.getByRole('textbox').first(); + await input.fill('TCP'); + await expect(page.getByRole('option').first()).toBeVisible(); + }); +}); + +test.describe('registry & book pages', () => { + const pages: [string, RegExp][] = [ + ['/rfcs', /RFC/i], + ['/pioneers', /Pioneers/i], + ['/outages', /Outage/i], + ['/glossary', /Glossary/i], + ['/frontier', /Frontier/i], + ['/book/foundations', /.+/], + ['/journey/url-bar', /.+/] + ]; + + for (const [path, titleRe] of pages) { + test(`${path} prerenders and shows content`, async ({ page }) => { + const errors = trackConsoleErrors(page); + await page.goto(path); + await expect(page).toHaveTitle(titleRe); + // Registry "pages" render in the side panel; some lead with h3 sub-heads + // (glossary) rather than an h1/h2, so accept any structural heading. + await expect(page.locator('h1, h2, h3').first()).toBeVisible(); + expect(errors, errors.join('\n')).toEqual([]); + }); + } +}); + +test.describe('mobile', () => { + test.use({ viewport: { width: 375, height: 812 } }); + + test('protocol detail renders as a bottom sheet on a phone viewport', async ({ page }) => { + await page.goto('/p/tcp'); + await expect(page.getByRole('heading', { name: 'TCP', exact: true })).toBeVisible(); + // No horizontal overflow on a narrow viewport. + const scrollWidth = await page.evaluate(() => document.documentElement.scrollWidth); + expect(scrollWidth).toBeLessThanOrEqual(375 + 1); + }); +}); diff --git a/package-lock.json b/package-lock.json index 8c75934..a9372da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "@types/d3-force": "^3.0.10", "@types/d3-quadtree": "^3.0.6", "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.9", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.14.0", @@ -40,7 +41,8 @@ "tailwindcss": "^4.1.18", "typescript": "^5.9.3", "typescript-eslint": "^8.54.0", - "vite": "^7.3.1" + "vite": "^7.3.1", + "vitest": "^4.1.9" } }, "node_modules/@antfu/install-pkg": { @@ -56,6 +58,66 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@braintree/sanitize-url": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", @@ -1284,7 +1346,6 @@ "integrity": "sha512-WDJApQ1ipZLbaC4YjqJjwYR9y7QQgTqVwEObgNZ8Mu/eVQJqn4Qzw9a+n7mr5xnBYiAYz9UdJOOl+aqVbfGXcA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", @@ -1327,7 +1388,6 @@ "integrity": "sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "deepmerge": "^4.3.1", @@ -1646,6 +1706,17 @@ "vite": "^5.2.0 || ^6 || ^7" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", @@ -1906,6 +1977,13 @@ "@types/d3-selection": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1931,7 +2009,6 @@ "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -1987,7 +2064,6 @@ "integrity": "sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.57.0", "@typescript-eslint/types": "8.57.0", @@ -2235,12 +2311,155 @@ "d3-transition": "^3.0.1" } }, + "node_modules/@vitest/coverage-v8": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.9.tgz", + "integrity": "sha512-G9/lgqibheLVBDRuya45EbsEXTYcWoSG+TLg7i2axuzx0Eq62eXn+aWXyaVdV5vKvFSWd6ywcX8hA7la9Pvu8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^1.0.2", + "@vitest/utils": "4.1.9", + "ast-v8-to-istanbul": "^1.0.0", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.2.0", + "magicast": "^0.5.2", + "obug": "^2.1.1", + "std-env": "^4.0.0-rc.1", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "4.1.9", + "vitest": "4.1.9" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", + "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", + "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.9", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", + "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.9", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.9", + "@vitest/utils": "4.1.9", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", + "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.9", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2307,6 +2526,28 @@ "node": ">= 0.4" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-v8-to-istanbul": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.4.tgz", + "integrity": "sha512-0bC0/4bTSrnwdhU3IsZDwEdojvuPrSg59OYZfKsLRtJZ0u8VBx9DebfqqG8bRdCC0I7vjgxmPi41P0lpkhJHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.31", + "estree-walker": "^3.0.3", + "js-tokens": "^10.0.0" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -2344,6 +2585,16 @@ "node": ">=6" } }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2366,7 +2617,6 @@ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.1.2.tgz", "integrity": "sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "11.1.2", "@chevrotain/gast": "11.1.2", @@ -2455,6 +2705,13 @@ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "license": "MIT" }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", @@ -2507,7 +2764,6 @@ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -2908,7 +3164,6 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -3098,6 +3353,13 @@ "node": ">=10.13.0" } }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", @@ -3159,7 +3421,6 @@ "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -3389,6 +3650,16 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3399,6 +3670,16 @@ "node": ">=0.10.0" } }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3562,6 +3843,13 @@ "node": ">=12.0.0" } }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -3659,6 +3947,45 @@ "dev": true, "license": "ISC" }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jiti": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", @@ -3669,6 +3996,13 @@ "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/js-tokens": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", + "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", @@ -4121,6 +4455,34 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/magicast": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", + "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/marked": { "version": "16.4.2", "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", @@ -4365,7 +4727,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -4452,7 +4813,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -4586,7 +4946,6 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -4603,7 +4962,6 @@ "integrity": "sha512-65+fr5+cgIKWKiqM1Doum4uX6bY8iFCdztvvp2RcF+AJoieaw9kJOFMNcJo/bkmKYsxFaM9OsVZK/gWauG/5mg==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" @@ -4853,6 +5211,13 @@ "node": ">=8" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, "node_modules/sirv": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", @@ -4878,6 +5243,20 @@ "node": ">=0.10.0" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4915,7 +5294,6 @@ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.53.10.tgz", "integrity": "sha512-UcNfWzbrjvYXYSk+U2hME25kpb87oq6/WVLeBF4khyQrb3Ob/URVlN23khal+RbdCUTMfg4qWjI9KZjCNFtYMQ==", "license": "MIT", - "peer": true, "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", @@ -5012,8 +5390,7 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.3.0", @@ -5029,6 +5406,13 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, "node_modules/tinyexec": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", @@ -5055,6 +5439,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", @@ -5106,7 +5500,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5188,7 +5581,6 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -5293,6 +5685,96 @@ } } }, + "node_modules/vitest": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", + "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.9", + "@vitest/mocker": "4.1.9", + "@vitest/pretty-format": "4.1.9", + "@vitest/runner": "4.1.9", + "@vitest/snapshot": "4.1.9", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.9", + "@vitest/browser-preview": "4.1.9", + "@vitest/browser-webdriverio": "4.1.9", + "@vitest/coverage-istanbul": "4.1.9", + "@vitest/coverage-v8": "4.1.9", + "@vitest/ui": "4.1.9", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, "node_modules/vscode-jsonrpc": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", @@ -5358,6 +5840,23 @@ "node": ">= 8" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", diff --git a/package.json b/package.json index 70a07e2..dee6b7b 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,10 @@ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "prettier --check . && eslint .", "format": "prettier --write .", + "test:unit": "vitest run", + "test:unit:watch": "vitest", "test:e2e": "playwright test", - "test": "npm run test:e2e" + "test": "npm run test:unit && npm run test:e2e" }, "devDependencies": { "@eslint/compat": "^2.0.2", @@ -27,6 +29,7 @@ "@types/d3-force": "^3.0.10", "@types/d3-quadtree": "^3.0.6", "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.9", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.14.0", @@ -39,7 +42,8 @@ "tailwindcss": "^4.1.18", "typescript": "^5.9.3", "typescript-eslint": "^8.54.0", - "vite": "^7.3.1" + "vite": "^7.3.1", + "vitest": "^4.1.9" }, "dependencies": { "@jis3r/icons": "^2.7.0", diff --git a/src/lib/utils/colors.test.ts b/src/lib/utils/colors.test.ts new file mode 100644 index 0000000..47aef4b --- /dev/null +++ b/src/lib/utils/colors.test.ts @@ -0,0 +1,54 @@ +import { describe, it, expect } from 'vitest'; +import { hexToRgba, shiftHsl, themedDomColor } from './colors'; + +describe('hexToRgba', () => { + it('converts a 6-digit hex + alpha to an rgba() string', () => { + expect(hexToRgba('#ff8800', 0.5)).toBe('rgba(255, 136, 0, 0.5)'); + expect(hexToRgba('#000000', 1)).toBe('rgba(0, 0, 0, 1)'); + }); +}); + +describe('shiftHsl', () => { + it('returns the input unchanged for non-hex values', () => { + expect(shiftHsl('rgb(1,2,3)', 0.1)).toBe('rgb(1,2,3)'); + expect(shiftHsl('not-a-color', 0.1)).toBe('not-a-color'); + }); + + it('round-trips a color (dl=0) to within rounding error', () => { + // Pure HSLโ†’RGBโ†’HSL with no shift should reproduce the input ยฑ1 per channel. + const out = shiftHsl('#3366cc', 0); + expect(out).toMatch(/^#[0-9a-f]{6}$/); + const chan = (s: string, i: number) => parseInt(s.slice(1 + i * 2, 3 + i * 2), 16); + for (let i = 0; i < 3; i++) { + expect(Math.abs(chan(out, i) - chan('#3366cc', i))).toBeLessThanOrEqual(2); + } + }); + + it('lightens with positive dl and darkens with negative dl', () => { + const luminance = (hex: string) => + parseInt(hex.slice(1, 3), 16) + parseInt(hex.slice(3, 5), 16) + parseInt(hex.slice(5, 7), 16); + const base = '#3366cc'; + expect(luminance(shiftHsl(base, 0.2))).toBeGreaterThan(luminance(base)); + expect(luminance(shiftHsl(base, -0.2))).toBeLessThan(luminance(base)); + }); + + it('expands 3-digit shorthand hex', () => { + expect(shiftHsl('#abc', 0)).toMatch(/^#[0-9a-f]{6}$/); + }); +}); + +describe('themedDomColor', () => { + it('passes colors through unchanged in dark theme', () => { + expect(themedDomColor('#abcdef', 'dark')).toBe('#abcdef'); + }); + + it('darkens an unmapped bright color for light backgrounds', () => { + const out = themedDomColor('#ffff00', 'light'); // very bright yellow + expect(out).not.toBe('#ffff00'); + expect(out).toMatch(/^#[0-9a-f]{6}$/); + }); + + it('leaves non-hex values alone in light theme', () => { + expect(themedDomColor('currentColor', 'light')).toBe('currentColor'); + }); +}); diff --git a/src/lib/utils/math.test.ts b/src/lib/utils/math.test.ts new file mode 100644 index 0000000..a5515d4 --- /dev/null +++ b/src/lib/utils/math.test.ts @@ -0,0 +1,64 @@ +import { describe, it, expect } from 'vitest'; +import { + lerp, + clamp, + distance, + pointInCircle, + easeOutCubic, + easeInOutCubic, + normalizeAngle +} from './math'; + +describe('lerp', () => { + it('returns endpoints at t=0 and t=1', () => { + expect(lerp(10, 20, 0)).toBe(10); + expect(lerp(10, 20, 1)).toBe(20); + }); + it('interpolates the midpoint and extrapolates past the range', () => { + expect(lerp(0, 100, 0.5)).toBe(50); + expect(lerp(0, 10, 1.5)).toBe(15); + }); +}); + +describe('clamp', () => { + it('bounds values to [min, max]', () => { + expect(clamp(5, 0, 10)).toBe(5); + expect(clamp(-3, 0, 10)).toBe(0); + expect(clamp(42, 0, 10)).toBe(10); + }); +}); + +describe('distance / pointInCircle', () => { + it('computes euclidean distance (3-4-5)', () => { + expect(distance(0, 0, 3, 4)).toBe(5); + }); + it('treats the radius as inclusive', () => { + expect(pointInCircle(3, 4, 0, 0, 5)).toBe(true); + expect(pointInCircle(3, 4, 0, 0, 4.99)).toBe(false); + }); +}); + +describe('easing', () => { + it('easeOutCubic maps [0,1] to [0,1] monotonically', () => { + expect(easeOutCubic(0)).toBe(0); + expect(easeOutCubic(1)).toBe(1); + expect(easeOutCubic(0.5)).toBeCloseTo(0.875, 5); + }); + it('easeInOutCubic is symmetric around 0.5', () => { + expect(easeInOutCubic(0)).toBe(0); + expect(easeInOutCubic(1)).toBe(1); + expect(easeInOutCubic(0.5)).toBeCloseTo(0.5, 5); + // symmetry: f(t) + f(1-t) === 1 + expect(easeInOutCubic(0.2) + easeInOutCubic(0.8)).toBeCloseTo(1, 5); + }); +}); + +describe('normalizeAngle', () => { + const TAU = 2 * Math.PI; + it('wraps into [0, 2ฯ€)', () => { + expect(normalizeAngle(0)).toBeCloseTo(0, 5); + expect(normalizeAngle(TAU)).toBeCloseTo(0, 5); + expect(normalizeAngle(-Math.PI)).toBeCloseTo(Math.PI, 5); + expect(normalizeAngle(3 * TAU + 1)).toBeCloseTo(1, 5); + }); +}); diff --git a/src/lib/utils/sequence-parser.test.ts b/src/lib/utils/sequence-parser.test.ts new file mode 100644 index 0000000..bb9bd3a --- /dev/null +++ b/src/lib/utils/sequence-parser.test.ts @@ -0,0 +1,93 @@ +import { describe, it, expect } from 'vitest'; +import { parseSequenceSteps, visibleSteps } from './sequence-parser'; + +describe('parseSequenceSteps', () => { + it('ignores diagram preamble, declarations, comments and blank lines', () => { + const src = `sequenceDiagram + autonumber + participant A + actor B + %% a comment + + `; + expect(parseSequenceSteps(src)).toEqual([]); + }); + + it('parses notes with placement and multiple actors', () => { + const steps = parseSequenceSteps('Note over A,B: shared state'); + expect(steps).toEqual([ + { kind: 'note', placement: 'over', actors: ['A', 'B'], text: 'shared state' } + ]); + }); + + it('maps "left of" / "right of" placements', () => { + expect(parseSequenceSteps('Note left of A: x')[0]).toMatchObject({ placement: 'left' }); + expect(parseSequenceSteps('Note right of A: y')[0]).toMatchObject({ placement: 'right' }); + }); + + it('classifies all arrow kinds and prefers the longest token', () => { + const arrows = parseSequenceSteps( + [ + 'A->B: solid', + 'A->>B: solid-head', + 'A-->B: dashed', + 'A-->>B: dashed-head', + 'A-xB: lost-solid', + 'A--xB: lost-dashed' + ].join('\n') + ); + expect(arrows.map((s) => (s.kind === 'message' ? s.arrow : null))).toEqual([ + 'solid', + 'solid', + 'dashed', + 'dashed', + 'lost-solid', + 'lost-dashed' + ]); + }); + + it('captures message from/to/text', () => { + const [msg] = parseSequenceSteps('Client->>Server: SYN'); + expect(msg).toEqual({ + kind: 'message', + from: 'Client', + to: 'Server', + arrow: 'solid', + text: 'SYN' + }); + }); + + it('parses block markers (par/loop/alt/opt/and/else/end)', () => { + const steps = parseSequenceSteps( + ['par fan out', 'and branch', 'end', 'alt ok', 'else fail', 'end', 'loop retry', 'end'].join( + '\n' + ) + ); + expect(steps.map((s) => s.kind)).toEqual([ + 'block-start', + 'block-and', + 'block-end', + 'block-start', + 'block-and', + 'block-end', + 'block-start', + 'block-end' + ]); + expect(steps[0]).toMatchObject({ type: 'par', label: 'fan out' }); + expect(steps[3]).toMatchObject({ type: 'alt', label: 'ok' }); + }); + + it('preserves source order across mixed content', () => { + const steps = parseSequenceSteps( + ['Note over A: start', 'A->>B: req', 'B-->>A: res'].join('\n') + ); + expect(steps.map((s) => s.kind)).toEqual(['note', 'message', 'message']); + }); +}); + +describe('visibleSteps', () => { + it('keeps only notes and messages, dropping block markers', () => { + const steps = parseSequenceSteps(['par x', 'A->>B: hi', 'Note over A: n', 'end'].join('\n')); + expect(visibleSteps(steps).map((s) => s.kind)).toEqual(['message', 'note']); + }); +}); diff --git a/src/lib/utils/text-parser.test.ts b/src/lib/utils/text-parser.test.ts new file mode 100644 index 0000000..f4ecc92 --- /dev/null +++ b/src/lib/utils/text-parser.test.ts @@ -0,0 +1,107 @@ +import { describe, it, expect } from 'vitest'; +import { parseRichText, parseParagraphs, stripRichTextMarkup } from './text-parser'; + +describe('parseRichText โ€” primitives', () => { + it('returns a single text segment for plain prose', () => { + expect(parseRichText('just words')).toEqual([{ type: 'text', value: 'just words' }]); + }); + + it('parses **bold**, `code`, and *italic*', () => { + expect(parseRichText('**b**')).toEqual([{ type: 'bold', value: 'b' }]); + expect(parseRichText('`x = 1`')).toEqual([{ type: 'code', value: 'x = 1' }]); + expect(parseRichText('*em*')).toEqual([{ type: 'italic', value: 'em' }]); + }); + + it('does NOT treat spaced asterisks as italic (math-multiplication guard)', () => { + const segs = parseRichText('a * b * c'); + expect(segs).toEqual([{ type: 'text', value: 'a * b * c' }]); + }); + + it('preserves leading/trailing text around a match in order', () => { + expect(parseRichText('see **this** now')).toEqual([ + { type: 'text', value: 'see ' }, + { type: 'bold', value: 'this' }, + { type: 'text', value: ' now' } + ]); + }); +}); + +describe('parseRichText โ€” cross references', () => { + it('parses a protocol link and fills the label from the registry', () => { + expect(parseRichText('[[tcp|TCP]]')).toEqual([ + { type: 'protocol-link', protocolId: 'tcp', label: 'TCP' } + ]); + // Bare form resolves the label from the protocol registry (abbreviation). + expect(parseRichText('[[tcp]]')).toEqual([ + { type: 'protocol-link', protocolId: 'tcp', label: 'TCP' } + ]); + }); + + it('parses a typed rfc: reference', () => { + const segs = parseRichText('[[rfc:9293|RFC 9293]]'); + expect(segs).toEqual([{ type: 'rfc-ref', number: '9293', label: 'RFC 9293' }]); + }); + + it('parses a concept tooltip token', () => { + expect(parseRichText('{{handshake|the handshake}}')).toEqual([ + { type: 'concept', conceptId: 'handshake', label: 'the handshake' } + ]); + }); + + it('falls back to visible plain text for an unknown [[prefix:โ€ฆ]]', () => { + // Surfacing typos rather than dropping them silently. + expect(parseRichText('[[bogus:xyz|Label]]')).toEqual([ + { type: 'text', value: '[[bogus:xyz|Label]]' } + ]); + }); +}); + +describe('parseRichText โ€” bold-wrapped variants', () => { + it('parses **{{concept}}** as a bold-concept', () => { + expect(parseRichText('**{{handshake|Handshake}}**')).toEqual([ + { type: 'bold-concept', conceptId: 'handshake', label: 'Handshake' } + ]); + }); + + it('parses **[[tcp|TCP]]** as a bold-protocol-link', () => { + expect(parseRichText('**[[tcp|TCP]]**')).toEqual([ + { type: 'bold-protocol-link', protocolId: 'tcp', label: 'TCP' } + ]); + }); + + it('parses **bold with {{nested}}** as a recursive bold-group', () => { + const segs = parseRichText('**see {{handshake|the handshake}} live**'); + expect(segs).toHaveLength(1); + expect(segs[0].type).toBe('bold-group'); + if (segs[0].type === 'bold-group') { + expect(segs[0].segments.map((s) => s.type)).toEqual(['text', 'concept', 'text']); + } + }); +}); + +describe('parseParagraphs', () => { + it('splits on blank lines into one segment list per paragraph', () => { + const paras = parseParagraphs('one **two**\n\nthree'); + expect(paras).toHaveLength(2); + expect(paras[0].map((s) => s.type)).toEqual(['text', 'bold']); + expect(paras[1]).toEqual([{ type: 'text', value: 'three' }]); + }); +}); + +describe('stripRichTextMarkup', () => { + it('reduces atoms to their visible label', () => { + expect(stripRichTextMarkup('[[tcp|TCP]] over {{ip|IP}} is **fast**')).toBe( + 'TCP over IP is fast' + ); + }); + + it('does not eat the outer brackets of a nested Mermaid-style construct', () => { + // NODE[[[id|Label]]] โ€” the id char-class excludes `[` so the inner wrap + // resolves to its label and the surrounding brackets survive. + expect(stripRichTextMarkup('NODE[[[tcp|TCP]]]')).toBe('NODE[TCP]'); + }); + + it('is idempotent on already-plain text', () => { + expect(stripRichTextMarkup('nothing to strip')).toBe('nothing to strip'); + }); +}); diff --git a/src/routes/demo/+page.svelte b/src/routes/demo/+page.svelte deleted file mode 100644 index 372e8bc..0000000 --- a/src/routes/demo/+page.svelte +++ /dev/null @@ -1,5 +0,0 @@ -<script lang="ts"> - import { resolve } from '$app/paths'; -</script> - -<a href={resolve('/demo/playwright')}>playwright</a> diff --git a/src/routes/demo/playwright/+page.svelte b/src/routes/demo/playwright/+page.svelte deleted file mode 100644 index 5f0f2c9..0000000 --- a/src/routes/demo/playwright/+page.svelte +++ /dev/null @@ -1 +0,0 @@ -<h1>Playwright e2e test demo</h1> diff --git a/src/routes/demo/playwright/page.svelte.e2e.ts b/src/routes/demo/playwright/page.svelte.e2e.ts deleted file mode 100644 index 1000be6..0000000 --- a/src/routes/demo/playwright/page.svelte.e2e.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test('has expected h1', async ({ page }) => { - await page.goto('/demo/playwright'); - await expect(page.locator('h1')).toBeVisible(); -}); diff --git a/vite.config.ts b/vite.config.ts index 56f40c7..139c4c5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,5 +1,14 @@ +/// <reference types="vitest/config" /> import tailwindcss from '@tailwindcss/vite'; import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; -export default defineConfig({ plugins: [tailwindcss(), sveltekit()] }); +export default defineConfig({ + plugins: [tailwindcss(), sveltekit()], + test: { + // Pure-logic unit tests (parsers, layout/sim math, utils, data validation). + // Component/DOM behavior is covered by the Playwright e2e suite instead. + include: ['src/**/*.{test,spec}.{js,ts}'], + environment: 'node' + } +}); From 8b35f1ead7187a1c36823d26a2f2df6e78ebfe6f Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:43:00 -0500 Subject: [PATCH 09/16] feat(validate): build-time cross-reference validator + fix 42 broken refs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds scripts/validate-cross-references.ts, wired into `npm run build` and CI. It loads every registry and resolves all cross-references โ€” structured (protocol connections, categoryId, subcategory membership, journey steps, comparison pairs, RFC/outage/pioneer/frontier protocol lists, story parents) and inline [[id|label]] / {{concept}} markup in prose โ€” failing the build on the first broken link. Exports categoryStories / subcategoryStories / allPairs so it can see those registries. It immediately found 42 real bugs (refs that rendered as dead text / inert tooltips); all fixed: - Added 9 missing concepts: egp, congestion-collapse, ossification, tcp-handshake, http-verbs, comet, phishing, ttls, rsn. - Corrected misnamed refs: {{as}}โ†’autonomous-system, {{ct}}โ†’certificate- transparency, [[head-of-line-blocking]]โ†’{{โ€ฆ}} (it's a concept). - Fixed protocol ids wrapped as concepts: {{ip|quic|websockets|mptcp}} โ†’ [[โ€ฆ]]. - [[ipv4]]โ†’[[ip]]; [[ice|stun|turn]]โ†’[[nat-traversal|โ€ฆ]]; [[datagram-transport]] (a subcategory, not a protocol) โ†’ plain text. - Unwrapped 3 not-yet-added pioneers (Jay Kreps; Stanford-Clark; Nipper) to bold text rather than fabricate birth-year data โ€” flagged to add later. - pioneer dan-bernstein categories 'security' (not a category) โ†’ 'utilities'. check/lint/unit/build all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .github/workflows/ci.yml | 3 + package-lock.json | 519 ++++++++++++++++++ package.json | 4 +- scripts/validate-cross-references.ts | 192 +++++++ src/lib/data/category-stories/index.ts | 22 +- src/lib/data/comparison/pairs.ts | 2 +- src/lib/data/concepts.ts | 72 +++ src/lib/data/pioneers.ts | 2 +- .../subcategory-stories/conferencing-calls.ts | 4 +- .../subcategory-stories/datagram-transport.ts | 6 +- .../subcategory-stories/enterprise-brokers.ts | 2 +- .../data/subcategory-stories/http-versions.ts | 14 +- src/lib/data/subcategory-stories/index.ts | 6 +- .../data/subcategory-stories/iot-messaging.ts | 2 +- .../subcategory-stories/reliable-streams.ts | 6 +- src/lib/data/subcategory-stories/routing.ts | 6 +- .../secure-channels-vpn.ts | 2 +- 17 files changed, 827 insertions(+), 37 deletions(-) create mode 100644 scripts/validate-cross-references.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 923bcae..bedb172 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,6 +28,9 @@ jobs: # Type + Svelte diagnostics - run: npm run check + # Content integrity: every cross-referenced id must resolve + - run: npm run validate + # Unit tests (vitest) + e2e (playwright builds + previews internally) - run: npm run test:unit - run: npx playwright install --with-deps chromium diff --git a/package-lock.json b/package-lock.json index a9372da..1dc68a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "svelte": "^5.51.0", "svelte-check": "^4.4.2", "tailwindcss": "^4.1.18", + "tsx": "^4.22.4", "typescript": "^5.9.3", "typescript-eslint": "^8.54.0", "vite": "^7.3.1", @@ -5481,6 +5482,524 @@ "node": ">=6.10" } }, + "node_modules/tsx": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz", + "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/tsx/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index dee6b7b..2864572 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "type": "module", "scripts": { "dev": "vite dev", - "build": "vite build", + "validate": "tsx scripts/validate-cross-references.ts", + "build": "npm run validate && vite build", "preview": "vite preview", "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", @@ -40,6 +41,7 @@ "svelte": "^5.51.0", "svelte-check": "^4.4.2", "tailwindcss": "^4.1.18", + "tsx": "^4.22.4", "typescript": "^5.9.3", "typescript-eslint": "^8.54.0", "vite": "^7.3.1", diff --git a/scripts/validate-cross-references.ts b/scripts/validate-cross-references.ts new file mode 100644 index 0000000..9457c37 --- /dev/null +++ b/scripts/validate-cross-references.ts @@ -0,0 +1,192 @@ +/** + * validate-cross-references.ts โ€” build-time content integrity gate. + * + * The content layer is hand-authored across ~150 files and wires entities + * together by string id (protocol connections, journey steps, comparison pairs, + * subcategory membership, RFC/outage/pioneer/frontier protocol lists, story + * parents) plus inline `[[id|label]]` / `{{concept}}` markup in prose. Nothing + * at the type level catches a typo'd id. This script does: it loads every + * registry, resolves every cross-reference, and exits non-zero with a readable + * list on the first broken link. + * + * Run: npm run validate (wired into `build` and CI) + */ +import { allProtocols } from '../src/lib/data/protocols'; +import { categories } from '../src/lib/data/categories'; +import { subcategories } from '../src/lib/data/subcategories'; +import { journeys } from '../src/lib/data/journeys'; +import { allPairs } from '../src/lib/data/comparison/pairs'; +import { rfcs } from '../src/lib/data/rfcs'; +import { outages } from '../src/lib/data/outages'; +import { pioneers } from '../src/lib/data/pioneers'; +import { frontierEntries } from '../src/lib/data/frontier'; +import { concepts } from '../src/lib/data/concepts'; +import { categoryStories } from '../src/lib/data/category-stories/index'; +import { subcategoryStories } from '../src/lib/data/subcategory-stories/index'; +import { bookParts } from '../src/lib/data/book/chapters'; + +const errors: string[] = []; +const warnings: string[] = []; + +// โ”€โ”€ Id universes โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +const P = new Set(allProtocols.map((p) => p.id)); +const C = new Set(categories.map((c) => c.id)); +const S = new Set(subcategories.map((s) => s.id)); +const OUT = new Set(outages.map((o) => o.id)); +const PIO = new Set(pioneers.map((p) => p.id)); +const FRO = new Set(frontierEntries.map((f) => f.id)); +const CON = new Set(concepts.map((c) => c.id)); +const PART = new Set(bookParts.map((b) => b.id)); + +const ref = (set: Set<string>, id: string, where: string) => { + if (!set.has(id)) errors.push(`${where} โ†’ unknown id "${id}"`); +}; + +// โ”€โ”€ 1. Protocols โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +for (const p of allProtocols) { + ref(C, p.categoryId, `protocol "${p.id}".categoryId`); + for (const c of p.connections) ref(P, c, `protocol "${p.id}".connections`); + for (const f of p.frontier ?? []) ref(FRO, f, `protocol "${p.id}".frontier`); + for (const pi of p.pioneers ?? []) ref(PIO, pi, `protocol "${p.id}".pioneers`); +} + +// โ”€โ”€ 2. Subcategories โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +const protoToSub = new Map<string, string>(); +for (const s of subcategories) { + ref(C, s.categoryId, `subcategory "${s.id}".categoryId`); + for (const pid of s.protocolIds) { + ref(P, pid, `subcategory "${s.id}".protocolIds`); + if (protoToSub.has(pid)) { + errors.push( + `protocol "${pid}" is in two subcategories ("${protoToSub.get(pid)}" and "${s.id}")` + ); + } + protoToSub.set(pid, s.id); + } +} +// Coverage (informational): protocols with no subcategory. +for (const p of allProtocols) { + if (!protoToSub.has(p.id)) warnings.push(`protocol "${p.id}" belongs to no subcategory`); +} + +// โ”€โ”€ 3. Journeys โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +for (const j of journeys) { + if (j.scope !== 'global') ref(C, j.scope, `journey "${j.id}".scope`); + for (const step of j.steps) ref(P, step.protocolId, `journey "${j.id}" step`); +} + +// โ”€โ”€ 4. Comparison pairs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +for (const pair of allPairs) { + for (const id of pair.ids) ref(P, id, `comparison pair [${pair.ids.join(', ')}]`); +} + +// โ”€โ”€ 5. RFCs / outages / pioneers / frontier protocol lists โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +for (const r of rfcs) for (const id of r.protocols ?? []) ref(P, id, `rfc ${r.number}.protocols`); +for (const o of outages) + for (const id of o.affectedProtocols ?? []) ref(P, id, `outage "${o.id}".affectedProtocols`); +for (const p of pioneers) { + for (const id of p.protocols ?? []) ref(P, id, `pioneer "${p.id}".protocols`); + for (const id of p.categories ?? []) ref(C, id, `pioneer "${p.id}".categories`); +} +for (const f of frontierEntries) + for (const id of f.protocols ?? []) ref(P, id, `frontier "${f.id}".protocols`); + +// โ”€โ”€ 6. Story parents โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +for (const cs of categoryStories) ref(C, cs.categoryId, `category-story.categoryId`); +for (const ss of subcategoryStories) ref(S, ss.subcategoryId, `subcategory-story.subcategoryId`); + +// โ”€โ”€ 7. Inline markup in prose โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// Walk every string in the data layer and resolve [[id|label]] / {{concept}}. +// Skip code-bearing keys (code samples legitimately contain [[ and {{ }} that +// are not cross-references), and require slug-shaped ids to avoid matching +// template syntax like `{{ user.name }}`. +const SKIP_KEYS = new Set(['codeExample', 'code', 'wireshark', 'definition']); +const SLUG = /^[a-z0-9][a-z0-9:/-]*$/i; +const BRACKET_RE = /\[\[([^\][|]+?)(?:\|[^\]]*)?\]\]/g; +const BRACE_RE = /\{\{([^}{|]+?)(?:\|[^}]*)?\}\}/g; + +function resolveBracket(rawId: string, where: string) { + const colon = rawId.indexOf(':'); + const prefix = colon === -1 ? 'protocol' : rawId.slice(0, colon); + const id = colon === -1 ? rawId : rawId.slice(colon + 1); + switch (prefix) { + case 'protocol': + if (!P.has(id)) errors.push(`inline [[${rawId}]] in ${where} โ†’ unknown protocol`); + break; + case 'rfc': + // Unregistered RFCs are fine: RfcRef falls back to an external + // datatracker.ietf.org link by design. Nothing to validate. + break; + case 'outage': + if (!OUT.has(id)) errors.push(`inline [[outage:${id}]] in ${where} โ†’ unknown outage`); + break; + case 'pioneer': + if (!PIO.has(id)) errors.push(`inline [[pioneer:${id}]] in ${where} โ†’ unknown pioneer`); + break; + case 'glossary': + if (!CON.has(id)) errors.push(`inline [[glossary:${id}]] in ${where} โ†’ unknown concept`); + break; + case 'frontier': + if (!FRO.has(id)) errors.push(`inline [[frontier:${id}]] in ${where} โ†’ unknown frontier`); + break; + case 'chapter': { + const partId = id.split('/')[0]; + if (!PART.has(partId)) errors.push(`inline [[chapter:${id}]] in ${where} โ†’ unknown book part`); + break; + } + default: + // Unknown prefix renders as visible plain text by design; flag as a warning. + warnings.push(`inline [[${rawId}]] in ${where} โ†’ unrecognized prefix "${prefix}"`); + } +} + +function scanString(str: string, where: string) { + for (const m of str.matchAll(BRACKET_RE)) { + const id = m[1].trim(); + if (SLUG.test(id)) resolveBracket(id, where); + } + for (const m of str.matchAll(BRACE_RE)) { + const id = m[1].trim(); + if (SLUG.test(id) && !CON.has(id)) { + errors.push(`inline {{${id}}} in ${where} โ†’ unknown concept`); + } + } +} + +function walk(value: unknown, path: string, key?: string) { + if (key && SKIP_KEYS.has(key)) return; + if (typeof value === 'string') scanString(value, path); + else if (Array.isArray(value)) value.forEach((v, i) => walk(v, `${path}[${i}]`, key)); + else if (value && typeof value === 'object') { + for (const [k, v] of Object.entries(value)) walk(v, `${path}.${k}`, k); + } +} + +walk(allProtocols, 'protocols'); +walk(concepts, 'concepts'); +walk(journeys, 'journeys'); +walk(rfcs, 'rfcs'); +walk(outages, 'outages'); +walk(pioneers, 'pioneers'); +walk(frontierEntries, 'frontier'); +walk(categoryStories, 'category-stories'); +walk(subcategoryStories, 'subcategory-stories'); +walk(bookParts, 'book'); +walk(allPairs, 'comparison-pairs'); + +// โ”€โ”€ Report โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +if (warnings.length) { + console.warn(`\nโš ๏ธ ${warnings.length} warning(s):`); + for (const w of warnings) console.warn(` ${w}`); +} +if (errors.length) { + console.error(`\nโŒ Cross-reference validation failed โ€” ${errors.length} broken reference(s):\n`); + for (const e of errors) console.error(` ${e}`); + process.exit(1); +} +console.log( + `\nโœ… Cross-references valid: ${allProtocols.length} protocols, ${subcategories.length} subcategories, ` + + `${journeys.length} journeys, ${allPairs.length} pairs, ${rfcs.length} RFCs, ` + + `${outages.length} outages, ${pioneers.length} pioneers, ${frontierEntries.length} frontier, ` + + `${categoryStories.length}+${subcategoryStories.length} stories โ€” plus all inline [[โ€ฆ]]/{{โ€ฆ}} markup.` +); diff --git a/src/lib/data/category-stories/index.ts b/src/lib/data/category-stories/index.ts index b055dda..8d05902 100644 --- a/src/lib/data/category-stories/index.ts +++ b/src/lib/data/category-stories/index.ts @@ -7,17 +7,17 @@ import { realtimeAvStory } from './realtime-av'; import { utilitiesStory } from './utilities'; import { wirelessStory } from './wireless'; -const storyMap = new Map<string, CategoryStory>( - [ - networkFoundationsStory, - transportStory, - webApiStory, - asyncIotStory, - realtimeAvStory, - utilitiesStory, - wirelessStory - ].map((s) => [s.categoryId, s]) -); +export const categoryStories: CategoryStory[] = [ + networkFoundationsStory, + transportStory, + webApiStory, + asyncIotStory, + realtimeAvStory, + utilitiesStory, + wirelessStory +]; + +const storyMap = new Map<string, CategoryStory>(categoryStories.map((s) => [s.categoryId, s])); export function getCategoryStory(categoryId: string): CategoryStory | undefined { return storyMap.get(categoryId); diff --git a/src/lib/data/comparison/pairs.ts b/src/lib/data/comparison/pairs.ts index a8578cb..b305f6d 100644 --- a/src/lib/data/comparison/pairs.ts +++ b/src/lib/data/comparison/pairs.ts @@ -3233,7 +3233,7 @@ const relationshipPairs: ProtocolPair[] = [ // LOOKUP // โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” -const allPairs: ProtocolPair[] = [...vsPairs, ...relationshipPairs]; +export const allPairs: ProtocolPair[] = [...vsPairs, ...relationshipPairs]; /** Map for O(1) lookup by canonical key "idA:idB" (alphabetically sorted). */ const pairMap = new Map<string, ProtocolPair>(); diff --git a/src/lib/data/concepts.ts b/src/lib/data/concepts.ts index 0185f69..77dae1f 100644 --- a/src/lib/data/concepts.ts +++ b/src/lib/data/concepts.ts @@ -7883,6 +7883,78 @@ export const concepts: Concept[] = [ 'The cellular signalling protocols between the handset and the core network (MME in 4G, AMF in 5G) โ€” registration, authentication, mobility, session management. The control-plane layer above {{#rrc|RRC}}.', wikiUrl: 'https://en.wikipedia.org/wiki/Non-access_stratum', category: 'protocol-mechanics' + }, + { + id: 'egp', + term: 'EGP (Exterior Gateway Protocol)', + definition: + 'The original protocol for exchanging routing information between autonomous systems on the early internet (RFC 904, 1984). It assumed a simple tree-shaped network with a single core and could not handle loops, so it was replaced by [[bgp|BGP]] as the internet grew into a mesh of peers.', + wikiUrl: 'https://en.wikipedia.org/wiki/Exterior_Gateway_Protocol', + category: 'infrastructure' + }, + { + id: 'congestion-collapse', + term: 'Congestion Collapse', + definition: + 'A failure mode where a network becomes so overloaded that almost no useful work gets through โ€” senders keep retransmitting packets that are already queued or dropped, which adds yet more load. The internet suffered real congestion collapses in 1986; [[tcp|TCP]]โ€™s congestion-control algorithms (slow start, congestion avoidance) were added specifically to prevent it.', + wikiUrl: 'https://en.wikipedia.org/wiki/Network_congestion#Congestive_collapse', + category: 'networking-basics' + }, + { + id: 'ossification', + term: 'Protocol Ossification', + definition: + 'The loss of flexibility that happens when middleboxes (firewalls, NATs, load balancers) inspect and depend on the exact wire format of a protocol, so any change breaks in the field. [[tcp|TCP]] is heavily ossified, which is why [[quic|QUIC]] runs over [[udp|UDP]] and encrypts almost its entire header โ€” to keep middleboxes from freezing its design.', + wikiUrl: 'https://en.wikipedia.org/wiki/Protocol_ossification', + category: 'networking-basics' + }, + { + id: 'tcp-handshake', + term: 'TCP Three-Way Handshake', + definition: + 'The connection-setup exchange that opens every [[tcp|TCP]] connection: the client sends SYN, the server replies SYN-ACK, the client answers ACK. It synchronizes initial sequence numbers in both directions and costs one round trip before any data flows โ€” the latency [[quic|QUIC]] and TLS 1.3 work hard to fold away.', + wikiUrl: 'https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment', + category: 'protocol-mechanics' + }, + { + id: 'http-verbs', + term: 'HTTP Methods (Verbs)', + definition: + 'The action words at the start of every [[http1|HTTP]] request โ€” GET (read), POST (create), PUT (replace), PATCH (modify), DELETE (remove), plus HEAD and OPTIONS. [[rest|REST]] APIs lean on their defined semantics (safe, idempotent) so caches and proxies can reason about a request without understanding the application.', + wikiUrl: 'https://en.wikipedia.org/wiki/HTTP#Request_methods', + category: 'web' + }, + { + id: 'comet', + term: 'Comet (HTTP long-polling)', + definition: + 'An umbrella term for the pre-[[websockets|WebSocket]] techniques that faked server push over plain [[http1|HTTP]] โ€” long-polling (hold a request open until there is data) and hidden streaming iframes. Comet powered early live chat and dashboards but wasted connections and added latency, which motivated real bidirectional transports.', + wikiUrl: 'https://en.wikipedia.org/wiki/Comet_(programming)', + category: 'web' + }, + { + id: 'phishing', + term: 'Phishing', + definition: + 'A social-engineering attack that tricks a user into handing credentials to a fake site or approving a malicious request, rather than breaking the cryptography. It is the reason modern auth leans on phishing-resistant factors like WebAuthn/passkeys and hardware security keys instead of passwords and one-time codes alone.', + wikiUrl: 'https://en.wikipedia.org/wiki/Phishing', + category: 'security' + }, + { + id: 'ttls', + term: 'EAP-TTLS', + definition: + 'An 802.1X/EAP authentication method that first builds a [[tls|TLS]] tunnel to the authentication server, then carries the userโ€™s credentials (often a legacy password protocol) safely inside it. Widely used on enterprise and campus [[wifi|Wi-Fi]] because it authenticates users without requiring a client certificate on every device.', + wikiUrl: 'https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol#EAP-TTLS', + category: 'security' + }, + { + id: 'rsn', + term: 'RSN (Robust Security Network)', + definition: + 'The security framework introduced by the 802.11i amendment (the basis of WPA2) that replaced the broken WEP scheme on [[wifi|Wi-Fi]]. An RSN negotiates strong ciphers (CCMP/AES) and the 4-way handshake that derives fresh per-session keys, advertised in the RSN Information Element of management frames.', + wikiUrl: 'https://en.wikipedia.org/wiki/IEEE_802.11i-2004', + category: 'security' } ]; diff --git a/src/lib/data/pioneers.ts b/src/lib/data/pioneers.ts index 3e842ae..19e5078 100644 --- a/src/lib/data/pioneers.ts +++ b/src/lib/data/pioneers.ts @@ -1216,7 +1216,7 @@ Authored **qmail** and **djbdns** in the late 1990s โ€” uncompromising secure al imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Daniel_J._Bernstein.jpg/330px-Daniel_J._Bernstein.jpg', protocols: ['tcp', 'tls', 'ssh'], - categories: ['security', 'transport'], + categories: ['utilities', 'transport'], links: { wikipedia: 'https://en.wikipedia.org/wiki/Daniel_J._Bernstein', homepage: 'https://cr.yp.to/' diff --git a/src/lib/data/subcategory-stories/conferencing-calls.ts b/src/lib/data/subcategory-stories/conferencing-calls.ts index a899a59..1d98933 100644 --- a/src/lib/data/subcategory-stories/conferencing-calls.ts +++ b/src/lib/data/subcategory-stories/conferencing-calls.ts @@ -8,7 +8,7 @@ export const conferencingCallsStory: SubcategoryStory = { { type: 'narrative', title: 'The Anatomy of a Phone Call (Over IP)', - text: `Most protocols in this app do one thing. The conferencing family does four things, in concert. To make a video call between two browsers, four protocols have to cooperate:\n\n- **[[sip|SIP]]** is the **signaling**: setup, ring, accept, hang up. The phone-call equivalents of "your friend is calling," "they picked up," "they hung up." SIP doesn't carry voice or video โ€” it only negotiates the session.\n- **[[sdp|SDP]]** is the **session description**: what codecs are available, what IP addresses to send media to, what encryption keys to use. SDP is the data; SIP is the envelope.\n- **[[rtp|RTP]]** is the **media transport**: the actual audio and video packets, with sequence numbers and timestamps for reconstruction.\n- **[[webrtc|WebRTC]]** is *all of the above*, packaged for the browser. Behind the WebRTC API, the browser does SDP offer/answer, ICE for NAT traversal, DTLS handshake for keys, SRTP for encrypted media. WebRTC didn't invent any of these protocols โ€” it bundled them into something you can drive from JavaScript.\n\nThis layering is not accidental. It comes from a deep architectural decision the IETF made in the late 1990s: **separate signaling from media**. The phone networks tied them together (the same circuit carried both your "I want to call" and your voice). IP-based calling separated them so signaling could go through one path (often a server) while media could go peer-to-peer. The savings in core-network bandwidth at scale are enormous. The cost is that NAT traversal becomes everyone's problem โ€” which is why the [[ice|ICE]] / [[stun|STUN]] / [[turn|TURN]] machinery exists.\n\nThe modern call from Zoom, Google Meet, Discord, Slack, WhatsApp video, FaceTime, Microsoft Teams โ€” all of them use this stack. The branding differs; the bones are the same.` + text: `Most protocols in this app do one thing. The conferencing family does four things, in concert. To make a video call between two browsers, four protocols have to cooperate:\n\n- **[[sip|SIP]]** is the **signaling**: setup, ring, accept, hang up. The phone-call equivalents of "your friend is calling," "they picked up," "they hung up." SIP doesn't carry voice or video โ€” it only negotiates the session.\n- **[[sdp|SDP]]** is the **session description**: what codecs are available, what IP addresses to send media to, what encryption keys to use. SDP is the data; SIP is the envelope.\n- **[[rtp|RTP]]** is the **media transport**: the actual audio and video packets, with sequence numbers and timestamps for reconstruction.\n- **[[webrtc|WebRTC]]** is *all of the above*, packaged for the browser. Behind the WebRTC API, the browser does SDP offer/answer, ICE for NAT traversal, DTLS handshake for keys, SRTP for encrypted media. WebRTC didn't invent any of these protocols โ€” it bundled them into something you can drive from JavaScript.\n\nThis layering is not accidental. It comes from a deep architectural decision the IETF made in the late 1990s: **separate signaling from media**. The phone networks tied them together (the same circuit carried both your "I want to call" and your voice). IP-based calling separated them so signaling could go through one path (often a server) while media could go peer-to-peer. The savings in core-network bandwidth at scale are enormous. The cost is that NAT traversal becomes everyone's problem โ€” which is why the [[nat-traversal|ICE]] / [[nat-traversal|STUN]] / [[nat-traversal|TURN]] machinery exists.\n\nThe modern call from Zoom, Google Meet, Discord, Slack, WhatsApp video, FaceTime, Microsoft Teams โ€” all of them use this stack. The branding differs; the bones are the same.` }, { type: 'pioneers', @@ -80,7 +80,7 @@ export const conferencingCallsStory: SubcategoryStory = { year: 2005, title: 'STUN RFC 3489', description: - '[[stun|STUN]] โ€” Session Traversal Utilities for NAT โ€” lets a peer discover its public-facing IP address through a NAT. The first piece of NAT-traversal infrastructure for media protocols.' + '[[nat-traversal|STUN]] โ€” Session Traversal Utilities for NAT โ€” lets a peer discover its public-facing IP address through a NAT. The first piece of NAT-traversal infrastructure for media protocols.' }, { year: 2010, diff --git a/src/lib/data/subcategory-stories/datagram-transport.ts b/src/lib/data/subcategory-stories/datagram-transport.ts index 552cd22..95a25a4 100644 --- a/src/lib/data/subcategory-stories/datagram-transport.ts +++ b/src/lib/data/subcategory-stories/datagram-transport.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const datagramTransportStory: SubcategoryStory = { subcategoryId: 'datagram-transport', tagline: - "Going raw โ€” or building something better in user space โ€” on top of {{ip|IP}}'s native datagrams", + "Going raw โ€” or building something better in user space โ€” on top of [[ip|IP]]'s native datagrams", sections: [ { type: 'narrative', @@ -32,7 +32,7 @@ export const datagramTransportStory: SubcategoryStory = { title: 'Designer of QUIC', org: 'Google', contribution: - "Started [[quic|QUIC]] at Google in 2012 to fix [[tcp|TCP]]'s deployment problems: kernel ossification, [[head-of-line-blocking|HoL blocking]], and the slow rollout of TLS 1.3. Roskind's key bet was that the transport layer could be *re-implemented in user space* โ€” ship updates with the browser, escape the kernel's deployment cycle. By 2017, Google reported ~7% of all Internet traffic was already QUIC. The {{ietf|IETF}} chartered the QUIC WG in 2016; [[rfc:9000|RFC 9000]] published in 2021.", + "Started [[quic|QUIC]] at Google in 2012 to fix [[tcp|TCP]]'s deployment problems: kernel ossification, {{head-of-line-blocking|HoL blocking}}, and the slow rollout of TLS 1.3. Roskind's key bet was that the transport layer could be *re-implemented in user space* โ€” ship updates with the browser, escape the kernel's deployment cycle. By 2017, Google reported ~7% of all Internet traffic was already QUIC. The {{ietf|IETF}} chartered the QUIC WG in 2016; [[rfc:9000|RFC 9000]] published in 2021.", imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Jim_Roskind_2016.jpg/330px-Jim_Roskind_2016.jpg' }, @@ -184,7 +184,7 @@ export const datagramTransportStory: SubcategoryStory = { { type: 'narrative', title: "What's Next", - text: `Active work in 2025:\n\n- **Multipath QUIC** โ€” bonding multiple network paths into one QUIC connection, like [[mptcp|MPTCP]] but easier because QUIC isn't bound to TCP's wire format. Draft in WG, deployment underway at Apple and Cloudflare.\n- **MASQUE** โ€” running arbitrary protocols (TCP, UDP, IP) inside QUIC for tunneling. Powers iCloud Private Relay and similar privacy infrastructure.\n- **WebTransport** โ€” exposes QUIC streams to browsers, a likely successor to {{websockets|WebSockets}} for low-latency bidirectional traffic.\n- **Media-over-QUIC** โ€” a new family of standards for live and on-demand media that bypasses RTP/RTMP/HLS entirely.\n- **QUIC offload silicon** โ€” first-generation NIC support landing in 2024โ€“2026, closing the CPU-cost gap with TCP.\n\nUDP itself isn't evolving โ€” that's the point. It is the stable substrate. The action is one layer up.` + text: `Active work in 2025:\n\n- **Multipath QUIC** โ€” bonding multiple network paths into one QUIC connection, like [[mptcp|MPTCP]] but easier because QUIC isn't bound to TCP's wire format. Draft in WG, deployment underway at Apple and Cloudflare.\n- **MASQUE** โ€” running arbitrary protocols (TCP, UDP, IP) inside QUIC for tunneling. Powers iCloud Private Relay and similar privacy infrastructure.\n- **WebTransport** โ€” exposes QUIC streams to browsers, a likely successor to [[websockets|WebSockets]] for low-latency bidirectional traffic.\n- **Media-over-QUIC** โ€” a new family of standards for live and on-demand media that bypasses RTP/RTMP/HLS entirely.\n- **QUIC offload silicon** โ€” first-generation NIC support landing in 2024โ€“2026, closing the CPU-cost gap with TCP.\n\nUDP itself isn't evolving โ€” that's the point. It is the stable substrate. The action is one layer up.` } ] }; diff --git a/src/lib/data/subcategory-stories/enterprise-brokers.ts b/src/lib/data/subcategory-stories/enterprise-brokers.ts index 66b4acd..d0edb35 100644 --- a/src/lib/data/subcategory-stories/enterprise-brokers.ts +++ b/src/lib/data/subcategory-stories/enterprise-brokers.ts @@ -214,7 +214,7 @@ export const enterpriseBrokersStory: SubcategoryStory = { { type: 'callout', title: 'The Confluent Argument: "The Log Is the Database"', - text: `[[pioneer:jay-kreps|Jay Kreps]]'s 2013 essay "The Log: What every software engineer should know about real-time data's unifying abstraction" reframed [[kafka|Kafka]] from "a message broker" to "the source of truth for your data."\n\nThe argument: every stateful system in your stack is, in some sense, a *materialized view* over an event log. Your database is rows derived from a sequence of inserts/updates/deletes. Your search index is documents derived from upstream changes. Your cache is a recent snapshot. If you make the log itself the primary source โ€” and treat all derived state as downstream views over it โ€” then:\n\n- Adding a new system means subscribing to the log and replaying history\n- Recovery means resetting the offset and re-deriving state\n- Auditing is free โ€” every state change is in the log\n- Pipelines become declarative โ€” "this view is a transformation of these topics"\n\nThis is the architectural pattern called **event sourcing**, and Kafka was the first widely-deployed system that made it operationally feasible at scale. Whether you buy the full argument or not, the *mental model* is now standard across distributed-systems design. The log-as-primitive view is one of the deepest contributions of the Kafka era.` + text: `**Jay Kreps**'s 2013 essay "The Log: What every software engineer should know about real-time data's unifying abstraction" reframed [[kafka|Kafka]] from "a message broker" to "the source of truth for your data."\n\nThe argument: every stateful system in your stack is, in some sense, a *materialized view* over an event log. Your database is rows derived from a sequence of inserts/updates/deletes. Your search index is documents derived from upstream changes. Your cache is a recent snapshot. If you make the log itself the primary source โ€” and treat all derived state as downstream views over it โ€” then:\n\n- Adding a new system means subscribing to the log and replaying history\n- Recovery means resetting the offset and re-deriving state\n- Auditing is free โ€” every state change is in the log\n- Pipelines become declarative โ€” "this view is a transformation of these topics"\n\nThis is the architectural pattern called **event sourcing**, and Kafka was the first widely-deployed system that made it operationally feasible at scale. Whether you buy the full argument or not, the *mental model* is now standard across distributed-systems design. The log-as-primitive view is one of the deepest contributions of the Kafka era.` }, { type: 'narrative', diff --git a/src/lib/data/subcategory-stories/http-versions.ts b/src/lib/data/subcategory-stories/http-versions.ts index 2bc0db7..ed6f73f 100644 --- a/src/lib/data/subcategory-stories/http-versions.ts +++ b/src/lib/data/subcategory-stories/http-versions.ts @@ -3,7 +3,7 @@ import type { SubcategoryStory } from './types'; export const httpVersionsStory: SubcategoryStory = { subcategoryId: 'http-versions', tagline: - 'Thirty years of one protocol โ€” from a text-based handshake on a NeXT cube to encrypted multiplexed streams over {{quic|QUIC}}', + 'Thirty years of one protocol โ€” from a text-based handshake on a NeXT cube to encrypted multiplexed streams over [[quic|QUIC]]', sections: [ { type: 'narrative', @@ -43,7 +43,7 @@ export const httpVersionsStory: SubcategoryStory = { title: 'Designer of QUIC', org: 'Google', contribution: - "Designed the original {{quic|QUIC}} at Google starting in 2012 โ€” a fundamentally new transport over [[udp|UDP]] that solved [[http2|HTTP/2]]'s transport-layer {{head-of-line-blocking|head-of-line blocking}} by giving each stream its own loss-recovery context. The {{ietf|IETF}} took over standardization in 2016; [[http3|HTTP/3]] became RFC 9114 in June 2022. Roskind's key insight: encryption belongs *inside* the transport, not above it.", + "Designed the original [[quic|QUIC]] at Google starting in 2012 โ€” a fundamentally new transport over [[udp|UDP]] that solved [[http2|HTTP/2]]'s transport-layer {{head-of-line-blocking|head-of-line blocking}} by giving each stream its own loss-recovery context. The {{ietf|IETF}} took over standardization in 2016; [[http3|HTTP/3]] became RFC 9114 in June 2022. Roskind's key insight: encryption belongs *inside* the transport, not above it.", imagePath: 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Jim_Roskind_2016.jpg/330px-Jim_Roskind_2016.jpg' } @@ -86,7 +86,7 @@ export const httpVersionsStory: SubcategoryStory = { year: 2013, title: 'QUIC at Google', description: - '[[pioneer:jim-roskind|Jim Roskind]] starts {{quic|QUIC}} โ€” a UDP-based transport that bundles encryption, congestion control, and stream multiplexing into one. By 2017, ~7% of all Google traffic already runs on QUIC.' + '[[pioneer:jim-roskind|Jim Roskind]] starts [[quic|QUIC]] โ€” a UDP-based transport that bundles encryption, congestion control, and stream multiplexing into one. By 2017, ~7% of all Google traffic already runs on QUIC.' }, { year: 2015, @@ -117,7 +117,7 @@ export const httpVersionsStory: SubcategoryStory = { { type: 'callout', title: 'The Head-of-Line Blocking Saga', - text: `Each HTTP version is, in some sense, a reaction to head-of-line blocking at a different layer.\n\n**[[http1|HTTP/1.1]]**: HoL blocking *at the application layer*. One request per connection means a slow response stalls the next request on that socket. Browsers worked around this by opening 6 parallel connections per origin.\n\n**[[http2|HTTP/2]]**: solves application-layer HoL with stream multiplexing โ€” hundreds of concurrent requests over one connection. But it still runs over [[tcp|TCP]], and a single lost packet stalls *all* streams until TCP recovers it. HoL just moved down a layer.\n\n**[[http3|HTTP/3]]**: solves transport-layer HoL by moving streams *into* {{quic|QUIC}}. Each stream has its own loss-recovery context. One stream waiting for a retransmit doesn't block the others. The buck finally stops.` + text: `Each HTTP version is, in some sense, a reaction to head-of-line blocking at a different layer.\n\n**[[http1|HTTP/1.1]]**: HoL blocking *at the application layer*. One request per connection means a slow response stalls the next request on that socket. Browsers worked around this by opening 6 parallel connections per origin.\n\n**[[http2|HTTP/2]]**: solves application-layer HoL with stream multiplexing โ€” hundreds of concurrent requests over one connection. But it still runs over [[tcp|TCP]], and a single lost packet stalls *all* streams until TCP recovers it. HoL just moved down a layer.\n\n**[[http3|HTTP/3]]**: solves transport-layer HoL by moving streams *into* [[quic|QUIC]]. Each stream has its own loss-recovery context. One stream waiting for a retransmit doesn't block the others. The buck finally stops.` }, { type: 'animated-sequence', @@ -143,7 +143,7 @@ export const httpVersionsStory: SubcategoryStory = { C->>S: Stream 8, GET /app.js, independent loss recovery S-->>C: Streams delivered in any order, loss on one does not stall others`, caption: - "Same three requests, three protocols. In [[http1|HTTP/1.1]] they're serialized. In [[http2|HTTP/2]] they multiplex but share one TCP socket. In [[http3|HTTP/3]] each stream has its own loss recovery on top of {{quic|QUIC}}.", + "Same three requests, three protocols. In [[http1|HTTP/1.1]] they're serialized. In [[http2|HTTP/2]] they multiplex but share one TCP socket. In [[http3|HTTP/3]] each stream has its own loss recovery on top of [[quic|QUIC]].", steps: { 0: '**[[http1|HTTP/1.1]] โ€” serial requests on one connection.** With Keep-Alive, the client can reuse a TCP connection for many requests, but only one can be in flight at a time.', 1: 'Client sends a **GET for the HTML**. Browser starts the page load.', @@ -167,7 +167,7 @@ export const httpVersionsStory: SubcategoryStory = { { type: 'narrative', title: 'The Ossification Trap', - text: `There's a subtle reason [[http3|HTTP/3]] runs on {{quic|QUIC}} over [[udp|UDP]] rather than on a new TCP-like protocol: **{{ossification|protocol ossification}}**. The internet's middleboxes โ€” firewalls, NATs, deep-packet-inspection appliances โ€” only understand [[tcp|TCP]] and [[udp|UDP]]. Anything else gets blocked. Worse, those middleboxes peek inside TCP headers and reject anything that doesn't look exactly like 1990s TCP. Try to add a new TCP option, and a few percent of the internet silently drops your packets.\n\nQUIC's defense: encrypt everything. Not just the payload โ€” the *transport headers* too. Middleboxes can see a UDP packet going to port 443 and that's it. They can't inspect the QUIC framing, so they can't reject things they don't recognize. Future QUIC versions can change the wire format and middleboxes won't notice.\n\nThe price: implementing QUIC means re-implementing reliable transport in user space, since the kernel doesn't help. The reward: a transport that can evolve.` + text: `There's a subtle reason [[http3|HTTP/3]] runs on [[quic|QUIC]] over [[udp|UDP]] rather than on a new TCP-like protocol: **{{ossification|protocol ossification}}**. The internet's middleboxes โ€” firewalls, NATs, deep-packet-inspection appliances โ€” only understand [[tcp|TCP]] and [[udp|UDP]]. Anything else gets blocked. Worse, those middleboxes peek inside TCP headers and reject anything that doesn't look exactly like 1990s TCP. Try to add a new TCP option, and a few percent of the internet silently drops your packets.\n\nQUIC's defense: encrypt everything. Not just the payload โ€” the *transport headers* too. Middleboxes can see a UDP packet going to port 443 and that's it. They can't inspect the QUIC framing, so they can't reject things they don't recognize. Future QUIC versions can change the wire format and middleboxes won't notice.\n\nThe price: implementing QUIC means re-implementing reliable transport in user space, since the kernel doesn't help. The reward: a transport that can evolve.` }, { type: 'callout', @@ -177,7 +177,7 @@ export const httpVersionsStory: SubcategoryStory = { { type: 'narrative', title: "What's Next", - text: `[[http3|HTTP/3]] is shipping but not finished. Active work in 2025:\n\n- **{{webtransport|WebTransport}}**: bidirectional streams over QUIC, exposed to browsers โ€” a possible replacement for {{websockets|WebSockets}} where you want UDP-like semantics with TLS.\n- **{{masque|MASQUE}}**: tunnel arbitrary protocols inside QUIC, used by iCloud Private Relay and similar privacy products.\n- **HTTP/2 over QUIC**: not actually a thing, but it's a useful reminder that the framing layer (HTTP) and the transport (TCP/QUIC) are now genuinely separable.\n- **Multipath QUIC**: the same {{mptcp|MPTCP}} idea โ€” use multiple network paths in parallel โ€” but for QUIC, which is much easier to evolve than TCP.\n\nThe deeper trend: HTTP is now the universal application protocol, and the interesting evolution is happening at the *transport* layer beneath it. After 35 years, the protocol that started as \`GET /index.html\` runs more of the world's traffic than any other single protocol โ€” and the next chapter is being written by the people who decided TCP wasn't good enough anymore.` + text: `[[http3|HTTP/3]] is shipping but not finished. Active work in 2025:\n\n- **{{webtransport|WebTransport}}**: bidirectional streams over QUIC, exposed to browsers โ€” a possible replacement for [[websockets|WebSockets]] where you want UDP-like semantics with TLS.\n- **{{masque|MASQUE}}**: tunnel arbitrary protocols inside QUIC, used by iCloud Private Relay and similar privacy products.\n- **HTTP/2 over QUIC**: not actually a thing, but it's a useful reminder that the framing layer (HTTP) and the transport (TCP/QUIC) are now genuinely separable.\n- **Multipath QUIC**: the same [[mptcp|MPTCP]] idea โ€” use multiple network paths in parallel โ€” but for QUIC, which is much easier to evolve than TCP.\n\nThe deeper trend: HTTP is now the universal application protocol, and the interesting evolution is happening at the *transport* layer beneath it. After 35 years, the protocol that started as \`GET /index.html\` runs more of the world's traffic than any other single protocol โ€” and the next chapter is being written by the people who decided TCP wasn't good enough anymore.` } ] }; diff --git a/src/lib/data/subcategory-stories/index.ts b/src/lib/data/subcategory-stories/index.ts index c71e5db..2950668 100644 --- a/src/lib/data/subcategory-stories/index.ts +++ b/src/lib/data/subcategory-stories/index.ts @@ -29,7 +29,7 @@ import { networkServicesStory } from './network-services'; import { wlanWanStory } from './wlan-wan'; import { panProximityStory } from './pan-proximity'; -const stories: SubcategoryStory[] = [ +export const subcategoryStories: SubcategoryStory[] = [ linkLayerStory, internetLayerStory, routingStory, @@ -54,7 +54,9 @@ const stories: SubcategoryStory[] = [ panProximityStory ]; -const storyMap = new Map<string, SubcategoryStory>(stories.map((s) => [s.subcategoryId, s])); +const storyMap = new Map<string, SubcategoryStory>( + subcategoryStories.map((s) => [s.subcategoryId, s]) +); export function getSubcategoryStory(subcategoryId: string): SubcategoryStory | undefined { return storyMap.get(subcategoryId); diff --git a/src/lib/data/subcategory-stories/iot-messaging.ts b/src/lib/data/subcategory-stories/iot-messaging.ts index 3e4676d..0a8de6e 100644 --- a/src/lib/data/subcategory-stories/iot-messaging.ts +++ b/src/lib/data/subcategory-stories/iot-messaging.ts @@ -47,7 +47,7 @@ export const iotMessagingStory: SubcategoryStory = { year: 1999, title: 'MQTT Born at IBM', description: - '[[pioneer:andy-stanford-clark|Stanford-Clark]] and [[pioneer:arlen-nipper|Nipper]] design [[mqtt|MQTT]] for monitoring oil pipelines via satellite links. Constraints: expensive bandwidth, frequent disconnects, tiny embedded controllers.' + '**Stanford-Clark** and **Nipper** design [[mqtt|MQTT]] for monitoring oil pipelines via satellite links. Constraints: expensive bandwidth, frequent disconnects, tiny embedded controllers.' }, { year: 2011, diff --git a/src/lib/data/subcategory-stories/reliable-streams.ts b/src/lib/data/subcategory-stories/reliable-streams.ts index de90561..78d3f08 100644 --- a/src/lib/data/subcategory-stories/reliable-streams.ts +++ b/src/lib/data/subcategory-stories/reliable-streams.ts @@ -3,12 +3,12 @@ import type { SubcategoryStory } from './types'; export const reliableStreamsStory: SubcategoryStory = { subcategoryId: 'reliable-streams', tagline: - 'Turning best-effort {{ip|IP}} into ordered, reliable streams โ€” and the fifty-year fight against {{congestion-collapse|congestion collapse}}', + 'Turning best-effort [[ip|IP]] into ordered, reliable streams โ€” and the fifty-year fight against {{congestion-collapse|congestion collapse}}', sections: [ { type: 'narrative', title: 'The Reliability Contract', - text: `{{ip|IP}} promises almost nothing. Packets can be lost, reordered, duplicated, corrupted, or just dropped on the floor. That is by design โ€” keeping the network layer dumb is what lets the Internet scale. But almost no application can use the network in that raw form. They want a *byte stream*: write bytes here, read identical bytes there, in order.\n\n**[[tcp|TCP]]** (1981) is the original reliable-stream contract. It bolted onto [[ip|IP]] everything a stream needs โ€” sequence numbers, acknowledgments, retransmission, flow control, and (after 1986) {{congestion-control|congestion control}}. For 40+ years, almost every Internet conversation that wasn't streaming media or DNS rode on TCP.\n\n**[[sctp|SCTP]]** (2000) is the protocol you wish TCP had been: multiple independent streams in one association (no {{head-of-line-blocking|HoL blocking}}), multi-homing for free failover, message-oriented instead of byte-oriented. It is technically superior to TCP for almost every workload โ€” and almost nobody uses it, because middleboxes don't speak it. The story of SCTP is the story of how the Internet's *deployed* base shapes what protocols can succeed, regardless of merit.\n\n**[[mptcp|MPTCP]]** (2013) is the workaround for SCTP's loss. Keep the TCP wire format that middleboxes accept, but bond multiple TCP subflows across multiple paths into one logical stream. Apple ships it for Siri. Korean carriers use it to bond LTE+Wi-Fi. The protocol is a careful exercise in *backwards-compatible innovation*.\n\nAll three share one quiet inheritance: they all use {{congestion-control|congestion control}} algorithms derived from a single 1988 paper.` + text: `[[ip|IP]] promises almost nothing. Packets can be lost, reordered, duplicated, corrupted, or just dropped on the floor. That is by design โ€” keeping the network layer dumb is what lets the Internet scale. But almost no application can use the network in that raw form. They want a *byte stream*: write bytes here, read identical bytes there, in order.\n\n**[[tcp|TCP]]** (1981) is the original reliable-stream contract. It bolted onto [[ip|IP]] everything a stream needs โ€” sequence numbers, acknowledgments, retransmission, flow control, and (after 1986) {{congestion-control|congestion control}}. For 40+ years, almost every Internet conversation that wasn't streaming media or DNS rode on TCP.\n\n**[[sctp|SCTP]]** (2000) is the protocol you wish TCP had been: multiple independent streams in one association (no {{head-of-line-blocking|HoL blocking}}), multi-homing for free failover, message-oriented instead of byte-oriented. It is technically superior to TCP for almost every workload โ€” and almost nobody uses it, because middleboxes don't speak it. The story of SCTP is the story of how the Internet's *deployed* base shapes what protocols can succeed, regardless of merit.\n\n**[[mptcp|MPTCP]]** (2013) is the workaround for SCTP's loss. Keep the TCP wire format that middleboxes accept, but bond multiple TCP subflows across multiple paths into one logical stream. Apple ships it for Siri. Korean carriers use it to bond LTE+Wi-Fi. The protocol is a careful exercise in *backwards-compatible innovation*.\n\nAll three share one quiet inheritance: they all use {{congestion-control|congestion control}} algorithms derived from a single 1988 paper.` }, { type: 'pioneers', @@ -207,7 +207,7 @@ export const reliableStreamsStory: SubcategoryStory = { { type: 'narrative', title: 'The Failure Mode That Defines the Family', - text: `Every reliable-stream protocol has the same nightmare: **head-of-line blocking**.\n\nIn [[tcp|TCP]], one lost packet stalls *every subsequent byte* until that packet is retransmitted and ACKed. If you're sending a 50 KB HTTP response and packet #3 is lost, the receiver buffers packets 4โ€“35 but won't deliver them to the application until packet #3 arrives. Three round-trips of latency added.\n\n[[sctp|SCTP]] partially solved this with multiple streams: a loss on stream A doesn't stall stream B. But SCTP wasn't deployable.\n\n[[mptcp|MPTCP]] partially solved it differently: multiple subflows over different paths means *path-level* loss doesn't stall *application-level* delivery if you can re-issue on another path. But coordinating reorder across subflows is hard.\n\n[[quic|QUIC]] solved it completely by moving streams *into* the transport โ€” but QUIC sits in [[datagram-transport|Datagram Transport]], not here, because it gave up TCP's wire format to do it.\n\nIn this family, the head-of-line ghost is permanent rent.` + text: `Every reliable-stream protocol has the same nightmare: **head-of-line blocking**.\n\nIn [[tcp|TCP]], one lost packet stalls *every subsequent byte* until that packet is retransmitted and ACKed. If you're sending a 50 KB HTTP response and packet #3 is lost, the receiver buffers packets 4โ€“35 but won't deliver them to the application until packet #3 arrives. Three round-trips of latency added.\n\n[[sctp|SCTP]] partially solved this with multiple streams: a loss on stream A doesn't stall stream B. But SCTP wasn't deployable.\n\n[[mptcp|MPTCP]] partially solved it differently: multiple subflows over different paths means *path-level* loss doesn't stall *application-level* delivery if you can re-issue on another path. But coordinating reorder across subflows is hard.\n\n[[quic|QUIC]] solved it completely by moving streams *into* the transport โ€” but QUIC sits in datagram transport, not here, because it gave up TCP's wire format to do it.\n\nIn this family, the head-of-line ghost is permanent rent.` }, { type: 'narrative', diff --git a/src/lib/data/subcategory-stories/routing.ts b/src/lib/data/subcategory-stories/routing.ts index 9c1aebb..2d16f4a 100644 --- a/src/lib/data/subcategory-stories/routing.ts +++ b/src/lib/data/subcategory-stories/routing.ts @@ -76,7 +76,7 @@ export const routingStory: SubcategoryStory = { year: 1995, title: 'BGP-4 (RFC 1771)', description: - 'BGP-4 adds {{cidr|CIDR}} support โ€” variable-length prefixes instead of class A/B/C boundaries. CIDR is the only thing that staved off [[ipv4|IPv4]] address exhaustion through the 1990s.' + 'BGP-4 adds {{cidr|CIDR}} support โ€” variable-length prefixes instead of class A/B/C boundaries. CIDR is the only thing that staved off [[ip|IPv4]] address exhaustion through the 1990s.' }, { year: 1998, @@ -124,7 +124,7 @@ export const routingStory: SubcategoryStory = { { label: '[[ospf|OSPF]]', values: [ - 'Within one {{as|AS}} (intra-domain)', + 'Within one {{autonomous-system|AS}} (intra-domain)', 'Link-state โ€” every router knows full topology, runs [[pioneer:edsger-dijkstra|Dijkstra]] locally', 'Path cost (bandwidth-derived integer)', 'Full trust โ€” all routers in the same administrative domain', @@ -134,7 +134,7 @@ export const routingStory: SubcategoryStory = { { label: '[[bgp|BGP]]', values: [ - 'Between {{as|ASes}} (inter-domain)', + 'Between {{autonomous-system|ASes}} (inter-domain)', 'Path-vector โ€” exchange path lists, no shared topology', 'Local policy (LOCAL_PREF, AS_PATH length, MED, ...)', 'Zero trust โ€” peers are competitors, customers, or random ISPs', diff --git a/src/lib/data/subcategory-stories/secure-channels-vpn.ts b/src/lib/data/subcategory-stories/secure-channels-vpn.ts index 8a7c990..7399729 100644 --- a/src/lib/data/subcategory-stories/secure-channels-vpn.ts +++ b/src/lib/data/subcategory-stories/secure-channels-vpn.ts @@ -219,7 +219,7 @@ export const secureChannelsVpnStory: SubcategoryStory = { { type: 'narrative', title: 'The Failure Modes', - text: `[[tls|TLS]]'s failure mode is **certificate validation**. The cryptography is solid; the trust model is the weak link. A misissued certificate from a single trusted CA can MITM any site on the Internet. {{ct|Certificate Transparency}} is the public ledger of all issued certs; HPKP (Public Key Pinning) was an attempt at user-controlled pinning that got removed because mistakes broke entire sites. Let's Encrypt democratized cert issuance, but the underlying X.509/CA model is still the most fragile part of the stack.\n\n[[ssh|SSH]]'s failure mode is **trust on first use**. The first time you connect to a host, you accept its public key as-is. If the host's key changes (legitimate rotation? attacker MITM?), SSH warns you, but most users just delete the line in \`known_hosts\` and reconnect. SSH certificate authorities (smallstep, Teleport, Vault SSH backend) fix this but require deployment.\n\n[[ipsec|IPsec]]'s failure mode is **interop**. Two correctly-implemented IPsec stacks may fail to talk to each other because they pick different defaults. The "IKEv2 connection works between Cisco and Palo Alto if you set X, Y, and Z correctly" stories fill the support forums. {{ikev2|IKEv2}} reduced the variance, but the legacy of IKEv1 still haunts deployments.\n\n[[wireguard|WireGuard]]'s failure mode is **roaming and mobility**. WireGuard's connectionless model is elegant โ€” except every peer's configuration includes a fixed UDP endpoint. When a phone moves from Wi-Fi to LTE, the endpoint changes; the server has to learn the new one. WireGuard handles this (the server's endpoint floats to wherever the latest authenticated packet came from), but the *initial* connection from a roaming client requires the server to have a stable address. Mesh deployments need a coordination plane โ€” Tailscale, Headscale, Netbird, NetMaker exist precisely to add this layer.` + text: `[[tls|TLS]]'s failure mode is **certificate validation**. The cryptography is solid; the trust model is the weak link. A misissued certificate from a single trusted CA can MITM any site on the Internet. {{certificate-transparency|Certificate Transparency}} is the public ledger of all issued certs; HPKP (Public Key Pinning) was an attempt at user-controlled pinning that got removed because mistakes broke entire sites. Let's Encrypt democratized cert issuance, but the underlying X.509/CA model is still the most fragile part of the stack.\n\n[[ssh|SSH]]'s failure mode is **trust on first use**. The first time you connect to a host, you accept its public key as-is. If the host's key changes (legitimate rotation? attacker MITM?), SSH warns you, but most users just delete the line in \`known_hosts\` and reconnect. SSH certificate authorities (smallstep, Teleport, Vault SSH backend) fix this but require deployment.\n\n[[ipsec|IPsec]]'s failure mode is **interop**. Two correctly-implemented IPsec stacks may fail to talk to each other because they pick different defaults. The "IKEv2 connection works between Cisco and Palo Alto if you set X, Y, and Z correctly" stories fill the support forums. {{ikev2|IKEv2}} reduced the variance, but the legacy of IKEv1 still haunts deployments.\n\n[[wireguard|WireGuard]]'s failure mode is **roaming and mobility**. WireGuard's connectionless model is elegant โ€” except every peer's configuration includes a fixed UDP endpoint. When a phone moves from Wi-Fi to LTE, the endpoint changes; the server has to learn the new one. WireGuard handles this (the server's endpoint floats to wherever the latest authenticated packet came from), but the *initial* connection from a roaming client requires the server to have a stable address. Mesh deployments need a coordination plane โ€” Tailscale, Headscale, Netbird, NetMaker exist precisely to add this layer.` }, { type: 'narrative', From 50cc8852994562c52252c6b5c8248761688b5253 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:52:47 -0500 Subject: [PATCH 10/16] perf(bundle): lazy-load highlight.js out of the initial paint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CodeExample imported highlight.js core + 8 grammars statically (~150 KB raw / ~138 KB gz), so every first paint shipped it even when no code example was on screen. Switched to a dynamic import() on mount: code renders as escaped plain text until hljs resolves, then highlights reactively. Measured on the prerendered / (single build, since chunk hashes are non-deterministic): hljs grammar code is no longer in the initial chunk set; initial JS is ~1171 KB gz across 23 chunks. mermaid and driver.js were already dynamic and confirmed absent from initial. The remaining initial weight is hand-authored prose โ€” documented in docs/baselines as the next (riskier) win. Added an e2e guard that http1's code example still highlights after the lazy load. check/lint/16 e2e all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- docs/baselines/bundle-baseline.md | 27 ++++++++++ e2e/app.e2e.ts | 9 ++++ src/lib/components/detail/CodeExample.svelte | 57 +++++++++++++------- 3 files changed, 75 insertions(+), 18 deletions(-) diff --git a/docs/baselines/bundle-baseline.md b/docs/baselines/bundle-baseline.md index ba35b14..4efb612 100644 --- a/docs/baselines/bundle-baseline.md +++ b/docs/baselines/bundle-baseline.md @@ -29,3 +29,30 @@ - Largest single chunk < 500 KB raw. - mermaid / hljs / driver.js split out and loaded on demand. - Total client JS gzipped reduced meaningfully on cold first paint. + +## Phase 4 result (measured on the prerendered `/`) + +Method: parse `build/index.html` for its initial chunk set, sum raw+gzip, check +for vendor markers. The Vite build is non-deterministic (chunk hashes vary per +build), so all measurement must happen within a single build. + +- **Initial JS on `/`: ~3488 KB raw, ~1171 KB gzip (23 chunks).** +- `highlight.js`: **now lazy** โ€” CodeExample loads core + 8 grammars via dynamic + `import()` on mount, so ~138 KB gz no longer ships on first paint (only when a + code example renders). Verified: grammar code absent from the initial chunk + set; highlighting still applies in-browser. +- `mermaid` and `driver.js`: confirmed lazy (dynamic `import()`); no static + importer pulls them into the initial graph. (A "sequenceDiagram" string in an + initial chunk is diagram-definition _content_, not the library.) + +## Remaining opportunity (deferred โ€” high blast radius) + +Most of the 1171 KB gz initial load is hand-authored **prose** statically +imported via `buildGraphNodes()` (full `Protocol` objects), `concepts.ts` +(~416 KB raw), and `diagram-definitions.ts` (~140 KB raw). The graph only needs +protocol _metadata_ (id/name/category/connections), not the long-form fields. +Splitting `Protocol` into always-loaded metadata + lazily-loaded per-protocol +content would cut first paint substantially โ€” but the content layer resolves +`[[id]]`/`{{concept}}` refs synchronously (text-parser, detail panels), so it's +a real refactor needing care, not a mechanical change. Left for a focused, +well-tested pass rather than this autonomous run. diff --git a/e2e/app.e2e.ts b/e2e/app.e2e.ts index 4eec0f3..b93268e 100644 --- a/e2e/app.e2e.ts +++ b/e2e/app.e2e.ts @@ -53,6 +53,15 @@ test.describe('protocol detail', () => { await expect(page.getByRole('button', { name: /Play|Step/i }).first()).toBeVisible(); }); + test('code examples highlight after the lazy highlight.js loads', async ({ page }) => { + // http1 ships a code example; highlight.js is dynamically imported on mount. + await page.goto('/p/http1'); + const code = page.locator('[data-tour="code-example"] code.hljs').first(); + await expect(code).toBeVisible(); + // Once hljs resolves it wraps tokens in <span class="hljs-โ€ฆ">. + await expect(code.locator('span[class^="hljs-"]').first()).toBeVisible(); + }); + test('404s on an unknown protocol id', async ({ page }) => { const res = await page.goto('/p/definitely-not-a-protocol'); // adapter-static serves the SvelteKit error page; status may be 200 for the diff --git a/src/lib/components/detail/CodeExample.svelte b/src/lib/components/detail/CodeExample.svelte index 7a07e52..0ef37d3 100644 --- a/src/lib/components/detail/CodeExample.svelte +++ b/src/lib/components/detail/CodeExample.svelte @@ -1,25 +1,44 @@ <script lang="ts"> + import { onMount } from 'svelte'; import type { CodeExample as CodeExampleType } from '$lib/data/types'; import RichText from '$lib/components/detail/inline/RichText.svelte'; import { parseRichText } from '$lib/utils/text-parser'; - import hljs from 'highlight.js/lib/core'; - import python from 'highlight.js/lib/languages/python'; - import javascript from 'highlight.js/lib/languages/javascript'; - import typescript from 'highlight.js/lib/languages/typescript'; - import bash from 'highlight.js/lib/languages/bash'; - import http from 'highlight.js/lib/languages/http'; - import protobuf from 'highlight.js/lib/languages/protobuf'; - import xml from 'highlight.js/lib/languages/xml'; - import json from 'highlight.js/lib/languages/json'; - hljs.registerLanguage('python', python); - hljs.registerLanguage('javascript', javascript); - hljs.registerLanguage('typescript', typescript); - hljs.registerLanguage('bash', bash); - hljs.registerLanguage('http', http); - hljs.registerLanguage('protobuf', protobuf); - hljs.registerLanguage('xml', xml); - hljs.registerLanguage('json', json); + // highlight.js (core + 8 grammars) is ~150 KB. Load it lazily on mount so it + // only enters the bundle when a code example actually renders. Until it + // resolves, code shows as escaped plain text; `highlightedCode` re-derives + // once `hljs` is set. + type Hljs = typeof import('highlight.js/lib/core').default; + let hljs = $state<Hljs | null>(null); + + onMount(async () => { + const [core, python, javascript, typescript, bash, http, protobuf, xml, json] = + await Promise.all([ + import('highlight.js/lib/core'), + import('highlight.js/lib/languages/python'), + import('highlight.js/lib/languages/javascript'), + import('highlight.js/lib/languages/typescript'), + import('highlight.js/lib/languages/bash'), + import('highlight.js/lib/languages/http'), + import('highlight.js/lib/languages/protobuf'), + import('highlight.js/lib/languages/xml'), + import('highlight.js/lib/languages/json') + ]); + const h = core.default; + h.registerLanguage('python', python.default); + h.registerLanguage('javascript', javascript.default); + h.registerLanguage('typescript', typescript.default); + h.registerLanguage('bash', bash.default); + h.registerLanguage('http', http.default); + h.registerLanguage('protobuf', protobuf.default); + h.registerLanguage('xml', xml.default); + h.registerLanguage('json', json.default); + hljs = h; + }); + + function escapeHtml(code: string): string { + return code.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); + } let { example, color = '#FFFFFF' }: { example: CodeExampleType; color?: string } = $props(); let copied = $state(false); @@ -56,6 +75,8 @@ } function highlightCode(code: string, language: string): string { + // Until hljs finishes loading, render escaped plain text. + if (!hljs) return escapeHtml(code); const hljsLang = resolveHljsLang(language); try { if (hljs.getLanguage(hljsLang)) { @@ -63,7 +84,7 @@ } return hljs.highlightAuto(code).value; } catch { - return code.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); + return escapeHtml(code); } } From 11114b17efd884846e66cb14d4e415930de37fb6 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:54:40 -0500 Subject: [PATCH 11/16] chore(assets): shrink og-image, delete unused screenshot.png MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - static/screenshot.png (1.9 MB) was not referenced anywhere โ€” removed. - og-image.png was 2678ร—1612 / 1.9 MB, far larger than a social card needs. Resized to the standard 1200px width (1200ร—722) โ†’ 544 KB, a 71% cut. Format unchanged (crisp text, no JPEG artifacts) and no og:image dimensions are declared, so no meta changes needed. Note: a spec-valid sitemap.xml needs absolute URLs, but no deploy domain (CNAME/og:url) is configured in the repo โ€” deferred until the canonical URL is known rather than guessing the GitHub Pages path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- static/og-image.png | Bin 1858982 -> 556199 bytes static/screenshot.png | Bin 1858982 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/screenshot.png diff --git a/static/og-image.png b/static/og-image.png index 16d131cabf547478276e21a567a80e3c3aa40db5..755fe6cc5c2b5f50497230495956dd588555e087 100644 GIT binary patch literal 556199 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�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�o57*|z!9bzRFG2j^>kC6qsLEk#UITwK00#y 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Ú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 Z{|C7~BLn;m^z8ru002ovPDHLkV1h5q-Y)<E literal 1858982 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 c;!q10XeXvoaX|ZT#Q1Vee>+HLi9&mjF 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�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 J^Nk!C6y*9mZF}0__AJITB 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%0Ar?<Gdp2|(AQ%}B7hg&k5m@Fs`bdC-5wVj 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 E0KMGizW@LL diff --git a/static/screenshot.png b/static/screenshot.png deleted file mode 100644 index 16d131cabf547478276e21a567a80e3c3aa40db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858982 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 c;!q10XeXvoaX|ZT#Q1Vee>+HLi9&mjF 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�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 J^Nk!C6y*9mZF}0__AJITB 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%0Ar?<Gdp2|(AQ%}B7hg&k5m@Fs`bdC-5wVj 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 E0KMGizW@LL From f1162553c2139830935aa3e11a84fa31fdaee89e Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:56:57 -0500 Subject: [PATCH 12/16] a11y: honor prefers-reduced-motion across all CSS animation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added a global reduced-motion reset in layout.css that collapses animations, transitions, and smooth scroll to near-instant when the OS requests it. This covers the detail-panel slide-in plus the modal / tooltip / simulator-arrow entrance animations that previously ignored the preference โ€” in one place rather than per component. The canvas graph already honors the same preference in JS. Added an e2e test asserting reduced-motion users still receive the detail-panel content (animation off must not mean content hidden). check/lint/17 e2e green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- e2e/app.e2e.ts | 9 +++++++++ src/routes/layout.css | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/e2e/app.e2e.ts b/e2e/app.e2e.ts index b93268e..f09058b 100644 --- a/e2e/app.e2e.ts +++ b/e2e/app.e2e.ts @@ -121,6 +121,15 @@ test.describe('registry & book pages', () => { } }); +test.describe('accessibility', () => { + test('reduced-motion users still get the detail panel content', async ({ page }) => { + await page.emulateMedia({ reducedMotion: 'reduce' }); + await page.goto('/p/tcp'); + // The slide-in animation is collapsed to ~instant; content must still render. + await expect(page.getByRole('heading', { name: 'TCP', exact: true })).toBeVisible(); + }); +}); + test.describe('mobile', () => { test.use({ viewport: { width: 375, height: 812 } }); diff --git a/src/routes/layout.css b/src/routes/layout.css index a47267c..f644435 100644 --- a/src/routes/layout.css +++ b/src/routes/layout.css @@ -2,6 +2,23 @@ @import 'driver.js/dist/driver.css'; @plugin '@tailwindcss/typography'; +/* โ”€โ”€ Reduced-motion reset โ”€โ”€ + When a user asks the OS for reduced motion, collapse all CSS animations, + transitions, and smooth scrolling to near-instant. Covers entrance + animations (detail panel, modals, tooltips, simulator arrows) in one place. + The canvas graph honors the same preference in JS (see GraphCanvas/ + prefersReducedMotion). */ +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} + /* โ”€โ”€ Semantic theme variables โ”€โ”€ */ :root { --theme-bg: #090e1a; From d091475cfd5f15e29652f2cd6574b0c8256addd4 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 02:59:19 -0500 Subject: [PATCH 13/16] fix(engine): sync simulation positions by id, not array index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit syncPositions copied simNodes[i] โ†’ nodes[i], which only works while d3-force's internal array stays in creation order. A reordered or resized `nodes` array would silently scatter every node to the wrong position. Now keyed by id. Added simulation.test.ts (TDD): a reordered-array case that fails on the old index logic and passes on the id match, plus an orphan-node case. Verified in-browser that the graph still settles (live node positions populated, console clean). 41 unit tests green. Note: the render-loop perf micro-opts from the audit (memoize per-frame node/connection maps, evict settled hover/dim animations, pool gradients, delta-time viewport lerp) are deferred โ€” they touch the canvas hot path with no current user-facing bug, so they want a watched, profiled pass rather than this autonomous run. Tracked in IMPROVEMENT_PLAN Phase 7. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- src/lib/engine/simulation.test.ts | 44 +++++++++++++++++++++++++++++++ src/lib/engine/simulation.ts | 24 ++++++++++------- 2 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 src/lib/engine/simulation.test.ts diff --git a/src/lib/engine/simulation.test.ts b/src/lib/engine/simulation.test.ts new file mode 100644 index 0000000..6ddac0e --- /dev/null +++ b/src/lib/engine/simulation.test.ts @@ -0,0 +1,44 @@ +import { describe, it, expect } from 'vitest'; +import type { Simulation } from 'd3-force'; +import { syncPositions, type SimNode } from './simulation'; +import type { GraphNode } from '$lib/data/types'; + +/** Minimal GraphNode for position-sync tests (only id/x/y/vx/vy are touched). */ +function gnode(id: string): GraphNode { + return { id, x: 0, y: 0, vx: 0, vy: 0 } as GraphNode; +} + +function snode(id: string, x: number, y: number): SimNode { + return { id, type: 'protocol', radius: 10, x, y, vx: 1, vy: 2 }; +} + +/** Stub d3 simulation exposing only the .nodes() syncPositions reads. */ +function fakeSim(simNodes: SimNode[]): Simulation<SimNode, never> { + return { nodes: () => simNodes } as unknown as Simulation<SimNode, never>; +} + +describe('syncPositions', () => { + it('copies positions onto the matching graph node by id, regardless of order', () => { + const simNodes = [snode('a', 10, 11), snode('b', 20, 21), snode('c', 30, 31)]; + // Graph nodes in a DIFFERENT order than the sim's internal array. + const graphNodes = [gnode('c'), gnode('a'), gnode('b')]; + + syncPositions(fakeSim(simNodes), graphNodes); + + const byId = new Map(graphNodes.map((n) => [n.id, n])); + expect(byId.get('a')).toMatchObject({ x: 10, y: 11 }); + expect(byId.get('b')).toMatchObject({ x: 20, y: 21 }); + expect(byId.get('c')).toMatchObject({ x: 30, y: 31 }); + }); + + it('leaves a graph node untouched when the sim has no node with its id', () => { + const simNodes = [snode('a', 5, 6)]; + const graphNodes = [gnode('a'), gnode('orphan')]; + + syncPositions(fakeSim(simNodes), graphNodes); + + expect(graphNodes[0]).toMatchObject({ x: 5, y: 6 }); + // orphan keeps its defaults โ€” no stray sim node bleeds into it. + expect(graphNodes[1]).toMatchObject({ x: 0, y: 0 }); + }); +}); diff --git a/src/lib/engine/simulation.ts b/src/lib/engine/simulation.ts index 79ce280..a6c8d2f 100644 --- a/src/lib/engine/simulation.ts +++ b/src/lib/engine/simulation.ts @@ -224,15 +224,19 @@ export function warmUpSimulation(simulation: Simulation<SimNode, SimLink>, ticks } export function syncPositions(simulation: Simulation<SimNode, SimLink>, nodes: GraphNode[]): void { - const simNodes = simulation.nodes(); - for (let i = 0; i < simNodes.length; i++) { - const sn = simNodes[i]; - const gn = nodes[i]; - if (gn && sn) { - gn.x = sn.x ?? 0; - gn.y = sn.y ?? 0; - gn.vx = sn.vx ?? 0; - gn.vy = sn.vy ?? 0; - } + // Match by id, not array index. d3-force keeps its node array in creation + // order so index alignment usually holds, but it breaks silently the moment + // a caller passes a reordered or resized `nodes` array โ€” desyncing every + // position. Keying on id is robust and barely more expensive. + const byId = new Map<string, SimNode>(); + for (const sn of simulation.nodes()) byId.set(sn.id, sn); + + for (const gn of nodes) { + const sn = byId.get(gn.id); + if (!sn) continue; + gn.x = sn.x ?? 0; + gn.y = sn.y ?? 0; + gn.vx = sn.vx ?? 0; + gn.vy = sn.vy ?? 0; } } From bc7e05135ac0b83a2276aff7e23b507928223786 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 03:02:40 -0500 Subject: [PATCH 14/16] refactor(mermaid): centralize init in a loadMermaid() helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The four diagram components (SequencePlayer, MermaidDiagram, StoryDiagramModal, StoryDiagram) each repeated the dynamic import('mermaid') + initialize() with the same base config (theme/security/font), differing only in their sequence/ flowchart tuning. Extracted loadMermaid(overrides) into mermaid-helpers so the shared base lives in one place; each component passes only its own overrides. Behavior unchanged โ€” verified TCP sequence diagram + transport category-story diagrams still render, console clean, build green. The larger GenericLink (6 inline link components) and ModalShell (3 modals) dedups from the audit are deferred: they carry visual-regression risk that wants a watched, screenshot-diffed pass rather than this autonomous run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- .../components/detail/MermaidDiagram.svelte | 10 ++---- .../components/detail/SequencePlayer.svelte | 10 ++---- .../detail/StoryDiagramModal.svelte | 17 ++-------- .../detail/category-story/StoryDiagram.svelte | 17 ++-------- src/lib/utils/mermaid-helpers.ts | 31 ++++++++++++++++++- 5 files changed, 40 insertions(+), 45 deletions(-) diff --git a/src/lib/components/detail/MermaidDiagram.svelte b/src/lib/components/detail/MermaidDiagram.svelte index e4964fd..d3c48ca 100644 --- a/src/lib/components/detail/MermaidDiagram.svelte +++ b/src/lib/components/detail/MermaidDiagram.svelte @@ -1,7 +1,7 @@ <script lang="ts"> import { onMount } from 'svelte'; import { diagramDefinitions } from '$lib/data/diagram-definitions'; - import { buildThemedDefinition, styleCrossArrows } from '$lib/utils/mermaid-helpers'; + import { buildThemedDefinition, styleCrossArrows, loadMermaid } from '$lib/utils/mermaid-helpers'; import { getAppState } from '$lib/state/context'; let { @@ -17,12 +17,7 @@ let renderCounter = 0; onMount(async () => { - const mod = await import('mermaid'); - mod.default.initialize({ - startOnLoad: false, - theme: 'dark', - securityLevel: 'loose', - fontFamily: 'ui-sans-serif, system-ui, -apple-system, sans-serif', + mermaidApi = await loadMermaid({ sequence: { actorMargin: 50, messageMargin: 25, @@ -44,7 +39,6 @@ padding: 12 } }); - mermaidApi = mod.default; }); const definition = $derived(diagramDefinitions[protocolId]); diff --git a/src/lib/components/detail/SequencePlayer.svelte b/src/lib/components/detail/SequencePlayer.svelte index 676a477..2b0e1e8 100644 --- a/src/lib/components/detail/SequencePlayer.svelte +++ b/src/lib/components/detail/SequencePlayer.svelte @@ -1,7 +1,7 @@ <script lang="ts"> import { onMount } from 'svelte'; import { diagramDefinitions } from '$lib/data/diagram-definitions'; - import { buildThemedDefinition, styleCrossArrows } from '$lib/utils/mermaid-helpers'; + import { buildThemedDefinition, styleCrossArrows, loadMermaid } from '$lib/utils/mermaid-helpers'; import { getAppState } from '$lib/state/context'; import { parseSequenceSteps, @@ -57,12 +57,7 @@ const diagramKey = $derived(protocolId ?? 'inline'); onMount(async () => { - const mod = await import('mermaid'); - mod.default.initialize({ - startOnLoad: false, - theme: 'dark', - securityLevel: 'loose', - fontFamily: 'ui-sans-serif, system-ui, -apple-system, sans-serif', + mermaidApi = await loadMermaid({ sequence: { actorMargin: 50, messageMargin: 28, @@ -78,7 +73,6 @@ noteMargin: 8 } }); - mermaidApi = mod.default; }); $effect(() => { diff --git a/src/lib/components/detail/StoryDiagramModal.svelte b/src/lib/components/detail/StoryDiagramModal.svelte index d327534..144a8b0 100644 --- a/src/lib/components/detail/StoryDiagramModal.svelte +++ b/src/lib/components/detail/StoryDiagramModal.svelte @@ -1,6 +1,6 @@ <script lang="ts"> import { onMount } from 'svelte'; - import { buildThemedDefinition } from '$lib/utils/mermaid-helpers'; + import { buildThemedDefinition, loadMermaid } from '$lib/utils/mermaid-helpers'; import { getAppState } from '$lib/state/context'; let { @@ -25,20 +25,9 @@ let renderCounter = 0; onMount(async () => { - const mod = await import('mermaid'); - mod.default.initialize({ - startOnLoad: false, - theme: 'dark', - securityLevel: 'loose', - fontFamily: 'ui-sans-serif, system-ui, -apple-system, sans-serif', - flowchart: { - htmlLabels: true, - curve: 'basis', - useMaxWidth: true, - padding: 16 - } + mermaidApi = await loadMermaid({ + flowchart: { htmlLabels: true, curve: 'basis', useMaxWidth: true, padding: 16 } }); - mermaidApi = mod.default; }); $effect(() => { diff --git a/src/lib/components/detail/category-story/StoryDiagram.svelte b/src/lib/components/detail/category-story/StoryDiagram.svelte index fa0dee4..7d13592 100644 --- a/src/lib/components/detail/category-story/StoryDiagram.svelte +++ b/src/lib/components/detail/category-story/StoryDiagram.svelte @@ -4,7 +4,7 @@ <script lang="ts"> import { onMount } from 'svelte'; - import { buildThemedDefinition } from '$lib/utils/mermaid-helpers'; + import { buildThemedDefinition, loadMermaid } from '$lib/utils/mermaid-helpers'; import { getAppState } from '$lib/state/context'; import RichText from '$lib/components/detail/inline/RichText.svelte'; import { parseRichText } from '$lib/utils/text-parser'; @@ -28,20 +28,9 @@ let localCounter = 0; onMount(async () => { - const mod = await import('mermaid'); - mod.default.initialize({ - startOnLoad: false, - theme: 'dark', - securityLevel: 'loose', - fontFamily: 'ui-sans-serif, system-ui, -apple-system, sans-serif', - flowchart: { - htmlLabels: true, - curve: 'basis', - useMaxWidth: true, - padding: 12 - } + mermaidApi = await loadMermaid({ + flowchart: { htmlLabels: true, curve: 'basis', useMaxWidth: true, padding: 12 } }); - mermaidApi = mod.default; }); $effect(() => { diff --git a/src/lib/utils/mermaid-helpers.ts b/src/lib/utils/mermaid-helpers.ts index 771834c..51dc748 100644 --- a/src/lib/utils/mermaid-helpers.ts +++ b/src/lib/utils/mermaid-helpers.ts @@ -1,9 +1,38 @@ /** - * Shared mermaid rendering utilities used by MermaidDiagram and DiagramModal. + * Shared mermaid rendering utilities used by the diagram components. */ import { stripRichTextMarkup } from '$lib/utils/text-parser'; +type MermaidApi = typeof import('mermaid').default; + +/** Per-diagram-kind config merged onto the shared base. Values are passed + * straight to mermaid; kept loose so this module never statically imports + * mermaid's types (which would pull the library into the initial bundle). */ +interface MermaidOverrides { + sequence?: Record<string, unknown>; + flowchart?: Record<string, unknown>; +} + +/** + * Dynamically import mermaid (~200 KB โ€” deliberately kept out of the initial + * bundle) and initialize it with the shared base config plus any per-component + * overrides. Every diagram component should go through this so the base theme / + * security / font settings live in exactly one place. + */ +export async function loadMermaid(overrides: MermaidOverrides = {}): Promise<MermaidApi> { + const mod = await import('mermaid'); + const config = { + startOnLoad: false, + theme: 'dark', + securityLevel: 'loose', + fontFamily: 'ui-sans-serif, system-ui, -apple-system, sans-serif', + ...overrides + }; + mod.default.initialize(config as Parameters<MermaidApi['initialize']>[0]); + return mod.default; +} + export function buildThemedDefinition( rawDef: string, color: string, From 9054505feda21dfcdf47c1149001c033771a93c8 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 03:05:26 -0500 Subject: [PATCH 15/16] fix(content): bare [[id]]/{{concept}} strips to its label, not empty MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stripRichTextMarkup feeds plain-text surfaces (NodeTooltip body, AccessibleGraph screen-reader text). A label-less ref like [[tcp]] resolved to '' there, silently dropping the word. It now falls back to the display label (protocol abbreviation, concept term, RFC number, โ€ฆ), mirroring how parseRichText renders the same ref โ€” so stripped text matches rendered text. Currently latent (no bare refs sit in oneLiner/description fields today, and the cross-ref validator can't catch it since the ref is valid) โ€” this hardens the path for future content. Added unit tests; 43 unit tests green, validate green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- src/lib/utils/text-parser.test.ts | 13 ++++++++++ src/lib/utils/text-parser.ts | 42 +++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/lib/utils/text-parser.test.ts b/src/lib/utils/text-parser.test.ts index f4ecc92..d2ad7e1 100644 --- a/src/lib/utils/text-parser.test.ts +++ b/src/lib/utils/text-parser.test.ts @@ -104,4 +104,17 @@ describe('stripRichTextMarkup', () => { it('is idempotent on already-plain text', () => { expect(stripRichTextMarkup('nothing to strip')).toBe('nothing to strip'); }); + + it('resolves a bare [[id]] to its label instead of dropping it', () => { + // Regression: previously a label-less ref stripped to '' and the word + // vanished from tooltips / aria-labels. + expect(stripRichTextMarkup('runs on [[tcp]] today')).toBe('runs on TCP today'); + expect(stripRichTextMarkup('see [[rfc:9293]]')).toBe('see RFC 9293'); + }); + + it('resolves a bare {{concept}} to its term', () => { + const out = stripRichTextMarkup('the {{handshake}} step'); + expect(out).not.toContain('{{'); + expect(out.toLowerCase()).toContain('handshake'); + }); }); diff --git a/src/lib/utils/text-parser.ts b/src/lib/utils/text-parser.ts index 20ff0a0..a9859a9 100644 --- a/src/lib/utils/text-parser.ts +++ b/src/lib/utils/text-parser.ts @@ -214,6 +214,35 @@ export function parseParagraphs(raw: string): TextSegment[][] { return raw.split('\n\n').map((p) => parseRichText(p)); } +/** + * Resolve a bracketed ref to the label text it should display when no explicit + * `|label` was given โ€” mirrors {@link buildBracketSegment} so stripped text + * matches rendered text. A bare `[[tcp]]` becomes "TCP", not an empty string. + */ +function bracketFallbackLabel(rawId: string): string { + const colonIdx = rawId.indexOf(':'); + const prefix = colonIdx === -1 ? 'protocol' : rawId.slice(0, colonIdx); + const id = colonIdx === -1 ? rawId : rawId.slice(colonIdx + 1); + switch (prefix) { + case 'protocol': + return getProtocolById(id)?.abbreviation ?? id.toUpperCase(); + case 'rfc': + return `RFC ${id}`; + case 'outage': + return getOutageById(id)?.title ?? id; + case 'pioneer': + return getPioneerById(id)?.name ?? id; + case 'glossary': + return getConceptById(id)?.term ?? id; + case 'frontier': + return getFrontierById(id)?.title ?? id; + case 'chapter': + return id.includes('/') ? id.slice(id.indexOf('/') + 1) : id; + default: + return rawId; + } +} + /** * Strip rich-text atoms ([[โ€ฆ]] / {{โ€ฆ}} / **โ€ฆ**) down to their label * text. For surfaces that render strings as raw DOM text (screen-reader @@ -227,8 +256,17 @@ export function stripRichTextMarkup(raw: string): string { // outer brackets when an author nests a wrap inside another bracketed // construct โ€” e.g. Mermaid's `NODE[[[id|Label]]]`. A legitimate id is // always a slug, so disallowing `[`/`{` inside it is strictly correct. + // + // A bare ref with no `|label` resolves to its display label (protocol + // abbreviation, concept term, โ€ฆ) rather than vanishing โ€” otherwise a bare + // `[[tcp]]` in a stripped field (tooltip / aria-label) would silently drop + // the word. return raw - .replace(/\[\[[^\][|]+(?:\|([^\]]+))?\]\]/g, (_m, label) => label ?? '') - .replace(/\{\{[^}{|]+(?:\|([^}]+))?\}\}/g, (_m, label) => label ?? '') + .replace(/\[\[([^\][|]+)(?:\|([^\]]+))?\]\]/g, (_m, id, label) => + label != null ? label : bracketFallbackLabel(id) + ) + .replace(/\{\{([^}{|]+)(?:\|([^}]+))?\}\}/g, (_m, id, label) => + label != null ? label : (getConceptById(id)?.term ?? id) + ) .replace(/\*\*([^*]+)\*\*/g, '$1'); } From c5ba1d40959f49e5c97931a7625f1988ca47d118 Mon Sep 17 00:00:00 2001 From: NeoVand <mmv@mit.edu> Date: Fri, 19 Jun 2026 03:08:14 -0500 Subject: [PATCH 16/16] feat(validate): detect duplicate ids; surface 18 shadowed concepts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cross-ref validator now flags duplicate ids. Protocol/pioneer/RFC/outage/ frontier collisions are fatal (none exist today, so this is a guard). Concepts have 18 pre-existing collisions where two authored definitions share an id and one silently shadows the other in conceptMap โ€” reported as warnings for editorial review rather than auto-deleting authored content or unilaterally picking a "winner" (e.g. sip-invite, ns-record, bgp-update, and the company entries apple/google/microsoft/meta/cloudflare each have two definitions). Surfacing > guessing: the visible definition is valid today, so this is a content-curation task for the owner, now tracked by the build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- scripts/validate-cross-references.ts | 31 +++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/scripts/validate-cross-references.ts b/scripts/validate-cross-references.ts index 9457c37..e2ae967 100644 --- a/scripts/validate-cross-references.ts +++ b/scripts/validate-cross-references.ts @@ -38,6 +38,34 @@ const FRO = new Set(frontierEntries.map((f) => f.id)); const CON = new Set(concepts.map((c) => c.id)); const PART = new Set(bookParts.map((b) => b.id)); +// โ”€โ”€ Duplicate ids โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// A duplicate id silently shadows the earlier entry in the *Map lookups +// (Map keeps the last value), so one definition becomes unreachable. +function findDuplicates(ids: string[]): string[] { + const seen = new Set<string>(); + const dup = new Set<string>(); + for (const id of ids) { + if (seen.has(id)) dup.add(id); + seen.add(id); + } + return [...dup]; +} +for (const [label, ids, sink] of [ + ['protocol', allProtocols.map((p) => p.id), errors], + ['pioneer', pioneers.map((p) => p.id), errors], + ['RFC', rfcs.map((r) => String(r.number)), errors], + ['outage', outages.map((o) => o.id), errors], + ['frontier', frontierEntries.map((f) => f.id), errors], + // Concepts have 18 known pre-existing collisions (two authored definitions + // share an id). They render a valid definition today, so they are surfaced + // as warnings for editorial review rather than breaking the build. + ['concept', concepts.map((c) => c.id), warnings] +] as const) { + for (const id of findDuplicates(ids)) { + sink.push(`duplicate ${label} id "${id}" โ€” one definition shadows the other`); + } +} + const ref = (set: Set<string>, id: string, where: string) => { if (!set.has(id)) errors.push(`${where} โ†’ unknown id "${id}"`); }; @@ -131,7 +159,8 @@ function resolveBracket(rawId: string, where: string) { break; case 'chapter': { const partId = id.split('/')[0]; - if (!PART.has(partId)) errors.push(`inline [[chapter:${id}]] in ${where} โ†’ unknown book part`); + if (!PART.has(partId)) + errors.push(`inline [[chapter:${id}]] in ${where} โ†’ unknown book part`); break; } default: