技术解析

除 tc 外有没有 linux 平台的模拟网络丢包延时的软件
0
2021-07-06 06:02:51
idczone

Linux 自带的 tc 延时精度太低,只能到 1ms ,我需要更高精度的延时,至少 1us 级别的吧。大家有没有听说过类似的软件?


Linux 本身的定时器都没 1mhz ,你上实时内核试试看 be

这么说的话基于 Linux 平台是不可能提供高于 1ms 精度的 delay 了,好吧,只能放弃。还是感谢!

做什么需要这个精度的时延?

并不是,编译个实时内核,精度肯定不只 100hz 的,有没有 1mhz 我不知道。

需要 rtos

并不需要 rtos ,写个驱动就可以。

现在的 pc 都有硬件的高分定时器( hrtimer 或是 lapic 里的),好像都超过 1Mhz 的频率,然后内核可以用它来驱动定时器轮(实际是 RB-tree ),所以通用的 linux 内核是支持纳秒级定时器,不然 timespec 也会加一个 nsec 。

要这么高的精度干什么? 特别有一点需要注意,通用内核即使支持高精度并不意味着你定时器设置 10 纳秒 就一定按照 10 纳秒去响应事件。因为内核是软件,一个复杂的机器而不是床头的闹钟。如果你需要某种精确的、被人认可的测量,你需要一台仪表,当然这有点昂贵

那你知道有类似的驱动么?

不可能正好有你需求的驱动,你的全部逻辑代码要放到驱动里,因为你代码在应用层,线程切换,会影响你的逻辑,在驱动中可以关闭中断,禁止线程切换。

好吧,了解了,感谢

ns3 模拟吧

慢着,模拟丢包延时要模拟的一般是糟糕网络,这种环境本身的丢包特征就没高精度计时……
所以说你想做什么?本来想说用 https://github.com/tylertreat/Comcast 的( Comcast 是个国外著名坑爹运营商的名字)。

也许是想针对大流量下进行模拟,如果精度不高就会有偏差吧

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服