<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                TCP/IP 分層聯網協議,包括數據鏈路層,網絡層,傳輸層,應用層(底層到高層) ![](https://box.kancloud.cn/7c52a810e26ef7b46a77977bcaefc597_459x449.png) ### 數據傳遞 高層傳遞信息給底層,底層不會解析高層數據,它會將信息放在底層的包中并加上自己的信息頭,繼續往下層傳遞;相反,底層傳遞給高層會對數據進行一層層解析(逆向解包) ### 數據鏈路層 - 從網絡層傳遞過來的數據報封裝到一個個幀,每個幀除了傳遞的數據之外,幀頭還包含目標地址和幀大小;數據鏈路層傳輸幀,這一層會進行錯誤檢測,重傳以及流量控制; 多個幀會在接收端進行重組; - 最大傳輸單元MTU,是傳輸的幀大小的上限 ### 網絡層 - 網絡層主要協議是IP,IP以數據報的形式傳輸數據,一個數據報包含目標地址,源地址,從而可以路由到目標地址 - IP是無連接和不可靠的協議,可靠性由傳輸層協議TCP或應用程序保證 - 當IP數據報大于MTU時,會進行分段,以便封裝到幀中(因為IP是不可靠協議,這可能導致數據丟失,因此應當避免對IP數據報分段,這樣情況就是要在傳輸層處理了,只要 傳輸層傳給網絡層時數據報不會大于MTU就可以了,所以說可靠性需要由傳輸層來保證) ### 傳輸層 - 包括用戶數據報協議UDP,傳輸控制協議TCP #### TCP協議 - 建立連接;在開始通信前,兩個端點建立一個通信信道 - 數據分段;每一個端包括檢驗和,從而能夠檢測出端到端傳輸錯誤,每一個段使用單個IP數據報來傳輸 - 確認,重傳以及超時 - 排序(序號計數);數據段第一個字節的序號,接收者對這些分段進行確認并以正確的順序組裝這些分段 - 流量控制;防止一個快速的發送者壓垮一個慢速接收者;大概就是接收端的緩沖區滿了,發送TCP就會停止傳輸數據 - 擁塞控制;防止一個快速的發送者壓垮整個網絡 ### tcp三次握手四次揮手 ![](http://hi.csdn.net/attachment/201108/7/0_131271823564Rx.gif) ### tcp一些控制位說明 - ACK 確認序號,接收端在上一個成功收到的數據字節的序列號加1 - RST 重置連接,用來處理多種錯誤情況 - SYN 同步序列號 - FIN 發送端提示完成發送任務 ### tcp一些狀態說明 - 三次握手 - LISTEN server端正在等待連接 - SYN_SEND client發送一個SYN報文,等待server回應 - SYN_RECV server端收到client發來的SYN后,回應SYN/ACK之后進入SYN_RECV狀態 - ESTABLISHED 兩個tcp節點連接建立完成 - 四次揮手 - FIN_WAIT1 client端發送FIN到server端,等待server回應ACK - FIN_WAIT2 處于FIN_WAIT1狀態的client收到server端的ACK - TIME_WAIT client端收到server端FIN,完成主動關閉;client端等待了2MSL后才會關閉,因為要等Server端已正常關閉 - CLOSE_WAIT server端收到client端發來的FIN時,就處于CLOSE_WAIT狀態 - LAST_ACK server端收到ACK時,server端關閉 ### 客戶端經歷狀態 ![](http://hi.csdn.net/attachment/201108/7/0_1312719804oSkK.gif) ### 服務端經歷狀態 ![](http://hi.csdn.net/attachment/201108/7/0_1312719833030b.gif) ### 參考 - Linux系統編程手冊(下冊) - [TCP協議中的三次握手和四次揮手(圖解)](https://blog.csdn.net/whuslei/article/details/6667471/)
                  <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>

                              哎呀哎呀视频在线观看