Quản lý nghẽn

Một phần của tài liệu Chất lượng dịch vụ mạng IP (Trang 25 - 65)

2.2.3.1 Giới thiệu hàng đợi

Nghẽn có thể xảy ra ở nhiều vị trí khác nhau trong mạng, là kết quả của nhiều yếu tố ví dụ không đủ bộ đệm, những điểm tập trung nhiều lƣu lƣợng, những điểm chuyển tiếp trong mạng, sự không đồng nhất về tốc độ. Tăng băng không thích hợp cho giải quyết vấn đề nghẽn trong nhiều trƣờng hợp. Lƣu lƣợng tăng lên có thể làm đầy hàng đợi và làm ảnh hƣởng đến lƣu lƣợng tƣơng tác và thoại. Kết quả có thể làm ảnh hƣởng đến những lƣu lƣợng nhạy cảm với trễ. Các thuật toán hàng đợi đƣợc đƣa ra để quản lý nghẽn. Mỗi một thuật toán đƣợc thiết kế cho những dịch vụ khác nhau. Có 5 thuật toán hàng đợi hay đƣợc sử dụng:

- Hàng đợi vào trƣớc ra trƣớc (FIFO): thuật toán đơn giản nhất. - Hàng đợi ƣu tiên (PQ): cho phép lƣu lƣợng thoại đƣợc ƣu tiên.

- Hàng đợi quay vòng (RR): cho phép một số luồng lƣu lƣợng chia sẻ băng thông.

- Hàng đợi quay vòng có trọng số (WRR): cho phép chia sẻ băng thông kết hợp với đối xử ƣu tiên.

- Hàng đợi quay vòng thâm hụt (DRR): giải quyết những vấn đề trong thực hiện WRR.

FIFO là hàng đợi đơn giản nhất. Tất cả các gói đƣợc đặt trong một hàng đợi đơn và đƣợc phục vụ theo thứ tự thời gian gói đến. Có nghĩa là gói đến trƣớc đƣợc phục vụ trƣớc. Thực tế tất cả những hàng đợi riêng lẻ là những hàng đợi FIFO. Những phƣơng pháp hàng đợi khác đều dựa vào hàng đợi FIFO.

Hàng đợi ƣu tiên (PQ) cũng khá đơn giản. Mỗi gói đƣợc gán một mức ƣu tiên và đƣợc đặt trong những hàng đợi phân cấp dựa trên mức độ ƣu tiên. Khi không còn gói nào ở hàng đợi có mức ƣu tiên cao hơn, hàng đợi tiếp theo sẽ đƣợc phục vụ. Nếu một gói đến hàng đợi cao hơn, gói từ hàng đợi cao hơn sẽ đƣợc gửi trƣớc bất kỳ gói nào có mức hàng đợi nhỏ hơn.Vấn đề với hàng đợi PQ là với những gói có mức ƣu tiên nhỏ có thể không đƣợc gửi đi nếu những gói đến liên tục đi đến những hàng đợi có mức ƣu tiên cao hơn.

Sinh viên: Trần Năng Lực – Lớp: D06VT1 21

Với hàng đợi quay vòng (RR), mỗi một gói sẽ đi đến một hàng đợi, trong mỗi một vòng các hàng đợi sẽ đƣợc phục vụ lần lƣợt. Mỗi khi hàng đợi đƣợc phục vụ, một gói ở hàng đợi đó đƣợc gửi đi. Nếu tất cả các gói có kích thƣớc giống nhau thì tất cả các hàng đợi sẽ chia sẻ băng thông bằng nhau. Nếu một gói có kích thƣớc lớn đƣợc đặt trong một hàng đợi thì hàng đợi có gói kích thƣớc lớn sẽ nhận đƣợc nhiều băng thông hơn. WRR đƣợc phát triển để cung cấp khả năng ƣu tiên cho RR. Trong WRR, Mỗi gói đƣợc gán với một phân lớp lƣu lƣợng và mỗi gói đƣợc đặt trong những hàng đợi dành cho dịch vụ đó. Mỗi hàng đợi có một mức ƣu tiên gọi là “trọng số” (weight). Ví dụ, trong một vòng 4 gói ở lớp ƣu tiên cao đƣợc gửi đi sau đó là đến 2 gói từ lớp ƣu tiên trung bình, cuối cùng là 1 gói có lớp ƣu tiên nhỏ. WRR cũng có thể đƣợc cấu hình để thực hiện theo byte trong mỗi vòng. Xét một bộ định tuyến tại một giao diện đầu ra đƣợc cấu hình số byte đƣợc gửi cho một hàng đợi trong mỗi vòng là 3000byte. Nếu bộ định tuyến gửi 2 gói đầu tiên với tổng kích thƣớc 2999 byte. Bởi vì 2999 byte vẫn nhỏ hơn 3000 byte vì vậy bộ định tuyến có thể gửi gói tiếp theo. Kết quả là hàng đợi đó đƣợc cấp băng thông nhiều hơn 3000 byte. Đó là nhƣợc điểm của WRR- nó không cấp phát chính xác băng thông.

