一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

超硬核TCP、UDP基礎(chǔ)知識(shí)匯總1

jf_78858299 ? 來源:阿Q正磚 ? 作者:阿Q正磚 ? 2023-02-15 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天開始進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)的總結(jié)及細(xì)節(jié)剖析,將會(huì)對(duì)??嫉南嚓P(guān)知識(shí)進(jìn)行更詳細(xì)的解讀,本章是TCP相關(guān)的,圖文并茂,也是花了作者一個(gè)周末時(shí)間搞定的,歡迎大家點(diǎn)贊轉(zhuǎn)發(fā)。

那就開始正文嘍~

1、TCP主要特點(diǎn)

1.面向連接:

?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對(duì)一的。

?TCP提供可靠連接服務(wù)。

?TCP提供全雙工通信。

2.面向字節(jié)流:

?TCP和應(yīng)用程序交互是一次一個(gè)數(shù)據(jù)塊進(jìn)行交互。但是TCP會(huì)把應(yīng)用程序交下來的數(shù)據(jù)塊看成一串無結(jié)構(gòu)的字節(jié)流。

?TCP報(bào)文收發(fā)之間的數(shù)據(jù)塊不一定相同(因?yàn)槲也灰欢ㄒ淮谓邮芏嗌偈芫W(wǎng)絡(luò)情況,擁塞情況控制)但是字節(jié)流一定相同。

?TCP根據(jù)對(duì)方的接收能力和網(wǎng)絡(luò)擁塞情況將字節(jié)流分成大小不同的段發(fā)送給接收緩存。

圖片

3.TCP的連接套接字連接兩端的插口包含IP和端口號(hào)。全雙工抽象連接。

2、TCP的報(bào)文格式

圖片

1.源端口,目的端口各占兩個(gè)字節(jié)是運(yùn)輸層與應(yīng)用層交互的接口

2.序號(hào)(4B):seq,字節(jié)序號(hào)本報(bào)文段所攜帶數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。

3.確認(rèn)號(hào)(4B):ack,期望對(duì)方下次發(fā)來數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。

4.數(shù)據(jù)偏移(4bit):標(biāo)志著報(bào)文段數(shù)據(jù)部分起始位置距離報(bào)文段起始位置的距離即首部長(zhǎng)度。

5.URG(1B),緊急位置1,立刻將TCP發(fā)送緩存中的字節(jié)流打包成報(bào)文發(fā)送出去。

6.ACK(1B),ACK = 1代表確認(rèn)號(hào)有效。

7.PSH(1B),PSH = 1,接收方立刻將接收緩存數(shù)據(jù)上交給應(yīng)用進(jìn)程。

8.RST(1B),RST = 1,TCP連接中出現(xiàn)嚴(yán)重差錯(cuò)必須釋放連接然后在重新建立運(yùn)輸連接。

9.SYN(1B),SYN = 1,表示這是一個(gè)連接請(qǐng)求或連接接受的報(bào)文。

10.FIN(1B),F(xiàn)IN = 1,用來釋放一個(gè)連接。FIN為1表明報(bào)文段發(fā)送端已發(fā)送完成,并要求釋放連接。

11.窗口(2B),告訴對(duì)方從確認(rèn)號(hào)開始接收方目前允許對(duì)方發(fā)送的數(shù)據(jù)量。

12.檢驗(yàn)和(2B),類似于UDP首部和數(shù)據(jù)這兩部分計(jì)算時(shí)要在TCP報(bào)文段之前加上偽首部。

13.緊急指針,16位,當(dāng)URG = 1時(shí),這部分記錄了緊急數(shù)據(jù)的大小把它放在數(shù)據(jù)部分的最前面發(fā)出去。

14.選項(xiàng)字段:長(zhǎng)度可變最大報(bào)文段數(shù)據(jù)部分長(zhǎng)度MSS,MSS告訴對(duì)方TCP我緩存最大能接受的長(zhǎng)度為MSS。

MSS太大IP層分片只要有一片出錯(cuò)就得重傳。

MSS太小效率低下。

15.其它選項(xiàng):

窗口擴(kuò)大選項(xiàng):占3字節(jié),其中一個(gè)字節(jié)S為窗口擴(kuò)大的位數(shù),比如(16+S)但是最大值不能超過30位

時(shí)間戳選項(xiàng):

1.計(jì)算往返時(shí)延。

發(fā)送時(shí)打一個(gè)時(shí)間戳放在timestamp中,收到確認(rèn)報(bào)文后再打一個(gè)時(shí)間戳此時(shí)將之前的timestamp中的時(shí)間放在timestamp echo中然后將收到確認(rèn)報(bào)文的時(shí)間戳放在timestamp中二者相減可以得到RTT。

2.防止序號(hào)回繞。

