URG和PSH的區別與聯絡

2021-08-03 23:53:56 字數 1399 閱讀 5940

: 急指標是乙個正的偏移量,和序號欄位中的值相加表示緊急資料最後乙個位元組的序號。t c p的緊急方式是傳送端向另一端傳送緊急資料的一種方式。緊急指標指向包內資料段的某個位元組(資料從第一位元組到指標所指位元組就是緊急資料,不進入接收緩衝就直接交給上層程序,餘下的資料要進入接收緩衝的)

: 在乙個互動程式中,當客戶傳送乙個命令給伺服器時,它設定p u s h標誌並停下來等待伺服器的響應。通過允許客戶應用程式通知其t c p設定p u s h標誌,客戶程序通知t c p在向伺服器傳送乙個報文段時不要因等待額外資料而使已提交資料在快取中滯留。類似地,當伺服器的t c p接收到乙個設定了p u s h標誌的報文段時,它需要立即將這些資料(包括以前存中滯留的資料)遞交給伺服器程序而不能等待判斷是否還會有額外的資料到達。 psh=1,只對接收方的接收緩衝區起作用,傳送方通過使用push位來通知接收方將所有收到的資料立即提交給伺服器程序,而不需要等待額外資料(將快取填滿)而讓資料在快取中停留!這裡所說的資料報括與此push包一起傳輸的資料以及之前就為該程序傳輸過來的資料(滯留在快取中的資料)。

urg

緊急資料的起始點=序號;

緊急資料的終止點=序號+緊急指標;

(綜上,緊急指標就是記錄緊急資料的位元組數,緊急指標永遠為正數)

1)在緊急資料後面的資料為普通資料,需要按序快取

2)視窗為0也可以傳送緊急資料

3)緊急資料都處理完成後,tcp就告訴程序恢復到正常操作

例如,已經傳送了很長的乙個程式要在遠地的主機上執行。但後來發現了一些問題,需要取消程式的執行。因此使用者從鍵盤發出中斷命令(ctrl+c)。如果不使用緊急資料,那麼這兩個字元會被儲存在接受tcp的快取末尾。只有在所有的資料被處理完畢後這兩個字元才會被交付給接收方。這樣就浪費了很多時間。

urg強調的是直接讀取資料,我們不會將該資料複製到快取中,我個人認為,這個資料(緊急指標指向的資料)並不是真正意義上的」資料」,而是對真正意義上」資料」的一種操作.

psh

psh=1,該報文希望,到達對端時,將這個報文及快取區之間快取尚未交付的資料一併交付給程序。

1)psh的資料=本報文資料+快取區資料

2)psh的方向—>單方向(接收psh報文的一端)

psh強調的是盡快將資料交付給上層(協議),而不需要經過強迫資料互動(預設tcp/ip是將資料快取到一定的上限,再將資料遞交給上層,以提高網路效能).可見,該部分資料是需要複製到快取中的

區別

urg交付給程序的資料:只有緊急資料

psh交付給程序的資料:緩衝區排好序的資料及當前報文中的資料

兩者的共同點:都是一種對資料的處理方式.只不過urg是處理在前端(收到資料後立馬對真正意義上」資料」進行操作,所以說」緊急.而psh是在處理的後端,告訴核心,不用等待」滿了」再遞交資料遞交到上層

URG與PSH的聯絡和區別

1 urg緊急位 緊急資料的起始點 序號 緊急資料的終止點 序號 緊急指標 綜上,緊急指標就是記錄緊急資料的位元組數,緊急指標永遠為正數 1 在緊急資料後面的資料為普通資料,需要按序快取 2 視窗為0也可以傳送緊急資料 3 緊急資料都處理完成後,tcp就告訴程序恢復到正常操作 例如,已經傳送了很長的...

URG與PSH的區別及聯絡

tcp中有6個標誌位,分別為urg psh ack rst syn fin,每個標誌位都有其特殊的含義,現重點討論urg與psh這兩個標誌位 含義 urg 表示本報文段中傳送的資料是否包含緊急資料,當urg 1,表示有緊急資料,後面的緊急指標字段只有當urg 1時才有效 psh 告訴對方收到該報文段...

URG和PSH的區別及聯絡

tcp協議頭部一共有六個控制位 其中包括urg ack psh rst syn fin.1 緊急urg緊急指標,告訴接受tcp模組緊要指標域指著緊要資料 2 推送psh置1時請求的資料段在接收方得到後就可直接送達應用程式,而不必等到緩衝區滿時才傳送 3 復位rst置1時重新連線。如果接收到rst位,...