Sổ tay kỹ thuật

BGP – khái niệm cốt lõi và best path selection

concept#bgp#iosxr#junos· cập nhật 2026-11-06

Ôn nhanh eBGP/iBGP, các attribute, thứ tự chọn best path (Cisco và khác biệt Junos) và route reflector.

Sửa trang này
Mục lục

BGP là giao thức path-vector chạy trên TCP/179, trao đổi prefix giữa các AS (eBGP) và phân phối prefix trong một AS (iBGP). BGP không tự tìm đường. Next-hop của mỗi path phải resolve được qua IGP, static route hoặc route có label (inet.3 trên Junos).

eBGP và iBGP

Đặc điểm eBGP iBGP
AS của peer Khác AS Cùng AS
TTL mặc định 1 (cần ebgp-multihop / multihop khi peer qua loopback) 255
Next-hop khi quảng bá Đổi thành địa chỉ của mình Giữ nguyên (cần next-hop-self ở biên)
Chống loop AS_PATH chứa AS của mình thì bỏ Không quảng bá lại route học từ iBGP (split horizon) → full-mesh hoặc RR
Administrative distance / preference XR: 20 · Junos: 170 XR: 200 · Junos: 170
Policy mặc định XR: không nhận, không gửi nếu thiếu route-policy (RFC 8212) · Junos: không chặn Nhận và gửi toàn bộ

Attribute hay gặp

Attribute Loại Ý nghĩa Phạm vi
Weight Cisco local Cao hơn được ưu tiên, không quảng bá. Junos không có Chỉ router cục bộ
LOCAL_PREF Well-known discretionary Cao hơn ưu tiên, mặc định 100. Điều khiển outbound Trong AS
AS_PATH Well-known mandatory Danh sách AS đã đi qua. Prepend để điều khiển inbound Toàn cục
ORIGIN Well-known mandatory IGP (i) < EGP (e) < incomplete (?) Toàn cục
MED (MULTI_EXIT_DISC) Optional non-transitive Thấp hơn ưu tiên, gợi ý cửa vào cho AS láng giềng Sang AS kế bên
NEXT_HOP Well-known mandatory Địa chỉ chuyển tiếp —
COMMUNITY / LARGE_COMMUNITY Optional transitive Tag để áp policy (64500:100, 64500:1:100) Theo policy
ORIGINATOR_ID, CLUSTER_LIST Optional non-transitive Chống loop khi dùng route reflector Trong AS

Best path selection (thứ tự Cisco)

Chỉ xét path có next-hop reachable và hợp lệ (không bị policy loại, không loop AS_PATH).

Bước Tiêu chí (Cisco IOS XR) Ghi chú Junos
1 Weight cao nhất Không có weight. Junos so route preference trước (BGP mặc định 170, thấp hơn thắng)
2 LOCAL_PREF cao nhất Như nhau
3 Route do chính router sinh ra (network, aggregate-address, redistribute) Không có bước riêng. Route static/aggregate trong bảng đã thắng route BGP nhờ preference thấp hơn
4 AIGP thấp nhất (nếu bật) Có, khi bật aigp
5 AS_PATH ngắn nhất Như nhau (as-path-ignore để bỏ qua)
6 ORIGIN thấp nhất: IGP < EGP < incomplete Như nhau
7 MED thấp nhất (mặc định chỉ so giữa path từ cùng AS láng giềng) Như nhau. Junos mặc định nhóm theo AS láng giềng như deterministic MED. path-selection always-compare-med để so mọi path
8 eBGP hơn iBGP Như nhau
9 IGP metric tới next-hop thấp nhất Như nhau
10 Xác định multipath (nếu bật maximum-paths) multipath
11 Hai path eBGP: giữ path cũ nhất (ổn định) Junos giữ path đang active. Tắt bằng path-selection external-router-id
12 Router ID thấp nhất (ORIGINATOR_ID nếu qua RR) Như nhau
13 CLUSTER_LIST ngắn nhất Như nhau
14 Địa chỉ neighbor thấp nhất Như nhau

Trên IOS XR, show bgp ipv4 unicast 203.0.113.0/24 bestpath-compare in lý do từng path thua. Trên Junos, show route 203.0.113.0/24 detail có dòng Inactive reason: cho các path không active.

Route reflector

Thay vì full-mesh iBGP (n(n-1)/2 session), client chỉ peer với RR. RR phản xạ route giữa các client và non-client, đồng thời gắn ORIGINATOR_ID và CLUSTER_LIST để chống loop.

flowchart TD RR1["RR1 192.0.2.1"] --- RR2["RR2 192.0.2.2"] RR1 --> PE1["PE1 client"] RR1 --> PE2["PE2 client"] RR2 --> PE1 RR2 --> PE2 PE1 ---|eBGP| ISP["ISP AS64510"] PE2 ---|eBGP| CE["CE AS65001"]
Hãng Cấu hình RR client
IOS XR neighbor 192.0.2.11 → address-family ipv4 unicast → route-reflector-client
Junos set protocols bgp group RR-CLIENTS cluster 192.0.2.1 (mọi neighbor trong group là client)

RR chỉ quảng bá một best path cho mỗi prefix. Muốn PE thấy nhiều path để làm multipath hoặc fast convergence thì cần BGP ADD-PATH, hoặc mỗi PE dùng RD riêng (với VPN).

Khi nào dùng

  • eBGP: peering với upstream/IX/khách hàng, hoặc làm underlay cho DC (mỗi leaf một AS private 65000+).
  • iBGP + RR: mang full table và VPN route trong backbone ISP. IGP (IS-IS/OSPF) chỉ mang loopback và link.
  • Lệnh tra cứu: BGP CLI cheatsheet. Khi session hoặc route có vấn đề: BGP troubleshooting.