0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP頭部格式是什么

麥辣雞腿堡 ? 來源:盼盼編程 ? 作者:盼盼編程 ? 2023-10-08 16:45 ? 次閱讀

在學(xué)習(xí) TCP 連接之前,還要學(xué)習(xí)一下 TCP 頭部格式。因?yàn)?TCP 連接建立,需要用 TCP 包來交換和管理數(shù)據(jù),下面看一下 TCP頭部格式。

圖片

TCP 頭部里每個(gè)字段都為管理 TCP 連接和控制數(shù)據(jù)流起了重要作用。

16 位端口號(hào):告知主機(jī)該報(bào)文段是來自哪里(源端口)以及傳給哪個(gè)上層協(xié)議或應(yīng)用程序(目的端口)的。

進(jìn)行 TCP 通信時(shí),客戶端通常使用系統(tǒng)自動(dòng)選擇的臨時(shí)端口號(hào),而服務(wù)器則使用知名服務(wù)端口號(hào)。所有知名服務(wù)使用的端口號(hào)都定義在/etc/services 文件中。

32 位序號(hào)(sequence number):一次 TCP 通信(從 TCP 連接建立到斷開)過程中個(gè)傳輸方向上的字節(jié)流的每個(gè)字節(jié)的編號(hào)。

32 位確認(rèn)號(hào)(acknowledgement number):用作對(duì)另一方發(fā)送來的 TCP 報(bào)文段的響應(yīng)其值是收到的 TCP 報(bào)文段的序號(hào)值加1。

4 位頭部長度(header length):標(biāo)識(shí)該 TCP 頭部有多少個(gè) 32bit ( 4 Byte 因?yàn)樽畲竽鼙硎?15 ,所以 TCP頭部最長是 60 Byte。

6 位標(biāo)志位包含如下幾項(xiàng):

URG 標(biāo)志,表示緊急指針是否有效。

ACK 標(biāo)志,表示確認(rèn)號(hào)是否有效,一般稱攜帶 ACK 標(biāo)志的 TCP 報(bào)文段為“確認(rèn)報(bào)文段”。

PSH 標(biāo)志,提示接收端應(yīng)用程序應(yīng)該立即從 TCP 接收緩沖區(qū)中讀走數(shù)據(jù),為接收后續(xù)數(shù)據(jù)騰出空間(如果應(yīng)用程序不將接收到的數(shù)據(jù)讀走,它們就會(huì)直停留在TCP 接收緩沖區(qū)中)。

RST 標(biāo)志,表示要求對(duì)方重新建立連接,一般稱攜帶 RST 標(biāo)志的 TCP 報(bào)文段為“復(fù)位報(bào)文段”。

SYN 標(biāo)志,表示請(qǐng)求建立 個(gè)連接,一般稱攜帶 SYN 標(biāo)志的 TCP 報(bào)文段為“同步報(bào)文段”。FIN 標(biāo)志,表示通知對(duì)方本端要關(guān)閉連接了,一般稱攜帶FIN 標(biāo)志的 TCP 報(bào)文段為“結(jié)束報(bào)文段”。

16 位窗口大小(window size):是 TCP 流量控制的一個(gè)手段。這里說的窗口,指的是接收通告窗口( Receiver Window,RWND)。它告訴對(duì)方本端的 TCP 接收緩沖區(qū)還能容納多少字節(jié)的數(shù)據(jù),這樣方就可以控制發(fā)送數(shù)據(jù)的速度。

16 位校驗(yàn)和(TCP checksum):由發(fā)送端填充,接收端對(duì) TCP 報(bào)文段執(zhí)行 CRC 算法,以檢驗(yàn) TCP 報(bào)文段在傳輸過程中是否損壞。注意,這個(gè)校驗(yàn)不僅包括 TCP 頭部,也包括數(shù)據(jù)部分。這也是 TCP 可靠傳輸?shù)囊粋€(gè)重要保障。

16 位緊急指針(urgent pointer):是一個(gè)正的偏移量。它和序號(hào)字段的值相加表示最后一個(gè)緊急數(shù)據(jù)的下一字節(jié)的序號(hào)。確切地說,這個(gè)字段是緊急指針相對(duì)當(dāng)前序號(hào)的偏移,不妨稱之為“緊急偏移”。TCP 的緊急指針是發(fā)送端向接收端發(fā)送緊急數(shù)據(jù)的方法。

