1. Traffic Shaping cho lượng dữ liệu bùng nổ Be
+ Do Be (excess burst) là lượng dữ liệu bùng nổ, vượt qua giá trị Bc nên router phải dùng nhiều hơn một chu kỳ Tc để gửi lượng Be này. Trong đó, router cũng dùng cả khoảng thời gian của trạng thái đưa gói tin vô hàng đợi. Nói cách khác, để điều hòa lưu lượng Be thì một hoặc nhiều chu kỳ Tc mà sẽ không có trạng thái giữ gói tin trong hàng đợi. Router sử dụng luôn khoảng thời gian này để gửi gói tin. Xét ví dụ cụ thể sau đây:
+ Theo hình 1, sau một khoảng thời gian router không gửi dữ liệu, giá trị Be là 8000 bits. Do đó, lượng dữ liệu mà router phải gửi ra trong chu kỳ Tc đầu tiên là 16000 bits (8000 bits Be + 8000 bits Bc). Với tốc độ cho phép là 128Kbps (128000bps), theo công thức Bc = Tc * CIR, có thể suy ra được khoảng thời gian của chu kỳ Tc là 125ms (16000 bit / 128000bps = 0.125 giây).
+ Vì vậy, toàn bộ thời gian của chu kỳ đầu tiên (125ms) sẽ được sử dụng để truyền hết 16000 bits (không có trạng thái giữ gói tin trong hàng đợi trong chu kỳ đầu tiên). Trong chu kỳ thứ 2, router chỉ truyền lượng dữ liệu Bc nên router sẽ gửi dữ liệu ngay nữa đầu chu kỳ này, nữa chu kỳ sau router sẽ ở trạng thái giữ gói tin trong hàng đợi. Xét trong ví dụ này, router đã gửi dữ liệu liên tục trong 192.5ms (125ms chu kỳ đầu tiên + 62.5ms chu kỳ thứ 2)
. 2. Cơ chế bên dưới của Traffic Shaping
+ Cơ chế bên dưới ở đây là điều hòa lưu lượng theo lớp (Class-Based Shaping). Trường hợp Traffic Shaping (TS) không điều hòa cho lượng dữ liệu bùng nổ Be:
- Router gửi đúng lượng bit trong Bc với một chu kỳ Tc. Vì vậy, router phải có cơ chế lấy đúng số bit dữ liệu bằng với số bit dữ liệu trong Bc để gửi đi. Để thực hiện cơ chế này, Traffic Shaping sử dụng hộp dữ liệu chứa các thể bài cho việc quản lý.
- Hộp dữ liệu có kích thước bằng với kích thước của Bc. Trong hộp dữ liệu này có chứa các thẻ bài, mỗi thẻ bài cho phép router có thể gửi đi một bit dữ liệu. Vào đầu mỗi chu kỳ Tc, router lấy đầy hộp dữ liệu bằng cách tạo ra và thêm vào hộp dữ liệu một số lượng các thẻ bà mới. Router sử dụng các thẻ bài để chiếm được quyền gửi các gói tin. Router sẽ lấy số thẻ bài từ hộp dữ liệu bằng với số bits dữ liệu cần được truyền đi. Vì vậy, ở mỗi đầu chu kỳ Tc router có thể truyền một lượng dữ liệu là Bc bits.
- Quá trình lấy đầy hộp dữ liệu bằng các thẻ bài được thể hiện trong hình sau đây:
+ Theo hình 2, router có thể gửi đi một lượng dữ liệu là Bc bits. Ví dụ, Bc có kích thước là 1000 bits, router sẽ lấy ra khỏi hộp dữ liệu 1000 thẻ bài để gửi lượng Bc này đi.
Chú ý: Khi TS muốn gửi một gói tin (bằng Bc bits) mà hộp dữ liệu không có đủ thẻ bài để gửi gói tin. TS phải chờ cho đến chu kỳ Tc kế tiếp cho đến khi đủ các thẻ bài được được tạo ra và thêm vào hộp dữ liệu. Trường hợp TS điều hòa cho lượng dữ liệu bùng nổ Be:
- Do có các thẻ bài từ chu kỳ trước vẫn còn nằm trong hộp dữ liệu nên khi các thẻ bài mới được tạo ra và thêm vào sẽ làm tràn hộp dữ liệu. Các thẻ bài bị tràn ra khỏi hộp dữ liệu gọi là các thẻ bài dư thừa. Nếu các thẻ bài dư thừa này sẽ không được sử dụng thì sẽ gây lãng phí.
- TS điều hòa cho lượng dữ liệu bùng nổ Be bằng cách sử dụng hộp dữ liệu thứ 2 chứa những thẻ bài không được dùng tới (các thẻ bài dư thừa) từ hộp dữ liệu thứ đầu tiên. Nói cách khác, nếu trong một chu kỳ Tc mà không sử dụng hết số lượng các thẻ bài thì TS sẽ chuyển các thẻ bài này vào hộp dữ liệu thứ 2.
- Hộp dữ liệu thứ 2 sẽ tiếp tục được lấp đầy với kích thước giới hạn là số bits dữ liệu trong Be. Do đó, TS điều hòa lưu lượng có thể tiết kiệm được một lượng Be thẻ bài.
- Router cũng sử dụng các thẻ bài để gửi các gói tin.
- Vì vậy, với việc sử dụng hộp dữ liệu thứ 2 thì TS cho phép truyền ra nhiều bit hơn trong chu kỳ tiếp theo.
+ Do Be (excess burst) là lượng dữ liệu bùng nổ, vượt qua giá trị Bc nên router phải dùng nhiều hơn một chu kỳ Tc để gửi lượng Be này. Trong đó, router cũng dùng cả khoảng thời gian của trạng thái đưa gói tin vô hàng đợi. Nói cách khác, để điều hòa lưu lượng Be thì một hoặc nhiều chu kỳ Tc mà sẽ không có trạng thái giữ gói tin trong hàng đợi. Router sử dụng luôn khoảng thời gian này để gửi gói tin. Xét ví dụ cụ thể sau đây:
Hình 1: Ví dụ Traffic Shaping cho lượng dữ liệu bùng nổ Be
+ Theo hình 1, sau một khoảng thời gian router không gửi dữ liệu, giá trị Be là 8000 bits. Do đó, lượng dữ liệu mà router phải gửi ra trong chu kỳ Tc đầu tiên là 16000 bits (8000 bits Be + 8000 bits Bc). Với tốc độ cho phép là 128Kbps (128000bps), theo công thức Bc = Tc * CIR, có thể suy ra được khoảng thời gian của chu kỳ Tc là 125ms (16000 bit / 128000bps = 0.125 giây).
+ Vì vậy, toàn bộ thời gian của chu kỳ đầu tiên (125ms) sẽ được sử dụng để truyền hết 16000 bits (không có trạng thái giữ gói tin trong hàng đợi trong chu kỳ đầu tiên). Trong chu kỳ thứ 2, router chỉ truyền lượng dữ liệu Bc nên router sẽ gửi dữ liệu ngay nữa đầu chu kỳ này, nữa chu kỳ sau router sẽ ở trạng thái giữ gói tin trong hàng đợi. Xét trong ví dụ này, router đã gửi dữ liệu liên tục trong 192.5ms (125ms chu kỳ đầu tiên + 62.5ms chu kỳ thứ 2)
. 2. Cơ chế bên dưới của Traffic Shaping
+ Cơ chế bên dưới ở đây là điều hòa lưu lượng theo lớp (Class-Based Shaping). Trường hợp Traffic Shaping (TS) không điều hòa cho lượng dữ liệu bùng nổ Be:
- Router gửi đúng lượng bit trong Bc với một chu kỳ Tc. Vì vậy, router phải có cơ chế lấy đúng số bit dữ liệu bằng với số bit dữ liệu trong Bc để gửi đi. Để thực hiện cơ chế này, Traffic Shaping sử dụng hộp dữ liệu chứa các thể bài cho việc quản lý.
- Hộp dữ liệu có kích thước bằng với kích thước của Bc. Trong hộp dữ liệu này có chứa các thẻ bài, mỗi thẻ bài cho phép router có thể gửi đi một bit dữ liệu. Vào đầu mỗi chu kỳ Tc, router lấy đầy hộp dữ liệu bằng cách tạo ra và thêm vào hộp dữ liệu một số lượng các thẻ bà mới. Router sử dụng các thẻ bài để chiếm được quyền gửi các gói tin. Router sẽ lấy số thẻ bài từ hộp dữ liệu bằng với số bits dữ liệu cần được truyền đi. Vì vậy, ở mỗi đầu chu kỳ Tc router có thể truyền một lượng dữ liệu là Bc bits.
- Quá trình lấy đầy hộp dữ liệu bằng các thẻ bài được thể hiện trong hình sau đây:
Hình 2: Quá trình lấy đầy hộp dữ liệu bằng các thẻ bài
+ Theo hình 2, router có thể gửi đi một lượng dữ liệu là Bc bits. Ví dụ, Bc có kích thước là 1000 bits, router sẽ lấy ra khỏi hộp dữ liệu 1000 thẻ bài để gửi lượng Bc này đi.
Chú ý: Khi TS muốn gửi một gói tin (bằng Bc bits) mà hộp dữ liệu không có đủ thẻ bài để gửi gói tin. TS phải chờ cho đến chu kỳ Tc kế tiếp cho đến khi đủ các thẻ bài được được tạo ra và thêm vào hộp dữ liệu. Trường hợp TS điều hòa cho lượng dữ liệu bùng nổ Be:
- Do có các thẻ bài từ chu kỳ trước vẫn còn nằm trong hộp dữ liệu nên khi các thẻ bài mới được tạo ra và thêm vào sẽ làm tràn hộp dữ liệu. Các thẻ bài bị tràn ra khỏi hộp dữ liệu gọi là các thẻ bài dư thừa. Nếu các thẻ bài dư thừa này sẽ không được sử dụng thì sẽ gây lãng phí.
Hình 3: Các thẻ bài dư thừa bị tràn ra khỏi hộp dữ liệu
- TS điều hòa cho lượng dữ liệu bùng nổ Be bằng cách sử dụng hộp dữ liệu thứ 2 chứa những thẻ bài không được dùng tới (các thẻ bài dư thừa) từ hộp dữ liệu thứ đầu tiên. Nói cách khác, nếu trong một chu kỳ Tc mà không sử dụng hết số lượng các thẻ bài thì TS sẽ chuyển các thẻ bài này vào hộp dữ liệu thứ 2.
- Hộp dữ liệu thứ 2 sẽ tiếp tục được lấp đầy với kích thước giới hạn là số bits dữ liệu trong Be. Do đó, TS điều hòa lưu lượng có thể tiết kiệm được một lượng Be thẻ bài.
- Router cũng sử dụng các thẻ bài để gửi các gói tin.
- Vì vậy, với việc sử dụng hộp dữ liệu thứ 2 thì TS cho phép truyền ra nhiều bit hơn trong chu kỳ tiếp theo.
Hình 4: TS điều hòa lưu lượng với việc sử dụng hộp dữ liệu thứ 2
Nguyễn Ngọc Đại – VnPro