Call of duty uses demonware netcode which is what alot of games used to use, now activision bought them so I assume they have exclusive access to the code and will not share it. It makes me angry that activision is basically ruining online gaming by becoming a monopoly. Its still peer2peer, but besides bungies netcode, its probably the best on the market today.
Since EA is a direct competitor to activision, there is no hope for any EA games having this good system.
http://en.wikipedia.org/wiki/Demonware
talk about greedy... but then EA could of easily asked dice to help out
DICE relys on dedicated servers for every game they have made, I don't think that would have helped much.
Besides, the battlefield games require alot more bandwidth than normal games because of all the destructible stuff, and all the players. These games with 12 players can easily get by with a P2P system because not much data is transferred.
Playing call of duty as a client uses less than 50Kbps most of the time, and playing as host uses between 500-700kbps depending on what is going on. This game doesn't have that terrible of netcode, but the way it picks host is awful. It goes by ping, and not by bandwidth and then ping. I would rather play with a 10ms more ping, than have 40% packet loss because the host has insufficient bandwidth.