-
超時
(漢語詞彙)
鎖定
- 中文名
- 超時
- 外文名
- time-out
- 拼 音
- chāo shí
- 定 義
- 超過規定時間,接受信息失敗
- 結 果
- 重新傳輸信息或解除兩設備間會話
- 應用學科
- 通信科學
超時定義
超時即當網絡設備想在某個特定時間內從另一網絡設備上接收信息,但是失敗的情況。其結果常為:重新傳輸信息或解除兩設備間的會話。若服務器超時但尚未掉線,則表明你的網絡連接處於超微弱鏈接狀態。此時,你可查看Modem的温度是否過高。若不是很高,則可能你的網線有問題。再者,這時恰逢上網高峯期。
超時偽超時
在很多情況下,即使沒有出現數據丟失也可能引發重傳。這種不必要的重傳稱為偽重傳(spurious retransmission),其主要造成原因是偽超時(spurious timeout),即過早判定超時,其他因素如包失序、包重複,或ACK丟失也可能導致該現象。在實際RTT顯著增長,超過當前RTO時,可能出現偽超時。在下層協議性能變化較大的環境中(如無線環境),這種情況出現得比較多。
為處理偽超時問題提出了許多方法。這些方法通常包含檢測(detection)算法與響應(response)算法。檢測算法用於判斷某個超時或基於計時器的重傳是否真實,一旦認定出現偽超時則執行響應算法,用於撤銷或減輕該超時帶來的影響。
[3]
超時重組超時
一個數據報的任何一個分片首先到達時,IP層就得啓動一個計時器。如果不這樣做的話,不能到達的分片(如圖2所示)可能會最終導致接收方用盡緩存,留下一種攻擊機會。清單中的例子由一個特殊程序產生,該程序構造一個ICMPv4回顯請求報文,並且以一定延遲只發送這個消息的前面兩個分片,然後不再發送任何其他分片。圖2顯示了回覆(為了簡潔,某些行已被整理)。
這裏我們看到第一個分片(的時間和序列空間)被髮送,總長度是400。第二個分片20s後被髮送,但最後一個分片一直沒被髮送。接收到第一個分片30s後,目標機器回覆一個ICMPv4超時(代碼1)消息,告訴發送方數據報已丟失,包括第一個分片的拷貝。一般的超時時間是30s或60s。正如我們所見,收到任何一個分片時計時器就開始計時,且收到新的分片也不會被重置。因此,計時器給出了同一數據報分片之間可被分隔的最大間隔時間的限度。
[4]
超時超時處理
數據報套接字通信是不可靠的,發送的數據有可能丟失。如果數據報丟失,則消息不會到達服務,服務也不會返回回答。在這種情況下,程序將在recvfrom0調用無限地等待下去。另外,對於流套接字的連接和I/O也存在無限阻塞的情況。為了避免這種無限的等待,我們需要對涉及套接字的I/O操作設置超時處理,當時間片耗盡時要麼重新發送消息,要麼關閉套接字並退出執行。有三種設置超時的方法:
(1)調用alrm()使得系統在指定的時間片到期時生成SIGALRM信號。
(2)用select()建立一時間片等待套接字就緒。
(3)使用SO—RCVTIMEO和SO—SNDTIMEO套接字選項,這兩個選項自動對套接字的讀寫設置超時處理。
- 參考資料
-
- 1. 中國移動通信聯合會;李進良,倪健中.信息網絡辭典:東方出版社,2001-09
- 2. 侯愛民,歐陽驥,胡傳福編著,面向對象分析與設計 UML,清華大學出版社,2015.08,第171頁
- 3. (美)凱文 R.福爾,(美)W.理查德·史蒂文斯著;吳英,張玉,許昱瑋譯;吳功宜審校,TCP/IP詳解 卷1:協議 原書第2版,機械工業出版社,2016.06,第482頁
- 4. (美)凱文 R.福爾,(美)W.理查德·史蒂文斯著;吳英,張玉,許昱瑋譯;吳功宜審校,TCP/IP詳解 卷1:協議 原書第2版,機械工業出版社,2016.06,第348頁
- 5. 趙克佳,沈志宇編著,UNIX/Linux程序設計教程=UNIX and Linux Programing,機械工業出版社,2013.01,第404頁