<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Vietnamese Professional - CCNP Advanced Routing</title>
		<link>https://www.forum.vnpro.org/</link>
		<description />
		<language>vi</language>
		<lastBuildDate>Sat, 05 Sep 2026 14:58:10 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>Vietnamese Professional - CCNP Advanced Routing</title>
			<link>https://www.forum.vnpro.org/</link>
		</image>
		<item>
			<title>4 lỗi thường gặp ở DHCP</title>
			<link>https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/444444-4-lỗi-thường-gặp-ở-dhcp</link>
			<pubDate>Thu, 03 Sep 2026 07:48:27 GMT</pubDate>
			<description>🔧 4 lỗi DHCP phổ biến trong hệ thống mạng và IP Phone 
 
 
DHCP (Dynamic Host Configuration Protocol) giúp thiết bị tự động nhận IP Address, Subnet...</description>
			<content:encoded><![CDATA[<b>🔧 4 lỗi DHCP phổ biến trong hệ thống mạng và IP Phone</b><br />
<br />
<br />
DHCP (Dynamic Host Configuration Protocol) giúp thiết bị tự động nhận <b>IP Address, Subnet Mask, Default Gateway, DNS</b> và các DHCP Option cần thiết. Với hệ thống VoIP, DHCP đặc biệt quan trọng vì IP Phone cần có IP trước khi tiếp tục quá trình khởi động và đăng ký với Call Control.<br />
<br />
Theo hình minh họa, có <b>4 lỗi DHCP phổ biến</b>: <b>1. DHCP Server không hoạt động</b><br />
<br />
<br />
<b>The DHCP server is unavailable.</b><br />
<br />
DHCP Server có thể bị shutdown, mất kết nối mạng, dịch vụ DHCP bị dừng hoặc bị Firewall/ACL chặn.<br />
<br />
Kết quả: IP Phone gửi <b>DHCP Discover</b> nhưng không nhận được <b>DHCP Offer</b>.<br />
<br />
👉 Kiểm tra đầu tiên: DHCP Server có reachable và DHCP service có đang chạy hay không.<br />
<br />
<b>2. DHCP Server không có Scope phù hợp</b><br />
<br />
<br />
<b>The DHCP server does not have a correct scope for the phones.</b><br />
<br />
Ví dụ Voice VLAN sử dụng:<br />
<br />
10.20.20.0/24<br />
<br />
nhưng DHCP Server chỉ có scope cho:<br />
<br />
10.10.10.0/24<br />
<br />
IP Phone sẽ không nhận được cấu hình IP phù hợp.<br />
<br />
Ngoài subnet mask và gateway, trong môi trường VoIP còn cần kiểm tra các DHCP Option cần thiết, chẳng hạn <b>Option 150</b> trong một số triển khai Cisco IP Phone để cung cấp địa chỉ TFTP Server. <b>3. DHCP Scope đã hết địa chỉ</b><br />
<br />
<br />
<b>All addresses in the scope are currently leased.</b><br />
<br />
Ví dụ DHCP Scope:<br />
<br />
192.168.10.100 – 192.168.10.200<br />
<br />
Nếu toàn bộ địa chỉ đã được cấp phát, IP Phone mới sẽ không còn IP để nhận.<br />
<br />
👉 Cần kiểm tra DHCP Lease, giải phóng các lease không còn sử dụng hoặc mở rộng Address Pool nếu cần. <b>4. IP Phone và DHCP Server khác subnet</b><br />
<br />
<br />
<b>The phone is not on a common subnet with the DHCP server.</b><br />
<br />
DHCP Discover ban đầu là <b>broadcast</b>, mà Router mặc định không forward broadcast sang subnet khác.<br />
<br />
Ví dụ:<br />
IP Phone<br />
VLAN 20<br />
|<br />
| DHCP Discover<br />
↓<br />
Router/L3 Switch<br />
|<br />
X<br />
|<br />
DHCP Server<br />
VLAN 100<br />
<br />
Trường hợp này cần cấu hình <b>DHCP Relay Agent</b>, trên thiết bị Cisco thường sử dụng:<br />
interface Vlan20<br />
ip helper-address 10.10.100.10<br />
<br />
Router/L3 Switch sẽ chuyển DHCP request của Phone đến DHCP Server ở subnet khác. <hr /> <b>🎯 Cách nhớ nhanh khi troubleshoot DHCP</b><br />
<br />
<br />
Khi IP Phone không nhận được IP, hãy kiểm tra 4 câu hỏi:<br />
<br />
<b>DHCP Server có UP không? → Có đúng Scope không? → Scope còn IP không? → Khác subnet thì đã có DHCP Relay chưa?</b><br />
<br />
Đặc biệt trong VoIP, <b>nhận được IP chưa có nghĩa là DHCP đã hoàn toàn đúng</b>. Phone có thể nhận IP, Gateway và DNS bình thường nhưng vẫn không đăng ký được nếu thiếu hoặc sai các DHCP Option cần thiết cho quá trình provisioning.<br />
​]]></content:encoded>
			<category domain="https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing">CCNP Advanced Routing</category>
			<dc:creator>dangquangminh</dc:creator>
			<guid isPermaLink="true">https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/444444-4-lỗi-thường-gặp-ở-dhcp</guid>
		</item>
		<item>
			<title>Troubleshooting BGP</title>
			<link>https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/444270-troubleshooting-bgp</link>
			<pubDate>Wed, 26 Aug 2026 10:51:44 GMT</pubDate>
			<description>Slide Troubleshooting BGP.</description>
			<content:encoded>Slide Troubleshooting BGP. </content:encoded>
			<category domain="https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing">CCNP Advanced Routing</category>
			<dc:creator>dangquangminh</dc:creator>
			<guid isPermaLink="true">https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/444270-troubleshooting-bgp</guid>
		</item>
		<item>
			<title>BFD – Phát hiện sự cố Layer 3 tốc độ cao</title>
			<link>https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443911-bfd-–-phát-hiện-sự-cố-layer-3-tốc-độ-cao</link>
			<pubDate>Sun, 16 Aug 2026 02:35:13 GMT</pubDate>
			<description>BFD – Phát hiện sự cố Layer 3 tốc độ cao 
 
 
