Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Phân tích đánh giá một số thuật toán quản lý hàng đợi tích cực trong TCP Network
PREMIUM
Số trang
85
Kích thước
3.7 MB
Định dạng
PDF
Lượt xem
1982

Phân tích đánh giá một số thuật toán quản lý hàng đợi tích cực trong TCP Network

Nội dung xem thử

Mô tả chi tiết

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

---------------------------------------

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGÀNH:

PHÂN TÍCH ĐÁNH GIÁ

MỘT SỐ THUẬT TOÁN QUẢN LÝ HÀNG ĐỢI

TÍCH CỰC TRONG TCP NETWORK

TN

2012 THÁI NGUYÊN 2012

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

---------------------------------------

LUẬN VĂN THẠC SĨ KỸ THUẬT

PHÂN TÍCH ĐÁNH GIÁ MỘT SỐ THUẬT TOÁN

QUẢN LÝ HÀNG ĐỢI TÍCH CỰC TRONG TCP NETWORK

23

Ngành:

Mã số: 60.52.70

Học viên:

Người HD Khoa học: PGS.TS

THÁI NGUYÊN – 2012

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 3

CHƢƠNG 1

TỔNG QUAN CÁC THUẬT TOÁN VỀ QUẢN LÝ HÀNG ĐỢI

1.1 Truyền dữ liệu trên một hệ thống mạng

Trong các hệ thống truyền số liệu, thông tin muốn gửi đi được chia thành các

đơn vị dữ liệu nhỏ gọi là gói tin (packet). Ngoài việc gửi đi các gói tin, phía phát

đồng thời đóng gói những thông tin điều khiển việc vận chuyển gói tin và đặt nó ở

đầu của mỗi gói tin (packet header). Trong một

địa chỉ nguồn để chỉ rõ địa chỉ nơi gửi gói tin đó. Packet header cũng chứa địa

chỉ IP đích (distination IP address) là nơi gói tin phải chuyển đến. Các bộ định

tuyến sẽ dùng địa chỉ đích này để xác định đích đến của gói tin. Và thực hiện việc

chuyển gói tin đến đúng địa chỉ.

Đa số các trường hợp, thiết bị phát và thiết bị thu không được nối trực tiếp với

nhau mà chúng phải thông qua các bộ định tuyến trung gian. Trong những trường

hợp này, thiết bị gửi sẽ gửi các gói tin tới bộ định tuyến mà nó được nối trực tiếp.

Bộ định tuyến này sẽ sử dụng địa chỉ đích (địa chỉ nơi nhận) của gói tin như một

chìa khóa để tìm kiếm dữ liệu thông tin về lộ trình và đưa ra quyết định chuyển tiếp

các gói tin. Nếu bộ định tuyến này và thiết bị thu được kết nối trực tiếp với nhau thì

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 4

1.1: Kiến trúc mạng đơn giản

nó sẽ chuyển các gói tin đến thẳng thiết bị thu. Nếu không phải nối trực tiếp, bộ

định tuyến này sẽ chuyển gói tin đến một bộ định tuyến khác mà nó biết được qua

quá trình phân tích thông tin theo lộ trình ở trên. Quá trình như vậy được lặp lại cho

đến khi gói tin được chuyển đến một bộ định tuyến được kết nối trực tiếp với thiết

bị thu và được chuyển đến đích cuối cùng.

Trong một hệ thống mạng, một bộ định tuyến (router) thường có nhiều giao diện

mạng gắn với những mối liên kết khác nhau như trong hình 1.2. Những liên kết này

dùng để kết nối với các bộ định tuyến khác hay kết nối với các mạng con

(subnetwork). Một router sau khi nhận được một gói tin sẽ sử dụng địa chỉ nơi nhận

và dữ liệu thông tin lộ trình của gói tin để xác định liên kết đầu ra cho gói tin đó.

Khi có nhiều gói tin từ nhiều nguồn khác nhau cùng đến router với một lộ trình đầu

ra giống nhau thì chỉ có duy nhất một gói tin được đáp ứng còn các gói tin còn lại bị

đẩy vào một hàng đợi tại mối liên kết đầu ra mà chúng yêu cầu. Khi nhịp độ đến

