4.2.1 Main Module
Tại giai đoạn khởi tại, bộ giả lập đọc và trích xuất thơng tin như: network topology, các tham số về tài nguyên mạng, chiến lượng caching và các thiết lập khác từ một file thiết lập JavaScript Object Notation (JSON). Main Module sẽ có nhiệm vụ xây dựng mạng ảo, và khởi tạo các replica servers dựa trên thông tin từ file thiết lập. Sau khi đã khởi tạo xong hệ thống CDN và các servers, phụ thuộc vào thiết lập mà cơ chế định tuyến tĩnh hay động sẽ được triển khai cho các routers. Đối với bảng định tuyến tĩnh, công cụ sẽ xây dựng dựa trên giải thuật Dijkstra có trọng số để tìm đường đi ngắn nhất giữa các routers. Trọng số của các đường dẫn được xác định dựa trên bandwidth và delay của nó. Chiến lược định tuyến ở đây được triển khai ở các routers và dùng để mơ phỏng cách định tuyến gói tin của nhà mạng ISP. Module này cũng có trách nhiệm giám sát trạng thái của mạng ảo và tổng hợp, đánh giá kết quả thu được sau khi kết thúc q trình mơ phỏng.
4.2.2 Server Module
Server Module đóng vai trò là các replica server trong mạng ảo. Một hệ thống CDN gồm nhiều replica servers. Bên cạnh cơ chế định tuyến ở routers như đã đề cập ở phần trước, một cơ chế định tuyến khác nhằm chuyển hướng yêu cầu của người dùng khi một replica server hiện tại khơng có nội dung được yêu cầu. Thư viện Containernet cung cấp interface kết hợp Docker container với máy ảo của Mininet. Nhờ vào cơ chế này, bộ giả lập có thể triển khai lại các ứng dụng tương tự như trong hệ thống thực.
Tuy nhiên, một điểm cần lưu ý là nếu đây là một ứng dụng CPU-bound và tốn nhiều thời gian để xử lý, nó có thể ảnh hưởng đến khả năng mơ phỏng của công cụ. Cụ thể hơn, trên cùng một phần cứng, nếu có nhiều ứng dụng CPU-bound nặng, nó sẽ hạn chế số lượng máy ảo và kích thước mạng ảo mà cơng cụ có thể mơ phỏng trên phần cứng đó. Bên cạnh đó, các ứng dụng HTTP service phổ biến hiện nay như
Apache, Nginx,... thường rất hạn chế trong việc tùy chỉnh và cồng kềnh. Luận văn này cũng phát triển một chế độ khác cho Server Module là một HTTP server tùy chỉnh và
Hybrid Cache [52]. Bên cạnh đó, nó cũng hỗ trợ 2 chiến lược định tuyến cơ bản là: chiến lược đường đi ngắn nhất tới Origin Server và chiến lược color-based [52]. Mỗi
replica server này sẽ có một bảng đổi hướng gói tin và có thể dễ dàng tùy chỉnh bảng
này cho phù hợp chiến lược của hệ thống CDN. Hình 8 minh họa hai loại Server Module như đã mô tả ở trên.