1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Thử nghiệm mô hình mạng LoRaWAN với giao thức định tuyến heat

132 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

HUỲNH HOÀNG KHA

THỬ NGHIỆM MÔ HÌNH MẠNG LORAWAN VỚI GIAO THỨC ĐỊNH TUYẾN HEAT

Chuyên ngành : KHOA HỌC MÁY TÍNH

Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 02 năm 2023

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM

Cán bộ hướng dẫn khoa học : TS PHẠM HOÀNG ANH

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 Chủ tịch: PGS TS TRẦN VĂN HOÀI

2 Thư ký: TS NGUYỄN TIẾN THỊNH3 GVPB 1: TS LÊ TRỌNG NHÂN4 GVPB 2: TS TRANG HỒNG SƠN

5 Ủy viên: PGS TS HUỲNH TƯỜNG NGUYÊN

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

VÀ KỸ THUẬT MÁY TÍNH

PGS TS TRẦN VĂN HOÀI

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Huỳnh Hoàng Kha MSHV: 2070410 Ngày, tháng, năm sinh: 25/01/1997 Nơi sinh: Bình Định Chuyên ngành: Khoa học máy tính Mã số: 8480101

II NHIỆM VỤ VÀ NỘI DUNG:

- Tìm hiểu, nghiên cứu về các giao thức định tuyến dùng cho các mạng cảm biếnkhông dây

- Nghiên cứu, đề xuất phương án cải thiện giao thức định tuyến HEAT.

- Xây dựng mô hình mô phỏng giao thức đã cải thiện trên phần mềm mô phỏngmạng OMNeT++

- Thực hiện mô phỏng và đánh giá kết quả thực hiện.

V CÁN BỘ HƯỚNG DẪN : TS Phạm Hoàng Anh

Trang 4

LỜI CẢM ƠN

Hoàn thành được Luận Văn này là một điều hết sức khó khăn, không chỉ vì khối lượng nghiên cứu, mà còn vì giới hạn sức khỏe và áp lực của việc vừa học vừa làm Công trình này có thể đã không thể hoàn thành nếu thiếu đi sự ủng hộ, cảm thông, và chia sẻ của bất cứ ai mà tôi đang bộc bạch lời cảm ơn Người đầu tiên phải nhắc đến là TS Phạm Hoàng Anh Thầy cũng là Giảng Viên Hướng Dẫn cho Luận Văn đại học của tôi Trước đó, Thầy cũng đã giảng dạy tôi nhiều môn quan trọng Thầy không chỉ tâm huyết trong việc giảng dạy mà còn rất tâm lý, thường xuyên nhắc nhở, định hướng cho sinh viên Nhờ vậy mà tôi đã học được cách nhìn nhận, phân tích nhiều vấn đề chuyên môn, cũng như có phương hướng rõ ràng hơn cho cuộc sống Trong khi đó, tôi lại là một học trò không có gì nổi bật, thậm chí còn có rất nhiều điểm hạn chế so với những học trò khác của Thầy Sức khỏe tôi không tốt, chỉ cần làm việc với cường độ cao một thời gian là tôi rất dễ bị ốm, lại phải gián đoạn công việc Tôi cũng khá chậm chạp, nên gần như lúc nào tôi cũng cần thời gian gấp đôi so với những học trò khác của Thầy để hoàn thành được cùng một việc Nhưng Thầy lại kiên nhẫn với tôi một cách đáng kinh ngạc Đó là điều tôi thực sự biết ơn sâu sắc và cũng là điều có sức ảnh hưởng rất lớn đến cách mà tôi sẽ dẫn dắt học trò của mình sau này

Bên cạnh đó, tôi cũng xin gửi lời cảm ơn chân thành đến PGS TS Phạm Quốc Cường – chủ nhiệm Bộ môn Kỹ thuật Máy tính và Quý Thầy Cô lãnh đạo của khoa Khoa học và Kỹ thuật Máy tính trường Đại học Bách Khoa – Đại học Quốc Gia TP.HCM đã tạo điều kiện cho tôi có thể vừa công tác vừa học tập Xin cảm ơn Quý Thầy Cô, Quý Anh/Chị đồng nghiệp đã luôn sẵn lòng giúp đỡ trong mọi công việc ở khoa cũng như một số vấn đề trong đời sống Vừa học vừa làm, áp lực rất lớn Không có sự ủng hộ, tạo điều kiện, và giúp đỡ của mọi người, tôi có thể đã không hoàn thành được Luận Văn này Cảm ơn ThS Trần Hoàng Quốc Bảo, KS Huỳnh Phúc Nghị cũng đã luôn xuất hiện kịp thời lúc tôi gặp khó khăn, giúp tôi tháo gỡ không ít vấn đề trong công việc, nhờ vậy tôi có thể dành được nhiều thời gian hơn cho Luận Văn

Không kém phần quan trọng, sự quan tâm, tin tưởng, và ủng hộ của gia đình cũng là một chỗ dựa vững chắc Nhờ có gia đình mà tôi đã không bỏ cuộc trong những lúc xuống tinh thần Ngoài ra, mặc dù gia đình tôi cũng không khá giả, nhưng mọi người vẫn luôn sẵn sàng hỗ trợ về mặt vật chất để tôi có thể tập trung hơn vào việc học Tuy nhiên thật may mắn là tôi đã có thể tự lo được mọi khoản chi phí Một lần nữa xin bày tỏ sự biết ơn sâu sắc đến những người thân yêu

Trang 5

TÓM TẮT LUẬN VĂN

LoRaWAN là một đặc tả kỹ thuật được phát triển và duy trì bởi LoRa Alliance giúp chuẩn hóa mô hình các hệ thống IoT sử dụng LoRa, giúp chúng có thể dễ dàng tích hợp với nhau, cũng giúp các nhà phát triển dễ dàng phối hợp dựa trên những đặc tả, tiêu chuẩn chung Cấu trúc star-of-stars của LoRaWAN giúp các nodes có thể gửi được dữ liệu đến gateway với độ trễ thấp, đồng thời giúp giao tiếp đường xuống cũng được thực hiện dễ dàng Nhưng trong một số tình huống, do điều kiện hạ tầng mà không thể bố trí được hệ thống gateways bao phủ tất cả các nodes, cần có giải pháp để những nodes ngoài tầm phủ sóng của gateway vẫn gửi được dữ liệu về Để giải quyết vấn đề này, kỹ thuật flooding có thể được áp dụng nhưng sinh ra một số vấn đề như dư thừa dữ liệu, tăng đụng độ, và tiêu hao nhiều năng lượng Luận Văn này đề xuất cải tiến và áp dụng giải thuật định tuyến HEAT vào khu vực giữa các nodes và gateways, cho phép giao tiếp nhiều hops hiệu quả hơn Nhằm đánh giá kết quả thực hiện, các mô phỏng đã được thực hiện trên phần mềm OMNeT++ và một số chỉ số chính như tỉ lệ gửi gói thành công đến gateways, thông năng, độ trễ, và năng lượng tiêu thụ,… đã được đo lường và báo cáo

THESIS ABSTRACT

LoRaWAN is a technical specification developed and maintained by the LoRa Alliance It makes LoRa-based IoT systems easy to be integrated Developers are also easy to coordinate in LoRaWAN projects thanks to the mutual specifications and standards The LoRaWAN's star-of-stars topology help nodes send data to gateways with low latency and enable downlink communication But in some scenarios, due to the telecommunication infrastructure condition, engineers couldn't place enough gateways to cover all the nodes Therefore, multi-hop communications are required In such scenarios, the flooding technique may be applied But the flooding technique has some drawbacks: High data redundancy, high collision possibility, and high power consumption on nodes This thesis proposes to revise the HEAT routing algorithm and apply it to the region between nodes and gateways for better multi-hop communications To evaluate the results, some simulations were conducted with OMNeT++ Some key metrics that are measured and reported are packet reception rate, throughput, latency, and power consumption

Trang 6

LỜI CAM ĐOAN

Tôi xin cam đoan và chịu trách nhiệm rằng công trình nghiên cứu này là do chính tôi tự thực hiện dưới sự hướng dẫn khoa học của TS Phạm Hoàng Anh theo chương trình đào tạo bậc cao học tại Trường Đại học Bách Khoa – Đại học Quốc Gia TP.HCM từ năm 2020 đến 2022 Mọi kết quả đều được báo cáo trung thực, chính xác với những gì đã thực hiện, và chưa từng được công bố bởi bất kì tác giả nào khác tại bất kì hội nghị, tạp chí, hoặc cuốn sách nào

