Điều khiển lưu lượng

Một phần của tài liệu Bài giảng mạng máy tính ths nguyễn xuân anh (Trang 86 - 87)

Điều khiển lưu lượng là hành động thay đổi tốc độ chuyển dữ liệu giữa bên gửi và bên nhận để tránh hiện tượng bên nhận không kịp xử lý. Nhiệm vụ của nó là đảm bảo rằng bên gửi không thể tiếp tục truyền dữ liệu nhanh hơn mức mà bên nhận có thể tiếp thu được. Điều khiển lưu lượng được thực hiện bằng cách bên nhận thông báo cho bên gửi biết về khả năng xử lý dữ liệu của nó.

Điều khiển tắc nghẽn thực hiện nhiệm vụ đảm bảo cho mạng có khả năng vận chuyển lưu lượng đưa vào, đây là vấn đề toàn cục trên mạng, liên quan đến hành vi của mọi nút mạng, quá trình chứa và chuyển tiếp trong mỗi nút mạng và các yếu tố khác có khuynh hướng làm giảm thông lượng của mạng. Điều khiển lưu lượng và điều khiển tắc nghẽn là hai khái niệm khác nhau nhưng liên quan chặt chẽ với nhau. Điều khiển lưu lượng là để tránh tắc nghẽn, còn điều khiển tắc nghẽn là để giải quyết vấn đề tắc nghẽn hoặc có dấu hiệu tắc nghẽn sắp xảy ra.

Việc triển khai giải pháp điều khiển lưu lượng và điều khiển tắc nghẽn có thể thực hiện trên các thuật toán riêng biệt, đôi khi cả hai thuật toán này cùng được cài đặt trong một giao thức, thể hiện ra như là một thuật toán duy nhất, thí dụ trong giao thức TCP. Điều khiển lưu lượng ở một vài tầng trong mạng: Tầng vận tải, tầng mạng và tầng liên kết dữ liệu. Điều khiển lưu lượng ở tầng vận tải (còn gọi là điều khiển lưu lượng đầu cuối - đầu cuối) nhằm tránh cho bộ đệm của bên nhận không khỏi bị tràn. Điều khiển lưu lượng trên từng chặng sẽ tránh cho từng đường truyền khỏi bị tắc nghẽn. Tuy nhiên, việc điều khiển lưu lượng trên từng chặng sẽ có ảnh hưởng đến các chặng khác, do đó nó cũng có tác dụng tránh tắc nghẽn cho các đường truyền có nhiều chặng. Trong mô hình tham chiếu OSI, điều khiển lưu lượng theo từng chặng được thực hiện ở tầng mạng và tầng liên kết dữ liệu.

Giải pháp điều khiển lưu lượng được sử dụng rộng rãi nhất là dùng cơ chế cửa sổ trượt, có thể áp dụng tại một hay nhiều tầng của mạng (thường ở tầng liên kết dữ liệu, tầng mạng nhưng phổ biến nhất là tầng vận tải). Cơ chế điều khiển lưu lượng bằng cửa sổ trượt cho phép bên gửi phát đi liên tiếp một số đơn vị dữ liệu nhất định rồi dừng lại và chờ thông báo về kết quả nhận trước khi tiếp tục phát các đơn vị dữ liệu tiếp theo. Bên nhận điều khiển lưu lượng bằng cách kìm lại hay gửi ngay biên nhận, đó là một đơn vị dữ liệu có chứa thông tin điều khiển để báo cho bên gửi biết về việc đã nhận một hay một số đơn vị dữ liệu. Tại mọi thời điểm, bên gửi phải ghi nhớ danh sách chứa số tuần tự các đơn vị dữ liệu đã gửi, các đơn vị dữ liệu này được coi là đang nằm trong cửa sổ gửi. Tương tự, bên nhận cũng duy trì một danh sách gọi là cửa sổ nhận, tương ứng với các đơn vị dữ liệu liệu mà nó đã nhận. Hai cửa sổ gửi và nhận không nhất thiết phải có độ lớn bằng nhau. Người ta đã đề xuất và sử dụng một số phương

thức quản lý cửa sổ khác nhau: biên nhận riêng rẽ cho mỗi đơn vị dữ liệu nhận được, biên nhận ở cuối cửa sổ, biên nhận ở đầu cửa sổ v.v.

Một phần của tài liệu Bài giảng mạng máy tính ths nguyễn xuân anh (Trang 86 - 87)