• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Các khái niệm và cấu hình khống chế lưu lượng policing

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Các khái niệm và cấu hình khống chế lưu lượng policing

    Các khái niệm và cấu hình khống chế lưu lượng policing

    Công cụ khống chế lưu lượng Class-Based Policing (CB Policing) thực hiện các xử lý bên trong khác với giải pháp cũ trước đây là giải pháp dùng CAR (Committed Access Rate). Phần này sẽ tập trung vào cơ chế khống chế lưu lượng CB Policing.

    Các khái niệm khống chế lưu lượng policing

    Cơ chế CB Policing có thể được áp dụng cho các gói tin đang đi vào hoặc đi ra trên một cổng, hoặc cho các lưu lượng vào và ra trên một subinterface của router. Cơ chế này sẽ giám sát hoặc đo tốc độ truyền các gói tin. Khi một gói tin vượt quá tốc độ truyền bị khống chế, router sẽ có hành động tương ứng với gói tin đó.

    Hành động tích cực nhất sẽ là loại bỏ gói tin. Một hành động khác nữa là chỉ đánh dấu một trường trong gói tin. Hành động thứ hai vẫn cho phép các gói tin đi qua nhưng nếu có nghẽn xảy ra, gói tin này có thể bị loại bỏ trong hành trình của nó về sau.

    Bảng dưới đây liệt kê một số từ khoá cho những hành động có thể


    Cơ chế CB Policing phân loại các gói tin thành hai hoặc ba nhóm, tùy thuộc vào chính sách cho từng nhóm. Sẽ có một nhóm lưu lượng trong trạng thái tuân thủ (conform) một nhóm lưu lượng trong trạng thái vượt quá (exceeding) và một nhóm trong trạng thái vi phạm (violating). Thuật toán hoạt động của CB policing mô tả khi nào gói tin được đặt trong một trạng thái đặc biệt sẽ tuỳ thuộc vào chính sách do người quản trị cấu hình. Các phần kế tiếp sẽ liệt kê ra các thuật toán hoạt động của CB Policing.

    Cơ chế một tốc độ khống chế, hai trạng thái (Single-Rate, Two-Color Policing One Bucket)

    Cơ chế này dùng một tốc độ khống chế mà không có dùng Be. Đây là dạng đơn giản nhất của công cụ CB Policing. Cơ chế này chỉ dùng hai nhóm lưu lượng (confirm và exceed), định nghĩa các hành động khác nhau trên các gói tin của từng loại. Thông thường, hành động khi gói tin trong giới hạn (confirm action) là router sẽ truyền gói tin, còn hành động khi gói tin vượt quá giới hạn (exceed action) là router sẽ loại bỏ hay đánh dấu độ ưu tiên của gói tin thấp xuống.

    Kiểu thuật toán này thường được gọi là cơ chế khống chế một tốc độ, hai trạng thái. Nó thỉnh thoảng còn được gọi là single bucket, two color bởi vì cơ chế này chỉ dùng một bucket duy nhất để xử lý bên trong router.

    Cơ chế policing cũng sử dụng công cụ token buckets trong hoạt động của nó giống như trong CB shaping. Các token sẽ được đưa vào bucket sau đó router sẽ dùng các token này để truyền dữ liệu. Cùng với thời gian, router sẽ lấp đầy bucket theo tốc độ khống chế.

    Ví dụ, việc khống chế lưu lượng ở mức 96 kbps trong khoảng thời gian một giây sẽ cần thêm vào 12000 token vào trong bucket vì một token tượng trưng cho quyền để truyền một byte dữ liệu. 12000 tokens tương đương với 96000 bit dữ liệu.

    Cơ chế CB policing không có lấp đầy bucket trong khoảng thời gian một chu kỳ. Thay vào đó, CB policing sẽ phản ứng lại khi có một gói tin đến bằng cách thêm vào một số token xác định trước trong bucket.

    Số token được định nghĩa theo công thức sau:

    Police-rate*(Thời gian đến của gói tin hiện hành - Thời gian đến của gói tin trước đó)/8.

    Lưu ý rằng một token tượng trưng cho quyền để gửi một byte. Vì vậy công thức trên bao gồm việc chia cho 8 để chuyển công thức về bytes thay vì là bits. Ý tưởng đằng sau của công thức thì đơn giản. Một cách cơ bản, mỗi khi có một gói tin bị khống chế, sẽ chỉ có một số lượng nhỏ các token được thêm vào. Kết quả cuối cùng là các token sẽ được cung cấp vào trong bucket chỉ ở tốc độ khống chế.

    Ví dụ, cho một tốc độ khống chế là 128kbps, router sẽ phải thêm vào 16000 token mỗi giây. Nếu một giây đã trôi qua kể từ gói tin trước đó đến, router sẽ thêm vào 16000 token trong bucket. Nếu 0.1 giây đã trôi qua kể từ khi gói tin trước đó đến, CB policing sẽ thêm vào một số lượng là 1600 tokens. Nếu đã có 0.01 giây trôi qua, router sẽ thêm vào 160 token ở thời điểm đó.

    Router sau đó sẽ xem xét là nó có nên nhóm các gói tin mới đến như là tuân theo hay vượt quá tốc độ thoả thuận trong hợp đồng. Router so sánh số bytes trong gói tin (tượng trưng bằng biến Xp trong đó p nghĩa là packet) với số token hiện có trong bucket (tượng trưng bằng biến Xb trong đó b là bucket). Bảng dưới đây mô tả thuật toán ra quyết định cùng với việc router có gửi hoặc xóa các token ra khỏi bucket.


    Khi tốc độ truyền tổng thể không vượt quá tốc độ giới hạn, các gói tin sẽ trong trạng thái tuân thủ conform. Tuy nhiên nếu tốc độ giới hạn bị vượt quá, các token sẽ bị xóa ra khỏi bucket cho từng gói tin trong trạng thái conform. Cùng với thời gian, các tokens sẽ được thêm vào bucket vì vậy vài gói tin sẽ vào lại trạng thái conform. Khi tốc độ truyền thấp hơn tốc độ khống chế, tất cả các gói tin sẽ vào trạng thái confrom.

    Cơ chế một tốc độ, ba trạng thái, hai bucket.

    Khi bạn muốn router khống chế tốc độ truyền ở một mức nào đó nhưng vẫn hỗ trợ Be, router sẽ dùng cơ chế hai token bucket. Cơ chế này sẽ dùng cả ba trạng thái gói tin là conform, exceed và violate. Kết hợp các khái niệm này lại, chính sách này thường được gọi là cơ chế một tốc độ, ba trạng thái single-rate, three-color policing.

    Như trước đây, cơ chế CB Policing sẽ lấp đầy bucket khi có gói tin đến. Trong phần này, bucket đầu tiên gọi là Bc bucket vì bucket này có kích thước là Bc. Bucket thứ hai là Be bucket vì nó có kích thước Be. Cơ chế CB Policing sẽ lấp đầy Bc bucket giống như mô hình một bucket trước đây. Tuy nhiên nếu Bc bucket có bất kỳ token nào còn lại bên trong, một số token mới sẽ trượt qua bucket này. Các token bị trượt qua sẽ lấp đầy Be bucket.

    Hình dưới đây mô tả tiến trình này:


    Sau khi đổ vào các token, router sẽ xác định các gói tin mới đến thuộc vào nhóm nào như hiển thị trong bảng dưới đây. Trong trường hợp, Xbc là số token trong Bc bucket và Xbe là số token trong Be bucket. Nếu kích thước gói tin nhỏ hơn số token trong Bc bucket, gói tin sẽ được truyền bằng cách lấy ra Xp token từ Bc bucket.
    Nếu kích thước gói tin lớn hơn số token trong Bc bucket, lúc này gói tin được gọi là không conform; khi đó, router sẽ so sánh kích thước của gói tin với số lượng token có trong Be bucket. Nếu kích thước (tính bằng bytes) của gói tin cần truyền là nhỏ hơn hoặc số token hiện có trong bucket Be, trạng thái này gọi là exceed.

    Vậy, trạng thái exceed của một gói tin sẽ là khi gói tin đó không conform nhưng kích thước gói tin vẫn nhỏ hơn số lượng token trong Be. Trong trạng thái exceed này, để truyền gói tin, router sẽ lấy ra Xp token từ Be bucket. Nếu số lượng token trong Be bucket không đủ để truyền gói tin, trạng thái này gọi là violate. Vậy trạng thái violate nghĩa là gói tin không phải trong trạng thái conform và cũng không trong trạng thái exceed. Nếu trong trạng thái violate, gói tin sẽ bị loại bỏ.


    Hai tốc độ khống chế, ba trạng thái Two-Rate, Three-Color Policer (Two Buckets)

    Tùy chọn thứ ba của CB Policing là dùng hai tốc độ khống chế riêng biệt. Tốc độ thấp hơn là tốc độ CIR và tốc độ cao hơn gọi là tốc độ đỉnh peak information rate (PIR).

    Các gói tin nằm dưới mức CIR sẽ trong trạng thái tuân thủ conform. Các gói tin vượt qua mức CIR nhưng dưới mức PIR được gọi là vượt quá exceed. Cuối cùng các gói tin vượt qua mức PIR được gọi là vi phạm violate.

    Sự khác nhau giữa cơ chế một tốc độ và cơ chế hai tốc độ là cơ chế hai tốc độ sẽ cho phép duy trì Be. Trong cơ chế một tốc độ, ba trạng thái, có tồn tại Be nhưng trạng thái bùng nổ chỉ được duy trì cho đến khi Be bucket là trống. Nếu còn token trong Be bucket thì trạng thái bùng nổ có thể được duy trì. Để Be bucket có thể được lấp đầy các token, router phải ở trong một khoảng thời gian hoạt động tương đối thấp.

    Với cơ chế hai tốc độ, việc lấp đầy Be bucket sẽ không dựa vào việc tràn qua Bc bucket. Chú ý là các bucket này thỉng thoảng được gọi là CIR và PIR với cơ chế hai tốc độ.


    Cơ chế lấp đầy của hai bucket dựa trên hai tốc độ khác nhau là rất quan trọng. Ví dụ, giả sử bạn gán giá trị CIR bằng 128 kbps (16 kilobytes/giây) và PIR bằng 256 kbps (32 kBps). Nếu trong vòng 0.1 giây đã trôi qua trước khi gói tin kế tiếp đến thì CIR sẽ bổ sung 1600 tokens (số token tương đương 1/10 giây, tính bằng bytes) trong khi PIR bucket sẽ bổ sung thêm 3200 tokens. Vì vậy, trong PIR bucket có nhiều token để dùng hơn so với CIR bucket.

    Kế tiếp, router sẽ nhóm các gói tin này lại. Sự khác biệt về mặt thuật toán sẽ được tóm tắt trong bảng sau, đặc biệt xem phần các tokens được sử dụng như thế nào.


    Bảng trên có chỉ ra một số chi tiết, nhưng cơ chế hoạt động bên dưới có thể không thấy rõ ràng. Thật ra, bằng cách lấp đầy bucket Be dựa trên chỉ số PIR cao hơn nhưng cơ chế này cũng lấy ra một số token từ Be cho những gói tin nào trong trạng thái conform, tức là thấp hơn CIR. Bucket Be có các token tượng trưng cho sự khác nhau giữa hai tốc độ.
    Last edited by danghoangkhanh; 04-10-2007, 09:32 AM.
    Đặng Hoàng Khánh
    Email: danghoangkhanh@vnpro.org
    ---------------------------
    VnPro - Cisco Authorised Training
    Discuss about Networking, especially Cisco technology: http://vnpro.org
    Discuss about Wireless: http://wifipro.org or http://wimaxpro.org
Working...
X