精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析C++基礎語法之計算機網絡中傳輸層(TCP&UDP)

C語言編程學習基地 ? 來源:C語言編程學習基地 ? 作者: C語言編程 ? 2021-10-26 10:07 ? 次閱讀

運輸層

協議:

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

UDP(User Datagram Protocol,用戶數據報協議)

端口

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

TCP

TCP(Transmission Control Protocol,傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,其傳輸的單位是報文段。

特征:

①面向連接

②只能點對點(一對一)通信

③可靠交互

④全雙工通信

⑤面向字節流

TCP 如何保證可靠傳輸:

①確認和超時重傳

②數據合理分片和排序

③流量控制

④擁塞控制

⑤數據校驗

TCP 報文結構

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

TCP 首部

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

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

URG:緊急比特(urgent),當 URG=1 時,表明緊急指針字段有效,代表該封包為緊急封包。它告訴系統此報文段中有緊急數據,應盡快傳送(相當于高優先級的數據), 且上圖中的 Urgent Pointer 字段也會被啟用。

ACK:確認比特(Acknowledge)。只有當 ACK=1 時確認號字段才有效,代表這個封包為確認封包。當 ACK=0 時,確認號無效。

PSH:(Push function)若為 1 時,代表要求對方立即傳送緩沖區內的其他對應封包,而無需等緩沖滿了才送。

RST:復位比特(Reset),當 RST=1 時,表明 TCP 連接中出現嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。

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

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

UDP

UDP(User Datagram Protocol,用戶數據報協議)是 OSI(Open System Interconnection 開放式系統互聯) 參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務,其傳輸的單位是用戶數據報。

特征:

①無連接

②盡最大努力交付

③面向報文

④沒有擁塞控制

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

⑥首部開銷小

UDP 報文結構

UDP 首部

TCP 與 UDP 的區別

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

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

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

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

TCP 面向字節流(可能出現黏包問題),實際上是 TCP 把數據看成一連串無結構的字節流;UDP 是面向報文的(不會出現黏包問題)

UDP 沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如 IP 電話,實時視頻會議等)

TCP 首部開銷20字節;UDP 的首部開銷小,只有 8 個字節

TCP 黏包問題

原因

TCP 是一個基于字節流的傳輸服務(UDP 基于報文的),“流” 意味著 TCP 所傳輸的數據是沒有邊界的。所以可能會出現兩個數據包黏在一起的情況。

解決

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

包頭加上包體長度。包頭是定長的 4 個字節,說明了包體的長度。接收對等方先接收包頭長度,依據包頭長度來接收包體。

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

使用更加復雜的應用層協議。

TCP 流量控制

概念

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

方法

利用可變窗口進行流量控制

TCP 擁塞控制

概念

擁塞控制就是防止過多的數據注入到網絡中,這樣可以使網絡中的路由器或鏈路不致過載。

方法

慢開始( slow-start )

擁塞避免( congestion avoidance )

快重傳( fast retransmit )

快恢復( fast recovery )

TCP的擁塞控制圖

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

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    6888

    瀏覽量

    88826
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1349

    瀏覽量

    78985
  • UDP
    UDP
    +關注

    關注

    0

    文章

    322

    瀏覽量

    33876

