CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ CHUYỂN MẠCH NHÃN ĐA GIAO THỨC (MPLS) 1.1 Định Tuyến IP/MPLS: 1.1 Định tuyến IP cổ điển: Định tuyến là tập hợp các giao thức họat động trên các thiết bị lớp 3, mô tả cách thức hoạt động như trao đổi thông tin, tính tóan quyết định đường đi và chuyển tiếp các gói tin đến các đích mong muốn. Các giao thức định tuyến IP hiện tại được chia làm 2 loại: - Giao thức định tuyến Vector: như giao thức RIP, RIPv2, RIPng, IGRP, EIGRP và BGP. - Giao thức định tuyến trạng thái liên kết (link-state): như giao thức OSPF và IS-IS. Mục tiêu của giao thức định tuyến là tạo ra cho mỗi router trong mạng 1 cơ sở dữ liệu các địa chỉ đích mà router có thể tiến đến để phục vụ cho chức năng chuyển tiếp gói.
Mỗi địa chỉ trong cơ sở dữ liệu gắn với interface gần đích đến nhất và địa chỉ của router kế tiếp trên đường dẫn đến đích. Cơ cở dữ liệu này gọi là cơ sở dữ liệu thông tin định tuyến RIB (Routing Information Database), hay còn gọi là bảng định tuyến. Mỗi giao thức định tuyến phải gồm 2 quá trình sau: - Quá trình trao đổi các địa chỉ đích và những thông tin liên quan đến chúng giữa các router trong mạng. - Thuật toán dùng các thông tin chia sẻ để tính đường đi ngắn nhất đến mỗi đích đến trong cơ sở dữ liệu.
Sự khác nhau giữa 2 loại giao thức định tuyến chính là điểm khác nhau giữa cách hiện thực 2 quá trình trên. HVTH: Bùi Văn Nhất Lớp: CH.KTĐT GMPLS 19 GVHD: TS.Trần Hoài Trung Giao thức định tuyến vector: Tuyến đường IP được xem như 1 vector (hướng, biên độ) với hướng là địa chỉ nút mạng kế tiếp và tùy theo loại giao thức định tuyến mà biên độ có thể hiểu theo nghĩa khác nhau (RIP – số nút router, BGP – số miền tự trị, IGRP/EIGRP – tổng các đặc tính interface, OSPF/IS-IS – tổng metric của interface). Giao thức định tuyến Vector tồn tại 2 nhược điểm chính: Thời gian hội tụ chậm Xảy ra hiện tượng loop Giao thức định tuyến Link-State (OSPF): Khác với giao thức định tuyến Vector, giao thức định tuyến link-state không sử dụng “hop count” làm tham số (metric) để tính tóan đường đi tối ưu mà sử dụng một hoặc nhiều hơn các tham số gồm bandwidth, delay, load, reliability và MTU. Link-state được đánh giá là giao thức định tuyến tốt hơn giao thức định tuyến Vec- tor.
Trong phần này chỉ tập trung vào giao thức định tuyến OSPF. Đặc điểm: Quảng bá 1 lượng lớn thông tin về topology tòan mạng. Các thông tin quảng bá của 2 Router chạy cùng giao thức Link-state gồm: network address, status và cost gắn với mỗi đường kết nối. Mỗi Router tự chạy thuật tóan để tính ra tuyến tốt nhất dựa trên dữ liệu về Topology nhận được.
Thuật tóan dựa trên thông tin về cost của các đường link đến mạng đích, nếu có nhiều hơn 1 tuyến đến cùng 1 mạng đích thì nó sẽ chọn tuyến có cost nhỏ nhất.2 Các khái niệm trong OSPF: Các bảng dữ liệu lưu trong OSPF: Trên 1 Router bao gồm các bảng sau: HVTH: Bùi Văn Nhất Lớp: CH.KTĐT GMPLS 20 GVHD: TS.Trần Hoài Trung Neighbor table: Bảng ID của các Router gần kề với router đó và chạy cùng giao thức định tuyến. Topology Database: Thông tin trạng thái của tòan mạng mà Router nhận được từ các router khác chạy cùng giao thức. Routing table: Bảng định tuyến của router gồm các tuyến đến mạng đích sau khi đã được tính tóan thông qua Distra dựa trên Topology đã nhận được. Các thông tin được trao đổi giữa các router chạy OSPF: Hello Packet: Bản tin xác nhận tình trạng của các router là neigbor với nhau và được gửi theo chu kỳ.
LSU (Link State Update): Bản tin routing update được gửi qua lại giữa các router. LSA (Link State Advertisement): 1 thành phần trong LSU. 1 LSU gồm nhiều LSA, mỗi LSA mang thông tin về 1 network gồm subnet number và mask, cost (tương đương với metric) và các thông tin khác về subnet đó. Các bước hoạt động của OSPF: Mỗi router tự phát hiện các router kế cận chạy cùng giao thức OSPF trên các interface của nó.
Danh sách các kế cận được lưu trong Neighbor table. Ngay sau khi đã xác nhận về các router hàng xóm, mỗi router sẽ sử dụng giao thức TCP để truyền LSU đến các router bên cạnh. Mỗi router đặt các Topology học được dựa vào topology database. Mỗi router tự chạy thuật tóan SPF dựa trên topology nhận được để tính tuyến đường đi tốt nhất.
HVTH: Bùi Văn Nhất Lớp: CH.KTĐT GMPLS 21 GVHD: TS.Trần Hoài Trung Đặt tuyến tốt nhất vào bảng định tuyến. Trạng thái hội tụ của OSPF: Trong quá trình hoạt động, các router tự gửi bản tin Hello đến các kế cận để xác nhận tình trạng up hay down của kế cận. Chu kỳ mặc định là 10s và thời gian này có thể cấu hình trên router. Khi không nhận được bản tin Hello trong khoảng 10s, đặt kế cận vào trạng thái silent trong khoảng thời gian gọi là dead interval (thời gian chết).
Mặc định thời gian chết gấp 4 lần khoảng thời gian hello (40s). Trong khoảng thời gian chết, nếu nhận lại bản tin Hello packet thì router đặt kế cận vào trạng thái bình thường như cũ. Nếu không nhận được thì nó loại router kế cận đó ra khỏi neighbor ta- ble và chạy lại thuật tóan SPT để tính lại tuyến khác. Chống Loop của OSPF: OSPF không dùng các phương pháp chống loop như RIP hay IGRP mà cơ chế chống loop được thực hiện (build in) ngay trong giải thuật SPF của nó.
Mô hình phân cấp của OSPF: Với 1 mạng lớn chạy OSPF thì khi 1 router trong mạng gặp sự cố (có thể từ up-> down hoặc ngược lại) thì tòan bộ router trong mạng phải tự chạy lại giải thuật OSPF đến mạng kết nối với router đó. Vấn đề này làm tốn tài nguyên CPU của router dẫn đến ảnh hưởng thời gian hội tụ của mạng. Để giải quyết, người ta đưa ra mô hình phân cấp của OSPF, theo đó các router sẽ được chia thành các vùng area (có thể coi là chia để trị). Các router chỉ biết thông tin trong vùng của mình (trừ ABR), do đó giảm được độ lớn của bảng Topology.
Ưu điểm: Băng thông dùng cho giao thức này rất nhỏ, vì nó chỉ truyền thông tin về sự thay đổi thay vì tòan bộ thông tin của mạng. Các bản tin Hello HVTH: Bùi Văn Nhất Lớp: CH.KTĐT GMPLS 22 GVHD: TS.Trần Hoài Trung không phải là broadcast. Routing tin cậy và khả năng chống loop là buid in. Vì router nắm tòan bộ topo mạng nên khi router chạy thuật tóan tìm đường đi SPF, sẽ xác định đường đi ngắn nhất mà không xảy ra hiện tượng loop.
Tốc độ hội tụ cao vì khi có sự thay đổi thì thông tin cập nhật chỉ là thông tin về sự thay đổi chứ không phải tòan bộ thông tin của bảng routing table.3 Định tuyến dựa trên các ràng buộc (Constraint-Based Routing) Tính toán con đường đi của bất kỳ giao thức định tuyến nội IGP đều dựa vào một thuật toán làm tối ưu một tham số vô hướng của con đường đó là metric. Trong trường hợp của RIP, metric là số bước nhảy. Trong một tập các con đường đến đích thì RIP sẽ chọn con đường mà có số bước nhảy nhỏ nhất. Trong trường hợp của OSPF hay IS-IS, metric là do người quản trị quy định.
Trong OSPF (hay IS-IS), nhà quản trị mạng gắn mỗi đường truyền trong mạng một metric nào đó. Trong một tập các con đường đến đích OSPF, dùng thuật toán đường đi ngắn nhất Dijkstra để tính một con đường có metric nhỏ nhất, ở đây metric của con đường là tổng các metric trên tất cả các đường truyền của con đường đó. Điểm khác biệt cơ bản giữa định tuyến IP cổ điển và định tuyến dựa theo ràng buộc là: định tuyến IP cổ điển tìm một con đường mà tối ưu một tham số met- ric chính nào đó (ví dụ như có số bước nhảy ít nhất), trong khi thuật toán định tuyến ràng buộc cũng tìm một con đường mà tối ưu một tham số metric chính nào đó và phải không vi phạm một tập các ràng buộc. Một kiểu của ràng buộc là có thể tìm một con đường mà các đặc điểm chính nào đó.
Ví dụ, bạn có thể muốn tìm một con đường mà băng thông thoả mãn nhỏ nhất. Trong trường hợp này, ràng buộc trong thuật toán định tuyến là tìm con đường phải có băng thông thoả mãn nhỏ nhất trên tất cả các đường truyền của con đường, và thuộc tính của đường truyền chúng ta sử dụng là băng thông có giá trị của đường HVTH: Bùi Văn Nhất Lớp: CH.KTĐT GMPLS 23 GVHD: TS.Trần Hoài Trung truyền. Chú ý rằng con đường khác nhau trên một mạng cho trước có thể có ràng buộc về băng thông khác nhau. Một kiểu ràng buộc khác là sự quản trị.
Ví dụ, một nhà quản trị mạng có thể muốn luồng lưu lượng nào đó di chuyển trên một đường truyền nhất định của mạng, mà các đường truyền đó được chỉ định bởi một thuộc tính nào đó. Trong trường hợp đó ràng buộc trong thuật toán định tuyến là tìm con đường cho luồng lưu lượng mà phải không đi qua các con đường khác ngoài các con đường đã được chỉ định. Thuật tóan CSPF: Định tuyến ràng buộc yêu cầu phải tính toán một con đường mà thoả các yêu cầu: Tối ưu một vài metric chính (số bước nhảy) Không vi phạm một tập các ràng buộc Một cách để tính toán con đường đó là dùng thuật toán con đường ngắn nhất đầu tiên (SPF). Thuật toán SPF cổ điển tìm một con đường mà tối ưu một vài tham số metric chính.
Vì thế, để tính một con đường mà không vi phạm các ràng buộc, chúng ta cần phải chỉnh sửa thuật toán để có thể thoả mãn thêm các ràng buộc. Chúng ta gọi đây là thuật toán con đường đi ngắn nhất thoả ràng buộc(CSPF). Để hiểu chúng ta phải thay đổi thuật toán SPF như thế nào, chúng ta phải xem xét lại hoạt động của thuật toán SPF cổ điển. Thuật toán SPF cổ điển bắt đầu từ một nút, gọi là gốc, và sau đó xây dựng một cây con đường ngắn nhất tại nút đó.
Tại mỗi vòng lặp của thuật toán, có một danh sách các nút ứng cử (ban đầu, danh sách này chỉ chứa đựng nút gốc). Tổng quát, các con đường từ danh sách ứng cử đến nút gốc không nhất thiết là ngắn nhất. Tuy nhiên trong các danh sách ứng cử có tồn tại một nút mà từ nó đến nút gốc là ngắn nhất.