enable and configure your router's QoS...
chances are, your internet is so weak it can't handle even basic service for you and your roommates...
60 sec guide to setting up traffic prioritisation on a zyxel 660 router, though the general concepts should work on any router that supports traffic shaping/QOS.
From the web management page, choose Media Bandwidth Mgnt. from the Advanced Setup Section.
Tick the Active checkbox for WAN only, (not much point in shaping the LAN side of things,,)
Enter the Upload speed of your connection in Kbps, ie, 256 for normal ADSL, 370 for ADSLMax normal or 830 for ADSLMax Premium.
Scheduler should be Priority Based.
Max Bandwidth Usage should be ticked - this allows unused bandwidth to be allocated to traffic classes.
Apply that info, and now go to Class Setup.
Change the Interface to WAN, it should have one entry
Root Class : XXX Kbps
Click Add Child-Class
Pick a meaningful name,
Bandwidth Budget - the exact figure doesnt matter, because it will be borrowing unused b/w from other classes, it should be low though as the total of all classes budget cannot exceed the Root classes bandwith. Say around 25 - 50.
Priority - 0 is lowest priority, 7 is highest.
Borrow Bandwidth from Parent Class - should be ticked - if its not ticked the bandwidth for this class with be limited to whatever you set for the budget above.
Bandwidth Filter Active - ticked
Service - None
Destination Address / Subnet Mask / Port
Source Address/ Subnet Mask / Port
The router can only shape traffic leaving it on the upstream link, so you can only create (meaningful) filters for Destinations on the Intarweb, and Sources on the LAN,, eg
Destination Port : 80 - will prioritise connections to web servers on the net (ie page requests, but not the actual data downloaded..)
Source Address : 192.168.1.2 - will prioritise traffic uploaded from that local ip
Source Address : 192.168.1.0
Source Subnet : 255.255.255.0 - will prioritise traffic uploaded from everything on that subnet
Source Port: 22 - will prioritise the outgoing part of ssh traffic TO hosts on the internal LAN.
Destination Port: 22 - will prioritise the outgoing part of ssh traffic TO hosts on the intarweb.
Protocol ID : 0 is all protocols, 1 is ICMP, 6 is TCP, 17 is UDP
Once you have created child classes for all the important traffic, we need to create one last class for everything else, as above, with a priority of 0, all dest/source ports/addresses set to 0.
To check everything is being classified correctly, use the Monitor part of the Media Bandwidth Mgnt. bit.