由于序號(hào)編碼空間是32位的所以一共是2的32次方。對(duì)于高帶寬的網(wǎng)絡(luò)很容易消耗完,也就是說接收方可能會(huì)收到兩次相同序號(hào)的報(bào)文,如果不加標(biāo)記,接收方會(huì)認(rèn)為這兩個(gè)報(bào)文是相同的然后就會(huì)丟棄。時(shí)間戳選項(xiàng)會(huì)將兩個(gè)報(bào)文標(biāo)記好時(shí)間戳這樣接收方就不會(huì)丟棄了。

圖片

16.填充。

為了保證TCP首部是4字節(jié)的整數(shù)倍。

3、TCP的可靠傳輸

3.1、TCP連接的兩個(gè)端點(diǎn)都有兩個(gè)窗口:

發(fā)送窗口:準(zhǔn)備發(fā)送的數(shù)據(jù)和已發(fā)送但未收到確認(rèn)的數(shù)據(jù)。

接收窗口:按序接收但沒有上交的數(shù)據(jù),不按序接收的數(shù)據(jù)。

圖片

?P3 - P1 = A的發(fā)送窗口(又稱為通知窗口)

?P2 - P1 = 已發(fā)送但尚未收到確認(rèn)的字節(jié)數(shù)

?P3 - P2 = 允許發(fā)送但尚未發(fā)送的字節(jié)數(shù)(又稱為可用窗口)

如圖所示發(fā)送窗口按序發(fā)送窗口中的字節(jié)流,如果發(fā)送且收到確認(rèn)則滑出窗口如果已發(fā)送但未收到確認(rèn)則留在發(fā)送窗口中用來準(zhǔn)備重傳。

接收窗口將按序接收字節(jié)流如果收到的字節(jié)流無序則仍然會(huì)留在接收窗口中。比如我先收到了37則37不會(huì)被確認(rèn)交付主機(jī)因?yàn)榍懊娴?4-36還沒有被接收當(dāng)前面的34-36被接收后34-37才會(huì)一起被交付主機(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)投訴
  • 緩沖區(qū)
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

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

    關(guān)注

    8

    文章

    1401

    瀏覽量

    80656
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    34574
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳細(xì)的射頻基礎(chǔ)知識(shí)

    詳細(xì)的射頻基礎(chǔ)知識(shí)
    發(fā)表于 11-04 09:09 ?2824次閱讀

    基礎(chǔ)知識(shí)匯總?。?!

    基礎(chǔ)知識(shí)匯總!
    發(fā)表于 11-07 18:14

    第16章 UDP用戶數(shù)據(jù)報(bào)協(xié)議基礎(chǔ)知識(shí)

    ) 16.1 初學(xué)者重要提示 16.2 UDP基礎(chǔ)知識(shí)參考資料 16.3 UDP基礎(chǔ)知識(shí)點(diǎn) 16.4 TCP
    發(fā)表于 11-02 17:27

    TCP協(xié)議基礎(chǔ)知識(shí)

    TCP 是互聯(lián)網(wǎng)核心協(xié)議之一,本文介紹它的基礎(chǔ)知識(shí)。
    的頭像 發(fā)表于 10-16 10:29 ?3821次閱讀
    <b class='flag-5'>TCP</b>協(xié)議<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    tcpudp協(xié)議的異同

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

    半導(dǎo)體電子器件基礎(chǔ)知識(shí)匯總

    半導(dǎo)體電子器件基礎(chǔ)知識(shí)匯總
    發(fā)表于 04-28 09:55 ?0次下載

    華為EMC基礎(chǔ)知識(shí)匯總資源下載

    華為EMC基礎(chǔ)知識(shí)匯總資源下載
    發(fā)表于 06-04 11:10 ?131次下載

    硬核TCP、UDP基礎(chǔ)知識(shí)匯總2

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對(duì)一的。 ?TCP提供可靠連接服務(wù)。
    的頭像 發(fā)表于 02-15 09:57 ?1015次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>2

    硬核TCPUDP基礎(chǔ)知識(shí)匯總3

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對(duì)一的。 ?TCP提供可靠連接服務(wù)。
    的頭像 發(fā)表于 02-15 09:57 ?719次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>3

    硬核TCP、UDP基礎(chǔ)知識(shí)匯總4

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對(duì)一的。 ?TCP提供可靠連接服務(wù)。
    的頭像 發(fā)表于 02-15 09:57 ?804次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>4

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集1

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?915次閱讀

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集2

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?813次閱讀

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集3

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?1029次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>網(wǎng)絡(luò)編程的<b class='flag-5'>基礎(chǔ)知識(shí)</b>合集3

    TCPUDP的區(qū)別

    1.TCPUDP的區(qū)別 TCP是面向連接的,UDP是面向無連接的; TCP只能一對(duì)一通信,UDP
    的頭像 發(fā)表于 11-09 09:35 ?7079次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的區(qū)別

    TCPUDP的基本區(qū)別

    TCPUDP基本區(qū)別 基于連接與無連接 TCP要求系統(tǒng)資源較多,UDP較少; UDP程序結(jié)構(gòu)較簡(jiǎn)單 流模式(
    的頭像 發(fā)表于 11-13 15:27 ?5159次閱讀
    <b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>的基本區(qū)別