Tek harfli ana bilgisayar adları geçerli mi?


14

RFC-952 (Varsayımlar altındaki 1. maddenin son cümlesi) tek karakterli ana bilgisayar adlarını yasaklar ve bazı hizmetlerin tek karakterli ana bilgisayar adlarıyla çalışmayı reddedeceği deneyimlerim oldu ( 2002'den 7 yıl önce ) standartlara uygun değil), ancak son birkaç yıldır kullanılan bir dizi tek karakterli ana bilgisayar adı gördüm. Tek karakterli ana bilgisayar adları artık geçerli mi? (Öyleyse, doğru doğrulama referansı nedir?)

edit (cevaplardan bazı bilgileri birleştirmek için): DNS'in çeşitli yönleri 1035 , 1123 ve 2181 dahil olmak üzere çeşitli RFC'lerde tanımlanmış gibi görünmektedir . Gönderen 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.

Gönderen 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].

Gönderen 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 belirtildiği gibi, RFC-952'den :

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öylemeye geldim.

Yanıtlar:


2

'Geçerli' ve 'çalışır' arasında bir fark vardır. Ana bilgisayar adlarının, tek karakter olmaları durumunda geçerli kabul edilmeleri tamamen mümkündür (önceki yazıma dayanılmaz). Ancak, birçok sistem onlara izin veriyor. Önemli bir sistem olan Microsoft'un AD / DNS sistemi, tek karakter adlarına izin vermek için eski bir nedene sahiptir.

Eski NetBIOS adlarının 1 ila 15 karakter uzunluğunda olmasına izin verilir. Bu spec RFC952'den bağımsız olarak geliştirildi, lmhosts adlı farklı bir dosyayı temel alıyor, bu yüzden çalışıyor. Sorun, Microsoft NetBEUI'den (aslında NBF, NetBIOS Çerçeve Protokolü) ve TCP / IP'ye (aslında NBT) taşındığında ve Microsoft'un TCP / IP ağları üzerinde adlandırma çözümlemesine izin vermesi gerektiğinde ortaya çıktı. MS, RFC952 uyumlu ana bilgisayarlara olan gereksinimi atlayarak WINS sunucularıyla NetBIOS stili çözünürlüğü korumak üzere seçildi.

Ardından Active Directory ve DNS bağımlılıkları geldi. Dinamik DNS kuraldır, bu nedenle istemciler Bilgisayar Adlarını (ilk 15 karakteri de NetBIOS adıdır) DNS etki alanına kaydettirmek zorunda kaldılar. MS, tek karakterli NetBIOS adlarının DNS'ye kaydolmasına izin verdiğinden, RFC952 ile çakışmasına neden oldu. WINS günlerinde her zaman nasıl çalıştığını taklit ettiği için sistemlerine buna izin vermek için kodlamaya karar verdiler.

BIND DNS ayrıca tek karakterli ana bilgisayar adlarına izin verir. Ancak RFC2181, uygulamaların DNS'yi değil, kendi verilerini incelemesi gerektiğini hemen hemen belirtiyor. Bu da bizi, tek karakterli ana bilgisayar adlarının iyi olduğu geniş bir cihaz ve yazılım popülasyonuna ve izin vermeyen RFC952 sıkı olan birkaç aykırı değerle bırakıyor.


There is a difference between 'valid' and 'it works'. Sonuçta, bunun en makul cevap olduğunu düşünüyorum, ancak üretilen tüm tartışmaları çok takdir ettim. Çizeceğim sonuç, tek karakterli ana bilgisayar adlarının hala teknik olarak geçersiz olduğu, ancak bu noktada hemen hemen evrensel olarak çalıştığıdır. (Benzer şekilde, alt çizgiler yasaklanmıştır, ancak çoğunlukla iş yaparlar.)
Isaac

11

Kök ad sunucularının tümü tek harfli ana makineler (a.root-servers.net) olduğu ve DNS spesifikasyonu onlar için belirli bir istisna oluşturmadığı için geçerli olduklarını düşünürsünüz. Söz konusu RFC, DNS için değil, özellikle ana bilgisayar dosyası biçimi içindir. DNS daha sonraki bir RFC'de tanımlanmıştır ( RFC 1035 bunu başlatır). RFC 1123 (1989) bunu açıkça belirtmektedir.

 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'ın icat edilmesinden bu yana kullanılmaktadır. RFC uyumlu olmayan ve taklit edilebilen sistemler. DNS'yi hiç kullanmadığı ve yalnızca ana bilgisayar dosyalarını kullanmadığı sürece, bu noktada yazık daha iyi bir seçimdir.


Tamam, RFC-1123'te okudum, ancak RFC-952'de okuduğum özelliklerin geçerli olduğu anlamına geldiği için yorumladım, ancak bir rakam ilk karakter olarak da izin verilebilir (alıntıladığınız gibi, tek karakterli isimlerin yasaklanması). Kök sunucularına gelince, bir noktada kuralın bir tür özel istisnası olduğu söylendi.
Isaac

2

Ana bilgisayar adları etrafında kimse RFC yazmayı düşünmeden önce olduğu gibi, tek karakterli ana bilgisayar adlarının aniden "yasadışı" olması için herhangi bir neden göremiyorum. Söz konusu RFC,

Bu RFC resmi şartname

çünkü bir RFC standart DEĞİLDİR. Yakınında bile değil.

Yukarıdakilere rağmen, söz konusu RFC'nin nispeten küçük bir gruba, yani Savunma Bakanlığı'na (muhtemelen ABD) uygulanacak şekilde yaratıldığına dikkat edilmelidir.


