Skip to content

Repository files navigation

DTN 复制路由实验

课程论文《异构接触下 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.jsonresults/checksums.sha256 用于核对配置、源码和输出是否一致。

仿真器采用半开 TTL 区间、单无线电接触冲突过滤、双向共享接触容量和目的优先传输。其他实现细节见 docs/experimental-design.mddocs/result-schema.md

外部真实轨迹复核未纳入论文结果,相关状态记录在 data/external/README.md

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages