Aracılığıyla paylaş


TCP/IP bağlantısı sorunlarını giderme

Sanal Temsilcimizi deneyin - Yaygın Active Directory çoğaltma sorunlarını hızla belirlemenize ve düzeltmenize yardımcı olabilir.

Şunlar için geçerlidir: Windows istemcisinin ve Windows Server'ın desteklenen sürümleri

Bu makalede İletim Denetimi Protokolü (TCP)/İnternet Protokolü (IP) bağlantı hatalarını gidermeye yönelik kapsamlı bir kılavuz sağlanır.

Belirtiler ve analiz

Uygulama düzeyinde bağlantı sorunlarıyla karşılaşabilir veya zaman aşımı hatalarıyla karşılaşabilirsiniz. Burada sık karşılaşılan bazı senaryolar verilmiştir:

  • Veritabanı sunucusuna uygulama bağlantısı
  • SQL zaman aşımı hataları
  • BizTalk uygulaması zaman aşımı hataları
  • Uzak Masaüstü Protokolü (RDP) hataları
  • Dosya paylaşımı erişim hataları
  • Genel bağlantı

Ağ ile ilgili bir sorundan şüphelenildiğinde, bir ağ paketi yakalaması toplamanızı öneririz. Bu yakalama, sorunlu TCP bağlantısını belirlemek ve hatanın nedenini belirlemek için filtrelenebilir.

Sorun giderme işlemi sırasında ağ yakalama işleminde bir TCP RESET ile karşılaşabilirsiniz ve bu durum bir ağ sorununa işaret edebilir.

TCP'ye giriş

TCP, bağlantı odaklı ve güvenilir bir protokol olarak nitelendirilir. El sıkışma işlemiyle güvenilirliği sağlar. TCP oturumu üç yönlü el sıkışmasıyla, ardından veri aktarımıyla başlatılır ve dört yönlü kapanışla sonuçlanmıştır.

  • Hem gönderenin hem de alıcının oturumu kapatmayı kabul ettiği dört yönlü kapatma, düzgün bir kapatma olarak bilinir. Bu, TCP üst bilgisindeki 1 olarak ayarlanan FIN bayrağıyla tanımlanır.
  • Dört yönlü kapatmadan sonra, makine bağlantı noktasını serbest bırakmadan önce 4 dakika (varsayılan olarak) bekler. Bu, TIME_WAIT durumu olarak kabul edilir. Bu TIME_WAIT durumu sırasında, TCP bağlantısı için bekleyen paketler işlenebilir. TIME_WAIT durumu tamamlandıktan sonra, bağlantı için ayrılan tüm kaynaklar serbest bırakılır.
  • TCP sıfırlaması ani bir oturum kapatma işlemidir ve ayrılan kaynakların hemen serbest bırakılmasına ve tüm bağlantı bilgilerinin silinmesine neden olur. Bu, TCP üst bilgisindeki RESET bayrağı 1 olarak ayarlanarak tanımlanır.

Kaynakta ve hedefte aynı anda toplanan bir ağ izlemesi, trafiğin akışını belirlemenize ve hata noktasını belirlemenize yardımcı olur.

Aşağıdaki bölümlerde, RESET'in gerçekleşebileceği senaryolar özetlenmiştir.

Ağ üzerinden paket kaybı

TCP eşleri yanıt almadan paket gönderdiğinde, eş verileri yeniden gönderir. Hala yanıt yoksa oturum, uygulamanın değiştirilen verileri kabul ettiğini ancak paket kaybı nedeniyle bağlantıyı kapattığını belirten bir ACK RESET ile sona erer.

Hem kaynak hem de hedefte eşzamanlı ağ izlemeleri bu davranışı doğrulayabilir. Kaynak tarafında, yeniden iletilen paketleri görebilirsiniz. Hedef tarafta bu paketler mevcut değildir. Bu senaryo, kaynak ve hedef arasındaki bir ağ cihazının paketleri bıraktığını gösterir.

Paket kaybı sorunlarını tanılama hakkında daha fazla bilgi için bkz. Paket kaybını tanılama.

Senaryo 1: İlk TCP el sıkışması sırasında paket kaybı

İlk TCP el sıkışması paket bırakması nedeniyle başarısız olursa TCP SYN paketi varsayılan olarak üç kez yeniden iletilir.

