1……tcp out-of-order(tcp有問題)
2……tcp segment of a reassembled pdu
3……tcp previous segment lost(tcp先前的分片丟失)
4……tcp acked lost segment(tcp應答丟失)
5……tcp window update(tcp視窗更新)
6……tcp dup ack(tcp重複應答)
7……tcp keep alive(tcp保持活動)
8……tcp retransmission(tcp 重傳)
在tcp層,有個flags欄位,這個欄位有以下幾個標識:syn, fin, ack, psh, rst, urg.
其中,對於我們日常的分析有用的就是前面的五個字段。
它們的含義是:
urg:urget pointer is valid (緊急指標字段值有效)
syn: 表示建立連線
fin: 表示關閉連線
ack: 表示響應
psh: 表示有 data資料傳輸
rst: 表示連線重置。
其中,ack是可能與syn,fin等同時使用的,比如syn和ack可能同時為1,它表示的就是建立連線之後的響應,如果只是單個的乙個syn,它表示的只是建立連線。tcp的幾次握手就是通過這樣的ack表現出來的。但syn與fin是不會同時為1的,因為前者表示的是建立連線,而後者表示的是斷開連線。rst一般是在fin之後才會出現為1的情況,表示的是連線重置。一般地,當出現fin包或rst包時,我們便認為客戶端與伺服器端斷開了連線;而當出現syn和syn+ack包時,我們認為客戶端與伺服器建立了乙個連線。psh為1的情況,一般只出現在 data內容不為0的包中,也就是說psh為1表示的是有真正的tcp資料報內容被傳遞。
tcp傳輸通訊時的幾個狀態
tcp window update
tcpprevious segment lost
tcpdup
ack ***x#x;
tcpretransmission
tcp previous segment lost
,它告訴傳送方資料段丟失;
tcp dup
ack ***x#x
則代表了資料段丟失
tcp狀態,
***x
代表資料丟失的位置,
#後代表第幾次丟失;而
tcp retransmission
則代表重發丟失資料。 在
tcp第三次握手完成後,發現會出現乙個
tcp window update
,如圖3-11
所示:
圖3-11
tcp window update
是tcp
通訊中的乙個狀態,它可以發生的原因有很多,但最終歸結於傳送者傳輸資料的速度比接收者讀取的資料還快,這使得接受端的在緩衝區必須釋放一部分空間來裝傳送過來的資料,然後向傳送者傳送
windows update
,告訴給傳送者應該以多大的速度傳送資料,從而使得資料傳輸與接受恢復正常。
我們可以從下面幾個比較明顯的例子可以看出來。
從圖3-14
可以看到
ack=7743
,len=0
;而4832
的seq=9887
,故中間有資料報丟失,所以
211.144.69.242
(設定為a)向
10.10.80.54
(設定為
b)傳送
tcp previous segment lost
,說明資料丟失。
4843
行顯示b向a
傳送資料報,告訴
a包丟失之前(即
4841
)的ack
資訊。圖
3-15
又出現了資料報丟失。(圖
3-16
)4852
行則顯示
tcp通訊的狀態
tcp fast retransmission
,表示快速重傳。
HQL查詢中取個別幾個字段
資料表 要求 查詢type為4001,以content分組,本計算不重複的pcinfoid mysql語句 select count distinct pcinfoid as count,content,time from vrv paw reportlog where type 4001 grou...
http中有關快取相關的幾個字段
自 expires cache control last modified etag是rfc 2616 http 1.1 協議中和網頁快取相關的幾個字段。前兩個用來控制快取的失效日期,後兩個用來驗證網頁的有效性。要注意的是,http 1.0有乙個功能比較弱的快取控制機制 pragma,使用http ...
double佔幾個位元組
16位編譯器 char 1個位元組 char 即指標變數 2個位元組 short int 2個位元組 int 2個位元組 unsigned int 2個位元組 float 4個位元組 double 8個位元組 long 4個位元組 long long 8個位元組 unsigned long 4個位元...