Thiết lập QoS trên các phần tử mạng MPLS riêng biệt

Một phần của tài liệu Chuyển mạch nhãn đa giao thức (MPLS) và khả năng ứng dụng trong mạng thế hệ mới (NGN) của VNPT (Trang 42)

Các phần tử mạng ở đây bao gồm LSR và LSR biên (lối vào và lối ra). 2.3.1.1. Phân loại lƣu lƣợng thông qua các bit Exp

Nhƣ đã trình bày ở trên, do trƣờng Exp có 3 bit nên mặc dù chuẩn DiffServ cho phép tới 64 loại DSCP khác nhau tuy nhiên MPLS chỉ có thể hỗ trợ 8 loại DSCP khác nhau sử dụng trƣờng Exp, nhƣ vậy cần phải ánh xạ nhiều giá trị DSCP với một số lƣợng ít hơn giá trị Exp và MPLS đã sử dụng 3 bits Exp trong mào đầu MPLS giống nhƣ sử dụng các bits Ip Precedence hay DSCP CS bits.

Bảng 2.1: Ánh xạ từ DSCP Bits tới IP Precedence Bits

IP Precedence (Decimal) IP Precedence (Bits) DSCP (Decimal) DSCP (Bits) 0 000 0 000000 1 001 8 001000 2 010 16 010000 3 011 24 011000 4 100 32 100000 5 101 40 101000 6 110 48 110000 7 111 56 111000

Có 3 thao tác xảy ra khi gói tin IP đi vào và ra khỏi mạng MPLS.

 Thứ nhất, khi gói tin đƣợc đƣa vào mạng MPLS, nhãn đƣợc gán, gọi là ip – to – mpls hay thƣờng đƣợc viết là ip2mpls

 Thứ hai, các gói tin đã đƣợc gán một hoặc nhiều nhãn hoán đổi nhãn với nhau gọi là mpls – to – mpls hay thƣờng đƣợc viết là mpls2mpls

 Và cuối cùng, khi gói tin ra khỏi mạng mpls và tất cả các nhãn đƣợc bỏ, goi là mpls – to – ip hay thƣờng đƣợc viết là mpls2ip

Ip2mpls:

Hình 2.4. Thao tác gán nhãn vào gói tin IP

Khi gói tin đƣợc đƣa vào mạng MPLS, một hoặc nhiều nhãn đƣợc chèn vào dƣới gói tin IP, quá trình này đƣợc gọi là “ip2mpls push” vì nhãn đƣợc đẩy vào gói tin không có nhãn.

Đối với Router của cisco, khi nhãn đƣợc gán vào gói tin IP, nếu không thay đổi gì thì mặc định, các bits cao nhất của DSCP (Ip precedence bits) sẽ đƣợc sao chép sang trƣờng EXP của tất cả các nhãn đƣợc gán. Hình trên mô tả quá trình “ip2mpls push”.

mpls2mpls:

Khi gói tin đã có nhãn, giá trị Exp từ nhãn dƣới đƣợc sao chép lên nhãn mới đƣợc gán thêm, quá trình này gọi là “mpls2mpls path”.

Có 3 thao tác với “mpls2mpls path” là “PUSH”, “SWAP” và “POP” đƣợc mô tả nhƣ hình dƣới đây:

PUSH: Xảy ra khi một hoặc nhiều nhãn đƣợc gán thêm vào gói tin đã có

nhãn.

SWAP: Khi nhãn trên cùng của gói tin đƣợc hoán đổi với nhãn khác.

POP: Khi 1 hoặc nhiều nhãn đƣợc loại bỏ khỏi gói tin, nhƣng gói tin đó vẫn

phải còn ít nhất 1 nhãn.

mpls2ip:

Hình 2.6. Thao tác gỡ nhãn của gói tin mpls

Gói tin rời khỏi mạng MPLS, nhãn đƣợc loại bỏ, hình trên mô tả chi tiết quá trình này.

Exp và DSCP là hoàn toàn độc lập với nhau:

Trong phần trình bày trên có đề cập đến việc sao chép các bits từ mào đầu gói tin IP (Ip Precedence bits) tới Exp, tuy nhiên dƣới đây đề cập đến hai sự tƣơng tác giữa các bits Exp và Ip Precedence.

 Các Router (Cisco, juniper …) cho phép thiết lập giá trị Exp trên nhãn độc lập với giá trị Ip Precedence trong phần mào đầu gói tin Ip hay giá trị Exp mới đƣợc đặt ở nhãn dƣới.

 Trong hai trƣờng hợp “mpls2ip” và “mpls2mpls pop”, không có bất kỳ sự can thiệp nào tới gói tin ở lớp dƣới khi nhãn đƣợc loại bỏ.

