SlideShare a Scribd company logo
TRẦNHẢIYẾN
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------
Trần Hải Yến
HỆTHỐNGTHÔNGTIN
THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG TRONG
MẠNG CẢM BIẾN ZIGBEE
LUẬN VĂN THẠC SĨ KỸ THUẬT
2012–2013
HÀ NỘI
2013
HÀ NỘI - 2014
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------
Trần Hải Yến
THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG TRONG
MẠNG CẢM BIẾN ZIGBEE
Chuyên ngành: Hệ thống thông tin
Mã số : 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƢỜI HƢỚNG DẪN KHOA HỌC :
PGS.TS Đặng Văn Chuyết
HÀ NỘI - 2014
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Nội dung
của luận văn có tham khảo và sử dụng các tài liệu, thông tin đƣợc đăng tải trên những
tạp chí và các trang web theo danh mục tài liệu. Tất cả các tài liệu tham khảo đều có
xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Hà Nội, ngày 30 tháng 11 năm 2013
Tác giả luận văn
Trần Hải Yến
ii
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến PGS.TS Đặng Văn Chuyết,
ngƣời đã trực tiếp hƣớng dẫn, tạo mọi điều kiện thuận lợi, tận tình chỉ bảo và định
hƣớng trong suốt quá trình thực hiện luận văn.
Em xin gửi lời cảm ơn chân thành đến toàn thể thầy cô giáo của Học viện Công
nghệ Bƣu chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt quá trình học
tập tại trƣờng từ khi còn học đại học cho đến sau đại học.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những ngƣời đã luôn
ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi để em có thể học tập tốt.
Em xin chân thành cảm ơn!
iii
MỤC LỤC
LỜI CAM ĐOAN............................................................................................................i
LỜI CẢM ƠN.................................................................................................................ii
MỤC LỤC .....................................................................................................................iii
DANH MỤC CÁC TỪ VIẾT TẮT................................................................................v
DANH MỤC CÁC BẢNG...........................................................................................vii
DANH MỤC CÁC HÌNH VẼ.....................................................................................viii
MỞ ĐẦU ........................................................................................................................1
Chƣơng 1 – TỔNG QUAN VỀ MẠNG CẢM BIẾN ZIGBEE .....................................3
1.1. Tổng quan về IEEE 802.15.4...............................................................................3
1.2. Cấu hình mạng theo chuẩn IEEE 802.15.4..........................................................4
1.3. Mạng cảm biến ZigBee theo chuẩn IEEE 802.15.4.............................................5
1.3.1. Khái niệm......................................................................................................5
1.3.2. Ƣu và nhƣợc điểm của ZigBee .....................................................................6
1.3.3. Dải tần trong mạng ZigBee...........................................................................7
1.4. Cấu trúc mạng cảm biến ZigBee..........................................................................9
1.4.1. Tổng quan......................................................................................................9
1.4.2. Kiến trúc cụ thể của mạng ZigBee..............................................................10
1.4.3. Mô hình mạng ZigBee ................................................................................11
1.4.4. Một số ứng dụng của mạng cảm biến ZigBee ............................................12
Chƣơng 2 – THUẬT TOÁN ĐỊNH TUYẾN...............................................................14
2.1. Tổng quan định tuyến ........................................................................................14
2.1.1. Khái niệm....................................................................................................14
2.1.2 Thuật toán định tuyến..................................................................................16
2.2. Các thuật toán định tuyến trong mạng ZigBee .................................................17
2.2.1. Định tuyến ZigBee ......................................................................................18
2.2.2. Quảng bá gói tin trong ZigBee (ZigBee Broadcasting)..............................19
2.2.3. Quan hệ nhiều - một – Many-to-one...........................................................20
2.3. Thuật toán định tuyến theo yêu cầu – AODV ...................................................21
iv
2.3.1. Tổng quan....................................................................................................21
2.3.2. Tìm đƣờng - Path Discovery.......................................................................22
2.3.3. Thiết lập đƣờng ngƣợc................................................................................23
2.3.4. Thiết lập đƣờng tiến ....................................................................................23
2.3.5. Quản lý bảng định tuyến .............................................................................25
2.3.6. Bảo trì đƣờng dẫn........................................................................................25
2.3.7. Quản lý kết nối cục bộ ................................................................................26
2.4. Thuật toán hình cây............................................................................................27
2.4.1. Tổng quan....................................................................................................27
2.4.2. Cây đơn nhánh ............................................................................................28
2.4.3. Cây đa nhánh...............................................................................................30
2.5. Vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến ZigBee .....................31
2.6. Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm biến ZigBee...........35
Chƣơng 3 – MÔ PHỎNG THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG
......................................................................................................................................41
3.1. Công cụ mô phỏng.............................................................................................41
3.1.1. Ubuntu 10.04...............................................................................................41
3.1.2. NS-2 ............................................................................................................41
3.2. Xây dựng kịch bản.............................................................................................45
3.2.1. Thuật toán AODV.......................................................................................45
3.2.2. Mạng ZigBee...............................................................................................46
3.3. Thử nghiệm........................................................................................................46
3.4. Đánh giá kết quả ................................................................................................48
3.4.1. Thuật toán định tuyến AODV.....................................................................48
3.4.2. Mạng ZigBee...............................................................................................54
Kết quả trong Nam................................................................................................54
KẾT LUẬN ..................................................................................................................57
HƢỚNG PHÁT TRIỂN LUẬN VĂN .........................................................................57
TÀI LIỆU THAM KHẢO............................................................................................58
v
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
PHY Physical Layer Tầng vật lý
DLL Data Link Layer Tầng liên kết dữ liệu
PAN Private Area Net Khu vực mạng riêng tƣ
LLC Logical Link Control Điều khiển kết nối logic
MAC Media Access Control
Điều khiển truy cập
truyền thông
CSMA/CA
Carrier Sense Multiple
Access/ Collision Avoidance
Đa truy cập nhận biết
sóng mang phát hiện
xung đột
OSI
Open Systems
Interconnection Reference
Model
Mô hình tham chiếu kết
nối các hệ thống mở
ACK Acknowledgment Sự thừa nhận
WLAN Wireless Local Are Network Mạng không dây cục bộ
FFD Full Function Device
Thiết bị đầy đủ chức
năng
RFD Reduced Function Device
Thiết bị giảm chức
năng
NL Network Layer Tầng mạng
AL Application Layer Tầng ứng dụng
NLME
Network Layer Management
Entity
Tầng mạng quản lý
thực thể
vi
NLDE Network Layer Data Entity
Tầng mạng dữ liệu thực
thể
ZDO ZigBee Device Object
Đối tƣợng thiết bị
ZigBee
ZAP ZigBee Application Profile Hồ sơ ứng dụng ZigBee
ZC ZigBee Coordinator Điều phối ZigBee
ZR ZigBee Router Định tuyến ZigBee
ZED ZigBee End Device Thiết bị cuối ZigBee
PSTN
Public Switched Telephone
Network
Mạng điện thoải
chuyển mạch công
cộng
RD Routing Device Thiết bị định tuyến
RREQ Route Request Yêu cầu định tuyến
RREP Route Reply Trả lời định tuyến
LLACK Link Layer ACK Tầng kết nối ACK
DD Designated Device Thiết bị đƣợc chỉ định
HERA
Hierarchical Routing
Algorithm
Thuật toán phân cấp
định tuyến
vii
DANH MỤC CÁC BẢNG
Số hiệu bảng Tên bảng Trang
1.1 Bảng ƣu nhƣợc điểm của ZigBee 6
1.2 So sánh ZigBee và Bluetooth 7
1.3 Nhà cung cấp ZigBee 13
viii
DANH MỤC CÁC HÌNH VẼ
Số hiệu hình
vẽ
Tên hình vẽ Trang
1.1 Các ứng dụng không dây 5
1.2 Dải Tần ZigBee 7
1.3 Kiến trúc OSI và kiến trúc ZigBee 9
1.4 Kiến trúc lớp (hay ngăn xếp – Stack) trong
kiến trúc ZigBee
10
1.5 Mô hình tầng ZigBee đơn giản 11
1.6 Các mô hình mạng trong ZigBee 11
1.7 Các ứng dụng trong mạng cảm biến
ZigBee
13
2.1 Định tuyến Anycast -1 15
2.2 Định tuyến Anycast -2 15
2.3 Định tuyến Broadcast 16
2.4 Định tuyến Multicast 16
2.5 Định tuyến Unicast 16
2.6 Mô hình định tuyến ZigBee đơn giản 18
2.7 Mô tả quá trình tìm đƣờng – path
discovery
23
ix
3.1 Kiến trúc và thƣ mục cài đặt NS-2.34
trong môi trƣờng Linux(Ubuntu)
39
3.2 Bắt đầu với node 19, đích đến là node 6 45
3.3 Định tuyến giữa các node trong AODV 45
3.4 Quá trình truyền tin sau khi đã định tuyến
trong AODV
46
3.5 Khởi đầu với 7 node trong mạng hình sao 48
3.6 Quá trình truyền tin từ PAN Coor đến các
node truyền tiếp đi
49
3.7 Truyền gói tin giữa node 0 và node 1 49
3.8 Toàn bộ 101 node đƣợc khởi tạo trong mô
hình
50
3.9 Quá trình truyền tin của mạng ZigBee 50
3.10 Quá trình truyền tin của mạng ZigBee 51
3.11 Quá trình truyền tin của mạng ZigBee 51
1
MỞ ĐẦU
Mạng viễn thông ngày nay đã tạo ra một cầu nối liên kết loài ngƣời trên khắp
thế giới, con ngƣời sử dụng mạng để trao đổi, quản lý, giao tiếp, mua bán… Việc sử
dụng tai nghe không dây, truy cập wifi đang trở nên quen thuộc và tác động đến đời
sống hàng ngày. Với sự phát triển không ngừng của khoa học kĩ thuật, mạng cảm
biến không dây xuất hiện ngày một phổ biến với nhiều ứng dụng trong các lĩnh vực
của cuộc sống nhƣ ứng dụng giám sát và điều khiển trong sản xuất, tự động hóa gia
đình và điện dân dụng, ứng dụng trong y tế và giám sát sức khỏe...
Một yêu cầu rất quan trọng trong mạng cảm biến không dây là tiết kiệm năng
lƣợng của pin để đảm bảo cho mọi hoạt động mạng ổn định trong một khoảng thời
gian đủ lớn. Mặc dù mạng ZigBee có mức tiêu hao năng lƣợng thấp nhƣng việc lựa
chọn giải thuật định tuyến tối ƣu năng lƣợng cũng quyết định rất lớn đến hoạt động
lâu dài của mạng.
Mạng ZigBee là đƣợc áp dụng cho các hệ thống điều khiển và cảm biến có
tốc độ truyền tin thấp nhƣng chu kỳ hoạt động dài. Đối tƣợng mà mạng ZigBee
nhắm vào là mạng điều khiển dành cho nhà thông minh (SmartHome), tự động hóa
quá trình( Home Automation, Building Automation), trong các hoạt động theo dõi,
tiếp nhận và xử lý thông tin trong các lĩnh vực nhƣ y tế (Health Care), quản lý năng
lƣợng sao cho hiệu quả hơn (Smart Energy)…Khi đƣợc sử dụng trong các hệ thống
này, mạng ZigBee phát huy tất cả những điểm mạnh của nó nhƣ độ trễ truyền tin
thấp, tiêu hao ít năng lƣợng, giá thành thấp, ít lỗi, dễ mở rộng và thời gian sử dụng
pin dài.
Luận văn “Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm
biến ZigBee” nghiên cứu các thuật toán định tuyến trong mạng ZigBee, đặc biệt tập
trung vào vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến.
2
Luận văn gồm có 3 chƣơng :
Chương 1 : Tổng quan về mạng cảm biến ZigBee
Chƣơng này tìm hiểu về khái niệm và cấu trúc mạng cảm biến ZigBee
Chương 2 : Thuật toán định tuyến
Chƣơng này tập trung tìm hiểu về một số thuật toán định tuyế và vấn đề tối ƣu năng
lƣợng tiêu thụ trong mạng cảm biến ZigBee
Chương 3 : Mô phỏng thuật toán định tuyến tối ưu năng lượng
Chƣơng này giới thiệu về công cụ mô phỏng, cách thức cài đặt và kết quả thử
nghiệm, đánh giá
3
Chƣơng 1 – TỔNG QUAN VỀ MẠNG CẢM BIẾN ZIGBEE
Mạng cảm biến ZigBee đƣợc xây dựng theo chuẩn giao thức IEEE 802.15.4, vì vậy
để có cái nhìn khái quát nhất, ta tìm hiểu qua về chuẩn IEEE 802.15.4
1.1. Tổng quan về IEEE 802.15.4
Chuẩn giao thức IEEE 802.15.4 đƣợc quy định tại tầng vật lý (Physical
Layer- PHY) và tầng liên kết dữ liệu (Data Link Layer – DLL). Nó là chuẩn cho
giao tiếp trong mạng không dây, năng lƣợng thấp. Các thiết bị trong mạng tự tổ
chức thành một mạng nhỏ gọi là mạng cá nhân (Private Area Net – PAN).
IEEE 802.15.4 định nghĩa hai tầng con của tầng DLL – Điều khiển liên kết
logic (Logical Link Control – LLC) và Điều khiển truy cập truyền thông (Media
Acsess Control – MAC). Tầng MAC định nghĩa việc truy cập tới môi trƣờng chung
của nhiều thiết bị bằng cách sử dụng các giao thức thích hợp nhƣ là Carrier Sense
Multiple Access/ Collision Avoidance – (CSMA/CA), trong khi đó LLC phân phát
các gói dữ liệu tới dịch vụ tƣơng ứng ở tầng mạng (Network Layer – NL).
Tầng vật lý và tầng liên kết dữ liệu trong chuẩn IEEE 802.15.4 định nghĩa
đầy đủ môi trƣờng trong việc giao tiếp và các nguyên lý cho việc truy cập môi
trƣờng theo các cách thích hợp.
Tại tầng vật lý của mô hình OSI, ZigBee căn cứ vào chuẩn IEEE 802.15.4 –
2003 sử dụng công nghệ truyền sóng radio với Offset-Quadrature Phase Shift
Keying (O-QPSK) và Direct Sequence Spread Spectrum (DSSS) nâng cao tỷ lệ
signal-to-noise.
CSMA/CA đƣợc sử dụng tại DLL để tránh xung đột. Việc kiểm tra sự toàn
vẹn dữ liệu đƣợc thực hiện bằng cách truyền lại và sử dụng ACK tại mỗi node để
giảm thiểu khả năng mất dữ liệu.
4
Việc đánh giá độ tin cậy của một mạng đƣợc thực hiện nhờ tính toán tỷ lệ
signal-to-noise và năng lƣợng nhận đƣợc tại điểm cuối liên kết.
Chuẩn IEEE 802.15.4 định nghĩa các dải tần sử dụng khác nhau. Tiêu biểu
có dải tần số 2.4 GHz đƣợc sử dụng cho các thiết bị xây dựng. Mạng cục bộ không
dây – WLAN ( chuẩn IEEE 802.11) và mạng Bluetooth ( chuẩn IEEE 802.15.1)
cũng sử dụng dải tần số này.
Chuẩn IEEE 802.15.4 định nghĩa hai loại thiết bị :
 Thiết bị chức năng đầy đủ (Full Function Device) – FFD
 Thiết bị bình thƣờng (Reduced Function Device) – RFD.
Sự khác biệt lớn nhất giữa hai loại thiết bị này chính là RFD không có khả
năng khởi động cho một mạng cá nhân (Private Are Network - PAN). Chính vì thế
PAN luôn đƣợc khởi động bằng FFD. Hơn thế nữa, việc giao tiếp trực tiếp chỉ cho
phép giữa hai thiết bị FFD hoặc giữa một FFD và một RFD, không cho phép giao
tiếp giữa các RFD với nhau.
Một mạng PAN là một mạng bao gồm các thiết bị trong một khoảng nhỏ. Sự
kết hợp nhiều mạng PAN là có thể, thậm chí khi các mạng PAN đó sử dụng chung
một tần số. Với cấu trúc tự tổ chức, các mạng PAN rất dễ dàng bảo trì và tự sửa lỗi.
1.2. Cấu hình mạng theo chuẩn IEEE 802.15.4
Chuẩn IEEE 802.15.4 cung cấp 2 cấu hình mạng cơ bản, mạng hình sao
(Star) và mạng ngang hàng (Peer-to-Peer).
Trong mạng hình sao, một node trung tâm là FFD. Node trung tâm sẽ chịu
trách nhiệm đảm bảo giao tiếp giữa các RFD trong mạng. Khi một RFD muốn giao
tiếp với một RFD khác trong mạng, nó bắt buộc phải giao tiếp thông qua node trung
tâm. Mạng cấu hình này sẽ làm quá tải node trung tâm, và khi node trung tâm bị
hỏng thì mọi giao tiếp giữa các thiết bị RFD trong mạng sẽ không thực hiện đƣợc.
Trong mạng ngang hàng, thiết bị FFD sẽ trực tiếp giao tiếp với các thiết bị khác.
Giao tiếp giữa các thiết bị RFD là cho phép, lúc này FFD đóng vai trò nhƣ một bộ
5
chuyển tiếp. Trong mạng này, một thiết bị lỗi có thể đƣợc loại bỏ đi bằng cách tăng
thêm số hàng xóm trực tiếp. Tuy nhiên, với mạng ngang hàng thì việc định tuyến
dọc theo mạng là không thể, khả năng duy nhất để giao tiếp thông qua mạng đó là
sử dụng quảng bá, tuy nhiên việc đó sẽ tăng đƣờng truyền trong mạng.
1.3. Mạng cảm biến ZigBee theo chuẩn IEEE 802.15.4
1.3.1. Khái niệm
Chúng ta đã từng biết đến các chuẩn giao tiếp không dây khá phổ biến nhƣ
:Wimax, 3G, Bluetooth...Với các ứng dụng video không dây, dữ liệu không dây,
mạng không dây, cảm biến không dây….
Hình 1.1 : Các ứng dụng không dây
Trong những năm gần đây xuất hiện một chuẩn giao tiếp mới đƣợc ứng dụng
rất rộng rãi trong nhiều lĩnh vực, đó là mạng ZigBee (đƣợc công bố lần đầu tiên vào
năm 2002 bởi liên minh ZigBee).
Mạng ZigBee đƣợc tạo ra nhằm phục vụ cho những ứng dụng yêu cầu giá
thành và công suất thấp nhƣng phải có khả năng linh động trong phạm vi rộng.
6
Mạng ZigBee đƣợc phát triển và xúc tiến bởi hãng ZigBee Alliance, với sự hỗ trợ từ
hơn 200 công ty trên thế giới nhƣ: SIEMENS, ATMEL, NI, NEC, TEXAS
INSTRUMENTS, EPSON....
Về bản chất mạng ZigBee cũng là một chuẩn giao tiếp không dây nhƣ những
chuẩn không dây khác (UWB, Wi-Fi, IrDA, 3G, Bluetooth..) nhƣng nó mang những
đặc tính kỹ thuật và đặc tính vật lý riêng và do đó sẽ chỉ phù hợp với một mảng ứng
dụng nhất định.
Theo nhƣ hình trên có thể thấy rằng mạng ZigBee có đặc điểm là phạm vi
hoạt động hẹp, tốc độ truyền trong mạng ZigBee thích hợp cho các cảm biến không
dây và chuyên dùng cho các ứng dụng giám sát, điều khiển.
1.3.2. Ưu và nhược điểm của ZigBee
Để thấy đƣợc ƣu điểm và nhƣợc điểm của mạng ZigBee có thể theo dõi bảng
dƣới đây.
Bảng 1.1 : Bảng ƣu, nhƣợc điểm của ZigBee
Ƣu điểm Nhƣợc điểm
* Giá thành thấp
* Tiêu thụ công suất nhỏ
* Kiến trúc mạng linh hoạt
* Đƣợc hỗ trợ bởi nhiều công ty
* Số lƣợng các node lớn (65k)
* Lỗi ở một điểm chính có thể
gây lỗi hệ thống.
* Tốc độ truyền thấp
* Chƣa có đầy đủ các thiết bị
để phát triển
Để cho rõ ràng hơn, ta hãy làm một phép so sánh giữa Mạng ZigBee và một
chuẩn không dây cũng khá phổ biến khác.
7
Bảng 1.2: So sánh ZigBee và Bluetooth
Đặc tính ZigBee Bluetooth
Tiêu thụ công suất 10W 100W
Giá thành ( đầu 2005) 1,1 $ 3$
Độ nhạy -92dbm(0,63pW) -62dbm(6,2pW)
Độ linh hoạt
65536 node
(trong sơ đồ sao)
7 node
(trong sơ đồ sao)
Độ an toàn 128 bit mã hóa 64/128 bit mã hóa
Vùng làm việc Hiệu quả ở 10 - 75m Hiệu quả ở < 10m
Có thể thấy rằng với những ứng dụng cho nhiều phần tử, yêu cầu độ linh hoạt cao,
giá thành thấp, tiêu thụ công suất nhỏ thì dùng Mạng ZigBee là rất phù hợp.
1.3.3. Dải tần trong mạng ZigBee
Tín hiệu truyền trong mạng ZigBee thực chất là tín hiệu radio và đƣợc hỗ trợ
trong các dải tần số sau:
Hình 1.2: Dải Tần ZigBee
8
Dải 868,3 Mhz: Chỉ một kênh tín hiệu .Trong dải này tốc độ truyền là 20kb/s.
Dải 902 Mhz - 928 Mhz: Có 10 kênh tín hiệu từ 1 - 10 với tốc độ truyền thƣờng là
0kb/s.
Dải 2,4 Ghz - 2,835 Ghz: có 16 kênh tín hiệu từ 11 - 26 với tốc độ truyền 250 kb/s.
Trong nhiều ứng dụng, ngƣời ta hay dùng dải tần 2,4 Ghz - 2,835 Ghz. Đây
là dải tần phổ biến và đƣợc hỗ trợ bởi nhiều thiết bị. Hơn nữa với mạng ZigBee, dải
tần này có tới 16 kênh tín hiệu trong dải (mỗi kênh cách nhau 5MHz tần số) với tốc
độ truyền lớn nhất: 250kb/s.
Nhƣ vậy ta có thể thấy rằng mạng ZigBee đã thừa hƣởng những ƣu điểm của
mạng cảm biến không dây nhƣ:
 Độ linh động cao
 Mức tiêu thụ năng lƣợng thấp
 Bảo mật cao
 Sử dụng nhƣ một chuẩn mở
Sở dĩ có thể nói nhƣ vậy là do:
 Mạng không dây bản chất là không tin cậy, nguyên nhân là do đặc
tính vật lý của nó. Kim loại, nƣớc, thậm chí cả cơ thể con ngƣời cũng có thể là vật
cản sóng hoặc ảnh hƣởng tới sóng truyền trong mạng không dây. Tránh một thiết bị
không dây để nhận sóng truyền từ một thiết bị là hết sức dễ dàng. Chính vì thế, các
thiết bị trong mạng ZigBee sử dụng nhiều kỹ thuật khác nhau để làm tăng độ tin cậy
của mạng không dây.
 Bảo mật trong mạng ZigBee dựa trên thuật toán chuẩn mã hóa cao cấp
– AES 128. Sự chứng thực và tính toàn vẹn của thông điệp đƣợc cung cấp bởi 1 bộ
mã hóa để đảm bảo độ tin cậy giao tiếp giữa hai node trong mạng. Ý tƣởng của việc
này dựa trên một trung tâm xác thực. Điển hình cho kiểu thiết kế này chính là thiết
bị ZC (ZigBee Coordinator), nó đƣợc thiết kế nhƣ một trung tâm xác thực thông tin.
9
Khi mà khái niệm về trung tâm xác thực đƣợc sử dụng, tất cả khóa cho việc mã hóa
thông tin giữa hai thiết bị đều đƣợc cung cấp bới trung tâm xác thực.
 Mạng ZigBee đƣợc thiết kế và phân phối giống nhƣ một chuẩn mở