RFC, tanım gereği bir standart değildir. "Yorum İsteği" kimseye "standart" diye bağırmaz. İlginçtir ki kendi belgelerinde onunla kaçmışlar.
Mark Henderson

1
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'yi referans alır. Deneyimlerime göre, RFC'ler istek olsa da, kabul edildiğinde tanım haline gelirler.
Isaac

@Farseeker, burada böyle olduğunu söylemiyorum ama çoğu zaman daha iyi bilmesi gereken, RFC'leri herhangi bir konuda en üst düzey otorite gibi gösteren insanlara her zaman şaşırıyorum. Bir yerde bir RFC olduğundan eminim. ;)
John Gardeniers

1
Bazı RFC'ler aslında standartlardır - örneğin RFC 1034 ve 1035 birlikte STD0013'ü içerir. "Yorum Talepleri" olarak adlandırılmalarının sebebi tarihi ve aslında 60'ların sonlarında üst düzeylerini işaretlemek istemeyen bir grup düşük dereceli postgrads ile ilgiliydi (bunu doğrudan RFC yazarı 1).
Alnitak

2
@John Okuma RFC 2026'nızı öneririm. "Standart durumuna ulaşan bir belirtime STD serisinde RFC numarasını korurken bir numara atanmıştır". Günlük işim için IETF belgeleri yazıyorum.
Alnitak

1

Mevcut ana bilgisayar adlarının DNS özelliklerine daha bağımlı olduğunu düşünüyorum, çünkü DNS çoğu insanın bir ağda veya internette kullanacağı şeydir. Bununla birlikte, üç RFC akla gelir (1034 - kavramlar, 1035 - uygulama ve 2181 - DNS hakkında açıklamalar).

RFC 1034'ün 3. Bölümü şöyle diyor:

Alan adı alanı bir ağaç yapısıdır. Ağaçtaki her düğüm ve yaprak, bir kaynak kümesine karşılık gelir (boş olabilir). Etki alanı sistemi, iç düğümlerin ve yaprakların kullanımları arasında hiçbir ayrım yapmaz ve bu not, her ikisini de ifade etmek için "düğüm" terimini kullanır.

Her düğüm, sıfır ila 63 sekizli uzunluğunda bir etikete sahiptir. Kardeş düğümler aynı etikete sahip olmayabilir, ancak aynı etiket kardeş olmayan düğümler için kullanılabilir. Bir etiket ayrılmıştır ve bu kök için kullanılan boş (yani sıfır uzunluk) etikettir.

Ve RFC 2181'in 11. Bölümünde , adresin her bir düğümünün adlandırılması hakkında bir açıklığa sahibiz:

DNS,
kaynak kayıtlarını tanımlamak için kullanılabilen belirli etiketlere yalnızca bir kısıtlama koyar . Bu bir kısıtlama
, etiketin uzunluğu ve tam adı ile ilgilidir. Herhangi bir etiketin uzunluğu 1 ile 63 oktet arasında sınırlıdır. Tam alan adı 255 sekizli ile sınırlıdır (ayırıcılar dahil)

DNS özellikleri ışığında a.domain.tld adresine sahip olabilirsiniz.


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, DNS'de a.domain.tld geçerli olduğundan, geçerli bir ana bilgisayar adı oluşturmaz. Bölüm 11'in sonu, sysadmin1138'in cevabında tartışıldığı gibi, kendi Bölüm 2.1'ini ve RFC-952'yi belirten RFC-1123'ün 6.1.3.5'ine atıfta bulunmaktadır.
Isaac

Bölüm 6.1.3.5'in sonundaki alıntı, 952'de tanımlanan adlandırma kuralında daha az kısıtlamadan bahseder. Ayrıca 952, bir DOD ana bilgisayar tablosu tanımlar ve DNS özelliklerinden daha alakalı olduğuna tamamen ikna olmadım.
coredump

6.1.3.5'in sonunda belirtilen kısıtlamaların serbestleştirilmesinin yalnızca ilk karakterin bir sayı olmasına izin verdiğini düşünüyorum - bu, aynı RFC'nin (6.1'in olduğu bölüm 2.1) bölümünde belirtilen tek değişikliktir. 3.5 anlamına gelir). Bu bölüm 2.1'de RFC-952 tanımından yasal ana bilgisayar adının tanımı olarak bahsedilmektedir.
Isaac

Ayrıca eski DARPA'dan alan adlarına geçişi ele alan RFC 920 ve 921'i kontrol edin.
coredump

1

Belirlediğiniz gibi, RFC 1123 bu uzunluk sorununda tamamen net değil.

Bölüm 2.1 şunları söyler:

Ana bilgisayar yazılımı 63 karaktere kadar ana bilgisayar adlarını ve 255 karaktere kadar ana bilgisayar adlarını işlemelidir ZORUNLU

Bu metin RFC 952'deki metni etkili bir şekilde tamamen geçersiz kıldığından, 255 karaktere kadar herhangi bir uzunluğun yasal olduğu ima edilmelidir .

Ne yazık ki 1989'da İnternet Taslakları, şimdi aldıkları inanılmaz titiz incelemeyi alamadılar, bu nedenle belirsizlik muhtemelen basitçe tespit edilmedi.


1
Ancak 2.1 ayrıca 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. , teklifinizin RFC-952'deki metni tamamen geçersiz kılmadığı anlamına getirmek için bunu yorumlamak makul 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.