Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

22 :tbay cac vd về kiểm soát nghẽn trong truyền thông tại tầng giao vận

Câu 22 :tbay cac vd  về kiểm soát nghẽn trong truyền thông tại tầng giao vận. Liên hệ tới hoạt động của giao thức TCP

Nghẽn xảy ra khi số lượng các gói tin đưa vào mạng vượt qua số lượng các gói tin mạng có thể xử lý được. Khi đó, các gói tin phải mất thời gian lâu hơn để di chuyển qua mạng, hoặc bị loại bỏ tại các hàng đợi bị tràn (overflow), làm cho bộ định thời (timer) ở bên gửi kích hoạt việc gửi lại các gói tin. Điều này làm tăng lưu lượng không cần thiết vào mạng đang trong tình trạng nghẽn. Tình trạng nghẽn dẫn đến suy giảm hiệu suất tổng thể và lãng phí tài nguyên mạng (như băng thông, năng lực xử lý). Nghẽn cũng gây ra các vấn đề nghiêm trọng cho các hệ thống đầu cuối: sự sẵn sàng và thông lượng bị giảm sút trong khi thời gian đáp ứng tăng lên.

Cơ chế kiểm soát nghẽn của TCP cố gắng ngăn chặn nghẽn bằng cách kiểm soát và tăng dần lượng dữ liệu được đưa vào mạng. Khi nhận thấy nghẽn xảy ra, tốc độ truyền sẽ được giảm xuống tương ứng.Ngoài ra, cơ chế kiểm soát nghẽn cũng cho phép TCP thích ứng tốc độ luồng dữ liệu với tình trạng của mạng. TCP sử dụng một bộ các giải thuật kiểm soát nghẽn: khởi động chậm (slow start), tránh nghẽn (congestion avoidance), truyền lại và khôi phục nhanh (fast retransmission and fast recovery) Những giải thuật này rất quan trọng và cùng kiến tạo nên bộ khung cho cơ chế kiểm soát nghẽn của TCP.

Giải thuật slow start

Sau khi kết nối TCP được mở, nếu bên gửi tiến hành gửi ngay toàn bộ số lượng segment dữ liệu bằng với kích thước cửa sổ được bên nhận thông báo (advertised window size), các router trung gian và các đường kết nối có tốc độ chậm giữa bên gửi và bên nhận có thể gặp vấn đề tràn bộ đệm hay vượt quá băng thông kết nối (link saturation). Giải thuật slow start sẽ tránh tình trạng này.

 Bên gửi chỉ có thể gửi một lượng dữ liệu tới mức nhỏ nhất giữa cửa sổ nghẽn (cwnd) và cửa sổ nhận (receive window) được bên nhận thông báo cho bên gửi. Kích thước khởi đầu của cwnd là một segment. Sau đó, ứng với mỗi ACK nhận được, giá trị cwnd được tăng thêm. Việc tăng này gần với hàm mũ, cho thấy số lượng các gói tin được đưa vào mạng tăng lên khá nhanh.

Bên gửi giữ nguyên trạng thái slow start tới khi kích thước của cwnd đạt tới một mức ngưỡng (ssthresh - slow start threshold).

 Giải thuật tránh nghẽn (congestion avoidance)

Giai đoạn congestion avoidance được sử dụng khi kích thước cửa sổ cwnd bằng hoặc lớn hơn ngưỡng ssthresh để thăm dò khả năng của mạng.. Trong pha congestion avoidance, kích thước cửa sổ cwnd tăng lên tuyến tính và chậm hơn so với trong pha slow start, do cwnd được tăng lên một segment cho mỗi chu trình di chuyển (round-trip time), tức là đối với mỗi ACK không lặp (non-duplicate), cwnd được tăng thêm 1/cwnd. Việc tăng này diễn ra cho đến khi cwnd đạt tới kích thước cửa sổ mà bên nhận thông báo, hoặc tới khi xảy ra mất gói

Giải thuật Fast retransmit

Một segment được truyền lại khi quá thời gian chờ gửi lại (thực chất là khoảng thời gian chờ gói tin hồi đáp). TCP có thể truyền lại segment bị mất nhanh hơn bằng cách sử dụng giải thuật fast retransmit, dựa trên nguyên tắc khuyến cáo bên nhận nên gửi ngay một ACK lặp lại khi nhận được một gói dữ liệu sai thứ tự. Khi nhận được 3 ACK lặp lại, giải thuật fast retransmit sẽ lập tức truyền lại segment bị mất mà không phải chờ cho tới khi quá thời gian chờ gửi lại. Sau đó giá trị ngưỡng ssthresh được gán bằng một nửa giá trị cwnd, với giá trị tối thiểu là 2 segment. Giá trị cwnd được gán bằng ssthresh + 3 segment, theo đó cwnd tăng thêm số segment gây nên ACK lặp lại (tức là 3). Đối với mỗi ACK lặp lại nhận được tiếp theo, cwnd tăng thêm 1 segment. Nếu giá trị mới của cwnd cho phép, một segment mới sẽ được gửi đi. Sau khi thực hiện fast retransmit, TCP sẽ thực hiện pha fast recovery.

 Giải thuật Fast recovery

Pha fast recovery được sử dụng khi nhận được một gói tin ACK hồi đáp cho dữ liệu đã gửi. Kích thước cwnd được gán bằng giá trị ssthresh (đã được thay đổi trong pha fast retransmit). Thực tế, khi này giai đoạn congestion avoidance được thực hiện với tốc độ giảm đi một nửa so với tốc độ khi segment bị mất.Lưu ý rằng nếu quá thời gian chờ hồi đáp (retransmission timer), bên gửi bắt buộc thực hiện slow start.

Giải thuật fast recovery được áp dụng đầu tiên trong biến thể TCP-Reno. Đây là biến thể được dùng phổ biến nhất.

Mối liên hệ giữa các giải thuật kiểm soát nghẽn

Đầu tiên, giải thuật slow start được sử dụng để thử “sức chứa” của mạng và tăng dần số lượng các segment được đưa vào mạng, tức tăng dần tốc độ truyền dữ liệu. Nếu kích thước cửa sổ cwnd bằng hoặc lớn hơn ngưỡng ssthresh (được gán bằng kích thước cửa sổ bên nhận), bên gửi sẽ thận trọng hơn với việc tăng tốc độ truyền.Khi này, giải thuật congestion avoidance làm chậm lại tốc độ đưa các segment mới (chưa được hồi báo) vào mạng. Nếu phát hiện mất gói thông qua việc nhận được các ACK trùng lắp (3 gói tin ACK trùng lặp), trong khi chưa quá hạn thời gian chờ gửi lại, bên gửi sử dụng giải thuật fast retransmit để truyền lại segment bị mất, sau đó thực hiện fast recovery để đảm bảo tốc độ truyền không quá nhanh. Trong trường hợp quá thời gian chờ gửi lại, chứng tỏ tình trạng của mạng đã trở nên tồi tệ hơn, bên gửi sẽ phải quay trở lại pha slow start để thích ứng với trạng thái hiện tại (mới) của mạng.

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: