Cơ chế hoạt động của bộ nhớ đệm trong DTC

Một phần của tài liệu Các thủ tục lớp giao vận internet và TCP, UDP cho mạng không dây (Trang 54 - 55)

Chƣơng 2 : Mạng không dây và ứng dụng TCP trong mạng không dây

2. ứng dụng TCP trong mạng cảm biến không dây

2.1. Lƣu trữ các phân đoạn TCP phân tán (DTC)

2.1.2 Cơ chế hoạt động của bộ nhớ đệm trong DTC

Do sự hạn chế bộ nhớ của các nút cảm biến, bộ nhớ đệm là một thành phần rất quan trọng để thực hiện các DTC để tìm một cách thích hợp cho các nút để chọn các phân đoạn cho bộ nhớ đệm. Một kết quả mong muốn là tất cả các phân đoạn đang trong quá trình chuyển đi đƣợc lƣu trữ một cách cẩn thận vào bộ nhớ đệm để tránh khả năng bị mất dọc theo con đƣờng hƣớng tới ngƣời nhận. Để đạt đƣợc điều này, số đoạn đƣợc phân khúc trong TCP cao nhất còn tuỳ thuộc vào bộ nhớ đệm của các nút đầu cuối. Nó đảm bảo rằng một số phân đoạn lớn có thể đƣợc lƣu trữ trong mạng là tốt nhất. Để phát hiện mất gói tin ở nút kế tiếp, tại các nút cảm biến các gói tin phản hồi sẽ lắng nghe quá trình truyền các gói tin của các nút tiếp theo, nếu mất gói tin xảy ra quá trình truyền lại ngay lập tức sẽ đƣợc khởi động bằng việc gửi thông báo mất gói tin thông qua giao thức ICMP. Do đó, phân khúc này sẽ bị khoá trong bộ nhớ đệm và không cho phép ghi đè bởi một phân đoạn TCP khác với một số thứ tự cao hơn. Một phân đoạn đã bị khóa đƣợc loại ra khỏi bộ nhớ đệm chỉ khi một ACK biết rằng phân khúc trong bộ nhớ đệm khẳng định là đã nhận đƣợc gói tin trên. Tại các nút hiện tại khi gói tin bị mất sẽ truyền lại để tránh việc truyền lại gói tin từ hai nút đầu cuối tránh lãng phí băng thông của toàn mạng, DTC có phản ứng mất gói tin nhanh và thƣờng xuyên hơn vì DTC chủ yếu dựa vào thời gian tạm ngƣng của quá trình truyền tin để phát hiện gói tin bị mất. Tất cả các nút tham gia DTC duy trì một trạng thái mềm cho TCP cho các kết nối đi qua nút này. (Trích tài liệu tham khảo số 4)

Theo giả định các tuyến đƣờng đối xứng và tƣơng đối ổn định, và do đó các nút có thể ƣớc tính sự chậm trễ giữa các nút và kết thúc kết nối giữa các điểm. Mỗi nút đo thời gian khứ hồi (RTT) để nhận và thích nghi một thời gian chờ để truyền lại 1,5 RTT *. Điều này đảm bảo rằng các giá trị thời gian chờ tái phát sóng nhỏ cho các nút gần đích đến và cao hơn cho các nút gần với nguồn. Kể từ khi RTT các giá trị kinh nghiệm của các nút thấp hơn ƣớc tính vào điểm cuối cùng của quá trình truyền, các nút trung gian có thể thực hiện truyền lại sớm hơn so với điểm TCP cuối cùng. DTC thiết lập một bộ đếm thời gian cho một gói tin truyền lại khi họ khóa một phân đoạn trong bộ nhớ đệm.

DTC sử dụng TCP để phát hiện gói tin bị mất và dùng giao thức ICMP để gửi thông tin về gói tin bị mất cũng nhƣ là cơ chế báo hiệu giữa các nút DTC khác, đồng thừi cũng sử dụng để thông báo qua giao thức ICMP cho các nút khác về những phân đoạn bị khoá trong bộ nhớ đệm. Sau khi ghi nhận số thứ tự của các đoạn của bộ nhớ đệm bƣớc kế tiếp một nút trong mạng cảm biến DTC thực hiện tiếp những hành động sau đây:

 Nếu một nút nhận đƣợc số thứ tự của các phân đoạn không nằm trong khối SACK thì ngay tại nút đó có khả năng truyền lại các phân khúc trong bộ nhớ đệm. Trƣớc khi truyền TCP ACK tới ngƣời nhận, các nút sẽ cho biết thêm bộ nhớ về khối SACK. Hơn nữa nếu tất cả các bộ nhớ đệm đều đã đầy trong các khoảng trống, nghĩa là tất cả các số phân khúc đã lên tới mức tối đa trong khối SACK lúc này các phân đoạn có thể truyền gói tin đi tới ngƣời nhận. Lƣu ý rằng tại các nút cảm biến không cho phép tạo một ACK mới cho đến khi nó biết chắc rằng khối SACK trƣớc đó đã rời đi.

 Các nút có thể xoá bộ nhớ đệm của nó nếu số thứ tự đã lên mức tối đa của các phân đoạn trong khối SACK vì điều này có nghĩa rằng ngƣời nhận đã nhận đƣợc các phân khúc tƣơng ứng hoặc các phân khúc đƣợc lƣu lại và khoá bằng một nút gần nhất từ ngƣời gửi tới ngƣời nhận. Lƣu ý rằng ngay cả khi ngƣời gửi không hỗ trợ SACK, thì tại các trạm cơ sở hoặc nút đầu tiên trong mạng cảm biến có thể thêm vào hoặc loại bỏ các tuỳ chọn SACK, để cho phép kích hoạt tín hiệu SACK cho DTC.

Một phần của tài liệu Các thủ tục lớp giao vận internet và TCP, UDP cho mạng không dây (Trang 54 - 55)