Hai trƣờng hợp trên có nghĩa là nếu thiết lập giá trị Exp khác với giá trị IP Precedence trong gói tin IP hoặc thay đổi giá trị Exp tại nhãn trên cùng trong mạng MPLS thì những thay đổi này sẽ không đƣợc cập nhật xuống phía dƣới. Trong hình dƣới đây thể hiện hai trƣờng hợp “mpls2ip” và “mpls2mpls pop”.

Trên thực tế, có thể làm theo nhiều cách khác nhau, chi tiết sẽ đƣợc trình bày ở phần “Chế độ đƣờng hầm” (Tunnel mode)

PHB (Per-Hop Behaviors) trong hai trƣờng hợp ip2mpls và mpls2ip:

Một vấn đề đƣợc đặt ra là các gói tin đƣợc đối xử nhƣ thê nào nếu nhƣ nhãn ngoài cùng của gói tin có giá trị Exp khác với giá trị Exp hoặc Ip Precedence phía trong. Ví dụ nếu chèn thêm một nhãn có giá trị Exp=0 lên gói tin có Exp=3 (hoặc Ip Precedence = 3) thì gói tin đầu ra sẽ đƣợc xử lý nhƣ thế nào?, nó đƣợc xử lý PHB với giá trị Exp=0 hay với giá trị DSCP=24 (Ip Precedence=3), hãy cùng xem xét hình dƣới đây và phân tích để thấy rõ điều này. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.8. Chọn PHB cho gói tin ra

Hình trên đã chỉ ra rất rõ ràng, Router luôn luôn đối xử với các gói tin với giá trị Exp ngoài cùng, và vì vậy gói tin sẽ đƣợc đƣa tới PHB xử lý với giá trị EXP=0.

Trong một số trƣờng hợp, bạn muốn gói tin đƣợc đối xử theo nhãn đƣợc gỡ ra hoặc trong trƣờng hợp khác bạn lại muốn gói tin đƣợc đối xử theo giá trị EXP (trƣờng hợp mpls2mpls) hoặc DSCP (trong trƣờng hợp mpls2ip) sau khi đã gỡ nhãn ngoài cùng ra. Các trƣờng hợp này cũng sẽ đƣợc trình bày chi tiết trong phần tiếp theo. 2.3.1.2. Các chế độ thao tác với các bit Exp trong mạng MPLS

Trong phần này sẽ đƣa ra những lý do tại sao cần phải giám sát việc thi hành những hành vi khác nhau, cũng nhƣ cơ chế để chuẩn hóa những hành vi đó nhằm trả lời các câu hỏi nhƣ: Các gói tin đƣợc xếp hàng theo các chỉ tiêu nhƣ thế nào trong mạng MPLS và khi ra khỏi mạng?; trong hai trƣờng hợp mpls2mpls và mpls2ip thì PHB nào đƣợc gói tin kết quả lựa chọn.

Hiện tại, tập những hành vi đƣợc định nghĩa để đƣa ra các cơ chế điều khiển giá trị EXP trong những ngữ cảnh khác nhau, những cơ chế này đƣợc gọi là “các chế độ đƣờng hầm” (tunnel modes). Có 3 chế độ đƣờng hầm khác nhau là: Uniform, Short- Pipe và Pipe, cả 3 chế độ này đƣợc định nghĩa bởi IETF, trong RFC-3270.

Uniform Mode:

Trong chế độ này, bất kỳ sự thay đổi nào trong trƣờng Exp của nhãn trên cùng trong ngăn xếp nhãn cũng đƣợc lan truyền lên những nhãn bổ sung mới khi nhãn đƣợc thêm vào và lan truyền xuống những nhãn dƣới khi nhãn trên cùng đƣợc gỡ ra. Ý tƣởng ở đây là mạng với một vùng DiffServ, vì thế bất kỳ sự thay đổi nào của giá trị

Exp trên gói MPLS đang vận chuyển phải đƣợc ứng dụng vào mọi nhãn ở gói dƣới cũng nhƣ tới gói IP nằm bên dƣới.

