Tất cả các lớp lưu lượng đều có hạn chế nhất định tới phương thức thời gian cho phép của nó - một hạn chế trong đó là các gói có thể đến nhanh tới mức nào hoặc số gói có thể đến trong một khoảng thời gian đặc biệt (thỉnh thoảng được xem như một hồ sơ lưu lượng
“traffic profile” ). Kiểm soát và đánh dấu có quan hệ đóng được thực hiện bởi một router, khi nó quyết định một gói ở bên ngoài giới hạn được thiết kế cho lớp lưu lượng mà trong đó gói là một phần tử. Kiểm soát là môt biện pháp mạnh, các gói tin ngoài hồ sơ sẽ dễ dàng bị loại. Đánh dấu là một quan hệ mềm hơn – các gói ngoài hồ sơ được đánh dấu bằng cách làm giảm một hoặc nhiều bit tiêu đề thay vì loại bỏ. Và chuyển qua hàng đợi và tầng lập lịch đầu ra của router.
Chú ý: Các bit hiện tại được sử dụng để mang một dấu hiệu phụ thuộc vào sơ đồ phân loại các gói đặc biệt trong sử dụng.
Một chức năng liên quan đó là định hướng lưu lượng, mà việc làm giảm đặc trưng thời gian của một lớp lưu lượng bởi lựa chọn trì hoãn chuyển tiếp gói.
4.3.1 Metering
Lập chính sách và đánh dấu chia sẻ một thành phần chung, một chức năng đo để xác định mỗi gói là “in profile” hay “out of profile”. Một ví dụ đơn giản là bộ đo token bucket cổ điển. Các token được thêm vào một bucket với tốc độ cố định X (số token trên một giây) và được loại bỏ khỏi bucket bất cứ khi nào một gói đến. Mỗi bucket có một chiều sâu hạn chế, nó không bao giờ chứa quá Y token, minh hoạ hình 4.6.
Khi có một gói đến ít nhất có một thẻ có hiệu lực thì thẻ bài được rời khỏi và gói được xem như “in profile”. Nếu không có thẻ bài nào ở trong thùng khi gói đến, gói được xem như “out profile”. Tốc độ bổ sung token X biểu thị giới hạn tốc độ dài hạn trung bình nếu các gói vẫn là “in profile”. Tuy nhiên các gói có thể đến trong sự bùng nổ ngắn vẫn được coi như ở trong hồ sơ – có thể lên tới Y thẻ bài có hiệu lực trong thùng, và trước đó có thể có tới Y gói đến kế tiếp nhau mà vẫn được qua. Lựa chọn sáng suốt giữa X và Y cho phép một hồ sơ bắt buộc một tốc độ gói trung bình dài hạn như yêu cầu trong khi chịu đựng sự bùng nổ ngắn các gói đến nhanh hơn X gói/giây.
Gói đến Gói đến Gói đến
Độ sâu của gáo
Token Token Token
Có token
sẵn sàng Proifle-in Có token sẵn sàng
Proifle-in Không có token sẵn sàng
Proifle-out
Hình 4.6: Các token Bucket cung cấp chức năng đo đơn giản
Một cách lựa chọn để hình dung hoạt động của thùng thẻ bài được cho ở hình 4.7.
Khi một gói đến ở tốc độ R nhỏ hơn X, thường được lấp đầy thêm X-R thẻ/giây, và dừng lại khi đạt được Y thẻ. Nếu R=X thì số thẻ trong thùng là không đổi. Khi R bắt đầu vượt quá X, thùng cho thoát tại tốc độ R-X thẻ/giây. Lâu dần thùng vẫn duy trì ít nhấn một thẻ, lúc đó các gói được xem như là các gói ở trong hồ sơ. Nếu R vượt quá X trong một thời gian dài thì thùng sẽ rỗng và các gói kế tiếp được xem như ngoài hồ sơ. Trạng thái ngoài hồ sơ vẫn còn tiếp tục cho đến khi R rớt xuống thấp hơn X. Một thùng thẻ bài có thể được xem như một quy tắc bắt buộc mà tổng số gói gửi qua điểm đo trong một khoảng thời gian T phải nhỏ hơn T*X+Y.
Tốc độ đến (pps)
Thời gian
In-profile out-profile In-profile
Gáo nhỏ dọt trong khi lưu lượng bùng nổ Gáo rỗng
(s)
Hình 4.7: Minh hoạ hoạt động của một token Bucket
Rất nhiều token bucket có thể hoạt động một cách đồng thời, thiết lập thành một bảng các bộ đếm và các tham số X, Y có liên quan. Khi một gói đến, ngữ cảnh của nó (được thiết lập bởi giai đoạn phân loại) lựa chọn một token bucket để thực hiện đo, hình 4.8.
Y1
Gáo 1 (tốc độ X1)
Y2 Y3
Gáo 2 (tốc độ X2)
Gáo 3 (tốc độ X3)
Lập chính sách / đánh dấu
Loại gói Gói tiếp tục
Gói tớ từ bộ phân loại
Hình 4.8 Lựa chọn token Bucket thực hiện chức năng đo
Điểm cuối cùng là xem xét bộ đo sẽ đếm các gói như một đơn vị dữ liệu hay là số byte được truyền qua bộ đo (nếu đơn vị là gói, một gói là “in profile” bất cứ khi nào số token trong buket nhiều hơn số byte của gói). Cả hai phương pháp đo với đơn vị là gói và byte đều được sử ddông.
4.3.2 Tiered profiles
“Tiered profiles” được sử dụng khi một tốc độ trung bình đơn và sức chịu đựng bùng nổ không đủ để biểu lộ đặc trưng thời gian cho phép của lưu lượng. Nhiều mức kiểm tra hồ sơ cho phép nhiều mức độ đánh dấu hoặc một sự kết hợp đánh dấu và kiểm tra các tình huống gói giống nhau.
Ví dụ, Tiered profiles có thể định rõ các gói vượt quá tốc độ xác định X gói/giây đã được đánh dấu, nhưng nếu tốc độ gói dư vượt quá tốc độ cao hơn W gói/giây, ngay lập tức kiểm soát có hiệu lực. Chức năng đếm thích hợp có thể được xây dựng bởi hai hay nhiều thùng thẻ bài. Coi như hai thùng thẻ bài có chiều sâu Y, thùng 1 cung tại tốc độ X và thùng 2 cung cấp tại tốc độ W, X nhỏ hơn W. Khi một gói đến, một sự cố gắng được thực hiện để chuyển đi một thẻ bài giữa cả hai thùng. Thừa nhận xẩy ra một trong các trường hợp sau:
- Nếu các thẻ có hiệu lực từ cả hai thùng, một thẻ được rút ra từ mỗi thùng và gói được chuyển tiếp một cách bình thường.
- Nếu thùng 1 không có thẻ nhưng thùng 2 có sau đó một thẻ được rút ra từ thùng 2 và gói được đánh dấu trước khi được chuyển tiếp một cách thông thường.
- Nếu cả hai thùng đều rỗng thì gói bị rớt (kiểm soát).
Lưu lượng đến chậm hơn X luôn luôn ở trong hồ sơ. Lên tới Y gói có thể nhanh hơn X nhưng chậm hơn W vẫn được xem như ở trong hồ sơ, sau đó chúng được đánh dấu.
Nếu gói tiếp tục đến nhanh hơn X nhưng thấp hơn W chúng tiếp tục được đánh dấu ( thùng 1 rỗng và thùng 2 còn đầy ) tới Y gói đến có thể nhanh hơn W trước khi chúng bắt đầu bị rớt.
4.3.3 Bảo vệ mạng
Kiểm soát và đánh dấu như là những công cụ bảo vệ phần luồng xuống mạng từ router tại đó sự kiểm soát và đánh dấu xảy ra một cách tích cực (thường thêm vào chính khung chuyển mạch của router và cơ cấu hàng đợi cũng như lập lịch đầu ra). Cuối cùng chúng ta cố gắng bảo vệ tất cả các điểm hàng đợi đến sau từ sự bùng nổ tạm thời xa nhất của lớp lưu lượng xuống. Kiểm soát bảo mật chuyển dời các gói từ luồng dữ liệu – không phải gói, không có hàng đợi. Đánh dấu bảo mật bằng thông tin các router đường xuống mà các gói được đánh dấu có thể được đối xử như là hệ thống lớp hai nếu không gian hàng đợi được thắt chặt. Một chức năng liên quan, định hướng lưu lượng được tường thuật trong phần 4.5 “lập lịch”.