Học viên cao học

Huỳnh Hoàng Kha

Trang 7

1.1.2 Một số giải thuật định tuyến 6

1.1.3 Vấn đề và hướng cải thiện 21

1.2Khái quát ý tưởng 30

1.2.1 Chiến lược tìm đường 30

1.2.2 Khái niệm “heat” mới 30

1.2.3 So sánh giá trị “heat” mới 34

1.3.3 Cập nhật dữ liệu mạng giữa các nodes 54

1.3.4 Tham gia và rời mạng 56

1.3.5 Chuyển tiếp dữ liệu 57

1.4Cấu trúc các tin nhắn 63

1.4.1 Cấu trúc tổng quát 63

Trang 8

1.4.2 Các loại gói tin 63

2Mô phỏng và đo lường 69

2.1Nội dung 69

2.1.1 Mô hình mạng mô phỏng 69

2.1.2 Cấu hình mạng mô phỏng 71

2.1.3 Nội dung đo lường 77

2.1.4 Phương pháp lấy kết quả, xử lý số liệu, và thực hiện thống kê 79

2.2Kết quả đo lường 86

2.2.1 Kết quả đo lường với mạng 10 nodes, 1 gateway 86

2.2.2 Kết quả đo lường với mạng 20 nodes, 2 gateways 102

3Kết luận 108

DANH MỤC CÔNG TRÌNH KHOA HỌC 110

TÀI LIỆU THAM KHẢO 116

Trang 9

DANH MỤC HÌNH ẢNH

Hình 1.1 Cấu trúc liên kết mạng LoRaWAN 3

Hình 1.2 Mô hình mạng LoRaWAN 4

Hình 1.3 Minh họa giao thức định tuyến DSDV 8

Hình 1.4 Mô hình mạng sử dụng giao thức định tuyến CGSR 10

Hình 1.5 Lưu đồ giải thuật tính giá trị nhiệt độ của một nút trong mạng sử dụng giao thức định tuyến HEAT 13

Hình 1.6 Ví dụ về cách định tuyến của HEAT 14

Hình 1.7 Phát tán gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức DSR 16

Hình 1.8 Header của gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức DSR 16

Hình 1.9 Phản hồi tuyến đường trong mạng sử dụng giao thức DSR 16

Hình 1.10 Phát tán gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức AODV 17

Hình 1.11 Phản hồi tuyến đường trong mạng sử dụng giao thức AODV 18

Hình 1.12 Phát tán gói tin truy vấn trong mạng sử dụng giải thuật định tuyến TORA 20

Hình 1.13 Trọng số các nodes được cập nhật bằng các gói tin trong mạng sử dụng giải thuật định tuyến TORA 20

Hình 1.14 Mô hình mạng có một số nodes nằm ngoài vùng phủ sóng của gateway 22

Hình 1.15 Tình trạng mạng minh họa 10 nodes 1 gateway khi chỉ có gateway và các Node 0, 1, 2, 3, 5, và 8 hoạt động 26

Hình 1.16 Tình trạng mạng minh họa 10 nodes 1 gateway sau khi có thêm Node 9 được khởi động 27

Hình 1.17 Tình trạng mạng minh họa 10 nodes 1 gateway khi có thêm Node 6 và Node 7 được khởi động 29

Trang 10

Hình 1.18 Ví dụ về giá trị của trường "nhiệt độ" trong mạng sử dụng giao thức

định tuyến HEAT 31

Hình 1.19 Ví dụ về mô hình sử dụng dịch vụ và cung cấp lại dịch vụ vận chuyển dữ liệu về gateway 38

Hình 1.20 Ví dụ về tương tác giữa các nodes trong mạng 40

Hình 1.21 Ví dụ về kỹ thuật định thời giao tiếp bằng các khung thời gian 44

Hình 1.22 Ví dụ về luồng dữ liệu và định thời chuyển tiếp dữ liệu trong mạng sử dụng kỹ thuật phân chia thời gian 45

Hình 1.23 Minh họa việc các nodes quảng bá khung thời gian trống 47

Hình 1.24 Quá trình hai node thiết lập khung thời gian dành riêng để giao tiếp với nhau 49

Hình 1.25 Lưu đồ giải thuật việc thiết lập các khung thời gian giao tiếp 50

Hình 1.26 Tổng quát cách phân chia khung thời gian được đề xuất 51

Hình 1.27 Các trường trong bảng dữ liệu được duy trì trong các nodes 52

Hình 1.28 Ví dụ về bảng dữ liệu các nodes lân cận tại một node 54

Hình 1.29 Giao tiếp giữa hai nodes trong khung thời gian dành riêng 54

Hình 1.30 Lưu đồ giải thuật việc cập nhật dữ liệu mạng giữa các nodes 56

Hình 1.31 Ví dụ về trường hợp gửi gián tiếp tốt hơn gửi trực tiếp 57

Hình 1.32 Ví dụ về trường hợp tuyến đường tốt nhất đã được khai thác hết thông năng 58

Hình 1.33 Mô hình phân phối và chuyển tiếp các gói tin 60

Hình 1.34 Lưu đồ giải thuật bộ điều phối gói tin (Dispatcher) 61

Hình 1.35 Lưu đồ giải thuật bộ gửi (Deliverer) 62

Hình 1.36 Cấu trúc tổng quát của một thông điệp 63

Hình 2.1 Mô hình mạng mô phỏng với 10 nodes và 1 gateway 69

Hình 2.2 Mô hình mạng mô phỏng với 20 nodes và 2 gateways 69

Hình 2.3 Kết quả xử lý dữ liệu đầu ra của chương trình mô phỏng 83

Hình 2.4 Các vectors lưu thông tin độ trễ của các gói tin khi đến được gateway, phân loại theo số hop chúng đã đi qua 84

Trang 11

Hình 2.5 Dữ liệu thô độ trễ của từng gói tin đến được gateway sau khi trích xuất từ các vectors của OMNeT++ 84 Hình 2.6 Dữ liệu có được sau mỗi lần mô phỏng với một tần suất tạo và gửi gói nhất định 85 Hình 2.7 Năng lượng tiêu thụ của các nodes trong một lần chạy mô phỏng 86 Hình 2.8 Bảng dữ liệu mạng của Node 0 khi tần suất tạo và gửi gói tin của các nodes trong mạng là 1 gói mỗi 15 giây khi áp dụng giao thức định tuyến AQoSR 87 Hình 2.9 Bảng dữ liệu mạng của Node 0 khi tần suất tạo và gửi gói tin của các nodes trong mạng là 1 gói mỗi 10 giây khi áp dụng giao thức định tuyến AQoSR 88 Hình 2.10 Tỉ lệ gửi gói thành công đến gateway của các nodes trong mạng 10 nodes 1 gateway với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến AQoSR 89 Hình 2.11 Độ trễ trung bình đến gateway và độ trễ trung bình qua một hop của các nodes trong mạng 10 nodes 1 gateway với những tần suất tạo và gửi gói khác nhau khi áp dụng giao thức định tuyến AQoSR 91 Hình 2.12 Độ trễ theo số hop của các gói tin trong mạng 10 nodes 1 gateway khi áp dụng giao thức định tuyến AQoSR 93 Hình 2.13 Năng lượng tiêu thụ của các nodes trong mạng 10 nodes 1 gateway với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến AQoSR 94 Hình 2.14 Tỉ lệ gửi gói thành công đến gateway của các nodes trong mạng 10 nodes 1 gateway với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến HEAT nguyên bản 96 Hình 2.15 Độ trễ trung bình đến gateway và độ trễ trung bình qua một hop của các nodes trong mạng 10 nodes 1 gateway với những tần suất tạo và gửi gói khác nhau khi áp dụng HEAT nguyên bản 98 Hình 2.16 Năng lượng tiêu thụ của các nodes trong mạng 10 nodes 1 gateway với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến HAET nguyên bản 99

Trang 12