Vấn đề của WRR là không cung cấp băng thông chính xác. DRR cải tiến của WRR để giải quyết vấn đề cấp phát băng thông không chính xác của WRR. DRR sử dụng bộ đếm thâm hụt (deficit) để lƣu giữ số lƣợng byte gửi thêm (extra) (số byte gửi quá mức cho phép ở mỗi vòng). Trong vòng tiếp theo, số byte đƣợc gửi đi bằng số byte cho phép gửi đi trong một vòng trừ đi số byte ở bộ đếm thâm hụt.

Hình 2.4. Thành phần của hàng đợi

Hình 2.4 biểu diễn các thành phần của hàng đợi. Hàng đợi gồm 2 thành phần là: hàng đợi cứng và hàng đợi mềm.

Sinh viên: Trần Năng Lực – Lớp: D06VT1 22

- Hàng đợi cứng: sử dụng FIFO, gói đi đến hàng đợi này để chờ để chuyển đi khi đƣờng truyền là khả dụng để chuyển gói. Hàng đợi cứng đôi khi còn đƣợc gọi là hàng đợi phát đi (TxQ).

- Hàng đợi mềm: lập lịch những gói đi vào hàng đợi cứng dựa trên những yêu cầu QoS.

Hàng đợi mềm chỉ đƣợc thực thi khi giao diện bị nghẽn, hàng đợi mềm có thể đƣợc bỏ qua bất cứ khi nào hàng đợi cứng còn chỗ. Hàng đợi mềm chỉ đƣợc sử dụng khi dữ liệu phải chờ để đƣa đến hàng đợi cứng. Một tham số quan trọng của hàng đợi cứng chính là độ dài hàng đợi. Trên bất kỳ giao diện mạng nào, hàng đợi cứng đều ảnh hƣởng tới việc lựa chọn giữa trễ và số lƣợng lƣu lƣợng truyền bùng nổ của giao diện có thể cho phép. Kích thƣớc hàng đợi lớn cho phép truyền bùng nổ dài hơn trong khi đó lại làm tăng trễ. Kích thƣớc hàng đợi phải đủ nhỏ để tránh trễ bởi do thời gian xếp hàng. Tuy nhiên hàng đợi phải đủ lớn để tránh loại bỏ gói và gây ra những ảnh hƣởng cho luồng TCP.

2.2.3.2 Hàng đợi vào trƣớc ra trƣớc (FIFO)

Hình 2.5 biểu diễn hàng đợi FIFO. Hàng đợi FIFO không phân loại gói bởi vì tất cả những gói đến đều thuộc một phân lớp lƣu lƣợng. Gói bị loại bỏ khi hàng đợi đầu ra là đầy. Việc lập lịch gói dựa trên thứ tự mà gói đến. Hàng đợi FIFO mềm về cơ bản là sự mở rộng của hàng đợi cứng.

Mặc dù FIFO có thể đƣợc coi nhƣ là hàng đợi công bằng nhất, nhƣng nó cũng có những nhƣợc điểm:

- FIFO trở lên không công bằng khi có một số luồng lƣu lƣợng lớn, những luồng có lƣu lƣợng nhỏ có thể bị loại gói bởi vì hàng đợi FIFO bị lấp đầy bởi những luồng lƣu lƣợng lớn.

- Có một số thời điểm hàng đợi FIFO không có dữ liệu, trong khi đó thì tại một thời điểm thì hàng đợi luôn đầy gây ra hiện tƣợng loại gói.

