簡介
本文檔介紹在使用SD-WAN連線SDA站點時,最大傳輸單元(MTU)問題如何影響SDA中的微分段。
必要條件
需求
思科建議您瞭解以下主題:
- 思科軟體定義存取(SDA)
- 思科軟體定義廣域網路(SD-WAN)
- 思科身分識別服務引擎(ISE)
採用元件:
本文檔中的資訊基於SDA、SDWAN和ISE。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
現代企業網路越來越多地利用SDA實現細粒度細分和一致的策略實施。為了連線分散式SDA站點,通常使用Cisco SD-WAN,通過多種底層網路提供靈活、安全和最佳化的傳輸。作為此架構的核心,ISE提供關鍵身份驗證、授權和記帳(AAA)服務,以及動態策略分配(例如,安全組標籤(SGT)和可下載ACL)。
雖然功能強大,但是這些強大技術的整合可能會帶來微妙但卻有效的配置挑戰。關鍵網路切換點和跨SD-WAN重疊的MTU處理是此類問題的主要方面。本文討論了兩種可能中斷網路運行的常見MTU不匹配情況:
- SDA邊界節點和SD-WAN邊緣裝置之間的MTU間隙。
- 通過SD-WAN重疊的ISE發起流量的MTU限制。
正確的MTU對齊對於防止資料包分段問題或靜默丟棄至關重要,可確保可靠的身份驗證、策略實施和整體網路穩定性。如果無法解決這些問題,可能會導致間歇性的連線和策略實施故障令人困惑,從而耗費大量的故障排除工作。
MTU未對齊的常見症狀
不一致的MTU可能以多種方式表現出來,通常會導致難以診斷的問題:
-
間歇性RADIUS身份驗證失敗或超時:尤其值得注意的是生成較大RADIUS資料包的策略(例如,具有大量AV配對或證書的策略)。
-
端點無法接收或應用可下載ACL(dACL)或TrustSec策略(SGT/SGACL):這些原則通常在大型RADIUS封包中傳達。
-
通過身份驗證的客戶端建立會話速度緩慢:由於應用層重新傳輸。
-
RADIUS重新傳輸過多:可在ISE日誌或網路訪問裝置(NAD)上觀察到。
-
策略傳播不一致:在ISE中進行的策略更改可能不會始終傳播到遠端SDA站點中的所有NAD。
-
資料包捕獲差異:捕獲可以顯示ISE傳送大型資料包(例如>1450位元組),並設定Do Not Fragment(DF)位元,但是沒有相應的響應或NAD或SD-WAN思科邊緣路由器的ICMP「需要分段」錯誤。
-
遞增資料包丟棄計數器:在資料中心(DC)思科邊緣路由器的入口介面上觀察到來自ISE且目的地為SDA站點的流量,或在面向SDA邊界的SD-WAN思科邊緣路由器介面上觀察到反向流量。
問題描述
典型的企業部署
考慮常見的企業拓撲:
-
Cisco ISE伺服器:部署在與DC網路基礎設施連線的集中式資料中心(DC)或區域中心。
-
DC基礎設施:包括ISE伺服器所連線的DC核心或匯聚交換機。
-
SD-WAN覆蓋:DC思科邊緣路由器路由器通過底層傳輸網路(例如,互聯網、MPLS)建立到遠端SDA站點的Cisco邊緣路由器路由器的SD-WAN隧道(通常為IPsec)。
-
SDA站點:遠端站點思科邊緣路由器路由器連線到本地SDA交換矩陣,包括交換矩陣邊緣節點、邊界節點、無線LAN控制器(WLC),並最終連線到終端。
示例拓撲