Hình 2.17 Tỉ lệ gửi gói thành công đến gateway của các nodes trong mạng 10 nodes 1 gateway với những tần suất gửi khác nhau khi sử dụng kỹ thuật flooding 100 Hình 2.18 Mức năng lượng tiêu thụ của các nodes trong mạng 10 nodes 1 gateway sử dụng kỹ thuật flooding ở những tần suất tạo và gửi gói khác nhau 101 Hình 2.19 Độ trễ trung bình đến gateway và độ trễ qua một hop của các nodes trong mạng 10 nodes 1 gateway sử dụng kỹ thuật flooding 102 Hình 2.20 Tỉ lệ gửi gói thành công đến gateway của các nodes trong mạng 20 nodes 2 gateways với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến AQoSR 105 Hình 2.21 Độ trễ trung bình đến gateway và độ trễ trung bình qua mỗi hop của các nodes trong mạng 20 nodes 2 gateways với những tần suất gửi khác nhau khi áp dụng giao thức định tuyến AQoSR 106 Hình 2.22 Năng lượng tiêu thụ của từng nodes trong mạng 20 nodes 2 gateways với nhiều tần suất tạo và gửi gói khác nhau khi áp dụng giao thức định tuyến AQoSR 107

Trang 13

DANH MỤC BẢNG

Bảng 1.1 Minh họa bảng định tuyến tại một node trong mạng sử dụng DSDV 9

Bảng 1.2 Một số điểm khác nhau giữa AODV và DSR 18

Bảng 1.3 Phân biệt khái niệm giá trị "heat" với "chất lượng tuyến đường" 37

Bảng 1.4 Cấu trúc gói tin FREE_SLOT 64

Bảng 1.5 Cấu trúc gói tin REQUEST_SLOT 64

Bảng 1.6 Cấu trúc gói tin ACK_REQUEST_SLOT_SUCCESS 65

Bảng 1.7 Cấu trúc gói tin ACK_REQUEST_SLOT_FAIL 65

Bảng 1.8 Cấu trúc gói tin UPDATE_HEAT_VALUE 66

Bảng 1.9 Cấu trúc gói tin FORWARD_PACKET 66

Bảng 1.10 Cấu trúc gói tin ACK_PACKET_TO_GW 67

Bảng 1.11 Cấu trúc gói tin ACK_PACKET_FAIL_TO_GW 68

Bảng 2.1 Khoảng cách giữa các nodes trong mô hình mô phỏng mạng với 10 nodes và 1 gateway 72

Bảng 2.2 Khoảng cách giữa các nodes trong mô hình mạng mô phỏng với 20 nodes và 2 gateways 73

Bảng 2.3 Tỉ lệ (phần trăm) gửi dữ liệu thành công về gateway của các nodes trong mạng 10 nodes 1 gateway với một số khoảng cách giữa hai lần gửi liên tiếp khác nhau (giây) khi áp dụng giao thức định tuyến AQoSR 90

Bảng 2.4 Độ trễ trung bình đến gateway và độ trễ trung bình qua một hop của mạng 10 nodes 1 gateway tương ứng với một số tần suất gửi khác nhau khi áp dụng giao thức định tuyến AQoSR 92

Bảng 2.5 Năng lượng tiêu thụ (Joules) của các nodes trong mạng 10 nodes 1 gateway với nhiều khoảng cách giữa hai lần tạo và gửi gói khác nhau (giây) khi áp dụng giao thức định tuyến AQoSR 95

Bảng 2.6 Thống kê số gói tin nhận được tại Gateway[0] trong mạng 20 nodes 2 gateways từ đầu đến cuối mô phỏng 103

Trang 14

Bảng 2.7 Thống kê số gói tin nhận được tại Gateway[1] trong mạng 20 nodes 2 gateways từ đầu đến cuối mô phỏng 103

Trang 15

1 Xây dựng lý thuyết 1.1 Giới thiệu

Từ thế kỷ XX, sự ra đời của máy tính và internet đã mở ra một kỷ nguyên hoàn toàn mới của loài người: Kỷ nguyên thông tin Internet đã kết nối thế giới và thay đổi hoàn toàn cách làm của con người trong hầu hết mọi lĩnh vực, mọi khía cạnh của đời sống Sự ra đời của hàng loạt các công nghệ kết nối hiện đại và sự phát triển nhanh chóng của hạ tầng viễn thông cũng đã kéo theo đó sự ra đời và phát triển của vô số các ứng dụng internet Ngày nay, không chỉ là email hay World-Wide-Web, người ta còn có thể ngồi mua sắm trực tuyến tại nhà, làm việc từ xa, giao dịch không dùng tiền mặt, hay thậm chí là khai thác những khối dữ liệu khổng lồ từ hàng triệu người dùng từ khắp mọi nơi trên thế giới để phục vụ cho rất nhiều các mục đích khác nhau

Bước vào thế kỷ XXI, khi cuộc cách mạng công nghiệp lần thứ tư đang diễn ra mạnh mẽ, thì nhu cầu kết nối của con người cũng ngày càng tăng cao, không chỉ trong công nghiệp mà ngay cả trong đời sống Hầu hết mọi thứ đều có xu hướng được số hoá và kết nối vào internet tạo nên khái niệm internet vạn vật (IoT), hay rộng hơn là hệ thống vật lý không gian mạng Người ta kỳ vọng có thể thu được lượng dữ liệu khổng lồ, phong phú, đa dạng của các thành phần trong thế giới thực để phục vụ cho mục đích quan trắc, phân tích, nhằm đưa ra những thông tin hoặc những tác động, thực hiện những tác vụ có ý nghĩa đối với đời sống con người, phục vụ con người Trên phương diện khoa học, kỹ thuật, công nghệ, điều này đòi hỏi phải có những công nghệ kết nối phù hợp, đồng thời có những mô hình triển khai hợp lý các thiết bị, hạ tầng kỹ thuật đặc trưng

Do đặc thù về số lượng và phân bố các thiết bị trong hệ thống IoT, một công nghệ kết nối có thể được xem là phù hợp cho IoT khi đáp ứng được một số yêu cầu về tầm xa thu phát, độ hiệu quả về năng lượng tiêu thụ, độ hiệu quả về chi phí, … Đáp ứng những yêu cầu này, đã có rất nhiều công nghệ kết nối ra đời cho phạm vi thu phát rộng, năng lượng tiêu thụ thấp, tốc độ truyền thấp, tiết kiệm chi phí, như Sigfox™ [1], LoRa™ [2], NB-IoT™ [3], … Trong đó, LoRa™ là một kỹ

Trang 16

thuật điều chế trải phổ được sáng chế và thương mại hoá bởi Semtech® tương đối dễ tiếp cận và dễ tiến hành thực nghiệm do hoạt động trên phổ vô tuyến không cần giấy phép Bên cạnh đó, một đặc tả công nghệ mạng diện rộng năng lượng thấp triển khai trên lớp vật lý LoRa gọi là LoRaWAN® [4] đã được phát triển bởi LoRa Alliance LoRaWAN đặc tả một mô hình mạng với giao thức đồ sộ, chi tiết Đã có nhiều nghiên cứu, thử nghiệm nhằm đánh giá LoRaWAN trên nhiều phương diện, nhiều tiêu chí khác nhau như tầm phủ, hiệu năng, tính ổn định, khả năng mở rộng, tính phù hợp cho một số ứng dụng cụ thể, … Nhiều nghiên cứu, thử nghiệm trong số đó mang lại kết quả khả quan, nhưng cũng có những nghiên cứu, thử nghiệm đã chỉ ra một số điểm cần cải thiện

Dựa trên những nghiên cứu liên quan, Luận Văn này đề xuất thực hiện một mô hình thử nghiệm mạng LoRaWAN cho hệ thống quan trắc môi trường với một

giao thức định tuyến dựa trên chất lượng dịch vụ của node lân cận lấy ý tưởng

và phát triển thêm từ giải thuật đinh tuyến HEAT [5] nhằm tăng cường khả năng gửi dữ liệu đến các gateways từ các nút cảm biến

1.1.1 LoRaWAN

Phần này tóm lược một số thông tin cơ bản về LoRaWAN, chủ yếu trích dẫn từ trang web của LoRa Alliance [6] và bài tóm tắt của nhóm tác giả J Haxhibeqiri, E D Poorter, I Moerman and J Hoebeke [7]

1.1.1.1 Khái niệm