綜上,你需要注意如下幾點(diǎn):

TCP 的包是沒有 IP 地址的,那是 IP 層上的事,但是有源端口和目的端口。

一個(gè)TCP 連接需要四元組( src_ip,src_port,dst_ip,dst_port )來表示是同一個(gè)連接 準(zhǔn)確說是五元組,還有一個(gè)是協(xié)議但因?yàn)檫@里只是強(qiáng)調(diào) TCP 協(xié)議,所以,只說四元組。

圖片

Sequence Number 是包的序號(hào),用來解決網(wǎng)絡(luò)包亂序(reordering )問題。

Acknowledgement Number 就是 ACK ,用于確認(rèn)收到,用來解決不丟包的問題。

Window Advertised Window ,也就是著名 的滑動(dòng)窗口 Sliding Window ),用于解決流量控制問題。

TCP Flag ,也就是包的類型,主要是用于操控 TCP 的狀態(tài)機(jī)的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6032

    瀏覽量

    135995
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7565

    瀏覽量

    88792
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79077
  • 接收端
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    8500
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TCP協(xié)議如何優(yōu)化

    Control Protocol / Internet Protocol) TCP傳輸控制協(xié)議指一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。 下面我們會(huì)先回顧一下其報(bào)文格式,三次握手,四次揮手
    的頭像 發(fā)表于 10-08 15:15 ?1469次閱讀
    <b class='flag-5'>TCP</b>協(xié)議如何優(yōu)化

    TCP協(xié)議詳細(xì)解析

    TCPTCP/IP協(xié)議族中一個(gè)最核心的協(xié)議,它向下使用網(wǎng)絡(luò)層IP協(xié)議,向上為應(yīng)用層HTTP、FTP、SMTP、POP3、SSH、Telnet等協(xié)議提供支持。本文給出TCP報(bào)文格式的詳
    的頭像 發(fā)表于 11-03 09:14 ?4409次閱讀
    <b class='flag-5'>TCP</b>協(xié)議詳細(xì)解析

    大俠 求助啊 關(guān)于TCP模塊中的數(shù)據(jù)格式

    最近想要使用tcp模塊與下位機(jī)通訊,但是發(fā)現(xiàn)tcp模塊收發(fā)數(shù)據(jù)都只能是字符串格式的。那這樣一來的話我發(fā)數(shù)據(jù)到下位機(jī)的時(shí)候 下位機(jī)接受到的是數(shù)據(jù)字符的ASCII碼值。 這該怎么解決啊 ?
    發(fā)表于 06-27 20:59

    圖中的箭頭部分是什么意思

    圖中的箭頭部分是什么意思
    發(fā)表于 12-11 18:36

    請(qǐng)問SIM800C AT HTTP和ONENET提交數(shù)據(jù)的head頭部怎么處理?

    采用 官方的 推薦的測(cè)試工具 fiddler測(cè)試API已經(jīng)測(cè)試成功,數(shù)據(jù)成功提交,也返回了 結(jié)果正確的響應(yīng);但是在SIM800C 中 如果 用 AT HTTP的方式 好像是 沒有 填充 頭部head
    發(fā)表于 05-07 02:46

    labview采用TCP傳輸數(shù)據(jù)時(shí)轉(zhuǎn)化字符串的編碼格式是哪種?

    labview采用TCP傳輸數(shù)據(jù),需要先進(jìn)行字符串轉(zhuǎn)化,平化或者強(qiáng)制轉(zhuǎn)換,請(qǐng)問轉(zhuǎn)換的字符串采用哪種編碼格式:ASCII、GBK、Unicode、UTF-8。網(wǎng)上查資料有兩種觀點(diǎn):(1)默認(rèn)情況下
    發(fā)表于 08-22 13:35

    tcp報(bào)文格式詳解

    TCP(Transmission ControProtocol)傳輸控制協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。TCP報(bào)文是TCP層傳輸?shù)臄?shù)據(jù)單元,也稱為報(bào)文段。
    發(fā)表于 12-08 11:11 ?3.3w次閱讀
    <b class='flag-5'>tcp</b>報(bào)文<b class='flag-5'>格式</b>詳解

    TCP IP相關(guān)知識(shí)的詳細(xì)資料說明免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是TCP IP相關(guān)知識(shí)的詳細(xì)資料說明免費(fèi)下載。主要內(nèi)容包括了:TCP報(bào)文格式,TCP通信過程,ICMP協(xié)議。
    發(fā)表于 12-05 11:19 ?19次下載
    <b class='flag-5'>TCP</b> IP相關(guān)知識(shí)的詳細(xì)資料說明免費(fèi)下載

    tcp和udp協(xié)議的異同

    。UDP 校驗(yàn)和則是包含 UDP 首部和數(shù)據(jù)在內(nèi)的校驗(yàn)結(jié)果。 TCP協(xié)議 TCP協(xié)議基于網(wǎng)絡(luò)層的 IP 協(xié)議提供的是有連接、可靠服務(wù),是基于字節(jié)流的。TCP協(xié)議包括了超時(shí)重傳、流量控制、差錯(cuò)控制等服務(wù)。
    的頭像 發(fā)表于 11-12 14:45 ?4087次閱讀
    <b class='flag-5'>tcp</b>和udp協(xié)議的異同

    tcp數(shù)據(jù)包接口封裝的介紹

    TCP報(bào)文格式 TCP協(xié)議有著自己的數(shù)據(jù)包格式,這里把TCP的數(shù)據(jù)包稱為報(bào)文段(segment),TCP
    的頭像 發(fā)表于 03-22 09:39 ?3482次閱讀
    <b class='flag-5'>tcp</b>數(shù)據(jù)包接口封裝的介紹

    詳解TCP報(bào)文的頭部結(jié)構(gòu)

    可以看成是一種字節(jié)流,它會(huì)處理IP層或以下的層的丟包、重復(fù)以及錯(cuò)誤問題。在連接的建立過程中,雙方需要交換一些連接的參數(shù)。這些參數(shù)可以放在TCP頭部。一個(gè)TCP連接由一個(gè)4元組構(gòu)成,分別是兩個(gè)IP地址
    的頭像 發(fā)表于 05-05 15:08 ?6787次閱讀

    如何解釋TCP報(bào)文的內(nèi)容

    TCP協(xié)議有著自己的數(shù)據(jù)包格式,這里把TCP的數(shù)據(jù)包稱為報(bào)文段(segment),TCP報(bào)文段封裝在IP數(shù)據(jù)報(bào)中發(fā)送,TCP報(bào)文段由
    的頭像 發(fā)表于 08-31 09:12 ?2803次閱讀

    TCP協(xié)議網(wǎng)絡(luò)安全攻擊

    本篇主要介紹TCP協(xié)議的概念、主要功能、主要特點(diǎn)、報(bào)文格式以及相應(yīng)的工作方式
    的頭像 發(fā)表于 04-07 11:40 ?898次閱讀
    <b class='flag-5'>TCP</b>協(xié)議網(wǎng)絡(luò)安全攻擊

    TCP 協(xié)議深度解析

    頭部信息,此處是 TCP 協(xié)議 Hypertext Transfer Protocol:應(yīng)用層 HTTP 的信息 網(wǎng)絡(luò)分層 應(yīng)用層(Application Layer) 應(yīng)用層的本質(zhì)是規(guī)定了應(yīng)用程序之間如何相互傳遞報(bào)文, 以
    的頭像 發(fā)表于 11-09 11:19 ?961次閱讀
    <b class='flag-5'>TCP</b> 協(xié)議深度解析

    關(guān)于TCP協(xié)議總結(jié)的硬核干貨

    本文給出TCP報(bào)文格式的詳細(xì)說明,介紹網(wǎng)絡(luò)數(shù)據(jù)包傳遞中如何進(jìn)行地址解析、建立TCP連接的三次握手過程以及斷開TCP連接的四次揮手過程。
    發(fā)表于 11-17 09:26 ?518次閱讀
    關(guān)于<b class='flag-5'>TCP</b>協(xié)議總結(jié)的硬核干貨