Điều chỉnh TCP – Wikipedia

Các kỹ thuật để tăng thông lượng qua giao thức điều khiển truyền

Các kỹ thuật điều chỉnh TCP điều chỉnh các tham số tránh tắc nghẽn mạng của các kết nối Giao thức điều khiển truyền (TCP) qua các mạng có độ trễ cao, băng thông cao. Các mạng được điều chỉnh tốt có thể thực hiện nhanh hơn tới 10 lần trong một số trường hợp. [1] Tuy nhiên, việc làm theo chỉ dẫn một cách mù quáng mà không hiểu hậu quả thực sự của chúng cũng có thể ảnh hưởng đến hiệu suất.

Đặc điểm mạng và hệ thống [ chỉnh sửa ]

Sản phẩm trì hoãn băng thông (BDP) [ chỉnh sửa ]

Sản phẩm trì hoãn băng thông (BDP ) là thuật ngữ chủ yếu được sử dụng cùng với TCP để chỉ số byte cần thiết để điền vào "đường dẫn" TCP, nghĩa là nó bằng với số bit tối đa đồng thời truyền qua giữa máy phát và máy thu.

Mạng hiệu suất cao có BDP rất lớn. Để đưa ra một ví dụ thực tế, hai nút giao tiếp qua liên kết vệ tinh địa tĩnh với thời gian trễ chuyến đi khứ hồi (hoặc thời gian khứ hồi, RTT) là 0,5 giây và băng thông 10 Gbit / s có thể có tới 0,5 × 10 10 bit, tức là 5 Gbit = 625 MB dữ liệu chưa được kiểm tra trong chuyến bay. Mặc dù có độ trễ thấp hơn nhiều so với các liên kết vệ tinh, ngay cả các liên kết sợi trên mặt đất có thể có BDP rất cao vì dung lượng liên kết của chúng rất lớn. Các hệ điều hành và giao thức được thiết kế gần đây như một vài năm trước đây khi các mạng chậm hơn được điều chỉnh cho các BDP của các đơn đặt hàng có cường độ nhỏ hơn, với hàm ý cho hiệu suất có thể đạt được hạn chế.

Bộ đệm [ chỉnh sửa ]

Các cấu hình TCP ban đầu được hỗ trợ TCP nhận kích thước cửa sổ bộ đệm lên tới 65.535 (64 KiB – 1) byte, đủ cho các liên kết chậm hoặc liên kết với RTT nhỏ. Bộ đệm lớn hơn được yêu cầu bởi các tùy chọn hiệu suất cao được mô tả dưới đây.

Bộ đệm được sử dụng trên khắp các hệ thống mạng hiệu suất cao để xử lý sự chậm trễ trong hệ thống. Nói chung, kích thước bộ đệm sẽ cần được thu nhỏ theo tỷ lệ tương ứng với lượng dữ liệu "trong chuyến bay" bất cứ lúc nào. Đối với các ứng dụng hiệu suất rất cao không nhạy cảm với độ trễ của mạng, có thể xen kẽ độ trễ lớn để kết thúc độ trễ đệm bằng cách đặt các điểm lưu trữ dữ liệu trung gian vào hệ thống đầu cuối và sau đó sử dụng thời gian thực tự động và theo lịch trình chuyển dữ liệu để có được dữ liệu đến điểm cuối cuối cùng của họ.

Giới hạn tốc độ TCP [ chỉnh sửa ]

Thông lượng tối đa có thể đạt được cho một kết nối TCP được xác định bởi các yếu tố khác nhau. Một hạn chế không đáng kể là băng thông tối đa của liên kết chậm nhất trong đường dẫn. Nhưng cũng có những giới hạn khác, ít rõ ràng hơn cho thông lượng TCP. Lỗi bit có thể tạo ra một giới hạn cho kết nối cũng như RTT.

Kích thước cửa sổ [ chỉnh sửa ]

Trong mạng máy tính, RWIN (Cửa sổ nhận TCP) là lượng dữ liệu mà máy tính có thể chấp nhận mà không cần xác nhận người gửi . Nếu người gửi chưa nhận được xác nhận cho gói đầu tiên mà nó đã gửi, nó sẽ dừng và chờ và nếu sự chờ đợi này vượt quá một giới hạn nhất định, nó thậm chí có thể truyền lại. Đây là cách TCP đạt được việc truyền dữ liệu đáng tin cậy.

