TCP Slow Start
White

ajino2k viết ngày 14/07/2018

TCP Slow Start là gì?

TCP Slow Start là một phần của các thuật toán kiểm soát tắc nghẽn được đặt ra bởi TCP để giúp kiểm soát lượng dữ liệu chảy qua mạng. Điều này giúp điều chỉnh trường hợp có quá nhiều dữ liệu được gửi đến mạng và mạng không thể xử lý lượng dữ liệu đó, do đó dẫn đến tắc nghẽn mạng. TCP Slow Start không phải là thuật toán duy nhất được đưa ra để giúp ngăn ngừa tắc nghẽn mạng, có bốn cơ chế kiểm soát tắc nghẽn liên kết trong tổng số.
tcpstack

“These mechanisms are defined in RFC 5681 as slow start, congestion avoidance, fast retransmit, and fast recovery.”

bốn thuật toán này cùng nhau giúp giảm thiểu tắc nghẽn mạng, tuy nhiên trong bài viết này, tôi sẽ tập trung chủ yếu vào Slow Start.

Cách hoạt động của TCP Slow Start

1 – Một người gửi bắt đầu truyền đến một người nhận bằng cách từ từ thăm dò network với một gói tin congestion window ban đầu của nó (cwnd).

2 – client nhận được gói tin và trả lời với kích thước bộ đệm tối đa của nó, còn được gọi là receiver’s advertised window của người nhận (rwnd).

3 – Nếu người gửi nhận được một ACK (ACK) từ máy khách, thì nó sẽ tăng gấp đôi số lượng các gói tin để gửi cho máy khách.

4 – Bước 3 được lặp lại cho đến khi người gửi không còn nhận được ACK từ người nhận nghĩa là phát hiện tắc nghẽn hoặc đã đạt đến giới hạn cửa sổ của client.

Được vẽ trên biểu đồ, mối quan hệ giữa cwnd và thời gian sẽ trông giống như sau trong trường hợp Khởi động chậm TCP

Các vấn đề với TCP Slow Start

Có tồn tại một số tình huống mà TCP Slow Start không thực hiện tối ưu, ví dụ:

  • Trình duyệt web cũ mở nhiều kết nối ngắn ngủi mà khởi động chậm TCP không hoạt động tốt với. Do đó, các kết nối ngắn ngủi vẫn ở chế độ khởi động chậm, do đó tăng thời gian tải.
  • Kể từ khi bắt đầu chậm TCP liên kết các phân đoạn chưa được trả lời là tắc nghẽn mạng, nó có thể hoạt động kém trong các trường hợp mà tiếp nhận làsub-par.

Mặc dù có tồn tại một vài nghi vấn trong việc sử dụng TCP bắt đầu chậm, phần lớn các trường hợp sử dụng đều có lợi cho việc ngăn ngừa nghẽn mạng và truyền dữ liệu ở tốc độ thích hợp.

The Benefits Of TCP Slow Start

TCP Slow Start là một cơ chế có giá trị trong việc xác định lượng dữ liệu mà một mạng cụ thể có thể xử lý.
Mặc dù một số người có thể tin rằng “pipe” càng lớn, hay còn gọi là băng thông rộng hơn, mạng của bạn càng nhanh và hiệu quả hơn thì điều này không nhất thiết phải đúng.
Vấn đề là, HTTP tạo ra các kết nối trong các cụm ngắn ngăn cản chúng ta sử dụng toàn bộ tiềm năng của đường pipe. Trên thực tế, theo một số nghiên cứu được thực hiện tại Google, kết nối 10mbps chỉ sử dụng khoảng 16% công suất. Điều này có nghĩa là thay vì đầu tư vào băng thông nhiều hơn, việc giảm số lượng round trips từ người gửi sang người nhận có thể có lợi hơn – đó là lợi thế lớn trong việc sử dụng HTTP / 2.

Nếu không có TCP Slow Start, nhiều mạng sẽ bị tắc nghẽn vì người gửi sẽ không có thông tin kích thước bộ đệm thích hợp để gửi tới người nhận. Tuy nhiên, với TCP Slow Start, nó cho phép truyền dữ liệu được tối ưu hóa dẫn đến trải nghiệm nhanh hơn cho người dùng web.

Nguồn : keycdn.com/support/tcp-slow-start

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

ajino2k

5 bài viết.
0 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
3 2
Vấn đề bảo mật thông tin không chỉ đơn thuần là việc chống lại các cuộc tấn công từ hacker, ngăn chặn malware để đảm bảo thông tin không bị phá hủy...
ajino2k viết 1 năm trước
3 2
White
2 0
worker và prefork, vốn là 2 MultiProcessing Modules (MPMs) phổ biến trên Linux. Ngoài ra hiện nay còn có event (cũng Linux), mpm_winnt (cho Windows...
ajino2k viết 1 tháng trước
2 0
White
1 3
Khi máy tính cần chạy những chương trình lớn hơn khả năng có thể của bộ nhớ vật lý (RAM), hệ điều hành sẽ sử dụng một công nghệ có tên gọi swapping...
ajino2k viết 2 tháng trước
1 3
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
0 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!