Wireshark ile Ağ Gecikmesi Sorunlarını Giderme

Yayınlanan: 2021-10-07

Ağ gecikmesi, bir ağ ekosisteminde isteklerin veya verilerin kaynaktan hedefe iletilmesindeki gecikmedir. Ağ gecikmesini nasıl giderebileceğinizi görelim.

Bir web sayfasını açmak, bir bağlantıya tıklamak veya bir uygulamayı açıp çevrimiçi oyun oynamak gibi ağın kullanımını gerektiren herhangi bir eyleme aktivite denir. Bir kullanıcının etkinliği istektir ve bir web uygulamasının yanıt süresi bu isteği yanıtlamak için geçen süredir.

Bu zaman gecikmesi, bir sunucunun isteği tamamlaması için geçen süreyi de içerir. Sonuç olarak, gidiş-dönüş olarak tanımlanır - bir isteğin kaydedilmesi, işlenmesi ve daha sonra kullanıcı tarafından alınması ve burada kodun çözülmesi için geçen süre.

"Düşük gecikme süresi" terimi, nispeten kısa olan veri aktarım gecikmelerini ifade eder. Öte yandan, kullanıcı deneyimini bozdukları için uzun gecikmeler veya aşırı gecikmeler istenmez.

Ağ Gecikmesi nasıl düzeltilir?

Bir ağı analiz etmek ve sorunlarını gidermek için internette birçok araç ve yazılım bulunmaktadır. Bazıları ücretli, bazıları ise ücretsiz. Ancak, veri paketlerini gerçek zamanlı olarak yakalamak için kullanılan açık kaynaklı ve GPL lisanslı bir uygulama olan Wireshark adlı bir araç var. Wireshark, dünyadaki en popüler ve yaygın olarak kullanılan ağ protokolü analizörüdür.

Ağ paketlerini yakalamanıza ve ayrıntılı olarak görüntülemenize yardımcı olacaktır. Bu paketleri, ağ paketlerini yakaladıktan sonra gerçek zamanlı veya çevrimdışı analiz için kullanabilirsiniz. Bu uygulama, ağ trafiğinizi bir mikroskop altında incelemenize, filtrelemenize ve sorunların kaynağını bulmak için derinlemesine incelemenize, ağ analizine ve nihayetinde ağ güvenliğine yardımcı olmanıza olanak tanır.

Ağ Gecikmesine Neden Olan Nedir?

Aşağıdakiler dahil olmak üzere yavaş ağ bağlantısının birkaç önemli nedeni:

  • Yüksek Gecikme
  • Uygulama bağımlılıkları
  • Paket kaybı
  • Engelleme cihazları
  • Verimsiz pencere boyutları

Ve bu makalede, ağ gecikmesinin her bir nedenini ve Wireshark ile ilgili sorunların nasıl çözüleceğini inceliyoruz.

Wireshark ile İnceleme

Yüksek Gecikme

Yüksek gecikme, verilerin bir uç noktadan diğerine geçmesi için geçen süreyi ifade eder. Yüksek gecikme süresinin ağ iletişimi üzerindeki etkisi çok büyüktür. Aşağıdaki şemada, örnek olarak yüksek gecikmeli bir yolda dosya indirme işleminin gidiş-dönüş süresine bakıyoruz. Gidiş-dönüş gecikme süresi genellikle kabul edilemez olan bir saniyeyi aşabilir.

tel köpek balığı4

  • Wireshark İstatistiklerine gidin.
  • TCP akış grafiği seçeneğini seçin.
  • Bir dosyanın indirilmesinin ne kadar sürdüğünü öğrenmek için Gidiş-Dönüş zaman grafiğini seçin.

Wireshark, hatalı İletim Kontrol Protokolü (TCP) iletişim ağı performansının nedeninin bu olup olmadığını görmek için bir yol üzerindeki gidiş-dönüş süresini hesaplamak için kullanılır. TCP, çevrimiçi gezinme, veri iletimi, dosya aktarım protokolü ve diğerleri dahil olmak üzere çeşitli uygulamalarda kullanılır. Çoğu durumda, işletim sistemi, özellikle ana bilgisayarlar Windows XP kullanırken, yüksek gecikmeli kanallarda daha etkili performans gösterecek şekilde ayarlanabilir.

