WINS - WINDOWS INTERNET NAME SERVİCE
Network iki ve daha fazla bilgisayarın oluşturduğu kavramdır. Kendi network’ümüzde bulanan bilgisayarlar dosya paylaşımı, uygulama paylaşımı vsvs için birbirleri ile iletişime geçmeleri gerekmektedir. Birbirleri için iletişime geçerken bazı donanım ve yazılım’ları kullanarak çalışırlar. Biz bu makalede Microsoft’un geliştirdiği Wins’i inceleyeceğiz ve Wins’in nerde rol oynağıdığını anlayacağız.
Wins, Microsoft tarafından üretilen bir servistir. Wins, çalışan bir servis olup Netbios adlarını ip ye çözümleme yapan bir servistir. Adından da anlaşıldığı gibi ( Windows İnternet Ad Servisi ) istemci bilgisayarlarımızda bulunan Netbios isimlerini ve bu isimlerin karşılığı olan ip leri kendi veritabanına kaydederek bu verilerileri istemcilere sunar.
Neden Wins Kullanırız ?
Network ortamımızda windows 2000 altı ( Windows Nt3.5/Nt4.0/95/98/98se/Me/3.11 vs ) işletim sistemine sahip olan bilgisayarlar var ise kullanırız. İstemci bilgisayar adlarını kaydetme ve çözümleme sağlayan ve isimden-ip adresine eşleştirmeli dinamik veritabanı olup bu veritabanını istemcilere sağlamak. Aslında wins büyük ortamlarda Tcp/Ip üzerinden Netbios isim çözümlemesinde ortaya çıkan problem ve broadcast trafiğini azaltmak için kullanırız.
Wins’in başlıca olarak iki rolü bulunmaktadır.
1) İsim kaydetme ( Name Registration)
Client’ın en az 1 adet wins server dan haberi vardır. ( Tcp/ip yapılandırmasında wins tabı, Windows Dhcp server options’da 044 nolu opsiyon )
Network üzerindeki Istemci bilgisayar Wins sunucusuna name registration request ( isim kaydettirme isteği ) yollar. Ardından da istemci bilgisayar kendisinde çalışan SMB tabanlı servislerini kaydettirir.
Örn: Bir pc wins e kendisini kayıt ettirdiği zaman kendisinde çalışan Workstation, messenger, file server gibi servislerini kayıt ettirir.
Istemci bilgisayar üzerinde 2 veya daha Nic var ise her Nic için bu işleri yeniden yapacaktır.
A) İsim kaydetme esnasında olan işlemler.
Client wins sunucusuna öncelikli olarak name registration request yollar ve wins bakar bende senin adına kayıtmı varmı der eğer kayıt yoksa possitive name registration response cevabını verir ve kaydını yapar. Eğer bu isim farklı bir ip ile kayıt yapıldı ise kayıdın sahibine name query request çeker ve cevap gelirse kayıt yaptırmaya çalışan istemciye negative name registration response cevabını vererek kayıt yaptırmaz. Tabi birde kayıtlı olan makine bu wins e cevap vermez ise kaydın ip adresini güncelleyerek isteği tamamlar.
B) Wins bir kaydı ne kadar zaman saklar.
Wins te standart olarak isim yenileme süresi 6 gündür yani istemci makina 6 gün içinde en az 1 kere wins’e uğraması lazım. Winste yeni kayıtlı olan bir istemci 6 günün %12,5 zamanında sunucuda kayıtlı yani kendisinin owner olduğu her kayıt için renewal request yollar. Sunucu bu isteğe nazaran bu 6 günlük süreyi sıfırlayarak yeniden geri sayıma başlar. Artık bundan sonra bu istemci makina yenileme süresinin yarısına kadar bekleyip tekrar renewal request yollar. Istemci makine kapandığı zaman wins’e name release gönderir ve wins bu isteğe bakarak kaydı released yapar. Defaultta name released süresi 6 gündür. Yani istemci makina bu 6 gün içinde en az 1 kere açılması lazım. 6 günün sonunda wins bu kayıdı başka ismi aynı olan ve kendisini kayıt ettirmek isteyen bir istemciye verir.
Bknz: Renew interval , Extinction interval, Extinction Timeout
2) İsim Çözümleme ( Name Resolution)
Wins in isim çözümleme mantığı çok basittir. Aynı netwrok içindeki istemci bilgisayarlarda wins tanımlı olduğu zaman Netbios isim çözümlemesini broadcast yerine wins e sorar ve wins istemci makinalara sordukları isim karşılığında ip lerini vererek istemci makinaların direk hedef client bilgisayara gitmesine yardım eder. Konuyu biraz daha açar isek;
İstemci makina Netbios isim çözümlemesi istediği zaman NETBT.SYS sürücüsünü kullanarak wins’e name lookup query yollar. Wins aldığı bu query e bakarak kendi databasesine bakar eğer isim var ise durumu active ise karşılığında istemciye name lookup response ile ip adresini verir.
NetBIOS Nedir?
NetBIOS Network Basic Input/Output System isminin kısaltmasıdır. Bu teknoloji IBM ve SYTEK tarafından bilgisayarlar arasında her hangi bir data paylaşmak için ve iletişim sağlamak amacıyla geliştirilmiştir. Daha sonra bu teknoloji NetBEUI ( NetBIOS Extended User Interface ) denilen protocol ile Tcp/Ip uzerinden uygulamaya geçmiştir.
Windows 2000 altı işletim sistemleri için ideal olup küçük networkler için geliştirilmiştir. Routable yani yönlendirilebilir olmadığı için büyük networklerde genelde kullanılmamaktadır. Bilgisayarımızın kullandığı NetBIOS ismini My Computer / Properties / Computer Name / Change / More yolunu izleyerek görebiliriz.
Resim-1-
Tcp/Ip üzerinden NetBIOS’un çalışması için kendi Network Connection’nımızda Wins Yapılandırmasında “Disable NetBIOS over Tcp/Ip seçneğinde olmamalıdır. Bunu görmek için
Local Arena Connections’a sağ tıklayarak Tcp/Ip’nin Properties’ine girerek Advanced’a tıklayarak Wins Tabına geçerek görebilirsiniz.
Resim-2-
WİNS SUNUCUSUNA BAKAR İSEK
Resim-3-
Resim-1 e bakar isek wins sunucusuna kayıt düşen makinaların iplerini görebiliyoruz.
Record Name: İstemci makinenin kullandığı Netbios ismidir.
Type: İstemcinin SMB tabanlı kullandığı servislerin 16 ıncı karakterleri ve isimleri görülür.
İp Address: İstemci makinanın Netbios isim karşılığı ip sidir.
State: İstemci makinanın isim kaydının durumudur.
Static: Manuel olarak kendimizin eklediği kayıt olup olmadığın gösterir.
Owner: Kaydı yaratan wins server ın ipsidir.
Version: Wins server kayıtları version numarasına göre tutmaktadır. Ve değişikliğin olup olmadığını version numaralarını match edip anlar.
Static Mapping :
Static mapping bizim manuel olarak eklediğimiz kayıtlardır. Stating mapping’i neden yaparız konusuna gelince. Bir düşünün Netbios ismi Fileserver olan olan bir sunucumuz var ve istemcimiz bu Fileserver’a ulaşmak istediğinde Wins’e sorarak gidecek. Ortamda bulunan Fileserver’ımız arızalandı diyelim ve kayıt released olduğu zaman networkümüze yabancı kişiler tarafından Fileserver isimli başka bir bilgisayar geldiğini ve bu bilgisayarda kullandıkları dosyalarının spam,trojen,virus vsvs olduğu düşünün. Bu makine kendini kayıt ettirmek isteyecektir. Ve Wins bakıcak bende böyle bir kayıt var ve sen biraz bekle ben gidip asıl sahibine bakayım yaşıyormu diye ve sonuçta asıl olan yani bizim Fileserver ımız netwrokte çalışmadığı için yanıt alamayacak ve bu kaydı update ederek zararlı olan Fileserver’a tahsis edecek ve istemci makinalarımız zararlı olan Fileserver a gidecekler. Bunun önüne geçmek için önemli istemcileri ve sunucuları muhakkak Stating Mapping yapmalıyız.
Wins’te Active Registrations’a sağ tıklayarak New Stating Mapping diyerek ekliyoruz.
Resim-4-
Burada Computer Name’e istemci makinenin kullandığı Netbios ismini yazarız. Eğer Netbios için Scope kullanıyorsanız Netbios Scope’a kendi scope unuzu yazabilirsiniz. Type kısmına kendinize uygun en uygun tipi seçebilirsiniz. Ben Unique olarak ayarlıyorum.
Kayıtları Görüntüleme ( Display Records):
Kayıt görüntüleme tabı bize belkide bulunucak olan binlerce kayıt arasında filtreleme yaparak istediğimiz kayıtları görmemize yardım eder. Active Registrations a gene sağ tıklayarak erişebiliriz. 
Resim-5- Resim-6-
Resim-7-
Resim 5’e istinaden burada isim ve ip-subnet e göre filtreleme yapabilirsiniz. Resim 6’e istinaden Kayıt sahipleri yani kayıdı buraya düşen Wins server lar başına görede filtreleme yabilirsiniz. Son olarakda Resim 7’e istinaden kayıt tiplerini seçerek kayıtları en aza indirerek görüntüleyebilirsiniz.
Lmhosts dosyasına yazdığımız hostları Wins sunucumuzada aktarabiliriz. Bunu şu şekilde yaparız.
Active registrations’ a sağ tıklayarak Import Lmhosts file diyerek alabiliriz.
Resim-8-
Resim-9-
İstemci makine kontrolünü Kendimiz hemen bir kayıdın yaşayıp yaşamadığı gördüğümüzde verify name records tabını açarak kontol edebiliriz. Bu tab Active Registrations da Verify Name Records diyerek buraya her hangi makinenin ismini yazarak veya server başına yapabiliriz.
Replike olduğumuz başka bir sunucudan gelen kayıtları silmek istersek gene Active Registrations’a sağ tıklayarak Delete Owner tabı ile silebiriz veyahut kayıtların başına mezartaşı (Tombstone) dikebiliriz.
Wins Replikasyon:
Neden Wins replikasyonu yaparız. Şöyleki ağımız iki site dan oluşuyor birisi Ankara birisi İstanbul diyelim, her iki site dada Wins server var İstanbul’da olan istemci bilgisayarlar Ankarada’ki bir bilgisayara erişmek isteyecekler tabiki istemciler sadece İstanbul’da bulunan Wins i biliyorlar, Wins’e soracaklar ve Wins ben bilmiyorum diyecek ardından istemciler ağa Broadcast çekecekler ve arada router olduğu için Broadcast istekleri karşı site a gitmicektir ve doğal olarak Ankara’daki istemciye erişemeyecekler. Bunun önüne geçmek için iki veya daha fazla Wins replikasyonu yaparak Wins’lerin veritabanlarını birleştirmeliyiz ki Wins’lerdeki kayıtlar diğer Wins sunucularının veritabanına kayıt olsun. Wins Replikasyonu gerçekleştiği zaman İstanbul Wins i, Ankaradaki istemci bilgisayarlarının ip adresini bilecek ve kendisine soran istemciler direk ip adreslerini vererek istemcilerin Router’ı geçerek diğer site yani Ankara’daki istemcilere sorunsuz ulaşacaklar. Tabi Ankara’da Partner olarak İstanbul’u eklediği için bu durum gene aynı olacak ve Ankara’daki istemciler İstanbul’daki istemcileri İstanbul’daki istemciler Ankara’ki istemcileri çözeceklerdir. Bunu Wins’te nasıl yaparız?
Konsol daki Replications Partners menüsüne sağ tıklayarak New Replications Partner deriz.
Resim-10-
Browse diyerek diğer Wins sunucusunu seçebileceğimiz gibi direk ip adresini yazarakda Partner’ımızı ekleyebiliriz.
Resim-11-
Eklediğimiz Partner’lar burada sırasıyla görünecektir. Standart olarak Partner’ımız Push/Pull Type olarak gelicektir. Replication Partner özelliklerine baktığımızda ise aşağıdaki resim deki gibi olacaktır.
Resim-12-
Push Type : Push replikasyon yukarıdaki resimde gördüğümüz gibi veritabanındaki değişiklikler önceden belirlenen sayıya ulaştığında diğer Wins sunucusu ile iletişime geçip değişen kayıtların son halini karşı Wins’e iletilir. Burada default olarak 0 olmasının sebebi herhangi bir değişiklikte replikasyonu yapacak olmasıdır.
Pull Type: Pull replikasyon yukarıdaki resimde de gördüğümüz gibi defaultta 30 dakika bir diğer Wins sunucusundaki kayıtların seri numaraları ile kendi veritabanındaki o Wins sunucuya ait kayıtların seri numaraları ile karşılaştırarak seri numarası farklı olan kayıtları yani daha güncel olan kayıtları diğer wins ten alarak kendi veritabanına yazarak güncelleştirme yapacaktır.
Benim önerim default olarak bırakmanızdan yanadır. Push/Pull Type her iki wins sunucusu için aynı olacaktır. Böylece her iki Wins’te devamlı kendkilerini güncelleyecektir.
Replikasyon partneri ekledikten sonra replikasyonu yapmak için Replications Partners menüsüne sağ tıklayarak Replicate Now diyerek listede bulunan tüm Wins sunucuları ile replikasyonu sağlarız. Eğer sadece istediğimiz bir Wins sunucusu ile replikasyon yapacak isek listede bulunan Partner’a sağ tıklayarak ister Pull ister Push Replication yapabilriz.
Replications Partners’ın özelliklerine bakacak olursak.
Resim-13-
Genral tabında üstteki check box bizim sadece Partner’larımızla Replication yapacağımızın anlamıdır.
Alttaki tab ise bizim sunucumuza Unique olan Static Mapping leri üzerine yaz anlamına gelmektedir.

