What is the difference and relation between Host Name and Canonical Name?

24,254

Solution 1

In DNS, a hostname is a domain name that identifies a host computer (e.g. foo.example.com). The term hostname is also used to mean the name used for a computer without the domain suffix (foo).

Note that the above usage, as used by DNS administrators, is slightly different from more causal usage where example.com would be considered a domain but many people don't realise a fully qualified hostname is also technically a domain name (see RFCs).

In DNS there are many types of records:

  • "A" records associate a domain name with an address
  • "CNAME" records associate an alias (extra) domain name with a canonical domain name
    • multiple CNAME records can be used to associate several aliases with a single canonical domain name
  • "PTR" records are normally used to associate an IP-address with a canonical domain name.
  • etc

"Canonical" means "unique distinguished exemplar". A computer may have many aliases but should only have one canonical name.


From RFC1035

CNAME A <domain-name> which specifies the canonical or primary name for the owner. The owner name is an alias.


From RFC1034

Most of these systems have a notion that one of the equivalent set of names is the canonical or primary name and all others are aliases.

Solution 2

The host name is the real name the server has. A canonical name is a name that the host is known by, but that the host is not actually called.

A machine's host name could be "barkley.example.com", but because it runs the web and FTP services for the domain "example.com", it could have canonical names of "www.example.com" and "ftp.example.com".

Share:
24,254

Related videos on Youtube

KMC
Author by

KMC

Updated on September 18, 2022

Comments

  • KMC
    KMC over 1 year

    What is Canonical Name in relation to Host Name, Domain Name? Are they all pointing to the same IP?

  • KMC
    KMC about 12 years
    so, canonical names are a subset of the single host name. Is it used for TCP protocol to direct the packets to a certain port(HTTP vs. FTP for example)?
  • Ignacio Vazquez-Abrams
    Ignacio Vazquez-Abrams about 12 years
    No. The name has nothing to do with which ports are available except where the server software itself restricts it (if even possible).
  • KMC
    KMC about 12 years
    since different canonical name points to the same IP, why do we need more names other than the domain name?
  • Ignacio Vazquez-Abrams
    Ignacio Vazquez-Abrams about 12 years
    For convenience and convention. Plus, it allows for moving services to a different host without having to change the name.
  • KMC
    KMC about 12 years
    But multiple canonical names can point to the same host with a single IP. I do not understand what you mean by "moving services to a different host without having to change the name"?
  • Ignacio Vazquez-Abrams
    Ignacio Vazquez-Abrams about 12 years
    They can be pointing to the same machine one day, and different machines the next. Nothing needs to be done to clients in order to make this migration work.
  • Lazy Badger
    Lazy Badger about 12 years
    host name could be "barkley", Domain Name - "barkley.example.com", Canonical Name - any in any domain, but linked (in DNS) to Domain Name.
  • Breandán Dalton
    Breandán Dalton almost 9 years
    To be clear, CNAME records point aliases at the canonical name. So in Ignacio's answer, barkley.example.com is the canonical name, and www.example.com is an alias, and it's written as www.example.com CNAME barkley.example.com and barkley.example.com would have a record specifying its IP address, whereeas www.example.com wouldn't.
  • olenz
    olenz almost 8 years
    Now I am completely confused. Can it be that you are confusing an "alias" and a "canonical host name" here? To my understanding, a machine can only have a single canonical hostname. In any case, this reply is directly contradictory to what RedGrittyBick says in his reply. Can