Đồ án tốt nghiệp
Mục lục
MỤC LỤC MỤC LỤC .......................................................................................................................i DANH MỤC HÌNH VẼ............................................................................................... iii THUẬT NGỮ VIẾT TẮT ............................................................................................. v LỜI NÓI ĐẦU ................................................................................................................1 CHƢƠNG 1: ĐỊNH TUYẾN TRONG MẠNG WSN ................................................3 1.1. Giới thiệu chung ............................................................................................... 3 1.1.1. Tổng quan về WSN .....................................................................................3 1.1.2. Những hướng nghiên cứu WSN ..................................................................5 1.1.3. Vấn đề định tuyến .......................................................................................6 1.2. Khảo sát một số thuật toán định tuyến .......................................................... 7 1.2.1. Phân loại các giao thực định tuyến ............................................................. 8 1.2.2. Các giao thức định tuyến.............................................................................9 1.3. Kết luận chƣơng ............................................................................................. 20 CHƢƠNG 2: GIAO THỨC ĐỊNH TUYẾN LEACH ..............................................21 2.1. Giới thiệu giao thức LEACH ..............................................................................21 2.2. Hoạt động của LEACH ....................................................................................... 22 2.2.1. Pha thiết lập ..................................................................................................23 2.2.3. Pha ổn định ...................................................................................................25 2.2.4. Tổng hợp dữ liệu ........................................................................................... 27 2.2.5. Nhóm phân cấp (Hierarchical Clustering) ....................................................27 2.2.6. Ưu điểm, nhược điểm ...................................................................................27 2.3. LEACH – C .........................................................................................................28 2.3.1. Lựa chọn nút chủ .......................................................................................... 29 2.3.2. Thiết lập cụm và truyền dữ liệu ....................................................................30 2.3.3. Ưu điểm, nhược điểm ...................................................................................30 2.4. LEACH-F ............................................................................................................31 2.4.1. Hoạt động của LEACH-F .............................................................................31 2.4.2. Ưu điểm, nhược điểm ...................................................................................31 2.5. Kết luận chương ..................................................................................................31 CHƢƠNG 3. MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN LEACH ....................... 33 3.1. Lựa chọn công cụ mô phỏng ...............................................................................33 3.1.1. Khảo sát các công cụ mô phỏng ...................................................................33 3.1.2. Chương trình mô phỏng OMNet++ .............................................................. 35 SVTH: Nguyễn Trọng Dương, lớp: D06VT1
i
Đồ án tốt nghiệp
Mục lục
3.2. Xây dựng kịch bản mô phỏng .............................................................................39 3.2.1. Các module của chương trình mô phỏng ...................................................... 39 3.2.2. Xây dựng hàm giảm năng lượng ..................................................................40 3.3. Mô phỏng các thuật toán định tuyến LEACH ....................................................42 3.3.1. LEACH cơ bản ............................................................................................. 42 3.3.2. LEACH-C .....................................................................................................44 3.3.3. LEACH-F......................................................................................................46 3.4. Kết quả mô phỏng ............................................................................................ 47 3.4.1. LEACH .........................................................................................................47 3.4.2.
LEACH-C..................................................................................................48
3.4.3.
LEACH-F ..................................................................................................49
3.5.
Đánh giá và kết luận ........................................................................................ 51
KẾT LUẬN CHUNG VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỒ ÁN .......................... 53 TÀI LIỆU THAM KHẢO........................................................................................... 55
SVTH: Nguyễn Trọng Dương, lớp: D06VT1
ii
Đồ án tốt nghiệp
Danh mục hình vẽ
DANH MỤC HÌNH VẼ Hình 1.1: Mô hình mạng cảm biến thông thường ........................................................... 3 Hình 1.2: Ba tín hiệu bắt tay của SPIN .........................................................................10 Hình 1.3: Hoạt động của SPIN ...................................................................................... 10 Hình 1.4: Hoạt động của Directed Diffusion.................................................................11 Hình 1.5: Xây dựng chuỗi sử dụng thuật toán Greedy ..................................................14 Hình 1.6: Mô hình truyền dữ liệu trong PEGASIS ....................................................... 15 Hình 1.7: Hoạt động của GAF ....................................................................................... 16 Hình 1.8: Sự chuyển trạng thái trong GAF ...................................................................17 Hình 1.9: Hoạt động của GEAR ....................................................................................19 Hình 1.10: Chuyển tiếp địa lý đệ quy ............................................................................20 Hình 2.1: Giao thức LEACH ......................................................................................... 21 Hình 2.2: Time-line hoạt động của LEACH .................................................................22 Hình 2.3: Trạng thái các phase của LEACH .................................................................23 Hình 2.4: Lưu đồ thuật toán pha thiết lập bố của LEACH ............................................24 Hình 2.6: Hoạt động của pha ổn định trong LEACH ....................................................26 Hình 2.7: Nhiễu vô truyến giữa các nút cảm biến ......................................................... 26 Hình 2.8: Mô hình mạng cảm biến super-cluster .......................................................... 27 Hình 2.9: Pha thiết lập của LEACH-C ..........................................................................29 Hình 3.1. Giao diện OMNeT++ ....................................................................................35 Hình 3.2. Module đơn giản và module phức .................................................................36 Hình 3.3. Mô hình phân cấp của module và kênh ......................................................... 37 Hình 3.4: Kết nối trong OMNeT++ ...............................................................................38 Hình 3.5: Mô hình truyền gói tin trong OMNeT++ ...................................................... 39 Hình 3.6: Topo mạng sử dụng cho mô phỏng ............................................................... 40 Hình 3.7: Mô hình truyền thông giữa hai nút cảm biến ................................................41 Hình 3.8: Các bước mô phỏng giao thức định tuyến LEACH. .....................................43 Hình 3.9: Các bước mô phỏng giao thức định tuyến LEACH-C. .................................45 Hình 3.10: Các cụm tự bầu nút chủ trong giao thức định tuyến LEACH-F .................47 Hình 3.11: Số lượng nút chết theo thời gian mô phỏng ................................................47 Hình 3.12: Số vòng theo phần trăm nút chết .................................................................48 Hình 3.13: Số lượng nút chết theo thời gian mô phỏng. ...............................................48 SVTH: Nguyễn Trọng Dương, lớp: D06VT1
iii
Đồ án tốt nghiệp
Danh mục hình vẽ
Hình 3.14: Số vòng theo phần trăm nút chết .................................................................49 Hình 3.15: Số lượng nút chết theo thời gian mô phỏng ................................................50 Hình 3.16: Số vòng theo phần trăm nút chết .................................................................50 Hình 3.17: Số nút chết theo thời gian mô phỏng của các giao thức .............................. 51 Hình 3.18: Số vòng thực hiện được theo phần trăm nút chết ........................................51
SVTH: Nguyễn Trọng Dương, lớp: D06VT1
iv
Đồ án tốt nghiệp
Thuật ngữ viết tắt
THUẬT NGỮ VIẾT TẮT Từ viết tắt
Tiếng Anh
Tiếng Việt
CDMA
Code Division Multiple Access
Đa truy nhập phân chia theo mã
CSMA
Carrier Access
Đa truy nhập cảm nhận theo sóng mang
DS-SS
Direct Sequence - Spread Spectrum
Trải phổ chuỗi trực tiếp
GAF
Geographic Fidelity
Chính xác tương thích địa lý
GEAR
Geographic and EnergyAware Routing
Định tuyến dựa theo sự nhận biết về địa lý và năng lượng
IEEE
Institute of Electrical and Electronic Engineers
Viện kỹ thuật điện và điện tử
ISM
Industrial, scientific, and medical
Công nghiệp, khoa học, y tế
LEACH
Low-Energy Adaptive Clustering Hierarchy
Phân nhóm phân bậc tương thích năng lượng thấp
LEACHC
Low-Energy Clustering Centralized
Adaptive Hierarchy-
Phân nhóm phân bậc tương thích năng lượng thấp - tập trung
LEACHF
Low-Energy Clustering Fixed
Adaptive Hierarchy-
Phân nhóm phân bậc tương thích năng lượng thấp - Cố định
MAC
Media Access Control
Điều khiển truy nhập môi trường
PAN
Personal Area Network
Mạng vùng cá nhân
PEGASIS
Power-efficient Gathering in Sensor Information System
Tập trung hiệu suất năng lượng trong hệ thống thông tin cảm biến
QoS
Quality of Service
Chất lượng dịch vụ
SAR
Sensor Routing
Giao thức cảm biến kết hợp
Sense
Multiple
Adaptive
Aggregates
SVTH: Nguyễn Trọng Dương, lớp: D06VT1
v
Đồ án tốt nghiệp
Thuật ngữ viết tắt
SMP
Sensor Protocol
Management
SPIN
Sensor Protocols Information Negotiation
SPIN-BC
Sensor Protocols for Information via Negotiation - Broadcast media
Giao thức thông tin cảm biến thông qua sự đàm phán – môi trường quảng bá
SPIN-EC
SPIN-PP with energy threshold
Giao thức thông tin cảm biến thông qua sự đàm phán – điểm điểm với mức ngưỡng năng lượng thấp
SPIN-PP
Sensor Protocols for Information via Negotiation – Point to Point
Giao thức thông tin cảm biến thông qua sự đàm phán – điểm điểm
SPIN-RL
SPIN-BC networks
Giao thức thông tin cảm biến thông qua sự đàm phán – môi trường quảng bá cho mạng suy hao
TDMA
Task Assignment and Data Advertisement Protocol
Đa truy nhập và phân chia theo thời gian
UWB
Ultra-Wideband
Băng siêu rộng
WPAN
Wireless Network
WSN
Wireless Sensor Network
a
for
Personal
for via
low
lossy
Area
SVTH: Nguyễn Trọng Dương, lớp: D06VT1
Giao thức quản lý cảm biến Giao thức thông tin cảm biến thông qua sự đàm phán
Mạng vô tuyến cá nhân Mạng cảm biến không dây
vi
Đồ án tốt nghiệp
Lời mở đầu LỜI NÓI ĐẦU
Trong những năm gần đây, công nghệ và truyền thông đã đạt được những bước phát triển ấn tượng và đang đóng vai trò thiết yếu trong cuộc sống của con người. Chính sự phát triển nhanh chóng của công nghệ đã làm cho hoạt động trao đổi thông tin trở thành một đặc trưng của xã hội hiện đại. Tuy nhiên, xã hội càng tiến bộ thì những nhu cầu của con người ngày càng phong phú và khắt khe hơn. Để đáp ứng được tốt yêu cầu đó, đòi hỏi những người trong lĩnh vực nghiên cứu khoa học phải không ngừng sáng tạo để tìm ra những giải pháp công nghệ mới, không những chỉ đáp ứng tốt nhu cầu hiện tại của xã hội, mà còn định hướng cho những ứng dụng mới trong tương lai. Sự ra đời của mạng cảm biến không dây WSN được đánh giá là một trong những ví dụ điển hình của những giải pháp công nghệ như vậy. Mạng WSN có những ưu thế vượt trội như khả năng ứng dụng phong phú, chi phí triển khai thấp do các nút mạng có giá thành rẻ, tiêu thụ ít năng lượng nhưng vẫn đảm bảo khả năng cảm biến và truyền thông tốt. Tuy nhiên, bất cứ một hệ thống nào có tính linh hoạt và ứng dụng rộng rãi cũng đều phải đối mặt với rất nhiều thách thức, và WSN cũng không phải là một ngoại lệ. Một trong những thách thức lớn nhất của mạng cảm biến là nguồn năng lượng của các nút cảm biến bị giới hạn và không thể nạp lại. Để giải quyết vấn đề đó, hiện nay, rất nhiều hướng nghiên cứu đang tập trung vào việc tìm ra giải pháp để cải thiện khả năng sử dụng hiệu quả nguồn năng lượng cho mạng cảm biến nhưng đáng chú ý nhất là phương pháp sử dụng giao thức định tuyến phù hợp. Kết quả là rất nhiều giao thức định tuyến đã được đưa ra, trong đó, những giao thức định tuyến phân cấp được đánh giá là rất hiệu quả. Để nắm bắt được một công nghệ mới là một việc rất khó khăn, do đó, quyển đồ án này không nghiên cứu toàn bộ các giao thức định tuyến phân cấp mà tập trung vào nghiên cứu “Giao thức định tuyến LEACH trong WSN”. Đặc biệt chú trọng vào những ưu điểm nổi trội của giao thức LEACH, đồng cũng chỉ ra những nhược điểm còn tồn tại, từ đó, đề xuất những giải pháp nhằm nâng cao hiệu quả hoạt động của giao thức thông qua mô phỏng trên nền OMNeT++ trong ba chương: Chương I: Định tuyến trong mạng WSN. Chương này đưa ra cái nhìn tổng quan về WSN, bao gồm khái niệm, ứng dụng và một số giao thức định tuyến chính đang được sử dụng phổ biến trong các ứng dụng WSN. Chương II: Giao thức định tuyến LEACH. Chương này tập trung vào phân tích hoạt động và thuật toán của giao thức LEACH. Từ đó, đánh giá ưu điểm, nhược điểm và đề suất hai giao thức LEACH cải tiến là LEACH-C và LEACH-F. Chương III: Đánh giá hiệu quả sử dụng năng lượng của các giao thức định tuyến LEACH bằng công cụ mô phỏng OMNeT++. Ba giao thức định tuyến trên đang được sử dụng rộng rãi trong WSN, chương này sẽ đi sâu phân tích, xây dựng chương trình mô phỏng ba thuật toán LEACH, LEACH-C và LEACH-F trên nền OMNeT++, qua đó, phân tích, đánh giá ưu điểm của mỗi giao thức.
Nguyễn Trọng Dƣơng - D06VT1
1
Đồ án tốt nghiệp
Lời mở đầu
Để hoàn thành được đồ án này, em đã nhận được rất nhiều sự giúp đỡ về mặt kiến thức cũng như kinh nghiệm của các thầy giáo, cô giáo khoa Viễn thông I, Học viện Công nghệ Bưu chính Viễn thông. Đặc biệt, em xin gửi lời cảm ơn chân thành tới Cô giáo: ThS. Nguyễn Thị Thu Hằng, người đã tận tình giúp đỡ em trong suốt quá trình làm đồ án. Mặc dù đã nỗ lực cố gắng, song với thời gian hạn chế, quyển đồ án chắc chắn không thể tránh khỏi thiếu sót, rất mong nhận được sự đóng góp, chỉ bảo của thầy giáo, cô giáo. Em xin chân thành cảm ơn! Hà Nội, Ngày 29 thánh 11 năm 2010 Sinh viên
Nguyễn Trọng Dương
Nguyễn Trọng Dƣơng - D06VT1
2
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
CHƢƠNG 1: ĐỊNH TUYẾN TRONG MẠNG WSN Chương một sẽ trình bày những thông tin khái quát về ý tưởng và những ứng dụng của mạng cảm biến không dây (WSN – Wireless Sensor Network), đồng thời cũng chỉ ra những thách thức về mặt kỹ thuật mà mạng WSN phải đối mặt và các giải pháp công nghệ hiện tại được đưa ra để giải quyết các vấn đề đó. Trong đó, tập trung chủ yếu vào vấn đề thiết kế giao thức định tuyến. Bên cạnh đó, chương này cũng trình bày khái quát một số giao thức định tuyến được sử dụng phổ biến trong WSN. Để từ đó, nhận thấy được vai trò và khả năng ứng dụng của đề tài nghiên cứu “giao thức định tuyến LEACH trong WSN” vào thực tiễn xây dựng và triển khai mạng WSN. 1.1. Giới thiệu chung 1.1.1. Tổng quan về WSN Mạng cảm biến không dây (WSN – Wireless Sensor Network) được định nghĩa là một mạng lưới được hình thành từ số lượng lớn các nút cảm biến và có ít nhất một trạm gốc. Nút cảm biến là những thiết bị nhỏ gọn, có khả năng tự hành và hoạt động trong một số điều kiện đặc biệt như: sử dụng nguồn năng lượng pin, tiêu tốn ít năng lượng và có đầy đủ các tính năng để thực hiện nhiệm vụ cảm nhận, đo đạc, tính toán, lưu trữ dữ liệu nhằm đưa ra các nhận định toàn cục về môi trường xung quanh. Ngoài ra, chúng cũng được trang bị bộ thu, phát vô tuyến để truyền thông với trạm gốc, là nơi mà các thông số từ nút gửi về sẽ được phân tích, tính toán, lưu trữ và luôn sẵn sàng cho người sử dụng [1][18].
Hình 1.1: Mô hình mạng cảm biến thông thường Nguyễn Trọng Dƣơng - D06VT1
3
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Có rất nhiều lý do khiến WSN trở thành một trong những đề tài nghiên cứu hấp dẫn nhất trong lĩnh vực viễn thông những năm gần đây, trong đó, quan trọng nhất là khả năng triển khai mạng và khả năng đáp ứng được rất nhiều ứng dụng thực tế khác nhau của nó. Ngày nay, nhờ những tiến bộ trong công nghệ cảm biến, chi phí để xây dựng một mạng WSN được giảm đáng kể, thời gian sống của các nút cảm biến cũng được cải thiện, thêm vào đó là ưu điểm của mạng WSN là rất đơn giản trong xây dựng và lập trình mạng. Tuy nhiên, nhân tố cốt lõi và quan trọng nhất khiến WSN được xem như là một công nghệ mới đầy hứa hẹn chính là ở khả năng cung cấp những ứng dụng thực tế của nó. Với công nghệ cảm biến hiện đại, các Nút cảm biến ngày nay có thể cảm biến được số lượng lớn tham số vật lý, từ những tham số đã rất phổ biến như: nhiệt độ, độ ẩm, ánh sáng và tia hồng ngoại, âm thanh, trấn động, áp lực, các cảm biến hóa học, từ trường… cho đến những loại tham số vô cùng tinh vi như: khả năng nhận thức (ví dụ như các cảm biến tương tác hoặc di chuyển). Chính nhờ khả năng cảm biến được rất nhiều thông số vật lý đó mà WSN ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực như: quân sự, giám sát môi trường và đa dạng sinh học, căn hộ thông minh, quản lý nhà máy hoặc các ứng dụng trong chăm sóc sức khỏe con người. Trong tương lai gần, WSN và các ứng dụng của nó sẽ đóng vai trò thiết yếu trong cuộc sống của con người [7]. Thiết kế một mô hình mạng WSN chung duy nhất để đáp ứng được hàng loạt các ứng dụng trên là vô cùng khó khăn, do đó, với mỗi một loại ứng dụng cụ thể, chúng ta phải thiết kế một kiểu mạng WSN phù hợp với nó. Tuy nhiên, trong quá trình thiết kế, tựu trung lại, WSN có một số đặc điểm như: Chất lượng dịch vụ: Thông thường, những thông số về chất lượng dịch vụ truyền thống (thường bắt nguồn từ các ứng dụng đa phương tiện) như: giới hạn về độ trễ hoặc băng thông tối thiểu không phải là yêu cầu quan trọng trong WSN. Tuy nhiên, trong một số trường hợp, việc truyền các gói tin theo chu kỳ lại được đặt lên hàng đầu, hoặc trong một số trường hợp khác, độ tin cậy của thông tin, trễ,… lại là vấn đề rất quan trọng. Khả năng chịu lỗi: Yếu tố đặc biệt quan trọng là WSN phải có khả năng xử lý được những vấn đề như: các nút có thể hết năng lượng hoặc bị hỏng, hoặc truyền thông vô tuyến giữa hai nút bị ngắt. Thời gian sống: Trong hầu hết các kịch bản, nút cảm biến đều hoạt động nhờ vào một nguồn cung cấp năng lượng có giới hạn (sử dụng pin). Việc thay thế nguồn năng lượng của nút trên thực tế thường là không thực hiện được, đồng thời, một mạng WSN phải duy trì được trong một khoảng thời gian yêu cầu hoặc càng lâu càng tốt. Do đó, thời gian sống của mạng WSN trở thành một vấn đề rất quan trọng.
Nguyễn Trọng Dƣơng - D06VT1
4
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Khả năng mở rộng: Mạng WSN có thể bao gồm một số lượng rất lớn nút cảm biến, do đó, kiến trúc và giao thức mạng được áp dụng phải có khả năng mở rộng dễ dàng. Khả năng duy trì: Cả môi trường hoạt động của WSN và bản thân nó luôn luôn thay đổi, do đó, hệ thống phải có khả năng thích nghi tốt. Điều này đòi hỏi phải có cơ chế giám sát trạng thái của các nút để điều chỉnh các thông số hoạt động (ví dụ như chấp nhận cung cấp dữ liệu với chất lượng kém hơn khi nguồn năng lượng yếu). Theo hướng này, mạng lưới phải tự bảo trì hoặc nó cũng có thể tương tác với các cơ chế bảo trì bên ngoài để đảm bảo rằng nó có thể hoạt động và đáp ứng được những tiêu chuẩn như yêu cầu. Như vậy, bên cạnh những ưu thế có được, mạng WSN đang phải đối mặt với rất nhiều thách thức đó là làm sao để tìm ra được các cơ chế có thể đáp ứng được tất cả yêu cầu về đặc điểm trên. Một trong những thách thức lớn nhất đó là nguồn năng lượng bị giới hạn và không thể nạp lại. Hiện nay rất nhiều nhà nghiên cứu đang tập trung vào việc cải thiện khả năng sử dụng hiệu quả năng lượng của mạng cảm biến trong từng lĩnh vực khác nhau. Trong đó đáng chú ý nhất là phương pháp sử dụng giao thức định tuyến phù hợp để tìm đường đi giữa các nút mạng, qua đó kéo dài đáng kể thời gian sống của mạng WSN, đây chính là mục tiêu nghiên cứu của đồ án này. 1.1.2. Những hướng nghiên cứu WSN Những nghiên cứu trong lĩnh vực WSN đã được thực hiện ở một vài mức độ, bắt đầu từ mức phần tử, mức hệ thống và tất cả đều hướng tới mức độ ứng dụng. Các nghiên cứu ở mức phần tử chủ yếu tập trung vào cải thiện khả năng cảm ứng, truyền thông và tính toán của các thiết bị cảm biến riêng biệt. Những nghiên cứu ở mức độ hệ thống tập trung vào việc tìm ra cơ chế nhằm thiết lập mạng lưới, phối hợp một số thiết bị cảm biến với nhau và sử dụng năng lượng một cách hiệu quả. Các nghiên cứu ở mức độ ứng dụng thì quan tâm tới quá trình triển khai mạng cảm biến vào những ứng dụng cụ thể [2]. Mức độ phần tử: Với sự phát triển vượt bậc của khoa học và công nghệ, đặc biệt là công nghệ điện tử dẫn đến sự ra đời của nhiều hệ thống vi điện tử hiện đại, ít tiêu tốn năng lượng và khả năng xử lý tín hiệu rất tốt. Những phát minh trong công nghệ điện tử chính là cơ sở cho sự ra đời của các bộ cảm biến với kích thước nhỏ, giá thành rẻ và từ đó, mạng cảm biến WSN ngày càng được ứng dụng rộng rãi. Xuất phát từ yêu cầu cải thiện khả năng xử lý tín hiệu và truyền thông của các nút cảm biến, hàng loạt các nghiên cứu ở mức phần từ ([2][5][17]) đã được tiến hành và kết quả là rất nhiều phát kiến mới được ứng dụng nhằm cải thiện khả năng của nút cảm biến. Những nghiên cứu ở mức phần tử chủ yếu tập trung vào những vấn đề sau: Cải thiện khả năng thu thập dữ liệu từ môi trường xung quanh thông qua bộ cảm biến và chuyển đổi thành tín hiệu số, nghiên cứu các công nghệ truyền thông (chủ yếu là vô tuyến) giữa các nút cảm biến và giữa nút cảm biến với trung tâm, cải tiến công nghệ chế tạo nhằm làm giảm giá thành và kích thước của nút cảm biến. Nguyễn Trọng Dƣơng - D06VT1
5
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Mức độ hệ thống: Các nút cảm biến thông thường phải hoạt động với nguồn năng lượng và băng thông hạn chế, hơn nữa, một mạng cảm biến lại bao gồm số lượng nút rất lớn, do đó, quá trình thiết kế và quản lý mạng gặp rất nhiều khó khăn. Chính những thách thức này là động lực cho những nghiên cứu ở mức độ hệ thống nhằm cải thiện sự tiêu thụ năng lượng của các nút cảm biến. Trong các nghiên cứu ở mức độ hệ thống, những giải pháp trong lớp vật lý và lớp ứng dụng hoàn toàn có thể triển khai trong các ứng dụng khác nhau của mạng cảm biến. Tuy nhiên, việc thiết kế lớp giao thức mạng trong quá trình triển khai mạng WSN lại vô cùng phức tạp, vì mỗi một ứng dụng khác nhau, mạng cảm biến có những đặc điểm, yêu cầu và thách thức khác nhau, nên đỏi hỏi phải có những giao thức định tuyến phù hợp với nó. Chính vì vậy, những nghiên cứu ở mức độ hệ thống[3][4][5] tập chung chủ yếu vào lớp mạng nhằm mục đích thiết kế các giao thức định tuyến tiết kiệm năng lượng. Kết quả của hướng nghiên cứu này là phát minh ra hàng loạt những thuật toán định tuyến mới nhằm giải quyết vấn đề định tuyến dữ liệu trong mạng cảm biến. Các giao thức định tuyến có thể phân chia thành ba loại: Giao thức định tuyến trung tâm dữ liệu, giao thức định tuyến phân cấp và giao thức định tuyến căn cứ vào vị trí. Mức độ ứng dụng: Mạng cảm biến không dây WSN được đánh giá là có thể cung cấp nhiều ứng dụng trong các lĩnh vực như: quân sự, y học, môi trường,… Những nghiên cứu ở mức độ ứng dụng chủ yếu tập trung tìm hiểu các thông số liên quan tới vấn đề lắp đặt và vận hành mạng cảm biến theo cách hiệu quả nhất. 1.1.3. Vấn đề định tuyến Mặc dù mạng cảm biến có nhiều đặc điểm tương đồng với mạng Adhoc, nhưng chúng cũng có một số đặc trưng riêng, đòi hỏi phải có các giải pháp công nghệ hoàn toàn khác với mạng Adhoc. Do vậy, WSN yêu cầu thiết kế các giao thức định tuyến mới, khác xa so với các giao thức định tuyến đã tồn tại trong mạng Adhoc. Quá trình thiết kế giao thức định tuyến để WSN có thể đáp ứng được tốt những đặc trưng riêng đó đã dẫn đến hàng loạt thách thức lớn và riêng có đối với WSN. Phần này, sẽ trình bày những thách thức phải đối mặt trong quá trình thiết kế giao thức định tuyến cho WSN [9]. Mục đích chính của mạng cảm biến là truyền thông dữ liệu trong mạng, đồng thời, cố gắng kéo dài thời gian sống của mạng và ngăn chặn sự cố ngắt kết nối bằng cách đưa ra những kỹ thuật quản lý năng lượng linh hoạt. Trong khi thiết kế các giao thức định tuyến, chúng ta thường gặp phải những vấn đề sau: Đặc tính thay đổi thời gian và trật tự sắp xếp của mạng: Các nút cảm biến hoạt động với sự giới hạn về khả năng tính toán, lưu trữ và truyền dẫn dưới ràng buộc về năng lượng khắt khe. Tùy thuộc vào ứng dụng cụ thể mà mật độ các nút cảm biến trong mạng sẽ được phân bổ khác nhau. Hơn nữa, trong nhiều Nguyễn Trọng Dƣơng - D06VT1
6
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
ứng dụng, số lượng các nút cảm biến có thể lên đến hàng trăm, thậm chí hàng nghìn nút và được phân bổ trong một vùng rộng lớn. Trong mạng như vậy, bắt buộc các nút cảm biến phải có khả năng thích nghi tốt, vì nó phải liên tục điều chỉnh để thích ứng với sự thay đổi của môi trường mạng nhằm tự tổ chức và bảo toàn năng lượng. Ràng buộc về tài nguyên: Các giao thức định tuyến trong mạng cảm biến phải được thiết kế với độ phức tạp nhỏ nhất và dễ dàng triển khai trong phạm vi rộng để giảm chi phí toàn mạng. Năng lượng là mối quan tâm chính trong mạng cảm biến không dây và vấn đề quản lý năng lượng đã trở thành một thách thức chiến lược trong nhiều ứng dụng quan trọng. Làm thế nào để kéo dài thời gian sống của mạng trong khi các nút hoạt động với sự giới hạn về năng lượng dự trữ? Năng lượng truyền đi của sóng vô tuyến phụ thuộc vào khoảng cách truyền và môi trường có nhiều vật cản không. Trong hầu hết các trường hợp, định truyến đa bước nhảy (multihop) sẽ tiêu thụ năng lượng ít hơn là việc truyền trực tiếp. Tuy nhiên, định tuyến đa bước nhảy cần một số lượng lớn các tiêu đề (overhead) để điều khiển cấu hình và điều khiển truy nhập đường truyền, do đó, định truyến trực tiếp sẽ tốt hơn trong trường hợp tất cả các nút đều rất gần sink. Phương pháp báo cáo số liệu: Tùy thuộc vào từng ứng dụng của mạng mà quá trình báo cáo số liệu trong WSN có thể được chia thành: báo cáo theo thời gian, theo sự kiện, theo yêu cầu hoặc kết hợp các phương pháp này. Phương pháp báo cáo theo thời gian phù hợp với những ứng dụng yêu cầu giám sát số liệu định kỳ, khi đó, các nút cảm biến sẽ bật bộ phận cảm biến và bộ phát tín hiệu theo định kỳ, cảm nhận môi trường, phát số liệu yêu cầu theo chu kỳ thời gian xác định. Trong trường hợp báo cáo theo sự kiện và theo yêu cầu, các nút cảm biến phải phản ứng tức thì đối với những thay đổi giá trị của thuộc tính cảm biến do xuất hiện một sự kiện xác định nào đó hoặc để trả lời một yêu cầu được tạo ra bởi nút gốc. Mô hình dữ liệu trong mạng cảm biến: Mô hình dữ liệu mô tả luồng thông tin giữa các nút cảm biến và sink. Mô hình này phụ thuộc nhiều vào đặc điểm của các ứng dụng cụ thể, mà như ta đã biết, mạng WSN được thiết kế nhằm đáp ứng một số lượng lớn ứng dụng thực tiễn. Trong một số ứng dụng, yêu cầu mô hình thu thập dữ liệu mà dựa trên việc lấy mẫu theo chu kỳ hay khi xảy ra các sự kiện trong môi trường quan sát, trong các ứng dụng khác, dữ liệu có thể được cảm biến và lưu trữ, hoặc có thể được xử lý, tập hợp tại một nút trước khi chuyển tiếp đến sink. 1.2.
Khảo sát một số thuật toán định tuyến
Như đã nêu ở phần trên, có rất nhiều vấn đề phải xem xét khi thiết kế một giao thức định tuyến trong WSN. Một giao thức định tuyến thỏa mãn được các yêu cầu đó có nghĩa là đã tạo ra được sự cân bằng giữa khả năng phản ứng với môi trường xung Nguyễn Trọng Dƣơng - D06VT1
7
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
quanh và hiệu quả của mạng, tức là phải đảm bảo thông tin dữ liệu đầy đủ trong khi vẫn tối ưu hóa công suất truyền và xem xét đến tài nguyên hạn chế của các nút mạng, đặc tính thay đổi theo thời gian của kênh truyền vô tuyến. Trên cơ sở đó, nhiều giao thức đã được đưa ra, phần này sẽ giới thiệu một số giao thức định truyến đã được thiết kế cho mạng cảm biến. 1.2.1. Phân loại các giao thực định tuyến Căn cứ vào mô hình dữ liệu trong mạng cảm biến, chúng ta có thể phân chia các giao thức định tuyến thành 3 loại: Giao thức trung tâm dữ liệu, giao thức phân cấp và giao thức dựa trên vị trí. Giao thức định tuyến trung tâm dữ liệu Trong nhiều ứng dụng của mạng cảm biến thì việc xác định số nhận dạng toàn cầu cho từng nút là không khả thi. Việc thiếu số nhận dạng toàn cầu cùng với việc triển khai ngẫu nhiên các nút gây khó khăn trong việc chọn ra một tập hợp các nút chuyên dụng. Vì thế, dữ liệu được truyền từ mọi nút trong vùng triển khai tới sink. Tuy nhiên, các nút sẽ gửi dữ liệu với độ dư thừa đáng kể vì không có cơ chế quản lý vị trí. Do vậy, người ta đã đưa ra các giao thức định tuyến mà có khả năng chọn ra tập hợp các nút và thực hiện tập trung dữ liệu trong suốt quá trình truyền. Ý tưởng này đã được nghiên cứu và phát triển để rồi thiết kế thành giao thức trung tâm dữ liệu. Trong loại giao thức định tuyến này, sink gửi yêu cầu đến các vùng xác định và đợi dữ liệu từ các sensor được chọn trước trong vùng. SPIN là giao thức đầu tiên thuộc loại này mà đã đề cập đến việc dàn xếp dữ liệu giữa các nút để giảm bớt sự dư thừa dữ liệu và tiết kiệm năng lượng. Sau đó Directed Diffusion (truyền tin trực tiếp) được phát triển và là một giao thức rất đáng chú ý trong loại định tuyến trung tâm dữ liệu. Giao thức định tuyến phân cấp Khi công nghệ điện tử phát triển làm cho giá thành của các bộ cảm biến giảm đáng kể thì khả năng và nhu cầu triển khai một mạng WSN trên pham vi rộng xuất hiện. Khi đó, một vấn đề nảy sinh là yêu cầu về khả năng mở rộng của mạng. Một cấu trúc mạng phẳng với số lượng lớn nút cảm biến thường hạn chế về khả năng mở rộng và rất khó để có thể liên kết hoạt động của các nút trong toàn mạng với nhau. Để giải quyết vấn đề này, cấu trúc mạng phân cấp (clusters) được đề xuất nhằm giải quyết vấn đề này. Hướng tiếp cận này có thể giảm thiểu đáng kể yêu cầu với các nút trong cảm biến, xử lý dữ liệu và truyền thông trong cùng một cụm, do đó, tạo ra khả năng sử dụng hiệu quả năng lượng và kéo dài thời gian sống của mạng. Ngoài ra, cấu trúc phân cấp cũng có thể cung cấp khả năng cân bằng tải nếu cần thiết. Tuy nhiên, mục đích chính của định tuyến phân cấp là để đạt được và duy trì tính hiệu quả trong việc tiêu thụ năng lượng của các nút cảm biến bằng cách đặt chúng trong giao tiếp multihop thuộc phạm vi một cụm cụ thể, đồng thời, thực hiện tập trung và hợp nhất dữ liệu để giảm số bản tin được truyền đến sink. Sự hình thành các cụm
Nguyễn Trọng Dƣơng - D06VT1
8
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
chủ yếu dựa trên năng lượng dự trữ của nút cảm biến và vùng lân cận của nút so với các nút chủ của cụm. LEACH là một trong số những cách 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 giao thức định tuyến phân cấp khác phát triển. Giao thức định tuyến dựa trên vị trí Hầu hết các ứng dụng mạng cảm biến đều yêu cầu thông tin về vị trí của các nút để phục vụ cho những mục đích khác nhau. Vì mạng cảm biến không có chế độ địa chỉ nào như địa chỉ IP và chúng được triển khai trong một vùng không gian rộng lớn, vì vậy thông tin về vị trí cần phải được sử dụng trong các dữ liệu định tuyến theo cách hiệu quả về mặt năng lượng, từ đó, các giao thức định tuyến dựa trên vị trí được phát triển. Trong loại giao thức định tuyến này, GAF và GEAR là hai giao thức rất đáng được chú ý. 1.2.2. Các giao thức định tuyến 1.2.2.1. Giao thức định tuyến trung tâm dữ liệu SPIN SPIN (Sensor Protocol for Information via Negotiation) là giao thức trung tâm dữ liệu đầu tiên, dựa trên sự thỏa thuận về dữ liệu được quan tâm trước khi chuyển tiếp dữ liệu nhằm giảm sự dư thừa và tiết kiệm năng lượng. Mục tiêu chính của giao thức này là tập trung quan sát môi trường một cách hiệu quả vào một số nút cảm biến riêng biệt trên toàn bộ mạng. Nguyên lý của giao thức này là dựa trên sự thích ứng về tài nguyên và sắp xếp dữ liệu. Trong SPIN, tất cả các loại dữ liệu khác nhau đều được đánh dấu bằng một bộ miêu tả dữ liệu hay còn gọi là meta-data. Khi một nút cảm biến nhận được một một gói tin dữ liệu mới, nó phát quảng bá meta-data của bản tin dữ liệu đó tới các nút lân cận (chứ không chuyển tiếp ngay gói dữ liệu) và chờ phản hồi từ các nút này. Khi nhận được bản tin request từ nút lân cận nào thì gửi gói data cho nút đó. Các nút lân cận khi nhận được một bản tin quảng bá có chứa meta-data từ nút hàng xóm, nó sẽ quyết định xem có cần loại dữ liệu đó không, nếu cần thì gửi trả lại bản tin request. Ý nghĩa của việc dàn xếp dữ liệu (data negotiation) là các nút trong giao thức SPIN sẽ biết về loại dữ liệu trước khi bất kỳ dữ liệu nào được truyền trong mạng . Nơi nhận dữ liệu bày tỏ mối quan tâm đến nội dung dữ liệu bằng cách gửi yêu cầu để lấy được dữ liệu đang được quảng bá. Điều này tạo ra sự giàn xếp dữ liệu để đảm bảo rằng dữ liệu chỉ được truyền đến nút quan tâm loại dữ liệu này. Do đó mà loại trừ khả năng bản tin kép và giảm thiểu đáng kể việc truyền dữ liệu dư thừa qua mạng. Việc sử dụng bộ miêu tả dữ liệu cũng loại trừ nguy cơ chồng chất vì các nút có thể giới hạn số lượng loại dữ liệu mà chúng quan tâm đến. Mỗi nút theo dõi mức tiêu Nguyễn Trọng Dƣơng - D06VT1
9
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
thụ năng lượng của mình trước khi truyền hoặc xử lý dữ liệu. Khi mức năng lượng còn lại thấp các nút này có thể giảm số lượng dữ liệu mà nó quan tâm hoặc loại bỏ một số hoạt động như là truyền meta-data hoặc các gói. Chính khả năng thay đổi để thích nghi với nguồn năng lượng hiện có của các nút đã làm tăng thời gian sống của toàn mạng.[8] Để truyền và sắp xếp dữ liệu, giao thức SPIN sử dụng ba loại bản tin.
Hình 1.2: Ba tín hiệu bắt tay của SPIN
Hình 1.3: Hoạt động của SPIN Hoạt động của SPIN gồm 6 bước: Bước 1: Gửi ADV (Advertise) để thông báo dữ liệu mới tới các nút. Bước 2: Gửi REQ (Request) để yêu cầu dữ liệu mà nút quan tâm. Sau khi nhận được ADV các nút quan tâm đến dữ liệu này sẽ gửi REQ để yêu cầu lấy dữ liệu. Bước 3: Bản tin DATA, bản tin này thực sự chứa dữ liệu được cảm biến và kèm theo mào đầu miêu tả dữ liệu. Bước 4: Sau khi một nút nhận dữ liệu nó sẽ chia sẻ dữ liệu của nó cho các nút còn lại trong mạng bằng việc phát bản tin ADV chứa miêu tả dữ liệu (metadata). Bước 5: Quá trình truyền gói dữ liệu tiếp tục bằng việc các nút xung quanh gửi bản tin REQ yêu cầu dữ liệu. Bước 6: DATA lại được truyền đến các nút mà yêu cầu dữ liệu này. Tuy nhiên giao thức SPIN cũng có hạn chế nảy sinh khi nút trung gian không quan tâm đến dữ liệu nào đó thì dữ liệu không thể đến được đích. Directed Difussion Nguyễn Trọng Dƣơng - D06VT1
10
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Directed Diffussion – giao thức truyền tin trực tiếp – là một giao thức định tuyến dữ liệu ở trung tâm mạng WSN. Mục đích của giao thức là giải quyết vấn đề giới hạn trong khả năng mở rộng mạng lưới của các giao thức trung tâm dữ liệu, tuy nhiên, Directed Diffussion cố gắng tìm ra một giải pháp đơn giản, thay vì phụ thuộc vào khả năng định vị toàn cầu của các nút, giao thức này tạo ra sự tương tác giữa các nút trong một vùng [8]. Cấu trúc của truyền tin trực tiếp bắt nguồn từ chính cách thức hoạt động bên trong của một mạng cảm biến: Người vận hành hệ thống sẽ thông qua sink, tạo ra một yêu cầu tới một vùng xác định nào đó trong mạng theo hướng nhất định, các nút trong vùng đó sẽ thu thập dữ liệu cần thiết và gửi trả lại để hoàn thành yêu cầu. Mỗi khi dữ liệu được thu thập, mỗi nút cảm biến sẽ kết hợp với các nút lân cận để truyền kết quả trở về sink. Giao thức Directed Diffusion bao gồm 4 thành phần: interest (thông tin yêu cầu), data message (các bản tin dữ liệu), gradient và reinforcements. Hoạt động của Directed Dissfusion có thể được mô tả như sau:
Hình 1.4: Hoạt động của Directed Diffusion
Nguyễn Trọng Dƣơng - D06VT1
11
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Truyền interest: Dữ liệu được gán nhãn bằng các cặp giá trị thuộc tính. Một yêu cầu cảm biến tạo bởi sink sẽ được gửi trên toàn mạng dưới dạng các interest. Bản tin này sẽ truyền qua tất cả các nút trong mạng thể hiện sự quan tâm đến một loại dữ liệu nào đó. Mục đích của việc thăm dò này là để xem xét xem có nút cảm biến nào đó có thể tìm kiếm dữ liệu tương ứng với interest không. Mỗi một nhiệm vụ do sink gửi đi được miêu tả bằng một danh sách các cặp giá trị thuộc tính, ví dụ, danh sách này có thể chứa kiểu dữ liệu được yêu cầu, chu kỳ thời gian mà sink muốn nhận thông tin về nhiệm vụ được yêu cầu, thời gian tồn tại của toàn bộ nhiệm vụ, vùng mạng được chỉ định… Như vậy, mỗi một nhiệm vụ cảm biến do sink yêu cầu được mô tả trong một bản tin interest. Tất cả các nút đều duy trì một ngăn xết interest gọi là interest cache để lưu trữ các interest khác nhau. Mỗi một mục interest lại có nhiều trường khác nhau gồm: Một trường nhãn thời gian timestamp chứa thời điểm cuối cùng nhận được interest tương thích, một số trường gradient tương ứng với các nút hàng xóm (mỗi một gradient có một trường tốc độ dữ liệu chứa tốc độ dữ liệu yêu cầu bởi nút hàng xóm và hướng truyền), một trường chu kỳ chỉ ra khoảng thời gian tồn tại của interest. Khi nút cảm biến nhận được một interest, nó kiểm tra trong bộ nhớ cache của nó, nếu không có mục interest nào tương ứng thì nút sẽ tạo ra một mục interest mới với các thông số có trong interest vừa nhận được. Ngược lại, nếu như interest nhận được có trong cache thì nút sẽ cập nhật nhãn thời gian và trường duration vào mục interest tương ứng. Sau khi nhận một interest, một nút sẽ quyết định broadcast interest này tới tất cả các hàng xóm của nó, hoặc nó có thể chỉ gửi interest tới một vài nút lân cận, hoặc cũng có thể hủy interest đó nếu như nó vừa mới gửi một interest cùng loại. Đối với hàng xóm của nút gửi interest, nhận được interest chuyển tiếp từ nút nào thì nó coi nút đó là nguồn của interest, mặc dù trên thực tế, interest này được bắt nguồn từ sink. Theo cách thức hoạt động đó, các interest được truyền đi trên toàn mạng thông qua sự tương tác giữa các nút lân cận. Thiết lập Gradient: Quá trình các bản tin interest được truyền đi cũng chính là quá trình thiết lập các đường truyền có thể trong mạng (gradient). Các gradient này được sử dụng để định tuyến cho gói tin dữ liệu (dữ liệu phù hợp với interest) trở lại sink. Dữ liệu sẽ được truyền trở về sink thông qua các đường truyền đa điểm, nút trung gian có thể lưu trữ hoặc tính toán dữ liệu. Truyền dữ liệu: Một nút cảm biến nằm trong vùng đích của một interest có nhiệm vụ thu thập dữ liệu và gửi bản tin dữ liệu đi ở tốc độ bằng với tốc độ lớn nhất chỉ ra trong trường gradients của nó. Khi nút nhận được một bản tin dữ liệu từ một trong các nút hành xóm của nó, nó sẽ tìm kiếm interest tương ứng trong cache. Nếu như không tồn tại interest nào tương ứng, gói dữ liệu sẽ bị loại bỏ. Nếu nút nhận được một bản tin dữ liệu mà có một mục interest phù hợp, để đề phòng trường hợp lặp vòng, nút tiến hành kiểm tra cache dữ Nguyễn Trọng Dƣơng - D06VT1
12
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
liệu, cache này lưu trữ đường đi của các bản tin dữ liệu mới nhận được. Nếu như bản tin dữ liệu nhận được khớp với một mục trong cache dữ liệu thì bản tin đó cũng bị loại bỏ. Ngược lại, bản tin dữ liệu sẽ được thêm vào cache dữ liệu và gửi tới nút lân cận. Trước khi gửi một bản tin dữ liệu, một nút cần kiểm tra danh sách đường truyền trong mục interest. Nếu tất cả các đường truyền có tốc độ dữ liệu lớn hơn hoặc bằng tốc độ yêu cầu của gói tin đến, nút này sẽ có thể chuyển tiếp gói tin dữ liệu vừa nhận được tới nút lân cận dự phòng. Nếu một vài đường truyền có tốc độ dữ liệu thấp hơn những đường truyền khác, nút sẽ chuyển những đường truyền đó xuống thành đường truyền dự phòng. Như vậy, Directed disffusion có ưu điểm là nếu một đường dẫn nào đó giữa sink và một nút bị lỗi, một đường dẫn có tốc độ dữ liệu thấp hơn sẽ được thay thế. Kỹ thuật định tuyến này ổn định và phù hợp với mạng yêu cầu tính linh hoạt cao. Loại giao thức định tuyến này tiết kiệm năng lượng đáng kể. 1.2.2.2. Giao thức định tuyến phân cấp LEACH LEACH (Low-Energy Adaptive Clustering Hierarchy-Centralized) là giao thức phân cấp theo cụm thích ứng năng lượng thấp. Trong giao thức LEACH, các nút cảm biến được tập hợp thành từng cụm, thực hiện chức năng thu thập và truyền dữ liệu tới các sink hoặc trạm gốc thông qua nút chủ. Mục tiêu chính của LEACH là: Kéo dài thời gian sống của mạng Giảm năng lượng tiêu thụ của mỗi nút 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 được quản lý bởi nút chủ. Nút chủ thực hiện nhiều nhiệm vụ, trong đó nhiệm vụ đầu tiên là thu thập dữ liệu theo chu kỳ từ các nút thành viên, trong quá trình nhận dữ liệu, nút chủ sẽ cố gắng tập hợp dữ liệu để giảm dư thừa do có nhiều dữ liệu giống nhau. Nhiệm vụ thứ hai của nút chủ là trực tiếp truyền dữ liệu đã được tập hợp lại đến trạm gốc, quá trình truyền dữ liệu này có thể được thực hiện theo kiểu single-hop hoặc mutil-hop. Nhiệm vụ thứ ba là các nút chủ tạo ra mô hình ghép kênh theo thời gian TDMA (Time Division Multiple Access), mỗi nút trong cụm được gán một khe thời gian nhất định, dùng để định thời hoạt động, thu thập và gửi dữ liệu về nút chủ. Giao thức định tuyến LEACH sẽ được trình bày rõ hơn trong phần sau. PEGASIS PEGASIS (Power-Efficient Gathering in Sensor Information Systems -Tập trung hiệu suất năng lượng trong hệ thống thông tin cảm biến) là một giao thức định tuyến phân cấp. PEGASIS thực hiện 2 nhiệm vụ: Kéo dài thời gian sống cho mạng. Nguyễn Trọng Dƣơng - D06VT1
13
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Đồng bộ năng luợng tại tất cả các nút mạng và giảm độ trễ của gói dữ liệu. PEGASIS áp dụng trên mô hình mạng bao gồm tập hợp các nút được phân bố đồng nhất trên một vùng địa lý. Trong đó mỗi nút đều biết được thông tin về vị trí các nút khác trong toàn mạng. Bên cạnh đó chúng cũng có khả năng điều khiển công suất và bao phủ một vùng tùy ý. Các nút này được trang bị bộ thu phát sóng sử dụng công nghệ CDMA. Nhiệm vụ của nút cảm biến là thu thập và truyền dữ liệu đến sink, thông thường là các trạm gốc. Mục đích chính của giao thức là phát triển một cấu trúc định tuyến và một sơ đồ tập trung dữ liệu nhằm giảm thiểu năng lượng tiêu thụ, đồng thời, dữ liệu được tập trung và truyền đến trạm cơ sở với trễ truyền dẫn nhỏ nhất, trong khi vẫn cân bằng sự tiêu thụ năng lượng giữa các nút trong mạng. Hoạt động của pegasis gồm 3 bƣớc: Xây dựng chuỗi, chọn nút chủ, truyền dữ liệu, xử lý lỗi khi nút chết. Xây dựng chuỗi: Mục đích là tạo ra một chuỗi các nút cảm biến – mỗi nút có thể nhận và truyền dữ liệu tới nút bên cạnh. Quá trình thêm nút vào chuỗi được thực hiện tuân theo thuật toán Greedy. Bắt đầu với nút xa sink nhất để đảm bảo rằng tất cả nút cảm biến ở xa đều có nút lân cận gần nó vì trong thuật toán greedy khoảng cách giữa các nút sẽ tăng dần và nút nằm trong chuỗi sẽ không được thăm lại, nút mạng được thêm dần vào chuỗi làm cho chuỗi lớn dần, kể từ nút hàng xóm gần nhất. Để xác định được nút lân cận gần nhất, mỗi nút sử dụng cường độ tín hiệu để đo khoảng cách tới các nút lân cận của nó. Sau khi xác định xong, nó sẽ điều chỉnh cường độ tín hiệu sao cho chỉ có nút lân cận gần nhất nghe được.
Hình 1.5: Xây dựng chuỗi sử dụng thuật toán Greedy Chọn nút chủ: Sau khi chuỗi được thành lập, bước tiếp theo là chọn nút chủ. Trong một chuỗi chỉ có một nút được chọn làm nút chủ, trách nhiệm của nút chủ là truyền dữ liệu tập hợp được tới trạm cơ sở. Vai trò nút chủ sẽ được thay đổi trong chuỗi theo vị trí sau mỗi vòng. Việc quay vòng nút chủ trong chuỗi nhằm đảm bảo sự cân bằng trong tiêu thụ năng lượng giữa các nút mạng. Tuy Nguyễn Trọng Dƣơng - D06VT1
14
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
nhiên, trong nhiều trường hợp, việc thay đổi có thể làm khoảng cách giữa nút chủ và trạm gốc lớn, khi đó nút này lại yêu cầu công suất cao để truyền dữ liệu đến trạm cơ sở. Nút chủ được chọn theo cách sau: ở vòng thứ i thì nút thứ i mod N (N là số nút trong mạng) sẽ làm chủ. Truyền dữ liệu: Quá trình tập hợp dữ liệu trong mạng được tiến hành dọc theo chuỗi. Trong một vòng, mỗi nút nhận dữ liệu từ nút hàng xóm và kết hợp với dữ liệu mà nó thu nhận được rồi chuyển tiếp đến nút hàng xóm kế tiếp trong chuỗi. Trong một vòng, PEGASIS sử dụng cơ chế điều khiển token passing được khởi tạo bởi nút chủ để bắt đầu truyền dữ liệu từ hai đầu của chuỗi. Chi phí cho các bản tin điều khiển này là rất nhỏ vì kích thước thẻ bài nhỏ. Đầu tiên nút chủ sẽ gửi một thẻ bài tới nút cuối cùng bên phải của chuỗi. Khi nhận được tín hiệu này nút cuối sẽ gởi dữ liệu nó cảm biến được đến nút lân cận theo chiều xuôi trong chuỗi, nút hàng xóm này tiến hành tập hợp dữ liệu và tiếp tục chuyển tiếp đến nút lân cận gần nó nhất, cứ như vậy cho đến khi dữ liệu được gửi đến nút chủ. Sau đó, nút chủ tập hợp dữ liệu và gửi đến sink.
Hình 1.6: Mô hình truyền dữ liệu trong PEGASIS 1.2.2.3. Giao thức định tuyến dựa trên vị trí GAF GAF (Geographic Adaptive Fidelity) là một thuật toán định tuyến xuất phát từ mạng Adhoc di động nhưng có thể áp dụng cho mạng cảm biến, mục tiêu của GAF là tiết kiệm năng lượng cho các nút dựa trên cơ sở khoanh vùng nút theo vị trí [8]. Theo giao thức này, toàn bộ vùng bao phủ của mạng được chia thành nhiều phân vùng nhỏ và cố định nhờ cơ chế thiết lập nên các lưới ảo. Mỗi phân vùng trong GAF là một khu vực hình vuông, có kích thước bằng nhau, phụ thuộc vào công suất truyền yêu Nguyễn Trọng Dƣơng - D06VT1
15
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
cầu và hướng truyền thông. Nút cảm biến xác định phân vùng mà nó thuộc về thông qua xác định vị trí chính xác của nó nhờ thông tin từ hệ thông định vị toàn cầu GPS (Global Poisitioning System) và so sánh với thông tin của lưới ảo được thiết lập trước đó.Tất cả nút cảm biến trong cùng một phân vùng được đánh giá ngang cấp khi xác định giá định tuyến.
Hình 1.7: Hoạt động của GAF Lưới ảo được xây dựng theo cách thức nhất định nhằm đảm bảo rằng, với hai vùng lân cận G1 và G2 bất kỳ, thì một nút ở vùng G1 phải có khả năng truyền thông với tất cả nút ở vùng G2, nhờ đó mà tất cả nút trong cùng một vùng là ngang hàng nhau khi định tuyến. Giả sử rằng bán kính vùng phủ vô tuyến tối đa của nút mạng là như nhau và bằng R, độ dài một cạnh của phân vùng hình vuông theo các lưới ảo bằng nhau và bằng l, theo nguyên tắc thiết lập lưới ảo, khoảng cách xa nhất có thể giữa hai nút thuộc hai phân vùng liền kề bất kỳ phải nhỏ hơn R. Từ đó, suy ra: ( )
⇔
√
(1.2)
GAF đảm bảo tính tương đương của tất cả nút trong cùng một phân vùng bằng cách giữ ít nhất một nút trong mỗi phân vùng ở trạng thái hoạt động trong suốt một chu kỳ thời gian và thiết lập tất cả nút còn lại trong phân vùng đó ở trạng thái nghỉ. Nút cảm biến trong cùng một phân vùng có thể tương tác với nhau để quyết định xem nút nào sẽ nghỉ và trong thời gian là bao lâu. Cách thiết lập này không làm ảnh hưởng tới kết nối của toàn mạng và tính chính xác của thuật toán định tuyến, trong khi đó lại cải thiện được nút hiệu năng sử dụng năng lượng của các nút mạng bằng cách tắt các nút lân cận của nút được lựa chọn. Nút ở trạng thái hoạt động sẽ đảm nhận vai trò thu thập dữ liệu trong vùng của nó, truyền và chuyển tiếp dữ liệu về trạm gốc hoặc tới các nút đang hoạt động khác. Nguyễn Trọng Dƣơng - D06VT1
16
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Như vậy, mặc dù GAF là một giao thức định tuyến dựa trên vị trí, nhưng cũng có thể được coi là một giao thức phân cấp, trong đó, những phân vùng được xác định bằng lưới ảo tương đương với các cụm và tiêu chí để phân cụm là căn cứ vào vị trí của nút. Tuy nhiên, nút chủ không thực hiện bất cứ chức năng tổng hợp, phân tích dữ liệu nào như trong giao thức phân cấp thông thường khác. Để cân bằng tải và năng lượng tiêu thụ giữa các nút trong cùng một phân vùng, nút cảm biến lần lượt chuyển từ trạng thái nghỉ sang trạng thái hoạt động. Sự thay đổi này được thực hiện thông qua ba trạng thái: Tìm kiếm (Discovery), hoạt động (active) và nghỉ (sleep). Discovery: Trạng thái Discovery là trạng thái khi một nút tìm kiếm hàng xóm của nó trong cùng một phân vùng. Khi ở trong trạng thái discovery, một nút sẽ bật sóng radio và trao đổi bản tin discovery để tìm nút khác trong cùng phân vùng. Một bản tin discovery chứa ID của nút, ID của phân vùng, năng lượng còn lại của nút và trạng thái của nút. Active: Trạng thái Active được sử dụng để định tuyến dữ liệu trong mạng. Khi một nút bắt đầu trạng thái active, nó thiết lập một khoảng thời gian Ta để xác định nó sẽ tồn tại ở trạng thái này trong bao lâu, và khi khoảng thời gian này kết thúc, nó quay trở lại trạng thái Discovery. Một nút đang ở trạng thái Discovery hoặc Active có thể chuyển thành trạng thái Sleep khi nó phát hiện ra có một hoặc vài nút tương đương khác sẽ đảm nhiệm nhiệm vụ định tuyến.
fdsfds
Hình 1.8: Sự chuyển trạng thái trong GAF Sleep: Trong suốt thời gian nút tồn tại ở trạng thái sleep, nó tắt sóng vô tuyến. Khoảng thời gian của trạng thái Sleep phụ thuộc vào từng loại ứng dụng và phụ thuộc vào một số thông số liên quan được thiết lập trong quá trình định tuyến. Để lựa chọn nút mới thực hiện nhiệm vụ định tuyến, tức là chuyển nút đó sang trạng thái Active, các nút thực hiện thủ tục Ranking. Quyết định này được thực hiện căn cứ vào một số nguyên tắc và thông tin về cân bằng tải cũng như năng
Nguyễn Trọng Dƣơng - D06VT1
17
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
lượng còn lại của các nút nhằm mục đích kéo dài tối đa thời gian sống của mạng. Giao thức GAF cũng có thể hỗ trợ mạng chứa nút di động: Mỗi nút trong một phân vùng sẽ ước lượng thời gian rời khỏi phân vùng đó của mình và gửi cho nút lân cận của nó. Theo đó, nút lân cận mà đang trong trạng thái Sleep sẽ điều chỉnh thời gian nghỉ của mình nhằm đảm bảo việc định tuyến luôn chính xác và không bị ngắt quãng. Trước khi khoảng thời gian rời phân vùng của một nút đang Active kết thúc, các nút nghỉ sẽ hoạt động trở lại và một trong số chúng sẽ chuyển trạng thái thành Active. GEAR Giao thức GEAR (Geographic and Energy Aware Routing) là giao thức định tuyến nhận biết năng lượng và vị trí. Trong một số ứng dụng, mạng cảm biến thường yêu cầu những thông tin dữ liệu có bao gồm cả những thông số về vị trí địa lý, từ đó giao thức GEAR ra đời [8][7]. Rất nhiều hệ thống định vị sử dụng giao thức này để truyền thông tin tới một vùng địa lý nhất định, ví dụ như một ứng dụng mạng cảm biến quan tâm tới nhiệt độ trung bình của khu vực R nhất định trong khoảng thời gian Δt. Khi đó, nếu sử dụng giao thức Directed Diffusion thì phải gửi bản tin Interest trên toàn mạng lưới, làm lưu lượng thông tin trên mạng tăng lên và lãng phí tài nguyên mạng. GEAR giới hạn số lượng bản tin Interest bằng cách định tuyến trực tiếp yêu cầu cảm biến này tới vùng đích. Theo đó, GEAR có thể tiết kiệm nhiều năng lượng hơn. Trong giao thức GEAR, mỗi một gói tin yêu cầu có một vùng đích nhất định. Mỗi nút biết được chính xác vị trí và mức năng lượng còn lại của nó cũng như vị trí và mức năng lượng còn lại của nút lân cận. Để có được các thông tin này, nút có thể sử dụng giao thức hello đơn giản với nút hàng xóm.
Nguyễn Trọng Dƣơng - D06VT1
18
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN Hình 1.9: Hoạt động của GEAR
Quá trình chuyển tiếp một gói tin tới tất cả các nút thuộc một vùng đích nhất định bao gồm hai bước: Bước thứ nhất là làm sao để truyền được gói tin tới vùng đích: GEAR sử dụng một bộ nhận biết năng lượng và vị trí hàng xóm để định tuyến gói tin tới vùng đích, nút nguồn sẽ định tuyến dữ liệu của nó tiến gần tới vùng đích, đồng thời cố gắng cân bằng lượng năng lượng tiêu thụ của các nút hàng xóm. Bước thứ hai là chuyển phát gói tin trong một vùng: Trong hầu hết trường hợp, GEAR sử dụng thuật toán chuyển tiếp vị trí đệ quy để truyền gói tin trong cùng một vùng. Tuy nhiên, khi mật độ nút cảm biến thưa, restricted flooding được sử dụng. Để mô tả hoạt động của bước một, chúng ta giả định rằng nút N cần gửi một gói tin tới vùng đích là R với trung tâm là D. N tạo ra sự cân bằng giữa mục đích định tuyến gói tin tới vùng đích và yêu cầu cân bằng năng lượng tiêu thụ của các nút trung gian thông qua việc tối thiểu hóa hàm tính cost, gọi là Learned cost. Hàm này là sự kết hợp giữa năng lượng tiêu thụ để truyền gói tin tới vùng đích R và khoảng cách tới vùng R. Mỗi một nút N đều chứa một cờ h(N,R), cờ này được gọi khi cần tìm cost tới vùng R cho nút N. Các nút sẽ định kỳ cập nhật cờ h(N,R) của nó đối với các nút lân cận. Nếu một nút không có chứa thông tin về cờ h(Ni,r) của nút lân cận Ni, nó sẽ tính toán giá ước lượng c(Ni,R) và đặt nó như là một giá trị mặc định. C(Ni,R) được tính như sau: (
)
d( ,R)
(
)e( )
(1.2)
Trong đó: là một tham số có thể điều chỉnh được. d( ,R) là khoảng cách từ tới D. Được xác định bằng giá trị lớn nhất trong số tất cả khoảng cách từ các nút lân cận của N tới D. e(Ni) là năng lượng tiêu thụ tại nút Ni, được tính bằng giá trị năng lượng tiêu thụ lớn nhất trong số các hàng xóm của N. Nút N lựa chọn nút hàng xóm Nmin làm nút chuyển tiếp tiếp theo khi nút này có giá trị hàm h(Nmin,R) + C(N, Nmin) nhỏ nhất, trong đó, C(N, Nmin) thể hiện chi phí truyền một gói tin từ N tới Nmin. Như vậy, thông qua việc cập nhật cờ chi phí hoặc một hàm chi phí ước lượng mặc định cho mỗi hàng xóm của nút, nút thực hiện truyền tiếp gói tin tới vùng đích theo đường dẫ tối ưu. Khi một gói tin đã ở trong vùng đích, một luồng flooding có thể được sử dụng để phát tán gói tin đó trong vùng R. Tuy nhiên, flooding sử dụng rất nhiều năng lượng, đặc biệt là với những mạng có mật độ nút cảm biến cao. Do đó, phương pháp chuyển tiếp vị trí đệ quy được sử dụng để phát tán gói tin trong vùng R. Nguyễn Trọng Dƣơng - D06VT1
19
Đồ án tốt nghiệp
Chương 1: Định tuyến trong mạng WSN
Giả sử rằng nút Ni nhận được một gói tin cho vùng R và nhận thấy nó cũng nằm trong R. Ni copy bản tin này thành bốn bản khác nhau và định hướng chúng tới 4 phân vùng nhỏ trong R. Quá trình phân chia và chuyển tiếp đệ quy này được lặp lại cho đến khi nút hiện tại là nút cuối cùng trong một phân vùng. Tiêu chuẩn để xác định đó có phải là nút cuối cùng không như sau: khi điểm xa nhất thuộc vùng vẫn nằm trong vùng phủ sóng của nút nhưng không có nút hàng xóm nào của nó nằm cùng phân vùng với nó, và khi đó, gói tin sẽ bị loại bỏ.
Hình 1.10: Chuyển tiếp địa lý đệ quy 1.3.
Kết luận chƣơng
Mạng cảm biến không dây WSN với khả năng ứng dụng rộng rãi đã trở thành một đề tài nghiên cứu rất được quan tâm trong những năm vừa qua. Do đó, đã có rất nhiều giải pháp công nghệ mới được đưa ra nhằm nâng cao hiệu quả hoạt động của mạng, trong đó, khởi đầu và đặc biệt quan trọng là những tiến bộ vượt bậc trong lĩnh vực điện tử và công nghệ cảm biến. Nhờ có những giải pháp trong lĩnh vực trên mà khả năng cảm biến, xử lý tín hiệu và truyền thông của các nút cảm biến được cải thiện đáng kể, đồng thời, chi phí triển khai mạng WSN cũng nhờ đó mà giảm xuống, mở ra tiềm năng phát triển mạnh mẽ cho WSN. Tuy nhiên, WSN cũng phải đối mặt với rất nhiều thách thức, trong đó, thách thức lớn nhất là vấn đề sử dụng hiệu quả nguồn năng lượng bị giới hạn và không thể nạp lại của nút cảm biến. Để giải quyết vấn đề này, rất nhiều giao thức định tuyến đã được thiết kế và được phân chia thành ba loại chính: giao thức định tuyến trung tâm dữ liệu, giao thức định tuyến phân cấp và giao thức định tuyến căn cứ vào vị trí. Chương một đã trình bày khái quát về một số giao thức thuộc ba loại giao thức định tuyến trên. Mỗi loại giao thức định tuyến có đặc tính, ưu điểm và nhược điểm riêng, do đó, trong quá trình thiết kế mạng WSN, phải kết hợp chặt chẽ giữa việc nghiên cứu yêu cầu thực tế của ứng dụng mạng và nghiên cứu giao thức định tuyến.
Nguyễn Trọng Dƣơng - D06VT1
20
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
CHƢƠNG 2: GIAO THỨC ĐỊNH TUYẾN LEACH Ngay sau khi được giới thiệu, WSN đã thu hút được sự quan tâm đặc biệt vì khả năng đáp ứng được nhiều ứng dụng thực tế của nó, cùng với đó là sự phát triển của công nghệ điện tử, đã làm chi phí triển khai mạng giảm đi đáng kể, và từ đó tất yếu nảy sinh nhu cầu phát triển mạng WSN trên phạm vi rộng, với số lượng nút cảm biến lớn và cấu hình mạng linh hoạt. Như đã trình bày ở chương một, giao thức định tuyến trung tâm dữ liệu hoàn toàn không phù hợp với những mạng quy mô lớn, yêu cầu tính linh hoạt cao, trong khi các giao thức căn cứ vào vị trí yêu cầu nút cảm biến phải có bộ định vị toàn cầu GPS, nếu áp dụng trong mạng quy mô lớn thì chi phí lắp đặt sẽ rất cao. Như vậy, trong trường hợp này, sử dụng giao thức định tuyến phân cấp là sự lựa chọn đúng đắn nhất. Trong các giao thức định tuyến phân cấp, LEACH (Low Energy Adaptive Clustering Hierarchy) là một giao thức được đánh giá là có nhiều ưu điểm nổi trội. LEACH thực hiện phân cấp theo cụm thích ứng năng lượng thấp để thu thập và phân phối dữ liệu tới sink. Mục tiêu chính của LEACH là: Kéo dài thời gian sống của mạng ,giảm sự tiêu thụ năng lượng bởi mỗi nút, sử dụng tập trung dữ liệu để giảm số bản tin truyền trong mạng. Chương này sẽ tập trung nghiên cứu hoạt động của giao thức LEACH cơ bản và hai giao thức LEACH cải tiến là LEACH-C và LEACH-F. 2.1. Giới thiệu giao thức LEACH LEACH là giao thức phân cấp theo cụm thích ứng năng lượng thấp, dựa trên thuật toán phân nhóm, trong đó, các nút có thể phân bố ngẫu nhiên, và tự hình thành cụm (sefl configuring cluster formation). Nút chủ cụm có chức năng điều khiển các nút trong cụm gửi dữ liệu đến nó theo một chu kỳ nhất định. Tại nút chủ, dữ liệu sẽ được thu thập và xử lý ở nhiều mức độ khác nhau, tùy thuộc vào từng ứng dụng, trước khi gửi tới trạm gốc[3][17].
Hình 2.1: Giao thức LEACH Một trong những đặc điểm phổ biến của các ứng dụng mạng WSN là dữ liệu của nút gửi về, thông thường, có mối tương quan với nhau, người dùng cuối không cần yêu cầu tất cả dữ liệu (các dữ liệu có thể giống nhau - Redundant), hoặc chỉ cần những thông tin đã được xử lý, mô tả về những sự kiện xuất hiện trong môi trường mà nút Nguyễn Trọng Dƣơng - D06VT1
21
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
cảm biến được. Giao thức định tuyến LEACH rất phù hợp với những ứng dụng có đặc điểm như vậy. Trong giao thức LEACH, vì dữ liệu cảm biến được gửi từ các nút đặt gần nhau có sự tương quan rất lớn, nên tất cả dữ liệu từ các nút trong phạm vi cụm sẽ được xử lý cục bộ tại nút chủ trước khi gửi về trạm gốc, giảm được lượng thông tin dư thừa lưu thông trên mạng, do đó, tiết kiệm được năng lượng của nút. Một trong những đặc trưng cơ bản của LEACH là nút mạng tự tổ chức thành các cụm, trong đó một nút sẽ đóng vai trò là nút chủ - CH (Cluster Head). Tất cả những nút không phải là nút chủ sẽ phải truyền dữ liệu của nó tới nút chủ, nút chủ nhận dữ liệu từ nút thành viên trong cụm, thực hiện xử lý dữ liệu cục bộ, rồi truyền tới BS (Basic Station). Bởi vậy, nút chủ sẽ tiêu hao nhiều năng lượng hơn các nút thông thường. Mà năng lượng của nút cảm biến là giới hạn, nên nếu nút chủ được chọn cố định trong suốt thời gian sống của mạng thì nút chủ sẽ hết năng lượng rất nhanh.
Hình 2.2: Time-line hoạt động của LEACH Khi nút chủ chết, tất cả nút trong cụm sẽ không có khả năng trao đổi thông tin nữa. Vì vậy, LEACH thực hiện ngẫu nhiên quay vòng vai trò nút chủ trong tất cả các nút mạng để tránh tiêu hao năng lượng trên một số nút cố định. Quá trình cảm biến và truyền thông trong giao thức LEACH được thiết kế thích hợp nhằm giảm tối thiểu năng lượng tiêu hao cho nút không phải là nút chủ. Khi các nút chủ biết được tất cả nút thành viên trong cụm của nó, nó sẽ gửi bản tin định thời TDMA để thông báo cho mỗi nút chính xác khi nào thì thực hiện nhiệm vụ cảm biến và truyền dữ liệu đến nút chủ. Cơ chế này cho phép nút thông thường sẽ tồn tại ở trạng thái nghỉ (Sleep State) trong phần lớn thời gian, chỉ khi đến thời điểm phải thực hiện nhiệm vụ cảm biến và gửi dữ liệu thì nút mới phải hoạt động. Hơn nữa, dùng bản tin TDMA cho việc truyền dữ liệu còn giúp tránh được hiện tượng xung đột (collision) xảy ra trong cụm. 2.2. Hoạt động của LEACH Phần trên đã trình bày khái quát về ý tưởng và cơ chế hoạt động của giao thức định tuyến LEACH, phần này sẽ tập trung nghiên cứu hoạt động của LEACH và rút ra những nhận xét về ưu điểm và nhược điểm của giao thức. Hoạt động của LEACH được chia thành các vòng (round), mỗi vòng được bắt đầu với pha thiết lập (set-up phase ), trong đó diễn ra quá trình chọn nút chủ và thành lập cụm. Sau pha thiết lập là pha ổn định (steady-state phase), trong pha này, xảy ra quá trình truyền dữ liệu đến nút chủ và đến trạm gốc (base station). Để giảm lượng bản tin mào đầu trong mạng thì pha ổn định phải dài hơn so với pha thiết lập. Nguyễn Trọng Dƣơng - D06VT1
22
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
Hình 2.3: Trạng thái các phase của LEACH 2.2.1. Pha thiết lập Mỗi vòng hoạt động trong LEACH được bắt đầu bằng pha thiết lập, trong pha thiết lập, bước đầu tiên là lựa chọn nút chủ của từng cụm. 2.2.1.1. Lựa chọn nút chủ Khi bắt đầu một vòng mới trong giao thức LEACH, nút cảm biến tự quyết định có hay không trở thành nút chủ trong vòng hoạt động đó. Cơ sở để nút đưa ra quyết định là căn cứ vào tỷ lệ phần trăm mong muốn trở thành nút chủ trong mạng (P) và số lần nút đó đã trở thành nút chủ tính cho đến thời điểm hiện tại. Mỗi nút trong mạng lựa chọn một giá trị ngẫu nhiên (S) trong khoảng 0 và 1. Nếu giá trị này thấp hơn giá trị ngưỡng T(n), nút trở thành nút chủ của vòng hiện tại, ngược lại, nếu S lớn hơn P thì nút đó là nút thông thường. Giá trị ngưỡng T(n) được xác định bởi công thức: ̅ ( )
(2.1) {
( mod( P))
Trong đó: P = tỉ lệ phần trăm mong muốn trở thành nút chủ của mạng. R là vòng hiện tại. G là tập các nút chưa trở thành nút chủ trong (1/P) vòng trước đó. Sử dụng ngưỡng này, mỗi nút sẽ trở thành nút chủ một lần duy nhất trong một chu kỳ 1/P vòng. Cứ hết một chu kỳ 1/P vòng, tất cả nút thiết lập lại giá trị ngẫu nhiên S để bắt đầu một chu kỳ mới. Sau một vòng, giá trị T(n) tăng lên một lượng bằng P và sau 1/P -1 vòng thì T(n)=1, vậy các nút chưa trở thành nút chủ trong 1/P vòng gần nhất chắc chắn sẽ phải đảm nhận vai trò nút chủ tại vòng này. Như vậy, sau 1/P vòng, tất cả nút mạng đủ điều kiện để trở thành nút chủ duy nhất một lần. 2.2.1.2. Thiết lập cụm Nguyễn Trọng Dƣơng - D06VT1
23
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
Sau khi quyết định trở thành nút chủ cho vòng hiện tại, nút chủ phát quảng bá một bản tin Advertisement (ADV) cho nút lân cận. Bản tin này là một bản tin nhỏ chứa ID của nút chủ và một tiêu đề để phân biệt bản tin này là một bản tin thông báo. Nút không phải là nút chủ sẽ phải giữ bộ thu trong suốt thời gian diễn ra pha thiết lập để lắng nghe bản tin Advertisements của nút chủ. Những nút không phải là nút chủ sẽ quyết định nó sẽ nằm trong cụm nào bằng việc chọn xem nút chủ nào yêu cầu chi phí năng lượng giao tiếp thấp nhất dựa trên cường độ của tín hiệu nhận được từ bản tin quảng bá. Giả sử các kênh truyền là đối xứng, nút chủ có bản tin Advertisement được lắng nghe với cường độ tín hiệu lớn nhất chính là nút cần ít năng lượng nhất cho việc truyền thông.
Hình 2.4: Lưu đồ thuật toán pha thiết lập bố của LEACH Sau khi quyết định là thành viên của cụm nào, nút sẽ thông báo cho nút chủ của cụm đó biết. Mỗi nút sẽ phát bản tin “yêu cầu kết nối” (join request - REQ) tới nút chủ. Bản tin này cũng là một bản tin nhỏ, bao gồm ID của nút, ID nút chủ và một phần tiêu đề để phân biệt với bản tin khác. 2.2.1.3. Phần bổ khe thời gian Trong LEACH, nút chủ hoạt động như một khối điều khiển trung tâm cục bộ để xử lý dữ liệu gửi từ các nút trong cụm mà nó làm nút chủ. Nút chủ thiết lập bản tin định thời TDMA và truyền tới các nút trong cụm. Cơ chế này sẽ đảm bảo không có xung đột xảy ra và cho phép nút không phải là nút chủ sẽ không phải hoạt động liên Nguyễn Trọng Dƣơng - D06VT1
24
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
tục, mà chỉ hoạt động khi đến khe thời gian được phân bổ, còn lại, nút chuyển sang trạng thái nghỉ (Sleep State). Như vậy, sử dụng TDMA sẽ tiết kiệm được năng lượng cho nút cảm biến. Khi bản tin TDMA được truyền đến tất cả nút trong cụm, pha thiết lập đã hoàn thành và bắt đầu pha ổn định (steady state phase). 2.2.3. Pha ổn định Hoạt động của pha truyền dữ liệu (pha ổn định) được chia ra thành các khung (Frame). Mỗi nút sẽ chuyển sang trạng thái hoạt động để gửi dữ liệu của nó tới nút chủ một lần trên một khung trong khe thời gian mà nó được phân bổ. Khe thời gian của nút là cố định trong một vòng, cứ đến khe thời gian đó thì nút tiến hành cảm biến và truyền dữ liệu tới nút chủ. Số khe thời gian trong một khung dữ liệu phụ thuộc vào số lượng nút trong cụm. Tức là có bao nhiêu nút trong cụm (trừ nút chủ) thì sẽ có bấy nhiêu khe thời gian. Trong giao thức định tuyến LEACH, số cụm mong muốn trong một vòng (K) được xác định bằng P nhân với tổng số nút trong mạng, nhưng LEACH lại không có cơ chế đảm bảo rằng sẽ có chính xác K cụm được hình thành trong mỗi vòng. Thêm vào đó, trong pha thiết lập, do không đưa tham số vị trí vào quá trình lựa chọn nút chủ, nên không đảm bảo số lượng nút trong một cụm, do đó, số nút trong một cụm là khác nhau và dữ liệu mà mỗi nút gửi đến nút chủ phụ thuộc vào số nút trong cụm đó.
Hình 2.5: Sơ đồ thuật toán pha ổn định trong LEACH Nguyễn Trọng Dƣơng - D06VT1
25
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
Để giảm sự tiêu thụ năng lượng, mỗi nút không phải là nút chủ sẽ điều khiển công suất phát dựa trên cường độ của bản tin quảng bá nhận được từ nút chủ. Kênh phát sóng của nút sẽ ở trạng thái nghỉ cho đến khe thời gian của nó. Nút chủ lưu trữ dữ liệu mà nút trong cụm gửi đến. Khi đã nhận được hết dữ liệu từ tất cả nút thành viên, nút chủ tiến hành xử lý dữ liệu cục bộ, mức độ xử lý dữ liệu rất khác nhau, có thể là nén, tính toán, tổng hợp dữ liệu… phụ thuộc vào yêu cầu của từng ứng dụng. Dữ liệu đã được tổng hợp, sau đó, được gửi tới BS. Khoảng cách từ nút chủ tới BS có thể xa và kích cỡ bản tin dữ liệu thường là lớn, do đó đòi hỏi nhiều năng lượng tiêu thụ trong quá trình truyền từ nút chủ tới trạm gốc.
Hình 2.6: Hoạt động của pha ổn định trong LEACH Hình 2.6 chỉ ra hoạt động của LEACH trong một vòng, từ khi các cụm được hình thành trong pha thiết lập, quá trình hoạt động của pha ổn định khi dữ liệu được truyền từ các nút tới Cluster-Head rồi truyền đến BS. Môi trường truyền dẫn của WSN là vô tuyến, do đó, quá trình truyền tín hiệu của một cụm cũng sẽ ảnh hưởng đến cụm gần nó. Ví dụ như hình sau, nút A truyền dữ liệu trên kênh vô tuyến đến nút B, nó cũng làm ảnh hưởng đến nút C.
Hình 2.7: Nhiễu vô truyến giữa các nút cảm biến Để giảm thiểu tác động không mong muốn này giữa các cụm, mỗi cụm trong giao thức định tuyến LEACH sử dụng phương pháp đa truy nhập phân chia theo mã CDMA (Code Division Multiple Access). Một cụm có một mã trải phổ (spread code) duy nhất, tất cả nút trong cụm truyền dữ liệu tới nút chủ phải dùng mã trải phổ này và nút chủ sẽ lọc dữ liệu được gửi từ những nút có cùng mã trải phổ với nó.
Nguyễn Trọng Dƣơng - D06VT1
26
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
Nút chủ gửi dữ liệu tới BS cũng sử dụng một mã trải phổ cố định, và dùng cơ chế CSMA để tránh xảy ra xung đột với nút chủ khác. Tuy là kênh truyền vô tuyến, nhưng khi một nút chủ có dữ liệu để gửi tới BS, nó phải lắng nghe xem có nút chủ nào phát dữ liệu không. Nếu không có nút nào phát thì mới tiến hành truyền dữ liệu tới BS, còn nếu có nút đang phát dữ liệu thì nút sẽ phải đợi. 2.2.4. Tổng hợp dữ liệu Tổng hợp dữ liệu trong mạng cảm biến giúp loại trừ đi những thông tin dư thừa, trùng lặp để thu được thông tin có ích về môi trường cảm biến. Quá trình tổng hợp dữ liệu có thể được thực hiện tại trạm gốc hoặc thực hiện tại nút chủ của một cụm ở những mức độ khác nhau tùy thuộc vào yêu cầu của mạng và tương quan giữa năng lượng tiêu thụ để tổng hợp dữ liệu so với năng lượng sử dụng để truyền những thông tin đó. Khi mà năng lượng cho truyền tin lớn hơn, thực hiện xử lý dữ liệu cục bộ tại nút chủ giúp giảm năng lượng tiêu thụ của toàn hệ thống, do có ít dữ liệu hơn phải truyền về trạm gốc. 2.2.5. Nhóm phân cấp (Hierarchical Clustering) LEACH có thể được mở rộng thông qua thiết lập các nhóm phân cấp. Trong trường hợp mạng lớn, số lượng nút cảm biến nhiều, nút chủ có thể không truyền thông trực tiếp với trạm gốc, mà phải thông qua nút chủ có mức phân cấp cao hơn (supercluster-head), quá trình này tiếp tục cho đến lớp cao nhất của sơ đồ phân cấp, tại đây, dữ liệu mới được truyền đến trạm gốc. Trong mạng lớn, sự phân cấp này rõ ràng mang lại hiệu quả cao hơn trong việc tiết kiệm năng lượng tiêu thụ của nút chủ.
Hình 2.8: Mô hình mạng cảm biến super-cluster 2.2.6. Ưu điểm, nhược điểm Những phần trên đã đề cập đến LEACH, một giao thức định tuyến dựa trên cơ chế phân cụm nhằm tối thiểu hóa năng lượng tiêu hao bằng cách phân bổ đều khả năng được lựa chọn làm nút chủ cho tất cả nút mạng. Tại những thời điểm khác nhau, mỗi nút có vai trò khác nhau, và do đó, sử dụng năng lượng khác nhau. Nhưng số lần đóng vai trò nút chủ của tất cả nút mạng trong một chu kỳ là bằng nhau, nhờ đặc điểm này mà LEACH có thể phân bổ đều năng lượng tiêu thụ trong mạng, vì năng lượng tiêu thụ Nguyễn Trọng Dƣơng - D06VT1
27
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
chủ yếu tập trung tại các nút chủ. Từ đó, có thể rút ra một số ưu điểm của LEACH như sau: Đơn giản: Trong giao thức định tuyến LEACH, nút cảm biến tự tiến hành quyết định nút chủ và phân bổ cụm, không đòi hỏi thông tin điều khiển từ trạm gốc và nút không yêu cầu hiểu biết về toàn bộ cấu hình mạng. Ưu điểm này giảm gánh nặng cho trạm gốc và lượng bản tin mào đầu truyền trong mạng. Phân bố đều năng lượng tiêu thụ cho nút mạng: Với việc sử dụng ngưỡng quyết định T(n) và giá trị ngẫu nhiên có phân bố đều S, xét về mặt lý thuyết, nếu thời gian càng dài thì thuật toán LEACH phân bố đều vai trò làm nút chủ cho tất cả nút và thông qua đó, gián tiếp làm cho năng lượng tiêu thụ trên các nút gần tương đương nhau. Bên cạnh những ưu điểm trên, giao thức định tuyến LEACH vẫn còn những nhược điểm sau: Số cụm trong một vòng không cố định: Nút mạng sử dụng giá trị ngẫu nhiên S và ngưỡng T(n) để tự quyết định có trở thành nút chủ trong vòng hiện tại hay không, do đó, thuật toán LEACH không có cơ chế nào để đảm bảo được số lượng cụm trong một vòng. Nhược điểm này dẫn đến hậu quả là có những vòng không có cụm nào được hình thành, trong khi ở những vòng khác lại có quá nhiều cụm, từ đó, dữ liệu gửi tới trạm gốc bị gián đoạn. Xác định nút chủ không căn cứ vào năng lượng còn lại: Một trong những ưu điểm của LEACH là phân bố đều vai trò làm nút chủ trong một chu kỳ cho tất cả nút mạng, tuy nhiên, trong trường hợp mạng lớn, khoảng cách từ nút đến trạm gốc chênh lệch nhau nhiều, do đó, lượng năng lượng tiêu hao khi trở thành nút chủ cũng khác xa nhau, nhưng LEACH lại không căn cứ vào năng lượng còn lại để lựa chọn nút chủ, mà căn cứ vào số lần đã trở thành nút chủ trong các vòng trước đó. Nhược điểm này làm cho nút ở xa trạm gốc mất năng lượng sớm hơn. Phân bổ cụm không hiệu quả: Quá trình chọn nút chủ và do đó là phân bổ cụm hoàn toàn không quan tâm tới vị trí của nút mạng nên có rất nhiều trường hợp hai nút chủ nằm cạnh nhau, tạo nên hai cụm chồng lấn lên nhau, ảnh hưởng đến hiệu quả của mạng. 2.3. LEACH – C Để khắc phục những nhược điểm của giao thức LEACH cơ bản, rất nhiều nghiên cứu đã được tiến hành, trong đó giao thức LEACH-C đã đưa ra được những giải pháp hiệu quả cho vấn đề đó và được đánh giá rất cao về khả năng ứng dụng trong mạng WSN[18][16].
Nguyễn Trọng Dƣơng - D06VT1
28
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
Về mặt ý tưởng, LEACH-C hoàn toàn giống với LEACH cơ bản, chỉ khác ở pha thiết lập (Set - up Phase), còn pha ổn định (Steady – state Phase ) thì nó kế thừa từ giao thức LEACH. Khác với LEACH (mỗi nút sẽ có một xác suất để nó có thể được chọn làm nút chủ cụm), trong giao thức LEACH-C, quá trình lựa chọn cụm và nút chủ được thực hiện bởi trạm gốc. 2.3.1. Lựa chọn nút chủ Trong giao thức định tuyến LEACH cơ bản, mỗi nút tự quyết định sẽ trở thành nút chủ trong vòng hiện tại hay không, giải thuật này không đảm bảo được vị trí cũng như số lượng nút chủ trong toàn mạng. Do đó, LEACH-C thực hiện tập trung dữ liệu về thông tin của toàn bộ nút cảm biến về trạm gốc rồi tiến hành chọn nút chủ và hình thành cụm, quá trình này có thể tạo cụm tốt hơn với các nút chủ được phân tán trên toàn mạng. Thêm vào đó, trong quá trình lựa chọn nút chủ, trạm gốc có thể dễ dàng thêm vào tham số, trong đó có năng lượng dự trữ của nút cảm biến. Trong pha thiết lập của LEACH – C, tất cả nút mạng sẽ gửi thông tin về trạng thái hiện tại của nó (bao gồm vị trí và năng lượng còn lại) về trạm gốc. Trạm gốc, sau đó, sẽ dùng thuật toán tối ưu để xác định ra các cụm và nút chủ cho vòng hiện tại.
Hình 2.9: Pha thiết lập của LEACH-C Để lấy được thông tin về tất cả nút trong mạng, trạm gốc định kỳ gửi bản tin quảng bá ADV. Chu kỳ gửi bản tin này bằng thời gian của một vòng. Bản tin ADV chứa ID của trạm gốc và phần tiêu đề để phân biệt đây là bản tin ADV. Khi nút mạng nhận được bản tin này, nó lấy ra ID của trạm gốc và xác định rằng đây là nút chủ của nó và gửi về bản tin REQ có chứa vị trí và năng lượng hiện tại của nút cho BS. BS sử dụng những thông tin này để xác định nút chủ cho vòng hiện tại.
Nguyễn Trọng Dƣơng - D06VT1
29
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
2.3.2. Thiết lập cụm và truyền dữ liệu Sau khi trạm gốc lựa chọn được nút chủ cho vòng hiện tại, BS gửi bản tin quảng bá có chứa ID của nút chủ tới tất cả nút trong mạng. Khi nút nhận được bản tin này, kiểm tra ID của mình có bằng với ID trong bản tin quảng bá đó không, nếu bằng thì nó sẽ là nút chủ trong vòng hiện tại, ngược lại, nó sẽ chờ bản tin quảng bá từ nút chủ. Khi đã quyết định trở thành nút chủ hay không trong vòng hiện tại, pha thiết lập cụm và truyền dữ liệu hoàn toàn giống với giao thức LEACH cơ bản. 2.3.3. Ưu điểm, nhược điểm Với mục tiêu khắc phục những nhược điểm của giao thức LEACH cơ bản, LEACH-C đã có những ưu điểm sau: Phân bổ năng lượng hiệu quả: Trong LEACH-C, trạm gốc - không bị giới hạn về năng lượng - đảm nhiệm chức năng lựa chọn nút chủ, do đó, có thể áp dụng những thuật toán tối ưu phức tạp hơn và đưa nhiều tham số hơn vào quá trình ra quyết định, do đó, lựa chọn được nút chủ tối ưu hơn, nâng cao hiệu quả sử dụng năng lượng của các nút trong mạng. Xác định nút chủ căn cứ vào năng lượng dự trữ: Với việc đưa tham số năng lượng dự trữ trở thành một điều kiện trong quá trình xác định nút chủ, rõ ràng là LEACH-C đạt hiệu quả tốt hơn LEACH cơ bản. Thêm vào đó, BS thực hiện chức năng xác định nút chủ làm giảm năng lượng cho xử lý tại các nút cảm biến. Phân bổ cụm hiệu quả theo vị trí: LEACH-C thực hiện tập trung thông tin toàn mạng về trạm gốc, nên BS xác định được topo mạng căn cứ vào vị trí của các nút, từ đó, có chiến lược phân bố cụm theo vị trí hiệu quả hơn LEACH. Kiểm soát được số cụm trong một vòng: Việc loại bỏ tham số ngẫu nhiên S trong quá trình lựa chọn nút chủ (từ đó hình thành nên cụm) đã giúp LEACH-C có thể xác định được số cụm trong một vòng hoạt động, ưu điểm này có tác động tích cực đến tính liên tục của dữ liệu nhận được tại BS. Tuy nhiên, LEACH-C cũng xuất hiện một số nhược điểm như: Phức tạp: Việc thiết kế thuật toán để lựa chọn nút chủ tối ưu cho trạm gốc là rất phức tạp, với số lượng lớn tham số đầu vào. Số lượng lớn bản tin mào đầu: Trong giao thức LEACH-C, khi kết thúc một vòng, nút cảm biến phải gửi về cho BS thông tin về vị trí và trạng thái năng lượng của nút. Mặc dù kích thước của bản tin này nhỏ, nhưng với những nút có khoảng cách tới BS lớn thì năng lượng tiêu thụ cho việc gửi gói tin này cũng làm ảnh hưởng đáng kể tới thời gian sống của nút.
Nguyễn Trọng Dƣơng - D06VT1
30
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
2.4. LEACH-F Giao thức định tuyến LEACH-C đã giải quyết được nhiều vấn đề của LEACH cơ bản như: Không có cơ chế để đảm bảo số cụm trong một vòng hoạt động của mạng, việc phân cụm có thể không đạt tối ưu do chưa tính đến vị trí của nút, khi xác định nút chủ chưa đưa vào tham số năng lượng còn lại của nút. Tuy nhiên, LEACH-C lại nảy sinh một vấn đề là sử dụng lượng thông tin mào đầu lớn, gây lãng phí băng thông và thời gian của pha thiết lập dài. Để giải quyết những vấn đề này, LEACH-F đã được giới thiệu [18][16][12]. 2.4.1. Hoạt động của LEACH-F Trong vòng đầu tiên, hoạt động của LEACH-F hoàn toàn giống với LEACH-C. Tuy nhiên, bắt đầu từ những vòng tiếp theo, trạm gốc BS không tiến hành lựa chọn lại cụm, các cụm được hình thành trong vòng đầu tiên là cố định. Thêm vào đó, các nút không phải gửi thông tin về BS, mà gửi cho nút chủ của cụm, nút chủ sẽ căn cứ vào những thông tin đó để lựa chọn ra nút chủ cho vòng tiếp theo. Sau khi nút chủ mới được lựa chọn, một vòng hoạt động mới được bắt đầu, tuy nhiên, trong giao thức LEACH-F, những nút ngoài cụm ban đầu do BS quyết định không thể gia nhập cụm mặc dù, nó có thể nằm trong phạm vi phủ sóng của nút chủ. Các cụm cố định tiếp tục hoạt động, gửi thông tin về BS cho đến khi số nút hết năng lượng đạt đến một số lượng nhất định nào đó, BS mới lại gửi bản tin ADV để hình thành lại cụm. 2.4.2. Ưu điểm, nhược điểm LEACH-F được thiết kế với mục đích khắc phục những nhược điểm trong giao thức LEACH-C, nên ngoài những ưu điểm của LEACH-C, LEACH-F đã cải thiện được đáng kể số lượng bản tin khởi tạo lưu thông trong mạng, ưu điểm này giúp các nút cảm biến tiết kiệm được một lượng lớn năng lượng tiêu thụ cho pha thiết lập, do đó, kéo dài thời gian hoạt động của nút. Tuy nhiên, khi giảm được lượng lớn bản tin mào đầu trong mạng bằng việc cố định cụm, giao thức LEACH-F lại nảy sinh một nhược điểm là: Các nút ngoài cụm không thể tham gia vào quá trình truyền thông, mặc dù có khả năng rất lớn là trong những vòng cụ thể, nút này nằm trong phạm vi phủ sóng của nút chủ. Hoặc trong trường hợp khác, nếu bổ xung một nút cảm biến vào mạng, thì nút này không hoạt động ngay được mà phải chờ đến khi BS phân bổ lại cụm. 2.5. Kết luận chƣơng Khả năng ứng dụng rộng và chi phí triển khai mạng thấp là hai yếu tố quan trọng khiến WSN trở thành một trong những đề tài được nhiều trường đại học và công ty truyền thông tập trung nghiên cứu trong thời gian qua. Kết quả là rất nhiều vấn đề của mạng cảm biến đã tìm ra được giải pháp khắc phục như: Khả năng xử lý, truyền thông của các nút cảm biến, khả năng xử dụng hiệu quả nguồn năng lượng hạn chế,… Từ đó, WSN ngày càng được ứng dụng rộng rãi trong thực tế, và nhu cầu triển khai mạng với Nguyễn Trọng Dƣơng - D06VT1
31
Đồ án tốt nghiệp
Chương 2: Giao thức định tuyến LEACH
quy mô lớn nảy sinh. Với những mạng cảm biến cỡ lớn, sử dụng giao thức định tuyến tập trung dữ liệu và giao thức định tuyến dựa vào vị trí đã bộc lộ nhiều khuyết điểm và hoàn toàn không phù hợp, do đó, chương này đã tập trung nghiên cứu giao thức định tuyến phân cấp, cụ thể là giao thức định tuyến LEACH nhằm đưa ra giải pháp cho vấn đề mở rộng mạng WSN. Trong chương hai, toàn bộ ý tưởng, cơ chế và các pha hoạt động của giao thức LEACH đã được trình bày một cách chi tiết. Xuất phát từ quá trình nghiên cứu LEACH, chương này cũng chỉ ra một số ưu điểm và nhược điểm của giao thức, và đề xuất hướng khắc phục những nhược điểm đó là sử dụng hai giao thức LEACH-C và LEACH-F.
Nguyễn Trọng Dƣơng - D06VT1
32
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
CHƢƠNG 3. MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN LEACH Như đã trình bày trong chương 2, trong các mạng cảm biến có quy mô lớn, các giao thức định tuyến phân cấp được sử dụng, trong đó giao thức LEACH là một trong những giao thức quan trọng và được sử dụng rộng rãi. Mục tiêu và ưu điểm lớn nhất của LEACH là phân bổ đều năng lượng tiêu thụ cho tất cả các nút, qua đó, kéo dài thời gian hoạt động của mạng. Tuy nhiên, hoạt động của LEACH cũng bộc lộ nhiều hạn chế, để cải thiện những hạn chế đó, hai giao thức cải tiến LEACH-C và LEACH-F đã được giới thiệu. Chương này tập trung phân tích rõ hoạt động của các thuật toán, đồng thời, xây dựng chương trình mô phỏng ba thuật toán đinh tuyến trên nhằm đánh giá hiệu quả tiết kiệm năng lượng cho mạng cảm biến của ba giao thức. 3.1. Lựa chọn công cụ mô phỏng 3.1.1. Khảo sát các công cụ mô phỏng Việc nghiên cứu, đánh giá hiệu quả tiết kiệm năng lượng của các giao thức định tuyến trên một mạng cảm biến thực tế gặp nhiều khó khăn. Một hướng giải quyết phổ biến là xử dụng chương trình mô phỏng [11]. Mô phỏng là việc biểu diễn một hệ thống thực chỉ bằng các phần mềm ngoại tuyến, phù hợp với môi trường nghiên cứu lý thuyết, cần có khả năng mở rộng và có kinh phí đầu từ nhỏ. Các công cụ để xây dựng mô phỏng có rất nhiều. Tùy thuộc vào nhu cầu cụ thể và môi trường áp dụng mà có thể xử dụng nhiều loại công cụ mô phỏng khác nhau. Việc lựa chọn công cụ thích hợp luôn giữ một vai trò quan trọng trong quá trình phát triển mô phỏng. Có hai phương thức xây dựng mô phỏng hay được lựa chọn. Phương thức thứ nhất là xây dựng chương trình mô phỏng từ đầu (hoàn toàn tự xây dựng trên mã nguồn). Còn phương thức thứ hai là xây dựng dựa trên các môi trường mô phỏng dựng sẵn (có sẵn một số chương trình phần mềm cơ bản được thiết kế dưới dạng module/lớp, khi cần có thể tự mở rộng dựa trên mã nguồn hoặc kết hợp các module theo nhu cầu. Mỗi phương thức có những ưu điểm, nhược điểm riêng và đều có thể phù hợp tùy thuộc vào mức độ phức tạp và phạm vi của bài toán mô phỏng. Phương thức phát triển mô phỏng từ các chường trình mã nguồn bậc cao phù hợp với việc kiến tạo những chương trình đơn giản ít mất thời gian, còn nếu muốn có được những chương trình cụ thể theo yêu cầu thì sẽ mất nhiều thời gian và công sức của người lập trình. Do không hướng theo những nhiệm vụ mô phỏng nên những chương trình kiểu này khó đạt được những mục tiêu như mô tả toàn bộ hệ thống ở độ chi tiết nhất và mô tả toàn bộ những công việc liên quan tới mô phỏng. Tuy nhiên, vì các ngôn ngữ lập trình bậc cao cho phép xây dựng chương trình theo yêu cầu nghiên cứu, nên sản phẩm thu được sẽ có hiệu năng khả quan cao nhất. thông thường, lựa chọn phương pháp này có thể sẽ bị hạn chế và chậm, đặc biệt với những người chưa có nhiều kinh nghiệm lập trình. Nguyễn Trọng Dƣơng - D06VT1
33
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Hiện nay, có rất nhiều môi trường mô phỏng đã dựng sẵn, phục vụ cho những nghiên cứu về mạng, đặc biệt là mạng gói như NS-2, Omnet++, Opnet… Các môi trường này có đặc điểm chung là chương trình hướng đối tượng, đã được cấu trúc sẵn và có nhiều module xây dựng sẵn, giúp cho người sử dụng nhanh chóng tạo ra các phương án chương trình. Ngoài ra, những chương trình này vẫn có tính mở, cho phép người sử dụng có thể xây dựng module hoàn toàn mới hoặc xây dựng dựa trên các module sẵn có theo yêu cầu của chính mình. Phương thức này phù hợp với việc kiến tạo những chương trình mô phỏng khi có thể tận dụng các module sẵn có, giảm thời gian cho người xây dựng chương trình rất nhiều. Còn nếu muốn có được chương trình cụ thể theo yêu cầu thì người sử dụng cũng có thể kế thừa các lớp hoặc module tương tự xây dựng từ trước. Phương thức này chỉ khó thực hiện khi người sử dụng muốn xây dựng phương án hoàn toàn mới, không tận dụng được các chương trình sẵn có. Sau khi tìm hiểu và phân tích, có thể rút ra một số đánh giá về các công cụ mô phỏng mạng viễn thông dựng sẵn hiện đang được sử dụng như sau: NS-2 (http://www.isi.edu/nsnam/ns/): Là chương trình mô phỏng sự kiện rời rạc, nhằm vào những nghiên cứu về lĩnh vực mạng gói. NS-2 mô phỏng những hoạt động của mạng IP, chủ yếu hỗ trợ mô phỏng các giao thức TCP, định tuyến và multicast trên các mạng có dây, không dây (nội hạt và vệ tinh). Opnet(http://www.opnet.com/): Là sản phẩm thương mại với giao diện người sử dụng đồ họa (GUI), được sử dụng để mô hình hóa và mô phỏng những mạng phức tạp với hiệu năng tối ưu. Số lượng người biên tập là rất lớn cho việc kiến tạo thay đổi / biến đổi các mô hình và để chạy các mô phỏng và hiển thị / phân tích kết quả. Các ưu điểm chính của Opnet là hỗ trợ rất chuyên nghiệp, tài liệu tốt và cung cấp nhiều giao thức xây dựng sẵn. Omnet++ (http://www.omnetpp.org/): Là môi trường mô phỏng sự kiện rời rạc. Ứng dụng chủ yếu của Omnet++ là các mạng thông tin, song vì kiến trúc linh hoạt nên nó hay được sử dụng trong những lĩnh vực về mô phỏng các hệ thống IT phức tạp, các mạng xếp hàng hoặc các kiến trúc phần cứng. Trong các công cụ mô phỏng được biết đến thì OMNeT++ được cho là rất phù hợp để mô phỏng các mạng cảm biến WSN nhờ tính linh hoạt của nó. Omnet++ cung cấp sẵn các module tương ứng với các mô hình thực tế, các module này được lập trình theo ngôn ngữ C++, sau đó được tập hợp lại thành những thành phần hay những mô hình lớn hơn bằng một ngôn ngữ bậc cao (NED). Việc lập trình bằng ngôn ngữ C++ cho phép người sử dụng tùy ý can thiệp vào các module có sẵn hoặc xây dựng module mới hoàn theo mục đích sử dụng của mình, chính đặc điểm này khiến cho Omnet++ được cho là rất thích hợp để mô phỏng các mạng hoặc giao thức mới ra đời như trong WSN. Ngoài ra, Omnet++ còn hỗ trợ rất nhiều cho việc phân tích và hiển thị kết quả, cung cấp cho người dùng khả năng đánh giá chi tiết cũng như trực quan về hệ thống
Nguyễn Trọng Dƣơng - D06VT1
34
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
được mô phỏng. Từ những phân tích và đánh giá như trên, em quyết định sử dụng Omnet++ làm công cụ để mô phỏng giao thức định tuyến LEACH trong mạng WSN. 3.1.2. Chƣơng trình mô phỏng OMNet++ OMNeT++ (Objective Modular Network Testbed in C++) là một ứng dụng cung cấp môi trường mô phỏng sự kiện rời rạc. Đây là một chương trình hướng đối tượng và có mã nguồn mở. Ứng dụng chủ yếu của OMNeT++ là cung cấp cho người sử dụng môi trường để thực hiện mô phỏng các mạng viễn thông, tuy nhiên, do tính phổ cập và cấu trúc linh hoạt, nó còn được sử dụng trong rất nhiều lĩnh vực khác như mô phỏng các hệ thống công nghệ thông tin phức tạp, các loại mạng kiểu hàng đợi hay các kiến trúc phần cứng… [11]
Hình 3.1. Giao diện OMNeT++ Bản thân OMNeT++ không phải là một chương trình mô phỏng cho bất cứ một ứng dụng cụ thể nào, nhưng hơn thế, nó cung cấp một cấu trúc mô phỏng và các công cụ để người sử dụng viết ra các ứng dụng mô phỏng. Một trong những đặc điểm cơ bản của cấu trúc đó là kiến trúc phân cấp của các đơn vị mô phỏng. Mỗi module được lập trình bằng ngôn ngữ C++, sau đó được kết nối với nhau thành một cấu trúc lớn hơn nhờ sử dụng ngôn ngữ bậc cao (NED). Đồng thời, OMNeT++ hỗ trợ giao diện đồ họa mở rộng và do cấu trúc phân cấp nên phần nhân mô phỏng cũng như các module rất dễ dàng được nhúng vào các ứng dụng khác. Mặc dù bản thân OMNeT++ không phải là một chương trình mô phỏng mạng nhưng hiện nay, nó đang ngày càng được sử dụng rộng rãi như là một công cụ mô phỏng mạng trong công nghệ truyền thông cũng như trong các lĩnh vực khác. OMNeT++ có thể sử dụng để giải quyết các vấn đề sau: Mô hình hóa các mạng truyền thông vô tuyến và hữu tuyến. Mô phỏng giao thức. Mô phỏng các mạng kiểu hàng đợi. Nguyễn Trọng Dƣơng - D06VT1
35
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Mô phỏng các hệ thống phần cứng phân tán và các đơn vị xử lý trung tâm song song. Thử nghiệm các kiến trúc phần cứng. Đánh giá hiệu năng của các hệ thống phần mềm phức tạp. 3.1.2.1. Khái niệm mô hình Một mô hình trong OMNeT++ bao gồm các module lồng nhau có cấu trúc phân cấp. Mức độ phân cấp của các module là không giới hạn, điều này cho phép người sử dụng có thể biểu diễn cấu trúc logic của các hệ thống trong thực tế bằng mộtcấu trúc mô hình. Các module có thể truyền thông với nhau thông qua việc trao đổi bản tin (message). Bản tin này có thể có cấu trúc phức tạp tuỳ ý. Module có thể gửi bản tin này theo hai cách, một là gửi trực tiếp tới địa chỉ nhận, hai là gửi đi theo một đường dẫn được định sẵn, thông qua cổng và các kết nối. Các module có thể có các tham số của riêng nó. Những tham số này có thể được sử dụng để chỉnh sửa các thuộc tính của module và để biểu diễn cho topology của mô hình. Module ở mức thấp nhất trong cấu trúc phân cấp đóng gói các thuộc tính. Module này được coi là các module đơn giản, chúng được lập trình bằng ngôn ngữ C++, sử dụng lớp thư viện mô phỏng. 3.1.2.2. Kiến trúc phân cấp của mô hình Như đã trình bày ở trên, mô hình trong OMNeT++ bao gồm nhiều module, các module này có thể truyền thông với nhau thông qua trao đổi các bản tin. Module đơn vị được gọi là module đơn giản (simple module), chúng được viết bằng ngôn ngữ C++, sử dụng các lớp thư viện mô phỏng. Module đơn giản có thể được ghép vào module phức (compound module) tạo thành các module lông nhau có cấu trúc phân cấp, trong đó, mức độ phân cấp của module phức là không giới hạn. Module mức cao nhất trong cấu trúc phân cấp được gọi là module hệ thống. Chính cấu trúc phân cấp của OMNeT++ cho phép người sử dụng có thể dễ dàng biểu diễn một cấu trúc logic của hệ thống trong thực tế bằng một mô hình.
Hình 3.2. Module đơn giản và module phức
Nguyễn Trọng Dƣơng - D06VT1
36
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Một module đơn giản điển hình, gửi bản tin thông qua các cổng, nhưng nó cũng có thể gửi các bản tin một cách trực tiếp tới module đích. Cổng là giao diện đầu vào và đầu ra của một module, trong đó: bản tin được gửi thông qua cổng đầu ra và nhận thông qua cổng đầu vào. Một cổng đầu vào và một cổng đầu ra có thể được nối với nhau bằng một kết nối, kết nối này chỉ được tạo ra trong cùng một cấp trong phân cấp module hoặc giữa các module phức với nhau. 3.1.2.3. Kiểu module Cả module phức và module đơn giản đều thuộc kiểu module. Trong khi khai báo mô hình, người sử dụng phải định nghĩa kiểu module; xác định xem nó là thành phần của module phức nào. Cuối cùng, người lập trình phải tạo một module hệ thống như là một đối tượng cụ thể của kiểu module đã định nghĩa trước đó, tất cả các module của mạng đều là module con (hoặc là con của module con) của module hệ thống. Khi một kiểu module được sử dụng như một khối dựng sẵn, thì người dùng hoàn toàn có thể xác định nó là module đơn giản hoặc module phức. Thuộc tính này cho phép người sử dụng có thể chia một module đơn giản thành nhiều module đơn giản và sau đó nhúng vào một module phức, hoặc ngược lại, có thể kết hợp chức năng của một module phức vào một module đơn giản duy nhất mà không làm thay đổi điểu module đã được định nghĩa.
Hình 3.3. Mô hình phân cấp của module và kênh Kiểu module có thể được lưu trong một file riêng, điều đó có nghĩa là người sử dụng có thể nhóm nhiều kiểu module để tạo ra một thư viện thành phần. 3.1.2.4. Bản tin, cổng và kết nối Các module truyền thông với nhau bằng cách gửi bản tin. Do mô hình phân cấp, bản tin được truyền qua hàng loạt các kết nối, trong đó, chúng chỉ được bắt đầu và kết thúc tại một module đơn giản. Với mỗi một ứng dụng mô phỏng cụ thể, bản tin có thể đóng vai trò là khung hoặc gói tin trong mạng máy tính, yêu cầu xử lý hay luồng lưu lượng trong các mạng kiểu xếp hàng hoặc các thực thể di động khác. Người dùng có Nguyễn Trọng Dƣơng - D06VT1
37
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
thể tùy ý xây dựng cấu trúc của bản tin phù hợp với yêu cầu sử dụng của mình. Module đơn giản gửi bản tin trực tiếp hoặc theo đường được định nghĩa trước thông qua cổng các kết nối. Thời gian mô phỏng cục bộ của một module tăng lên khi nó nhận một bản tin. Bản tin này có thể đến từ một module khác hoặc từ chính nó (self-message là loại bản tin được dùng để thực hiện định thời). Cổng là giao diện đầu vào và đầu ra của một module, các bản tin được gửi đi thông qua cổng đầu ra và nhận qua cổng đầu vào. Kết nối được tạo ra giữa những module cùng cấp trong cấu trúc module phân cấp với nhau hoặc giữa các module phức, giữa cổng tương ứng của hai module con hoặc một cổng của module con với một cổng của module phức.
Hình 3.4: Kết nối trong OMNeT++ 3.1.2.5. Truyền gói tin Khi một gói tin được gửi ra từ một cổng, nó sẽ phải đi qua hàng loạt kết nối cho đến khi nó tới module đích. Chúng ta gọi chuỗi kết nối đó là một đường kết nối. Một vài kết nối trên đường có thể có một kênh liên kết riêng, nhưng trên một đường, chỉ có một kênh là cho phép truyền theo chu kỳ do nhân mô phỏng quy định. Kênh này được gọi là kênh truyền tải. Một gói tin chỉ được truyền khi kênh truyền tải rỗi. Điều đó có nghĩa là sau mỗi một lần truyền gói tin, module gửi sẽ phải chờ cho tới khi quá trình truyền hoàn thành nếu muốn tiếp tục gửi gói tin khác. Người lập trình có thể trỏ tới kênh truyền tài bằng cách sử dụng lệnh getTranmissionChannel() tại cổng ra. Lệnh isBusy() và getTransmissionFinishTime() để biết kênh có đang rỗi không và bao giờ thì quá trình truyền gói tin kết thúc.
Nguyễn Trọng Dƣơng - D06VT1
38
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Hình 3.5: Mô hình truyền gói tin trong OMNeT++ Ngoài ra, một kênh có ba tham số đặc trưng rất thuận tiện cho các mô hình mô phỏng mạng thông tin. Ba tham số này bao gồm: Độ trễ đường truyền (s): là tổng thời gian đến của gói tin bị trễ đi khi truyền qua kênh Tỉ số lỗi bit (số lỗi/bit): là xác suất các bit bị truyền sai. Do đó xác suất để một gói tin độ dài n bit truyền đi chính xác là: P(gói tin gửi đi được nhận chính xác) = (1 - ber)n Trong đó ber là tỉ số lỗi bit và n là số bit của gói tin. Tỉ số lỗi bit ảnh hưởng đến quá trình truyền gói tin qua kênh. Các gói tin truyền đi đều có một cờ lỗi, cờ này sẽ được thiết lập khi việc truyền gói có lỗi. Tỉ số dữ liệu (bit s): được sử dụng để tính thời gian để truyền một gói tin. Khi tỉ số này được sử dụng, quá trình gửi gói tin đi sẽ tương ứng với việc truyền bit đầu tiên và gói tin được tính là đến nơi sau khi bên nhận đã nhận được bit cuối cùng. 3.2. Xây dựng kịch bản mô phỏng 3.2.1. Các module của chương trình mô phỏng Hai module cơ bản nhất của mỗi kịch bản mô phỏng là Nút và Bs. Cả hai module này đều là các module đơn giản và là module con của module hệ thông Network.
Nguyễn Trọng Dƣơng - D06VT1
39
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Hình 3.6: Topo mạng sử dụng cho mô phỏng Module Nút: Số lượng module Nút được nhập vào từ file khởi tạo. Đây là module đại diện cho nút cảm biến, có cổng kết nối trực tiếp và kênh truyền vô tuyến. Thực hiện toàn bộ chức năng của một nút cảm biến với nguồn năng lượng giới hạn, bao gồm: truyền thông với nút lân cận và với trạm gốc (base station), cảm biến và gửi dữ liệu về trạm gốc hoặc nút lân cận… Các module Nút được phân biệt với nhau bằng tham số đặc trưng là Id của nút, giả định là có khả năng truyền thông được với trạm gốc, và với các module Nút lân cận trong vòng bán kính 100m. Module Bs: Đóng vai trò là tạm gốc, module Bs luôn được đặt ở vị trí trung tâm tâm của vùng mạng. Giống như module Nút, Bs cũng bao gồm các cổng cho phép kết nối trực tiếp và kênh truyền vô tuyến. Trong các kịch bản dưới đây, module Bs không bị giới hạn bởi năng lượng và giả định là có thể truyền thông được với tất cả các module Nút khác. Với giao thức định tuyến LEACH cơ bản, Bs chỉ đóng vai trò nhận dữ liệu từ các cluster-head gửi về, trong giao thức LEACH-C và LEACH-F, Bs đóng vai trò quan trọng trong việc chọn nút chủ thông qua việc thực hiện số lượng phép tính rất lớn. Module hệ thống Mạng: Là module có mức cao nhất, chứa các tham số như kích thước vùng mạng, số lượng module Nút, … 3.2.2. Xây dựng hàm giảm năng lượng Trong thông tin vô tuyến, đặc tính kênh vô tuyến có tầm quan trọng rất lớn, đặc biết là với mạng WSN, vì những đặc tính này ảnh hưởng trực tiếp lên chất lượng truyền dẫn. Do đó, để điều chỉnh công suất phát và thu của nút cảm biến ở mức thích hợp, vừa đảm bảo được chất lường của dữ liệu, trong khi vẫn tiết kiệm năng lượng tiêu thụ nhằm kéo dài thời gian hoạt động của mạng, vấn đề đặc tính kênh vô tuyến rất cần được tập trung nghiên cứu. Kênh vô tuyến của hệ thống thông tin không dây thường được trình bày bằng khái niệm kênh truyền sóng trực xạ (LOS: Line of Sight) và không trực xạ (NLOS: None Line of Sight). Trong đường truyền LOS, tín hiệu truyền trực tiếp và đường Nguyễn Trọng Dƣơng - D06VT1
40
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
truyền không bị che chắn bởi vật cản từ máy phát đến máy thu. Trong đường truyền không trực xạ NLOS, tín hiệu đến máy thu qua phản xạ, tán xạ và nhiễu xạ. Vì vậy, tín hiệu tại máy thu gồm nhiều thành phần như: thành phần truyền trực tiếp; các thành phần phản xạ, tán xạ và nhiễu xạ. Các tín hiệu này có trải trễ, suy hao, phân cực và độ ổn định khác nhau so với tín hiệu của đường trực tiếp, làm méo tín hiệu thu. Tùy vào băng thông của hệ thống, yếu tố này dẫn đến làm thay đổi nhanh cường độ tín hiệu và gây ra nhiễu giao thoa giữa các ký hiệu. Trong các kịch bản mô phỏng sau đây, nút cảm biến truyền thông trực tiếp với nhau trong phạm vi hẹp (dưới 100m), mô hình đơn giản sau sẽ được áp dụng:
Hình 3.7: Mô hình truyền thông giữa hai nút cảm biến Giữa nút phát và nút thu chỉ có một đường truyền trực tiếp, khi không có những chướng ngại vật đáng kể trên đường đi của tín hiệu, với d là khoảng cách giữa hai nút thì công suất truyền suy hao được tính như sau: ( )
(
)
(3.1)
Trong đó: ( ): Công suất nhận được ở khoảng cách d. : Công suất bên truyền. : Hệ số khuếch đại của anten bên truyền. : Hệ số khuếch đại của anten bên nhận. : Bước sóng của tín hiệu sóng mang. L
: Hệ số suy hao hệ thống không liên quan đến quá trình truyền.
D: Khoảng cách giữa bên phát và bên thu.
Nguyễn Trọng Dƣơng - D06VT1
41
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Để đảm bảo nút nhận dữ liệu có thể thu được tín hiệu thì nút phát phải sử dụng bộ khuếch đại công suất. Do đó, để truyền một bản tin dài l bit ở khoảng cách d, nút gửi bản tin sẽ phải sử dụng năng lượng là: ( Trong đó,
đ
)
(3.2)
đ
là hệ số của bộ khuếch đại. [4].
đ
= 10pJ/bit/m2.
Bên nhận, khi nhận được bản tin có độ dài l bit: ()
(3.3)
Trong đó, là năng lượng điện tử, phụ thuộc và các yếu số như: mã hóa số, điều chế, lọc tín hiệu trước khi gửi đến bộ khuếch đại. [4]. =50nJ/bit. 3.3. Mô phỏng các thuật toán định tuyến LEACH Hoạt động của các giao thức định tuyến LEACH được chia thành các vòng, do đó, chương trình sẽ khảo sát hiệu năng sử dụng năng lượng của các nút thông qua các thông số như: thời gian nút đầu tiên hết năng lượng, thời gian 50% số nút hết năng lượng, thời gian toàn bộ số nút hết năng lượng. 3.3.1. LEACH cơ bản 3.3.2.1.
Giả thiết và thiết lập thông số ban đầu
Một số giả thiết quan trọng: Tất cả các nút trong mạng đều có khả năng liên lạc được với trạm gốc. Khi liên lạc với nút lân cận, bán kính vùng phủ của nút là 100m. Có thực hiện đồng bộ trong toàn mạng. Thiết lập thông số ban đầu: Số nút trong mạng: 100 nút. Kích thướng mạng: (1000m x 1000m), trạm gốc BS đặt ở vị trí (500m, 500m). Năng lượng ban đầu của mỗi nút: 2J; Năng lượng tiêu tốn khi xử lý một bit: =50nJ/bit. 2 Hệ số khuếch đại: đ = 10pJ/bit/m . Độ dài mỗi bản tin Data: 500byte, bản tin mào đầu: 25 byte. 3.3.2.2. Kịch bản mô phỏng Hoạt động của các nút được lặp lại theo vòng, mỗi vòng gồm hai pha và được chia thành bốn bước: Bước 1: Khởi tạo mạng và chọn nút chủ (CH). Tiến hành khởi tạo các thông số ban đầu, thiết lập topo mạng và định thời. Để quyết định xem có trở thành nút chủ trong vòng hiện tại hay không, mỗi nút tự sinh ra một sô ngẫu nhiên s trong khoảng từ 0 tới 1, đồng thời tính toán giá trị ngưỡng Tn cho vòng hiện tại theo công thức (2.1)
Nguyễn Trọng Dƣơng - D06VT1
42
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Thực hiện so sánh giá trị ngẫu nhiên S với giá trị ngưỡng Tn, nếu S nhỏ hơn Tn thì nút đó sẽ là nút chủ trong vòng hiện tại. Bước 2: Thành lập cụm. Sau bước 1, nếu là nút chủ trong vòng hiện tại thì tiến hành phát quảng bá bản tin ADV về trạng thái nút chủ của mình cho các nút lân cận trong phạm vi 100m. Bản tin ADV này chứa Id của nút. Nếu không phải là nút chủ, nút sẽ chờ bản tin ADV, nếu không nhận được bản tin ADV nào thì tắt bộ thu phát vô tuyến, chờ đến vòng tiếp theo. Trong trường hợp nhận được ít nhất một bản tin ADV, trước tiên nút lấy Id để xác định của nguồn gửi bản tin đó, tính toán công xuất thu tín hiệu và lưu lại. Nếu một nút nhận được nhiều bản tin ADV, nó tiến hành so sánh và chọn nút chủ là nút có công suất thu của bản tin ADV lớn nhất làm nút chủ, rồi gửi trả lại gói tin REQ.
Hình 3.8: Các bước mô phỏng giao thức định tuyến LEACH. Bước 3: phân chia khe thời gian TDMA. Nút chủ căn cứ vào số lượng gói tin REQ nhận được, phân bổ khe thời gian cho các nút trong cụm thông qua gói tin TDMA.
Nguyễn Trọng Dƣơng - D06VT1
43
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Bước 4: Truyền dữ liệu. Khi nhận được gói tin TDMA, nút thành viên sẽ xác định được Ts của mình, tiến hành định thời thu thập dữ liệu và gửi bản tin DATA về cho nút chủ. Mỗi khi gửi xong một bản tin DATA, nút sẽ tắt bộ thu phát vô tuyến trong suốt độ dài một khung, cho đến khe thời gian của nút trong khung tiếp theo mới hoạt động trở lại. Nút chủ nhận được bản tin DATA, lưu lại trong bộ nhớ, tiến hành xử lý tín hiệu rồi gửi về BS. 3.3.2. LEACH-C 3.3.2.1. Giả thiết và thiết lập thông số ban đầu Ngoài những giả thiết giống như trong giao thức định tuyến LEACH cở bản, LEACH-C đòi hỏi các nút phải biết được vị trí chính xác thông qua bộ định vị GPS. Thiết lập thông số ban đầu: Số nút trong mạng: 100 nút. Kích thướng mạng: (1000m x 1000m), trạm gốc BS đặt ở vị trí (500m, 500m). Năng lượng bạn đầu của mỗi nút: 2J; Năng lượng tiêu tốn khi xử lý một bit: =50nJ/bit. 2 Hệ số khuếch đại: đ = 10pJ/bit/m . Độ dài mỗi bản tin Data: 500byte, bản tin mào đầu: 25 byte. 3.3.2.3. Kịch bản mô phỏng Quá trình mô phỏng giao thức LEACH-C về cơ bản giống với LEACH, tuy nhiên pha thiết lập trong LEACH-C rất phức tạp. Khi bắt đầu khởi tạo mạng, trạm gốc cần phải biết được thông tin đầy đủ về vị trí và năng lượng còn lại của tất cả nút trong mạng. Để có được những thông tin này, BS tiến hành gửi các bản tin ADV, trong đó có chứa Id của BS. Khi nút nhận được ADV, nó cho rằng BS là nút chủ trong vòng hiện tại, nên tiến gửi trả về gói tin REQ chứa thông số về ID của nút, tọa độ và năng lượng còn lại tới BS. BS nhận bản tin REQ, lưu thông số của toàn bộ nút trong mạng vào cơ sở dữ liệu và sẽ là đầu vào của quá trình tính toán tìm nút chủ cho vòng hiện tại. Số lượng nút chủ cần thiết trong một vòng được xác định bằng 5% tổng số nút trong mạng. Để chọn ra được K nút chủ tối ưu, BS căn cứ vào vị trí và năng lượng còn lại của nút và thực hiện theo các bước sau: Bước 1: Tính toán năng lượng dự trữ trung bình của tất cả nút trong mạng, chọn ra nút có năng lượng dự trữ cao hơn mức trung bình đó được coi là nút chủ tiềm năng (potential cluster-head). Nếu số lượng nút chủ tiềm năng lớn hơn K, tiến hành loại bỏ lần lượt 3 nút chủ tiềm năng. Bước 2: Đầu tiên, loại bỏ nút chủ tiềm năng có tổng khoảng cách đến các nút chủ tiềm năng còn lại nhỏ nhất. Nguyễn Trọng Dƣơng - D06VT1
44
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Bước 3: Sau đó, tìm hai nút tiềm năng gần nhau nhất, tiến hành loại bỏ một trong hai nút đó khỏi danh sách nút chủ tiềm năng theo phương pháp sau: Nếu một trong hai nút gần biên mạng thì loại bỏ nút đó. Nếu không có nút nào gần biên mạng thì loại nút gần BS hơn. Bước 4: Cuối cùng, tính tổng khoảng cách D của mỗi nút chủ tiềm năng tới các nút lân cận mà không phải là tiềm năng. Nếu nút tiềm năng nào có D bằng không thì loại bỏ, nếu không có nút tiềm năng nào có D bằng không thì loại nút có D lớn nhất ra khỏi danh sách nút tiềm năng. Bằng cách chọn nút chủ như trên, có thể tối thiểu hóa tổng khoảng cách truyền dẫn trong mạng. Sau khi tiến hành loại bỏ ba nút tiềm năng, nếu số lượng nút chủ tiềm năng vẫn lớn hơn K thì lặp lại bước 2. Khi đã chọn được một tập nút chủ cho vòng hiện tại, BS gửi tin quảng bá có chứa ID của nút chủ tới tất cả nút trong mạng. Các nút nhận được bản tin thông báo, kiểm tra xem ID của nút có trùng với ID trong bản tin không, nếu trùng thì nút sẽ trở thành nút chủ trong vòng hiện tại, quá trình thành lập cụm và truyền dữ liệu giống như trong giao thức LEACH cơ bản.
Hình 3.9: Các bước mô phỏng giao thức định tuyến LEACH-C.
Nguyễn Trọng Dƣơng - D06VT1
45
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Định kỳ một khoảng thời gian T-round nhất định, BS lại gửi bản tin ADV tới tất cả nút trong mạng, khi nhận được bản tin này, nút dừng mọi hoạt động hiện thời để gửi trả lại thông tin về năng lượng dự trữ và vị trí của nút để bắt đầu một vòng mới. 3.3.3. LEACH-F 3.3.2.1. Giả thiết và thiết lập thông số ban đầu Các thông số ban đầu: Số nút trong mạng: 100 nút. Kích thướng mạng: (1000m x 1000m), trạm gốc BS đặt ở vị trí (500m, 500m). Năng lượng bạn đầu của mỗi nút: 2J; Năng lượng tiêu tốn khi xử lý một bit: =50nJ/bit. 2 Hệ số khuếch đại: đ = 10pJ/bit/m . Độ dài mỗi bản tin Data: 500byte, bản tin mào đầu: 25 byte. 3.3.2.4. Kịch bản mô phỏng Pha lựa chọn nút chủ LEACH-F trong vòng đầu tiên giống với giao thức định tuyến LEACH-C. Có nghĩa là trạm gốc cũng phát quảng bá bản tin ADV tới tất cả các nút trong mạng để thu thập thông tin về vị trí và năng lượng còn lại của các nút, rồi căn cứ vào đó để chọn ra được K nút chủ tối ưu (K bằng 5% tổng số nút). Từ K nút chủ này hình thành nên K cụm, các nút trong cụm thu thập thông tin cảm biến rồi gửi về trạm gốc thông qua nút chủ. Tuy nhiên, khác với LEACH-C, trong LEACH-F, chỉ có vòng đầu tiên trạm gốc mới tiến hành chọn nút chủ. Từ các vòng tiếp theo, định kỳ một khoảng thời gian Tround nhất định, nút chủ gửi bản tin UPDATE cho tất cả các thành viên trong cụm, khi nhận được bản tin này, các thành viên gửi thông tin về năng lượng còn lại của mình cho nút chủ, thay vì cho BS. Lúc này, nút chủ có vai trò chọn ra nút chủ mới cho vòng tiếp theo. Như vậy, trong LEACH-F, các nút trong cụm được hình thành một lần duy nhất theo quyết định của BS ở vòng đầu tiên, còn trong các vòng tiếp theo, các nút không phải là thành viên của cụm không gia nhập cụm đó được. Chỉ trong trường hợp khi số nút hỏng trong toàn mạng vượt quá một số nhất định, BS tiến hành chọn lại cụm từ đầu.
Nguyễn Trọng Dƣơng - D06VT1
46
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Hình 3.10: Các cụm tự bầu nút chủ trong giao thức định tuyến LEACH-F 3.4.
Kết quả mô phỏng
3.4.1. LEACH Trong giao thức định tuyến LEACH cơ bản, quá trình lựa chọn nút chủ chưa đưa tham số năng lượng còn lại và vị trí của các nút vào, nên xảy ra trường hợp các nút ở xa trạm gốc vẫn phải đóng vai trò là nút chủ. Những nút này, do phải sử dụng một lượng lớn năng lượng để khuếch đại tín hiệu, truyền dữ liệu về trạm gốc nên năng lượng của chúng giảm rất nhanh, do đó, thời gian nút đầu tiên chết trong mạng khi sử dụng giao thức định tuyến LEACH là khá sớm.
Thời gian (s) 70000 60000 50000 40000 30000 20000 10000 0 1
11
21
31
41
51
61
71
81
91
Số nút chết
Hình 3.11: Số lượng nút chết theo thời gian mô phỏng
Nguyễn Trọng Dƣơng - D06VT1
47
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Hình 3.11 chỉ ra số lượng nút cảm biến sử dụng hết năng lượng theo thời gian, đó là một đường có độ dốc tăng dần. Sở dĩ độ dốc của đồ thị biểu hiện mối quan hệ giữa số lượng nút chết và thời gian có độ dốc tăng dần bởi vì, khi số lượng nút trong mạng còn lại càng ít, thì xác suất phải đóng vai trò nút chủ của nút mạng càng tăng. Do đó, nút mạng tiêu hao năng lượng nhanh hơn, và đồ thị dốc hơn. Số vòng 4500
4197
4000 3500 3000
2671 2280
2500 1902
2000 1500 1000 500
306
372
484
1
2
3
681
950
1230
0 4
5
6
7
8
9
% nút chết
10
Hình 3.12: Số vòng theo phần trăm nút chết 3.4.2. LEACH-C Trong giao thức LEACH-C, trạm gốc xác định nút chủ căn cứ vào vị trí của nút và năng lượng dự trữ còn lại, do đó, quá trình chọn nút chủ tối ưu hơn rất nhiều so với LEACH cơ bản, ưu điểm này được chỉ rõ trong hình sau: Thời gian (s) 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 0 1
11
21
31
41
51
61
71
81
91
số nút chết
Hình 3.13: Số lượng nút chết theo thời gian mô phỏng. Hình 3.13 chỉ ra rằng, giao thức định tuyến LEACH-C đã kéo dài được đáng kể thời gian nút đầu tiên trong mạng mất năng lượng. Đồng thời, LEACH-C lựa chọn nút Nguyễn Trọng Dƣơng - D06VT1
48
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
chủ tối ưu hơn, do đó, kéo dài 50% thời gian hoạt động của mạng so với giao thức LEACH cơ bản. Ngoài ra, độ dốc của đồ thị cũng có tính chất tương tự như trong giao thức LEACH. Số vòng 7000
6296
6000
5536
5000 4000 3000
4466 3476 3691 3229 3373 3029 2822
3986 số vòng
2000 1000 0 1
2
3
4
5
6
7
8
9
10
% nút chết
Hình 3.14: Số vòng theo phần trăm nút chết Kết quả mô phỏng chỉ ra rằng, với cùng năng lượng ban đầu, cùng topo mạng như nhau, giao thức định tuyến LEACH-C thực hiện được 6296 vòng, còn LEACH cơ bản chỉ thực hiện được 4197 vòng. Như vậy, kết quả mô phỏng phù hợp với lý thuyết. 3.4.3. LEACH-F Giao thưc định tuyến LEACH-F sử dụng thuật toán chọn nút chủ giống với LEACH-C, tuy nhiên, sau vòng đầu tiên, thì LEACH-F cố định cụm, chỉ đến khi không nhận được dữ liệu hoặc nảy sinh yêu cầu cấu hình lại vị trí cần cảm biến thì BS mới chọn lại cụm, do đó, nút đầu tiên trong mạng sử dụng hết năng lượng khá sớm.
Nguyễn Trọng Dƣơng - D06VT1
49
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
T(s) 90000 80000 70000 60000 50000
Time
40000 30000 20000 10000 0 1
11
21
31
41
51
61
71
81
Số nút chết
91
Hình 3.15: Số lượng nút chết theo thời gian mô phỏng Tuy nhiên, do có thuật toán lựa chọn nút chủ tối ưu hơn, nên giao thức LEACH-F vẫn đạt được hiệu quả tiết kiệm năng lượng cho các nút hơn so với giao thức LEACH cơ bản. Số vòng 6000
5530 4856
5000 3975
4000
4939
4117
3656 số vòng
3000 2338 1735
2000 1097 1000
549
0 1
2
3
4
5
6
7
8
9
10
% nút chết
Hình 3.16: Số vòng theo phần trăm nút chết
Nguyễn Trọng Dƣơng - D06VT1
50
Đồ án tốt nghiệp
3.5.
Chương 3: Mô phỏng giao thức định tuyến LEACH
Đánh giá và kết luận
Để có thể dễ dàng so sánh hiệu quả của ba giao thức, chúng ta sử dụng ba tham số: Thời gian nút đầu tiên chết FD (First Nút Dies), nửa nút còn sống HA (Haft of the Núts Alive) và nút cuối cùng chết LD (Last Nút Dies) để làm tiêu chuẩn so sánh. Thời gian (s) 100000 90000 80000 70000 60000
LEACH
50000
LEACH-F
40000
LEACH-C
30000 20000 10000 0 1
11
21
31
41
51
61
71
81
Số nút chết
91
Hình 3.17: Số nút chết theo thời gian mô phỏng của các giao thức Số vòng 7000
6296 5530
6000 5000
4197
4000 3000
3476 3413 2467
LEACH LEACH-F LEACH-C
2000 1000
950 202 144
0 1
50
100 % nút chết
Hình 3.18: Số vòng thực hiện được theo phần trăm nút chết Hình 3.18 chỉ ra rằng LEACH-C thực hiện được 2467 vòng trước khi nút đầu tiên chết, trong khi LEACH-F chỉ thực hiện được 202 vòng và LEACH cơ bản là 144 vòng. LEACH-C và LEACH-F có số nút còn hoạt động nhiều hơn LEACH tại bất cứ thời điểm nào. Nguyễn Trọng Dƣơng - D06VT1
51
Đồ án tốt nghiệp
Chương 3: Mô phỏng giao thức định tuyến LEACH
Như vậy, chương 3 đã tập trung vào việc cứu phân tích quả sử dụng năng lượng cho các nút cảm biến dựa trên việc áp dụng giao thức phân cấp LEACH thông qua phần mềm mô phỏng OMNeT++. OMNeT++ là một công cụ mô phỏng có tính linh hoạt cao và phù hợp với mục đích mô phỏng những mạng viễn thông lớn và phức tạp. Kết quả mô phỏng khi xử dụng OMNeT++ cũng được hầu hết các tạp chí khoa học công nghệ trong và ngoài nước công nhận. Trên cơ sở nghiên cứu giao thức LEACH, chương 2 cũng đã chỉ ra rằng, bên cạnh những ưu điểm vượt trội so với các giao thức định tuyến khác, LEACH vẫn còn nhiều hạn chế, và đồng thời, đề suất hướng phát triển hai giao thức LEACH-C và LEACH-F. Để phân tích và so sánh hiệu quả của ba giao thức này, chương 3 đã xây dựng các kịch bản mô phỏng tương ứng. Qua kết quả thu được từ các kịch bản mô phỏng, có thể đưa ra một số nhận xét, đánh giá sau: Thứ nhất: Nếu sử dụng giao thức định tuyến LEACH sẽ nảy sinh vấn đề lựa chọn nút chủ và cụm không tối ưu. Do LEACH không đưa các tham số về vị trí và năng lượng dự trữ của nút cảm biến vào quá trình lựa chọn nút chủ, nên những nút ở xa trạm gốc, có chi phí năng lượng cao hơn khi truyền thông, vẫn phải định kỳ đóng vai trò nút chủ, vấn đề này làm sai lệch hiệu quả phân bổ năng lượng tiêu thụ đều cho các nút trong mạng của thuật toán. Kết quả là có những nút nhanh chóng bị mất năng lượng trước các nút khác, làm giảm thời gian sống của toàn mạng. Thứ hai: Trong giao thức định tuyến LEACH-F, mặc dù trạm gốc đóng vai trò lựa chọn nút chủ và cụm trong vòng đầu tiên, nhưng kể từ vòng tiếp theo, vai trò nút chủ lại luôn phiên giữa các thành viên cố định trong cụm. Do đó, thời gian nút đầu tiên trong mạng hết năng lượng cũng không được cải thiện hơn so với LEACH. Tuy nhiên, nhờ cơ chế lựa chọn nút chủ tối ưu hơn, nên LEACH-F đã cải thiện được đáng kể hiệu quả sử dụng năng lượng của WSN so với LEACH cơ bản, qua đó, kéo dài được thời gian hoạt động của mạng. Thứ ba: Đối với giao thức định tuyến LEACH-C, việc lựa chọn nút chủ trong mỗi vòng do BS đảm nhận, BS căn cứ vào năng lượng hiện tại và vị trí của các nút cảm biến, sử dụng thuật toán tối ưu để lựa chọn ra nút chủ tốt nhất cho vòng hiện tại. Chính vì những ưu điểm đó, mà khả năng phân bố đều năng lượng tiêu thụ cho các nút mạng của LEACH-C là rất tốt, kéo dài được thời gian hoạt động của WSN rất nhiều so với LEACH cơ bản.
Nguyễn Trọng Dƣơng - D06VT1
52
Đồ án tốt nghiệp
Kết luận và hướng phát triển của đồ án
KẾT LUẬN CHUNG VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỒ ÁN Ngay khi ra đời, mạng cảm biến không dây đã trở thành một trong những đề tài nghiên cứu hấp dẫn nhất trong lĩnh vực viễn thông bởi WSN có khả năng đáp ứng được rất nhiều ứng dụng trong thực tế, có thể thích ứng linh hoạt, xử lý và khắc phục sự cố khi xảy ra hư hỏng, có chi phí triển khai mạng thấp... Sự ra đời của WSN đã mở ra một cuộc cách mạng trong lĩnh vực cảm biến và thu thập thông tin, mang lại nhiều lợi ích thiết thực cho cuộc sống, cho sản xuất và trong khoa học. Tuy nhiên, cũng giống như các mạng truyền thông khác, mạng cảm biến cũng phải đối mặt với rất nhiều thách thức, một trong những thách thức lớn nhất là nút cảm biến phải hoạt động với nguồn năng lượng giới hạn và không thể nạp lại. Để giải quyết vấn đề này, nhiều hướng nghiên cứu được tiếp cận nhưng đặc biệt quan trọng và mang lại hiệu quả rõ rệt nhất và hướng nghiên cứu tập trung vào thiết kế giao thức định tuyến phù hợp cho WSN. Trong những giao thức định tuyến phổ biến đang được sử dụng trong mạng cảm biến, các giao thức thuộc nhóm giao thức phân cấp được đánh giá rất cao nhờ tính linh hoạt, có khả năng đáp ứng được yêu cầu mở rộng mạng và kéo dài thời gian sống của mạng. LEACH và PEGASIS là hai giao thức điển hình thuộc nhóm giao thức định tuyến này. LEACH hoạt động dựa trên ý tưởng phân cấp mạng theo cụm thích ứng năng lượng để thu thập và phân phối dữ liệu tới trạm cơ sở. PEGASIS đạt được sự cân bằng trong tiêu thụ năng lượng của nút mạng dựa vào sự hình thành và truyền thông theo chuỗi. Đồ án này chỉ tập trung nghiên cứu giao thức định tuyến LEACH. Chương 2 đã trình bày chi tiết về ý tưởng, cơ chế và các pha hoạt động trong LEACH, từ đó, rút ra những đánh giá về hiệu quả sử dụng năng lượng và khả năng ứng dụng của giao thức. Đồng thời, chương này cũng đưa ra hai giao thức cải tiến của LEACH là LEACH-C và LEACH-F. Để đánh giá phần nào hiệu quả của ba giao thức thuộc nhóm giao thức định tuyến LEACH, chương 3 đã tập trung vào mô phỏng từng giao thức dựa trên công cụ mô phỏng OMNeT++. Đây là một trong những công cụ đang được sử dụng phổ biến nhờ tính linh hoạt và khả năng mô phỏng những hệ thống phức tạp. Thông qua kết quả của các kịch bản mô phỏng, chương này đã đưa ra một số nhận xét và đánh giá về hiệu quả trong việc tiết kiệm năng lượng tiêu thụ cho các nút cảm biến của từng giao thức. Với kết quả này, cho thấy, giao thức định tuyến LEACH-C là giao thức hiệu quả nhất, tuy nhiên, tùy thuộc vào những ứng dụng mạng cụ thể, LEACH cơ bản và LEACH-F vẫn có thể là sự lựa chọn tối ưu. Tuy nhiên, do hạn chế về thời gian thực hiện, đồ án chắc chắn còn một số điểm còn hạn chế, chưa đào sâu phân tích như các giao thức định tuyến khác đang được sử dụng trong WSN. Hướng phát triển tiếp theo là tập trung nghiên cứu các giao thức này, để có thể phân tích, so sánh và nhận thức đầy đủ về vấn đề định tuyến trong WSN, đặc biệt là giao thức phân cấp PEGASIS được đánh giá là rất hiệu quả.
Nguyễn Trọng Dƣơng - D06VT1
53
Đồ án tốt nghiệp
Kết luận và hướng phát triển của đồ án
Một vấn đề khác cần được quan tâm là khả năng di chuyển của nút. Khi đó việc cập nhật thông tin vị trí của nút chỉ huy và nút cảm biến cũng như truyền thông tin đó qua mạng có thể tiêu thụ một mức năng lượng đáng kể của các nút. Các giao thức định tuyến mới cần phải xử lý thông tin về độ di chuyển và sự thay đổi cấu hình mạng trong điều kiện hạn chế về năng lượng.
Nguyễn Trọng Dƣơng - D06VT1
54
Đồ án tốt nghiệp
Tài liệu tham khảo
TÀI LIỆU THAM KHẢO [1]. TS. Lê Nhật Thăng, TS. Nguyễn Quý Sỹ, Các kỹ thuật phân nhóm trong các mạng cảm biến vô tuyến, Tạp chí Bưu chính viễn thông, số 301, năm 2007.
[2] Jennifer Yick, Biswanath Mukhejee, Dicpak Ghosal, Wireless sensor network survey, University of California, Davis, CA 95616, United States. [3] W. Heinzelman, A.P. Chandrakasan and H. Balakrishnan, Energy-Efficient Communication Protocol for Wireless Microsensor Networks, IEEE Proceedings of the Hawaii International Conference on System Sciences, January 4-7, 2000, Maui, Hawaii. [4] O. Younis and S. Fahmy, HEED: A Hybrid, Energy-Efficient, Distributed Clustering Approach for Ad Hoc Sensor Networks, IEEE Trans. Mobile Comp., vol. 3, no. 4, Oct.–Dec. 2004, pp. 366–79. [5] W. R. Heinzelman, J. Kulik, and H. Balakrishnan, Adaptive Protocols for Information Dissemenination in Wireless Sensor Network, IEEE Proc. Hawaii Init’l Conf. Sys. Sci. Jan. 2000 pp 1 -10. [6] Wendi Beth Heinzelman, Application-Specific Protocol Architectures for Wireless Networks, Massachusetts Institute of Technology (1997). [7] Kazem Sohraby, Daniel Minoli, Taieb Znati, Wireless Sensor Networks Technology, Protocols, and Applications, John Wiley & Sons, Inc., Hoboken, New Jersey, 2007. [8] Anna Ha’c, Wireless Sensor Network Designs, University of Hawaii at Manoa, Honolulu, USA, John Wiley & Sons Ltd, Copyright 2003. [9] Jamal N. Al-Karaki Ahmed E. Kamal, Routing Techniques in Wireless Sensor Networks, Dept. of Electrical and Computer Engineering Iowa State University, Ames, Iowa 50011. [10] Nirupama Bulusu, Sanjay Jha, Wireless Sensor Networks, ARTECH HOUSE, London (2005) [11] OMNeT++ simulation, http:// www.omnetpp.org. [12] Sensor Network Research Group at Louisiana State University (2/1/2005), “Simulating Wireless Sensor Networks with OMNeT++”. [13] Sam Tran Phu Manh, Applying image processing techniques to simulate a selforganized sensor network for tracking objects, MS Thesis, The University of Houston Clear Lake, 2005. [14] Ivan Stojmenovic, HandBook of Sensor networks – Algorithms and architecture, John Wiley & Sons, Inc., Hoboken, New Jersey, 2005. Nguyễn Trọng Dƣơng - D06VT1
55
Đồ án tốt nghiệp
Tài liệu tham khảo
[15] Miroslaw Kutylowsli, Jacek Cechon, Przemyslaw Kubiak, Algorithmic Aspects of Wireless Sensor Networks, Wroclaw University of Tecnology, Wroclaw, Poland (2008) [16] Robrto Verdone, Davide Dardari, Gianluca Mazzini, Andrea Conti, Wireless sensor and actualtor networks – Technologies, Analysis and Design, John Wiley & Sons, Inc., Hoboken, New Jersey, 2006. [17] Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishna, Energy-Efficient Communication Protocil for Wireless Microsensor Networks, Massachusetts Institute of Technology, Cambridge. [18] Holger Karl, Andreas Willig, Protocols and Architecture for Wireless Sensor Networks, John Wiley & Sons, Inc., Hoboken, New Jersey, 2005.
Nguyễn Trọng Dƣơng - D06VT1
56