GNS3 là một trình giả lập mạng có giao diện đồ hoạ (graphical network simulator) cho phép bạn dễ dàng thiết kế các mô hình mạng và sau đó chạy giả lập trên chúng. Tại thời điểm hiện tại GNS3 hỗ trợ các IOS của Router, ATM/Frame Relay/Ethernet switch và hub. Bạn thậm chí có thể mở rộng mạng của mình bằng cách kết nối nó vào mạng ảo này. Để làm được điều này, GNS3 đã dựa trên Dynamips và một phần của Dynagen, nó được phát triển bằng Python và thông thông qua PyQt và phần giao diện đồ hoạ thì sử dụng thư viện Qt, rất nổi tiếng về tính hữu dụng của nó trong dự án KDE. GNS3 cũng sử dụng kỹ thuật SVG (Scalable Vector Graphics) để cung cấp các biểu tượng chất lượng cao cho việc thiết kế mô hình mạng của bạn.