toàn cầu. Nó cung cấp mọi khả năng cho các nhà sản xuất có thể sản xuất các thiết
bị dựa trên các đặc tả ZigBee cung cấp với giả rẻ. Hơn thế nữa, sự tƣơng thích giữa
các thiết bị của các nhà sản xuất khác nhau là rất tốt, miễn sao các nhà sản xuất tuân
thủ đúng các chuẩn do mạng ZigBee cung cấp. Đây là một điều có lợi cho ngƣời
tiêu dùng, ngƣời tiêu dùng có thể mua giá rẻ, đƣợc lựa chọn các sản phẩm của các
nhà sản xuất khác nhau mà không cần lo lắng vấn đề tƣơng thích giữa các thiết bị
ZigBee của các nhà sản xuất khác nhau.
1.4. Cấu trúc mạng cảm biến ZigBee
1.4.1. Tổng quan
Trong truyền thông, khi thực hiện một giao thức, ngƣời ta thƣờng dựa trên
một mô hình kiến trúc chuẩn. Bất kỳ một giao thức truyền thông nào đều có thể qui
chiếu tới một lớp nào đó trong mô hình của kiến trúc tƣơng ứng. Trong truyền
thông ta đã biết đến mô hình qui chiếu OSI 7 lớp.
Trong mạng ZigBee, ngƣời ta cũng định nghĩa một kiến trúc giao tiếp, đó là
kiến trúc ZigBee. Có thể hiểu kiến trúc này cũng tƣơng tự nhƣ kiến trúc OSI 7 lớp
trong truyền thông công nghiệp.
Hình 1.3 : Kiến trúc OSI và kiến trúc ZigBee
10
1.4.2. Kiến trúc cụ thể của mạng ZigBee
Hình 1.4 : Kiến trúc lớp (hay ngăn xếp - Stack) trong kiến trúc ZigBee
Mạng ZigBee đƣợc xây dựng ở trên của hai lớp MAC (Medium Access
Control) và lớp vật lý (PHY). Lớp MAC và lớp PHY đƣợc định nghĩa theo chuẩn
IEEE 802.15.4 dành cho các ứng dụng WPAN (PAN không dây) tốc độ thấp. Hai
tầng đƣợc đặc tả bởi ZigBee đó là: Tầng Mạng (Network Layer – NL) và Tầng Ứng
Dụng (Application Layer – AL).
Tầng mạng chịu trách nhiệm trong việc phân phối gói tin, quảng bá mạng.
Dựa trên chức năng thì ta có thể chia tầng mạng thành 2 phần đó là Thực thể quản
lý tầng mạng - Network Layer Management Entity - NLME và Thực thể dữ liệu
tầng mạng ( - Network Layer Data Entity – NLDE). NLDE sẽ cung cấp cơ chế cần
thiết để chuyển đổi dữ liệu. Mặt khác NLME giám sát, quản lý các vấn đề đƣợc
NLDE cung cấp và các cơ chế trong tầng mạng ví dụ nhƣ giám sát việc định
tuyến…
ZigBee Device Object (ZDO) và ZigBee Application Profile (ZAP), đƣợc
xây dựng trên tầng ứng dụng. ZAP phù hợp với các thông điệp, định dạng thông
11
điệp và quá trình thực thi, nó sẽ cung cấp, đảm bảo sự tƣơng thích giữa các thiết bị.
Một thiết bị ZigBee sẽ đƣợc khởi tạo bằng cách sử dụng chức năng cơ bản của
ZDO, hơn thế nữa các chức năng quản lý cũng đƣợc thực thi bởi các ZDO.
Hình 1.2: Mô hình tầng ZigBee đơn giản
Hình 1.5 cho ta cái nhìn tổng quan về mô hình tầng ZigBee. Nó mô tả liên
kết giữa ZDO – ZAP cũng nhƣ giữa NLME – NLDE. Hơn thế nữa, bằng cách sử
dụng mô hình đƣợc định nghĩa bởi tầng mạng và tầng ứng dụng, hai tầng trong
ZigBee đã có thể trao đổi thông tin với nhau.
1.4.3. Mô hình mạng ZigBee
Trong truyền thông dùng mạng ZigBee thƣờng hỗ trợ 3 mô hình mạng chính:
mạng hình sao, mạng hình cây và mạng sơ đồ lƣới.
Hình 1.6: Các mô hình mạng trong ZigBee
Trong lớp mạng ZigBee cho phép 3 kiểu thiết bị:
Bộ điều phối Zigbee (ZigBee Coordinator - ZC): Chỉ có duy nhất 1 ZC trong
bất kỳ mạng ZigBee nào và nó có chức năng chính là kích hoạt thông tin về mạng
thông qua cấu hình các kênh, PAN ID và hiện trạng ngăn xếp.
12
Bộ định tuyến Zigbee (ZigBee Router - ZR): Là một thành phần của hệ
thống mạng mà chức năng của nó là thực hiện việc vận chuyển các gói tin trong
mạng. Nó thực hiện các bảng kết nối cũng nhƣ định vị địa chỉ cho các ZED của nó.
Thiết bị cuối Zigbee (ZigBee End Device - ZED): Là một thành phần của hệ
thống mạng nhƣng không tham gia vào quá trình vận chuyển tin. Nó có đƣợc tối ƣu
sao cho công suất tiêu thụ là nhỏ nhất nhờ các chế độ bắt tín hiệu và kỹ thuật “ngủ”
("sleep").
Quá trình thiết lập trong một mạng ZigBee nhƣ sau:
- Quét mạng (Network Scan): Các thiết bị trong mạng sẽ quét các kênh tín
hiệu, ví dụ nếu dùng dải tần 2,4GHz thì sẽ có 16 kênh để quét, sau đó thiết bị sẽ
chọn kênh phù hợp nhất để giao tiếp trong mạng. Ta gọi đó là sự chiếm chỗ
(ocupacy).
- Thiết lập/Gia nhập mạng: Thiết bị có thể tạo ra một mạng trên một kênh
hoặc gia nhập vào một mạng đã tồn tại sẵn.
- Phát hiện thiết bị: Thiết bị sẽ yêu cầu mạng phát hiện ra địa chỉ của mình
trên các kênh đƣợc kích hoạt.
- Phát hiện dịch vụ: Thiết bị quét các dịch vụ đƣợc hỗ trợ trên thiết bị trong
phạm vi mạng.
- Liên kết: Thiết bị giao tiếp với nhau thông qua các lệnh và các tin nhắn
điều khiển.
1.4.4. Một số ứng dụng của mạng cảm biến ZigBee
Nhƣ đã nói ở trên: Mạng ZigBee rất phù hợp với những ứng dụng yêu cầu
giá thành thấp, tiêu thụ năng lƣợng nhỏ và tính linh động tốt. Vì vậy ngày nay
ZigBee đƣợc dùng vào rất nhiều ứng dụng trong cuộc sống nhƣ: Các hệ chiếu sáng
thông minh, HVAC, Công nghiệp, cảm biến không dây, bệnh viện....Có thể thấy
trên hình dƣới:
13
Hình 1.7: Các ứng dụng trong mạng cảm biến ZigBee
Hiện nay có rất nhiều hãng sản xuất và bán các IC cũng nhƣ các Module hỗ
trợ truyền nhận bằng ZigBee. Có thể giới thiệu một số sản phẩm phổ biến nhƣ sau :
Bảng 1.3: Nhà cung cấp ZigBee
MC13202 của Freescale MRF24J40 của MICROCHIP
CC2400 của Texas Instrumen Kít ZAXM-201 của NEC
14
Chƣơng 2 – THUẬT TOÁN ĐỊNH TUYẾN
2.1. Tổng quan định tuyến
2.1.1. Khái niệm
Trong ngành mạng máy tính, định tuyến (tiếng Anh: routing hay routeing)
là quá trình chọn lựa các đƣờng đi trên một mạng máy tính để gửi dữ liệu qua đó.
Việc định tuyến đƣợc thực hiện cho nhiều loại mạng, trong đó có mạng điện thoại,
liên mạng, Internet, mạng giao thông.
Định tuyến chỉ ra hƣớng, sự di chuyển của các gói (dữ liệu) đƣợc đánh địa
chỉ từ điểm nguồn của chúng, hƣớng đến đích cuối thông qua các node trung gian;
thiết bị phần cứng chuyên dùng đƣợc gọi là router (bộ định tuyến). Tiến trình định
tuyến thƣờng chỉ hƣớng đi dựa vào bảng định tuyến, đó là bảng chứa những lộ trình
tốt nhất đến các đích khác nhau trên mạng. Vì vậy việc xây dựng bảng định tuyến,
đƣợc tổ chức trong bộ nhớ của router, trở nên vô cùng quan trọng cho việc định
tuyến hiệu quả.
Các mạng nhỏ có thể có các bảng định tuyến đƣợc cấu hình thủ công, còn
những mạng lớn hơn có topo mạng phức tạp và thay đổi liên tục thì xây dựng thủ
công các bảng định tuyến là vô cùng khó khăn. Tuy nhiên, hầu hết mạng điện thoại
chuyển mạch chung (public switched telephone network - PSTN) sử dụng bảng
định tuyến đƣợc tính toán trƣớc, với những tuyến dự trữ nếu các lộ trình trực tiếp
đều bị nghẽn. Định tuyến động (dynamic routing) cố gắng giải quyết vấn đề này
bằng việc xây dựng bảng định tuyến một cách tự động, dựa vào những thông tin
đƣợc giao thức định tuyến cung cấp, và cho phép mạng hành động gần nhƣ tự trị
trong việc ngăn chặn mạng bị lỗi và nghẽn.
Định tuyến động chiếm ƣu thế trên Internet. Tuy nhiên, việc cấu hình các
giao thức định tuyến động thƣờng đòi hỏi nhiều kinh nghiệm cho nên tốt nhất vẫn là
nên kết hợp giữa định tuyến thủ công và tự động.
15
Những mạng trong đó thông tin đƣợc vận chuyển, ví dụ nhƣ Internet, chia dữ
liệu thành các gói, rồi dán nhãn với các đích đến cụ thể và mỗi gói đƣợc lập lộ trình
riêng biệt. Các mạng xoay vòng, nhƣ mạng điện thoại, thực hiện định tuyến để tìm
đƣờng cho các vòng (ví dụ nhƣ cuộc gọi điện thoại) để chúng có thể gửi lƣợng dữ
liệu lớn mà không phải tiếp tục lặp lại địa chỉ đích.
Định tuyến IP truyền thống vẫn còn tƣơng đối đơn giản vì nó dùng cách định
tuyến đến bƣớc kế tiếp (next-hop routing), router chỉ xem xét nó sẽ gửi gói thông
tin đến đâu, và không quan tâm đƣờng đi sau đó của gói trên những bƣớc truyền còn
lại. Tuy nhiên, những chiến lƣợc định tuyến phức tạp hơn có thể đƣợc dùng, và
thƣờng đƣợc dùng trong những hệ thống nhƣ MPLS, ATM hay Frame Relay, những
hệ thống này đôi khi đƣợc sử dụng nhƣ công nghệ bên dƣới để hỗ trợ cho mạng IP.
Các kiểu định tuyến bao gồm:
- Anycast : Cho phép định tuyến từ một node tới một node
Hình 2.1: Định tuyến Anycast - 1
Hình 2.2 : Định tuyến Anycast – 2
- Broadcast : Định tuyến từ 1 node tới tất cả các node
Hình 2.3: Đính tuyến Broadcast
16
- Multicast : Định tuyến từ 1 node tới nhiều node
Hình 2.4: Định tuyếnMulticast
- Unicast :Định tuyến từ một node tới một node
Hình 2.5: Định tuyến Unicast
2.1.2 Thuật toán định tuyến
2.1.2.1. Thuật toán vector khoảng cách - Distance-vector routing protocols
Thuật toán này dùng thuật toán Bellman-Ford. Phƣơng pháp này chỉ định
một con số, gọi là chi phí (hay trọng số), cho mỗi một liên kết giữa các node trong
mạng. Các node sẽ gửi thông tin từ điểm A đến điểm B qua đƣờng đi mang lại tổng
chi phí thấp nhất (là tổng các chi phí của các kết nối giữa các node đƣợc dùng).
Thuật toán hoạt động với những hành động rất đơn giản. Khi một node khởi
động lần đầu, nó chỉ biết các node kề trực tiếp với nó, và chi phí trực tiếp để đi đến
đó (thông tin này, danh sách của các đích, tổng chi phí của từng node, và bƣớc kế
tiếp để gửi dữ liệu đến đó tạo nên bảng định tuyến, hay bảng khoảng cách). Mỗi
node, trong một tiến trình, gửi đến từng “hàng xóm” tổng chi phí của nó để đi đến
các đích mà nó biết. Các node “hàng xóm” phân tích thông tin này, và so sánh với
những thông tin mà chúng đang “biết”; bất kỳ điều gì cải thiện đƣợc những thông
tin chúng đang có sẽ đƣợc đƣa vào các bảng định tuyến của những “hàng xóm” này.
Đến khi kết thúc, tất cả node trên mạng sẽ tìm ra bƣớc truyền kế tiếp tối ƣu đến tất
cả mọi đích, và tổng chi phí tốt nhất.
17
Khi một trong các node gặp vấn đề, những node khác có node hỏng này
trong lộ trình của mình sẽ loại bỏ những lộ trình đó, và tạo nên thông tin mới của
bảng định tuyến. Sau đó chúng chuyển thông tin này đến tất cả node gần kề và lặp
lại quá trình trên. Cuối cùng, tất cả node trên mạng nhận đƣợc thông tin cập nhật, và
sau đó sẽ tìm đƣờng đi mới đến tất cả các đích mà chúng còn tới đƣợc.
2.1.2.2. Thuật toán trạng thái kết nối (Link-state routing protocol)
Khi áp dụng các thuật toán trạng thái kết nối, mỗi node sử dụng dữ liệu cơ sở
của nó nhƣ là một bản đồ của mạng với dạng một đồ thị. Để làm điều này, mỗi node
phát đi tới tổng thể mạng những thông tin về các node khác mà nó có thể kết nối
đƣợc, và từng node góp thông tin một cách độc lập vào bản đồ. Sử dụng bản đồ này,
mỗi router sau đó sẽ quyết định về tuyến đƣờng tốt nhất từ nó đến mọi node khác.
Thuật toán đã làm theo cách này là Dijkstra, bằng cách xây dựng cấu trúc dữ
liệu dạng cây, trong đó node hiện tại là gốc, và chứa mọi node khác trong mạng. Bắt
đầu với một cây ban đầu chỉ chứa chính nó. Sau đó lần lƣợt từ tập các node chƣa
đƣợc thêm vào cây, nó sẽ thêm node có chi phí thấp nhất để đến một node đã có
trên cây. Tiếp tục quá trình đến khi mọi node đều đƣợc thêm.
Cây này sau đó phục vụ để xây dựng bảng định tuyến, đƣa ra bƣớc truyền kế
tiếp tốt ƣu … để từ một node đến bất kỳ node khác trên mạng.
2.2. Các thuật toán định tuyến trong mạng ZigBee
Tổng quan : Nhƣ đã biết mạng ZigBee định nghĩa tầng mạng và tầng ứng
dụng cho thiết bị IEEE 802.15.4. Tầng ứng dụng cung cấp khung làm việc hay cung
cấp API cho các ứng dụng. Trong khi đó tầng mạng bao gồm cơ chế cấu hình cho
tầng mạng và định tuyến.
Mạng hình sao: Mạng có một thiết bị điều phối chung (Zigbee Coordinator-
ZC). Mỗi thiết bị sẽ truyền trực tiếp gói tin tới ZC
Mạng hình cây: Một cây định tuyến tại ZC đƣợc tạo dựa trên quan hệ cha-
con. Trong mạng hình cây, định tuyến phân cấp có thể đƣợc sử dụng.
18
Một lƣu ý rằng: ngay trong cấu hình mạng lƣới thì việc phân cấp quan hệ cha
con luôn đƣợc tạo bởi tầng MAC của IEEE 802.15.4.
2.2.1. Định tuyến ZigBee
Cơ chế định tuyến của ZigBee đƣợc thiết kể ở tầng mạng. Gói dữ liệu đƣợc
đóng gói tại DLL và thông qua tầng vật lý để chuyển tiếp tới RD (thiết bị định
tuyến- Routing Device). RD sẽ mở gói dữ liệu tại tầng liên kết dữ liệu của nó, kiểm
tra thông tin bƣớc truyền kế tiếp cho đích truyền riêng và đóng gói lại gói dữ liệu để
vận chuyển. Node đích đầu tiên sẽ phải mở gói dữ liệu tại tầng liên kết dữ liệu của
nó. Sau đó, gói dữ liệu tiếp tục đƣợc mở tại tầng tại tầng mạng và chuyển lên tầng
cao hơn.
Hình 2.6: Mô hình định tuyến ZigBee đơn giản
Các khung đƣợc định tuyến bởi ZC và ZR (Zigbee Routor: node đinh tuyến
Zigbee) thông qua mạng PAN. Thiết bị cuối Zigbee (ZED) không tham gia vào việc
chuyển tiếp gói tin. Chính vì thế ZED thực thi nhƣ những thiết bị RFD đơn thuần.
Các cấu trúc mạng PAN khác nhau và các yêu cầu về mạng khác nhau cũng yêu cầu
những khái niệm khác nhau về định tuyến hay là với mỗi mạng PAN có cấu trúc
khác nhau ta cần một khái niệm định tuyến phù hợp.
Đối với mạng tĩnh, định tuyến từ nguồn (Source Routing) là một khái niệm
thích hợp bởi vì nó cung cấp thông tin định tuyến của mạng thông qua các bản ghi
cấu hình mạng đƣợc định nghĩa trƣớc đó. Với việc sử dụng khái niệm định tuyến
này sẽ rút ngắn khoảng thời gian định tuyến thành công qua mạng.
19
Đối với mạng động cần cung cấp khả năng thay đổi trong cấu trúc mạng,
thiết bị ZigBee có thể rời khỏi phạm vi của ZR liên kết với nó và có thể liên kết với
mạng thông qua một ZR khác. Trong trƣờng hợp này, định tuyến động đƣợc tạo ra
bằng cách sử dụng các bản tin yêu cầu định tuyến RREQ cho các định tuyến chƣa
biết hoặc các định tuyến chƣa làm việc sẽ hiệu quả hơn nhiều. Các RREQ là các gói
dữ liệu ở tầng mạng, nó đƣợc truyền đi để xác định định tuyến tốt nhất, các đƣờng
liên kết có sẵn thông qua mạng để tới đƣợc node đích. Khi một thiết bị Zigbee
(Zigbee Device –ZD) hay ZC nhận đƣợc yêu cầu định tuyến và một trong số node
con ZED của nó hoặc là bản thân nó chính là đích thì nó sẽ trả lời bằng một bản tin
trả lời (RREP - Route Reply). Mỗi node trên đƣờng tới mục tiêu sẽ tự tăng chi phí
tích lũy định tuyến của nó lên. Bằng cách sử dụng chi phí định tuyến của mỗi bƣớc
nhảy, nó có thể giúp chỉ ra con đƣờng tốt nhất tới đích cho node nguồn.
Đặc tả ZigBee sử dụng thuật toán Ad hoc On Demand Distance Vector -
AODV làm thuật toán định tuyến. Với thuật toán định tuyến này, các RREQ đƣợc
truyền tới tất cả các thiết bị trong mạng. Các thiết bị trong mạng sẽ trả lời bằng gói
tin RREP. Mỗi bƣớc truyền chuyển tiếp các gói tin RREP, nó sẽ thêm vào gói tin
thông tin định tuyến bao gồm: chi phí định tuyến và thông tin bƣớc truyền kế tiếp.
Khi một RREP nhận đƣợc bởi RREQ khởi tạo nó (cho lần đầu tiên hoặc với chi phí
định tuyến thấp hơn), bảng thông tin định tuyến sẽ đƣợc cập nhật hoặc tạo mới để
ghi lại đƣờng định tuyến đó.
Truyền thông tin thông qua một mạng PAN có thể đƣợc thực hiện bằng việc
đánh địa chỉ theo kiểu unicast, multicast, hoặc broadcast.
2.2.2. Quảng bá gói tin trong ZigBee (ZigBee Broadcasting)
Sử dụng việc định địa chỉ Broadcast, tất cả node trong mạng đều đƣợc thông
báo về khung gửi. Khung định địa chỉ sẽ không bao giờ nhận đƣợc gói tin ACK. Do
đó, truyền tin kiểu broadcast thực sự là không tin cậy. Điển hình của quảng bá trong
mạng ZigBee là có quá nhiều gói tin tới mỗi node hàng xóm. Khi một gói tin quảng
bá đƣợc nhận thành công tại một node, thì mọi gói tin quảng bá khác sẽ bị bỏ qua.
20
Ngoài ra, ZigBee thực hiện cơ chế nhận thụ động này. Bất cứ khi nào, một gói tin
quảng bá đƣợc nhận, một mục trong bảng giao dịch sẽ đƣợc tạo ra.
Bảng giao dịch thông tin quảng bá lƣu trữ thông tin mà thiết bị lân cận đã
chuyển tiếp một quảng bá cụ thể. Với hiểu biết này, việc phát lại một quảng bá chỉ
cần thiết nếu ít nhất một trong các thiết bị lân cận chƣa chuyển tiếp gói tin quảng
bá.
Định địa chỉ Multicast nghĩa là gửi một khung tới tất cả thành viên trong
nhóm. Nhóm lúc này phải đƣợc đƣợc nghĩa trong mạng. Cũng nhƣ broadcast,
multicast cũng đƣợc thực hiện bằng cách gửi nhiều gói tin dữ liệu trong mạng. Mỗi
node trong mạng sẽ quyết định gói tin thuộc về con của nó hay bản thân nó, trong
trƣờng hợp khác, các gói dữ liệu sẽ bị loại bỏ.
Multicast là một dạng lai giữa uinicast và broadcast. Tùy thuộc vào chế độ
của multicast, chúng có thể đƣợc chuyển tiếp bởi tất cả các bƣớc nhảy liên tục tới
broadcast hoặc gửi bởi unicast đến khi gói tin nhận đƣợc bởi một trong số node
trong nhóm multicast. Chỉ các thiết bị trong nhóm multicast cần chủ động để nhận
gói tin quảng bá của nhóm. Thiết bị nhận nhận các gói tin bằng cách kiểm tra cờ
multicast trong tiêu đề gói tin ZigBee. Nếu một gói tin multicast đƣợc xác định, địa
chỉ đích đƣợc sử dụng nhƣ một định danh – ID của nhóm multicast, sẽ xác định duy
nhất một nhóm multicast trong toàn bộ mạng.
2.2.3. Quan hệ nhiều - một – Many-to-one
Trong nhiều trƣờng hợp sử dụng, tồn tại một node trong mạng PAN, nó thu
thập dữ liệu của tất cả thiết bị khác. Điều này có thể gây ra bởi có một thiết bị điều
khiển tập trung hoặc một thiết bị thu thập thông tin. Nhƣ một node thu thập đƣợc
gọi là tập trung hay tổng hợp. Nếu không có bất cứ một tối ƣu hóa nào, tất cả thiết
bị trong mạng cần phải khởi tạo một RREQ để lấy thông tin định tuyến hƣớng tới
bộ tập trung. Chính vì thế, đặc tả ZigBee đã định nghĩa một mô hình đinh tuyến tối
ƣu cho những trƣờng hợp đó gọi là đinh tuyến nhiều-một many-to-one. Điều đó có
nghĩa, bộ tập trung khởi tạo gói tin định tuyến, nó sẽ đƣợc quảng bá trong mạng.
21
Trên tuyến đƣờng định tuyến gói tin, mỗi thiết bị định tuyến của mạng sẽ tạo một
bảng mục tƣơng ứng tới bộ tập trung.
2.3. Thuật toán định tuyến theo yêu cầu – AODV
2.3.1. Tổng quan
Định tuyến là một cơ chế rất quan trọng của tầng mạng ZigBee. Nếu cơ chế
định tuyến làm việc không hiệu quả sẽ ảnh hƣởng tới hiệu năng của toàn bộ mạng.
Cơ chế định tuyến hay thuật toán định tuyến và tầm ảnh hƣởng của nó bị chi phối
bởi nhiều yếu tố, ví dụ nhƣ: kích thƣớc mạng, cấu trúc của mạng, tài nguyên của
mạng.
ZigBee sử dụng cơ chế, thuật toán AODV cho việc định tuyến bên trong mạng lƣới
của nó – mesh network. Phần phức tạp nhất trong cơ chế AODV chính là tìm ra
tuyến – route discovery.
Tìm tuyến là một cơ chế của tầng mạng ZigBee để thu thập thông tin định
tuyến từ mạng. Những thiết bị chƣa biết trong mạng, chƣa có trong bảng định tuyến
thiết bị, sẽ chờ đợi một gói tin RREQ để cho phép truyền thông qua bƣớc nhảy bổ
sung.
Đặc tả ZigBee mô tả tìm ra định tuyến nhƣ sau, khám phá định tuyến đƣợc
khởi tạo bằng cách gửi một tin RREQ tại thiết bị gốc. Gói tin RREQ sẽ đƣợc quảng
bá tới tất cả thiết bị. Mỗi thiết bị nhận đƣợc gói tin RREQ sẽ thêm vào gói tin
những thông tin nhƣ giá trị chi phí của lần truyền cuối cùng. Hơn nữa, thiết bị tìm
kiếm một mục trong bảng định tuyến tƣơng ứng với địa chỉ nguồn và định danh
RREQ trong gói tin. Nếu tồn tại một mục phù hợp trong bảng và chi phí cao hơn so
với chi phí mới tìm đƣợc, bảng định tuyến sẽ đƣợc cập nhật hoặc đƣợc tạo tƣơng
ứng với mục RTE đó.
Các vấn đề chính trong thuật toán:
+ Quảng bá gói tin tìm đƣờng khi cần thiết
+ Phân biệt giữa quản lý kết nối cục bộ và bảo trì mạng tổng quát
22
+ Khuếch tán thông tin khi mạng cục bộ thay đổi tới những node lân cận,
những node cần thông tin này.
2.3.2. Tìm đường - Path Discovery
Quá trình phát hiện đƣờng đƣợc khởi tạo khi một node nguồn cần kết nối tới
một node khác mà nó chƣa có thông tin định tuyến tới node đó trong bảng định
tuyến. Mỗi node trong nó sẽ luôn chứa thông tin riêng biệt về: thứ tự node – node
sequence number và định danh quảng bá – broadcast_id. Node nguồn sẽ khởi tạo
việc tìm đƣờng bằng cách quảng bá gói tin yêu cầu định tuyến tới các hàng xóm của
nó. Gói tin yêu cầu định tuyến–RREQ đó bao gồm các thông tin: <source_addr,
source_sequence_#, broadcast_id, dest_id, dest_sequence_#, hop_cnt>
<source_addr, broadcast_id>: tạo nên một khóa duy nhất cho gói tin RREQ, nó
phân biệt gói tin RREQ này với gói tin RREQ khác. Thông tin broadcast_id sẽ
đƣợc tăng khi node nguồn yêu cẩu thêm một RREQ mới. Mỗi node lân cận xử lý
gói tin RREQ bằng cách gửi lại một gói tin RREP tới node nguồn hoặc quảng bá
tiếp gói tin RREQ tới lân cận của nó sau khi đã tăng chỉ sổ hop_cnt. Lƣu ý rằng,
một node trong mạng có thể nhận đƣợc nhiều gói tin quảng bá yêu cầu định tuyến
giống nhau từ những lân cận khác nhau của nó. Nếu một node trung gian nhận đƣợc
một gói tin RREQ, nếu gói tin đó nó đã nhận đƣợc bằng cách so sánh trƣờng địa chỉ
nguồn – source_addr và broadcast_id, nó sẽ loại bỏ gói tin dƣ thừa đó và sẽ không
quảng bá tiếp gói tin đó.
Nếu node lân cận đó không thể đáp ứng gói tin RREQ, nó sẽ theo dõi thông
tin của gói tin đó bằng cách lần ngƣợc lại đƣờng đi của gói tin, các thông tin sau
vào gói tin RREP: địa chỉ đích, địa chỉ nguồn, định danh quảng bá – broadcast_id,
thời gian cho phép của gói tin, số thứ tự của node nguồn.
23
Hình 2.7 : Mô tả quá trình tìm đƣờng – path discovery
2.3.3. Thiết lập đường ngược
Gói tin RREQ có 2 số thứ tự đó là: số thứ tự nguồn, và số thứ tự đích cuối
cùng. Số thứ tự của nguồn đƣợc sử dụng để duy trì thông tin định tuyến về node
nguồn luôn đƣợc cập nhật và số thứ tự đích chỉ ra cách định tuyến mới nhất tới node
đích trƣớc khi nó đƣợc chấp nhận bới node nguồn.
Gói tin RREQ sẽ phải đi từ node nguồn tới nhiều node đích khác nhau, nó sẽ
tự động ghi lại con đƣờng để trở lại node nguồn. Để ghi lại con đƣờng đó, một
node sẽ ghi lại địa chỉ node lân cận, từ nơi mà nó nhận đƣợc bản sao đầu tiên của
gói tin RREQ. Định tuyến đƣờng ngƣợc này sẽ đƣợc duy trì trong một khoảng thời
gian đảm bảo để gói tin RREQ đi qua mạng và thực hiện một trả lời tới nơi gửi nó.
2.3.4. Thiết lập đường tiến
Cuối cùng, gói tin RREQ có thể đến node nào đó, node đó có thể là node
đích của nó hoặc nằm trên con đƣờng tới node đích. Đầu tiên node đó sẽ kiểm tra
xem gói tin RREQ nhận đƣợc thông qua liên kết hai chiều bi-directional link. Nếu
node trung gian này có chứa thông tin định tuyến tới node đích nó sẽ tiến hành các
bƣớc kiểm tra bằng cách so sánh số thứ tự đích trong bảng định tuyến của node hiện
tại với số thứ tự đích trong gói tin RREQ. Nếu số thứ tự đích lƣu trữ trong gói tin
RREQ lớn hơn số thự tự đích lƣu trong bảng định tuyến của node hiện thời thì node
24
hiện thời không phải sử dụng thông tin định tuyến của nó để đáp ứng gói tin RREQ.
Thay vào đó, node hiện thời sẽ tiếp tục quảng bá gói tin RREQ này tới các node lân
cận của nó. Node trung gian hiện thời chỉ thực hiện việc phản hồi lại gói tin RREQ
chỉ khi nó chứa thông tin định tuyến mà ở đó số thứ tự đích của nó lớn hơn hoặc
bằng số thứ tự đích chứa trong gói tin RREQ. Nếu nó chứa thông tin định tuyến tới
node đích, và nếu gói tin RREQ chƣa đƣợc xử lý trƣớc đó, node hiện thời sẽ thực
hiện một gói tin RREP tới lân cận của nó, nơi mà phát gói tin RREQ này cho nó.
Một gói tin RREP thì bao gồm các thông tin: <địa chỉ nguồn, địa chỉ đích, số thứ tự
đích, số bƣớc nhảy, thời gian sống của gói tin>.
Tại thời điểm một gói tin quảng quá tới đƣợc một node, node mà cung cấp
thông tin đinh tuyến tới node đích, một con đƣờng ngƣợc trở lại node nguồn, node
mà phát đi gói tin RREQ cũng đƣợc thành lập. Khi mà gói tin RREP quay trở lại
node nguồn, nơi phát ra gói tin RREQ, mỗi node dọc theo con đƣờng đó sẽ thiết lập
con trỏ tới node đó, lƣu trữ và cập nhật thông tin về thời gian trễ cho bảng định
tuyến tới node nguồn và node đích và ghi lại số thứ tự cuối cùng của đích cần đến.
Một node mà không thuộc con đƣờng ngƣợc sẽ bị trễ thời gian trong khoảng
3 giây và sẽ bị xóa con trỏ ngƣợc.
Một node khi nhận đƣợc một gói tin RREP lần đầu tiên nó sẽ lan truyền gói
tin này tới node nguồn hay là node mà nó nhận đƣợc gói tin RREQ và cứ vậy cho
tới node nguồn cuối cùng. Nếu nó nhận đƣợc nhiều hơn một gói tin RREQ nó sẽ
phải cập nhật thông tin định tuyến và chỉ truyền gói tin RREQ nếu gói tin đó có
chứa thông tin số thứ tự đích lớn hơn số thứ tự đích của gói tin RREQ trƣớc đó hoặc
có cùng số thứ tự đích nhƣng có số bƣớc nhảy nhỏ hơn. Nó sẽ cấm tất cả các gói tin
RREP khác mà nó nhận đƣợc, điều này đảm bảo số lƣợng gói tin RREP đƣợc truyền
tới nguồn trong khi vẫn đảm bảo thông tin định tuyến tốt nhất. Node nguồn có thể
bắt đầu truyền dữ liệu ngay khi nhận đƣợc gói tin RREP đầu tiên và có thể cập nhật
thông tin định tuyến nếu tìm đƣợc thông tin định tuyến tốt hơn.
25
2.3.5. Quản lý bảng định tuyến
Bên cạnh thông tin về số thứ tự của nguồn và số thứ thứ tự của đích, một số
thông tin có ích khác cũng đƣợc lƣu trữ trong bảng thông tin định tuyến và đƣợc gọi
là trạng thái mềm – soft state. Một liên kết tới thông tin định tuyến về con đƣờng
ngƣợc đƣợc gọi là: thời gian hết hiệu lực yêu cầu định tuyến – route request
expiration timer. Mục đích của bộ đếm thời gian này chính là làm sạch con đƣờng
định tuyến ngƣợc từ node phát gói tin RREP về node nguồn, nó đảm bảo những
node không nằm trên con đƣờng đó đƣợc loại bỏ. Bộ đếm thời gian này phụ thuộc
vào các yếu tố nhƣ kích thƣớc của mạng. Một biến số quan trọng trong bảng định
tuyến đƣợc đề cập tới đây là route-caching-timeout, hoặc là có thể hiểu là thời gian
sau khi một định tuyến đƣợc cân nhắc để loại bỏ.
Trong bảng định tuyến cũng lƣu trữ địa chỉ của các lân cận tích cực , các lân
cận đƣợc cân nhắc là tích cực nếu nó có thể khởi phát hoặc chuyển tiếp một gói tin
tới đích trong một khoảng thời gian cho phép. Thông tin địa chỉ này sẽ đƣợc duy trì
chính vì vậy tất cả các lân cận tích cực sẽ thông báo nếu đƣờng liên kết dọc theo tới
node đích bị gẫy.
Mỗi một phần tử trong bảng định tuyến sẽ chứa các thông tin sau: đích, bƣớc
nhảy tiếp theo, số bƣớc nhảy, số thứ tự của node đích, lân cận tích cực cho định
tuyến, thời gian hiệu lực cho phần tử bảng định tuyến.
Mỗi khi một phần tử trong bảng định tuyến đƣợc sử dụng để truyền dữ liệu
từ nguồn tới đích, thời gian trễ cho phần tử này sẽ đƣợc tính lại từ thời gian hiện tại
cộng thêm thời gian trễ định tuyến tích cực.
2.3.6. Bảo trì đường dẫn
Việc di chuyển của các node không nằm trên đƣờng dẫn tích cực không ảnh
hƣởng tới việc định tuyến tới đích. Đƣờng dẫn tích cực là đƣờng dẫn từ node nguồn
tới node đích. Nếu node nguồn di chuyển trong phiên truyền dữ liệu, nó có thể khởi
tạo lại việc tìm đƣờng để tìm ra một định tuyến mới tới đích. Ngay cả khi node đích
26
di chuyển hoặc một vài node trung gian trên đƣờng dẫn tích cực di chuyển thì một
gói tin RREP đặc biệt sẽ đƣợc gửi tới node nguồn. Theo chu kỳ, một thông điệp
hello có thể đƣợc sử dụng đảm bảo liên kết đối xứng giữa nguồn và đích một cách
tốt nhất, mục đích của thông điệp là phát hiện hiện lỗi trên đƣờng liên kết. Bên cạnh
việc kiểm tra đƣờng liên kết bằng phát đi thông điệp hello, còn có 1 cách khác nhƣ
là 1 sự thay thế đó là việc sử dụng LLACK – Link Layer Ack. Một liên kết lỗi sẽ
đƣợc thông báo nếu cố gắng chuyển tiếp một gói tin tới bƣớc chuyển lỗi kết tiếp.
Một trong bƣớc nhảy kế tiếp không thể kết nối, node trƣớc đó sẽ phải lan
truyền một gói tin RREP không mong muốn với số thứ tự đã đƣợc làm mới (số thứ
tự phải là số lớn hơn số trƣớc đó) và số bƣớc nhảy sẽ chuyển thành vô cùng tới tất
cả các node lân cận. Các node phía sau sẽ chuyển tiếp gói tin đó tới các lân cận của
nó và cứ thế. Quá trình này sẽ tiếp tục đến khi tất cả node nguồn tích cực đƣợc
thông báo. Nó kết thúc bởi vì thuật toán AODV chỉ duy trì các định tuyến lặp miễn
phí – loop-free và định tuyến đó chỉ có hữu hạn các node trong mạng. Khi nhận
đƣợc thông báo của một liên kết hỏng, node nguồn có thể khởi động lại quá trình
tìm đƣờng nếu nó vẫn muốn định tuyến tới đích. Để xác định định tuyến đó vẫn còn
cần thiết, một node có thể kiểm tra các định tuyến đƣợc sử dụng gần đây cũng nhƣ
kiểm tra khối điều khiển giao thức cấp trên để xem liệu kết nối đó vấn đƣợc mở
bằng cách sử dụng một đích đƣợc chỉ định. Nếu node nguồn hoặc bất kỳ một node
thuộc định tuyến trƣớc đó quyết định sẽ xây dựng lại định tuyến tới node đích, nó sẽ
gửi một gói tin RREQ với số thứ tự đích lớn hơn số thứ tự đích trƣớc đó để chắc
chắn một định tuyến mới sẽ đƣợc xây dựng lại và có thể tồn tại và nếu không có
một node nào trả lời gói tin RREQ đó thì mặc định định tuyến cũ sẽ đƣợc sử dụng
nhƣ một định tuyến chắc chắn.
2.3.7. Quản lý kết nối cục bộ
Một node có thể biết thông tin về lân cận của nó bằng một trong hai cách.
Bất cứ khi nào một node nhận đƣợc thông tin quảng quá từ lân cận, nó sẽ cập nhật
thông tin của lân cận đó đảm bảo nó luôn lƣu trữ thông tin của lân cận. Trong
27
trƣờng hợp một node không gửi bất kỳ một gói tin nào tới các lân cận tích cực dƣới
nó – downstream bên trong phạm vi hello_interval, nó sẽ quảng bá tới lân cận của
nó một thông điệp hello (một gói tin RREP đặc biệt) nó chứa thông tin định danh và
số thứ tự của node. Số thứ tự của node không thay đổi với thông điệp hello trong
quá trình truyền tin này. Thông điệp hello này bị ngăn ngừa không đƣợc quảng bá
lại bên ngoài các lân cận của node bởi vì nó chỉ đƣợc phép sống trong một khoảng
thời gian. Lân cận nhận đƣợc gói tin cập nhật thông tin cục bộ của node. Việc nhận
một quảng bá hoặc là nhận một thông điệp hello từ một lân cận mới hoặc là lỗi khi
nhận allowed_hello_loss liên tiếp thông điệp hello từ node trƣớc đó trong lân cận là
dấu hiệu chỉ ra rằng liên kết cục bộ đã bị thay đổi. Lỗi khi nhận thông điệp hello từ
lân cận không tích cực sẽ không kích hoạt bất kỳ hành động của giao thức. Nếu
những thông điệp hello không đƣợc nhận từ những bƣớc nhảy kế tiếp dọc theo
đƣờng dẫn tích cực, lân cận tích cực sử dụng bƣớc nhảy kế tiếp sẽ đƣợc gửi thông
báo rằng đƣờng liên kết bị lỗi.
Quản lý thông tin kết nối cục bộ với thông điệp hello có thể đƣợc sử dụng để
chắc chắn rằng chỉ những node với đƣờng liên kết hai chiều đƣợc cân nhắc là những
lân cận. Với mục đích này thì mỗi thông điệp hello gửi bởi một node sẽ liệt kê tất cả
những node là lân cận. Mỗi node sẽ kiêm tra để chắc chắn rằng nó chỉ sử dụng định
tuyến tới lân cận của nó khi mà nó có thể nghe đƣợc thông điệp hello từ node đó.
Để tiết kiệm băng thông cục bộ, việc kiêm tra nhƣ vậy chỉ khi mà các node đã đƣợc
cấu hình rõ ràng.
2.4. Thuật toán hình cây
2.4.1. Tổng quan
Thuật toán hình cây là giao thức của tầng mạng và tầng datalink, giao thức
này sử dụng gói tin “trạng thái kết nối” để định dạng một mạng hình cây đơn, cũng
nhƣ một mạng hình cây mở rộng. Loại mạng này cơ bản là một loại mạng có tính
chất tự tổ chức và tự hỗ trợ để hạn chế lỗi mạng một mức độ lỗi cho phép, đặc biệt
hơn do đây là một loại mạng có tính chất tự tổ chức nên nó cũng có thể tự sửa chữa
28
khi gặp sự cố ở một node mạng nào đó. Các node mạng chọn một node làm gốc cây
và tạo các nhánh cây một cách tự do. Sau đó cách nhánh cây tự phát triển kết nối tới
những nhánh cây khác nhờ vào thiết bị gốc (DD- Designated Deviece).
2.4.2. Cây đơn nhánh
Quá trình hình thành nhánh cây bắt đầu bằng việc chọn gốc cây. Sau khi một
node gốc đƣợc chọn, nó sẽ mở rộng kết nối với các node khác để tạo thành một
nhóm. Sau khi một node đƣợc kích hoạt nó sẽ dò tìm HELLO message từ các node
khác (HELLO message tƣơng tự nhƣ beacon trong tầng MAC theo chuẩn IEEE
802.15.4). Nếu trong một thời gian nhất định nào đó nó không nhận đƣợc bất kỳ
một HELLO message nào, thì node này sẽ tự trở thành node gốc và lại gửi HELLO
message tới các node lân cận. Node gốc mới này sẽ chờ gói tin yêu cầu kết nối từ
các node lân cận trong một khoảng thời gian nào đó, nếu nó vẫn không nhận đựơc
bất kỳ yêu cầu kết nối nào từ các node lân cận thì nó sẽ trở lại thành một node bình
thƣờng và lại tiếp tục dò tìm HELLO_MESSAGE. Node gốc cũng có thể đƣợc chọn
lựa dựa trên tham số của mỗi node mạng (ví dụ nhƣ phạm vi truyền, công suốt, vị
trí, khả năng tính toán ).
Sau khi trở thành node gốc, nó sẽ phát quảng bá gói tin HELLO_MESSAGE
theo chu kỳ, gói tin HELLO_MESSAGE này gồm một phần địa chỉ MAC và địa chỉ
ID của node gốc. Những node mạng nhận đựợc gói tin này sẽ gửi trả lời lại bằng gói
tin yêu cầu kết nối (REQ) tới node gốc (nơi vừa phát đi). Khi node gốc nhận đựợc
gói tin yêu cầu kết nối, nó sẽ ngay lập tức gửi trả lại gói tin vừa đƣa ra yêu cầu bằng
một gói tin khác CONNECTION_RESPONSE., gói tin này chứa địa chỉ ID cho
node thành viên (node B), địa chỉ ID này do node gốc qui định. Để xác nhận thông
tin thì node thành viên B này sẽ gửi lại node gốc gói tin Ack.
Nếu tất cả các node đều ở trong phạm vi phủ song của node gốc thì kiến trúc
mạng là kiến trúc hình sao, tất cả các node thành viên sẽ liên lạc trực tiếp với node
gốc qua một bƣớc truyền (onehop). Một nhánh có thể phát triển thành cấu trúc
mạng liên lạc qua nhiều bƣớc truyền (multihop).
29
Tất nhiên node gốc chỉ có thể quản lý đƣợc một số hữu hạn các node, và các
nhánh của mạng cũng chỉ có thể vƣơn tới những khoảng cách hạn chế… chính vì
thế mà có lúc node mạng cũng cần phải từ chối kết nối của những node mới. Việc từ
chối này đƣợc thực hiện nhờ vào việc chỉ định một ID đặc biệt cho node này. Bảng
danh sách các node lân cận và tuyến đƣờng luôn luôn đƣợc cập nhật mới thông qua
gói tin HELLO_MESSAGE. Trong một thời gian nhất định, nếu vì một lý do nào
đó mà một node không đựợc cập nhật các thông tin trên thì nó sẽ bị loại bỏ.
Tất nhiên trong một mạng có tính chất tự do, tự tổ chức nhƣ loại mạng này
thì không thể tránh khỏi việc một node mạng thuộc nhánh này lại nhận đựợc gói tin
HELLO_MESSAGE của nhánh khác. Vậy trong trƣờng hợp này node mạng này sẽ
tự động thêm địa chỉ ID của nhánh mới này (CID) vào danh sách các node lân cận
và gửi nó tới node gốc (CH) thông qua gói tin báo cáo tình trạng đƣờng truyền, để
từ đó node gốc (CH) có thể biết đƣợc nhánh mạng nào tranh chấp để xử lý.
Bản tin báo cáo tình trạng kết nối cũng chứa danh sách ID node lân cận của
node đó, điều này giúp cho node gốc biết đựợc trọn vẹn cấu trúc mạng để có thể
đƣa ra cấu trúc tối ƣu. Khi cấu trúc mạng cần thay đổi, node gốc (CH) sẽ phát đi
bản tin cập nhật tới các node thành viên. Node thành viện nào nhận đựợc bản tin
cập nhật này lập tức thay đổi các thông tin về node gốc nhƣ trong bản tin này, đồng
thời cũng tiếp tục gửi đến các node ở cấp thấp hơn trong nhánh cây tại thời điểm đó.
Khi một node thành viên có vấn đề, không thể kết nối đƣợc thì node gốc phải
định dạng lại tuyến đƣờng. Thông qua bản tin báo cáo tình trạng đƣờng truyền đƣợc
gửi theo chu kỳ thì node gốc có thể biết đƣợc vấn đề của node mạng đó. Nhƣng khi
node gốc gặp phải vấn đề trong liên lạc thì việc phát bản tin HELLO_MESSAGE
theo chu kỳ sẽ bị gián đoạn, khi đó các node thành viên sẽ mất đi node gốc, và
nhánh đó sẽ phải tự định dạng lại từ đầu theo cách tƣơng tự nhƣ quá trình định dạng
nhánh cây.
30
2.4.3. Cây đa nhánh
Để tạo định dạng lên loại mạng này thì cần phải sử dụng thiết bị gốc (DD).
Thiết bị này có trách nhiệm gán địa chỉ ID nhóm (địa chỉ này là duy nhất) cho các
node gốc(CH). Địa chỉ ID nhóm này kết hợp với địa chỉ ID node (là địa chỉ NID mà
node gốc gán cho các node thành viên trong nhánh của mình) tạo ra địa chỉ logic và
đựợc sử dụng trong các gói tin tìm đƣờng. Một vai trò quan trọng nữa của thiết bị
gốc DD là tính toán quãng đƣờng ngắn nhất từ nhánh mạng tới DD và thông báo nó
tới tất cả các node mạng.
Khi thiết bị gốc DD tham gia vào mạng, nó sẽ hoạt động nhƣ một node gốc
của nhánh số 0 (CID 0) và bắt đầu phát quảng bá HELLO_MESSAGE tới các node
lân cận. Nếu một node gốc (CH) nhận đƣợc bản tin này, nó sẽ gửi bản tin yêu cầu
kết nối tới DD để tham gia vào CID 0, sau đó node gốc này sẽ yêu cầu DD gán cho
nó một ID nhánh (CID). Nhƣ vậy thì node gốc này có hai địa chỉ logic, một là thành
viên của CID 0, thứ hai là địa chỉ của node gốc. Khi node gốc tạo ra một nhánh mới,
(một CID mới), nó sẽ thông báo đến các node thành viên của nó bằng bản tin
HELLO_MESSAGE.
Khi một thành viên nhận đựợc bản tin HELLO_MESSAGE từ thiết bị DD,
nó sẽ thêm địa chỉ ID của CID 0 vào danh sách thành viên rồi thông báo cho node
gốc. Node gốc đựợc thông báo này sẽ chọn node thành viên này nhƣ là một node
trung gian giữa nó với node gốc của nó, rồi gửi bản tin yêu cầu kết nối mạng tới các
node thành viên để thiết lập kết nối với thiết bị DD. Node trung gian này yêu cầu
một kết nối và tham gia vào thành viên của nhóm số 0. Sau đó nó sẽ gửi bản tin yêu
cầu CID tới thiết bị DD. Đến khi nhận đựợc đáp ứng CID, node trung gian này gửi
bản tin đáp ứng liên kết mạng này tới node CH, bản tin này chứa các thông tin về
địa chỉ ID nhánh mới cho node gốc CH. Sau khi node gốc có đựợc CID mới, thì
cách thành viên trong nhánh của node gốc cũng sẽ nhận đựợc thông qua
HELLO_MESSAGE.
31
Trong mạng này thì việc tự tổ chức mạng là một tính chất khá mạnh mẽ, và
mềm dẻo. Cứ nhánh mạng liền trƣớc sẽ có nhiệm vụ gán CID cho nhánh mạng sau.
Mỗi một node thành viên của nhánh phải ghi lại thông tin về nhánh gốc và các
nhánh con của nó, hoặc cả ID của node trung gian nếu có. Thiết bị gốc phải có trách
nhiệm lƣu giữ toàn bộ thông tin về cấu trúc cây mạng của các nhánh. Cũng giống
nhƣ các node thành viên của nhánh thì các node gốc CH cũng là thành viên của thiết
bị gốc và nhƣ vậy chúng cũng phải có trách nhiệm thông báo tình trạng đƣờng
truyền đến DD. Để thực hiện thì node gốc phải gửi định kỳ bản tin thông báo tình
trạng đƣờng truyền trong mạng tới DD, bản tin này chứa danh sách CID lân cận.
DD sau khi xử lý thông tin sẽ tính toán, chọn lựa ra đƣờng truyền tối ƣu nhất rồi
thông báo định kỳ tới các nhánh của nó thông qua bản tin cập nhật. Nhƣ trên ta có
thể thấy vai trò của thiết bị gốc này là rất quan trọng, chính vì thế luôn cần có
những thiết bị gốc dự phòng (BDD) sẵn sang thay thế thiết bị chính khi gặp sự cố.
Các node trung gian vừa liên kết các nhánh mạng, vừa chuyển tiếp các gói
tin giữa các nhánh mạng. Khi node trung gian nhận đựợc một gói tin, nó sẽ kiểm tra
địa chỉ đích của gói tin đó, sau đó sẽ chuyển tới địa chỉ đích của nó nếu địa chỉ đích
nằm trong nhánh này hoặc là chuyển tiếp tới node trung gian tiếp theo của nhánh
liền kề nếu địa chỉ đích không nằm trong nhánh của nó.
Chỉ duy nhất thiết bị gốc mới có thể gửi bản tin tới tất cả các node trong
mạng, bản tin này đựợc chuyển dọc theo tuyến đƣờng của các nhánh. Các node
trung gian thì chuyển tiếp các gói tin quảng bá từ nhánh gốc đến các nhánh con.
2.5. Vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến ZigBee
Năng lƣợng trong mạng cảm biến ZigBee bị giới hạn so với các mạng không
dây khác do bản chất của các thiết bị cảm biến. Thông thƣờng, mỗi node mạng cảm
biến đƣợc trang bị một nguồn năng lƣợng giới hạn. Trong một số ứng dụng, việc bổ
sung năng lƣợng rất khó khăn, có khi là không thể bổ sung, vì vậy thời gian sống
của mạng phụ thuộc nhiều vào thời gian sống của mỗi node mạng, thời gian này lại
phụ thuộc vào nguồn năng lƣợng của PIN.
32
Vậy làm thế nào để kéo dài chu kỳ sống của thiết bị. Với mạng cảm biến
ZigBee câu hỏi đặt ra là làm thế nào để giảm thiểu năng lƣợng tiêu thụ bằng phần
mềm? Để thực hiện đƣợc điều đó, tất cả các giao thức truyền thông phải hƣớng đến
tiết kiệm năng lƣợng.
Tiết kiệm năng lƣợng ở lớp vật lý: Sử dụng kỹ thuật điều chế tín hiệu số: O-
QPSK, FSK cải thiện hiệu suất bộ khuếch đại công suất. Các kỹ thuật mã hóa sửa
sai phức tạp nhƣ Turbo Code, LDPC không đƣợc sử dụng, kỹ thuật trải phổ đƣợc sử
dụng để cải thiện SNR ở thiết bị thu và giảm tác động của fading kênh truyền...
Tiết kiệm năng lƣợng ở lớp MAC: Sử dụng kỹ thuật đa truy cập TDMA hoặc
CSMA-CA hiệu chỉnh với mục đích giảm năng lƣợng tiêu thụ.
Tiết kiệm năng lƣợng trong các giao thức định tuyến: Trong mạng adhoc nói
chung, và WSN nói riêng, đƣờng đi giữa các node trong mạng sẽ thay đổi theo thời
gian (do node di chuyển, do chất lƣợng kênh truyền thay đổi theo thời tiết, do node
hết năng lƣợng). Tiết kiệm năng lƣợng là một vấn đề phức tạp. Một số bài toán
đƣợc đặt ra nhƣ: làm thế nào để xây dựng đƣợc thuật toán định tuyến nhanh chóng
mà không cần phải gửi tới tất cả các node trong mạng. Cần một thuật toán tìm
đƣờng đi mà sao cho tổng năng lƣợng tiêu tốn là thấp nhất hoặc tỉ lệ giữa lƣợng dữ
liệu truyền và năng lƣợng tiêu thụ là cao nhất...
Tiết kiệm năng lƣợng trong quản lý bảo mật: Sử dụng một cơ chế phân bố,
cung cấp và quản lý khóa bảo mật khi một node từ bỏ khỏi mạng WSN, hoặc một
nhóm những node trong mạng bắt đầu trao đổi với nhau sao cho số lƣợng bản tin
trao đổi giữa các node là thấp nhất, qua đó tiết kiệm năng lƣợng tiêu thụ.
Ngoài ra thông tin còn thể đƣợc xử lý trƣớc khi gửi đi để giảm năng lƣợng
tiêu thụ chung.
Mạng cảm biến ZigBee cũng nhƣ mạng cảm biến không dây có đặc điểm là
số lƣợng node trong mạng lớn, khoảng cách giữa các node lân cận trong mạng là
nhỏ. Thành phần cấu thành lên mạng ZigBee đa phần là các node, chi phí cho các
node là thấp. Mức tiêu thụ năng lƣợng thấp hơn nhiều, bởi vì việc thay thế pin
33
(nguồn năng lƣợng chính cung cấp cho các node trong mạng) thậm chí một tháng
một lần cũng sẽ rất vất vả hay nói cách khác thời gian và chi phí để duy trì hệ thống
sẽ phải tăng lên nhiều.
Mặt khác trong mạng cảm biến không dây thì giao tiếp không dây là kỹ thuật
chính, giao tiếp giữa các node trong mạng sẽ bị nhiều hạn chế do các yếu tố khoảng
cách hoặc vật cản. Chính vì thế cần có thuật toán phù hợp giúp toàn bộ hệ thống
hoạt động hiệu quả về năng lƣợng, khi năng lƣợng đƣợc quản lý một cách hiệu quả
sẽ tăng lên chu kỳ sống của hệ thống.
Nhƣ đã đề cập ở các phần trên chuẩn IEEE 802.14.5 không cung cấp một
chiến lƣợc định tuyến nào tại tầng mạng. Việc định tuyến dữ liệu tại tầng mạng
đƣợc cung cấp tại tầng liên kết dữ liệu. Việc định tuyến trong mạng cảm biến không
dây nói chung và trong mạng cảm biến ZigBee gặp rất nhiều vấn đề khó khăn, thách
thức đó là:
+ Mạng cảm biến có một số lƣợng lớn các node, cho nên ta không thể xây
dựng đƣợc sơ đồ địa chỉ toàn cục cho việc triển khai số lƣợng lớn các node.
+Dữ liệu trong mạng cảm biến thu nhận đƣợc từ nhiều nguồn khác nhau.
+Hầu hết trong các ứng dụng, các node nói chung là tĩnh sau khi đƣợc triển
khai ngoại trừ một số node có thể di động.
+ Mạng cảm biến là một ứng dụng riêng biệt
+Việc nhận biết vị trí là vấn đề quan trọng, vì tập hợp dữ liệu thƣờng dựa
theo vị trí.
+Khả năng dƣ thừa dữ liệu rất cao, vì các node cảm biến thu thập dữ liệu dựa
trên các nguồn chung.
+Công nghệ năng lƣợng chƣa đáp ứng.
Do vậy thiết kế lớp mạng trong cảm biến ZigBee phải đảm bảo các nguyên
tắc sau:
34
Hiệu quả năng lƣợng phải đƣợc đặt lên hàng đầu
Để đạt đƣợc hiệu quả trong quản lý năng lƣợng tại lớp mạng đòi hỏi phải có
thuật toán định tuyến dữ liệu phù hợp cho phép tối ƣu năng lƣợng cho tất cả các
node trong mạng. Một hƣớng đi khác là tùy theo vào cấu hình mạng, ta đƣa ra thuật
toán định tuyến phù hợp với cấu hình mạng để tối ƣu hóa nhất có thể năng lƣợng
của mạng.
Tuy nhiên vấn đề định tuyến cũng gặp không ít những thách thức
+ Tính động của mạng: Các thành phần cấu thành nên mạng ZigBee có thể di
động đặc biệt là các node cảm biến. Khi đó việc định tuyến sẽ phải đối mặt nhiều
vấn đề nhƣ: đƣờng liên lạc, cấu hình mạng, năng lƣợng và độ rộng băng thông.
+ Triển khai các node mạng: Trong mạng cảm biến ZigBee các node cảm
biến đƣợc phân bố ngẫu nhiên tạo ra một cấu trúc ad-hoc, trong cấu trúc đó việc đặt
các thiết bị ZC và ZR cũng rất quan trọng, sẽ góp phần vào hoạt động hiệu quả năng
lƣợng của mạng. Trong mạng cảm biến nói chung và mạng cảm biến ZigBee, quá
trình định tuyến bị ảnh lớn bởi năng lƣợng. Sở dĩ nói vậy vì năng lƣợng truyền đi
của sóng vô tuyến là một hàm suy hao theo khoảng cách và đặc biệt suy giảm nhiều
trong trƣờng hợp có nhiều vật cản. Việc định tuyến đa bƣớc nhảy sẽ giảm việc tiêu
hao năng lƣợng hơn là việc truyền dữ liệu trực tiếp giữa các node. Định tuyến trực
tiếp sẽ tốt trong trƣờng hợp tất cả node cảm biến đều gần ZC, ZR.
Tiết kiệm năng lƣợng trong hầu hết các mạng/ thiết bị viễn thông đang là
một vấn đề đƣợc quan tâm hàng đầu đối với các nhà mạng cũng nhƣ ngƣời sử dụng.
Tuy nhiên, với đặc tính riêng của mình, vai trò của tiết kiệm năng lƣợng trong mạng
WSN nói chung và mạng cảm biến ZigBee nói riêng là cực kỳ quan trọng. Nó ảnh
hƣởng trực tiếp đến chu kỳ sống của các bộ cảm biến trong, qua đó ảnh hƣởng đến
hiệu quả của toàn hệ thống.
Một số nguyên lý dƣới đây có thể tối ƣu việc quản lý năng lƣợng trong
mạng ZigBee:
35
Cơ bản ZigBee sử dụng thuật toán AODV là thuật toán định tuyến cho gói
tin. Đặc tả ZigBee đƣa ra một số tối ƣu cho định tuyến. Đó là: many-to-one,
neighbor table và link status message.
Bảng lân cận - Neighbor table: ZigBee sử dụng bảng lân cận để giảm số gói
tin RREQ đƣợc truyền trong mạng. Bảng lân cận chứa các thông tin về mỗi lân cận
để có thể gia nhập hoặc tái gia nhập mạng thông tin định tuyến. Cơ chế định tuyến
này đƣợc tối ƣu bởi vì nó sử dụng địa chỉ của thiết bị nhƣ một phần thông tin trong
bảng lân cận. Hơn thế nữa, chi phí để tới node đích thông qua các lân cận cũng
đƣợc lƣu lại. Bảng thông tin này đƣa ra một cái nhìn khái quát hơn về các lân cận
trung gian và cho phép tự kết nối của thiết bị. Điều đó có nghĩa mỗi gói tin khởi
nguồn từ thiết bị không nằm trong bảng lân cận sẽ thêm một mục vào trong bảng
lân cận.
Thông tin trạng thái đƣờng kết nối – Link Status Message: Việc xây dựng
một mạng không dây đòi hỏi cân nhắc đến yếu tố di động của mạng. Nó làm tăng
tính động cho các thiết bị. Để nhận biết sự thay đổi cấu trúc của mạng các thiết bị
ZC và ZR cần thiết gửi các gói tin về trạng thái liên kết trong mạng. Thông điệp về
trạng thái của mạng sẽ đƣợc gửi tới tất cả lân cận trong phạm vi của ZC và ZR để
các lân cận biết đƣợc vị trí của chúng trong mạng và chất lƣợng của mạng tại thời
điểm gửi. Việc gửi các gói tin này giúp cho các lân cận luôn trong trạng thái đƣợc
cập nhật thông tin. Điều này giúp cho việc định tuyến của hệ thống đƣợc diễn ra
nhanh chóng. Tuy nhiên việc sử dụng gói tin trạng thái liên kết chỉ nên áp dụng với
các mạng đòi hỏi tính động, với các mạng tĩnh thì điều này là không cần thiết.
2.6. Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm biến
ZigBee
Nhƣ đã đề cập ở phần trên, năng lƣợng trong mạng cảm biến nói chung và
mạng cảm biến ZigBee là vấn đề còn nhiều thách thức. Làm thế nào để tiết kiệm
năng lƣợng, tiết kiệm ở bƣớc nào là tốt nhất…Luôn là câu hỏi đƣợc các nhà nghiên
cứu đặt ra nhiều nhất.
36
Ta biết rằng quá trình truyền tin là quá trình tiêu hao rất nhiều năng lƣợng do:
 Tiêu hao năng lƣợng qua công suất phát sóng các sensor trong mỗi node
