[CCNP] NGUYÊN LÝ HOẠT ĐỘNG CỦA CƠ CHẾ ĐỊNH HÌNH LƯU LƯỢNG (QoS TRAFFIC SHAPING)Ở bài viết trước, chúng ta đã mổ xẻ về Policing – công cụ thẳng tay "trảm" gói tin ngay khi vượt ngưỡng cam kết. Hôm nay, hãy cùng nói về một giải pháp "nhẹ nhàng" hơn nhưng đòi hỏi tư duy thiết kế phức tạp không kém, đó là Traffic Shaping (Định hình lưu lượng).
Nếu như các nhà mạng (ISP) ưa chuộng Policing để tiết kiệm tài nguyên hệ thống, thì ở góc độ doanh nghiệp, chúng ta lại cần Shaping. Mục tiêu là tự chủ động giới hạn dòng dữ liệu truyền đi sao cho vừa vặn với gói cước đã mua, ngăn chặn việc ISP đánh rơi gói tin của mình, hoặc giải quyết bài toán nghẽn cổ chai khi dữ liệu đi từ cổng tốc độ cao sang cổng tốc độ thấp.
1. NGHỆ THUẬT "DIỄN KỊCH" TỐC ĐỘ CỦA ROUTERCó một sự thật vật lý mà các kỹ sư mạng cần lưu ý: Các cổng kết nối của Router chỉ có thể truyền tín hiệu điện hoặc tín hiệu quang theo đúng tần số xung nhịp vật lý của cổng đó. Chúng ta không thể bắt một dòng điện chạy chậm lại trong lõi cáp chỉ vì muốn giảm băng thông đường truyền.
Vậy làm thế nào để một cổng vật lý tốc độ cao có thể phát ra một dòng dữ liệu với tốc độ trung bình thấp hơn?
Câu trả lời nằm ở cơ chế: Truyền một bit, rồi dừng lại; truyền tiếp, rồi lại dừng lại.
Ví dụ thực tế: Nếu cổng kết nối vật lý có tốc độ tối đa là một trăm hai mươi tám kilobit mỗi giây, nhưng bạn chỉ muốn cấu hình giới hạn ở mức sáu mươi tư kilobit mỗi giây. Để đạt được mức băng thông này, Router sẽ vận hành theo tỷ lệ: Năm mươi phần trăm thời gian là đẩy gói tin đi hết tốc lực vật lý, và năm mươi phần trăm thời gian còn lại là tạm dừng truyền.Khoảng thời gian chu kỳ tính bằng mili-giây bao gồm cả lúc truyền và lúc dừng này được gọi là Khoảng thời gian định kỳ (Tc). Lượng dữ liệu tối đa được phép đẩy đi trong mỗi chu kỳ đó chính là Lượng truyền đột biến cam kết (Bc). Trên các thiết bị Cisco IOS, khoảng thời gian Tc mặc định thường được ấn định ở mức một trăm hai mươi lăm mili-giây. Khi Router truyền xong toàn bộ số bit quy định của mức Bc, nó sẽ đứng im chờ cho chu kỳ Tc đó kết thúc rồi mới kích hoạt chu kỳ truyền tiếp theo.
2. BÀI TOÁN TRỄ TÍN HIỆU VÀ ĐỘ LỆCH KHI TRUYỀN VOICE (VOIP)Điểm tuyệt vời của Shaping là không có gói tin nào bị vứt bỏ, vì mọi lưu lượng vượt ngưỡng tạm thời đều được đưa vào bộ nhớ đệm (Buffer) để xếp hàng chờ lượt phát kế tiếp. Thế nhưng, "đặc sản" của việc xếp hàng chính là gây ra độ trễ (Delay) và độ biến động trễ (Jitter).
Hãy tưởng tượng nếu chúng ta giữ nguyên chu kỳ Tc mặc định là một trăm hai mươi lăm mili-giây trên một đường truyền tốc độ cao. Router chỉ mất vỏn vẹn vài mili-giây để đẩy sạch số bit quy định trong thùng Bc, và phần lớn thời gian còn lại của chu kỳ (có thể lên tới hơn một trăm mili-giây) là khoảng thời gian Router đứng chờ.
Nếu ngay lúc Router đang đứng chờ mà có một gói tin Voice (VoIP) đi đến, gói tin này bắt buộc phải nằm lại trong bộ nhớ đệm cho đến khi chu kỳ mới bắt đầu. Đối với các lưu lượng thời gian thực như tiếng nói hay video, việc lãng phí hàng trăm mili-giây chỉ để chờ đợi là một thảm họa, làm vượt quá tiêu chuẩn trễ một chiều cho phép của hệ thống.
Để tối ưu hóa cho lưu lượng Voice, khuyến nghị từ Cisco là thu nhỏ khoảng thời gian chu kỳ Tc xuống mức tối thiểu, lý tưởng nhất là mười mili-giây. Khi chu kỳ được chia nhỏ, khoảng thời gian chờ đợi giữa các đợt truyền sẽ giảm xuống đáng kể, giúp luồng tin Voice mượt mà hơn. Tuy nhiên, hệ lụy đi kèm là lượng dữ liệu Bc được truyền trong mười mili-giây sẽ rất nhỏ, buộc chúng ta phải cấu hình thêm tính năng phân mảnh gói tin (Fragmentation) để băm nhỏ các gói IP lớn trước khi truyền.
3. THÙNG THẺ MỞ RỘNG VÀ CƠ CHẾ BURSTING KHI MẠNG "RẢNH RỖI"Dòng lưu lượng dữ liệu máy tính (Data Traffic) bản chất không hề phẳng như Voice mà luôn có xu hướng bùng nổ theo từng đợt. Sẽ có những khoảng thời gian văn phòng hoàn toàn im ắng không ai truyền dữ liệu, và ngay sau đó là một làn sóng dữ liệu ồ ạt đổ về. Để tận dụng tối đa băng thông, cơ chế Shaping cho phép hệ thống "tích lũy" năng lượng sau những khoảng thời gian nhàn rỗi nhờ vào Lượng truyền đột biến vượt ngưỡng (Be).
Hãy hình dung thuật toán lúc này sử dụng một thùng chứa thẻ mô phỏng có dung tích lớn hơn bình thường, bằng tổng dung lượng của cả hai mức Bc và Be cộng lại.
- Ở trạng thái vận hành thông thường, mỗi khi một chu kỳ mới bắt đầu, Router chỉ nạp một lượng thẻ tiêu chuẩn bằng đúng mức Bc vào thùng. Nếu mạng liên tục bận rộn, số thẻ này sẽ được tiêu thụ sạch sẽ trong mỗi chu kỳ.
- Ngược lại, nếu hệ thống trải qua một giai đoạn im ắng, không có dữ liệu nào cần truyền, Router vẫn tiếp tục nạp thẻ theo chu kỳ. Nhờ chiếc thùng được thiết kế lớn hơn, lượng thẻ dư thừa không bị tràn ra ngoài vứt bỏ như trước, mà được giữ lại và tích lũy dần lên đến mức tối đa của dung tích thùng.
LỜI KẾTCấu hình Traffic Shaping đòi hỏi người kỹ sư phải cân đối kỹ lưỡng giữa độ trễ của bộ nhớ đệm và khả năng truyền bùng nổ của dữ liệu để đưa ra các thông số chu kỳ tối ưu nhất cho doanh nghiệp.
Toàn bộ các bài Lab chuyên sâu về QoS Shaping, tính toán chu kỳ tối ưu cho từng loại lưu lượng ứng dụng đều được giảng dạy bài bản trong chương trình CCNP Enterprise và CCIE Enterprise Infrastructure tại VnPro. Anh em nào muốn tự tay làm chủ cấu hình này trên thiết bị thật thì hãy tham gia cùng tụi mình nhé!
Zalo hỗ trợ học viên: 093 3427 079
Tìm hiểu thêm tại website:vnpro.vn