Files
fips/docs/design/README.md
T
Johnathan Corgan 73129f16d7 Rename design docs for clarity, reorganize node architecture diagram
- fips-architecture.md → fips-software-architecture.md with all
  cross-references updated (4 files)
- fips-transport-abstraction.svg → fips-node-architecture.svg, moved
  from Transport Abstraction section to Architecture Overview in
  fips-intro.md
- Added descriptive paragraph for node architecture diagram covering
  three-layer design (application interfaces, router core, transports)
2026-02-13 15:03:06 +00:00

61 lines
3.4 KiB
Markdown

# FIPS Design Documents
Protocol design specifications and analysis for the Federated Interoperable Peering System.
## Suggested Reading Order
Start with the high-level architecture, then work through session flow, routing
concepts, and finally the wire-level protocol details.
### 1. Introduction and Overview
| Document | Description |
|------------------------------------------|-------------------------------------------------------------|
| [fips-intro.md](fips-intro.md) | Protocol introduction: goals, concepts, architecture |
### 2. Protocol Flow (How Traffic Works)
| Document | Description |
|------------------------------------------------------|-----------------------------------------------------------|
| [fips-session-protocol.md](fips-session-protocol.md) | End-to-end session flow, Noise IK encryption, terminology |
### 3. Routing (How Packets Find Their Way)
| Document | Description |
|--------------------------------------------------------|-------------------------------------------------------------|
| [fips-routing.md](fips-routing.md) | Routing concepts: bloom filters, discovery, greedy routing |
| [spanning-tree-dynamics.md](spanning-tree-dynamics.md) | Tree protocol behavior: convergence, partitions, recovery |
| [fips-gossip-protocol.md](fips-gossip-protocol.md) | Wire formats: TreeAnnounce, FilterAnnounce, Lookup messages |
### 4. Link Layer (How Peer Connections Work)
| Document | Description |
|------------------------------------------------|---------------------------------------------------------------|
| [fips-wire-protocol.md](fips-wire-protocol.md) | Transport layer: Noise IK, session indices, roaming, security |
| [fips-transports.md](fips-transports.md) | Transport-specific: UDP, Ethernet, Tor, radio characteristics |
## Implementation
| Document | Description |
|------------------------------------------------------------------|------------------------------------------------------------------|
| [fips-software-architecture.md](fips-software-architecture.md) | Software architecture: entities, state machines, configuration |
| [fips-tun-driver.md](fips-tun-driver.md) | TUN interface driver: reader/writer threads, ICMPv6, packet flow |
| [fips-state-machines.md](fips-state-machines.md) | Phase-based state machine pattern: peer lifecycle, transitions |
## Document Cross-References
```text
fips-intro.md
┌────────────┴────────────┐
▼ ▼
fips-session-protocol.md fips-software-architecture.md
│ │
┌─────────┴─────────┐ ▼
▼ ▼ fips-transports.md
fips-routing.md fips-wire-protocol.md
│ │
▼ ▼
spanning-tree-dynamics.md ←→ fips-gossip-protocol.md
```