This is rather long, please bear with me.
I am setting up a large multi-tenant office building. There are approx. 20 tenants occupying approx. 30 individual offices, all on the same floor of this building. Most tenants rent a single office, a few rent two or maybe three offices -- all on a yearly lease basis. There is a shared group of community devices (printers, scanners, fax, etc.) that each tenant may use, or they may use their own. There is a single 15mbit connection to the internet.
Tenants are allowed to bring in their own small SOHO hub/switch so they may connect several devices to the one network jack in their individual office.
I want each tenant to have their own private class C address. DHCP will provide addresses for each device regardless of subnet. Some devices, such as community printers, etc. may be static.
I want each tenant to see only his own private subnet and the Community Devices Subnet. I don't want any tenant to see any other tenant-subnet.
Community Devices Subnet: 192.168.11.x (Visible to all subnets)
Tenant #1: 192.168.51.x (Visible only to Community Devices Subnet)
Tenant #2: 192.168.52.x (Visible only to Community Devices Subnet)
Tenant 20: 192.168.70.x (Visible only to Community Devices Subnet)
Each tenant may access the internet. Probably everything will be Windows-based.
Secondarily, I want QoS capability so that I may grant each tenant a certain maximum speed to the internet (1.5, 5, 10, etc.) , max transfer bytes to the internet (to discourage numerous large file transfers), and blocking certain protocols (some streaming, etc.).
I've setup plenty of networks before, but they have all been single subnet SOHO style networks. I've not done anything approaching what I've described above.
What sort of networking gear do I need? And what capabilities/features do they require?