国产成人综合一区精品,久久精品爱国产免费久久,中文精品视频一区二区在线观看

廣州總校區切換校區
復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖片
news

新聞資訊

TCP傳輸規則及策略

發布時間: 2022-04-15

TCP傳輸規則及策略,TCP協議通過提供滑動窗口管理機制,在確保數據傳輸的可靠性的同時,充分地利用網絡帶寬。

滑動窗口提供一種動態的傳輸機制,允許一次連續傳輸若干數據包而不必一一等待確認,但對連續發送的數據包的數量進行限制。

滑動窗口的大小表明了接收方接收緩沖區的大小。它由一組按順序排列的數據包序號組成,這些數據包包括:發送并已確認部分,發送但未被確認的部分和能夠發送但未發送的部分。按照順序發送的若干數據包不必一一等待確認,確認的順序可以打亂。




假設發送方通過滑動窗口一次性向接收方發送了順序號為4、5和6的數據包,數據包5、6被確認,而數據包4未被確認,這時窗口是不能被滑動的,直到數據包4被確認后,窗口立即向后滑動。實際上,滑動窗口的大小在隨著接收方緩沖區的變動而變動,努力地使發送方一次發送的若干數據包可以正好填滿接收方的接收緩沖區,這實際上是一種流量控制技術。

滑動窗口主要負責對流量進行控制,路由器或接收方可以通過發送ICMP消息給發送方,以確保發送方發送數據包的速度。

發送方在知道接收方緩沖區大小的情況下發送了一個數據包,而該數據包只占用了接收方緩沖區的一部分。在應用程序取走這個數據包之前,接收方會通告窗口大小為剩下的那部分緩沖區的大小,并立即對上一次的數據包進行確認。

發送方會根據接收方提供的新的窗口大小進行發送,如果這時發送的數據包正好裝滿接收方的緩沖區,但接收方的應用程序還沒有對數據進行讀取,接收方會進行確認并聲明滑動窗口大小為0。

此時發送方會停止發送數據包而進入等待狀態,直到接收方的應用程序讀取緩沖區內的數據后,接收方又會聲明大于0 的窗口大小,發送方會繼續發送數據。在這種情況下,很容易出現窗口聲明丟失從而出現死鎖的可能。

實際上,TCP標準提供了比較有效的手段防止以上情況的發生。

其實,發送方不用在應用程序的數據到來時就馬上發送數據包;接收方也不用一收到數據包就進行確認。發送方產生了一個數據包,但該數據包可能只占用接收方緩沖區的一部分,此時發送方會將該數據包暫時緩存起來,等數據包的數量和大小足以裝滿接收方緩沖區時再一起發送,接收方亦如此。利用這一方式可以大大提高數據傳輸的性能。

TCP在具體實現時采用設置延遲的方式,即對包含確認信息和窗口大小的修改信息的數據包進行延遲操作,向后延遲500ms再發送出去,并盡可能在這些數據包上帶上一些實際數據。這樣,只要應用程序在500ms內響應,便可以將發送的數據包數降低50%,網絡的實際利用率也隨之得到提高。

采用這種方法可以改善網絡的使用狀況,但發送方的效率還是沒有得到有效的改善。

以上提到的情況其實屬于愚蠢窗口癥候群(silly window syndrome)現象:終端應用程序在普遍情況下每進行一次單擊鍵盤操作(即一個字節)就會發送一個包,而典型情況下一個包會擁有一個字節的數據載荷和40個字節長(20字節TCP頭和20字節的IP)的頭,于是產生4000%的過載,很輕易地就降低了網絡傳輸性能。

1984 年,John Nagle設計了Nagle算法解決這種網絡問題,后來成為了一種標準并且在因特網上得以實現。

現在Nagle算法已經成為默認配置了。這種方法的原理其實很簡單:發送方首先發送從應用程序傳來的數據的第一個字節,并等待接收方的確認信息;在此之前,從應用程序傳來的數據會緩存起來,當確認信息到達后,即將緩存的數據一起發送出去。

這種方法動態地改善了網絡性能。但是在某些實際的TCP程序設計中,最好將Nagle算法關掉,因為使用它也可能產生不良效果。

上一篇: 什么是ARP協議

下一篇: 什么是端口與端口號

<
在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

  • <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <menuitem id="6ngzx"><b id="6ngzx"></b></menuitem>
        <center id="6ngzx"><center id="6ngzx"></center></center><strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        主站蜘蛛池模板: 渭源县| 和顺县| 濉溪县| 南开区| 杭锦后旗| 威宁| 东港市| 嘉祥县| 乐山市| 武平县| 定远县| 张家界市| 德保县| 云梦县| 桃江县| 北安市| 舟曲县| 饶平县| 南乐县| 安吉县| 绵竹市| 休宁县| 宣恩县| 灵武市| 鸡西市| 东乌珠穆沁旗| 皋兰县| 麻栗坡县| 乌拉特后旗| 泰兴市| 锡林郭勒盟| 汽车| 农安县| 盐山县| 剑河县| 大足县| 蓝田县| 柯坪县| 石家庄市| 垦利县| 什邡市|