MC LC
3.3.2. Điều khiển luồng
Hình 3.4 tóm tắt kiến trúc của COPE. Ở bên gửi (Hình 3.4(a)), bất cứ khi nào MAC báo hiệu một cơ hội để truyền, nút lấy gói tin ở đỉnh của hàng đợi và chuyển đến mô đun mã hóa (Mục 3.2.2). Nếu nút có thể mã hóa nhiều gói tin gốc, nó phải lên kế hoạch cho truyền lại bất đồng bộ. Và trước khi gói tin rời khỏi nút, thông báo nhận và ACK được thêm vào.
Tại bên nhận (Hình 3.4 (b)), khi gói tin đến, nút tách ACK được gửi bởi lân cận này tới nó. Nó cũng tách tất cả các thông báo nhận và cập nhật những gói mà lân cận của nó đã lưu. Các xử lý khác phụ thuộc vào gói tin được gửi cho nó hay không. Nếu nút không phải là hop kế tiếp của gói tin, gói tin được lưu trong Bộ trữ gói tin. Nếu nút là một hop kế tiếp, nó kiểm tra xem gói tin có được mã hóa không. Nếu có, nút cố gắng giải mã gói tin bằng cách XOR gói tin mã hóa với các gói tin gốc mà nó có trong Bộ trữ gói tin. Sau khi giải mã nó ACK việc nhận này tới hop kề trước và lưu gói tin đã giải mã trong Bộ trữ gói tin. Nút tiếp tục kiểm tra xem nó có là đích đến của gói tin không, nếu
đúng nó chuyển gói tin tới các lớp cao hơn. Nếu nút chỉ là hop trung gian, nó đẩy gói tin tới hàng đợi đầu ra. Nếu gói đã nhận không mã hóa, nó sẽ được lưu ngay vào Bộ trữ gói tin và được xử lý tương tự như gói tin giải mã.
Rời hàng đầu của hàng đợi đầu ra Mã hóa nếu có thể Mã hóa ? Không Có Lập lịch truyền lại
Thêm báo cáo tiếp nhận
Đến thiết bị không dây
(a) Bên người gửi
ó thể gửi
Thêm ack vào tiêu đề
Xếp vào hàng đợi đầu ra Tôi là đích ? Không Có Phân phát tới host Thêm vào bộ trữ gói tin
Mã hóa ?
Có thể giải mã Giải mã và lập lịch ack
Có
Có
Tôi là hop tiếp theo ? Có
Không
Thêm vào bộ trữ gói tin
Giải nén báo cáo tiếp nhận Cập nhật trạng thái hàng xóm
Giải nén ack ý nghĩa cho tôi Cập nhật các sự kiện truyền lại
Gói tin đến
(a) Bên người nhận
Hình 3.4 Lưu đồ cho thực hiện COPE