How to simulate network packet loss when streaming

2019-05-18 13:52发布

问题:

Please help me solve this tricky problem, making me suffering for almost one week.

How to make streaming video suffering packet loss?

Switch: Pica8 3290 Computer: core i7 2600, 8GB Link: 100Mps Streaming video : RTP (1080P、4K)

I've already tried "iperf", "iperf3" and "Packeth" to generate UDP packets. However, these 3 sofwares seem to measure the residual capacity of the link first and then send the amount of the packets fit the capacity.

E.g.:

(No Video streaming) iperf send almost 100Mps

(With video streaming) iperf only send almost 70Mbps

Thus, these packet generator won't help me to make the streaming video suffering serious loss. (What I want is make huge traffic and make the streaming suffering terrible loss and delay)

So, how can I create "congestion" and make the video streaming packets loss ?

Truly appreciate your help!!

回答1:

Recently Facebook has released a promising tool called ATC (A tool to simulate network conditions).

It allows you to controlled bandwith, latency, packet loss and packet corruption rates in your network.

Hovewer the tool supports only Linux platforms and Python 2.7.

You can find general information about ATC here. ATCs github repo is here.



回答2:

In Linux there is a special utility netem, which provides all functionality you are looking for out of the box on Linux kernel layer.

For Windows platform you can use Network Emulator Toolkit.