Cấu trúc dữ liệu và thuật toán mã hóa

Một phần của tài liệu Mã hóa mạng không dây sử dụng giao thức ALOHA (Trang 45 - 46)

MC LC

3.2.2.4. Cấu trúc dữ liệu và thuật toán mã hóa

Mỗi nút duy trì cấu trúc dữ liệu như sau:

 Mỗi nút có một hàng đợi FIFO của gói tin cần truyền.

 Với mỗi lân cận, nút duy trì hai hàng đợi ảo, một cho gói tin nhỏ (nhỏ hơn 100 byte) và một cho gói tin lớn. Hàng đợi ảo cho một lân cận A chứa con trỏ tới những gói trong hàng đợi mà hop kế tiếp là A.

 Thêm vào đó, nút giữ một bảng hash, thông tin gói, chứa ID của gói. Với mỗi gói trong hàng đợi, bảng cho biết xác suất của mỗi hàng xóm có gói tin.

Bất cứ khi nào MAC báo hiệu một cơ hội gửi gói tin, nút thực hiện thủ tục minh họa như dưới đây:

Pick packet p at the head of the output queue. Natives = {p}

Nexthops = {nexthop(p)}

ifsize(p) > 100 bytes then

which queue = 1

else

which queue = 0

end if

for Neighbor i = 1 to M do

Pick packet pi, the head of virtual queue Q(i, which_ queue)

ifn ∈ Nexthops ∪{i}, Pr[n can decode ppi] ≥ G then

p = ppi Natives = Natives ∪{pi} Nexthops = Nexthops ∪{i} end if end for which_queue = !which_queue for Neighbor i = 1 to Mdo

Pick packet pi, the head of virtual queue Q(i, which_ queue)

ifn ∈ Nexthops ∪{i}, Pr[n can decode ppi] ≥ G then

p = ppi

Nexthops = Nexthops ∪{i}

end if end for

return p

Việc tìm gói tin thích hợp để mã hóa hiệu quả là nhờ vào hàng đợi ảo. Khi quyết định mã hóa, COPE lấy gói tin ở đỉnh hàng đợi FIFO và xác định nó là gói nhỏ hay lớn. Tùy vào kích thước gói, nó tìm ở hàng hàng đợi ảo tương ứng. Ví dụ, nếu gói tin là gói nhỏ, COPE tìm trong hàng đợi ảo của các gói nhỏ. COPE chỉ tìm tại đỉnh của hàng đợi ảo để hạn chế sắp xếp lại các gói tin. Sau khi tìm kiếm hàng đợi ảo ở một kích thước nào đó, thuật toán sẽ chuyển sang tìm hàng đợi ảo cho các gói kích thước khác. Do đó để tìm gói phù hợp cho mã hóa, trong trường hợp xấu nhất COPE phải tìm 2M gói với M là số lân cận của một nút.

Ở đây đưa ra một khái niệm khác là sắp xếp lại gói. Ta sẽ chỉ sắp xếp lại các gói trong cùng một luồng bởi vì TCP xem nó như là lỗi tắc nghẽn tín hiệu. Do vậy, phải luôn luôn xem xét các gói theo trật tự của chúng trong hàng đợi. Tuy nhiên vẫn có thể sắp xếp lại gói để mã hóa các gói tin có cùng kích thước. Trên thực tế, cần hạn chế việc sắp xếp lại gói tin bởi vì phần lớn các gói trong luồng TCP là đủ lớn để được xếp trong hàng đợi gói lớn và do đó sẽ được xem xét theo thứ tự. Tuy nhiên trong mục 3.2.3 ta sẽ thấy rằng sắp xếp lại có thể thực hiện bởi một vài lý do khác, đặc biệt là yêu cầu truyền lại gói tin bị mất do dự đoán sai nên nút lân cận không giải mã được. Do vậy, ta sẽ giải quyết bất kỳ sự sắp xếp lại trật tự gói có thể xảy ra tại bất cứ đâu trong mạng tại phía nhận. COPE có một mô đun xếp các gói TCP theo thứ tự trước khi chuyển chúng tới lớp giao vận sẽ trình bày trong mục 3.2.3.

Một phần của tài liệu Mã hóa mạng không dây sử dụng giao thức ALOHA (Trang 45 - 46)

Tải bản đầy đủ (PDF)

(77 trang)