Upload
dzuy-phung
View
30
Download
1
Embed Size (px)
DESCRIPTION
Next Generation Network
Citation preview
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
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
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
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
• 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
• Ví dụ
• 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
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)
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
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
Cách 1: Tồi nhất Chỉ có C nhận được gói tin
Cách 2: Tốt hơn A và C đã nhận được gói tin
Cách 3: Tốt nhất Cả A, B, C đều nhận được gói tin
• 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
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
III. Coding Gain
• Coding Gain (>1)
CG = 𝑺ố 𝒍ượ𝒏𝒈 𝒑𝒉𝒊ê𝒏 𝒕𝒓𝒖𝒚ề𝒏 𝒃ì𝒏𝒉 𝒕𝒉ườ𝒏𝒈
𝑺ố 𝒍ượ𝒏𝒈 𝒑𝒉𝒊ê𝒏 𝒕𝒓𝒖𝒚ề𝒏 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬
• VD: CG = 4/3 = 1.33
• Đ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
• 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 = 𝑻ố𝒄 độ 𝒕𝒓𝒖𝒚ề𝒏 𝒕ạ𝒊 𝒏𝒐𝒅𝒆 𝒕𝒉ắ𝒕 𝒄ổ 𝒄𝒉𝒂𝒊 (𝒄ó 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬)
𝑻ố𝒄 độ 𝒕𝒓𝒖𝒚ề𝒏 𝒕ạ𝒊 𝒏𝒐𝒅𝒆 𝒕𝒉ắ𝒕 𝒄ổ 𝒄𝒉𝒂𝒊 (𝒌𝒉ô𝒏𝒈 𝒅ù𝒏𝒈 𝑪𝑶𝑷𝑬)
• Đ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
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
• 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
𝑷𝑫 = 𝑷𝟏 𝒙 𝑷𝟐 𝒙 … 𝒙 𝑷𝒏−𝟏
• 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
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
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á
• 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
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
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)
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
• Các luồng điều khiển
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
• 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
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
• 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
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%
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
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
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
Reference
• XORs in The Air: Practical Wireless Network Coding (Sachi Katti, Hariharan Raul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft )