diff --git a/_static/css/rtd_theme_mods.css b/_static/css/rtd_theme_mods.css
index 2534343..81f026b 100644
--- a/_static/css/rtd_theme_mods.css
+++ b/_static/css/rtd_theme_mods.css
@@ -72,6 +72,12 @@ h3 {
font-style: italic;
font-weight: bold;
}
+/* Single-column index */
+.genindextable td {
+ width: 100% !important;
+ display: block;
+}
+
aside.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
diff --git a/_templates/genindex.html b/_templates/genindex.html
new file mode 100644
index 0000000..1643377
--- /dev/null
+++ b/_templates/genindex.html
@@ -0,0 +1,32 @@
+{%- extends "layout.html" %}
+{% set title = 'Acronym Glossary' %}
+
+{% block body %}
+
+
Acronym Glossary
+
+This glossary expands the network-related acronyms used throughout the
+book, and links the section that gives the best introduction to the
+term. Use the "Search" facility for an exhaustive index of all uses.
+
+
+
+ {% for key, dummy in genindexentries -%}
+
{{ key }}
+ {% if not loop.last %}| {% endif %}
+ {%- endfor %}
+
+
+{%- for key, entries in genindexentries %}
+{{ key }}
+
+ {%- for entryname, (links, subitems, _) in entries %}
+ -
+ {%- if links %}{{ entryname|e }}
+ {%- else %}{{ entryname|e }}{% endif %}
+
+ {%- endfor %}
+
+{% endfor %}
+
+{% endblock %}
diff --git a/_templates/layout.html b/_templates/layout.html
new file mode 100644
index 0000000..577c6dc
--- /dev/null
+++ b/_templates/layout.html
@@ -0,0 +1,9 @@
+{% extends "!layout.html" %}
+{% block navigation %}
+{{ super() }}
+
+{% endblock %}
diff --git a/appendix.rst b/appendix.rst
deleted file mode 100644
index 15fc79a..0000000
--- a/appendix.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-.. SPDX-FileCopyrightText: 2026 Larry L. Peterson and Bruce S. Davie
-.. SPDX-License-Identifier: CC-BY-4.0
-
-Appendix: List of Protocols
-========================================
-
-The chapters are organized around major questions that arise when
-building a global Internet, but they use example artifacts drawn from
-today's protocols, standards, and technology to illustrate specific
-design choices. This appendix indexes the most noteworthy of those
-artifacts.
-
-.. table::
- :align: center
- :widths: auto
-
- ====================== ===========
- Protocol Coverage
- ====================== ===========
- 5G :ref:`Section 5.4 `
- 802.1 (Spanning Tree) :ref:`Section 4.2 `
- 802.3 (Ethernet) :ref:`Section 3.1 `
- 802.11 (Wi-Fi) :ref:`Section 5.3 `
- 802.1Q (VLAN) :ref:`Section 9.2 `
- ARP :ref:`Section 6.2.4 `
- BGP :ref:`Chapter 7 `
- DASH :ref:`Section 2.4 `
- DCTCP :ref:`Section 13.4.1 `
- DHCP :ref:`Section 10.2.1 `
- DNS :ref:`Section 11.2 `
- ECMP :ref:`Section 4.5 `
- gRPC :ref:`Section 15.2 `
- HTTP/HTTPS :ref:`Section 2.2.1 `
- IPv4 :ref:`Section 6.2 `
- IPv6 :ref:`Section 6.3.3 `
- JPEG :ref:`Section 17.2 `
- MPEG :ref:`Section 17.2 `
- MPLS :ref:`Section 9.3.4 `
- NAT :ref:`Section 6.3.2 `
- OSPF :ref:`Section 4.3 `
- PON :ref:`Section 5.5 `
- POP3 :ref:`Section 2.3.3 `
- QUIC :ref:`Section 15.3 `
- RDMA (libibverbs) :ref:`Section 15.4 `
- RIP :ref:`Section 4.4 `
- RoCE :ref:`Section 15.5 `
- RTP :ref:`Section 17.3 `
- SIP :ref:`Section 17.4 `
- SMTP :ref:`Section 2.3.2 `
- SONET :ref:`Section 3.3.2 `
- TCP :ref:`Chapter 12 `
- TLS :ref:`Chapter 14 `
- YANG :ref:`Section 10.2.2 `
- ====================== ===========
diff --git a/applications/anatomy.rst b/applications/anatomy.rst
index 2782f85..dee1abd 100644
--- a/applications/anatomy.rst
+++ b/applications/anatomy.rst
@@ -1,3 +1,5 @@
+.. index:: IXP: Internet Exchange Point
+
2.1 Anatomy of an Application
---------------------------------------
diff --git a/applications/dash.rst b/applications/dash.rst
index 20f9160..3d00191 100644
--- a/applications/dash.rst
+++ b/applications/dash.rst
@@ -1,4 +1,4 @@
-.. _artifact-dash:
+.. index:: DASH: Dynamic Adaptive Streaming over HTTP
2.4 Adaptive Streaming
-------------------------------
diff --git a/applications/email.rst b/applications/email.rst
index 4d6d678..44aaa07 100644
--- a/applications/email.rst
+++ b/applications/email.rst
@@ -1,3 +1,8 @@
+.. index:: MIME: Multipurpose Internet Mail Extensions
+.. index:: IMAP: Internet Message Access Protocol
+.. index:: SMTP: Simple Mail Transfer Protocol
+.. index:: POP3: Post Office Protocol version 3
+
2.3 Electronic Mail
----------------------------------------
@@ -193,8 +198,6 @@ contains various pieces, each denoted by a character string that does
not appear in the data itself. Each piece then has its own
``Content-Type`` and ``Content-Transfer-Encoding`` lines.
-.. _artifact-smtp:
-
2.3.2 Message Transfer
~~~~~~~~~~~~~~~~~~~~~~
@@ -332,8 +335,6 @@ was not always the case. In the days before everyone was connected to
the Internet, it was not uncommon to see email addresses of the form
``user%host@site!neighbor``.
-.. _artifact-pop3:
-
2.3.3 Mail Reader
~~~~~~~~~~~~~~~~~
diff --git a/applications/web.rst b/applications/web.rst
index 188f367..67a7efe 100644
--- a/applications/web.rst
+++ b/applications/web.rst
@@ -1,3 +1,7 @@
+.. index:: HTTP/HTTPS: Hypertext Transfer Protocol
+.. index:: REST/RESTful: Representational State Transfer
+.. index:: ISP: Internet Service Provider
+
2.2 World Wide Web
-----------------------------
@@ -11,7 +15,6 @@ protocol—HTTP—underpinning it. In this section we dig into the details
of that protocol, and in doing so, tease out the reasons the web has
become such a ubiquitous framework for building new applications.
-.. _artifact-http:
2.2.1 Application Protocols
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/capacity/aqm.rst b/capacity/aqm.rst
index c459449..9e6c82f 100644
--- a/capacity/aqm.rst
+++ b/capacity/aqm.rst
@@ -1,3 +1,6 @@
+.. index:: RED: Random Early Detection
+.. index:: AQM: Active Queue Management
+
|Capacity|.3 Active Queue Management
-------------------------------------------
diff --git a/capacity/scheduler.rst b/capacity/scheduler.rst
index 1b0959f..caf2124 100644
--- a/capacity/scheduler.rst
+++ b/capacity/scheduler.rst
@@ -1,3 +1,8 @@
+.. index:: DSCP: DiffServ Code Point
+.. index:: FIFO: First-In First-Out
+.. index:: FQ/WFQ: Fair Queuing / Weighted Fair Queuing
+.. index:: DRR: Deficit Round Robin
+
|Capacity|.2 Packet Schedulers
--------------------------------
diff --git a/capacity/traffic.rst b/capacity/traffic.rst
index 213aef3..38941af 100644
--- a/capacity/traffic.rst
+++ b/capacity/traffic.rst
@@ -1,3 +1,5 @@
+.. index:: TE: Traffic Engineering
+
|Capacity|.5 Traffic Engineering
-----------------------------------------
diff --git a/conf.py b/conf.py
index 09f58da..4e0617d 100644
--- a/conf.py
+++ b/conf.py
@@ -135,7 +135,7 @@ def get_version():
html_favicon = '_static/bridge.ico'
# HTML Index
-html_use_index = False
+html_use_index = True
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
diff --git a/congestion/variants.rst b/congestion/variants.rst
index fb0d840..59af3a4 100644
--- a/congestion/variants.rst
+++ b/congestion/variants.rst
@@ -1,3 +1,5 @@
+.. index:: DCTCP: Data Center TCP
+
|CC|.4 Domain-Specific Variants
-------------------------------------------
@@ -19,8 +21,6 @@ described in a companion book.
Systems Approach `__.
May 2022.
-.. _artifact-dctcp:
-
|CC|.4.1 Datacenter Networks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/federation/hetero.rst b/federation/hetero.rst
index 018ae0e..d8bfbf4 100644
--- a/federation/hetero.rst
+++ b/federation/hetero.rst
@@ -1,4 +1,6 @@
-.. _artifact-ipv4:
+.. index:: TTL: Time to Live
+.. index:: MTU: Maximum Transmission Unit
+.. index:: ARP: Address Resolution Protocol
|Fed|.2 Heterogeneity
---------------------
@@ -516,8 +518,6 @@ by no means the last) in achieving scalability.
packet to any node on a given network is represented by a single
aggregated piece of information.
-.. _artifact-arp:
-
|Fed|.2.4 Address Translation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/federation/scale.rst b/federation/scale.rst
index 85aef48..336dddc 100644
--- a/federation/scale.rst
+++ b/federation/scale.rst
@@ -1,3 +1,6 @@
+.. index:: NAT: Network Address Translation
+.. index:: IPv6: Internet Protocol version 6
+
|Fed|.3 Scale
-------------
@@ -319,8 +322,6 @@ frequently used forwarding entries; a fallback lookup algorithm is
still needed.
-.. _artifact-nat:
-
|Fed|.3.2 Network Address Translation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -442,8 +443,6 @@ adopted in 2015.
`__. ACM SIGCOMM
CCR, April 2015.
-.. _artifact-ipv6:
-
|Fed|.3.3 IP Version 6
~~~~~~~~~~~~~~~~~~~~~~
diff --git a/index.rst b/index.rst
index 88f58e3..800915e 100644
--- a/index.rst
+++ b/index.rst
@@ -14,6 +14,9 @@ Computer Networks: A Systems Approach
Larry Peterson and Bruce Davie
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+|version|
++++++++++++++++++
+
|
@@ -42,7 +45,6 @@ Larry Peterson and Bruce Davie
message.rst
overlay.rst
stream.rst
- appendix.rst
README.rst
authors.rst
latest.rst
diff --git a/introduction/architecture.rst b/introduction/architecture.rst
index 0a0f574..858a6aa 100644
--- a/introduction/architecture.rst
+++ b/introduction/architecture.rst
@@ -1,3 +1,7 @@
+.. index:: IETF: Internet Engineering Task Force
+.. index:: OSI: Open Systems Interconnection
+.. index:: IP/IPv4: Internet Protocol (version 4)
+
|Intro|.2 Network Architecture
-------------------------------
diff --git a/introduction/protocols.rst b/introduction/protocols.rst
index 4dd77a0..7ec269f 100644
--- a/introduction/protocols.rst
+++ b/introduction/protocols.rst
@@ -1,3 +1,7 @@
+.. index:: UDP: User Datagram Protocol
+.. index:: TCP: Transmission Control Protocol
+.. index:: RFC: Request for Comments
+
|Intro|.3 Network Protocols
------------------------------------------
diff --git a/message/quic.rst b/message/quic.rst
index 56b77bf..ede6054 100644
--- a/message/quic.rst
+++ b/message/quic.rst
@@ -1,4 +1,4 @@
-.. _artifact-quic:
+
|Message|.3 Optimizing RPC
--------------------------
diff --git a/message/rdma.rst b/message/rdma.rst
index 2ff951e..f60cce4 100644
--- a/message/rdma.rst
+++ b/message/rdma.rst
@@ -1,4 +1,8 @@
-.. _artifact-rdma:
+.. index:: RDMA: Remote Direct Memory Access
+.. index:: MPI: Message Passing Interface
+.. index:: NCCL: NVIDIA Collective Communications Library
+.. index:: GPI: Global Address Space Programming Interface
+.. index:: OFI: Open Fabrics Interface
|Message|.4 Remote DMA
----------------------------
diff --git a/message/roce.rst b/message/roce.rst
index 186c891..d4d15de 100644
--- a/message/roce.rst
+++ b/message/roce.rst
@@ -1,4 +1,6 @@
-.. _artifact-roce:
+.. index:: RoCE: RDMA over Converged Ethernet
+.. index:: ECN: Explicit Congestion Notification
+.. index:: IPU: Infrastructure Processing Unit
|Message|.5 Optimizing Ethernet for RDMA
------------------------------------------
diff --git a/message/rpc.rst b/message/rpc.rst
index 9ca5fe8..928ecfa 100644
--- a/message/rpc.rst
+++ b/message/rpc.rst
@@ -1,4 +1,6 @@
-.. _artifact-grpc:
+.. index:: RPC: Remote Procedure Call
+.. index:: gRPC: gRPC Remote Procedure Call
+.. index:: NFS: Network File System
|Message|.2 Remote Procedure Call
---------------------------------
@@ -87,6 +89,7 @@ cloud services in their datacenters.
.. sidebar:: RPC vs REST
A false dichotomy...
+.. TODO finish this sidebar
Despite its origins in Google, gRPC does not stand for Google RPC. The
“g” stands for something different in each release. For version 1.10
diff --git a/naming/apps.rst b/naming/apps.rst
index 87667f3..8569c50 100644
--- a/naming/apps.rst
+++ b/naming/apps.rst
@@ -1,3 +1,10 @@
+.. index:: URI: Uniform Resource Identifier
+.. index:: URL: Uniform Resource Locator
+.. index:: URN: Uniform Resource Name
+.. index:: DOI: Digital Object Identifier
+.. index:: IANA: Internet Assigned Numbers Authority
+.. index:: LDAP: Lightweight Directory Access Protocol
+
|Naming|.3 Application Naming Schemes
--------------------------------------------
diff --git a/naming/dns.rst b/naming/dns.rst
index 08ec6ec..f3c535f 100644
--- a/naming/dns.rst
+++ b/naming/dns.rst
@@ -1,4 +1,4 @@
-.. _artifact-dns:
+.. index:: DNS: Domain Name System
|Naming|.2 Domain Naming System
-------------------------------------------
diff --git a/operations/config.rst b/operations/config.rst
index ce10d7d..b4a6ac2 100644
--- a/operations/config.rst
+++ b/operations/config.rst
@@ -1,3 +1,12 @@
+.. index:: SNMP: Simple Network Management Protocol
+.. index:: MIB: Management Information Base
+.. index:: XML: Extensible Markup Language
+.. index:: YAML: YAML Ain't Markup Language
+.. index:: gNMI: gRPC Network Management Interface
+.. index:: gNOI: gRPC Network Operations Interface
+.. index:: DHCP: Dynamic Host Configuration Protocol
+.. index:: YANG: Yet Another Next Generation
+
|Ops|.2 Configuration Management
--------------------------------------
@@ -13,8 +22,6 @@ illustrate the set of problems that need to be tackled and show some
of the tools in widespread use, but this is necessarily a partial view
of a broad landscape of operational tooling.
-.. _artifact-dhcp:
-
|Ops|.2.1 Host Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -128,8 +135,6 @@ address to its pool. A host with a leased address needs to renew the
lease periodically if in fact it is still connected to the network and
functioning correctly.
-.. _artifact-yang:
-
|Ops|.2.2 Configuration Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/operations/telemetry.rst b/operations/telemetry.rst
index f29ecb4..3248558 100644
--- a/operations/telemetry.rst
+++ b/operations/telemetry.rst
@@ -1,3 +1,6 @@
+.. index:: INT: Inband Network Telemetry
+.. index:: NDT: Network Diagnostic Tool
+
|Ops|.3 Monitoring and Telemetry
--------------------------------------
diff --git a/operations/velocity.rst b/operations/velocity.rst
index 671f2ab..daa24ad 100644
--- a/operations/velocity.rst
+++ b/operations/velocity.rst
@@ -1,3 +1,5 @@
+.. index:: CI/CD: Continuous Integration / Continuous Deployment
+
|Ops|.4 Feature Velocity
--------------------------------------
diff --git a/overlay/cdn.rst b/overlay/cdn.rst
index 90470f5..1b4b943 100644
--- a/overlay/cdn.rst
+++ b/overlay/cdn.rst
@@ -1,3 +1,6 @@
+.. index:: CDN: Content Distribution Network
+.. index:: DDoS: Distributed Denial of Service
+
|Overlay|.2 Content Distribution Networks
-----------------------------------------------
diff --git a/overlay/conference.rst b/overlay/conference.rst
index 05f21bf..69c4e71 100644
--- a/overlay/conference.rst
+++ b/overlay/conference.rst
@@ -1,3 +1,6 @@
+.. index:: NV: Network Video
+.. index:: SFU: Selective Forwarding Unit
+
|Overlay|.3 Teleconferencing
-----------------------------------------------
diff --git a/overlay/p2p.rst b/overlay/p2p.rst
index 78bcfcd..cfc503b 100644
--- a/overlay/p2p.rst
+++ b/overlay/p2p.rst
@@ -1,3 +1,6 @@
+.. index:: P2P: Peer-to-Peer
+.. index:: DHT: Distributed Hash Table
+
|Overlay|.4 Peer-to-Peer Networks
----------------------------------------
diff --git a/policy.rst b/policy.rst
index 5e9bb41..3e2cd0e 100644
--- a/policy.rst
+++ b/policy.rst
@@ -3,7 +3,7 @@
.. include:: chapters.rst
-.. _artifact-bpg:
+.. index:: BGP: Border Gateway Protocol
Chapter |BGP|: Interdomain Routing
========================================
diff --git a/policy/design.rst b/policy/design.rst
index c84e2a3..22fa57a 100644
--- a/policy/design.rst
+++ b/policy/design.rst
@@ -1,3 +1,5 @@
+.. index:: AS: Autonomous System
+
|BGP|.1 Design Issues
------------------------------------
diff --git a/policy/routingbgp.rst b/policy/routingbgp.rst
index a46bcef..44ecca1 100644
--- a/policy/routingbgp.rst
+++ b/policy/routingbgp.rst
@@ -1,3 +1,6 @@
+.. index:: IGP: Interior Gateway Protocol
+.. index:: EGP: Exterior Gateway Protocol
+
|BGP|.2 Sharing Routes and Routing Policy
------------------------------------------
diff --git a/policy/securebgp.rst b/policy/securebgp.rst
index 6f22d41..3e38733 100644
--- a/policy/securebgp.rst
+++ b/policy/securebgp.rst
@@ -1,3 +1,10 @@
+.. index:: IRR: Internet Routing Registry
+.. index:: RIR: Regional Internet Registry
+.. index:: ROA: Route Origin Authorization
+.. index:: ROV: Route Origin Validation
+.. index:: RPKI: Resource Public Key Infrastructure
+.. index:: NIST: National Institute of Standards and Technology
+
|BGP|.3 Securing Route Information
--------------------------------------
diff --git a/reliable.rst b/reliable.rst
index 8dc1565..6230c94 100644
--- a/reliable.rst
+++ b/reliable.rst
@@ -3,8 +3,6 @@
.. include:: chapters.rst
-.. _artifact-tcp:
-
Chapter |TCP|: Reliable Byte Stream
====================================
diff --git a/reliable/design.rst b/reliable/design.rst
index 86be098..bd19373 100644
--- a/reliable/design.rst
+++ b/reliable/design.rst
@@ -1,3 +1,5 @@
+.. index:: RTT: Round-Trip Time
+
|TCP|.1 Design Issues
------------------------------
diff --git a/reliable/trigger.rst b/reliable/trigger.rst
index aa3366c..622a198 100644
--- a/reliable/trigger.rst
+++ b/reliable/trigger.rst
@@ -1,3 +1,5 @@
+.. index:: MSS: Maximum Segment Size
+
|TCP|.5 Triggering Transmission
--------------------------------
diff --git a/routing/distancevector.rst b/routing/distancevector.rst
index 4a34b26..e80fd70 100644
--- a/routing/distancevector.rst
+++ b/routing/distancevector.rst
@@ -1,4 +1,4 @@
-.. _artifact-rip:
+.. index:: RIP: Routing Information Protocol
|Routing|.4 Distance Vector Routing
---------------------------------------------
diff --git a/routing/fabric.rst b/routing/fabric.rst
index 7ed92f0..0762c62 100644
--- a/routing/fabric.rst
+++ b/routing/fabric.rst
@@ -1,4 +1,4 @@
-.. _artifact_ecmp:
+.. index:: ECMP: Equal-Cost Multipath
|Routing|.5 Routing in Datacenters
------------------------------------
diff --git a/routing/linkstate.rst b/routing/linkstate.rst
index 9745b66..f145121 100644
--- a/routing/linkstate.rst
+++ b/routing/linkstate.rst
@@ -1,4 +1,4 @@
-.. _artifact-ospf:
+.. index:: OSPF: Open Shortest Path First
|Routing|.3 Link-State Routing
-------------------------------------
diff --git a/routing/spanningtree.rst b/routing/spanningtree.rst
index e8dadad..0482582 100644
--- a/routing/spanningtree.rst
+++ b/routing/spanningtree.rst
@@ -1,4 +1,4 @@
-.. _artifact-stp:
+.. index:: 802.1: IEEE Spanning Tree Protocol
|Routing|.2 Spanning Tree Protocol
---------------------------------------
diff --git a/secure.rst b/secure.rst
index 3515d9b..faec121 100644
--- a/secure.rst
+++ b/secure.rst
@@ -3,7 +3,8 @@
.. include:: chapters.rst
-.. _artifact-tls:
+.. index:: TLS: Transport Layer Security
+.. index:: SSL: Secure Sockets Layer
Chapter |TLS|: Secure Channels
====================================
diff --git a/secure/blocks.rst b/secure/blocks.rst
index 18f0b9d..9bc3649 100644
--- a/secure/blocks.rst
+++ b/secure/blocks.rst
@@ -1,3 +1,10 @@
+.. index:: DES: Data Encryption Standard
+.. index:: AES: Advanced Encryption Standard
+.. index:: MD5: Message Digest 5
+.. index:: SHA: Secure Hash Algorithm
+.. index:: HMAC: Hash-based Message Authentication Code
+.. index:: RSA: Rivest-Shamir-Adleman
+
|TLS|.2 Cryptographic Building Blocks
---------------------------------------
diff --git a/secure/key-dist.rst b/secure/key-dist.rst
index 333529e..bf9028e 100644
--- a/secure/key-dist.rst
+++ b/secure/key-dist.rst
@@ -1,3 +1,8 @@
+.. index:: IKE: Internet Key Exchange
+.. index:: IPsec: IP Security
+.. index:: PKI: Public Key Infrastructure
+.. index:: CA: Certificate Authority
+
|TLS|.3 Key Distribution
-------------------------
diff --git a/shared/cellular.rst b/shared/cellular.rst
index d77feb6..4cff2e1 100644
--- a/shared/cellular.rst
+++ b/shared/cellular.rst
@@ -1,4 +1,13 @@
-.. _artifact-5g:
+.. index:: 5G: Fifth Generation Wireless
+.. index:: CUPS: Control and User Plane Separation
+.. index:: QCI: QoS Class Identifier
+.. index:: RAN: Radio Access Network
+.. index:: 3GPP: 3rd Generation Partnership Project
+.. index:: UE: User Equipment
+.. index:: IMSI: International Mobile Subscriber Identity
+.. index:: MNO: Mobile Network Operator
+.. index:: PLMN: Public Land Mobile Network
+.. index:: GBR: Guaranteed Bit Rate
|Shared|.4 Mobile Cellular Network
--------------------------------------------
diff --git a/shared/pon.rst b/shared/pon.rst
index 624c43f..95968e7 100644
--- a/shared/pon.rst
+++ b/shared/pon.rst
@@ -1,4 +1,7 @@
-.. _artifact-pon:
+.. index:: PON: Passive Optical Network
+.. index:: OLT: Optical Line Terminal
+.. index:: ONU: Optical Network Unit
+.. index:: BNG: Broadband Network Gateway
|Shared|.5 Passive Optical Network
-----------------------------------------
diff --git a/shared/spectrum.rst b/shared/spectrum.rst
index 5567333..3d485f1 100644
--- a/shared/spectrum.rst
+++ b/shared/spectrum.rst
@@ -1,3 +1,6 @@
+.. index:: OFDM: Orthogonal Frequency Division Multiplexing
+.. index:: OFDMA: Orthogonal Frequency Division Multiple Access
+
|Shared|.2 Managing Spectrum
----------------------------------
diff --git a/shared/wifi.rst b/shared/wifi.rst
index c37ae53..cb117ce 100644
--- a/shared/wifi.rst
+++ b/shared/wifi.rst
@@ -1,4 +1,4 @@
-.. _artifact-80211:
+.. index:: 802.11: IEEE Wireless LAN Standard
|Shared|.3 Wi-Fi
------------------------------
diff --git a/stream.rst b/stream.rst
index f00d0e9..910d6b1 100644
--- a/stream.rst
+++ b/stream.rst
@@ -3,6 +3,9 @@
.. include:: chapters.rst
+.. index:: QoS: Quality of Service
+.. index:: RSVP: Resource Reservation Protocol
+
Chapter |Stream|: Real-Time Streaming
=====================================
diff --git a/stream/coding.rst b/stream/coding.rst
index ef9d85c..a99258d 100644
--- a/stream/coding.rst
+++ b/stream/coding.rst
@@ -1,5 +1,9 @@
-.. _artifact-mpeg:
-.. _artifact-jpeg:
+.. index:: MPEG: Moving Picture Experts Group
+.. index:: RGB: Red/Green/Blue
+.. index:: YUV: Luminance/Chrominance Color Space
+.. index:: DCT: Discrete Cosine Transform
+.. index:: H.261/H.263: ITU Video Coding Standards
+.. index:: JPEG: Joint Photographic Experts Group
|Stream|.2 Coding and Compression
----------------------------------
diff --git a/stream/scale.rst b/stream/scale.rst
index f8d979f..65fd6a5 100644
--- a/stream/scale.rst
+++ b/stream/scale.rst
@@ -1,4 +1,6 @@
+.. index:: MoQ: Media over QUIC
+
|Stream|.5 Scaling Real-time Applications
-----------------------------------------
diff --git a/stream/session.rst b/stream/session.rst
index 21b2414..b5c9049 100644
--- a/stream/session.rst
+++ b/stream/session.rst
@@ -1,4 +1,4 @@
-.. _artifact-sip:
+.. index:: SIP: Session Initiation Protocol
|Stream|.4 Session Control
--------------------------
diff --git a/stream/transport.rst b/stream/transport.rst
index 58b3ea9..3129fc7 100644
--- a/stream/transport.rst
+++ b/stream/transport.rst
@@ -1,4 +1,5 @@
-.. _artifact-rtp:
+.. index:: RTP: Real-time Transport Protocol
+.. index:: RTCP: Real-time Transport Control Protocol
|Stream|.3 Transport Protocol
------------------------------
diff --git a/technology/circuits.rst b/technology/circuits.rst
index f3e6176..688a1a1 100644
--- a/technology/circuits.rst
+++ b/technology/circuits.rst
@@ -1,3 +1,7 @@
+.. index:: DWDM: Dense Wavelength Division Multiplexing
+.. index:: ROADM: Reconfigurable Optical Add/Drop Multiplexer
+.. index:: SONET: Synchronous Optical Network
+
|Tech|.3 Circuit Switching
------------------------------------
@@ -79,8 +83,6 @@ possible to change these underlying end-to-end paths, effectively
creating a new topology when viewed from the perspective of the
packet-switching layer.
-.. _artifact-sonet:
-
|Tech|.3.2 SONET
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/technology/link.rst b/technology/link.rst
index e301dd0..a099ace 100644
--- a/technology/link.rst
+++ b/technology/link.rst
@@ -1,4 +1,12 @@
-.. _artifact-8023:
+.. index:: 802.3: IEEE Ethernet Standard
+.. index:: QAM: Quadrature Amplitude Modulation
+.. index:: LAN: Local Area Network
+.. index:: WAN: Wide Area Network
+.. index:: NIC: Network Interface Card
+.. index:: CSMA/CD: Carrier Sense Multiple Access with Collision Detection
+.. index:: NRZ/NRZI: Non-Return to Zero / Inverted
+.. index:: 4B/5B: 4-Bit/5-Bit Encoding
+.. index:: CRC: Cyclic Redundancy Check
|Tech|.1 Communication Links
-------------------------------------------
diff --git a/technology/switch.rst b/technology/switch.rst
index 547624e..e60e751 100644
--- a/technology/switch.rst
+++ b/technology/switch.rst
@@ -1,3 +1,14 @@
+.. index:: OCP: Open Compute Project
+.. index:: PISA: Protocol Independent Switching Architecture
+.. index:: CLI: Command Line Interface
+.. index:: NBI: Northbound Interface
+.. index:: SDN: Software-Defined Networking
+.. index:: FIB: Forwarding Information Base
+.. index:: RIB: Routing Information Base
+.. index:: L2/L3: Layer 2/Layer 3 Switching
+.. index:: NPU: Network Processing Unit
+.. index:: P4: Programming Protocol-Independent Packet Processors
+
|Tech|.2 Packet Switches
---------------------------------
diff --git a/virtual/datacenter.rst b/virtual/datacenter.rst
index 4b9ce77..d4c7396 100644
--- a/virtual/datacenter.rst
+++ b/virtual/datacenter.rst
@@ -1,3 +1,6 @@
+.. index:: VL2: Virtual Layer 2
+.. index:: VXLAN: Virtual Extensible LAN
+
|Virt|.4 Virtual Networks for Datacenters
-----------------------------------------------
diff --git a/virtual/vlan.rst b/virtual/vlan.rst
index 7bf1f09..f69ead1 100644
--- a/virtual/vlan.rst
+++ b/virtual/vlan.rst
@@ -1,4 +1,4 @@
-.. _artifact-vlan:
+.. index:: 802.1Q: IEEE VLAN Standard
|Virt|.2 Virtual LANs (VLANs)
-----------------------------------------------
diff --git a/virtual/vpn.rst b/virtual/vpn.rst
index dffd9ec..7c81c8e 100644
--- a/virtual/vpn.rst
+++ b/virtual/vpn.rst
@@ -1,3 +1,6 @@
+.. index:: VPN: Virtual Private Network
+.. index:: MPLS: Multiprotocol Label Switching
+
|Virt|.3 Virtual Private Networks (VPNs)
-----------------------------------------------
@@ -285,8 +288,6 @@ allowed connections among specific devices are possible.
`__. Tailscale
blog, 2020.
-.. _artifact-mpls:
-
|Virt|.3.4 MPLS/BGP VPNs
~~~~~~~~~~~~~~~~~~~~~~~~~