Trong thiết kế Fast Convergence, một trong những vấn đề lớn là routing protocol thường phát hiện...</description>
			<content:encoded><![CDATA[<b>BFD – Phát hiện sự cố Layer 3 tốc độ cao</b><br />
<br />
<br />
Trong thiết kế <b>Fast Convergence</b>, một trong những vấn đề lớn là routing protocol thường phát hiện failure dựa trên timer của chính nó. Nếu giảm Hello/Hold/Dead timer quá thấp, control plane phải xử lý nhiều packet hơn và mạng có thể trở nên nhạy cảm với các sự cố thoáng qua.<br />
<br />
<b>BFD – Bidirectional Forwarding Detection</b> giải quyết bài toán này bằng cách tách chức năng <b>phát hiện failure</b> khỏi routing protocol.<br />
<br />
Thay vì để OSPF, EIGRP, IS-IS hay BGP tự phát hiện lỗi, chúng ta có thể để BFD làm việc đó rồi thông báo kết quả cho routing protocol.<br />
BFD detects failure<br />
↓<br />
OSPF / EIGRP / IS-IS / BGP<br />
↓<br />
Neighbor/session removed<br />
↓<br />
Route recalculation<br />
↓<br />
Fast Convergence <b>Tại sao BFD tốt hơn aggressive protocol timers?</b><br />
<br />
<br />
Slide nhấn mạnh BFD được <b>strongly recommended over aggressive protocol timers</b> vì ba ưu điểm chính.<br />
<br />
<b>Reduced control-plane load and link bandwidth usage:</b> thay vì mỗi routing protocol phải chạy timer cực thấp riêng, nhiều protocol có thể tận dụng chung cơ chế BFD để phát hiện lỗi.<br />
<br />
<b>Sub-second failure detection:</b> BFD được thiết kế để phát hiện lỗi ở mức dưới một giây, thậm chí nhanh hơn tùy platform, timer và khả năng xử lý.<br />
<br />
<b>In-flight timer negotiation:</b> hai BFD peer có thể trao đổi các giá trị timer và xác định tốc độ gửi/nhận phù hợp với khả năng của hai bên.<br />
<br />
Điểm cần nhớ:<div style="margin-left:40px"><b>BFD không tìm best path và cũng không chạy SPF. BFD chỉ trả lời rất nhanh câu hỏi: đường forwarding giữa hai endpoint còn sống hay đã chết?</b></div>  <hr /> <b>BFD Operation Modes – BFD hoạt động như thế nào?</b><br />
<br />
<br />
BFD session được thiết lập thông qua <b>asynchronous control packets</b>.<br />
<br />
Hai thiết bị gửi BFD Control packet cho nhau để xác nhận khả năng bidirectional forwarding.<br />
<br />
Slide mô tả hai cách hoạt động chính. <b>1. Asynchronous Mode – Không sử dụng Echo</b><br />
<br />
<br />
Trong chế độ cơ bản:<br />
R1 R2<br />
| ---- BFD Control ----&gt; |<br />
| &lt;--- BFD Control ----- |<br />
| ---- BFD Control ----&gt; |<br />
| &lt;--- BFD Control ----- |<br />
<br />
Hai router độc lập gửi BFD Control packet theo tốc độ đã thương lượng.<br />
<br />
Mỗi router về cơ bản đang nói với router kia:<br />
&quot;I'm alive.&quot;<br />
<br />
Nếu không nhận được BFD packet trong khoảng thời gian:<br />
Detection Time ≈ Interval × Multiplier<br />
<br />
peer sẽ được xem là <b>Down</b>.<br />
<br />
Ví dụ nếu negotiated receive interval là 100 ms và multiplier bằng 3, về nguyên tắc failure có thể được phát hiện sau khoảng:<br />
100 ms × 3 = 300 ms<br />
<br />
Sau đó BFD thông báo cho routing protocol liên quan để quá trình convergence bắt đầu. <hr /> <b>2. Asynchronous Mode + Echo</b><br />
<br />
<br />
Nếu hai bên hỗ trợ và thương lượng <b>BFD Echo</b>, cách phát hiện failure có thể được tối ưu hơn.<br />
<br />
Lúc này có hai loại traffic:<br />
BFD Control packets → gửi với tốc độ chậm hơn<br />
<br />
BFD Echo packets → dùng để kiểm tra forwarding path<br />
<br />
Điểm thú vị của Echo Mode là packet được gửi sang neighbor rồi được <b>loop/forward trở lại chính thiết bị gửi</b>.<br />
<br />
Có thể hình dung:<br />
Echo<br />
R1 -----------------&gt; R2<br />
^ |<br />
|_____________________|<br />
returned<br />
<br />
R1 gửi Echo packet qua R2 và chờ packet quay trở lại. Nhờ đó R1 có thể kiểm tra trực tiếp forwarding path.<br />
<br />
Khi Echo được sử dụng, BFD Control packet không nhất thiết phải gửi với tần suất cao như trước, giúp giảm phần processing liên quan đến control packets. <hr /> <b>Control Packet và Echo Packet khác nhau ở đâu?</b><br />
<br />
<br />
Đây là điểm dễ nhầm khi học BFD.<br />
<br />
Với <b>Asynchronous Mode</b>, hai router kiểm tra nhau:<br />
R1 → &quot;R1 alive&quot; → R2<br />
R2 → &quot;R2 alive&quot; → R1<br />
<br />
Còn với <b>Echo</b>, router kiểm tra forwarding path bằng packet quay về chính nó:<br />
R1 → Echo → R2 → R1<br />
R2 → Echo → R1 → R2<br />
<br />
Vì vậy hình thứ hai có nhiều đường packet hơn hình đầu tiên. <hr /> <b>Tư duy troubleshooting BFD</b><br />
<br />
<br />
Khi triển khai BFD, đừng chỉ hỏi:<div style="margin-left:40px">&quot;OSPF neighbor có Full không?&quot;</div> <br />
Hãy tách thành hai câu hỏi:<br />
BFD Session<br />
↓<br />
Forwarding path alive?<br />
↓<br />
Routing Protocol<br />
↓<br />
Neighbor/session alive?<br />
<br />
Ví dụ OSPF Dead Timer là hàng chục giây nhưng BFD phát hiện failure trong vài trăm millisecond:<br />
Link/forwarding failure<br />
↓<br />
BFD detects ~300 ms<br />
↓<br />
Notify OSPF<br />
↓<br />
OSPF adjacency down<br />
↓<br />
SPF / RIB / FIB update<br />
↓<br />
Traffic moves to alternate path<br />
<br />
Đó chính là giá trị lớn nhất của BFD:<div style="margin-left:40px"><b>Routing protocol lo chuyện tìm đường. BFD chuyên lo phát hiện đường forwarding bị chết càng nhanh càng tốt.</b></div> <br />
Trong các mạng Enterprise Core, Data Center và Service Provider yêu cầu <b>High Availability + Fast Convergence</b>, BFD vì vậy thường được kết hợp với <b>OSPF, IS-IS, EIGRP, BGP, MPLS và các cơ chế redundancy khác</b>, thay vì đơn giản giảm mạnh timer của từng protocol.<br />
​]]></content:encoded>
			<category domain="https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing">CCNP Advanced Routing</category>
			<dc:creator>dangquangminh</dc:creator>
			<guid isPermaLink="true">https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443911-bfd-–-phát-hiện-sự-cố-layer-3-tốc-độ-cao</guid>
		</item>
		<item>
			<title>Pipeline | trong Cisco CLI – Lọc Output Để Troubleshooting Nhanh Hơn</title>
			<link>https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443857-pipeline-trong-cisco-cli-–-lọc-output-để-troubleshooting-nhanh-hơn</link>
			<pubDate>Thu, 13 Aug 2026 11:04:45 GMT</pubDate>
			<description>Pipeline | trong Cisco CLI – Lọc Output Để Troubleshooting Nhanh Hơn 
 
 
