Hàng đợi RED cho Diffserv

Một phần của tài liệu Bài tiểu luận môn hoc IP ứng dụng và bảo mật giới thiệu công cụ ns (Trang 59)

7. Trễ và các tuyến liên kết

8.2.1Hàng đợi RED cho Diffserv

Trong ns, các chức năng của Diffserv nhận được trong phần tử Queue mà nó thực hiện như là sự lựa chọn từ các loại hàng đợi DropTail, CBQ, and RED. Một hành đợi Diffserv (dsREDQueue thừa kế từ lớp Queue cơ sở, xem trong dsred.{h,cc}) bao gồm các khả năng sau:

- thực hiện nhiều hàng đợi RED vật lý trong cùng một tuyết kết nối đơn.

- Thực hiện nhiều các hàng đợi ảo trog một hàng đơi vật lý với việc thiết lập các đặc tính riêng cho m[ix hàng đợi ảo.

- Quyết định một gói trong tuyến vật lý và hàng đợi ảo nào được xếp vào hàng, tùy thuộc policy được xác lập.

Lớp dsREDQueue bao gồm 4 hàng đợi RED vật lý (được định nghĩa như numQueues_), môĩi hàng lại bao gồm 3 hàng đợi ảo ( được định nghĩa như numPrec) có liên quan đến mức độ ưu tiên. Mỗi một hàng đợi vật lý tương ứng với một lớp lưu

Hàng đợi RED vật lý được định nghĩa trong lớp redQueue(xem dsredq.{h,cc}). Lớp redQueue cho phép sự khác nhau về lưu lượng bằng cách xác lập các hàng đợi RED ảo, mỗi hàng đợi RED có đặc tính cấu hình và trạng thái riêng biệt. Chẳng hạn, độ dài của mỗi hàng đợi ảo chỉ được tính toán bằng các gói được ghép vào trong hàng đợi. Bởi vậy, việc quyết định loại bỏ gói có thể được áp dụng trên đặc tính cấu hình và trạng thái của hàng đợi ảo.

Lớp redQueue là không tương đương với lớp REDQueue đã được giới thiệu trong ns. Thay vào đó nó là một phiên bản của lớp REDQueue bao gồm các khía niệm của các hàng đợi ảo. Lớp redQueue chỉ tồn tại bên trong lớp dsREDQueue. Tất cả các thao tác của người sửm dụng với lớp redQueue được thực hiện thông qua lệnh giao tiếp của lớp dsREDQueue.

Lớp dsREDQueue bao gồm cấu trức dữ liệu được biết như bảng PHB (qua cách chuyển bảng). Thiết bị cạnh đánh giấu các gói với mã con trỏ và mã thiết bị đơn giản ứng với mã con trỏ đã tồn tại. Tuy nhiên, cả 2 thiết bị cần được quyết định ghép các mã con trỏ cho một hànhg đợi cụ thể và mức độ ưu tiên. Bảng PHB điều khiển việc ghép này bằng việc xác định một hàng với 3 thư mục:

struct phbParam {

int codePt_; // corresponding code point int queue_; // physical queue

int prec_; // virtual queue (drop precedence) };

9.2.2 Core và edge routers.

Diffserv edge và core routers được định nghĩa trong edgeQueue và lớp coreQueue, cả 2 đều được thừa kế từ lớp dsREDQueue, xem dsEdge,dsCore.{h,cc}.

9.2.3 Policy

Lớp Policy (được định nghĩa như dsPolicy.{cc, h}) được sử dụng trong lớp edgeQueue để điều khiển tất các các chức năng policy.

Một policy được thiết lập giữa một nguồn và đích đến. Tất cả các luồng được thiết lập từ nguồn tới đích theo từng đôi được coi như là nguồn lưu lượng đơn. Mỗi một polycy thiết lập một kiểu chính sách, một tốc độ mong muốn, và các đặc tính định hướng riêng. Tối thiểu mỗi policy thiết lập 2 mã con trỏ và chọn một tùy thuộc vào việc so giựa tốc độ mong muốn và tốc tốc độ gửi hiện tại.

Mỗi một nguồn lưu lượng có một kiểu chính sách kết hợp, kiểu đo và mã con trỏ ban đầu. Kiểu đo đặc trưng cho phương pháp đánh giá các trạng thái cần của chính sách. Ví dụ TSW Tagger là một laọi đồng hồ dùng để đánh giá tốc độ lưu lượng trung bình , sử dụng các đặc tính cửa sổ thời gian.

Khi một gói đi đến một edge router, nó sẽ được đánh giá để quyết định xem nó thuộc vào nguồn nào. Đồng hồ đặc trưng cho nguồn đến để thiết lập lại tất cả các trạng thía của các biến. Sau khi chính sách được đưa ra để quyết định cách đánh dấu gói, tùy thuộc vào trạng thái các biến của nguồn, đặc tính ban đầu hoặc đặc tính đã giảm cấp của mã con trỏ sẽ được sử dụng; và gói sẽ được xếp vào hàng một cách tương ứng.

Lớp sử Policy sử dụng Policy Table để lưu trữ các chính sách cho mỗi nguồn lưu lượng, Bảng này là một các dãy bao gồm các flie cho nguồn và điểm đích, loại chính sách, loại đồng hồ, mã con trỏ ban đầu và các loại thông tin trạng thái khác. Lớp sử Policy sử dụng Policer Table để lưu trữ quastrinhf xắp xếp từ một loại chính sách và 2 mã con trỏ ban đầu để kết hợp với mã con trỏ giảm cấp. Chi tiết của phần này được mô tả trong dsPolicy.{cc, h}

Hiện tại có 6 kiểu chính sách khác nhau được định nghĩa bao gồm:

1. TSW2CM (TSW2CMPolicer): sử dụng một CIR và 2 mức độ ưu tiên. Mức ưu tiên thấp có khả năng được sử dụng khi mà CIR vượt ngưỡng

2. TSW3CM (TSW3CMPolicer): sử dụng một CIR, một PIR, và 3 mức độ ưu tiên . Mức ưu tiên trung bình được sử dụng khi CIR vượt ngưỡng và mức ưu tiên thấp nhất được sử dụng khi PIR vượt ngưỡng.

3. Token Bucket (tokenBucketPolicer): sử dụng một CIR và một CBS cùng 2 mức ưu tiên . Một gói đến được đánh dấu với mức độ ưu tiên thấp nếu và chỉ nếu nó lớn hơn token bucket.

4. Một tốc độ đánh dấu 3 mầu (srTCMPolicer): sử dụng một CIR, CBS, và một EBS để chọn chọn từ 3 mức độ ưu tiên.

5. Hai tốc độ đánh dấu 3 mầu (trTCMPolicer): sử dụng một CIR, CBS, PIR và một EBS để chọn chọn từ 3 mức độ ưu tiên.

Một tham chiếu tới lớp PolicyClassifier được lớp edgeQueue sử dụng để đưa ra các chính sách khác nhau. Mỗi một chính sách được định nghĩa là một lớp con và được thừa kế từ lớp dsPolicy.Phương pháp applyMeter và applyPolicer cần được xác định cho mỗi chính sách. Các chính sách do người sử dụng xác lập cũng có thể được đưa vào theo các tương tự. Xem chi tiết trong dsPolicy.{cc, h}.

Một phần của tài liệu Bài tiểu luận môn hoc IP ứng dụng và bảo mật giới thiệu công cụ ns (Trang 59)