Bạn đã từng nghe về Committed Access Rate (CAR) – "Cảnh sát giao thông" cổ điển của Cisco chưa? Đây là một trong những công cụ traffic policing lâu đời nhưng vẫn cực kỳ hiệu quả để giới hạn băng thông trên router. Hôm nay mình sẽ chia sẻ cách cấu hình và cách hoạt động của CAR, so sánh nó với CB Policing hiện đại để anh em dễ hiểu hơn!
💡 CAR là gì?
CAR là cơ chế kiểm soát lưu lượng dựa trên một tốc độ định sẵn – một mức cam kết (committed rate) và giới hạn hành vi khi lưu lượng vượt quá tốc độ đó.
CAR hoạt động theo nguyên tắc "một tốc độ, hai trạng thái":
Không giống như CB Shaping (định hình), CAR chỉ xử lý theo kiểu policing, không giữ gói trong bộ đệm, mà loại bỏ ngay lập tức nếu vượt tốc độ.
⚙️ Các điểm đặc biệt của CAR
🛠 Ví dụ cấu hình đơn giản:
interface Serial1/0.1 point-to-point ip address 192.168.2.251 255.255.255.0 rate-limit input 96000 12000 18000 conform-action set-prec-transmit 0 exceed-action drop frame-relay interface-dlci 103
➡ Cấu hình trên giới hạn tất cả lưu lượng đầu vào ở mức 96 kbps, cho phép burst trong 1 giây (Bc) là 12,000 byte và Be = 6,000 byte (0.5s). Gói conform sẽ được đánh dấu lại, gói exceed thì bị loại bỏ.
📊 Kiểm tra trạng thái hoạt động
show interfaces s1/0.1 rate-limit
Sẽ hiển thị số gói conform và exceed đã xử lý, băng thông sử dụng và các thông số burst hiện tại. Đây là công cụ quan trọng để monitoring lưu lượng.
📦 Phân loại lưu lượng bằng ACL
CAR cho phép bạn sử dụng ACL để lựa chọn lưu lượng, từ đó giới hạn từng loại theo policy riêng. Ví dụ: Kiểm soát 3 loại lưu lượng với ACL
Yêu cầu:
! ACL 101: HTTP ! ACL 102: FTP ! ACL 103: VoIP interface FastEthernet0/0 rate-limit input 496000 62000 62000 conform-action continue exceed-action drop rate-limit input access-group 101 400000 50000 50000 conform-action transmit exceed-action drop rate-limit input access-group 102 160000 20000 20000 conform-action transmit exceed-action drop rate-limit input access-group 103 200000 25000 25000 conform-action transmit exceed-action drop
➡ Câu lệnh đầu tiên kiểm soát tổng lưu lượng, sau đó cho phép các gói conform tiếp tục xuống để được so sánh với các rate-limit kế tiếp theo từng loại lưu lượng cụ thể.
Kết quả là:
✅ Tương đương với việc dùng policy-map lồng nhau trong CB Policing!
🎯 Lưu ý khi sử dụng CAR
📍 Kết luận
CAR vẫn là một công cụ "cổ nhưng chất", đặc biệt hữu ích trong các môi trường hạ tầng đơn giản hoặc cần kiểm soát nhanh lưu lượng theo kiểu cứng rắn. Bạn có thể sử dụng CAR để giới hạn từng dịch vụ cụ thể mà không cần phải triển khai MQC phức tạp.
🎯 Bạn đã từng dùng CAR chưa? Hay bạn thích dùng CB Policing hơn? Chia sẻ ý kiến của bạn bên dưới nhé!
💡 CAR là gì?
CAR là cơ chế kiểm soát lưu lượng dựa trên một tốc độ định sẵn – một mức cam kết (committed rate) và giới hạn hành vi khi lưu lượng vượt quá tốc độ đó.
CAR hoạt động theo nguyên tắc "một tốc độ, hai trạng thái":
- Conform – Tuân theo: Gói tin được chấp nhận (và có thể được đánh dấu lại, ví dụ set-prec-transmit 0)
- Exceed – Vượt ngưỡng: Gói tin sẽ bị drop (loại bỏ)
Không giống như CB Shaping (định hình), CAR chỉ xử lý theo kiểu policing, không giữ gói trong bộ đệm, mà loại bỏ ngay lập tức nếu vượt tốc độ.
⚙️ Các điểm đặc biệt của CAR
- Sử dụng lệnh rate-limit trực tiếp trong interface, không dùng MQC như CB Policing.
- Hỗ trợ cascading rate-limit – cho phép nhiều lệnh rate-limit hoạt động xếp lớp trên cùng một interface.
- Dù hỗ trợ Be (burst excess), nhưng vẫn chỉ có 2 trạng thái conform/exceed (không có violate như CB Policing).
- Thuật toán xử lý Be khác với CB Policing.
🛠 Ví dụ cấu hình đơn giản:
interface Serial1/0.1 point-to-point ip address 192.168.2.251 255.255.255.0 rate-limit input 96000 12000 18000 conform-action set-prec-transmit 0 exceed-action drop frame-relay interface-dlci 103
➡ Cấu hình trên giới hạn tất cả lưu lượng đầu vào ở mức 96 kbps, cho phép burst trong 1 giây (Bc) là 12,000 byte và Be = 6,000 byte (0.5s). Gói conform sẽ được đánh dấu lại, gói exceed thì bị loại bỏ.
📊 Kiểm tra trạng thái hoạt động
show interfaces s1/0.1 rate-limit
Sẽ hiển thị số gói conform và exceed đã xử lý, băng thông sử dụng và các thông số burst hiện tại. Đây là công cụ quan trọng để monitoring lưu lượng.
📦 Phân loại lưu lượng bằng ACL
CAR cho phép bạn sử dụng ACL để lựa chọn lưu lượng, từ đó giới hạn từng loại theo policy riêng. Ví dụ: Kiểm soát 3 loại lưu lượng với ACL
Yêu cầu:
- Tổng băng thông: 496 kbps
- HTTP: 400 kbps
- FTP: 160 kbps
- VoIP: 200 kbps
(Burst trong 1 giây, không bùng nổ thêm - Be = 0)
! ACL 101: HTTP ! ACL 102: FTP ! ACL 103: VoIP interface FastEthernet0/0 rate-limit input 496000 62000 62000 conform-action continue exceed-action drop rate-limit input access-group 101 400000 50000 50000 conform-action transmit exceed-action drop rate-limit input access-group 102 160000 20000 20000 conform-action transmit exceed-action drop rate-limit input access-group 103 200000 25000 25000 conform-action transmit exceed-action drop
➡ Câu lệnh đầu tiên kiểm soát tổng lưu lượng, sau đó cho phép các gói conform tiếp tục xuống để được so sánh với các rate-limit kế tiếp theo từng loại lưu lượng cụ thể.
Kết quả là:
- Tất cả traffic bị giới hạn ở 496 kbps
- Không loại lưu lượng nào "ăn hết băng thông"
- Từng loại dịch vụ được cấp băng thông riêng biệt
✅ Tương đương với việc dùng policy-map lồng nhau trong CB Policing!
🎯 Lưu ý khi sử dụng CAR
- Chỉ dùng được trong CLI truyền thống, không áp dụng cho cấu trúc MQC (Modular QoS CLI).
- CAR rất hiệu quả trên các router đời cũ, hoặc khi bạn cần một cấu hình đơn giản, nhanh gọn.
- Nếu bạn cần nhiều mức hành vi hơn (như violate) hay tích hợp vào mô hình QoS phức tạp, hãy dùng CB Policing trong MQC.
📍 Kết luận
CAR vẫn là một công cụ "cổ nhưng chất", đặc biệt hữu ích trong các môi trường hạ tầng đơn giản hoặc cần kiểm soát nhanh lưu lượng theo kiểu cứng rắn. Bạn có thể sử dụng CAR để giới hạn từng dịch vụ cụ thể mà không cần phải triển khai MQC phức tạp.
🎯 Bạn đã từng dùng CAR chưa? Hay bạn thích dùng CB Policing hơn? Chia sẻ ý kiến của bạn bên dưới nhé!