Hangi düğümü kim (yani kim daha uzun mesaj gecikmesi olan) keşfetmek İYİ bir yol bulduk ve tek yönlü yolculuk gecikme tahmin. Diğer cevaplar doğru olmakla birlikte, SADECE elbette işe yaramayacak doğrudan saat ölçümü düşünülür. Ancak burada kanıtladığım gibi yukarıdaki için benim çalışma algoritması olduğu gibi bu hikayenin sadece bir parçasıdır:
Gerçek hayatta olduğu gibi varsayın:
Sonlu bant genişliği b
Her düğümün benzersiz bir adresi vardır (örneğin A ve B)
Paket boyutu p, bant genişliği * gecikme ürününden çok daha küçük
A ve B düğümleri kanalı doldurabilir
Düğümlerin rastgele () işlevi vardır
Her düğüm kanalı kendi paketleriyle doldurur (sırasıyla A veya B olarak işaretlenir) VEYA diğer düğümlerden aldığı paketleri aşağıdaki gibi iletir:
Always fill the channel with my own packets except:
if I receive a packet from another node then
Randomly choose to
either forward that packet from the other node
or discard that packet and forward my own packet
Sezgisel Açıklama
A'nın bant genişliği * gecikme ürünü daha yüksek olduğundan (gecikme daha yüksek olduğu için) A, B'den daha fazla paket almayı başaracaktır, bu nedenle her Düğüm diyagramda kim olduklarını bilebilir .
Ayrıca, algoritmanın üzerinde çalışacak yeterli yakınsama süresi ile A'nın B paketlerinin oranı, A'dan B'ye RTT gecikmesinin gerçek oranını ve dolayısıyla istenen OTT'yi gösterecektir .
SİMÜLASYON SONUÇ İZİ
İşte yukarıdakileri kanıtlayan ve A'nın 3 saniye gecikmeye nasıl başarılı bir şekilde dönüştüğünü ve B'nin yaklaşık 1 saniye gecikmeye yaklaştığını gösteren bir simülasyon:
Şekillerin Açıklaması:
Her çizgi 1 saniyeyi temsil eder (paket boyutu netlik için 1 saniye iletim süresine sahip olacak şekilde seçilir). Her bir düğümün belirli bir sırada veya zamanda olmayan herhangi bir zamanda algoyu başlatabileceğini unutmayın. Sütunlar aşağıdaki gibidir:
NODE A şunları alır: A düğümü alıcı tarafında gördüğü şey (bu ayrıca aşağıdaki P4'tür)
NODE A enjekte eder: A düğümü gönderir (bunun A veya rastgele A veya B olduğunu unutmayın)
P1, P2, P3: A ve B arasında geçiş sırasında (sırayla) üç paket (1 saniyelik iletim 3 paketin 3 gecikme süresi boyunca geçişte olduğu anlamına gelir)
NODE B şunları alır: B'nin alıcı tarafında gördüğü şey (bu P3'tür)
NODE B enjekte eder: B'nin gönderdiği şey (bunun B olduğunu veya algo başına rastgele A veya B olduğunu unutmayın)
P4: B'den A'ya geçişte olan paket (ayrıca bkz. P1, P2, P3)
A sayar A: Gördüğü A paketleri için ne A sayar
A sayar B: Gördüğü B paketleri için ne A sayar
B sayar A: Gördüğü A paketleri için B hangi sayar
B sayar B: Gördüğü B paketleri için hangi B sayar
A-> B: A'nın B'ye karşı tahmin ettiği gecikme (görülen paketlere göre RTT'nin 4 saniyelik oranı)
B-> A: B'nin A'ya göre tahmin ettiği gecikme (görülen paketlere göre 4 saniyelik RTT oranı)
Her iki düğümün de birbirine yakınlaştığını ve gerçek gecikmelerinin etrafında kaldığını görebildiğimiz için (aslında A için görmüyoruz çünkü yakınsama için daha fazla saniye gerekiyor, ancak B ile aynı davranışı birleştiriyor)
Daha iyi filtreler daha hızlı birleşebilir, ancak her ikisinin de gecikmeleri için doğru değerler etrafında nasıl birleştiklerini açıkça görebiliriz, bu nedenle gecikmelerini tam olarak bilebilirler (tahminlerini yalnızca gösterim için göstermeme rağmen).
Ayrıca, bağlantılar arasındaki bant genişlikleri farklı olsa bile, yukarıdaki yöntem hala bant genişliği tahminlerini anlamak için paket çiftleri kullanarak ve daha sonra sadece yukarıdaki orantı denklemine uygulanarak (daha kesin olmak için daha fazla düşünmek zorunda kalacak) tutabilir.
Sonuç
A ve B için ağdaki konumlarını bilmek ve yukarıdaki diyagram için diğer düğüme olan gecikmelerini bilmek için bir algoritma sağladık. Özyinelemeli saat senkronizasyonu sorunu nedeniyle gerçekten bir çözüme yol açamayan saat tabanlı yaklaşımlar yerine bir ağ ölçüm tahmin yöntemi kullandık.
Not Şimdi bu simülasyonu tüm simülasyonları sağlayarak düzenledim, çünkü kimse bana inanmayacaktır, ilk yorumlarda gördüğünüz kadar çözdüm. Umarım bu sonuçlarla birileri daha ikna olabilir ve bu ağ ölçüm bulmacasında herkesin en azından bir hata veya doğruluk bulmasına yardımcı olabilir!