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 Regular Expressions Examples – Ví dụ về Regex trong BGP

    BGP Regular Expressions Examples – Ví dụ về Regex trong BGP


    Biểu thức chính quy (Regular Expressions / Regex) thường được dùng để chỉnh sửa tuyến (route) hoặc lọc (filter) trong BGP. Ở bài học này, chúng ta sẽ xem một số regex rất hữu ích.
    Để dễ theo dõi, tài liệu chia thành 2 phần:
    • Các ký tự (Characters)
    • Các ví dụ cụ thể (Examples)
    1) Characters (Các ký tự trong Regular Expressions)


    Trong phần này, tài liệu liệt kê ý nghĩa của từng ký tự/chuỗi regex hay dùng trong ngữ cảnh BGP:
    • ?
      Lặp lại ký tự/trước đó 0 lần.
    • *
      Lặp lại ký tự/trước đó 0 lần hoặc nhiều lần.
    • +
      Lặp lại ký tự/trước đó 1 lần hoặc nhiều lần.
    • ^
      Khớp với đầu của chuỗi (beginning of a string).
    • $
      Khớp với cuối của chuỗi (end of a string).
    • [] (ngoặc vuông)
      Chỉ định một dải/range ký tự hoặc giá trị để khớp.
    • -
      Thường dùng để mô tả khoảng (range) ở trong ngoặc.
      (Trong ngữ cảnh chuỗi AS-path được trình bày theo dạng số, dấu - có nghĩa là “từ … đến …”.)
    • " (dấu ngoặc kép)
      Là ký tự escape trong một số cú pháp BGP confederations (tài liệu nói là: You’ll need this for BGP confederations).

    Ghi chú ngữ nghĩa: Regex trong BGP thường khớp dựa trên chuỗi AS_PATH (dãy AS) sau khi nó được biểu diễn thành văn bản. 2) Examples (Các ví dụ)


    Phần này là các mẫu regex tương ứng với các kiểu tình huống thường gặp khi lọc/chỉnh sửa tuyến.
    Tài liệu có một danh sách ví dụ; mình dịch theo đúng ý từng dòng: Ví dụ A: Khớp với AS PATH rỗng
    • ^$ (trong ảnh hiển thị dạng khớp rỗng)
      Khớp với AS_PATH rỗng để tìm tất cả tiền tố (prefixes) từ local AS.
    Ví dụ B: Khớp khi AS X nằm ở đầu AS_PATH
    • ^AS1_ (tài liệu ghi kiểu “connected directly to our AS”)
      Khớp các prefix mà AS đó (ví dụ AS 51 trong ảnh) nằm ngay đầu và tuyến đó được kết nối trực tiếp.
    Ví dụ C: Khớp khi AS X nằm ở đoạn “đuôi” trước khi sang bước khác
    • _AS51_ (tài liệu diễn giải theo hướng “transit AS 51”)
      Khớp các prefix mà AS 51 nằm trong tuyến dưới dạng transit, tức tuyến đi qua AS51 nhưng không phải điểm kết nối trực tiếp đầu cuối.
    Ví dụ D: Khớp cho trường hợp AS X chỉ ra rằng nó là “bắt đầu của AS_PATH”
    • Có dòng mẫu dạng ^_51 / _51$ (trong ảnh thể hiện rõ “beginning of the AS PATH” hoặc “ends of the AS PATH”).
      Ý chính:
      • Khớp khi AS 51 ở đầu chuỗi
      • hoặc khớp khi AS 51 ở cuối chuỗi
    Ví dụ E: Khớp khi AS X đứng trước/sau AS khác
    • Các mẫu dạng:
      • _AS51(-|_)? / (…)+
      • hoặc các mẫu cho thấy có AS đứng “ngay phía trước” trong đường đi.
    Tài liệu dùng mục này để minh họa việc regex có thể bắt được “vị trí” của AS (đầu, cuối, ở giữa) và cả quan hệ “liền kề”. Ví dụ F: Khớp confederation
    • ^A(65020)$ (trong ảnh ghi dạng “matches prefixed from confederation per 65200”)
      Ý nghĩa: khớp tuyến bắt nguồn từ một confederation AS (tài liệu dùng để nói thêm rằng confederation có thể cần cú pháp/escape đặc thù).
    Kết phần bài học


    Tài liệu kết lại bằng gợi ý:
    • Nếu muốn thực hành các ví dụ này, bạn có thể dùng một BGP looking glass / glass server để test regex khi áp policy.
    • Sau đó, có lời mời người đọc: nếu bạn có thêm regex “hữu dụng”, hãy chia sẻ.
    Nút điều hướng (trong bài)
    • Previous Lesson: BGP Remove Private AS
    • Next Lesson: BGP Route Reflector
    Attached Files
Working...
X