本文件說明封包存留時間。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您在即時網路中工作,請確保在使用任何命令之前瞭解其潛在影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
思科低端路由器包括1xxx、25xx、26xx、3600、3800、4000、4500和4700系列。在這些路由器中,消息由某個人通過線路傳送並由另一個系統中的控制器接收。在大多數系統中,該控制器將資料包直接儲存在緩衝區記憶體中。當消息被完全接收時,控制器儲存一些指標資訊,以便入口驅動程式可以找到它,然後呈現接收中斷。
注意:如果控制器沒有用於儲存消息的緩衝區,它此時會記錄「ignore」並且不會收到消息。
在未來的某個時刻(通常以微秒為單位),驅動程式將處於活動狀態。驅動程式首先檢查傳輸隊列,然後檢查接收隊列。目前,我們將重點關注接收隊列處理。驅動程式檢查隊列的必要方面,確定有消息,從隊列中刪除消息,並補充控制器的接收緩衝區清單。然後,它決定要傳送消息的轉發器(例如IP或網際網路資料包交換(IPX))。
對於此說明,假定這是IP消息。驅動程式會將IP消息傳遞給配置的IP快速路徑。它首先從消息中刪除鏈路層報頭,然後確定是否在輸入介面上配置了快速路徑。如果沒有設定任何值,則封包會置入(標籤)到「輸入保留佇列」中,並檢查計數器。如果計數器為零,「輸入保持隊列」將用盡,資料包將被丟棄。如果計數器不為零,則遞減該計數器且消息入隊到進程路徑。
注意:「輸入保持隊列」不是文字意義上的隊列。它是指在介面上收到的一組資料包,未完全處理(通過將消息轉發到出口介面或釋放緩衝區)。 但是,如果有已設定的快速路徑(通常有),則消息會傳遞給快速路徑。
現在,快速路徑會驗證報文並將一些功能集應用到未路由的報文上。此步驟包括解密或解壓縮,或同時解壓縮(如有必要),執行網路地址轉換(NAT)、應用輸入承諾訪問速率(CAR)測試、應用策略路由測試等。
如果使用了策略路由,則實際上會選擇輸出介面。如果未使用策略路由,則下一步是在路由快取中查詢目標地址,該過程稱為「交換資料包」。 根據快速交換模式,快取的結構和內容會有所不同。在標準快速交換中,快取包含最近使用的目標字首路由或目標主機路由,並且有時沒有快取條目。在這種情況下,消息將跳至進程級別,再次標籤為「輸入保持隊列」。 在Cisco快速轉發交換中,快取(稱為轉發資訊庫,或FIB)是一個完整的路由表,因此不會發生該過程。
如果找到路由,則路由快取條目(或「鄰接關係」,在Cisco Express Forwarding中稱為「鄰接關係」)指示輸出軟體、硬體介面以及消息上要放置的報頭(下一個相關躍點)。 對於多路複用介面,這將是下一個相關的虛電路或虛擬通道。
在該軟體介面上,可能會出現許多問題。例如,介面可能已設定了小於訊息大小的最大傳輸單位(MTU)。由於快速路徑中沒有分段,因此此特定事件將是「顛簸」到進程級別的原因。此外,該介面可能配置用於NAT處理、輸出CAR等。在消息處理的這一階段,將應用這些功能。最後,將輸出介面的鏈路層報頭附加到消息上,並傳遞給輸出驅動程式。
該消息將呈現給驅動程式中的快速傳送常式,該常式執行以下步驟。
驅動程式會詢問許多問題,例如「Do I must copy the message to a new buffer before transmit it?」
它確定流量整形是否處於活動狀態。如果流量整形處於活動狀態,它將比較指定類消息的消息到達速率和消息傳輸速率。如果在子介面上形成整形隊列,或者該隊列不存在,但現在已超過該速率,則將該消息放入軟體介面的隊列中。
如果流量整形未處於活動狀態、未應用於此消息,或者尚未超過速率,驅動程式現在會詢問輸出控制器的傳輸隊列深度是否低於tx-queue-limit。如果低於該限制,驅動程式只需將消息排隊進行傳輸即可。沿此路徑傳送的訊息會視為已快速開啟輸入和快速開啟輸出。
但是,如果無法進行快速交換,驅動程式會將消息轉移到軟體隊列中,通常稱為「輸出保持隊列」。 此類保留隊列的示例包括先進先出(FIFO)隊列、優先順序隊列、自定義隊列和加權公平隊列(WFQ)。
由於這也是跟隨進程路徑的消息的目的地,因此此類消息被視為已快速切換輸入和進程切換輸出。請注意,實際上,它們不是進程切換的。當封包在快速路徑中交換時,會做出交換決定。但是,消息被轉移到與進程路徑共用的隊列。當消息從保持隊列中移除並排入傳輸控制器時,該消息在稍後被視為進程交換。
進程交換是指當消息無法在快速路徑中傳輸時發生的現象。這意味著報文已傳送到此系統,並將最終(理想情況下)由路由過程、鏈路維護過程、網路管理過程等使用。但是,某些流量確實會經過流程路徑,例如使用連結分段和交錯(LFI)在跳數區段之間交際語音的流量、X.25流量、需要分段之流量,以及沒有快速路徑路由輸入之流量。處理路徑上的處理在概念上與快速路徑相同,但由於各種原因在實施上有所不同。不同之處在於,在輸出時,「輸入保持隊列」標誌被清除,並且輸入介面上的計數器遞增(從輸入保持隊列中移除消息),並且消息被排入輸出保持隊列中。然後,模擬一個中斷,它可能觸發消息在輸出介面上的傳輸。與快速交換相比,由於進程開銷,交換速度較慢;當收到此類消息時,可能還會運行一些其他進程,並且需要處理一些更複雜的資料結構。