LoRaWAN là một đặc tả được phát triển và duy trì bởi LoRa Alliance® về một mô hình mạng diện rộng năng lượng thấp với giao thức được thiết kế để kết nối các thiết bị không dây chạy pin vào internet trong phạm vi khu vực, quốc gia, hoặc toàn cầu, và tập trung vào các yêu cầu chính của IoT như là giao tiếp hai chiều, bảo mật kết nối, tính di động, và các dịch vụ bản địa

Đặc tả của LoRaWAN cũng định nghĩa các tham số lớp vật lý giữa các thiết bị với hạ tầng mạng cũng như giao thức mạng Nhờ đó, các nhà sản xuất thiết bị có

Trang 17

thể tương tác với nhau một cách liền mạch, như được mô tả trong chương trình chứng nhận thiết bị (device certification program [8]) của LoRa Alliance

Tuy nhiên, LoRaWAN chỉ định nghĩa về kỹ thuật mà không định nghĩa bất kì mô hình thương mại hay loại hình triển khai nào (công cộng, chia sẻ, riêng tư, doanh nghiệp), vì thế cho phép sự tự do đổi mới, sáng tạo trong cách mà nó được sử dụng

1.1.1.2 Cấu trúc liên kết mạng

Mạng LoRaWAN có cấu trúc liên kết là một mạng hình sao của các hình sao như được mô tả trong Hình 1.1 dưới đây

Hình 1.1 Cấu trúc liên kết mạng LoRaWAN

Trong đó các gateways có vai trò chuyển tiếp các gói tin giữa các thiết bị đầu cuối với một máy chủ mạng trung tâm Các gateways được kết nối với máy chủ mạng bằng các kết nối theo chuẩn IP, và hoạt động như một cầu nối trong suốt, chỉ đơn thuần chuyển đổi các gói tin vô tuyến sang các gói tin chuẩn IP và ngược lại Các thiết bị đầu cuối trong mạng có thể kết nối trực tiếp đến một hoặc nhiều gateways nhờ vào lợi thế tầm xa của lớp vật lý LoRa Tất cả các chế độ hoạt động của mạng đều hỗ trợ giao tiếp hai chiều và multicast1 cho phép sử dụng hiệu quả phổ sóng

1 Gửi các gói tin từ một thiết bị cùng lúc đến nhiều thiết bị khác trong mạng

Trang 18

vô tuyến cho những tác vụ như cập nhật firmware từ xa qua kết nối không dây hoặc các tác vụ khác cần broadcast2

Hình 1.2 Mô hình mạng LoRaWAN

1.1.1.3 Các lớp thiết bị đầu cuối

Hoạt động của các thiết bị đầu cuối trong mạng LoRaWAN được chia thành ba lớp phù hợp với nhu cầu của những loại hình ứng dụng khác nhau

Lớp A: Mức năng lượng tiêu thụ thấp nhất cho giao tiếp hai chiều

Là lớp mặc định phải được hỗ trợ bởi tất cả các thiết bị đầu cuối LoRaWAN, giao tiếp trong lớp A luôn được khởi đầu bởi thiết bị đầu cuối và hoàn toàn bất đồng bộ Mỗi lượt truyền lên đều có thể được thực hiện ở bất cứ thời điểm nào và theo sau đó là hai windows cho việc truyền xuống3 cho phép việc giao tiếp hai chiều hoặc gửi những lệnh điều khiển mạng khi cần Đây là một giao thức dạng ALOHA4 Thiết bị đầu cuối có thể vào chế độ ngủ năng lượng thấp tuỳ thuộc vào ứng dụng mà không có yêu cầu nào về mạng phải đánh thức thiết bị một cách định kỳ Điều này khiến lớp A trở thành chế độ hoạt động tiêu tốn ít năng lượng nhất

2 Gửi các gói tin từ một thiết bị cùng lúc đến tất cả các thiết bị khác trong một nhóm nhất định

kênh truyền, nếu việc gửi bị đụng độ, thì (các) gói tin sẽ được gửi lại sau một khoảng thời gian ngẫu nhiên

Trang 19

nhưng vẫn cho phép truyền lên tại mọi thời điểm Còn việc truyền xuống, do chỉ có thể được thực hiện ngay sau các lượt truyền lên, các lượt truyền xuống đều phải được đệm ở máy chủ mạng để chờ đợi lượt truyền lên tiếp theo

Lớp B: Giao tiếp hai chiều với độ trễ truyền xuống xác định

Bên cạnh những windows truyền xuống sau mỗi lần truyền lên như được định nghĩa bởi lớp A, các thiết bị lớp B còn được đồng bộ với mạng bằng các beacons5một cách định kỳ và mở những “ping-slot”6 tại những thời điểm đã được lên lịch trước Điều này giúp cho máy chủ mạng có thể thực hiện việc truyền xuống với độ trễ xác định nhưng cũng làm cho thiết bị đầu cuối tiêu tốn thêm năng lượng Độ trễ này có thể lập trình được và lên tới 128 giây để phù hợp với những ứng dụng khác nhau, và lượng năng lượng phát sinh thêm vẫn đủ thấp cho các thiết bị chạy pin

Lớp C: Cho phép giao tiếp hai chiều với độ trễ thấp nhất

Các thiết bị đầu cuối hoạt động ở lớp C giảm độ trễ truyền xuống từ máy chủ mạng bằng cách luôn sẵn sàng nhận dữ liệu trong toàn bộ thời gian mà nó không thực hiện việc truyền lên Nhờ đó, máy chủ mạng có thể khởi tạo lượt truyền xuống bất cứ lúc nào Tuy nhiên, với cách hoạt động như vậy, các thiết bị đầu cuối hoạt động ở lớp C tiêu tốn khá nhiều năng lượng Do đó, lớp C thường chỉ phù hợp khi có nguồn năng lượng liên tục Trong trường hợp thiết bị đầu cuối được cấp nguồn bằng pin, thiết bị vẫn có thể tạm thời hoạt động ở lớp C khi cần, sau đó chuyển chế độ hoạt động về lại lớp A

1.1.1.4 Cơ chế Adaptive Data Rate (ADR)

Được hiện thực để quản lý động các tham số tốc độ truyền và công suất phát sóng của các thiết bị đầu cuối nhằm tăng tỉ lệ nhận gói ở gateway Nếu thiết bị đầu cuối muốn cho phép máy chủ mạng LoRaWAN quản lý các tham số phát sóng của nó, nó sẽ đặt mức cao cho bit ADR trong các gói tin truyền lên Ngược lại, các thiết

5 Báo hiệu

6 Khe thời gian dùng để ping / có thể ping được

Trang 20

bị đầu cuối cũng có thể tự quản lý các tham số này bằng một phiên bản đơn giản của cơ chế ADR được hiện thực cục bộ Như vậy, cơ chế ADR có hai phần, chạy bất đồng bộ với nhau ở máy chủ mạng và ở thiết bị đầu cuối

Cơ chế ADR được đặc tả chi tiết trong LoRaWAN Specification [9]

1.1.1.5 Các lớp bảo mật

LoRaWAN đặc tả hai lớp bảo mật:

- Một khoá Network Session duy nhất dài 128 bit được chia sẻ giữa thiết bị đầu cuối với máy chủ mạng

- Một khoá Application Session (AppSKey) duy nhất dài 128 bit được chia sẻ ở mức ứng dụng

Thuật toán AES được sử dụng cho việc xác thực và kiểm tra / đảm bảo toàn vẹn gói tin đối với máy chủ mạng và để mã hoá dữ liệu đối với máy chủ ứng dụng Bằng cách cung cấp hai lớp bảo mật như vậy, người ta có thể hiện thực mạng chia sẻ giữa nhiều người thuê mà vẫn đảm bảo được bảo mật dữ liệu

Ngoài ra, việc tham gia vào mạng LoRaWAN của một thiết bị đầu cuối còn được quản lý nghiêm ngặt bằng một số cơ chế, được đặc tả trong LoRaWAN Specification

1.1.2 Một số giải thuật định tuyến

Định tuyến là cơ chế giúp chuyển tiếp dữ liệu từ node nguồn đến node đích theo một tuyến đường nhất định tại mỗi thời điểm Các giao thức định tuyến trong mạng lưới không dây7 có thể được chia thành các giao thức định tuyến chủ động (proactive), các giao thức định tuyến theo nhu cầu (on-demand, hay reactive), và các giao thức kết hợp giữa các loại hình trên (hybrid)

