So, I had a few more drops since my last post, but now I'm on my second day of testing a new solution. I started shopping for a new router, and was highly interested in the 1 star reviews of all the models I was interested in. Every model suffers from drops and hangs. However, I did see a common thread. A lot of people were using bit torrents. A few google searches later, and I discovered that routers have something called a NAT (Network Address Translation) table. Basically each time you connect with a peer, it eats up a slot in the NAT table. The NAT table is finite, so when it fills up, that's when we start to see hangs.
A lot of routers out there have support for dd-wrt (custom firmware) that allows you to adjust the size of the NAT table to 4000 connections or so. Unfortunately, the dir-655 doesn't support dd-wrt.
My solution was just to open up by bit torrent client (utorrent) and limit the amount of connections to 50. The results have been "so far so good"!
Unfortunately, I couldn't find any way to adjust the NAT table size in the router. Does anyone know how to do that? What about further optimizations to limit the load on the router for users running bit torrent? Any ideas?