Phân loại gói tin

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 28)

3. Cấu trúc các chương

2.2.2Phân loại gói tin

Phân loại gói được sử dụng để nhóm các gói tin vào các lớp dịch vụ. Điểm khởi tạo phân lớp lưu lượng có thể được đặt ở thiết bị đầu cuối. Trong mạng các gói tin được lựa chọn dựa trên các trường chức năng trong tiêu đề gói sử dụng cho đánh dấu gói tin. Có hai phương pháp phân loại đó là:

 Phân loại đa trường MF (Multi-Field)

 Phân loại kết hợp hành vi BA (Behavior Aggregate).

Trong phương pháp phân loại đa trường các gói tin được phân loại dựa trên tổ hợp giá trị của một hoặc nhiều trường trong tiêu đề gói tin bao gồm: địa chỉ nguồn, địa chỉ đích, trường DS, định danh giao thức, cổng nguồn/đích, giao diện đầu vào.

Phương pháp phân loại kết hợp hành vi BA thực hiện phân loại gói dựa trên trường chức năng chứa giá trị điểm mã dịch vụ phân biệt DSCP. Chi tiết kỹ thuật phân loại này sẽ được trình bày trong mô hình DiffServ.

2.2.3 Chính sách lƣu lƣợng

Chính sách lưu lượng được sử dụng để kiểm tra các luồng lưu lượng gói tin đến trên các cổng đầu vào của bộ định tuyến có phù hợp với tốc độ lưu lượng đã được thoả thuận hay không. Chính sách lưu lượng gồm có bộ đo lưu lượng để xác định lưu lượng ở đầu vào và đầu ra, trên cơ sở đó áp dụng chính sách điều khiển tốc độ lưu lượng phù hợp với lưu lượng đầu ra. Thông thường chính sách lưu lượng kiểm tra tốc độ lưu lượng đầu vào theo một vài tham số lưu lượng như: tốc độ thông tin cam kết CIR (Committed Information Rate), tốc độ thông tin đỉnh PIR (Peak Information Rate) hoặc một số tham số phụ: kích thước bùng nổ đỉnh PBS (Peak Burst Size), kích thước bùng nổ cam kết CBS (Committed Burst Size) và kích thường bùng nổ vượt ngưỡng EBS (Excess Burst Size).

2.2.4 Quản lý hàng đợi tích cực

Trong các bộ định tuyến truyền thống thường sử dụng phương pháp loại bỏ “đuôi” lưu lượng (Tail drop) trong hàng đợi. Đây là hàng đợi thụ động, kiểu FIFO, các gói tin tự động bị loại bỏ khi hàng đợi đầy. Ưu điểm cơ bản của

phương pháp này là xử lý đơn giản, tuy nhiên nó có thể gây ra các hiện tượng xấu ảnh hưởng tới đồng bộ.

Kỹ thuật hàng đợi tích cực AQM (Active Queue Management) là kỹ thuật điều khiển chống tắc nghẽn, ý tưởng chính của AQM là dự đoán trước khả năng tắc nghẽn và đưa ra một số hoạt động điều khiển để chống lại hoặc giảm thiểu khả năng tắc nghẽn. Có ba kỹ thuật cơ bản là: kỹ thuật loại bỏ sớm ngẫu nhiên RED (Random Early Discarding), kỹ thuật loại bỏ sớm ngẫu nhiên theo trọng số WRED (Weighted Random Early Discarding) và thông báo tắc nghẽn hiện ECN (Explicit Congestion Notification). Dưới đây sẽ trình bày chi tiết hai kiểu hàng đợi là RED và WRED.

2.2.4.1 Kỹ thuật loại bỏ gói ngẫu nhiên sớm RED

RED phát hiện sớm sự tắc nghẽn và loại bỏ gói ngẫu nhiên trong bộ đệm. Hình 2.3 thể hiện nguyên lý hoạt động của kỹ thuật loại bỏ gói tin ngẫu nhiên sớm. Như đã chỉ ra trên hình, thành phần trung tâm của RED chứa một thuật toán dự đoán tắc nghẽn và hồ sơ loại bỏ gói.

