乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      TCP可靠數(shù)據(jù)傳輸原理

       Coder編程 2022-10-10 發(fā)布于北京

      之前介紹的可靠數(shù)據(jù)傳輸原理:

      1. 可靠數(shù)據(jù)傳輸基本原理(1)-解決數(shù)據(jù)受損問題

      2. 可靠數(shù)據(jù)傳輸基本原理(2)-解決數(shù)據(jù)丟失問題

      3. 可靠數(shù)據(jù)傳輸基本原理(3)-滑動窗口

      本文主要介紹TCP字節(jié)的可靠傳輸原理,基本原理和之前介紹的差不多,但是TCP本身字節(jié)實現(xiàn)的時候有一定的差異和優(yōu)化。

      序號和確認號

      序號

      TCP把數(shù)據(jù)看成一個無結(jié)構(gòu)的數(shù)據(jù)流,其序號(Sequence number)是建立在傳送的字節(jié)流的之上,而不是建立在傳輸?shù)捻樞蛏?。一個TCP報文的序號是該報文段的首字節(jié)的字節(jié)流編號。

      例子,假設(shè)應(yīng)用層發(fā)送了一個500 000字節(jié)的文件到傳輸層,傳輸層的MSS(Max segment size)是1000字節(jié),那么TCP將會為該文件構(gòu)建500個報文段(每個大小為1000字節(jié)),如果初始序列號(ISN:initial sequence number)0,那么第一個報文段的序號分配為0,第二個報文段的序號分配為1000,第三個為2000。。。。。。以此類推,如下圖所示。

      確認號

      之前討論的基本原理中,確認號是當前收到的報文段的序號。但是在TCP的實現(xiàn)中確認號是期望收到的下一個字節(jié)的序號,加入主機A給主機B發(fā)送了編號為0數(shù)據(jù)長度為1000的一個報文段,主機B成功接收后傳給主機A的確認號應(yīng)該是1000。

      累計確認

      對于接收方來說,TCP永遠只確認第一個丟失的字節(jié)的序號。對于發(fā)送方來說,如果收到確認號N,則代表接收方收到了N以前的所有字節(jié)。

      下圖展示了接收方只確認第一個丟失的序號1000。

       

      下圖展示了累計確認在發(fā)送方的執(zhí)行情況,由于在seq0超時前收到了ack2000,說明2000之前的數(shù)據(jù)已經(jīng)被全部接收,所有不會在重新傳遞seq為1的數(shù)據(jù),減少了一次重傳。

      快速重傳

      基于累積確認的基礎(chǔ),如果接收方連續(xù)三次(可以配置)接收到重復(fù)的ACK,可以在超時之前直接重傳這個分組。

      上面的這個例子另外需要額外主頁,當接收方收到發(fā)送方的快速傳遞的seq100后,直接ack了5000,因為5000之前的字節(jié)接收方已經(jīng)收到了??梢钥吹娇焖僦貍魈岣吡诵?。

      SACK

      Sellective Acknowledgement。如果接受的收到多個不連續(xù)的數(shù)據(jù)分組,接收方的接收緩存中會出現(xiàn)很多的空洞,通過sack功能,接收方可以在把這些空洞通知發(fā)送方。這樣發(fā)送方就會有更多的信息來判斷那些數(shù)據(jù)需要重傳。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多