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

Một phần của tài liệu Luận văn: Nghiên cứu các kĩ thuật quản lý hàng đợi trong mạng IP doc (Trang 26 - 29)

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ển luồng giữa 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.

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ên lưu lưọng sử dụng trên mạng Internet 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 các ACK chứng tỏ rằng phái 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 trongcù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ối và chúng coi việc loại bỏ các 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. Tất nhiên, mạng có thể sử dụng role 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. RFC

2309 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ảo 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ách đ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 này sẽ tiếp tục tại phía phát cho đến khi không nhận được phản hồi ACK. Việc chỉ thị này cho thấy khả năng xử lý lưu lượng của mạng hoặc khả năng xử lý lưu lượng tới của phía thu.

Khởi đầu chậm không có khả năng ngăn chặn tắc nghẽn mà nó chỉ giúp cho các host tránh được trạng thái tắc nghẽn tạm thời. Nếu một host gửi quá nhiều gói thì nó sẽ gây ra nghẽn mạng, tràn bộ đệm và các gói sẽ bị loại bỏ. Nhưng trong một số ứng dụng mới như: thoại qua IP thì không thể chấp nhận được trễ gây ra bởi việc khởi đầu chậm, do đó trong một số trường hợp thì mạng sẽ không sử dụng kiểu này

• Khôi phục và truyền lại nhanh:

Truyền lại và khôi phục lại nhanh là các thuật toán được thiết kế để tối thiểu hoá việc loại bỏ gói khi truyến trong mạng. Cơ chế truyền lại nhanh suy luận từ cơ chế truyền TCP. Phía thu sẽ gửi các báo hiệu tới phía gửi rằng nó nhân được các gói không theo trật tự. Kĩ thuật này sẽ phải gửi rất nhiều bản sao ACK tới phía phát. Đây là cách để chỉ thị các gói bị mất. Thay cho việc chờ đợi phản hồi ACK cho đến khi hết thời gian thì nguồn gửi sẽ tự phát lại gói khi nhận được 3 bản sao ACK. Việc này xảy ra trước khi thời gian hết hạn do đó chúng cải thiện được khả năng thông qua của mạng. Ví dụ khi một host nhận được gói thứ 5 và 7(mà không nhận được gói thứ 6) thì nó sẽ gửi phản hồi ACK cho gói thứ 5 khi nó nhận được gói thứ 7.

Khôi phục nhanh là cơ chế thay thế cho kiểu khởi đầu chậm khi truyền lại nhanh được sử dụng. Các ACK vẫn tiếp tục được truyền để chỉ thị có bị mất gói hay

không cho tới khi phía nguồn nhận được ACK có số thứ tự cao hơn gói bị mất. Trong trường hợp đó có nghĩa là có một gói đơn bị mất và mạng không bị nghẽn hoàn toàn. Do đó phía phát không cần thiết phải quay trở lại khởi động chậm ngay lập tức mà chỉ cần giảm tốc độ truyền xuống bằng một nửa so với tốc độ ban đầu.

• Tránh tắc nghẽn bằng cách sử dụng quản lý hàng đợi tích cực

Việc loại bỏ gói là hoàn toàn không hiệu quả. Nếu một host bị ngập tràn và tức nghẽn xảy ra thì sẽ có rất nhiều gói bị mất. Do đó việc loại bỏ tắc nghẽn sắp xảy đến và quản lý tắc nghẽn tích cực là điều rất cần thiết. Để thực hiện điều này ta sử dụng quản lý hàng đợi tích cực, và lập lịch. Quản lý hàng đợi là một kĩ thuật mà các router loại bỏ gói một cách tích cực từ ngay trong hàng đợi để tránh tràn hàng đợi,và giảm tốc độ. Trong quản lý hàng đợi ta sử dụng thuật toán RED (phát hiện sớm ngẫu nhiên) để thực hiện quản lý hàng đợi.

Một phần của tài liệu Luận văn: Nghiên cứu các kĩ thuật quản lý hàng đợi trong mạng IP doc (Trang 26 - 29)

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

(99 trang)
w