There are problems with UPnP being active on your router which is a known cause of disconnects on both BF3 and BC2. For BF3 it is mildly irritating that the best settings are different for multuplayer vs. co-op. For multiplayer you want uPnP off, for co-op you want it on.. sigh..
I don't think I have had a single game disconnection since using the above settings for uPnP execpt when game servers or my router have crashed. Previously they would happen every half hour or so..
I think your router has a bad implemenatation of uPnP. I have uPnP turned on in my router and never have disconnects from game servers.
@OP, if you think uPnP is your problem, look for new router firmware on the router manufacturer's web site.