BF3 lags in multiplayer but is perfect in single player?

hi everyone! i seem to have a lot of lag while playing multiplayer in bf3 and in anyother game that has an online feature. single player works like a dream. my gpu is a gtx 770 2gb, i5-3570k, 8gb of ram and a gigabyte intel z77 dual thunderbolt ATX motherboard (GA-Z77X-UP4-TH). my drivers are up to date on my gpu and my fps is 60 and above on ultra so i dont see why i would be lagging. could it have something to do with my internet? my ping will be 70 one min and than the next it'll be 100, 175 or sometimes even 328. does my realtek GbE LAN chip ( 10/100/1000Mbit) have anything to do with it? would i have to uninstall that and than reinstall it? would that help or is it just my crappy internet being the problem -_-  

thanks everyone that takes the time to look at what ive said and thank you guys for trying to help!

bf3 uses stupid high bandwidth, having ok ping 1 second and then it spiking all over the place is exactly what it causes

you can A. get faster internet B. turn down your settings (it shouldn't have an effect on bandwidth, but it does)

but i should brobably ask what speed internet you have before saying this is what it is, for sure

honestly, im not sure but i think it is 1.5mbps... yah its 1.5mbps and i have to pay 43 bucks a month11 internet is too damn expensive! ayways my neighbor has the same speed, same provider as well and his runs fine. do u think my modem could be the problem? when i first started to play bf3 it would run smooth and wouldnt have a problem. i assume its the internet and not my computer but im not 100% sure. ive turned down my settings to the lowest they can go and it still lags just the same as if it were at ultra setting lol.