Bảng 2.2: Các luật trong chế độ Uniform

PUSH SWAP POP

ip2mpls

Sao chép giá trị IP Precedence vào nhãn mới đƣợc gán

mpls2mpls

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép EXP trong nhãn đƣợc gỡ ra tới EXP trong nhãn phía tiếp dƣới

mpls2ip

Sao chép EXP trong nhãn đƣợc gỡ ra tới DSCP

Hình 2.9. Mô tả Exp trong chế độ Uniform

Short-Pipe Mode:

Sử dụng trong trƣờng hợp các ISP thiết lập các chính sách QoS của họ độc lập với chính sách QoS của khách hàng. Các bits Ip Precedence trong gói tin IP đƣợc lan truyền lên trên khi nhãn đƣợc thêm vào, khi nhãn đƣợc trao đổi, giá trị EXP đƣợc giữ lại, nếu giá trị EXP trên cùng bị thay đổi, sự thay đổi này chỉ lan truyền tới các EXP phía dƣới, chứ không ảnh hƣởng đến giá trị DSCP.

Bảng 2.3: Các luật của chế độ Short-Pipe

PUSH SWAP POP

ip2mpls

Sao chép giá trị IP Precedence vào nhãn mới đƣợc gán

mpls2mpls

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép EXP trong nhãn đƣợc gỡ ra tới EXP trong nhãn phía tiếp dƣới

PUSH SWAP POP (adsbygoogle = window.adsbygoogle || []).push({});

mpls2ip Không thay đổi DSCP,

chọn PHB trên cơ sở giá trị DSCP

Hình 2.10. Mô tả Exp trong chế độ Short-Pipe

Nhƣ vậy có thể thấy rằng, khác biệt duy nhât giữa hai chế độ Uniform và Short- Pipe là giá trị DSCP trong gói tin IP bị thay đổi trong chế độ Uniform còn trong chế độ Short-Pipe thì không.

Giả sử rằng chế độ Short-Pipe đƣợc trên kết nối giữa nhà cung cấp và khách hàng, nơi thao tác mpls2ip đƣợc xử lý, trong trƣờng hợp này gói tin ra khỏi mạng mpls sẽ đƣợc sắp xếp theo giá trị DSCP mà khách hàng đã gửi vào mạng mpls.

Pipe Mode:

Chế độ Pipe gần giống nhƣ chế độ Short-Pipe, ngoại trừ việc lựa chọn PHB trong thao tác mpls2ip trên cơ sở giá trị EXP đƣợc gỡ bỏ chứ không phải giá trị DSCP cuả gói tin IP, giá trị DSCP cũng không bị thay đổi khi gói tin IP rời mạng MPLS.

Bảng 2.4: Các luật của chế độ Pipe

PUSH SWAP POP

ip2mpls

Sao chép giá trị IP Precedence vào nhãn mới đƣợc gán

mpls2mpls

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép giá trị EXP nhận đƣợc vào trong EXP mới đƣợc áp đặt

Sao chép EXP trong nhãn đƣợc gỡ ra tới EXP nhãn tiếp dƣới

mpls2ip

Không đổi DSCP, chọn PHB trên cơ sở giá trị EXP của nhãn đƣợc bỏ

Hình 2.11. Mô tả Exp trong chế độ Pipe 2.3.1.3. Thiết lập hàng đợi trên các LSRs (Queuing)

Trong hai phần 2.3.1.1 và 2.3.1.2 đã trình bày về giá trị EXP dùng để phân lớp dịch vụ, cách thức gán giá trị cho EXP, các thao tác với EXP, cách thức lựa chọn PHB trên các phần tử mạng MPLS khác nhau từ khi gói tin bắt đầu vào đến khi gói tin ra khỏi mạng MPLS.

Sau khi gói tin MPLS đã đƣợc phân lớp dịch vụ dựa trên giá trị EXP, gói tin sẽ đƣợc định tuyến thông qua các chính sách (policing) và đƣợc xếp vào hàng đợi trƣớc khi chuyển đến LSR kế tiếp. Trong mục này sẽ trình bày về vấn đề hàng đợi trong mạng MPLS.

