Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • BGP Community là gì?

    BGP Communities là gì?


    Trong các phần trước, bạn đã học một cách để điều khiển hướng đi của lưu lượng outbound (traffic đi ra) bằng cách tác động lên các route nhận được. Nhưng một câu hỏi quan trọng hơn trong thực tế là:

    Làm thế nào để điều khiển lưu lượng inbound (traffic đi vào)?

    Ví dụ trong bài lab này, nếu outbound traffic ưu tiên đi qua ISP2, thì hợp lý là inbound traffic cũng nên đi qua ISP2.

    Có nhiều cách để làm điều đó:
    • AS Path Prepending (làm cho đường đi kém hấp dẫn)
    • Hoặc sử dụng BGP Communities

    🔹 Communities


    BGP Communities là một cơ chế trong BGP cho phép administrator gắn thêm metadata (nhãn) vào các route.

    Các nhãn này (community values) giúp:
    • Xây dựng routing policy linh hoạt
    • Điều khiển hành vi routing trong cả internal và external network

    🔹 Định dạng Community
    • Standard community: 32-bit (4 byte)
    • Format phổ biến: ASN:Value
      Ví dụ: 64512:102

    Trong đó:
    • Phần đầu (64512): thường là ASN của tổ chức
    • Phần sau (102): giá trị do admin định nghĩa

    Ngoài ra còn có:
    • Extended Communities (64-bit)
    • Large Communities (96-bit)

    🔹 Use Cases chính của BGP Communities
    1. Traffic Engineering
      • Điều khiển đường đi của traffic
      • Ảnh hưởng đến path selection
    2. Policy Implementation
      • Xây dựng các rule routing phức tạp
    3. Route Filtering
      • Accept / reject route dựa vào community
    4. Simplify cấu hình
      • Group nhiều route lại bằng tag thay vì match từng prefix

    🔹 Cách cấu hình Communities


    Trong thực tế:
    • Communities được cấu hình trong route-map
    • Sau đó apply vào neighbor BGP

    🔹 Scenario thực tế với ISP


    ISP thường cho phép khách hàng dùng community để điều khiển cách ISP xử lý route.

    Trong bài lab:

    ISP1 định nghĩa:
    • 64512:102 → prepend AS 2 lần
    • 64512:104 → prepend AS 4 lần
    • 64512:106 → prepend AS 6 lần

    🔹 Cấu hình trên ISP1

    ip community-list 1 permit 64512:102
    ip community-list 2 permit 64512:104
    ip community-list 3 permit 64512:106

    route-map PREPEND-AS permit 10
    match community 1
    set as-path prepend 64512 64512

    route-map PREPEND-AS permit 20
    match community 2
    set as-path prepend 64512 64512 64512 64512

    route-map PREPEND-AS permit 30
    match community 3
    set as-path prepend 64512 64512 64512 64512 64512 64512

    route-map PREPEND-AS permit 40

    router bgp 64512
    address-family ipv4
    neighbor 172.16.31.2 route-map PREPEND-AS out
    exit-address-family
    🔹 Phân tích chuyên sâu (CCIE level)

    1. Community-list

    ip community-list 1 permit 64512:102


    → Match các route có community tương ứng
    2. Route-map logic


    Ví dụ:
    route-map PREPEND-AS permit 10
    match community 1
    set as-path prepend 64512 64512


    → Nếu route có community 64512:102
    → ISP sẽ prepend thêm 2 lần ASN 64512

    ➡️ Làm path dài hơn → kém hấp dẫn hơn
    3. Sequence cuối (permit 40)

    route-map PREPEND-AS permit 40


    ⚠️ Đây là điểm cực kỳ quan trọng:
    • Không có match → match ALL
    • Action: permit

    👉 Nếu không có dòng này:
    • Các route không có community → bị DROP

    4. Apply outbound

    neighbor 172.16.31.2 route-map PREPEND-AS out


    → ISP1 áp dụng policy khi advertise route ra ngoài
    🔹 Insight quan trọng (thực chiến)

    🔥 Community = “Remote Control” của ISP


    Thay vì bạn:
    • Cấu hình phức tạp trên ISP
    • Hoặc yêu cầu ISP thay đổi policy

    👉 Bạn chỉ cần:
    set community 64512:104


    → ISP tự hiểu và xử lý
    🔥 So sánh: Community vs AS-Path Prepend
    Prepend trực tiếp Bạn Thấp
    Community ISP xử lý Rất cao
    👉 Community mạnh hơn vì:
    • ISP có thể áp policy phức tạp
    • Có thể áp dụng trên toàn hệ thống ISP

    🔥 Use case thực tế


    Bạn muốn:
    • ISP1 = backup
    • ISP2 = primary

    👉 Trên ISP1:
    set community 64512:106


    → ISP1 prepend nhiều lần
    → Internet sẽ prefer ISP2
    🔹 Kết luận (góc nhìn kiến trúc)


    BGP Communities là một trong những công cụ quan trọng nhất để:
    • Điều khiển inbound traffic (bài toán khó nhất của BGP)
    • Xây dựng policy routing ở scale ISP
    • Tách biệt control-plane logic giữa customer và provider

    👉 Nếu Local Preference là “vũ khí nội bộ”
    👉 Thì Community chính là “ngôn ngữ giao tiếp với ISP”
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X