Uygulama Bağımlılıkları

Bazı uygulamalar diğer uygulamalara, işlemlere veya ana bilgisayar iletişimlerine bağlıdır. Örneğin, veritabanı uygulamanızın veritabanı öğelerini getirmek için diğer sunuculara bağlanmaya dayandığını varsayalım. Bu durumda, diğer sunuculardaki yavaş performans, yerel uygulamanın yükleme süresini bozabilir.

Örneğin, hedef sunucunun birkaç başka web sitesine atıfta bulunduğu bir web tarama deneyimini ele alalım. Örneğin, sitenin ana sayfası olan www.espn.com'u yüklemek için öncelikle www.espn.com ana sayfası için reklam ve içerik sağlayan 16 ana bilgisayarı ziyaret etmelisiniz.

tel köpek balığı-3

Yukarıdaki şekilde, Wireshark'taki HTTP Yük Dağıtımı penceresi, www.espn.com ana sayfası tarafından kullanılan tüm sunucuların bir listesini görüntüler.

Paket kaybı

Ağlarda bulduğum en yaygın sorunlardan biri paket kaybı. Paket kaybı, veri paketleri internet üzerinden göndericiden alıcıya doğru bir şekilde teslim edilmediğinde meydana gelir. Bir kullanıcı bir web sitesini ziyaret ettiğinde ve sitenin öğelerini indirmeye başladığında, kaçırılan paketler yeniden aktarımlara neden olarak web dosyalarının indirilme olasılığını artırır ve genel indirme sürecini yavaşlatır.

Ayrıca, bir uygulama TCP kullandığında, eksik paketler özellikle olumsuz bir etkiye sahiptir. Bir TCP bağlantısı, bırakılan bir paket algıladığında, ağ sorunlarını telafi etmek için aktarım hızı otomatik olarak yavaşlar.

Bir sonraki paket bırakılana kadar kademeli olarak daha kabul edilebilir bir hıza yükselir ve bu da veri çıkışında önemli bir azalmaya neden olur. Aksi takdirde ağ üzerinden kolayca akması gereken büyük dosya indirmeleri, paket kaybından önemli ölçüde zarar görür.

Bir paket kaybolduğunda nasıl görünür? Tartışmalıdır. Program TCP üzerinden çalışıyorsa paket kaybı iki şekilde olabilir. Bir örnekte, alıcı paketleri sıra numaralarına göre izler ve eksik bir paketi tespit eder. İstemci, eksik paket için üç istekte bulunur (çift onay), yeniden gönderme ile sonuçlanır. Bir gönderici, bir alıcının bir veri paketinin alındığını onaylamadığını gözlemlediğinde, gönderici zaman aşımına uğrar ve veri paketini yeniden iletir.

tel köpekbalığı

Wireshark, ağ tıkanıklığının meydana geldiğini ve çoklu alındıların renk kodlayarak sorunlu trafiğin yeniden iletilmesine neden olduğunu belirtir. Çok sayıda yinelenen onay, bir ağda paket kaybını ve önemli gecikmeyi gösterir.

Ağ hızını artırmak için paket kaybının tam yerini belirlemek çok önemlidir. Paket kaybı meydana geldiğinde, artık paket kaybı görünmeyene kadar Wireshark'ı yolun aşağısına taşırız. Şu anda paket bırakma noktasından "yukarı akıştayız", bu nedenle hata ayıklama çabalarımızı nereye odaklayacağımızı biliyoruz.

Engelleme Cihazları

Ağ trafik polisleri, anahtarlar, yönlendiriciler ve güvenlik duvarları gibi iletme seçimlerini yapan birbirine bağlı cihazlardır. Paket kaybı meydana geldiğinde, olası bir sebep olarak bu cihazlar araştırılmalıdır.

Bu bağlantı cihazları ile yola gecikme eklenebilir. Örneğin, trafik önceliği etkinleştirilirse, düşük öncelik düzeyine sahip bir akışa ek gecikme süresi eklendiğine tanık olabiliriz.

