<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## TCP首部 > 先來一張圖~ 1字節(byte) = 8bit~ ![](https://img.kancloud.cn/12/44/1244c3e3ca6c2414bb1c0565bad75aad_500x329.png) * **TCP端口** * TCP端口就是為TCP協議通信提供服務的端口。(80, 8080之類) * **源端口** * 包含發送數據報的程序所使用端口 * **目的端口** * 接收數據報的程序所使用端口 * **序號** * 序號用來標識從TCP發送端向TCP接收端發送的數據字節流,在一個 TCP 連接中傳輸的字節流中的每個字節都按照順序編號,**序號**是本報文段發送的數據組的第一個字節的序號。 > 第一個 TCP 報文段包含的是第一個 25kb 的數據,0 ~ 25599 字節, 該報文的序號的值就是:0 > 第二個 TCP 報文段包含的是第二個 25kb 的數據,25600 ~ 51199 字節,該報文的序號的值就是:25600 > ... * **確認號** * 指明下一個期待收到的字節序號,表明該序號之前的所有數據已經正確無誤的收到。確認號只有當ACK標志為1時才有效。 * **數據偏移/首部長度** * 表示報文中除開有效數據段,報文首部的長度。所以數據偏移的最小值是20字節(固定首部)。 * **保留** * 保留,一般置為0。 * **URG** * 緊急指針標志,當URG值為1時,發送方應用程序告訴發送方的TCP有緊急數據需要處理,TCP就將緊急數據放到數據區的最前面。緊跟其后是普通數據。 * **ACK** * 確認序號標志,當ACK=1時,確認號才有效。當ACK=0時,連接都還沒建立,不可能傳送有效數據。 * **PSH** * push標志,為1表示是帶有push標志的數據,指示接收方在接收到該報文段以后,應盡快將這個報文段交給應用程序,而不是在緩沖區排隊。 * **RST** * 重置連接標志,用來拒絕一個非法的報文段和拒絕打開一個連接,RST也可稱為重建位或者重置位。 * **SYN** * 同步序號,用于建立連接過程,當SYN置為1時,表示連接請求或連接接受報文。 * **FIN** * finish標志,用于釋放連接,為1時表示發送方的數據已發送完畢,請求釋放連接。 * **窗口** * 滑動窗口大小,用來告知發送端接受端的緩存大小,以此控制發送端發送數據的速率,從而達到流量控制。 > 例如,發送了一個報文段,確認號1001(期望下一個收到的報文中,數據區第一個字節的序號是1001),窗口字段是1000。就是告訴對方:“從1001開始,我最多只能接受1000個字節的數據,你發送數據的時候考慮下這點。” * **檢驗和** * 發送端對TCP首部、數據進行CRC運算得出的結果。接收端收到數據后,對接收到的TCP報文段的首部、數據進行CRC運算,并跟TCP首部中的校驗和進行對比,確保數據在傳輸過程中沒有損壞。 * **緊急指針** * 只有當?URG?標志置?1?時緊急指針才有效。表示緊急數據的長度,指出了緊急數據的末尾在報文段的位置。 * **選項** * 最常見的可選字段是最長報文大小,又稱為MSS(Maximum Segment Size),每個連接方通常都在通信的第一個報文段(為建立連接而設置SYN標志為1的那個段)中指明這個選項,它表示本端所能接受的最大報文段的長度。 * **填充** * 選項長度不一定是32位的整數倍,所以要加填充位,即在這個字段中加入額外的零,以保證TCP頭是32的整數倍。 * **數據部分** * TCP?報文段中的數據部分是可選的。在一個連接建立和一個連接終止時,雙方交換的報文段僅有?TCP?首部。如果一方沒有數據要發送,也使用沒有任何數據的首部來確認收到的數據。在處理超時的許多情況中,也會發送不帶任何數據的報文段。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看