38
Phương pháp mã hóa mạng không dây với phép toán XOR Nhóm 12 : TTM – K53 Phùng Vũ Nhật Duy Đỗ Văn Kiên Cao Kỷ Tùng Cao Hà Vĩnh

XOR Coding in wireless network

Embed Size (px)

DESCRIPTION

Next Generation Network

Citation preview

Page 1: XOR Coding in wireless network

Phương pháp mã hóa mạng không dây với phép toán XOR

Nhóm 12 : TTM – K53

Phùng Vũ Nhật Duy

Đỗ Văn Kiên

Cao Kỷ Tùng

Cao Hà Vĩnh

Page 2: XOR Coding in wireless network

Nội dung

• Đặt vấn đề

• Kiến trúc COPE

• Coding Gain

• Thiết kế

• Thực hiện

• Thí nghiệm

• Kết luận

Page 3: XOR Coding in wireless network

I. Đặt vấn đề

• Mạng không dây

– Vai trò quan trọng

– Bị giới hạn thông lượng

– Khó mở rộng với mạng lớn

• Vấn đề: Tăng thông lượng mạng không dây !

Đề xuất kiến trúc COPE

Page 4: XOR Coding in wireless network

II. Kiến trúc COPE

• Nhằm tăng thông lượng mạng không dây

• Tầng mã hóa giữa tầng IP và MAC

– Xác định cơ hội mã hóa

– Khả năng chuyển tiếp nhiều gói tin trong 1 phiên truyền

– Phép XOR các gói tin

Page 5: XOR Coding in wireless network

• Cách hoạt động

– Router thực hiện phép XOR các bản tin nhận được bản tin mới

– Quảng bá gói tin này tới các máy trạm

– Bản tin ban đầu XOR Bản tin nhận đc Bản tin cần nhận

Page 6: XOR Coding in wireless network

• Ví dụ

Page 7: XOR Coding in wireless network

• COPE được thiết kế dựa trên 2 giả định

– Loại bỏ giả thiết point-to-point , hoạt động với kỹ thuật broadcast

– COPE thực thi mã hóa mạng

• COPE gồm 3 kỹ thuật chính

– Lắng nghe khi có cơ hội

– Mã hóa khi có cơ hội

– Lắng nghe trạng thái hàng xóm

Page 8: XOR Coding in wireless network

Lắng nghe khi có cơ hội

• Các node mạng được trang bị ăng-ten đẳng hướng

• COPE thiết lập các node mạng ở trạng thái hỗn độn

– Lắng nghe, ghi nhận mọi phiên truyền thông trong mạng không dây

– Lưu trữ các gói tin nghe được với một khoảng thời gian T nhất định ( mặc định 0.5s)

• Mỗi node quảng bá “báo cáo” cho các node hàng xóm (đang chứa các gói tin nào)

Page 9: XOR Coding in wireless network

Mã hóa khi có cơ hội

• Node mạng chọn cách mã hóa sao cho

– Tối đa số lượng gói tin được mã hóa

– Đảm bảo next-hop có thể giải mã được gói tin cần truyền đến mình

• Ví dụ : 4 node A, B, C, D

– D cần truyền các gói tin đến A, B, C

Page 10: XOR Coding in wireless network

Màu và hướng mũi tên xác định gói tin cần truyền và địa chỉ đích của nó

Có 3 cách mã hóa

Page 11: XOR Coding in wireless network

Cách 1: Tồi nhất Chỉ có C nhận được gói tin

Page 12: XOR Coding in wireless network

Cách 2: Tốt hơn A và C đã nhận được gói tin

Page 13: XOR Coding in wireless network

Cách 3: Tốt nhất Cả A, B, C đều nhận được gói tin

Page 14: XOR Coding in wireless network

• Luật : Để truyền n gói tin 𝒑𝟏, …, 𝒑𝒏 đến n next-hop, 𝒓𝟏, …, 𝒓𝒏, 1 node có thể XOR n gói tin với nhau chỉ khi mỗi next-hop 𝒓𝒊 𝒄ó (n – 1) gói tin 𝒑𝒋 với j ≠ 𝐢

– Đảm bảo mỗi next-hop có thể giải mã gói tin đã được XOR lấy lại gói tin cần truyền

– Chọn n lớn nhất thỏa mãn luật tăng hiệu quả mã hóa

Page 15: XOR Coding in wireless network

Lắng nghe trạng thái hàng xóm

• Dự đoán gói tin đang ở node nào

– Tính xác suất chuyển tiếp gói tin giữa mỗi cặp node

– Quảng bá xác suất cho toàn bộ các node

– Xác định tuyến đường ngắn nhất được chọn

– Ước lượng xác suất gói tin ở node hàng xóm

• Dự đoán sai

– Không giải mã được

– Truyền lại gói tin, mã hóa với các gói tin mới

Page 16: XOR Coding in wireless network

III. Coding Gain

• Coding Gain (>1)

