衡阳派盒市场营销有限公司

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

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

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

淺析C++基礎(chǔ)語法之計(jì)算機(jī)網(wǎng)絡(luò)中傳輸層(TCP&UDP)

C語言編程學(xué)習(xí)基地 ? 來源:C語言編程學(xué)習(xí)基地 ? 作者: C語言編程 ? 2021-10-26 10:07 ? 次閱讀

運(yùn)輸層

協(xié)議:

TCP(Transmission Control Protocol,傳輸控制協(xié)議)

UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)

端口

5775e780-357f-11ec-82a8-dac502259ad0.png

TCP

TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,其傳輸?shù)膯挝皇菆?bào)文段。

特征:

①面向連接

②只能點(diǎn)對點(diǎn)(一對一)通信

③可靠交互

④全雙工通信

⑤面向字節(jié)流

TCP 如何保證可靠傳輸:

①確認(rèn)和超時(shí)重傳

②數(shù)據(jù)合理分片和排序

③流量控制

④擁塞控制

⑤數(shù)據(jù)校驗(yàn)

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

57e02d16-357f-11ec-82a8-dac502259ad0.png

TCP 首部

5843bbec-357f-11ec-82a8-dac502259ad0.png

TCP:狀態(tài)控制碼(Code,Control Flag),占 6 比特,含義如下:

URG:緊急比特(urgent),當(dāng) URG=1 時(shí),表明緊急指針字段有效,代表該封包為緊急封包。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù)), 且上圖中的 Urgent Pointer 字段也會被啟用。

ACK:確認(rèn)比特(Acknowledge)。只有當(dāng) ACK=1 時(shí)確認(rèn)號字段才有效,代表這個(gè)封包為確認(rèn)封包。當(dāng) ACK=0 時(shí),確認(rèn)號無效。

PSH:(Push function)若為 1 時(shí),代表要求對方立即傳送緩沖區(qū)內(nèi)的其他對應(yīng)封包,而無需等緩沖滿了才送。

RST:復(fù)位比特(Reset),當(dāng) RST=1 時(shí),表明 TCP 連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。

SYN:同步比特(Synchronous),SYN 置為 1,就表示這是一個(gè)連接請求或連接接受報(bào)文,通常帶有 SYN 標(biāo)志的封包表示『主動』要連接到對方的意思。

FIN:終止比特(Final),用來釋放一個(gè)連接。當(dāng) FIN=1 時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。

UDP

UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)是 OSI(Open System Interconnection 開放式系統(tǒng)互聯(lián)) 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù),其傳輸?shù)膯挝皇怯脩魯?shù)據(jù)報(bào)。

特征:

①無連接

②盡最大努力交付

③面向報(bào)文

④沒有擁塞控制

⑤支持一對一、一對多、多對一、多對多的交互通信

⑥首部開銷小

UDP 報(bào)文結(jié)構(gòu)

UDP 首部

TCP 與 UDP 的區(qū)別

TCP 面向連接,UDP 是無連接的;

TCP 提供可靠的服務(wù),也就是說,通過 TCP 連接傳送的數(shù)據(jù),無差錯(cuò),不丟失,不重復(fù),且按序到達(dá);UDP 盡最大努力交付,即不保證可靠交付

TCP 的邏輯通信信道是全雙工的可靠信道;UDP 則是不可靠信道

每一條 TCP 連接只能是點(diǎn)到點(diǎn)的;UDP 支持一對一,一對多,多對一和多對多的交互通信

TCP 面向字節(jié)流(可能出現(xiàn)黏包問題),實(shí)際上是 TCP 把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP 是面向報(bào)文的(不會出現(xiàn)黏包問題)

UDP 沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會使源主機(jī)的發(fā)送速率降低(對實(shí)時(shí)應(yīng)用很有用,如 IP 電話,實(shí)時(shí)視頻會議等)

TCP 首部開銷20字節(jié);UDP 的首部開銷小,只有 8 個(gè)字節(jié)

TCP 黏包問題

原因

TCP 是一個(gè)基于字節(jié)流的傳輸服務(wù)(UDP 基于報(bào)文的),“流” 意味著 TCP 所傳輸?shù)臄?shù)據(jù)是沒有邊界的。所以可能會出現(xiàn)兩個(gè)數(shù)據(jù)包黏在一起的情況。

解決

發(fā)送定長包。如果每個(gè)消息的大小都是一樣的,那么在接收對等方只要累計(jì)接收數(shù)據(jù),直到數(shù)據(jù)等于一個(gè)定長的數(shù)值就將它作為一個(gè)消息。

