If I start up a BTC full node, it connects to a small number of other nodes. (is it 8?) How do I really know that I'm connected to all other bitcoin nodes? It seems that it would be possible that somehow I connected to a small subset of nodes that only know about the subset - like a high school clique that only talks to people at the cool kids table.
For example, with bit torrent, it's not unusual to have lots of little groups that don't know about each other. Digging up a long list of seeds gets better results than just one seed & what it knows about.
With Bitcoin, that could be a very bad thing. Are there mechanisms in place to prevent or detect this?
Well, what you typically have is a small world graph - so you can reach anyone in the world by approximately 7 hops (if I recall correctly)? To prevent certain types of attacks that would "isolate" you from the network, the client should prevent you to connect to multiple nodes from the same subnet, which reduces the chance of you getting isolated to an absolute minimum.
Regarding Bittorrent: That is definitely not true. How can such small groups occur when there is a global tracker maintaining a chunks-list of all connected peers?