Chức năng của mô-đun dự đoán tắc nghẽn là thường xuyên giám sát kích thước hàng đợi để phát hiện sớm tắc nghẽn. Tiếp cận đơn giản nhất là dựa vào chiều dài hàng đợi (N) và xác định trạng thái dựa trên cơ sở hàng đợi đầy (so sánh với kích thước bộ đệm - B). Một phương pháp khác được sử dụng để dự đoán tắc nghẽn là dựa trên thuật toán tính toán kích thước trung bình của hàng đợi. Mỗi khi gói tin đến sẽ tính kích thước hàng đợi trung bình nN bằng bộ lọc thông thấp:

nN = (1 - wq) * nN + wq * N

Trong đó wq là trọng số hàng đợi, nhận giá trị trong miền 0..1. Wq còn được gọi là hệ số làm trơn, wq càng nhỏ thì mức độ làm trơn càng cao, wq càng lớn thì

nN càng bám sát giá trị tức thời của N. Như vậy wq quyết định độ lớn và độ kéo dài cho phép của sự bùng nổ lưu lượng.

Gọi  là tỉ lệ (%) điền đầy của bộ đệm được tính theo công thức sau:

B nN

Trong đó B là kích thước của bộ đệm.

Hình 2.3: Sơ đồ nguyên lý hoạt động của RED

Hồ sơ loại bỏ là phương pháp tham chiếu giữa % bộ đệm đầy và xác suất loại bỏ gói, khi  đạt một giá trị nào đó thì RED được kích hoạt, khi  đạt và vượt một giá trị lớn nhất đã định trước thì xác suất loại bỏ gói được chọn bằng 1. Khi đó, cơ chế loại bỏ gói chuyển sang phương pháp cắt đuôi lưu lượng.

2.2.4.2 Kỹ thuật loại bỏ sớm theo trọng số WRED

Kỹ thuật loại bỏ gói sớm theo trọng số WRED là kỹ thuật loại bỏ gói sớm RED với nhiều hồ sơ loại bỏ gói. Thay vì sử dụng một hồ sơ loại bỏ cho tất cả các hàng đợi, WRED sử dụng nhiều hồ sơ loại bỏ gói cho một hàng đợi (ví dụ, 3 hồ sơ loại bỏ gói khác nhau có thể được sử dụng cho 3 loại gói khác nhau). Kỹ thuật RED và WRED liên quan tới các hoạt động loại bỏ gói trong hàng đợi mà không liên quan trực tiếp tới thiết bị đầu cuối.

2.2.5 Lập lịch gói tin

Lập lịch gói tin là việc thiết lập thứ tự đưa các gói tin ra khỏi hàng đợi. Kỹ thuật lập lịch là mấu chốt trung tâm của đảm bảo chất lượng dịch vụ và là thước

Mô-đun dự đoán

tắc nghẽn Hồ sơ loại bỏ gói

Loại bỏ gói

% bộ đệm đầy,  RED (adsbygoogle = window.adsbygoogle || []).push({});

Xác suất loại bỏ gói, p

X

Chiều dài hàng đợi N

Kích thước bộ đệm B

Chiều dài hàng đợi tức thời N

đo công nghệ giữa các nhà cung cấp khác nhau. Hình 2.4 chỉ ra nguyên lý của một dạng lập lịch.

Hình 2.4: Sơ đồ nguyên lý lập lịch gói tin

Như hình 2.4, lập lịch gói được ứng dụng trên từng cổng đầu ra. Các gói tin tại các cổng vào (1-n) được định tuyến tại các cổng đầu ra (1-m) theo đích và được xác định bởi bảng định tuyến trong bộ định tuyến. Tại mỗi cổng đầu ra, các gói tin được phân loại và xếp hàng. Lập lịch được áp dụng cho các hàng đợi tại một cổng đầu ra thực tế. Một số kiểu hàng đợi thường sử dụng bao gồm: hàng đợi vào trước ra trước FIFO (First In First Out), hàng đợi có ưu tiên PQ (Priority Queueing), hàng đợi công bằng FQ (Fair Queuing), hàng đợi quay vòng có trọng số WRR (Weighted Round Robin), hàng đợi công bằng có trọng số WFQ (Weighted Fair Queuing) và hàng đợi dựa theo lớp công bằng có trọng số (Class – based WFQ).