CG = 𝑺ố 𝒍ượ𝒏𝒈 𝒑𝒉𝒊ê𝒏 𝒕𝒓𝒖𝒚ề𝒏 𝒃ì𝒏𝒉 𝒕𝒉ườ𝒏𝒈

𝑺ố 𝒍ượ𝒏𝒈 𝒑𝒉𝒊ê𝒏 𝒕𝒓𝒖𝒚ề𝒏 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬

• VD: CG = 4/3 = 1.33

Page 17: XOR Coding in wireless network

• ĐL 1: Nếu không có sự lắng nghe giữa các node mạng, tỉ số Coding Gain tối đa đạt được là 2

• CG = 𝟐𝑵

𝑵+𝟏

• CG = 𝟒

𝟑 = 1.33

• CG = 𝟖

𝟓 = 1.6

Page 18: XOR Coding in wireless network

• Coding + MAC Gain

– Tầng MAC chia băng thông thành các phần bằng nhau giữa các node

– COPE cho phép các node “bottleneck” thực hiện XOR các gói tin với nhau truyền nhanh hơn tăng thông lượng trong mạng

CMG = 𝑻ố𝒄 độ 𝒕𝒓𝒖𝒚ề𝒏 𝒕ạ𝒊 𝒏𝒐𝒅𝒆 𝒕𝒉ắ𝒕 𝒄ổ 𝒄𝒉𝒂𝒊 (𝒄ó 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬)

𝑻ố𝒄 độ 𝒕𝒓𝒖𝒚ề𝒏 𝒕ạ𝒊 𝒏𝒐𝒅𝒆 𝒕𝒉ắ𝒕 𝒄ổ 𝒄𝒉𝒂𝒊 (𝒌𝒉ô𝒏𝒈 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬)

Page 19: XOR Coding in wireless network

• ĐL 2: Nếu thiếu sự lắng nghe giữa các node mạng, tỉ số Coding+MAC gain tối đa đạt được là 2

• ĐL 3: Nếu có sự lắng nghe giữa các node mạng, tỉ số Coding+MAC gain là không giới hạn

– Có N nodes

– XOR N node Truyền nhanh hơn N lần

Page 20: XOR Coding in wireless network

IV. Thiết kế

• Các qui định xây dựng thuật toán mã hóa

– Không có gói tin bị delay ~ COPE không chờ các gói tin

có khả năng mã hóa

– Ưu tiên XOR các gói tin có cùng độ dài

– Không mã hóa các gói tin có cùng địa chỉ đích • 2 hàng đợi ảo cho mỗi node hàng xóm

• Ngưỡng : 100 bytes

– Tìm kiếm các gói tin phù hợp để mã hóa

Page 21: XOR Coding in wireless network

• Sắp xếp lại các gói tin: để truyền lại

– Do mất mát

– Không giải mã được

• Đảm bảo node mạng đích có thể giải mã gói tin với xác suất:

𝑃𝐷: Xác suất node mạng đích có thể giải mã ra gói tin cần nhận

𝑃𝑖: Xác suất node mạng có thể nghe được gói tin i

𝑷𝑫 = 𝑷𝟏 𝒙 𝑷𝟐 𝒙 … 𝒙 𝑷𝒏−𝟏

Page 22: XOR Coding in wireless network

• Mỗi node

– Hàng đợi đầu ra (FIFO)

– 2 hàng đợi ảo

• Ngưỡng : 100 bytes

– Bảng băm

• Mã hóa ID của các gói tin

Page 23: XOR Coding in wireless network

Giải mã gói tin

• Mỗi node giữ “packet pool”

– Giữ bản copy của gói tin đã nhận hay truyền

– Bảng băm lưu ID các gói tin

• Khi nhận được gói tin mã hóa

– Tìm kiếm gói tin trong “packet pool”

• Thực hiện XOR (n-1) gói tin với gói tin mã hóa nhận được gói tin cần nhận

Page 24: XOR Coding in wireless network

Vấn đề giả quảng bá

• IEEE 802.11

– Unicast

• Node nhận được gói tin gửi ngay ACK

• Không nhận được ACK cơ chế back-off

– Broadcast

• Không rõ node nào sẽ gửi ACK

• Không có quá trình truyền lại Độ tin cậy kém

• Khả năng xung đột cao Giảm thông lượng

Giải pháp : Giả quảng bá

Page 25: XOR Coding in wireless network

• Pseudo-Broadcast – Dựa trên 802.11 Unicast

• Kế thừa tính tin cậy

• Back-off

• Phát hiện xung đột

– Frame chứa: • Địa chỉ MAC của 1 trong các node đích

• XOR-header: chứa toàn bộ next-hop của gói tin

– Node nhận được gói tin với địa chỉ MAC không phải của nó • Kiểm tra XOR-header xem liệu nó có phải next-hop

– Nếu đúng, xử lí

– Nếu sai, lưu lại trong buffer

Page 26: XOR Coding in wireless network

ACK và Sự truyền lại • Phải có ACK qua từng node mạng

– Do tồn tại sự mất mát

– Nếu không, next-hop đã đủ thông tin để giải mã gói tin ?

