课程论文《异构接触下 DTN 复制路由的资源、可靠性与完成时长权衡》的实验代码。
仓库包含一个离散事件仿真器,用同一组接触与业务轨迹比较 Direct Delivery、Epidemic、Binary Spray-and-Wait 和 PRoPHET-Classic。实验覆盖负载、缓冲、链路速率、接触结构、接触内调度、PRoPHET 预热及确认传播。
src/dtnsim/:轨迹生成、路由协议和事件仿真器src/dtnanalysis/:统计分析与接触结构消融configs/:基线及完整实验配置scripts/:批量运行、汇总、绘图和结果校验tests/:协议语义与可复现性测试results/:20 个种子级结果、汇总表、图和校验文件paper/:论文图表生成脚本及导出图
实验使用 Python 3.10。environment-lock.yml 记录了生成论文结果时的版本。
conda env create -f environment-lock.yml
conda activate NLP
$env:PYTHONPATH = (Join-Path $PWD 'src')如果本机已有同名环境,可直接运行下面的命令。
conda run -n NLP python -m unittest discover -s tests -v
conda run -n NLP python -m dtnsim --config configs/smoke.json --replicate 0 --protocol epidemic --output results/smoke-epidemic-seed000.json先查看运行计划,再执行完整实验。完整配置约包含 2,000 次协议运行。
conda run -n NLP python scripts/run_experiments.py --profile paper --dry-run
conda run -n NLP python scripts/run_experiments.py --profile paper --confirm-large-run --quiet
conda run -n NLP python scripts/summarize.py
conda run -n NLP python scripts/make_figures.py
conda run -n NLP python paper/make_paper_figures.py
conda run -n NLP python scripts/verify_results.py种子级结果位于 results/raw/seed_results.csv,汇总统计位于 results/summary/。results/manifest.json 和 results/checksums.sha256 用于核对配置、源码和输出是否一致。
仿真器采用半开 TTL 区间、单无线电接触冲突过滤、双向共享接触容量和目的优先传输。其他实现细节见 docs/experimental-design.md 与 docs/result-schema.md。
外部真实轨迹复核未纳入论文结果,相关状态记录在 data/external/README.md。