Saturday, August 23, 2014

Shaping traffic

Posted on 10:40 AM in
    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 CIRTc. 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