Các
công cụ định hình lưu lượng (traffic-shaping) làm chậm các gói tin khi các gói
đi ra khỏi một router sao cho tốc độ truyền tổng thể không vượt quá một giới
hạn đã định nghĩa. Traffic policer đo lường tốc độ truyền các gói khi vào và ra
một cổng của router. Nếu tốc độ truyền thực sự vượt quá tốc độ định nghĩa,
router sẽ loại bỏ đủ số lượng gói tin sao cho tốc độ giới hạn không bị vượt
qua. Hoặc router cũng có thể đánh dấu vài gói tin sao cho các gói tin có thể bị
loại bỏ về sau.
Các khái niệm điều hoà lưu lượng traffic-shaping
(TS)
Công cụ điều hoà lưu lượng TS ngăn ngừa
tốc độ truyền các gói tin vượt quá một mức được cấu hình. Để làm được việc này,
router sẽ giám sát tốc độ gửi dữ liệu. Nếu tốc độ này vượt quá tốc độ đã được cấu
hình, công cụ điều hoà lưu lượng TS sẽ làm chậm các gói tin lại, đưa các gói
tin vào trong các hàng đợi shaping. Hàng đợi shaping queue này khác với các
hàng đợi software của cổng. Sau đó router sẽ giải phóng các gói tin ra khỏi
hàng đợi sao cho tốc độ truyền dữ liệu tổng thể không vượt quá tốc độ giới hạn.
TS giải quyết hai vấn đề tổng quát có
thể xảy ra trong môi trường đa truy cập. Một là, nếu một nhà cung cấp dịch vụ
loại bỏ bất kỳ lưu lượng nào một cách cố ý trên một mạch ảo VC của khách hàng
khi tốc độ truyền vượt quá tốc độ cam kết, lúc đó router sẽ không gửi vượt quá
tốc độ cam kết CIR. Hai là, công cụ TS giúp giải quyết hiện tượng nghẽn ngõ ra
(egress blocking). Hiện tượng nghẽn ngõ xảy ra khi router gửi dữ liệu vào một mạng
Frame relay hoặc ATM và các tổng đài FR hay ATM phải đưa dữ liệu vào hàng đợi
trước khi tổng đài có thể chuyển ra router ở đầu bên kia của mạch ảo VC.
Các thuật ngữ TS
Router
có thể gửi các bit dữ liệu ra một cổng chỉ ở tốc độ vật lý. Để giảm việc truyền
xuống một tốc độ thấp hơn, router sẽ phải luân phiên giữa hai trạng thái truyền
gói tin và trạng thái im lặng.
Hình 2.19: Cách hoạt động của công cụ điều hoà lưu lượng
Shaping.
Ví dụ, để làm tốc độ gửi dữ liệu bằng
một nửa tốc độ vật lý, router sẽ gửi các gói tin trong một nửa thời gian và sẽ
không gửi trong một nửa thời gian còn lại. Hoạt động này giống như một chuỗi của
quá trình gửi và im lặng. Ví dụ, khi router có một tốc độ vật lý là 128Kbps và
tốc độ định hình được cấu hình là 64kbps. Công cụ traffic shapping TS sẽ gán một
khoảng thời gian tĩnh, gọi là chu kỳ Tc.
Sau đó, router sẽ tính toán số bit có thể được gửi trong mỗi chu kỳ sao cho,
cùng với thời gian, số lượng bits/seconds được gửi sẽ phù hợp với tốc độ đã cấu
hình.
Lượng bit dữ liệu có thể được gửi
trong một chu kỳ Tc được gọi là Bc. Ví dụ, một lượng Bc bằng 8000bit có
thể được gửi mỗi chu kỳ Tc 125ms để đạt được tốc độ bình quân 64Kbps. Nói cách
khác, với giá trị chu kỳ Tc bằng 125ms, sẽ có tám chu kỳ Tc trong một giây. Nếu
có một lượng bằng Bc (8000 bits) được gửi mỗi chu kỳ, thì sẽ có tám lần
8000bits được gửi mỗi giây, cho ra kết quả là 64,000 bps. Bởi vì các bit phải
được mã hóa ở trên đường truyền ở tốc độ vật lý, lượng dữ liệu 8000 bit trên
trong mỗi chu kỳ chỉ cần một khoảng thời gian 62.5 ms (tương đương một nửa chu
kỳ) (8000/128,000) để ra khỏi một cổng của router. Các cổng gửi ra ở tốc độ
truyền (access rate) trong 62.5ms và sau đó chờ trong 62.5ms trong khi gói tin
vẫn ở trong hàng đợi.
Traffic Shaping ( TS) trì hoãn một
lưu lượng lớn vào hàng đợi định hình khi lưu lượng đó vượt quá mức cho phép được
coi là Committ Information Rate – CIR.
Để làm điều này TS sử dụng mô hình thùng thẻ - token bucket, để xác định lưu lượng truy cập vượt quá mức giới hạn
đã được cấu hình với CIR. Mỗi lần một gói tin xếp vào vòng truyền ( hàng đợi phần
cứng hoặc Tx Ring), TS so sánh kích thước của gói tin với kích thước hiện tại của
token bucket. Nếu kích thước gói tin nhỏ hơn hoặc bằng khoảng trống còn trong
token bucket thì gói tin đó được gửi đi. Ngược lại, nếu vượt quá nó sẽ bị trì
hoãn trong hàng đợi định hình.
Hình 2.20: Cơ chế hoạt động của mô hình thùng thẻ -
Token Bucket.
Giá
trị Bc được tính sử dụng công thức
sau đây:
Bc=Tc*CIR
Hay
Bc=Tc*tốc độ nắn dạng
- Trong công thức đầu tiên giả sử rằng bạn muốn nắn dạng ở
tốc độ CIR. Trong vài trường hợp, bạn muốn nắn dạng ở tốc độ khác thì sử dụng công
thức thứ hai. Với Tc=125ms (mặc định), nắn dạng ở tốc độ 64kbps thì Bc sẽ là:
Bc=0.125 s*64000bit/s=8000 bits
Hình 2.21: Nguyên lý hoạt động của điều hoà lưu lượng
được mô tả theo màu.
- Khi cấu hình nắn dạng, bạn cấu hình
tốc độ nắn dạng và tùy chọn Bc. Nếu bạn cấu hình cả hai giá trị, IOS thay đổi
Tc để thỏa mãn công thức; bạn không bao giờ thực sự cấu hình Tc. Nếu bạn cấu
hình tốc độ nắn dạng, IOS giả sử rằng 125ms Tc và tính toán Bc. Khi bạn cấu hình
cả hai giá trị thì Tc được tính như sau:
Tc=Bc/CIR
Hay Tc=Bc/tốc độ nắn dạng
Bùng nổ vượt giới hạn - Excess Burst
Như chúng ta đã thấy, nếu các thẻ
token mới vẫn tiếp tục nạp vào trong khoảng thời gian Tc thì token bucket sẽ bị tràn khi tới mức giới hạn. Điều này có
nghĩa rằng sẽ không có Bc nào được gửi
đi thêm, dẫn tới việc định hình gói tin đạt được thấp hơn mức trung bình mong
muốn. Hãy tưởng tượng rằng việc lập lịch không có lưu lượng truy cập để gửi
trong một thời gian nhất định và sau đó đột nhiên nó phải gửi nhiều hơn lượng Bc trong một khoảng thời gian Tc.
Với
mô hình token bucket hiện tại, nó không thể gửi nhiều hơn lưu lượng Bc trong khoảng thời gian Tc. Vì vậy, để giải quyết vấn đề này TS
sử dụng mô hình token bucket kép, với token 1 là Committ Burst - Bc và token
2 là Excess Burst – Be.
Be được sử dụng nếu Bc chưa hoàn thành công việc trong khoảng
thời gian trước đó. Vì vậy, nếu Bc
là 10 bits và chỉ 8 bits được gửi đi thì còn sót lại 2 bits được chuyển đến Be trước khi vào Bc nạp 2 bits đó vào.
Kích
thước Bc được xác định bởi CIR và Tc. Kích thước Be được
xác định bởi AR ( Access Rate ) của đường dẫn vật lý. Công thức như sau:
MaxBe = (AR – CIR)* Tc.
0 comments:
Post a Comment