2.2.5.1 Hàng đợi FIFO

Hàng đợi vào trước ra trước FIFO là kỹ thuật hàng đợi ngầm định, các gói tin đến được đưa vào trong một hàng đợi đơn và được gửi ra đầu ra theo đúng thứ

Phân loại

gói

Hàng đợi

Lập lịch

Cổng đầu vào 1 Cổng đầu ra 1

. . . Phân loại gói Hàng đợi Lập lịch

Cổng đầu vào n Cổng đầu ra m

. . . .

. .

tự. FIFO là kiểu hàng đợi đơn giản nhất không cần sử dụng thuật toán điều khiển. FIFO đối xử với tất cả các gói tin theo cùng một cách vì vậy nó thích hợp với mạng cố gắng tối đa. Mặt khác FIFO không cung cấp các dịch vụ phân biệt và tất cả các luồng lưu lượng đều bị suy giảm chất lượng khi tắc nghẽn xảy ra.

2.2.5.2 Hàng đợi có ƣu tiên PQ

Hàng đợi FIFO đặt tất cả các gói tin vào trong một hàng đợi đơn bất kể lớp lưu lượng nào. Một cách đơn giản để để tạo ra sự phân biệt lớp lưu lượng là sử dụng hàng đợi có ưu tiên PQ. Trong PQ, N hàng đợi được tạo ra với các mức ưu tiên từ 1 tới N. Thứ tự lập lịch được xác định bởi thứ tự ưu tiên và không phụ thuộc vào vị trí của gói tin. Các gói trong hàng đợi thứ j được xử lí khi không còn gói nào trong hàng đợi có thứ tự ưu tiên cao hơn (các hàng đợi từ 1 tới j-1).

Hình 2.5: Hàng đợi ưu tiên PQ.

Giống như FIFO hàng đợi có ưu tiên có đặc điểm là rất đơn giản, nó cung cấp phương tiện đơn giản nhất để phân biệt lớp lưu lượng. Nhược điểm của hàng đợi có ưu tiên là luôn hướng tới xử lí mức ưu tiên cao, nên có thể xảy ra tình huống trong đó các hàng đợi có mức ưu tiên thấp không có cơ hội để gửi gói tin đi.

2.2.5.3 Hàng đợi công bằng FQ

Hàng đợi công bằng còn được gọi là hàng đợi dựa trên luồng lưu lượng. Trong FQ các gói tin được chia thành N hàng đợi, mỗi hàng đợi nhận 1/N băng

Phân loại gói Hàng đợi Lập lịch Luồng vào 1 Cổng đầu ra . . . Bộ định tuyến IP Luồng vào n Ưu tiên 1 Ưu tiên N

thông đầu ra. Bộ lập lịch kiểm tra các hàng đợi theo chu kỳ và bỏ qua các hàng đợi rỗng. Mỗi khi bộ lập lịch tới một hàng đợi, gói tin sẽ được truyền ra khỏi hàng đợi.

Hàng đợi công bằng rất đơn giản, nó không yêu cầu một kỹ thuật chỉ định băng thông phức tạp nào. Nếu một hàng đợi mới được thêm vào N hàng đợi trước đó, bộ lập lịch tự động đặt lại băng thông thực tế bằng 1/(N+1). Đơn giản chính là ưu điểm của hàng đợi công bằng.

Hình 2.6: Hàng đợi công bằng FQ (adsbygoogle = window.adsbygoogle || []).push({});

