Nobody keeps track of all the computers in the network, or at least not as part of core network functionality. There are sites that attempt to track nodes (such as https://bitnodes.21.co/), but they are not needed in order for Bitcoin to function, and are not utilized by nodes. Each node only knows about the nodes it is connected to.
Therefore, to broadcast a transaction, a node simply sends it to the nodes to which it is currently connected. Those nodes, in turn, relay the transaction to all their connections who all do likewise. This means a transaction can reasonably be seen by all nodes in a very short amount of time (a few seconds or less).
For information on how nodes find other nodes to connect to in the first place, there's already some great answers here:
How do Bitcoin clients find each other?