Search code examples
videotcpudpvideo-streaminghttpserver

TCP vs UDP traffic creation


I have a network with two hosts, and I am performing two experiments :

1. In the first case, I am streaming a video from the one host to the other using the command :

vlc-wrapper [PATH_TO_VIDEO] --sout '#rtp{dst=[RECEIVER_IP],port=1234}'

and in Wireshark I can see that the receiver host receives UDP packets.

2. In the second case, I have made the sender host an HTTP server, and the receiver host requests the video like this :

wget -O [RECEIVER_IP/PATH_TO_VIDEO]

and in Wireshark I can see that the receiver host receives TCP packets.

I understand that the second case is like YouTube, so it's expected to see TCP packets. But why am I seeing UDP packets in the second case?

I mean, I am sending the same video. What is the factor which differentiates the traffic type in each case?


Solution

  • RTP is by definition UDP: "RTP typically runs over User Datagram Protocol (UDP)." (https://en.wikipedia.org/wiki/Real-time_Transport_Protocol)

    wget uses HTTP which is by definition TCP.

    In both cases - the specification of the protocol determines the transport.