Tải bản đầy đủ (.pdf) (78 trang)

Nghiên cứu, đánh giá hiệu năng của giao thức định tuyến cho mạng cảm biến không dây với hỗ trợ 6LoWPAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.61 MB, 78 trang )

1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TỐNG ĐỨC THUẬN

NGHIÊN CỨU, ĐÁNH GIÁ HIỆU NĂNG
CỦA GIAO THỨC ĐỊNH TUYẾN CHO MẠNG
CẢM BIẾN KHÔNG DÂY VỚI HỖ TRỢ 6LOWPAN

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2013


2

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TỐNG ĐỨC THUẬN

NGHIÊN CỨU, ĐÁNH GIÁ HIỆU NĂNG
CỦA GIAO THỨC ĐỊNH TUYẾN CHO MẠNG
CẢM BIẾN KHÔNG DÂY VỚI HỖ TRỢ 6LOWPAN

NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60 48 15


LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. TS. NGUYỄN VĂN TAM

Hà Nội - 2013


3

MỤC LỤC

LỜI CAM ĐOAN....................................................................................................... 1
MỤC LỤC .................................................................................................................. 3
DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................................ 5
DANH MỤC CÁC HÌNH ẢNH VÀ BẢNG BIỂU ................................................... 6
MỞ ĐẦU .................................................................................................................... 9
CHƢƠNG 1. TỔNG QUAN WSN VÀ ỨNG DỤNG ............................................. 10
1.1. Khái niệm chung về mạng cảm biến không dây .................................................... 10
1.2. Cấu trúc mạng cảm biến ....................................................................................... 11
1.2.1. Cấu trúc toàn mạng cảm biến không dây ........................................................ 11
1.2.2. Cấu trúc của node cảm biến ........................................................................... 14
1.2.4. Hai cấu trúc đặc trƣng của mạng cảm biến ..................................................... 16
1.3. Ứng dụng mạng cảm biến không dây .................................................................... 18
1.4. Hệ điều hành Contiki ............................................................................................ 19
1.4.1. Cơ chế điều khiển sự kiện trong Contiki ........................................................ 19
1.4.2. Kiến trúc giao thức mạng trong Contiki ......................................................... 21
1.4.2.1. uIP STACK ................................................................................................. 22
1.4.2.2. RIME STACK.............................................................................................. 24
1.4.3. Công cụ mô phỏng trong Contiki ................................................................... 26
1.5. Kết luận................................................................................................................ 27


CHƢƠNG 2. GIAO THỨC ĐỊNH TUYẾN RPL VÀ IPV6................................... 28
2.1. Tổng quan về giao thức định tuyến RPL ............................................................... 29
2.1.1. Khái niệm, thuật ngữ sử dụng trong RPL ....................................................... 29
2.1.2. RPL – ICMP .................................................................................................. 32
2.1.3. Quá trình khởi tạo mạng ................................................................................ 41
2.1.4. Quá trình định tuyến upward .......................................................................... 42
2.1.5. Truyền gói ..................................................................................................... 44
2.2. Tổng quan về IPv6 ............................................................................................... 45
2.2.1. Đặc điểm ....................................................................................................... 45
2.2.2. Phân loại địa chỉ IPv6 .................................................................................... 47
2.2.3. Chuẩn IEEE 802.15.4 .................................................................................... 49


4
2.2.4. Giao thức 6LoWPAN .................................................................................... 50
2.3. Kết luận................................................................................................................ 54

CHƢƠNG 3. MƠ PHỎNG VÀ PHÂN TÍCH SỐ LIỆU ........................................ 55
3.1. Phƣơng pháp đánh giá .......................................................................................... 55
3.1.1. Mơ hình đánh giá ........................................................................................... 55
3.1.2. Kết quả phân tích ........................................................................................... 55
3.1.3. Phƣơng pháp đánh giá.................................................................................... 56
3.2. Cài đặt mạng ........................................................................................................ 57
3.3. Thống kê số liệu ................................................................................................... 58
3.4. Q trình thực hiện mơ phỏng .............................................................................. 59
3.5. Phân tích số liệu ................................................................................................... 61
3.5.1. So sánh các hàm mục tiêu .............................................................................. 61
3.5.2. Đánh giá hiệu năng của giao thức RPL .......................................................... 63
3.5.2.1. Ảnh hưởng của tham số DIO Interval Minimum .......................................... 63
3.5.2.2. Ảnh hưởng của tham số DIO Interval Doubling .......................................... 65