mạng.
 Tiêu hao năng lƣợng khi xử lý thuật toán định tuyến.
 Tiêu hao khi có sự xung đột giữa 2 gói tin đƣợc truyền cùng thời điểm, hoặc
gói tin bị hỏng, phải yêu cầu truyền lại.
 Tiêu hao do vấn đề nghe khi rỗi ( Idle Listening). Nó xảy ra khi thành phần
sóng vô tuyến thực hiện nghe xem có dữ liệu để nhận không.
 Tiêu hao do vấn đề nghe thừa ( Over hearing). Nó xảy ra khi một node mạng
nhận đƣợc gói tin dành cho node khác.
Nếu việc định tuyến sai, dẫn đến truyền tin sai sẽ làm thay đổi trạng thái toàn mạng.
Khi đó, việc định tuyến và truyền tin lại vô cùng mất thời gian và tiêu tốn nhiều
năng lƣợng. Vì vậy, định tuyến đúng, truyền tin chính xác là một bƣớc quan trọng
nếu muốn tiết kiệm năng lƣợng.
Vấn đề khó khăn nhất chính là đƣa ra đƣợc một thuật toán định tuyến để tối
ƣu năng lƣợng cho tất cả các trƣờng hợp. Với từng điều kiện cụ thể, mỗi thuật toán
sẽ phát huy một thế mạnh riêng. Trong điều kiện nghiên cứu của luận văn, ta tìm
hiểu một số thuật toán định tuyến sau :
Thuật toán định tuyến LEACH [13] là thuật toán định tuyến phân cấp. Mục
đích chính của định tuyến phân cấp là để duy trì hiệu quả việc tiêu thụ năng lƣợng
của các node cảm ứng bằng việc đặt chúng trong giao tiếp đa bƣớc nhảy trong một
cụm cụ thể và bằng việc thực hiện tập trung và hợp nhất dữ liệu để giảm số bản tin
đƣợc truyền tới ZC. Sự hình thành các cụm chủ yếu dựa trên năng lƣợng dữ trữ của
các cảm biến và vùng lân cận của cảm biến so với các node chủ của cụm. LEACH
là một trong những tiếp cận định tuyến phân cấp đầu tiên cho mạng cảm ứng. Ý
tƣởng của LEACH là động lực cho rất nhiều thuật toán định tuyến phân cấp khác
37
phát triển. Chẳng hạn nhƣ thuật toán định tuyến HERA [3] mà chúng ta đã nói ở
trên.
Mục tiêu chính của LEACH là:
+ Mở rộng thời gian sống của mạng
+ Giảm sự tiêu thụ năng lƣợng của mỗi node mạng
+ Sử dụng tập trung dữ liệu để giảm bản tin truyền trong mạng
LEACH thông qua mô hình phân cấp để tổ chức mạng thành các cụm, mỗi
cụm sẽ đƣợc quản lý bởi một node chủ. Node chủ sẽ thực hiện nhiều nhiệm vụ đó
là: thu thập dữ liệu từ các node thành viên theo chu kỳ, trong quá trình thu thập dữ
liệu node chủ sẽ cố gắng tập hợp dữ liệu để giảm dƣ thừa về những dữ liệu dƣ thừa
giống nhau, ngoài ra node chủ sẽ truyền trực tiếp dữ liệu đã đƣợc tập hợp đến các
trạm cơ sở, việc truyền này đƣợc tiến hành bằng bƣớc nhảy đơn, cuối cùng LEACH
sẽ tạo ra mô hình ghép kênh theo thời gian, mỗi node trong cụm sẽ đƣợc gán một
khe thời gian mà có thể sử dụng để truyền tin.
Việc đƣa ra đƣợc một thuật toán tối ƣu năng lƣợng cho tất cả các trƣờng hợp
cấu hình trong mạng cảm biến ZigBee là thách thức lớn. Bản thân thuật toán định
tuyến AODV đã có sẵn ƣu điểm đó, nó là nền tảng để phát triển các thuật toán định
tuyến khác. Tuy nhiên trong một số trƣờng hợp cụ thể, ta có thể đƣa ra thuật toán
phù hợp, có thể tối ƣu đƣợc năng lƣợng hơn thuật toán AODV.
Tiêu chí đánh giá tối ƣu năng lƣợng của thuật toán AODV :
Đối với hệ thống nói chung, hiệu suất là độ đo công việc mà hệ thống thực
hiện đƣợc bao gồm tính sẵn sàng, thông lƣợng, và thời gian đáp ứng. Vì thế, ở đây
chúng ta sử dụng các thông số sau để đánh giá hiệu suất của các giao thức định
tuyến trong mạng mô phỏng :
 Tỉ lệ gói tin nhận đƣợc : là tỉ lệ giữa số lƣợng các gói tin đến đƣợc đích và số