Hàng đợi có thể thực hiện bằng nhiều cách khác nhau, trên các nền tảng công nghệ khác nhau, tuy nhiên ý tƣởng tốt nhất là sử dụng giá trị MPLS EXP giống nhƣ giá trị IP precedence trong gói tin IP. Nhiều kỹ thuật xếp hàng đợi có thể đƣợc lựa chọn nhƣ:

 FIFO - First In First Out

 MDRR - Modified Deficit Round Robin

 CBWFQ - Class-Based Weighted Fair Queuing  LLQ - Low-Latency Queuing

FIFO (First In First Out):

Thƣờng đƣợc áp dụng ở hầu hết các mạng đơn giản, nó không đòi hỏi các khái niệm về quyền ƣu tiên hay phân lớp lƣu lƣợng, hầu hết các giao diện đều mặc định chế độ hàng đợi là FIFO.

MDRR (Modified Deficit Round Robin) và LLQ (Low Latency Queuing):

MDRR đƣợc cấu hình nhƣ là một chiến lƣợc hàng đợi, hàng đợi không rỗng đƣợc phục vụ trƣớc, sau đó đến những hàng đợi khác, mỗi lần một hàng đợi đƣợc phục vụ, một lƣợng dữ liệu nhất định đƣợc chuyển ra khỏi hàng đợi, sau đó sẽ phục vụ các hàng đợi tiếp theo. Khi một hàng đợi đƣợc phục vụ, MDRR sẽ lƣu lại số lƣợng bytes đã đƣợc chuyển ra khỏi hàng đợi mà vƣợt quá số lƣợng đã cấu hình, trong lần phục vụ

kế tiếp, một số lƣợng ít dữ liệu hơn đƣợc ra khỏi hàng đợi để bù lại số lƣợng đã vƣợt quá trong lần phục vụ trƣớc, kết quả là trung bình các giá trị ra khỏi hàng đợi sẽ gần với giá trị đã cấu hình.

Mỗi hàng đợi trong MDRR đƣợc định nghĩa bởi hai biến. (adsbygoogle = window.adsbygoogle || []).push({});

 Giá trị Quantum: Trung bình số lƣợng bytes phục vụ mỗi lần (hay mỗi vòng).

 Bộ đếm số lƣợng bù: Đƣợc sử dụng để theo dõi xem có bao nhiêu bytes đã đƣợc hàng đợi chuyển trong mỗi lần phục vụ, giá trị khởi tạo của nó là giá trị Quantum.

Các gói tin trong hàng đợi chỉ đƣợc phục vụ khi bộ đếm số lƣợng bù lớn hơn 0, mỗi gói tin đƣợc phục vụ sẽ làm giảm giá trị của bộ đếm, sau mỗi lần phục vụ, bộ đếm của các hàng đợi không rỗng sẽ đƣợc tăng một lƣợng giá trị bằng giá trị Quantum.

Thông thƣờng giá trị Quantum này thƣờng lớn hơn hoặc bằng giá trị MTU (Maximum Transmission Unit) trên các giao diện của Router, điều này sẽ đảm bảo luôn luôn phục vụ ít nhất 1 gói tin từ các hàng đợi không rỗng trong mỗi vòng.

Mỗi hàng đợi MDRR đƣợc gán một trọng số (weight), giá trị trọng số này sẽ đƣợc gán cho mỗi hàng đợi khi giao diện bị nghẽn, thuật toán MDRR sẽ chuyển dữ liệu ra khỏi hàng đợi nếu có dữ liệu đƣợc gửi đi.

Trong trƣờng hợp tất cả các hàng đợi đều có dữ liệu thì chúng đƣợc phục vụ theo thứ tự sau:

0-1-2-3-4-5-6-0-1-2-3-4-5-6-…

Hàng đợi ƣu tiên MDRR: Bên trong MDRR có sử dụng các loại hàng đợi ƣu tiên PQ (Priority Queue), LLQ (Low Latency Queue) cung cấp cơ chế giảm độ trễ và jitter.

Trong hàng đợi ƣu tiên có hai chế độ là Alternate và Strict:

Alternate: Điều khiển độ chế và jitter kém chặt chẽ, nếu có 01 hàng đợi dữ liệu

đến và sau đó 01 hàng đợi VoIP đến PQ, MDRR chuyển dữ liệu trong hàng đợi không ƣu tiên đến khi bộ đếm về 0, trong suốt thời gian đó PQ không đƣợc phục vụ và gói tin VoIP bị trễ.

Strict: Trong trƣờng hợp trên, MDRR phục vụ nốt hàng đợi không ƣu tiên hiện