包頭加上包體長度。包頭是定長的 4 個(gè)字節(jié),說明了包體的長度。接收對等方先接收包頭長度,依據(jù)包頭長度來接收包體。

在數(shù)據(jù)包之間設(shè)置邊界,如添加特殊符號 標(biāo)記。FTP 協(xié)議正是這么做的。但問題在于如果數(shù)據(jù)正文中也含有 ,則會誤判為消息的邊界。

使用更加復(fù)雜的應(yīng)用層協(xié)議。

TCP 流量控制

概念

流量控制(flow control)就是讓發(fā)送方的發(fā)送速率不要太快,要讓接收方來得及接收。

方法

利用可變窗口進(jìn)行流量控制

TCP 擁塞控制

概念

擁塞控制就是防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。

方法

慢開始( slow-start )

擁塞避免( congestion avoidance )

快重傳( fast retransmit )

快恢復(fù)( fast recovery )

TCP的擁塞控制圖

今天的分享就到這里了,下期為大家分享TCP連接管理,大家要好好學(xué)C++喲~

編輯:jq

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

    關(guān)注

    8

    文章

    7145

    瀏覽量

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

    關(guān)注

    8

    文章

    1378

    瀏覽量

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

    關(guān)注

    0

    文章

    327

    瀏覽量

    34047

