增强型流量控制(Augmented Traffic Control)安装与使用指南
项目概述
增强型流量控制(ATC) 是一个用于模拟网络条件的工具,它允许开发者控制设备到互联网的连接,以测试应用在不同网络环境下的表现,包括高速、移动以及严重受限的网络状态。通过Web界面,无需客户端应用,即可轻松调整流量。
一、项目目录结构及介绍
augmented-traffic-control/
├── atc_thrift # Thrift接口库,用于与atcd守护进程通信
├── atcd # ATC守护进程的源代码
├── django-atc-api # 提供与atcd交互的RESTful接口的Django应用
├── django-atc-demo-ui # 简单的Web UI,用于手机等设备上操作ATC
├── django-atc-profile-storage # 存储塑造配置文件到数据库的应用
├── chef # 包含部署ATC的Chef Cookbooks
│ ├── atc # 部署ATC的相关Cookbook
│ └── atclient # 设置Linux桌面VM进行端到端测试
├── tests # 测试相关文件夹
├── utils # 辅助工具集合
├── .gitignore # Git忽略文件列表
├── CONTRIBUTING.md # 贡献指南
├── CONTRIBUTORS.md # 贡献者名单
├── LICENSE # 许可证文件
├── README.md # 主要的项目说明文件
├── Setup.md # 安装设置指南
└── ... # 其他配置与支持文件
二、项目启动文件介绍
主要启动组件:
- atcd: 这是守护进程的主要执行文件,需要在具备路由权限的设备上运行,以实施和取消流量塑形。
- 启动命令示例:通过具有足够权限的终端运行
sudo atcd来启动守护进程。参数如--atcd-wan和--atcd-lan可用来指定WAN和LAN接口。
Web UI启动:
-
在完成Django项目的配置后,通过Django的命令行工具启动Web服务器:
python manage.py runserver 0.0.0.0:8000
三、项目的配置文件介绍
-
Django配置 (
settings.py): 在部署时,您会在您的Django项目中找到或创建一个settings.py文件。需要在这里添加ATC相关的应用程序至INSTALLED_APPS,并配置URL路由来指向ATC的不同部分。INSTALLED_APPS = ( ... 'rest_framework', 'atc_api', # ATC API 'bootstrap_themes', 'django_static_jquery', 'atc_demo_ui', # ATC Demo UI 'atc_profile_storage', # Profile Storage ... ) -
Thrift接口配置:
atc_thrift/thrift中定义了与atcd守护进程交互的Thrift服务接口,这并不是传统意义上的“配置文件”,但它定义了服务交互规范。 -
特定应用配置: 每个Django应用可能有自己的配置选项,通常在各自的
apps.py文件内简单声明其名称,并且对于复杂的逻辑,可能会有额外的配置文件或环境变量要求,这些需要参照各应用的文档。
请注意,由于该项目已被归档,实际使用时需自行解决依赖问题和兼容性更新。务必检查所使用的Python版本和支持的Django版本是否符合项目需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



