As Mark said, domain controllers within the same domain automatically replicate Active Directory data and changes between them, so you should not need to do anything at all, other than properly defining sites in the "Active Directory Sites and Services" console. Quick tutorial here:
- Define subnets based on IP address/subnet mask.
- Define sites.
- Associate subnets with sites so that AD knows which site does an IP address belong to.
- When creating a new DC, it will be automatically placed in the right site.
- If DCs have already been created, just move them manually to the proper site.
After you wait a while, an Active Directory background process (called the "Knowledge Consistency Checker" or KCC) will detect che new topology and build proper replication connections between DCs (i.e. who replicates with who); you could then tweak this manually, if you want to.
To add a new domain controller to an existing domain, you need to add the "Active Directory Domain Services" role to the server, and then run the command
dcpromo.exe; the following wizard will ask you various informations, and you should simply tell it to add a new DC to an existing domain (and make it a DNS server and Global Catalog, since you only have one of them per site); replication will then begin automatically.
This all applies to domain controllers being in the same domain. If you need more domains, things get somewhat more complex, so you should really avoid this if you don't actually need more than one domain (hint: there are very good chances you don't).
Looks like you already created three different domains. Things are a lot trickier now: different domain in the same forest (I hope they are...) actually synchronizes something between them, but each one of them has a different user database; so, if you create a user account in domain A, there's no way to have that user account pop up in domain B: you'll have to use trusts and permissions to allow the user in domain A to access resources in domain B. I strongly suggest you remove those two additional domains and go back to a single domain design, since you don't seem to be in production stage yet.
For replication to work, you'll need either a WAN link or a VPN. I'm assuming each of your servers has a private IP address, so they won't be able to communicate without any of them... but even if they had public IPs (and that would be quite unusual), that's not the kind of traffic you'd like to see flowing openly on the Internet.