Wireshark ile Ağ Tıkanıklığı Tespiti: TCP Retransmission, Window Size Zero ve Gizli Gecikmeler
Kullanıcılar "Sunucu çok yavaş yanıt veriyor" dediğinde sistemciler suçu ağcılara, ağcılar yazılımcılara, yazılımcılar ise veritabanına atar. Bu sonsuz suçlama döngüsünü bitirmenin ve gerçeği ortaya çıkarmanın tek bir tarafsız hakemi vardır: Ağ Paketleri. Paketler asla yalan söylemez. Wireshark kullanarak kurumsal ağdaki gizli performans darboğazlarını nasıl teşhis ettiğimi paylaşıyorum.
1. TCP Retransmission (Yeniden İletim): Paket Neden Kaybolur?
TCP güvenilir bir protokoldür; gönderdiği her paket için karşı taraftan bir alındı (ACK) onayı bekler. Eğer belirli bir süre (RTO - Retransmission Timeout) içinde onay gelmezse, paketi tekrar gönderir (TCP Retransmission).
Normal bir yerel ağda (LAN) yeniden iletim oranı %0.1'in altında olmalıdır. Eğer bu oran %2'nin üzerine çıkıyorsa ağda fiziksel bir felaket vardır:
- Bozuk bir patch kablo veya ezilmiş fiber optik hat.
- Switch portunda CRC/Input errors artışı.
- Çift taraflı Duplex uyuşmazlığı (Bir taraf Full-Duplex, diğer taraf Half-Duplex).
Wireshark Filtresi (Yalnızca Yeniden İletimleri Yakala):
tcp.analysis.retransmission
2. TCP ZeroWindow: Sunucu Boğuluyor!
Bazen ağ hattı tertemizdir ancak kullanıcılar yine de yavaşlıktan şikayet eder. Paketleri incelediğinizde Wireshark'ın siyah zemin üzerine kırmızı yazıyla [TCP ZeroWindow] uyarısı bastığını görürsünüz.
- Pencere Boyutu (Window Size): Alıcının işletim sisteminin gelen verileri tuttuğu TCP tampon (buffer) alanıdır.
- ZeroWindow Ne Demektir? Hedef sunucunun CPU'su veya diski o kadar yoğundur ki, işletim sistemi gelen ağ paketlerini işleyip uygulamaya teslim edemez. Ağ kartına "Dur! Tamponum tamamen doldu, bana 1 bayt bile gönderme!" sinyali yollar.
- Teşhis: Sorun ağda değil; hedef sunucunun aşırı yüklü işlemcisinde veya kilitlenen SQL/IIS servisindedir!
Wireshark Filtresi:
tcp.analysis.zero_window
3. Port Aynalama (Port Mirroring / SPAN) ile Doğru Paket Yakalama
Kendi bilgisayarınızdan paket yakalayarak sunucudaki sorunu göremezsiniz. Cisco switch üzerinde SPAN (Switched Port Analyzer) kurarak şüpheli sunucunun tüm trafiğini analiz bilgisayarınıza kopyalamanız gerekir:
! Cisco Switch Üzerinde SPAN Oturumu
monitor session 1 source interface GigabitEthernet1/0/10 both ! Kaynak Sunucu
monitor session 1 destination interface GigabitEthernet1/0/20 ! Wireshark Yüklü Laptop
Karşılaşılan Kritik Hatalar ve Çözüm İpuçları
- TCP Duplicate ACK Analizi: Wireshark'ta
[TCP Dup ACK]paketleri görüyorsanız, paketlerin alıcıya sırasız (Out-of-Order) ulaştığını anlarsınız. Bunun sebebi genellikle iki farklı hat üzerinden dengesiz yük dengeleme yapılmasıdır. - Büyük Dosya Kaydetme (Ring Buffer): Yoğun bir sunucuda Wireshark açıp saatlerce beklerseniz laptopunuzun RAM'i tükenip çöker.
Capture Options -> Outputmenüsünden "Ring Buffer" açın: 500 MB'lık dosyalar halinde en fazla 10 dosya tutulsun; eskiler otomatik silinsin.
Mühendis Notu
Bir performans toplantısına elinizde tahminlerle değil; Wireshark'ın Statistics -> Service Response Time grafiğiyle gidin. "Gecikmenin 12 milisaniyesi ağda, 840 milisaniyesi SQL sunucusunun diske yazma yanıtında gerçekleşiyor" dediğiniz an tartışma biter, mühendislik başlar.
