Analyzing network delay

asked 2024-07-19 17:59:21 +0000

I have a server that streams video data (RTP over UDP) to a client. I intermittently introduce network delays (using tc-netem on the server side) to influence the video stream. Using wireshark, I captured some of the traffic to understand the impact of the network (delays, packet loss..) on the video stream performance on the client side (lagging, frame loss..etc).

Looking at the captured TCP stream, I could see multiple PSH,ACK (from client) and ACK (from server) messages going back and forth. Now, I thought to understand the network performance, I can look at the wireshark TCP RTT generated graphs, which match perfectly with the delays I introduce (when there's a delay introduced, the RTT increases).

On the other hand, I also collect RTP/UDP packets from both server and client, and then using the sequence number for the RTP packets along with frame timestamps, I calculate a delay. However, when I plot this delay, I can't clearly define the pattern that I could with the TCP RTT figures.

Now, my question is, Which approach is more accurate at representing the network performance analysis? Does the TCP RTT directly correlate to understanding the delays in the network? Or am I thinking about this wrong?

edit retag flag offensive close merge delete

Comments

How do you define network performance? The data you measured provides essential information about the application's latency between the server and the client. Visualizing the network topology between the server and client reveals several points where delays are introduced.

BigFatCat gravatar imageBigFatCat ( 2024-07-20 04:39:43 +0000 )edit

The network parameters I'm most interested in is the network delay. I'm using a local LAN so when I'm not introducing delay using tc-netem, the delay is in the order of microseconds. So my experiment consists of introducing millisecond delays using tc-netem on the server network interface (where the server is streaming the video using RTP over UDP and RTSP over TCP for negotiating video parameters), and seeing the impact it would have on the overall experience of the client (who's viewing the video stream live) I'm looking at both TCP streams as well as the RTP stream that contains the video stream data itself. I'm seeing some delay in the TCP streams that matches the artificial delay I'm introducing through tc-netem, but I'm not seeing the same in the RTP stream. However, When I am live streaming the video on the ...(more)

netbug123 gravatar imagenetbug123 ( 2024-07-22 16:45:50 +0000 )edit

To be honest, I have never used tc-netem and I don't have a lab to try some of my theories. . Maybe someone else can help. I agree with your theory. If both applications are on the same server and use the same egress interface, the tc-netem options will be applied to all packets. Shaping is the only factor that could affect behavior. At first, everything would seem fine, but as traffic increases, QoS congestion management would come into play.

BigFatCat gravatar imageBigFatCat ( 2024-07-25 10:33:44 +0000 )edit