通H12-831題庫判斷題:OSPF/IS-IS/BGP機(jī)制邊界解析)
簡介面向備考華為HCIP-DatacomH12-831認(rèn)證的考生這份2024年數(shù)通新題庫以PDF形式整理重點(diǎn)解決考試題目變動(dòng)后舊資料覆蓋不足、復(fù)習(xí)方向不清的問題。壓縮包僅含1個(gè)PDF文件大小約327KB輕量便于在電腦或移動(dòng)設(shè)備上隨時(shí)查閱。內(nèi)容圍繞OSPF鄰居主從關(guān)系、OSPFv3接口通告、BGP路由策略與Update屬性、端口隔離、IS-IS鏈路限制及進(jìn)程隔離、filter-policy過濾對象、IS-IS引入OSPF默認(rèn)開銷、鏈路聚合與堆疊可靠性、RSTP TC-BPDU、ACL與MQC等考點(diǎn)以判斷題和選擇題配合答案解析呈現(xiàn)便于對照錯(cuò)題回查概念。已有902人學(xué)習(xí)適合需要快速梳理831高頻知識點(diǎn)、檢驗(yàn)掌握程度并調(diào)整備考計(jì)劃的考生使用。1. 題庫的錯(cuò)題率為什么集中在「一個(gè)詞」上2024 數(shù)通 H12-831 題庫里最讓人頭疼的不是多選題而是判斷題。一道題只改一個(gè)詞——「所有」換成「部分」、「默認(rèn) 100」換成「默認(rèn) 0」、「只能」換成「可以」——答案就從 A 換成 B。很多人把這類失分歸因于「背得不夠」但在教育考試的語境里題庫真正的價(jià)值不是提供標(biāo)準(zhǔn)答案而是迫使人把每個(gè)結(jié)論背后的作用點(diǎn)和邊界重新問一遍這條命令在哪一層生效這個(gè)字段缺席會(huì)不會(huì)直接斷連這個(gè)機(jī)制在哪種鏈路上根本不成立。搞懂這三件事同一份題庫的復(fù)習(xí)效率遠(yuǎn)高于刷三遍搞不懂換一版新題庫照樣翻車。下面從幾個(gè)最典型的機(jī)制開始拆。2. OSPF 主從選舉Router ID 大的一方憑什么拿走序列號控制權(quán)2.1 ExStart 狀態(tài)里的 MS-bit一次比較定勝負(fù)鄰居從 2-Way 走到 ExStart雙方都會(huì)發(fā) DD 報(bào)文而且都把 MS 位置 1都宣稱自己是 Master。此時(shí)兩個(gè) DD 報(bào)文里的 DD Sequence Number 是各自隨機(jī)生成的兩者之間沒有任何關(guān)系。設(shè)備收到對端的 DD 后拿報(bào)文里攜帶的 Router ID 和自己的比大的一方勝出成為 Master之后才開始正式交換 LSDB 摘要。這里有兩個(gè)容易記錯(cuò)的細(xì)節(jié)。第一比的是 DD 報(bào)文里的 Router ID 字段不是接口 IP、不是鏈路開銷、更不是字符串字典序而是按無符號 32 位整數(shù)比較。第二Router ID 相等時(shí)沒有「平局」處理方案雙方都會(huì)認(rèn)為對方應(yīng)該讓步鄰居會(huì)卡在 ExStart 反復(fù)重傳 DD最終超時(shí)。現(xiàn)場遇到「鄰居一直在 ExStart 轉(zhuǎn)圈」第一件事就該去看兩端的 Router ID 是不是配成了同一個(gè)值。這套判定邏輯短到可以幾行寫完但正是這幾行決定了后面所有序列號行為def negotiate_master(local_rid: int, remote_rid: int) - bool: 模擬 ExStart 階段的主從判定。 Router ID 按無符號 32 位整數(shù)比較返回 True 表示本端成為 Master。 if local_rid remote_rid: return True # 本端大搶到 Master掌握序列號遞增權(quán) if local_rid remote_rid: return False # 對端大本端轉(zhuǎn) Slave只能回顯對端的序列號 # 相等時(shí)沒有任何合法分支實(shí)際設(shè)備會(huì)持續(xù)重傳 DD 直至鄰居超時(shí) raise ValueError(Router ID 沖突鄰居無法完成 ExStart 協(xié)商)local_rid與remote_rid都是點(diǎn)分十進(jìn)制轉(zhuǎn)換后的 32 位整數(shù)比較開銷可以忽略——這也是它能被放在報(bào)文處理熱路徑上的原因。真實(shí)實(shí)現(xiàn)里這個(gè)判斷在收到 DD 的第一個(gè)瞬間就完成不需要額外的握手往返。2.2 為什么必須分主從OSPF 沒有 TCP序列號只能自己造DD 報(bào)文交換的本質(zhì)是把整個(gè) LSDB 的目錄分頁傳一遍頁與頁之間必須有序、不重、不漏。麻煩在于 OSPF 直接封裝在 IP 之上協(xié)議號 89沒有端口、沒有滑動(dòng)窗口、沒有重傳定時(shí)器。想在這樣一條「裸鏈路」上做出有序傳輸最省事的辦法就是讓一端說了算Master 單方面遞增序列號Slave 只能原樣回顯。這個(gè)回顯同時(shí)干了兩件事既是對上一頁的隱式確認(rèn)又順帶攜帶了自己那一頁的 LSA 頭。一次發(fā)送換回一次確認(rèn)加一份數(shù)據(jù)握手成本被壓到最低。如果換成顯式 ACKDD 報(bào)文數(shù)量會(huì)直接翻倍而 LSDB 摘要在大網(wǎng)絡(luò)上動(dòng)輒幾百頁。class DDExchange: def __init__(self, is_master: bool, seq: int): self.is_master is_master self.seq seq # 初始值兩端各自隨機(jī)生成互不相關(guān) self.ack_pending False def send(self, headers): if self.is_master: self.seq 1 # 只有 Master 有權(quán)遞增這就是「控制權(quán)」的含義 self.ack_pending True return {ms: int(self.is_master), dd_seq: self.seq, lsa: headers} def recv(self, pkt): if self.is_master: # Master 收到的回顯序列號必須與剛發(fā)出的一致MS 位必須是 0 if pkt[dd_seq] ! self.seq or pkt[ms] ! 0: raise OSError(DD 序列號不匹配重傳上一頁) self.ack_pending False else: # Slave 不遞增只把 Master 的序列號抄下來回顯即確認(rèn) self.seq pkt[dd_seq] return {ms: 0, dd_seq: self.seq, lsa: []}ms字段就是報(bào)文頭里的 MS-bitdd_seq是 32 位序列號。真實(shí)設(shè)備還會(huì)處理一個(gè)邊界Master 在等待回顯期間收到新的 DD說明對端重傳了此時(shí)要按序列號去重而不是報(bào)錯(cuò)。為什么不干脆用接口地址大小、MAC 地址或者隨機(jī)數(shù)來定主從Router ID 的優(yōu)勢在于三點(diǎn)全網(wǎng)唯一手工規(guī)劃或自動(dòng)選舉保證、穩(wěn)定不隨接口 up/down 抖動(dòng)、全序任意兩個(gè)值必然分出大小。用接口地址鏈路一抖主從關(guān)系就翻轉(zhuǎn)正在傳輸?shù)?LSDB 摘要要重來用隨機(jī)數(shù)雙方有可能同時(shí)宣布自己贏還得再加一輪協(xié)商。一次比較定勝負(fù)沒有平局、沒有回退、沒有額外報(bào)文這種設(shè)計(jì)取舍在控制平面協(xié)議里很常見。2.3 OSPFv3 把宣告挪到接口下地址語義變了LSA 也得拆v2 的宣告方式是在區(qū)域視圖里network 10.0.0.0 0.0.0.255靠「網(wǎng)絡(luò)號 反掩碼」去匹配接口地址命中的接口就被劃進(jìn)該區(qū)域。到了 v3這個(gè)做法整條鏈路都走不通了命令變成在接口下使能ospfv3 1 area 0。題庫里那道「OSPFv3 在區(qū)域視圖通過 network 命令通告」的判斷題答案是錯(cuò)誤原因不只是命令換了位置而是背后的地址模型變了。第一個(gè)原因v3 的報(bào)文源地址是鏈路本地地址fe80::/10。鏈路本地地址不屬于任何規(guī)劃網(wǎng)段用反掩碼去匹配它沒有意義只能按接口指定。第二個(gè)原因一條鏈路上可以同時(shí)跑多個(gè) OSPFv3 實(shí)例靠報(bào)文頭里的 Instance ID 區(qū)分而 Instance ID 是接口級配置區(qū)域?qū)傩砸脖仨毟湓诮涌谏稀5谌齻€(gè)原因同一個(gè)物理接口在不同實(shí)例下可以屬于不同區(qū)域區(qū)域不再是「地址段的屬性」而是「接口的屬性」。LSA 結(jié)構(gòu)也隨之重排。v2 的 Router-LSA 里直接掛 stub 網(wǎng)絡(luò)拓?fù)浜颓熬Y混在一起v3 把它拆成兩層Link-LSAType 8在鏈路上泛洪攜帶鏈路本地地址和鏈路前綴Intra-Area-Prefix-LSAType 9負(fù)責(zé)把前綴關(guān)聯(lián)到 Router-LSA 或 Network-LSA 上。這樣拆的直接收益是解耦——改前綴只觸發(fā)前綴重算PRC不觸發(fā)整棵 SPF 樹重算。在一個(gè)前綴數(shù)量遠(yuǎn)大于節(jié)點(diǎn)數(shù)量的網(wǎng)絡(luò)里這個(gè)差別相當(dāng)可觀。提示記 v3 的宣告方式別死記「接口下配」。記「鏈路本地地址無法用反掩碼匹配」這條因果命令形式自然就推出來了。3. 鏈路狀態(tài)協(xié)議的過濾邊界filter-policy 動(dòng)的是路由表不是 LSDB3.1 LSDB 與 RIB 之間的那道閘門鏈路狀態(tài)協(xié)議的計(jì)算是一條流水線LSA 泛洪 → LSDB → SPF 計(jì)算最短路徑樹 → 得到候選路由 → 裝入路由表RIB→ 下發(fā) FIB。filter-policy import這道命令卡在「候選路由 → RIB」這個(gè)位置也就是 SPF 算完之后、裝表之前。這個(gè)位置決定了它的全部行為。過濾掉的路由不會(huì)進(jìn)本機(jī)路由表但 LSA 早就泛洪完了本機(jī) LSDB 里那條 LSA 還在鄰居的 LSDB 里更是在。所以現(xiàn)場會(huì)看到一個(gè)很典型的組合display ip routing-table里查不到某條明細(xì)路由但display ospf lsdb能查到對應(yīng)的 LSA鄰居那邊也照常算出了這條路由。題庫里那道「用 filter-policy 在入方向過濾可以阻斷鏈路狀態(tài)信息傳遞」判定為錯(cuò)誤根子就在這里。它攔的是「我用不用這條路由」不是「我知不知道這個(gè)拓?fù)洹?。對比距離矢量協(xié)議就清楚了。RIP 傳的是路由本身「我把路由表告訴鄰居」所以在出方向做 filter-policy過濾掉的路由鄰居根本收不到確實(shí)能阻斷傳播。OSPF、IS-IS 傳的是拓?fù)洹肝野焰溌窢顟B(tài)告訴鄰居鄰居自己算」你沒有權(quán)力替鄰居決定它算出什么。這個(gè)差異是 LS 與 DV 最本質(zhì)的分野也是這類判斷題反復(fù)出現(xiàn)的動(dòng)機(jī)。# 在 ASBR 上做入方向過濾只允許 10.10.0.0/16 進(jìn)入本機(jī)路由表 acl number 2000 rule 5 permit source 10.10.0.0 0.0.255.255 rule 10 deny source any quit ospf 1 router-id 10.0.0.1 import-route static cost 100 type 2 filter-policy 2000 import # 作用點(diǎn)SPF 結(jié)果 - RIB不是 LSDB quit # 驗(yàn)證兩步走LSDB 里 LSA 應(yīng)該還在路由表里應(yīng)該沒有 display ospf lsdb ase 10.20.0.0 display ip routing-table 10.20.0.0cost 100 type 2是引入時(shí)的種子度量不寫就按協(xié)議默認(rèn)值走OSPF 默認(rèn) cost 1、type 2這一點(diǎn)在下一章的坑里還會(huì)遇到。filter-policy 2000 import里的2000是基本 ACL 編號規(guī)則匹配的是路由的目的地址前綴不是報(bào)文的五元組。如果確實(shí)要讓某個(gè)網(wǎng)段的信息根本不進(jìn)入某個(gè)區(qū)域手段是區(qū)域劃分而不是 filter-policyStub 區(qū)域靠 ABR 不下發(fā) Type 5 LSATotally Stub 再進(jìn)一步連 Type 3 明細(xì)也不下發(fā)NSSA 則相反允許外部路由以 Type 7 在本區(qū)域引入。這些機(jī)制動(dòng)的是泛洪范圍才是真正意義上的「阻斷」。3.2 IS-IS 的網(wǎng)絡(luò)類型與三次握手為什么 P2MP 跑不了IS-IS 只認(rèn)兩種網(wǎng)絡(luò)類型廣播鏈路以太網(wǎng)、令牌環(huán)和點(diǎn)到點(diǎn)鏈路PPP、HDLC。NBMA 網(wǎng)絡(luò)如 ATM、幀中繼必須把物理接口拆成子接口并把子接口類型配成 P2P 才能跑。至于點(diǎn)到多點(diǎn)P2MP協(xié)議里壓根沒有為它預(yù)留位置。原因在 Hello PDU 的設(shè)計(jì)前提里。IS-IS 的 IIH 假定鏈路要么是廣播域——一個(gè) IIH 發(fā)出去所有人都能收到靠 DIS 周期發(fā) CSNP 同步數(shù)據(jù)庫要么是嚴(yán)格點(diǎn)對點(diǎn)——一個(gè) IIH 只有一個(gè)確定的接收者靠 3-way 握手確認(rèn)雙向可達(dá)。P2MP 是第三種形態(tài)一個(gè)物理接口、多個(gè)邏輯鄰居、但又不構(gòu)成廣播域。它既選不出有意義的 DIS也沒法用一條單播 IIH 一一對應(yīng)多個(gè)鄰居狀態(tài)機(jī)里沒有這個(gè)中間態(tài)。OSPF 能支持 P2MP是因?yàn)樗?Hello 支持單播與組播切換且在 P2MP 網(wǎng)絡(luò)類型下干脆不選 DR兩者前提不同。廣播網(wǎng)和 P2P 網(wǎng)保證鄰居可靠性的手段也不一樣。P2P 鏈路上用的是 3-way 握手IIH 里帶 TLV 240P2P Three-Way Adjacency把本端看到的鄰居 System ID 和 Circuit ID 填進(jìn)去只有雙方都在對方的 IIH 里看到自己鄰居才真正 Up。這個(gè)機(jī)制專門治單向鏈路——只有一端能收到 Hello 時(shí)兩次握手會(huì)建出一個(gè)「半開」鄰居路由算出來全是黑洞3-way 直接把它擋在 Init。廣播網(wǎng)上的雙向確認(rèn)則靠 IIH 里攜帶的鄰居 SNPA 列表收到對方的 IIH檢查里面有沒有自己的 MAC。題庫里「廣播網(wǎng)絡(luò)中 IS-IS 通過什么機(jī)制保證鄰居關(guān)系建立的可靠性」給的標(biāo)準(zhǔn)答案是三次握手考試按這個(gè)選但從機(jī)制上分TLV 240 的 3-way 是三四二點(diǎn)對點(diǎn)鏈路的原語廣播網(wǎng)用的是 LAN IIH 加 CSNP 的組合。把這兩層分清楚遇到變形題才不會(huì)被繞進(jìn)去。順帶記一組高頻默認(rèn)值差異IS-IS 的 DIS 沒有備份、默認(rèn)搶占、廣播網(wǎng) Hello 間隔約 3.3 秒、CSNP 周期 10 秒OSPF 的 DR 有 BDR、默認(rèn)不搶占、廣播網(wǎng) Hello 10 秒。判斷題最喜歡在這幾個(gè)數(shù)字上做手腳。3.3 多進(jìn)程隔離與進(jìn)程號的本地語義同一臺(tái)路由器上跑兩個(gè) IS-IS 進(jìn)程兩個(gè)進(jìn)程的 LSDB 默認(rèn)完全隔離一個(gè)進(jìn)程里的鏈路狀態(tài)信息不會(huì)流到另一個(gè)進(jìn)程。這個(gè)「默認(rèn)隔離」不是實(shí)現(xiàn)偷懶而是語義決定的進(jìn)程號本地有效根本不進(jìn)報(bào)文一個(gè)進(jìn)程在拓?fù)渖暇偷扔谝慌_(tái)獨(dú)立的路由器。隔離帶來的能力是「一臺(tái)設(shè)備扮演多臺(tái)」。遷移期兩套地址規(guī)劃并存、把某塊網(wǎng)絡(luò)從 Level-1 整體挪到 Level-2、或者做區(qū)域邊界而又不想多加一臺(tái)設(shè)備都靠這個(gè)特性。反過來如果進(jìn)程間自動(dòng)互通區(qū)域邊界就形同虛設(shè)Level-1 的路由會(huì)從一條意料之外的路徑串到另一個(gè)進(jìn)程里去。要讓兩個(gè)進(jìn)程交換路由必須顯式操作做 route leaking 把 Level-2 路由泄漏到 Level-1或者在進(jìn)程間做路由引入。默認(rèn)不通、需要時(shí)顯式打通這個(gè)設(shè)計(jì)思路和「Router ID 一次比較定主從」是一脈相承的——把不確定性關(guān)在門外讓每一條跨邊界的路徑都是人主動(dòng)打開的。4. BGP Update 的屬性四象限哪些字段缺席就是協(xié)議錯(cuò)誤4.1 公認(rèn)必遵、公認(rèn)可選與兩條可選通道Update 報(bào)文的結(jié)構(gòu)是撤銷路由長度、撤銷路由、路徑屬性總長度、路徑屬性、NLRI。屬性區(qū)里放的就是各種路徑屬性它們按兩個(gè)維度分類公認(rèn)還是可選每個(gè) BGP 實(shí)現(xiàn)是否必須認(rèn)識傳遞還是非傳遞能不能穿過 AS 邊界繼續(xù)往下傳。兩個(gè)維度交叉出四類構(gòu)成了整個(gè) BGP 策略體系的地基。屬性類別傳播范圍缺省值 / 說明ORIGIN公認(rèn)必遵全程必須存在取值 i / e / ?AS_PATH公認(rèn)必遵全程必須存在eBGP 逐跳追加NEXT_HOP公認(rèn)必遵全程必須存在LOCAL_PREF公認(rèn)可選僅 IBGP默認(rèn) 100越大越優(yōu)ATOMIC_AGGREGATE公認(rèn)可選全程聚合時(shí)打標(biāo)記MED可選非傳遞相鄰 AS默認(rèn) 0越小越優(yōu)COMMUNITY可選傳遞全程給路由打標(biāo)簽ORIGINATOR_ID / CLUSTER_LIST可選非傳遞反射器內(nèi)路由反射防環(huán)「Update 中可不包含哪些屬性」這類題的答案就藏在「必遵」二字里。ORIGIN 和 AS_PATH 是公認(rèn)必遵缺了就是協(xié)議錯(cuò)誤對端直接回 Notification錯(cuò)誤碼 3UPDATE Message Error子碼 3Missing Well-known Attribute會(huì)話當(dāng)場斷掉。LOCAL_PREF 是公認(rèn)可選且只在 IBGP 內(nèi)有效eBGP 發(fā)出去時(shí)會(huì)被剝掉MED 是可選非傳遞本來就不保證攜帶。所以正確選項(xiàng)是這兩個(gè)。# BGP-4 路徑屬性四象限按屬性碼歸類 WELL_KNOWN_MANDATORY {1: ORIGIN, 2: AS_PATH, 3: NEXT_HOP} WELL_KNOWN_DISCRETIONARY {4: LOCAL_PREF, 6: ATOMIC_AGGREGATE} OPTIONAL_TRANSITIVE {7: AGGREGATOR, 8: COMMUNITY} OPTIONAL_NON_TRANSITIVE {5: MED, 9: ORIGINATOR_ID, 10: CLUSTER_LIST} def check_update(attrs: dict) - str: 校驗(yàn)一條 Update 的屬性集合是否合規(guī)attrs 的 key 是屬性碼 missing [name for code, name in WELL_KNOWN_MANDATORY.items() if code not in attrs] if missing: # 缺公認(rèn)必遵屬性回 Notification(3,3) 并中斷會(huì)話不是忽略 return fNOTIFICATION 3/3 Missing Well-known Attribute: {missing} return OK這段校驗(yàn)的關(guān)鍵在最后那個(gè)return缺必遵屬性不是「這條路由不要了」而是「你這個(gè)鄰居有問題」處理級別完全不同。理解這一點(diǎn)才能解釋為什么某些異常路由會(huì)導(dǎo)致 BGP 會(huì)話反復(fù)重建而不是簡單丟棄。4.2 Origin 的 IGP EGP Incomplete 是怎么排出來的ORIGIN 有三個(gè)取值i 表示用network命令把本 AS 內(nèi)的網(wǎng)段宣告進(jìn)來路由源自 AS 內(nèi)部e 表示從 EGP 學(xué)來早期協(xié)議現(xiàn)在基本絕跡? 表示用import-route引入來源不確定可能是直連、靜態(tài)或者別的協(xié)議。優(yōu)先級是 i e ?。理由很直白越「原生」的路由越可信。network宣告的是我自己知道確切出處的網(wǎng)段import-route引入的是別人給我的、經(jīng)過一次轉(zhuǎn)換的信息中間可能丟過屬性、改過度量。讓原生路由贏可以避免一條從外部引入的聚合路由把內(nèi)部的明細(xì)路由頂?shù)簟@類故障現(xiàn)場排查起來相當(dāng)費(fèi)勁因?yàn)槁酚杀砜雌饋怼赣新贰沟髁孔叩氖橇硪粭l。注意Origin 不是選路的第一順位。完整的比較順序里它排在 Weight、Local_Pref、本地始發(fā)、AS_PATH 長度之后??吹健窸rigin 優(yōu)先級最高」這種表述要警惕那是把「三個(gè) Origin 取值之間的相對順序」偷換成了「所有屬性之間的絕對順序」。4.3 Local_Pref 與 MED一個(gè)向內(nèi)看一個(gè)向外看這兩個(gè)屬性最容易混因?yàn)樗鼈兊娜≈捣较蚝蛡鞑シ秶孟喾?。LOCAL_PREF 回答的是「本 AS 內(nèi)部我更愿意從哪個(gè)出口出去」。它是純粹的 AS 內(nèi)部策略傳給 eBGP 鄰居毫無意義——人家不關(guān)心你內(nèi)部喜歡走哪條路。所以它只在 IBGP 內(nèi)傳播eBGP 發(fā)出去時(shí)清空。默認(rèn)值 100越大越優(yōu)。MED 回答的是「我希望你從哪個(gè)入口進(jìn)來」。它是給外部鄰居看的所以能跨 eBGP 傳遞但默認(rèn)只影響相鄰的那一個(gè) AS不會(huì)再往下傳。默認(rèn)值 0越小越優(yōu)。一對數(shù)字一正一反、一個(gè) 100 一個(gè) 0判斷題在這里設(shè)置陷阱的成功率極高。記憶錨點(diǎn)可以設(shè)成「本地優(yōu)先一百起度量開銷零開始」。COMMUNITY 是另一條線。它不影響選路作用是給一批具有共同特征的路由打上同一個(gè)標(biāo)記再配合 community-filter 做批量策略。題庫里問「用哪種屬性對具有共同特征的路由進(jìn)行標(biāo)記以便其他路由器識別」答案只能是它——AS_PATH 會(huì)影響選路和防環(huán)MED 表達(dá)入口偏好Origin 表達(dá)來源都不是干標(biāo)記這活的。5. 排查與避坑把「看起來對」的選項(xiàng)做錯(cuò)的六個(gè)現(xiàn)場5.1 作用點(diǎn)錯(cuò)位控制平面與轉(zhuǎn)發(fā)平面坑一以為 filter-policy 能擋住 LSA 泛洪?,F(xiàn)象是配了入方向過濾后本機(jī)路由表干凈了但display ospf lsdb里那條 LSA 依然在鄰居也照常算出路由。原因是命令作用在 SPF 之后、入 RIB 之前壓根沒碰泛洪。解決辦法是改用區(qū)域機(jī)制Stub 靠 ABR 不下發(fā) Type 5Totally Stub 連 Type 3 明細(xì)也攔掉NSSA 允許外部路由以 Type 7 在本區(qū)域引入真要按前綴裁剪就在 ABR 的 summary 上做而不是指望 filter-policy??佣崖酚刹呗院筒呗月酚僧?dāng)成一回事?,F(xiàn)象是配了policy-based-route路由表紋絲不動(dòng)以為命令沒生效。原因是策略路由作用在轉(zhuǎn)發(fā)平面逐跳匹配報(bào)文、直接改下一跳不進(jìn)路由表路由策略作用在控制平面改的是路由屬性的可達(dá)性。前者要每臺(tái)設(shè)備都配后者靠協(xié)議擴(kuò)散。分不清這兩個(gè)配置寫完看不出效果還算輕的嚴(yán)重的情況是策略路由漏配一跳流量在半路被送回原路。5.2 默認(rèn)值幻覺引入開銷、Local_Pref 與 ACL 編號段坑三以為路由引入不指定 cost 就會(huì)失敗?,F(xiàn)象是import-route之后路由確實(shí)進(jìn)來了但度量值是個(gè)很小的數(shù)字導(dǎo)致路徑次優(yōu)。原因是每個(gè)協(xié)議都有自己的默認(rèn)種子度量OSPF 引入默認(rèn) cost 1、type 2不是 20。這個(gè)「1」在有多條外部路徑時(shí)會(huì)直接把流量拉到自己身上。解決辦法是引入時(shí)顯式寫cost和type并且和對端 ASBR 的規(guī)劃對齊——兩側(cè)不一致會(huì)產(chǎn)生非對稱路徑??铀陌?Local_Pref 的默認(rèn)值記成 0。現(xiàn)象是改優(yōu)先級時(shí)按 0 基準(zhǔn)去加配了個(gè) 50 以為提升了實(shí)際是降到了默認(rèn)值以下。原因是把 LOCAL_PREF 和 MED 的默認(rèn)值混了前者默認(rèn) 100后者默認(rèn) 0。解決很簡單配置前先display bgp peer verbose看一眼當(dāng)前生效值別憑記憶改??游錋CL 編號段記混。現(xiàn)象是配了個(gè) 4000 的 ACL 想做三層流量過濾結(jié)果匹配不上。原因是編號段本身就帶語義基本 ACL 2000–2999高級 ACL 3000–3999二層 ACL 4000–4999用戶自定義 ACL 5000–5999用戶 ACL 6000–6031。編號選錯(cuò)匹配的字段維度就錯(cuò)了。這條沒有別的辦法把這五行記住或者養(yǎng)成用命名 ACL 的習(xí)慣。5.3 冗余與選舉VRRP 搶占、堆疊分裂與 RSTP 計(jì)時(shí)器坑六以為 VRRP 默認(rèn)不搶占?,F(xiàn)象是備份組運(yùn)行一段時(shí)間后明明優(yōu)先級更高的設(shè)備恢復(fù)了卻沒有拿回 Master。真實(shí)情況恰好相反缺省是搶占的且搶占延遲為 0。不搶占反而要顯式配置。要讓網(wǎng)絡(luò)穩(wěn)定通常配一個(gè)幾秒的搶占延遲等上聯(lián)鏈路和路由完全收斂再切否則會(huì)出現(xiàn)「搶回來又切走」的來回抖動(dòng)。這個(gè)延遲值不是玄學(xué)按 IGP 收斂時(shí)間加余量給就行。同類問題還有兩個(gè)高頻項(xiàng)。堆疊分裂后兩個(gè)系統(tǒng)擁有完全相同的全局配置IP 和堆疊系統(tǒng) MAC 不會(huì)立即變化正因?yàn)椤缚雌饋硗耆粯印共疟仨毧?MAD 檢測打破僵局檢測失敗的一方關(guān)閉除保留端口外的所有物理端口避免雙主。RSTP 判斷鄰居失效的閾值是連續(xù) 3 個(gè) Hello Time 收不到 BPDU不是 4 個(gè)TC-BPDU 防護(hù)的閾值默認(rèn)是每個(gè) Hello Time 處理 1 個(gè)拓?fù)渥兓瘓?bào)文且配置在全局而非接口下。這幾個(gè)數(shù)字和位置是判斷題最愛的下手處。6. 從背題到建模三個(gè)提問把邊界條件問出來題庫做多了會(huì)發(fā)現(xiàn)一個(gè)規(guī)律真正拉開分?jǐn)?shù)的不是記住了多少結(jié)論而是能不能在看到一句描述時(shí)條件反射地追問三件事——作用點(diǎn)在哪、默認(rèn)值是多少、范圍有多大。作用點(diǎn)決定了一條命令改的是數(shù)據(jù)庫還是路由表、是控制平面還是轉(zhuǎn)發(fā)平面。filter-policy 與區(qū)域劃分的差別、路由策略與策略路由的差別全是這一問的產(chǎn)物。默認(rèn)值決定了「不配」和「配了但沒寫參數(shù)」的實(shí)際效果引入開銷、Local_Pref、Hello 計(jì)時(shí)器、TC-BPDU 閾值全部落在這里。范圍決定了機(jī)制的適用邊界IS-IS 不支持 P2MP、OSPFv3 不能在區(qū)域視圖宣告、Local_Pref 不跨 AS、MED 只影響相鄰 AS講的都是「到哪里為止」。這三問本質(zhì)上是在給每個(gè)知識點(diǎn)建一個(gè)三維坐標(biāo)而不是存一條扁平的文字。坐標(biāo)建起來之后題目怎么變形都能落回原位只有文字題干換個(gè)詞就找不到北。驗(yàn)證方法也順著這三問走。想看作用點(diǎn)就用display ospf lsdb和display ip routing-table對照著看——兩邊不一致的地方就是過濾發(fā)生的位置。想看默認(rèn)值就在配置前先display一遍當(dāng)前生效值改完再display一遍別靠記憶。想看范圍就抓包DD 報(bào)文里的 MS 位和序列號能直接印證主從關(guān)系IS-IS 的 TLV 240 能直接印證 3-way 握手是否完成BGP 的 Update 里屬性碼的缺席能直接印證「必遵」二字的份量。抓包是把選擇題變成觀察題的最短路徑比反復(fù)讀解析有用得多。有一份持續(xù)更新的題庫在手邊價(jià)值不在于多刷幾遍而在于它提供了一個(gè)足夠密集的「邊界樣本集」——每一道錯(cuò)題都是一次坐標(biāo)校準(zhǔn)的機(jī)會(huì)。我自己的血淚經(jīng)驗(yàn)是錯(cuò)題不要只記正確答案要順手在邊上寫一行「作用點(diǎn) / 默認(rèn)值 / 范圍」的具體內(nèi)容寫不出來說明這個(gè)點(diǎn)還沒建坐標(biāo)那就回去翻機(jī)制別急著做下一題。從那以后我每次遇到判斷題都強(qiáng)制把這三個(gè)問題在心里過一遍正確率的變化比多做兩百道題明顯得多。這份 2024 數(shù)通 H12-831 新題庫連同解析就在下載包里配合上面這套三問自檢法一條條過比單純背答案走得遠(yuǎn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取