router của các gói tin như vậy tăng lên, chúng sẽ tiếp tục được đưa vào hàng đợi đó.

Thông thường, hàng đợi này sẽ được duy trì với cơ chế FIFO (first in first out).

Với cơ chế này thì những gói tin đến sau sẽ được xếp vào cuối hàng đợi. Nếu mức

độ chuyển các gói tin đi của router lớn hơn mức độ các gói tin khác đến router thì

sau một khoảng thời gian nào đó hàng đợi sẽ trở nên rỗng. Ngược lại, nếu mức độ

chuyển các

gói tin đi nhỏ hơn mức độ các gói tin khác đến router thì sau một khoảng thời gian

hàng đợi sẽ đầy. Khi đó, router sẽ phải loại bỏ các gói tin theo một cơ chế nào đó,

nếu không hiện tượng tắc nghẽn sẽ xảy ra. [1].

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 5

Hình 1.2: Kiến trúc cơ bản của một router

1.2. Điều khiển tắc nghẽn

1.2.1. Khái niệm

Trong quá trình hoạt động, mạng có thể rơi vào trạng thái không đủ khả năng

đáp ứng các chỉ tiêu chất lượng cho các kết nối đã được thiết lập hay cho một yêu

cầu kết nối mới do sự biến đổi bất thường, không dự đoán được của dòng lưu lượng

cùng với tình trạng lỗi của các phần tử mạng (các chuyển mạch, đường truyền, …).

Trạng thái này được gọi là tắc nghẽn.

Các gói tin đi vào và đi ra các bộ đệm, hàng đợi thường dưới dạng bó từ một

hoặc nhiều nguồn khác nhau. Các bộ đệm sẽ giúp các router lưu trữ các bó cho đến

khi chúng được chuyển đi. Khi các bó gói tin đến vượt qua kích thước bộ đệm thì

các gói đến sau sẽ bị loại bỏ. Để khắc phục điều này, việc tăng bộ đệm không phải

là giải pháp tốt vì khi kích thước bộ đệm quá lớn thì sẽ tạo ra trễ lớn. Tắc nghẽn xảy

ra khi lưu lượng từ nhiều tuyến đổ dồn về một tuyến và tuyến này không có khả

năng xử lý hết được. Tắc nghẽn cũng xảy ra ngay bên trong bản thân router tại

mạng lõi của mạng khi các node nhận được nhiều lưu lượng hơn so với thiết kế của

nó.

Khi mạng xảy ra tắc nghẽn nếu không được xử lý kịp thời sẽ gây ra các hậu quả

nghiêm trọng: các gói tin không được xử lý, không chuyển được đến đầu cuối người

nhận và gây ùn tắc trong mạng, mạng không hoạt động được trong thời gian dài sẽ

không thể truyền tải được giữ liệu, các thành phần có thể bị hư hỏng. Do đó vấn đề

quan trọng là phải điều khiển được tắc nghẽn trong mạng. Đó có thể là hành động

điều khiển để phòng tránh tắc nghẽn và cũng có thể là điền khiển tắc nghẽn khi nó

đã xảy ra.

1.2.2. Các kỹ thuật được sử dụng trong quản lý tắc nghẽn

- Điều khiển luồng phía đầu cuối: đây không phải lược đồ điều khiển tắc nghẽn

nhưng cũng là cách để tránh trường hợp phía phát gửi quá nhiều lưu lượng vượt qua

cả không gian bộ đệm chia thu.

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 6

- Điều khiển tắc nghẽn mạng: trong lược đồ này, các hệ thống đầu cuối giảm tốc

độ của luồng lưu lượng để tránh tắc nghẽn trong mạng, cơ chế này tương tự như

điều khiển luồng đầu cuối, nhưng mục đích chính là để giảm tắc nghẽn trong mạng

chứ không phải phía thu.

- Tránh tắc nghẽn trên cơ sở mạng: trong lược đồ này, router sẽ cố gắng dò tìm

ra tắc nghẽn khi nó có khả năng xảy ra, và cố gắng giảm tốc độ của luồng đầu vào

