Wireshark 中 TCP 會話和 TCP 流之間的關係

Wireshark 中 TCP 會話和 TCP 流之間的關係

我讀過關於對話TCP 流但我仍然有點不確定如果它們位於同一層,它們之間的關係如何。

對於不同的層,我很清楚,例如,IP 會話可以由多個 TCP 流組成。

一個 TCP 會話可以由多個 TCP 流組成嗎?相反,一個 TCP 流可以包含多個 TCP 會話嗎?為什麼?

答案1

在這種情況下,A對話發生在 TCP 層級(傳輸),並且與兩個連接埠之間的 TCP 連線同義。

在這種情況下,「TCP 流」是在對話中傳遞的應用程式訊息的聚合。例如,連結中的流顯示運行一個內部主機UPNP- 有能力的程序,要求路由器為其轉送連接埠 5000,並且路由器做出回應。所以你其實是TCP報文段的資料欄位。出於這個原因,我認為它的名字不好。所有 TCP 資訊都已被剝離,只留下兩台主機上的軟體發送和接收的訊息。他們可能是HTTP協定GET 和響應,文件傳輸協定PUT,郵件傳輸協定郵件或任何其他應用程式的本機命令語言。

就我個人而言,我不確定我是否喜歡本文檔中的 Wireshark 術語,但它確實很好地滿足了他們作為協議分析器的觀點。無論底層協定如何,應用程式確實將兩個端點之間的套接字連接視為 IO 流。

順便說一句,我想說我不同意 IP 進行「對話」。 IP 不攜帶維護虛擬電路所需的數據,並將其留給上層。 TCP 處理嚴格的電路,UDP 處理非常寬鬆的電路,將排序、糾錯和流量控制留給其應用程式。

答案2

傳輸控制協定會話和 TCP 流應該處於同一級別,但是,至少在 Wireshark 的某些版本中,它們使用不同的程式碼來識別哪些資料包是對話/流的一部分,因此它們可能會給出不同的答案。

例如,其中之一可能會將兩個端點(IP 位址/連接埠對)之間的所有流量視為相同會話/串流的一部分,即使這兩個端點之間的一個TCP 連線關閉,而另一個端點之間恰好開啟了另一個TCP 連接。單獨的對話/流。

如果他們不使用相同的程式碼,這可以說是一個錯誤,但可能還沒有人修復。

明顯地,智慧財產兩個人之間的“對話”智慧財產端點(兩個 IP 位址)與 TCP 會話/流不同;正如您所注意到的,兩個 IP 端點之間可以有多個 TCP 會話、UDP 會話等,因此也可以有多個 TCP/UDP/等。同一 IP 會話中的會話。

答案3

只需查看您連結的頁面上的範例,這些術語在功能上似乎並沒有不同。兩者似乎都是單一網路連接的長度。

對話頁面不會匯總多個連接,它實際上顯示每個單獨的連接,以及時間長度和位元組數。流視窗僅顯示實際發送資料的詳細資訊。

相關內容