get ping plotter, install it (it has a free version) check the top of the technical threads (where this should have been posted) for the server addresses. Type them in and ping the servers for a good 10-15 mins every 5 seconds or so.Take a screen shot of the ping plot and post it in this thread. What your looking for is a steady ping in the 45-100 area, although you can run the game even into the 200s. The idea is steady. Not 45 one time 250 the next three time and then back to 50 the next time.
A simple fix might be to just power down both your router, and the cable modem. They should be cycled every month or so, like re-booting your computer to clean out the memorys and such. Leave them off for a min, them power up the modem, and after another minute, power up the router.
Start there.