trước khi hàng đợi đầy.

- Phân phối tài nguyên: kỹ thuật bao gồm tiến trình lập lịch có sử dụng các mạch

vật lý hoặc các luồng tài nguyên khác. Một mạch ảo được xây dựng qua nhiều

chuyển mạch cùng với băng thông đảm bảo cũng là một loại phân phối tài nguyên.

Kỹ thuật này rất khó nhưng nó có khả năng loại trừ tắc nghẽn trong mạch bằng việc

khóa các lưu lượng vượt quá khả năng của mạng.

Giải pháp quan trọng nhất trong điều khiển tắc nghẽn đó là sử dụng kỹ thuật

quản lý hàng đợi. Các bộ đệm trong các thiết bị mạng được quản lý bởi rất nhiều kỹ

thuật hàng đợi. Nói đúng ra quản lý hàng đợi có thể tối thiểu hóa việc mất gói trong

mạng và tắc nghẽn xảy ra cũng như cải thiện được hiệu năng của mạng.

Kỹ thuật hàng đợi cơ bản nhất là FIFO, các gói được xử lý theo trật tự mà chúng

đến hàng đợi, còn hàng đợi ưu tiên sử dụng cấu trúc đa hàng đợi với các mức ưu

tiên khác nhau sẽ ưu tiên xử lý các gói quan trọng nhất và truền tới các node kế tiếp.

Một kỹ thuật hàng đợi quan trọng nữa là tự ấn định các luồng cho chính bản thân

các hàng đợi. Với các luồng khác nhau thì độ ưu tiên cũng được khác nhau, và mỗi

luồng đều được xử lý để chắc chắn rằng chúng không làm tràn hàng đợi. Việc tách

rời các hàng đợi theo các này đảm bảo rằng các hàng đợi sẽ chỉ chứa các gói từ một

nguồn đơn lẻ.

1.2.3. Điều khiển tắc nghẽn và tránh tắc nghẽn trong mạng TCP

Trong những năm 1980 Internet dễ xảy ra hiện tượng “sụp đổ tắc nghẽn”, do có

quá ít chức năng điều khiển quản lý mạng. Các kết nối đơn lẻ sử dụng điều khiểu

luồng giữa những người gửi và người nhận để tránh phía gửi làm tràn lưu lượng tại

phía nhận.

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 7

Nhưng việc điều khiển luồng trong thời điểm đó mới chỉ tránh tràn lụt lưu lượng

tại các bộ đệm phía thu chứ chưa giải quyết được tại các bộ đệm phía trong các

node mạng. Tuy nhiêu lưu lượng sử dụng trên mạng Intrernet ngày đó chưa lớn và

nó bao gồm một số lượng các kết nối tốc độ chậm do đó vấn đề tắc nghẽn không

quan trọng như ngày nay.

Sau những năm 1980 Van Jacopson đã phát triển các cơ chế điều khiển tắc

nghẽn, tạo ra các đáp ứng TCP để hạn chế tắc nghẽn trong mạng. Nền tảng cơ bản

là loại bỏ các gói sẽ làm cho các host ngừng lại hoặc chậm dần.

Thông thường khi một host nhận một gói hoặc một tập các gói thì nó sẽ gửi một

ACK (acknowlegement) cho phía phát để thông báo là đã nhận được gói tin. Cơ chế

cửa sổ cho phép host nhận đa gói tin mà chỉ dùng một ACK. Việc phía gửi không

nhận được ACK chứng tỏ rằng phía thu bị tràn bộ đệm hoặc mạng bị nghẽn do đó

phía phát phải dừng việc chuyển gói hoặc giảm tốc độ.

Một chiến lược được đưa ra là “Giảm theo cấp số nhân, tăng theo cấp số cộng”

để điều chỉnh số lượng các gói đến trong cùng một thời điểm. Nếu vẽ lược đồ về

luồng dữ liệu ta sẽ thấy số lượng các gói tăng lên cho đến khi có tắc nghẽn xuất

hiện trong mạng (tăng theo cấp số cộng) và khi gói bắt đầu bị loại bỏ thì ta giảm