練習1:MTU缺口 — SDA邊界至SD-WAN邊緣
思科SDA設計原則(通常通過LAN自動化實施)促進了所有交換矩陣裝置上的9100位元組(巨型幀)的園區範圍的MTU。這包括Catalyst 9000系列邊界節點,並確保乙太網巨型幀在交換矩陣中有效地傳輸。因此,SDA邊界節點上的第3層或SVI切換介面預設為此更大的MTU。
相反,SD-WAN邊緣裝置(如Catalyst 8000系列)通常預設為1500位元組的介面MTU。這是連線到外部網路(如Internet服務提供商(ISP))的介面的標準配置,在這些網路中,巨型幀支援不常見或未啟用。
這種差異直接導致了潛在的失敗:嘗試將大於1500位元組的IP資料包傳送到其接收介面配置為1500位元組MTU的SD-WAN邊緣的SDA邊界。
此型別的MTU不匹配是SDA部署中的常見缺陷,在配置過程中通常很容易被忽略。更具有挑戰性的是,與如何在執行Cisco IOS-XE®的Catalyst 9000交換器上產生RADIUS要求相關的某些行為,只能導致在特定及緊急情況下才會暴露這些問題。
例如,在由會話管理器守護程式(SMD)進程處理的終端使用者身份驗證過程中生成的RADIUS請求被硬編碼為以1396位元組對資料包進行分段。相反,檢索TrustSec策略(例如安全組訪問控制清單(SGACL))時涉及的RADIUS請求是由思科互聯作業系統守護程式(IOSd)子元件生成的。這些資料包可感知MTU,並且可避免對資料包進行分段,除非其大小超過系統MTU(通常高達9100位元組)。
因此,與MTU不相符相關的問題僅在使用Cisco TrustSec(CTS)下載策略時才會變得明顯。此外,在使用者身份驗證期間,SDA邊緣裝置下載的基於角色的訪問控制清單(RBACL)集可能會有所不同,具體取決於其他標籤已經存在哪些SGACL策略。實際上,交換機只下載策略集的非重疊部分。
綜合起來,這些行為可能會導致不可預測和不一致的結果,從無聲故障到不完整策略下載,具體取決於SGACL策略的規模、當前系統條件,並最終取決於路徑上的MTU失調。

SDA邊界通過SD-WAN邊緣向ISE轉發大型RADIUS資料包(例如,1600位元組),出現以下情況:
- SDA邊界及其9100 MTU介面會傳送1600位元組的IP封包。
- SD-WAN思科邊緣路由器在其1500 MTU介面上收到此資料包。
- 但是,如果沒有在這些RADIUS封包上設定「不分段(DF)」位元,SD-WAN思科邊緣路由器通常會在輸入時將其捨棄,只是因為它們相對於其已設定的介面MTU「過大」。 它不會進入IP轉送邏輯的階段,在此階段它可以考慮將其分段(如果DF位元允許)。
這種靜默丟棄會導致嚴重的故障排除問題,特別是因為問題是定向的(SDA到SD-WAN/ISE)。
類似的MTU不匹配可能發生在資料中心(DC)核心或枝葉交換機,這些交換機通常配置為支援巨型幀(例如,MTU 9000+),以提高內部DC流量效率。但是,如果流量被傳遞給配置了標準MTU(例如1500位元組)的SD-WAN DC思科邊緣路由器面向LAN的介面,這種不匹配可能會導致分段或丟包,尤其是對於從DC網路流入SD-WAN交換矩陣的流量。
挑戰1的解決方案:
將SDA邊界切換介面(物理或SVI)的IP MTU與對等的SD-WAN Cisco Edge路由器介面對齊,通常為1500位元組。
配置示例(在SDA邊界節點上):
!
interface Vlan3000
description Link to SD-WAN cEdge Router
ip address 192.168.100.1 255.255.255.252
ip mtu 1500
!
重要考慮因素:Catalyst 9000邊界上的分段
Catalyst 9000系列交換器作為SDA邊界節點,支援硬體資料平面中原生IP封包的IP分段。將切換介面上的ip mtu降低到1500 不會導致效能降低,因為來自或穿過需要它的邊界的資料流的基於軟體的分段。交換器在進入此特定介面之前,高效地對大於1500位元組的IP封包進行分段(如果DF位元已清除),而不會傳送到CPU。
但是,必須注意的是,Catalyst 9000交換器通常不支援VXLAN封裝流量的分段。此限制對重疊流量至關重要,但不會影響所述的RADIUS身份驗證場景,因為SDA邊界和外部ISE之間的RADIUS通訊通常發生在底層(本地IP路由)中。(VXLAN重疊的MTU注意事項是一個單獨且複雜的主題,詳細內容見相關思科SDA設計手冊)。
SDA邊界的主動式MTU與SD-WAN Cisco邊緣路由器切換至關重要。
練習2:MTU壓縮 — SD-WAN重疊中的ISE流量
即使單個物理介面(例如ISE網路介面卡(NIC)、交換機埠或路由器介面)設定為標準1500位元組IP MTU,SD-WAN重疊本身也會引入封裝開銷。此額外負荷會消耗1500位元組限制的一部分,從而降低原始IP封包的有效MTU(從ISE的角度來看是「負載」)。
封包結構和封裝額外負荷:
當從ISE伺服器(例如,RADIUS訪問接受資料包)傳送至SDA站點中的網路訪問裝置(NAD)時,它會穿越SD-WAN重疊並封裝。常見的封裝堆疊在通道模式下涉及IPsec,可能是通過UDP進行NAT穿越(NAT-T)。
- 來自ISE的原始資料包(內部資料包):
例如,具有1450位元組負載的RADIUS封包+ 8B UDP + 20B內部IP = 1478位元組。