Hàng đợi công bằng có hai nhược điểm chính. Thứ nhất là khi băng thông đầu ra được chia thành N hàng đợi 1/N, nếu có lớp lưu lượng đầu vào yêu cầu băng thông khác nhau thì FQ không thể phân bổ lại được băng thông đầu ra để đáp ứng yêu cầu đầu vào. Thứ hai kích thước gói tin không được quan tâm trong FQ, kích thước gói ảnh hưởng tới băng thông thực tế, thậm chí bộ lập lịch vẫn hoạt động đúng trên cơ sở công bằng, các hàng đợi có gói kích thước lớn sẽ chiếm nhiều băng thông hơn các hàng đợi khác.

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

Hàng đợi quay vòng có trọng số WRR được đưa ra để giải quyết hai nhược điểm của hàng đợi công bằng FQ. WRR chia băng thông cổng đầu ra với các lớp lưu lượng đầu vào phù hợp với băng thông yêu cầu. Nguyên lí hoạt động của WRR được chỉ ra trong hình 2.7. Các luồng lưu lượng đầu vào được nhóm thành

Phân loại gói Thứ tự quay vòng Lập lịch Luồng vào 1 Cổng đầu ra . . . Bộ định tuyến IP Luồng vào n Hàng đợi 1 Hàng đợi N

m lớp tương ứng với trọng số được xác định bởi băng thông yêu cầu. Tổng trọng số của các lớp bằng 100%. % 100 1    m i i W

Trong đó m là số lớp lưu lượng, Wi là % trọng số của lớp i.

Hình 2.7: Hàng đợi quay vòng có trọng số WRR.

Với mỗi một lớp, các luồng lưu lượng riêng được lập lịch theo nguyên tắc hàng đợi công bằng FQ. Đặt số lượng của hàng đợi FQ trong lớp iNi, tổng số hàng đợi FQ trong lược đồ WRR được tính theo công thức dưới đây:

   m i i N TotalFQ 1

Như đã chỉ ra trong hình 2.7, hàng đợi quay vòng có trọng số WRR gồm hai lớp lập lịch quay vòng.

 Bộ lập lịch quay vòng chỉ các lớp trong khoảng từ lớp 1 đến lớp m, đây được coi là lớp lập lịch thứ nhất.

 Khi bộ lập lịch thứ nhất dừng lại tại một lớp, bộ lập lịch quay vòng thứ hai sẽ quay vòng trong các hàng đợi FQ.

Phân loại gói Thứ tự quay vòng Lập lịch Luồng vào 1 Cổng đầu ra Bộ định tuyến IP Luồng vào n Vòng thứ 1 Lớp m Lớp i Lớp 1 Vòng thứ 2 W1 Wi Wm Số lượng FQ N1 Số lượng FQ Nm

Băng thông cổng ra được tính theo % được gán vào lớp i, trọng số của lớp i (Wi) thể hiện thời gian tiêu tốn của bộ lập lịch cho lớp i. Ví dụ, Wi = 20% nghĩa là bộ lập lịch sẽ tiêu tốn 20% chu kỳ thời gian quay vòng cho lớp i. Với hàng đợi FQ trong lớp i, thời gian cho các hàng đợi là công bằng, vì vậy lượng thời gian cho một hàng đợi trong Ni hàng đợi là 1/Ni. Trọng số cho mỗi hàng đợi FQ được tính theo công thức sau:

Wij = Wix (1/Ni)

Trong đó Wijlà trọng số của hàng đợi thứ j trong lớp i, Wi là trọng số của lớp

i.

Theo công thức trên ta có thể viết lại Wi = Wij x Ni hay:

   Ni j ij i W W 1

Trọng số của lớp i sẽ được tính bằng tổng các yêu cầu lưu lượng của lớp i. WRR sử dụng Wi thay cho 1/m như trong trường hợp FQ, tạo ra m lớp lưu lượng khác nhau tại cổng đầu ra. Đây chính là điều cải thiện của WRR so với FQ nhằm tránh nhược điểm băng thông đầu ra của FQ như trình bày ở trên.

2.2.5.5 Hàng đợi công bằng có trọng số WFQ và hàng đợi theo lớp công bằng có trọng số CB-WFQ bằng có trọng số CB-WFQ