Reaim-14- Resim-15-
Resim 12 ye istinaden Push Replication özellikleri ise 1. check box servisin Windows’un başlangıcında çalışacağını 2. checkbox adres değiştiğinde Replikasyon’a başlayacak yani default olarak her hangi bir değişiklikte replike olacak. 3. check box ise Push Replication Partner’leri için sürekli bağlantı içinde ol anlamına gelmektedir. Defaultta gene bu ayarlar gelmektedir. Herhangi bir değişiklik yapmaz isek servis otomatik olarak başlayacak , herhangi bir adresin değişikliğinde replikasyon yapacak ve sürekli Replication Partner larımız’ile sürekli görüşecektir.
Resim 13 e istinaden Pull Peplication başlama zamanı default olarak 0 olarak gelicek bunun nedeni her zaman Pull Replication’ un çalışacağı anlamına gelecektir. Her 30 dakika içinde Replications Partner’lara gidecek ve değişiklik var mı diye soracaktır. Bunun 3 defa deneyecektir. Gene başlangıçta başlayacak ve devamlı partner ile bağlantı kuracaktır.
Resim-16-
Resim 14’e istinaden en üstteki kutucuk bize ekli olan partner lerimiz ile kayıtları kendi veritabanına eklememize izin veriyor burada tek Partner’imin ip adresi var eğer daha fazla olsa idi burada gözükecekti. İkinci kutucuk ise eklediğimiz Partner’lardan gelen kayıtları blocklayıp veritabanına yazmayacaktır. Alttaki check box ise ortama Multicast çekerek otomattik olarak Partner’ları yapılandıracak.
Replications Partner’larımızı bir text dosyasına aktarabiliriz. Bunun için Replications Partner menüsüne sağ tıklayıp Export List diyerek yapabiliriz.
Replication partner’larımız ile replikasyon yaptığımız zamanki Wins sunucumuzun görüntüsü resim 15 gibi olacaktır.
Burada Owner’a baktığımız zaman Replication Partnerlarımızdan gelen kayıtları görebiliriz. Yani resimde 10.0.0.5 olan kayıtlar benim sunucumdaki kayıtlar ve 10.0.0.10 olan kayıtlar ise Partner’ımızdan gelen kayıtlardır.
Resim-17-
Şimdi Wins konsolunu açtığımızda Server Status un altında olan wins sunucumuz isim(ip) ye bir sağ tıklayalım neler varmış ?
Display Server Statics sekmesinde sunucumuzun durumunu özet şekilde görebiliriz. Resim 16
Resim-18-
Scavenge Database sekmesinde veritabanında bulunan çöp dediğimiz ve sildiğimiz kayıtları temizler.
Verify Database Consistency sekmesi kayıtların yani veritabanında bulunan kayıtların uyumluluğunu doğrular.
Verify Version Id Consistency sekmesi Replications Partner’larımızdan gelen kayıtların kendi veritabanı ile seri numaralarını Partner’ımız olan diğer Wins sunucusu ile karşılaştırarak doğrular.
Start Push/ Start Pull Replication ile Replication Partner’larımız ile Replikasyonu başlatır.
Backup Database ile Wins sunucumuzun veritabanını yedekleyebiliriz. Resim 17
Resim-19-
Restore Database ile yedeğini almış olduğumuz wins sunucusunun veritabanının backup ından geri dönebiliriz.
Wins’in backup ını çalışırken alabiliriz ama backup dan dönerken wins çalışıyor ise geri alamayız yani zaten kayıtları okurken databeseyi komple değiştiremeyiz. Bunun için All Task’tan Wins’i stop etmeliyiz ardından backup dan geri dönebiliriz.
Wins’in kullandığı Dosyalara bakalım;
Start – Run – “%systemroot%\system32\wins” yazdığımız zaman J50.log , J50.chk , Wins.mdb dosyalarını göreceğiz.
J50.log : Bu dosya veritabanı üzerinde yapılan tüm işlemlerin kaydını tutar.
J50.chk : Bu dosya verilerin kontrol dosyasıdır.
Wins.mdb : Bu dosya Wins sunucusunun tüm veritabanı’nın bulunduğu dosyadır.
Sunucumuz özelliklerine bir bakalım neler varmış?
Resim-20-
Yukarıdaki resime bakarak General tabında sunucumuz her 10 dakida bir statics yani İstatiklerini güncelleyecektir.
Database Backup tabında ise varsayılan backup yolunu belitebiliriz. Ve alttaki check box ise Wins sunucusu kapandığı zaman database in yedeğini otomatik olarak alacaktır.
Resim-21-
Üstteki resme istinaden süreler kısmında ise bir Wins’e kayıtlı istemci bilgisayarını kapattı ise.
Renew interval: Yenileme süresidir. Defaultta 6 gün gelir kayıt released olarak kalır
Extinction interval: Yok olma süresidir. İstemci kaydı released olarak işaretletti ise ve kendisini tekrar kaydettirmedi ise yok olma süresi başlar ardından wins 4 gün daha bekler ve kaydın başına bir Tombstone yani mezar taşı diker
Extinction timeout: Yok olma bitiş süresidir. Defaultta 6 gün gelir Tombstone( bu kayıt öldü ) dikilmiş bir kayda Wins 6 gün tanır eğer istemci gelmez ise Scavenging yani çöplüğü temizleme yolu ile veritabanından siler.
Verifications interval: Wins’in veritabanını doğrulama süresidir. Bu defaultta 24 gün olarak gelir ve Wins her 24 günde bir databasesini kontrol eder.
Bu ayarları kendi network yapınıza göre düzenleyebilirsiniz. Örn: sık sık pc ler,isimleri,ip numaraları değişiyor vsvs..
Resim-22-
Yukarıdaki resme istinaden Wins’imiz her 24 saat içinde 2 saat te bir ve her kontrol periyodunda maximum 30000 kayıt için veritabanını kontrol edecktir. Alttaki box lar ise isterseniz sadece sahip sunuculara isterseniz rastgele seçilen partnerlar ile doğrulama yacaktır.
Resim-23-
Advanced tabında ise Wins sunucumuzun Event Viewer a log düşüp düşmesini ayarlayabiliriz. Burst Handling ise Wins sunucumuzun yoğunluğuna göre ayar yapabiliriz. Şöyleki custom diyip 1000 belirtir isek istemci bilgisayarların kayıt veya isimsorma soguları 1000 olduğu zaman bu sayının sonrasında gelen her istek için Wins istemcilere sen şimdi git sonra gel diyerek randevu verecktir. Bu sekmeyi sizin sucunun donanımsal yapısına ve network yapısına göre ayarlayabilirsiniz. Veya Low,High,Medium ayarlayabilirsiniz.
Database path ise Wins sunucusunun bulunacağı yoldur. Standart olara c:\windows\system32\wins\wins.mdb şeklindedir isterseniz bu yolu değiştirebilirsiniz. Starting Version Id ise yeni girilen kayıtlar için başlayacak olan seri numaralarıdır. Yani yeni girilen bir kayıt 0 dan daha yüksek bir seri numarası alacaktır.
Wins Node Type nedir?
Resim-24-
Node type aslında sadece istemcinin isim çözümleme esnasında Wins ve Broadcast’e başvurmasındaki sıralamayı değiştirir.
Wins Node tiplerini Dhcp sunucumuzdan Server Options’dan 044 Wins/Nbns Servers ile Wins sunucumuzu belirttikten sonra 046 Wıns/Nbt Node Type ilede Node Type’ımızı değiştirebiliriz.
Resim-25-
Yukarıdaki resme istinaden B-node(1) P-node(2) M-node(4) H-node(8) şeklinde değiştirebiliriz. Hangi node’u şeçecekseniz Data Entry kısmına 0x den sonraki (x) içindeki sayıları yazmanız yeterlidir. Peki bu Node’lar nedir ne işe yarar bunlardan bahsedelim.
B-node: Broadcast modudur. Networkümüzde Wins yok ise Broadcast modu gelir. Bu modu küçük networklerde ve Wins bulunmayan ortamlarda kullanabiliriz. Bunun için Dhcp de 046 nolu yapılandırmaya 0x1 yazmamız yeterlidir.
P-node: Peer to Peer moddur. İstemci makina mecbur olarak Wins sunucusuna gidecektir. Ama birde dez avantajı var eğer Wins sunucumuz ayakta değil ise Wins’ e ulaşamayacak ve isim çözümlemesi yapamayacaktır. Bunun için Dhcp de 046 nolu yapılandırmaya 0x2 yazmamız yeterlidir.
M-node: Mixed moddur. İstemci makine isim çözümlemesinde öncelikli olarak network’e Broadcast çekicek eğer bulamaz ise Wins servera soracaktır. Bunun için Dhcp de 046 nolu yapılandırmada 0x4 yazmamız yeterlidir.
H-node: Hybrid moddur. İstemci makine isim çözümlemesi esnasında öncelikli olarak Wins servera gidecek eğer yanıt alamaz ise Broadcast çekecektir. Bunun için dhcp de 046 nolu yapılandırmada 0x8 yazmanız yeterlidir.
Benim burada önerim Hybrid olmasından yanadır. Çünkü bu mod ile netwrokünüz yorulmayacaktır.
Resim-26-
Start – run – cmd sonrasında ipconfig /all dediğimiz zaman görebiliriz.
Wins Proxy Agent nedir?
Wins proxy agent aslında bir Relay Agent’a benzer yani. Sizin iki adet ortamınız var ve merkezde Wins sunucusu var ama Şube de bir Winsows Server ailesi olmadığı için Wins kuramıyorsunuz ve şubeler arasında Router var isim çözümlemesinde problem yaşıyorsunuz. İşte burada bir Win Nt veya 9x serisini Proxy Agent olarak tanımlayabiliriz. Yaptığı iş sadece netwrok’ü dinleyerek Wins’e name query ulaştırmak sadece isim çözümlemesi ister ama kayıt yaptıramaz.
Bunu yapmak için.
Start –