2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)

  • 2019-11-30
  • 本文字数:1205 字

    阅读完需:约 4 分钟

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)

TC 的使用方法


做弱网测试基本是按照以下四个步骤:


  1. 设备连接 Wi-Fi 热点成功获取 IP 地址,假设为:192.168.3.101。

  2. 打开 Linux terminal,输入 TC 命令为发送端 IP 为 192.168.3.101 的设备添加网损。

  3. 此时手机即在弱网环境下运行。

  4. 测试完成后,输入 TC 命令取消弱网。


例如,你要是想限制 IP 地址为 192.168.3.101 的设备上行丢包 5%,那么需要运行如下命令:


1sudo tc qdisc add dev ifb0 root handle 1: prio bands 32sudo tc qdisc add dev eth1 ingress3sudo tc filter add dev eth1 parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb04sudo tc qdisc add dev ifb0 parent 1:3 handle 30: netem loss 5 limit 10005sudo tc filter add dev ifb0 protocol ip parent 1:0 prio 3 u32 match ip src 192.168.3.101 flowid 1:3
复制代码


如果想要限制 IP 地址为 192.168.3.101 的设备下行丢包 20%,需要运行如下命令:


1sudo tc qdisc add dev eth1 root handle 1: prio bands 32sudo tc qdisc add dev eth1 parent 1:3 handle 30: netem loss 20 limit 10003sudo tc filter add dev eth1 protocol ip parent 1:0 prio 3 u32 match ip dst 192.168.3.101 flowid 1:3
复制代码


可以说 TC 框架可以实现很多场景,但前提是需要开发者们学会使用 TC 命令行。如果你想了解更多的 TC 命令,可以学习一下官方文档[4]。

Augmented Traffic Control(ATC)

ATC 其实是 Facebook 在 2015 年开源的一套网络测试工具。ATC 是基于 TC 的封装。


在部署好 ATC 弱网控制机后,在手机上通过 Web 界面就可以随时切换不同的网络环境。多个手机可以连接到同一个 Wi-Fi ,复用同一台弱网控制机,且多设备之间模拟的网络环境互不影响。也就是说,部署好这个测试工具后,团队里的任何人都可以通过 Web 自行测试,且互不干扰。


ATC 的部署方法相对复杂,但只要根据官方文档[5],就可以顺利完成搭建。按照官方文档完成搭建之后,大家还需要通过以下几行命令配置 HOST 地址,然后就可以启动运行了。


打开 Setting:


1vi atcui/atcui/settings
复制代码


添加 HOST 地址 :


1ALLOWED_HOSTS = ['*']
复制代码


启动命令:


1atcd --atcd-wan eth0 --atcd-lan eth1
复制代码


使用方法


  1. 设备接入对应 Wi-Fi

  2. 打开 http://192.168.3.1:8000 (假设 eth1 IP 地址为:192.168.3.1)

  3. 输入对应弱网参数后,点击按钮 [Update Shaping] 生效,该弱网仅对本机生效



测试完成后,点击按钮 [Turn Off] 清除弱网设置。


Network Link Conditioner(NLC)

可能有些 iOS 开发者已经认出来了。NLC 是苹果官方提供的网络模拟工具,支持安装在 macOS 和 iOS 上。

macOS 端安装

  • 打开 Xcode,选择 Xcode -> Open Developer Tool -> More Develop Tools。



  • 用苹果账号登录网站,搜索 Additional Tools for Xcode,下载 Xcode 对应版本的 Additional Tools。



  • 打开下载的文件,在 Hardware 文件夹中双击 Network Link Conditioner 安装。 安装完成后,工具会在系统设置中的最后一排出现。



2019-11-30 22:311457

评论

发布
暂无评论
发现更多内容

欢迎走进"云原生专场",总有一款活动适合你 | 人人都可以参与开源

OpenAnolis小助手

开源 开发者 龙蜥社区 开发者激励 人人都可以参与

百度工程师教你玩转设计模式(观察者模式)

百度Geek说

设计模式 观察者模式

HTTP 认证

急需上岸的小谢

7月月更

SpEL快速上手及实践

转转技术团队

Java spring 后端

【LeetCode】单词替换Java题解

Albert

LeetCode 7月月更

架构与算法创新,让分布式存储焕然一新!

极客天地

Java—Spring

武师叔

7月月更

Python 入门指南之模块

海拥(haiyong.site)

7月月更

2022年新型显示OLED行业发展洞察

易观分析

OLED

2022年1-6月墨天轮最受欢迎的25篇原创技术文章

墨天轮

MySQL 数据库 oracle postgresql 国产数据库

中移链Java-SDK实战使用

BSN研习社

区块链、

小间距LED显示屏的技术分析

Dylan

LED显示屏

从Starfish OS持续对SFO的通缩消耗,长远看SFO的价值

小哈区块

关于TCP与UDP你应该知道的

是乃德也是Ned

7月月更

公有云计费套路多?这里有一份破招详解

焱融科技

K8S探索之Service+Flannel本机及跨主机网络访问原理详解

网络 Kubernetes 集群 7月月更

Spring Cloud源码分析之Eureka篇第五章:更新服务列表

程序员欣宸

Java SpringCloud Eureka 7月月更

第四期SFO销毁,Starfish OS如何对SFO价值赋能?

西柚子

找论文参考:机器视觉会议和期刊

AIWeker

人工智能 7月月更

什么是撞库及撞库攻击的基本原理

郑州埃文科技

撞库 撞库攻击 拖库

牛客基础语法必刷100题之基本类型2

京与旧铺

7月月更

2022年云管理软件用哪个好?贵吗?功能有哪些?

行云管家

云计算 企业上云 云管理平台 云管理

音视频通话前的网络及设备检测该如何操作?

ZEGO即构

音视频开发 通话检测

云脉芯联加入龙蜥社区,共建网络“芯”生态

OpenAnolis小助手

开源 芯片 龙蜥社区 CLA 云脉芯联

等保测评报告编号组成部分有哪些?代表什么意思?

行云管家

等保 等级保护 等保测评 等保2.0

走进天太|加速智能生产力落地 让机器人随处可见

科技之家

细数下,FinClip 6月都干了啥

FinClip

Flink 引擎在快手的深度优化与生产实践

Apache Flink

大数据 flink 编程 流计算 实时计算

ACM MM 2022 | 腾讯优图11篇论文入选,含盲超分辨率算法等研究方向

科技热闻

5G NR SIB1介绍

柒号华仔

5G 7月月更

基于http-flv的抖音直播端到端延迟优化实践

字节跳动视频云技术团队

直播 端到端 直播低延迟 直播解决方案 http-flv

WebRTC vs. Zoom 之外:WebRTC 的弱网模拟测试(二)_服务革新_声网_InfoQ精选文章