Mặc dù WRR đã khắc phục được nhược điểm thứ nhất của hàng đợi công bằng FQ nhưng WRR chưa giải quyết được ảnh hưởng của kích thước gói tin đối với băng thông chia sẻ. Hàng đợi WFQ nhằm giải quyết nhược điểm thứ hai của hàng đợi FQ. Giống như FQ lưu lượng đầu vào được nhóm vào m hàng đợi. Tuy nhiên băng thông đầu ra được phân bổ tới m hàng đợi theo trọng số được xác định bởi yêu cầu băng thông của các lớp lưu lượng thay vì chia đều. Trong FQ mỗi khi bộ lập lịch tới một hàng đợi, gói tin sẽ được truyền ra khỏi hàng đợi. Khác với FQ, bộ lập lịch WFQ sẽ tính toán thời gian hoàn thành của các gói tin ở đầu các hàng đợi và gửi các gói tin tới đầu ra theo thứ tự thời gian hoàn thành đó.

Hàng đợi CB-WFQ tương tự như hàng đợi WRR, sự khác biệt của CB-WFQ so với WRR là cách sử dụng cơ chế công bằng có trọng số tại các lớp i thay vì sử

dụng cơ chế hàng đợi công bằng. Tiếp cận này theo hướng mềm hoá hơn nữa đối với yêu cầu băng thông không đồng nhất.

2.2.6 Định dạng lƣu lƣợng (Traffic Shaping)

Định dạng lưu lượng là để điều hoà tốc độ luồng lưu lượng vào tại bộ đệm nhằm để đầu ra thay đổi “mềm mại” hơn. Theo ý tưởng như vậy các hành vi lưu lượng được điều chỉnh theo các dạng lưu lượng đã được xác định trước, ví dụ theo các thoả thuận mức dịch vụ SLA. Việc điều chỉnh tốc độ lưu lượng giống như quá trình dừng và đi, thời gian trễ tại bộ đệm sẽ làm các gói tin tại đầu ra được điều chỉnh theo yêu cầu. Có hai dạng định dạng lưu lượng thường dùng là định dạng lưu lượng thuần và định dạng lưu lượng “giỏ thẻ bài”.

2.2.6.1 Định dạng lƣu lƣợng “thuần” (Pure traffic shaping)

Hình 2.8: Định dạng lưu lượng thuần

Hình 2.8 chỉ ra nguyên lý định dạng lưu lượng thuần. Các gói tin đến được đưa vào bộ đệm (“giỏ”) có độ sâu d, sau đó được gửi ra liên kết đầu ra với tốc độ bằng hằng số, tốc độ hằng số này được gọi là tốc độ rò r.

Định dạng lưu lượng thuần giúp không gây ra bùng nổ lưu lượng trên các mức đầu ra. Thông thường tốc độ rò r luôn được chọn nhỏ hơn dải thông của đường truyền ra C (r<C). Tuy nhiên, với định dạng lưu lượng thuần, tốc độ rò r (adsbygoogle = window.adsbygoogle || []).push({});

có thể được đặt bằng hoặc xấp xỉ tốc độ lớn nhất của tốc độ đầu ra. Nếu kích Độ sâu của

giỏ d

Tốc độ rò r

Tốc độ gói đầu ra r

Các gói bùng nổ lưu lượng vào

thước bùng nổ gói tin đến vượt quá độ sâu của giỏ - d, thì các gói đến khi “giỏ” đầy sẽ bị loại bỏ.

2.2.6.2 Định dạng lƣu lƣợng kiểu giỏ có sử dụng thẻ bài (Token bucket)

Hình 2.9: Định dạng lưu lượng bùng nổ kiểu giỏ có sử dụng thẻ bài.

Hình 2.9 chỉ ra nguyên lý định dạng lưu lượng kiểu giỏ có sử dụng thẻ bài. Các thẻ bài được đưa vào giỏ với tốc độ bằng hằng số, được gọi là tốc độ thẻ bài

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 28)