This project demonstrates a comprehensive enterprise network design implementation covering VLSM (Variable Length Subnet Masking) subnetting, routing protocols (RIP, EIGRP, OSPF), DHCP configuration, Access Control Lists (ACLs), Network Address Translation (NAT), and server services configuration. The project includes an interactive web-based visualization of the complete VLSM subnetting tree with detailed network analytics.
Course: Computer Networks
Institution: FAST National University of Computing and Emerging Sciences, Islamabad Campus
Student: Muhammad Nouman Hafeez (21I-0416)
Instructor: Sir Hamza Mehmood
Submission Date: 7th December, 2025
- VLSM Subnetting: Efficiently allocate IP addresses for 13 primary networks (A-N) with varying host requirements (835 to 83,492 hosts)
- Additional Network Allocation: Configure 29 point-to-point router links and 15 LAN segments
- Routing Protocol Configuration: Implement and configure RIP, EIGRP, and OSPF routing protocols
- Protocol Redistribution: Configure route redistribution between different routing protocols
- DHCP Configuration: Set up Dynamic Host Configuration Protocol for automatic IP assignment
- Access Control Lists: Implement security policies using ACLs
- Network Address Translation: Configure NAT for private-to-public IP translation
- Server Services: Configure TFTP, Web, and Data server services
- Interactive Visualization: Create a web-based interactive visualization of the VLSM tree
enterprise-network-design/
β
βββ README.md # This file
βββ Project Description.pdf # Detailed project description
βββ Project_Rubric.pdf # Project evaluation rubric
βββ Project Topology.png # Main network topology diagram
βββ network_topology.pkt # Packet Tracer network topology file
β
βββ VLSM_Subnetting_Configuration.pdf # Complete VLSM documentation
βββ VLSM-tree.mmd # Mermaid diagram: Primary networks (A-N)
βββ VLSM-tree-1.png # Rendered VLSM tree part 1
βββ VLSM-tree-2.png # Rendered VLSM tree part 2
βββ VLSM-tree-other_networks.mmd # Mermaid diagram: P2P links & LANs
βββ VLSM-tree-other_networks.png # Rendered other networks tree
β
βββ documentation/ # Additional documentation
β βββ EIGRP_AND_RIP_REDISTRIBUTION.pdf
β βββ NAT_ROUTER10.pdf
β βββ OSPF_AND_EIGRP_REDISTRIBUTION.pdf
β
βββ configured_topology_snapshots/ # Network topology screenshots
β βββ complete_topology.png
β βββ topolgoy_row1.png
β βββ topolgoy_row2.png
β
βββ results/ # Configuration result screenshots
β βββ Routing Protocol Results/
β β βββ RIP configuration screenshots
β β βββ EIGRP configuration screenshots
β β βββ OSPF configuration screenshots
β β βββ Protocol redistribution proofs
β βββ DHCP configuration screenshots
β βββ ACL configuration screenshots
β βββ NAT configuration screenshots
β βββ Server services screenshots
β
βββ web/ # Interactive web visualization
βββ index.html # Main HTML file
βββ styles.css # Styling with dark theme
βββ script.js # Interactive functionality & charts
βββ vlsm_data.txt # Network data
βββ vlsm-tree-complete.mmd # Complete VLSM tree Mermaid diagram
- Supernet:
114.192.0.0/14 - Range:
114.192.0.0-114.195.255.255 - Total Addresses: 262,144
- Usable Addresses: 262,142
- Allocation Strategy: Largest to smallest (minimizes fragmentation)
| Network | Required Hosts | Prefix | Subnet | Subnet Mask | Usable Addresses | First Usable | Last Usable | Broadcast |
|---|---|---|---|---|---|---|---|---|
| F | 83,492 | /15 | 114.192.0.0/15 | 255.254.0.0 | 131,070 | 114.192.0.1 | 114.193.255.254 | 114.193.255.255 |
| B | 14,068 | /18 | 114.194.0.0/18 | 255.255.192.0 | 16,382 | 114.194.0.1 | 114.194.63.254 | 114.194.63.255 |
| C | 11,243 | /18 | 114.194.64.0/18 | 255.255.192.0 | 16,382 | 114.194.64.1 | 114.194.127.254 | 114.194.127.255 |
| A | 10,921 | /18 | 114.194.128.0/18 | 255.255.192.0 | 16,382 | 114.194.128.1 | 114.194.191.254 | 114.194.191.255 |
| L | 8,644 | /18 | 114.194.192.0/18 | 255.255.192.0 | 16,382 | 114.194.192.1 | 114.194.255.254 | 114.194.255.255 |
| E | 7,579 | /19 | 114.195.0.0/19 | 255.255.224.0 | 8,190 | 114.195.0.1 | 114.195.31.254 | 114.195.31.255 |
| M | 6,021 | /19 | 114.195.32.0/19 | 255.255.224.0 | 8,190 | 114.195.32.1 | 114.195.63.254 | 114.195.63.255 |
| G | 3,447 | /20 | 114.195.64.0/20 | 255.255.240.0 | 4,094 | 114.195.64.1 | 114.195.79.254 | 114.195.79.255 |
| D | 2,154 | /20 | 114.195.80.0/20 | 255.255.240.0 | 4,094 | 114.195.80.1 | 114.195.95.254 | 114.195.95.255 |
| J | 874 | /22 | 114.195.96.0/22 | 255.255.252.0 | 1,022 | 114.195.96.1 | 114.195.99.254 | 114.195.99.255 |
| H | 851 | /22 | 114.195.100.0/22 | 255.255.252.0 | 1,022 | 114.195.100.1 | 114.195.103.254 | 114.195.103.255 |
| N | 849 | /22 | 114.195.104.0/22 | 255.255.252.0 | 1,022 | 114.195.104.1 | 114.195.107.254 | 114.195.107.255 |
| I | 835 | /22 | 114.195.108.0/22 | 255.255.252.0 | 1,022 | 114.195.108.1 | 114.195.111.254 | 114.195.111.255 |
- Subnet Mask:
/30(255.255.255.252) - Range:
114.195.112.0-114.195.112.115 - Total Addresses Used: 116 addresses
- Usable Addresses: 58 (2 per link)
- Efficiency: 50% (optimal for P2P links)
Sample Links:
- Link-01:
114.195.112.0/30(Router 1: .1, Router 2: .2) - Link-02:
114.195.112.4/30(Router 1: .5, Router 2: .6) - ... (29 total links)
- Link-29:
114.195.112.112/30(Router 1: .113, Router 2: .114)
- Subnet Mask:
/29(255.255.255.248) - Range:
114.195.112.120-114.195.112.239 - Total Addresses Used: 120 addresses
- Usable Addresses: 90 (6 per LAN)
- Efficiency: 75%
Sample LANs:
- LAN-01:
114.195.112.120/29(Hosts: .121 - .126) - LAN-02:
114.195.112.128/29(Hosts: .129 - .134) - ... (15 total LANs)
- LAN-15:
114.195.112.232/29(Hosts: .233 - .238)
| Metric | Value |
|---|---|
| Total Required Hosts | 150,978 |
| Total Allocated Addresses | 199,680 |
| Total Usable Addresses | 199,652 |
| Total Waste | 48,674 addresses (24.4%) |
| Address Utilization | 75.6% |
| Remaining Space | 36,628 addresses (99.36% of remaining block) |
This project includes several Mermaid diagram files (.mmd) that visualize the VLSM subnetting hierarchy. All diagrams are configured with a dark theme for better visibility and professional presentation.
-
VLSM-tree.mmd- Primary networks (A-N) allocation tree- Shows the complete hierarchical breakdown of the supernet
- Displays all 13 primary networks with their configurations
- Includes split points and intermediate blocks
- Theme: Dark background with solid colors
-
VLSM-tree-other_networks.mmd- P2P links and LAN segments allocation- Detailed breakdown of the 29 point-to-point links
- Complete allocation of 15 LAN segments
- Shows the subdivision process from /18 to individual subnets
- Theme: Dark background with solid colors
-
web/vlsm-tree-complete.mmd- Complete integrated tree- Combines primary networks and additional networks
- Used in the web visualization
- Theme: Dark background with solid colors
All diagrams include:
- Dark Theme Configuration: Custom dark theme with solid backgrounds
- Color Coding:
- π¦ Blue/Teal: Primary allocated networks (A-N)
- πͺ Purple: Intermediate blocks and splits
- π΄ Red: Split points and decision nodes
- π¦ Light Blue: Point-to-point links
- π© Green: LAN segments
- π Orange: Future expansion/reserved space
- Detailed Information: Each node includes subnet, mask, range, and waste calculations
- Hierarchical Structure: Clear parent-child relationships showing subnet division
- Visit Mermaid Live Editor
- Copy the contents of any
.mmdfile - Paste into the editor
- The diagram will render automatically with the dark theme
- Install the "Markdown Preview Mermaid Support" extension
- Open any
.mmdfile - Use the preview feature to view the diagram
- Open
web/index.htmlin a web browser - The complete interactive VLSM tree is displayed with zoom, pan, and download capabilities
# Install Mermaid CLI
npm install -g @mermaid-js/mermaid-cli
# Generate PNG from Mermaid file
mmdc -i VLSM-tree.mmd -o VLSM-tree.png -t dark -b transparentThe diagram files use inline style directives for node colors (e.g. style Start fill:#1a237e). For GitHub compatibility, the .mmd files do not use Mermaid's %%{init:...}%% theme directive, as GitHub's Mermaid renderer does not support it. For dark theme rendering in Mermaid Live Editor or the web app, you can add an init block at the top of a copy of the file.
The project includes an interactive web-based visualization located in the web/ directory.
-
Interactive VLSM Tree Diagram
- Zoom in/out functionality
- Pan and drag navigation
- Download diagram as PNG
- Dark theme with professional styling
-
Network Statistics Dashboard
- Network distribution charts
- Address utilization visualization
- Subnet size distribution
- Host requirements analysis
- Efficiency metrics
- Growth timeline
-
Network Cards
- Detailed information for each network
- Click to expand/collapse
- Copy-to-clipboard functionality
- Search and filter capabilities
-
Image Gallery
- Organized by category
- Modal view for full-size images
- Lazy loading for performance
-
Simple Method (Local File):
- Open
web/index.htmldirectly in a web browser - All dependencies are loaded from CDN
- Open
-
Local Server (Recommended):
# Using Python 3 cd web python -m http.server 8000 # Using Node.js (http-server) npx http-server web -p 8000 # Then open: http://localhost:8000
- HTML5 - Structure
- CSS3 - Dark theme styling with animations
- JavaScript (ES6+) - Interactive functionality
- Mermaid.js - Diagram rendering
- Chart.js - Statistical charts and graphs
For each network with required hosts R:
- Find the smallest
Hwhere2^H - 2 β₯ R - Calculate prefix:
prefix = 32 - H - Calculate subnet mask from prefix
- Allocate contiguous address space
- Calculate first usable, last usable, and broadcast addresses
- Version: RIPv2
- Networks: Configured on multiple router interfaces
- Auto-summarization: Disabled
- Documentation: See
results/rip_*.png
- AS Number: 11
- Networks: Multiple networks advertised
- Documentation: See
results/eigrp11_*.png
- Process ID: Multiple processes
- Areas: Area 0 (backbone), Area 1, Area 2
- Network Types: Broadcast, Point-to-Point
- Documentation: See
results/ospf_*.png
- RIP β EIGRP: Bidirectional redistribution configured
- OSPF β EIGRP: Redistribution between OSPF areas and EIGRP
- OSPF β RIP: Redistribution between OSPF and RIP
- Documentation: See
results/*redistribution*.pnganddocumentation/folder
- DHCP Server 1: Configured for Row 2 networks
- DHCP Server 2: Configured for Row 1 networks
- TFTP Server Integration: TFTP server address configured in DHCP options
- Documentation: See
results/DHCP*.png
- Network 1 (L): Web server access control
- Network 2 (A): TFTP and Data server access control
- Documentation: See
results/ACL_*.png
- Router 10: NAT configuration for private-to-public IP translation
- Documentation: See
results/NAT_result.pnganddocumentation/NAT_ROUTER10.pdf
-
VLSM_Subnetting_Configuration.pdf- Complete VLSM calculations
- Detailed network allocations
- Mathematical derivations
- Efficiency analysis
-
Project Description.pdf- Project requirements and scope
- Network topology description
- Configuration requirements
-
Project_Rubric.pdf- Evaluation criteria
- Grading rubrics
- Project expectations
-
documentation/EIGRP_AND_RIP_REDISTRIBUTION.pdf- EIGRP-RIP redistribution configuration
- Route filtering and metrics
-
documentation/OSPF_AND_EIGRP_REDISTRIBUTION.pdf- OSPF-EIGRP redistribution setup
- Area configuration details
-
documentation/NAT_ROUTER10.pdf- NAT configuration on Router 10
- Translation rules and policies
Project Topology.png- Main network topology overviewother_networks_topology_lables.png- Labeled topology diagramconfigured_topology_snapshots/- Complete configured topology screenshots
VLSM-tree-1.png- Primary networks tree (Part 1)VLSM-tree-2.png- Primary networks tree (Part 2)VLSM-tree-other_networks.png- P2P links and LANs tree
All configuration results are stored in the results/ directory, organized by category:
- Routing protocol configurations
- Protocol redistribution proofs
- DHCP configurations
- ACL configurations
- NAT results
- Server service configurations
-
Web Browser (for viewing HTML visualization)
- Chrome, Firefox, Edge, or Safari (latest versions)
-
Optional Tools:
- Packet Tracer (for opening
.pktfile) - VS Code with Mermaid extension (for editing
.mmdfiles) - Python 3 or Node.js (for local web server)
- Packet Tracer (for opening
-
View the Web Visualization:
# Navigate to web directory cd web # Start a local server (choose one) python -m http.server 8000 # OR npx http-server -p 8000 # Open in browser # http://localhost:8000
-
View Mermaid Diagrams:
- Open any
.mmdfile in Mermaid Live Editor - Or use VS Code with Mermaid preview extension
- Open any
-
Review Documentation:
- Open
VLSM_Subnetting_Configuration.pdffor complete VLSM details - Check
results/folder for configuration screenshots - Review
documentation/for protocol-specific guides
- Open
β Efficient Address Allocation
- Successfully allocated all 13 primary networks within the /14 supernet
- Minimized address wastage (24.4% waste is acceptable for diverse requirements)
- Maintained contiguous addressing for easier routing
β Comprehensive Network Coverage
- 13 primary networks (A-N)
- 29 point-to-point router links
- 15 LAN segments
- Total: 57 networks configured
β Multi-Protocol Routing
- RIP, EIGRP, and OSPF all configured and operational
- Successful route redistribution between protocols
- Proper area configuration for OSPF
β Advanced Services
- DHCP for automatic IP assignment
- ACLs for network security
- NAT for IP translation
- Server services (TFTP, Web, Data)
β Professional Visualization
- Interactive web-based VLSM tree
- Statistical dashboards and charts
- Dark theme for professional presentation
- Responsive design
- Total Supernet: 262,144 addresses
- Allocated: 199,680 addresses (76.1%)
- Used by Hosts: 150,978 addresses (57.6%)
- Waste: 48,674 addresses (18.6% of supernet, 24.4% of allocated)
| Network Type | Count | Efficiency | Notes |
|---|---|---|---|
| Primary Networks (A-N) | 13 | 75.6% | Varies by network size |
| P2P Links (/30) | 29 | 50% | Optimal for point-to-point |
| LAN Segments (/29) | 15 | 75% | Good utilization |
The contiguous allocation allows for efficient route summarization:
- Network F:
114.192.0.0/15(standalone) - Networks B, C, A, L: Can be summarized as
114.194.0.0/16 - Networks E, M, G, D, J, H, N, I: Can be summarized as
114.195.0.0/16 - Additional Networks: Can be summarized as
114.195.112.0/24
- Cisco Packet Tracer - Network topology design and configuration
- Mermaid.js - Diagram generation (flowcharts, tree diagrams)
- Chart.js - Statistical charts and graphs
- HTML5/CSS3/JavaScript - Web interface
- LaTeX/PDF - Technical documentation
- Markdown - Project documentation (this README)
README.md- This comprehensive project documentationnetwork_topology.pkt- Packet Tracer network topology fileProject Topology.png- Visual representation of network topology
VLSM_Subnetting_Configuration.pdf- Complete VLSM documentation with calculationsVLSM-tree.mmd- Mermaid diagram for primary networksVLSM-tree-other_networks.mmd- Mermaid diagram for additional networksVLSM-tree-*.png- Rendered diagram images
web/index.html- Main HTML file with interactive visualizationweb/styles.css- Dark theme CSS stylingweb/script.js- JavaScript for interactivity and chartsweb/vlsm-tree-complete.mmd- Complete VLSM tree for web displayweb/vlsm_data.txt- Network data in text format
documentation/- Protocol-specific configuration guidesresults/- Configuration result screenshots organized by category
All visualizations use a consistent dark theme for:
- Reduced Eye Strain: Easier on the eyes, especially in low-light environments
- Professional Appearance: Modern, sleek design
- Better Contrast: Improved readability of network information
- Consistency: Unified look across all diagrams and web interface
- Primary Networks: Teal/Green (#00695c) - Represents allocated networks
- Intermediate Blocks: Purple (#4a148c) - Shows subdivision blocks
- Split Points: Red (#b71c1c) - Highlights decision/split nodes
- P2P Links: Blue (#1565c0) - Point-to-point connections
- LAN Segments: Green (#2e7d32) - Local area networks
- Future Expansion: Orange (#f57c00) - Reserved/unallocated space
- Background: Dark Blue (#0a0e27, #131829) - Solid dark backgrounds
ACLs are configured to:
- Control access to web servers
- Restrict access to TFTP servers
- Protect data servers
- Implement security policies at network boundaries
- Networks are logically separated using VLSM
- Routing protocols provide controlled inter-network communication
- NAT provides additional security by hiding internal network structure
- Route Summarization: Reduces routing table size
- Protocol Selection: Appropriate protocol for each network segment
- Convergence Time: Optimized through proper protocol configuration
- Utilization Rate: 75.6% of allocated addresses are usable
- Waste Minimization: 24.4% waste is acceptable given diverse requirements
- Scalability: 99.36% of remaining space available for future expansion
All configurations have been tested and verified:
- β Routing protocol adjacencies established
- β Route redistribution functioning correctly
- β DHCP address assignment working
- β ACLs enforcing security policies
- β NAT translation operational
- β Server services accessible
All configuration results are documented with screenshots in the results/ directory, including:
- Routing table outputs
- Protocol neighbor adjacencies
- Redistribution proofs
- DHCP pool status
- ACL application results
- NAT translation tables
This project demonstrates proficiency in:
- VLSM Subnetting: Advanced IP address allocation techniques
- Routing Protocols: Configuration of RIP, EIGRP, and OSPF
- Route Redistribution: Integration of multiple routing protocols
- Network Services: DHCP, NAT, and server configuration
- Network Security: ACL implementation and security policies
- Network Design: Enterprise-level network architecture
- Documentation: Professional technical documentation
- Visualization: Interactive web-based network visualization
This is an academic project. For questions or clarifications:
- Review the documentation files
- Check the configuration screenshots in
results/ - Refer to the PDF documentation for detailed explanations
This project is part of an academic course assignment. All work is original and created for educational purposes.
Muhammad Nouman Hafeez
Roll Number: 21I-0416
Institution: FAST National University of Computing and Emerging Sciences, Islamabad Campus
Course: Computer Networks
Instructor: Sir Hamza Mehmood
- Start Date: Course Semester 2025
- Submission Date: 7th December, 2025
- Status: β Completed
- Instructor: Sir Hamza Mehmood for guidance and project requirements
- FAST-NU Islamabad for providing the academic framework
- Cisco Packet Tracer for network simulation capabilities
- Mermaid.js and Chart.js communities for excellent visualization tools
For questions about this project:
- Student: Muhammad Nouman Hafeez
- Roll Number: 21I-0416
- Institution: FAST National University, Islamabad Campus
- v1.0 (December 2025) - Initial project submission
- Complete VLSM configuration
- All routing protocols configured
- Web visualization implemented
- Comprehensive documentation
- Cisco Networking Academy - Routing Protocols
- RFC 1918 - Address Allocation for Private Internets
- VLSM Subnetting Best Practices
- OSPF, EIGRP, and RIP Configuration Guides
- Mermaid.js Documentation
- Chart.js Documentation
- Network Topology: The
.pktfile requires Cisco Packet Tracer to open - Web Visualization: Requires internet connection for CDN resources (Mermaid.js, Chart.js)
- Mermaid Diagrams: Best viewed in Mermaid Live Editor or VS Code with Mermaid extension
- PDF Documentation: Requires PDF reader for viewing detailed calculations
Potential improvements for future iterations:
- Automated Configuration Scripts: Python scripts for automatic router configuration
- Network Monitoring: Integration with network monitoring tools
- Advanced Analytics: More detailed network performance metrics
- Mobile Responsiveness: Enhanced mobile experience for web visualization
- Export Functionality: Export network configurations in various formats
- Interactive Topology: Clickable network topology with device details
Last Updated: December 2025
Project Status: β
Complete and Submitted
This README provides comprehensive documentation for the Enterprise Network Design project. For detailed technical information, please refer to the PDF documentation files and configuration screenshots in the results/ directory.