Trong các giao thức định tuyến chủ động, các tuyến đường giữa các nodes bất kì sẽ được thiết lập và duy trì liên tục, bất kể các tuyến đường đó có cần thiết hay có

Trang 21

được sử dụng hay không Chúng còn được gọi là các phương pháp định tuyến dựa trên các bảng (table-driven), liên tục đánh giá các tuyến đường đến tất cả các nodes có thể truy cập và duy trì thông tin định tuyến một cách nhất quán, cập nhật Do đó, ưu điểm chính của các giao thức định tuyến chủ động là các nodes có thể nhanh chóng có được thông tin về các tuyến đường trong mạng để sử dụng ngay khi cần Một số giao thức định tuyến chủ động phổ biến có thể kể đến như là Destination Sequenced Distance-Vector Routing (DSDV), Cluster Head Gateway Switch Routing (CGSR), Optimized Link State Routing Protocol (OLSR) và HEAT [5]

Trong các giao thức định tuyến theo nhu cầu, các tuyến đường chỉ được xác định khi cần Quá trình khai phá8 các tuyến đường chỉ bắt đầu khi node nguồn cần gửi dữ liệu đến node đích Quá trình này kết thúc khi một tuyến đường đã được tìm thấy hoặc không có tuyến đường nào khả dụng sau khi kiểm tra tất cả các tuyến Trong mạng di động9, các tuyến đường đang hoạt động có thể bị ngắt kết nối do tính di động của node Tuy nhiên, trong các mạng lưới không dây, các nodes thường ít di động, vì vậy các giao thức định tuyến theo nhu cầu có khả năng mở rộng tốt hơn các giao thức định tuyến chủ động Một số giao thức định tuyến theo nhu cầu phổ biến có thể kể đến như là Dynamic Source Routing (DSR), Ad-hoc On Demand Distance Vector (AODV), Link Quality Source Routing Algorithm (LQSR) và Temporally Ordered Routing Algorithm (TORA)

Các giao thức định tuyến hybrid kết hợp ưu điểm của các giao thức định tuyến chủ động và các giao thức định tuyến theo nhu cầu bằng cách khắc phục các nhược điểm của chúng và tìm các tuyến đường hiệu quả mà không cần nhiều sự kiểm soát Nó sử dụng các giao thức định tuyến đa dạng trong các phần khác nhau của cơ sở hạ tầng mạng lưới không dây, cụ thể là sử dụng các giao thức định tuyến theo nhu cầu cho khu vực ad-hoc và áp dụng các giao thức định tuyến chủ động cho backbone

8 từ ngữ tiếng Anh chuyên ngành là “network discovery"

9 từ ngữ tiếng Anh chuyên ngành là “cellular network"

Trang 22

Tiểu mục này khái quát lại một số giao thức / giải thuật định tuyến dựa trên bài tóm tắt của nhóm tác giả K Vijayakumar, P Ganeshkumar and M Anandaraj [10] và bài báo về giải thuật định tuyến HEAT của nhóm tác giả R Baumann, S Heimlicher, V Lenders and M May [5]

1.1.2.1 Một số giao thức định tuyến chủ động

Destination Sequenced Distance Vector

DSDV là giao thức được phát triển dựa trên giải thuật Bellman-Ford trong đó mỗi node duy trì một bảng định tuyến có chứa đường đi ngắn nhất đến mọi nodes đích có thể đến được trong mạng và số bước nhảy đến đích như được thể hiện trong Hình 1.3 dưới đây

Hình 1.3 Minh họa giao thức định tuyến DSDV

Các mã số sequence10 được các nodes sử dụng để phân biệt các tuyến đường cũ với các tuyến đường mới thành lập và để tránh việc lặp vòng Thông tin broadcast một tuyến đường mới bao gồm:

- Địa chỉ đích - Số hops đến đích

Trang 23

- Số sequence của thông tin về node đích và một mã sequence mới duy nhất đối với gói broadcast

Việc cập nhật bảng định tuyến được thực hiện định kỳ nhằm duy trì bảng một cách nhất quán Bảng định tuyến chứa địa chỉ đích, node kế tiếp, số hops đến đích, và số sequence như trong Bảng 1.1

Có hai cách cập nhật bảng:

- Cập nhật toàn bộ dữ liệu của bảng (Full Dump)

- Chỉ cập nhật những thay đổi so với trước đó (Incremental)

Bảng 1.1 Minh họa bảng định tuyến tại một node trong mạng sử dụng DSDV

Clusterhead Gateway Switched Routing (CGSR)

CGSR là một giao thức được hiện thực lên trên giao thức DSDV đã trình bày (nói cách khác, DSDV là giao thức lớp dưới của giao thức này) CGSR là một giao thức định tuyến phân cấp Trong đó các nodes được phân thành các cụm (cluster) và mỗi cụm như vậy lại có một đầu cụm (cluster head) điều khiển một nhóm các nodes không dây và vì vậy hình thành một mô hình cây khung phân cấp có thể phân biệt bằng mã giữa các cụm với nhau, truy cập kênh truyền, định tuyến, và cấp phát băng thông Khi một cụm được hình thành, một thuật toán phân tán sẽ được sử dụng để lựa chọn ra node đầu cụm như được mô tả trong Hình 1.4 Đầu cụm có thể được thay thế thường xuyên và điều này ảnh hưởng đến hiệu năng của hệ thống do các nodes dành nhiều thời gian để lựa chọn node đầu cụm hơn là thời

Trang 24

gian để chuyển tiếp các gói tin Để vượt qua vấn đề này, giải thuật Least Cluster Change (LCC) được áp dụng Trong đó, đầu cụm chỉ thay đổi khi hai đầu cụm chạm nhau (trong vùng phủ sóng lẫn nhau), hoặc khi một node nào đó di chuyển ra ngoài tầm phủ của tất cả các đầu cụm Trong CGSR, mỗi node duy trì một bảng thành viên cụm (cluster member table) và một bảng định tuyến nhằm xác định đầu cụm gần nhất dọc theo tuyến đường đến đích và node tiếp theo phải đi qua để đến được đích

Hình 1.4 Mô hình mạng sử dụng giao thức định tuyến CGSR

Như thể hiện trong Hình 1.4, khi gửi một gói tin, node nguồn (node 1) gửi dữ liệu đến đầu cụm của nó (node 2) rồi từ đó gói tin lại được gửi tiếp đến node 4 là node trung chuyển qua cụm lân cận Sau đó node 4 lại chuyển tiếp gói tin cho đầu cụm tiếp theo là node 5 Node 5 lại chuyển gói tin đó cho node 7 để node 7 gửi tiếp cho đầu cụm tiếp theo (node 8) Quá trình tương tự tiếp diễn đến khi gói tin đến được node đích là node 12

Một mạng lưới không dây được chia thành nhiều cụm nhỏ để kiểm soát tải Một đầu cụm phải ước lượng tải trong cụm của nó Khi tải ước lượng tăng lên, đầu cụm tăng chỉ số định tuyến11 của tuyến đường đi ngang qua cụm đó Dựa trên chỉ

Trang 25

số định tuyến, lưu lượng người dùng12 chọn một tuyến đường thay thế để tránh các khu vực bị quá tải, và kết quả là mạng lưới không dây đạt được cân bằng tải toàn cục CGSR sử dụng thời gian truyền kỳ vọng (expected transmission time) làm thước đo cho việc định tuyến

Optimized Link State Routing

OLSR cũng là một giao thức định tuyến chủ động Mỗi node đều quảng bá thông tin trạng thái kết nối13 của nó đến tất cả các nodes trong mạng Hoạt động của OLSR chủ yếu bao gồm việc cập nhật và duy trì thông tin trong bảng 1 hop, 2 hops lân cận và bảng định tuyến OLSR sử dụng HELLO MESSAGES cho thông tin trạng thái kết nối Rơle đa điểm14 (MPR) là một khái niệm quan trọng của giao thức OLSR Một rơle đa điểm cho một node N là một tập hợp con của các nodes lân cận của N, chúng chịu trách nhiệm phát tán các gói tin trong quá trình flooding thay vì mọi nodes liền kề của N đều phải thực hiện điều đó Khi một node phát tán một thông điệp, tất cả các nodes liền kề đều sẽ nhận được nhưng chỉ có những nodes trong MPR mà trước đó chưa từng nhận được thông điệp này thì mới lan truyền những thông điệp đó đi tiếp Vì thế, chi phí phát sinh khi flooding có thể được giảm xuống

