Doodle kỉ niệm 25 năm TCP/IP

Tốc độ website của Microsoft, Google nhanh hơn hẳn các đối thủ. Một phát hiện mới đây cho thấy họ đã “gian lận” trong giao thức TCP/IP để có được kết quả này.

Ben Strong, một kĩ sư phần mềm làm việc ở Texas trong lúc nghiên cứu cách tăng tốc độ ứng dụng Web đã phát hiện ra điều này. Ông đo đạc, và thấy tổng thời gian để gửi gói tin từ nhà ông, kể cả quá trình TCP handshake, đến lúc Google xử lí và gửi toàn bộ dữ liệu chỉ mất vỏn vẹn 85 miligiây cho truy xuất trang chủ www.google.com.

Để làm được điều này, ngay sau khi nhận được truy vấn, Google gửi liên tục 8 gói tin mà không cần chờ đợi phản hồi của người dùng. Trong khi đó, theo RFC 3390, ban đầu máy chủ chỉ được phép gửi tối đa IW (một giá trị khá nhỏ) và chờ phản hồi ACK từ phía người dùng. Điều này giảm nguy cơ nghẽn mạng vì có quá nhiều gói tin. Sau đó, nếu người dùng có tốc độ cao, thì số lượng gói tin gửi cùng lúc sẽ tăng dần lên. Đây chính là thuật toán slow start.

Theo các thiết lập được khuyến nghị, thì giá trị của IW là 4 gói tin. Khi xem xét một loạt các website phổ biến, tất cả đều có IW không quá 4, ngoại trừ Microsoft và Google. Chính nhờ vậy mà tốc độ của Microsoft và Google cao hơn, được ưu tiên hơn các website khác.

Giá trị IW của Google là 9. Dường như đây là giá trị được tối ưu, vì trang chủ của Google cần 8 gói tin. Một bài báo gần đây do 8 nhân viên Google đứng tên, đăng trên tạp chí ACM SIGCOMM Computer Communications Review tháng 7/2010, đề xuất tăng giá trị IW từ 4 lên tối thiểu là 10 để phù hợp với cơ sở hạ tầng hiện nay. Một thảo luận tương tự cũng đã diễn ra trên nhóm thư của IETF vài tháng trước, tuy nhiên đa số đều cho rằng vấn đề Google nêu ra chỉ có trên lí thuyết, trên thực tế IW4 không gây ra bất lợi nào. Các kĩ sư Google tỏ ra bực tức với nhận định này.

Về phía Microsoft, không có bất kì thông tin nào liên quan đến việc không tuân theo đề xuất RFC 3390. Thậm chí, dường như Microsoft không sử dụng thuật toán slow start (giá trị IW của Microsoft, nếu có, cũng lớn hơn 40). Trên thực tế, khi tải dữ liệu từ Microsoft, đường truyền của bạn gần như bị chiếm dụng hoàn toàn bởi Microsoft.

Xem thêm blog Ben Strong.




Bình luận

  • TTCN (9)
Khach1

hình như mp3.zing.vn cũng vậy

Khách 2

uh, dung roi.dung IDM download file video o zing mp3 hang chuc MB ma thoi gian cho doi gan nhu bang 0!

Iwwaty

Vì bạn đã nghe hoặc xem trước khi download rồi.

TNS

mp3.zing.vn

bạn dùng IDM download ở MP3 Zing có thời gian chờ gần như = 0 là vì IDM có cơ chế đệm trước. Trong khi hộp thoại download hiện ra hỏi nơi lưu file thì IDM đã bắt đầu download file về rồi. 

Kaitou

Cái này ko phải gọi là cơ chế đệm mà là chức năng dowload luôn khi hộp thoại Download của IDM hiện ra.

Có thể bỏ bớt chức năng này bằng cách vào Option -> Downloads và bỏ chọn tại mục "Start downloading immediately while displaying "Donwload file info" dialog"

Minh Hằng Thái

google

Chẳng ghẽ đây là hiệu ứng làm bóng của google sao?

abc2441

reply IDM

Thời gian chờ bằng 0 là do trước đó bạn đã kích chạy bài nhạc đó rùi nên toàn bộ bài nhạc sẽ tự động load về máy bạn rùi. Khi bạn bấm nút download của IDM thì IDM chỉ cần lôi file đó ra thôi, nên thời gian bằng 0. Nếu bạn dùng IDM trước khi bài nhạc được load hết thì IDM phải download lại từ đầu.

Chu Hoành  31

Chính xác

Hải Nam  30903

Các bình luận so sánh với IDM là không chính xác, mặc dù đó là một so sánh thú vị. IDM “gian lận" ở mức ứng dụng, có thể tiết kiệm được vài giây. Còn ở đây là gian lận ở mức TCP/IP, giúp tiết kiệm vài chục đến vài trăm ms (tuỳ khoảng cách từ bạn đến máy chủ).

Gian lận ở mức ứng dụng thì mình thấy rất nhiều chương trình đang làm. Nếu mình không nhầm, thì cả Firefox cũng làm vậy (khi mở hộp hội thoại lưu tập tin, thực ra nó đã bắt đầu tải rồi). Hoặc là prefetch, nghĩa là lấy trước khi có yêu cầu. Như Chrome đang dùng DNS prefetch, hoặc Windows Vista/7 cũng dùng prefetch để nạp trước các ứng dụng có khả năng sẽ được gọi (nên nó tốn RAM kinh khủng). Tóm lại là từ ứng dụng cho đến HĐH đều cache “hi sinh một chút, nhưng lợi về sau”.

Nếu như ở ứng dụng, chẳng có chuẩn nào, thì ngược lại TCP có cái RFC 3390 có quy định (đúng hơn là có khuyến nghị), với mục đích tránh ách tắc giao thông. Nhưng Microsoft, Google cậy lớn nên cứ phóng bạt mạng. Hoặc theo cách Google nói, là mấy cái quy định đó gần 30 năm trước đặt ra, còn giờ đường rộng rãi rồi, chúng ta nên tăng giới hạn tốc độ lên, không sao đâu!