在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    7246

    瀏覽量

    91170
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1398

    瀏覽量

    80466
  • UDP
    UDP
    +關注

    關注

    0

    文章

    330

    瀏覽量

    34508

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    多模塊配置!YU系列USB、Type-C連接器為工控機打造"全能型"數據傳輸方案

    背景介紹工控機是一類用于工業、野外等復雜惡劣環境的專用計算機設備,如何實現穩如磐石的數據傳輸是關鍵?凌科電氣YU-USB&Type-C工業連接器,以嚴苛環境適配性及長期穩定的性
    的頭像 發表于 05-07 18:27 ?125次閱讀
    多模塊配置!YU系列USB、Type-<b class='flag-5'>C</b>連接器為工控機打造&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;全能型&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;數據<b class='flag-5'>傳輸</b>方案

    計算機網絡入門指南

    計算機網絡是指將地理位置不同且具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統、網絡管理軟件及網絡通信協議的管理和
    的頭像 發表于 04-22 14:29 ?911次閱讀
    <b class='flag-5'>計算機網絡</b>入門指南

    計算機網絡協議介紹

    作者:京東零售 王樂 一、從一個請求來看網絡分層原理 1.1 復雜的網絡 以下為一次請求過程可能遇到的問題,預示著網絡的復雜性。 ?? ? 1.2 如何簡化復雜度 為了簡化
    的頭像 發表于 04-08 11:26 ?867次閱讀
    <b class='flag-5'>計算機網絡</b>協議介紹

    計算機網絡架構的演進

    計算機網絡架構的演進見證了信息技術的飛速發展。早期的總線型網絡架構,通過一條共享的通信線路連接各個節點,結構簡單且成本較低,但存在單點故障和傳輸效率不高的問題。隨著技術的發展,星型網絡
    的頭像 發表于 01-21 11:11 ?340次閱讀

    TCP三次握手與UDP的區別

    計算機網絡,數據傳輸的可靠性和效率是兩個關鍵因素。為了滿足不同的應用需求,設計者們開發了多種傳輸協議。其中,
    的頭像 發表于 01-03 17:35 ?775次閱讀

    百問FB網絡編程 - 網絡編程簡介

    6.1 網絡編程簡介 ?要編寫通過計算機網絡通信的程序,首先要確定這些程序同通信的協議(protocol),在設計一個協議的細節之前,首先要分清程序是由哪個程序發起以及響應何時產生。 ?舉例來說
    發表于 12-04 09:46

    飛凌嵌入式ElfBoard ELF 1板卡-網絡編程示例之網絡基礎知識

    使用。端口號數據鏈路和 IP 的地址,分別指的是 MAC 地址和 IP 地址。前者用來識別同一鏈路不同的計算機,后者用來識別 TCP/IP 網絡
    發表于 11-09 14:37

    TCP&;UDP調試工具

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

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

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

    深入了解 Windows 系統 TCP/IP 參數配置

    概述 TCP/IP是一組用于實現計算機網絡互聯的通信協議。它包括了多個層次的協議,如網絡接口、網際、
    的頭像 發表于 09-04 17:24 ?721次閱讀

    深度解析TCPUDP協議

    計算機網絡設備要相互通信,它們必須遵循一種共同的方法或標準。對于不同硬件平臺和操作系統之間的交互而言,這種共同遵循的規范尤為關鍵。我們將這一系列指導通信過程的規則稱為“協議”。TCPU
    的頭像 發表于 09-02 14:53 ?737次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議

    tcpudp的區別和聯系

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

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

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

    一文了解TCP/IP協議

    TCP/IP協議是現代計算機網絡通信的基礎,是互聯網及局域網廣泛使用的一套協議。TCP/IP協議集包括許多協議,其中最重要的是傳輸控制協議(TCP
    的頭像 發表于 08-07 15:38 ?3237次閱讀
    一文了解<b class='flag-5'>TCP</b>/IP協議

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

    計算機網絡的三種通信方式,即單工通信、半雙工通信和全雙工通信,是理解和設計高效網絡架構的基礎。每種通信方式都有其獨特的特性、應用場景及優缺點。以下是對這三種通信方式的詳細分析,旨在提供深入的理解。
    的頭像 發表于 08-07 15:00 ?4858次閱讀
    主站蜘蛛池模板: 久久天天躁狠狠躁夜夜躁综合 | 一级特黄aaaaaa大片 | 9色网站| 免费午夜影片在线观看影院 | 青青草国产三级精品三级 | 亚洲国产成人久久午夜 | 99青草| 日本免费在线一区 | www.激情五月| 婷婷综合久久中文字幕 | 在线免费看污视频 | 亚洲最大成人综合网 | 久久精品夜色国产 | 天天干天天添 | 永久免费精品影视网站 | 欧美午夜性 | 五月婷婷天| 殴美aⅴ| 日本三级免费观看 | 男男生子大肚play做到生 | 日韩欧美不卡片 | 日韩午夜r电影在线观看 | 日本三级最新中文字幕电影 | 最新理论三级中文在线观看 | 成人午夜久久 | 岛国毛片一级一级特级毛片 | 看免费黄色大片 | 天堂bt资源在线官网 | 一区二区精品 | 丝袜美女被c | 欧美巨大xxxx做受中文字幕 | 国模大尺度酒店私拍视频拍拍 | 亚洲第一在线播放 | 高清不卡免费一区二区三区 | 欧美激情二区三区 | 黑人影院| 无内丝袜透明在线播放 | 性日韩 | 午夜精品久久久久久久 | 亚洲综合婷婷 | 免费高清在线观看a网站 |