免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
TCP報(bào)文結(jié)構(gòu)

源端口、目標(biāo)端口:計(jì)算機(jī)上的進(jìn)程要和其他進(jìn)程通信是要通過計(jì)算機(jī)端口的,而一個(gè)計(jì)算機(jī)端口某個(gè)時(shí)刻只能被一個(gè)進(jìn)程占用,所以通過指定源端口和目標(biāo)端口,就可以知道是哪兩個(gè)進(jìn)程需要通信。源端口、目標(biāo)端口是用16位表示的,可推算計(jì)算機(jī)的端口個(gè)數(shù)為2^16個(gè)。

序列號:表示本報(bào)文段所發(fā)送數(shù)據(jù)的第一個(gè)字節(jié)的編號。在TCP連接中所傳送的字節(jié)流的每一個(gè)字節(jié)都會按順序編號。由于序列號由32位表示,所以每2^32個(gè)字節(jié),就會出現(xiàn)序列號回繞,再次從 0 開始。那如何區(qū)分兩個(gè)相同序列號的不同TCP報(bào)文段就是一個(gè)問題了,后面會有答案,暫時(shí)可以不管。

確認(rèn)號:表示接收方期望收到發(fā)送方下一個(gè)報(bào)文段的第一個(gè)字節(jié)數(shù)據(jù)的編號。也就是告訴發(fā)送發(fā):我希望你(指發(fā)送方)下次發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)數(shù)據(jù)的編號是這個(gè)確認(rèn)號。也就是告訴發(fā)送方:我希望你(指發(fā)送方)下次發(fā)送給我的TCP報(bào)文段的序列號字段的值是這個(gè)確認(rèn)號。

TCP首部長度:由于TCP首部包含一個(gè)長度可變的選項(xiàng)部分,所以需要這么一個(gè)值來指定這個(gè)TCP報(bào)文段到底有多長。或者可以這么理解:就是表示TCP報(bào)文段中數(shù)據(jù)部分在整個(gè)TCP報(bào)文段中的位置。該字段的單位是32位字,即:4個(gè)字節(jié)。

URG:表示本報(bào)文段中發(fā)送的數(shù)據(jù)是否包含緊急數(shù)據(jù)。URG=1,表示有緊急數(shù)據(jù)。后面的緊急指針字段只有當(dāng)URG=1時(shí)才有效。

ACK:表示是否前面的確認(rèn)號字段是否有效。ACK=1,表示有效。只有當(dāng)ACK=1時(shí),前面的確認(rèn)號字段才有效。TCP規(guī)定,連接建立后,ACK必須為1。

PSH:告訴對方收到該報(bào)文段后是否應(yīng)該立即把數(shù)據(jù)推送給上層。如果為1,則表示對方應(yīng)當(dāng)立即把數(shù)據(jù)提交給上層,而不是緩存起來。

RST:只有當(dāng)RST=1時(shí)才有用。如果你收到一個(gè)RST=1的報(bào)文,說明你與主機(jī)的連接出現(xiàn)了嚴(yán)重錯誤(如主機(jī)崩潰),必須釋放連接,然后再重新建立連接。或者說明你上次發(fā)送給主機(jī)的數(shù)據(jù)有問題,主機(jī)拒絕響應(yīng)。

SYN:在建立連接時(shí)使用,用來同步序號。當(dāng)SYN=1,ACK=0時(shí),表示這是一個(gè)請求建立連接的報(bào)文段;當(dāng)SYN=1,ACK=1時(shí),表示對方同意建立連接。SYN=1,說明這是一個(gè)請求建立連接或同意建立連接的報(bào)文。只有在前兩次握手中SYN才置為1。

FIN:標(biāo)記數(shù)據(jù)是否發(fā)送完畢。如果FIN=1,就相當(dāng)于告訴對方:“我的數(shù)據(jù)已經(jīng)發(fā)送完畢,你可以釋放連接了”

窗口大小:表示現(xiàn)在運(yùn)行對方發(fā)送的數(shù)據(jù)量。也就是告訴對方,從本報(bào)文段的確認(rèn)號開始允許對方發(fā)送的數(shù)據(jù)量。

校驗(yàn)和:提供額外的可靠性。具體如何校驗(yàn),參考其他資料。

緊急指針:標(biāo)記緊急數(shù)據(jù)在數(shù)據(jù)字段中的位置。

