Các nút cảm biến công suất thấp phải giữ cho bộ thu phát vô tuyến của nó ở trong trạng thái ngủ nhiều nhất, để đạt mức tiêu thụ năng lượng thấp nhất, nhưng cũng phải thức dậy đủ thường x
Giới thiệu
Mạng cảm biến không dây
Sự phát triển không ngừng của truyền thông không dây và công nghệ cảm biến đã khai sinh ra mạng cảm biến không dây, trong đó có nhiều ứng dụng bao quát tất cả các khía cạnh của đời sống con người Một WSN điển hình thường chứa một số lượng lớn các nút cảm biến, có khả năng cảm nhận thay đổi hoặc đo đạc các thông số vật lý của môi trường xung quanh nút Các nút cảm biến được kết nối không dây để hợp tác chuyển tải các dữ liệu tới một hay một số giới hạn các nút gọi là “sink”, từ đó dữ liệu được thu thập và được gom lại xử lý ở một mức cao hơn theo các mục đích khác Nói chung, các nút cảm biến có kích thước nhỏ và tối ưu chi phí, do đó các nguồn tài nguyên trên nút cảm biến là rất hạn chế Nút cảm biến hay có một tên gọi khác là
“mote”, mang nghĩa mỗi nút như một hạt bụi nhỏ bé trong mạng
Trong phần này, đầu tiên chúng ta sẽ thảo luận về giới hạn tài nguyên phần cứng của nút, sau đó sẽ trình bày sơ lược về vị trí của giao thức MAC trong WSNs, chìa khóa để giải bài toán tối ưu năng lượng cho nút cảm biến
1.1.1 Hạn chế tài nguyên Để quan sát thực tế sự giới hạn tài nguyên của nút cảm biến, chúng ta lựa chọn ba loại nút cảm biến được sử dụng thông dụng trong giới học thuật nghiên cứu về lĩnh vực WSNs, đó là MicaZ mote, Telos B mote và Iris mote như trong hình 1.1
Trang 2 Dựa vào các thông số kỹ thuật được cung cấp của các mote, chúng ta sẽ thảo luận các thông số bao gồm: đơn vị xử lý trung tâm (CPU), bộ nhớ (memory), bộ thu phát vô tuyến (RF tranceiver) và năng lượng tiêu thụ Đơn vị xử lý trung tâm:
Bảng 1.1 cho thấy đặc tính của một số loại CPU sử dụng cho mote, bao gồm cả 8 bit và 16 bit với tốc độ xung nhịp tầm 8 MHz Hiện nay có những bộ vi xử lý sử dụng cho mote có thể hỗ trợ không chỉ một tầm rộng xung nhịp, mà còn hỗ trợ tần số cao và cực cao Ví dụ như bộ vi xử lý 32 bit Intel PXZ271 trên Imote2 mote, hỗ trợ khoảng 13-416MHz Do đó nó có thể đáp ứng cho hầu hết các nhu cầu của các ứng dụng tiềm năng trong tương lai a) MicaZ mote b) Telos B mote c) Iris mote
Hình 1 1: Một số loại nút cảm biến thông dụng Bảng 1 1: Thông số kỹ thuật CPU của các mote [1], [2]
XM2100CB 8 bit, 8 MHz Power consumption
Bảng 1.2 cho thấy thông số của bộ nhớ sử dụng cho các loại mote, kích thước của bộ nhớ flash nói chung là vừa đủ để lưu trữ đoạn mã code của các chương trình ứng dụng đơn giản Nếu phát triển ứng dụng trên nền tảng hệ điều hành Tiny OS
Trang 3 với ngôn ngữ lập trình NesC hoặc nền tảng hệ điều hành Contiki OS với ngôn ngữ C thì kích thước của mã biên dịch chương trình ứng dụng còn có thể giảm thêm
Vấn đề chính của bộ nhớ là dung lượng RAM dành cho xử lý dữ liệu và tác vụ rất ít (ví dụ: 4 Kbytes trên MicaZ hay 10Kbytes trên Telos B) Do đó, các nhà phát triển ứng dụng cho WSNs cần phải nỗ lực hơn nữa để tối ưu hóa chương trình của mình để nhu cầu sử dụng bộ nhớ RAM là tối thiểu
Bảng 1 2: Thông số kỹ thuật bộ nhớ của các mote
RAM 4 Kbytes 4 Kbytes 10 Kbytes 8 Kbytes
Program flash 128 Kbytes 128 Kbytes 48 Kbytes 128 Kbytes
Bộ thu phát vô tuyến:
Bộ thu phát vô tuyến là yếu tố quan trọng nhất trong việc xây dựng WSNs
Các thông số kỹ thuật của CC1100 trên Mica2, CC2420 trên MicaZ và Telos B, và RF230 trên Iris được liệt kê tham khảo trong bảng 1.3 Băng thông được cung cấp bởi các bộ thu phát vô tuyến hoặc là 28.4 kbps, hoặc là 250 kpbs, những giá trị này thực sự rất thấp nếu so sánh với các công nghệ không dây khác như wifi hay wimax
Tuy nhiên băng thông trong hầu hết các ứng dụng WSN được yêu cầu chỉ một phần nhỏ trong số đó, vì thế, băng thông không phải là một vấn đề lớn của WSN Vấn đề lớn ở đây là hiệu năng nghèo nàn về chất lượng liên kết phạm vi truyền dẫn không dây ở môi trường indoor Do đó, việc thiết kế và lựa chọn một giao thức MAC hiệu quả giải quyết được vấn đề ở một mức độ nào đó là một mối quan tâm lớn
Bảng 1 3: Thông số kỹ thuật bộ thu phát vô tuyến của các mote
Radio chip CC1100 CC2420 CC2420 RF230
Trang 4 Bandwidth 38.4 kbps 250 kbps 250 kbps 250 kbps
100 àW sleep 36 mW receive 75 mW transmit
60 àW sleep 63 mW receive 57 mW transmit
60 àW sleep 63 mW receive 57 mW transmit
120 àW sleep 63 mW receive 76 mW transmit
Bảng 1.1 và 1.3 đã cho thấy cá thông số tiêu thụ năng lượng của CPU và bộ thu phát vô tuyến tương ứng của mỗi loại mote Thông thường, một nút cảm biến hoàn toàn tiêu thụ khoảng 100 mW bất cứ khi nó đang hoạt động Nếu nút được trang bị một cặp pin AA (300mAh), nó sẽ hết năng lượng trong khoảng 100h hoặc 5 ngày Rõ ràng là, thời gian sống của nút cảm biến tùy thuộc vào cả CPU và bộ thu phát vô tuyến được bật lên trong bao lâu (tiêu thụ năng lượng trong trạng thái hoạt động là lớn hơn rất nhiều so với trạng thái ngủ) Nếu so sánh các thông số tiêu thụ năng lượng, chúng ta có thể thấy ngay bộ thu phát vô tuyến là thành phần tiêu thụ năng lượng chính trong các nút cảm biến Do đó, kiểm soát hoạt động của bộ thu phát vô tuyến hiệu quả bởi các giao thức ở lớp MAC là vấn đề thiết yếu nhất
Hình 1 2: Vị trí lớp MAC trong mô hình chồng giao thức của WSNs
Tất cả các thảo luận được trình bày ở trên về giới hạn của nút cảm biến nhằm đi tới thống nhất về tầm quan trọng to lớn của việc thiết kế và lựa chọn giao thức MAC cho các ứng dụng trong mạng cảm biến không dây
1.1.2 Giao thức MAC trong WSNs
Trang 5 Lớp MAC trong mạng WSNs là lớp tập hợp các giao thức điều khiển các hoạt động vô tuyến của nút cảm biến, bao gồm các chức năng [3]:
Kiểm soát truyền/nhận tin cậy ở mức frame
Điều khiển đa truy cập vô tuyến
Điều khiển hoạt động thức/ngủ, truyền/nhận thông tin của bộ thu phát sóng vô tuyến trong các nút
Đóng gói các chuỗi bit từ lớp vật lý, kiểm tra lỗi bit
Các phân lớp chức năng con bên trong lớp MAC:
Lớp Sub MAC: Định địa chỉ vật lý của nút, quản lý truyền tin cậy các frame thông tin, điều khiển đa truy cập môi trường truyền tránh đụng độ
Lớp RDC (Radio Duty Cycle): Điều khiển kế hoạch thức/ngủ của bộ thu phát sóng vô tuyến của nút Ví dụ: Giao thức X-MAC
Lớp Framer: đóng gói các khung dữ liệu để truyền đi qua lớp vật lý, phân tích, kiểm tra lỗi các khung dữ liệu nhận được từ lớp vật lý
Hình 1 3: Radio Duty Cycle - RDC
Trong khuôn khổ luận văn này, sẽ tập trung vào nghiên cứu và đánh giá hiệu năng ba giao thức X-MAC, ContikiMAC và BoX-MAC 2 nằm ở lớp MAC, cụ thể là ở phân lớp con RDC – điều khiển hoạt động thức/ngủ của bộ thu phát sóng vô tuyến, có ảnh hưởng lớn nhất tới việc sử dụng năng lượng hiệu quả của các nút
Nhiệm vụ của luận văn
Khi hệ điều hành Contiki OS được phát triển, cùng với Tiny OS trở thành hai hệ điều hành phổ biến nhất cho các nhà phát triển ứng dụng trong lĩnh vực WSNs, giao thức XMAC và ContikiMAC đã được tích hợp sẵn vào hệ điều hành Contiki OS Dựa vào công cụ mô phỏng trực quan trên hệ điều hành Contiki OS, có thể triển khai và đánh giá so sánh hiệu năng giữa ContikiMAC và XMAC Tuy nhiên, giao thức BoXMAC 2 lại chưa được hỗ trợ trên Contiki OS Do vậy, luận văn này sẽ thực hiện thiết kế thuật toán thực thi giao thức BoXMAC 2 để tích hợp vào Contiki OS, từ đó có công cụ để thực hiện các bài đánh giá nhiều tính chất khác nhau để so sánh và kết luận hiệu năng của cả ba giao thức XMAC, ContikiMAC và BoXMAC 2 Nhiệm vụ chính của luận văn sẽ là:
Tìm hiểu về Mạng cảm biến không dây (WSNs)
Xây dựng thuật toán thực hiện giao thức MAC trong WSNs
Triển khai đánh giá hiệu năng các giao thức MAC trên nền tảng hệ điều hành
Contiki OS với công cụ mô phỏng Cooja
Triển khai các giao thức MAC trên test-bed đánh giá các thông số trên thực tế
Kết quả dự kiến đạt được: Thông qua mô phỏng và triển khai thực tế:
Thống kê đủ số liệu để đánh giá hiệu năng của các giao thức MAC trong các mô hình mạng khác nhau
Đưa ra đề xuất khuyến nghị sử dụng các giao thức MAC trong các ứng dụng cụ thể
Ý nghĩa thực tế và phạm vi nghiên cứu
Kết quả thu được của đề tài sẽ đóng góp cho cộng đồng nghiên cứu và phát triển ứng dụng trong lĩnh vực mạng cảm biến không dây hai mục sau:
Giao thức BoXMAC 2 được tích hợp vào hệ điều hành Contiki OS, giúp cho người phát triển ứng dụng có thêm một sự lựa chọn giao thức MAC cho thiết kế nút cảm biến trong ứng dụng của mình Bản thân giao thức BoXMAC 2 có nhiều ưu điểm nổi trội so với các giao thức MAC hiện nay, sẽ giúp tối ưu hóa năng lượng tiêu thụ của nút cảm biến mà vẫn đảm bảo các yêu cầu về QoS của ứng dụng
Kết luận về so sánh hiệu năng ba giao thức trong các đặc trưng mô hình mạng cụ thể sẽ là một thông tin tham khảo có giá trị cao, giúp cho các nhà phát triển ứng dụng lựa chọn đúng giao thức MAC phù hợp với ứng dụng của mình để đạt hiệu năng tốt nhất
Phạm vi nghiên cứu thực hiện của đề tài sẽ bao gồm các nội dung sau:
Tập trung nghiên cứu cơ chế hoạt động của ba giao thức: X-MAC, BoXMAC
Tìm hiểu cấu trúc hệ điều hành Contiki OS
Thiết kế thuật toán để thực hiện giao thức BoXMAC 2 và tích hợp vào hệ điều hành Contiki OS
Thiết kế các chương trình ứng dụng cụ thể để đo đạc các thông số cần đánh giá: năng lượng tiêu thụ (energy consumption), tỉ lệ gửi gói thành công (PDR), độ trể truyền gói tin (latency), và thông lượng của mạng (throughput)
Sử dụng công cụ mô phỏng Cooja trong hệ điều hành Contiki OS để triển khai đánh giá kết quả so sánh hiệu năng các giao thức MAC thông qua mô phỏng
Sử dụng các Tmote Sky để triển khai trên test-bed
Sử dụng phần mềm Excel để hỗ trợ xử lý số liệu, vẽ và phân tích biểu đồ các số liệu thu được phục vụ đánh giá hiệu quả giao thức
Cấu trúc luận văn
Luận văn gồm có 6 chương:
Giới thiệu tổng quan về đề tài luận văn, giúp người đọc có cái nhìn tổng quan về đề tài, những nội dung chính thực hiện trong luận văn và kết quả dự kiến đạt được.
Tổng quan về mạng cảm biến không dây
Giới thiệu
Một mạng cảm biến không dây (WSNs) được cấu thành từ một tập hợp số lượng lớn các nút cảm biến có nhiệm vụ đo đạc các thông số vật lý (như nhiệt độ, áp suất, rung động, áp lực) hay phát hiện sự thay đổi của môi trường, sự vật xung quanh vị trí nó được triển khai, từ đó truyền dữ liệu thu thập được thông qua các kết nối vô tuyến tới một hoặc một số nút trung tâm gọi là “sink” hoặc “coordinator”, nơi mà dữ liệu sẽ được quan sát, phân tích và xử lý Nút trung tâm được coi là điểm cung cấp giao tiếp giữa người dùng và mạng lưới các nút cảm biến Người khai thác mạng cảm biến có thể lấy thông tin cần thiết từ mạng bằng cách gửi yêu cầu vào nút trung tâm bằng kết nối cục bộ trực tiếp hoặc từ xa thông qua mạng internet, sau đó nhận lại kết quả đo đạc từ một nút cảm biến bất kỳ trong mạng trả về cũng thông qua nút trung tâm
Hình 2.1 là một mô hình ví dụ trực quan mô tả về mạng cảm biến không dây
Hình 2 1: Mô hình mạng cảm biến không dây Thông thường, một mạng cảm biến có thể lên tới hàng trăm, hàng ngàn nút cảm biến Một nút cảm biến không dây về cơ bản được trang bị các khối: CPU, bộ nhớ, bộ thu phát vô tuyến, pin và các loại cảm biến theo nhu cầu sử dụng khác nhau Có một đặc trưng chung của tất cả các khối trong nút cảm biến là đều có tài nguyên hạn
Trang 10 chế: bộ xử lý với tốc độ hạn chế, bộ nhớ eo hẹp, bộ thu phát vô tuyến đáp ứng băng thông thấp và một nguồn pin cung cấp hạn chế Sau khi các nút cảm biến được triển khai, chúng có trách nhiệm tự tìm kiếm và tổ chức kết nối tới các nút khác trong hạ tầng mạng để tìm ra cách thức gửi thông tin tới sink qua multi-hop, trước khi bắt đầu nhiệm vụ thu thập, đo đạc thông tin của các cảm biến trang bị trên nó để gửi về trung tâm Các nút cảm biến thường hoạt động theo một trong hai chế độ: chế độ thường xuyên (đo đạc) hay chế độ sự kiện (quan sát, theo dõi) Vị trí của các nút cảm biến trong mạng có thể được xác định thông qua một trong hai tùy chọn đó là sử dụng GPS hoặc sử dụng các thuật toán xác định vị trí cụ bộ
WSNs cho phép khai thác các ứng dụng mới và đòi hỏi các giao thức được thiết kế đơn giản và tối ưu một các phi thường để có thể thích nghi với các hạn chế về tài nguyên phần cứng Do yêu cầu về độ phức tạp của thiết bị thấp, cùng với mức năng lượng tiêu thụ thấp, một sự cân bằng thích hợp giữa khả năng truyền thông tin và khả năng xử lý tín hiệu/dữ liệu cần phải được quyết định, điều này thúc đẩy một nỗ lực rất lớn trong hoạt động nghiên cứu, quá trình chuẩn hóa và đầu tư công nghiệp vào lĩnh vực này kể từ những năm cuối cùng của thập niên 2000 (từ 2009 trở đi) cho tới nay
Một loạt các giao thức kinh điển dành riêng cho lĩnh vực mạng cảm biến không dây có thể kể đến như là ContikiMAC hay BoXMAC ở lớp MAC, RPL hay 6LoWPAN ở lớp mạng, và CoAP hay MQTT ở lớp ứng dụng Song song với đó, các nền tảng hệ điều hành mới dành riêng cho việc phát triển ứng dụng trong mạng cảm biến như Tiny OS hay Contiki OS đã tạo nên một không gian làm việc mở cực kì thuận tiện cho các nhà phát triển, hứa hẹn sẽ tạo ra hệ sinh thái ứng dụng phong phú cho mạng cảm biến không dây.
Các vấn đề thiết kế một mạng cảm biến không dây
Khả năng chịu lỗi (fault tolerance ability): các nút cảm biến thường xuyên được triển khai trong các môi trường chứa đựng nhiều nguy cơ gây nguy hiểm của ngoại cảnh, có thể tác động vào gây lỗi phần cứng hoặc làm nhanh hết nguồn pin của nút
Do vậy, các giao thức được triển khai trong WSNs cần phải có khả năng phát hiện
Trang 11 những lỗi càng sớm càng tốt và đủ mạnh để duy trì các chức năng tổng thể của mạng khi liên lạc tới một nút bất kì bị thất bại Điều này đặc biệt có liên quan đến việc thiết kế các giao thức định tuyến, đó là việc phải luôn đảm bảo rằng có một đường đi thay thế có sẵn để thay đổi định tuyến của gói tin Những môi trường triển khai khác nhau hay những mô hình mạng có đặc trưng khác nhau đặt ra các yêu cầu về khả năng chịu lỗi khác nhau
Khả năng mở rộng (scalability): mạng cảm biến có quy mô khác nhau, có thể từ vài nút tới vài trăm hoặc lên tới cả ngàn nút cảm biến, ngoài ra, mật độ triển khai cũng luôn luôn biến đổi Để có thể thu thập dữ liệu có độ phân giải cao, mỗi nút cảm biến có thể đặt đến mức mà có vài chục tới vài trăm nút lân cận trong phạm vi truyền nhận của nó Các giao thức được triển khai trong mạng cảm biến cần phải có khả năng mở rộng đến mức có thể đáp ứng được các trường hợp trên mà vẫn đảm bảo QoS cho mạng
Chi phí sản xuất (production costs): do có nhiều mô hình triển khai xem xét các nút cảm biến là các thiết bị chỉ dùng một lần, không sử dụng lại, nên để mạng cảm biến có thể cạnh tranh với các phương pháp thu thập thông tin truyền thống chỉ khi các nút cảm biến có thể được sản xuất với giá rẻ, lý tưởng là dưới 10$ cho một nút cảm biến
Những hạn chế phần cứng (hardware constraints): tối thiểu, các nút cảm biến cần phải có một đơn vị xử lý, một cảm biến, một bộ thu phát vô tuyến và một nguồn điện cung cấp năng lượng Các tùy chọn khác có thể bổ sung thêm cho nút nhiều loại cảm biến hơn theo nhu cầu cần đo đạc hoặc có thể là cả hệ thống định vị GPS Tuy nhiên, các chức năng bổ sung sẽ đi kèm với chi phí bổ sung và làm tăng mức tiêu thụ năng lượng, kích thước vật lý của nút Như vậy, chức năng bổ sung cần phải luôn luôn được cân đối với yêu cầu chi phí và tiêu tốn năng lượng thấp
Môi trường truyền thông (transmission media): thông tin liên lạc giữa các nút cảm biến thường được sử dụng thông tin vô tuyến trên các băng tần ISM phổ biến
Tuy nhiên, một số mạng cảm biến sử dụng truyền thông quang học hoặc hồng ngoại sau này sẽ có lợi thế cạnh tranh mạnh mẽ vì ưu thế miễn ảnh hưởng của can nhiễu
Năng lượng tiêu thụ (energy consumption): như chúng ta đã thấy, rất nhiều những thách thức của mạng cảm biến xoay quanh các nguồn lực hạn chế Các phần mềm và phần cứng thiết kế cần phải xem xét các vấn đề sử dụng năng lượng hiệu quả Ví dụ, nén dữ liệu có thể làm giảm khối lượng xử lý cho bộ thu phát vô tuyến nhưng lại tăng năng lượng cho bộ vi xử lý tính toán thuật toán nén/giải nén Các quy định về sử dụng năng lượng cũng thay đổi tùy theo ứng dụng, trong một số ứng dụng, có thể chấp nhận tắt một tập hợp các nút để tiết kiệm năng lượng, nhưng trong một số ứng dụng khác đòi hỏi tất cả các nút phải hoạt động đồng thời.
Cấu trúc của nút cảm biến
Một nút cảm biến được tạo thành từ bốn khối cơ bản: bộ vi xử lý, đơn vị cảm biến, bộ thu phát vô tuyến và nguồn điện, được thể hiện trong hình 2.2
Hình 2 2: Các thành phần tạo nên một nút cảm biến
Trang 13 Đơn vị cảm biến thường bao gồm hai khối nhỏ là các biến tương tự và bộ chuyển đổi tín hiệu tương tự sang tín hiệu số (ADC) Bộ xử lý thường được liên kết với đơn vị bộ nhớ để quản lý chương trình hoạt động của nút cảm biến thực hiện các nhiệm vụ được giao Bộ thu phát vô tuyến chịu trách nhiệm liên lạc và kết nối tới các nút khác trong mạng Và cuối cùng, bộ cung cấp năng lượng cho nút thường là hai viên pin AA có dung lượng 3000mAh hoặc hơn Ngoài các khối cơ bản, mỗi nút còn có thể có các khối bổ sung như bộ định vị (GPS), bộ phát năng lượng (có thể là bộ tạo năng lượng từ pin mặt trời), và bộ di động
Sơ đồ khối chức năng của một nút cảm biến không dây được cung cấp tiếp trong hình 2.3, Phương pháp thiết kế theo module cung cấp một nền tảng linh hoạt và đa năng để giải quyết nhu cầu của các ứng dụng khác nhau Ví dụ, tùy thuộc vào các loại cảm biến được triển khai, khối điều hòa tín hiệu có thể được tái lập trình hoặc thay thế, điều này cho phép một loạt các loại cảm biến khác nhau có thể gắn vào nút cảm biến Tương tự như vậy, các kết nối vô tuyến có thể được thay đổi phục vụ cho việc mở rộng hoặc thu hẹp phạm vi liên lạc không dây cho ứng dụng, hoặc cho thông tin liên lạc hai chiều
Hình 2 3: Sơ đồ khối chức năng của một nút cảm biến Sử dụng bộ nhớ flash, nút cảm biến có thể lưu lại các số liệu đo đạc hoặc nhật ký các sự kiện mà nó cảm biến được, để các nút trung tâm có thể truy vấn dữ liệu khi cần thiết Ngoài ra, chức năng nâng cấp phần mềm nhúng có thể được thực hiện thông
Trang 14 qua giao diện vô tuyến (over the air – OTA) khi bộ nhớ flash của nút sẵn sàng đáp ứng dụng lượng của gói phần mềm nâng cấp, đây là một chức năng rất tiện lợi, khi mà các nút được triển khai hầu như một lần duy nhất để hoạt động chứ không khả thi khi thu hồi nút về để nâng cấp phần mềm
Bộ vi xử lý có một số chức năng bao gồm:
Quản lý, thu thập dữ liệu từ các cảm biến
Thực hiện chức năng quản lý sử dụng năng lượng
Quản lý và thực thi các giao thức mạng vô tuyến
Các bộ thu phát vô tuyến là nguồn tiêu tốn năng lượng nhiều nhất, do đó, dữ liệu được gửi qua mạng vô tuyến chỉ khi nó là thực sự cần thiết Một thuật toán được nạp vào nút để xác định khi nào nên gửi dữ liệu, khi nào nên thức dậy để nhận dữ liệu dựa trên các cảm nhận về sóng mang vô tuyến trong môi trường, thuật toán đó gọi là giao thức MAC Các khối phần cứng cần được thiết kế để cho phép bộ vi xử lý kiểm soát toàn bộ các hoạt động tiêu tốn năng lượng của bộ thu phát vô tuyến, cảm biến và bộ điều hòa cảm biến.
Các mô hình triển khai mạng cảm biến không dây
Cấu trúc của một mạng cảm biến không dây bao gồm các cấu trúc liên kết khác nhau giữa các nút cảm biến vô tuyến Các topo mạng được áp dụng cho WSNs được mô tả dưới đây:
Mạng hình sao là cấu trúc liên kết mà trong đó nút trung tâm có thể thông tin với tất cả các nút cảm biến, các nút cảm biến không được phép thông tin với nhau
Topo này được sử dụng cho các mạng đơn giản, ưu điểm là các nút cảm biến tiêu thụ năng lượng được giữ ở mức tối thiểu, độ trể truyền tin thấp Tuy nhiên, nhược điểm của topo này là nút trung tâm phải đặt trong phạm vi truyền dẫn vô tuyến của tất cả các nút cảm biến, tất cả hoạt động mạng phụ thuộc vào nút trung tâm nên dễ bị tổn thương
Trang 15 Mạng hình lưới cho phép nút có thể truyền thông tin tới bất kì nút nào nằm trong phạm vi truyền dẫn vô tuyến của nó Điều này cho phép truyền thông multi-hop, có nghĩa là, khi một nút muốn truyền dữ liệu tới đích đến nằm ngoài tầm của nó, một nút trung gian sẽ được lựa chọn để hỗ trợ chuyển tiếp dữ liệu tới nút mong muốn Ưu điểm của topo mạng này là khả năng mở rộng mạng mà không phụ thuộc vị trí của nút trung tâm Nhược điểm của topo mạng này là tiêu tốn năng lượng của các nút trung gian dành cho hoạt động chuyển tiếp dữ liệu, và độ trễ truyền thông tin end-to-end
2.4.3 Mô hình cây và cụm
Một mô hình hỗn hợp giữa hình sao và hình lưới cung cấp một mạng lưới mạnh mẽ và linh hoạt, trong khi vẫn duy trì khả năng giữ năng lượng tiêu thụ của nút ở mức tối thiểu Trong cấu trúc liên kết mạng lưới này, các nút cảm biến với yêu cầu tiết kiệm năng lượng nhất không được kích hoạt chức năng chuyển tiếp dữ liệu, gọi là các nút RFD (recuded-function device), các nút còn lại được kích hoạt chức năng chuyển tiếp dữ liệu gọi là FFD (full-function device) Nói chung, các nút FFD sẽ được ưu tiên cao hơn về cung cấp năng lượng Đây là cấu trúc mạng lưới chuẩn hóa được biết đến với tên gọi là Zigbee
Hình 2 4: Các mô hình mạng sử dụng trong WSNs a) mô hình sao; b) mô hình lưới; c) mô hình cây-cụm
Phân lớp giao thức trong mạng cảm biến không dây
Hình 2.5 mô tả về phần lớp chồng giao thức trong WSNs, được chia làm 5 lớp đó là: Lớp vật lý, lớp liên kết dữ liệu (lớp MAC), lớp mạng, lớp giao vận và lớp ứng dụng Nếu phân chia theo mặt phẳng chức năng quản lý, WSNs được chia làm 3 mặt phẳng: quản lý công việc, quản lý kết nối di động và quản lý năng lượng
Hình 2 5: Mô hình chồng giao thức của WSNs
Lớp vật lý: chuyển đổi dòng bit từ lớp liên kết dữ liệu thành các tín hiệu thích hợp để truyền trên kết nối vô tuyến, và ngược lại, nhận các tín hiệu vô tuyến và chuyển thành dòng bit gửi lên lớp liên kết dữ liệu
Lựa chọn tần số, khởi tạo tần số sóng mang, phát hiện tín hiệu, điều chế và mã hóa tín hiệu
Các băng tần ISM được sử dụng rộng rãi cho WSNs, thông dụng nhất là băng tần 2.45 GHz Gần đây, băng tần 915 MHz cũng đã bắt đầu được đề xuất triển khai rộng rãi, và là một băng tần hấp dẫn bởi: công suất truyền thấp, mạch đơn giản, giảm nhiễu vì sử dụng điều chế xung, và khả năng khôi phục tín hiệu đa đường
Điều chế phụ thuộc vào bộ thu phát và hạn chế phần cứng, nhằm mục đích đơn giản, tiêu thụ điện năng thấp, và chi phí thấp Do vậy, điều chế nhị phân BPSK được coi là đơn giản và đạt hiệu quả năng lượng tốt
Lớp liên kết dữ liệu: Được thiết kế tuân theo các nguyên tắc sau:
Ghép kênh, phát hiện khung, truy cập khung và kiểm soát lỗi dữ liệu Nó đảm bảo truyền tin cậy điểm-tới-điểm và kết nối điểm-tới-đa-điểm trong giao tiếp
Các giao thức MAC thuộc lớp liên kết dữ liệu có nhiệm vụ thiết lập liên kết truyền thông để truyền dữ liệu trong mạng cảm biến không dây đa hop tự tổ chức Đây là cấu trúc hạ tầng cơ bản của WSNs
Giao thức MAC phải công bằng và hiệu quả trong việc chia sẻ nguồn lực thông tin liên lạc giữa các nút cảm biến Trong trường hợp có nhiễu, hoặc nút cảm biến di động, giao thức MAC cần phải nhận biết được công suất sóng mang để có khả năng giảm thiểu va chạm vô tuyến với các nút lân cận
Các tính năng chính của giao thức MAC là thiết lập kế hoạch nút ngủ/lắng nghe định kỳ, tránh va chạm và nghe lén
Số lượng các mode hoạt động của nút cảm biến phụ thuộc vào trạng thái của bộ xử lý, bộ nhớ, bộ thu phát, bộ chuyển đổi A/D
Cơ chế Forward Error Correction (FEC) thì khả thi hơn Automatic Repeat
Các giao thức có thể kể đến ở lớp liên kết dữ liệu như: CSMA, XMAC, BoXMAC 2, ContikiMAC, v.v…
Lớp mạng: Quan tâm về định tuyến các gói dữ liệu được chuyển xuống từ lớp giao vận Các giao thức lớp mạng được thiết kế tuân theo các nguyên tắc:
Hiệu quả năng lượng luôn là một yếu tố quan trọng, các đường đi đạt hiệu quả năng lượng là các đường đi với công suất có sẵn tối đa, đường đi với mức năng lượng tiêu thụ tối thiểu, đường đi qua số hop ít nhất
Đặc thù mạng cảm biến chủ yếu là thu thập dữ liệu từ nút cảm biến gửi về trung tâm theo định kì, theo sự kiện hay theo yêu cầu từ nút trung tâm Do vậy, cơ chế phát broadcast cần được tận dụng, nút trung tâm phát quảng bá các yêu cầu và thông tin mà nó có sẵn, các nút FFD chuyển tiếp thông tin quảng bá
Sau đó nút trung tâm chờ và nhận dữ liệu từ các nút cảm biến mà nó quan tâm
Để tối ưu số lần khởi tạo kết nối và truyền dữ liệu của các nút chuyển tiếp, trong một khoảng thời gian nhất định, dữ liệu cần được gom từ nhiều nút vào một hình thức nhỏ gọn hơn trước khi chuyển tiếp nó tới nút trung tâm để xử lý
Các giao thức ở lớp mạng như: RPL, 6LowPAN
Lớp giao vận: duy trì dòng chảy của dữ liệu mà lớp ứng dụng giao cho nó
Các giao thức điều khiển truyền tải (transmission control protocol – TCP) cần phải được chia thành hai thành phần, một kết nối WSNs tới mạng khác như internet, một kết nối các nút trung tâm tới các nút cảm biến
Các giao thức lớp giao vận như: UDP, ICMP
Lớp ứng dụng: Tùy thuộc vào nhiệm vụ của cảm biến, các phần mềm ứng dụng khác nhau có thể được xây dựng và sử dụng trên lớp ứng dụng Các giao thức này làm cho phần cứng và phần mềm của lớp thấp hơn trở nên trong suốt để người quản trị hệ thống có thể sử dụng, chỉnh sửa và cài đặt Các giao thức ở lớp ứng dụng như CoAP, MQTT, SMP, TADAP v.v…
Mặt phẳng quản lý năng lượng, kết nối, di động và công việc:
Khi năng lượng của một nút cảm biến bắt đầu thấp dưới ngưỡng, nó phát thông tin cho nút lân cận rằng nó không thể tham gia vào các thông điệp định tuyến Điều này được quản lý bởi mặt phẳng quản lý năng lượng
Mặt phẳng quản lý kết nối và di động dò tìm và ghi nhận chuyển động của các nút cảm biến Các nút cảm biến có thể theo dõi và nhận biết các nút lân cận của nó là ai
Giao thức MAC trong mạng cảm biến không dây
Giới thiệu về lớp MAC
Lớp liên kết dữ liệu trong mô hình năm lớp của WSNs còn được gọi với tên gọi phổ biến là lớp MAC, vì trọng tâm của lớp này tập trung vào các giao thức điều khiển truy cập môi trường truyền trong mạng vô tuyến Lớp MAC là một phân lớp chính quyết định độ tin cậy và hiệu quả truyền thông tin trong WSNs Lớp MAC quản lý cơ chế đa truy cập, quản lý hoạt động thức/ngủ, truyền/nhận gói tin của bộ thu phát vô tuyến và kiểm soát luồng, kiểm soát lỗi ở mức frame Ở phần này sẽ trình bày những thách thức khi thiết kế và lựa chọn giao thức MAC, quản lý tối ưu năng lượng của nút cảm biến theo cơ chế chu kỳ nhiệm vụ, và phân loại các giao thức MAC
3.1.1 Những thách thức khi thiết kế và lựa chọn giao thức MAC
Trong nhiều WSNs, nút cảm biến thường sử dụng pin không sạc lại, và cũng phải cực kỳ hạn chế thay thế pin Do đó, nhiệm vụ quan trọng nhất là làm cho các nút cảm biến tiết kiệm năng lượng càng nhiều càng tốt Như đã trình bày trong phần 1.1, bộ thu phát vô tuyến là phần tiêu tốn năng lượng nhất, và quản lý được hoạt động của bộ thu phát vô tuyến hiệu quả sẽ tiết kiệm được năng lượng đáng kể, và đây là nhiệm vụ của các giao thức MAC Tối ưu năng lượng là mục đích chính, nhưng bên cạnh đó, các giao thức MAC xem xét một tập hợp các thuộc tính hiệu suất, và xem xét sự cân bằng và đánh đổi giữa thuộc tính này và thuộc tính khác khi cần thiết
Các yêu cầu quan trọng nhất về thiết kế và lựa chọn giao thức MAC sử dụng cho các ứng dụng WSNs được thảo luận dưới đây:
Tránh va chạm là nhiệm vụ chủ yếu và là thuộc tính vốn có của tất cả các giao thức MAC Các giao thức MAC cần phải xác định khi nào và làm thế nào để các nút có thể truy cập vào môi trường truyền để gửi và nhận dữ liệu Tuy nhiên, những va chạm trong giao tiếp không dây không thể hoàn toàn được tránh
Trang 22 khỏi khi hoạt động thường xuyên, do đó, các giao thức MAC được thiết kế để giảm tối thiểu va chạm và cam kết va chạm ở dưới một mức nào đó
Sử dụng năng lượng hiệu quả là nhiệm vụ chính thứ hai của các giao thức
MAC Các bộ thu phát vô tuyến là khối tiêu tốn năng lượng của nút nhiều nhất, đặc biệt là khi phải truyền ở tầm xa hoặc phải thức toàn bộ thời gian để lắng nghe vô tuyến Nhiệm vụ của giao thức MAC là giữ cho bộ thu phát vô tuyến ở trạng thái ngủ bất cứ khi nào nhàn rỗi, hạn chế đụng độ và truyền tải những gói tin không cần thiết, và cuối cùng là phải hạn chế ở mức thấp nhất quá trình chuyển đổi qua lại giữa trạng thái thức và ngủ
Giảm trể truyền tin là giảm thiểu thời gian cần thiết để chuyển một gói tin từ nơi gửi cho tới nơi nhận thành công Trong WSNs, độ trể hop-to-hop phụ thuộc vào giao thức MAC, trong khi độ trể end-to-end còn phụ thuộc nhiều hơn vào các giao thức lớp mạng và lớp giao vận Do vậy, để đảm bảo độ trể end-to-end khi chuyển tiếp gói tin qua nhiều nút mạng, các giao thức MAC cần lưu ý để giảm độ trể hop-to-hop để có thể chủ động cho các giao thức lớp trên Độ tin cậy là một mục tiêu thiết kế cổ điển cho tất cả các loại mạng Các yêu cầu về độ tin cậy trong WSNs là khó khăn hơn so với các mạng không dây khác vì nó phải đảm bảo trong môi trường không dây cho các thiết bị có nguồn lực hạn chế Trong các mạng không dây như wifi hay wimax, nguyên nhân của việc mất gói chỉ có thể do tràn bộ đệm hoặc do nhiễu tín hiệu Tràn bộ đệm có thể được kiểm soát bằng cơ chế kiểm soát thông tin bộ đệm, lớp MAC trong WSNs cũng có thể áp dụng cơ chế này Tuy nhiên nhiễu tín hiệu bình thường được giải quyết bằng việc tăng công suất phát để tăng SNR, thì ở WSNs không thể sử dụng được vì nguồn lực hạn chế và tiết kiệm năng lượng, thay vào đó, giao thức MAC sẽ phải tính toán chi tiết hơn để hạn chế nhiễu từ các nút lân cận với cơ chế CSMA/CA
Khả năng mở rộng và khả năng thích ứng được với các yêu cầu liên quan tới thay đổi về kích thước mạng, mật độ nút và topo mạng Trong WSNs, những thay đổi này thường xuyên xảy ra vì nút có thể hết pin, mạng bổ sung thêm nút
Trang 23 mới, các kết nối không dây đa dạng và nhiều can nhiễu Một giao thức MAC tốt phải kiểm soát được những thay đổi mạng lưới như vậy, phải tạo được liên lạc vô tuyến với tất cả các nút lân cận
Thông lượng là lượng dữ liệu được chuyển thành công từ nơi gửi tới nơi nhận trong một khoảng thời gian nhất định Nhiều yếu cố ảnh hướng tới thông lượng trong WSNs bao gồm hiệu quả của việc tránh va chạm, độ trễ, hiệu suất sử dụng kênh và kiểm soát overhead Cũng giống như độ trễ, thông lượng phụ thuộc vào nhiều lớp giao thức, các giao thức MAC cần phải được xem xét thỏa hiệp với các giao thức ở lớp khác trong thiết kế tổng thể
Tính công bằng phản ánh khả năng các nút hoặc các ứng dụng khác nhau chia sẽ tài nguyên kết nối mạng như nhau Trong WSNs, tập hợp các nút kết hợp cho một nhiệm vụ chung, trong một số thời điểm, một nút bất kì sẽ gửi dữ liệu nhiều hơn các nút còn lại, thay vì xử lý công bằng, việc ưu tiên cho nút có nhiều dữ liệu là cần thiết để thực hiện tốt các ứng dụng quan trọng Các giao thức MAC đồng bộ không đáp ứng được yêu cầu này, ngược lại, các giao thức MAC bất đồng bộ có thể đáp ứng linh động được Tính công bằng không phải là một vấn đề ưu tiên nổi trội trong thiết kế giao thức MAC
3.1.1.2 Sử dụng năng lượng hiệu quả
Như đã trình bày rất chi tiết trong các phần trước về tầm quan trọng của giao thức MAC trong việc quản lý sử dụng năng lượng hiệu quả Để sử dụng năng lượng hiệu quả ở lớp MAC, ở phần này, chúng ta xem xét các nguồn gây lãng phí năng lượng làm cho pin của nút cảm biến thất thoát nhanh, danh sách các nguồn gây tiêu tốn năng lượng được giải quyết trong thiết kế giao thức MAC được đề cập ở dưới đây:
Va chạm các gói tin (packet collision) là nguyên nhân chiếm ưu thế nhất về lãng phí năng lượng, đặc biệt là trong các giao tiếp không dây Sự va chạm xảy ra khi hai hoặc nhiều hơn các gói tin được truyền cùng thời điểm, sau đó bị lỗi và phải được loại bỏ Và hiển nhiên, sự truyền lại của các gói tin bị đụng độ làm tiêu tốn năng lượng đáng kể
Lắng nghe không mong muốn (packet overhearing) được định nghĩa là một nút nhận được các gói tin mà đích đến không phải là nó Việc các nút phải lắng nghe vô ích cũng là một nguyên nhân chính gây lãng phí năng lượng trong các môi trường mạng tải cao hoặc mật độ nút giày đặc
Lắng nghe nhàn rỗi (idle listening) đề cập tới những lãng phí gây ra của việc giữ cho bộ thu phát vô tuyến được bật cảm biến sóng mang mà không làm gì và không thu được bất cứ thông tin gì trên mạng Trong WSNs, bộ thu phát vô tuyến có bốn chế độ hoạt động: lắng nghe nhàn rỗi, truyền gói tin, nhận gói tin và ngủ
Các phép đo cho thấy trạng thái lắng nghe nhàn rỗi tiêu tốn năng lượng khá nhiều, vậy nên mục tiêu là giữ cho bộ thu phát vô tuyến ngủ nhiều nhất có thể, chứ không phải là ba trạng thái kia Tuy nhiên, việc thường xuyên chuyển đổi từ trạng thái này sang trạng thái kia, đặc biệt là chuyển đổi từ chế độ ngủ sang chế độ hoạt động cũng dẫn đến tiêu tốn nhiều năng lượng hơn là giữ trạng thái lắng nghe nhàn rỗi Các giao thức MAC được yêu cầu là nên tránh việc chuyển đổi qua lại giữa các trạng thái này một cách liên tục
Giao thức XMAC
Giao thức XMAC được đề xuất bởi nhóm các nhà nghiên cứu thuộc trường Đại học Colorado, Boulder, USA Đây là một giao thức MAC thuộc nhóm bất đồng bộ, phía phát thiết lập truyền [8]
Trước khi đi vào chi tiết hoạt động của giao thức XMAC, chúng ta sẽ phân tích nhược điểm của giao thức BMAC để hiểu ý tưởng cải tiến trong XMAC Hình 3.6 mô tả timeline hoạt động của cả hai giao thức BMAC và XMAC
Hình 3 6: Timeline mô tả giao thức BMAC và XMAC
3.2.1 Phân tích nhược điểm giao thức BMAC
Thứ nhất, Rx thường xuyên phải chờ nhận hết chuỗi preamble trước khi có thể thực hiện nhận dữ liệu, mặc dù có thể Rx đã thức dậy ngay từ đầu chuỗi đánh thức,
Trang 32 điều này làm tốn năng lượng vô ích tại Tx khi vẫn phải phát hết preamble, và tại Rx khi thức dậy và chờ một thời gian khá lâu Tiếp theo đó, khi Tx phát chuỗi preamble, các nút nằm lân cận trong tầm phát của Tx bị đánh thức không mong muốn và phải chờ tới hết chuỗi preamble mới nhận ra mình không phải là đích đến của gói tin mới được quay trở về trạng thái ngủ, điều này làm tốn năng lượng các nút lân cận Tx lắng nghe vô ích Khi lưu lượng mạng tăng thì sự ảnh hưởng này có thể làm cho nút cảm biến luôn luôn ở trạng thái thức và lắng nghe kênh truyền
Và cuối cùng, cũng vì cả Tx và Rx phải chờ hết chuỗi preamble mới thực hiện truyền nhận dữ liệu, nên độ trể hop-to-hop tăng lên đáng kể
3.2.2 Ý tưởng cải tiến BMAC của giao thức XMAC
Giao thức XMAC sẽ thay thế một chuỗi preamble dài bằng các chuỗi preamble ngắn Các chuỗi preamble ngắn được phát nhấp nháy liên tục để cố gắng đánh thức Rx ngay khi Rx thức dậy và lắng nghe trạng thái kênh truyền Khi sử dụng các chuỗi preamble ngắn, năng lượng tiêu tốn cho phát chuỗi preamble ở Tx sẽ giảm bớt đáng kể
Tiếp theo, địa chỉ của đích đến (Rx) sẽ được chèn vào ngay trong các chuỗi preamble Với việc đưa địa chỉ đích đến Rx vào chuỗi preamble, ngay khi nhận hết chuỗi preamble và phân tích địa chỉ đích đến gửi kèm trong đó, Rx sẽ báo ACK để Tx ngừng phát preamble và chuyển sang phát chuỗi dữ liệu cần gửi, qua đó giải quyết được các vấn đề: Giảm độ trể truyền tin đáng kể, giảm năng lượng tiêu tốn ở cả Tx và Rx vì không phải phát thêm chuỗi preamble khi cả Tx và Rx đều đã sẵn sàng truyền và nhận, các nút lân cận sẽ tránh được quá trình lắng nghe không mong muốn vì phát hiện sớm nút không phải là đích đến của gói tin để nhanh chóng quay lại trạng thái ngủ
3.2.3 Thiết kế của giao thức XMAC
Thiết kế chuỗi preamble ngắn
Hình 3.7 thể hiện cơ chế Tx gửi các chuỗi preamble ngắn, để đảm bảo bất cứ khi nào Rx thức dậy đều có thể nhìn thấy chuỗi preamble nhanh nhất, thời gian Rx thức dậy và lắng nghe trạng thái kênh truyền phải lớn hơn khoảng thời gian Tx
Trang 33 phát xong hai chuỗi preamble liên tiếp Nếu Rx thức dậy đúng trong lúc Tx phát preamble thì nó sẽ không nhận ra được chuỗi preamble đó mà phải chờ tới chuỗi kế sau đó (Rx1), hoặc nếu Rx thức dậy ở thời điểm giữa hai preamble thì nó sẽ nhận được chuỗi preamble ngay (Rx2)
Hình 3 7: Thiết kế thời gian XMAC-Rx lắng nghe kênh truyền Để đảm bảo Tx không gửi tiếp chuỗi preamble khi chờ Rx gửi ACK sau khi đã nhận thành công chuỗi preamble, khoảng thời gian giữa hai lần Tx phát chuỗi preamble phải lớn hơn thời gian Rx kiểm tra chuỗi preamble nhận được và báo ACK
Hình 3 8: Thiết kế thời gian giữa hai chuỗi preamble XMAC-Tx
Chèn địa chỉ của Tx và Rx vào chuỗi preamble
Chuỗi preamble lúc này có thể coi đơn giản như là một chuỗi dữ liệu bình thường truyền ở lớp MAC, chỉ khác ở chức năng thực sự của nó là báo hiệu chứ không phải là một chuỗi dữ liệu có ích từ các lớp trên của WSNs
Trang 34 Dựa vào cấu trúc khung quy định của lớp MAC theo chuẩn IEEE 802.15.4:
Hình 3 9: Cấu trúc khung của lớp MAC theo chuẩn IEEE 802.15.4 Một chuỗi preamble sẽ có nội dung tương tự như khung bên dưới:
Hình 3 10: Ví dụ một chuỗi preamble của XMAC Ví dụ nút có địa chỉ là ABCD/0012:7406:0006:0606 gửi chuỗi preamble đánh thức nút có địa chỉ là 5: ABCD/0012:7405:0005:0505
Gửi và nhận các gói tin dạng quảng bá Đối với các gói tin quảng bá, Tx không cần phát các chuỗi preamble mà phát lặp lại liên tục các gói tin quảng bá với số lượng và thời gian đủ lâu để tất cả các nút lân cận với Tx trong mạng đều có thể nhận được lúc thức dậy lắng nghe kênh truyền theo chu kỳ Các nút Rx nhận được các gói quảng bá thì không cần báo ACK cho phía Tx
Với các ý tưởng thiết kế được trình bày ở trên, giao thức XMAC đã khắc phục được tất cả các tồn tại của giao thức BMAC Trong một thời gian dài, giao thức
Trang 35 XMAC được lựa chọn là giao thức phổ biến nhất trong cộng đồng phát triển ứng dụng trong lĩnh vực WSNs
Tuy nhiên, giao thức XMAC vẫn có một số hạn chế có thể kể đến, thứ nhất, vì ràng buộc phải đảm bảo nhận gói preamble gần nhất từ khi thức dậy, thời gian lắng nghe kênh truyền theo chu kỳ của máy thu XMAC là khá dài và tiêu tốn nhiều năng lượng cho duy trì lắng nghe VD: Chip CC2420 chạy giao thức XMAC có thời gian lắng nghe kênh truyền mỗi chu kỳ là 6.25ms
Bên cạnh đó, quá trình thiết lập truyền phải thông qua bước bắt tay giữa Tx và Rx, nếu Rx nhận được preamble nhưng gửi lại ACK bị lỗi vì một lý do nào đó như hình 3.11 thì Tx và Rx vẫn chưa bắt tay thành công để thiết lập truyền và Tx phải phát thêm một chuỗi preamble làm tăng độ trễ, tiêu tốn thêm năng lượng Mặt khác chuỗi preamble truyền như một khung dữ liệu, nhưng lại không mang dữ liệu thực sự từ lớp trên, do đó thông lượng thực sự của giao thức XMAC không cao
Giao thức ContikiMAC
Giao thức ContikiMAC được đề xuất bởi Tiến sĩ Adam Dunkels, là một nhà khoa học nổi tiếng bậc nhất trong lĩnh vực WSNs, cha đẻ của hệ điều hành Contiki OS, [9]
Hình 3 12: Timeline mô tả giao thức ContikiMAC ContikiMAC cũng là một giao thức MAC thuộc nhóm bất đồng bộ và phía phát thiết lập truyền, sử dụng cơ chế nút cảm biến thức dậy định kỳ để lắng nghe và nhận gói dữ liệu từ các nút lân cận Nếu gói tin được phát hiện khi Rx đã thức dậy, nó sẽ chờ và nhận gói tin Khi gói tin nhận thành công, Rx sẽ gửi lại ACK xác nhận cho Tx Để truyền tải một gói tin, Tx sẽ truyền lặp đi lặp lại thật nhiều lần gói tin đó cho đến khi nhận được ACK từ Rx mong muốn
Trang 37 Các gói tin được gửi dạng quảng bá thì không cần Rx báo ACK, thay vào đó Tx sẽ gửi lặp lại trong một khoảng thời gian đủ dài để đảm bảo tất cả các nút lân cận của nó nhận được
Hình 3 13: Gửi quảng bá trong giao thức ContikiMAC Các mục tiếp theo sẽ trình bày chi tiết các cơ chế của giao thức ContikiMAC
ContikiMAC cảm biến hoạt động của kênh truyền thông qua đánh giá truyền sạch (Clear Channel Assessmen – CCA) CCA dựa vào chỉ số cường độ tín hiệu thu được (Received Signal Strentgh Indicator - RSSI) tại máy thu để nhận định kênh truyền đang sạch hay đang có dấu hiệu hoạt động truyền thông tin trên đó
Nếu RSSI dưới một ngưỡng nhất định, CCA trả về giá trị “positive”, đánh giá rằng kênh truyền đang sạch
Nếu RSSI lớn hơn hoặc bằng một ngưỡng nhất định, CCA trả về giá trị
“negative”, đánh giá rằng kênh truyền đang được sử dụng Định nghĩa các tham số thời gian trong giao thức ContikiMAC: t i Thời gian giữa hai lần truyền lặp lại gói tin t r Thời gian cần thiết để RSSI trả về giá trị ổn định t c Thời gian giữa mỗi CCA
Trang 38 t a Thời gian để Rx nhận gói tin, kiểm tra và thừa nhận thành công t d Thời gian để Tx nhận ra gói ACK t s Thời gian truyền một gói tin có kích thước ngắn nhất
Hình 3 14: Định thời trong giao thức ContikiMAC Các yêu cầu về ràng buộc thời gian như sau: t i < t c Để đảm bảo rằng giữa hai lần Rx thức dậy và lắng nghe kênh truyền thì một trong hai CCA có thể phát hiện được gói tin Nếu tc nhỏ hơn ti, sẽ xảy ra trường hợp cả hai CCA lọt vào khoảng thời gian nghỉ giữa hai lần truyền lặp lại gói tin ở Tx và Rx không thể phát hiện được Sự ràng buộc của ti và tc dẫn tới yêu cầu về kích thước gói tối thiểu mà ContikiMAC có thể hỗ trợ t s > t c +2t r Để hai CCA có thể phát hiện được gói tin, bắt buộc kích thước gói tin tối thiểu phải lớn hơn hai CCA Nếu ts < tc + 2tr, trong nhiều trường hợp gói tin sẽ lọt vào giữa hai lần CCA và Rx cũng không phát hiện được
Trang 39 t a +t d < t i Khi Rx phát hiện được một gói tin đang gửi tới, nó sẽ duy trì bộ thu phát vô tuyến để nhận toàn bộ gói tin Sau đó báo ACK lại cho Tx để xác nhận thành công Để Tx không truyền lặp lại thêm gói tin khi Rx đã nhận thành công, thời gian tính từ lúc Rx nhận xong gói tin tới lúc Tx phát hiện ra gói ACK phải nhỏ hơn thời gian giữa hai lần Tx truyền lặp lại gói tin
Kết hợp tất cả các điều kiện ta có ràng buộc thời gian cho giao thức ContikiMAC như sau: ta + td < ti < tc < tc + 2tr < ts (3.1)
Trong quy định của chuẩn IEEE 802.15.4:
4/250 ms Thời gian của một symbol (4 bit) t a Thời gian để Rx nhận gói tin và thừa nhận thành công là 12 symbols
= 12 * 4/250 ms = 0.192 ms t d Thời gian để Tx nhận ra gói ACK là 4 bytes chuỗi preamble + 1 byte bắt đầu khung = 40 bytes = 40/250 ms = 0.16 ms Theo đặc tính kỹ thuật của bộ thu phát vô tuyến CC2420, thời gian để thực hiện một đánh giá CCA là t r = 0.192 ms:
Ràng buộc thời gian của giao thức ContikiMAC chạy trên chip CC2420 được rút gọn lại như sau:
0.352 ms < ti < tc < tc + 0.384 ms < ts (3.2) Các biến còn lại do người lập trình thuật toán thực thi giao thức quyết định lựa chọn cho phù hợp
3.3.2 Phát hiện nhiễu và trở về trạng thái ngủ nhanh
Trong ContikiMAC, việc sử dụng một cơ chế kiểm tra kênh truyền CCA thực thi trong thời gian ngắn làm cho máy thu của ContikiMAC rất nhạy với nhiễu và có thể nhận định sai về hoạt động của kênh truyền Để khắc phục tình trạng đó, ContikiMAC đề xuất thêm cơ chế phát hiện nhiễu và nhanh chóng quay lại trạng
Trang 40 thái ngủ Có ba trường hợp Rx quyết định quay về trạng thái ngủ nhanh: khi thời gian khung tin nhận được dài hơn khung tin quy định của IEEE 802.15.4, khi thời gian giữa hai lần truyền lặp lại gói tin khác quy định và khi không phát hiện được chuỗi bắt đầu khung tin
Trường hợp đầu tiên được mô tả như trong hình 3.15 Khi thời gian nhận một khung tin dài hơn thời gian tối đa cho phép của khung tin ( t l ) trong IEEE 802.15.4 (dài hơn 128 bytes) Mỗi symbol (4 bit) có chiều dài thời gian là 4/250 ms, vậy khung tin có kích thước tối đa 128 byte có chiều dài thời gian tl là: tl = 128 * 2 * (4/250) = 4.096 ms (3.2)
Hình 3 15: Chiều dài gói tin lớn hơn quy định Hình 3.16 thể hiện một trường hợp Rx quay về ngủ nhanh khác, khi thời gian chờ giữa hai lần lặp lại truyền gói tin ở Tx khác với chuẩn quy định của giao thức
Hình 3 16: Thời gian giữa hai lần truyền lặp lại gói tin khác quy định
Trang 41 Và trường hợp Rx quay về trạng thái ngủ nhanh chóng cuối cùng, đó là khi nhận khung thông tin nhưng không phát hiện được chuỗi bit header đánh dấu bắt đầu khung, được thể hiện trong hình 3.17
Hình 3 17: Không phát hiện được chuỗi bắt đầu khung tin
3.3.3 Khóa pha các nút lân cận
Với chu kì thức dậy lắng nghe kênh truyền ổn định, các nút lân cận nhau trong WSNs đều có thể tự nắm bắt lịch trình thức dậy của các nút lân cận thông qua mỗi lần giao tiếp truyền nhận thành công gói tin cho nhau Cơ chế học và nắm bắt phase thức dậy của nút lân cận gọi là cơ chế khóa phase nút lân cận
Hình 3 18: Tx khóa pha Rx lân cận
Triển khai giao thức MAC trên hệ điều hành Contiki OS
Giới thiệu hệ điều hành Contiki OS và công cụ Cooja
Hình 4 1: Logo hệ điều hành Contiki OS [11]
Contiki OS là hệ điều hành mã nguồn mở chuyên dành cho lĩnh vực internet của vạn vật (IoT), được tạo ra bởi Adam Dunkels vào năm 2002 và đã được phát triển thêm bởi các nhà phát triển trên toàn thế giới từ Texas Instruments, Atmel, Cisco, Enea, ETH Zurich, Redwire, Đại học RWTH Aachen, Đại học Oxford, SAP, Sensinode, Thụy Điển Viện Khoa học máy tính, ST Microelectronics, Zolertia, và nhiều người khác Tên Contiki lấy cảm hứng từ tên chiếc bè Kon-Tiki nổi tiếng mà Thor Heyerdahl, một nhà nhân chủng học và thám hiểm người Na Uy, sử dụng để du hành kéo dài 8.000 km từ Nam Mỹ tới Quần đảo Tuamotu Cùng với Tiny OS, Contiki OS là một trong hai hệ điều hành phổ biến nhất trong cộng đồng nghiên cứu và phát triển ứng dụng WSNs
Contiki OS được thiết kế để chạy trên các thiết bị hạn chế về bộ nhớ, năng lượng, sức mạnh bộ vi xử lý và băng thông vô tuyến Contiki OS cung cấp nền tảng nhiều giao thức ở tất cả các lớp trong mô hình phân lớp giao thức của WSNs, có thể kể đến như CoAP, RPL, 6LowPAN, ContikiMAC, XMAC, IEEE 802.15.4 framer Trình biên dịch Contiki Instant hỗ trợ biên dịch các chương trình ứng dụng được viết bằng ngôn ngữ C thành các file thực thi chạy được trên phần cứng thực tế
Contiki OS có công cụ Cooja, công cụ mô phỏng WSNs cực kỳ mạnh mẽ chạy trên nền java Cooja cho phép các nhà phát triển kiểm tra mã nguồn và hệ thống
Trang 48 của họ lâu trước khi chạy nó trên phần cứng thực tế Các nhà phát triển thường xuyên thiết lập mô phỏng đối với các hệ thống và mã nguồn mới, vừa để gỡ lỗi phần mềm của họ và vừa để xác minh hành vi của các hệ thống của họ khi hoạt động thực tế Trong khuôn khổ luận văn này sử dụng nền tảng Contiki OS mà không sử dụng Tiny OS, bởi ưu điểm chính đến từ việc Contiki OS hỗ trợ mô phỏng trực quan, giúp phân tích rõ hơn hoạt động của giao thức MAC khi điều khiển hành vi của lớp vật lý trong môi trường vô tuyến [12]
4.1.2 Công cụ Cooja – Mô phỏng WSNs
Sức mạnh chính của Cooja là hỗ trợ mô phỏng hầu hết các mote thông dụng trong thực tế như Sky mote, MicaZ mote, Z1 mote, ESB mote v.v…Trình biên dịch InstantContiki có thể biên dịch các file mã nguồn được viết bằng ngôn ngữ C trên Contiki OS thành file thực thi để chạy mô phỏng trên các mote tương đương với chạy thực tế trên test-bed [13]
Giao diện làm việc của Cooja:
Hình 4 2: Giao diện của công cụ Cooja Có rất nhiều chức năng được hỗ trợ trên công cụ Cooja, nhưng trong khuôn khổ luận văn này chỉ sử dụng các chức năng sau:
Tạo mô hình mạng và phân bố các mote bằng cửa sổ Network như hình 4.3
Cho phép sắp xếp phân bố các mote theo mô hình mạng bất kỳ
Thay đổi tầm thông tin Tx/Rx, tầm can nhiễu của mote
Thay đổi xác suất truyền thành công gói tin giữa các mote nằm trong tầm phủ sóng của nhau khi mô phỏng
Hình 4 3: Cửa sổ Network trong Cooja
Xem các thông tin xuất ra từ mote bằng cửa sổ Mote output như trong hình 4.4, các thông tin này cũng có thể xem trực tiếp tại serial port của các mote:
Cho phép theo dõi thông tin xuất ra từ serial port của tất cả các mote hoạt động trong mạng thực tế
Hình 4 4: Cửa sổ Mote output trong Cooja
Phân tích các gói tin được truyền trên mạng bằng cửa sổ Radio Message như trong hình 4.5:
Cho phép phân tích chi tiết cấu trúc khung thông tin của các gói tin truyền trên mạng
Hỗ trợ phân tích chuỗi bit thông thường, hay tách sẵn theo chuẩn 6LowPAN
Xem kích thước gói tin thực sự được lớp MAC chuẩn bị để gửi xuống lớp vật lý đi ra kênh truyền vô tuyến
Hình 4 5: Cửa sổ Radio messages trong Cooja
Hình 4 6: Cửa sổ Timeline trong Cooja
Xem và phân tích các trạng thái hoạt động của bộ thu phát vô tuyến của mote bằng cửa sổ Timeline như trong hình 4.6:
Cho phép xem các trạng thái của bộ thu phát vô tuyến, bao gồm: ON/OFF,
Radio Tx/Rx, can nhiễu
Đây là một tính năng cực kỳ hữu hiệu để phân tích timeline hoạt động của các giao thức MAC
Sử dụng công cụ mô phỏng Cooja, chúng ta có thể quan sát được hoạt động của bộ thu phát vô tuyến ở lớp vật lý, từ đó có thể kiểm tra tính chính xác của giao thức mới, khi triển khai và tích hợp vào Contiki OS.
Đánh giá hiệu năng các giao thức MAC
Các thông số đánh giá hiệu năng
Năng lượng tiêu thụ là một vấn đề trọng tâm của WSNs Năng lượng tiêu thụ của nút cảm biến được đo bằng phương pháp thống kê thời gian hoạt động của các trạng thái khác nhau của nút [14]
Tmote Sky hỗ trợ thống kê 6 trạng thái của nút cảm biến
Bảng 5 1: Các biến thống kê thời gian được hỗ trợ bởi Tmote Sky
Biến thời gian Nội dung thống kê
All CPU Tổng thời gian CPU ở trạng thái hoạt động All LPM Tổng thời gian nút cảm biến ở chế độ tiết kiệm năng lượng All Transmit Tổng thời gian bộ thu phát vô tuyến phát gói tin
All Listen Tổng thời gian bộ thu phát vô tuyến lắng nghe kênh truyền All idle transmit Tổng thời gian nhàn rỗi khi truyền
All idle listen Tổng thời gian nhàn rỗi khi lắng nghe
Theo bản thông số kỹ thuật, Tmote Sky có các chế độ tiêu thụ năng lượng khác nhau theo các module riêng biệt như CPU, bộ thu phát vô tuyến, bộ nhớ
Bảng 5 2: Các chế độ tiêu thụ năng lượng của Tmote Sky
Trạng thái Dòng điện trung bình
Dòng điện cực đại Đơn vị
Chế độ CPU standby tiêu thụ dòng điện gần bằng 0, nên được bỏ qua khi khảo sát
Trang 58 Bảng 5 3: Tính toán các trạng thái của mote từ các biến thống kê thời gian
Trạng thái Công thức tính dựa theo các biến thời gian
Radio Tx All Transmit – All Idle transmit
Radio Rx All Listen – All idle listen
Radio Idle All idle transmit + All idle listen
Công thức tính năng lượng tiêu thụ:
E (Joule) = I (A) * V (Volt) * t (s) (5.1) Bảng 5 4: Ví dụ về tính toán năng lượng tiêu thụ của mote trong một giờ:
5.1.2 Mức độ truyền tin cậy
Mức độ truyền tin cậy là thông số thứ hai để đánh giá hiệu năng của các giao thức MAC Đánh giá mức độ truyền tin cậy thông qua tỉ lệ gói dữ liệu gửi đến đích
(Packet Delivery Ratio – PDR) hoặc thông qua tỉ lệ số gói bị mất mát không tới được đích (Packet Loss Ratio- PLR)
Công thức tính tỉ lệ gói gửi tới đích thành công:
Công thức tính tỉ lệ gói mất mát không tới được đích:
TotalPacketSent : Tổng số gói tin đã gửi từ nút nguồn,
TotalPacketReceived : Tổng số gói tin đã nhận tại nút đích
All CPU All LPM All Transmit All Listen All idle transmit All idle listen RTIMER_ARCH_SECOND (Tick)
CPU active CPU sleep Radio Tx Radio Rx Radio Idle Total
Time All CPU All LPM All Transmit -
All Listen - All idle listen
All idle transmit + All idle listen All CPU + All LPM
Trang 59 Trong khuôn khổ luận văn này, sử dụng đánh giá mức độ truyền tin cậy thông qua PDR Và để có một đánh giá tổng quan hiệu năng của giao thức MAC trong sự hoạt động của toàn mạng thì các gói tin được khảo sát gửi và nhận ở dạng end- to-end, không phải ở dạng hop-to-hop
Mỗi gói tin trước khi được gửi đi đều được đánh nhãn số thứ tự Đích đến thiết lập một bộ đếm gói tin nhận được của mỗi nút riêng biệt Mỗi lần đích đến nhận được gói tin sẽ kiểm tra số thứ tự gói, so sánh với bộ đếm số gói nhận được từ nút nguồn gửi để tính toán ra thông số PDR
PDR cao hơn có nghĩa là giao thức MAC có hiệu năng tốt hơn
Thông số tiếp theo để đánh giá hiệu năng giao thức MAC là độ trể truyền gói tin Cũng như bài đánh giá mức độ truyền tin cậy, để có một đánh giá tổng quan hiệu năng của giao thức MAC trong sự hoạt động của toàn mạng thì độ trễ truyền tin được khảo sát ở dạng end-to-end, mặc dù độ trễ end-to-end cũng bao gồm sự chậm trễ gây ra bởi quá trình định tuyến gói tin và thời gian nằm trong hàng đợi tại các nút chuyển tiếp Chỉ các gói tin được gửi và nhận thành công mới đưa vào bộ đếm để tính toán độ trể truyền tin
Công thức tính độ trễ truyền tin:
SendTime i : Thời gian bắt đầu gửi gói tin thứ i
ArriveTime i : Thời gian gói tin thứ i tới đích
TotalPacketReceived : Tổng số gói tin đã nhận tại nút đích
Latency nhỏ hơn có nghĩa là giao thức MAC có hiệu năng tốt hơn
Thông số cuối cùng để đánh giá hiệu năng giao thức MAC là thông lượng của mạng Thông lượng mạng cũng là một thông số chịu ảnh hưởng của nhiều lớp
Trang 60 trong WSNs, từ lớp MAC, lớp mạng, tới lớp giao vận và cả lớp ứng dụng Cũng như hai thông số trên, thông lượng cũng được đo đạc theo truyền gói tin end-to- end Để đánh giá thông lượng, yêu cầu thông số tỉ lệ gói gửi thành công của toàn mạng phải đạt PDR ≥ 95 % Thông lượng được đo đạc trong một khoảng thời gian nhất định
Công thức tính thông lượng mạng:
PacketSize i : Kích thước gói tin thứ i nhận thành công
ArriveTime n : Thời gian gói tin cuối cùng tới đích
SendTime o : Thời gian bắt đầu yêu cầu gửi gói tin đầu tiên.
Đánh giá hiệu năng thông qua mô phỏng
5.2.1 Mạng có mật độ nút cảm biến thấp
Mô hình mạng có mật độ nút cảm biến thấp được triển khai để đánh giá hiệu năng của lớp MAC theo như hình 5.1
Tóm tắt các thông tin về mô hình mạng:
Có 10 nút mạng, trong đó có 1 nút trung tâm (ID 1) làm server thu thập dữ liệu và 9 nút cảm biến có thể thay đổi tốc độ gửi gói tin về nút trung tâm
Độ sâu của mạng depth = 3
Ba bài đánh giá sẽ cài đặt lưu lượng gói tin phát sinh từ nút cảm biến ở ba mức khác nhau : o Lưu lượng thấp: phát ngẫu nhiên 1 gói tin trong chu kỳ 60 giây o Lưu lượng trung bình: phát ngẫu nhiên 1 gói tin trong chu kỳ 5 giây o Lưu lượng cao: phát ngẫu nhiên 1 gói tin trong chu kỳ 1 giây
Thời gian quan sát đánh giá là 60 phút
Đánh giá năng lượng tiêu thụ và mức độ truyền tin cậy ở tất cả các nút mạng, đánh giá độ trễ end-to-end của nút 2
Trang 61 Hình 5 1: Mô hình mạng có mật độ nút cảm biến thấp
Xem xét giao thức MAC nào hiệu năng tốt hơn khi lưu lượng thay đổi Đánh giá năng lượng tiêu thụ
Hình 5 2: Chi tiết năng lượng tiêu thụ khi lưu lượng thấp
Trang 62 Hình 5 3: Chi tiết năng lượng tiêu thụ khi lưu lượng trung bình
Hình 5 4: Chi tiết năng lượng tiêu thụ khi lưu lượng cao Hình 5.2, 5.3 và 5.4 lần lượt thể hiện mức năng lượng tiêu thụ chi tiết của các trạng thái mote theo mỗi giao thức khác nhau khi lưu lượng mạng tăng dần Có thể thấy rằng, giao thức BoXMAC 2 tiêu tốn năng lượng ở chế độ CPU sleep nhiều nhất, và tiêu tốn năng lượng cho thu phát vô tuyến ít nhất, điều này chứng tỏ BoXMAC tối ưu quá trình xử lý truyền nhận dữ liệu nhất Bên cạnh đó, giao thức ContikiMAC tiêu tốn năng lượng cho việc lắng nghe kênh truyền ít nhất Radio idle), nên sẽ khó khăn hơn cho Tx có thể gửi gói tin tới Rx một cách nhanh nhất, Tx phải thực hiện gửi lặp đi lặp lại gói data nhiều lần để đánh thức Rx nên tiêu tốn năng lượng cho phát sóng vô tuyến nhiều nhất Giao thức XMAC phải đối mặt với
Trang 63 việc lắng nghe hết các chuỗi preamble không mong muốn từ các nút lân cận, nên năng lượng tiêu tốn cho việc thu tín hiệu vô tuyến nhiều nhất, khi lưu lượng càng tăng cao thì nhược điểm của giao thức XMAC càng thể hiện rõ nét
Hình 5 5: So sánh tổng năng lượng tiêu thụ khi lưu lượng thay đổi Và nhìn một cách tổng quan ở hình 5.5 sẽ cho thấy rằng khi thay đổi lưu lượng từ thấp tới cao, giao thức BoXMAC đều đạt năng lượng tiêu thụ ít nhất, kế đến là giao thức ContikiMAC, và sau cùng, giao thức XMAC tiêu thụ năng lượng nhiều nhất, kết quả này đúng như nhận định về ưu nhược điểm của các giao thức MAC như đã phân tích và trình bày ở chương 3 Đánh giá mức độ truyền tin cậy
Hình 5 6: So sánh mức độ truyền tin cậy khi lưu lượng thay đổi
Trang 64 Một giao thức tiết kiệm năng lượng phải đi kèm với việc đảm bảo QoS thì mới đảm bảo là giao thức tốt Hình 5.6 thể hiện thông số QoS đầu tiên, đó là mức độ truyền tin cậy Khi lưu lượng tăng cao thì giao thức XMAC bắt đầu giảm mạnh độ tin cậy và trở nên hạn chế và không thể đáp ứng nổi mức lưu lượng 1 gói/giây
Việc thiết lập truyền thông qua quá trình bắt tay giữa Tx và Rx đã làm cho XMAC không thể xử lý được lưu lượng mạng cao BoXMAC 2 nhỉnh hơn một chút so với ContikiMAC khi lưu lượng mạng cao, nhưng nhìn chung cả hai đều đáp ứng tốt mức độ truyền tin cậy và sự chênh lệch này là không đáng kể Việc BoXMAC chỉ tiêu tốn ít năng lượng hơn mà vẫn đạt mức độ truyền tin cậy tốt, chứng tỏ nó đã cải thiện được những hạn chế của ContikiMAC Đánh giá độ trễ truyền tin
Hình 5 7: So sánh độ trể truyền tin khi lưu lượng thay đổi
Thông số QoS thứ hai xét tới là độ trễ truyền tin Hình 5.7 thể hiện kết quả thống kê độ trễ truyền tin của ba giao thức MAC khi lưu lượng thay đổi
BoXMAC 2 tối ưu truyền nhận vô tuyến nhất trong ba giao thức, vì vậy, không có gì ngạc nhiên khi BoXMAC 2 có độ trễ nhỏ nhất trong tất cả các trường hợp lưu lượng thay đổi Khi lưu lượng cao, giao thức XMAC độ tin cậy kém nên sẽ có nhiều gói tin truyền không thành công, và phải truyền lại nhiều lần Do đó, độ trễ tăng cao là sự thể hiện rõ ràng nhất cho nhược điểm của giao thức XMAC khi lưu
Trang 65 lượng cao Và một lần nữa, BoXMAC 2 lại đạt được tiêu chí QoS tốt hơn ContikiMAC Đánh giá thông lượng
Giao thức XMAC có độ tin cậy kém hơn hẳn ContikiMAC và BoXMAC 2 trong các bài đánh giá trước, do đó, ở bài đánh giá thông lượng, chỉ khảo sát ContikiMAC và BoXMAC Thông lượng mạng được đánh giá khi tỉ lệ gói gửi thành công của toàn mạng PDR ≥ 95% a) Tốc độ gửi: 1 gói / giây b) Tốc độ gửi 2 gói / giây Hình 5 8: Thống kê PDR của mạng mật độ nút thấp
Trang 66 Hình 5.8 thể hiện kết quả thống kê PDR của toàn bộ các nút trong mạng và tổng trung bình PDR của toàn mạng Có thể thấy rằng, mạng chỉ đáp ứng PDR ≥ 95% khi tốc độ gửi gói của mỗi nút là 1 gói / giây Các gói tin được thiết kế trong ứng dụng đo thông lượng có kích thước 100 byte Thông lượng của mạng tương ứng với mỗi giao thức MAC là:
BoXMAC 2 = 9*100*8*0.9952 / 1024 = 7 kbps Qua các bài đánh giá bốn thông số hiệu năng, có thể kết luận đối với mô hình mạng có mật độ nút cảm biến thấp, giao thức BoXMAC nổi trội nhất về hiệu năng
5.2.2 Mạng có mật độ nút cảm biến cao
Mô hình mạng có mật độ nút cảm biến cao được triển khai để đánh giá hiệu năng của lớp MAC theo như hình 5.8
Hình 5 9: Mô hình mạng có mật độ nút cảm biến cao Tóm tắt các thông tin về mô hình mạng:
Có 25 nút mạng, trong đó có 1 nút trung tâm (ID 1) làm server thu thập dữ liệu và 24 nút cảm biến có thể thay đổi tốc độ gửi gói tin về nút trung tâm
Độ sâu của mạng depth = 4
Để đánh giá hiệu năng giao thức khi mật độ nút tăng cao, nút 2 được triển khai với 10 nút xung quanh nằm trong tầm cảm biến sóng mang
Ba bài đánh giá sẽ cài đặt lưu lượng gói tin phát sinh từ nút cảm biến ở ba mức khác nhau : o Lưu lượng thấp: phát ngẫu nhiên 1 gói tin trong chu kỳ 60 giây o Lưu lượng trung bình: phát ngẫu nhiên 1 gói tin trong chu kỳ 5 giây o Lưu lượng cao: phát ngẫu nhiên 1 gói tin trong chu kỳ 1 giây
Thời gian quan sát đánh giá là 60 phút
Đánh giá năng lượng tiêu thụ và mức độ truyền tin cậy ở tất cả các nút mạng, đánh giá độ trễ end-to-end của nút 2
Khi mật độ nút cảm biến trong mạng tăng lên, can nhiễu và xác suất đụng độ khi truyền thông tin cũng tăng theo, mục này sẽ xem xét đánh giá giao thức MAC nào hiệu năng tốt hơn khi lưu lượng mạng thay đổi ở mô hình mạng có mật độ nút cảm biến cao