2018-09-28關(guān)于tcp報(bào)文詳解

TCP報(bào)文是TCP層傳輸?shù)臄?shù)據(jù)單元醇份,也叫報(bào)文段稼锅。

image.png

1、端口號:用來標(biāo)識同一臺計(jì)算機(jī)的不同的應(yīng)用進(jìn)程僚纷。

1)源端口:源端口和IP地址的作用是標(biāo)識報(bào)文的返回地址矩距。

2)目的端口:端口指明接收方計(jì)算機(jī)上的應(yīng)用程序接口。

TCP報(bào)頭中的源端口號和目的端口號同IP數(shù)據(jù)報(bào)中的源IP與目的IP唯一確定一條TCP連接怖竭。

2锥债、序號和確認(rèn)號:是TCP可靠傳輸?shù)年P(guān)鍵部分。序號是本報(bào)文段發(fā)送的數(shù)據(jù)組的第一個(gè)字節(jié)的序號痊臭。在TCP傳送的流中哮肚,每一個(gè)字節(jié)一個(gè)序號。e.g.一個(gè)報(bào)文段的序號為300广匙,此報(bào)文段數(shù)據(jù)部分共有100字節(jié)允趟,則下一個(gè)報(bào)文段的序號為400。所以序號確保了TCP傳輸?shù)挠行蛐匝恢隆4_認(rèn)號潮剪,即ACK涣楷,指明下一個(gè)期待收到的字節(jié)序號,表明該序號之前的所有數(shù)據(jù)已經(jīng)正確無誤的收到鲁纠。確認(rèn)號只有當(dāng)ACK標(biāo)志為1時(shí)才有效总棵。比如建立連接時(shí),SYN報(bào)文的ACK標(biāo)志位為0改含。

3情龄、數(shù)據(jù)偏移/首部長度:4bits。由于首部可能含有可選項(xiàng)內(nèi)容捍壤,因此TCP報(bào)頭的長度是不確定的骤视,報(bào)頭不包含任何任選字段則長度為20字節(jié),4位首部長度字段所能表示的最大值為1111鹃觉,轉(zhuǎn)化為10進(jìn)制為15专酗,15*32/8 = 60,故報(bào)頭最大長度為60字節(jié)盗扇。首部長度也叫數(shù)據(jù)偏移祷肯,是因?yàn)槭撞块L度實(shí)際上指示了數(shù)據(jù)區(qū)在報(bào)文段中的起始偏移值。

4疗隶、保留:為將來定義新的用途保留佑笋,現(xiàn)在一般置0。

5斑鼻、控制位:URG ACK PSH RST SYN FIN蒋纬,共6個(gè),每一個(gè)標(biāo)志位表示一個(gè)控制功能坚弱。

1)URG:緊急指針標(biāo)志蜀备,為1時(shí)表示緊急指針有效,為0則忽略緊急指針荒叶。

2)ACK:確認(rèn)序號標(biāo)志碾阁,為1時(shí)表示確認(rèn)號有效,為0表示報(bào)文中不含確認(rèn)信息些楣,忽略確認(rèn)號字段脂凶。

3)PSH:push標(biāo)志,為1表示是帶有push標(biāo)志的數(shù)據(jù)戈毒,指示接收方在接收到該報(bào)文段以后烁峭,應(yīng)盡快將這個(gè)報(bào)文段交給應(yīng)用程序威彰,而不是在緩沖區(qū)排隊(duì)玻靡。

4)RST:重置連接標(biāo)志煞肾,用于重置由于主機(jī)崩潰或其他原因而出現(xiàn)錯(cuò)誤的連接〉勒或者用于拒絕非法的報(bào)文段和拒絕連接請求食听。

5)SYN:同步序號胸蛛,用于建立連接過程,在連接請求中樱报,SYN=1和ACK=0表示該數(shù)據(jù)段沒有使用捎帶的確認(rèn)域葬项,而連接應(yīng)答捎帶一個(gè)確認(rèn),即SYN=1和ACK=1迹蛤。

6)FIN:finish標(biāo)志民珍,用于釋放連接,為1時(shí)表示發(fā)送方已經(jīng)沒有數(shù)據(jù)發(fā)送了盗飒,即關(guān)閉本方數(shù)據(jù)流嚷量。

6、窗口:滑動窗口大小逆趣,用來告知發(fā)送端接受端的緩存大小蝶溶,以此控制發(fā)送端發(fā)送數(shù)據(jù)的速率,從而達(dá)到流量控制宣渗。窗口大小時(shí)一個(gè)16bit字段抖所,因而窗口大小最大為65535。

7痕囱、校驗(yàn)和:奇偶校驗(yàn)田轧,此校驗(yàn)和是對整個(gè)的 TCP 報(bào)文段,包括 TCP 頭部和 TCP 數(shù)據(jù)咐蝇,以 16 位字進(jìn)行計(jì)算所得涯鲁。由發(fā)送端計(jì)算和存儲巷查,并由接收端進(jìn)行驗(yàn)證有序。

