2009-11-27 172 views
1

是否有任何字段/選項/任何東西,我可以把一個TCP包(不管是SYN或ACK或只是簡單的數據),我可以肯定將由另一端完好歸還?TCP連接持久狀態

例如,我想用一個數字來「標記」一個特定的連接(src,srcport,dst,dstport),我總是可以從屬於那個連接的數據包中讀取這個數字。這意味着我可以在不使用四元組的情況下識別連接(如上所述)。

+0

這是一個編程問題? – Abel 2009-11-27 01:01:10

+1

http://www.packetdrop.net/ – jldupont 2009-11-27 01:04:35

+1

packetdrop.net ...謝謝,那就是我想要的地方:) – TripShock 2009-11-27 12:12:36

回答

1

您可能會濫用TCP時間戳選項。不過,這似乎不是一個好主意。

+1

不好的壞主意。 – jldupont 2009-11-27 01:14:14

+0

爲什麼這是一個壞主意? – TripShock 2009-11-27 12:13:24

+2

因爲它是一個標準字段,只能以標準方式進行操作。在兩個端點之間有很多網絡元素,當流量穿過像互聯網這樣的地方時更是如此。你永遠不知道什麼時候一些DPI(深度包檢測)裝備的機器將強制適用於某個領域的適當語義,即使是低使用率的領域。 – jldupont 2009-11-28 20:21:23

3

是:它被稱爲封裝在TCP服務器協議中的客戶端協議。

換句話說:定義客戶端協議,以滿足您的需求。不要試圖在TCP開銷中「推」額外的比特。


當然也有在TCP的「options」開銷,但我懷疑,你會發現一種簡單的方法來訪問這些......在任何情況下,你不應該。

0

不,沒有任何設施可以描述您所描述的內容。

通常如果你正在寫與其他系統的多個連接套接字應用程序,你要做的,就是跟蹤屬於每個遠程系統的套接字句柄的。在接收數據時,您使用套接字句柄(以某種形式,不知道您使用的是哪種操作系統或語言),以便您可以根據任何套接字句柄採取適當的操作。

我從來沒有看到跟蹤的基礎上的地址/端口的四元組連接的服務器應用程序。這似乎是太多的工作。

重讀你的問題,好像你可能會問這從視TCP驅動程序級別的點。你在這裏寫什麼軟件?

1

你可以在你的應用程序中的查找表,你的標籤與插座關聯。

0

在UDP中,目標IP和目標端口號用於解複用數據包,但是在TCP目標IP,源IP,目標端口號和源端口號(4元組)中都需要區分連接爲什麼推理爲此使用。