Ethernet kablosunu çıkardığımda TCP bağlantılarına ne olur?


42

Bir TCP bağlantısı için, kabloyu çıkardığımda ve 30-40 saniye sonra tekrar bağladığımda hiçbir paket kaybı sorunu olmaz. Ancak yeniden bağlanma süresi birkaç dakikadan fazla olduğunda tüm paketler kaybolur. Yeniden iletim zamanlayıcısının bitmesiyle çalıştığını biliyorum, ancak bir ağ kablosu çıkarıldığında tam olarak neler olduğunu bilmek istiyorum.


9
“tam olarak neyin döndüğünü” yanıtlaması çok zor olacak. Bugünlerde işletim sistemi, kabloların çıkarıldığını tespit etmek gibi “akıllı” şeyler yapabilir. Bu ağa giden rotaları yönlendirme tablosundan çıkarmak. Kablosuz üzerinden yeni rotaların etkinleştirilmesi .... Bütün bunlar basit bir evrensel açıklama yolunda ilerliyor.
Hennes

5
Kayıp paketlerin için kovaya baktın mı?
Daniel R Hicks,

4
Kesin olarak gerçekleşebilecek bir şey şu anki iletişiminizin şu anki kesintiye
uğramasıdır

İşletim sistemine ve yapılandırmasına bağlıdır. MS Windows için google deneyin windows mediasense.
Zaboj Kampüsü

Yanıtlar:


60

Katmanlı bir modelde OSI veya TCP / IP olarak tanımlandığında her katman bağımsız çalışır ve alt katmanların farkında değil.

Kabloyu çıkardığınızda, fiziksel bir bozulma olur ( katman 1 ), bu yüzden neredeyse hemen ethernet ( katman 2 ) bir sinyal kaybı tespit eder (Windows kullanıyorsanız, ağ bağlantısının kopuk olduğunu bildiren çok korkutucu bir pop-up görürsünüz )

IP ( katman 3 ) ve TCP ( katman 4 ) farketmez, bu yüzden çalışmaya devam ederler.

TCP, belirli bir süre boyunca kurulan bir TCP bağlantısını kesmez, çünkü TCP veri gönderdiğinde, yanıt olarak bir ACK bekler ve bir süre içinde gelmezse, verileri yeniden iletir.

TCP veriyi tekrar iletir, IP'ye iletir, onu Ethernet'e geçirir, gönderemez ve basitçe atar.

TCP tekrar bekleyecek ve bağlantının bittiğini bildiren bir zaman aşımı gerçekleşene kadar bu işlemi tekrar edecektir. TCP, segment sıra numarasını sıfırlar, göndermeye çalışan bilgileri atar ve bu bağlantı için ayrılan arabellek ve bellek kaynaklarını serbest bırakır.

Kabloyu gerçekleşmeden önce takın ve her şey devam edecektir. TCP'yi güvenilir yapan ve aynı zamanda DDos saldırılarına karşı savunmasız kılan şey budur.

Eğer işletim sistemi birden fazla arayüze sahipse (örneğin, ethernet ve wi-fi), ethernet düştüğünde wifi üzerinden denenmesi mümkündür. Yönlendirmenin nasıl yapılandırıldığına bağlıdır, ancak genel olarak " TCP bunun farkında olmayacaktır ".

DDoS saldırılarının temel yapısı: her biri birkaç saniyede bir sunucuya TCP bağlantısı açan ve ardından bağlantıyı bırakan binlerce müşteri. Her bir TCP bağlantısı, uzun süre boyunca sunucuda açık kalır (TCP bağlantı noktaları, ayrılmış bellek, bant genişliği vb. Gibi değerli varlıkları boşa harcar), sunucu kaynaklarını meşru kullanıcılara katılmak için tıkar.


7
Modelin söylediği şey bu ama gerçek işletim sistemlerinde bazı arızaları tespit edip bağlantıları hemen sonlandırdığına inanıyorum . Bu sadece yapılacak faydalı bir şey.
usr

8
@ usr Neden birileri bilgisayarımın bağlı olduğu Ethernet anahtarını kapattığından her bağlantıyı kesmek faydalı olur?
CVn

9
@ usr Ağ kartını işletim sisteminin idari arayüzleri üzerinden devre dışı bırakmak kabloyu çıkarmadan veya fiziksel katman bağlantısını kesmekten tamamen farklı bir işlemdir. Lütfen ikisini karıştırmayın.
CVn

7
Ayrıca, kablo bağlantısı kesilmişken aslında herhangi bir TCP verisi göndermezseniz, asla farketmez. Bu yüzden canlı tutma mesajları göndermeye devam etmeniz gerekiyor - yalnızca "dinleyen uygulamalar" bağlantının kesilmesi durumunda asla bilemeyecek. Artı tarafta, kablo çıkarıldığında iki taraf da bir şey göndermeyi denemezse, kablonun tekrar takılmasından sonra bağlantının düzgün çalışacağı anlamına gelir. TCP, tasarlandığından çok farklı bir şekilde kullanılır :) TCP-over-güvercin-posta deneyi :))
Luaan

11
@ usr Standartlara uymamak gerçekten kötü bir uygulama seçimi. TCP bağlantıları geçici ağ kesintilerinden kurtulabilir. Bunu yapmak için tasarlanmıştır. Aslında, bilgisayarınızı yeniden başlatabildiğiniz ve hala bir TCP bağlantınız olduğu, ancak bu her zaman pratik değildi. Bir kablo kesildiğinde herkesin bağlantısının kesilmesini istediği varsayımınız yanlıştır ve sistemlerin nasıl tasarlandığı değildir.
Brad,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.