OLSR sử dụng các loại tin nhắn điều khiển gồm: Hello, Topology Control (TC) và Multiple Interface Declaration (MID) Tin nhắn HELLO được mỗi node gửi đến tất cả các nodes lân cận của nó Những tin nhắn này được dùng để các nodes lân cận nhận biết và tính toán MPR Tin nhắn TC là tín hiệu trạng thái liên kết được thực hiện bởi OLSR Việc gửi các tin nhắn được tối ưu bằng nhiều cách nhờ vào MPR Tin nhắn MID được truyền đi bởi những nodes đang chạy OLSR trên nhiều hơn một giao diện mạng15 Những tin nhắn này liệt kê toàn bộ các địa chỉ IP được sử dụng bởi node đó

12 Từ ngữ tiếng Anh chuyên ngành là “user’s traffic”

13 Từ ngữ tiếng Anh chuyên ngành là “link state”

Trang 26

HEAT Protocol

Ý tưởng của HEAT

HEAT là một giao thức định tuyến anycast chủ động hoàn toàn phân tán, lấy cảm hứng từ hiện tượng truyền nhiệt trong vật lý Trong một mạng sử dụng giao thức định tuyến HEAT, các internet gateways được xem là nguồn nhiệt và có nhiệt độ cao nhất Mỗi nút khác trong mạng đều có một giá trị nhiệt độ riêng Nút nào càng gần với nguồn nhiệt thì có nhiệt độ càng cao Và tại mỗi nút, gói tin sẽ luôn được chuyển tiếp tới nút lân cận có nhiệt độ cao nhất, tức là theo gradient nhiệt độ dốc nhất đến gateways Như vậy, đường đi của gói tin sẽ được lựa chọn sao cho nó có thể đến được gateways theo đường đi tốt nhất và đảm bảo không có lặp vòng Phương thức định tuyến này mang lại một cách lựa chọn tuyến đường cho các gói tin rất linh hoạt Chỉ cần tương quan giá trị nhiệt độ giữa các nút mạng thay đổi thì cách lựa chọn đường đi cho các gói tin cũng sẽ thay đổi theo

Thuật toán xác định giá trị trường nhiệt độ trên mỗi nút mạng

Giá trị nhiệt độ của một nút mạng được xác định dựa vào các giá trị nhiệt độ của các nút mạng lân cận trực tiếp Giả sử rằng ta có một danh sách các giá trị nhiệt độ của các nút lân cận tên là A Giá trị nhiệt độ của nút đang xét được tính như sau:

- Bước 1: Sắp xếp các nút lân cận trong danh sách A theo thứ tự tăng dần

dựa trên nhiệt độ của chúng

- Bước 2: Lặp qua danh sách A đã sắp xếp Đối với mỗi nút lân cận, cộng

dồn thêm sự sai khác giữa nhiệt độ của nút đó với giá trị cộng dồn đã có được trước đó cho đến khi hết danh sách hoặc đến khi giá trị cộng dồn có được là lớn hơn hoặc bằng giá trị nhiệt độ của nút lân cận đang xét Sau hai bước như trên, giá trị cộng dồn có được chính là giá trị nhiệt độ của nút mạng

Trang 27

Hình 1.5 Lưu đồ giải thuật tính giá trị nhiệt độ của một nút trong mạng sử dụng giao thức định tuyến HEAT

Đáng chú ý trong Hình 1.5 là công thức cộng dồn: 𝑡 = 𝑡 + (𝐴[𝑖𝑡𝑒𝑟] − 𝑡) × 𝑘 (0 < 𝑘 < 1)

Hệ số k trong công thức trên gọi là hệ số truyền nhiệt Hệ số k càng cao, ảnh hưởng của nhiệt độ của các nút lân cận đến một nút là càng lớn

Ngoài ra, với thuật toán như trên, cách mà HEAT xác định giá trị trường nhiệt độ tại mỗi nút không chỉ phụ thuộc vào khoảng cách đến các gateways sẵn có mà còn phụ thuộc vào độ mạnh mẽ của những đường đi đến các gateways đó Có nghĩa là, một đường đi có nhiều lựa chọn nút thay thế, đem lại nhiều cơ hội chuyển được gói tin hơn, sẽ được ưu tiên hơn một đường đi mà qua đó gói tin không thể được định tuyến lại một cách tự nhiên sang một nút khác có thể đến được gateway

StartRequest and get neighbors table A

Ascending sort AInitialize

iter = 0temp = 0

Falsetemp < A[iter]

& iter < size of A temp = temp + (A[iter] - temp) * k;iter = iter + 1;

Trang 28

Hình 1.6 Ví dụ về cách định tuyến của HEAT

Ví dụ, trong Hình 1.6, phần mạng dẫn đến gateway bên phải có nhiều links16 hơn phần mạng dẫn đến gateway bên trái Và kết quả là gradient nhiệt độ về phía gateway bên phải dốc hơn, các gói tin sẽ được định tuyến theo chiều này, mặc dù khi đếm số hops17 thì đường đi đến gateway bên trái là ngắn hơn

Ưu điểm của HEAT

Cũng là một dạng định tuyến dựa trên một trường giá trị vô hướng của các nút mạng, giao thức định tuyến HEAT cũng có những ưu điểm chính là mạnh mẽ và đơn giản Bên cạnh đó, thiết kế của HEAT còn có hai điểm độc đáo

Thứ nhất, khi lựa chọn tuyến đường cho các gói tin, nó ra quyết định dựa trên cả

độ dài và sức mạnh của các đường đi có thể

Thứ hai, cơ chế khởi tạo và duy trì giá trị các trường nhiệt độ trên một nút mạng

chỉ đòi hỏi sự giao tiếp cục bộ giữa nút mạng đó với các nút lân cận trực tiếp, do đó giúp dễ dàng mở rộng mạng ra nhiều nút và nhiều gateways

Nhược điểm

“Nhiệt độ” trong giải thuật HEAT là một đại lượng vô hướng, không có đơn vị, chỉ dùng để phỏng lại khái niệm nhiệt và truyền nhiệt trong vật lý, không có mối quan hệ rõ ràng cụ thể với các đại lượng liên quan trực tiếp đến khả năng truyền

16 Liên kết / đường dẫn

17 Bước nhảy

Trang 29

dữ liệu về gateway của các nodes trên thực tế Hệ số k trong công thức dùng để

tính toán giá trị “nhiệt độ” tại các nodes cũng chưa có cơ sở lý luận hợp lý để xác định định lượng

1.1.2.2 Một số giao thức định tuyến theo nhu cầu

Dynamic Source Routing

DSR là một giao thức định tuyến theo nhu cầu dựa trên định tuyến nguồn18 Giao thức hoạt động theo hai giai đoạn: khai phá tuyến đường và duy trì tuyến đường Khi một node muốn gửi dữ liệu thì DSR sẽ bắt đầu quá trình khai phá tuyến đường Trong khi khai phá, node nguồn sẽ tìm tuyến đường đến node đích trong dữ liệu đệm tuyến19 Nếu trong dữ liệu đệm có sẵn một tuyến đường, node nguồn sẽ gửi dữ liệu thông qua tuyến đường đó Nếu không, nó phát tán gói tin yêu cầu tuyến đường (route request packet - RREQ) tới các nodes lân cận của nó cho đến khi tìm được đích như trong Hình 1.7 Gói RREQ chứa địa chỉ nguồn, địa chỉ đích, định danh (ID) tuyến đường và bản ghi tuyến đường như trong Hình 1.8 Khi một gói tin yêu cầu tuyến đường đến được đích, một gói tin phản hồi tuyến đường (route reply - RREP) sẽ được gửi trở lại node nguồn thông qua tuyến đường được ghi lại có số chặng đã qua là ít nhất như trong Hình 1.9 Đối với việc bảo trì các tuyến đường đã có, các gói báo lỗi tuyến sẽ được tạo ra tại các nodes nếu xảy ra sự cố nghiêm trọng

Trang 30

Hình 1.7 Phát tán gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức DSR

Hình 1.8 Header của gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức DSR

Hình 1.9 Phản hồi tuyến đường trong mạng sử dụng giao thức DSR

Trong giao thức DSR, tắc nghẽn mạng được kiểm soát và thông lượng được tăng lên bằng cách giảm số gói yêu cầu tuyến đường