3.5.2.3. Ảnh hưởng của tham số Duty-Cycling Interval ............................................ 68
3.5.2.4. Ảnh hưởng của tần suất thông điệp ứng dụng ............................................. 70
3.6. Đánh giá và khuyến nghị ...................................................................................... 73
3.6.1. Đánh giá ........................................................................................................ 73
3.6.2. Khuyến nghị .................................................................................................. 74

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................................................... 79
TÀI LIỆU THAM KHẢO ....................................................................................... 80


5

DANH MỤC CÁC CHỮ VIẾT TẮT

RPL

IPv6 Routing Protocol For Low Power And Lossy Network

DAG

Directed Acyclic Graph

WSN

Wireless Sensor Network

ID

Identifycation


DIS

DAG Information Solicitation

DIO

DAG Information Object

DAO

Destination Advertisment Object

ICMP

Internet Control Message Protocol

PDR

Packet Delivery Ratio

PDC

Packet Delivery Cost

RFC

Request For Comments

UDP


User Datagram Protocol

LLN

Lower Power and Lossy Network

OF

Objective Functions

ETX

Expected Transmission Count

LBR

LLN Border Router

UDGM

Unit Disk Graph Model

RDC

Radio Duty Cycling

ROLL

Routing Over Low Power and Lossy Network



6

DANH MỤC CÁC HÌNH ẢNH VÀ BẢNG BIỂU
Hình 1.1: Cấu trúc mạng cảm biến[1] ........................................................................ 12
Hình 1.2: Cấu tạo node cảm biến ............................................................................... 14
Hình 1.3: Kiến trúc giao thức mạng cảm biến ............................................................ 15
Hình 1.4: Cấu trúc phẳng của mạng cảm biến [2]....................................................... 16
Hình 1.5: Cấu trúc tầng của mạng cảm biến [2] ......................................................... 17
Hình 1.6: Cấu trúc mạng phân cấp chức năng theo lớp [2] ......................................... 17
Hình 1.7: Phƣơng thức sử dụng bộ nhớ của Multithreads và Events [10] ................... 20
Hình 1.8: Các luồng điều khiển trong Threads và events [10] .................................... 20
Hình 1.9: Ví dụ Protothreads [10] .............................................................................. 21
Hình 1.10: Kiến trúc giao thức mạng trong Contiki.................................................... 22
Hình 1.11: Sơ đồ hoạt động các ứng dụng trong Contiki. ........................................... 22
Hình 1.12: uIP STACK .............................................................................................. 23
Hình 1.13: RIME STACK ......................................................................................... 24
Hình 1.14: Sơ đồ module trong RIME ....................................................................... 25
Hình 1.15: Bộ đệm và Thao tác gói trong RIME ........................................................ 25
Hình 1.16: Màn hình mơ phỏng Cooja. ...................................................................... 26
Hình 2.1: Mơ hình RPL DAG .................................................................................... 29
Hình 2.2: RPL INSTANCE và DAG sequence number .............................................. 31
Hình 2.3: Cấu trúc bản tin điều khiển RPL................................................................. 32
Hình 2.4 : cấu trúc bản tin DIS................................................................................... 33
Hình 2.5: Cấu trúc bản tin DIO .................................................................................. 34
Hình 2.6: Cấu trúc Sub – option ................................................................................. 35
Hình 2.7: Cấu trúc DIO – Pad 1 [7]............................................................................ 35
Hình 2.8: Cấu trúc DIO – Pad N [7]........................................................................... 36
Hình 2.9: Cấu trúc DIO – metric container [7] ........................................................... 36
Hình 2.10: Cấu trúc DIO – Destination Prefix [7] ...................................................... 36