tại và chuyển qua PQ, phục vu đến khi PQ rỗng hoàn toàn.

Một điều quan trọng trong chế độ Alternate là PQ đƣợc phục vụ nhiều hơn 1 lần trong một vòng và vì thế chuyển nhiều băng thông hơn các hàng đợi khác có cùng trọng số Weight. Ví dụ, với 3 hàng đợi, số lần LLQ đƣợc phục vụ gấp đôi so với các hàng đợi khác và trọng số weight gấp đôi, còn nếu số hàng đợi là 8 thì LLQ sẽ đƣợc phục vụ hơn 7 lần so với các hàng đợi khác và trọng số weight cũng tăng lên 7 lần, vì vậy, băng thông sẽ đƣợc phục vụ nhiều hơn.

Ví dụ: giả sử có 4 hàng đợi: 0,1,2 và llq, trong chế độ alternate, nếu tất cả các hàng đợi đều đầy, nó sẽ phục vụ nhƣ sau: 0, llq, 1, llq, 2, llq, 3, llq, 0, llq, 1…

Trong mỗi lần phục vụ, LLQ có thể gửi trọng số weight, vì vậy băng thông nhỏ nhất của LLQ có thể đƣợc tính theo công thức sau:

D=BW * n * WL / (n * WL + Sum(W0,Wn)).

 WL = Trọng số của LLQ

 W0, W1, ... Wn = Trọng số của các hàng đợi khác  n = Số lƣợng hàng đợi cho giao diện (không tính LLQ)  BW = Băng thông của giao diện

Trọng số weight ảnh hƣởng đến số lƣợng băng thông gửi cùng một lƣợt, nếu trọng số này lớn, nghĩa là chu kỳ sẽ lớn hơn và thời gian trễ cũng tăng lên.

Ví dụ một trường hợp sử dụng MDRR:

Giả sử có 3 hàng đợi nhƣ sau:

 Queue 0: Quantum = 1500 bytes, là LLQ, cấu hình chế độ alternate.  Queue 1: Quantum = 3000 bytes.

 Queue 2: Quantum= 1500 bytes. Trạng thái MDRR:

Queue 0 đƣợc phục vụ đầu tiên, giá trị quantum của nó (1500) đƣợc thêm vào bộ đếm, gói tin đầu tiên (250 bytes) đƣợc truyền, bộ đếm là: 1500 – 250 = 1250 >0, gói tin thứ 2 đƣợc truyền đi, bộ đếm là: 1250 – 1500= -250 <0, vì vậy Queue 1 đƣợc đƣa vào phục vụ.

Trạng thái MDRR:

Queue 1 đặt giá trị bộ đếm = 3000, gói tin thứ 4 và 5 đƣợc truyền đi và lúc này bộ đếm của nó là: 3000 – 1500 -1500 =0.

Do đang ở chế độ Alternate PQ nên Queue 0 đƣợc đƣa vào phục vụ, đặt lại giá trị của bộ đếm là: -250 + 1500 =1250 >0, gói tin thứ 3 đƣợc truyền đi, do bộ đếm >0, Queue 0 rỗng nên giá trị bộ đếm đƣợc đặt lại là: 0.

Trạng thái MDRR:

Queue 2 đƣợc đƣa vào phục vụ, bộ đếm đƣợc là: 1500, gói tin 7,8,9,10 đƣợc truyền đi, bộ đếm là: 1500-4* 250=500 >0 nên gói tin thứ 11 cũng đƣợc truyền đi, queue 2 rỗng, bộ đếm đƣợc đặt lại là: 0, (adsbygoogle = window.adsbygoogle || []).push({});

Trạng thái MDRR:

Queue 0 đƣợc đƣa vào phục vụ, tuy nhiên do nó rỗng nên Queue 1 đƣợc đƣa vào phục vụ, gói tin 6 đƣợc truyền đi.

CBWFQ (Class-Based Weighted Fair Queuing) và LLQ (Low Latency

Queuing):

CBWFQ mở rộng chức năng của WFQ cung cấp phƣơng thức định nghĩa các lớp lƣu lƣợng dựa trên các tiêu chuẩn phù hợp bao gồm loại giao thức, các danh sách điều

Một phần của tài liệu Chuyển mạch nhãn đa giao thức (MPLS) và khả năng ứng dụng trong mạng thế hệ mới (NGN) của VNPT (Trang 42)