Microsoft Windows Internet Name Service (WINS) NetBIOS ismini IP adresine çevirir. WINS, Windows tabanlı istemci(client) makinaların kolaylıkla TCP/IP ağı üzerinde kaynaklara erişmesini sağlar. TCP/IP'nin kullanıldığı bir ağ ortamında Windows tabanlı bir makina başka bir makinayla haberleşmek istediğinde, o makinanın IP adresini bilmesi gerekir. Hedef IP adresini bulabilmesi için birçok yöntem vardir. Bunlar kısaca şunlardır:
- IP broadcasts
- Statik LMHOSTS dosyası
- NetBIOS name server (Windows tabanlı ağlarda Microsoft WINS Server)
- DNS (Windows tabanlı ağlarda Microsoft DNS)
Yukarıda anlatılan yöntemlerin hepsi aynı makina üzerinde kullanabilir.
WINS isim ve IP adresini ters olarak da içerir. Windows tabanlı bir makina ağa girince kendi bilgisayar ismini ve IP adresini WINS'e otomatik olarak ekletir. Bir ağ ortamında farklı WINS'ler birbirlerinin veritabanını kopyalayabilirler. Böylece farklı kullanıcıların aynı NetBIOS ismini kullanmaları engellenmiş olur. İki WINS kurulu makina birbirleri ile "pull partner" veya "push partner" olarak çalışabilir. WINS'lerin bu şekilde ortak çalışması için yapılandırılması gerekir. "Pull partner" olan bir WINS makina "push partner" olan makinadan veritabanını ister. "Push partner" olan makina kendine yeni bir kayıt eklendiği zaman bunu bir mesaj ile "pull partner" olan makinaya bildirir. Yineleme işlemi WINS başlayınca başlar. Bunun başka bir yolu da "WINS Manager"'da "Şimdi Yenile" butonunu kullanmaktır.
WINS'in yararlarını kısaca şöyle özetleyebiliriz:
- Veritabanının dinamik olarak güncellenmesi sebebi ile IP–bilgisayar ismi çözümlemesinde büyük kolaylık sağlar.
- Ağ ortamındaki yayınlar ile artacak trafiğin azalmasını sağlar.
- Windows tabanlı bilgisayarlar istemci olarak kullanılabilir.
WINS İstemci Makinalar
Bir makinayı WINS istemcisi yapmak için şu yol izlenmelidir: Control Panel --> Network --> Wins Address'de "Wins enabled" yapılmalı ve buraya WINS sunucusunun IP adresi girilmelidir. İstemci makina kendini WINS sunucusuna kayıt ettirir ve herhangi bir IP-isim çözümlemesinde WINS sunucusu kullanabilir. İstemci durumunda olan bir makina çalışmaya başlayınca WINS sunucuyla doğrudan haberleşir. (Sunucu ve istemci makina birer IP adresine sahiptir.) İstemci olan makina ilk olarak sunucuya bir isim kaydettirme isteği (name registration request ) gönderir. Eğer istemci makinada DHCP etkin ise veya DHCP sunucu çalışmıyorsa sorun çıkacaktır. (DHCP'nin kurulu oldugu ve IP adreslerinin otomatik olarak bu sunucu üzerinden atandığı ortamlarda, istemci makinanın TCP/IP ayarlarının elle yapılması gerekecektir.) Bu isteği alan WINS sunucusu makina ilk olarak veritabanını kontrol edecektir. Daha sonra pozitif veya negatif isim kaydetme cevabı gönderecektir. Bu cevaplara göre istemci makinanın izleyeceği yol şu şekilde olacaktır:
- Cevap vermezse; istemci makina başka bir isim kaydı isteği gönderir.
- Pozitif ise; kaydettirilmek istenen isim WINS veritabanında mevcut değilse istek olumlu karşılanır. Bu mesajda kaydedilen ismin ne kadar süre ile geçerli olacağını gösteren TTL süresi de mevcuttur.
- Negatif ise; kaydettirilmek istenen isim WINS sunucu veritabanında mevcut ise WINS sunucu kayıtlı makinaya 3 defa 500 milisaniye aralıklarla mesaj gönderir. Eğer kayıtlı makina birden fazla IP adresine sahip ise her bir IP adresi için bu mesajı gönderir. Eğer WINS sunucu kayıtlı makinadan olumlu bir yanıt alırsa isim kaydettirme isteğinde bulunan makinaya olumsuz kayıt cevabı (negative registration response) gönderir.
Kendisini WINS sunucuya kayıt ettiren bir makina TTL süresinden evvel bu ismini yenilemek zorundadır. İstemci makina ismini yenilemek için WINS sunucuya isim güncelleme isteği gönderir. WINS server bu mesaja isim yenileme cevabı ile karşılık vererek kayıtlı ismin geçerlilik süresini artırır. İstemci makina ilk mesajını TTL süresinin yarısında gönderir. İstemci ilk mesajına cevap alamazsa bu mesajı her iki dakikada bir devamlı olarak gönderir. İstemci makina bu mesajlara cevap alamazsa ve kendisinde ikinci bir WINS sunucusu tanımlı ise aynı işlemleri bu ikincil WINS sunucusu ile yapar.
WINS istemcisi makinalar NetBIOS ismi –IP numarası çözümlemesinde değişik yöntemler kullanabilirler. Bunlar kısaca şunlardır:
- b-node : İsim çözümlemesinde ağa genel yayım (broadcast) mesajı gönderilerek ismi bilinen makinanın IP'si bulunmaya çalışılır.
- p-node : Doğrudan (Point to point) haberleşme kullanılır. Ortamda WINS sunucu makinanın bulunması gerekir. İstemci makina IP'sini aradığı makinanın adını WINS sunucuya sorarak öğrenir.
- m-node : b –node ve p-node nin karışımıdır. İlk önce b-node, daha sonra p-node kullanılır. Çok büyük ağlarda kullanışlı olmayan bir yöntemdir.
- h-node : Bu yöntemde b-node'un ve p-node'un karışımıdır. İlk önce p-node, daha sonra eğer başarılı olunamazsa b-node kullanılır. Bu modda çalışan bir bilgisayar sırası ile şu işlemleri yapar:
- WINS Sunucu (WINS Server)
- B-node Broadcast (yayım)
- LMHOST dosyası
- HOST dosyası
- DNS Sunucu
("ipconfig /all" komutu ile makinanın kullandığı mod görülebilir.)
Microsoft WINS Proxy
WINS PROXY eğer ortamda Windows tabanlı olmayan istemci olacak makinalar var ise kullanılır. Windows tabanlı olmayan bilgisayarlar b-node kullanacak şekilde yapılandırılırsa ortama isim-IP çözümlemesi yapmak için genel yayım yapacaklardır. WINS PROXY bu mesajları kendi yerel ağında dinler. WINS PROXY'nin kendi önbelleğinde varsa, ismi sorulan makinenin IP'sine önbellekten cevap verir. Kendi önbelleğinde bulamazsa, WINS sunucusundan öğrenerek bu adresi Windows tabanlı olmayan makinaya bildirir. Aynı zamanda bu adresi kendi önbelleğine de ekler. Bir adresi kendi önbelleğinde saklama süresinin varsayılan değeri 6 dakikadır. Bu değer asgari 1 dakika yapılabilir. Bir makinanın WINS PROXY yapılabilmesi için aşağıdaki kayıt anahtarı (registery key) değerinde EnableProxy parametresinin değerinin 1 olması gerekir. (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parametres)
WINS'in Kullandığı Veritabanı Dosyaları
- J50.log : Veritabanı üzerinde yapılan tüm işlemlerin kaydını tutar.
- J50.chk : Bir kontrol dosyasıdır.
- Wins.mdb : WINS sunucusunun tüm verilerini tuttuğu veritabanı dosyasıdır. İki türlü kayıt yapısı içerir:
- IP adresi-ID eşleştirme tablosu sahibi
- İsim-IP adresi eşleştirme tablosu
- Winstmp.mdb : Dizinleme gibi işlemler sırasında değiştirme (swap) dosyası olarak kullanılır.