Trang 31

Ad hoc On Demand Distance Vector Routing

AODV là một giao thức định tuyến thuần túy theo nhu cầu, được xây dựng trên DSDV Có một số điểm tương tự như DSR, như khi một node muốn gửi dữ liệu thì node đó sẽ tìm tuyến đường đến đích trong bảng định tuyến hiện có trước Nếu tuyến đường tồn tại thì sẽ gửi dữ liệu qua tuyến đường đó Nếu không, nó phát tán gói tin yêu cầu tuyến đường (route request packet - RREQ) tới các nodes lân cận của nó cho đến khi tới đích như trong Hình 1.10 Gói RREQ chứa địa chỉ nguồn, địa chỉ đích, broadcast ID và số sequence gần nhất của node nguồn và node đích

Khi gói tin yêu cầu tuyến đường đến được đích, một gói route reply (RREP) được gửi trở lại node nguồn thông qua tuyến đường mà node đích nhận được bản sao đầu tiên của RREQ như trong Hình 1.11 Do đó AODV tìm đường đi nhanh nhất và ngắn nhất

Hình 1.10 Phát tán gói tin yêu cầu tuyến đường (RREQ) trong mạng sử dụng giao thức AODV

Trang 32

Hình 1.11 Phản hồi tuyến đường trong mạng sử dụng giao thức AODV

Mặc dù AODV có nhiều điểm chung với DSR như vậy, nhưng AODV và DSR cũng có nhiều điểm khác biệt về cả khái niệm, thiết kế, và hiện thực, như được tóm tắt trong Bảng 1.2 sau:

Bảng 1.2 Một số điểm khác nhau giữa AODV và DSR

Link Quality Source Routing

LQSR là một giao thức định tuyến theo nhu cầu cho các mạng lưới không dây được phát triển bởi Microsoft Research Group dựa trên giao thức DSR Để cải

Trang 33

thiện chất lượng các liên kết (link), giao thức LQSR chỉ sử dụng các tham số liên quan đến các đường links đơn lẻ thay vì các tham số cho cả tuyến đường từ đầu này sang đầu kia20 Trong quá trình thiết lập các đường kết nối (connection path), giao thức mô tả các đường links riêng lẻ bằng các bộ thước đo chất lượng khác nhau rồi sau đó gửi ngược lại thông tin những đường links này cho node khởi tạo quá trình khai phá mạng Các tham số chất lượng để đánh giá các đường links có thể thay đổi tùy theo tính di động của các nodes và các thước đo được sử dụng trong quá trình Ví dụ, đối với các nodes cố định, các tham số chất lượng có thể bao gồm số lần truyền kỳ vọng (expected transmission count – ETX), trong khi các nodes di động có thể sử dụng các tham số như số hops, độ trễ khứ hồi21, và ETX Tùy vào từng ứng dụng cụ thể mà người ra có thể phát triển thêm LQSR cho phù hợp

Temporally Ordered Routing Algorithm

TORA là một thuật toán định tuyến phân tán không có vòng lặp, có khả năng thích ứng cao, hiệu quả và có thể mở rộng cho các mạng không dây TORA sử dụng thông tin định tuyến hướng đích22 đã có sẵn tại mỗi node Các nodes chỉ cần có thông tin trong vùng lân cận 1-hop của chúng Bằng thông tin của các nodes lân cận, TORA xây dựng thông tin định tuyến cục bộ độc lập cho mỗi node đích TORA cũng thể hiện khả năng định tuyến đa đường23 Directed Acyclic Graph (DAG) được duy trì bởi mỗi node đến mọi đích Khi node nguồn muốn gửi dữ liệu đến node đích thì nó sẽ phát tán một gói tin truy vấn chứa địa chỉ đích như trong Hình 1.12 Node đích trả lời bằng một gói tin cập nhật như trong Hình 1.13

Trang 34

Hình 1.12 Phát tán gói tin truy vấn trong mạng sử dụng giải thuật định tuyến TORA

Hình 1.13 Trọng số các nodes được cập nhật bằng các gói tin trong mạng sử dụng giải thuật định tuyến TORA

1.1.2.3 Giao thức định tuyến kết hợp: Zone-based Routing Protocol (ZRP)

ZRP là một giao thức định tuyến được tạo ra nhằm kết hợp các ưu điểm của các giao thức định tuyến chủ động và các giao thức định tuyến theo nhu cầu Vùng lân cận cục bộ của một node được gọi là vùng định tuyến Vùng định tuyến của

Trang 35

node được định nghĩa là tập hợp các nodes có khoảng cách tối thiểu tính theo số hop và khoảng cách này không lớn hơn bán kính vùng Để xây dựng một vùng định tuyến, trước tiên một node phải xác định tất cả các nodes lân cận của nó (cách một hop) và có thể tiếp cận trực tiếp Quá trình khai phá lân cận được quản lý bởi Giao thức khai phá lân cận - Neighbor Discovery Protocol (NDP) ZRP sử dụng hai phương thức định tuyến: Giao thức định tuyến trong vùng - Intra Zone Routing Protocol (IARP) và Giao thức định tuyến giữa các vùng - Inter Zone Routing Protocol (IERP) IARP chịu trách nhiệm chủ động duy trì các tuyến đến tất cả các đích trong vùng định tuyến IERP chịu trách nhiệm khám phá và duy trì các tuyến đến các nodes bên ngoài vùng định tuyến một cách thụ động theo nhu cầu

1.1.3 Vấn đề và hướng cải thiện

1.1.3.1 Vấn đề đặt ra

Trong mô hình liên kết mạng Hình 1.1, tất cả các cảm biến và thiết bị chấp hành đều được thiết kế để kết nối trực tiếp với các gateway giúp độ trễ khi gửi dữ liệu lên xuống giữa các nodes với gateway được đảm bảo thấp nhất có thể

Tuy nhiên, trên thực tế triển khai các mô hình mạng cảm biến không dây, nếu dữ liệu từ các nodes cảm biến chỉ được gửi trực tiếp về gateway (single hop), thì buộc tất cả các nodes cảm biến đều phải được bố trí trong tầm phủ sóng của gateway Như vậy, mạng sẽ cần có rất nhiều gateway Mỗi gateway trong mạng như vậy đóng vai trò là một node trung tâm của một cụm cảm biến Do đó vị trí bố trí gateway phụ thuộc nhiều vào vị trí bố trí của các nodes cảm biến Trong khi đó, thường các gateway lại cần có nguồn điện và kết nối internet ổn định, do đó không dễ triển khai như các nodes cảm biến

Để giải quyết vấn đề này, nhiều giải pháp kỹ thuật đã được đặt ra Một trong những giải pháp đơn giản nhất là sử dụng kỹ thuật “flooding” Theo đó, khi một node bất kỳ cần gửi dữ liệu lên gateway, nó chỉ cần gửi gói tin quảng bá ra xung quanh Các nodes khi nhận được những gói tin quảng bá chứa dữ liệu từ node khác, nó sẽ lại tiếp tục quảng bá những gói tin này ra những nodes lân cận nữa

Trang 36

Bằng cách này, trong trường hợp nodes cảm biến có nằm ngoài tầm phủ sóng của gateway đi nữa, thì dữ liệu cần gửi vẫn có thể “lan tràn” đến gateway thông qua những nodes khác

Hình 1.14 thể hiện một mô hình mạng cảm biến không dây với 1 gateway và 10 nodes Trong đó, chỉ có 3 nodes gồm Node 0, Node 1, và Node 2 là các nodes nằm trong tầm phủ sóng của gateway Tất cả các nodes còn lại muốn gửi được dữ liệu đến gateway đều phải nhờ Node 0, Node 1, hoặc Node 2 chuyển tiếp

Hình 1.14 Mô hình mạng có một số nodes nằm ngoài vùng phủ sóng của gateway

Các đường tròn nét đứt thể hiện đường bao phạm vi phủ sóng của node / gateway đặt tại tâm đường tròn Các đoạn thẳng nối giữa các nodes thể hiện khả năng kết nối trực tiếp giữa các nodes đó do nằm trong vùng phủ sóng của nhau

Trang 37