如果實體連結MTU為1500位元組,則來自ISE的原始IP封包的可用負載MTU變成:1500位元組 — SD-WAN額外負荷。
例如,1500 - 70 = 1430位元組。
封包超過有效MTU時的行為:
- ISE建立封包(DF位元異常):
- 預設情況下,ISE裝置的基礎Linux作業系統會為其源的所有小於或等於其配置的介面IP MTU(例如,1500位元組)的資料包設定Do Not Fragment(DF)標簽。
- 此DF位元的用途:ISE(通過其OS)主動設定DF位元,主要是利用路徑MTU發現(PMTUD)流程,稍後將對此進行介紹。這麼做可讓ISE動態得知目的地的實際PMTU(若目的地的實際PMTU小於自己的介面MTU)。
- 大於介面MTU的資料包行為:如果ISE需要傳送的IP資料包大於其配置的介面IP MTU,則行為取決於其Linux作業系統。通常,OS會在傳輸之前對封包進行分段,並清除這些產生的片段上的DF位元(設定DF=0)。此分段是OS級別的函式,不直接由ISE應用程式碼本身驅動。
- 與網路裝置的關鍵區別:ISE的此預設行為(設定DF=1,即使對於適合其介面MTU中的非分段資料包)與許多傳統網路裝置(路由器、交換機)有很大不同。 網路裝置通常不會在其發起或轉發的資料包上設定DF位元,除非明確配置為這樣做,或者如果被轉發的資料包已設定DF位元,或者為特定協定設定DF位元。如果封包超過下一個躍點的MTU(和DF=0),則通常會在預設情況下允許分段。
- 故障排除複雜性:這種不對稱性(ISE到NAD流量通常預設情況下為DF=1,而NAD到ISE流量可以為DF=0(除非該NAD設定其原因) — 在故障排除期間會引入額外的複雜性層。工程師可以觀察到不同的分段行為和PMTUD互動,具體取決於通訊流的方向。
- 資料包到達入口思科邊緣路由器(DC):DC思科邊緣路由器從ISE接收IP資料包。
- Cisco Edge路由器的封裝和MTU檢查:Cisco Edge路由器嘗試為SD-WAN隧道封裝資料包。
- 如果原始資料包大小為SD-WAN封裝開銷超過思科邊緣路由器的出站物理介面MTU(例如,1500位元組),並且在來自ISE的原始(內部)資料包上設定DF位元,則思科邊緣路由器不得對內部資料包進行分段。
- 思科邊緣路由器應捨棄封包。
- 關鍵是,思科邊緣路由器還應將ICMP「無法到達目的地 — 需要分段和設定DF位元」(型別3,代碼4)訊息傳送回來源(ISE),指出下一個躍點的MTU(通道的有效MTU)。
- 路徑MTU探索(PMTUD)程式:收到此ICMP「需要分段」訊息時,ISE(來源作業系統)應降低該特定目的地路徑的PMTU估計值。它會快取此資訊,並以適合新發現的PMTU的較小封包重新傳送資料。
PMTUD流程圖:

其中PMTUD通訊中斷:
PMTUD在理論上是穩健的,但在實踐中可能會失敗:
-
ICMP過濾:中間防火牆或安全策略通常會阻止ICMP消息,阻止「需要分段」消息到達ISE。
-
思科邊緣路由器上的控制階段管制(CoPP):Cisco Edge Router路由器使用CoPP保護其CPU。生成ICMP錯誤消息是一項控制平面任務。在負載繁重或存在許多超大資料包的情況下,CoPP可以限制速率或丟棄ICMP生成。ISE永遠不會收到反饋。
-
靜默丟棄:如果ISE沒有收到ICMP「需要分段」消息,它仍然不知道路徑限制。它繼續傳送已設定DF位元的大型資料包,導致入口思科邊緣路由器以靜默方式丟棄這些資料包。這會導致應用層超時和重新傳輸(例如RADIUS)。
-
對ISE服務的影響:大型RADIUS Access-Accept封包(承載dACL、廣泛的AVP、SGT資訊)尤其容易受影響。表現形式包括:
-
間歇或完全身份驗證失敗。
-
未收到正確網路訪問策略或SGT的終端。
-
ISE和NAD之間的策略同步不完整或失敗。
挑戰2的解決方案:主動ISE IP MTU配置
鑑於PMTUD不可靠,主動式方法最適合於關鍵服務(如ISE)。將ISE網路介面上的IP MTU配置為可安全容納最大預期SD-WAN重疊開銷的值。這可確保ISE不會發起本身過大而不需要中間裝置(如果DF=1則禁止)通過SD-WAN重疊的IP資料包(設定DF位)。
計算和設定建議的ISE IP MTU:
- 建立基本物理MTU:對於路徑沿線的標準乙太網介面,這通常為1500位元組。
- 確定最大SD-WAN封裝開銷:
- 準確計算或保守估計特定SD-WAN重疊(IPsec、GRE、VXLAN、MPLSoGRE等)引入的總開銷。 有關您選擇的協定和選項的精確數字,請參閱供應商文檔。
基本物理MTU |
1500 |
物理鏈路上的標準乙太網 |
減:SD-WAN開銷 |
|
|
外部IP標頭(IPv4) |
20 |
|
UDP報頭(用於NAT-T) |
8 |
如果ESP封裝在UDP中 |
ESP報頭 |
~8-12 |
|
ESP IV(例如AES-CBC) |
~16 |
因加密演算法而異 |
ESP驗證(例如SHA256) |
~12-16 |
隨身份驗證演算法而變化(例如,某些演算法為96位) |
其他重疊(GRE等) |
變數 |
新增SD-WAN封裝堆疊的一部分 |
總估計開銷 |
~68 - 80+位元組 |
部署的所有相關元件的總和 |
有效路徑MTU |
~1432 - 1420位元組 |
基本物理MTU — 估計的總開銷 |
- 建議的ISE IP MTU配置:
- 採用計算得到的有效路徑MTU(例如,示例中的1420位元組)。
- 減去額外的安全餘量(例如20-70位元組),以說明次要的未入帳第2層標頭,或提供緩衝區。
- Cisco SD-WAN等解決方案可以為每個站點到站點隧道單獨執行路徑MTU(PMTU)發現。此機制每20分鐘自動運行一次,以測試隧道的IP MTU,並根據每個站點的當前傳輸條件動態調整其IP MTU。因此,站點之間的MTU值可能不同,並且可能隨時間而更改。
- 在此類情況下,ISE介面通常安全且建議的IP MTU介於1350和1400位元組之間
1350位元組的IP MTU通常是一個非常穩健的起始點
ISE配置(通過CLI的示例):
此命令在思科ISE裝置CLI上為每個相關網路介面執行。
!
interface GigabitEthernet0 ! Or the specific interface used for RADIUS/SDA communication
ip mtu 1350
!
ISE IP MTU更改的重要操作注意事項:
-
需要服務重新啟動:對ISE介面應用ip mtu命令後,將提示使用者重新啟動ISE應用服務。這是一個影響服務的更改,必須在計畫的維護時段內進行計畫。有關操作詳細資訊,請參閱官方的Cisco ISE文檔。
-
應用於所有ISE節點:此IP MTU調整必須一致地應用於部署中通過SD-WAN與NAD通訊的所有ISE節點(主PAN、輔助PAN、策略服務節點(PSN))。MTU設定不一致會導致不可預測的行為。
-
全面測試:在生產中實施之前,在實驗室或試運行部署中嚴格測試此更改。使用具有各種封包大小和DF位元設定的ping等工具來驗證端對端MTU處理:
ping -s -M do
(附註:-s指定ICMP負載大小。總IP封包大小=負載+ 8B ICMP Hdr + 20B IPv4的IP Hdr)
ping -f -l
(附註:-l指定ICMP負載大小。)
ping size df-bit
結論
按照SD-WAN封裝和SDA邊界的MTU調整所施加的有效傳輸層MTU限制來調整Cisco ISE伺服器上的IP MTU設定到SD-WAN Cisco Edge Router切換不僅是一項建議,而且是在現代分段企業網路中確保AAA服務的穩定性、可靠性和效能的關鍵先決條件。雖然路徑MTU探索是一種重要機制,但在SD-WAN環境中,它的實際有效性可能會受到ICMP過濾或控制平面策略等因素的影響。
通過主動在ISE上配置降低的IP MTU(例如,1350-1400位元組),網路架構師和工程師可以顯著降低與MTU相關的資料包丟棄風險,從而實現更可預知和更恢復的網路操作。這一點在思科SDA部署中尤其重要,ISE在這些部署中協調複雜的微分段和動態策略實施,而後者通常依賴於成功交付潛在的大型控制平面消息。跨所有ISE節點進行勤奮規劃、全面測試和一致的配置是成功且無故障的部署的關鍵所在。
標準和參考
要更深入地瞭解,請參閱官方標準和思科文檔:
RFC:
-
RFC 1191:路徑MTU探索
-
RFC 791:Internet協定(IP) — 定義IP報頭,包括不分段(DF)位。
-
RFC 8200:IPv6規範(如果使用IPv6則相關,包括類似的PMTUD概念)。
-
RFC 4459:網內通道(VPN)的MTU和分段問題 — 直接解決VPN環境中的常見MTU問題。
思科檔案:
-
思科SDA設計和部署指南:有關交換矩陣MTU建議和邊界節點配置的資訊。
-
Cisco SD-WAN設計和配置指南:有關封裝額外負荷、通道介面MTU和SD-WAN光纖中的PMTUD注意事項的詳細資訊。
-
Cisco Catalyst 9000系列交換機配置指南:獲取有關MTU設定和分段功能的平台特定詳細資訊。
-
思科身份服務引擎(ISE)管理員和CLI指南:有關介面配置的資訊,包括ip mtu命令和服務重新啟動含義。