I've now done the following test:
On a computer I assigned a static IP (192.680.10.66) in the IPTV network, and made this computer part of the network on the switch. Then I started an iperf3 server in UDP mode on this computer, and on a different computer in my LAN (192.168.12.101), I ran an iperf3 client. This simulates the traffic flow which happens for the TV, with the exception that it is unicast instead of multicast. That probably doesn't matter, since it is still UDP.
To simulate data coming from the IPTV side, I need to use reverse mode in the client (iperf for some reason defaults the server to be the receiver, not the transmitter).
This is what I get if I simulate a 10 Mbit/s stream:
C:\Programs\nettools\iperf-3.1.3-win64>iperf3 -c 192.168.10.66 -t 10 -u -b 10M -R
Connecting to host 192.168.10.66, port 5201
Reverse mode, remote host 192.168.10.66 is sending
[ 4] local 192.168.12.101 port 64678 connected to 192.168.10.66 port 5201
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-1.00 sec 1.31 MBytes 11.0 Mbits/sec 0.330 ms 0/168 (0%)
[ 4] 1.00-2.00 sec 1.20 MBytes 10.0 Mbits/sec 0.119 ms 0/153 (0%)
[ 4] 2.00-3.00 sec 1.20 MBytes 10.0 Mbits/sec 0.271 ms 0/153 (0%)
[ 4] 3.00-4.00 sec 1.19 MBytes 9.97 Mbits/sec 0.494 ms 0/152 (0%)
[ 4] 4.00-5.00 sec 1.17 MBytes 9.83 Mbits/sec 0.430 ms 3/153 (2%)
[ 4] 5.00-6.00 sec 1.17 MBytes 9.83 Mbits/sec 0.301 ms 2/152 (1.3%)
[ 4] 6.00-7.00 sec 1.20 MBytes 10.0 Mbits/sec 0.114 ms 0/153 (0%)
[ 4] 7.00-8.00 sec 1.20 MBytes 10.0 Mbits/sec 0.307 ms 0/153 (0%)
[ 4] 8.00-9.00 sec 1.19 MBytes 9.97 Mbits/sec 0.246 ms 0/152 (0%)
[ 4] 9.00-10.00 sec 1.20 MBytes 10.0 Mbits/sec 0.352 ms 0/153 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 12.0 MBytes 10.1 Mbits/sec 0.352 ms 5/1542 (0.32%)
[ 4] Sent 1542 datagrams
iperf Done.
As you can see, even at 10 Mbit/s, I start seeing packet loss, and this is with nothing special going on at the router. With 30 Mbit/s, it gets worse:
C:\Programs\nettools\iperf-3.1.3-win64>iperf3 -c 192.168.10.66 -t 10 -u -b 30M -R
Connecting to host 192.168.10.66, port 5201
Reverse mode, remote host 192.168.10.66 is sending
[ 4] local 192.168.12.101 port 63741 connected to 192.168.10.66 port 5201
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-1.00 sec 3.77 MBytes 31.6 Mbits/sec 0.200 ms 63/545 (12%)
[ 4] 1.00-2.00 sec 3.58 MBytes 30.0 Mbits/sec 0.293 ms 0/458 (0%)
[ 4] 2.00-3.00 sec 3.62 MBytes 30.3 Mbits/sec 0.133 ms 0/463 (0%)
[ 4] 3.00-4.00 sec 3.58 MBytes 30.0 Mbits/sec 0.240 ms 0/458 (0%)
[ 4] 4.00-5.00 sec 3.52 MBytes 29.5 Mbits/sec 0.305 ms 0/450 (0%)
[ 4] 5.00-6.00 sec 3.58 MBytes 30.0 Mbits/sec 0.262 ms 4/462 (0.87%)
[ 4] 6.00-7.00 sec 3.56 MBytes 29.9 Mbits/sec 0.282 ms 0/456 (0%)
[ 4] 7.00-8.00 sec 3.62 MBytes 30.4 Mbits/sec 0.130 ms 0/463 (0%)
[ 4] 8.00-9.00 sec 3.54 MBytes 29.7 Mbits/sec 0.309 ms 0/453 (0%)
[ 4] 9.00-10.00 sec 3.52 MBytes 29.6 Mbits/sec 0.280 ms 8/459 (1.7%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 36.5 MBytes 30.6 Mbits/sec 0.254 ms 75/4671 (1.6%)
[ 4] Sent 4671 datagrams
iperf Done.
If I do the same with TCP instead (maximizing bandwidth):
C:\Programs\nettools\iperf-3.1.3-win64>iperf3 -c 192.168.10.66 -t 10 -R
Connecting to host 192.168.10.66, port 5201
Reverse mode, remote host 192.168.10.66 is sending
[ 4] local 192.168.12.101 port 54189 connected to 192.168.10.66 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 64.2 MBytes 539 Mbits/sec
[ 4] 1.00-2.00 sec 77.7 MBytes 652 Mbits/sec
[ 4] 2.00-3.00 sec 83.8 MBytes 703 Mbits/sec
[ 4] 3.00-4.00 sec 70.7 MBytes 593 Mbits/sec
[ 4] 4.00-5.00 sec 76.7 MBytes 643 Mbits/sec
[ 4] 5.00-6.00 sec 73.6 MBytes 618 Mbits/sec
[ 4] 6.00-7.00 sec 77.7 MBytes 652 Mbits/sec
[ 4] 7.00-8.00 sec 64.0 MBytes 537 Mbits/sec
[ 4] 8.00-9.00 sec 71.2 MBytes 598 Mbits/sec
[ 4] 9.00-10.00 sec 60.7 MBytes 509 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 721 MBytes 605 Mbits/sec sender
[ 4] 0.00-10.00 sec 721 MBytes 605 Mbits/sec receiver
iperf Done.
As you can see, that gives me a bandwidth of 600 Mbit/s. The IPTV stream does not become disrupted while doing this test. However, If I run some heavy data transfer (by using Speedtest) on the WAN connection, I get disruptions in the iptv stream. It seems that the disruptions are more frequent and severe during upload than during download.
What can I do to mitigate this issue? I need to protect the traffic on the IPTV interface as much as I can, I just have no clue how (and why this is happening in the first place).