Verimsiz Pencere boyutları

Microsoft işletim sisteminin yanı sıra, TCP/IP ağlarında başka “pencereler” de vardır.

  • Sürgülü pencere
  • Alıcı Penceresi
  • Tıkanıklık Kontrolü penceresi

Bu pencereler birlikte ağın TCP tabanlı iletişim performansını oluşturur. Bu pencerelerin her birini ve ağ bant genişliği üzerindeki etkilerini tanımlayarak başlayalım.

Sürgülü pencere

Veri kabul edildiğinde, sonraki TCP segmentlerini ağ üzerinden yayınlamak için kayan pencere kullanılır. Gönderen, iletilen veri parçaları için onay alır, sürgülü pencere genişler. Ağda kayıp iletim olmadığı sürece, daha büyük miktarlarda veri aktarılabilir. Bir paket kaybolduğunda, ağ hattaki artan miktarda veriyi yönetemediğinden kayan pencere küçülür.

Alıcı Penceresi

TCP yığınının alıcı penceresi bir arabellek alanıdır. Veri alındığında, bir uygulama onu alana kadar bu arabellek alanında saklanır. Bir uygulama alma hızına ayak uyduramadığında alıcı penceresi dolar ve sonunda bir "sıfır pencere" senaryosuna yol açar. Bir alıcı sıfır pencere durumu bildirdiğinde, ana bilgisayara tüm veri iletimi durdurulmalıdır. Verim oranı sıfıra düşüyor. Pencere Ölçeklendirme (RFC 1323) olarak bilinen bir yöntem, bir ana bilgisayarın alıcı pencere boyutunu artırmasına ve sıfır pencere senaryosu olasılığını düşürmesine olanak tanır.

tel köpek balığı2

Yukarıdaki resim, sıfır pencere senaryosu nedeniyle ağ iletişiminde 32 saniyelik bir gecikmeyi göstermektedir.

Tıkanıklık Penceresi

Tıkanıklık penceresi, ağın işleyebileceği maksimum veri miktarını tanımlar. Göndericinin paket aktarım hızı, ağ paket kayıp hızı ve alıcının pencere boyutunun tümü bu rakama katkıda bulunur. Tıkanıklık penceresi, sağlıklı bir ağ iletişimi sırasında aktarım tamamlanana veya ağ sağlığı tarafından oluşturulan bir “tavan”a ulaşana kadar sürekli olarak artar. Gönderenin iletme yetenekleri veya alıcının pencere boyutu. Her yeni bağlantı, pencere boyutu anlaşma prosedürünü yeniden başlatır.

Sağlıklı Bir Ağ İçin İpuçları

  • Düşük performansın kaynağını hızlı ve verimli bir şekilde keşfetmek için Wireshark'ı ilk müdahale görevi olarak nasıl kullanacağınızı öğrenin.
  • Ağ yolu gecikmesinin kaynağını belirleyin ve mümkünse bunu kabul edilebilir bir düzeye indirin.
  • Paket kaybının kaynağını bulun ve çözün.
  • Veri iletim penceresi boyutunu inceleyin ve mümkünse azaltın.
  • Gecikme ekleyip eklemediklerini veya paketleri bırakıp bırakmadıklarını görmek için araya giren cihazların performansını inceleyin.
  • Uygulamaları daha büyük miktarda veri sunabilmeleri ve mümkünse alıcı penceresinden veri alabilmeleri için optimize edin.

Toplama

Ağ performansı sorunlarının ana nedenlerini inceledik, ancak gözden kaçırılmaması gereken bir faktör, ağ iletişim davranışının anlaşılmamasıdır. Wireshark, tıpkı X-ışınları gibi ağ görünürlüğü sağlar ve CAT taramaları, doğru ve hızlı teşhis için insan vücuduna görünürlük sunar. Bu araç, ağ sorunlarını bulmak ve teşhis etmek için hayati bir araç haline geldi.

Şimdi Wireshark kullanarak çeşitli filtreler ve araçlar aracılığıyla ağ performansını incelemeli ve çözmelisiniz.