网络模拟技能Skill network-simulation

网络模拟技能是用于模拟真实网络环境、测试应用程序在恶劣网络条件下的表现以及实施混沌工程的专业能力。该技能通过流量控制、网络命名空间、广域网仿真等技术,帮助开发者和测试人员评估系统的网络弹性、容错能力和性能表现。关键词:网络模拟、混沌工程、流量控制、网络测试、延迟模拟、丢包测试、容器网络、弹性测试、性能基准、DevOps测试。

测试 0 次安装 0 次浏览 更新于 2/25/2026

名称: 网络模拟 描述: 用于网络条件模拟、仿真和混沌工程的技能 允许工具:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep

网络模拟技能

用于网络条件模拟、仿真和混沌工程测试环境的专业技能。

能力

  • 流量控制: 配置tc(流量控制)进行延迟、带宽和丢包模拟
  • 网络命名空间: 设置网络命名空间进行网络隔离测试
  • 广域网仿真: 使用netem仿真广域网条件(延迟、抖动、丢包、损坏)
  • 虚拟拓扑: 创建虚拟网络拓扑进行测试
  • 数据包操作: 模拟数据包丢失、重排序、重复和损坏
  • 降级条件测试: 在降级网络条件下测试应用程序
  • 混沌场景: 生成混沌工程场景进行弹性测试
  • 容器网络: 配置Docker/Kubernetes网络模拟

工具和依赖

  • tc - Linux流量控制
  • netem - 网络仿真器
  • ip netns - 网络命名空间
  • mininet - 网络仿真器
  • toxiproxy - 混沌测试TCP代理
  • comcast - 网络模拟工具
  • pumba - 容器混沌测试

目标进程

  • network-testing-framework.js
  • load-testing-tool.js
  • protocol-fuzzer.js
  • tcp-socket-server.js

使用示例

延迟模拟

tc qdisc add dev eth0 root netem delay 100ms 20ms distribution normal
tc qdisc change dev eth0 root netem delay 200ms 40ms 25% correlation

丢包模拟

tc qdisc add dev eth0 root netem loss 5% 25%
tc qdisc add dev eth0 root netem loss gemodel 1% 10% 70% 0.1%

带宽限制

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

网络命名空间隔离

ip netns add test_ns
ip link add veth0 type veth peer name veth1
ip link set veth1 netns test_ns
ip netns exec test_ns ip addr add 10.0.0.2/24 dev veth1
ip netns exec test_ns ip link set veth1 up

Toxiproxy混沌测试

toxiproxy-cli create -l localhost:6379 -u localhost:6380 redis_proxy
toxiproxy-cli toxic add -t latency -a latency=1000 redis_proxy

质量门限

  • 网络条件正确应用
  • 验证应用程序在降级条件下的行为
  • 混沌场景成功执行
  • 恢复测试完成
  • 性能基线建立