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

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

3天內不再提示

TCP傳輸控制協議知識科普拓展

冬至子 ? 來源:BTBU科協 ? 作者:BTBU科協 ? 2023-11-27 17:46 ? 次閱讀

— TCP傳輸控制協議 —

傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,由IETF的RFC 793定義。

TCP旨在適應支持多網絡應用的分層協議層次結構。 連接到不同但互連的計算機通信網絡的主計算機中的成對進程之間依靠TCP提供可靠的通信服務。

TCP假設它可以從較低級別的協議獲得簡單的,可能不可靠的數據報服務。 原則上,TCP應該能夠在從硬線連接到分組交換或電路交換網絡的各種通信系統之上操作。

01

** TCP協議首部 **

TCP協議,表現在報文上,就是會在應用層傳輸下來的數據前附加上一個TCP首部,這個首部附加了TCP信息。

圖片

首部結構

02

** TCP面向字節流特性**

TCP并不是把應用層傳輸過來的數據直接加上首部然后發送給目標,而是把數據看成一個字節流,給他們標上序號之后分部分發送。這就是TCP的面向字節流特性:

圖片

TCP會以流的形式從應用層讀取數據并存放在自己的發送緩存區中,同時為這些字節標上序號,TCP會從發送方緩沖區選擇適量的字節組成TCP報文,通過網絡層發送給目標,目標會讀取字節并存放在自己的接收方緩沖區中,并在合適的時候交付給應用層。

面向字節流的好處是無需一次存儲過大的數據占用太多內存,壞處是無法知道這些字節代表的意義,例如應用層發送一個音頻文件和一個文本文件,對于TCP來說就是一串字節流,沒有意義可言,這會導致粘包以及拆包問題。

03

** 可靠傳輸原理**

TCP是可靠傳輸協議,也就是,一個數據交給他,他肯定可以完整無誤地發送到目標地址,除非網絡炸了。他實現的網絡模型如下:

圖片

對于應用層來說,他就是一個可靠傳輸的底層支持服務;而運輸層底層采用了網絡層的不可靠傳輸。雖然在網絡層甚至數據鏈路層就可以使用協議來保證數據傳輸的可靠性,但這樣網絡的設計會更加復雜、效率會隨之降低。把數據傳輸的可靠性保證放在運輸層,會更加合適。

可靠傳輸原理的重點總結一下:滑動窗口、超時重傳、累積確認、選擇確認、連續ARQ 。

04

停止等待協議

要實現可靠傳輸,最簡便的方法就是:我發送一個數據包給你,然后你跟我回復收到,我繼續發送下一個數據包。

圖片

這種“一來一去”的方法來保證傳輸可靠就是停止等待協議(stop-and-wait)。

再來考慮一種情況:丟包。網絡環境不可靠,導致每一次發送的數據包可能會丟失,如果機器A發送了數據包丟失了,那么機器B永遠接收不到數據,機器A永遠在等待。解決這個問題的方法是:超時重傳 。

當機器A發出一個數據包時便開始計時,時間到還沒收到確認回復,就可以認為是發生了丟包,便再次發送,也就是重傳。

但重傳會導致另一種問題:如果原先的數據包并沒有丟失,只是在網絡中待的時間比較久,這個時候機器B會受到兩個數據包,那么機器B是如何辨別這兩個數據包是屬于同一份數據還是不同的數據?這就需要前面講過的方法:給數據字節進行編號。這樣接收方就可以根據數據的字節編號,得出這些數據是接下來的數據,還是重傳的數據。

05

** 連續ARQ協議**

停止等待協議已經可以滿足可靠傳輸了,但有一個致命缺點:效率太低。發送方發送一個數據包之后便進入等待,這個期間并沒有干任何事,浪費了資源。解決的方法是:連續發送數據包。

圖片

和停止等待最大的不同就是,他會源源不斷地發送,接收方源源不斷收到數據之后,逐一進行確認回復。這樣便極大地提高了效率。但同樣,帶來了一些額外的問題:

發送是否可以無限發送直到把緩沖區所有數據發送完?不可以。因為需要考慮接收方緩沖區以及讀取數據的能力。如果發送太快導致接收方無法接受,那么只是會頻繁進行重傳,浪費了網絡資源。所以發送方發送數據的范圍,需要考慮到接收方緩沖區的情況。這就是TCP的流量控制 。解決方法是:滑動窗口 。

