PDA

View Full Version : KỸ THUẬT LƯU LƯỢNG TRONG MPLS -Sự phân phối thông tin



tranthanhliem
19-09-2007, 03:15 PM
Tác giả: Tố Uyên


Các thông tin được phân phối

Có bốn dạng thông tin chính được phân phối:

- Thông tin về băng thông có sẵn trên giao tiếp, cho phép một số đường hầm làm việc trước những đường hầm khác nhờ vào độ ưu tiên.
- Độ ưu tiên của đường hầm.
- Các cờ thuộc tính trên giao tiếp.
- Trọng lượng quản trị trên giao tiếp.
Mỗi thông tin này được quảng cáo (advertised) trên một cơ sở liên kết (per-link basis). Nói cách khác, Một bộ định tuyến quảng cáo băng thông có sẵn, các cờ thuộc tính và trọng lượng quản trị trên tất cả các liên kết có liên quan trong MPLS TE.

Băng thông có sẵn (available bandwidth)

Một thuộc tính quan trọng của MPLS TE là khả năng dành riêng băng thông qua mạng. Cấu hình một lượng băng thông dành riêng trên một liên kết bằng cách sử dụng lệnh sau:


router(config-if)#ip rsvp bandwidth [<1-10000000 total-reservable-bandwidth>[per-flow-bandwidth]]Lệnh này có thể lấy hai tham số. Tham số đầu là tổng lượng băng thông dành riêng trên giao tiếp, tính bằng Kbps. Tham số thứ hai là lượng băng thông tối đa có thể dành riêng trong luồng lưu lượng trên một giao tiếp.
Nếu không cấu hình lệnh thì băng thông dành riêng ngầm định quảng cáo cho giao tiếp bằng 0.

Nếu không chỉ định giá trị cho total-reservable-bandwidth trong lệnh ip rsvp bandwidth thì giá trị mặc định là 75% của băng thông liên kết (link bandwidth). Băng thông liên kết được xác định bởi loại giao tiếp hoặc lệnh về băng thông trên giao tiếp.

Tỉ lệ trên luồng lưu lượng (per-flow) tối đa được ngầm định là bằng tham số total-reservable-bandwidth, nhưng không nhất thiết phải luôn luôn như thế.
Khi các đường hầm MPLS TE dành riêng băng thông liên kết, lượng băng thông được định phần (allocated bandwidth) thay đổi nhưng băng thông có sẵn tối đa (maximum available bandwidth) không thay đổi.
Cần cấu hình cho cả hai: trên giao tiếp (per-interface) và băng thông đường hầm (tunnel bandwidth). Vì:

- Cấu hình per-interface cho biết trong mạng có bao nhiêu băng thông có sẵn trên một giao tiếp.
- Cấu hình per-tunnel ở đầu đường hầm cho biết nó cần bao nhiêu băng thông để sử dụng.

Độ ưu tiên đường hầm (Tunnel Priortity)

MPLS TE cung cấp cơ chế ưu tiên cho một số đường hầm làm việc trước những đường hầm khác. Mỗi đường hầm có một độ ưu tiên, các đường hầm ít quan trọng hơn bị đẩy ra khỏi đường đi và được tính toán lại đường đi, và tài nguyên của nó nhường lại cho đường hầm quan trọng hơn.
Các mức độ ưu tiên (Priority Level):

Một đường hầm có thể được thiết lập độ ưu tiên với giá trị trong khoảng từ 0 đến 7. Giá trị ưu tiên càng lớn thì sự quan trọng của đường hầm càng thấp ! Ví dụ, đường hầm có độ ưu tiên 3 thì quan trọng hơn đường hầm ưu tiên 5. Độ ưu tiên 0 là quan trọng nhất.

Để tránh nhầm lẫn người ta thường dùng thuật ngữ “tốt hơn” (better) và “tệ hơn” (worse) hơn thuật ngữ “cao hơn” (higher) và “thấp hơn” (lower). Cũng có thể dùng thuật ngữ “quan trọng hơn” (more important) và “ít quan trọng hơn” (less important).

Những cơ sở của sự ưu tiên (Preemption Basics):

Những đường hầm quan trọng hơn có quyền đẩy những đường hầm khác ra khỏi đường đi khi muốn dành riêng băng thông. Điều này được gọi là sự chiếm trước đường hầm (tunnel preemption).
Độ ưu tiên thiết lập và độ ưu tiên lưu giữ (Setup and Holding Priority):
Mỗi đường hầm có hai độ ưu tiên – Độ ưu tiên thiết lập (Setup priority) và độ ưu tiên lưu giữ (Hold priority). Chúng được xem như một độ ưu tiên nhưng cần phải tìm hiểu cơ chế làm việc và tại sao có hai độ ưu tiên thay vì một.

