2016-09-13 25 views
1

是否可以弄清楚,或者如果您連接的對等端正在使用TCP保持活動,可以通知它?檢測對等端是否正在使用TCP保持活動(Windows)

此外,在發送Keepalive時要通知?

不使用內核驅動程序中的數據包級過濾?

我們有一個插件代理,並且客戶希望客戶端保持活動被轉發到服務器。目前,我認爲我們最好的選擇只是允許在服務器端連接上設置Keepalive,但我想檢查是否有人知道如何檢測客戶端行爲,以便Keepalive的中繼可以更接近地近似。

謝謝。

回答

1

有可能弄清楚,或者如果您所連接的同行正在使用TCP keepalive,那麼可能會通知您?

編號TCP keepalive不使用協議擴展。它只是以特定的方式使用現有的協議,以引發響應。

此外,當keepalive被髮送時通知?

不。TCP TCP保活段不能被識別。

不使用內核驅動程序中的數據包級過濾?

即使你這樣做。

我們有一個插件代理,並且客戶希望客戶端保持轉發到服務器。

您的客戶被誤導了。

此刻,我想我們最好的選擇是隻允許服務器端連接

正確的設置保持連接。

但我想檢查是否有人知道一種方法來檢測客戶端行爲是什麼,這樣Keepalive的中繼可以更接近地近似。

不可能。

+0

基本上我得出的結論。但是我相信,如果跟蹤序列號以識別帶有指示保持活動的序列號(SEG.SEQ = SND.NXT-1)的空ACK,則在分組級別應該是可能的。但我不打算這樣做。謝謝! – Adrien

+0

@Adrien問題在於發送TCP可以在任何時候都喜歡它,而不僅僅是爲了Keepalive的目的。這不太可能,但它可以。這就是'沒有協議擴展'的意思。 – EJP

+0

理解,雖然我只能想到1的目的,它會作爲一個keepalive :) - 最後的區別可能並不重要。 – Adrien

相關問題