Simulation Environment: CORE Emulator v9.2.1
UC: Redes de Computadores II
Institution: Universidade do Minho
Project Grade: 18 / 20 Values
This repository contains the network architecture and configuration scripts for a distributed Content Delivery Network (CDN) simulated across a multi-domain topology. The infrastructure models a realistic Internet transit system, combining inter-domain routing, traffic engineering, automated content replication, and strict quality of service optimization.
-
Routing Engine:
- BGP (eBGP & iBGP): Manages inter-AS policies and internal routing updates over isolated paths.
- OSPFv2: Deployed within the transit core using multi-area segmentation and Route Reflection.
- RIPv2: Distance-vector routing applied inside the local access networks.
-
Anycast Architecture:
- HTTP Anycast: Georedundant web content delivery sharing the prefix
172.16.0.10/32. - DNS Anycast (BIND9): Distributed domain name resolution (
www.cdn.com) running over172.16.0.53/32.
- HTTP Anycast: Georedundant web content delivery sharing the prefix
-
Secure Core Isolation:
- GRE Tunnel: Point-to-point overlay link used exclusively for internal Unicast management traffic (
192.168.0.0/30). - TCP Tuning: Optimized with a strict
1400 bytesMTU and1360 bytesMSS Clamping viaiptablesto prevent overlay fragmentation.
- GRE Tunnel: Point-to-point overlay link used exclusively for internal Unicast management traffic (
-
Content Automation:
- FTP Sync (vsftpd): Automated file replication pipeline between PoPs.
- Pipeline: Automated
Bashscripts running viacronthat force traffic through the GRE interface and handle atomic local transfers using a quarantine directory.
-
Quality of Service (DiffServ):
- Traffic Marking: Packet classification at the source via
iptables mangleusing DSCP CS4 (HTTP VIP) and AF11 (FTP) classes. - Hierarchical Token Bucket (HTB): Bandwidth scheduling over a shared 10 Mbps bottleneck link, securing class guarantees, capacity borrowing, and automatic descarding of unclassified Best Effort traffic during high-congestion tests (
netem delay 2ms).
- Traffic Marking: Packet classification at the source via
multi-as-topology.xml: Core Emulator project file containing all node configurations and topology definitions.more about pt-pt/: Project statements (PDFs), visual topology, and the final technical report in Portuguese.- For detailed configuration analysis and implementation logic, please refer to the report in this directory.
To ensure all virtual nodes and services start correctly within the CORE Emulator, the host Linux operating system must have the following packages installed:
- Routing Engine:
quagga(Required for OSPF, BGP, and RIP routing daemon execution)
- CDN Application Services:
bind9(DNS Server)vsftpd(FTP Server for automated replication)apache2orlighttpd(HTTP Web Server)
- Traffic Engineering & Testing Tools:
iperf(Traffic generation for QoS congestion testing)curl(File transfer and FTP automation scripts)iptables&iproute2(Required for DiffServ packet marking and HTB Traffic Control)
Quick installation command (Debian/Ubuntu hosts):
sudo apt update
sudo apt install quagga bind9 vsftpd apache2 iperf curl iptables iproute2