Network Optimizasyonu İçin Registry Ayarları
İnternette dolaşırken, bağlantı performansınızı üst noktalara taşıyacak programlara rastlamış olmalısınız. Kullanıcı, programı sistemine kurup, ne işe yaradığını bilmediği ayarları kurcalamaya başlar, sağda solda yakaladığı! yüksek hızlardan bahseder. Bu yazımızda sizlere kullanıcı tarafından yapılabilecek bir takım ayarlardan bahsedeceğiz.
--------------------------------------------------------------------------------
Bir Kaç Genel Uyarı: Bahsedeceğimiz ayarların size iyi veya kötü yönde bir faydası dokunmayabilir, inanılmaz yüksek download hızları da kazandırmaz. Kimi sistemlerde belli artışlar gözlenebildiği gibi sadece ping süresinde düşmeler gözlenebilir. Bağlantı stabilitesini bozabileceğinizi unutmayın. Bu sebeplerden dolayı mutlaka registry kayıtlarınızın bir yedeğini alın ve kavramları kafanızda iyice oturttuktan sonra kolları sıvayın. Yaptığınız ayarların etkin olması için sisteminizin baştan başlatılması gerektiğini hatırlayın.
Performansı ölçmek maksadıyla Sanane oyun sunucularından biri olan q3dm1.sanane.com' a DOS penceresinden ping çekip durumu gözlemleyebilirsiniz. Kullanımı "ping q3dm1.sanane.com" şeklindedir. Dial up için 150 ms ve altı, Kablo modem için 50 ms ve altı, ADSL için 90 ms ve altı ping süreleri iyi olarak nitelendirilebilir. Bağlantınızın iyi olduğunu fakat arada bir yerlerde problem olduğunu düşünüyorsanız DOS penceresinden "tracert" (kullanımı ping ile benzerdir) komutunu kullanarak, bilgisayarınız ile bağlanmaya çalıştığınız sunucular arasında bulunan hop noktalarını inceleyip problem çıkartan routeri saptayabilirsiniz.
MTU (Maximum Transmission Unit)
TCP/IP yapısına göre veriler, paketlere ayrılarak, çerçeveler (zarf) içerisinde yollanır. MTU, maksimum paket büyüklüğünü belirtmektedir. Bir paket MTU değeri ile bağdaşmıyorsa paketin daha küçük parçalara bölünmesi gerekebilir. Bu durumda paketin yerine varması gecikmeye uğrar. En azından ISS ile aramızda bir uyumluluk sağlamamız bize az da olsa kazanç sağlamaktadır.
Windows varsayılan (default) olarak, MTU değerini, 128 kbps' den küçük bağlantı hızı için 576, daha hızlı olanlar için 1500 olarak atamaktadır. 1500 değeri normalde LAN için uygun değerdir fakat kullandığınız ISS için uygun olmayabilir.
Öngörülen birkaç MTU ayarı:
576 – Dial up için
1002 – Terminal sunucuları için
1500 – 10/100 ethernet
Şimdi kullandığımız ISS için kendi MTU değerimizi araştıralım. Ben ISS olarak E-kolay' ı kullandım. "ping – l 1500 http://www.e-kolay.net" komutu ile ISS web sunucusuna ping cekiyoruz. "-l 1500" parametresi ping için 1500 bytelık data kullanılmasını sağlar.
Eğer "Packets must be fragmented first" veya "Request time out" mesajı alıyorsanız 1500 yerine daha küçük bir değer yazın.
Şimdi 576 bytelık data kullanalım.
Görüleceği üzere daha düşük ping süreleri elde ettik. "-l" parametresini daha aşağıya çekmek bende bir fark yaratmadı. Bu doğrultuda MTU değerini, gecikme yapmayan en büyük değer olarak alabiliriz.
MTU değerini uğraşmadan öğrenmek için internet servis sağlayıcınız ile görüşebilirsiniz. Size kesin değeri vereceklerdir.
MTU değerini ayarlamanın bir diğer yolu ise MTU Auto Discovery değerini 1 yaparak değişen durumlara göre otomatik atanmasını sağlamak. Bunun ülkemizde pek bir işe yarayacağını düşünmüyorum.
MTU için bir parametremiz daha mevcut: MTU Black Hole Detection. Bu değeri 1 yaparsanız ISS ile aranızda bulunan routerlerden gecikme yapanlar ISS' e bildirilir. Tahmin edebileceğiniz üzere ülkemizde bunun da bir manası bulunmamakta. Ayrıca paketlerde gecikmeye sebep olacaktır.
MSS (Maximum Segment Size))
Bu değer, paket çerçeve başlığı dışında kalan, paketin yerleştirildiği kısımdır. Başlık 40 byte olduğuna göre MSS = MTU – 40 olmalıdır. Benim MTU değerimi 576 bulmuştuk, bu durumda MSS için 536 atanabilir. Uygun olmayan MSS değerleri, MTU gibi paket fragmantasyonuna sebep olacaktır.
RWIN (Receive Window Size)
Sisteminizin ne kadar paket alabileceğini belirtir. Mantıken bu değeri artırmak download hızınızı da artırır fakat paket kaybının daha fazla olmasına yol açar. Bu durum kendini online oyun oynarken bariz belli eder: lag' e girer ve çıkamazsınız. Tipik olarak RWIN değeri MSS *3 veya *4 (kimi programlarda RWIN Multiplier olarak geçer; daha yukarı değerler denenebilir) olarak hesaplanır ve 2000 ile 4000 arasında olması beklenir.
TTL (Time To Live)
Bu değeri paketin "yaşam süresi" olarak ele alabiliriz. Bir paketin ne kadar süre aktif kalacağını belirtir. 32 (bu değer aynı zamanda varsayılandır) gibi düşük bir süre performansa yardımcı olur. Bazı sitelere ulaşım zorluğu çekiyorsanız daha yüksek değerleri deneyebilirsiniz.
Registry anahtarları
Oluşturacağımız kayıtlar için DWORD değerlerine hexadecimal (onaltılık taban) sayılarla atama yapmalısınız. Örneğin TTL için 32 decimal değerini bir şekilde hexadecimal değere çevirmelisiniz. Stringler için direk decimal değerleri kullanabilirsiniz.
128, 552, 576, 1002, 1460, 1472, 1500 MTU ifadeleri genel kullanılan değerler olarak sıralanabilir.
Windows 98/Me
Regedit' i Başlat > Çalıştır penceresi içerisine yazıp, çalıştırın.
MTU için [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\NetTrans\000x] anahtarını açın. Sonda yer alan "x", birden fazla modem mevcutsa bir nümerik değer alır (0000, 0001 gibi).
Kullandığınız modemi bulmak için öncelikle [HKEY_LOCAL_MACHINE\Enum\Root\Net] altında yer alan alt anahtarlar içerisinde "DeviceDesc" ve karşısında "Dial-Up Adapter" ifadesini bulun. Aynı anahtar altında "Bindings" isimli bir diğer alt anahtar bulacaksınız. Burada "MSTCP\0000" şeklinde bir string değeri yer alır. "\" işaretinden sonraki 4 basmaklı sayıyı bir yere not alın. [HKEY_LOCAL_MACHINE\Enum\Network\MSTCP] anahtarı altında not aldığınız 4 basamaklı sayıyı ve "Driver" değerini bulun. Bu değer karşısında "NetTrans\0002" ifadesine benzer bir ifade ile karşılaşacaksınız. Tekrar "\" sonrasında yer alan 4 basamaklı sayıyı bir yere not alın ve paragraf başında verdiğimiz anahtar içerisinde bulun. İşte buraya "MaxMTU" ve "MaxMSS" String değişkenlerini oluşturup, direk olarak değerlerini yazın.
Diğer ayarlar için [KEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\VxD] anahtarı içerisine tabloda verilen şekilde SZ değerlerini girmeniz gerekmektedir.
Adı Tipi Alabileceği değerler (Dec)
DefaultTTL (TTL) REG_SZ – String 0 - 32 - 64 - 128
PMTUBlackHoleDetect (MTU Black Hole Detection) REG_SZ – String 0 – 1
PMTUDiscovery (MTU Auto Discovery) REG_SZ – String 0 – 1
DefaultRcvWindow (RWIN) REG_SZ – String (MSS *y)
Windows 2000/XP
Kullandığınız modemi bulmak için öncelikle internete bağlanıp, DOS penceresinden "ipconfig" komutunu veriyoruz ve IP numaramızı (IP adresi) alıyoruz.
Regedit' i açıp [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces] anahtarı altında yer alan uzun anahtar isimlerini birer birer kontrol ediyoruz. Alt resimde görebileceğiniz gibi DhcpIPAddress veya IPAddress ksımında yer alan IP numarası "ipconfig" komutu ile aldığımız numara ile uyuşuyorsa o anahtar içerisinde işlemlerinizi yapmanız gerekir. Yine resimde görebileceğiniz gibi {7AB75F6B-5EE7-44C6-8DD0-F287B2797961} anahtarı altına "MTU" adlı bir DWORD değeri eklenip, decimal olan 576 değerimiz hexadecimal olarak yazılmış durumda.
Diğer ayarlar için [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters] anahtarını bulduktan sonra bu anahtar altına bir takım DWORD değerleri girmelisiniz. Tabloda eklemeniz gereken değerleri inceleyebilirsiniz.
Adı Tipi Alabileceği değerler (Dec)
DefaultTTL (TTL) REG_DWORD – Hex 0 - 32 - 64 - 128
EnablePMTUBHDetect (MTU Black Hole Detection) REG_DWORD – Hex 0 – 1
EnablePMTUDiscovery (MTU Auto Discovery) REG_DWORD – Hex 0 – 1
GlobalMaxTcpWindowSize (RWIN) REG_DWORD – Hex (MSS *çarpan)
TcpRecvSegmentSize (MSS) REG_DWORD – Hex (MTU – 40)
Programlar
Registry ile uğraşmak bazılarımıza karışık veya yorucu gelebilir. Internet üzerinde, bu ayarları sağlam bir biçimde, kafa yormadan yapabileceğeniz yazılımlar bolca bulunmakta. Visual programlama dilleriyle az çok haşır neşir olmuş programcılar için registry kayıtlarına yeni anahtarlar girmek veya bunları değiştirmek pek zor değil aslında.
Benim kullandığım iSpeed adlı programın yanında bir Türk programcıya ait olan BeFaster gibi Modem Booster, TweakDun, SpeedNet vb. bir çok program mevcut.