What is a domain name?
Domain name is an identification string assigned to a network resource, administration realm or authority in the Internet.
Domain names are managed by a Domain Name System (DNS) and were invented to allow human beings to operate with symbolic names, rather then use of IP-addresses. For example, when we are talking about web-sites and want to share some website address with our friends, we are usually providing its symbolic address instead of its IP-address.
From the other hand, DNS allows to assign several domain names to one IP-address, what gives an ability for several different web-sites operate over the same IP.
Domain names has a specific syntax which is defined by a standard (RFC 1035). Simply the syntax can be explained as follows. Domain name consists of several string parts separated by ".". Each new "." represents the next domain name level and counting starts from right-to-left. In the DNS system there is a root domain represented by a leading "." from the right side which are usually is allowed to suppress, so the real domain name for "google.com" in reality is "google.com.".
Such syntax is represented in this way because the DNS is an example of distributed network system (and database) and is operated in different parts of the network. Thus, root domain servers serves a part of information which is related to the "." root domain, and they "know" about other servers, which serve Top-Level Domain (TLD) zones, such as ".com", ".net", ".org", etc. Than TLD servers "know" about the servers which serve specific domain, them "know" about their subdomains, etc, etc, etc. And finally all those servers act as a single Domain Name System, so when you making the request resolve a domain name to IP to connect to the network resource you want to, during this request your computer may interact with many different domain servers in the Internet. That's why we call DNS a distributed network system.