COPE dùng cơ chế truyền lại

• Sự truyền lại

– Tránh quá tải , các gói tin mã hóa nhận ACK không đồng thời

– Khi một node gửi gói tin mã hóa

• Lên lịch truyền lại mỗi gói tin nhỏ

– Tại node nhận gói tin

• Lên lịch phản hồi ACK

Page 27: XOR Coding in wireless network

Ngăn ngừa sự sắp xếp lại các gói TCP

• ACK được gửi không đồng thời sắp xếp lại dấu hiệu của tắc nghẽn

• COPE đảm bảo các gói TCP được truyền đúng trật tự (ordering agent)

• Các gói tin nhanh chóng chuyển sang bước tiếp theo, nếu:

– Không phải TCP

– Có địa chỉ IP đích khác địa chỉ node

• Các gói tin khác đều được sắp xếp đúng trật tự (dùng số sequence)

Page 28: XOR Coding in wireless network

V. Thực hiện • Cấu trúc gói tin : COPE header

– ID các gói tin gốc

• ID các gói tin

• Next-hop

– Báo cáo

• Địa chỉ IP nguồn

• Số sequence nhận được từ IP nguồn

• Bit-map của gói tin vừa nghe

– Khối ACK: nhiều bản ghi

• Xác định node hàng xóm

• Last ACK

• Bit-map của các gói tin mã hóa

Page 29: XOR Coding in wireless network

• Các luồng điều khiển

Page 30: XOR Coding in wireless network

VI. Thí nghiệm • 20 node testbed

– Linux

– Card không dây gắn vào một ăng-ten đẳng hướng

• Số lượng hop tối đa là 6, tỉ lệ mất mát 0 – 30%

• 802.11 a (Bit rate = 6 Mbps): Ad-Hoc

• COPE thực thi nhờ công cụ Click

• Giao thức định tuyến Srcr (Thuật toán Djikstra – Tìm đường đi ngắn nhất )

• Mô hình lưu lượng: Công cụ – Udpgen: Tạo sinh dòng UDP

– Ttcp: Tạo sinh dòng TCP

Page 31: XOR Coding in wireless network

• Metrics

– Thông lượng mạng (từ node đầu đến cuối)

– Độ gia tăng thông lượng (có và không có COPE)

• 3 kịch bản thử nghiệm

– COPE trong mạng đơn giản

– COPE trong mạng Ad-hoc

– COPE trong mạng Mesh Access

Page 32: XOR Coding in wireless network

COPE trong mạng đơn giản

• Luồng TCP

– Kết quả chưa gần giống lý thuyết • Mạng Alice & Bob và Mạng X: CG ≈ 1.33

• Mạng chéo : CG ≈ 1.5 < 1.6

– Sai số • Do header của COPE

• Không lắng nghe đầy đủ các gói tin

• Do chênh lệch băng thông giữa các luồng

Coding Gain

Page 33: XOR Coding in wireless network

• Luồng UDP

– Kết quả tốt hơn TCP, giống lý thuyết

• Mạng Alice & Bob và Mạng X: CMG = 2

• Mạng chéo : CMG = 4

– Vẫn có sai số

• Do không lắng nghe đầy đủ gói tin

• Do chênh lệch băng thông giữa các luồng

Coding + MAC Gain

Page 34: XOR Coding in wireless network

COPE trong mạng Ad-Hoc

• Các dòng TCP , node gửi và nhận được chọn ngẫu nhiên

• TCP: không cải thiện đáng kể (2-3%)

• Lặp lại thí nghiệm

– Thay đổi số bản ghi địa chỉ MAC

– Kích hoạt RTS/CTS (Request To Send/ Clear To Send)

– Không áp dụng COPE

• TỈ lệ mất gói : 14%

Page 35: XOR Coding in wireless network

COPE trong mạng Ad-Hoc

• COPE làm việc tốt trong khi không có các node ảo

– TCP: tăng 38%

– UDP: tăng 3-4 lần

Page 36: XOR Coding in wireless network

COPE trong mạng Mesh Access

• Các dòng UDP được sử dụng, tỉ lệ uplink/downlink được thay đổi

• Tỉ lệ uplink tăng, nhiều cơ hội để mã hóa COPE hoạt động tốt hơn

Page 37: XOR Coding in wireless network

VII. Kết luận

• Mã hóa mạng có nhiều lợi ích thực tế

– Khi môi trường không dây bị tắc nghẽn và lưu lượng là các gói UDP ngẫu nhiên, COPE tăng thông lượng lên 3-4 lần

– TCP : tăng 38% (không có node ảo)

– Với mạng Mesh Access, thông lượng tăng 5% - 70% (tùy thuộc tỉ lệ download/upload)

• COPE có thể tích hợp với việc chuyển tiếp và định tuyến gói tin, cũng như tăng độ tin cậy

Page 38: XOR Coding in wireless network

Reference

• XORs in The Air: Practical Wireless Network Coding (Sachi Katti, Hariharan Raul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft )