Snoop TCP

Một phần của tài liệu Khảo sát mạng LAN với các phần mở rộng không dây (Trang 49)

Khác với Split TCP sử dụng AP để chia kết nối TCP giữa FH và MH thành 2 kết nối độc lập, Snoop TCP duy trì 1 kết nối và sử dụng cơ chế nhớ đệm tại AP để duy trì “ngữ nghĩa end-to-end” của TCP ban đầu và tăng thông lượng của kết nối [14]. Tại AP sẽ nhớ đệm (buffer) tất cả các gói tin được gửi từ FH đến

MH qua AP mà AP chưa thấy biên nhận (ACK) từ MH gửi trở về FH. Khi có gói tin bị mất trên đường truyền không dây, AP sẽ nhận được Dupble ACK từ MH và gửi lại gói tin bị mất (bản dự phòng trong buffer của AP) mà không cần FH gửi lại và khởi động cơ chế chống tắc nghẽn. Vì vậy thông lượng TCP vẫn được đảm bảo.

Hình 3.2: Tiến trình xử lý dữ liệu từ FH đến MH Giải pháp Snoop cần có 2 module: Snoop_Data và Snoop_ACK

Snoop _Data: Xử lý các gói tin từ FH gửi đến MH (Hình 3.2)

- Nếu gói tin mới đến đúng thứ tự thì AP lưu gói tin vào buffer của nó (có thể xem là bộ nhớ tạm của Snoop agent (Snoop cache)

- Khi gói tin đến không đúng thứ tự và đã được lưu vào Snoop cache thì có xem xét nếu trường ACK number trong gói tin này lớn hơn gói tin đã được cached trước đó thì AP chuyển tiếp gói tin này đến MH.

- Nếu gói tin đến không đúng thứ tự và chưa được lưu vào Snoop cache (có thể do gói tin đến không đúng thứ tự hoặc bị mất trên đường truyền có dây giữa FH và AP) thì AP sẽ thêm gói tin này vào Snoop cache rồi gửi đến MH đồng thời gói tin này được đánh dấu là đã được FH truyền lại. Thông tin này được Snoop_ACK sử dụng để xử lý các ACK nhận được từ MH.

Hình 3.3: Tiến trình xử lý ACK

Snoop_ACK: Xử lý các gói tin ACK nhận được từ MH.

- ACK mới: Đây là trường hợp bình thường, thông tin từ ACK này được sử dụng để loại bỏ các gói tin đã được buffer trong Snoop cache. Đồng thời nếu gói tin được biên nhận không phải là gói tin được truyền lại thì sẽ cập nhật giá trị RTT.

- Spurious ACK: Đây là trường hợp thông báo gói tin có ACK này bé hơn gói tin có ACK cuối cùng đã nhận được trước đó, do vậy gói tin có ACK bé hơn sẽ bị loại bỏ.

- Dup ACK: Nếu gói tin chưa được buffer trong Snoop cache, Dup ACK này sẽ được gửi tới FH và FH sẽ sử dụng cơ chế chống tắc nghẽn. Ngược lại, khẳng định rằng gói tin đã bị mất do lỗi trên đường truyền không dây nên AP sẽ gửi lại gói tin đó hiện có trong buffer của Snoop cache.

Để xử lý quá trình chuyển giao MH giữa các AP, Snoop sử dụng Mobile IP và cơ chế truyền multicast. Tại cùng một thời điểm sẽ có nhiều AP lưu các gói tin gửi đến MH, nhưng chỉ có 1 AP gửi gói tin đến cho MH (gọi là Primary AP). Các AP còn lại là các AP láng giềng xung quanh vị trí mà tiếp theo MH có

thể di chuyển đến (gọi là Nearby AP). Các AP này được nhóm lại thành 1 nhóm multicast cùng với MH. Khi MH di chuyển sang 1 cell mới MH gửi tới AP của cell mới này để yêu cầu AP này làm Primary AP đồng thời thông báo với AP cũ yêu cầu dừng việc chuyển tiếp gói tin đến nó.

Hình 3.4: MH chỉ trao đổi gói tin với Primary AP

Tóm lại, giải pháp Snoop tuy giải quyết được vấn đề minh bạch trong biên nhận giữa MH và FH nhưng có những mặt hạn chế như: buffer ti các AP phi

đủ ln để chứa các gói tin mà MH chưa gửi biên nhận; lượng thông tin mà các AP phải chuyển cho nhau khi MH chuyển vùng có thể rất lớn hoặc thậm chí bị mất. Ngoài ra, một hạn chế nữa của snoop TCP đó là vic phát li ca AP có th đụng độ vi cơ chế phát li ca TCP. Khi AP chưa nhận được ACK của MH, lúc này đương nhiên FH vẫn chưa nhận được ACK đó, cả 2 giao thức TCP của FH và cơ chế Snoop TCP trên AP có thể đồng thời phản ứng đối với việc mà chúng xem là mất gói tin này do vậy khả năng đồng thời phát lại gói tín sẽ rất cao. Điều này ảnh hưởng không nhỏ đến hiệu suất của mạng.

Một phần của tài liệu Khảo sát mạng LAN với các phần mở rộng không dây (Trang 49)