For the CSCF specific guildlines see https://cs.uwaterloo.ca/cscf/decisions/DNS_names
Case is not significant. For example: USC-ISIF is the same as USC-isif
Simple Names
Until recently, hosts in the DARPA research and DDN operational communities were assigned names in a flat or global name space of character strings. There are some limits on these names.
"They must start with a letter, end with a letter or digit and have only letters or digits or hyphen as interior characters."
Thr non-bold parts have been revised as of
http://www.faqs.org/rfcs/rfc1123.html
(see below)
Hierarchical Names
Because of the growth of the Internet, structured names (or domain style names) have been introduced. Each element of the structured name will be a character string (with the same constraints that previously applied to the simple names). The elements (or components) of the structured names are separated
with periods, and the elements are written from the most specific on the left to the most general on the right.
<domain> ::= <subdomain> | " " <subdomain> ::= <label> | <subdomain> "." <label> <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ] <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str> <let-dig-hyp> ::= <let-dig> | "-" <let-dig> ::= <letter> | <digit> <letter> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case <digit> ::= any one of the ten digits 0 through 9Note that while upper and lower case letters are allowed in domain names, no significance is attached to the case. That is, two names with the same spelling but different case are to be treated as if identical.
The labels must follow the rules for ARPANET host names. They must start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen. There are also some restrictions on the length. Labels must be 63 characters or less.
Note: the label syntax and parts not bolded in previous sentence have been updated by RFC1123
6.1.3.5 Extensibility The DNS defines domain name syntax very generally -- a String of labels each containing up to 63 8-bit ctets, separated by dots, and with a maximum total of 255 octets.
The syntax of a legal Internet host name was specified in RFC-952 [DNS:4]. One aspect of host name syntax is hereby changed: the restriction on the first character is relaxed to allow either a letter or a digit. Host software MUST support this more liberal syntax.
So the original Lexical grammar has changed...
From RFC-952 <name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>] or From RFC-1039 <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ] To RFC-1123 <name> ::= <let-digit>[*[<let-or-digit-or-hyphen>]<let-or-digit>]
hostport = host [ ":" port ] host = hostname | IPv4address hostname = *( domainlabel "." ) toplabel [ "." ] domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum toplabel = alphanum | alphanum *( alphanum | "-" ) alphanum IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit port = *digitHostnames take the form described in Section 3 of [RFC1034] and Section 2.1 of [RFC1123]: a sequence of domain labels separated by ".", each domain label starting and ending with an alphanumeric character and possibly also containing "-" characters. The rightmost domain label of a fully qualified domain name will never start with a digit, thus syntactically distinguishing domain names from IPv4
E. Domain Name Character Set
1. Usage
This character set will be used in places where a domain name is to be specified. It does not govern the specification of internationalised domain names, which are not authorized by the current specification.
2. Definition
The rules for the format and character set of domain names are defined by the following:
dot = %x2E ; "." alpha = %x41-5A | %x61-7A ; A-Z | a-z digit = %x30-39 ; 0-9 dash = %x2D ; "–" dns-char = alpha | digit | dash id-prefix = alpha | digit label = id-prefix [*61dns–char id–prefix] sldn = label dot label ; not to exceed 254 characters hostname = 1*(label dot) sldn; not to exceed 254 characters