Định tuyến trong IoT Internet of Things là thách thức lớn nhất bởi vì trong LLNs chất lượng liên kết biến động mạnh và bị gián đoạn bởi các vấn đề như nhiễu nền, biến đổi trở kháng… Do n
Trang 1TRƯỜNG ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
LUẬN VĂN THẠC SĨ
CÂN BẰNG TẢI TRONG GIAO THỨC ĐỊNH TUYẾN
RPL SỬ DỤNG ĐA HÀM MỤC TIÊU LOAD BALANCING IN THE RPL ROUTING PROTOCOL WITH MULTIPLE OBJECTIVE
Trang 2CÔ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 Võ Quế Sơn
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ĩ)
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: ĐẶNG THỊ DIỆU THU MSHV: 7140996
Ngày, tháng, năm sinh: 19/07/1991 Nơi sinh: Bình Thuận
Chuyên ngành: Kỹ Thuật Viễn Thông Mã số : 60520208
I TÊN ĐỀ TÀI:
“Cân bằng tải trong giao thức định tuyến RPL sử dụng đa hàm mục tiêu - Load balancing in the RPL routing protocol with multiple objective functions.”
II NHIỆM VỤ VÀ NỘI DUNG:
Đánh giá khả năng cân bằng tải thông qua các thông số về năng lượng tiêu thụ, tỷ lệ truyền gói và độ trễ khi trên cùng mô hình chạy giao thức RPL sử dụng hàm mục tiêu : ETX, OF0 và ETX-OF0
III NGÀY GIAO NHIỆM VỤ (Ghi theo trong QĐ giao đề tài): 04/07/2016
IV NGÀY HOÀN THÀNH NHIỆM VỤ (Ghi theo trong QĐ giao đề tài) : 06/01/2017
V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS Võ Quế Sơn
Trang 4LỜI CẢM ƠN
Đầu tiên tôi muốn gửi lời cảm ơn chân thành đến TS Võ Quế Sơn, bộ môn Viễn thông, Khoa Điện - Điện Tử, Trường Đại học Bách Khoa Thành phố Hồ Chí Minh Giảng viên trực tiếp hướng đẫn tôi thực hiện đề tài này Với những kinh nghiệm và sự hiểu biết, thầy đã tận tình chỉ dẫn giúp đỡ và giải đáp các thắc mắc của tôi trong suốt quá trình thực hiện đề cương
Xin gửi lời tri ân sâu sắc nhất đến tập thể giảng viên trường Đại học Bách Khoa Thành phố Hồ Chí Minh, thầy cô đã truyền cho tôi nguồn tri thức quý báo trong suốt quá trình học tập tại trường
Trang 5TÓM TẮT LUẬN VĂN
Trong mạng cảm biến không dây, định tuyến là một yếu tố rất quan trọng ảnh huởng đến kết nối và thực hiện trao đổi thông tin Hiệu quả hoạt động chung của mạng cảm biến không dây là phụ thuộc vào sự lựa chọn của giao thức định tuyến và chất lượng thực hiện của nó RPL là một giao thức định tuyến distance-vector được thiết kế bởi ROLL Working Group để phục vụ cho các nhu cầu cụ thể của mạng tổn hao và công suất thấp (LLNs) Giao thức định tuyến RPL cần phải được tối ưu hóa cho các ứng dụng sensornet khác nhau để đạt được hiệu suất tối ưu
và sử dụng các nguồn lực hiệu quả hơn Trong quá trình truyền gói tin thì sẽ dẫn đến sự quá tải ở các node, đặc biệt là các node root Do đó, giải pháp cho việc cân bằng tải trong RPL là hết sức cần thiết
Vì vậy, tôi thực hiện đề tài “Cân bằng tải trong giao thức định tuyến RPL sử dụng đa hàm mục tiêu” Trong khuôn khổ luận văn này, tôi sẽ tìm hiểu lý thuyết về mạng cảm biến không dây WSN, giao thức định tuyến RPL trong mạng tổn hao và năng lượng thấp (LLNs) Đề tài sẽ được thực hiện trên ứng dụng mô phỏng cooja của hệ điều hành contiki Dựa trên các hàm mục tiêu đã được sử dụng là EXT và OF0, nhưng bị hạn chế khi chạy cho mô hình lớn tốc độ gửi cao gây quá tải làm mất gói tin, độ trễ cao, năng lượng tiêu tốn nhiều Tôi sẽ tiến hành xây dựng trên một
mô hình sử dụng kết hợp hai hàm mục tiêu ETX và OF0 nhằm tạo ra nhiều root giúp cân bằng tải cho hệ thống Để đánh giá được hiệu quả của giải pháp này, tôi sẽ dựa trên thông số về tỷ lệ gói gửi thành công PRR, độ trễ và năng lượng tiêu thụ thu thập phân tích được khi chạy mô phỏng Sau đó, đem so sánh với kết quả thu thập được khi cùng mô hình mạng đó chạy riêng từng hàm mục tiêu như hiện nay Từ đó đưa ra kết luận và đánh giá giải pháp sử dụng nhiều hàm mục tiêu để cân bằng tải trong giao thức định tuyến RPL
Trang 6ABSTRACT
In wireless sensor networks, routing is a very important factor affecting the connection and make the exchange of information All performance of the wireless sensor network is dependent on the choice of routing protocols and quality of its implementation RPL is a protocol distance-vector routing was designed by ROLL Working Group to support the specific demands of existing network capacity and low consumption (LLNs) RPL routing protocol needs to be optimized for different applications to achieve sensornet optimum performance and use resources more efficiently During transmission of packets will lead to an overload of nodes, especially the root node Therefore, the solution for load balancing in RPL is necessary
I have conducted the research and performed the thesis, namely "Load Balancing in RPL routing protocol using multiple objective functions" In this thesis, I will research theory of Wireless Sensor Networks, routing protocol RPL in Low Power and Lossy Network (LLNs) The results will be investigated and simulated on the Application of Cooja Simulator using Contiki OS Based on the objective functions ETX and OF0 were used in in reality; however, when running in large networks with high data rate, it causes the overload which results in high packet loss, high latency, high consuming energy I have combined a model which can utilize both ETX and OF0 objective functions to create multiple root networks which helps to balance the system load To assess the effectiveness of this solution,
I investigate the network parameters such as packet reception rate, end-to-end latency and power consumption using the simulation Besides, the model results are also compared with the results obtained when running individual model objective functions The proposed model shows that it has several advantages in comparison with the current use of single objective function
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân, được xuất phát
từ yêu cầu phát sinh trong công việc để hình thành hướng nghiên cứu Các số liệu
có nguồn root rõ ràng tuân thủ đúng nguyên tắc và kết quả trình bày trong luận văn được thu thập được trong quá trình nghiên cứu là trung thực chưa từng được ai công
bố trước đây
TP Hồ Chí Minh, tháng 01, năm 2017
Tác giả luận văn
Đặng Thị Diệu Thu
Trang 8DANH MỤC CÁC CHỮ VIẾT TẮT
DODAG Destination Oriented Directed Acyclic Graph
IEEE Institute of Electrical and Electronics Engineers
MRHOF Minimum Rank with Hysteresis Objective Function
Trang 9MỤC LỤC
NHIỆM VỤ LUẬN VĂN THẠC SĨ ii
LỜI CẢM ƠN iii
TÓM TẮT LUẬN VĂN iv
ABSTRACT v
LỜI CAM ĐOAN vi
DANH MỤC CÁC CHỮ VIẾT TẮT vii
MỤC LỤC viii
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Đặt vấn đề và hướng giải quyết 1
1.2 Lý do chọn đề tài 3
1.3 Đối tượng và phạm vi nghiên cứu 4
1.4 Phương pháp nghiên cứu 4
CHƯƠNG 2: TỔNG QUAN WSN 5
2.1 Khái niệm chung về mạng cảm biến không dây 5
2.2 Cấu trúc mạng cảm biến 6
2.2.1 Cấu trúc toàn mạng cảm biến không dây 7
2.2.2 Cấu trúc của node cảm biến 9
2.3 Tổng quan về IPv6 11
2.3.1 Đặc điểm 11
2.3.2 Phân loại địa chỉ IPv6 11
2.3.3 Giao thức 6LoWPAN 15
CHƯƠNG 3: GIAO THỨC ĐỊNH TUYẾN RPL 20
3.1 Các metric trong định tuyến 20
3.2 Hàm mục tiêu 23
3.3 Giao thức định tuyến RPL 25
3.3.1 Tổng quan về giao thức 25
3.3.2 Sử dụng nhiều DODAG và định nghĩa của trường RPL 26
3.3.3 Các bảng tin RPL 27
3.3.4 Khởi tạo mạng 33
3.4 Hàm mục tiêu ETX 38
3.4.1 Hàm mục tiêu MRHOF 39
Trang 103.4.2 Sử dụng MRHOF trong tối đa metric 44
3.4.3 Biến và các thông số MRHOF 45
3.4.4 Khả năng quản lý 46
3.5 Hàm mục tiêu OF0 48
3.5.1 Tổng quan 48
3.5.2 Hoạt động của OF0 51
3.5.3 Giao diện của OF0 54
3.5.4 Tính toán trong OF0 55
3.5.5 Xem xét khả năng quản lý 56
CHƯƠNG 4: XÂY DỰNG GIẢI THUẬT ĐỊNH TUYẾN ĐA HÀM MỤC TIÊU 58
4.1 Giải pháp thực hiện 58
4.2 Phương pháp đánh giá 59
4.3 Sử dụng nhiều hàm mục tiêu 59
4.4 Giải thuật định tuyến đa hàm mục tiêu 62
4.4.1 Khởi tạo node server 62
4.4.2 Khởi tạo node client 64
4.4.3 Các node tính rank theo hàm mục tiêu tương ứng 65
4.4.4 Cơ chế điều khiển sự kiện của node client 67
4.4.5 Cơ chế xử lý bản tin DIO và xây dựng DAG 68
4.5 Quá trình hoạt động của mô hình dùng hai hàm mục tiêu 70
CHƯƠNG 5: KẾT QUẢ MÔ PHỎNG VÀ PHÂN TÍCH 75
5.1 Hệ điều hành contiki và ứng dụng mô phỏng cooja 75
5.1.1 Hệ điều hành contiki 75
5.1.2 Ứng dụng mô phỏng cooja 77
5.2 Cài đặt mạng 79
5.2.1 Các thông số mô phỏng 79
5.2.2 Mô hình mô phỏng 82
5.3 Phân tích kết quả mô phỏng 85
5.3.1 So sánh khả năng cân bằng tải qua tần suất gửi gói tin 85
5.3.2 So sánh khả năng cân bằng tải qua tỳ lệ gửi và nhận gói tin Tx/Rx success 88
5.4 Đánh giá 91
CHƯƠNG 6: KẾT LUẬN VÀ HUỚNG PHÁT TRIỂN 94
Trang 116.1 Kết luận 94
6.2 Hướng phát triển đề tài 94
TÀI LIỆU THAM KHẢO 96
PHỤ LỤC 99
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề và hướng giải quyết
Ngày nay, cùng với sự phát triển không ngừng của khoa học kỹ thuật, các công nghệ trong lĩnh vực mạng cảm biến cũng không ngừng phát triển và ngày càng đòi hỏi những yêu cầu cao hơn, nhằm phục vụ những mục đích nghiên cứu khoa học, y tế, giáo dục, quân sự, dân sự… Những ứng dụng mạng sử dụng mạng cảm biến không dây ngày càng trở nên gần gũi và có ý nghĩa trong cuộc sống
Định tuyến trong IoT (Internet of Things) là thách thức lớn nhất bởi vì trong LLNs chất lượng liên kết biến động mạnh và bị gián đoạn bởi các vấn đề như nhiễu nền, biến đổi trở kháng… Do những đặc điểm này, việc bảng định tuyến hội tụ nhanh có thể đạt được bằng cách sửa chữa cục bộ mà không ảnh hưởng đến việc định tuyến toàn cầu để tránh sự không ổn định và vòng lặp Đối với việc sửa chữa cục bộ, khả năng giải pháp thay thế định tuyến trong mỗi node là điều cần thiết, vì bất cứ lúc nào cũng có thể có node hàng xóm bị ngưng hoạt động hoặc liên kết bị giảm chất lượng Các giao thức định tuyến cho các mạng công suất và tổn hao thấp (RPL) là tiêu chuẩn định tuyến thiết thực nhất cho LLNs vì nó được thiết kế cho đối tượng IPv6 đối tượng của mạng IoT và đáp ứng nhu cầu xây dựng cấu trúc liên kết động RPL được chuẩn hóa bởi Internet Engineering Task Force (IETF) thực hiện bởi nhóm định tuyến trên mạng công suất và tổn hao thấp (Working Group ROLL)
RPL thiết lập mô hình không tuần hoàn định hướng(DAG) làm đại diện trong mạng Có thể có nhiều DAG cho một mạng giống nhau nhưng với tiêu chí định tuyến khác nhau như số liên kết truyền ước tính (ETX), độ trễ, số hop, năng lượng node Một DODAG (DAG định hướng đích) có một cấu trúc cây với một node root duy nhất gọi là router biên Mỗi node leaf có một Rank trên DAG mà được tính toán dựa trên hàm mục tiêu của DAG nhằm hướng đến mục đích của định tuyến Các node trên cây (ngoại trừ node root) được duy trì bởi một danh sách nhiều parent và bầu chọn ra parent được ưu tiên nhất trong danh sách để làm tuyến đường chính
Trang 13Root sẽ quảng bá một bảng tin thông tin đối tượng của DAG (DIO) chứa các thông tin về đề xuất các đặc tính DAG, định tuyến hàm mục tiêu (OF) và cấp Rank Hàm mục tiêu OF bao gồm một bộ các số liệu và các ràng buộc, một tập hợp các quy tắc tối ưu hóa riêng cho ứng dụng Việc sắp xếp Rank cho biết vị trí của node trong hệ thống phân cấp của DAG, nó cũng đại diện cho chỉ số định tuyến như liên kết EXT, số hop, độ trễ
Mỗi trường RPL trong một mạng bao gồm một hoặc một số DAG Một node
có thể tham gia vào nhiều DAG khác nhau với điều kiện các DAG thuộc các trường RPL khác nhau Nhiều trường RPL mang lại nhiều khả năng đáp ứng khác nhau, trong đó mỗi trường RPL tối ưu theo một mục tiêu ứng dụng cụ thể bằng cách sử dụng các số liệu và ràng buộc phù hợp Nhiều trường RPL thì hiệu quả để tạo ra các cấu trúc cây khác nhau liên quan đến các yêu cầu chất lượng dịch vụ tương ứng Ví
dụ, một node có thể tham gia một mô hình DAG mà tối ưu độ tin cậy với một ứng dụng nhất định và một mô hình DAG tối ưu để có độ trễ thấp cho các ứng dụng khác
Nhiều giao thức định tuyến như LEACH, PEGASIS, CTP không hỗ trợ rộng rãi nhiều ứng dụng vì chúng chỉ có thể phù hợp được với một ứng dụng cụ thể (chẳng hạn như tiết kiệm năng lượng), nhưng tại một thời điểm không thể đáp úng một yêu cầu ứng dụng khác (như độ bảo mật cao hoặc độ tin cậy cao) Trái với điều này, với việc thực hiện nhiều trường RPL có thể đáp ứng các yêu cầu của nhiều ứng dụng và chất lượng dịch vụ khác nhau của các luồng lưu lượng khác nhau
Nhiều nghiên cứu đã được thực hiện để điều tra hiệu suất của RPL về sự hội tụ của cây định tuyến, chi phí kiểm soát lưu lượng, tiêu thụ năng lượng, độ trễ, tỷ lệ phân phối gói tin dưới sự hoạt động của một trường mạng duy nhất với một hàm mục tiêu Tuy nhiên, một vài bài báo nghiên cứu hoạt động và hiệu suất của nhiều trường RPL Khái niệm về nhiều trường được mô tả Mạng mà bao gồm hai loại node, một là node cảnh báo để tạo ra các gói tin cảnh báo và các node định kỳ gửi các gói tin đến node root Hai mô hình trong một mạng được tạo ra cho luồng lưu lượng dựa trên loại node và chỉ một hàm mục tiêu được sử dụng cho hai DAG của hai trường Điều này có nghĩa là việc sử dụng nhiều nhiều hàm mục tiêu của RPL
Trang 14trong một mô hình không được nghiên cứu đầy đủ Các nghiên cứu khảo sát việc thực hiện nhiều trường RPL trong một mạng 802.11b cho các lĩnh vực ứng dụng lưới điện thông minh Cách xử lý của nhiều trường RPL trong mạng 802.11b là không giống như mạng 802.15.4 bởi vì mạng 802.15.4 có băng thông thấp hơn so với chuẩn 802.11b và có băng thông tiết kiệm năng lượng thông qua một lớp chu kỳ công suất vô tuyến (RDC)
Giao thức định tuyến RPL cần phải tối ưu hóa cho các ứng dụng mạng cảm biến khác nhau để đạt được hiệu suất tối ưu và sử dụng các nguồn lực hiệu quả hơn
Cụ thể đó là việc sửa đổi các hàm mục tiêu OF để áp dụng cho việc cân bằng tải trong quá trình giao tiếp giữa các node Nó cần phải chọn một đường đi mà giảm thiểu các EXT và nếu có nhiều tuyến có cùng EXT hay EXT nằm trong một phạm
vi được xác định thì để giảm tối đa lượng gói tin chuyển đến bằng chuyển đến một trong những đường trên Điều này có nghĩa bất kỳ một node nào cũng không phải quá tải khi chuyển tiếp gói tin Tức là mỗi node có nhiều parent, việc lựa chọn parent sao cho phù hợp để có thể cân bằng tải, không gây tắt nghẽn và tiết kiệm năng lượng
Đề tài sẽ thực hiện mô hình sử dụng nhiều hàm mục tiêu sử dụng giao thức định tuyến RPL cho mạng cảm biến vô tuyến (WSN) Sử dụng mô phỏng Cooja của contiki để mô phỏng cho môi trường vô tuyến IEEE 802.15.4 Đề tài sẽ khảo sát năng lượng tiêu thụ, tỷ lệ mất gói, độ trễ, đánh giá hiệu suất của RPL và so sánh giá trị của nó với khi dùng một hàm mục tiêu RPL
1.2 Lý do chọn đề tài
Định tuyến trong IoT là một trong những thách thức lớn nhất bởi vì trong LLNs chất lượng liên kết luôn biến đổi bởi các vấn đề như nhiễu, biến đổi trở kháng, … Do những đặc điểm này, tốc độ hội tụ nhanh của bảng định tuyến được hình thành từ sự thay đổi trong mạng nội bộ mà không ảnh hưởng đến định tuyến trong mạng toàn cầu để tránh mất ổn định và lặp vòng Sự thay đổi mạng nội bộ thì khả năng lựa chọn đường đi cho mỗi node là điều cần thiết, cũng như khi liên kết với các node lân cận bị thất bại Trong quá trình truyền gói tin thì sẽ dẫn đến sự quá
Trang 15tải ở các node, đặc biệt là các node root Do đó, giải pháp cho việc cân bằng tải trong RPL là hết sức cần thiết
1.3 Đối tượng và phạm vi nghiên cứu
Các nghiên cứu của đề tài sẽ góp phần tối ưu việc truyền các gói tin đảm bảo truyền tải thông suốt, với việc sử dụng hai hàm mục tiêu OF cho cùng một mô hình DAG tránh quá tải gây mất gói tại các node có Rank thấp
Phạm vi nghiên cứu của đề tài sẽ đưa ra giải pháp giải quyết vấn đề cân bằng tải trong giao thức định tuyến RPL của mạng cảm biến không dây tổn hao và năng lượng thấp
1.4 Phương pháp nghiên cứu
- Mô phỏng đề tài bằng ứng dụng Cooja trên hệ điều hành Contiki
- Phân tích các dữ liệu thu được dựa trên cơ sở lý thuyết để đi đến kết luận
Trang 16CHƯƠNG 2: TỔNG QUAN WSN
2.1 Khái niệm chung về mạng cảm biến không dây
Mạng cảm biến không dây (wireless sensor network - WSN) là một mạng bao gồm một số lượng lớn các node cảm biến có kích thước nhỏ gọn, giá thành thấp, có sẵn nguồn năng lượng, có khả năng tính toán và trao đổi với các thiết bị khác nhằm mục đích thu thập thông tin toàn mạng để đưa ra các thông số về môi trường, hiện tượng và sự vật mà mạng quan sát
Các node cảm biến là các sensor có kích thước nhỏ, thực hiện việc thu phát
dữ liệu và giao tiếp với nhau chủ yếu qua kênh vô tuyến Các thành phần của node cảm biến bao gồm: các bộ vi xử lý rất nhỏ, bộ nhớ giới hạn, bộ phận cảm biến, bộ phận thu phát không dây, nguồn nuôi Kích thước của các con cảm biến này thay đổi tùy thuộc vào từng ứng dụng
Với sự phát triển của công nghệ chế tạo linh kiện điện tử, công nghệ nano, giao tiếp không dây, công nghệ mạch tích hợp, vi mạch phần cảm biến… đã tạo ra những con cảm biến có kích thuớc nhỏ gọn, đa chức năng, giá thành thấp, tiêu thụ năng lượng ít, làm tăng khả năng ứng dụng rộng rãi của mạng cảm biến không dây
Mạng cảm biến không dây có một số đặc điểm sau:
- Phát thông tin quảng bá trong phạm vi hẹp và định tuyến multihop
- Được triển khai với mật độ sensor lớn
- Cấu hình mạng thường xuyên thay đổi phụ thuộc vào fadinh và hư hỏng ở các node
- Các node trong mạng cảm biến bị hạn chế về công suất, khả năng xử lý và dung lượng nhớ
- Mạng cảm biến thường phụ thuộc vào ứng dụng
- Vị trí các node mạng cảm biến không cần thiết phải thiết kế hoặc xác định trước Do đó có thể phân bố ngẫu nhiên trong các địa hình phức tạp
Trang 17- Khả năng phối hợp giữa các node cảm biến: các node cảm biến có gắn bộ xử
lý bên trong, do đó thay vì gửi dữ liệu thô tới đích thì chúng gửi dữ liệu đã qua tính toán đơn giản
- Các node cảm biến dễ bị lỗi
- Cấu trúc mạng cảm biến thay đổi khá thường xuyên
- Các node cảm biến chủ yếu sử dụng truyển thông kiểu quảng bá, trong khi
hầu hết các mạng ad hoc đều dựa trên việc truyền điểm-điểm
- Các bút cảm biến bị giới hạn về năng lượng, khả năng tính toán và bộ nhớ
- Các node cảm biến có thể không có số nhận dạng toàn cầu (Global identification) (ID) vì chúng có một số lượng lớn mào đầu và một số lượng
lớn các node cảm biến
Chính vì các lý do trên, mà cấu trúc của mạng mới đòi hỏi phải:
- Kết hợp vấn đề năng lượng và khả năng định tuyến
- Tích hợp dữ liệu và giao thức mạng
- Truyền năng lượng hiệu quả qua các phương tiện không dây
- Chia sẽ nhiệm vụ giữa các node lân cận
Trang 182.2.1 Cấu trúc toàn mạng cảm biến không dây
Các node cảm biến được phân bố trong một trường sensor như hình 2.1 Mỗi node cảm biến có khả năng thu thập dữ liệu và định tuyến lại đến các sink
Dữ liệu được định tuyến lại đến các sink bởi một cấu trúc đa điểm như hình trên Các sink có thể giao tiếp với các node quản lý nhiệm vụ (task manager node) qua mạng Internet hoặc vệ tinh
Sink là một thực thể, tại đó thông tin được yêu cầu Sink có thể là thực thể bên trong mạng (là một node cảm biến) hoặc ngoài mạng Thực thể ngoài mạng có thể là một thiết bị thực sự ví dụ như máy tính xách tay mà tương tác với mạng cảm biến, hoặc cũng đơn thuần chỉ là một gateway mà nối với mạng khác lớn hơn như Internet nơi mà các yêu cầu thực sự đối với các thông tin lấy từ một vài node cảm biến trong mạng
Đặc điểm của mạng cảm biến là bao gồm một số lượng lớn các node cảm biến, các node cảm biến có giới hạn và ràng buộc về tài nguyên đặc biệt là năng lượng rất khắc khe Một số đặc điểm nổi bật trong mạng cảm biến như sau:
Khả năng chịu lỗi: một số các node cảm biến có thể không hoạt động nữa do
thiếu năng lượng, do những hư hỏng vật lý hoặc do ảnh hưởng của môi trường Khả
Hình 2.1: Cấu trúc cơ bản của mạng cảm biến không dây
Trang 19năng chịu lỗi thể hiện ở việc mạng vẫn có thể hoạt động bình thường, duy trì những chức năng của nó ngay cả khi một số node mạng không hoạt động
Khả năng mở rộng: số lượng các node cảm biến là tùy thuộc vào từng ứng
dụng cụ thể, có khi lên đến hàng triệu Do đó cấu trúc mạng mới phải có khả năng
mở rộng để có thể làm việc với số lượng lớn các node này
Giá thành sản xuất: vì các mạng cảm biến bao gồm một số lượng lớn các
node cảm biến nên chi phí của mỗi node rất quan trọng trong việc điều chỉnh chi phí của toàn mạng Nếu chi phí của toàn mạng đắt hơn chi phí triển khai sensor theo kiểu truyền thống, như vậy mạng không có giá thành hợp lý Do vậy, chi phí của mỗi node cảm biến phải giữ ở mức thấp
Dễ triển khai: là một ưu điểm quan trọng của mạng cảm biến không dây
Người sử dụng không cần phải hiểu về mạng cũng như cơ chế truyền thông khi làm việc với WSN Bởi để triển khai hệ thống thành công, WSN cần phải tự cấu hình Thêm vào đó, sự truyền thông giữa hai node có thể bị ảnh hưởng trong suốt thời gian sống do sự thay đổi vị trí hay các đối tượng lớn Lúc này, mạng cần có khả năng tự cấu hình lại để khắc phục những điều này
Ràng buộc về phần cứng: vì trong mạng có một số lượng lớn các node cảm
biến nên chúng phải có sự ràng buộc với nhau về phần cứng: kích thước phải nhỏ, tiêu thụ ít năng lượng, có khả năng hoạt động ở những nơi có mật độ cao, hoạt động không cần có người kiểm soát, thích nghi với môi trường…
Môi trường hoạt động: các node cảm biến được thiết lập dày đặc, rất gần
hoặc trực tiếp bên trong các hiện tượng để quan sát Vì thế, chúng thường làm việc
mà không cần giám sát ở những vùng xa xôi Chúng có thể làm việc ở bên trong các máy móc lớn, những điều kiện môi trường khắc nghiệt, ô nhiễm
Phương tiện truyền dẫn: ở những mạng cảm biến multihop, các node trong
mạng giao tiếp với nhau bằng sóng vô tuyến, hồng ngoại hoặc những phương tiện quang học Các phương tiện truyền dẫn phải được chọn phù hợp trên toàn thế giới
để thiết lập sự hoạt động thống nhất của những mạng này
Trang 20Cấu hình mạng cảm biến: trong mạng cảm biến, hàng trăm đến hàng nghìn
node được triển khai trên trường cảm biến Chúng được triển khai trong vòng hàng chục feet của mỗi node Mật độ các node lên tới 20 node/m3 Do số lượng các node cảm biến rất lớn nên cần phải thiết lập một cấu hình ổn định
Sự tiêu thụ năng lượng: các node cảm biến không dây, có thể coi là một thiết
bị vi điện tử chỉ có thể được trang bị nguồn năng lượng giới hạn (<0.5 Ah, 1.2 V) Trong một số ứng dụng, việc bổ sung nguồn năng lượng không thể thực hiện được
Vì thế khoảng thời gian sống của các node cảm biến phụ thuộc mạng vào thời gian sống của pin Ở mạng cảm biến multihop ad hoc, mỗi một node đóng vai trò kép vừa khởi tạo vừa định tuyến dữ liệu Sự trục trặc của một vài node cảm biến có thể gây ra những thay đổi đáng kể trong cấu hình và yêu cầu định tuyến tại các gói và tổ chức lại mạng Vì vậy, việc duy trì và quản lý nguồn năng lượng đóng một vai trò quan trọng
Bảo mật: các thông tin về nhiệt độ đối với ứng dụng giám sát môi trường
dường như vô hại nhưng việc giữ bí mật thông tin và rất quan trọng Các hoạt động của một tòa nhà có thể thu thập được dễ dàng bằng cách lấy thông tin về nhiệt độ và ánh sáng của tòa nhà đó Những thông tin này có thể được sử dụng để sắp xếp một
kế hoạch tấn công vào một công ty Do đó, WSN cần có khả năng giữ bí mật các thông tin thu thập được Trong các ứng dụng an ninh, giữ bảo mật trở nên rất quan trọng Không chỉ duy trì tính bí mật, nó còn phải có khả năng xác thực dữ liệu truyền Sự kết hợp tính bí mật và xác thực là yêu cầu cần thiết của cả ba dạng ứng dụng Việc sử dụng mã hóa và giải mã sẽ làm tăng chi phí về năng lượng và băng thông Dữ liệu mã hóa và giải mã cần được truyền cùng với mỗi gói tin Điều đó ảnh hưởng tới hiệu suất ứng dụng do giảm số lượng dữ liệu lấy từ mạng và thời gian sống mong đợi
2.2.2 Cấu trúc của node cảm biến
Trang 21Mỗi node cảm biến được cấu thành bởi 4 thành phần cơ bản (xem hình 2.2):
- Đơn vị cảm biến (sensing unit)
- Đơn vị xử lý (processing unit)
- Đơn vị truyền dẫn (transceiver unit)
- Bộ nguồn (power unit)
Ngoài ra có thể có thêm những thành phần khác tùy thuộc vào từng ứng dụng như là hệ thống định vị (location finding system), bộ phát nguồn (power generator)
và bộ phận di động (mobilizer)
Các đơn vị cảm biến (sensing units) bao gồm cảm biến và bộ chuyển đổi tương tự - số Dựa trên những hiện tượng quan sát được, tín hiệu tương tự tạo ra bởi sensor được chuyển sang tín hiệu số bằng bộ ADC, sau đó được đưa vào bộ xử lý
Đơn vị xử lý thường được kết hợp với bộ lưu trữ nhỏ (storage units), quyết định các thủ tục làm cho các node kết hợp với nhau để thực hiện các nhiệm vụ định sẵn Phần thu phát vô tuyến kết nối các node vào mạng
Một trong các phần quan trọng nhất của một node mạng cảm biến là bộ nguồn Các bộ nguồn thường được hỗ trợ bởi các bộ phận lọc như là tế bào năng lượng mặt trời Ngoài ra cũng có những thành phần phụ khác phụ thuộc vào từng ứng dụng Hầu hết các kỹ thuật định tuyến và các nhiệm vụ cảm biến của mạng đều
Hình 2.2: Cấu tạo node cảm biến
Trang 22yêu cầu có độ chính xác cao về vị trí Các bộ phận di động đôi lúc cần phải dịch chuyển các node cảm biến khi cần thiết để thực hiện các nhiệm vụ đã ấn định Tất
cả những thành phần này cần phải phù hợp với kích cỡ từng module
2.3 Tổng quan về IPv6
2.3.1 Đặc điểm
IPv6 được thiết kế với những đặc điểm như sau:
- Mở rộng không gian địa chỉ: IPv6 sử dụng 128 bit để đánh địa chỉ, thay vì chỉ sử dụng 32 bit như trong IPv4
- Tăng khả năng phân cấp địa chỉ: sử dụng 64 bit đầu tiên làm mã nhận dạng mạng, 64 bit cuối làm địa chỉ Interface, nhằm mục đích phân biệt các interface trong cùng một mạng
- Header được xây dựng đơn giản hơn: có chiều dài cố định và ít trường hơn IPv4, tăng tốc độ xử lý, …
- Đơn giản hóa việc đặt địa chỉ host: sử dụng 64 bit để đặt địa chỉ host, trong
đó đã sử dụng 48 bit địa chỉ MAC và đệm vào chuỗi FF:FE để tạo địa chỉ host duy nhất trong mạng
- Tăng khả năng di động: Địa chỉ IPv6 được thiết kế với tính di động được tích hợp vào trong Mobile IP cho phép các hệ thống đầu cuối thay đổi vị trí
mà không mất các kết nối Đây là điểm rất cần thiết cho những sản phẩm wireless chẳng hạn như IP phone và các hệ thống GPS,
- Tăng khả năng bảo mật: IPv6 tích hợp tính năng bảo mật bằng cách sử dụng
2 header mở rộng: (AH) Authentication header và Encrypted Security payload (ESP)
- Quá trình tự động cấu hình đơn giản hơn
- Hiệu suất hoạt động tối ưu hơn
2.3.2 Phân loại địa chỉ IPv6
Địa chỉ IPv6 được chia làm 3 loại chính:
Trang 23- Địa chỉ unicast: được sử dụng để xác định một Interface Một gói tin có đích
đến là một địa chỉ unicast thông qua Routing sẽ chuyển đến một Interface duy nhất trong mạng
- Địa chỉ Anycast: được sử dụng để xác định nhiều Interface Tuy nhiên, gói
có địa chỉ đến là anycast sẽ thông qua routing để chuyển đến chỉ một node trong số các Interface có cùng địa chỉ anycast, thông thường là Interface gần nhất
- Địa chỉ multicast: được sử dụng để xác định nhiều Interface, một gói có địa
chỉ đến là địa chỉ multicast sẽ thông qua quá trình routing để chuyển đến tất
cả những interface có cùng địa chỉ multicast Như vậy, trong IPv6 không có địa chỉ Broadcast, vì Broadcast đã được bao gồm trong nhóm địa chỉ Multicast
Nhóm địa chỉ unicast được chia làm 4 nhóm nhỏ:
- Global Unicast address: Địa chỉ này được sử dụng để hỗ trợ cho các ISP -
Internet Service Provider (hình 2.3)
001 TLA ID
13 bits
RES 8bits
Hình 2.3: Địa chỉ global unicast
o TLA ID (Top Level Aggregation): xác định nhà cung cấp cao nhất
trong hệ thống các nhà cung cấp dịch vụ
o Res: chưa được sử dụng
o NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo
trong hệ thống các nhà cung cấp dịch vụ
o SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet
o Interface ID: địa chỉ của Interface trong subnet
- Link – local Addresses: Là loại địa chỉ được sử dụng cho các host khi chúng
muốn giao tiếp với các host neighbor khác trong cùng một mạng Tất cả các IPv6 của các interface đều có địa chỉ link local Trong địa chỉ link – local
Trang 24(hình 2.4), 64 bit địa chỉ đầu tiên luôn cố định (prefix: fe80::/64), 64 bit cuối
là địa chỉ của Interface Các router không thể chuyển bất kỳ gói tin nào có địa chỉ đích là một địa chỉ link – local (Link-local Add chỉ sử dụng trong mạng nội bộ)
- Site – local address: Là loại địa chỉ được sử dụng trong những hệ thống nội
bộ (Intranet) Phạm vi sử dụng là trong cùng một site Loại địa chỉ này luôn
có prefix cố định là FEC0::/10 (10 bit đầu tiên) (hình 2.5)
- Unique local address: Là địa chỉ được sử dụng để định tuyến giữa các
subnet trên cùng một private network (hình 2.6) 8 bit đầu tiên là prefix cố định FD00::/8 40 bit kế tiếp là địa chỉ site có thể gán tùy ý và 16 bit tiếp theo được sử dụng làm địa chỉ subnet trong site
Trang 252.3.2.2 Địa chỉ anycast
Địa chỉ Anycast là một loại địa chỉ đặc biệt trong IPv6, gói tin chuyển đến địa chỉ Anycast qua quá trình routing được hệ thống chuyển đến interface gần nhất Loại địa chỉ này chỉ được sử dụng để đặt cho router và không được phép đặt cho các host, đồng thời cũng không được sử dụng làm địa chỉ nguồn cho các gói tin IPv6
Địa chỉ multicast (hình 2.7) cũng được sử dụng để nhận dạng một tập hợp các node trong mạng Tuy nhiên khác với địa chỉ Anycast, một gói tin có địa chỉ đích là một địa chỉ Multicast, sẽ được chuyển đến tất cả các node có cùng địa chỉ Multicast đó Địa chỉ multicast được phân biệt với địa chỉ unicast bởi vì chúng luôn bắt đầu với 0xFF Mỗi interface IPv6 được gán địa chỉ multicast biết chúng thuộc nhóm multicast nào Một gói tin được xử lý bởi những interface thuộc về nhóm multicast đó IPv6 sử dụng multicast thay cho broadcast
- Octet đầu tiên: 1111 1111, định nghĩa đây là địa chỉ multicast
Subnet Prefix
Hình 2.6: Cấu trúc unique local address
Hình 2.7: Cấu trúc địa chỉ multicast
Trang 26- 4 bit Flags: 3 bit đầu dùng để lưu trữ và đặt là 0 Bit cuối cùng chỉ thị đâu là
một địa chỉ multicast được đăng ký chính thức bởi một tổ chức toàn cầu, đâu
là địa chỉ transisent – địa chỉ transisent được đưa ra trong phạm vi và chỉ có giá trị trong phạm vi đó, không có nghĩa gì ở phạm vi khác Giá trị 0 của bit thứ 4 cho biết đây là một địa chỉ “well-known”
- 4 bit scope: để giới hạn phạm vi của địa chỉ multicast:
o Scope=0: Dự trữ
o Scope=1: Dùng cho node local
o Scope=2: Dùng cho link local
o Scope=5: Dùng cho site local
o Scope=8: Dùng cho organization local
o Scope=E: Glopbal scope: Địa chỉ internet toàn cầu
o Scope=f: Dự trữ
- Group ID giúp nhận dạng các nhóm multicast trong phạm vi một scope Cần
lưu ý rằng, với địa chỉ multicast, một node trong mạng có khả năng quyết định có tham gia vào một nhóm multicast hay không
2.3.3 Giao thức 6LoWPAN
6LoWPAN - IPv6 over Low Power wireless Area Networks là một chuẩn giao thức internet dành cho mạng cảm biến không dây, hoạt động trên chuẩn IEEE 802.15.4 Giao thức 6LoWPAN có phạm vị ứng dụng rộng rãi, trong nhiều mục đích ứng dụng khác nhau:
- Các ứng dụng tự động và điều khiển thiết bị trong nhà
- Các ứng dụng thể thao và giải trí cá nhân
- Các ứng dụng trong y tế, chăm sóc sức khỏe
- Ứng dụng quản lý tài sản
- Nâng cao cơ sở hạ tầng trong đo lường
- Giám sát môi trường
- Các ứng dụng trong an ninh
- Các ứng dụng tự động hóa trong công nghiệp
Kiến trúc mạng của giao thức 6LoWPAN như trong hình 2.8:
Trang 27Các đặc tính của 6LoWPAN: Các đặc tính của 6LoWPAN:
- Có phương thức nén header hiệu quả Trong 6LoWPAN sử dụng địa chỉ
IPv6 cơ bản, kết hợp các header mở rộng và các UDP header
- Tự động cấu hình mạng bằng cách sử dụng cơ chế neighbor discovery
- Hỗ trợ các phương thức truyền multicast, unicast và broadcast
- Hỗ trợ chia 1280 byte IPv6 MTU thành các khung 127 byte của 802.15.4
- Hỗ trợ định tuyến IP (ví dụ định tuyến trong IETF RPL)
Phương thức đánh địa chỉ trong 6LoWPAN:
- Nguyên tắc đánh địa chỉ:
6LoWPAN Protocol Stack
Hình 2.8: Kiến trúc mạng 6LoWPAN
Trang 28o Không gian địa chỉ phẳng, mỗi mạng chỉ có một subnet
o Kết hợp với địa chỉ MAC của mỗi thiết bị
- Các địa chỉ IPv6 được nén trong 6LoWPAN bằng những phương thức nén
sau:
o Lược bỏ global prefix: vì tất cả các node trong cùng một mạng đều
cùng global prefix
o Lược bỏ link - local prefix: được chỉ ra trong định dạng nén header
o Nén phần IID - Interface ID: lược bỏ các giao tiếp trực tiếp, nén địa
chỉ mutihop des/src
o Nén địa chỉ multicast
Trong Contiki (sẽ được đề cập rõ hơn ở chương 5) RPL sử dụng hai cơ chế đánh địa chỉ: cơ chế đánh địa chỉ 64 bit (Full UDP/IPv6) và cơ chế đánh địa chỉ 16 bit (Minimal UDP/6LoWPAN) Với cơ chế 64 bit, chỉ có phần địa chỉ global prefix được lược bỏ, khi đó kích thước header là 48Byte, đồng thời kích thước tải trong mỗi gói tin bị thu hẹp hơn so với cơ chế UDP/6LoWPAN Tuy nhiên, cơ chế này có khả năng tạo được liên kết đến nhiều mạng khác nhau và đáp ứng được nhiều ứng dụng hơn
Cấu trúc gói tin trong 6LoWPAN:
Trang 29Hình 2.9 cho biết cấu trúc gói tin với cơ chế UDP-CLIENT/IPv6 64bit Với
cơ chế UDP/6LoWPAN, các thành phần header được nén một cách tối ưu, với chiều dài header chỉ 6 Byte (hình 2.10)
Hình 2.9: Cấu trúc header của cơ chế UDP/IPv6 64 bits
Hình 2.10: Cấu trúc header của cơ chế UDP/6LoWPAN
Trang 30Sự khác nhau giữa 2 cơ chế thể hiện qua mối tương quan giữa chiều dài header và kích thước tải tin như trong hình 2.11:
Hình 2.11: Sự khác nhau về cấu trúc bản tin giữa UDP/IPv6 và
UDP/6LoWPAN
Trang 31CHƯƠNG 3: GIAO THỨC ĐỊNH TUYẾN RPL
RPL – Routing Protocol for Low Power and Lossy Network là giao thức định tuyến cho mạng tổn hao năng lượng thấp nói chung và mạng cảm biến không dây nói riêng RPL sử dụng các DAG trong mạng để định tuyến
3.1 Các metric trong định tuyến
Metric định tuyến là một thành phần quan trọng của chiến lược định tuyến và
đã được nghiên cứu trong nhiều thập kỷ qua Hầu hết các giao thức định tuyến IP được sử dụng trong các mạng hiện nay như OSPF [1] hoặc IS-IS [2] sử dụng metric liên kết tĩnh Người quản trị mạng chịu trách nhiệm cho việc cấu hình các metric liên kết, có thể phản ánh sự băng thông liên kết, độ trễ, hoặc kết hợp một số metric Một số nhà cung cấp dịch vụ kết hợp lên đến ba metric (như, sự chậm trễ, băng thông, chi phí) trong metric liên kết Sau đó, các giao thức định tuyến tính toán đường đi ngắn nhất tính đến các metric liên kết tĩnh
Nhiều nỗ lực đã được thực hiện để sử dụng các metric liên kết động Ví dụ, các nghiên cứu sâu rộng đã được thực hiện trong mạng ARPANET-2 để tự động tính toán các metric liên kết dựa trên chiều dài hàng đợi trung bình để phản ánh mức
độ tắc nghẽn Những chiến lược này đã bị bỏ rơi do gặp khó khăn trong việc thiết kế các hệ thống ổn định Một trong những thách thức chính với metric động là để cẩn thận kiểm soát tốc độ mà tại đó các metric mới được quảng bá Liên kết metric thường xuyên được làm mới cung cấp một mức độ chính xác cao nhưng cũng có thể dẫn đến định tuyến thay đổi Ví dụ, khi liên kết metric phản ánh việc sử dụng liên kết, tăng lưu lượng metric không khuyến khích đi đến các liên kết và gây nên các thay đổi lộ trình giao thông trong các phần khác của mạng Như việc sử dụng liên kết giảm, liên kết metric cũng giảm do đó thu hút lượng truy cập hơn Nếu không được kiểm soát cẩn thận, chiến lược này không thể tránh khỏi dẫn đến sự thay đổi lưu lượng và do đó bị jitter, khả năng sắp xếp lại gói tin, vv Phải hết sức cẩn thận thực hiện để hạn chế chi phí điều khiển lưu lượng ở LLN nơi mà băng thông và năng lượng thường là tài nguyên khan hiếm Ngoài các khả năng thay đổi lưu lượng, định tuyến cập nhật quá thường xuyên tạo ra tắc nghẽn trong mạng đó sẽ tiêu hao năng lượng, mà có thể là một vấn đề thực sự cho các node hoạt động bằng pin
Trang 32Định tuyến trong LLN không đòi hỏi chiến lược các metric định tuyến phức tạp hơn Hãy làm rõ sự khác biệt giữa định tuyến metric và sự ràng buột Một metric
là đại lượng vô hướng sử dụng để xác định đường đi tốt nhất theo một số hàm mục tiêu Ví dụ, nếu liên kết metric đại diện bởi độ truyền trễ của liên kết thì các đường dẫn có chi phí thể hiện tổng độ truyền trễ đến đích và hàm mục tiêu có thể chỉ định tìm được con đường ngắn nhất dựa trên sự chậm trễ tuyên truyền
Tập hợp các liên kết và các node metric hoặc ràng buộc cho RPL được định nghĩa trong [3] và thảo luận trong phần tiếp theo [3] cho phép đối tượng định tuyến được định nghĩa là các ràng buộc hoặc các metric với rất nhiều tính linh hoạt Hãy xem xét các mức độ chất lượng liên kết (LQL) Các LQL là một số nguyên giữa 0
và 3 đặc trưng cho chất lượng liên kết (nghèo, công bằng, tốt) Hàm mục tiêu (OF)
có thể quy định để lọc các liên kết với một mức "kém" chất lượng (LQL được sử dụng như là một ràng buộc) hoặc để tìm đường dẫn cung cấp số lượng tối thiểu của các liên kết với chất lượng kém (LQL được sử dụng như một thước đo) Điều này
áp dụng cho tất cả các đối tượng định tuyến có thể được sử dụng như một metric hoặc sự ràng buộc
Metric tổng hợp và bảng ghi trong định tuyến: Các chi phí đường đi được
định nghĩa là tổng các chi phí của tất cả các các liên kết dọc theo con đường Điều này mặc nhiên sử dụng các các metric tổng hợp Ví dụ, nếu các metric phản ánh băng thông của liên kết mà các metric tỉ lệ nghịch với nó, con đường tốt nhất là con đường với chi phí thấp nhất (các chi phí đường đi là tổng của tất cả các các metric liên kết dọc theo đường dẫn) Mặt khác, trong một số trường hợp, nó có thể có ích
để ghi lại mỗi liên kết metric cụ thể như trái ngược với một giá trị tổng hợp Trong metric đáng tin cậy, một phương pháp thêm liên kết LQL dọc theo con đường (metric tổng hợp), nhưng điều này đi kèm với mất mát thông tin, với trường hợp này nó có thể sẽ tốt hơn khi ghi lại các LQL của tất cả các các liên kết dọc theo con đường (metric bảng ghi) [3] hỗ trợ cả metric tổng hợp và metric bảng ghi
Metric cục bộ và metric toàn cầu: Một metric được cho là cục bộ khi nó
không được truyền dọc theo DODODAG Nói cách khác, một node sẽ chỉ ra chi phí cục bộ của nó (ngược lại với một metric toàn cầu), nhưng chi phí sẽ không được truyền bá thêm nữa
Trang 33Header chung cho định tuyến metric và các ràng buộc: Quy định một header
chung cho tất cả các metric và các ràng buộc với một số cờ sử dụng để cho biết các đối tượng định tuyến dùng để chỉ một định tuyến metric hoặc một ràng buộc, nếu đối tượng định tuyến là cục bộ so với toàn cầu, nếu các metric toàn cầu được tổng hợp so với bảng ghi Nếu một ràng buộc là tùy chọn hay bắt buộc và nếu một metric thêm vào hoặc báo cáo tối đa / tối thiểu
Mục tiêu của trạng thái và thuộc tính node: sử dụng để báo cáo thông tin
khác nhau của trạng thái và thuộc tính node
Mục tiêu năng lượng của node: Năng lượng là một thước đo quan trọng
trong LLNs, đặc biệt là sự hiện diện của các node hoạt động bằng pin Các phương pháp của [3] cung cấp một vài mức độ chi tiết để đặc trưng cho năng lượng node: (1) các chế độ node nguồn, (2) tuổi thọ còn lại và có khả năng, (3) có khả năng thiết lập một số chi tiết về các metric và các thuộc tính năng lượng liên quan
Mục tiêu hop-count: được hiểu đơn giản là báo cáo về số hop trên dọc đường
đi
Mục tiêu băng thông: là tổng hợp băng thông của liên kết Khi được sử dụng
là một metric, thông lượng có thể được dùng như một metric thêm vào hoặc để báo cáo tối đa hoặc tối thiểu
Mục tiêu về độ trễ: để báo cáo về độ trễ của đường đi Như băng thông, độ
trễ cũng được xem như một metric hoặc một loại ràng buộc
Mục tiêu về liên kết tin cậy: Độ tin cậy metric phổ biến nhất cho đến nay là
đếm metric truyền dự kiến (ETX), nó đặc trưng cho số lượng trung bình để một gói
dữ liệu truyền thành công Các ETX liên quan chặt chẽ với băng thông dọc theo một con đường Một số kỹ thuật đã được đề xuất để tính ETX Một phương pháp được
mô tả trong [4] gửi mẫu dò thường xuyên trong mỗi chiều để tính toán tỷ lệ truyền
đi cho một liên kết cụ thể ETX được định nghĩa là 1 / (Df * Dr), với Df là xác suất
đo được khi một gói tin được nhận bởi những người hàng xóm và Dr là xác suất đo
mà gói tin xác nhận là đã thành công Một cách để tính toán Df và Dr là gửi mẫu dò tại các khoảng thời gian đều đặn, vì cả hai điểm cuối của liên kết biết tần số mà tại
đó đầu dò được gửi Bằng việc báo cáo số lượng các mẫu dò nhận được theo hướng
Trang 34ngược lại, mỗi node có thể dễ dàng tính toán cả hai giá trị Các đề xuất khác đã được thực hiện trong [5] và [6]
Thuộc tính liên kết màu sắc: Có những tình huống mà nó có thể hữu ích cho
một liên kết "màu sắc" để báo cáo một thuộc tính cụ thể Điều này được sử dụng trong RPL Các màu sắc liên kết được mã hóa bằng một vector bit và ý nghĩa của mỗi màu được để lại đặc trưng người thực hiện RPL tính đường đi trên một DODAG động được xây dựng DODAG root sử dụng một OF cần thiết cho mỗi node dọc theo đường đi để báo các metric đường đi được thiết lập màu sắc của mỗi liên kết dọc đường Ví dụ, giả sử rằng màu xanh dương dùng để cho biết sự hỗ trợ của các mã hóa lớp liên kết Khi nhận được metric đường đi, nếu màu sắc liên kết được ghi nhận, một node có thể quyết định bầu ra là một parent các con đường parent báo với các liên kết được mã hóa (liên kết màu xanh dương) Hoặc với số lượng tối đa liên kết màu xanh dương khi có của một con đường duy nhất không làm bằng liên kết màu xanh dương
để tránh ùn tắc lưu lượng trong mạng RPL giải quyết các yêu cầu này bằng cách
Trang 35xây dựng hai DODAGs với mỗi một cái có OF riêng của mình OF được sử dụng kết hợp với các metric định tuyến tính toán con đường
Hình 3.1, trong đó mô tả một LLN Trong mạng này, liên kết LQL được cấp thêm vào độ trễ và tính sẵn sàng của mã hóa lớp liên kết Ngoài ra, node 11 là hoạt động bằng pin Các mũi tên chỉ đường dẫn được tính là tốt nhất từ bộ định tuyến biên công suất thấp và mạng tổn hao (LBR) tới node 34 cho hai OFs khác nhau lả OF1 và OF2, được định nghĩa trong những điều sau đây:
- OF1: "Sử dụng các LQL như một bảng ghi toàn cục metric và ưu tiên đường dẫn với số lượng tối thiểu của các liên kết chất lượng thấp và hợp lý, sử dụng các màu sắc liên kết như là một liên kết ràng buộc để tránh các liên kết không được mã hóa." Lưu ý rằng hai con đường có sẵn với một metric LQL
Hình 3.1 Mạng LLN với hai OFs khác nhau
Trang 36tổng hợp tương đương: 34-35-24-13-1 và 34-33-23-22-12-1 Nhưng vì OF quy định cụ thể sử dụng một metric bảng ghi , con đường 34-33-23-22-12-1 được chọn vì nó chỉ có hai liên kết của chất lượng "fair"
- OF2: "Tìm đường đi tốt nhất về độ trễ (liên kết độ trễ được sử dụng như một metric tổng hợp toàn cầu), trong khi tránh các liên kết chất lượng kém và các node hoạt động bằng pin." Một số con đường đã được lược bớt bởi chúng đi qua các node hoạt động bằng pin (node 11) và các liên kết chất lượng kém đi qua (liên kết 12-23) Con đường tốt nhất (độ trễ thấp nhất) là 34-24-13-1
3.3 Giao thức định tuyến RPL
3.3.1 Tổng quan về giao thức
RPL – IPv6 Routing Protocol for Low Power and Lossy Network là giao thức định tuyến cho mạng tổn hao năng lượng thấp nói chung và mạng cảm biến không dây nói riêng Dự thảo đầu tiên về RPL được IETF đưa ra vào tháng 8/2009 [7] Hiện nay, giao thức RPL vẫn đang trong quá trình nghiên cứu và hoàn thiện, với mục tiêu phát triển thành một chuẩn định tuyến trong tương lai Quá trình phát triển RPL cũng nhận được sự quan tâm, đóng góp của nhiều tổ chức, cá nhân đến từ những tổ chức nghiên cứu khoa học, các trường đại học, viện nghiên cứu trên toàn thế giới
RPL được phát triển trên nền IPv6 nhằm đạt được những yêu cầu định tuyến sau [8, 9,10]:
- Có khả năng mở rộng (số lượng, quy mô)
- Định tuyến dựa trên những thông số bị giới hạn như mức năng lượng, dung lượng bộ nhớ, …
- Hỗ trợ tính di động
- Hỗ trợ khả năng tự cấu hình và cấu hình từ bên ngoài
- Hỗ trợ truyền tin multicast và anycast
- Hỗ trợ các luồng thông tin định hướng đến một node trong mạng
- Có cấu trúc mạng động
- Hỗ trợ định tuyến theo nhiều metric khác nhau
Trang 37- Có khả năng hội tụ về thời gian Giao thức định tuyến có tính hội tụ về thời gian khi nó đáp ứng được những mức thời gian trễ cụ thể tương ứng với những điều kiện xác định
- Có khả năng quản lý Khi một node mới tham gia vào mạng, node đó phải tự động cấu hình và tham gia vào mạng mà không cần sự can thiệp của con người
- Hỗ trợ truyền gói theo mức độ ưu tiên và có độ tin cậy cao
- Hỗ trợ các phương thức bảo mật
RPL được thiết kế cho LLNs nơi các thiết bị bị hạn chế được nối với nhau bằng các liên kết tổn hao (không dây và có dây) Nhiều người quyết định thiết kế giao thức định tuyến được thúc đẩy chặt chẽ bởi các đặc tính độc đáo của các mạng này RPL cũng hỗ trợ các khái niệm về trường DODAG xác định bởi một Instance
ID gọi là RPLInstanceID Nó có ích để tạo thành cấu trúc liên kết khác nhau theo các bộ khác nhau của các ràng buộc và OFS Một node RPL có thể tham gia nhiều trường DODAG; Ví dụ, một DODAG tối ưu hóa cho độ tin cậy cao và một DODAG tối ưu hóa cho độ trễ thấp Các gói dữ liệu này sau đó được chuyển tiếp dọc theo DODAG thích hợp theo các yêu cầu ứng dụng
3.3.2 Sử dụng nhiều DODAG và định nghĩa của trường RPL
Một DODAG là một tập các đỉnh kết nối bởi các cạnh hướng không có các chu kỳ hịnh hướng Như trong hình 3.1, RPL xây dựng DODAGs hình thành một tập hợp các đường dẫn từ mỗi leaf đến root DODAG (thường là một LBR) Ngược lại với mô hình cây, DODAGs cung cấp đường đi dư thừa, một yêu cầu phải cho LLNs Vì vậy, nếu mô hình được cho phép, luôn luôn có nhiều hơn một con đường giữa leaf và root DODAG Nếu mạng mang lưu lượng với các yêu cầu QoS khác nhau, nó có ích để xây dựng một DODAG được tối ưu hóa cho độ trễ thấp và một DODAG tối ưu hóa để cung cấp độ tin cậy cao trong khi tránh các node hoạt động bằng pin Trong trường hợp này, RPL có thể xây dựng hai DODAGs theo hai OFs khác nhau Nếu một node mang cả hai loại lưu lượng sau đó nó có thể quyết định tham gia cả hai trường DODAGs (DODAG instance) Khi một gói tin nhạy cảm về
độ trễ thì phải được gửi dọc theo DODAG, nó được gắn cờ (trong header gói) với trường DODAG thích hợp và chuyển tiếp dọc theo DODAG thích hợp Quyết định
Trang 38này được thực hiện bởi các ứng dụng Các vấn đề này sẽ được làm rõ hơn ở chương
4
Một DODAG định hướng đích đến (DODODAG) là một DODAG root tại một điểm đến duy nhất Một node chỉ có thể tham gia một DODODAG duy nhất trong một trường DODAG Một DODAG được xác định bởi trường của nó (RPLInstanceID) Một DODAG được nhận dạng duy nhất bởi sự kết hợp của các trường DODAG (RPLInstanceID) và DODAGID (mã nhận dạng của DODAG đó phải là duy nhất trong phạm vi của một trường DODAG trong LLN)
3.3.3.1 Bảng tin DIS
DIO (DODAG Information Object) là bản tin được tạo ra tại các DODAG root, mang những thông tin định tuyến của DODAG như Instance, Rank, metric, OCP, DIO được sử dụng để quảng bá các thông tin định tuyến của một DAG xác định trong mạng, phục vụ quá trình xây dựng DAG và định tuyến upward Quá trình nhận và xử lý bản tin DIO cho phép một node nhận diện và tham gia vào DAG phù hợp Từ đó lựa chọn các parent, xác định các thông số cấu hình và tiếp tục quảng bá thông tin DAG đến các node khác trong mạng Phần tiếp theo sẽ trình bày những nội dung sau:
- Cấu trúc bản tin DIO: trình bày các trường thông tin trong bản tin DIO
- Bộ định thời DIO: trình bày nguyên tắc hoạt động và hoạt động định thời của
bộ định thời DIO
- Nhận và xử lý bản tin DIO: trình bày những nguyên tắc khi xử lý bản tin DIO
Trang 39a Cấu trúc bản tin DIO
Cấu trúc của một bản tin DIO (hình 3.4) gồm hai phần chính: các trường điều khiển và các option
Các trường điều khiển gồm các cờ trạng thái và các thông số phục vụ cho quá trình xây dựng DODAG:
- Cờ G (grounded): cho phép xác định khả năng kết nối đến một grounded
DAG của node gửi DIO Nếu cờ G bằng không, node gửi DIO là thành viên của một floating DAG Ngược lại, nếu cờ này khác không cho biết node gửi DIO là thành viên của một grounded DODAG
- MOP: Trường phương thức hoạt động (MOP) xác định các phương thức hoạt
động của RPL Instance như cấp quyền chính và phân phối bởi các root DODAG Tất cả các node mà tham gia DODAG phải có MOP để tham gia đầy đủ như một bộ định tuyến, nếu không họ chỉ phải tham gia như một node leaf
- Trường prf (DAG preference): sử dụng 3 bit kiểu số nguyên dương cho biết
độ ưu tiên giữa các DAG trong cùng một Instance Miền giá trị của prf từ 0 đến 7 Nếu prf bằng 7, DAG sẽ có độ ưu tiên cao nhất, giá trị mặc định của prf là 0
Hình 3.4: cấu trúc bảng tin DIO
Trang 40- Version Number: 8-bit số nguyên không dấu được thiết lập bởi các root
DODAG đến DODAGVersionNumber
- Rank: Rank của node gửi DIO
- Destination Advertisement Trigger Sequence Number (DTSN): được thiết lập
tại node phát ra bản tin DIO, sử dụng trong quá trình duy trì các thông số định tuyến theo hướng downward
- RPLInstanceID: cho biết RPLInstance mà DAG tham gia định tuyến
- DODAGID: là một địa chỉ Ipv6 có độ dài 128 bit và được thiết lập tại
DODAG ROOT
- Flags: Các trường phải được khởi tạo bằng 0 bởi người gửi và phải được bỏ
qua bởi người nhận
- Reserved: Các trường phải được khởi tạo bằng 0 bởi người gửi và phải được
bỏ qua bởi người nhận
Các option trong DIO bao gồm 5 loại: Pad 1, Pad N, DODAG Metric Container, DODAG destination prefix, DODAG Configuration Tùy theo mục đích
sử dụng, các option được chèn vào cấu trúc DIO một cách hợp lý
Cấu trúc chung của các option 3 phần:
- Type: 1 byte, dùng để phân biệt các option
- Length: 2 byte, cho biết chiều dài option
- DATA: chiều dài thay đổi, lưu các thông tin của option
Pad 1 có cấu trúc chỉ gồm 1 byte có type bằng không, được sử dụng nhằm
chèn một hoặc hai byte trống vào bản tin DIO
Pad N được sử dụng nhằm chèn N byte trống vào bản tin DIO
Metric Container được sử dụng để lưu trữ thông tin các Metric được hỗ trợ
trong DAG Metric container có thể bao gồm một số các metric như thông số liên kết, băng thông, độ trễ, các thông số về tuyến đường, … Quá trình xử lý và quảng
bá các thông tin trong Metric container tuân theo các Object function cụ thể được thiết kế trong quá trình triển khai
Destination prefix là option được sử dụng để theo dõi khả năng kết nối đến một nhóm các node trong mạng thông qua DODAG root hoặc qua một parent nằm gần DODAG root của nhóm node mạng đó Sự theo dõi trở lên hữu ích khi trong