So...I start my bitcoin client. It starts making connections.
Who is it communicating with? How does that communication work? Is it connecting to a central bitcoin ip address?
It is connecting to peer nodes that it already knows of, unless it is the first time and then it discovers nodes.
Here's the wiki page that addresses your question further.
There are a handful of very excellent overviews:
(1 hour 30 minute podcast)
(2 hour podcast)
(watch starting at about 0:41 minutes in)