Quản lý nghẽn và tránh nghẽn
Cơ chế quản lý nghẽn, còn được gọi là cơ chế hàng đợi (queuing), muốn chỉ đến cách thức mà một router hay một switch quản lý một gói tin hay một frame khi dữ liệu đó đang chờ để đi ra một cổng. Với router, quá trình chờ đợi thường diễn ra khi tiến trình đẩy gói tin IP đã hoàn tất. Vì vậy, cơ chế hàng đợi thường chỉ được xem xét là hàng đợi ra. Các LAN switch thường hỗ trợ cả hàng đợi vào và hàng đợi ra, trong đó hàng đợi vào thường được dùng để nhận frame đang được truyền ra ngõ ra của switch.
Công cụ tránh nghẽn muốn chỉ đến thuật toán được dùng khi quyết định có hay không và khi nào thì gói tin nên bị loại bỏ khi một hệ thống hàng đợi đã bị quá tải.
Khái niệm hàng đợi trong Cisco router
Các router Cisco có thể được cấu hình để thực hiện đưa vào hàng đợi những gói tin đang chờ thoát ra khỏi một cổng. Ví dụ, nếu một router nhận mức lưu lượng 5Mbps mỗi giây trong vài giây liên tiếp và tất cả các lưu lượng đó cần đi ra một cổng T1 (1.544Mps), router sẽ không thể truyền tất cả các lưu lượng đó. Vì vậy, router sẽ đặt tất cả các gói tin vào một trong những hàng đợi phần mềm. Những hàng đợi này có thể cấu hình và thông qua đó, người quản trị có thể can thiệp những gói tin nào có thể kế tiếp rời khỏi cổng, những gói tin nào có thể loại bỏ.
Hàng đợi phần cứng và hàng đợi phần mềm
Khái niệm này dễ bị bỏ qua khi ta nói đến các chi tiết bên dưới của hàng đợi cứng và hàng đợi mềm trong một cổng vật lý của router. Các hàng đợi được tạo ra trên một cổng của router bằng các công cụ hàng đợi là hàng đợi mềm vì các hàng đợi này được hiện thực bằng phần mềm. Tuy nhiên, khi cơ chế hàng đợi xử lý đến gói tin kế tiếp trong hàng đợi mềm, gói tin này không được di chuyển trực tiếp ra cổng vật lý.
Thay vào đó, router sẽ di chuyển gói tin từ hàng đợi mềm sang một hàng đợi nhỏ bằng phần cứng FIFO. Cisco gọi các hàng đợi riêng biệt cuối cùng này là hàng đợi truyền (transmit queue - TX queue) hoặc vòng tròn hoặc vòng tròn truyền (TX ring) tùy thuộc vào kiểu router. Tổng quát, các hàng đợi này được gọi là các hàng đợi phần cứng.
Các hàng đợi phần cứng có các đặc điểm sau đây:
Khi một cổng hoàn tất việc gửi một gói tin, gói tin kế tiếp từ hàng đợi cứng có thể được mã hóa và gửi ra cổng mà không cần ngắt CPU bằng phần mềm, giúp đảm bảo sử dụng đầy đủ băng thông của cổng.
Luôn luôn dùng cơ chế FIFO.
Không thể bị ảnh hưởng bởi các công cụ hàng đợi QoS.
IOS tự động giảm kích thước của hàng đợi phần cứng đến một chiều dài nhỏ hơn khi một công cụ hàng đợi được dùng.
Các hàng đợi phần cứng có chiều dài ngắn có ý nghĩa là các gói tin có thể kiểm soát bằng các phần mềm hàng đợi, cho phép các hàng đợi mềm kiểm soát chặt chẽ hơn lưu lượng đi ra khỏi cổng. Chức năng duy nhất của hàng đợi phần cứng mà ta có thể thao tác là chiều dài của hàng đợi. Hình dưới đây mô tả chiều dài hiện thời của hàng đợi và làm thế nào để thay đổi chiều dài.
Ví dụ bắt đầu bằng kiểu hàng đợi FIFO trên một cổng. Trong ví dụ này, hàng đợi mặc định có chiều dài là 16 bytes.
R3# show controllers serial 0/0
Interface Serial0/0
tx_limited=0(16)
! lines omitted for brevity
! Next, the TX ring is set to length 1.
! (The smallest recommended value is 2.)
R3# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)# int s 0/0
R3(config-if)# tx-ring-limit1
R3(config-if)# ^Z
Các cơ chế hàng đợi trên cổng và trên sub-interface
Các công cụ hàng đợi của IOS có thể tạo và quản lý các hàng đợi mềm kết hợp trong một cổng vật lý và sau đó các gói tin chảy vào hàng đợi phần cứng. Thêm vào đó, các hàng đợi phần mềm có thể được dùng kết hợp với công cụ định dạng lưu lượng shaping. Các công cụ định dạng lưu lượng (shaping) có thể làm chậm gói tin để đảm bảo rằng một nhóm các gói tin không vượt quá tốc độ định nghĩa. Khi làm chậm gói tin, chức năng định dạng lưu lượng sẽ xếp hàng các gói, mặc định theo kiểu FIFO. Tùy thuộc vào kiểu công cụ định hình lưu lượng được dùng, các hàng đợi khác nhau có thể được cấu hình để quản lý độ trễ của các gói tin gây ra bởi công cụ shaping.
So sánh các công cụ hàng đợi
Cisco IOS cung cấp nhiều công cụ hàng đợi. Bảng dưới đây sẽ tóm tắt các đặc điểm chính của các công cụ hàng đợi khác nhau.
Khi ta khảo sát các cơ chế hàng đợi, ta cần xem xét cách thức phân loại mà cơ chế hàng đợi này dùng, chính sách loại bỏ gói tin khi tất cả các hàng đợi đều đã đầy, phần định thời được dùng để giải phóng gói tin. Ta cũng cần phân tích số hàng đợi tối đa được hỗ trợ trong mỗi cơ chế và chiều dài tối đa của mỗi hàng đợi.
Các công cụ hàng đợi FIFO, PQ, CQ, WFQ, CBWFQ, và LLQ
(Còn tiếp)
Cơ chế quản lý nghẽn, còn được gọi là cơ chế hàng đợi (queuing), muốn chỉ đến cách thức mà một router hay một switch quản lý một gói tin hay một frame khi dữ liệu đó đang chờ để đi ra một cổng. Với router, quá trình chờ đợi thường diễn ra khi tiến trình đẩy gói tin IP đã hoàn tất. Vì vậy, cơ chế hàng đợi thường chỉ được xem xét là hàng đợi ra. Các LAN switch thường hỗ trợ cả hàng đợi vào và hàng đợi ra, trong đó hàng đợi vào thường được dùng để nhận frame đang được truyền ra ngõ ra của switch.
Công cụ tránh nghẽn muốn chỉ đến thuật toán được dùng khi quyết định có hay không và khi nào thì gói tin nên bị loại bỏ khi một hệ thống hàng đợi đã bị quá tải.
Khái niệm hàng đợi trong Cisco router
Các router Cisco có thể được cấu hình để thực hiện đưa vào hàng đợi những gói tin đang chờ thoát ra khỏi một cổng. Ví dụ, nếu một router nhận mức lưu lượng 5Mbps mỗi giây trong vài giây liên tiếp và tất cả các lưu lượng đó cần đi ra một cổng T1 (1.544Mps), router sẽ không thể truyền tất cả các lưu lượng đó. Vì vậy, router sẽ đặt tất cả các gói tin vào một trong những hàng đợi phần mềm. Những hàng đợi này có thể cấu hình và thông qua đó, người quản trị có thể can thiệp những gói tin nào có thể kế tiếp rời khỏi cổng, những gói tin nào có thể loại bỏ.
Hàng đợi phần cứng và hàng đợi phần mềm
Khái niệm này dễ bị bỏ qua khi ta nói đến các chi tiết bên dưới của hàng đợi cứng và hàng đợi mềm trong một cổng vật lý của router. Các hàng đợi được tạo ra trên một cổng của router bằng các công cụ hàng đợi là hàng đợi mềm vì các hàng đợi này được hiện thực bằng phần mềm. Tuy nhiên, khi cơ chế hàng đợi xử lý đến gói tin kế tiếp trong hàng đợi mềm, gói tin này không được di chuyển trực tiếp ra cổng vật lý.
Thay vào đó, router sẽ di chuyển gói tin từ hàng đợi mềm sang một hàng đợi nhỏ bằng phần cứng FIFO. Cisco gọi các hàng đợi riêng biệt cuối cùng này là hàng đợi truyền (transmit queue - TX queue) hoặc vòng tròn hoặc vòng tròn truyền (TX ring) tùy thuộc vào kiểu router. Tổng quát, các hàng đợi này được gọi là các hàng đợi phần cứng.
Các hàng đợi phần cứng có các đặc điểm sau đây:
Khi một cổng hoàn tất việc gửi một gói tin, gói tin kế tiếp từ hàng đợi cứng có thể được mã hóa và gửi ra cổng mà không cần ngắt CPU bằng phần mềm, giúp đảm bảo sử dụng đầy đủ băng thông của cổng.
Luôn luôn dùng cơ chế FIFO.
Không thể bị ảnh hưởng bởi các công cụ hàng đợi QoS.
IOS tự động giảm kích thước của hàng đợi phần cứng đến một chiều dài nhỏ hơn khi một công cụ hàng đợi được dùng.
Các hàng đợi phần cứng có chiều dài ngắn có ý nghĩa là các gói tin có thể kiểm soát bằng các phần mềm hàng đợi, cho phép các hàng đợi mềm kiểm soát chặt chẽ hơn lưu lượng đi ra khỏi cổng. Chức năng duy nhất của hàng đợi phần cứng mà ta có thể thao tác là chiều dài của hàng đợi. Hình dưới đây mô tả chiều dài hiện thời của hàng đợi và làm thế nào để thay đổi chiều dài.
Ví dụ bắt đầu bằng kiểu hàng đợi FIFO trên một cổng. Trong ví dụ này, hàng đợi mặc định có chiều dài là 16 bytes.
R3# show controllers serial 0/0
Interface Serial0/0
tx_limited=0(16)
! lines omitted for brevity
! Next, the TX ring is set to length 1.
! (The smallest recommended value is 2.)
R3# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)# int s 0/0
R3(config-if)# tx-ring-limit1
R3(config-if)# ^Z
Các cơ chế hàng đợi trên cổng và trên sub-interface
Các công cụ hàng đợi của IOS có thể tạo và quản lý các hàng đợi mềm kết hợp trong một cổng vật lý và sau đó các gói tin chảy vào hàng đợi phần cứng. Thêm vào đó, các hàng đợi phần mềm có thể được dùng kết hợp với công cụ định dạng lưu lượng shaping. Các công cụ định dạng lưu lượng (shaping) có thể làm chậm gói tin để đảm bảo rằng một nhóm các gói tin không vượt quá tốc độ định nghĩa. Khi làm chậm gói tin, chức năng định dạng lưu lượng sẽ xếp hàng các gói, mặc định theo kiểu FIFO. Tùy thuộc vào kiểu công cụ định hình lưu lượng được dùng, các hàng đợi khác nhau có thể được cấu hình để quản lý độ trễ của các gói tin gây ra bởi công cụ shaping.
So sánh các công cụ hàng đợi
Cisco IOS cung cấp nhiều công cụ hàng đợi. Bảng dưới đây sẽ tóm tắt các đặc điểm chính của các công cụ hàng đợi khác nhau.
Khi ta khảo sát các cơ chế hàng đợi, ta cần xem xét cách thức phân loại mà cơ chế hàng đợi này dùng, chính sách loại bỏ gói tin khi tất cả các hàng đợi đều đã đầy, phần định thời được dùng để giải phóng gói tin. Ta cũng cần phân tích số hàng đợi tối đa được hỗ trợ trong mỗi cơ chế và chiều dài tối đa của mỗi hàng đợi.
Các công cụ hàng đợi FIFO, PQ, CQ, WFQ, CBWFQ, và LLQ
(Còn tiếp)
Comment