8、緊急指針:只有當(dāng) URG 標(biāo)志置 1 時(shí)緊急指針才有效岛请。緊急指針是一個(gè)正的偏移量旭寿,和順序號字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號。 TCP 的緊急方式是發(fā)送端向另一端發(fā)送緊急數(shù)據(jù)的一種方式崇败。

9盅称、選項(xiàng)和填充:最常見的可選字段是最長報(bào)文大小,又稱為MSS(Maximum Segment Size)后室,每個(gè)連接方通常都在通信的第一個(gè)報(bào)文段(為建立連接而設(shè)置SYN標(biāo)志為1的那個(gè)段)中指明這個(gè)選項(xiàng)缩膝,它表示本端所能接受的最大報(bào)文段的長度。選項(xiàng)長度不一定是32位的整數(shù)倍岸霹,所以要加填充位疾层,即在這個(gè)字段中加入額外的零,以保證TCP頭是32的整數(shù)倍贡避。

10痛黎、數(shù)據(jù)部分: TCP 報(bào)文段中的數(shù)據(jù)部分是可選的予弧。在一個(gè)連接建立和一個(gè)連接終止時(shí),雙方交換的報(bào)文段僅有 TCP 首部湖饱。如果一方?jīng)]有數(shù)據(jù)要發(fā)送掖蛤,也使用沒有任何數(shù)據(jù)的首部來確認(rèn)收到的數(shù)據(jù)。在處理超時(shí)的許多情況中井厌,也會發(fā)送不帶任何數(shù)據(jù)的報(bào)文段蚓庭。

參考文獻(xiàn):

http://blog.chinaunix.net/uid-26366978-id-3282793.html

http://blog.csdn.net/ningxuezhu/article/details/39892091/

http://blog.csdn.net/a19881029/article/details/29557837

http://www.cnblogs.com/xinyuyuanm/archive/2013/04/17/3026279.html

http://www.360doc.com/content/12/1218/10/3405077_254718387.shtml

原文地址

http://blog.csdn.net/mary19920410/article/details/58030147

關(guān)于TCP三次握手與四次揮手過程https://blog.csdn.net/qzcsu/article/details/72861891

這篇文章中有兩張很形象的動圖
三次握手


image.png

四次揮手


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仅仆,隨后出現(xiàn)的幾起案子彪置,更是在濱河造成了極大的恐慌,老刑警劉巖蝇恶,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拳魁,死亡現(xiàn)場離奇詭異,居然都是意外死亡撮弧,警方通過查閱死者的電腦和手機(jī)潘懊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贿衍,“玉大人授舟,你說我怎么就攤上這事∶潮玻” “怎么了释树?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長擎淤。 經(jīng)常有香客問我奢啥,道長,這世上最難降的妖魔是什么嘴拢? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任桩盲,我火速辦了婚禮,結(jié)果婚禮上席吴,老公的妹妹穿的比我還像新娘赌结。我一直安慰自己,他們只是感情好孝冒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布柬姚。 她就那樣靜靜地躺著,像睡著了一般庄涡。 火紅的嫁衣襯著肌膚如雪量承。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機(jī)與錄音宴合,去河邊找鬼焕梅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛卦洽,可吹牛的內(nèi)容都是我干的贞言。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼阀蒂,長吁一口氣:“原來是場噩夢啊……” “哼该窗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蚤霞,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤酗失,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后昧绣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體规肴,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年夜畴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拖刃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贪绘,死狀恐怖兑牡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情税灌,我是刑警寧澤均函,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站菱涤,受9級特大地震影響苞也,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜狸窘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一墩朦、第九天 我趴在偏房一處隱蔽的房頂上張望坯认。 院中可真熱鬧翻擒,春花似錦、人聲如沸牛哺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽引润。三九已至巩趁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背议慰。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工蠢古, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人别凹。 一個(gè)月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓草讶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炉菲。 傳聞我的和親對象是個(gè)殘疾皇子堕战,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 運(yùn)輸層協(xié)議概述 從通信和信息處理的角度看,運(yùn)輸層向它上面的應(yīng)用層提供通信服務(wù)拍霜,它屬于面向通信部分的最高層嘱丢,同時(shí)也是...
    srtianxia閱讀 2,399評論 0 2
  • 本篇結(jié)構(gòu): 前言 TCP報(bào)文首部格式 三次握手 四次揮手 wireshark抓包三次握手 wireshark抓包四...
    w1992wishes閱讀 8,286評論 0 57
  • 端口與進(jìn)程 TCP 的包是不包含 IP 地址信息的,那是 IP 層上的事祠饺,但是有源端口和目的端口越驻。 就是說,端口這...
    XLsn0w閱讀 736評論 2 4
  • 概述 TCP/IP 協(xié)議棧是一系列網(wǎng)絡(luò)協(xié)議的總和道偷,是構(gòu)成網(wǎng)絡(luò)通信的核心骨架伐谈,它定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)...
    醬紫_Johns閱讀 520評論 0 0
  • 1试疙、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)诵棵、netstat -nat 查看TCP各個(gè)狀態(tài)的數(shù)量2)、lso...
    北辰青閱讀 9,414評論 0 11