SHAPING VÀ POLICING
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 là một điều hợp lý. 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.
Ví dụ: khi một router với một kết nối T1 gửi dữ liệu, nó phải gửi ở tốc độ T1. Nếu router trên đầu xa của kết nối chỉ có tốc độ 256Kbps, các frame/cell sẽ phải chờ trong hàng đợi ra của tổng đài. Tương tự, nếu cùng có 20 site có tốc độ 256Kbps cùng gửi về router T1, các frame/cell cũng sẽ bị xếp hàng để chờ thoát khỏi tổng đài để về router T1. Trong trường hợp này, công cụ shaping có thể được dùng để ngăn ngừa hiện tượng trên, router sẽ chuyển các gói tin vào trong hàng đợi, ở đó các gói tin sẽ bị thao tác với các công cụ hàng đợi.
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. 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.
Hình dưới đây hiển thị một đồ thị minh họa những gì xảy ra 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. Hình này cũng minh hoạt cách thức mà Cisco IOS triển khai tính năng shaping. 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. Trong hình trên, 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. Đồ thị trên cũng hiển thị kết quả: 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.
Bảng dưới đây sẽ liệt kê các thuật ngữ liên quan đến mô hình điều hoà lưu lượng này. Đặc biệt chú ý thuật ngữ CIR ám chỉ đến tốc độ cam kết cho một mạch ảo VC dựa trên hợp đồng giữa ISP và khách hàng và tốc độ điều hòa shaping rate dựa trên tốc độ cấu hình TS trên một router.
Định hình lưu lượng dùng Excess Burst
Để có thể truyền những dữ liệu bùng nổ, TS hiện thực khái niệm excess burst (Be). Sau một khoảng thời gian một cổng gửi một lượng tương đối ít dữ liệu so với CIR, một lượng nhiều hơn Bc có thể được gửi trong một hoặc vài khoảng thời gian. Khi dùng Be, router có thể truyền những phần bit dữ liệu vượt trội so với Bc. Tùy thuộc vào cách cấu hình, router có thể mất một chu kỳ TC hoặc nhiều chu kỳ Tc để gửi lượng Be này.
Hình dưới đây hiển thị đồ thi của cùng một ví dụ trong hình trước nhưng với Be đang gán bằng giá trị 8000bits. Trong trường hợp này, tất cả các bit vượt trội Be được gửi trong khoảng chu kỳ đầu tiên sau một giai đoạn không hoạt động.
Trong khoảng chu kỳ đầu tiên, TS có thể gửi một lượng dữ liệu là 16,000bit (Bc+Be). Trên đường truyền 128Kbps, giả sử có chu kỳ Tc 125ms, tất cả các khoảng thời gian 125ms có thể là cần thiết để gửi 16,000bit.
Trong trường hợp này, sau một khoảng thời gian không hoạt động, R1 gửi liên tục trong toàn bộ chu kỳ đầu tiên. Trong khoảng chu kỳ thứ hai, router chỉ gửi một lượng Bc. Xét về tính hiệu quả, router sẽ cho phép truyền dữ liệu liên tục trong 192.5ms sau một khoảng thời gian truyền ít dữ liệu.
Cơ chế bên dưới của shaping
Công cụ định hình shaper áp dụng một công thức đơn giản cho các giá trị Tc, Bc và công thức Tc = Bc/shaping rate.
Ví dụ, nếu tốc độ truyền shaping rate là 64kbps và giá trị Bc là 8000bits thì Tc sẽ được tính là 8000/64,000=0.125 giây. Ngoài ra, nếu tốc độ shaping rate và Tc đã cấu hình, TS sẽ tính toán Bc theo công thức Bc=rate*Tc hay là 64kbps * 0.125s = 8000 bit. Cả hai công cụ CB Shaping và FRTS đều dùng giá trị mặc định trong vài trường hợp.
TS dùng mô hình token bucket để quản lý quá trình điều hoà lưu lượng. Đầu tiên ta hãy xem xét trường hợp TS không dùng Be. Giả sử rằng có một hộp dữ liệu bucket có kích thước bằng Bc, trong đó chưa đầy các tokens ở đầu mỗi chu kỳ Tc. Mỗi token sẽ cho phép router có quyền gửi đi 1 bit dữ liệu. Vì vậy, ở đầu mỗi chu kỳ, router có khả năng giải phóng một lượng là Bc bit dữ liệu. TS thực hiện hai hành động chính liên quan đến bucket:
Lấp đầy bucket một lần nữa bằng các tokens mới ở đầu mỗi chu kỳ Tc.
Sử dụng các token để chiếm được quyền để chuyển gói tin đi.
Bước 1 mô tả các hộp dữ liệu bucket được lấp đầy bằng một số Bc các token để khởi động mỗi chu kỳ. Hình dưới đây hiển thị hình ảnh của tiến trình này. Cũng lưu ý rằng nếu có vài token từ các chu kỳ trước vẫn còn trong bucket, một vài token mới sẽ tràn qua khả năng của bucket và bị lãng phí.
Bước 2 sẽ mô tả TS sử dụng các token như thế nào. Router phải lấy các tokens từ buckets bằng với số bit trong một gói tin để giải phóng gói tin đó cho việc truyền. Ví dụ, nếu gói tin có kích thước là 1000 bits, router sẽ lấy ra khỏi bucket 1000 token để gửi gói tin đó đi. Khi TS cố gắng gửi một gói tin và bucket không có đủ tokens để có đủ quyền để gửi gói tin, TS phải chờ cho đến chu kỳ kế tiếp khi các token được lấp đầy trong bucket .
TS hiện thực Be bằng cách làm cho một token trở nên lớn hơn nhưng vẫn không thay đổi mô hình token-bucket. Nói cách khác, chỉ có một số lượng Bc của các token được thêm vào trong mỗi chu kỳ và token vẫn phải được tiêu thụ để có thể gửi các gói tin. Sự khác biệt chủ yếu của việc dùng Be (và không dùng Be) là khi có vài token còn lại trong bucket ở cuối của mỗi chu kỳ, và có thêm Bc token được thêm vào các chu kỳ kế tiếp, sẽ dẫn đến trong bucket sẽ có nhiều hơn Bc token vì vậy cho phép gửi ra nhiều bits hơn trong chu kỳ mới.
Điều chỉnh Traffic-Shaping (TS) trên mạng Frame Relay
FRTS có thể được cấu hình để thay đổi tốc độ điều hòa theo thời gian dựa trên việc có nghẽn hay không có nghẽn. Khi không có nghẽn xảy ra, router sẽ truyền ở tốc độ điều hoà, shaping rate. Nhưng khi có nghẽn xảy ra, router sẽ hạ tốc độ này xuống, ở mức tối thiểu gọi là minimum shaping rate.
Tốc độ tối thiểu có thể được cấu hình hoặc mặc định bằng 50% của tốc độ ban đầu. Tốc độ tối thiểu này còn được gọi là tốc độ thông tin tối thiểu minimum information rate (MIR) hay còn gọi là mincir. Để hạ tốc độ truyền xuống, TS phải nhận ra có nghẽn thông qua hai cách thức sau:
Router nhận được một frame có bit Backward Explicit Congestion Notification (BECN).
Router nhận được tín hiệu báo nghẽn Foresight. (Báo hiệu này là chuẩn của Cisco).
Mỗi lần có một thông điệp BECN hay ForeSight được nhận, router sẽ làm chậm tốc độ truyền tối đa 25%. Router làm chậm bằng cách đơn giản trừ giá trị Bc và Be đi 25%, vẫn giữ nguyên giá trị Tc. Nếu có nhiều thông điệp BECN và ForeSight nhận được, các thông số Bc và Be sẽ giảm xuống một lượng 25% nữa, cho đến khi nào nó chạm đáy ở giá trị mincir.
Tốc độ truyền tăng lại một lần nữa sau 16 chu kỳ Tc liên tiếp nếu không được thông điệp BECN hay thông điệp ForeSight. Ở thời điểm đó, tốc độ shaping rate sẽ tăng trong mỗi chu kỳ Tc. Trong trường hợp này, các giá trị Bc và Be sẽ được tăng cho đến khi nào router đạt được tốc độ truyền tối đa.
Comment