Cả hai độ ưu tiên được xác định chi tiết trong RFC 3209. Chúng được mô hình hóa sau độ ưu tiên dành trước (Preemption priority) và độ ưu tiên ủng hộ (Defending priority) trong RFC 2751. Khi một đường hầm được thiết lập lần đầu tiên ta quan tâm đến độ ưu tiên thiết lập của nó lúc quyết định công nhận đường hầm đó. Khi có đường hầm khác đến cạnh tranh băng thông trên liên kết với đường hầm đầu tiên này, độ ưu tiên thiết lập của đường hầm mới được so sánh với độ ưu tiên lưu giữ của đường hầm đầu tiên.

Độ ưu tiên thiết lập có thể khác với độ ưu tiên lưu giữ cho một vài ứng dụng thực tế. Ví dụ, một đường hầm có độ ưu tiên lưu giữ bằng 0, và độ ưu tiên thiết lập là 7. Đường hầm này có thể bị bất kỳ một đường hầm khác đẩy ra khỏi đường đi của nó để chiếm tài nguyên vì đường hầm có độ ưu tiên thiết lập thấp nhất (7). Nhưng ngay lúc nó được thiết lập thì không đường hầm nào khác có thể chiếm trước đường đi của nó do có độ ưu tiên lưu giữ cao nhất (0).

Chú ý, cùng một đường hầm thì độ ưu tiên thiết lập không được tốt hơn độ ưu tiên lưu giữ. Vì nếu hai đường hầm (giả sử là Tunnel1 và Tunnel2) đang tranh chấp cùng tài nguyên, và cả hai đều có độ ưu tiên thiết lập bằng 1 và độ ưu tiên lưu giữ bằng 7, điều gì xảy ra?

1) Tunnel1 đến đầu tiên và giữ băng thông với độ ưu tiên lưu giữ bằng 7.
2) Tunnel2 đến thứ hai và dùng độ ưu tiên thiết lập của nó (1) đẩy Tunnel1 ra để chiếm đường liên kết (link). Sau đó Tunnel2 giữ đường liên kết với độ ưu tiên lưu giữ bằng 7.
3) Tunnel1 đến và sử dụng độ ưu tiên thiết lập (1) đẩy Tunnel2 đi và chiếm đường liên kết. Tunnel2 giữ liên kết với độ ưu tiên lưu giữ bằng 7.
4) Tunnel2 đến và dùng độ ưu tiên thiết lập của nó (1) đẩy Tunnel1 ra để chiếm đường liên kết . Sau đó Tunnel2 giữ đường liên kết với độ ưu tiên lưu giữ bằng 7.
5) Trở lại bước 3) và lặp lại.

Các phiên bản Cisco IOS đều không cho phép cấu hình độ ưu tiên thiết lập thấp hơn độ ưu tiên lưu giữ trên cùng một đường hầm nên trong thực tế không xảy ra hiện tượng trên.

Tuy nhiên, trong thực tế hiếm khi độ ưu tiên thiết lập và độ ưu tiên lưu giữ khác nhau.

Cấu hình độ ưu tiên cho đường hầm (Configuring Tunnel Priority)
Việc cấu hình thì đơn giản. Cấu trúc lệnh :

tunnel mpls traffic-eng priority setup [holding]Nếu không chỉ định một độ ưu tiên lưu giữ thì ngầm định bằng với giá trị của độ ưu tiên thiết lập.

Độ ưu tiên ngầm định là 7 (cho cả hai độ ưu tiên thiết lập và lưu giữ)

Các cờ thuộc tính (Attribute Flags)

Một đặc tính khác của MPLS TE là các cờ thuộc tính. Một cờ thuộc tính là một ảnh bipmap 32-bit trên một kết nối có thể chứa 32 thuộc tính riêng biệt trên một kết nối. Lệnh trên kết nối như sau:


router(config-if)#mpls traffic-eng attribute-flags attributes (0x0-0xFFFFFFFF)Các thuộc tính (attributes) có thể từ 0x0 đến 0xFFFFFFFF. Nó đại diện một ảnh bitmap của 32 thuộc tính (bit), với giá trị của một thuộc tính là 0 hoặc 1. Ngầm định là 0x0, hay tất cả 32 thuộc tính trong ảnh bitmap là 0.
Bạn có thể tự quyết định cho những bit này. Ví dụ, quyết định giá trị cờ thuộc tính là 0x2 nghĩa là “Kết nối này được định tuyến qua một đường vệ tinh và do đó không phù hợp để đi qua những đường có độ trễ thấp (low-delay).” Trong trường hợp này bất kỳ kết nối nào qua vệ tinh sẽ được cấu hình như sau:


