It’s been on my mind for some time now … possibly due to my work (where I am interacting with “technical” people who even themselves struggle) – there must surely be a “near perfect” home router design, something which anyone who has used the Internet on their home computer can install and configure.
I currently believe that the “perfect” design must be a simple design, and have a simple interface. It must rely on doing everything it can, itself. It must not ask any questions that don’t need answering. It must only include features that the home user would want – no VPN, no VLANs, no PPoE, and so on.
So in my mind the device looks something like a WRT54GL. It has 1 “Internet” port, and 4 “other” ports. It has wireless antenna. And it has a power LED.
When you plug the device in, it offers DHCP on every interface – that’s WiFi, LAN and WAN. The user opens “the Internet” and trys to browse, perhaps the documentation suggests going to “router.lan”. Dependent on which interface they’ve connected through, a webpage will be displayed welcoming them to their “network”. If they’ve plugged themselves into the WAN port – the page will ask them to connect using a different pot, because this is for the “Internet”. For those using WiFI – a congratulations your Wireless network is working!
Once they’ve “OK’ed” the WiFi welcome or changed to a LAN port, a Wizard will walk them through setting a wireless network name and setting a passphrase. Then it’ll try and connect to the Internet, using DHCP on the WAN port (the DHCP server is now disabled on that interface).
The router hosts it’s own DNS server – directing “router.lan” to itself. Until the Wizard is finished, all DNS requests will point to itself, enforcing the user to finish before getting online. The Wizard will ask for a “computer name”, allowing the user to setup DNS records for each device on their network. Every computer’s MAC is saved for DHCP – ensuring each device gets the same IP every time.
The network would be in the 10.0.0.x range, possibly using a /16 mask to allow more than 253 devices to ever be connected (remember we assign an IP permenantly to each device). This plus lifetime IP assignments should make it easier for non-techies to operate their network … “ten dot zero dot zero dot five” I believe is a lot easier than 192.168.0.5. And everything keeps the same IP, so little Jimmy’s netbook is always going to be 10.0.0.8. With the “computer names” (DNS entries – possibly automagical via NetBIOS for the most part) make connecting between devices even easier still, i.e. wii.lan and netbook.lan etc. We also minimize the likelyhood of conflicting with our modem device.
Finally there are “additional” options – not included in the wizard – allowing “Advert blocking” and “Website logging” etc.
The router should attempt DHCPing the WAN port – and only in the situation that DHCP fails should it provide the option to enter some details manually. Home users don’t (and shouldn’t) have to care about their LAN DHCP pool or DMZs. The router should offer some advice, allowing you to select what “kind” of device various clients are – for example “10.0.0.14 (XBOX 360) connected 12m 34s” – allowing the router to offer suggested port forwards (or just doing it with basic consent?), and potentially performing a portmap scan for “servers” to help the user understand what things they might want to allow (like RDP or HTTP).
Finally some access restrictions might be good, giving the option to stop access late at night, and of course some enforced QoS.
So the router is going to make a lot of assumptions – but all in the name of simplicty.
Kamikazi developers anyone?