I agree with you. There should exist a standardized tld for internal networks that we can use and be sure that no one else has control over. Buying a domain and use a subdomain of that one is not a good workaround. .internal would be nice and is not used by now. I may go write an rfc now :)
> What happens as soon as two different organizations want to connect their networks together and they both turn otu to be using the same hijacked TLD?
Why "hijacked" TLD? It would be a standard TLD.
If two orgs merge, and they both happen to use the same hostnames for some things, like say git.internal, they just refactor those hosts, or merge them since they merge.
It is not usually as easy as you suggest to just merge or refactor conflicting domains.
Even if you're lucky, and it is git.internal - rather than source.internal with VSS on one and ClearCase on the other - there may be conflicting repository names. These'll be configured on developer's PCs, CI servers, automated deployment scripts. And that's just one domain name.
That's potentially a lot of work to connect two organizations: who may well not be connecting because of a merger - they may simply be contractors.
If ABC Corp and XZY Corp had their local stuff on internal.abc.com and internal.xyz.com, then all their old domains - and urls - keep working after they connect their networks. Whether and when to merge their services together becomes a decision based on the merits of each merge, rather than something that is forced because they choose a bad naming scheme.
Surely it's not that hard to come up with a unique, memorable internal TLD? eg. the company name - "git.facebook", "foo.microsoft", "monitoring.dev.google"
related discussion:
http://serverfault.com/questions/17255/top-level-domain-doma...