NetBIOS (Network Basic Input/Output System), bir yerel ağ (LAN) üzerindeki farklı bilgisayarların birbirleriyle iletişim kurmasını sağlayan (veri aktarımı vs.) bir sistemdir. IBM tarafından ilk masaüstü bilgisayarlar için oluşturulan NetBIOS, daha sonra Microsoft tarafından Windows işletim sistemlerine uyarlanmıştır.
NetBIOS üzerinden aynı ağ üzerindeki bilgisayarların iletişimi, temel olarak WINS (Windows Internet Name Service) Sunucusunun bilgisayarların NetBIOS isimlerini IP adreslerine çözümlemesiyle gerçekleşir.
NetBIOS İsmi
Bir bilgisayara işletim sistemi kurulduğunda bu bilgisayara bir NetBIOS ismi atanır. NetBIOS ismi, 16 adet ASCII karakterden oluşur. Bu isim tek parçadan oluşmaktadır. Yani etki alanı isimleri gibi (server1.sirket.com.tr) değil de ”server1” gibi nokta kullanılmadan oluşturulan isimlerdir. Ancak Microsoft bu adı 15 karaktere sınırlandırmıştır ve 16. karakteri NetBIOS son eki (NetBIOS Suffix) olarak ayırmıştır (Bilgisayar ismi 15 karakterden azsa, 15. karaktere kadar boşluk karakterleriyle doldurulur). Bu son ek, Microsoft ağ yazılımı tarafından kayıtlı bilgisayarlarda kurulu olan hizmetlerin fonksiyonunu belirlemek için kullanılır.
En sık kullanılan NetBIOS son ekleri şunlardır:
- 00: İş İstasyonu Hizmeti (Workstation Service)
- 03: Haberci Hizmeti (Messenger Service)
- 20: Dosya Hizmeti (File Service )
- 1B: Temel Etki Alanı Tarayıcısı ( Domain Master Browser )
- 1C: Bir Etki Alanı İçin Etki Alanı Denetçileri (Domain Controllers For a Domain)
- 01: Temel Tarayıcı (Master Browser)
- 1E: Tarayıcı Hizmet Seçimleri (Browser Service Elections)
NetBIOS ismi bir benzersiz (Unique) veya bir grup (Group) ismidir. Bir NetBIOS işlemi belirli bir bilgisayardaki belirli bir işlemle iletişim kurduğunda benzersiz bir isim, birden çok bilgisayardaki birden çok işlemle iletişim kurduğunda grup ismi kullanır.
Komut satırına "nbtstat -n" yazılarak yerel NetBIOS isimleri ve sunduğu hizmetler görülebilir.
NetBIOS isimleri günümüzde kısıtlı kalmıştır. Çünkü artık bilgisayarlara 15 karakterlik isimler vermek yetersiz kalmaktadır. Özellikle İnternet ortamında kaynaklara daha geniş yapılar içinde ulaşmak, bilgisayar dünyasını NetBIOS yerine DNS tabanlı hale getirmiştir.
NetBIOS İsim Çözümlemesi
Windows 2000 ve üstü işletim sistemlerinde çoğunlukla DNS isimleri kullanılmaktadır. Ancak daha eski Windows işletim sistemleri uygulamalar için NetBIOS isimlerini kullanmak durumunda kalır. Bilgisayar ağlarında NetBIOS isimleri, kaynakların bulunması için bir isim çözümleme (Name Resolution) hizmeti verir. WINS (Windows Internet Naming Service) Sunucusu, isim çözümlemesi için kullanılan bir yöntemdir ve istemcilere bilgisayarların NetBIOS isimlerini bulma imkanı sağlar. Bu doğrultuda açılan istemci bilgisayarlar, NetBIOS isimlerini ve IP adreslerini WINS Server’a yazarlar. WINS isim çözümleme hizmetinin işleyişinde dört işlem vardır:
1. İsim yazma (Name registration)
2. Kayıt yenileme (Registration renewal)
3. İsim sorgulama (Name query)
4. İsmi serbest bırakma (Name release)
İstemci bilgisayar açıldığında NetBIOS ismini ve IP adresini WINS Sunucuya yazar. Bu işlemin ardından WINS Sunucu istemciye kayıt işleminin başarılı olduğuna ilişkin bir mesaj döndürür. Kayıt işleminin bir süresi vardır. Bu süreye TTL (Time To Live) adı verilir. WINS istemcinin adı ve IP adresi değiştiğinde WINS Sunucunun veri tabanı güncellenir.
Bunun dışında istemci kaydının süresi bittiğinde yenileme işlemi yapılır. Eğer yenileme yapılmazsa isim kaydı sona erdirilir.
WINS hizmetinin temel görevi isimlerin sorgulanmasıdır. Bu, bir istemcinin diğer bir istemcinin NetBIOS ismini WINS Sunucudan istemesidir. WINS Sunucudan diğer istemcinin IP adresini alan istemci ağ iletişimi yapar. Bu süre içerisinde istemci şu işlemleri yapar:
- Hedef bilgisayar için NetBIOS İsim Önbelleği'ne (Cache) bakar.
- İstemci kendi önbelleğinden ismi çözemezse, WINS Sunucusuna bir isim sorgusu (Name Query) gönderir. İstemci Birincil (Primary) WINS Sunucusunu bulamazsa diğerleri için bir arama yapar. Eğer WINS sunucu ismi bulursa onun IP adresini istemciye gönderir.
İstemci WINS Sunucuların hiçbirinden yanıt alamazsa; o zaman kendisi "network broadcast" mesajı yayarak NetBIOS ismi bilinen istemciyi bulmaya çalışır. Bunda da başarı sağlanamazsa istemci LMHOST dosyalarını aramaya başlar.
LMHOST dosyaları Windows bilgisayar isimlerinin IP adreslerini çözmek için kullanılan basit bir metin dosyasıdır. Eğer küçük ve sık değişen bir ağ ortamı mevcutsa, ağ üzerindeki bütün bilgisayarlara birer LMHOST dosyası konularak bilgisayarların WINS Sunucuları bulması sağlanır.
Bir WINS istemcisinin bir isme artık gereksinim duymaması durumunda istemci WINS Sunucudan o ismi serbest bırakmasını (release) isteyebilir.
Düğüm Çeşitleri
NetBIOS isimlerinin IP adreslerine çözümlenme mekanizması düğüm için yapılandırılmış olan NetBIOS düğüm türüne bağlıdır. RFC 1001, "Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Concepts and Methods" (Bir TCP/UDP Taşıma Aracı üzerinde NetBIOS Hizmeti için Protokol Standardı: Kavramlar ve Yöntemler), aşağıda verilen NetBIOS düğüm türlerini tanımlamaktadır.
1. B Düğümü (Yayın)
B düğümü, isim kaydı ve isim çözümlemesi için yayın yapan NetBIOS isim sorgularını kullanır. B düğümünün iki önemli sorunu vardır:
- Yayınlar ağdaki her düğümü rahatsız eder.
- Yönlendiriciler genelde yayınları iletmezler. Bu nedenle yalnızca yerel ağdaki NetBIOS isimleri çözümlenebilir.
2. P düğümü (Eş Düzey)
P düğümü WINS Sunucusu gibi bir NetBIOS isim sunucusu (NBNS) kullanarak NetBIOS isimlerini çözümler. P-düğüm yayınları kullanmaz, ancak bunun yerine isim sunucusunu doğrudan sorgular.
3. M düğümü (Karışık)
M-düğüm, B-düğüm ve P-düğüm türlerinin birleşimidir. Varsayılan olarak M-düğüm B-düğümün işlevini görür. Bir M-düğüm yayın yoluyla isim çözümleyemiyorsa P-düğümü kullanarak NBNS'yi sorgular.
4. H düğümü (Karma)
H-düğüm, P-düğüm ve B-düğüm türlerinin birleşimidir. Varsayılan olarak H-düğüm, P-düğüm işlevini görür. Bir H-düğüm NBNS yoluyla bir adı çözümleyemiyorsa adı çözümlemek için yayın kullanır.
Kullanımda olan düğüm çeşidi, komut satırına "ipconfig /all" komutu yazılarak görülebilir.
NetBIOS İsmiyle Ağdaki Bir Bilgisayara Erişim
Daha önce de belirtildiği gibi ortak bir ağda bulunan bilgisayarlar birbirlerine NetBIOS isimlerini kullanarak erişebilirler ve örneğin dosya paylaşımında bulunabilirler. Bunun için aşağıda belirtilen yollar izlenir.
- Komut satırına "nbtstat –c" yazılarak ağ üzerindeki bilgisayarların NetBIOS ad tablosuna ulaşılır.
- Komut satırına "net view \\ Uzak Makinenin NetBIOS İsmi “ komutu yazılarak bağlanılmak istenen bilgisayarın paylaşımda olan klasörlerinin listesine ulaşılır.
- Bağlanılan bilgisayarın paylaşılan klasörlerinden herhangi birine girmek için "net use y: \\Uzak makinenin NetBIOS ismi\Klasör ismi" yazılarak bir "Y" diski oluşturulur (Disk ismine kullanıcının isteğine göre farklı harfler de verilebilir). Daha sonra Bilgisayarım'a girilerek "Ağ Konumu" altında oluşturulan "Y" diskinden bağlanılan bilgisayarın seçilen klasörüne ulaşılabilir.