Ngoài những nhƣợc điểm đó FIFO có ƣu điểm:

- FIFO đơn giản. Hầu hết bộ định tuyến tốc độ cao thƣờng sử dụng FIFO vì ở những bộ định tuyến này thƣờng không có khả năng phân loại, lập lịch gói phức tạp trong một thời gian rất ngắn.

Sinh viên: Trần Năng Lực – Lớp: D06VT1 23 Phân loại FIFO Lập lịch Các gói đến Đầu ra Hình 2.5 Hàng đợi FIFO

2.2.3.3 Hàng đợi ƣu tiên (PQ)

Hình 2.6 biểu diễn hàng đợi PQ. PQ ƣu tiên xử lý những hàng đợi ƣu tiên mức cao hơn những hàng đợi có mức ƣu tiên thấp hơn.Gói đƣợc phân loại sau đó đƣợc đƣa đến 1 trong N hàng đợi, mỗi hàng đợi có mức độ ƣu tiên từ 1 đến N. Thứ tự lập lịch đƣợc xác định bởi thứ tự ƣu tiên. Gói ở hàng đợi thứ j đƣợc phục vụ chỉ khi không còn gói nào ở trong hàng đợi có mức ƣu tiên cao hơn, ví dụ nhƣ hàng đợi từ 1 đến j-1. Ví dụ, nếu một gói đến bất kỳ hàng đợi nào có mức ƣu tiên hơn j, ví dụ hàng đợi j-3 trong khi bộ lập lịch đang ở hàng đợi j, bộ lập lịch sẽ quay trở về hàng đợi j-3.

Giống FIFO hàng đợi PQ là đơn giản. Nhƣợc điểm của PQ chính là PQ gây ra hiện tƣợng gọi là “ thiếu băng thông (starvation)” của những hàng đợi có mức ƣu tiên nhỏ. Hàng đợi có mức ƣu tiên cao thƣờng đƣợc xử lý trƣớc, những hàng đợi có mức ƣu tiên thấp có thể không bao giờ đƣợc xử lý để gửi gói đi. Bởi vì gây ra hiện tƣợng thiếu băng thông vì vậy cần chú ý khi sử dụng PQ. PQ thích hợp và đơn giản để tạo ra hàng đợi dành riêng cho những lƣu lƣợng thời gian thực ví dụ nhƣ thoại. Lƣu lƣợng thời gian thực nhƣ thoại, truyền hình thƣờng sử dụng UDP. PQ gây ra nhiều ảnh hƣởng đến nhiều ứng dụng ngày nay. Ví dụ khi trong mạng có kết nối FTP, duyệt web, và một số cuộc gọi thoại, những kết nối TCP của FTP, HTTP có thể bị mất kết nối.

Sinh viên: Trần Năng Lực – Lớp: D06VT1 24 Phân loại Hàng đợi 1 Lập lịch Các gói đến Đầu ra Hàng đợi 2 Hàng đợi n Thứ tự quay vòng Hình 2.6 Hàng đợi PQ 2.2.3.4 Hàng đợi công bằng (FQ)

Một cách khác để tạo ra sự phân biệt các loại lƣu lƣợng là hàng đợi công bằng FQ, FQ còn đƣợc gọi là hàng đợi dựa theo luồng. Hình 2.7 biểu diễn hàng đợi FQ. Ở FQ, gói đến đƣợc phân loại trong N hàng đợi. Mỗi hàng đợi đƣợc cấp phát 1/N băng thông đầu ra. FQ cũng sử dụng thuật toán quay vòng. Mỗi lần 1 hàng đợi đƣợc phục vụ, một gói ở hàng đợi đó đƣợc truyền đi.

200 byte 400 byte 100 byte 300 byte Lập lịch Đầu ra Luồng 1 Luồng 2 Luồng 3 Luồng 4 Hình 2.7 Hàng đợi FQ