Hình 2.11: Cấu trúc DAG Configuration.................................................................... 37
Hình 2.12: Cấu trúc bản tin DAO............................................................................... 39
Hình 2.13: Không gian địa chỉ của IPv6 ..................................................................... 45


7

Hình 2.14: Phân cấp địa chỉ trong IPv6 [9] ................................................................ 45
Hình 2.15: Cấu trúc header của IPv6 [9] .................................................................... 46
Hình 2.16: Địa chỉ Interface trong IPv6 [9] ................................................................ 47
Hình 2.17: Địa chỉ global unicast [9] ......................................................................... 47
Hình 2.18: Địa chỉ link – local [9].............................................................................. 48
Hình 2.19: Cấu trúc site - local addresses [9] ............................................................. 48
Hình 2.20: Cấu trúc Unique Local Address [9] .......................................................... 49
Hình 2.21: Cấu trúc địa chỉ multicast [9].................................................................... 49
Bảng 2.1: Băng tần và tốc độ dữ liệu của IEEE 802.15.4 [3] ...................................... 50
Bảng 2.2: Kênh truyền và tần số trong IEEE 802.15.4 [3] .......................................... 50
Hình 2.22: Kiến trúc mạng của 6LoWPAN. ............................................................... 51
Hình 2.23: Ví dụ đánh địa chỉ trong 6LoWPAN. ....................................................... 52
Hình 2.24: Cấu trúc header của cơ chế UDP/IPv6 64bit. ............................................ 53
Hình 2.25: Cấu trúc header của cơ chế UDP/6LoWPAN ........................................... 53
Hình 2.26: Sự khác nhau về cấu trúc bản tin giữa UDP/IPv6 và UDP/6LoWPAN ..... 54
Bảng 3.1: Các tham số mơ phỏng............................................................................... 58
Hình 3.1: Tiến trình thực hiện mơ phỏng ................................................................... 60
Hình 3.2: So sánh độ trễ mạng ................................................................................... 61
Hình 3.3: So sánh mức tiêu thụ năng lƣợng................................................................ 62
Hình 3.4: Só sánh tỷ lệ truyển gói tin ......................................................................... 62
Hình 3.5: Thời gian thiết lập mạng với tham số DIO Interval..................................... 63
Hình 3.6: Quản lý lƣu lƣợng với tham số DIO Interval .............................................. 63
Hình 3.7: Mức độ tiêu thụ năng lƣợng với tham số DIO Interval ............................... 64

Hình 3.8: Độ trễ mạng với tham số DIO Interval Minimum ....................................... 64
Hình 3.9: Tỷ lệ truyền gói tin với tham số DIO Interval ............................................. 65
Hình 3.10: Thời gian thiết lập mạng với tham số DIO Doubling ................................ 66
Hình 3.11: Lƣu lƣợng mạng với tham số DIO Doubling ............................................ 66
Hình 3.12: Mức độ tiêu thụ năng lƣợng với tham số DIO Doubling ........................... 66
Hình 3.13: Đỗ trễ mạng với tham số DIO Doubling ................................................... 67
Hình 3.14: Tỷ lệ truyền gói tin với tham số DIO Doubling ........................................ 67
Hình 3.15: Thời gian thiết lập mạng với tham số Duty Cycling Interval..................... 68
Hình 3.16: Lƣu lƣợng mạng với tham số Duty Cycling Interval ................................. 68


8

Hình 3.17: Mức độ tiêu thụ năng lƣợng với tham số Duty Cycling Interval ............... 69
Hình 3.18: Độ trễ mạng với tham số Duty Cycling Interval ....................................... 69
Hình 3.19: Tỷ lệ truyền gói tin với tham số Duty Cycling Interval ............................. 70
Hình 3.20: Thời gian thiết lập mạng với tần suất gửi thơng điệp ................................ 71
Hình 3.21: Quản lý lƣu lƣợng với tần suất gửi thơng điệp .......................................... 71
Hình 3.22: Mức độ tiêu thụ năng lƣợng với tần suất gửi thơng điệp ........................... 72
Hình 3.23: Độ trễ mạng với tần suất gửi thơng điệp ................................................... 72
Hình 3.24: Tỷ lệ truyền gói tin với tần suất gửi thơng điệp ........................................ 73
Bảng 3.2: So sánh hàm mục tiêu OF0 và ETX ........................................................... 73


