電腦網路基礎
IPv4標頭中TTL(Time To Live,存活時間)的功能,下列何者正確?
- A記錄從送出封包到收到回應的時間,用來決定TCP重傳的時機
- B每經過一台路由器就減1,值變為0的封包會被丟棄,以防止封包在路由迴圈中不斷繞行
- C值越大的封包,路由器越優先轉送
查看答案與解析
正確答案:B. 每經過一台路由器就減1,值變為0的封包會被丟棄,以防止封包在路由迴圈中不斷繞行
TTL的名稱雖有「時間」二字,實際上是作為可經過之路由器數量(跳數)的上限,每經過一台路由器就減1。變為0時,路由器會丟棄該封包,並向來源送回ICMP的逾時訊息。因此,即使因設定錯誤等造成路由迴圈,封包也不會永遠繞行。例如以TTL 64送出的封包,經過3台路由器後抵達時為61。traceroute會把TTL依1、2、3…遞增送出,再從各路由器回傳的逾時訊息查出路徑。在IPv6中,具有相同功能的欄位稱為跳數限制(hop limit)。
- A. 到收到回應為止的時間(RTT)由TCP自行測量,與TTL無關。
- B. 正確。作為跳數上限,用來清除迴圈中的封包。
- C. 優先順序以其他欄位(例如DSCP)表示。