lƣợng các gói tin dƣợc tạo ra bởi node phát.
38
 Độ trễ trung bình đầu cuối : là tổng độ trễ đƣợc tính từ khi node nguồn phát
gói tin đến khi node đích nhận đƣợc gói tin. Nó bao gồm : trễ phát hiện đƣờng, xếp
hàng tại các hàng đợi, trễ do phát lại tại tầng MAC và trễ thời gian truyền.
Ý nghĩa : Hai độ đo này đánh giá kết quả hoạt động của giao thức định
tuyến. Nó có ý nghĩa đối với hoạt động của giao thức lớp trên nhƣ giao thức giao
vận và giao thức ứng dụng. Ngoài ra, đối với mạng adhoc, việc hạn chế tài nguyên
mạng đòi hỏi các giao thức phải sử dụng hiệu quả các tài nguyên này. Với giao thức
định tuyến, đó chính là chi phí để thực hiện các yêu cầu định tuyến. Do đó, ngƣời ta
đã xét thêm một thông số nữa để thể hiện việc sử dụng các tài nguyên mạng. Đó là
tải định tuyến chuẩn hóa: là tỉ lệ giữa số các gói tin định tuyến trên số gói tin dữ liệu
đƣợc gửi đi. Nếu gói tin định tuyến đi qua nhiều chặng thì mỗi chặng đƣợc tính nhƣ
là một truyền thông.
 Thông lƣợng trung bình : là tỉ lệ giữa số gói tin dữ liệu đƣợc truyền trên một
đơn vị thời gian.
Ý nghĩa : Khi băng thông sẵn có trên mạng thì mô phỏng băng thong thực sự
có đƣợc là bao nhiêu? Thông số thông lƣợng T sẽ cho biết băng thông thực sự khi
mô phỏng và có thể cho thấy sự hiệu quả của giao thức định tuyến. Thông lƣợng
trung bình cao nghĩa là băng thong dành cho định tuyến ít, khi đó giao thức định
tuyến hoạt động tốt.
 Tải thông tin định tuyến : là tỉ lệ giữa gói tin định tuyến đƣợc gửi đi với số
gói dữ liệu đƣợc gửi tới đích.
Ý nghĩa : Nó cho biết hiệu năng sử dụng băng thông của giao thức định
tuyến ( bao nhiêu băng thông đƣợc sử dụng cho bản tin định tuyến, bao nhiêu băng
thông đƣợc sử dụng cho các gói tin dữ liệu. Phần tải định tuyến trong giao thức định
tuyến theo yêu cầu thông thƣờng lớn do nó phải gửi bản tin cập nhật định kỳ trên
toàn mạng. Trƣờng hợp lý tƣởng là không có bản tin định tuyến, chỉ có gói tin dữ
liệu đƣợc truyền trên mạng, tuy nhiên, nếu không có giao thức định tuyến thì không
thể triển khai thực tế.
39
Trong phạm vi nghiên cứu của luận văn, em xin đƣa ra kiến nghị thuật toán
dƣới đây nhƣ là một thay thế có thể cho thuật toán AODV trong việc tối ƣu năng
lƣợng của mạng trong một số trƣờng hợp áp dụng cụ thể đó là trong cấu trúc mạng
phẳng.
Dƣới đây là thuật toán dựa trên thuật toán hình cây – tree based on scheme. –
Hierarchical Routing Algorthim – HERA [3]:
Thuật toán HERA đƣợc sử dụng bởi nó mang lại một số lợi ích cho tầng
MAC. Hay nói cách khác, ZigBee đƣợc xây dựng trên nền tảng 2 tầng PHY và
MAC, việc sử dụng thuật toán định tuyến HERA sẽ khai thác đƣợc hết những ƣu
điểm của tầng MAC. (Tầng MAC chỉ định nghĩa cấu hình mạng hình sao và cấu
hình p-2p), Mạng ZigBee đƣa thêm cấu hình mạng hình cây và cấu hình mạng lƣới.
Với thuật toán HERA, dữ liệu đƣợc sinh ra bởi các thiết bị cảm biến và đƣợc
đƣa tới bộ nhận –sink và đƣợc định tuyến tiếp tới gốc của cây thông qua quan hệ
cha-con, nghĩa là tất cả các node sẽ chuyển tiếp dữ liệu đến cha của nó.
Mặt khác đối với giao tiếp cảm biến – cảm biến và bộ nhận – cảm biến dữ
liệu sẽ đƣợc định tuyến chuyển lên hoặc chuyển xuống dọc theo cây thông qua địa
chỉ đích của dữ liệu bằng cách khai thác lƣợc đồ địa chỉ phân cấp đƣợc cung cấp bởi
ZigBee.
Đây là thuật toán khởi tạo trƣớc – proactive hay còn gọi là table driven ( nghĩa là
dựa trên sự phân phát theo chu kỳ thông tin định tuyến để đạt đƣợc các bảng định
tuyến nhất quán và chính xác đến tất cả các node mạng, việc sử dụng phƣơng pháp
định tuyến này cho cấu trúc mạng phẳng sẽ luôn tối ƣu nhất về việc định tuyến do
vậy cũng là tốt nhất trong việc tiết kiệm năng lƣợng ) đích đến của định tuyến sẽ
đƣợc giải quyết trƣớc khi một node cảm biến cần định tuyến một gói tin.Cây định
tuyến thu đƣợc sẽ tƣơng ứng với cây mẫu đƣợc thiết lập trong tầng MAC.
Để thu thập tất cả thông tin tạo bởi các cảm biến tại bộ thu tín hiệu trong
mạng đa bƣớc nhảy – multi-hop, mỗi node sẽ chuyển tất cả dữ liệu tới bộ điều phối
– coordinator.
40
Thuật toán địn tuyến HERA giảm số lƣợng thông điệp trao đổi bởi vì nó tuân
theo các thủ tục đƣợc xây dựng ở tầng MAC. Nó luôn xem xét những thông điệp
nào đƣợc trao đổi trong quá trình hình thành liên kết mạng. Một sự kết hợp giữa các
tầng trong ZigBee đƣợc thực hiện giữa việc định tuyến và tầng MAC.
Thuật toán HERA tƣơng đối đơn giản, gọn nhẹ, không yêu cầu nhiều về bộ
nhớ đểlƣu trữ bảng định tuyến. Những đặc tính trên giúp HERA thành ứng viên
tiềm năng trong định tuyến dựa trên chuẩn IEEE 802.15.4 mạng cảm biến không
dây. Mặt khác cũng phải lƣu ý rằng, việc định tuyến không phải bao giờ cũng tối ƣu
hóa đƣợc tất cả các vấn đề ví dụ nhƣ vấn đề về bƣớc nhảy, băng thông. Tuy nhiên
bởi vì thuật toán HERA sử dụng chiến lƣợc đa tầng, việc tối ƣu hóa định tuyến có
thể đạt đƣợc bằng cách thiết kế một cách chính xác các thủ tục liên kết với chuẩn
IEEE 802.15.4 để tạo ra các phép định tuyến tối ƣu hóa theo những mục tiêu xác
định.
41
Chƣơng 3 – MÔ PHỎNG THUẬT TOÁN ĐỊNH TUYẾN TỐI
ƢU NĂNG LƢỢNG
3.1. Công cụ mô phỏng
Sử dụng phần mềm ảo hóa Vmware Workstation cài đặt hệ điều hành
Ubuntu 10.04.4. Sử dụng công cụ mô phỏng NS-2 trên Hệ điều hành này.
3.1.1. Ubuntu 10.04
Download phần mềm Vmware Workstation 10
Download Ubuntu 10.04.3 phiên bản desktop tại địa chỉ http://old-
releases.ubuntu.com/releases/lucid/ . Chọn phiên bản “PC (Intel x86) desktop CD ”
Sau khi cài đặt xong Ubuntu, cần tiến hành cài thêm các gói phần mềm sau (
để phục vụ cho việc chạy và biên dịch NS-2)
Install GCC và G++ version 4.3
$ sudo apt-get install build-essential autoconf automake libxmu-dev
$ sudo apt-get install libx11-dev libxmu-dev libxmu-headers libxt-dev libtool
$ sudo apt-get install dpkg-dev g++ libc6-dev make
$ sudo apt-get install tcl8.4 tk8.4
$ sudo apt-get install build-essential
3.1.2. NS-2
3.1.2.1. Giới thiệu về NS-2
NS (Netwok Simulator v2) là phần mềm mô phỏng mạng điều khiển sự kiện
riêng rẽ hƣớng đối tƣợng, đƣợc phát triển tại UC Berkely, viết bằng ngôn ngữ C++
và OTcl. NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local
(LAN). Bốn lợi ích lớn nhất của NS-2 phải kể đến đầu tiên là:
• Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại
• Khả năng đánh giá các giao thức mạng mới trƣớc khi đƣa vào sử dụng
42
• Khả năng thực thi những mô hình mạng lớn mà gần nhƣ ta không thể
thực thi đƣợc trong thực tế
• Khả năng mô phỏng nhiều loại mạng khác nhau
3.1.2.2 Kiến trúc chƣơng trình NS-2
Hình 3.1 : Kiến trúc và thƣ mục cài đặt NS-2.34 trong môi trƣờng Linux(Ubuntu)
3.1.2.3. Các đặc tính của NS-2
NS-2 thực thi những tính năng sau:
 Các kỹ thuật quản lý hàng đợi Router nhƣ DropTail, RED, CBQ
 Multicasting
 Mô phỏng mạng không dây
+ Đƣợc phát triển bởi Sun Microsystems + UC Berkeley (Dự án Daedalus)
+ Thuộc mặt đất (di động, adhoc, GPRS, WLAN, BLUETOOTH), vệ tinh
+ Chuẩn IEEE 802.11 có thể đƣợc mô phỏng, các giao thức Mobile-IP và
adhoc nhƣ DSR, TORA, DSDV và AODV
 Hành vi nguồn traffic – www, CBR, VBR
TK8.4.1
8
OTcl tclclTcl8.4.18 ns-2.34 nam-1.14
tcl
ex test lib
...
...
Các ví dụ Các kiểm tra
Mã C++
Mã OTcl
ns-allinone-2.34
mcast
43
 Các agent truyền tải – UDP, TCP
 Định tuyến
 Luồng packet
 Mô hình mạng
 Các ứng dụng – Telnet, FTP, Ping
 Các packet tracing trên tất cả các link và trên các link xác định
3.1.2.4. Cài đặt ns2.34 và gói leach protocol
a) Cài đặt ns2.34
 Tải ns-allinone-2.34 tại địa chỉ :
http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.34/ns-
allinone-2.34.tar.gz/download
 Copy file ns-allinone-2.34.tag.gz từ thƣ mục Download vào trong thƣ
mục home
Dùng các lệnh sau :
$ tar –xzvf ns-allinone-2.34.tar.gz
$ cd ns-allinone-2.34
 Cài đặt X-window
sudo apt-get install xorg-dev g++ xgraph
 Sửa lỗi đƣờng dẫn của otcl tại dòng 6304 of otcl-1.13/configure , chuyển
thành SHLIB_LD="gcc -shared" từ SHLIB_LD="ld -shared"
 Chạy Lệnh
$ sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.3
 Cài đặt thêm các công cụ cần thiết cho việc build ns-2
44
Đang ở thƣ mục ns-allinone-2.32, chạy lệnh ./install cài đặt ns2 . Sau khi cài đặt
xong ns-2.34. Thiết lập biến môi trƣờng theo các bƣớc sau:
> sửa file .bashrc trong home
$gedit .bashrc
Thêm những dòng sau vào cuối file :
#LD_LIBRARY_PATH
OTCL_LIB=/home/yenth/ns-allinone-2.34/otcl-1.13
NS2_LIB=/home/yenth/ns-allinone-2.34/lib
USR_LOCAL_LIB=/usr/local/lib
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$otc
#TCL_LIBRARY
TCL_LIB=/home/yenth/ns-allinone-2.34/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/yenth/ns-allinone-2.34/bin:/home/yenth/ns-allinone-
2.34/tcl8.4.18/unix:/home/yenth/ns-allinone-2.34/tk8.4.18/unix
NS=/home/yenth/ns-allinone-2.34/ns-2.34/
NAM=/home/yenth/ns-allinone-2.34/nam-1.14/
PATH=$PATH:$XGRAPH:$NS:$NAM
Chạy lệnh source .bashrc để cập nhật.
b) Cài đặt leach protocol
Gói leach protocol xây dựng giao thức leach hiện chỉ support ns 2.34.
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen
Zig bee tran hai yen

More Related Content

What's hot

Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng
ThíckThọ Thì ThêThảm
 
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAYĐề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Giáo trình Quản trị mạng
Giáo trình Quản trị mạngGiáo trình Quản trị mạng
Giáo trình Quản trị mạngTran Tien
 
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thểPhát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đồ Án Thiết Kế Mạng ĐHCNTPHCM
Đồ Án Thiết Kế Mạng ĐHCNTPHCMĐồ Án Thiết Kế Mạng ĐHCNTPHCM
Đồ Án Thiết Kế Mạng ĐHCNTPHCM
Teemo Hành Gia
 
An ninh trong he thong tong tin
An ninh trong he thong tong tinAn ninh trong he thong tong tin
An ninh trong he thong tong tin
Huynh MVT
 
Báo cáo thực tập tuần 4 ospf đàm văn sáng
Báo cáo thực tập tuần 4 ospf  đàm văn sángBáo cáo thực tập tuần 4 ospf  đàm văn sáng
Báo cáo thực tập tuần 4 ospf đàm văn sáng
Đàm Văn Sáng
 
Mạng máy tính
Mạng máy tínhMạng máy tính
Mạng máy tính
Mai Điệp
 
Tổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàTổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàshinibi
 
Bao cao da lap trinh manh
Bao cao da lap trinh manhBao cao da lap trinh manh
Bao cao da lap trinh manh
Bồ Công Anh
 
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.docmo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
NgcBi88
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Huyen Pham
 
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215Trần Danh Nam
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tánduysu
 
