首页 > 其他分享 >tc 动态控制带宽

tc 动态控制带宽

时间:2024-07-01 22:44:36浏览次数:1  
标签:shell 动态控制 带宽 band 数组 tc

在模拟网络情况的时候不可避免的会要模拟动态网络变化,常用的有mahimahi和tc,mahimahi自己设置trace文件,每一行内容为这一毫秒发送了多少数据即可动态控制,而tc一般利用命令行控制,所以需要一点shell脚本基础。
首先是shell的数组建立:
band (0 10 20 30 20 10 0) shell中数组利用space隔开,两端用()括起来,获取长度利用${#band[@]}即可获得,而${band[*]}可以获得所有的数组成员。
关于while 循环:
首先我们要明确其实我们不需要结束这个动态控制带宽的行为,所以我直接写了一个无限循环:

n=0
sudo tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 50ms
while:
do
n=((n%${#band[@]}))
sudo tc qdisc change dev eth0 root tbf rate ${band[i]}mbit burst 32kbit latency 50ms
n=((n+1))
sleep 1
done

其中由于我们后续采用change,所以一开始需要add一个新的设置,另外,sleep的默认单位为1s,所以实际上该程序表示每秒钟更换一次带宽大小
最后分享一个博客https://www.cnblogs.com/zafu/p/15897654.html,图片很清晰

标签:shell,动态控制,带宽,band,数组,tc
From: https://www.cnblogs.com/wxL-videostreaming/p/18278979

相关文章

  • A. And Matching
    链接:https://codeforces.com/problemset/problem/1630/A题目:思路:1.首先k=0时很显然所有的pair为:{i,n-i}2.k<n-1时所有的pair为{0,n-k-1},{k,n-1},{i,n-i}可以结合位运算的性质来看3.k=n-1的时候,当n=4或2时显然没有。当n>4时可以如下分析:首先需要合成的是11111(举例)考虑如下......
  • windows 和 ubuntu双系统利用iperf3 测试网络带宽
    本文介绍如何利用iperf3就行windows和ubuntu的带宽测试。本文的写作原因是在进行webrtc通信时发现带宽利用率极低,只有20M左右,而我设置的动态瓶颈带宽最低都有80M。一开始是想利用tcp连接不停发送数据来利用nload查看网络吞吐量观察带宽变化。实现之后发现因为每次写入的数据太小......
  • golang 实现tcp socket 通信
    都说golang适合网络编程,知道今天写了tcp我才知道他到底有多简洁。(虽然已经对着golang的webrtc研究很久了)首先是client端代码:packagemainimport( "bufio" "fmt" "net")funcmain(){ conn,err:=net.Dial("tcp","192.168.1.106:8080") iferr!=ni......
  • Atcoder ABC 360 全题解
    致歉对不起,我不应该在全题解的编写上咕咕咕两个月,导致流量大量流失。我知错了,下次还犯。AB无C考虑一个箱子里的所有球,我们需要把这些球放进互不相同的一些箱子里。然而我们可以留一个球在箱子里,显然留重量最大的最好,所以答案就是$\sum_{i=1}^{N}W_i$减去每个箱子里的最......
  • 【LeetCode】反转字符串中的单词
    目录一、题目二、解法完整代码一、题目给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能......
  • STM32第十四课:低功耗模式和RTC实时时钟
    文章目录需求一、低功耗模式1.睡眠模式2.停止模式3.待机模式二、RTC实现实时时钟1.寄存器配置流程2.标准库开发3.主函数调用三、需求实现代码需求1.实现睡眠模式、停止模式和待机模式。2.实现RTC实时时间显示。一、低功耗模式  电源对电子设备的重要性不言......
  • leetcode 常见题型代码总结
    二分查找classSolution(object):defsearch(self,nums,target):""":typenums:List[int]:typetarget:int:rtype:int"""left,right=0,len(nums)-1whileleft<......
  • 三次握手,四次挥手,以及Socket、TCP、HTTP之间的区别
    网络开发1.网站:最全的socket,tcp,http三者之间的区别和原理_cocket与tcpip-CSDN博客1.网络七层1.定义:网络七层(简称:OSI),即开放式系统互连。该体系架构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)2.socket,tcp,http三者之间的区别和......
  • Leetcode秋招冲刺(专题10--12)
    专题10:动态规划题目509:斐波那契数(NO)解题思路:动态五部曲动态五部曲:这里我们用一个一维数组来保存递归的结果确定dp数组以及下标的含义dp[i]的定义为:第i个数的斐波那契数值是dp[i]确定递推公式这道题已经把递推公式直接给了:状体转移方程dp[i]=dp[i-1]+dp[i-2];dp数......
  • 打卡信奥刷题(208)用Scratch图形化工具信奥P8605 [普及组][蓝桥杯 2013 国 AC] 网络寻路
    [蓝桥杯2013国AC]网络寻路题目描述XXX国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地......