2011-03-16 16 views

Trả lời

6

TCP phá vỡ thông tin mà nó gửi vào phân đoạn ... về cơ bản phân đoạn là khối dữ liệu không lớn hơn giá trị hiện tại của TCP MSS (kích thước phân đoạn tối đa) nhận được từ đầu kia. Các khối này có số thứ tự tăng dần (dựa trên tổng số byte dữ liệu được gửi trong phiên TCP) cho phép TCP biết khi nào có thứ gì đó bị mất trong chuyến bay; số thứ tự TCP đầu tiên được chọn ngẫu nhiên, và vì mục đích bảo mật, nó không phải là một số giả ngẫu nhiên. Hầu hết thời gian, MTU của ethernet cục bộ của bạn nhỏ hơn MSS, vì vậy họ có thể gửi nhiều phân đoạn tới bạn trước khi bạn có thể ACK.

Đó là hữu ích để suy nghĩ những điều này trong chuỗi thời gian họ đã được chuẩn hóa ...

đầu tiên đến Positive Lời cảm ơn, đó là cơ chế bảo người gửi bạn nhận được dữ liệu, và số thứ tự bạn ACK với là chuỗi byte tối đa nhận được cho mỗi đoạn TCP (hay còn gọi là phân đoạn) mà anh ta gửi đi.

Tôi sẽ minh họa dưới đây, nhưng trong ví dụ của tôi, bạn sẽ thấy các số phân đoạn TCP nhỏ như 1,2,3,4,5 ... trong thực tế các số thứ tự byte này sẽ lớn, tăng dần và có khoảng cách giữa chúng (nhưng điều đó bình thường ... TCP thường gửi dữ liệu theo các khối dài ít nhất 500 byte).

Vì vậy, giả sử số người gửi xmits phân khúc 1,2,3,4,5 trước khi gửi ACK đầu tiên của bạn. Nếu mọi việc suôn sẻ, bạn gửi một ACK cho 1,2,3,4,5 và cuộc sống là tốt. Nếu 2 bị mất, mọi thứ sẽ bị giữ cho đến khi người gửi nhận ra rằng 2 chưa bao giờ bị ACK; anh ta biết bởi vì bạn gửi ACK trùng lặp cho 1. Khi thời gian chờ thích hợp, người gửi xmits 2,3,4,5 một lần nữa.

Sau đó, Xác nhận chọn lọc được đề xuất như một cách để làm cho điều này hiệu quả hơn. Trong cùng một ví dụ, bạn ACK 1, và SACK phân đoạn 3 đến 5 cùng với nó (nếu bạn sử dụng một sniffer, bạn sẽ thấy một cái gì đó như "ACK: 1, SACK: 3-5" cho các gói ACK từ bạn). Bằng cách này, người gửi biết nó chỉ phải truyền lại phân đoạn TCP 2 ... để cuộc sống tốt hơn. Ngoài ra, lưu ý rằng SACK đã xác định các cạnh của dữ liệu tiếp giáp mà bạn đã nhận được; tuy nhiên, nhiều phân đoạn dữ liệu không tiếp giáp có thể được SACK'd cùng một lúc.

Xác nhận tiêu cực là cơ chế chỉ cho người gửi biết về dữ liệu bị thiếu. Nếu bạn không nói với họ một cái gì đó là mất tích, họ tiếp tục gửi dữ liệu cho đến khi bạn khóc chú.

HTH, \ m

Các vấn đề liên quan