9

MỞ ĐẦU

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ự,.... Trong cuộc sống hiện đại, những ứng dụ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.
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
hƣở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ó. Mạng tổn hao năng lƣợng thấp bị hạn chế về tài nguyên do
kiểm soát đƣờng truyền, thời gian, tiêu thụ năng lƣợng, độ trễ và tỷ lệ phân phối gói
tin (PDR) đóng một vai trị quan trọng trong hoạt động của các giao thức định tuyến.
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.
Nghiên cứu, đánh giá hiệu năng của giao thức định tuyến RPL – Routing
Protocol for Low power and Lossy Network – một giao thức định tuyến mới đang
trong quá trình nghiên cứu là hết sức cần thiết. Do đó, tôi chọn đề tài “Nghiên cứu,
đánh giá hiệu năng của giao thức định tuyến cho mạng cảm biến không dây với hỗ trợ
6LoWPAN”. Trong khuôn khổ luận văn này, tôi tập trung nghiên cứu, tìm hiểu mở
rộng mạng cảm biến không dây sử dụng IPv6, đánh giá hiệu năng của giao thức định
tuyến RPL. Luận văn đƣợc trình bày trong 3 chƣơng nhƣ sau:
Chƣơng 1: Trình bày tổng quan về mạng cảm biến không dây, những ứng dụng
của mạng cảm biến không dây; Giới thiệu hệ điều hành Contiki và cơng cụ mơ phỏng
Cooja
Chƣơng 2: Trình bày giao thức định tuyến RPL và IPv6. Cấu trúc các bản tin
DIO, DAO, DIS. Quá trình khởi tạo mạng và định tuyến của giao thức RPL
Chƣơng 3. Xây dựng mơ hình mơ phỏng bằng cơng cụ Cooja. Thống kê phân
tích số liệu, đƣa ra nhƣng đánh giá và khuyến nghị.


10

CHƢƠNG 1. TỔNG QUAN WSN VÀ ỨNG DỤNG

1.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 tốn và trao đổi với các thiết bị khác nhằm
mục đích thu thập thơng tin tồ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êch 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 ni. 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.
Mạng cảm biến không dây ra đời đáp ứng nhu cầu thu thập thơng tin về mơi
trƣờng, khí hậu, phát hiện và do thám việc tấn công bằng hạt nhân, sinh học và hóa
học, chuẩn đốn sự hỏng hóc của máy móc, thiết bị, …để từ đó phân tích, xử lý và đƣa
ra các phƣơng án phù hợp hoặc cảnh báo hay đơn thuần chỉ là lƣu trữ số liệu.
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 thƣớ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.



11

 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 tốn đơn giản.

1.2. Cấu trúc mạng cảm biến
Các cấu trúc hiện nay cho mạng Internet và mạng ad hoc không dây không dùng
đƣợc cho mạng cảm biến khơng dây, vì một số lý do sau:
 Số lƣợng các node cảm biến trong mạng cảm biến có thể lớn gấp nhiều
lần trong mạng ad hoc.
 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 tốn và bộ
nhớ.
 Các node cảm biến có thể khơng có số nhận dạng tồ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.
1.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 1.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 dƣới.

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.


12

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ể ngồ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.

Hình 1.1: Cấu trúc mạng cảm biến[1]
Đặ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ả
nă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 cố 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
tồn mạng. Nếu chi phí của tồ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.



13

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 số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 nhiệ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.
Cấ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.