router(config-if)#mpls traffic-eng attribute-flags 0x2Trọng lượng quản trị (Administrative Weight)

Chi phí trên kết nối chia làm hai loại: chi phí điều khiển lưu lượng (TE cost) và chi phí của giao thức cổng nội (IGP cost). Cho phép tính toán đường đi TE thiết lập chi phí kết nối khác với đường đi ngắn nhất đầu tiên của giao thức IGP (IGP SPF).Chi phí TE ngầm định trên một kết nối bằng với chi phí IGP. Thay đổi chi phí TE khác với chi phí IGP bằng cách sử dụng lệnh sau:
router(config-if)#mpls traffic-eng administrative-weight (0-4294967295)
administrative-weight là lệnh dùng để thiết lập trọng lượng quản trị hay metric trên một giao tiếp. Lệnh này sử dụng cho hai trường hợp:

- Trường hợp 1: ghi đè metric được IGP quảng cáo nhưng chỉ trên những thông tin quảng cáo của TE.
- Trường hợp 2: là metric nhạy cảm (delay-sensitive metric) với độ trễ trên một cơ sở đường hầm (per-tunnel basis)

Trường hợp 1 được cả OSPF và IS-IS quan tâm, khi một kết nối được quảng cáo vào IGP nó kèm theo một metric của kết nối đó (link metric). Metric của kết nối trong IS-IS mặc định là 10, và có thể được cấu hình lại bằng lệnh per-interface commamd isis metric. Metric kết nốt ngầm định của OSPF bằng băng thông trên kết nối chia 108, và có thể được cấu hình bằng lệnh per-interface commamd ip ospf cost.

Nếu trọng lượng quản trị điều khiển lưu lượng mpls (mpls traffic-eng administrative-weight) chưa được cấu hình trên một giao tiếp, chi phí được quảng cáo trên thông báo điều khiển lưu lượng bằng với chi phí IGP cho kết nối đó. Tuy nhiên có một trường hợp bạn muốn thay đổi giá trị chi phí được quảng cáo trên kết nối cho TE. Điều hày hữu dụng trong các mạng có cả hai loại chuyển tiếp lưu lượng : IP và MPLS TE.
Việc cấu hình trọng lượng quản trị trên liên kết sẽ tạo nên sự khác biệt về độ trễ nhưng không thay đổi băng thông.

Điều kiện phân phối thông tin

Trong một mạng không sử dụng kỹ thuật lưu lượng MPLS, IGP làm tràn (flood) thông tin về một kết nối (link) trong ba trường hợp:

- Khi một kết nối hoạt động hay không (up or down)
- Khi một cấu hình của kết nối thay đổi (Ví dụ: thay đổi chi phí kết nối,…)
- Khi đến thời gian làm tràn thông tin IGP của bộ định tuyến một cách định kỳ.

Các loại bộ định thời được kết hợp với các hoạt động này. Sự khác biệt của chúng phụ thuộc vào giao thức IGP được sử dụng.

Tuy nhiên, Kỹ thuật lưu lượng MPLS thêm vào lý do khác để làm tràn thông tin – khi băng thông của kết nối thay đổi.

Khi các đường hầm được thiết lập (set up) và được điều khiển (turn down) qua các giao tiếp, lượng băng thông có sẵn trên giao tiếp bị thay đổi để dành riêng (reservation) cho một giao tiếp. Khi các đường hầm được thiết lập trên một giao tiếp, chúng yêu cầu băng thông, và lượng băng thông có sẵn (available bandwith) giảm xuống; khi các đường hầm được điều khiển xuống qua một giao tiếp cụ thể, lượng băng thông có sẵn tăng lên.

Nhưng khi nào một bộ định tuyến quảng cáo những thay đổi băng thông này?
Câu trả lời đầu tiên là “Khi nào có thay đổi xảy ra”. Nhưng nó có thể tạo nên sự tràn ngập rất lớn (tremendous amuont of flooding). Trong các mạng MPLS TE lớn có hàng nghìn đường hầm; việc tái làm tràn ngập (reflooding) khi có một đường hầm thay đổi giống như thêm hàng nghìn kết nối vào IGP. Việc tái làm tràn những thay đối TE không tệ như làm tràn một lượng kết nối IGP tương đương khi bạn không chạy SPF một cách đầy đủ ngay khi có thông tin trạng thái liên kết TE mới nhưng có thể vẫn có rất nhiều thông tin đang làm tràn trên mạng.