Khi sử dụng kỹ thuật “flooding”, giả sử có một gói tin được tạo ra và gửi đi từ Node 4 thì Node 3 sẽ nhận được rồi tiếp tục quảng bá ra xung quanh Sau đó, do Node 0 và Node 5 đều nằm trong vùng phủ sóng của Node 3 nên cả hai nodes đều sẽ nhận được gói tin rồi lại thực hiện chuyển tiếp, nhờ đó gói tin được chuyển tiếp từ Node 0 đã đến được gateway Mặt khác, ở nhánh còn lại, gói tin được chuyển tiếp từ Node 5 cũng sẽ đến được Node 6, sau đó là Node 1, và cuối cùng cũng đến được gateway

Có thể thấy ngay, ưu điểm của phương pháp này là một gói tin có thể đến được gateway theo rất nhiều con đường khác nhau, giúp gói tin đến đích sớm nhất có thể Trong ví dụ vừa rồi, con đường ngắn nhất để chuyển gói tin từ Node 4 đến gateway là thông qua Node 3 và Node 0

Tuy nhiên, khi sử dụng kỹ thuật “flooding”, số lượng gói tin phát sinh trong mạng sẽ rất lớn, rất nhiều gói tin dư thừa làm lãng phí băng thông mạng và tăng xác suất đụng độ Khi tần suất phát sinh và gửi dữ liệu tăng lên, tần suất đụng độ cũng tăng lên và làm mạng nhanh chóng bị nghẽn Ta cũng thấy trong ví dụ trên, mặc dù gói tin đã đến được gateway thông qua Node 0 rồi, nhưng các bản sao của nó vẫn tiếp tục được phát tán trong mạng Kết quả là mặc dù nhiều nodes chẳng liên quan nhưng nodes nào trong mạng cũng sẽ nhận được gói tin, lại còn phải lưu lại lịch sử chuyển tiếp gói tin trong một giới hạn nhất định để chống lặp gói Ở phía gateway cũng vậy, nó sẽ nhận được nhiều bản sao của một gói tin qua nhiều đường khác nhau, nên cũng phải chạy giải thuật loại bỏ gói tin bị trùng lặp tương tự như ở các nodes Chưa kể, nếu mạng có nhiều gateways, thì việc loại bỏ trùng lặp còn phải tiến hành cả trên máy chủ IoT Việc tiết kiệm năng lượng tiêu thụ bằng cách đặt module giao tiếp không dây vào chế độ ngủ hoặc chế độ năng lượng thấp khi không dùng đến cũng trở nên bất khả thi đối với mạng sử dụng kỹ thuật “flooding” do các nodes lúc nào cũng phải hoạt động để đảm bảo luôn sẵn sàng chuyển tiếp gói tin

Để hiện thực được việc gửi gói tin đến gateway qua nhiều hops nhưng vẫn có thể hạn chế hoặc tránh được các vấn đề nói trên, người ta đã hiện thực nhiều giải thuật

Trang 38

tìm đường khác nhau Trong mạng cảm biến không dây có sử dụng kỹ thuật tìm đường, mỗi gói tin sẽ chỉ được chuyển đến đích trên một con đường duy nhất xác định bởi giải thuật định tuyến Khi đó, nếu không có các sự cố như một node đã gửi gói tin sang node khác thành công nhưng vẫn cố gửi lại do gói ACK bị mất, thì trong mạng sẽ hoàn toàn không có sự trùng lặp các gói tin như trong mạng sử

dụng kỹ thuật “flooding” Tuy không thể loại bỏ hoàn toàn nguy cơ trùng lặp gói, nhưng việc sử dụng kỹ thuật tìm đường giúp giảm tải đáng kể cho các nodes, cho phép các nodes tạm tắt module giao tiếp không dây khi không dùng đến để tiết kiệm năng lượng, đồng thời giảm thiểu đụng độ, giúp mạng có khả năng đáp ứng được tần suất phát sinh và gửi dữ liệu cao hơn Đây chính là những ưu điểm chính

của việc sử dụng các giải thuật tìm đường vào các mạng cảm biến không dây thay vì phương pháp “flooding”

Đã có nhiều giải thuật định tuyến cho các mạng cảm biến không dây như OLSR, DSR, DSDV, AODV, hay ZRP, v.v… Những giải thuật này mặc dù đều có những ưu, nhược điểm khác nhau, và do đó phù hợp với những loại hình ứng dụng khác nhau, nhưng đều là những giải thuật dùng để tìm ra tuyến đường end-to-end24 tốt nhất giữa các cặp node bất kỳ trong mạng Đặc điểm của những giải thuật định tuyến thuộc nhóm này là overhead (chi phí phát sinh) cao do mỗi node đều phải duy trì bảng dữ liệu liên quan đến tất cả các nodes khác trong mạng, dẫn đến khó mở rộng

Trong khi đó, trong mô hình mạng LoRaWAN, các nodes trong mạng chủ yếu gửi dữ liệu lên gateway và nhận dữ liệu từ gateway gửi xuống mà không có nhu cầu giao tiếp giữa các cặp nodes bất kỳ Thậm chí, đối với bài toán quan trắc đơn thuần, mạng cũng chỉ cần hỗ trợ uplink25 mà không cần hỗ trợ downlink26, hoặc chỉ cần hỗ trợ downlink một cách rất hạn chế27 Vì vậy, ta hoàn toàn có thể sử

24 end-to-end: từ đầu này sang đầu kia (từ node này sang node khác)

27 hỗ trợ downlink một cách hạn chế được hiểu là tuy vẫn hỗ trợ nhưng không tốt bằng uplink, giải pháp cụ thể sẽ được đề cập sau trong Luận Văn

Trang 39

dụng những giải thuật định tuyến khác chỉ hỗ trợ giao tiếp giữa 1 node bất kỳ với 1 gateway dễ tiếp cận nhất để giảm bớt overhead và tăng khả năng mở rộng mạng Bài toán nói trên có rất nhiều điểm tương đồng với vấn đề mà nhóm tác giả Baumann và cộng sự đã đề cập trong công trình nghiên cứu của mình [5] Mặc dù giao thức định tuyến HEAT do nhóm tác giả đưa ra có nhiều ưu điểm nhưng vẫn còn các nhược điểm cần cải thiện như đã trình bày trong tiểu mục 1.1.2.1

1.1.3.2 Hướng cải thiện

Đề tài Luận Văn này đề xuất 2 nội dung cải thiện chính:

(1) Cải thiện giải thuật HEAT bằng cách sử dụng các thông số thực tế hơn để đánh giá khả năng gửi được gói tin của một node đến gateway (năng lực

vận chuyển) thay cho đại lượng vô hướng “nhiệt độ”, đưa ra khái niệm định tuyến dựa trên chất lượng dịch vụ của node lân cận

(2) Áp dụng mô hình mạng mesh28 sử dụng giải thuật định tuyến đã đề xuất giúp các nodes ngoài tầm phủ sóng của gateway vẫn có thể gửi dữ liệu lên internet

Cũng với mô hình mạng được mô tả trong Hình 1.14, các nodes ngoài tầm phủ sóng của gateway sẽ gửi dữ liệu về gateway thông qua tuyến đường có khả năng cao nhất thay vì broadcast ra xung quanh như khi áp dụng kỹ thuật “flooding”

28 mesh: lưới

Trang 40

Hình 1.15 Tình trạng mạng minh họa 10 nodes 1 gateway khi chỉ có gateway và các Node 0, 1, 2, 3, 5, và 8 hoạt động

Để ví dụ, giả sử tại một thời điểm nào đó mạng chỉ có gateway và các Node 0, 1, 2, 3, 5, và 8 đang hoạt động, như trong Hình 1.15 Sau khi hoàn tất thiết lập giao tiếp với nhau, các nodes 0, 1, 2 có thể gửi dữ liệu trực tiếp về gateways do nằm trong vùng phủ sóng Các nodes 3 và 5 mặc dù không nằm trong tầm phủ sóng của gateway, nhưng vẫn có thể gửi dữ liệu về gateway thông qua Node 0 Trong đó, Node 3 có thể gửi dữ liệu trực tiếp về Node 0, còn Node 5 phải gửi thông qua Node 3 Bên cạnh đó, Node 8 tuy đã được khởi động lên, nhưng do không nằm trong tầm phủ sóng của bất kỳ node nào có khả năng gửi được dữ liệu về gateway dù trực tiếp hay gián tiếp, nên nó chỉ có thể lưu dữ liệu quan trắc vào hàng đợi

Ngày đăng: 31/07/2024, 09:15