Ngay cả khi không có mất gói trong mạng, cửa sổ có thể hạn chế thông lượng. Vì TCP truyền dữ liệu lên tới kích thước cửa sổ trước khi chờ xác nhận, nên toàn bộ băng thông của mạng có thể không được sử dụng. Giới hạn gây ra bởi kích thước cửa sổ có thể được tính như sau:

T h r o u ] h p u t R W I N R T T displaystyle mathrm {Thông lượng} leq { frac { mathrm {RWIN}} { mathrm {RTT}}} , !}

trong đó RWIN là Cửa sổ Nhận TCP và RTT là thời gian khứ hồi cho đường dẫn.

Tại bất kỳ thời điểm nào, cửa sổ được quảng cáo bởi phía nhận của TCP tương ứng với lượng bộ nhớ nhận miễn phí mà nó đã phân bổ cho kết nối này. Nếu không, nó sẽ có nguy cơ làm rơi các gói đã nhận do thiếu không gian.

Bên gửi cũng cũng phân bổ cùng một lượng bộ nhớ như bên nhận để có hiệu suất tốt. Đó là bởi vì, ngay cả sau khi dữ liệu đã được gửi trên mạng, phía gửi phải giữ nó trong bộ nhớ cho đến khi nó được xác nhận là đã nhận thành công, chỉ trong trường hợp nó phải được truyền lại. Nếu người nhận ở xa, xác nhận sẽ mất nhiều thời gian để đến nơi. Nếu bộ nhớ gửi nhỏ, nó có thể bão hòa và chặn phát xạ. Một tính toán đơn giản cho kích thước bộ nhớ gửi tối ưu tương tự như đối với kích thước bộ nhớ nhận được đưa ra ở trên.

Mất gói [ chỉnh sửa ]

Khi xảy ra mất gói trong mạng, giới hạn bổ sung được áp dụng cho kết nối. [2] Trong trường hợp mất gói nhẹ đến trung bình khi mất gói. tốc độ TCP bị giới hạn bởi thuật toán tránh tắc nghẽn, giới hạn có thể được tính theo công thức (Mathis và cộng sự):

T h r o u ] h p u t M S S R T T P o s s { displaystyle mathrm {Thông lượng} leq { frac { mathrm {MSS}} { mathrm {RTT} { sqrt {P _ { mathrm mất}}}}}}}

trong đó MSS là kích thước phân đoạn tối đa và P mất là xác suất mất gói. Nếu mất gói rất hiếm khi cửa sổ TCP trở nên thường xuyên được mở rộng hoàn toàn, thì công thức này không áp dụng.

Tùy chọn TCP cho hiệu suất cao [ chỉnh sửa ]

Một số tiện ích mở rộng đã được thực hiện cho TCP trong những năm qua để tăng hiệu suất của nó qua các liên kết RTT cao nhanh ("mạng béo dài "Hoặc LFN).

Dấu thời gian TCP (RFC 1323) đóng vai trò kép: chúng tránh sự mơ hồ do trường số thứ tự 32 bit bao quanh và chúng cho phép ước tính RTT chính xác hơn khi có nhiều tổn thất trên mỗi RTT . Với những cải tiến đó, việc tăng cửa sổ TCP vượt quá 64 kB trở nên hợp lý, có thể được thực hiện bằng cách sử dụng tùy chọn mở rộng cửa sổ (RFC 1323).

Tùy chọn xác nhận chọn lọc TCP (SACK, RFC 2018) cho phép người nhận TCP thông báo chính xác cho người gửi TCP về những phân đoạn nào đã bị mất. Điều này làm tăng hiệu suất trên các liên kết RTT cao, khi có thể mất nhiều lỗ trên mỗi cửa sổ.

Đường dẫn MTU Discovery tránh sự cần thiết phải phân mảnh trong mạng, tăng hiệu suất khi mất gói.

Xem thêm [ chỉnh sửa ]

Tài liệu tham khảo [ chỉnh sửa ]

Liên kết ngoài [