14

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, dữ 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.
1.2.2. Cấu trúc của node cảm biến
Mỗi node cảm biến đƣợc cấu thành bởi 4 thành phần cơ bản (xem hình 1.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ý.


Hình 1.2: Cấu tạo node cảm biến


15

Đơ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 yê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.
1.2.3. Kiến trúc giao thức mạng
Kiến trúc giao thức áp dụng cho mạng cảm biến đƣợc trình bày trong hình 1.3.
Kiến trúc này bao gồm các lớp và các mặt phẳng quản lý. Các mặt phẳng quản lý này
làm cho các node có thể làm việc cùng nhau theo cách có hiệu quả nhất, định tuyến dữ
liệu trong mạng cảm biến di động và chia sẻ tài nguyên giữa các node cảm biến.

Hình 1.3: Kiến trúc giao thức mạng cảm biến
Mặt phẳng quản lý công suất: quản lý cách cảm biến sử dụng nguồn năng lƣợng
của nó.
Mặt phẳng quản lý di động: có nhiệm vụ phát hiện và đăng lý sự chuyển động
của các node. Các node giữ việc dõi xem ai là node hàng xóm của chúng.


16


Mặt phẳng quản lý: cân bằng và sắp xếp nhiệm vụ cảm biến giữa các node trong
một vùng quan tâm. Không phải tất cả các node cảm biến đều thực hiện nhiệm vụ cảm
nhận ở cùng một thời điểm.
Lớp vật lý: có nhiệm vụ lựa chọn tần số, tạo ra tần số sóng mang, phát hiện tín
hiệu, điều chế và mã hóa tín hiệu.
Lớp liên kết dữ liệu: lớp này có nhiệm vụ ghép các luồng dữ liệu, phát hiện các
khung dữ liệu, cách truy nhập đƣờng truyền và điều khiển lỗi.
Lớp mạng: lớp mạng của cảm biến đƣợc thiết kế tuân theo nguyên tắc sau:
 Hiệu quả năng lƣợng luôn luôn đƣợc coi là vấn đề quan trọng.
 Mạng cảm biến chủ yếu tập trung dữ liệu.
 Tích hợp dữ liệu chỉ đƣợc sử dụng khi nó khơng cản trở sự cộng tác có
hiệu quả của các node cảm biến.
Lớp truyền tải: chỉ cần thiết khi hệ thống có kế hoạch đƣợc truy cập thông qua
mạng Internet hoặc các mạng bên ngoài khác.
Lớp ứng dụng: tùy theo nhiệm vụ cảm biến, các loại phần mềm ứng dụng khác
nhau có thể đƣợc xây dựng và sử dụng ở lớp ứng dụng.
1.2.4. Hai cấu trúc đặc trƣng của mạng cảm biến
1.2.4.1. Cấu trúc phẳng
Trong cấu trúc phẳng (flat architectute) (hình 1.4): tất cả các node đều ngang
hàng và đồng nhất trong hình dạng và chức năng. Các node giao tiếp với sink qua
multihop sử dụng các node ngang hàng làm bộ tiếp sóng.

Hình 1.4: Cấu trúc phẳng của mạng cảm biến [2]
Với phạm vi truyền cố định, các node gần sink hơn sẽ đảm bảo vai trị của bộ tiếp
sóng đối với một số lƣợng lớn nguồn. Giả thiết rằng tất cả các nguồn đều dùng cùng


17


một tần số để truyền dữ liệu, vì vậy có thể chia sẻ thời gian. Tuy nhiên cách này chỉ có
hiệu quả với điều kiện là có nguồn chia sẻ đơn lẻ, ví dụ nhƣ thời gian, tần số.
1.2.4.2. Cấu trúc tầng
Trong Cấu trúc tầng (tiered architecture) (hình 1.5): các cụm đƣợc tạo ra giúp các
tài nguyên trong cùng một cụm gửi dữ liệu single hop hay multihop (tùy thuộc vào
kích cỡ của cụm) đến một node định sẵn, thƣờng gọi là node chủ (cluster head). Trong
cấu trúc này các node tạo thành một hệ thống cấp bậc mà ở đó mỗi node ở một mức
xác định thực hiện các nhiệm vụ đã định sẵn.

Hình 1.5: Cấu trúc tầng của mạng cảm biến [2]

Hình 1.6: Cấu trúc mạng phân cấp chức năng theo lớp [2]
Trong cấu trúc tầng thì chức năng cảm nhận, tính tốn và phân phối dữ liệu
khơng đồng đều giữa các node. Những chức năng này có thể phân theo cấp, cấp thấp
nhất thực hiện nhiệm vụ cảm nhận, cấp giữa thực hiện tính tốn, và cấp trên cùng thực
hiện phân phối dữ liệu (xem hình 1.6)


18

Mạng cảm biến xây dựng theo cấu trúc tầng hoạt động hiệu quả hơn so với cấu
trúc phẳng, vì một số lý do sau:
- Cấu trúc tầng có thể giảm chi phí cho mạng cảm biến bằng việc định vị các tài
nguyên ở vị trí mà chúng hoạt động hiệu quả nhất. Rõ ràng là nếu triển khai các phần
cứng thống nhất. Mỗi node chỉ cần một lƣợng tài nguyên tối thiểu để thực hiện tất cả
các nhiệm vụ.
- Mạng cấu trúc tầng có tuổi thọ cao hơn cấu trúc mạng phẳng. Khi cần phải tính
tốn nhiều thì một bộ xử lý nhanh sẽ hiệu quả hơn, phụ thuộc vào thời gian u cầu
thực hiện tính tốn. Tuy nhiên, với các nhiệm vụ cảm nhận cần hoạt động trong
khoảng thới gian dài, các node tiêu thụ ít năng lƣợng phù hợp với yêu cầu xử lý tối

thiểu sẽ hoạt động hiệu quả hơn. Do vậy, với cấu trúc tầng mà các chức năng mạng
phân chia giữa các phần cứng đã đƣợc thiết kế riêng cho từng chức năng sẽ làm tăng
tuổi thọ của mạng.
- Về độ tin cậy: mỗi mạng cảm biến phải phù hợp với số lƣợng các node yêu cầu
thỏa mãn điều kiện về thời gian sống và băng thơng. Với mạng cấu trúc phẳng, khi
kích cỡ mạng tăng lên thì thơng lƣợng của mỗi node sẽ giảm về 0. Việc nghiên cứu các
mạng cấu trúc tầng đem lại nhiều triển vọng để khắc phục vấn đề này. Một cách tiếp
cận là dùng một kênh đơn lẻ trong cấu trúc phân cấp, trong đó các node ở cấp thấp hơn
tạo thành một cụm xung quanh trạm gốc. Trong trƣờng hợp này, dung lƣợng của mỗi
lớp trong cấu trúc tầng và dung lƣợng của mỗi cụm trong mỗi lớp xác định là độc lập
với nhau.

1.3. Ứng dụng mạng cảm biến không dây
Mạng cảm biến đƣợc ứng dụng trong nhiều lĩnh vực khác nhau, và thƣờng phát
huy hiệu quả cao trong các điều kiện:
 Mơi trƣờng khắc nghiệt, địa hình khó khăn (ví dụ: khu vực rừng núi,
vùng nhiễm phóng xạ…).
 Cần giám sát các giá trị biến đổi theo thời gian (nhiệt độ, độ ẩm trong
môi trƣờng…).
 Khu vực rộng lớn (ví dụ: rừng, các tịa nhà….).


19

1.4. Hệ điều hành Contiki
Hệ điều hành Contiki đƣợc lập trình bằng ngơn ngữ C, hoạt động dựa trên cơ chế
event - driven và có những đặc điểm phù hợp với các hệ thống nhúng và mạng cảm
biến không dây:
 Contiki đƣợc chia thành nhiều modul hoạt động độc lập. Nhờ đó các ứng
dụng có thể sử dụng các modul một cách linh động và chỉ load những

modul cần thiết.
 Cơ chế hoạt động điều khiển sự kiện làm giảm năng lƣợng tiêu hao và
hạn chế dung lƣợng bộ nhớ cần sử dụng.
 Có thể sử dụng IP trong mạng cảm biến thông qua uIP stack đƣợc xây
dựng dựa trên nền TCP/IP.
 Có những modul cho phép ƣớc lƣợng và quản lý năng lƣợng một cách
hiệu quả.
 Các giao thức tƣơng tác giữa các lớp và các node trong mạng dễ dàng
hơn.
 Sử dụng RIME stack phục vụ các giao thức dành cho mạng năng lƣợng
thấp một cách hiệu quả.
Bên cạnh đó, Contiki cịn cung cấp những cơng cụ hỗ trợ mô phỏng với giao diện
đơn giản, dễ sử dụng và hỗ trợ tốt những thiết bị trong thực tế, phục vụ những mục
đích nghiên cứu, mơ phỏng và triển khai những giao thức mới.
1.4.1. Cơ chế điều khiển sự kiện trong Contiki
Contiki hoạt động dựa trên cơ chế điều khiển sự kiện. Các Process hay các trình
xử lý đƣợc gọi mỗi khi có một sự kiện xảy ra nhƣ các sự kiện về cảm biến, trình khởi
động, trình kết thúc,… Q trình gọi các Process hồn tồn khơng bị ngăn chặn hay
cản trở trong các chƣơng trình. Process hoạt động dựa trên các Protothread, tạo ra các
luồng điều khiển liên tiếp theo cơ chế event -driven. Protothread là sự kết hợp giữa hai
cơ chế điều khiển: “Multithreads” – điều khiển đa luồng và “event – driven” – điều
khiển sự kiện.
Cơ chế Multithread có khả năng thực hiện đồng thời một chuỗi các thread. Tuy
nhiên, các thread đòi hỏi phải đƣợc thực hiện trên những ngăn nhớ riêng, tạo ra chuỗi
các luồng điều khiển tuần tự. Multithreads đƣợc xây dựng nhƣ một thƣ viện, cung cấp
cho các Process khi cần thiết.


20


Trong khi đó, cơ chế event – driven chỉ hoạt động trên một ngăn nhớ và thực
hiện các luồng điều khiển tùy theo các sự kiện đến. Do đó event – driven địi hỏi bộ
nhớ ít hơn và cung cấp cơ chế điều khiển linh hoạt theo các sự kiện đến (xem hình 1.7
và 1.8).

Hình 1.7: Phƣơng thức sử dụng bộ nhớ của Multithreads và Events [10]

Hình 1.8: Các luồng điều khiển trong Threads và events [10]
Nhờ sự kết hợp các đặc tính của hai cơ chế Multithread và event - driven,
Protothread có khả năng cung cấp cơ chế điều khiển kiểu event - driven, cung cấp các
luồng điều khiển liên tục, đồng thời sử dụng dung lƣợng bộ nhớ nhỏ với một ngăn nhớ
duy nhất.
Trong API của Contiki bao gồm 4 loại Protothreads cơ bản:


21

 PT_INIT (pt): khởi tạo một Protothread.
 PT_BEGIN (pt): bắt đầu một Protothread.
 PT_WAIT_UNTIL (pt, điều kiện): điều khiển đợi một sự kiện.
 PT_END (pt): kết thúc một Protothread.
Hình 1.9 là một ví dụ về Protothreads

Hình 1.9: Ví dụ Protothreads [10]
1.4.2. Kiến trúc giao thức mạng trong Contiki
Contiki cung cấp các ứng dụng trên nền IP gồm cả IPv4 và IPv6 thông qua 2
stack giao tiếp: uIP và Rime. Các ứng dụng có thể hoạt động trên một trong hai giao
thức uIP hoặc Rime, đồng thời trên cả hai giao thức hoặc có thể hoạt động khơng dựa
trên giao thức nào. Bên cạnh đó, các ứng dụng uIP có thể hoạt động dựa trên Rime và
ngƣợc lại, các ứng dụng trên nền Rime cũng có thể hoạt động dựa trên nền uIP (hình

1.10).


22

Hình 1.10: Kiến trúc giao thức mạng trong Contiki
Sơ đồ hoạt động của các ứng dụng trong Contiki đƣợc chỉ ra trong hình 1.11

Hình 1.11: Sơ đồ hoạt động các ứng dụng trong Contiki.
1.4.2.1. uIP STACK
Ngày nay, cùng với sự thành công của Internet, giao thức TCP/IP đã trở thành
tiêu chuẩn tồn cầu trong truyền thơng. TCP/IP là giao thức cơ bản đƣợc sử dụng cho
những mục đích truyền tải các trang Web, gửi – nhận email, gửi file và những mạng
Peer – to - peer thông qua mạng Internet. Đối với các hệ thống nhúng, nếu sử dụng


23

đƣợc TCP/IP sẽ có khả năng kết nối những hệ thống trực tiếp đến một mạng nội bộ,
hoặc thậm chí là một mạng tồn cầu. Những thiết bị nhúng có khả năng đáp ứng đƣợc
đầy đủ những đặc tính của TCP/IP sẽ là những thiết bị có tính ƣu việt, có khả năng
giao tiếp một cách đầy đủ với tất cả các thiết bị khác trong mạng. Tuy nhiên, sự triển
khai giao thức TCP/IP truyền thống đòi hỏi quá nhiều tài nguyên gồm cả dung lƣợng
code và bộ nhớ sử dụng, không thể đƣợc đáp ứng trong các hệ thống nhúng 8 hoặc 16
bit.
Xuất phát từ ý tƣởng đó, uIP stack (hình 1.12) [11] đƣợc thiết kế với mục tiêu tối
ƣu hóa các đặc tính cần thiết cho một stack TCP/IP đầy đủ. uIP chỉ có thể hoạt động
với một giao diện mạng duy nhất và bao gồm các giao thức: IP, ICMP, UDP, TCP. uIP
đƣợc lập trình bằng ngơn ngữ C bởi Adam Dunkels – một thành viên trong tổ chức
nghiên cứu và phát triển Contiki.


Hình 1.12: uIP STACK
uIP đƣợc thiết kế tƣơng thích với các RFC với giả thiết các thiết bị nhúng đƣợc
sử dụng sẽ hoạt động ở lớp mạng đầu tiên và đƣợc thiết kế nhằm đáp ứng nhiều ứng
dụng khác nhau. Các đặc tính của uIP:
 Tài liệu và chú thích code đầy đủ.
 Dung lƣợng code rất nhỏ, phù hợp các thiết bị nhúng.
 Sử dụng dung lƣợng Ram thấp, có thể cấu hình tại thời điểm dịch.


24

 Hỗ trợ các giao thức ARP, SLIP, IP, UDP, ICMP (ping) và TCP.
 Bao gồm nhiều ví dụ về các ứng dụng nhƣ web server, web client, e mail sender (SMTP client), Telnet server, DNS hostname resolver…
 Hỗ trợ đồng thời tối đa các kết nối TCP tích cực. Số kết nối tối đa đƣợc
cấu hình tại thời điểm biên dịch.
 Hỗ trợ tối đa các kết nối TCP thụ động (Server).
 Hồn tồn miễn phí cả trong thƣơng mại và phi thƣơng mại.
 Tƣơng thích với các RFC về triển khai giao thức TCP/IP, bao gồm điều
khiển luồng, tái kết hợp mảnh và ƣớc lƣợng thời gian truyền lại gói.
1.4.2.2. RIME STACK
RIME stack (hình 1.13) đƣợc xây dựng nhằm cung cấp cho mạng cảm biến năng
lƣợng thấp, đƣợc thiết kế với dung lƣợng nhỏ, các module không quá phức tạp.

Hình 1.13: RIME STACK
Đặc điểm của RIME:
 Phân chia thành nhiều module khá đơn giản với kích thƣớc nhỏ (kích
thƣớc code từ 114 đến 598 byte) (hình 1.14).
 Xây dựng nhiều module giao tiếp đơn giản:
o broadcast, unicast single hop.

o Định tuyến multihop: mesh, collect.


25

Hình 1.14: Sơ đồ module trong RIME
 Các chức năng phức tạp đƣợc thực hiện qua các phân lớp đơn giản.
 Sử dụng kênh tần số cố định cho từng kiểu giao tiếp.
Ví dụ: unicast ↔ unicast trên kênh 155,…
 Sử dụng các hàm callback để thực hiện các hàm xử lý khi nhận đƣợc gói
tin, bộ định thời hết hạn, kết nối lỗi,…
 Kết nối phải đƣợc khởi tạo trƣớc khi sử dụng.
 Sử dụng một bộ đệm gói cho tất cả các gói đến và gửi đi (hình 1.15).

Hình 1.15: Bộ đệm và Thao tác gói trong RIME


×