Ping bir sihir mi?
02 Aralık 2008, 13.23 A- A+Genelde, bir konuda blog yazma fikri oluştuğunda, onu bilgisayarımda yazarım, hafızam kuvvetli olmadığı için unutmayayım diye. Şimdi, şöyle bir baktım da yazdığım fakat siteye ekleme fırsatı bulamadığım bir çok blog olduğunu gördüm. Bir tanesini paylaşalım bakalım.
Ping konusunda ki gerçekleri duymaya hazır mısınız? Üyelerimizden bir çoğu, ping'in onları, düşmekten kurtaran, yavaşlığı gideren her derde deva bir şey olduğunu düşünüyorlar, belki hayal kırıklığı olacak ama, maalesef bunlarla hiç alakası yok. Peki ping nedir?
Kısaca ping, bir mesajın, hedef (sunucu ya da başka bir üye) ile sizin aranızda ki gidip gelme süresini ifade eder. Hattınız o anda boş, başka uygulamalar tarafından kullanılmıyorsa bu değer genelde küçük (örneğin, adsl için 50ms ya da daha küçük), fakat yoğun şekilde dosya indiriyorsanız yüksek çıkar.
Peki ping'i nasıl ölçüyoruz? Basit, hedefe bir mesaj gönderiyoruz, gönderdiğimiz mesajın cevabı geldiğinde, geçen süreyi ölçüyoruz. Görüldüğü üzere, bu işlem içerisinde, hattınızı daha iyi hale getirebilecek bir şey var mı? Yok. Hatta, ping de hattınızı kullanan bir mesaj olduğu için, bundan yüzlerce binlercesini aynı anda kullanmanız durumunda (ki normalde bu mümkün değil), hattınız hızlanmaz daha da yavaşlar. Bu nedenle, düştüğünü düşündüğünüz kişileri pinglemek onu hayata geri döndürmez. Sistem ondan belli bir süre içerisinde mesaj alamazsa zaten onu şutlayacaktır.
Peki neden kullanıyoruz? Mesajın ne kadar sürede gittiği bizim için neden önemli? Aslında, mesajın ne kadar sürede gittiği bizim için önemli değil, istediği sürede gidebilir. Neden kullandığımızı iyi anlatabilmek için, TCP/IP protokolünü biraz bilmek gerekiyor. Detaylarına girmeyeceğim, ama kısaca TCP/IP, iki bilgisayar arasında sağlıklı veri aktarmak için kullanılan bir bağlantı yöntemi diyelim, bizim oyunlarımız da TCP/IP kullanıyor. Buraya kadar sorun yok. Sorun şurda başlıyor: Bu bağlantı dediğimiz şey, iplik gibi tel gibi bir şey olmadığından, koptuğunu anlayamıyorsunuz (kopmak=karşıdaki bilgisayarın kapanması, ip değişmesi, hatlardaki sorunlar vb nedeni ile artık aynı bağlantıdan veri iletimi yapılamaması). Eğer koptuğunu anlayamazsak da, örneğin siteden birisi düştüğünde, bunu bilmeyeceğimizden koptuğu halde sitede saatlerce bağlı kalmasını önleyemeyiz, aslında 2 saat bağlı kalmasını. Çünkü TCP/IP'de varsayılan olarak 2 saatte bir keep-alive mesaji atılır, yani 2 saat içerisinde işletim sistemi bağlantı kopmasının otomatik farkına varır ama bu süre bile bizim için çok uzun. Bu nedenle, biz kendi "keep-alive" sistemimizi oluşturup, çok daha kısa aralıklarla mesaj atıp cevap gelip gelmediğini kontrol ediyoruz ki, üye koptuğu halde saatlerce bağlı kalmasın. Yani, siz sağa sola ping atmasanız da, sistem, arka planda sürekli, belli aralıklarla bu işlemi yapar.
Sürenin küçük büyük olması ile de ilgilenmiyoruz ama zamanında üyelere bu değeri göstermekte bir sakınca görmedik. Fakat zamanla, ping'in olması gerektiğinden daha fazla nâm yaptığına da tanık olduk ki, örneğin cep oyunlarda bu değeri gösterMEmenin daha uygun olduğuna karar verdik. Fakat, göstermesek dahi, cep oyunlarda da, sunucuya belli aralıklarla ping mesajı gönderilir. GPRS bağlantısı, adsl ya da kablo hatta klasik modemlere göre çok daha gecikmeli olduğundan, üyelerimizi zırt pırt ping değerini kontrol etme paranoyasından da kurtarmış olduk. Fakat yine de bir açık kapı bıraktık, sayısal olmasa da, göz kararı hattınızı cep telefonlarından da kontrol etmeniz mümkün, nasıl mı? Kendi kendinize mesaj atarak. Attığınız mesaj ne kadar kısa sürede geri dönerse hattınız da o kadar iyi :)
Peki, ping süreleri genelde küçük rakamlar iken, bazen bir anda neden zıplıyor? Bunun nedeni, TCP/IP paketlerinin yolda kaybolması nedeni ile tekrara düşmesi, tekrarların da kaybolması ve mesajın bir çok tekrar sonunda ulaşması şeklinde düşünülebilir. Zaten ulaşmasa ya da en azından bizim beklediğimiz sürede ulaşmasa, hat hâla aktif olsa bile oldukça yavaş olduğu için sistemden atıyoruz.
Sonuç olarak ping, bir ölçüm, sizi sitede tutan bir sihir değil. Ping "VAR OLANIN" sayısal ifadesidir, yani ping değeriniz yüksek olduğu için hattınız kötü değil, hattınız kötü olduğu için ping değeriniz yüksektir (Hat derken, internet çıkışınızı kastedmiyorum, sizin bilgisayarınızdan bizim sunucuya kadar olan hattı kastediyorum). Zaten, eğer gösterdiğimiz rakamla her şey düzelebilseydi, 10'a böler öyle gösterirdik.
YORUMLAR