原文標題:C++基礎語法梳理:計算機網絡丨傳輸層(TCP&UDP)

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TCP&;UDP調試工具

    TCP&UDP調試工具
    發表于 10-30 10:41 ?1次下載

    應用于計算機網絡服務器晶振SG3225HBN(X1G005141000500)

    計算機網絡服務器,穩定和高性能的時鐘源對于數據處理和網絡通信的準確性至關重要,SG3225HBN晶振(型號X1G005141000500)憑借其高頻率穩定性、低相位噪聲、高抗干擾能力以及
    發表于 09-05 10:05 ?0次下載

    計算機網絡中常見的默認端口號及其用途

    網絡工程領域,了解和掌握默認端口號是至關重要的。端口號是計算機網絡中最基本的概念之一,用于標識特定的網絡服務或應用程序。本文將詳細介紹常見的默認端口號及其用途,幫助網絡工程師更好地理
    的頭像 發表于 08-13 16:33 ?1159次閱讀

    計算機網絡的三種通信方式

    計算機網絡的三種通信方式,即單工通信、半雙工通信和全雙工通信,是理解和設計高效網絡架構的基礎。每種通信方式都有其獨特的特性、應用場景及優缺點。以下是對這三種通信方式的詳細分析,旨在提供深入的理解。
    的頭像 發表于 08-07 15:00 ?2129次閱讀

    【RTC程序設計:實時音視頻權威指南】計算機知識基礎篇

    數據通信的加密,加密方法、算法也有很多種,有對稱加密算法,也有非對稱加密算法。在這些計算機網絡的基本概念,可以從物理到應用的特性進行了解,重點可以學習一下
    發表于 04-23 09:02

    udp是什么意思 簡述TCPUDP的區別和聯系

    UDP (User Datagram Protocol) 是一種在計算機網絡中使用的傳輸協議。它與TCP (Transmission Co
    的頭像 發表于 02-02 16:33 ?1225次閱讀

    什么是計算機網絡的拓撲結構?主要的拓撲結構有哪些?

    計算機網絡的拓撲結構是指計算機網絡各個節點(包括計算機、服務器、路由器等)之間連接的方式和形式。拓撲結構可以影響到網絡的性能、可靠性和擴展
    的頭像 發表于 01-31 10:40 ?1898次閱讀

    計算機網絡路由器和交換機的區別

    計算機網絡,路由器和交換機是兩種常用的網絡設備,它們在網絡起著重要的作用。雖然它們的功能有一些重疊,但也存在一些關鍵的區別。本文將詳細介
    的頭像 發表于 01-14 11:28 ?993次閱讀

    電話交換機和計算機網絡交換機的區別是什么呢?

    語音信號,實現電話系統的連接和通信控制。它能夠將電話信號從一條線路傳輸到另一條線路,實現電話用戶之間的互聯互通,并提供基本的電話通信功能。 計算機網絡交換機是一種專門用于局域網(LAN)或廣域網(WAN)的數據交換設備。它通
    的頭像 發表于 01-09 11:29 ?1357次閱讀

    東莞計算機網絡工程包括哪些?

    計算機網絡工程是指設計、建立和管理計算機與設備之間的連接和通信系統的過程。網絡工程包括哪些內容呢?廣東東莞網絡工程公司表示它涵蓋了網絡規劃、
    的頭像 發表于 12-27 17:47 ?662次閱讀

    計算機網絡的通信子網主要有哪些功能?

    計算機網絡的通信子網主要負責數據的傳輸、處理、轉換和交換,以及提供相關的網絡控制協議、通信控制軟件和通信設備等功能,同時還對網絡進行管理和
    的頭像 發表于 12-15 17:27 ?1485次閱讀

    通信子網在計算機網絡的地位和作用

    通信子網在計算機網絡扮演著至關重要的角色。它是實現網絡內和網絡間數據通信的關鍵基礎設施,為上層應用提供了通用的通信接口和協議。同時,它也是促進信息交流和知識共享的重要平臺。未來,隨著
    的頭像 發表于 12-15 17:15 ?743次閱讀

    如何選擇傳輸協議?TCPUDP的優缺點和適用場合

    如何選擇傳輸協議?TCPUDP的優缺點和適用場合? 傳輸協議是
    的頭像 發表于 12-11 11:42 ?951次閱讀

    計算機網絡的通信子網:架構、協議與技術簡介

    計算機網絡,通信子網是負責實現主機之間以及主機與終端之間數據傳輸的核心部分。它由一系列硬件設備和通信協議組成,為上層應用提供可靠、高效和透明的數據傳輸服務。本文將詳細介紹通信子網的
    的頭像 發表于 12-07 17:42 ?1171次閱讀

    計算機網絡中速率和帶寬的區別

    才能達到的數據傳送的速率,然而在現實生活是達不到的。 帶寬,在計算機網絡中用來表示網絡的通信線路傳送數據的能力,因此網絡帶寬表示在單位時間內從網絡
    發表于 11-27 16:29