Not

TCP SYN paketinin yeniden iletilen sayısı işletim sistemine göre farklı olabilir. Bu, TCP Genel parametreleri altında Max SYN Retransmissions değeriyle belirlenir ve komutu netsh int tcp show globalkullanılarak görüntülenebilir.

IP Adresi 10.10.10.1 olan bir kaynak makinenin 445 numaralı TCP bağlantı noktası üzerinden 10.10.10.2 IP Adresi ile hedefe bağlandığını varsayalım. Aşağıda, kaynak makinede toplanan ve TCP SYN paketinin gönderildiği ilk TCP el sıkışmasını gösteren ve hedeften yanıt alınmadığından kaynak tarafından yeniden iletilen ağ izlemesinin ekran görüntüsü yer alır.

Ağ İzleyicisi'ndeki çerçeve özetinin ekran görüntüsü.

Hedefte toplanan ağ izlemesinde görülen TCP konuşması, yukarıdaki paketlerden hiçbirinin hedef tarafından alınmadığını gösterir. Bu, TCP SYN paketinin ara ağ üzerinden bırakıldığını gösterir.

Ağ İzleyicisi'nde filtre içeren çerçeve özetinin ekran görüntüsü.

TCP SYN paketleri hedefe ulaşır, ancak hedef yanıt vermezse, hedef makinedeki bağlı TCP bağlantı noktasının DINLEME durumunda olup olmadığını doğrulayın. Bu, komutunun netstat -anobçıkışında denetlenebilir.

Bağlantı noktası dinliyorsa ve hala yanıt yoksa, Windows Filtreleme Platformu'nda (WFP) bir düşüş olabilir.

Senaryo 2: TCP bağlantısı oluşturma sonrasında veri aktarımı sırasında paket kaybı

TCP bağlantısı kurulduktan sonra gönderilen bir veri paketinin ağ üzerinden bırakıldığı bir senaryoda, TCP paketi varsayılan olarak beş kez yeniden gönderir.

IP Adresi 192.168.1.62 olan bir kaynak makinenin 445 numaralı TCP bağlantı noktası üzerinden IP Adresi 192.168.1.2 olan hedef makineyle bağlantı kurduğunu varsayalım. Kaynak makine aşağıda gösterildiği gibi beş kez yeniden iletilen verileri (SMB Anlaşma paketi) gönderiyor. Hedeften yanıt alınmadıktan sonra, kaynak makine bu TCP bağlantısını kapatmak için bir ACK-RST gönderiyor.

Kaynak 192.168.1.62 yan izleme:

Paket tarafı izlemeyi gösteren ekran görüntüsü.

Yukarıdaki paketlerden hiçbirinin hedefe ulaştığını görmezsiniz.

Kaynak ve hedef arasındaki farklı atlamaları araştırmak ve atlamalardan herhangi birinin paket bırakmalarına neden olup olmadığını denetlemek için iç ağ ekibinizle iletişime geçmeniz gerekir.

TCP üst bilgisinde yanlış parametre

Bu davranış, ağdaki aracı cihazlar paketleri değiştirdiğinde oluşur ve alıcı uçtaki TCP'nin bunları reddetmesine neden olur. Örneğin, TCP sıra numarası değiştirilebilir veya paketler değiştirilmiş TCP sıra numarasına sahip bir aracı cihaz tarafından yeniden yürütülebilir.

Kaynak ve hedef üzerindeki eşzamanlı ağ izlemesi, TCP üst bilgilerinde yapılan değişiklikleri tanımlamaya yardımcı olabilir.

Paketlerdeki değişiklikleri veya kaynak adına hedefe ulaşan yeni paketlerin varlığını algılamak için kaynak ve hedef izlemelerini karşılaştırarak başlayın.

Bu gibi durumlarda, paketleri hedefe değiştiren veya yeniden yürüten cihazları belirlemek için iç ağ ekibinden yardım istemenizi öneririz. Yaygın suçlular arasında Riverbed cihazları veya WAN hızlandırıcıları bulunur.

Uygulama düzeyinde sıfırlama

Sıfırlamaların paket bırakmalarından, yanlış parametrelerden veya paket değişikliklerinden (ağ izlemeleri aracılığıyla tanımlandığında) kaynaklanmadığını belirlediyseniz, sorunun uygulama düzeyinde bir sıfırlama olduğu sonucuna varabilirsiniz.