Hàng đợi FQ khá đơn giản. Nó không cần một cơ chế cấp phát băng thông đặc biệt. Nếu một hàng đợi mới đƣợc thêm vào để tạo ra một lớp lƣu lƣợng mới, bộ lập lịch tự động điều chỉnh băng thông cấp phát cho mỗi hàng đơi là 1/(N+1) băng thông đầu ra. Đó là ƣu điểm chính của FQ. FQ có 2 vấn đề lớn: một là FQ không thể phân biệt băng thông cần thiết cho mỗi phân lớp là khác nhau, mỗi phân lớp đều đƣợc cấp phát 1/N băng thông đầu ra; thứ 2 là mỗi lần một hàng đợi đƣợc phục vụ chỉ có 1 gói đƣợc truyền đi, kích thƣớc khác nhau của các gói chính là vấn đề gây ra cấp phát băng thông chính xác cho những hàng đợi mặc dù mỗi hàng đợi đƣợc phục vụ nhƣ nhau. Ví dụ một hàng đợi có kích thƣớc gói lớn nó sẽ chiếm nhiều băng thông hơn 1/N.

Sinh viên: Trần Năng Lực – Lớp: D06VT1 25

Xem xét hàng đợi FQ trong hình 2.7 có 4 hàng đợi với các luồng 1, 2, 3, 4 nhƣ hình vẽ. Kích thƣớc các gói là 200, 100, 400, 300 byte băng thông cấp phát cho mỗi luồng, luồng 1: 200/1000=20%, luồng 2: 100/1000= 10%, luồng 3: 400/1000=40%, luồng 4: 300/1000=30%.

2.2.3.5 Hàng đợi quay vòng có trọng số WRR

WRR đƣợc đƣa ra để giải quyết 2 vấn đề của FQ. Hình 2.8 biểu diễn hàng đợi WRR. WRR chia băng thông đầu ra dựa theo phân loại lƣu lƣợng đầu vào và mỗi phân lớp lƣu lƣợng đáp ứng một yêu cầu băng thông riêng. WRR cũng đƣợc biết đến nhƣ hàng đợi dựa trên phân lớp (CBQ) hoặc hàng đợi tùy chỉnh (custom). Đầu tiên lƣu lƣợng đầu vào đƣợc nhóm trong m phân lớp lƣu lƣợng và mỗi phân lớp có 1 trọng số thỏa mãn . Trong mỗi lớp, các luồng lại đƣợc lập lịch FQ. Số hàng đợi FQ trong phân lớp i là , tổng số hàng đợi trong WRR là .

WRR gồm 2 lần lập lịch quay vòng: lần đầu là lập lịch RR theo phân lớp từ 1 đến m, lần thứ 2 là trong mỗi phân lớp, hàng đợi FQ lại đƣợc lập lịch phục vụ theo RR. cho biết tỷ lệ băng thông cấp phát cho phân lớp i. Ví dụ, giả sử phân lớp i lấy 20% băng thông đầu ra thì =20%. Trong 1 chu kỳ, 20% thời gian đƣợc cấp phát cho lập lịch trong một phân lớp i. Trong phân lớp i lại đƣợc lập lịch tiếp, nó lại cấp phát băng thông cho các hàng đợi FQ. Vì vậy trọng số đƣợc cấp phát cho đến mỗi hàng đợi FQ nhƣ sau: = x (1/ ) trong đó j là hàng đợi thứ j trong phân lớp i. Bằng cách sử dụng trọng số , WRR có thể tạo ra m phân lớp với những yêu cầu băng thông khách nhau. Vì vậy có thể giải quyết những vấn đề của FQ.

Phân loại Lập lịch Các gói đến Đầu ra Thứ tự quay vòng N1 Ni Nm Phân lớp 1 Phân lớp i Phân lớp m W1 Wi Wm Số hàng đợi FQ Hình 2.8 Hàng đợi WRR

Sinh viên: Trần Năng Lực – Lớp: D06VT1 26

2.2.3.6 Hàng đợi công bằng có trọng số WFQ

WRR giải quyết đƣợc vấn đề của FQ nhƣng mà WRR ở lần lập lịch thứ 2 vẫn chịu những ảnh hƣởng của FQ. WFQ đƣợc đƣa ra để giải quyết vấn đề của FQ. Hình 2.9 biểu diễn hàng đợi WFQ. Ở hàng đợi WFQ lƣu lƣợng đầu vào đƣợc nhóm trong m hàng đợi. Mỗi hàng đợi có 1 trọng số, hàng đợi i có trọng số thỏa mãn điều kiện

sau: , với m là số phân lớp trong WFQ. Với FQ mỗi hàng đợi gửi đi

