Soru Bir harfli host isimleri geçerli mi?


RFC 952 (Varsayımlar altında 1'inci son cümlesi) tek karakterli ana bilgisayar isimlerini yasaklar ve deneyimlerim vardı (7 yıl önce Bazı yazışmaların tek karakterli host isimleriyle çalışmayı reddettiği (2002 gibi yazlar) (bu isimler standartlara uygun değildi), fakat son birkaç yıl içinde bir dizi tek-karakterli host ismini görmüştüm. Tek karakterli ana bilgisayar adları şimdi geçerli mi? (Eğer öyleyse, doğru doğrulama referansı nedir?)

Düzenle (bazı bilgileri cevaplardan sağlamlaştırmak için): DNS'nin çeşitli yönleri de dahil olmak üzere çeşitli RFC'lerde tanımlanmış gibi görünmektedir. 1035, 1123, ve 2181. itibaren RFC-2181 bölüm 11:

Note however, that the various applications that make use of DNS data
can have restrictions imposed on what particular values are
acceptable in their environment.  For example, that any binary label
can have an MX record does not imply that any binary name can be used
as the host part of an e-mail address.
[ ... ]
See also [RFC1123] section 6.1.3.5.

itibaren RFC-1123 bölüm 6.1.3.5:

The DNS defines domain name syntax very generally -- a
string of labels each containing up to 63 8-bit octets,
separated by dots, and with a maximum total of 255
octets.  Particular applications of the DNS are
permitted to further constrain the syntax of the domain
names they use, although the DNS deployment has led to
some applications allowing more general names.  In
particular, Section 2.1 of this document liberalizes
slightly the syntax of a legal Internet host name that
was defined in RFC-952 [DNS:4].

itibaren RFC-1123 bölüm 2.1:

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.

Ve son olarak, başlangıçta referans olarak, RFC 952:

1. A "name" (Net, Host, Gateway, or Domain name) is a text string up
to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
sign (-), and period (.).  Note that periods are only allowed when
they serve to delimit components of "domain style names". (See
RFC-921, "Domain Name System Implementation Schedule", for
background).  No blank or space characters are permitted as part of a
name. No distinction is made between upper and lower case.  The first
character must be an alpha character.  The last character must not be
a minus sign or period.
[ ... ]
Single character names or nicknames are not allowed.

Başlangıçta RFC-952'nin tek karakterli ana bilgisayar adlarını yasakladığını söyleyen bu zinciri takip etmektir.


13
2017-07-20 00:55


Menşei




Cevaplar:


'Geçerli' ve 'işe yarıyor' arasında bir fark var. Ev sahibi isimleri, eğer tek karakter ise (daha önceki yazım dayanılmaz) geçerli sayılmaz. Ancak, oldukça fazla sistem onlara izin veriyor. Microsoft'un AD / DNS sistemi olan büyük bir sistem, tek karakterli isimlere izin vermek için eski bir nedene sahiptir.

Eski okul NetBIOS adlarının 1 ila 15 karakter uzunluğunda olmasına izin verilir. Bu özellik, RFC952'den bağımsız olarak geliştirilmiştir, lmhosts adlı farklı bir dosyaya dayanmaktadır, bu yüzden çalışır. Sorun, Microsoft NetBEUI (aslında NBF, NetBIOS Çerçeve Protokolü) ve TCP / IP (aslında NBT) üzerine taşındığında ve Microsoft'un TCP / IP ağları üzerinden adlandırma çözünürlüğüne izin vermesi gerektiğinde ortaya çıktı. MS, RFC952 uyumlu ana bilgisayarlara olan ihtiyacı atlayarak WINS sunucularıyla NetBIOS stil çözünürlüğünü korumayı seçti.

Ardından Active Directory ve DNS bağımlılıkları geldi. Dinamik DNS kuraldı, bu yüzden istemciler, DNS etki alanında ComputerName (ilk 15 karakteri de NetBIOS adıdır) kaydetmek zorunda kaldı. MS, tek karakterli NetBIOS adlarının DNS'ye kaydolmasına izin verdiğinden, bu RFC952 ile çakışmaya neden olmuştur. Sistemlerini buna izin verecek şekilde kodlamaya karar verdiler, çünkü bu her zaman WINS günlerinde nasıl çalıştığı konusunda öykünürdü.

BIND DNS ayrıca tek karakterli sunucu isimlerine izin verir. Ancak RFC2181, hemen hemen devletler, uygulamaların artık kendi verilerini değil, DNS'lerini incelemeye ihtiyaç duyduklarını söylüyor. Bu da bize, tek karakterli ana bilgisayar adlarının iyi durumda olduğu büyük bir aygıt ve yazılım popülasyonu ve RFC952-katı olan ve buna izin vermeyen bir kaç aykırı olanı bırakır.


2
2017-07-20 19:42



There is a difference between 'valid' and 'it works'.  Sonuçta, bu en mantıklı cevap, bence tartışılan tüm tartışmaları takdir etsem de. Çizeceğim sonuç, tek karakterli ana bilgisayar adlarının hala teknik olarak geçersiz olduğunu, ancak bu noktada oldukça evrensel bir şekilde çalıştığını gösteriyor. (Benzer şekilde, alt çizgiler yasaklanmıştır, ancak çoğunlukla çalışırlar.) - Isaac


Onların geçerli olduklarını düşünürsünüz çünkü kök ad sunucuları tüm tek harfli ana bilgisayarlardır (a.root-servers.net) ve DNS özellikleri bunlar için belirli bir özel durum oluşturmaz. Söz konusu RFC, özellikle DNS değil, ana dosya formatı içindir. DNS daha sonra bir RFC'de tanımlandı (RFC 1035 başlatır). RFC 1123(1989) açıkça belirtir.

 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.

Bu nedenle, tek harfli ana bilgisayar adları, DNS tabanlı sistemlerde geçerlidir ve spam'in icat edilmesinden önce olmuştur. RFC uyumlu olmayan sistemler alay edilebilir ve alay edilebilir. DNS kullanmıyorlarsa ve sadece ana bilgisayar dosyalarını kullanmazlarsa, bu noktada acıma daha iyi bir seçimdir.


11
2017-07-20 02:05



Tamam, bunu RFC-1123'te okudum, ama bunu, RFC-952'de okuduğum özelliklerin geçerli olduğu anlamına gelmesi için yorumladım, ancak ilk rakam olarak bir rakamın da izin verilebileceği anlamına gelir (alıntı yaptığınız gibi, tek karakterli isimlerde yasaklama. Kök sunuculara gelince, bir noktada onlara kuralın özel bir istisnası oldukları söylendi. - Isaac


Ev sahibi isimleri, RFC hakkında yazmayı bile düşünmeden önce etrafta dolaşırken, tek karakterli ana bilgisayar adlarının aniden "yasa dışı" olması gerekçesiyle bir neden göremiyorum. Belirtildiği zaman bu RFC beni kaybetti

Bu RFC resmi şartname

çünkü bir RFC standart değildir. Yakınında bile değil.

Yukarıda belirtilenlere rağmen, söz konusu RFC'nin, nispeten küçük bir grup, yani Savunma Bakanlığı (muhtemelen ABD) için uygulanacak şekilde oluşturulduğu belirtilmelidir.


2
2017-07-20 02:36



RFC, çok tanım gereği standart değildir. "Yorum İsteği" tam olarak kimseye "standart" çığlık atmıyor. Kendi belgelerinde kendileriyle kaçtıkları ilginç. - Mark Henderson♦
en.wikipedia.org/wiki/Domain_name_system#Internet_standards DNS protokolünü "tanımlayan" birçok RFC'yi listeler. RFC-1123 (sysadmin1138 tarafından belirtildiği gibi) listelenenler arasındadır ve RFC-952'ye atıfta bulunur. RFC'lerin talepleri olsa da, kabul edildiğinde tanımlamalar haline geldiğim bir deneyim oldu. - Isaac
@Farseeker, burada durumun söz konusu olmadığını söylemiyorum ama çoğu zaman kimin daha iyi bilmesi gerektiği konusunda RFC'leri belli bir konu üzerinde nihai otorite olarak kabul edenlere şaşırıyorum. Eminim ki bir yerlerde bir RFC var. ;) - John Gardeniers
Bazı RFC'ler aslında standartlardır - örneğin RFC 1034 ve 1035, örneğin STD0013'ü içerir. "Yorum İsteği" olarak adlandırılmasının nedeni tarihi ve esas olarak, 60'lı yılların sonlarında üstlerini işaretlemeyi istemeyen bir grup düşük dereceli postgrads yapmak zorunda kaldı. RFC'nin yazarı 1). - Alnitak
@John Okuduğunuz RFC 2026'yı öneririm. "Standardın durumuna ulaşan bir özellik, STD serisinde RFC numarasını korurken bir numaraya atanır". Günlük işim için IETF belgeleri yazarım. - Alnitak


DNS'nin çoğu kişinin bir ağda veya internette kullanacağı şey olduğu için mevcut ana bilgisayar adlarının DNS özelliklerine daha fazla bağımlı olduğunu düşünüyorum. Dedi ki, üç RFC akla gelir (1034 - kavramlar, 1035 - uygulama ve 2181 - DNS ile ilgili açıklamalar).

3. Bölüm RFC 1034 diyor ki:

Alan adı alanı bir ağaçtır   yapısı. Her düğüm ve yaprak   ağaç bir kaynak kümesine karşılık gelir   (boş olabilir). Alan adı   sistem hiçbir ayrım yapmaz   İç düğümlerin kullanımı ve   bırakır ve bu notu terimi kullanır   her ikisine de başvurmak için "node".

Her düğümün sıfır olan bir etiketi vardır.   63 octet uzunluğundadır. Brother düğümleri   aynı etikete sahip olmayabilir, ancak   aynı etiket düğümler için kullanılabilir   Kardeş olmayanlar. Bir etiket   saklıdır ve bu null (ör.   Kök için kullanılan sıfır uzunluk etiketi.

Ve RFC 2181'in Bölüm 11'i Adresin her bir düğümünün isimlendirilmesi hakkında bir açıklama yaptık:

DNS kendisi sadece bir tane yerleştirir   belirli etiketlerde kısıtlama
  kaynağı tanımlamak için kullanılabilir   kayıtları. Bu bir kısıtlama
  etiketin uzunluğuna ve   tam ad. Herhangi bir uzunluğu   bir etiket 1 ile sınırlıdır   63 oktet. Tam alan adı   255 sekizli ile sınırlıdır   ayırıcıları)

Yani, DNS özellikleri ışığında, bir alan adınız olabilir.


1
2017-07-20 06:02



RFC-2181 Bölüm 11'deki bir sonraki paragraftan: Note however, that the various applications that make use of DNS data can have restrictions imposed on what particular values are acceptable in their environment. For example, that any binary label can have an MX record does not imply that any binary name can be used as the host part of an e-mail address.  Temel olarak, a.domain.tld DNS'de geçerli olduğundan geçerli bir ana bilgisayar adı yapmaz. Bölüm 11'in sonu, Sysadmin1138'in cevabında ele alındığı gibi, Bölüm 2.1 ve RFC-952'den alıntı yapan RFC-1123'ün Bölüm 6.1.3.5'ine değinir. - Isaac
Bölüm 6.1.3.5'in sonundaki alıntı, 952'de tanımlanan adlandırma kuralı üzerinde daha az kısıtlamadan bahseder. Ayrıca 952, bir DOD ana bilgisayar tablosunu tanımlar ve DNS özelliklerinden daha alakalı olduğuna tamamen inanmıyorum. - coredump
6.1.3.5'in sonunda bahsi geçen kısıtlamaların liberalleşmesinin sadece ilk karakterin bir sayı olmasına izin vermesi anlamına geldiğini düşünüyorum - bu, aynı RFC'nin 2.1 bölümünde bahsedilen tek modifikasyon (bu bölüm 6.1). 3.5 başvurusu). Bu bölüm 2.1'de RFC-952'nin tanımının bir yasal ana bilgisayar adının tanımı olduğu belirtilmektedir. - Isaac
Ayrıca, eski DARPA'dan alan adlarına geçişi ele alan RFC 920 ve 921'i de kontrol edin. - coredump


Belirttiğiniz gibi, RFC 1123 bu uzunluk konusunda tamamen açık değildir.

Bölüm 2.1 diyor ki:

Ana yazılım, 63 karaktere kadar ana bilgisayar adlarını işlemek ZORUNLU         255 karaktere kadar ana bilgisayar adlarını ele almalıdır

Bu metin, RFC 952'den alınan metni etkili bir şekilde tamamen geçersiz kıldığından, aynı zamanda herhangi 255 karaktere kadar uzunluk yasaldır.

Ne yazık ki 1989 yılında Internet Taslakları, şimdi aldıkları inanılmaz derecede incelikli bir gözden geçirme elde edemediler, bu nedenle muğlaklık muhtemelen fark edilmedi.


1
2017-07-21 07:54



Ama 2.1 de diyor 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.  Bunu, teklifinizin RFC-952'deki metni tamamen geçersiz kılmadığı anlamına gelmesi mantıklı değil mi? - Isaac
Bunu söylüyor ama açıkça yanlış. RFC 1123 Ayrıca Bir ana bilgisayar adının izin verilen uzunluğunu açıkça değiştirir. - Alnitak