# Network parameter infiltration by ns3 **Repository Path**: alvari/network-parameter-infiltration-by-ns3 ## Basic Information - **Project Name**: Network parameter infiltration by ns3 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-18 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一、离线部署 ```bash pip freeze > requirements.txt mkdir packages pip download -r requirements.txt -d packages pip install --no-index --find-links=packages -r requirements.txt ``` # 二、版本升级 ## 1. ns版本升级 ```bash # origin -> 当前 fork / 私有仓库 # upstream -> ns3 官方仓库 git remote add upstream https://gitlab.com/nsnam/ns-3-dev.git # 查看当前仓库和额外远程源 git remote -v # 获取最新仓库数据(数据不是源码) git fetch upstream --tags ``` 如果你使用的是WSL开发,那么Windwos的代理会导致TLS握手异常,则更改为下面的操作流程 ```bash # 改用 SSH git remote set-url upstream git@gitlab.com:nsnam/ns-3-dev.git # 查看当前仓库和额外远程源 git remote -v # 禁用 HTTP/2(保险) git config --global http.version HTTP/1.1 # 生成SSH ssh-keygen -t ed25519 -C "你的邮箱" # 复制公钥,打开gitlab添加ssh cat ~/.ssh/id_ed25519.pub # 再 fetch git fetch upstream --tags # fetch成功后查看额外远程源的所有tag(版本标签,ctrl+z退出),注意tag不是分支,分支可以被打上tag,作为一个版本标识 git tag --sort=-v:refname # 若当前仓库不是继承自ns的仓库,首次合并时采用下面参数合并 git merge ns-3.47 --allow-unrelated-histories # 此后ns版本更新时重新fetch然后merge就可以了,不需要加上--allow-unrelated-histories参数 ``` ## 2. 首次安装/升级让.gitignore生效 ```bash git rm -r --cached . git add . git status git commit -m "Apply gitignore rules" git push # 查看正在被跟踪的文件 git ls-files # 之后vscode ctrl+shift+P输入Developer:Restart Extension Host,刷新界面 # 另外有时.gitignore看似不生效,实际是目录的二级文件夹还存在.gitignore(官方设计的) # gitignore的生效顺序是先外层后内层 ``` ## 3.官方库 ### neanim官方代码库 https://gitlab.com/nsnam/netanim.git ### ns3官方代码库 https://github.com/nsnam/ns-3-dev-git.git # 三、模型介绍 blackhole: 12s起黑洞节点开始丢弃; flooding: flooding 从 18s 开始;到 24s 结束; 期间有假目的地址 RREQ 洪泛和短时干扰流; 24s 后停止攻击,让队列释放并恢复。