Thanks for the interesting question.
I think the best place for you to start is at Wikipedia. They have an
excellent, comprehensive listing of all the Top Level Domains at:
List of Internet top-level domains
If you click on the links in the TLD column of the table, you get
another page that tells you who administers the name and what basic
restrictions apply, if any. (The information for country TLDs - .ca,
.uk, .ar, etc. - is pretty scarce, but it's easy enough to figure out
what these are for.)
Try the link for .aero for an excellent example.
For more detailed information, either visit the
sponsors/administrators for the individual names, or try the Internet
Assigned Numbers Authority pages at:
Domain Name Services
Search Strategy (on Google):
* domain extensions "complete list"
* "top level domains" "complete list"
I hope this helps!