圖片

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

    關注

    6

    文章

    1767

    瀏覽量

    44991
  • 接收機
    +關注

    關注

    8

    文章

    1136

    瀏覽量

    52819
  • ARQ
    ARQ
    +關注

    關注

    0

    文章

    3

    瀏覽量

    6088
  • TCP協議
    +關注

    關注

    1

    文章

    83

    瀏覽量

    12012
收藏 人收藏

    評論

    相關推薦

    第12章 TCP傳輸控制協議基礎知識

    轉最新教程本章節為大家講解TCP(Transmission Control Protocol,傳輸控制協議),通過本章節的學習,需要大家對TCP
    發表于 10-30 08:51

    TCP/IP傳輸協議概攬

    TCP/IP 傳輸協議概攬 傳輸控制協議 TCP
    發表于 06-09 21:51 ?758次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>傳輸</b>層<b class='flag-5'>協議</b>概攬

    TCP/IP傳輸協議概覽

    TCP/IP傳輸協議概攬 傳輸控制協議 TCP
    發表于 06-09 21:52 ?890次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>傳輸</b>層<b class='flag-5'>協議</b>概覽

    TCP/IP協議簡介

    TCP/IP協議簡介 TCP/IP傳輸協議概攬 傳輸
    發表于 06-09 23:07 ?1272次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>協議</b>簡介

    傳輸控制協議(TCP)/網絡層協議是什么意思

    傳輸控制協議(TCP)/網絡層協議是什么意思 傳輸控制
    發表于 04-06 16:44 ?2723次閱讀

    tcp ip協議_什么是tcp ip協議

    什么是tcp ip協議,tcp ip協議詳解,深刻講述了tcp ip協議的概念,
    發表于 05-14 16:29 ?5781次閱讀
    <b class='flag-5'>tcp</b> ip<b class='flag-5'>協議</b>_什么是<b class='flag-5'>tcp</b> ip<b class='flag-5'>協議</b>

    TCP傳輸控制協議

    TCP-IP詳解卷2 TCP傳輸控制協議,學習TCP很好的資料。歡迎下載。
    發表于 05-09 14:33 ?0次下載

    TCP協議基礎知識

    TCP 是互聯網核心協議之一,本文介紹它的基礎知識。
    的頭像 發表于 10-16 10:29 ?3432次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協議</b>基礎<b class='flag-5'>知識</b>

    TCP協議的簡介和關鍵知識

    重發 9、TCP控制 10、網線“斷”了怎么辦 01簡介 TCP(Transmission Control Protocol 傳輸控制
    的頭像 發表于 08-18 09:55 ?4877次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協議</b>的簡介和關鍵<b class='flag-5'>知識</b>點

    一文詳解TCP傳輸控制協議

    TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接(連接導向)的、可靠的、 基于IP的傳輸
    發表于 05-25 15:38 ?1424次閱讀
    一文詳解<b class='flag-5'>TCP</b><b class='flag-5'>傳輸</b><b class='flag-5'>控制</b><b class='flag-5'>協議</b>

    傳輸控制協議TCP是怎樣進行工作的

    傳輸控制協議TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信
    的頭像 發表于 08-19 09:17 ?2566次閱讀
    <b class='flag-5'>傳輸</b><b class='flag-5'>控制</b><b class='flag-5'>協議</b><b class='flag-5'>TCP</b>是怎樣進行工作的

    什么是TCP協議

    TCP(Transmission Control Protocol,傳輸控制協議),它是最常用傳輸協議
    的頭像 發表于 02-14 10:26 ?2474次閱讀

    傳統TCP設計的可靠傳輸協議詳解

    傳統TCP設計的可靠傳輸協議是一種基于TCP協議實現的可靠傳輸方法。下面是傳統
    的頭像 發表于 07-21 16:51 ?480次閱讀

    TCP協議面試常問知識點總結

    TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到
    的頭像 發表于 12-15 10:38 ?337次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協議</b>面試常問<b class='flag-5'>知識</b>點總結

    關于TCP、HTTP的知識科普

    要說http就繞不開tcp,TCP協議對應于傳輸層,而HTTP協議對應于應用層,從本質上來說,二者沒有可比性。但是,http是基于
    的頭像 發表于 12-21 09:31 ?484次閱讀
    關于<b class='flag-5'>TCP</b>、HTTP的<b class='flag-5'>知識</b><b class='flag-5'>科普</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>