Mô hình dịch vụ tích hợp căn cứ vào mục tiêu làm tăng thêm khả năng đáp ứng cho mô hình dịch vụ thƣờng đƣợc cung cấp bởi mạng ít IP. Có hai loại dịch vụ đƣợc định nghĩa trong mô hình dịch vụ mạng tích hợp. Dịch vụ đƣợc đảm bảo Inserv đƣợc dùng để cung cấp những ứng dụng thời gian thực, những ứng dụng này có các yêu cầu nghiêm ngặt về băng tần và độ trễ. Dịch vụ tải đƣợc kiểm soát Inserv đƣợc dùng để dung cấp các ứng dụng truyền thống. Tiêu chuẩn chính của những ứng dụng này là đạt đƣợc mức độ hiệu quả nhất định trong bất kỳ điều kiện mạng nhƣ thế nào. IntServ là kiến trúc yêu cầu xử lý lƣu lƣợng tại tất cả các hop của ứng dụng từ điểm đầu đến điểm cuối và việc báo hiệu các yêu cầu của dòng lƣu lƣợng sử dụng giao thức báo hiệu
nhƣ RSVP. Intserv có có một chút sự không ổn định là do các vấn đề không ổn định của giao thức báo hiệu chuẩn RSVP. Do đó đƣa ra những kiến trúc dịch vụ phân biết . 2.2.3.2. Các dịch vụ phân biệt (DiffServ)
Các dịch vụ phân biệt (Diffserv) dựa trên kiến trúc mà nó cố gắng thực hiện những quyết định phức tạp đối với biên và thực hiện các chu trình sắp xếp, hủy gói tin tại trong lõi mạng. Do đó sẽ xử lý tải ít hơn trong router core nên hoạt động nhanh hơn vì ít phải xử lý tín hiệu và lƣu trữ.
Trong DiffServ một dịch vụ DiffServ là sự thảo thuận mức dịch vụ - SLA (Service Level Agreement) giữa nhà cung cấp với khách hàng hay giữa các nhà cung cấp với nhau.
Một dịch vụ DiffServ đƣợc định nghĩa theo các thông số mà khách hàng đƣợc hiểu nhƣ thỏa thuận điều hòa lƣu lƣợng (TCA - Traffic Conditioning Agreement) bao gồm các thuộc tính lƣu lƣợng, tiêu chuẩn dịch vụ (thông lƣợng, trễ, rớt gói), cách xử lý gói và sửa dạng lƣu lƣợng.
Tùy theo SLA mà nhà cung cấp sẽ thiết kế mạng phù hợp với yêu cầu của khách hàng. Các gói tin đƣợc Router kiểm tra giá trị DSCP (Diffirentiated Services Code Point) và thực hiện phân lớp bởi bộ phân lớp tập hợp hành vi (BA - Behavior Aggregation). Các gói tin có cùng giá trị DSCP sẽ đƣợc phân lớp, tập hợp lại và chuyển đi theo cùng một hƣớng.
Mỗi phân lớp sẽ đƣợc xử lý cố định cho mỗi lớp dịch vụ tại mỗi HOP tƣơng ứng với yêu cầu QoS của chúng (đƣợc gọi là PHB - Per Hop Behavior). PHB bao gồm các cơ chế và thủ tục hàng đợi, lập lịch và đánh rớt gói tin.
DiffServ sử dụng trƣờng kiểu dịch vụ (ToS - Type of Sevice) trong từ mào đầu của IPv4 và trƣờng lớp dịch vụ (TC - Traffic Class) trong từ mào đầu của IPv6 để đánh dấu các gói tin. 8 bit trong ToS và TC đƣợc định nghĩa lại nhƣ một trƣờng DS. Trong 8 bit này thì chỉ có 6 bit đƣợc sử dụng cho việc đánh dấu các gói tin DiffServ, 2 bit còn lại sử dụng dự phòng cho phát triển trong tƣơng lai.
Về mặt lý thuyết DSCP bao gồm 6 bit nhƣ vậy có thể tạo ra 64 lớp dịch vụ. Tuy nhiên trong thực tế chỉ một số lớp dịch vụ đƣợc triển khai. Ngƣời ta thƣờng sử dụng 3 bit đầu (ứng với trọng số lớn nhất trong trƣờng ToS hoặc TC) để ánh xạ đến trƣờng DSCP. 3 bit còn lại nhận giá trị 0.
2.2.4. Định tuyến dựa trên policy
Định tuyến dựa vào policy (Policy Based Routing - PBR) không nằm trong các giao thức định tuyến truyền thống. Nó thực hiện định tuyến các gói tin theo yêu cầu của nhà cung cấp dịch vụ. Các nhà cung cấp dịch vụ mạng có thể định tuyến lựa chọn các gói tin khác nhau trên các đƣờng khác nhau cho từng khách hàng bằng cách dùng giao thức định tuyến dựa trên policy.
Trong các phần trên đã trình bày những kiến trúc chung về QoS, các cơ chế, chính sách để đảm bảo chất lƣợng dịch vụ trong mạng IP. Tuy nhiên, khi công nghệ MPLS đƣợc áp dụng, việc phân loại các gói tin MPLS chỉ có thể dựa vào trƣờng Exp (hay CoS – Class Of Service) trong mào đầu (header) của nhãn, và phải là nhãn ở trên cùng, không có bất kỳ thao tác nào đƣợc thực hiện tới phần mào đầu IP khi gói tin còn ở trong mạng MPLS.
Mục này sẽ mô tả về kiến trúc QoS dựa trên MPLS và tập trung vào vấn đề làm thế nào báo hiệu MPLS đáp ứng đƣợc các mức yêu cầu của dịch vụ. Báo hiệu MPLS đạt đƣợc điều này thông qua các chính sách (policy), điều khiển lƣu lƣợng và các thành phần quản lý mạng.
2.3.1. Thiết lập QoS trên các phần tử mạng MPLS riêng biệt
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.
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
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.
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