Uygulama düzeyinde sıfırlamalar, Sıfırlama (R) bayrağıyla birlikte Onay (ACK) bayrağının 1 olarak ayarlanmasıyla karakterize edilir. Bu, sunucunun paketin alındığını kabul ettiğini ancak herhangi bir nedenle bağlantıyı kabul etmediğini gösterir. Bu sorun genellikle paketi alan uygulama verilerde kabul edilemez bir şey bulduğunda oluşur.

Aşağıdaki ekran görüntülerinde, hem kaynak hem de hedefteki paketlerin aynı olduğunu ve hiçbir değişiklik veya bırakma olmadığını görebilirsiniz. Ancak, hedef tarafından kaynağa açık bir sıfırlama gönderilir.

Kaynak tarafı izlemesi:

Ağ İzleyicisi'nde kaynak tarafındaki paketlerin ekran görüntüsü.

Hedef tarafı izlemesi:

Ağ İzleyicisi'nde hedef taraftaki paketlerin ekran görüntüsü.

Bir TCP SYN paketi gönderildiğinde ACK+RST bayraklı TCP paketi de oluşabilir. TCP SYN paketi, belirli bir bağlantı noktasında bağlantı kurmak için kaynak makine tarafından başlatılır. Ancak, hedef sunucu herhangi bir nedenle paketi kabul etmek istemezse, sunucu bir ACK+RST paketiyle yanıt verir.

ACK RSK bayrağına sahip paketin ekran görüntüsü. Böyle durumlarda, bağlantının neden sıfırlandığını anlamak için sıfırlamaya neden olan uygulamayı (bağlantı noktası numaralarıyla tanımlanır) araştırmak önemlidir.

Not

Önceki bilgiler, TCP perspektifinden bakıldığında sıfırlamalarla ilgilidir, UDP ile ilgili değildir. UDP bağlantısız bir protokoldür ve paketler güvenilir bir şekilde gönderilir. Bu nedenle, UDP aktarım protokolü olarak kullanılırken yeniden aktarımlar veya sıfırlamalar gözlenmez. Ancak UDP, hata raporlama protokolü olarak ICMP kullanır. Hedefte listelenmeyen bir bağlantı noktasına BIR UDP paketi gönderildiğinde, hedef hemen bir ICMP "Hedef Ana Bilgisayara Ulaşılamıyor: Bağlantı Noktası Ulaşılamıyor" iletisiyle yanıt verir.

10.10.10.1  10.10.10.2  UDP UDP:SrcPort=49875,DstPort=3343
 
10.10.10.2  10.10.10.1  ICMP    ICMP:Destination Unreachable Message, Port Unreachable,10.10.10.2:3343

TCP/IP bağlantı sorunlarını giderme sırasında, ağ izlemesinde bir makinenin paketleri aldığını ancak bunlara yanıt vermediğini gözlemleyebilirsiniz. Bu, hedef sunucunun ağ yığınında bir düşüş olduğunu gösterebilir.

Yerel Windows Güvenlik Duvarı'nın paketi bırakıp bırakmadığını belirlemek için aşağıdaki komutu kullanarak makinede Windows Filtreleme Platformu (WFP) denetimini etkinleştirin.

auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:enable /failure:enable

Ardından Güvenlik olay günlüklerini gözden geçirerek belirli bir TCP bağlantı noktası ve IP adresi üzerindeki paket bırakma işlemini ve ilişkili WFP filtre kimliğini belirleyebilirsiniz.

Filtre kimliğine sahip Olay Özellikleri'nin ekran görüntüsü.

Ardından, bir netsh wfp show state dosyası oluşturan komutunu çalıştırın.

Not Defteri'ni kullanarak bu dosyayı açabilir ve olay günlüklerinde bulunan kimliği filtreleyebilirsiniz (örneğin, örnek olayda 2944008). Sonuç, bağlantıyı engelleyen Filtre Kimliği ile ilişkili güvenlik duvarı kuralı adını gösterir.

Bağlantıyı engelleyen filtre kimliğiyle ilişkili güvenlik duvarı kuralı adını içeren wfpstate xml dosyasının ekran görüntüsü.