Có khả năng một lượng rất lớn thông tin làm tràn ngập chiếm hết băng thông trên mạng và các tài nguyên quan trọng trong CPU của bộ định tuyến.

Mặc khác, bạn muốn chắc rằng thông tin hình trạng mạng (topology information) được các bộ định tuyến quảng cáo nhằm mục đích cập nhật. Nếu tất cả băng thông trên một kết nối cụ thể được dành riêng, và điều này không quảng cáo sự tạm ngưng của mạng, lúc đó mạng ra khỏi sự đồng bộ đang có nên có thể làm cho thiết lập không thành công (setup lailures) và những bất lợi khác (suboptimalities). Vì thế bạn phải chú ý khi nào làm tràn những thông tin thay đổi. Có ba nguyên tắc của ngưỡng làm tràn (flooding threshold):

i. Làm tràn ngay những thay đổi quan trọng.
Khi các đường hầm đến và đi, các ngưỡng được kiểm tra để xem nếu có bất kỳ sự thay đổi nào đối với sự dành riêng qua một ngưỡng, và thông tin trạng thái liên kết TE sẽ được làm tràn khi cần thiết.

Chú ý băng thông thay đổi gây ra bởi sự dành riêng đường hầm như Bảng 3.1. Xác định những sự thay đổi băng thông (bandwidth change) dựa vào sự dành riêng sắp được tạo ra, và những thay đổi phủ định (negative change) dựa vào những sự dành riêng sắp được điều khiển xuống (torn down). Băng thông thừa nhận (Bandwidth consumed) là ngưỡng ngầm định được cấu hình cho kết nối, Bảng 2 liệt kê những thay đổi băng thông trên kết nối tại những thời điểm khác nhau. Cột làm tràn? (Flood?) cho biết những thay đổi nào đó có gây ra việc làm tràn hay không. Cột cuối hiển thị các ngưỡng theo mỗi hướng.

Bảng 3.1: Các ngưỡng làm tràn
http://usera.imagecave.com/wimax/MPLS/MPLS012.jpg

ii. Làn tràn những thay đổi không quan trọng một cách định kỳ, nhưng thường xuyên hơn khoảng thời gian làm tươi IGP.
Thời gian định kỳ ngầm định là 180 giây (3 phút). Nhưng có thể thay đổi bằng cách cấu hình sử dụng lệnh toàn cục sau:

gsr1(config)#mpls traffic-eng link-management timers periodic-flooding 0-3600
second intervalNhững thông tin này được làm tràn nếu băng thông có sẵn thay đổi và nó chưa được làm tràn. Công việc ngầm định là kiểm tra quản trị kết nối TE (TE link manager) mỗi 3 phút, nếu băng thông dành riêng có thay đổi trên bất kỳ kết nối nào thì làm tràn những thông tin mới về kết nối đó. Thông tin kỹ thuật lưu lượng MPLS không cần làm tràn định kỳ (3 phút) nếu không có sự thay đổi. Chỉ khi có những thay đổi trong vòng 3 phút thì được làm tràn. Chỉ làm tràn định kỳ những thông tin chưa được làm tràn (như một thay đổi băng thông không vượt qua ngưỡng làm tràn).

Cài đặt mpls traffic-eng link-management timers periodic-flooding bằng 0 làm vô hiệu việc làm tràn định kỳ. Nghĩa là thông tin băng thông được làm tràn chỉ theo nguyên tắc 1 và 3.

iii. Nếu một thay đổi chưa được làm tràn thì xem như gây ra một lỗi, phải làm tràn ngay:

RSVP gửi một lỗi khi một thiết lập đường đi không thành công do thiếu băng thông. Nếu một bộ định tuyến nhận một yêu cầu dành riêng băng thông nhiều hơn băng thông hiện có trên một kết nối cụ thể, băng thông kết nối có sẵn được thay đổi tại thời điểm làm tràn thông tin gần nhất vì thế bộ định tuyến nhận được sự tiếp nhận dành riêng để bộ định tuyến gửi sự dành riêng chứa những thông tin trong cơ sở dữ liệu cấu trúc mạng (topology database) của nó và thực hiện tái làm tràn (reflood).