tcp首部包括哪些字段 分析這個tcp報文段首部各字段的值,并說明每個字段表示什么含義045 00 50 2e 7c 8?
分析這個tcp報文段首部各字段的值,并說明每個字段表示什么含義045 00 50 2e 7c 8?如果是消息的前幾個字節(jié),則非常簡單,如下圖所示:前兩個字節(jié)0450是源端口號,注意它是十六進制的,用十
分析這個tcp報文段首部各字段的值,并說明每個字段表示什么含義045 00 50 2e 7c 8?
如果是消息的前幾個字節(jié),則非常簡單,如下圖所示:
前兩個字節(jié)0450是源端口號,注意它是十六進制的,用十進制表示1104
三個或四個字節(jié)0502,十進制是1280
最后兩個字節(jié)是發(fā)送數(shù)據(jù)的序列號,它應該占用四個字節(jié)。你不需要數(shù)這兩個字節(jié),這是沒有意義的。
TCP報文段首部的六個控制位的作用分別是什么?
TCP消息段分為兩部分:報頭和數(shù)據(jù)。TCP消息段的前20個字節(jié)是固定的,最后4N個字節(jié)根據(jù)需要添加(n是整數(shù))。因此,TCP報頭的最小長度是20字節(jié)。報頭固定部分字段含義如下:源端口和目的端口:各2字節(jié),分別寫入源端口號和目的端口號。序列號:4字節(jié)。序列號使用mod操作。TCP是面向字節(jié)流的。TCP連接中傳輸?shù)淖止?jié)流中的每個字節(jié)都按順序編號。因此,此字段也稱為“消息段序列號”。確認序列號:4字節(jié),為對方預期接收的下一報文段第一個數(shù)據(jù)字節(jié)的序列號。如果確認序列號為n,則表示序列號n-1之前的所有數(shù)據(jù)都已正確接收。數(shù)據(jù)偏移量:4位,表示TCP報文段第一部分的長度。注意,“數(shù)據(jù)偏移量”的單位是32位字(即4字節(jié)字)。因此,TCP報頭的最大長度是60字節(jié)。保留:6位,保留供將來使用,當前設置為0;緊急urg:當urg=1時,緊急指針字段有效。此時,發(fā)送方TCP將緊急數(shù)據(jù)插入到該報表中數(shù)據(jù)的前面,而緊急數(shù)據(jù)后面的數(shù)據(jù)仍然是普通數(shù)據(jù)。ACK確認:當ACK=1時,確認字段有效。當ack=0時,確認號無效。TCP規(guī)定,在建立連接后,對于傳輸?shù)乃邢⒍危琣ck必須設置為1。Push-PSH:接收TCP接收PSH=1的消息段,并盡快將其傳遞到接收應用程序進程,而不是等到整個緩存都滿了才將其傳遞。重置RST:當RST=1時,表示TCP連接中存在嚴重錯誤,必須先釋放連接,然后才能重新建立傳輸連接。同步同步:用于在建立連接時同步序列號。當syn=1和ACK=0時,表示這是一個連接請求消息段。如果另一方同意建立連接,則應在響應消息段中設置syn=1和ACK=1。因此,如果SYN設置為1,則表示這是連接請求和連接接收消息。終止鰭:用于釋放連接。當fin=1時,表示該報文段發(fā)送方的數(shù)據(jù)已經(jīng)發(fā)送,需要釋放傳輸連接。窗口:2字節(jié)。窗口值用作接收方允許發(fā)送方設置其發(fā)送窗口的基礎。校驗和:2字節(jié)。檢驗和現(xiàn)場檢驗的范圍包括表頭和數(shù)據(jù)。與UDP數(shù)據(jù)報一樣,在計算校驗和時,應該在TCP消息段前面添加12字節(jié)的偽報頭。偽報頭的格式與UDP用戶數(shù)據(jù)報的格式相同,但偽報頭第四個字段中的17應更改為6(協(xié)議號),第五個字段中的UDP長度應更改為TCP長度。緊急指針:2字節(jié)。緊急指針只有在urg=1時才有意義。它表示本文中緊急數(shù)據(jù)的字節(jié)數(shù)。