This project implements an experimental IPTV service in a virtualized environment using GNS3 for network emulation and VLC Media Player for video streaming.
The goal is to simulate a real-world IPTV infrastructure that integrates dynamic routing, multicast distribution, NAT, DHCP, ACLs, and QoS policies to ensure efficient video delivery and service reliability.
The simulated network consists of three routers (R1, R2, R3) interconnected using the OSPF dynamic routing protocol, and a “cloud” segment that represents the Internet/ISP connection.
- R1 – Home network router with DHCP and NAT for local clients (Ubuntu client).
- R2 – IPTV Server network router hosting the Windows IPTV server.
- R3 – Local client network router with DHCP and NAT for another client (Windows).
- Cloud (192.168.6.0/24) – Simulated ISP providing external connectivity.
| Technology | Purpose | Configuration Highlights |
|---|---|---|
| OSPF | Dynamic routing between routers | Enabled on R1, R2, R3 |
| PIM/IGMP | Multicast video distribution | PIM Sparse-Dense mode on all routers |
| NAT | Internet access for private networks | Overload (PAT) on R1, R2, and R3 |
| DHCP | Automatic IP configuration for clients | Implemented on R1 and R3 |
| ACLs | Traffic filtering and server protection | Restrictive ACL on R2 (SECURE_IPTV) |
| QoS | Prioritization of video traffic | DSCP AF41 marking on RTP/HTTP ports |
| DNS | Name resolution | Google DNS 8.8.8.8 and 8.8.4.4 |
The IPTV server (Windows 10, IP 192.168.0.1) was configured with VLC Media Player to stream video via:
- RTP Multicast →
239.255.255.100:5004 - HTTP Unicast →
http://192.168.0.1:8080/
"C:\Program Files\VideoLAN\VLC\vlc.exe" rtp://@239.255.255.100:5004
"C:\Program Files\VideoLAN\VLC\vlc.exe" "video.mp4"--sout "#duplicate{dst=rtp{dst=239.255.255.100,port=5004,ttl=10},dst=http{mux=ts,dst=:8080/}}" --loop