91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 傳感與控制

數據偏移

發布時間:2014/9/5 21:09:25 訪問次數:3625

   確認號    占4字節,是期望OPA547F收到對方下一個報文段的第一個數據字節的序號。例如,B正確收到了A發送過來的一個報文段,其序號字段值是501,而數據長度是200字節(序號501~700),這表明B正確收到了A發送的到序號700為止的數據。因此,B期望

收到A的下一個數據序號是701,于是B在發送給A的確認報文段中把確認號置為701。請注意,現在的確認號不是501,也不是700,而是701。

   總之,應當記住:

   由于序號字段有32位長,可對4 GB(即4千兆字節l的數據進行編號。在一般情況下可保證當序號重復使用時,1日序號的數據早已通過網絡到達終點了。

   數據偏移    占4位,它指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠。這個字段實際上是指出TCP報文段的首部長度。由于首部中還有長度不確定的選項字段,因此數據偏移字段是必要的。但應注意,“數據偏移”的單位是32位字(即以4字節長的字為計算單位)。由于4位二進制數能夠表示的最大十進制數字是15,因此數搌偏移的最大值是60字節,這也是TCP首部的最大長度(即選項長度不能超過40字節)。

   保留    占6位,保留為今后使用,但目前應置為O。

   下面有6個控制位說明本報文段的性質,它們的意義見下面的(7)~(12)。

   緊急URG (URGent)    當URG=1時,表明緊急指針字段有效。它告訴系統此報文段中有緊急數據,應盡快傳送(相當于高優先級的數據),而不要按原來的排隊順序來傳送。例如,已經發送了很長的一個程序要在遠地的主機上運行。但后來發現了一些問題,需要取消該程序的運行。因此用戶從鍵盤發出中斷命令(Control+C)。如果不使用緊急數據,那么這兩個字符將存儲在接收TCP的緩存末尾。只有在所有的數據被處理完畢后這兩個字符才被交付接收方的應用進程。這樣做就浪費了許多時間。

   當URG置1時,發送應用進程就告訴發送方的TCP有緊急數據要傳送。于是發送方TCP就把緊急數據插入到本報文段數據的最前面,而在緊急數據后面的數據仍是普通數據。這時要與首部中緊急指針(Urgent Pointer)字段配合使用。

   確認ACK (ACKnowlegment)    僅當ACK=1時確認號字段才有效。當ACK=0時,確認號無赦。TCP規定,在連接建立后所有傳送的報文段都必須把ACK置1。

   推送PSH (PuSH)  當兩個應用進程進行交互式的通信時,有時在一端的應用進程希望在鍵入一個命令后立即就能夠收到對方的響應。在這種情況下,TCP就可以使用推送(push)操作。這時,發送方TCP把PSH置1,并立即創建一個報文段發送出去。接收方

TCP收到PSH:l的報文段,就盡快地(即“推送”向前)交付接收應用進程,而不再等到整個緩存都填滿了后再向上交付。

   確認號    占4字節,是期望OPA547F收到對方下一個報文段的第一個數據字節的序號。例如,B正確收到了A發送過來的一個報文段,其序號字段值是501,而數據長度是200字節(序號501~700),這表明B正確收到了A發送的到序號700為止的數據。因此,B期望

收到A的下一個數據序號是701,于是B在發送給A的確認報文段中把確認號置為701。請注意,現在的確認號不是501,也不是700,而是701。

   總之,應當記住:

   由于序號字段有32位長,可對4 GB(即4千兆字節l的數據進行編號。在一般情況下可保證當序號重復使用時,1日序號的數據早已通過網絡到達終點了。

   數據偏移    占4位,它指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠。這個字段實際上是指出TCP報文段的首部長度。由于首部中還有長度不確定的選項字段,因此數據偏移字段是必要的。但應注意,“數據偏移”的單位是32位字(即以4字節長的字為計算單位)。由于4位二進制數能夠表示的最大十進制數字是15,因此數搌偏移的最大值是60字節,這也是TCP首部的最大長度(即選項長度不能超過40字節)。

   保留    占6位,保留為今后使用,但目前應置為O。

   下面有6個控制位說明本報文段的性質,它們的意義見下面的(7)~(12)。

   緊急URG (URGent)    當URG=1時,表明緊急指針字段有效。它告訴系統此報文段中有緊急數據,應盡快傳送(相當于高優先級的數據),而不要按原來的排隊順序來傳送。例如,已經發送了很長的一個程序要在遠地的主機上運行。但后來發現了一些問題,需要取消該程序的運行。因此用戶從鍵盤發出中斷命令(Control+C)。如果不使用緊急數據,那么這兩個字符將存儲在接收TCP的緩存末尾。只有在所有的數據被處理完畢后這兩個字符才被交付接收方的應用進程。這樣做就浪費了許多時間。

   當URG置1時,發送應用進程就告訴發送方的TCP有緊急數據要傳送。于是發送方TCP就把緊急數據插入到本報文段數據的最前面,而在緊急數據后面的數據仍是普通數據。這時要與首部中緊急指針(Urgent Pointer)字段配合使用。

   確認ACK (ACKnowlegment)    僅當ACK=1時確認號字段才有效。當ACK=0時,確認號無赦。TCP規定,在連接建立后所有傳送的報文段都必須把ACK置1。

   推送PSH (PuSH)  當兩個應用進程進行交互式的通信時,有時在一端的應用進程希望在鍵入一個命令后立即就能夠收到對方的響應。在這種情況下,TCP就可以使用推送(push)操作。這時,發送方TCP把PSH置1,并立即創建一個報文段發送出去。接收方

TCP收到PSH:l的報文段,就盡快地(即“推送”向前)交付接收應用進程,而不再等到整個緩存都填滿了后再向上交付。

相關技術資料
9-5數據偏移

熱門點擊

 

推薦技術資料

滑雪繞樁機器人
   本例是一款非常有趣,同時又有一定調試難度的玩法。EDE2116AB... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
育儿| 肇庆市| 玉屏| 博兴县| 醴陵市| 迁西县| 石嘴山市| 顺昌县| 英山县| 抚远县| 塔河县| 南靖县| 喀喇沁旗| 石家庄市| 永善县| 上虞市| 白玉县| 绥宁县| 南城县| 肥乡县| 缙云县| 丹江口市| 华亭县| 白玉县| 彭州市| 台安县| 涡阳县| 乌海市| 勃利县| 三江| 河津市| 永清县| 大厂| 元朗区| 桂平市| 林芝县| 纳雍县| 水城县| 三亚市| 泽库县| 永州市|