逾時

逾時

系統中某個特殊事件發生之前允許經過的特定時間周期。例如,以撥號方式進入ISP時,通訊軟體設計成等待一個特定的秒數,若在規定的時間內得不到回響,建立起正確的握手信號,則此次撥號被掛斷。另外,當要求進入一個 Web頁面時,如果在規定的時間內不能得到滿足,瀏覽器將會顯示 “連線逾時”的信息。如果計算機沒有這樣的功能,它會在一直等待一個事件的發生,等到用戶也不耐煩的時候,它還在等,那就不合適了。

基本介紹

  • 中文名:逾時
  • 外文名:time-out 
  • 拼音:chāo shí
  • 定義:超過規定時間,接受信息失敗
  • 結果:重新傳輸信息或解除兩設備間會話
  • 套用學科:通信科學
定義,偽逾時,重組逾時,逾時處理,

定義

逾時即當網路設備想在某個特定時間內從另一網路設備上接收信息,但是失敗的情況。其結果常為:重新傳輸信息或解除兩設備間的會話。若伺服器逾時但尚未掉線,則表明你的網路連線處於超微弱連結狀態。此時,你可查看Modem的溫度是否過高。若不是很高,則可能你的網線有問題。再者,這時恰逢上網高峰期
逾時訊息逾時訊息
逾時訊息是指訊息傳送者發出訊息給接收者並按指定時間等待。如果接收者無法在指定時間內接收訊息。則傳送者放棄這個訊息。如右圖所示是逾時訊息的例子。

偽逾時

在很多情況下,即使沒有出現數據丟失也可能引發重傳。這種不必要的重傳稱為偽重傳(spurious retransmission),其主要造成原因是偽逾時(spurious timeout),即過早判定逾時,其他因素如包失序、包重複,或ACK丟失也可能導致該現象。在實際RTT顯著增長,超過當前RTO時,可能出現偽逾時。在下層協定性能變化較大的環境中(如無線環境),這種情況出現得比較多。
為處理偽逾時問題提出了許多方法。這些方法通常包含檢測(detection)算法與回響(response)算法。檢測算法用於判斷某個逾時或基於計時器的重傳是否真實,一旦認定出現偽逾時則執行回響算法,用於撤銷或減輕該逾時帶來的影響。

重組逾時

一個數據報的任何一個分片首先到達時,IP層就得啟動一個計時器。如果不這樣做的話,不能到達的分片(如右圖所示)可能會最終導致接收方用盡快取,留下一種攻擊機會。清單中的例子由一個特殊程式產生,該程式構造一個ICMPv4回顯請求報文,並且以一定延遲只傳送這個訊息的前面兩個分片,然後不再傳送任何其他分片。右圖顯示了回復(為了簡潔,某些行已被整理)。
重組逾時重組逾時
這裡我們看到第一個分片(的時間和序列空間)被傳送,總長度是400。第二個分片20s後被傳送,但最後一個分片一直沒被傳送。接收到第一個分片30s後,目標機器回復一個ICMPv4逾時(代碼1)訊息,告訴傳送方數據報已丟失,包括第一個分片的拷貝。一般的逾時時間是30s或60s。正如我們所見,收到任何一個分片時計時器就開始計時,且收到新的分片也不會被重置。因此,計時器給出了同一數據報分片之間可被分隔的最大間隔時間的限度。

逾時處理

數據報套接字通信是不可靠的,傳送的數據有可能丟失。如果數據報丟失,則訊息不會到達服務,服務也不會返回回答。在這種情況下,程式將在recvfrom0調用無限地等待下去。另外,對於流套接字的連線和I/O也存在無限阻塞的情況。為了避免這種無限的等待,我們需要對涉及套接字的I/O操作設定逾時處理,當時間片耗盡時要么重新傳送訊息,要么關閉套接字並退出執行。有三種設定逾時的方法:
(1)調用alrm()使得系統在指定的時間片到期時生成SIGALRM信號。
(2)用select()建立一時間片等待套接字就緒。
(3)使用SO—RCVTIMEO和SO—SNDTIMEO套接字選項,這兩個選項自動對套接字的讀寫設定逾時處理。
這三種方法既可用於輸入也可用於輸出。

相關詞條

熱門詞條

聯絡我們