Experiments / E2
Header overhead
What wire cost buys per-hop time checking?
Pre-registered hypothesis
T-CRH costs more than CRH-16 and less than SRv6 SRH over the registered segment counts. Relative to CRH-32 it trades a larger fixed part for a smaller per-entry part; enumerate the crossover and padding ties rather than assert a universal saving. Encapsulation adds the outer IPv6 header. This is exact code/byte accounting, not a statistical latency claim.
Frozen preregistration, identified and verified against this result’s manifest.
Verdict
Hypothesis supported: T-CRH adds more bytes than CRH-16 and fewer than SRv6 SRH at every registered entry count (1–40). Against CRH-32 there is a crossover: CRH-32 is smaller at 1–3, 5, 7 entries, equal at 4, 6, 8–11, 13, 15, and larger at 12, 14, 16–40.
- Encoder checks: 240 of 320 rows checked, 0 violations.
- Example (source insertion, 7 entries): T-CRH adds 40 bytes, CRH-32 32, CRH-16 24, SRv6 SRH 120.
- The CRH-16 overhead penalty is a real cost (preregistration section 9).
Every number in this verdict is computed at build time from the verified summary.csv.
C5 orbital inputs are REAL public data; C2 orbits and positions are MODELLED. Topology, probes, faults and network behaviour are MODELLED. Starlink’s operational routing is UNKNOWN; Starlink does not use T-CRH.
Charts and data
Download CSV · Download manifest
Source: results/E02/20261011T214624Z-confirmatory/summary.csv. SHA-256: 1bc1d6162fdb4e3a77ba64347506d1f321ba4f3965632f1d65f2cd3a72fd2b1d.
This first view shows the 160 rows of the initial selection, out of 320. With scripting, the page loads the same summary.csv offered for download and checks its SHA-256 against the manifest before other selections are enabled.
Data table
Showing 1–25 of 160 matching rows. The download contains every original row and column.
| entries | protocol | mode | header_bytes | added_bytes | reference_bytes | reference_percent | final_percent | encoder_checked | encoder_violations | label |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | tcrh | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 1 | crh16 | source | 8 | 8 | 1400 | 0.5714285714285714 | 0.5681818181818182 | True | 0 | DERIVED |
| 1 | crh32 | source | 8 | 8 | 1400 | 0.5714285714285714 | 0.5681818181818182 | True | 0 | DERIVED |
| 1 | srh | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | False | 0 | DERIVED |
| 2 | tcrh | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | True | 0 | DERIVED |
| 2 | crh16 | source | 8 | 8 | 1400 | 0.5714285714285714 | 0.5681818181818182 | True | 0 | DERIVED |
| 2 | crh32 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 2 | srh | source | 40 | 40 | 1400 | 2.857142857142857 | 2.7777777777777777 | False | 0 | DERIVED |
| 3 | tcrh | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | True | 0 | DERIVED |
| 3 | crh16 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 3 | crh32 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 3 | srh | source | 56 | 56 | 1400 | 4.0 | 3.8461538461538463 | False | 0 | DERIVED |
| 4 | tcrh | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | True | 0 | DERIVED |
| 4 | crh16 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 4 | crh32 | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | True | 0 | DERIVED |
| 4 | srh | source | 72 | 72 | 1400 | 5.142857142857143 | 4.891304347826087 | False | 0 | DERIVED |
| 5 | tcrh | source | 32 | 32 | 1400 | 2.2857142857142856 | 2.2346368715083798 | True | 0 | DERIVED |
| 5 | crh16 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 5 | crh32 | source | 24 | 24 | 1400 | 1.7142857142857142 | 1.6853932584269662 | True | 0 | DERIVED |
| 5 | srh | source | 88 | 88 | 1400 | 6.285714285714286 | 5.913978494623656 | False | 0 | DERIVED |
| 6 | tcrh | source | 32 | 32 | 1400 | 2.2857142857142856 | 2.2346368715083798 | True | 0 | DERIVED |
| 6 | crh16 | source | 16 | 16 | 1400 | 1.1428571428571428 | 1.1299435028248588 | True | 0 | DERIVED |
| 6 | crh32 | source | 32 | 32 | 1400 | 2.2857142857142856 | 2.2346368715083798 | True | 0 | DERIVED |
| 6 | srh | source | 104 | 104 | 1400 | 7.428571428571429 | 6.914893617021277 | False | 0 | DERIVED |
| 7 | tcrh | source | 40 | 40 | 1400 | 2.857142857142857 | 2.7777777777777777 | True | 0 | DERIVED |
Where ChronoRoute loses
Every listed point disadvantage is retained, including privileged-oracle advantages. Where a registered paired comparison exists for the same cell, its paired Student-t 95% interval and Holm-adjusted p-value are quoted; otherwise marginal intervals alone do not establish a significant loss. Ties in the predicted stuck-loss reduction are listed as unsupported advantages.
The CRH-16 overhead penalty is a real cost at every entry count, and CRH-32 is smaller than T-CRH at small entry counts; both are listed below.
| Cell | Metric | Policy | ChronoRoute | Comparator | Comparator value | Interpretation | Source rows |
|---|---|---|---|---|---|---|---|
| source / entries 1 | added_bytes | tcrh | 16 | crh16 | 8 | Header cost disadvantage | 1, 3 |
| source / entries 1 | added_bytes | tcrh | 16 | crh32 | 8 | Header cost disadvantage | 1, 5 |
| encap / entries 1 | added_bytes | tcrh | 56 | crh16 | 48 | Header cost disadvantage | 2, 4 |
| encap / entries 1 | added_bytes | tcrh | 56 | crh32 | 48 | Header cost disadvantage | 2, 6 |
| source / entries 2 | added_bytes | tcrh | 24 | crh16 | 8 | Header cost disadvantage | 9, 11 |
| source / entries 2 | added_bytes | tcrh | 24 | crh32 | 16 | Header cost disadvantage | 9, 13 |
| encap / entries 2 | added_bytes | tcrh | 64 | crh16 | 48 | Header cost disadvantage | 10, 12 |
| encap / entries 2 | added_bytes | tcrh | 64 | crh32 | 56 | Header cost disadvantage | 10, 14 |
| source / entries 3 | added_bytes | tcrh | 24 | crh16 | 16 | Header cost disadvantage | 17, 19 |
| source / entries 3 | added_bytes | tcrh | 24 | crh32 | 16 | Header cost disadvantage | 17, 21 |
| encap / entries 3 | added_bytes | tcrh | 64 | crh16 | 56 | Header cost disadvantage | 18, 20 |
| encap / entries 3 | added_bytes | tcrh | 64 | crh32 | 56 | Header cost disadvantage | 18, 22 |
| source / entries 4 | added_bytes | tcrh | 24 | crh16 | 16 | Header cost disadvantage | 25, 27 |
| encap / entries 4 | added_bytes | tcrh | 64 | crh16 | 56 | Header cost disadvantage | 26, 28 |
| source / entries 5 | added_bytes | tcrh | 32 | crh16 | 16 | Header cost disadvantage | 33, 35 |
| source / entries 5 | added_bytes | tcrh | 32 | crh32 | 24 | Header cost disadvantage | 33, 37 |
| encap / entries 5 | added_bytes | tcrh | 72 | crh16 | 56 | Header cost disadvantage | 34, 36 |
| encap / entries 5 | added_bytes | tcrh | 72 | crh32 | 64 | Header cost disadvantage | 34, 38 |
| source / entries 6 | added_bytes | tcrh | 32 | crh16 | 16 | Header cost disadvantage | 41, 43 |
| encap / entries 6 | added_bytes | tcrh | 72 | crh16 | 56 | Header cost disadvantage | 42, 44 |
| source / entries 7 | added_bytes | tcrh | 40 | crh16 | 24 | Header cost disadvantage | 49, 51 |
| source / entries 7 | added_bytes | tcrh | 40 | crh32 | 32 | Header cost disadvantage | 49, 53 |
| encap / entries 7 | added_bytes | tcrh | 80 | crh16 | 64 | Header cost disadvantage | 50, 52 |
| encap / entries 7 | added_bytes | tcrh | 80 | crh32 | 72 | Header cost disadvantage | 50, 54 |
| source / entries 8 | added_bytes | tcrh | 40 | crh16 | 24 | Header cost disadvantage | 57, 59 |
| encap / entries 8 | added_bytes | tcrh | 80 | crh16 | 64 | Header cost disadvantage | 58, 60 |
| source / entries 9 | added_bytes | tcrh | 40 | crh16 | 24 | Header cost disadvantage | 65, 67 |
| encap / entries 9 | added_bytes | tcrh | 80 | crh16 | 64 | Header cost disadvantage | 66, 68 |
| source / entries 10 | added_bytes | tcrh | 48 | crh16 | 24 | Header cost disadvantage | 73, 75 |
| encap / entries 10 | added_bytes | tcrh | 88 | crh16 | 64 | Header cost disadvantage | 74, 76 |
| source / entries 11 | added_bytes | tcrh | 48 | crh16 | 32 | Header cost disadvantage | 81, 83 |
| encap / entries 11 | added_bytes | tcrh | 88 | crh16 | 72 | Header cost disadvantage | 82, 84 |
| source / entries 12 | added_bytes | tcrh | 48 | crh16 | 32 | Header cost disadvantage | 89, 91 |
| encap / entries 12 | added_bytes | tcrh | 88 | crh16 | 72 | Header cost disadvantage | 90, 92 |
| source / entries 13 | added_bytes | tcrh | 56 | crh16 | 32 | Header cost disadvantage | 97, 99 |
| encap / entries 13 | added_bytes | tcrh | 96 | crh16 | 72 | Header cost disadvantage | 98, 100 |
| source / entries 14 | added_bytes | tcrh | 56 | crh16 | 32 | Header cost disadvantage | 105, 107 |
| encap / entries 14 | added_bytes | tcrh | 96 | crh16 | 72 | Header cost disadvantage | 106, 108 |
| source / entries 15 | added_bytes | tcrh | 64 | crh16 | 40 | Header cost disadvantage | 113, 115 |
| encap / entries 15 | added_bytes | tcrh | 104 | crh16 | 80 | Header cost disadvantage | 114, 116 |
| source / entries 16 | added_bytes | tcrh | 64 | crh16 | 40 | Header cost disadvantage | 121, 123 |
| encap / entries 16 | added_bytes | tcrh | 104 | crh16 | 80 | Header cost disadvantage | 122, 124 |
| source / entries 17 | added_bytes | tcrh | 64 | crh16 | 40 | Header cost disadvantage | 129, 131 |
| encap / entries 17 | added_bytes | tcrh | 104 | crh16 | 80 | Header cost disadvantage | 130, 132 |
| source / entries 18 | added_bytes | tcrh | 72 | crh16 | 40 | Header cost disadvantage | 137, 139 |
| encap / entries 18 | added_bytes | tcrh | 112 | crh16 | 80 | Header cost disadvantage | 138, 140 |
| source / entries 19 | added_bytes | tcrh | 72 | crh16 | 48 | Header cost disadvantage | 145, 147 |
| encap / entries 19 | added_bytes | tcrh | 112 | crh16 | 88 | Header cost disadvantage | 146, 148 |
| source / entries 20 | added_bytes | tcrh | 72 | crh16 | 48 | Header cost disadvantage | 153, 155 |
| encap / entries 20 | added_bytes | tcrh | 112 | crh16 | 88 | Header cost disadvantage | 154, 156 |
| source / entries 21 | added_bytes | tcrh | 80 | crh16 | 48 | Header cost disadvantage | 161, 163 |
| encap / entries 21 | added_bytes | tcrh | 120 | crh16 | 88 | Header cost disadvantage | 162, 164 |
| source / entries 22 | added_bytes | tcrh | 80 | crh16 | 48 | Header cost disadvantage | 169, 171 |
| encap / entries 22 | added_bytes | tcrh | 120 | crh16 | 88 | Header cost disadvantage | 170, 172 |
| source / entries 23 | added_bytes | tcrh | 88 | crh16 | 56 | Header cost disadvantage | 177, 179 |
| encap / entries 23 | added_bytes | tcrh | 128 | crh16 | 96 | Header cost disadvantage | 178, 180 |
| source / entries 24 | added_bytes | tcrh | 88 | crh16 | 56 | Header cost disadvantage | 185, 187 |
| encap / entries 24 | added_bytes | tcrh | 128 | crh16 | 96 | Header cost disadvantage | 186, 188 |
| source / entries 25 | added_bytes | tcrh | 88 | crh16 | 56 | Header cost disadvantage | 193, 195 |
| encap / entries 25 | added_bytes | tcrh | 128 | crh16 | 96 | Header cost disadvantage | 194, 196 |
| source / entries 26 | added_bytes | tcrh | 96 | crh16 | 56 | Header cost disadvantage | 201, 203 |
| encap / entries 26 | added_bytes | tcrh | 136 | crh16 | 96 | Header cost disadvantage | 202, 204 |
| source / entries 27 | added_bytes | tcrh | 96 | crh16 | 64 | Header cost disadvantage | 209, 211 |
| encap / entries 27 | added_bytes | tcrh | 136 | crh16 | 104 | Header cost disadvantage | 210, 212 |
| source / entries 28 | added_bytes | tcrh | 96 | crh16 | 64 | Header cost disadvantage | 217, 219 |
| encap / entries 28 | added_bytes | tcrh | 136 | crh16 | 104 | Header cost disadvantage | 218, 220 |
| source / entries 29 | added_bytes | tcrh | 104 | crh16 | 64 | Header cost disadvantage | 225, 227 |
| encap / entries 29 | added_bytes | tcrh | 144 | crh16 | 104 | Header cost disadvantage | 226, 228 |
| source / entries 30 | added_bytes | tcrh | 104 | crh16 | 64 | Header cost disadvantage | 233, 235 |
| encap / entries 30 | added_bytes | tcrh | 144 | crh16 | 104 | Header cost disadvantage | 234, 236 |
| source / entries 31 | added_bytes | tcrh | 112 | crh16 | 72 | Header cost disadvantage | 241, 243 |
| encap / entries 31 | added_bytes | tcrh | 152 | crh16 | 112 | Header cost disadvantage | 242, 244 |
| source / entries 32 | added_bytes | tcrh | 112 | crh16 | 72 | Header cost disadvantage | 249, 251 |
| encap / entries 32 | added_bytes | tcrh | 152 | crh16 | 112 | Header cost disadvantage | 250, 252 |
| source / entries 33 | added_bytes | tcrh | 112 | crh16 | 72 | Header cost disadvantage | 257, 259 |
| encap / entries 33 | added_bytes | tcrh | 152 | crh16 | 112 | Header cost disadvantage | 258, 260 |
| source / entries 34 | added_bytes | tcrh | 120 | crh16 | 72 | Header cost disadvantage | 265, 267 |
| encap / entries 34 | added_bytes | tcrh | 160 | crh16 | 112 | Header cost disadvantage | 266, 268 |
| source / entries 35 | added_bytes | tcrh | 120 | crh16 | 80 | Header cost disadvantage | 273, 275 |
| encap / entries 35 | added_bytes | tcrh | 160 | crh16 | 120 | Header cost disadvantage | 274, 276 |
| source / entries 36 | added_bytes | tcrh | 120 | crh16 | 80 | Header cost disadvantage | 281, 283 |
| encap / entries 36 | added_bytes | tcrh | 160 | crh16 | 120 | Header cost disadvantage | 282, 284 |
| source / entries 37 | added_bytes | tcrh | 128 | crh16 | 80 | Header cost disadvantage | 289, 291 |
| encap / entries 37 | added_bytes | tcrh | 168 | crh16 | 120 | Header cost disadvantage | 290, 292 |
| source / entries 38 | added_bytes | tcrh | 128 | crh16 | 80 | Header cost disadvantage | 297, 299 |
| encap / entries 38 | added_bytes | tcrh | 168 | crh16 | 120 | Header cost disadvantage | 298, 300 |
| source / entries 39 | added_bytes | tcrh | 136 | crh16 | 88 | Header cost disadvantage | 305, 307 |
| encap / entries 39 | added_bytes | tcrh | 176 | crh16 | 128 | Header cost disadvantage | 306, 308 |
| source / entries 40 | added_bytes | tcrh | 136 | crh16 | 88 | Header cost disadvantage | 313, 315 |
| encap / entries 40 | added_bytes | tcrh | 176 | crh16 | 128 | Header cost disadvantage | 314, 316 |
Limitations
- Exact encoder and padding accounting has no sampling confidence interval.
- This page reads summary.csv only. The capture comparison (capture_summary.csv and capture_frames.csv.gz in the same result folder) is not read here, so no capture agreement claim is made on this page.
- Only T-CRH appears in the captures; SRH sizes are exact accounting without a captured SRH encoder.
- Header savings are not measured latency or throughput savings.
These pages use only summary.csv and manifest.json; each file is checked against the manifest SHA-256. They do not infer missing comparisons from figures, reports, raw traces or other result files.
How this was made
- Recorded producer
- E02 exact accounting (1.0.0.dev0)
- Manifest commit
- 8004d42f0053673fb6750c12353e4236651ed140; dirty: false
- Run
- 48b4955de5beef53
- Time
- 2026-10-11T21:46:24.387457Z to 2026-10-11T21:46:30.494849Z; 6.107377 seconds of recorded host wall time (REAL)
- Snapshot
- 20261010T1358Z-celestrak; SHA-256: c37e70812155c2d1d9eeb3e96681303c00c9fca91287939b21bf5313ce83aecd
- Seeds
- No random seed applies
- Command
venv/bin/python -B experiments/E02/account.py --out results/E02/20261011T214624Z-confirmatory
- Config SHA-256
7bf6f234012c65396aa11b4e27c09ee4aa95089ae16f4e17131285ce010a75e2- Labels
- pcap_addresses: MODELLED
- pcap_timestamps: MODELLED
- routes_and_budgets: DERIVED
- tcrh_header_bytes: REAL
- Manifest
chronoroute.manifest/1; 6 recorded output files (333375 bytes); 4 recorded input hashes. Download the full manifest (4102 bytes, SHA-256
320b36986a21223a1dcc4fd48b3d78e5e0bf9cfd78ac1f2db245d3088c64be70) for the configuration, versions, host and every input and output hash.summary.csv: 24832 bytes, SHA-2561bc1d6162fdb4e3a77ba64347506d1f321ba4f3965632f1d65f2cd3a72fd2b1d- Versions: chronoroute 1.0.0.dev0; matplotlib 3.11.1; networkx 3.6.1; numpy 2.5.3; python 3.14.4; sgp4 2.27
- Host (REAL): cpu_model: 13th Gen Intel(R) Core(TM) i9-13900H; logical_cores: 20; machine: x86_64; platform: Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.43; ram_bytes: 8131362816
For collected results, the manifest commit identifies the collector. Input hashes preserve the producer chain in the downloaded manifest; this page does not load those additional files.