Run a traceroute to, say news.bbc.co.uk and see at what point the ping goes up - that should tell you exactly where the problem is. E.g.
Code:
1 my.router (192.168.1.1) 0.585 ms 0.716 ms 0.853 ms
2 * * *
3 * * *
4 * * *
5 bbc-gw1-linx.prt0.thdoe.bbc.co.uk (195.66.226.103) 20.630 ms 21.066 ms 21.473 ms
6 212.58.238.149 (212.58.238.149) 23.804 ms 15.394 ms 15.801 ms
7 te12-1.hsw1.cwwtf.bbc.co.uk (212.58.239.234) 16.181 ms 15.134 ms 15.581 ms
8 212.58.255.12 (212.58.255.12) 16.998 ms 15.953 ms 16.010 ms
9 news.bbc.co.uk (212.58.246.82) 15.991 ms 15.916 ms 15.589 ms
Aside from the hops that refuse to reply to my ICMPs, I see no problems along my route. (Phew)
You might need to run it a few times if the problem is intermittent, in order to isolate the true source.