Bill Essary did a fantastic talk this week on how TFS works in a distributed environment.  This talk shows how the various TFS components communicate.  It gives guidance on how these communication paths put constraints on the network topology.  It explains how these constraints can be applied in a distributed development environment.  It also includes some great links at the end for further reading.  I've attached a copy of the deck to this blog post.

Brian