原文標(biāo)題:C++基礎(chǔ)語法梳理:計(jì)算機(jī)網(wǎng)絡(luò)丨傳輸層(TCP&UDP)

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)的演進(jìn)

    計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)的演進(jìn)見證了信息技術(shù)的飛速發(fā)展。早期的總線型網(wǎng)絡(luò)架構(gòu),通過一條共享的通信線路連接各個(gè)節(jié)點(diǎn),結(jié)構(gòu)簡單且成本較低,但存在單點(diǎn)故障和傳輸效率不高的問題。隨著技術(shù)的發(fā)展,星型網(wǎng)絡(luò)
    的頭像 發(fā)表于 01-21 11:11 ?112次閱讀

    TCP三次握手與UDP的區(qū)別

    計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)傳輸的可靠性和效率是兩個(gè)關(guān)鍵因素。為了滿足不同的應(yīng)用需求,設(shè)計(jì)者們開發(fā)了多種傳輸協(xié)議。其中,
    的頭像 發(fā)表于 01-03 17:35 ?439次閱讀

    百問FB網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程簡介

    6.1 網(wǎng)絡(luò)編程簡介 ?要編寫通過計(jì)算機(jī)網(wǎng)絡(luò)通信的程序,首先要確定這些程序同通信的協(xié)議(protocol),在設(shè)計(jì)一個(gè)協(xié)議的細(xì)節(jié)之前,首先要分清程序是由哪個(gè)程序發(fā)起以及響應(yīng)何時(shí)產(chǎn)生。 ?舉例來說
    發(fā)表于 12-04 09:46

    飛凌嵌入式ElfBoard ELF 1板卡-網(wǎng)絡(luò)編程示例之網(wǎng)絡(luò)基礎(chǔ)知識

    使用。端口號數(shù)據(jù)鏈路和 IP 的地址,分別指的是 MAC 地址和 IP 地址。前者用來識別同一鏈路不同的計(jì)算機(jī),后者用來識別 TCP/IP 網(wǎng)絡(luò)
    發(fā)表于 11-09 14:37

    TCP&;UDP調(diào)試工具

    TCP&UDP調(diào)試工具
    發(fā)表于 10-30 10:41 ?1次下載

    應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)器晶振SG3225HBN(X1G005141000500)

    計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)器,穩(wěn)定和高性能的時(shí)鐘源對于數(shù)據(jù)處理和網(wǎng)絡(luò)通信的準(zhǔn)確性至關(guān)重要,SG3225HBN晶振(型號X1G005141000500)憑借其高頻率穩(wěn)定性、低相位噪聲、高抗干擾能力以及
    發(fā)表于 09-05 10:05 ?0次下載

    深入了解 Windows 系統(tǒng) TCP/IP 參數(shù)配置

    概述 TCP/IP是一組用于實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)的通信協(xié)議。它包括了多個(gè)層次的協(xié)議,如網(wǎng)絡(luò)接口、網(wǎng)際
    的頭像 發(fā)表于 09-04 17:24 ?469次閱讀

    深度解析TCPUDP協(xié)議

    計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備要相互通信,它們必須遵循一種共同的方法或標(biāo)準(zhǔn)。對于不同硬件平臺和操作系統(tǒng)之間的交互而言,這種共同遵循的規(guī)范尤為關(guān)鍵。我們將這一系列指導(dǎo)通信過程的規(guī)則稱為“協(xié)議”。TCPU
    的頭像 發(fā)表于 09-02 14:53 ?477次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協(xié)議

    tcpudp的區(qū)別和聯(lián)系

    揮著重要作用。然而,它們在設(shè)計(jì)、功能和性能方面存在顯著差異。 二、TCPUDP的定義 傳輸控制協(xié)議(TCPTCP是一種面向連接的、可靠
    的頭像 發(fā)表于 08-16 11:06 ?678次閱讀

    計(jì)算機(jī)網(wǎng)絡(luò)中常見的默認(rèn)端口號及其用途

    網(wǎng)絡(luò)工程領(lǐng)域,了解和掌握默認(rèn)端口號是至關(guān)重要的。端口號是計(jì)算機(jī)網(wǎng)絡(luò)中最基本的概念之一,用于標(biāo)識特定的網(wǎng)絡(luò)服務(wù)或應(yīng)用程序。本文將詳細(xì)介紹常見的默認(rèn)端口號及其用途,幫助網(wǎng)絡(luò)工程師更好地理
    的頭像 發(fā)表于 08-13 16:33 ?1708次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/IP協(xié)議集包括許多協(xié)議,其中最重要的是傳輸控制協(xié)議(TCP
    的頭像 發(fā)表于 08-07 15:38 ?2372次閱讀
    一文了解<b class='flag-5'>TCP</b>/IP協(xié)議

    計(jì)算機(jī)網(wǎng)絡(luò)的三種通信方式

    計(jì)算機(jī)網(wǎng)絡(luò)的三種通信方式,即單工通信、半雙工通信和全雙工通信,是理解和設(shè)計(jì)高效網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)。每種通信方式都有其獨(dú)特的特性、應(yīng)用場景及優(yōu)缺點(diǎn)。以下是對這三種通信方式的詳細(xì)分析,旨在提供深入的理解。
    的頭像 發(fā)表于 08-07 15:00 ?3195次閱讀

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)協(xié)議集。它定義了數(shù)據(jù)在網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-25 16:49 ?556次閱讀

    【RTC程序設(shè)計(jì):實(shí)時(shí)音視頻權(quán)威指南】計(jì)算機(jī)知識基礎(chǔ)篇

    數(shù)據(jù)通信的加密,加密方法、算法也有很多種,有對稱加密算法,也有非對稱加密算法。在這些計(jì)算機(jī)網(wǎng)絡(luò)的基本概念,可以從物理到應(yīng)用的特性進(jìn)行了解,重點(diǎn)可以學(xué)習(xí)一下
    發(fā)表于 04-23 09:02

    網(wǎng)絡(luò)傳輸協(xié)議有幾種?

    網(wǎng)絡(luò)傳輸協(xié)議是一種規(guī)定計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行通信的規(guī)則或標(biāo)準(zhǔn)。常見的網(wǎng)絡(luò)傳輸協(xié)議有以下幾種: 1.
    的頭像 發(fā)表于 04-02 16:04 ?1735次閱讀
    百家乐揽法大全| 百家乐视频游戏网站| 百家乐官网的赚钱原理| 大发888亚洲游戏在线| 玩百家乐去哪个平台好| 网上百家乐官网是现场吗| 金臂百家乐注册送彩金| 视频百家乐官网试玩| 366娱乐城| 威尼斯人娱乐场有什么玩 | 百家乐娱乐官方网| 百家乐官网技论坛| 苏尼特右旗| 大发888娱乐城下栽| 百家乐网站程序| 24山向中那个向最好| 现金百家乐官网攻略| 开鲁县| 88娱乐城备用| 水果机规律| 狮威百家乐娱乐| 百家乐赌假的工具| 粤港澳百家乐官网赌场娱乐网规则 | 永利高百家乐现金网| 利高百家乐官网的玩法技巧和规则 | 大发888在线娱乐城加盟合作 | 风水中的24山图| 百家乐官网baccarat| 百家乐官网视频游戏注册| 星期八娱乐城官网| qq德州扑克下载| 太阳城菲律宾官方网| 香港百家乐赌场娱乐网规则| 至尊百家乐2012| 百家乐体育博彩| 利都百家乐官网国际娱乐场开户注册| 百家乐官网冯耕耘打法| 青海省| 网上娱乐城注册送现金| 大发888娱乐城 真钱bt| 威尼斯人娱乐城官方|