nhanh các gói truyền cho đến khi việc truyền gói bắt đầu dừng (giảm theo cấp số

nhân). Kích thước cửa sổ sẽ lần lượt giảm một nửa khi có tắc nghẽn xảy ra. Các

host sẽ tìm ra tốc độ truyền dẫn tối ưu bằng việc thường xuyên kiểm tra mạng với

tốc độ cao hơn. Thỉnh thoảng tốc độ truyền cao hơn này được chấp nhận nhưng khi

mạng bận thì các gói bắt đầu bị loại bỏ và host lại quay trở lại tốc độ ban đầu. Lược

đồ này coi mạng như một hộp đen loại bỏ các gói khi có tắc nghẽn. Do đó điều

khiển tắc nghẽn được thực hiện bới các hệ thống đầu cuố

gói là để chỉ thị tắc nghẽn. Phía người gửi sẽ truyền một số lượng lớn các file để

đẩy lên tốc độ cao hơn cho tới khi nó đạt được tất cả băng thông. Các host khác có

thể gặp vài vấn đề khi chuyển gói qua mạng. Các host bị túm lấy băng thông thì chỉ

truyền tải được rất ít lưu lượng quan trọng.

Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/

P

Trang 8

Tất nhiên, mạng có thể sử dụng vai trò tích cực trong điều khiển tắc nghẽn. Cơ

chế điều khiển và tránh tắc nghẽn có thể chia ra thành các quá trình:

- Khôi phục tắc nghẽn: hoàn trả lại trạng thái hoạt động của mạng khi yêu cầu

vượt quá khả năng.

- Đoán trước được tắc nghẽn xảy ra và có thể phòng tránh được không cho tắc

nghẽn có thể xảy ra.

Ngày nay tránh tắc nghẽn là công cụ cải thiện hiệu năng và QoS trong mạng

Internet. Chuẩn RFC 2309 (giới thiệu quản lý hàng đợi và tránh tắc nghẽn trong

Internet) đưa ra cơ chế tránh tắc nghẽn dựa trên cơ cấu router. Cơ chế này chia ra

thành các thuật toán quản lý hàng đợi và thuật toán lập lịch.

Mục đích quan trọng là tối thiểu số lượng các gói bị loại bỏ. Nếu một host

truyền tại tốc độ cao hơn và mạng bị nghẽn thì số lượng các gói bị mất sẽ tăng

RFC2309 chỉ ra rằng thà chấp nhận các luồng dạng bó đến làm tràn hàng đợi còn

hơn là cố gắng duy trì trạng thái không đầy của hàng đợi.

TCP có xử lý điều khiển tắc nghẽn, UDP được điển hình sử dụng cho các luồng

video và audio thời gian thực bởi vì nó không cần khôi phục lại các gói bị mất.

UDP là giao thức truyền tải không đảm bỏa do nó không truyền lại các báo hiệu

ngược trở lại nguồn. Các luồng UDP không thể được điều khiển bởi các điều khiển

tắc nghẽn như trong TCP truyền thông.

Trong chuẩn RFC 2581 giới thiệu 4 thuật toán cho điều khiển tắc nghẽn: Khởi

đầu chậm, truyền lại nhanh, khôi phục nhanh, tránh tắc nghẽn.

Điều khiển tắc nghẽn khởi đầu chậm:

Khởi đầu chậm làm giảm ảnh hưởng của bó khi một host đầu tiên được truyền.

Nó yêu cầu một host khởi đầu việc truyền dẫn của nó chậm hơn, sau đó nó sẽ xử lý

các điểm có tắc nghẽn xảy ra. Một host lúc đầu không biết có bao nhiêu gói được

gửi do đó nó sẽ sử dụng cách khởi đầu chậm để định giá dung lượng của mạng. Một

host bắt đầu việc truyền dẫn bằng cách gửi hai gói tin tới phía thu. Khi phía thu

nhận được các segment thì nó sẽ gửi phản hồi lại phía nhận một ACK để xác nhận.

Phía phát sẽ tăng số gói gửi theo cơ số hai, tức là sẽ gửi 4 gói. Việc chỉ thị này tiếp

Tải ngay đi em, còn do dự, trời tối mất!