That is what Tor attempts to achieve, however there are several scenarios in which it may not actually work out like that. For example, if you use Tor to browse a website that is hosted by the same ISP you use, your ISP would be able to tell you are visiting that website, if they have the proper equipment and such installed anyway. Tor is pretty damn good at giving anonymity, but it actually does not prevent an attacker who can see your traffic at two different locations from linking the traffic together as being the same. This is only a huge concern if the attacker can see the traffic originate at you and end at the destination server you are sending it to though. Tor anonymity comes entirely from having a big and widely dispersed network, preventing an attacker from watching enough of the network to have a high probability of seeing your traffic at two different locations on its route from you to the server that you communicate with. However, an attacker who owns enough high bandwidth Tor nodes or who can place a few well positioned wiretaps on networks that have a lot of Tor nodes, can still deanonymize Tor users. So in summary, Tor does an excellent job of providing anonymity from attackers who add a dozen or two high bandwidth nodes to the network, or who watch traffic at a few small ISP's, but as attackers get more powerful than this it does indeed start to increasingly fail in proportion to how much of the network a given attacker can watch.