[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copy
nenohap
 
Hệ Thống DNS
Hệ Thống DNSHệ Thống DNS
Hệ Thống DNS
Tuấn Nguyễn Văn
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
The Boss
 
chương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tínhchương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tính
Quyên Nguyễn Tố
 
đinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngđinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngnguyenhoangbao
 

What's hot (20)

Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng Thiết kế mạng LAN cho công ty 2 tầng
Thiết kế mạng LAN cho công ty 2 tầng
 
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAYĐề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
 
Giáo trình Quản trị mạng
Giáo trình Quản trị mạngGiáo trình Quản trị mạng
Giáo trình Quản trị mạng
 
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thểPhát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
 
Đồ Án Thiết Kế Mạng ĐHCNTPHCM
Đồ Án Thiết Kế Mạng ĐHCNTPHCMĐồ Án Thiết Kế Mạng ĐHCNTPHCM
Đồ Án Thiết Kế Mạng ĐHCNTPHCM
 
An ninh trong he thong tong tin
An ninh trong he thong tong tinAn ninh trong he thong tong tin
An ninh trong he thong tong tin
 
Báo cáo thực tập tuần 4 ospf đàm văn sáng
Báo cáo thực tập tuần 4 ospf  đàm văn sángBáo cáo thực tập tuần 4 ospf  đàm văn sáng
Báo cáo thực tập tuần 4 ospf đàm văn sáng
 
Mạng máy tính
Mạng máy tínhMạng máy tính
Mạng máy tính
 
Tổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàTổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh và
 
Bao cao da lap trinh manh
Bao cao da lap trinh manhBao cao da lap trinh manh
Bao cao da lap trinh manh
 
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.docmo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
mo-phong-dieu-che-khoa-dich-pha-qpsk-4psk-bang-matlab.doc
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215
Nghien cuu-chuan-ket-noi-khong-day-zigbeeieee-80215
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copy
 
Hệ Thống DNS
Hệ Thống DNSHệ Thống DNS
Hệ Thống DNS
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
chương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tínhchương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tính
 
đinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngđinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến động
 

Viewers also liked

Phu chuong
Phu chuongPhu chuong
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minh
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minhCông nghệ zigbee và những ứng dụng của nó đối với nhà thông minh
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minhHậu Phong
 
Mang khong day va thiet bi khong day
Mang khong day va thiet bi khong dayMang khong day va thiet bi khong day
Mang khong day va thiet bi khong dayVu Nguyentuan
 
Giới thiệu về Arduino - Arduino360
Giới thiệu về Arduino - Arduino360Giới thiệu về Arduino - Arduino360
Giới thiệu về Arduino - Arduino360
Học Tự
 
Các giao thức định tuyến trong mạng AD-HOC
Các giao thức định tuyến trong mạng  AD-HOCCác giao thức định tuyến trong mạng  AD-HOC
Các giao thức định tuyến trong mạng AD-HOC
Phú Lâm college
 
Bluetooth
BluetoothBluetooth
Bluetooth
John Williams
 
Zigbee - Building Smart Homes
Zigbee - Building Smart HomesZigbee - Building Smart Homes
Zigbee - Building Smart Homes
Omer Ali
 
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
Saikiran perfect
 
Tìm hiểu về bluetooth
Tìm hiểu về bluetoothTìm hiểu về bluetooth
Tìm hiểu về bluetooth
Kim Oanh
 
Real-Time Monitoring and Control System for Industry
Real-Time Monitoring and Control System for IndustryReal-Time Monitoring and Control System for Industry
Real-Time Monitoring and Control System for Industry
ijsrd.com
 
energy theft detection
energy theft detectionenergy theft detection
energy theft detection
abdulsuboor235
 
Industrial automation using gsm (ppt)
Industrial automation using gsm (ppt)Industrial automation using gsm (ppt)
Industrial automation using gsm (ppt)
Mahira Banu
 
Power12
Power12Power12
Vignesh.resume
Vignesh.resumeVignesh.resume
Vignesh.resume
vigneshkumar Menon
 
Brand book MPPM
Brand book MPPMBrand book MPPM
West Elgin Secondary School Promotion and Retention Report
West Elgin Secondary School Promotion and Retention ReportWest Elgin Secondary School Promotion and Retention Report
West Elgin Secondary School Promotion and Retention Report
Brendan Carey
 
Ira Vicky Harvey
Ira Vicky HarveyIra Vicky Harvey
Ira Vicky Harvey
Ira Harvey
 
Group Revenue Management
Group Revenue ManagementGroup Revenue Management
Group Revenue Management
Infiniti Software Solutions
 
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
Trafigura
 

Viewers also liked (20)

Phu chuong
Phu chuongPhu chuong
Phu chuong
 
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minh
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minhCông nghệ zigbee và những ứng dụng của nó đối với nhà thông minh
Công nghệ zigbee và những ứng dụng của nó đối với nhà thông minh
 
Mang khong day va thiet bi khong day
Mang khong day va thiet bi khong dayMang khong day va thiet bi khong day
Mang khong day va thiet bi khong day
 
Zigbee2003
Zigbee2003Zigbee2003
Zigbee2003
 
Giới thiệu về Arduino - Arduino360
Giới thiệu về Arduino - Arduino360Giới thiệu về Arduino - Arduino360
Giới thiệu về Arduino - Arduino360
 
Các giao thức định tuyến trong mạng AD-HOC
Các giao thức định tuyến trong mạng  AD-HOCCác giao thức định tuyến trong mạng  AD-HOC
Các giao thức định tuyến trong mạng AD-HOC
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Zigbee - Building Smart Homes
Zigbee - Building Smart HomesZigbee - Building Smart Homes
Zigbee - Building Smart Homes
 
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
FIRE DETECTION AND ELETRICAL POWER ON/OFF CONTROL IN HOME/INDUSTRY USING GSM ...
 
Tìm hiểu về bluetooth
Tìm hiểu về bluetoothTìm hiểu về bluetooth
Tìm hiểu về bluetooth
 
Real-Time Monitoring and Control System for Industry
Real-Time Monitoring and Control System for IndustryReal-Time Monitoring and Control System for Industry
Real-Time Monitoring and Control System for Industry
 
energy theft detection
energy theft detectionenergy theft detection
energy theft detection
 
Industrial automation using gsm (ppt)
Industrial automation using gsm (ppt)Industrial automation using gsm (ppt)
Industrial automation using gsm (ppt)
 
Power12
Power12Power12
Power12
 
Vignesh.resume
Vignesh.resumeVignesh.resume
Vignesh.resume
 
Brand book MPPM
Brand book MPPMBrand book MPPM
Brand book MPPM
 
West Elgin Secondary School Promotion and Retention Report
West Elgin Secondary School Promotion and Retention ReportWest Elgin Secondary School Promotion and Retention Report
West Elgin Secondary School Promotion and Retention Report
 
Ira Vicky Harvey
Ira Vicky HarveyIra Vicky Harvey
Ira Vicky Harvey
 
Group Revenue Management
Group Revenue ManagementGroup Revenue Management
Group Revenue Management
 
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
Not Too Big To Fail – Systemic Risk, Regulation, and the Economics of Commodi...
 

Similar to Zig bee tran hai yen

Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dungĐề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internetĐề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
HanaTiti
 
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.docDUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn ThôngPhân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
Viết Thuê Đề Tài Luận Văn trangluanvan.com
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
sunflower_micro
 
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
https://www.facebook.com/garmentspace
 
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.docGiải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩ
ssuser499fca
 
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
Dịch Vụ Viết Thuê Khóa Luận Zalo/Telegram 0917193864
 
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũngPhương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đLuận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.docTỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đĐề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Bao cao cuoi ky - ATHENA
Bao cao cuoi ky - ATHENABao cao cuoi ky - ATHENA
Bao cao cuoi ky - ATHENA
ThongErik
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.docHỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 

Similar to Zig bee tran hai yen (20)

Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dungĐề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
Đề tài: Chỉnh sửa giao diện cho website sử dụng hệ quản trị nội dung
 
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internetĐề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
Đề tài: Thiết bị xác định nhiệt độ và vị trí bệnh nhân qua internet
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
 
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.docDUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
DUNG NĂNG ĐA NGƯỜI DÙNG VÀ KỸ THUẬT SIC.doc
 
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn ThôngPhân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
Phân Tích Báo Cáo Tài Chính Tại Công Ty Điện Tử Viễn Thông
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
 
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
 
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.docGiải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
Giải pháp tự động thu thập và khai thác số liệu công tơ đo đếm.doc
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩ
 
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
Luận án: Nghiên cứu phát triển hệ thống định vị vô tuyến trong nhà sử dụng an...
 
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũngPhương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
Phương pháp tối ưu trong giai đoạn phát triển phần mềm nhũng
 
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đLuận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
 
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.docTỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD.doc
 
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
Luận văn Thạc sĩ Phát triển hệ thống quản lý tài liệu điện tử trong doanh ngh...
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đĐề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
Đề tài: Xây dựng ứng dụng Android nghe nhạc offline, HOT, 9đ
 
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
 
Bao cao cuoi ky - ATHENA
Bao cao cuoi ky - ATHENABao cao cuoi ky - ATHENA
Bao cao cuoi ky - ATHENA
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
 
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
Luận án: Phân tích, đánh giá hiệu năng hệ thống thông tin vô tuyến chuyển tiế...
 
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.docHỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
 

Zig bee tran hai yen

  • 1. TRẦNHẢIYẾN HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG --------------------------------------- Trần Hải Yến HỆTHỐNGTHÔNGTIN THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG TRONG MẠNG CẢM BIẾN ZIGBEE LUẬN VĂN THẠC SĨ KỸ THUẬT 2012–2013 HÀ NỘI 2013 HÀ NỘI - 2014
  • 2. HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG --------------------------------------- Trần Hải Yến THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG TRONG MẠNG CẢM BIẾN ZIGBEE Chuyên ngành: Hệ thống thông tin Mã số : 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS.TS Đặng Văn Chuyết HÀ NỘI - 2014
  • 3. i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Nội dung của luận văn có tham khảo và sử dụng các tài liệu, thông tin đƣợc đăng tải trên những tạp chí và các trang web theo danh mục tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày 30 tháng 11 năm 2013 Tác giả luận văn Trần Hải Yến
  • 4. ii LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến PGS.TS Đặng Văn Chuyết, ngƣời đã trực tiếp hƣớng dẫn, tạo mọi điều kiện thuận lợi, tận tình chỉ bảo và định hƣớng trong suốt quá trình thực hiện luận văn. Em xin gửi lời cảm ơn chân thành đến toàn thể thầy cô giáo của Học viện Công nghệ Bƣu chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt quá trình học tập tại trƣờng từ khi còn học đại học cho đến sau đại học. Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những ngƣời đã luôn ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi để em có thể học tập tốt. Em xin chân thành cảm ơn!
  • 5. iii MỤC LỤC LỜI CAM ĐOAN............................................................................................................i LỜI CẢM ƠN.................................................................................................................ii MỤC LỤC .....................................................................................................................iii DANH MỤC CÁC TỪ VIẾT TẮT................................................................................v DANH MỤC CÁC BẢNG...........................................................................................vii DANH MỤC CÁC HÌNH VẼ.....................................................................................viii MỞ ĐẦU ........................................................................................................................1 Chƣơng 1 – TỔNG QUAN VỀ MẠNG CẢM BIẾN ZIGBEE .....................................3 1.1. Tổng quan về IEEE 802.15.4...............................................................................3 1.2. Cấu hình mạng theo chuẩn IEEE 802.15.4..........................................................4 1.3. Mạng cảm biến ZigBee theo chuẩn IEEE 802.15.4.............................................5 1.3.1. Khái niệm......................................................................................................5 1.3.2. Ƣu và nhƣợc điểm của ZigBee .....................................................................6 1.3.3. Dải tần trong mạng ZigBee...........................................................................7 1.4. Cấu trúc mạng cảm biến ZigBee..........................................................................9 1.4.1. Tổng quan......................................................................................................9 1.4.2. Kiến trúc cụ thể của mạng ZigBee..............................................................10 1.4.3. Mô hình mạng ZigBee ................................................................................11 1.4.4. Một số ứng dụng của mạng cảm biến ZigBee ............................................12 Chƣơng 2 – THUẬT TOÁN ĐỊNH TUYẾN...............................................................14 2.1. Tổng quan định tuyến ........................................................................................14 2.1.1. Khái niệm....................................................................................................14 2.1.2 Thuật toán định tuyến..................................................................................16 2.2. Các thuật toán định tuyến trong mạng ZigBee .................................................17 2.2.1. Định tuyến ZigBee ......................................................................................18 2.2.2. Quảng bá gói tin trong ZigBee (ZigBee Broadcasting)..............................19 2.2.3. Quan hệ nhiều - một – Many-to-one...........................................................20 2.3. Thuật toán định tuyến theo yêu cầu – AODV ...................................................21
  • 6. iv 2.3.1. Tổng quan....................................................................................................21 2.3.2. Tìm đƣờng - Path Discovery.......................................................................22 2.3.3. Thiết lập đƣờng ngƣợc................................................................................23 2.3.4. Thiết lập đƣờng tiến ....................................................................................23 2.3.5. Quản lý bảng định tuyến .............................................................................25 2.3.6. Bảo trì đƣờng dẫn........................................................................................25 2.3.7. Quản lý kết nối cục bộ ................................................................................26 2.4. Thuật toán hình cây............................................................................................27 2.4.1. Tổng quan....................................................................................................27 2.4.2. Cây đơn nhánh ............................................................................................28 2.4.3. Cây đa nhánh...............................................................................................30 2.5. Vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến ZigBee .....................31 2.6. Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm biến ZigBee...........35 Chƣơng 3 – MÔ PHỎNG THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG ......................................................................................................................................41 3.1. Công cụ mô phỏng.............................................................................................41 3.1.1. Ubuntu 10.04...............................................................................................41 3.1.2. NS-2 ............................................................................................................41 3.2. Xây dựng kịch bản.............................................................................................45 3.2.1. Thuật toán AODV.......................................................................................45 3.2.2. Mạng ZigBee...............................................................................................46 3.3. Thử nghiệm........................................................................................................46 3.4. Đánh giá kết quả ................................................................................................48 3.4.1. Thuật toán định tuyến AODV.....................................................................48 3.4.2. Mạng ZigBee...............................................................................................54 Kết quả trong Nam................................................................................................54 KẾT LUẬN ..................................................................................................................57 HƢỚNG PHÁT TRIỂN LUẬN VĂN .........................................................................57 TÀI LIỆU THAM KHẢO............................................................................................58
  • 7. v DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt PHY Physical Layer Tầng vật lý DLL Data Link Layer Tầng liên kết dữ liệu PAN Private Area Net Khu vực mạng riêng tƣ LLC Logical Link Control Điều khiển kết nối logic MAC Media Access Control Điều khiển truy cập truyền thông CSMA/CA Carrier Sense Multiple Access/ Collision Avoidance Đa truy cập nhận biết sóng mang phát hiện xung đột OSI Open Systems Interconnection Reference Model Mô hình tham chiếu kết nối các hệ thống mở ACK Acknowledgment Sự thừa nhận WLAN Wireless Local Are Network Mạng không dây cục bộ FFD Full Function Device Thiết bị đầy đủ chức năng RFD Reduced Function Device Thiết bị giảm chức năng NL Network Layer Tầng mạng AL Application Layer Tầng ứng dụng NLME Network Layer Management Entity Tầng mạng quản lý thực thể
  • 8. vi NLDE Network Layer Data Entity Tầng mạng dữ liệu thực thể ZDO ZigBee Device Object Đối tƣợng thiết bị ZigBee ZAP ZigBee Application Profile Hồ sơ ứng dụng ZigBee ZC ZigBee Coordinator Điều phối ZigBee ZR ZigBee Router Định tuyến ZigBee ZED ZigBee End Device Thiết bị cuối ZigBee PSTN Public Switched Telephone Network Mạng điện thoải chuyển mạch công cộng RD Routing Device Thiết bị định tuyến RREQ Route Request Yêu cầu định tuyến RREP Route Reply Trả lời định tuyến LLACK Link Layer ACK Tầng kết nối ACK DD Designated Device Thiết bị đƣợc chỉ định HERA Hierarchical Routing Algorithm Thuật toán phân cấp định tuyến
  • 9. vii DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 1.1 Bảng ƣu nhƣợc điểm của ZigBee 6 1.2 So sánh ZigBee và Bluetooth 7 1.3 Nhà cung cấp ZigBee 13
  • 10. viii DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang 1.1 Các ứng dụng không dây 5 1.2 Dải Tần ZigBee 7 1.3 Kiến trúc OSI và kiến trúc ZigBee 9 1.4 Kiến trúc lớp (hay ngăn xếp – Stack) trong kiến trúc ZigBee 10 1.5 Mô hình tầng ZigBee đơn giản 11 1.6 Các mô hình mạng trong ZigBee 11 1.7 Các ứng dụng trong mạng cảm biến ZigBee 13 2.1 Định tuyến Anycast -1 15 2.2 Định tuyến Anycast -2 15 2.3 Định tuyến Broadcast 16 2.4 Định tuyến Multicast 16 2.5 Định tuyến Unicast 16 2.6 Mô hình định tuyến ZigBee đơn giản 18 2.7 Mô tả quá trình tìm đƣờng – path discovery 23
  • 11. ix 3.1 Kiến trúc và thƣ mục cài đặt NS-2.34 trong môi trƣờng Linux(Ubuntu) 39 3.2 Bắt đầu với node 19, đích đến là node 6 45 3.3 Định tuyến giữa các node trong AODV 45 3.4 Quá trình truyền tin sau khi đã định tuyến trong AODV 46 3.5 Khởi đầu với 7 node trong mạng hình sao 48 3.6 Quá trình truyền tin từ PAN Coor đến các node truyền tiếp đi 49 3.7 Truyền gói tin giữa node 0 và node 1 49 3.8 Toàn bộ 101 node đƣợc khởi tạo trong mô hình 50 3.9 Quá trình truyền tin của mạng ZigBee 50 3.10 Quá trình truyền tin của mạng ZigBee 51 3.11 Quá trình truyền tin của mạng ZigBee 51
  • 12. 1 MỞ ĐẦU Mạng viễn thông ngày nay đã tạo ra một cầu nối liên kết loài ngƣời trên khắp thế giới, con ngƣời sử dụng mạng để trao đổi, quản lý, giao tiếp, mua bán… Việc sử dụng tai nghe không dây, truy cập wifi đang trở nên quen thuộc và tác động đến đời sống hàng ngày. Với sự phát triển không ngừng của khoa học kĩ thuật, mạng cảm biến không dây xuất hiện ngày một phổ biến với nhiều ứng dụng trong các lĩnh vực của cuộc sống nhƣ ứng dụng giám sát và điều khiển trong sản xuất, tự động hóa gia đình và điện dân dụng, ứng dụng trong y tế và giám sát sức khỏe... Một yêu cầu rất quan trọng trong mạng cảm biến không dây là tiết kiệm năng lƣợng của pin để đảm bảo cho mọi hoạt động mạng ổn định trong một khoảng thời gian đủ lớn. Mặc dù mạng ZigBee có mức tiêu hao năng lƣợng thấp nhƣng việc lựa chọn giải thuật định tuyến tối ƣu năng lƣợng cũng quyết định rất lớn đến hoạt động lâu dài của mạng. Mạng ZigBee là đƣợc áp dụng cho các hệ thống điều khiển và cảm biến có tốc độ truyền tin thấp nhƣng chu kỳ hoạt động dài. Đối tƣợng mà mạng ZigBee nhắm vào là mạng điều khiển dành cho nhà thông minh (SmartHome), tự động hóa quá trình( Home Automation, Building Automation), trong các hoạt động theo dõi, tiếp nhận và xử lý thông tin trong các lĩnh vực nhƣ y tế (Health Care), quản lý năng lƣợng sao cho hiệu quả hơn (Smart Energy)…Khi đƣợc sử dụng trong các hệ thống này, mạng ZigBee phát huy tất cả những điểm mạnh của nó nhƣ độ trễ truyền tin thấp, tiêu hao ít năng lƣợng, giá thành thấp, ít lỗi, dễ mở rộng và thời gian sử dụng pin dài. Luận văn “Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm biến ZigBee” nghiên cứu các thuật toán định tuyến trong mạng ZigBee, đặc biệt tập trung vào vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến.
  • 13. 2 Luận văn gồm có 3 chƣơng : Chương 1 : Tổng quan về mạng cảm biến ZigBee Chƣơng này tìm hiểu về khái niệm và cấu trúc mạng cảm biến ZigBee Chương 2 : Thuật toán định tuyến Chƣơng này tập trung tìm hiểu về một số thuật toán định tuyế và vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến ZigBee Chương 3 : Mô phỏng thuật toán định tuyến tối ưu năng lượng Chƣơng này giới thiệu về công cụ mô phỏng, cách thức cài đặt và kết quả thử nghiệm, đánh giá
  • 14. 3 Chƣơng 1 – TỔNG QUAN VỀ MẠNG CẢM BIẾN ZIGBEE Mạng cảm biến ZigBee đƣợc xây dựng theo chuẩn giao thức IEEE 802.15.4, vì vậy để có cái nhìn khái quát nhất, ta tìm hiểu qua về chuẩn IEEE 802.15.4 1.1. Tổng quan về IEEE 802.15.4 Chuẩn giao thức IEEE 802.15.4 đƣợc quy định tại tầng vật lý (Physical Layer- PHY) và tầng liên kết dữ liệu (Data Link Layer – DLL). Nó là chuẩn cho giao tiếp trong mạng không dây, năng lƣợng thấp. Các thiết bị trong mạng tự tổ chức thành một mạng nhỏ gọi là mạng cá nhân (Private Area Net – PAN). IEEE 802.15.4 định nghĩa hai tầng con của tầng DLL – Điều khiển liên kết logic (Logical Link Control – LLC) và Điều khiển truy cập truyền thông (Media Acsess Control – MAC). Tầng MAC định nghĩa việc truy cập tới môi trƣờng chung của nhiều thiết bị bằng cách sử dụng các giao thức thích hợp nhƣ là Carrier Sense Multiple Access/ Collision Avoidance – (CSMA/CA), trong khi đó LLC phân phát các gói dữ liệu tới dịch vụ tƣơng ứng ở tầng mạng (Network Layer – NL). Tầng vật lý và tầng liên kết dữ liệu trong chuẩn IEEE 802.15.4 định nghĩa đầy đủ môi trƣờng trong việc giao tiếp và các nguyên lý cho việc truy cập môi trƣờng theo các cách thích hợp. Tại tầng vật lý của mô hình OSI, ZigBee căn cứ vào chuẩn IEEE 802.15.4 – 2003 sử dụng công nghệ truyền sóng radio với Offset-Quadrature Phase Shift Keying (O-QPSK) và Direct Sequence Spread Spectrum (DSSS) nâng cao tỷ lệ signal-to-noise. CSMA/CA đƣợc sử dụng tại DLL để tránh xung đột. Việc kiểm tra sự toàn vẹn dữ liệu đƣợc thực hiện bằng cách truyền lại và sử dụng ACK tại mỗi node để giảm thiểu khả năng mất dữ liệu.
  • 15. 4 Việc đánh giá độ tin cậy của một mạng đƣợc thực hiện nhờ tính toán tỷ lệ signal-to-noise và năng lƣợng nhận đƣợc tại điểm cuối liên kết. Chuẩn IEEE 802.15.4 định nghĩa các dải tần sử dụng khác nhau. Tiêu biểu có dải tần số 2.4 GHz đƣợc sử dụng cho các thiết bị xây dựng. Mạng cục bộ không dây – WLAN ( chuẩn IEEE 802.11) và mạng Bluetooth ( chuẩn IEEE 802.15.1) cũng sử dụng dải tần số này. Chuẩn IEEE 802.15.4 định nghĩa hai loại thiết bị :  Thiết bị chức năng đầy đủ (Full Function Device) – FFD  Thiết bị bình thƣờng (Reduced Function Device) – RFD. Sự khác biệt lớn nhất giữa hai loại thiết bị này chính là RFD không có khả năng khởi động cho một mạng cá nhân (Private Are Network - PAN). Chính vì thế PAN luôn đƣợc khởi động bằng FFD. Hơn thế nữa, việc giao tiếp trực tiếp chỉ cho phép giữa hai thiết bị FFD hoặc giữa một FFD và một RFD, không cho phép giao tiếp giữa các RFD với nhau. Một mạng PAN là một mạng bao gồm các thiết bị trong một khoảng nhỏ. Sự kết hợp nhiều mạng PAN là có thể, thậm chí khi các mạng PAN đó sử dụng chung một tần số. Với cấu trúc tự tổ chức, các mạng PAN rất dễ dàng bảo trì và tự sửa lỗi. 1.2. Cấu hình mạng theo chuẩn IEEE 802.15.4 Chuẩn IEEE 802.15.4 cung cấp 2 cấu hình mạng cơ bản, mạng hình sao (Star) và mạng ngang hàng (Peer-to-Peer). Trong mạng hình sao, một node trung tâm là FFD. Node trung tâm sẽ chịu trách nhiệm đảm bảo giao tiếp giữa các RFD trong mạng. Khi một RFD muốn giao tiếp với một RFD khác trong mạng, nó bắt buộc phải giao tiếp thông qua node trung tâm. Mạng cấu hình này sẽ làm quá tải node trung tâm, và khi node trung tâm bị hỏng thì mọi giao tiếp giữa các thiết bị RFD trong mạng sẽ không thực hiện đƣợc. Trong mạng ngang hàng, thiết bị FFD sẽ trực tiếp giao tiếp với các thiết bị khác. Giao tiếp giữa các thiết bị RFD là cho phép, lúc này FFD đóng vai trò nhƣ một bộ
  • 16. 5 chuyển tiếp. Trong mạng này, một thiết bị lỗi có thể đƣợc loại bỏ đi bằng cách tăng thêm số hàng xóm trực tiếp. Tuy nhiên, với mạng ngang hàng thì việc định tuyến dọc theo mạng là không thể, khả năng duy nhất để giao tiếp thông qua mạng đó là sử dụng quảng bá, tuy nhiên việc đó sẽ tăng đƣờng truyền trong mạng. 1.3. Mạng cảm biến ZigBee theo chuẩn IEEE 802.15.4 1.3.1. Khái niệm Chúng ta đã từng biết đến các chuẩn giao tiếp không dây khá phổ biến nhƣ :Wimax, 3G, Bluetooth...Với các ứng dụng video không dây, dữ liệu không dây, mạng không dây, cảm biến không dây…. Hình 1.1 : Các ứng dụng không dây Trong những năm gần đây xuất hiện một chuẩn giao tiếp mới đƣợc ứng dụng rất rộng rãi trong nhiều lĩnh vực, đó là mạng ZigBee (đƣợc công bố lần đầu tiên vào năm 2002 bởi liên minh ZigBee). Mạng ZigBee đƣợc tạo ra nhằm phục vụ cho những ứng dụng yêu cầu giá thành và công suất thấp nhƣng phải có khả năng linh động trong phạm vi rộng.
  • 17. 6 Mạng ZigBee đƣợc phát triển và xúc tiến bởi hãng ZigBee Alliance, với sự hỗ trợ từ hơn 200 công ty trên thế giới nhƣ: SIEMENS, ATMEL, NI, NEC, TEXAS INSTRUMENTS, EPSON.... Về bản chất mạng ZigBee cũng là một chuẩn giao tiếp không dây nhƣ những chuẩn không dây khác (UWB, Wi-Fi, IrDA, 3G, Bluetooth..) nhƣng nó mang những đặc tính kỹ thuật và đặc tính vật lý riêng và do đó sẽ chỉ phù hợp với một mảng ứng dụng nhất định. Theo nhƣ hình trên có thể thấy rằng mạng ZigBee có đặc điểm là phạm vi hoạt động hẹp, tốc độ truyền trong mạng ZigBee thích hợp cho các cảm biến không dây và chuyên dùng cho các ứng dụng giám sát, điều khiển. 1.3.2. Ưu và nhược điểm của ZigBee Để thấy đƣợc ƣu điểm và nhƣợc điểm của mạng ZigBee có thể theo dõi bảng dƣới đây. Bảng 1.1 : Bảng ƣu, nhƣợc điểm của ZigBee Ƣu điểm Nhƣợc điểm * Giá thành thấp * Tiêu thụ công suất nhỏ * Kiến trúc mạng linh hoạt * Đƣợc hỗ trợ bởi nhiều công ty * Số lƣợng các node lớn (65k) * Lỗi ở một điểm chính có thể gây lỗi hệ thống. * Tốc độ truyền thấp * Chƣa có đầy đủ các thiết bị để phát triển Để cho rõ ràng hơn, ta hãy làm một phép so sánh giữa Mạng ZigBee và một chuẩn không dây cũng khá phổ biến khác.
  • 18. 7 Bảng 1.2: So sánh ZigBee và Bluetooth Đặc tính ZigBee Bluetooth Tiêu thụ công suất 10W 100W Giá thành ( đầu 2005) 1,1 $ 3$ Độ nhạy -92dbm(0,63pW) -62dbm(6,2pW) Độ linh hoạt 65536 node (trong sơ đồ sao) 7 node (trong sơ đồ sao) Độ an toàn 128 bit mã hóa 64/128 bit mã hóa Vùng làm việc Hiệu quả ở 10 - 75m Hiệu quả ở < 10m Có thể thấy rằng với những ứng dụng cho nhiều phần tử, yêu cầu độ linh hoạt cao, giá thành thấp, tiêu thụ công suất nhỏ thì dùng Mạng ZigBee là rất phù hợp. 1.3.3. Dải tần trong mạng ZigBee Tín hiệu truyền trong mạng ZigBee thực chất là tín hiệu radio và đƣợc hỗ trợ trong các dải tần số sau: Hình 1.2: Dải Tần ZigBee
  • 19. 8 Dải 868,3 Mhz: Chỉ một kênh tín hiệu .Trong dải này tốc độ truyền là 20kb/s. Dải 902 Mhz - 928 Mhz: Có 10 kênh tín hiệu từ 1 - 10 với tốc độ truyền thƣờng là 0kb/s. Dải 2,4 Ghz - 2,835 Ghz: có 16 kênh tín hiệu từ 11 - 26 với tốc độ truyền 250 kb/s. Trong nhiều ứng dụng, ngƣời ta hay dùng dải tần 2,4 Ghz - 2,835 Ghz. Đây là dải tần phổ biến và đƣợc hỗ trợ bởi nhiều thiết bị. Hơn nữa với mạng ZigBee, dải tần này có tới 16 kênh tín hiệu trong dải (mỗi kênh cách nhau 5MHz tần số) với tốc độ truyền lớn nhất: 250kb/s. Nhƣ vậy ta có thể thấy rằng mạng ZigBee đã thừa hƣởng những ƣu điểm của mạng cảm biến không dây nhƣ:  Độ linh động cao  Mức tiêu thụ năng lƣợng thấp  Bảo mật cao  Sử dụng nhƣ một chuẩn mở Sở dĩ có thể nói nhƣ vậy là do:  Mạng không dây bản chất là không tin cậy, nguyên nhân là do đặc tính vật lý của nó. Kim loại, nƣớc, thậm chí cả cơ thể con ngƣời cũng có thể là vật cản sóng hoặc ảnh hƣởng tới sóng truyền trong mạng không dây. Tránh một thiết bị không dây để nhận sóng truyền từ một thiết bị là hết sức dễ dàng. Chính vì thế, các thiết bị trong mạng ZigBee sử dụng nhiều kỹ thuật khác nhau để làm tăng độ tin cậy của mạng không dây.  Bảo mật trong mạng ZigBee dựa trên thuật toán chuẩn mã hóa cao cấp – AES 128. Sự chứng thực và tính toàn vẹn của thông điệp đƣợc cung cấp bởi 1 bộ mã hóa để đảm bảo độ tin cậy giao tiếp giữa hai node trong mạng. Ý tƣởng của việc này dựa trên một trung tâm xác thực. Điển hình cho kiểu thiết kế này chính là thiết bị ZC (ZigBee Coordinator), nó đƣợc thiết kế nhƣ một trung tâm xác thực thông tin.
  • 20. 9 Khi mà khái niệm về trung tâm xác thực đƣợc sử dụng, tất cả khóa cho việc mã hóa thông tin giữa hai thiết bị đều đƣợc cung cấp bới trung tâm xác thực.  Mạng ZigBee đƣợc thiết kế và phân phối giống nhƣ một chuẩn mở toàn cầu. Nó cung cấp mọi khả năng cho các nhà sản xuất có thể sản xuất các thiết bị dựa trên các đặc tả ZigBee cung cấp với giả rẻ. Hơn thế nữa, sự tƣơng thích giữa các thiết bị của các nhà sản xuất khác nhau là rất tốt, miễn sao các nhà sản xuất tuân thủ đúng các chuẩn do mạng ZigBee cung cấp. Đây là một điều có lợi cho ngƣời tiêu dùng, ngƣời tiêu dùng có thể mua giá rẻ, đƣợc lựa chọn các sản phẩm của các nhà sản xuất khác nhau mà không cần lo lắng vấn đề tƣơng thích giữa các thiết bị ZigBee của các nhà sản xuất khác nhau. 1.4. Cấu trúc mạng cảm biến ZigBee 1.4.1. Tổng quan Trong truyền thông, khi thực hiện một giao thức, ngƣời ta thƣờng dựa trên một mô hình kiến trúc chuẩn. Bất kỳ một giao thức truyền thông nào đều có thể qui chiếu tới một lớp nào đó trong mô hình của kiến trúc tƣơng ứng. Trong truyền thông ta đã biết đến mô hình qui chiếu OSI 7 lớp. Trong mạng ZigBee, ngƣời ta cũng định nghĩa một kiến trúc giao tiếp, đó là kiến trúc ZigBee. Có thể hiểu kiến trúc này cũng tƣơng tự nhƣ kiến trúc OSI 7 lớp trong truyền thông công nghiệp. Hình 1.3 : Kiến trúc OSI và kiến trúc ZigBee
  • 21. 10 1.4.2. Kiến trúc cụ thể của mạng ZigBee Hình 1.4 : Kiến trúc lớp (hay ngăn xếp - Stack) trong kiến trúc ZigBee Mạng ZigBee đƣợc xây dựng ở trên của hai lớp MAC (Medium Access Control) và lớp vật lý (PHY). Lớp MAC và lớp PHY đƣợc định nghĩa theo chuẩn IEEE 802.15.4 dành cho các ứng dụng WPAN (PAN không dây) tốc độ thấp. Hai tầng đƣợc đặc tả bởi ZigBee đó là: Tầng Mạng (Network Layer – NL) và Tầng Ứng Dụng (Application Layer – AL). Tầng mạng chịu trách nhiệm trong việc phân phối gói tin, quảng bá mạng. Dựa trên chức năng thì ta có thể chia tầng mạng thành 2 phần đó là Thực thể quản lý tầng mạng - Network Layer Management Entity - NLME và Thực thể dữ liệu tầng mạng ( - Network Layer Data Entity – NLDE). NLDE sẽ cung cấp cơ chế cần thiết để chuyển đổi dữ liệu. Mặt khác NLME giám sát, quản lý các vấn đề đƣợc NLDE cung cấp và các cơ chế trong tầng mạng ví dụ nhƣ giám sát việc định tuyến… ZigBee Device Object (ZDO) và ZigBee Application Profile (ZAP), đƣợc xây dựng trên tầng ứng dụng. ZAP phù hợp với các thông điệp, định dạng thông
  • 22. 11 điệp và quá trình thực thi, nó sẽ cung cấp, đảm bảo sự tƣơng thích giữa các thiết bị. Một thiết bị ZigBee sẽ đƣợc khởi tạo bằng cách sử dụng chức năng cơ bản của ZDO, hơn thế nữa các chức năng quản lý cũng đƣợc thực thi bởi các ZDO. Hình 1.2: Mô hình tầng ZigBee đơn giản Hình 1.5 cho ta cái nhìn tổng quan về mô hình tầng ZigBee. Nó mô tả liên kết giữa ZDO – ZAP cũng nhƣ giữa NLME – NLDE. Hơn thế nữa, bằng cách sử dụng mô hình đƣợc định nghĩa bởi tầng mạng và tầng ứng dụng, hai tầng trong ZigBee đã có thể trao đổi thông tin với nhau. 1.4.3. Mô hình mạng ZigBee Trong truyền thông dùng mạng ZigBee thƣờng hỗ trợ 3 mô hình mạng chính: mạng hình sao, mạng hình cây và mạng sơ đồ lƣới. Hình 1.6: Các mô hình mạng trong ZigBee Trong lớp mạng ZigBee cho phép 3 kiểu thiết bị: Bộ điều phối Zigbee (ZigBee Coordinator - ZC): Chỉ có duy nhất 1 ZC trong bất kỳ mạng ZigBee nào và nó có chức năng chính là kích hoạt thông tin về mạng thông qua cấu hình các kênh, PAN ID và hiện trạng ngăn xếp.
  • 23. 12 Bộ định tuyến Zigbee (ZigBee Router - ZR): Là một thành phần của hệ thống mạng mà chức năng của nó là thực hiện việc vận chuyển các gói tin trong mạng. Nó thực hiện các bảng kết nối cũng nhƣ định vị địa chỉ cho các ZED của nó. Thiết bị cuối Zigbee (ZigBee End Device - ZED): Là một thành phần của hệ thống mạng nhƣng không tham gia vào quá trình vận chuyển tin. Nó có đƣợc tối ƣu sao cho công suất tiêu thụ là nhỏ nhất nhờ các chế độ bắt tín hiệu và kỹ thuật “ngủ” ("sleep"). Quá trình thiết lập trong một mạng ZigBee nhƣ sau: - Quét mạng (Network Scan): Các thiết bị trong mạng sẽ quét các kênh tín hiệu, ví dụ nếu dùng dải tần 2,4GHz thì sẽ có 16 kênh để quét, sau đó thiết bị sẽ chọn kênh phù hợp nhất để giao tiếp trong mạng. Ta gọi đó là sự chiếm chỗ (ocupacy). - Thiết lập/Gia nhập mạng: Thiết bị có thể tạo ra một mạng trên một kênh hoặc gia nhập vào một mạng đã tồn tại sẵn. - Phát hiện thiết bị: Thiết bị sẽ yêu cầu mạng phát hiện ra địa chỉ của mình trên các kênh đƣợc kích hoạt. - Phát hiện dịch vụ: Thiết bị quét các dịch vụ đƣợc hỗ trợ trên thiết bị trong phạm vi mạng. - Liên kết: Thiết bị giao tiếp với nhau thông qua các lệnh và các tin nhắn điều khiển. 1.4.4. Một số ứng dụng của mạng cảm biến ZigBee Nhƣ đã nói ở trên: Mạng ZigBee rất phù hợp với những ứng dụng yêu cầu giá thành thấp, tiêu thụ năng lƣợng nhỏ và tính linh động tốt. Vì vậy ngày nay ZigBee đƣợc dùng vào rất nhiều ứng dụng trong cuộc sống nhƣ: Các hệ chiếu sáng thông minh, HVAC, Công nghiệp, cảm biến không dây, bệnh viện....Có thể thấy trên hình dƣới:
  • 24. 13 Hình 1.7: Các ứng dụng trong mạng cảm biến ZigBee Hiện nay có rất nhiều hãng sản xuất và bán các IC cũng nhƣ các Module hỗ trợ truyền nhận bằng ZigBee. Có thể giới thiệu một số sản phẩm phổ biến nhƣ sau : Bảng 1.3: Nhà cung cấp ZigBee MC13202 của Freescale MRF24J40 của MICROCHIP CC2400 của Texas Instrumen Kít ZAXM-201 của NEC
  • 25. 14 Chƣơng 2 – THUẬT TOÁN ĐỊNH TUYẾN 2.1. Tổng quan định tuyến 2.1.1. Khái niệm Trong ngành mạng máy tính, định tuyến (tiếng Anh: routing hay routeing) là quá trình chọn lựa các đƣờng đi trên một mạng máy tính để gửi dữ liệu qua đó. Việc định tuyến đƣợc thực hiện cho nhiều loại mạng, trong đó có mạng điện thoại, liên mạng, Internet, mạng giao thông. Định tuyến chỉ ra hƣớng, sự di chuyển của các gói (dữ liệu) đƣợc đánh địa chỉ từ điểm nguồn của chúng, hƣớng đến đích cuối thông qua các node trung gian; thiết bị phần cứng chuyên dùng đƣợc gọi là router (bộ định tuyến). Tiến trình định tuyến thƣờng chỉ hƣớng đi dựa vào bảng định tuyến, đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trên mạng. Vì vậy việc xây dựng bảng định tuyến, đƣợc tổ chức trong bộ nhớ của router, trở nên vô cùng quan trọng cho việc định tuyến hiệu quả. Các mạng nhỏ có thể có các bảng định tuyến đƣợc cấu hình thủ công, còn những mạng lớn hơn có topo mạng phức tạp và thay đổi liên tục thì xây dựng thủ công các bảng định tuyến là vô cùng khó khăn. Tuy nhiên, hầu hết mạng điện thoại chuyển mạch chung (public switched telephone network - PSTN) sử dụng bảng định tuyến đƣợc tính toán trƣớc, với những tuyến dự trữ nếu các lộ trình trực tiếp đều bị nghẽn. Định tuyến động (dynamic routing) cố gắng giải quyết vấn đề này bằng việc xây dựng bảng định tuyến một cách tự động, dựa vào những thông tin đƣợc giao thức định tuyến cung cấp, và cho phép mạng hành động gần nhƣ tự trị trong việc ngăn chặn mạng bị lỗi và nghẽn. Định tuyến động chiếm ƣu thế trên Internet. Tuy nhiên, việc cấu hình các giao thức định tuyến động thƣờng đòi hỏi nhiều kinh nghiệm cho nên tốt nhất vẫn là nên kết hợp giữa định tuyến thủ công và tự động.
  • 26. 15 Những mạng trong đó thông tin đƣợc vận chuyển, ví dụ nhƣ Internet, chia dữ liệu thành các gói, rồi dán nhãn với các đích đến cụ thể và mỗi gói đƣợc lập lộ trình riêng biệt. Các mạng xoay vòng, nhƣ mạng điện thoại, thực hiện định tuyến để tìm đƣờng cho các vòng (ví dụ nhƣ cuộc gọi điện thoại) để chúng có thể gửi lƣợng dữ liệu lớn mà không phải tiếp tục lặp lại địa chỉ đích. Định tuyến IP truyền thống vẫn còn tƣơng đối đơn giản vì nó dùng cách định tuyến đến bƣớc kế tiếp (next-hop routing), router chỉ xem xét nó sẽ gửi gói thông tin đến đâu, và không quan tâm đƣờng đi sau đó của gói trên những bƣớc truyền còn lại. Tuy nhiên, những chiến lƣợc định tuyến phức tạp hơn có thể đƣợc dùng, và thƣờng đƣợc dùng trong những hệ thống nhƣ MPLS, ATM hay Frame Relay, những hệ thống này đôi khi đƣợc sử dụng nhƣ công nghệ bên dƣới để hỗ trợ cho mạng IP. Các kiểu định tuyến bao gồm: - Anycast : Cho phép định tuyến từ một node tới một node Hình 2.1: Định tuyến Anycast - 1 Hình 2.2 : Định tuyến Anycast – 2 - Broadcast : Định tuyến từ 1 node tới tất cả các node Hình 2.3: Đính tuyến Broadcast
  • 27. 16 - Multicast : Định tuyến từ 1 node tới nhiều node Hình 2.4: Định tuyếnMulticast - Unicast :Định tuyến từ một node tới một node Hình 2.5: Định tuyến Unicast 2.1.2 Thuật toán định tuyến 2.1.2.1. Thuật toán vector khoảng cách - Distance-vector routing protocols Thuật toán này dùng thuật toán Bellman-Ford. Phƣơng pháp này chỉ định một con số, gọi là chi phí (hay trọng số), cho mỗi một liên kết giữa các node trong mạng. Các node sẽ gửi thông tin từ điểm A đến điểm B qua đƣờng đi mang lại tổng chi phí thấp nhất (là tổng các chi phí của các kết nối giữa các node đƣợc dùng). Thuật toán hoạt động với những hành động rất đơn giản. Khi một node khởi động lần đầu, nó chỉ biết các node kề trực tiếp với nó, và chi phí trực tiếp để đi đến đó (thông tin này, danh sách của các đích, tổng chi phí của từng node, và bƣớc kế tiếp để gửi dữ liệu đến đó tạo nên bảng định tuyến, hay bảng khoảng cách). Mỗi node, trong một tiến trình, gửi đến từng “hàng xóm” tổng chi phí của nó để đi đến các đích mà nó biết. Các node “hàng xóm” phân tích thông tin này, và so sánh với những thông tin mà chúng đang “biết”; bất kỳ điều gì cải thiện đƣợc những thông tin chúng đang có sẽ đƣợc đƣa vào các bảng định tuyến của những “hàng xóm” này. Đến khi kết thúc, tất cả node trên mạng sẽ tìm ra bƣớc truyền kế tiếp tối ƣu đến tất cả mọi đích, và tổng chi phí tốt nhất.
  • 28. 17 Khi một trong các node gặp vấn đề, những node khác có node hỏng này trong lộ trình của mình sẽ loại bỏ những lộ trình đó, và tạo nên thông tin mới của bảng định tuyến. Sau đó chúng chuyển thông tin này đến tất cả node gần kề và lặp lại quá trình trên. Cuối cùng, tất cả node trên mạng nhận đƣợc thông tin cập nhật, và sau đó sẽ tìm đƣờng đi mới đến tất cả các đích mà chúng còn tới đƣợc. 2.1.2.2. Thuật toán trạng thái kết nối (Link-state routing protocol) Khi áp dụng các thuật toán trạng thái kết nối, mỗi node sử dụng dữ liệu cơ sở của nó nhƣ là một bản đồ của mạng với dạng một đồ thị. Để làm điều này, mỗi node phát đi tới tổng thể mạng những thông tin về các node khác mà nó có thể kết nối đƣợc, và từng node góp thông tin một cách độc lập vào bản đồ. Sử dụng bản đồ này, mỗi router sau đó sẽ quyết định về tuyến đƣờng tốt nhất từ nó đến mọi node khác. Thuật toán đã làm theo cách này là Dijkstra, bằng cách xây dựng cấu trúc dữ liệu dạng cây, trong đó node hiện tại là gốc, và chứa mọi node khác trong mạng. Bắt đầu với một cây ban đầu chỉ chứa chính nó. Sau đó lần lƣợt từ tập các node chƣa đƣợc thêm vào cây, nó sẽ thêm node có chi phí thấp nhất để đến một node đã có trên cây. Tiếp tục quá trình đến khi mọi node đều đƣợc thêm. Cây này sau đó phục vụ để xây dựng bảng định tuyến, đƣa ra bƣớc truyền kế tiếp tốt ƣu … để từ một node đến bất kỳ node khác trên mạng. 2.2. Các thuật toán định tuyến trong mạng ZigBee Tổng quan : Nhƣ đã biết mạng ZigBee định nghĩa tầng mạng và tầng ứng dụng cho thiết bị IEEE 802.15.4. Tầng ứng dụng cung cấp khung làm việc hay cung cấp API cho các ứng dụng. Trong khi đó tầng mạng bao gồm cơ chế cấu hình cho tầng mạng và định tuyến. Mạng hình sao: Mạng có một thiết bị điều phối chung (Zigbee Coordinator- ZC). Mỗi thiết bị sẽ truyền trực tiếp gói tin tới ZC Mạng hình cây: Một cây định tuyến tại ZC đƣợc tạo dựa trên quan hệ cha- con. Trong mạng hình cây, định tuyến phân cấp có thể đƣợc sử dụng.
  • 29. 18 Một lƣu ý rằng: ngay trong cấu hình mạng lƣới thì việc phân cấp quan hệ cha con luôn đƣợc tạo bởi tầng MAC của IEEE 802.15.4. 2.2.1. Định tuyến ZigBee Cơ chế định tuyến của ZigBee đƣợc thiết kể ở tầng mạng. Gói dữ liệu đƣợc đóng gói tại DLL và thông qua tầng vật lý để chuyển tiếp tới RD (thiết bị định tuyến- Routing Device). RD sẽ mở gói dữ liệu tại tầng liên kết dữ liệu của nó, kiểm tra thông tin bƣớc truyền kế tiếp cho đích truyền riêng và đóng gói lại gói dữ liệu để vận chuyển. Node đích đầu tiên sẽ phải mở gói dữ liệu tại tầng liên kết dữ liệu của nó. Sau đó, gói dữ liệu tiếp tục đƣợc mở tại tầng tại tầng mạng và chuyển lên tầng cao hơn. Hình 2.6: Mô hình định tuyến ZigBee đơn giản Các khung đƣợc định tuyến bởi ZC và ZR (Zigbee Routor: node đinh tuyến Zigbee) thông qua mạng PAN. Thiết bị cuối Zigbee (ZED) không tham gia vào việc chuyển tiếp gói tin. Chính vì thế ZED thực thi nhƣ những thiết bị RFD đơn thuần. Các cấu trúc mạng PAN khác nhau và các yêu cầu về mạng khác nhau cũng yêu cầu những khái niệm khác nhau về định tuyến hay là với mỗi mạng PAN có cấu trúc khác nhau ta cần một khái niệm định tuyến phù hợp. Đối với mạng tĩnh, định tuyến từ nguồn (Source Routing) là một khái niệm thích hợp bởi vì nó cung cấp thông tin định tuyến của mạng thông qua các bản ghi cấu hình mạng đƣợc định nghĩa trƣớc đó. Với việc sử dụng khái niệm định tuyến này sẽ rút ngắn khoảng thời gian định tuyến thành công qua mạng.
  • 30. 19 Đối với mạng động cần cung cấp khả năng thay đổi trong cấu trúc mạng, thiết bị ZigBee có thể rời khỏi phạm vi của ZR liên kết với nó và có thể liên kết với mạng thông qua một ZR khác. Trong trƣờng hợp này, định tuyến động đƣợc tạo ra bằng cách sử dụng các bản tin yêu cầu định tuyến RREQ cho các định tuyến chƣa biết hoặc các định tuyến chƣa làm việc sẽ hiệu quả hơn nhiều. Các RREQ là các gói dữ liệu ở tầng mạng, nó đƣợc truyền đi để xác định định tuyến tốt nhất, các đƣờng liên kết có sẵn thông qua mạng để tới đƣợc node đích. Khi một thiết bị Zigbee (Zigbee Device –ZD) hay ZC nhận đƣợc yêu cầu định tuyến và một trong số node con ZED của nó hoặc là bản thân nó chính là đích thì nó sẽ trả lời bằng một bản tin trả lời (RREP - Route Reply). Mỗi node trên đƣờng tới mục tiêu sẽ tự tăng chi phí tích lũy định tuyến của nó lên. Bằng cách sử dụng chi phí định tuyến của mỗi bƣớc nhảy, nó có thể giúp chỉ ra con đƣờng tốt nhất tới đích cho node nguồn. Đặc tả ZigBee sử dụng thuật toán Ad hoc On Demand Distance Vector - AODV làm thuật toán định tuyến. Với thuật toán định tuyến này, các RREQ đƣợc truyền tới tất cả các thiết bị trong mạng. Các thiết bị trong mạng sẽ trả lời bằng gói tin RREP. Mỗi bƣớc truyền chuyển tiếp các gói tin RREP, nó sẽ thêm vào gói tin thông tin định tuyến bao gồm: chi phí định tuyến và thông tin bƣớc truyền kế tiếp. Khi một RREP nhận đƣợc bởi RREQ khởi tạo nó (cho lần đầu tiên hoặc với chi phí định tuyến thấp hơn), bảng thông tin định tuyến sẽ đƣợc cập nhật hoặc tạo mới để ghi lại đƣờng định tuyến đó. Truyền thông tin thông qua một mạng PAN có thể đƣợc thực hiện bằng việc đánh địa chỉ theo kiểu unicast, multicast, hoặc broadcast. 2.2.2. Quảng bá gói tin trong ZigBee (ZigBee Broadcasting) Sử dụng việc định địa chỉ Broadcast, tất cả node trong mạng đều đƣợc thông báo về khung gửi. Khung định địa chỉ sẽ không bao giờ nhận đƣợc gói tin ACK. Do đó, truyền tin kiểu broadcast thực sự là không tin cậy. Điển hình của quảng bá trong mạng ZigBee là có quá nhiều gói tin tới mỗi node hàng xóm. Khi một gói tin quảng bá đƣợc nhận thành công tại một node, thì mọi gói tin quảng bá khác sẽ bị bỏ qua.
  • 31. 20 Ngoài ra, ZigBee thực hiện cơ chế nhận thụ động này. Bất cứ khi nào, một gói tin quảng bá đƣợc nhận, một mục trong bảng giao dịch sẽ đƣợc tạo ra. Bảng giao dịch thông tin quảng bá lƣu trữ thông tin mà thiết bị lân cận đã chuyển tiếp một quảng bá cụ thể. Với hiểu biết này, việc phát lại một quảng bá chỉ cần thiết nếu ít nhất một trong các thiết bị lân cận chƣa chuyển tiếp gói tin quảng bá. Định địa chỉ Multicast nghĩa là gửi một khung tới tất cả thành viên trong nhóm. Nhóm lúc này phải đƣợc đƣợc nghĩa trong mạng. Cũng nhƣ broadcast, multicast cũng đƣợc thực hiện bằng cách gửi nhiều gói tin dữ liệu trong mạng. Mỗi node trong mạng sẽ quyết định gói tin thuộc về con của nó hay bản thân nó, trong trƣờng hợp khác, các gói dữ liệu sẽ bị loại bỏ. Multicast là một dạng lai giữa uinicast và broadcast. Tùy thuộc vào chế độ của multicast, chúng có thể đƣợc chuyển tiếp bởi tất cả các bƣớc nhảy liên tục tới broadcast hoặc gửi bởi unicast đến khi gói tin nhận đƣợc bởi một trong số node trong nhóm multicast. Chỉ các thiết bị trong nhóm multicast cần chủ động để nhận gói tin quảng bá của nhóm. Thiết bị nhận nhận các gói tin bằng cách kiểm tra cờ multicast trong tiêu đề gói tin ZigBee. Nếu một gói tin multicast đƣợc xác định, địa chỉ đích đƣợc sử dụng nhƣ một định danh – ID của nhóm multicast, sẽ xác định duy nhất một nhóm multicast trong toàn bộ mạng. 2.2.3. Quan hệ nhiều - một – Many-to-one Trong nhiều trƣờng hợp sử dụng, tồn tại một node trong mạng PAN, nó thu thập dữ liệu của tất cả thiết bị khác. Điều này có thể gây ra bởi có một thiết bị điều khiển tập trung hoặc một thiết bị thu thập thông tin. Nhƣ một node thu thập đƣợc gọi là tập trung hay tổng hợp. Nếu không có bất cứ một tối ƣu hóa nào, tất cả thiết bị trong mạng cần phải khởi tạo một RREQ để lấy thông tin định tuyến hƣớng tới bộ tập trung. Chính vì thế, đặc tả ZigBee đã định nghĩa một mô hình đinh tuyến tối ƣu cho những trƣờng hợp đó gọi là đinh tuyến nhiều-một many-to-one. Điều đó có nghĩa, bộ tập trung khởi tạo gói tin định tuyến, nó sẽ đƣợc quảng bá trong mạng.
  • 32. 21 Trên tuyến đƣờng định tuyến gói tin, mỗi thiết bị định tuyến của mạng sẽ tạo một bảng mục tƣơng ứng tới bộ tập trung. 2.3. Thuật toán định tuyến theo yêu cầu – AODV 2.3.1. Tổng quan Định tuyến là một cơ chế rất quan trọng của tầng mạng ZigBee. Nếu cơ chế định tuyến làm việc không hiệu quả sẽ ảnh hƣởng tới hiệu năng của toàn bộ mạng. Cơ chế định tuyến hay thuật toán định tuyến và tầm ảnh hƣởng của nó bị chi phối bởi nhiều yếu tố, ví dụ nhƣ: kích thƣớc mạng, cấu trúc của mạng, tài nguyên của mạng. ZigBee sử dụng cơ chế, thuật toán AODV cho việc định tuyến bên trong mạng lƣới của nó – mesh network. Phần phức tạp nhất trong cơ chế AODV chính là tìm ra tuyến – route discovery. Tìm tuyến là một cơ chế của tầng mạng ZigBee để thu thập thông tin định tuyến từ mạng. Những thiết bị chƣa biết trong mạng, chƣa có trong bảng định tuyến thiết bị, sẽ chờ đợi một gói tin RREQ để cho phép truyền thông qua bƣớc nhảy bổ sung. Đặc tả ZigBee mô tả tìm ra định tuyến nhƣ sau, khám phá định tuyến đƣợc khởi tạo bằng cách gửi một tin RREQ tại thiết bị gốc. Gói tin RREQ sẽ đƣợc quảng bá tới tất cả thiết bị. Mỗi thiết bị nhận đƣợc gói tin RREQ sẽ thêm vào gói tin những thông tin nhƣ giá trị chi phí của lần truyền cuối cùng. Hơn nữa, thiết bị tìm kiếm một mục trong bảng định tuyến tƣơng ứng với địa chỉ nguồn và định danh RREQ trong gói tin. Nếu tồn tại một mục phù hợp trong bảng và chi phí cao hơn so với chi phí mới tìm đƣợc, bảng định tuyến sẽ đƣợc cập nhật hoặc đƣợc tạo tƣơng ứng với mục RTE đó. Các vấn đề chính trong thuật toán: + Quảng bá gói tin tìm đƣờng khi cần thiết + Phân biệt giữa quản lý kết nối cục bộ và bảo trì mạng tổng quát
  • 33. 22 + Khuếch tán thông tin khi mạng cục bộ thay đổi tới những node lân cận, những node cần thông tin này. 2.3.2. Tìm đường - Path Discovery Quá trình phát hiện đƣờng đƣợc khởi tạo khi một node nguồn cần kết nối tới một node khác mà nó chƣa có thông tin định tuyến tới node đó trong bảng định tuyến. Mỗi node trong nó sẽ luôn chứa thông tin riêng biệt về: thứ tự node – node sequence number và định danh quảng bá – broadcast_id. Node nguồn sẽ khởi tạo việc tìm đƣờng bằng cách quảng bá gói tin yêu cầu định tuyến tới các hàng xóm của nó. Gói tin yêu cầu định tuyến–RREQ đó bao gồm các thông tin: <source_addr, source_sequence_#, broadcast_id, dest_id, dest_sequence_#, hop_cnt> <source_addr, broadcast_id>: tạo nên một khóa duy nhất cho gói tin RREQ, nó phân biệt gói tin RREQ này với gói tin RREQ khác. Thông tin broadcast_id sẽ đƣợc tăng khi node nguồn yêu cẩu thêm một RREQ mới. Mỗi node lân cận xử lý gói tin RREQ bằng cách gửi lại một gói tin RREP tới node nguồn hoặc quảng bá tiếp gói tin RREQ tới lân cận của nó sau khi đã tăng chỉ sổ hop_cnt. Lƣu ý rằng, một node trong mạng có thể nhận đƣợc nhiều gói tin quảng bá yêu cầu định tuyến giống nhau từ những lân cận khác nhau của nó. Nếu một node trung gian nhận đƣợc một gói tin RREQ, nếu gói tin đó nó đã nhận đƣợc bằng cách so sánh trƣờng địa chỉ nguồn – source_addr và broadcast_id, nó sẽ loại bỏ gói tin dƣ thừa đó và sẽ không quảng bá tiếp gói tin đó. Nếu node lân cận đó không thể đáp ứng gói tin RREQ, nó sẽ theo dõi thông tin của gói tin đó bằng cách lần ngƣợc lại đƣờng đi của gói tin, các thông tin sau vào gói tin RREP: địa chỉ đích, địa chỉ nguồn, định danh quảng bá – broadcast_id, thời gian cho phép của gói tin, số thứ tự của node nguồn.
  • 34. 23 Hình 2.7 : Mô tả quá trình tìm đƣờng – path discovery 2.3.3. Thiết lập đường ngược Gói tin RREQ có 2 số thứ tự đó là: số thứ tự nguồn, và số thứ tự đích cuối cùng. Số thứ tự của nguồn đƣợc sử dụng để duy trì thông tin định tuyến về node nguồn luôn đƣợc cập nhật và số thứ tự đích chỉ ra cách định tuyến mới nhất tới node đích trƣớc khi nó đƣợc chấp nhận bới node nguồn. Gói tin RREQ sẽ phải đi từ node nguồn tới nhiều node đích khác nhau, nó sẽ tự động ghi lại con đƣờng để trở lại node nguồn. Để ghi lại con đƣờng đó, một node sẽ ghi lại địa chỉ node lân cận, từ nơi mà nó nhận đƣợc bản sao đầu tiên của gói tin RREQ. Định tuyến đƣờng ngƣợc này sẽ đƣợc duy trì trong một khoảng thời gian đảm bảo để gói tin RREQ đi qua mạng và thực hiện một trả lời tới nơi gửi nó. 2.3.4. Thiết lập đường tiến Cuối cùng, gói tin RREQ có thể đến node nào đó, node đó có thể là node đích của nó hoặc nằm trên con đƣờng tới node đích. Đầu tiên node đó sẽ kiểm tra xem gói tin RREQ nhận đƣợc thông qua liên kết hai chiều bi-directional link. Nếu node trung gian này có chứa thông tin định tuyến tới node đích nó sẽ tiến hành các bƣớc kiểm tra bằng cách so sánh số thứ tự đích trong bảng định tuyến của node hiện tại với số thứ tự đích trong gói tin RREQ. Nếu số thứ tự đích lƣu trữ trong gói tin RREQ lớn hơn số thự tự đích lƣu trong bảng định tuyến của node hiện thời thì node
  • 35. 24 hiện thời không phải sử dụng thông tin định tuyến của nó để đáp ứng gói tin RREQ. Thay vào đó, node hiện thời sẽ tiếp tục quảng bá gói tin RREQ này tới các node lân cận của nó. Node trung gian hiện thời chỉ thực hiện việc phản hồi lại gói tin RREQ chỉ khi nó chứa thông tin định tuyến mà ở đó số thứ tự đích của nó lớn hơn hoặc bằng số thứ tự đích chứa trong gói tin RREQ. Nếu nó chứa thông tin định tuyến tới node đích, và nếu gói tin RREQ chƣa đƣợc xử lý trƣớc đó, node hiện thời sẽ thực hiện một gói tin RREP tới lân cận của nó, nơi mà phát gói tin RREQ này cho nó. Một gói tin RREP thì bao gồm các thông tin: <địa chỉ nguồn, địa chỉ đích, số thứ tự đích, số bƣớc nhảy, thời gian sống của gói tin>. Tại thời điểm một gói tin quảng quá tới đƣợc một node, node mà cung cấp thông tin đinh tuyến tới node đích, một con đƣờng ngƣợc trở lại node nguồn, node mà phát đi gói tin RREQ cũng đƣợc thành lập. Khi mà gói tin RREP quay trở lại node nguồn, nơi phát ra gói tin RREQ, mỗi node dọc theo con đƣờng đó sẽ thiết lập con trỏ tới node đó, lƣu trữ và cập nhật thông tin về thời gian trễ cho bảng định tuyến tới node nguồn và node đích và ghi lại số thứ tự cuối cùng của đích cần đến. Một node mà không thuộc con đƣờng ngƣợc sẽ bị trễ thời gian trong khoảng 3 giây và sẽ bị xóa con trỏ ngƣợc. Một node khi nhận đƣợc một gói tin RREP lần đầu tiên nó sẽ lan truyền gói tin này tới node nguồn hay là node mà nó nhận đƣợc gói tin RREQ và cứ vậy cho tới node nguồn cuối cùng. Nếu nó nhận đƣợc nhiều hơn một gói tin RREQ nó sẽ phải cập nhật thông tin định tuyến và chỉ truyền gói tin RREQ nếu gói tin đó có chứa thông tin số thứ tự đích lớn hơn số thứ tự đích của gói tin RREQ trƣớc đó hoặc có cùng số thứ tự đích nhƣng có số bƣớc nhảy nhỏ hơn. Nó sẽ cấm tất cả các gói tin RREP khác mà nó nhận đƣợc, điều này đảm bảo số lƣợng gói tin RREP đƣợc truyền tới nguồn trong khi vẫn đảm bảo thông tin định tuyến tốt nhất. Node nguồn có thể bắt đầu truyền dữ liệu ngay khi nhận đƣợc gói tin RREP đầu tiên và có thể cập nhật thông tin định tuyến nếu tìm đƣợc thông tin định tuyến tốt hơn.
  • 36. 25 2.3.5. Quản lý bảng định tuyến Bên cạnh thông tin về số thứ tự của nguồn và số thứ thứ tự của đích, một số thông tin có ích khác cũng đƣợc lƣu trữ trong bảng thông tin định tuyến và đƣợc gọi là trạng thái mềm – soft state. Một liên kết tới thông tin định tuyến về con đƣờng ngƣợc đƣợc gọi là: thời gian hết hiệu lực yêu cầu định tuyến – route request expiration timer. Mục đích của bộ đếm thời gian này chính là làm sạch con đƣờng định tuyến ngƣợc từ node phát gói tin RREP về node nguồn, nó đảm bảo những node không nằm trên con đƣờng đó đƣợc loại bỏ. Bộ đếm thời gian này phụ thuộc vào các yếu tố nhƣ kích thƣớc của mạng. Một biến số quan trọng trong bảng định tuyến đƣợc đề cập tới đây là route-caching-timeout, hoặc là có thể hiểu là thời gian sau khi một định tuyến đƣợc cân nhắc để loại bỏ. Trong bảng định tuyến cũng lƣu trữ địa chỉ của các lân cận tích cực , các lân cận đƣợc cân nhắc là tích cực nếu nó có thể khởi phát hoặc chuyển tiếp một gói tin tới đích trong một khoảng thời gian cho phép. Thông tin địa chỉ này sẽ đƣợc duy trì chính vì vậy tất cả các lân cận tích cực sẽ thông báo nếu đƣờng liên kết dọc theo tới node đích bị gẫy. Mỗi một phần tử trong bảng định tuyến sẽ chứa các thông tin sau: đích, bƣớc nhảy tiếp theo, số bƣớc nhảy, số thứ tự của node đích, lân cận tích cực cho định tuyến, thời gian hiệu lực cho phần tử bảng định tuyến. Mỗi khi một phần tử trong bảng định tuyến đƣợc sử dụng để truyền dữ liệu từ nguồn tới đích, thời gian trễ cho phần tử này sẽ đƣợc tính lại từ thời gian hiện tại cộng thêm thời gian trễ định tuyến tích cực. 2.3.6. Bảo trì đường dẫn Việc di chuyển của các node không nằm trên đƣờng dẫn tích cực không ảnh hƣởng tới việc định tuyến tới đích. Đƣờng dẫn tích cực là đƣờng dẫn từ node nguồn tới node đích. Nếu node nguồn di chuyển trong phiên truyền dữ liệu, nó có thể khởi tạo lại việc tìm đƣờng để tìm ra một định tuyến mới tới đích. Ngay cả khi node đích
  • 37. 26 di chuyển hoặc một vài node trung gian trên đƣờng dẫn tích cực di chuyển thì một gói tin RREP đặc biệt sẽ đƣợc gửi tới node nguồn. Theo chu kỳ, một thông điệp hello có thể đƣợc sử dụng đảm bảo liên kết đối xứng giữa nguồn và đích một cách tốt nhất, mục đích của thông điệp là phát hiện hiện lỗi trên đƣờng liên kết. Bên cạnh việc kiểm tra đƣờng liên kết bằng phát đi thông điệp hello, còn có 1 cách khác nhƣ là 1 sự thay thế đó là việc sử dụng LLACK – Link Layer Ack. Một liên kết lỗi sẽ đƣợc thông báo nếu cố gắng chuyển tiếp một gói tin tới bƣớc chuyển lỗi kết tiếp. Một trong bƣớc nhảy kế tiếp không thể kết nối, node trƣớc đó sẽ phải lan truyền một gói tin RREP không mong muốn với số thứ tự đã đƣợc làm mới (số thứ tự phải là số lớn hơn số trƣớc đó) và số bƣớc nhảy sẽ chuyển thành vô cùng tới tất cả các node lân cận. Các node phía sau sẽ chuyển tiếp gói tin đó tới các lân cận của nó và cứ thế. Quá trình này sẽ tiếp tục đến khi tất cả node nguồn tích cực đƣợc thông báo. Nó kết thúc bởi vì thuật toán AODV chỉ duy trì các định tuyến lặp miễn phí – loop-free và định tuyến đó chỉ có hữu hạn các node trong mạng. Khi nhận đƣợc thông báo của một liên kết hỏng, node nguồn có thể khởi động lại quá trình tìm đƣờng nếu nó vẫn muốn định tuyến tới đích. Để xác định định tuyến đó vẫn còn cần thiết, một node có thể kiểm tra các định tuyến đƣợc sử dụng gần đây cũng nhƣ kiểm tra khối điều khiển giao thức cấp trên để xem liệu kết nối đó vấn đƣợc mở bằng cách sử dụng một đích đƣợc chỉ định. Nếu node nguồn hoặc bất kỳ một node thuộc định tuyến trƣớc đó quyết định sẽ xây dựng lại định tuyến tới node đích, nó sẽ gửi một gói tin RREQ với số thứ tự đích lớn hơn số thứ tự đích trƣớc đó để chắc chắn một định tuyến mới sẽ đƣợc xây dựng lại và có thể tồn tại và nếu không có một node nào trả lời gói tin RREQ đó thì mặc định định tuyến cũ sẽ đƣợc sử dụng nhƣ một định tuyến chắc chắn. 2.3.7. Quản lý kết nối cục bộ Một node có thể biết thông tin về lân cận của nó bằng một trong hai cách. Bất cứ khi nào một node nhận đƣợc thông tin quảng quá từ lân cận, nó sẽ cập nhật thông tin của lân cận đó đảm bảo nó luôn lƣu trữ thông tin của lân cận. Trong
  • 38. 27 trƣờng hợp một node không gửi bất kỳ một gói tin nào tới các lân cận tích cực dƣới nó – downstream bên trong phạm vi hello_interval, nó sẽ quảng bá tới lân cận của nó một thông điệp hello (một gói tin RREP đặc biệt) nó chứa thông tin định danh và số thứ tự của node. Số thứ tự của node không thay đổi với thông điệp hello trong quá trình truyền tin này. Thông điệp hello này bị ngăn ngừa không đƣợc quảng bá lại bên ngoài các lân cận của node bởi vì nó chỉ đƣợc phép sống trong một khoảng thời gian. Lân cận nhận đƣợc gói tin cập nhật thông tin cục bộ của node. Việc nhận một quảng bá hoặc là nhận một thông điệp hello từ một lân cận mới hoặc là lỗi khi nhận allowed_hello_loss liên tiếp thông điệp hello từ node trƣớc đó trong lân cận là dấu hiệu chỉ ra rằng liên kết cục bộ đã bị thay đổi. Lỗi khi nhận thông điệp hello từ lân cận không tích cực sẽ không kích hoạt bất kỳ hành động của giao thức. Nếu những thông điệp hello không đƣợc nhận từ những bƣớc nhảy kế tiếp dọc theo đƣờng dẫn tích cực, lân cận tích cực sử dụng bƣớc nhảy kế tiếp sẽ đƣợc gửi thông báo rằng đƣờng liên kết bị lỗi. Quản lý thông tin kết nối cục bộ với thông điệp hello có thể đƣợc sử dụng để chắc chắn rằng chỉ những node với đƣờng liên kết hai chiều đƣợc cân nhắc là những lân cận. Với mục đích này thì mỗi thông điệp hello gửi bởi một node sẽ liệt kê tất cả những node là lân cận. Mỗi node sẽ kiêm tra để chắc chắn rằng nó chỉ sử dụng định tuyến tới lân cận của nó khi mà nó có thể nghe đƣợc thông điệp hello từ node đó. Để tiết kiệm băng thông cục bộ, việc kiêm tra nhƣ vậy chỉ khi mà các node đã đƣợc cấu hình rõ ràng. 2.4. Thuật toán hình cây 2.4.1. Tổng quan Thuật toán hình cây là giao thức của tầng mạng và tầng datalink, giao thức này sử dụng gói tin “trạng thái kết nối” để định dạng một mạng hình cây đơn, cũng nhƣ một mạng hình cây mở rộng. Loại mạng này cơ bản là một loại mạng có tính chất tự tổ chức và tự hỗ trợ để hạn chế lỗi mạng một mức độ lỗi cho phép, đặc biệt hơn do đây là một loại mạng có tính chất tự tổ chức nên nó cũng có thể tự sửa chữa
  • 39. 28 khi gặp sự cố ở một node mạng nào đó. Các node mạng chọn một node làm gốc cây và tạo các nhánh cây một cách tự do. Sau đó cách nhánh cây tự phát triển kết nối tới những nhánh cây khác nhờ vào thiết bị gốc (DD- Designated Deviece). 2.4.2. Cây đơn nhánh Quá trình hình thành nhánh cây bắt đầu bằng việc chọn gốc cây. Sau khi một node gốc đƣợc chọn, nó sẽ mở rộng kết nối với các node khác để tạo thành một nhóm. Sau khi một node đƣợc kích hoạt nó sẽ dò tìm HELLO message từ các node khác (HELLO message tƣơng tự nhƣ beacon trong tầng MAC theo chuẩn IEEE 802.15.4). Nếu trong một thời gian nhất định nào đó nó không nhận đƣợc bất kỳ một HELLO message nào, thì node này sẽ tự trở thành node gốc và lại gửi HELLO message tới các node lân cận. Node gốc mới này sẽ chờ gói tin yêu cầu kết nối từ các node lân cận trong một khoảng thời gian nào đó, nếu nó vẫn không nhận đựơc bất kỳ yêu cầu kết nối nào từ các node lân cận thì nó sẽ trở lại thành một node bình thƣờng và lại tiếp tục dò tìm HELLO_MESSAGE. Node gốc cũng có thể đƣợc chọn lựa dựa trên tham số của mỗi node mạng (ví dụ nhƣ phạm vi truyền, công suốt, vị trí, khả năng tính toán ). Sau khi trở thành node gốc, nó sẽ phát quảng bá gói tin HELLO_MESSAGE theo chu kỳ, gói tin HELLO_MESSAGE này gồm một phần địa chỉ MAC và địa chỉ ID của node gốc. Những node mạng nhận đựợc gói tin này sẽ gửi trả lời lại bằng gói tin yêu cầu kết nối (REQ) tới node gốc (nơi vừa phát đi). Khi node gốc nhận đựợc gói tin yêu cầu kết nối, nó sẽ ngay lập tức gửi trả lại gói tin vừa đƣa ra yêu cầu bằng một gói tin khác CONNECTION_RESPONSE., gói tin này chứa địa chỉ ID cho node thành viên (node B), địa chỉ ID này do node gốc qui định. Để xác nhận thông tin thì node thành viên B này sẽ gửi lại node gốc gói tin Ack. Nếu tất cả các node đều ở trong phạm vi phủ song của node gốc thì kiến trúc mạng là kiến trúc hình sao, tất cả các node thành viên sẽ liên lạc trực tiếp với node gốc qua một bƣớc truyền (onehop). Một nhánh có thể phát triển thành cấu trúc mạng liên lạc qua nhiều bƣớc truyền (multihop).
  • 40. 29 Tất nhiên node gốc chỉ có thể quản lý đƣợc một số hữu hạn các node, và các nhánh của mạng cũng chỉ có thể vƣơn tới những khoảng cách hạn chế… chính vì thế mà có lúc node mạng cũng cần phải từ chối kết nối của những node mới. Việc từ chối này đƣợc thực hiện nhờ vào việc chỉ định một ID đặc biệt cho node này. Bảng danh sách các node lân cận và tuyến đƣờng luôn luôn đƣợc cập nhật mới thông qua gói tin HELLO_MESSAGE. Trong một thời gian nhất định, nếu vì một lý do nào đó mà một node không đựợc cập nhật các thông tin trên thì nó sẽ bị loại bỏ. Tất nhiên trong một mạng có tính chất tự do, tự tổ chức nhƣ loại mạng này thì không thể tránh khỏi việc một node mạng thuộc nhánh này lại nhận đựợc gói tin HELLO_MESSAGE của nhánh khác. Vậy trong trƣờng hợp này node mạng này sẽ tự động thêm địa chỉ ID của nhánh mới này (CID) vào danh sách các node lân cận và gửi nó tới node gốc (CH) thông qua gói tin báo cáo tình trạng đƣờng truyền, để từ đó node gốc (CH) có thể biết đƣợc nhánh mạng nào tranh chấp để xử lý. Bản tin báo cáo tình trạng kết nối cũng chứa danh sách ID node lân cận của node đó, điều này giúp cho node gốc biết đựợc trọn vẹn cấu trúc mạng để có thể đƣa ra cấu trúc tối ƣu. Khi cấu trúc mạng cần thay đổi, node gốc (CH) sẽ phát đi bản tin cập nhật tới các node thành viên. Node thành viện nào nhận đựợc bản tin cập nhật này lập tức thay đổi các thông tin về node gốc nhƣ trong bản tin này, đồng thời cũng tiếp tục gửi đến các node ở cấp thấp hơn trong nhánh cây tại thời điểm đó. Khi một node thành viên có vấn đề, không thể kết nối đƣợc thì node gốc phải định dạng lại tuyến đƣờng. Thông qua bản tin báo cáo tình trạng đƣờng truyền đƣợc gửi theo chu kỳ thì node gốc có thể biết đƣợc vấn đề của node mạng đó. Nhƣng khi node gốc gặp phải vấn đề trong liên lạc thì việc phát bản tin HELLO_MESSAGE theo chu kỳ sẽ bị gián đoạn, khi đó các node thành viên sẽ mất đi node gốc, và nhánh đó sẽ phải tự định dạng lại từ đầu theo cách tƣơng tự nhƣ quá trình định dạng nhánh cây.
  • 41. 30 2.4.3. Cây đa nhánh Để tạo định dạng lên loại mạng này thì cần phải sử dụng thiết bị gốc (DD). Thiết bị này có trách nhiệm gán địa chỉ ID nhóm (địa chỉ này là duy nhất) cho các node gốc(CH). Địa chỉ ID nhóm này kết hợp với địa chỉ ID node (là địa chỉ NID mà node gốc gán cho các node thành viên trong nhánh của mình) tạo ra địa chỉ logic và đựợc sử dụng trong các gói tin tìm đƣờng. Một vai trò quan trọng nữa của thiết bị gốc DD là tính toán quãng đƣờng ngắn nhất từ nhánh mạng tới DD và thông báo nó tới tất cả các node mạng. Khi thiết bị gốc DD tham gia vào mạng, nó sẽ hoạt động nhƣ một node gốc của nhánh số 0 (CID 0) và bắt đầu phát quảng bá HELLO_MESSAGE tới các node lân cận. Nếu một node gốc (CH) nhận đƣợc bản tin này, nó sẽ gửi bản tin yêu cầu kết nối tới DD để tham gia vào CID 0, sau đó node gốc này sẽ yêu cầu DD gán cho nó một ID nhánh (CID). Nhƣ vậy thì node gốc này có hai địa chỉ logic, một là thành viên của CID 0, thứ hai là địa chỉ của node gốc. Khi node gốc tạo ra một nhánh mới, (một CID mới), nó sẽ thông báo đến các node thành viên của nó bằng bản tin HELLO_MESSAGE. Khi một thành viên nhận đựợc bản tin HELLO_MESSAGE từ thiết bị DD, nó sẽ thêm địa chỉ ID của CID 0 vào danh sách thành viên rồi thông báo cho node gốc. Node gốc đựợc thông báo này sẽ chọn node thành viên này nhƣ là một node trung gian giữa nó với node gốc của nó, rồi gửi bản tin yêu cầu kết nối mạng tới các node thành viên để thiết lập kết nối với thiết bị DD. Node trung gian này yêu cầu một kết nối và tham gia vào thành viên của nhóm số 0. Sau đó nó sẽ gửi bản tin yêu cầu CID tới thiết bị DD. Đến khi nhận đựợc đáp ứng CID, node trung gian này gửi bản tin đáp ứng liên kết mạng này tới node CH, bản tin này chứa các thông tin về địa chỉ ID nhánh mới cho node gốc CH. Sau khi node gốc có đựợc CID mới, thì cách thành viên trong nhánh của node gốc cũng sẽ nhận đựợc thông qua HELLO_MESSAGE.
  • 42. 31 Trong mạng này thì việc tự tổ chức mạng là một tính chất khá mạnh mẽ, và mềm dẻo. Cứ nhánh mạng liền trƣớc sẽ có nhiệm vụ gán CID cho nhánh mạng sau. Mỗi một node thành viên của nhánh phải ghi lại thông tin về nhánh gốc và các nhánh con của nó, hoặc cả ID của node trung gian nếu có. Thiết bị gốc phải có trách nhiệm lƣu giữ toàn bộ thông tin về cấu trúc cây mạng của các nhánh. Cũng giống nhƣ các node thành viên của nhánh thì các node gốc CH cũng là thành viên của thiết bị gốc và nhƣ vậy chúng cũng phải có trách nhiệm thông báo tình trạng đƣờng truyền đến DD. Để thực hiện thì node gốc phải gửi định kỳ bản tin thông báo tình trạng đƣờng truyền trong mạng tới DD, bản tin này chứa danh sách CID lân cận. DD sau khi xử lý thông tin sẽ tính toán, chọn lựa ra đƣờng truyền tối ƣu nhất rồi thông báo định kỳ tới các nhánh của nó thông qua bản tin cập nhật. Nhƣ trên ta có thể thấy vai trò của thiết bị gốc này là rất quan trọng, chính vì thế luôn cần có những thiết bị gốc dự phòng (BDD) sẵn sang thay thế thiết bị chính khi gặp sự cố. Các node trung gian vừa liên kết các nhánh mạng, vừa chuyển tiếp các gói tin giữa các nhánh mạng. Khi node trung gian nhận đựợc một gói tin, nó sẽ kiểm tra địa chỉ đích của gói tin đó, sau đó sẽ chuyển tới địa chỉ đích của nó nếu địa chỉ đích nằm trong nhánh này hoặc là chuyển tiếp tới node trung gian tiếp theo của nhánh liền kề nếu địa chỉ đích không nằm trong nhánh của nó. Chỉ duy nhất thiết bị gốc mới có thể gửi bản tin tới tất cả các node trong mạng, bản tin này đựợc chuyển dọc theo tuyến đƣờng của các nhánh. Các node trung gian thì chuyển tiếp các gói tin quảng bá từ nhánh gốc đến các nhánh con. 2.5. Vấn đề tối ƣu năng lƣợng tiêu thụ trong mạng cảm biến ZigBee Năng lƣợng trong mạng cảm biến ZigBee bị giới hạn so với các mạng không dây khác do bản chất của các thiết bị cảm biến. Thông thƣờng, mỗi node mạng cảm biến đƣợc trang bị một nguồn năng lƣợng giới hạn. Trong một số ứng dụng, việc bổ sung năng lƣợng rất khó khăn, có khi là không thể bổ sung, vì vậy thời gian sống của mạng phụ thuộc nhiều vào thời gian sống của mỗi node mạng, thời gian này lại phụ thuộc vào nguồn năng lƣợng của PIN.
  • 43. 32 Vậy làm thế nào để kéo dài chu kỳ sống của thiết bị. Với mạng cảm biến ZigBee câu hỏi đặt ra là làm thế nào để giảm thiểu năng lƣợng tiêu thụ bằng phần mềm? Để thực hiện đƣợc điều đó, tất cả các giao thức truyền thông phải hƣớng đến tiết kiệm năng lƣợng. Tiết kiệm năng lƣợng ở lớp vật lý: Sử dụng kỹ thuật điều chế tín hiệu số: O- QPSK, FSK cải thiện hiệu suất bộ khuếch đại công suất. Các kỹ thuật mã hóa sửa sai phức tạp nhƣ Turbo Code, LDPC không đƣợc sử dụng, kỹ thuật trải phổ đƣợc sử dụng để cải thiện SNR ở thiết bị thu và giảm tác động của fading kênh truyền... Tiết kiệm năng lƣợng ở lớp MAC: Sử dụng kỹ thuật đa truy cập TDMA hoặc CSMA-CA hiệu chỉnh với mục đích giảm năng lƣợng tiêu thụ. Tiết kiệm năng lƣợng trong các giao thức định tuyến: Trong mạng adhoc nói chung, và WSN nói riêng, đƣờng đi giữa các node trong mạng sẽ thay đổi theo thời gian (do node di chuyển, do chất lƣợng kênh truyền thay đổi theo thời tiết, do node hết năng lƣợng). Tiết kiệm năng lƣợng là một vấn đề phức tạp. Một số bài toán đƣợc đặt ra nhƣ: làm thế nào để xây dựng đƣợc thuật toán định tuyến nhanh chóng mà không cần phải gửi tới tất cả các node trong mạng. Cần một thuật toán tìm đƣờng đi mà sao cho tổng năng lƣợng tiêu tốn là thấp nhất hoặc tỉ lệ giữa lƣợng dữ liệu truyền và năng lƣợng tiêu thụ là cao nhất... Tiết kiệm năng lƣợng trong quản lý bảo mật: Sử dụng một cơ chế phân bố, cung cấp và quản lý khóa bảo mật khi một node từ bỏ khỏi mạng WSN, hoặc một nhóm những node trong mạng bắt đầu trao đổi với nhau sao cho số lƣợng bản tin trao đổi giữa các node là thấp nhất, qua đó tiết kiệm năng lƣợng tiêu thụ. Ngoài ra thông tin còn thể đƣợc xử lý trƣớc khi gửi đi để giảm năng lƣợng tiêu thụ chung. Mạng cảm biến ZigBee cũng nhƣ mạng cảm biến không dây có đặc điểm là số lƣợng node trong mạng lớn, khoảng cách giữa các node lân cận trong mạng là nhỏ. Thành phần cấu thành lên mạng ZigBee đa phần là các node, chi phí cho các node là thấp. Mức tiêu thụ năng lƣợng thấp hơn nhiều, bởi vì việc thay thế pin
  • 44. 33 (nguồn năng lƣợng chính cung cấp cho các node trong mạng) thậm chí một tháng một lần cũng sẽ rất vất vả hay nói cách khác thời gian và chi phí để duy trì hệ thống sẽ phải tăng lên nhiều. Mặt khác trong mạng cảm biến không dây thì giao tiếp không dây là kỹ thuật chính, giao tiếp giữa các node trong mạng sẽ bị nhiều hạn chế do các yếu tố khoảng cách hoặc vật cản. Chính vì thế cần có thuật toán phù hợp giúp toàn bộ hệ thống hoạt động hiệu quả về năng lƣợng, khi năng lƣợng đƣợc quản lý một cách hiệu quả sẽ tăng lên chu kỳ sống của hệ thống. Nhƣ đã đề cập ở các phần trên chuẩn IEEE 802.14.5 không cung cấp một chiến lƣợc định tuyến nào tại tầng mạng. Việc định tuyến dữ liệu tại tầng mạng đƣợc cung cấp tại tầng liên kết dữ liệu. Việc định tuyến trong mạng cảm biến không dây nói chung và trong mạng cảm biến ZigBee gặp rất nhiều vấn đề khó khăn, thách thức đó là: + Mạng cảm biến có một số lƣợng lớn các node, cho nên ta không thể xây dựng đƣợc sơ đồ địa chỉ toàn cục cho việc triển khai số lƣợng lớn các node. +Dữ liệu trong mạng cảm biến thu nhận đƣợc từ nhiều nguồn khác nhau. +Hầu hết trong các ứng dụng, các node nói chung là tĩnh sau khi đƣợc triển khai ngoại trừ một số node có thể di động. + Mạng cảm biến là một ứng dụng riêng biệt +Việc nhận biết vị trí là vấn đề quan trọng, vì tập hợp dữ liệu thƣờng dựa theo vị trí. +Khả năng dƣ thừa dữ liệu rất cao, vì các node cảm biến thu thập dữ liệu dựa trên các nguồn chung. +Công nghệ năng lƣợng chƣa đáp ứng. Do vậy thiết kế lớp mạng trong cảm biến ZigBee phải đảm bảo các nguyên tắc sau:
  • 45. 34 Hiệu quả năng lƣợng phải đƣợc đặt lên hàng đầu Để đạt đƣợc hiệu quả trong quản lý năng lƣợng tại lớp mạng đòi hỏi phải có thuật toán định tuyến dữ liệu phù hợp cho phép tối ƣu năng lƣợng cho tất cả các node trong mạng. Một hƣớng đi khác là tùy theo vào cấu hình mạng, ta đƣa ra thuật toán định tuyến phù hợp với cấu hình mạng để tối ƣu hóa nhất có thể năng lƣợng của mạng. Tuy nhiên vấn đề định tuyến cũng gặp không ít những thách thức + Tính động của mạng: Các thành phần cấu thành nên mạng ZigBee có thể di động đặc biệt là các node cảm biến. Khi đó việc định tuyến sẽ phải đối mặt nhiều vấn đề nhƣ: đƣờng liên lạc, cấu hình mạng, năng lƣợng và độ rộng băng thông. + Triển khai các node mạng: Trong mạng cảm biến ZigBee các node cảm biến đƣợc phân bố ngẫu nhiên tạo ra một cấu trúc ad-hoc, trong cấu trúc đó việc đặt các thiết bị ZC và ZR cũng rất quan trọng, sẽ góp phần vào hoạt động hiệu quả năng lƣợng của mạng. Trong mạng cảm biến nói chung và mạng cảm biến ZigBee, quá trình định tuyến bị ảnh lớn bởi năng lƣợng. Sở dĩ nói vậy vì năng lƣợng truyền đi của sóng vô tuyến là một hàm suy hao theo khoảng cách và đặc biệt suy giảm nhiều trong trƣờng hợp có nhiều vật cản. Việc định tuyến đa bƣớc nhảy sẽ giảm việc tiêu hao năng lƣợng hơn là việc truyền dữ liệu trực tiếp giữa các node. Định tuyến trực tiếp sẽ tốt trong trƣờng hợp tất cả node cảm biến đều gần ZC, ZR. Tiết kiệm năng lƣợng trong hầu hết các mạng/ thiết bị viễn thông đang là một vấn đề đƣợc quan tâm hàng đầu đối với các nhà mạng cũng nhƣ ngƣời sử dụng. Tuy nhiên, với đặc tính riêng của mình, vai trò của tiết kiệm năng lƣợng trong mạng WSN nói chung và mạng cảm biến ZigBee nói riêng là cực kỳ quan trọng. Nó ảnh hƣởng trực tiếp đến chu kỳ sống của các bộ cảm biến trong, qua đó ảnh hƣởng đến hiệu quả của toàn hệ thống. Một số nguyên lý dƣới đây có thể tối ƣu việc quản lý năng lƣợng trong mạng ZigBee:
  • 46. 35 Cơ bản ZigBee sử dụng thuật toán AODV là thuật toán định tuyến cho gói tin. Đặc tả ZigBee đƣa ra một số tối ƣu cho định tuyến. Đó là: many-to-one, neighbor table và link status message. Bảng lân cận - Neighbor table: ZigBee sử dụng bảng lân cận để giảm số gói tin RREQ đƣợc truyền trong mạng. Bảng lân cận chứa các thông tin về mỗi lân cận để có thể gia nhập hoặc tái gia nhập mạng thông tin định tuyến. Cơ chế định tuyến này đƣợc tối ƣu bởi vì nó sử dụng địa chỉ của thiết bị nhƣ một phần thông tin trong bảng lân cận. Hơn thế nữa, chi phí để tới node đích thông qua các lân cận cũng đƣợc lƣu lại. Bảng thông tin này đƣa ra một cái nhìn khái quát hơn về các lân cận trung gian và cho phép tự kết nối của thiết bị. Điều đó có nghĩa mỗi gói tin khởi nguồn từ thiết bị không nằm trong bảng lân cận sẽ thêm một mục vào trong bảng lân cận. Thông tin trạng thái đƣờng kết nối – Link Status Message: Việc xây dựng một mạng không dây đòi hỏi cân nhắc đến yếu tố di động của mạng. Nó làm tăng tính động cho các thiết bị. Để nhận biết sự thay đổi cấu trúc của mạng các thiết bị ZC và ZR cần thiết gửi các gói tin về trạng thái liên kết trong mạng. Thông điệp về trạng thái của mạng sẽ đƣợc gửi tới tất cả lân cận trong phạm vi của ZC và ZR để các lân cận biết đƣợc vị trí của chúng trong mạng và chất lƣợng của mạng tại thời điểm gửi. Việc gửi các gói tin này giúp cho các lân cận luôn trong trạng thái đƣợc cập nhật thông tin. Điều này giúp cho việc định tuyến của hệ thống đƣợc diễn ra nhanh chóng. Tuy nhiên việc sử dụng gói tin trạng thái liên kết chỉ nên áp dụng với các mạng đòi hỏi tính động, với các mạng tĩnh thì điều này là không cần thiết. 2.6. Thuật toán định tuyến tối ƣu năng lƣợng trong mạng cảm biến ZigBee Nhƣ đã đề cập ở phần trên, năng lƣợng trong mạng cảm biến nói chung và mạng cảm biến ZigBee là vấn đề còn nhiều thách thức. Làm thế nào để tiết kiệm năng lƣợng, tiết kiệm ở bƣớc nào là tốt nhất…Luôn là câu hỏi đƣợc các nhà nghiên cứu đặt ra nhiều nhất.
  • 47. 36 Ta biết rằng quá trình truyền tin là quá trình tiêu hao rất nhiều năng lƣợng do:  Tiêu hao năng lƣợng qua công suất phát sóng các sensor trong mỗi node mạng.  Tiêu hao năng lƣợng khi xử lý thuật toán định tuyến.  Tiêu hao khi có sự xung đột giữa 2 gói tin đƣợc truyền cùng thời điểm, hoặc gói tin bị hỏng, phải yêu cầu truyền lại.  Tiêu hao do vấn đề nghe khi rỗi ( Idle Listening). Nó xảy ra khi thành phần sóng vô tuyến thực hiện nghe xem có dữ liệu để nhận không.  Tiêu hao do vấn đề nghe thừa ( Over hearing). Nó xảy ra khi một node mạng nhận đƣợc gói tin dành cho node khác. Nếu việc định tuyến sai, dẫn đến truyền tin sai sẽ làm thay đổi trạng thái toàn mạng. Khi đó, việc định tuyến và truyền tin lại vô cùng mất thời gian và tiêu tốn nhiều năng lƣợng. Vì vậy, định tuyến đúng, truyền tin chính xác là một bƣớc quan trọng nếu muốn tiết kiệm năng lƣợng. Vấn đề khó khăn nhất chính là đƣa ra đƣợc một thuật toán định tuyến để tối ƣu năng lƣợng cho tất cả các trƣờng hợp. Với từng điều kiện cụ thể, mỗi thuật toán sẽ phát huy một thế mạnh riêng. Trong điều kiện nghiên cứu của luận văn, ta tìm hiểu một số thuật toán định tuyến sau : Thuật toán định tuyến LEACH [13] là thuật toán định tuyến phân cấp. Mục đích chính của định tuyến phân cấp là để duy trì hiệu quả việc tiêu thụ năng lƣợng của các node cảm ứng bằng việc đặt chúng trong giao tiếp đa bƣớc nhảy trong một cụm cụ thể và bằng việc thực hiện tập trung và hợp nhất dữ liệu để giảm số bản tin đƣợc truyền tới ZC. Sự hình thành các cụm chủ yếu dựa trên năng lƣợng dữ trữ của các cảm biến và vùng lân cận của cảm biến so với các node chủ của cụm. LEACH là một trong những tiếp cận định tuyến phân cấp đầu tiên cho mạng cảm ứng. Ý tƣởng của LEACH là động lực cho rất nhiều thuật toán định tuyến phân cấp khác
  • 48. 37 phát triển. Chẳng hạn nhƣ thuật toán định tuyến HERA [3] mà chúng ta đã nói ở trên. Mục tiêu chính của LEACH là: + Mở rộng thời gian sống của mạng + Giảm sự tiêu thụ năng lƣợng của mỗi node mạng + Sử dụng tập trung dữ liệu để giảm bản tin truyền trong mạng LEACH thông qua mô hình phân cấp để tổ chức mạng thành các cụm, mỗi cụm sẽ đƣợc quản lý bởi một node chủ. Node chủ sẽ thực hiện nhiều nhiệm vụ đó là: thu thập dữ liệu từ các node thành viên theo chu kỳ, trong quá trình thu thập dữ liệu node chủ sẽ cố gắng tập hợp dữ liệu để giảm dƣ thừa về những dữ liệu dƣ thừa giống nhau, ngoài ra node chủ sẽ truyền trực tiếp dữ liệu đã đƣợc tập hợp đến các trạm cơ sở, việc truyền này đƣợc tiến hành bằng bƣớc nhảy đơn, cuối cùng LEACH sẽ tạo ra mô hình ghép kênh theo thời gian, mỗi node trong cụm sẽ đƣợc gán một khe thời gian mà có thể sử dụng để truyền tin. Việc đƣa ra đƣợc một thuật toán tối ƣu năng lƣợng cho tất cả các trƣờng hợp cấu hình trong mạng cảm biến ZigBee là thách thức lớn. Bản thân thuật toán định tuyến AODV đã có sẵn ƣu điểm đó, nó là nền tảng để phát triển các thuật toán định tuyến khác. Tuy nhiên trong một số trƣờng hợp cụ thể, ta có thể đƣa ra thuật toán phù hợp, có thể tối ƣu đƣợc năng lƣợng hơn thuật toán AODV. Tiêu chí đánh giá tối ƣu năng lƣợng của thuật toán AODV : Đối với hệ thống nói chung, hiệu suất là độ đo công việc mà hệ thống thực hiện đƣợc bao gồm tính sẵn sàng, thông lƣợng, và thời gian đáp ứng. Vì thế, ở đây chúng ta sử dụng các thông số sau để đánh giá hiệu suất của các giao thức định tuyến trong mạng mô phỏng :  Tỉ lệ gói tin nhận đƣợc : là tỉ lệ giữa số lƣợng các gói tin đến đƣợc đích và số lƣợng các gói tin dƣợc tạo ra bởi node phát.
  • 49. 38  Độ trễ trung bình đầu cuối : là tổng độ trễ đƣợc tính từ khi node nguồn phát gói tin đến khi node đích nhận đƣợc gói tin. Nó bao gồm : trễ phát hiện đƣờng, xếp hàng tại các hàng đợi, trễ do phát lại tại tầng MAC và trễ thời gian truyền. Ý nghĩa : Hai độ đo này đánh giá kết quả hoạt động của giao thức định tuyến. Nó có ý nghĩa đối với hoạt động của giao thức lớp trên nhƣ giao thức giao vận và giao thức ứng dụng. Ngoài ra, đối với mạng adhoc, việc hạn chế tài nguyên mạng đòi hỏi các giao thức phải sử dụng hiệu quả các tài nguyên này. Với giao thức định tuyến, đó chính là chi phí để thực hiện các yêu cầu định tuyến. Do đó, ngƣời ta đã xét thêm một thông số nữa để thể hiện việc sử dụng các tài nguyên mạng. Đó là tải định tuyến chuẩn hóa: là tỉ lệ giữa số các gói tin định tuyến trên số gói tin dữ liệu đƣợc gửi đi. Nếu gói tin định tuyến đi qua nhiều chặng thì mỗi chặng đƣợc tính nhƣ là một truyền thông.  Thông lƣợng trung bình : là tỉ lệ giữa số gói tin dữ liệu đƣợc truyền trên một đơn vị thời gian. Ý nghĩa : Khi băng thông sẵn có trên mạng thì mô phỏng băng thong thực sự có đƣợc là bao nhiêu? Thông số thông lƣợng T sẽ cho biết băng thông thực sự khi mô phỏng và có thể cho thấy sự hiệu quả của giao thức định tuyến. Thông lƣợng trung bình cao nghĩa là băng thong dành cho định tuyến ít, khi đó giao thức định tuyến hoạt động tốt.  Tải thông tin định tuyến : là tỉ lệ giữa gói tin định tuyến đƣợc gửi đi với số gói dữ liệu đƣợc gửi tới đích. Ý nghĩa : Nó cho biết hiệu năng sử dụng băng thông của giao thức định tuyến ( bao nhiêu băng thông đƣợc sử dụng cho bản tin định tuyến, bao nhiêu băng thông đƣợc sử dụng cho các gói tin dữ liệu. Phần tải định tuyến trong giao thức định tuyến theo yêu cầu thông thƣờng lớn do nó phải gửi bản tin cập nhật định kỳ trên toàn mạng. Trƣờng hợp lý tƣởng là không có bản tin định tuyến, chỉ có gói tin dữ liệu đƣợc truyền trên mạng, tuy nhiên, nếu không có giao thức định tuyến thì không thể triển khai thực tế.
  • 50. 39 Trong phạm vi nghiên cứu của luận văn, em xin đƣa ra kiến nghị thuật toán dƣới đây nhƣ là một thay thế có thể cho thuật toán AODV trong việc tối ƣu năng lƣợng của mạng trong một số trƣờng hợp áp dụng cụ thể đó là trong cấu trúc mạng phẳng. Dƣới đây là thuật toán dựa trên thuật toán hình cây – tree based on scheme. – Hierarchical Routing Algorthim – HERA [3]: Thuật toán HERA đƣợc sử dụng bởi nó mang lại một số lợi ích cho tầng MAC. Hay nói cách khác, ZigBee đƣợc xây dựng trên nền tảng 2 tầng PHY và MAC, việc sử dụng thuật toán định tuyến HERA sẽ khai thác đƣợc hết những ƣu điểm của tầng MAC. (Tầng MAC chỉ định nghĩa cấu hình mạng hình sao và cấu hình p-2p), Mạng ZigBee đƣa thêm cấu hình mạng hình cây và cấu hình mạng lƣới. Với thuật toán HERA, dữ liệu đƣợc sinh ra bởi các thiết bị cảm biến và đƣợc đƣa tới bộ nhận –sink và đƣợc định tuyến tiếp tới gốc của cây thông qua quan hệ cha-con, nghĩa là tất cả các node sẽ chuyển tiếp dữ liệu đến cha của nó. Mặt khác đối với giao tiếp cảm biến – cảm biến và bộ nhận – cảm biến dữ liệu sẽ đƣợc định tuyến chuyển lên hoặc chuyển xuống dọc theo cây thông qua địa chỉ đích của dữ liệu bằng cách khai thác lƣợc đồ địa chỉ phân cấp đƣợc cung cấp bởi ZigBee. Đây là thuật toán khởi tạo trƣớc – proactive hay còn gọi là table driven ( nghĩa là dựa trên sự phân phát theo chu kỳ thông tin định tuyến để đạt đƣợc các bảng định tuyến nhất quán và chính xác đến tất cả các node mạng, việc sử dụng phƣơng pháp định tuyến này cho cấu trúc mạng phẳng sẽ luôn tối ƣu nhất về việc định tuyến do vậy cũng là tốt nhất trong việc tiết kiệm năng lƣợng ) đích đến của định tuyến sẽ đƣợc giải quyết trƣớc khi một node cảm biến cần định tuyến một gói tin.Cây định tuyến thu đƣợc sẽ tƣơng ứng với cây mẫu đƣợc thiết lập trong tầng MAC. Để thu thập tất cả thông tin tạo bởi các cảm biến tại bộ thu tín hiệu trong mạng đa bƣớc nhảy – multi-hop, mỗi node sẽ chuyển tất cả dữ liệu tới bộ điều phối – coordinator.
  • 51. 40 Thuật toán địn tuyến HERA giảm số lƣợng thông điệp trao đổi bởi vì nó tuân theo các thủ tục đƣợc xây dựng ở tầng MAC. Nó luôn xem xét những thông điệp nào đƣợc trao đổi trong quá trình hình thành liên kết mạng. Một sự kết hợp giữa các tầng trong ZigBee đƣợc thực hiện giữa việc định tuyến và tầng MAC. Thuật toán HERA tƣơng đối đơn giản, gọn nhẹ, không yêu cầu nhiều về bộ nhớ đểlƣu trữ bảng định tuyến. Những đặc tính trên giúp HERA thành ứng viên tiềm năng trong định tuyến dựa trên chuẩn IEEE 802.15.4 mạng cảm biến không dây. Mặt khác cũng phải lƣu ý rằng, việc định tuyến không phải bao giờ cũng tối ƣu hóa đƣợc tất cả các vấn đề ví dụ nhƣ vấn đề về bƣớc nhảy, băng thông. Tuy nhiên bởi vì thuật toán HERA sử dụng chiến lƣợc đa tầng, việc tối ƣu hóa định tuyến có thể đạt đƣợc bằng cách thiết kế một cách chính xác các thủ tục liên kết với chuẩn IEEE 802.15.4 để tạo ra các phép định tuyến tối ƣu hóa theo những mục tiêu xác định.
  • 52. 41 Chƣơng 3 – MÔ PHỎNG THUẬT TOÁN ĐỊNH TUYẾN TỐI ƢU NĂNG LƢỢNG 3.1. Công cụ mô phỏng Sử dụng phần mềm ảo hóa Vmware Workstation cài đặt hệ điều hành Ubuntu 10.04.4. Sử dụng công cụ mô phỏng NS-2 trên Hệ điều hành này. 3.1.1. Ubuntu 10.04 Download phần mềm Vmware Workstation 10 Download Ubuntu 10.04.3 phiên bản desktop tại địa chỉ http://old- releases.ubuntu.com/releases/lucid/ . Chọn phiên bản “PC (Intel x86) desktop CD ” Sau khi cài đặt xong Ubuntu, cần tiến hành cài thêm các gói phần mềm sau ( để phục vụ cho việc chạy và biên dịch NS-2) Install GCC và G++ version 4.3 $ sudo apt-get install build-essential autoconf automake libxmu-dev $ sudo apt-get install libx11-dev libxmu-dev libxmu-headers libxt-dev libtool $ sudo apt-get install dpkg-dev g++ libc6-dev make $ sudo apt-get install tcl8.4 tk8.4 $ sudo apt-get install build-essential 3.1.2. NS-2 3.1.2.1. Giới thiệu về NS-2 NS (Netwok Simulator v2) là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hƣớng đối tƣợng, đƣợc phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl. NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN). Bốn lợi ích lớn nhất của NS-2 phải kể đến đầu tiên là: • Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại • Khả năng đánh giá các giao thức mạng mới trƣớc khi đƣa vào sử dụng
  • 53. 42 • Khả năng thực thi những mô hình mạng lớn mà gần nhƣ ta không thể thực thi đƣợc trong thực tế • Khả năng mô phỏng nhiều loại mạng khác nhau 3.1.2.2 Kiến trúc chƣơng trình NS-2 Hình 3.1 : Kiến trúc và thƣ mục cài đặt NS-2.34 trong môi trƣờng Linux(Ubuntu) 3.1.2.3. Các đặc tính của NS-2 NS-2 thực thi những tính năng sau:  Các kỹ thuật quản lý hàng đợi Router nhƣ DropTail, RED, CBQ  Multicasting  Mô phỏng mạng không dây + Đƣợc phát triển bởi Sun Microsystems + UC Berkeley (Dự án Daedalus) + Thuộc mặt đất (di động, adhoc, GPRS, WLAN, BLUETOOTH), vệ tinh + Chuẩn IEEE 802.11 có thể đƣợc mô phỏng, các giao thức Mobile-IP và adhoc nhƣ DSR, TORA, DSDV và AODV  Hành vi nguồn traffic – www, CBR, VBR TK8.4.1 8 OTcl tclclTcl8.4.18 ns-2.34 nam-1.14 tcl ex test lib ... ... Các ví dụ Các kiểm tra Mã C++ Mã OTcl ns-allinone-2.34 mcast
  • 54. 43  Các agent truyền tải – UDP, TCP  Định tuyến  Luồng packet  Mô hình mạng  Các ứng dụng – Telnet, FTP, Ping  Các packet tracing trên tất cả các link và trên các link xác định 3.1.2.4. Cài đặt ns2.34 và gói leach protocol a) Cài đặt ns2.34  Tải ns-allinone-2.34 tại địa chỉ : http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.34/ns- allinone-2.34.tar.gz/download  Copy file ns-allinone-2.34.tag.gz từ thƣ mục Download vào trong thƣ mục home Dùng các lệnh sau : $ tar –xzvf ns-allinone-2.34.tar.gz $ cd ns-allinone-2.34  Cài đặt X-window sudo apt-get install xorg-dev g++ xgraph  Sửa lỗi đƣờng dẫn của otcl tại dòng 6304 of otcl-1.13/configure , chuyển thành SHLIB_LD="gcc -shared" từ SHLIB_LD="ld -shared"  Chạy Lệnh $ sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.3  Cài đặt thêm các công cụ cần thiết cho việc build ns-2
  • 55. 44 Đang ở thƣ mục ns-allinone-2.32, chạy lệnh ./install cài đặt ns2 . Sau khi cài đặt xong ns-2.34. Thiết lập biến môi trƣờng theo các bƣớc sau: > sửa file .bashrc trong home $gedit .bashrc Thêm những dòng sau vào cuối file : #LD_LIBRARY_PATH OTCL_LIB=/home/yenth/ns-allinone-2.34/otcl-1.13 NS2_LIB=/home/yenth/ns-allinone-2.34/lib USR_LOCAL_LIB=/usr/local/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$otc #TCL_LIBRARY TCL_LIB=/home/yenth/ns-allinone-2.34/tcl8.4.18/library USR_LIB=/usr/lib export TCL_LIBRARY=$TCL_LIB:$USR_LIB # PATH XGRAPH=/home/yenth/ns-allinone-2.34/bin:/home/yenth/ns-allinone- 2.34/tcl8.4.18/unix:/home/yenth/ns-allinone-2.34/tk8.4.18/unix NS=/home/yenth/ns-allinone-2.34/ns-2.34/ NAM=/home/yenth/ns-allinone-2.34/nam-1.14/ PATH=$PATH:$XGRAPH:$NS:$NAM Chạy lệnh source .bashrc để cập nhật. b) Cài đặt leach protocol Gói leach protocol xây dựng giao thức leach hiện chỉ support ns 2.34.