Mạch nhãn đa giao thức MPLS: Nguyên lý hoạt động và ứng dụng

MỤC LỤC

CHUYỂN MẠCH NHÃN ĐA GIAO THỨC MPLS

Các khái niệm cơ bản trong MPLS

    Như vậy, FEC là một nhóm các gói IP được chuyển tiếp trên cùng một đường chuyển mạch nhãn LSP, được đối xử theo cùng một cách thức và có thể ánh xạ vào một nhãn bởi một LSR cho dù chúng có thể khác nhau về thông tin header lớp mạng. Với kiểu làm việc này thì các LSR trung gian như router B và C sẽ không phải thực hiện kiểm tra toàn bộ header IP của gói tin mà nó chỉ việc kiểm tra các giá trị của nhãn, so sánh trong bảng và chuyển tiếp.

    Hình 1.5: Lớp chuyển tiếp tương đương trong MPLS
    Hình 1.5: Lớp chuyển tiếp tương đương trong MPLS

    Mã hóa nhãn và các chế độ đóng gói nhãn MPLS

      PPP sử dụng NCP (Network Control Program) sửa đổi gọi là MPLSCP (MPLS Control Protocol) và đánh dấu tất cả các gói có chứa shim header bằng giá trị 0x8281 trong trường PPP Protocol. Chế độ Cell được dùng khi ta có một mạng gồm các ATM-LSR (là các chuyển mạch ATM có hỗ trợ MPLS), trong đó nó sử dụng các giao thức phân phối nhãn MPLS để trao đổi thông tin VPI/VCI thay cho báo hiệu ATM.

      TUYẾN VÀ BÁO HIỆU MPLS

      Định tuyến trong MPLS

        Sau đó, vì băng thông khả dụng của đường ngắn nhất không đủ cho cả 2 lưu lượng 600Kbps và 500 Kbps, nên lưu lượng 500 Kbps được định tuyến đi theo đường mới qua R6 và R7 mặc dù nhiều hơn một hop so với đường cũ. Định tuyến tường minh (Explicit Routing) là một tập con của định tuyến ràng buộc, trong đó sự ràng buộc là đối tượng tuyến tường minh ER (explicit route).

        Các chế độ báo hiệu MPLS

          Điều khiển độc lập có ưu điểm là thiết lập LSP nhanh vì việc kết nhãn diễn ra song song giữa nhiều cặp LSR và dòng lưu lượng có thể bắt đầu truyền mà không cần đợi cho tất cả các gán kết nhãn thiết lập xong. Các LSP định tuyến tường minh bắt buộc phải sử dụng kiểu điều khiển tuần tự và quá trình phân phối nhãn theo chuỗi có thứ tự sẽ tạo ra thời gian trễ trước khi dòng lưu lượng đi trên LSP có thể bắt đầu.

          Hình 2.5: Duy trì nhãn bảo thủ
          Hình 2.5: Duy trì nhãn bảo thủ

          Giao thức LDP (Label Distribution Protocol)

            Trong trường hợp hai LSR không có kết nối lớp 2 trực tiếp (neighbor gián tiếp) thì LSR định kỳ gửi bản tin Hello đến cổng UDP đã biết tại địa chỉ IP xác định được khai báo khi lập cấu hình. - Label Request Abort : Nếu bản tin Label Request cần phải hủy bỏ trước khi được chấp nhận (do nút kế tiếp trong FEC yêu cầu đã thay đổi), thì LSR yêu cầu sẽ loại bỏ yêu cầu trước đó bằng bản tin Label Request Abort.

            Hình 2.11: Format thông điệp LDP
            Hình 2.11: Format thông điệp LDP

            Giao thức CR-LDP (Constrain-based routing LDP)

              Nếu điều khiển tuần tự (ordered control) được cấu hình trên mỗi giao diện, các yêu cầu nhãn sẽ làm cho các bản tin Label Mapping được trả về theo thứ tự từ R3 đến R2, rồi mới từ R2 về R1. Khi bản tin được tạo xong, LSR A sẽ xem xét nút trừu tượng đầu tiên trong đối tượng ER là LSR B, tìm kết nối đến LSR B và gởi bản tin Label Request trên kết nối đó.

              Hình 2.13:  Thiết lập LSP với CR-LDP
              Hình 2.13: Thiết lập LSP với CR-LDP

              Giao thức RSVP-TE (RSVP Traffic Engineering)

                Đặc tính lưu lượng Tspec sử dụng tốc độ đỉnh (peak rate), thùng token (token bucket) để định nghĩa tốc độ và kích cỡ bùng phát, đơn vị khống chế tối thiểu (minimum policed unit) và kích thước gói tối đa. Nó có thể được một router dùng để ghim một tuyến tường minh thả lỏng bằng cách copy tuyến ghi được trong bản tin RESV sang đối tượng tuyến tường minh ERO trong một bản tin PATH được gửi theo chiều ngược lại. RFC 3209 định nghĩa bản tin Hello tùy chọn cho RSVP-TE, nó cho phép một LSR phát hiện một neighbor bị lỗi nhanh hơn khi so với RSVP làm tươi tình trạng hoặc phát hiện lỗi đường truyền bằng một giao thức định tuyến IP.

                Mỗi bản tin RESV liên quan đến đường hầm LSP này đều mang session-ID và filter-spec nguyên thủy của sender R1 để giữ mối tương quan với nhau.Tiếp theo, R4 tiếp nhận yêu cầu này và gửi bản tin PATH đến router kế tiếp ghi trong ERO là R5. Theo RFC 3031, nhãn null là một quy ước được dùng trong phân phối nhãn cho phép egress- router (ở đây là R3) báo hiệu cho đối tác upstream của nó biết rằng đây là hop áp cuối (penultimate hop) của LSP, do vậy cần gỡ nhãn đỉnh của stack (xem LFIB của LSR R5). Tất nhiên, việc xử lý dành cho khởi tạo các bản tin PATH và RESV lớn hơn nhiều so với việc làm tươi trạng thái một bản tin đã nhận trước đó, tuy nhiên với một số lượng lớn các LSP thì việc xử lý làm tươi có ảnh hưởng đáng kể đến hiệu năng.

                Hình 2.14:  Thiết lập LSP với RSVP-TE
                Hình 2.14: Thiết lập LSP với RSVP-TE

                Giao thức BGP

                  RSVP là giao thức trạng thái mềm (soft-state), tiến trình phát một bản tin PATH và bản tin RESV hồi đáp tương ứng phải được định kỳ làm tươi, thường khoảng 30s một lần. Phương pháp làm tươi này đề phòng các bản tin bị mất và trong trường hợp định tuyến từng chặng sẽ tự động chuyển dự trữ tài nguyên sang đường mới khi có bất kỳ thay đổi định tuyến IP. Việc hồi báo bản tin cũng được bổ sung để chuyển tải tin cậy bản tin RSVP và xử lý trường hợp mất các bản tin PATH TEAR và RESV TEAR vì hai bản tin này không được làm tươi trong hoạt động RSVP.

                  Trong thiết lập phiên, các đối tác BGP (BGP peer) trong các AS lân cận trao đổi các bản tin OPEN có chứa AS number, một giá trị keep -alive timeout, và các tham số tùy chọn như nhận thực. Sau khi thiết lập phiên, các BGP peer trao đổi các bản tin UPDATE có chứa các prefix địa chỉ có thể đến được hiện hành (reachability), được gọi là NLRI (Network Layer Reachability Information). LOCALPREF cho phép AS đầu gởi chỉ định một sự ưu tiên (preference) định tuyến lưu lượng đi ra trên nhiều liên kết đến AS khác; trong khi MED (multiple exit discriminator) cho phép một AS phía nhận chỉ định một ưu tiên cho lưu lượng đến từ một AS khác.

                  Hình 2.15 : Nội dung bản tin BGP Update
                  Hình 2.15 : Nội dung bản tin BGP Update

                  Tổng kết chương

                  Router C3 quảng bá nó như một NLRI cho AS -A và AS -B bằng bản tin BGP UPDATE có chứa next -hop và ASPATH. Router A3 trong AS A thu thập tất cả các thông cáo này vào trong bảng RIB của nó, thí dụ thông qua một lưới các phiên iBGP hoặc một “route reflector”. Nhằm tìm cách tốt nhất để chuyển tiếp các gói đến prefix “a.b/16”, A1 có thể xác định rằng đường AS ngắn nhất là qua hop kế A3 sử dụng nhãn L.

                  Nhờ định tuyến nội và giao thức phân phối nhãn của mình, router A1 cũng biết rằng tuyến tốt nhất để đến A3 là đi qua A2 sử dụng nhãn M. Kết quả là khi chuyển gói đến prefix “a.b/16”, router A1 push nhãn L lên gói rồi push tiếp nhãn M trên đỉnh stack. Trong khi LSP2 kéo dài từ AS A đến AS C và có một đoạn chui bên trong LSP1.

                  Mô phỏng MPLS và đánh giá

                  Kiến trúc của NS2

                    Trong hình trên, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp Thiết lập Mạng (hay các mô đun Plumbing). Thuật ngữ plumbing được dùng để chỉ việc thiết lập mạng, vì thiết lập một mạng nghĩa là xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương ứng. • NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản (Tcl – Tool Command Language, đọc là tickle) và Ngôn ngữ lập trình hệ thống (C/C++).

                    Một mặt là vì các mô phỏng cho các giao thức yêu cầu một ngôn ngữ lập trình hệ thống có thể tính toán một cách hiệu quả các byte, các tiêu đề packet và các thuật toán thực thi đang chạy trên một tập dữ liệu lớn. Với tác vụ này, run-time speed (tốc độ thời gian chạy thực) là quan trọng trong khi turn-around time (thời gian thay đổi) thì ít quan trọng hơn. Mặt khác, khi nghiên cứu mạng thì rất cần quan tâm đến các tham số và các cấu hình có thay đổi nhưng không đáng kể, hay quan tâm đến các scenario (tình huống) cần khám phá thật nhanh chóng.

                    Giới thiệu các phần mềm dùng kết hợp với NS2

                    • NSCRIPT
                      • Topology Generator
                        • Trace Data Analyzers .1 XGRAPH

                          Nếu được check thì một cửa sổ con Annotation (Chú thích) xuất hiện chú thích các sự kiện đang diễn ra theo thứ tự thời gian tăng dần. Click vào button đó sẽ cho lựa chọn xem biểu đồ bandwidth (băng thông) hay link loss (mất mát gói trên liên kết) của một simplex link trong một duplex link. Click phải trong cửa sổ con Annatation sẽ có menu sổ với ba tuỳ chọn Add (Thêm), Delete (Xóa), Info (Thông tin) để có thể thêm chú thích mới, xóa chú thích đang tồn tại hay chỉnh sửa thông tin cho mục chú thích tại thời điểm minh họa xác định.

                          • Nscript có thể mở rộng được, cho phép tạo ra các thư viện riêng (thư viện các đối tượng) để có thể dùng thêm đối tượng vào môi trường đồ hoạ. Đồng thời có cả button UseDefault để khôi phục giá trị mặc định cho các tham số của bất kỳ đối tượng nào, button Apply để áp giá trị hiện tại cho đối tượng được sửa đổi. • Các đồ thị và các thống kê về Delay (trì hoãn), jitter (độ rung pha), processing times (số lần xử lý), Round Trip Times (số lần khứ hồi), intermediate nodes (số node trung gian) và throughput (thông lượng).

                          Hình 4.5: Mô tả các công cụ của NAM
                          Hình 4.5: Mô tả các công cụ của NAM