選項(xiàng)部分:其最大長度可根據(jù)TCP首部長度進(jìn)行推算。TCP首部長度用4位表示,那么選項(xiàng)部分最長為:(2^4-1)*4-20=40字節(jié)。

選項(xiàng)部分的應(yīng)用

  1. MSS最大報(bào)文段長度(Maxium Segment Size):指明數(shù)據(jù)字段的最大長度,數(shù)據(jù)字段的長度加上TCP首部的長度才等于整個(gè)TCP報(bào)文段的長度。MSS值指示自己期望對方發(fā)送TCP報(bào)文段時(shí)那個(gè)數(shù)據(jù)字段的長度。通信雙方可以有不同的MSS值。如果未填寫,默認(rèn)采用536字節(jié)。MSS只出現(xiàn)在SYN報(bào)文中。即:MSS出現(xiàn)在SYN=1的報(bào)文段中。
  2. 窗口擴(kuò)大選項(xiàng)(Windows Scaling):由于TCP首部的窗口大小字段長度是16位,所以其表示的最大數(shù)是65535。但是隨著時(shí)延和帶寬比較大的通信產(chǎn)生(如衛(wèi)星通信),需要更大的窗口來滿足性能和吞吐率,所以產(chǎn)生了這個(gè)窗口擴(kuò)大選項(xiàng)。
  3. SACK選擇確認(rèn)項(xiàng)(Selective Acknowledgements):用來確保只重傳缺少的報(bào)文段,而不是重傳所有報(bào)文段。比如主機(jī)A發(fā)送報(bào)文段1、2、3,而主機(jī)B僅收到報(bào)文段1、3。那么此時(shí)就需要使用SACK選項(xiàng)來告訴發(fā)送方只發(fā)送丟失的數(shù)據(jù)。那么又如何指明丟失了哪些報(bào)文段呢?使用SACK需要兩個(gè)功能字節(jié)。一個(gè)表示要使用SACK選項(xiàng),另一個(gè)指明這個(gè)選項(xiàng)占用多少字節(jié)。描述丟失的報(bào)文段2,是通過描述它的左右邊界報(bào)文段1、3來完成的。而這個(gè)1、3實(shí)際上是表示序列號,所以描述一個(gè)丟失的報(bào)文段需要64位即8個(gè)字節(jié)的空間。那么可以推算整個(gè)選項(xiàng)字段最多描述(40-2)/8=4個(gè)丟失的報(bào)文段。
  4. 時(shí)間戳選項(xiàng)(Timestamps):可以用來計(jì)算RTT(往返時(shí)間),發(fā)送方發(fā)送TCP報(bào)文時(shí),把當(dāng)前的時(shí)間值放入時(shí)間戳字段,接收方收到后發(fā)送確認(rèn)報(bào)文時(shí),把這個(gè)時(shí)間戳字段的值復(fù)制到確認(rèn)報(bào)文中,當(dāng)發(fā)送方收到確認(rèn)報(bào)文后即可計(jì)算出RTT。也可以用來防止回繞序號PAWS,也可以說可以用來區(qū)分相同序列號的不同報(bào)文。因?yàn)樾蛄刑栍?2為表示,每2^32個(gè)序列號就會產(chǎn)生回繞,那么使用時(shí)間戳字段就很容易區(qū)分相同序列號的不同報(bào)文。
  5. NOP(NO-Operation):它要求選項(xiàng)部分中的每種選項(xiàng)長度必須是4字節(jié)的倍數(shù),不足的則用NOP填充。同時(shí)也可以用來分割不同的選項(xiàng)字段。如窗口擴(kuò)大選項(xiàng)和SACK之間用NOP隔開。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Wireshark抓包分析TCP協(xié)議
結(jié)合Wireshark捕獲分組深入理解TCP/IP協(xié)議棧之TCP協(xié)議(TCP報(bào)文格式+三次握手實(shí)例)
tcpip詳解筆記(15) TCP協(xié)議連接過程
《TCP/IP詳解卷1:協(xié)議》第17、18章 TCP:傳輸控制協(xié)議(2)-讀書筆記
詳解TCP和UDP數(shù)據(jù)段的首部格式
基礎(chǔ)教程:TCP連接的建立和釋放(1) | 越知我
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服