Khi troubleshooting trên router/switch Cisco, vấn đề đôi khi không phải là...</description>
			<content:encoded><![CDATA[<b>Pipeline | trong Cisco CLI – Lọc Output Để Troubleshooting Nhanh Hơn</b><br />
<br />
<br />
Khi troubleshooting trên router/switch Cisco, vấn đề đôi khi không phải là <b>thiếu thông tin</b>, mà là có quá nhiều thông tin. Một lệnh show running-config có thể trả về hàng nghìn dòng. Thay vì kéo màn hình và tìm bằng mắt, kỹ sư có thể sử dụng <b>pipeline |</b> để lọc ngay output cần quan tâm.<br />
<br />
Cú pháp tổng quát:<br />
show &lt;command&gt; | &lt;filter&gt; &lt;pattern&gt;<br />
<br />
Trong đó | có thể hiểu là: <b>&quot;Lấy kết quả của lệnh bên trái rồi xử lý/lọc theo điều kiện bên phải.&quot;</b> <b>1. | include – Chỉ lấy những dòng cần tìm</b><br />
<br />
<br />
Ví dụ muốn tìm tất cả cấu hình có chữ route:<br />
show running-config | include route<br />
<br />
Trong hình, router trả về:<br />
default-router 192.168.10.1<br />
default-router 192.168.20.1<br />
router ospf 1<br />
ip route 0.0.0.0 0.0.0.0 209.165.200.2<br />
ip route 209.165.201.0 255.255.255.0 172.16.100.2<br />
ipv6 route ::/0 2001:DB8:D1:A5:C8::2<br />
ipv6 router rip RIPNG<br />
<br />
Thay vì đọc toàn bộ running-config, chỉ một lệnh đã giúp chúng ta nhanh chóng phát hiện static route đáng nghi:<br />
ip route 209.165.201.0 255.255.255.0 172.16.100.2<br />
<br />
Đây là cách rất hiệu quả khi nghi ngờ <b>routing loop, static route sai hoặc cấu hình routing không đúng</b>.<br />
<br />
Một ví dụ khác:<br />
show ip route | include 10.10.10.0<br />
<br />
Dùng để nhanh chóng tìm route đến mạng 10.10.10.0. <hr /> <b>2. | exclude – Loại bỏ những dòng không cần thiết</b><br />
<br />
<br />
Trong hình có lệnh:<br />
show ip interface brief | exclude unass<br />
<br />
Mục tiêu là loại bỏ các interface có IP Address là:<br />
unassigned<br />
<br />
Nhờ vậy, output chỉ tập trung vào những interface đã được gán địa chỉ IP.<br />
<br />
Có thể viết đầy đủ hơn:<br />
show ip interface brief | exclude unassigned<br />
<br />
Đây là một mẹo rất hữu ích trên những switch có 48 hoặc hàng trăm interface nhưng chỉ một số interface Layer 3 đang thực sự được sử dụng. <hr /> <b>3. | begin – Hiển thị từ vị trí cần tìm trở xuống</b><br />
<br />
<br />
Giả sử running-config rất dài nhưng bạn chỉ muốn xem từ phần OSPF:<br />
show running-config | begin router ospf<br />
<br />
Router sẽ bỏ qua toàn bộ phần cấu hình phía trên và bắt đầu hiển thị từ:<br />
router ospf 1<br />
<br />
trở xuống.<br />
<br />
Tương tự, muốn xem cấu hình bắt đầu từ một interface:<br />
show running-config | begin interface GigabitEthernet0/1<br />
<br />
begin đặc biệt hữu ích khi bạn <b>biết phần cần tìm nằm ở đâu nhưng vẫn muốn xem những dòng cấu hình phía sau nó</b>.  <hr /> <b>4. | section – Lấy nguyên một khối cấu hình</b><br />
<br />
<br />
Đây là một trong những filter hữu ích nhất khi troubleshooting.<br />
<br />
Ví dụ:<br />
show running-config | section router ospf<br />
<br />
Bạn có thể nhận được:<br />
router ospf 1<br />
router-id 1.1.1.1<br />
network 10.1.12.0 0.0.0.255 area 0<br />
network 10.1.23.0 0.0.0.255 area 0<br />
passive-interface GigabitEthernet0/0<br />
<br />
Khác với include, section giúp lấy <b>cả block cấu hình liên quan</b>.<br />
<br />
Ví dụ kiểm tra BGP:<br />
show running-config | section router bgp<br />
<br />
Hoặc kiểm tra một interface:<br />
show running-config | section interface GigabitEthernet0/1<br />
<br />
Đây thường là lựa chọn tốt hơn include khi troubleshooting OSPF, BGP, interface, ACL và nhiều cấu hình có cấu trúc theo section. <hr /> <b>5. Kết hợp với Regular Expression</b><br />
<br />
<br />
Pipeline còn mạnh hơn khi kết hợp với <b>Regular Expression (Regex)</b>.<br />
<br />
Ví dụ chỉ tìm OSPF hoặc BGP:<br />
show running-config | include ospf|bgp<br />
<br />
Hoặc khi kiểm tra interface:<br />
show ip interface brief | include up|down<br />
<br />
Trong thực tế, khả năng regex và cú pháp filter cụ thể có thể khác nhau tùy IOS/IOS XE/NX-OS và phiên bản phần mềm, vì vậy cần kiểm tra cú pháp bằng ? trên thiết bị đang sử dụng. <hr /> <b>Một tình huống troubleshooting thực tế</b><br />
<br />
<br />
Giả sử traceroute cho thấy:<br />
Hop 1 → DSW1<br />
Hop 2 → R1<br />
Hop 3 → DSW1<br />
Hop 4 → R1<br />
...<br />
<br />
Đây là dấu hiệu rất mạnh của <b>Routing Loop</b>.<br />
<br />
Bạn đăng nhập R1 và kiểm tra:<br />
show running-config | include route<br />
<br />
Sau đó phát hiện:<br />
ip route 209.165.201.0 255.255.255.0 172.16.100.2<br />
<br />
Tiếp tục kiểm tra địa chỉ interface:<br />
show ip interface brief | exclude unassigned<br />
<br />
và xác định:<br />
R1 172.16.100.1<br />
DSW1 172.16.100.2<br />
<br />
Như vậy R1 đang gửi traffic đến DSW1. Nếu DSW1 lại có route gửi traffic trở về R1, hai thiết bị sẽ tạo thành:<br />
packet<br />
↓<br />
R1 ───────────→ DSW1<br />
↑ │<br />
└────────────────┘<br />
Routing Loop<br />
<br />
Pipeline không trực tiếp &quot;sửa&quot; routing loop, nhưng nó giúp kỹ sư <b>lọc hàng nghìn dòng output xuống còn vài dòng quan trọng để kiểm chứng hypothesis rất nhanh</b>. <b>4 pipeline nên thuộc lòng</b><br />
<br />
show ... | include &lt;pattern&gt;<br />
show ... | exclude &lt;pattern&gt;<br />
show ... | begin &lt;pattern&gt;<br />
show ... | section &lt;pattern&gt;<br />
<br />
Có thể nhớ đơn giản: <b>include = lấy dòng cần tìm, exclude = bỏ dòng không cần, begin = bắt đầu từ đây, section = lấy cả khối cấu hình.</b><br />
<br />
Đối với CCNP/CCIE, biết nhiều lệnh show là cần thiết; nhưng <b>biết cách dùng pipeline để biến output lớn thành đúng vài dòng mình cần</b> mới là kỹ năng giúp troubleshooting nhanh trong môi trường thực tế.<br />
​]]></content:encoded>
			<category domain="https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing">CCNP Advanced Routing</category>
			<dc:creator>dangquangminh</dc:creator>
			<guid isPermaLink="true">https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443857-pipeline-trong-cisco-cli-–-lọc-output-để-troubleshooting-nhanh-hơn</guid>
		</item>
		<item>
			<title>Troubleshooting BGP Routes – Xử lý sự cố Route trong BGP</title>
			<link>https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443714-troubleshooting-bgp-routes-–-xử-lý-sự-cố-route-trong-bgp</link>
			<pubDate>Fri, 07 Aug 2026 11:21:01 GMT</pubDate>
			<description>Sau khi BGP adjacency được thiết lập thành công, các BGP router bắt đầu trao đổi thông tin định tuyến với nhau. Tuy nhiên, trạng thái neighbor đã...</description>
			<content:encoded><![CDATA[Sau khi <b>BGP adjacency</b> được thiết lập thành công, các BGP router bắt đầu trao đổi thông tin định tuyến với nhau. Tuy nhiên, trạng thái neighbor đã <b>Established</b> không có nghĩa là mọi route đều xuất hiện trong <b>BGP Table</b> hoặc được cài đặt vào <b>Routing Table</b>.<br />
<br />
Khi troubleshooting BGP, cần phân biệt hai câu hỏi rất quan trọng:<br />
<br />
<b>Route có vào BGP Table không?</b><br />
và<br />
<b>Route có được chọn để đưa vào Routing Table không?</b> <b>1. Những nguyên nhân phổ biến khiến BGP route bị thiếu</b><br />
<br />
<br />
<b>Sai hoặc thiếu lệnh network</b><br />
<br />
Muốn quảng bá một prefix bằng BGP, lệnh network phải khớp với route đang tồn tại trong Routing Table, bao gồm cả subnet mask.<br />
<br />
Ví dụ:<br />
router bgp 65001<br />
network 10.10.10.0 mask 255.255.255.0<br />
<br />
Router phải có route <b>10.10.10.0/24</b> trong Routing Table. Nếu chỉ tồn tại 10.10.10.0/25 thì BGP sẽ không originate 10.10.10.0/24 bằng lệnh trên. <hr /><br />
<b>BGP Next-Hop không reachable</b><br />
<br />
Một BGP route có thể xuất hiện trong BGP Table nhưng không sử dụng được nếu router không tìm được đường đến địa chỉ <b>Next Hop</b>.<br />
<br />
Kiểm tra:<br />
show bgp ipv4 unicast<br />
show ip route &lt;next-hop&gt;<br />
<br />
Đây là lỗi rất thường gặp trong <b>iBGP</b>, đặc biệt khi route được học từ eBGP rồi quảng bá sang iBGP mà next-hop vẫn được giữ nguyên.<br />
<br />
Một giải pháp thường gặp là:<br />
neighbor 10.1.1.2 next-hop-self <hr /><br />
<b>Quy tắc BGP Split Horizon của iBGP</b><br />
<br />
Một nguyên tắc cực kỳ quan trọng:<div style="margin-left:40px">Route học từ một iBGP peer sẽ không được quảng bá tiếp cho một iBGP peer khác.</div> <br />
Ví dụ:<br />
R1 ----iBGP---- R2 ----iBGP---- R3<br />
<br />
Nếu R2 học route từ R1 qua iBGP, mặc định R2 <b>không quảng bá route đó cho R3</b>.<br />
<br />
Trong mạng lớn, vấn đề này thường được giải quyết bằng <b>iBGP Full Mesh</b> hoặc <b>Route Reflector (RR)</b>.  <hr /><br />
<b>Có nguồn định tuyến tốt hơn</b><br />
<br />
Một prefix có thể tồn tại trong BGP Table nhưng không được cài vào Routing Table nếu router đã học chính prefix đó từ một nguồn có <b>Administrative Distance</b> tốt hơn.<br />
<br />
Ví dụ, cùng một prefix được học từ OSPF và iBGP:<br />
OSPF = AD 110<br />
iBGP = AD 200<br />
<br />
Trong trường hợp này, route OSPF thường được ưu tiên đưa vào Routing Table. <hr /><br />
<b>Route Filtering</b><br />
<br />
Prefix có thể bị chặn bởi các chính sách như:<br />
prefix-list<br />
route-map<br />
filter-list<br />
distribute-list<br />
<br />
Do đó khi neighbor đã Established nhưng route vẫn mất, hãy kiểm tra cả policy theo hai chiều <b>inbound</b> và <b>outbound</b>. <b>2. Kiểm tra BGP Table</b><br />
<br />
<br />
Lệnh quan trọng:<br />
show bgp ipv4 unicast<br />
<br />
Tương đương với lệnh truyền thống:<br />
show ip bgp<br />
<br />
Một route có thể xuất hiện trong BGP Table vì một trong các nguyên nhân: được BGP neighbor quảng bá tới, được đưa vào bằng network, được redistribute từ giao thức khác, hoặc được tạo thành aggregate/summary. <b>3. Đọc Next Hop và Origin Code</b><br />
<br />
<br />
Nếu trong BGP Table:<br />
Next Hop = 0.0.0.0<br />
<br />
thì route được <b>router cục bộ originate</b> vào BGP.<br />
<br />
Nếu Next Hop là một địa chỉ khác, chẳng hạn:<br />
10.1.12.1<br />
<br />
thì route thường được học từ một <b>BGP peer</b>.<br />
<br />
Cuối cột <b>Path</b>, bạn cũng thường thấy Origin Code:<br />
i<br />
?<br />
<br />
Trong đó:<br />
<br />
<b>i – IGP Origin:</b> prefix được originate vào BGP bằng network hoặc cơ chế aggregate/summary phù hợp.<br />
<br />
<b>? – Incomplete:</b> BGP không biết rõ nguồn gốc ban đầu theo cơ chế origin của BGP; trường hợp điển hình là route được đưa vào BGP bằng <b>redistribution</b>.<br />
<br />
Lưu ý: chữ <b>i ở Origin Code không có nghĩa route được học qua iBGP</b>. Đây là hai khái niệm hoàn toàn khác nhau. <b>4. Quy trình troubleshooting nên nhớ</b><br />
<br />
<br />
Khi neighbor đã <b>Established</b> nhưng không thấy route, có thể kiểm tra theo chuỗi:<br />
<br />
<b>Neighbor → BGP Table → Next Hop → Best Path → Routing Table → Filtering</b><br />
<br />
Ví dụ:<br />
show bgp ipv4 unicast summary<br />
show bgp ipv4 unicast<br />
show bgp ipv4 unicast 172.16.10.0/24<br />
show ip route 172.16.10.0<br />
show ip route &lt;next-hop&gt;<br />
show running-config | section router bgp<br />
<br />
Điểm quan trọng nhất khi troubleshooting BGP là: <b>Established chỉ chứng minh hai router đã hình thành BGP session. Nó không chứng minh route đã được quảng bá, được chấp nhận, trở thành best path hay được cài vào Routing Table.</b><br />
<br />
Đó là lý do kỹ sư mạng nên troubleshooting BGP theo từng lớp: <b>Peer → Prefix → Next-Hop → Policy → Best Path → RIB.</b>​]]></content:encoded>
			<category domain="https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing">CCNP Advanced Routing</category>
			<dc:creator>dangquangminh</dc:creator>
			<guid isPermaLink="true">https://www.forum.vnpro.org/forum/ccnp-enterprise/advanced-routing/443714-troubleshooting-bgp-routes-–-xử-lý-sự-cố-route-trong-bgp</guid>
		</item>
	</channel>
</rss>
