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..