1 gói khi hàng đợi đến lƣợt đƣợc phục vụ. Với WFQ, việc lập lịch gửi gói từ hàng đợi dựa trên thứ tự tính toán thời gian kết thúc truyền của gói (finish time). WFQ tiếp cận mô hình đƣợc biết đến nhƣ là quay vòng bit theo bit (RR bit-by-bit) có trọng số.

Mô hình lập lịch quay vòng bit theo bit giả thiết rằng mỗi lần hàng đợi đƣợc phục vụ nó chỉ gửi đi 1 bit ở đầu hàng đợi. Khi một gói tập hợp hết đủ các bit của gói thì gói đó đƣợc truyền đi. Vì vậy những gói lớn sẽ phải chờ lâu để đƣợc tái tập hợp lại. Mô hình RR bit-by-bit chỉ là nguyên lý không phải là đƣợc thực hiện trong thực tế.

Phân loại Hàng đợi 1 Lập lịch Các gói đến Đầu ra Hàng đợi 2 Hàng đợi n Thứ tự quay vòng Ƣớc lƣợng thời gian kết thúc truyền gói Hình 2.9 Hàng đợi WFQ.

2.2.3.7 Hàng đợi công bằng có trọng số theo phân lớp (CB WFQ)

Hình 2.10 biểu diễn hàng đợi CB WFQ. CB WFQ giống WRR. Trong CB WFQ lƣu lƣợng đầu vào đƣợc phân loại trong m phân lớp, và băng thông đầu ra đƣợc cấp phát đến m phân lớp, mỗi phân lớp có một trọng số. Phân lớp i có trọng số , thỏa

mãn điều kiện . CB WFQ khác WRR ở là ở trong mỗi phân lớp các

luồng đƣợc lập lịch bởi WFQ, trong khi đó WRR lập lịch trong mỗi phân lớp là FQ. Giả sử số hàng đợi WFQ trong mỗi phân lớp i là , tổng số hàng đợi WFQ trong CB WFQ là trong đó m là tổng số phân lớp. Băng thông đƣợc cấp phát đến phân lớp i đƣợc cấp phát đến hàng đợi trong mỗi phân lớp i. Trọng số hàng đợi j trong phân lớp i cho bởi công thức: = x , trong đó là tỷ lệ phần băng thông đƣợc cấp phát đến phân lớp i, là tỷ lệ băng thông đƣợc cấp phát cho hàng

Sinh viên: Trần Năng Lực – Lớp: D06VT1 27

đợi j thuộc lớp i, tỷ lệ băng thông đƣợc cấp phát cho hàng đợi j thuộc lớp i. Tổng trọng số của hàng đợi trong một phân lớp i là : = .

Phân loại Lập lịch Các gói đến Đầu ra Thứ tự quay vòng N1 Ni Nm Phân lớp 1 Phân lớp i Phân lớp m W1 Wi Wm Hình 2.10 Hàng đợi CB WFQ 2.2.4 Tránh nghẽn

2.2.4.1 Loại bỏ phần đuôi và đồng bộ toàn cục TCP

Bất 1 phiên truyền thông sử dụng giao thức TCP đều cần phải thiết lập một kết nối một giữa phía truyền và phía nhận. Khi thiết lập kết nối, 2 thiết bị sẽ thỏa thuận những tham số sử dụng trong suốt quá trình truyền thông. Một trong những tham số đó là kích thƣớc cửa sổ (window size). Kích thƣớc cửa sổ xác định bao nhiêu byte đƣợc gửi đi mỗi lần gửi. Ban đầu TCP gửi một số lƣợng nhỏ dữ liệu đi sau đó tăng dần theo hàm mũ số lƣợng gửi đi. Ở TCP truyền thống kích thƣớc cửa sổ lớn nhất là 64Kb (65535 byte). Trong RFC 1323, cho phép kích thƣớc cửa sổ đến byte.

Khi phía nhận nhận một đoạn dữ liệu, phía nhận kiểm tra xem số thứ tự đoạn dữ liệu. Nếu dữ liệu nhận đúng với số thứ tự tiếp theo mong đợi, nó chuyển đoạn dữ liệu

Một phần của tài liệu Chất lượng dịch vụ mạng IP (Trang 25 - 65)

Tải bản đầy đủ (PDF)

(65 trang)