Chúng tôi có một nhà cung cấp dịch vụ (và chúng tôi không thể thay đổi nhà cung cấp), người sẽ cho chúng tôi kết nối kiểu "metro ethernet" giữa hai địa điểm của chúng tôi. Ở mỗi đầu, chúng tôi cắm vào cổng ethernet trên công tắc của nhà cung cấp và họ gửi khung qua lại. Chúng tôi nhận được một băng thông nhất định từ họ và họ đang bỏ các gói vượt qua băng thông.
Tôi khá chắc chắn rằng một cách tốt để chúng tôi không vượt quá giới hạn của chúng và tránh các gói bị rơi là để chúng tôi định hình lưu lượng truy cập của mình để phù hợp với giới hạn. Tôi nghĩ rằng tôi rất gần để hiểu làm thế nào để làm điều này, nhưng nó khá phức tạp. Chúng tôi có một Cisco Catalyst 3560X ở mỗi bên của kết nối.
Nếu tôi muốn định hình lưu lượng truy cập xuống tới 50 Mbps trên đường hầm, có vẻ như cách đúng (có thể là duy nhất?) Là sử dụng định hình trên hàng đợi đi ra của các cổng được sử dụng cho liên kết trên mỗi 3560 của chúng tôi. Chúng tôi không cần đánh dấu hoặc phân loại bất kỳ lưu lượng truy cập nào, chúng tôi chỉ muốn định hình mọi thứ xuống tới 50 Mbps. Đây là một ví dụ cấu hình cổng ngay bây giờ:
interface GigabitEthernet0/1
speed auto 10 100
spanning-tree portfast disable
Tôi biết tôi sẽ muốn làm mls qos
trong chế độ cấu hình toàn cầu. Sau đó, tôi sẽ thấy một cái gì đó như thế này:
[Switch name]# show mls qos int gig0/1 queueing
GigabitEthernet0/1
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
Sự hiểu biết của tôi cho đến nay là như sau, hãy sửa tôi:
- Tất cả lưu lượng truy cập sẽ là CoS 0 / không được đánh dấu, do đó sẽ đi vào hàng đợi 2 theo mặc định.
- Hàng đợi 2 đang chia sẻ băng thông bằng nhau với hàng đợi 3 và 4 và trọng số của hàng đợi 1 bị bỏ qua.
- Hàng đợi ra 1 được định hình bằng 1/25 băng thông giao diện, vì vậy 4 Mbps trong trường hợp này.
Vì vậy, tôi nhận được rằng hàng đợi 2 - 4 được đảm bảo 33% băng thông (33 Mbps, phải không?) Và hàng đợi 1 được định hình thành 4 Mbps. Câu hỏi đầu tiên của tôi là:
Với cấu hình mặc định này, nếu chỉ sử dụng hàng đợi 2 , nó sẽ nhận được bao nhiêu băng thông? 100 Mbps? Và nếu tất cả các hàng đợi được sử dụng đầy đủ, hàng đợi 1 sẽ có 4 Mbps và hàng đợi 2 - 4 mỗi hàng sẽ có 32 Mbps (100 - 4 = 96/3 = 32)?
Và bây giờ là câu hỏi thực sự:
Để định hình tất cả lưu lượng truy cập không được phân loại để phù hợp với 50 Mb / giây, tôi có thể chỉ cần nhập
srr-queue bandwidth shape 0 2 0 0
vào giao diện được đề cập và được thực hiện không?
Có vẻ như giới hạn chia sẻ và định hình hàng đợi không được đảm bảo, vì vậy tôi có thể cần phải giảm xuống mức 45 Mbps danh nghĩa trên hàng đợi đi ra nếu có bất kỳ sự cố nào vượt quá 50 Mbps. Tôi có thể làm điều đó bằng cách chỉ chạy srr-queue bandwidth limit 90
kết hợp với các hình trên? Thay vào đó, nó sẽ giống nhau khi sử dụng:
srr-queue bandwidth shape 0 1 0 0
srr-queue bandwidth limit 45
Điều đó có định hình hàng đợi 2 đến 45 Mbps (trên giao diện 100 Mbps) không?
Khi tôi hiểu điều đó, tôi đoán điểm dừng tiếp theo của tôi là sắp xếp phân bổ bộ đệm và ngưỡng để việc định hình của tôi giảm xuống càng ít gói càng tốt, phải không? Đó có thể là một câu hỏi riêng nếu cần thiết, nhưng thực sự điều đó dường như có ý nghĩa hơn rất nhiều cho đến nay.