Một giải pháp tốt hơn sử dụng khả năng của CB Shaping bao gồm CBWFQ hay LLQ như một công cụ sếp hàng đợi shaping. Trong hai ví dụ đầu tiên hàng đợi shaping là một hàng đợi FIFO bởi vì xếp hàng đợi không đước cấu hình. Trong ví du sau CB shaping sẽ shape tất cả lưu lượng truy cập bao gồm thoại 92 kbps, nhưng với LLQ đước sử dụng trên hàng đợi shape để đảm bảo chất lượng thoại tốt. Bởi vì nó sẽ shape lưu lượng thoại , câu hình Tc thấp xuống 10 ms, đó là giá trị được đề nghị cho Tc khi lưu lượng tắc nghẽn lưu lượng thoại và video được shaped.
Ensure high-quality VoIP for one G.729 call, through low loss, low delay, and low jitter.
Achieve VoIP loss goal by not exceeding the policing rate of the service provider.
82 Choose values so Tc is 10 ms.
Shape all traffic, including voice, because LLQ will always take the voice traffic next anyway.
Ví dụ 2-3. CB Shaping on R3, 92-kbps Shape Rate, with LLQ for Shaping Queues
ip cef !
class-map match-all voip-rtp match ip rtp 12384 12383
! The following Policy map is used for queuing (LLQ) policy-map queue-voip class voip-rtp priority 32 class class-default fair-queue !
! The following Policy map is used for Shaping; ! It refers to policy-map queue-voip
! policy-map shape-all class class-default shape average 92000 920 service-policy queue-voip ! interface serial0/0 bandwidth 24 load-interval 30 fair-queue interface serial0/0.1
service-policy output shape-all R3#show policy-map
Policy Map shape-all Class class-default Traffic Shaping
Average Rate Traffic Shaping
CIR 92000 (bps) Max. Buffers Limit 1000 (Packets) Bc 920
service-policy queue-voip Policy Map queue-voip Class voip-rtp
Weighted Fair Queueing Strict Priority
Bandwidth 32 (kbps) Burst 800 (Bytes) Class class-default
Weighted Fair Queueing
Flow based Fair Queueing Max Threshold 24 (packets) R3#show policy-map interface serial 0/0.1
83 Service-policy output: shape-all
Class-map: class-default (match-any) 5189 packets, 927835 bytes
30 second offered rate 91000 bps, drop rate 0 bps Match: any
Traffic Shaping
Target/Average Byte Sustain Excess Interval Increment Rate Limit bits/int bits/int (ms) (bytes)
92000/92000 1200 920 920 10 120
Adapt Queue Packets Bytes Packets Bytes Shaping Active Depth Delayed Delayed Active - 17 5172 910975 4002 831230 yes Service-policy : queue-voip
Class-map: voip-rtp (match-all) 4223 packets, 295872 bytes
30 second offered rate 25000 bps, drop rate 0 bps Match: ip rtp 12384 12383
Weighted Fair Queueing Strict Priority
Output Queue: Conversation 24 Bandwidth 32 (kbps) Burst 800 (Bytes) (pkts matched/bytes matched) 3528/225792 (total drops/bytes drops) 0/0
Class-map: class-default (match-any) 522 packets, 231923 bytes
30 second offered rate 25000 bps, drop rate 0 bps Match: any
Weighted Fair Queueing Flow Based Fair Queueing
Maximum Number of Hashed Queues 12 (total queued/total drops/no-buffer drops) 17/0/0
Hình 2-19. Interaction Between Shaping Policy Map shape-all and Queuing Policy Map queue-voip
Nhìn hình trên từ trái sang phải, gói đầu tiên được chuyển ra subinterface. Sau đó IOS kiểm tra shaping có hoạt động. Shaping sẽ được kích hoạt khi một gói tin vượt quá hợp đồng lưu lượng, shaping chỉ không hoạt động khi tất cả các hảng đợi shaping trống và các gói tin tiếp theo không vượt quá lưu lượng hợp đồng. Do đó shaper phải
84
hoạt động ở bước này để quyết định xem có nên cố xếp hàng các gói tin vào hàng đợi shaping.
Nếu gói dữ liệu vượt quá hợp đồng, Shaper cần phải xếp các gói tin vào hàng đợi. Trong trường hợp này thay vì một hàng đợi FIFO bạn có một hệ thống xếp hàng cho hàng đợi shaping theo quy định của policy-map queue-voip. Policy Map này xác định hai hàng đợi, một là một 32-kbps hàng đợi độ trễ thấp đặt vào đó tất cả lưu lượng thoại. Hàng đợi này đã được tạo ra với các lệnh class voip-rtp bến trong policy-map queue-voip. Bởi vì queue-voip đinh nghia xếp hàng đợi và không có các chi tiết khác đã được cấu hình, tất cả các các gói tin khác đi vào một hàng đợi thứ hai, kết hợp với class-default class. (WFQ được áp dụng cho các gói tin trong hàng đợi class-default theo mặc định, nhưng nó có thể được vô hiệu hóa.)
Bước tiếp theo trong quá trình này cho thấy cách tích hợp các chức năng xếp hàng đợi và shaping trong cùng một cấu hình. Sau khi gói tin đã được xếp vào một trong những hàng đợi shaping , CB shaping phải quyết định khi nào có một gói dữ liệu đi ra khỏi hàng đợi. Tuy nhiên Shaper không quyết định gói tin logic xếp hàng theo quy định, policy-map queue-voip xác định gói tin đến dequeue tiếp theo. Do đó lệnh shape average 92000 920 cho biết tốc độ và giá trị Bc sử dụng để quyết định khi nó có thể tiếp tục dequeue gói tin từ hàng đợi shaping . Khi CB shaping giải phóng các gói tin kế tiếp từ hàng đợi shaping , các gói tin được đặt vào hàng đợi mềm, và cuối cùng đi ra khỏi giao diện nối tiếp.
Sự tương tác giữa CB shaping và công cụ xếp hàng đợi được sử dụng cho các hàng đợi shaping (LLQ). Đặc biệt Shaper phải đưa ra quyết định về việc đặt một gói tin vào hàng đợi shaping , và sau đó là Shaper quyết định các gói tin tiếp theo có thể được lấy từ một hàng đợi shaping . Giữa các điểm, trình lập lịch xếp hàng đợi quyết định gói dịch vụ tiếp theo từ hàng đợi shaping.
Cuối cùng service-policy đầu ra shape-all subcommand trên giao diện s0/0.1 enables các chính sách trên subinterface, enables CB shaping . Do đó CB shaping logic và LLQ logic, được áp dụng cho tất cả các gói đi ra khỏi subinterface serial 0/0.1.
Ví dụ 2-4. CB Shaping on R3, 92-kbps Shape Rate, with LLQ for Shaping Queues
! Portions omitted for brevity policy-map test1
class class-default shape peak 24000 interface Serial0/0
service-policy output test1
R3#show policy-map interface s 0/0 Serial0/0
Service-policy output: test1
Class-map: class-default (match-any) 20 packets, 1245 bytes
5 minute offered rate 0 bps, drop rate 0 bps Match: any
85 Traffic Shaping
Target/Average Byte Sustain Excess Interval Increment Rate Limit bits/int bits/int (ms) (bytes)
128000/24000 2000 8000 8000 125 2000 Adapt Queue Packets Bytes Packets Bytes Shaping Active Depth Delayed Delayed Active - 0 0 0 0 0 no
Để giải thích ví dụ này, đầu tiên hãy nhớ rằng Bc mặc định là 8000 bit ở tốc độ thấp hơn so với 320 kbps, và Be = Bc theo mặc định. Lệnh show policy-map interface s0/0 liệt kê tốc độ là 128.000 bit/giây. Ngoài ra các cột có nhãn Increment
(byte) đề cập đến số lượng các byte giá trị các thẻ bổ sung trở lại xô trong mỗi khoảng thời gian. Để hỗ trợ tốc độ đỉnh, thay vì chỉ cần thêm Bc giá trị của thẻ (1000 byte), Bc + Be (2000 byte) giá trị của thẻ được thêm vào.