日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP 初步认识

發(fā)布時間:2023/12/18 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP 初步认识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
TCP連接的建立---三次握手

第一次握手:客戶端TCP首先給服務(wù)器端TCP發(fā)送一個特殊的TCP數(shù)據(jù)段。

該數(shù)據(jù)段不包含應(yīng)用層數(shù)據(jù),并將頭部中的SYN位設(shè)置為1,所以該數(shù)據(jù)段被稱為SYN數(shù)據(jù)段。

另外,客戶選擇一個初始序列號SEQ,設(shè)SEQ=x 并將這個編號放到初始的TCP SYN數(shù)據(jù)段的序列號字段中。該數(shù)據(jù)段被封裝到一個IP數(shù)據(jù)報中,并發(fā)送給服務(wù)器。

?

第二次握手:一旦裝有TCP SYN數(shù)據(jù)段的IP數(shù)據(jù)報到達了服務(wù)器主機,服務(wù)器將從該數(shù)據(jù)報中提取出TCP SYN數(shù)據(jù)段,給該連接分配TCP緩沖區(qū)和變量,并給客戶TCP發(fā)送一個允許連接的數(shù)據(jù)段。

這個允許連接的數(shù)據(jù)段也不包含任何應(yīng)用層數(shù)據(jù)。但是,它的頭部中裝載著3個重要信息。首先,SYN被設(shè)置為1;其次,TCP數(shù)據(jù)段頭部的確認字段被設(shè)置為x+1;最后,服務(wù)器選擇自己的初始順序號,SEQ=y,并將該值放到TCP數(shù)據(jù)段頭部的

序列號字段中。

?

第三次握手:在接收到允許連接數(shù)據(jù)段之后,客戶也會給連接分配緩沖區(qū)和變量。客戶端主機還會給服務(wù)器發(fā)送另一個數(shù)據(jù)段,對服務(wù)器的允許連接數(shù)據(jù)段給出確認。

TCP協(xié)議中連接建立的過程

?

TCP連接的釋放---三(或者四)次握手

第一次握手:由進行數(shù)據(jù)通信的任意一方提出要求釋放連接的請求報文段。
第二次握手:接收端收到此請求后,會發(fā)送確認報文段,同時當接收端的所有數(shù)據(jù)也都已經(jīng)發(fā)送完畢后,接收端會向發(fā)送端發(fā)送一個帶有其自己序號的報文段。
第三次握手:發(fā)送端收到接收端的要求釋放連接的報文段后,發(fā)送反向確認。

TCP連接的釋放過程

?

TCP數(shù)據(jù)報文

  序號字段——占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。

序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。

  確認號字段——占 4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。

  數(shù)據(jù)偏移——占 4? bit,它指出 TCP 報文段的數(shù)據(jù)起始處距離 TCP 報文段的起始處有多遠。

  保留字段——占 6 bit,保留為今后使用,但目前應(yīng)置為 0。

  

  緊急比特 URG —— 當 URG = 1 時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當于高優(yōu)先級的數(shù)據(jù))。

  確認比特 ACK —— 只有當 ACK= 1 時確認號字段才有效。當 ACK= 0 時,確認號無效。

  推送比特 PSH (PuSH) —— 接收 TCP 收到推送比特置 1 的報文段,就盡快地交付給接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。?

  復位比特 RST (ReSeT) —— 當 RST= 1 時,表明 TCP 連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,通知一下對方。

  同步比特 SYN —— 同步比特 SYN 置為 1,就表示這是一個連接請求或連接接受報文。

  終止比特 FIN (FINal) —— 用來釋放一個連接。當FIN= 1 時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。

  

  檢驗和 —— 占 2 字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)和偽段頭(不是TCP里的信息,

但是計算校驗和的時候也計算了的內(nèi)容:IP地址,TCP數(shù)據(jù)段長度,協(xié)議類型)。

  緊急指針字段 —— 占 16 bit(2 字節(jié))。緊急指針指出在本報文段中的緊急數(shù)據(jù)的位置。?

  選項字段 —— 長度可變。TCP 規(guī)定了二種選項,最大報文段長度窗口擴大因子。

最大報文段長度 MSS (Maximum Segment Size) 告訴對方 TCP:“我的緩存所能接收的報文段的數(shù)據(jù)字段的最大長度是 MSS 個字節(jié)。”

MSS 是 TCP 報文段中的數(shù)據(jù)字段的最大長度。數(shù)據(jù)字段加上 TCP 首部才等于整個的 TCP 報文段。

窗口擴大因子,用于擴大接收方窗口。

  填充字段 —— 這是為了使整個首部長度是 4 字節(jié)的整數(shù)倍。

轉(zhuǎn)載于:https://www.cnblogs.com/XiHua/p/3476389.html

總結(jié)

以上是生活随笔為你收集整理的TCP 初步认识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。