Bài viết đề xuất giải pháp định tuyến tiết kiệm năng lượng trong mạng cảm biến không dây dựa trên hai giải pháp là mạng định nghĩa bằng phần mềm - Software Defined Networking, và Trickle timing. Giải pháp đề xuất cho thấy đã đạt được tiêu chí tối ưu năng lượng tiêu thụ của mạng, đồng thời vẫn đảm bảo độ tin cậy (trễ, tỉ lệ mất gói, etc). Mời các bạn cùng tham khảo!
Trang 1SDN-WISE-Trickle: giải pháp tối ưu hóa hiệu năng mạng cảm biến không dây dựa trên công nghệ
mạng định nghĩa bằng phần mềm
Nguyen Quang Hieu, Hoang Van Quang*, Nguyen Tien Hong, Nguyen Huu Thanh
Hanoi University of Science and Technology Hanoi University of Industry*, Vietnam Email: 20131418@student.hust.edu.vn, thanh.nguyenhuu@hust.edu.vn
Tóm tắt nội dung—Cùng với sự phát triển nhanh chóng của
Internet vạn vật - IoT, mạng cảm biến không dây - Wireless
Sensor Networks đóng vai trò vô cùng quan trọng trong một hệ
sinh thái IoT Trong một mạng cảm biến không dây, các thiết bị
cảm biến (sensor) trao đổi thông tin với nhau qua môi trường
không dây, đa chặng Các thiết bị cảm biến thường có những
hạn chế về khả năng lưu trữ, tính toán Với các đặc tính như
trên, việc định tuyến trong mạng cảm biến không dây là một
vấn đề quan trọng và cần được giải quyết tối ưu Trong bài báo
này, chúng tôi đề xuất giải pháp định tuyến tiết kiệm năng lượng
trong mạng cảm biến không dây dựa trên hai giải pháp là mạng
định nghĩa bằng phần mềm - Software Defined Networking, và
Trickle timing Giải pháp đề xuất cho thấy đã đạt được tiêu chí
tối ưu năng lượng tiêu thụ của mạng, đồng thời vẫn đảm bảo
độ tin cậy (trễ, tỉ lệ mất gói, etc).
Index Terms—Mạng cảm biến không dây, mạng định nghĩa
bằng phần mềm, thuật toán Trickle,định tuyến tiết kiệm năng
lượng.
I GIỚI THIỆU
Ngày nay với sự phát triển nhanh chóng của Internet
of Things (IoT) dẫn tới nhiều ứng dụng và giao thức IoT
được phát triển để đáp ứng nhu cầu kết nối các cảm biến
Một giao thức nổi phổ biến được sử dụng rộng rãi như
6LoWPAN [1] với hỗ trợ IPv6, hay ZigBee [2] cho thấy
sự linh hoạt và phù hợp với ứng dụng IoT Song song với
IoT, công nghệ mạng Software Defined Networking - SDN
cũng là một làn sóng mới của mạng Internet thế hệ tiếp
theo Đã có nhiều công trình nghiên cứu đưa ra các cách
giải quyết vấn đề trong mạng cảm biến không dây bằng
công nghệ SDN Trong đó SDN-WISE [3] là một sự kết hợp
mềm mại giữa SDN và Wireless Sensor Networks Giao thức
SDN-WISE đã đưa ra kiến trúc, cơ chế dựa theo ý tưởng
của mạng SDN Đã có những nghiên cứu và đánh giá nền
tảng cho giao thức SDN-WISE bởi S Costanzo et al [4], L
Galluccio et al [3] và C Burrati et al [5] Tuy nhiên bằng
thực nghiệm chúng tôi nhận thấy cơ chế trao đổi bản tin
của SDN-WISE còn có một số vấn đề dẫn tới tiêu tốn năng
lượng Đóng góp trong bài nghiên cứu của chúng tôi như sau:1
1 Bài báo này được phát triển thêm từ nghiên cứu trước đây của chúng tôi
theo Nguyen Quang Hieu et al [8].
• Thiết kế và triển khai bộ định tuyến tập trung SDN-WISE Controller cho mạng cảm biến không dây
• Tối ưu hóa năng lượng của mạng cảm biến không dây bằng việc kết hợp SDN-WISE Controller và thuật toán Trickle
Phần tiếp theo của bài báo sẽ được cấu trúc như sau Ở Phần II chúng tôi đề cập đến những công trình nghiên cứu
và nền tảng liên quan Phần III sẽ trình bày về SDN-WISE Controller mà chúng tôi triển khai Phần IV trình bày về thuật toán Trickle và phương pháp triển khai thuật toán Trickle trong mạng SDN-WISE Phần V sẽ là chi tiết quá trình mô phỏng đánh giá hiệu năng của mạng cảm biến Cuối cùng Phần VI
là kết luận
II CÁC NGHIÊN CỨU NỀN TẢNG
Phần này sẽ trình bày về các nghiên cứu trước đây liên quan đến công nghệ SDN trong mạng cảm biến không dây,
ưu nhược điểm của các nghiên cứu ở Phần II-A Phần II-B sẽ trình bày tổng quan về giao thức SDN-WISE
A Giải pháp SDN trong mạng cảm biến không dây
Ý tưởng phát triển công nghệ SDN trong mạng cảm biến không dây là một hướng nghiên cứu mới nhận được nhiều sự quan tâm những năm gần đây T Lou et al [6] đưa ra ý tưởng
về sử dụng OpenFlow cho mạng cảm biến không dây bằng việc áp dụng và cải tiến giao thức Open Flow, trong khi đó S Costanzo et al [4] đưa ra chồng giao thức Software Defined Wireless Network (SDWNs) mà sau đó được phát triển thành SDN-WISE bởi L Gallucio et al [3] SDN-WISE cho thấy sự linh hoạt, phù hợp và dễ dàng áp dụng với nền tảng sẵn có của nhiều thiết bị cảm biến Tuy nhiên cả giao thức Sensor Openflow và SDN-WISE đều còn những hạn chế Trong giao thức SDN-WISE, để phục vụ cho việc định tuyến tập trung tại Controller, các node trong mạng được yêu cầu gửi thông tin của chúng đến một thiết bị gateway của mạng là Sink node,
và Sink node sẽ trao đổi thông tin với Controller Việc gửi định kì các bản tin định tuyến này chưa có cơ chế điều khiển hợp lý dẫn tới tiêu tốn nhiều năng lượng không cần thiết Các bản tin định tuyến được điều khiển bằng một bộ đếm - timer trong các thiết bị Cơ chế đặc thù của SDN-WISE là các timer
Trang 2sẽ được cài đặt gửi các bản tin định tuyến định kì theo những
quãng thời gian nhất định, hay còn gọi là các interval Độ dài
các quãng giữa những lần gửi bản tin ảnh hưởng lớn tới năng
lượng lẫn độ tin cậy của mạng Nếu độ dài các quãng quá nhỏ
(cỡ một vài giây) sẽ gây ra hiệu ứng overhead - tại đó các
thiết bị phải liên tục phát và xử lý các bản tin định tuyến, dẫn
tới tiêu tốn năng lượng không cần thiết, gây ra độ trễ và mất
gói tin Ngước lại nếu độ dài các quãng quá lớn (cỡ vài phút)
thì các thiết bị sẽ tiết kiệm được năng lượng hơn nhưng thông
tin về trạng thái của mạng lại được cập nhật quá chậm, có thể
dẫn tới hiện tượng vòng lặp trong quá trình định tuyến Với ý
tưởng cải thiện timer của các thiết bị, đảm bảo cho quá trình
định tuyến lẫn tối ưu về hiệu năng, chúng tôi áp dụng ý tưởng
của thuật toán Trickle [7] vào bộ đếm của các thiết bị, từ đó
điều khiển các bản tin định tuyến theo cơ chế linh động, hiệu
quả hơn Chi tiết và ứng dụng thuật toán Trickle sẽ được trình
bày trong Phần IV
B SDN-WISE: Giải pháp định tuyến sử dụng công nghệ mạng
định nghĩa bằng phần mềm
S.Costanzo et al [4] đã đặt ra mô hình chồng giao thức
sử dụng trong mạng cảm biến không dây dựa trên ý tưởng
của mạng SDN L Galluccio el al [3] đã phát triển và chuẩn
hóa ý tưởng này thành giao thức SDN-WISE với mô hình mô
phỏng và mô hình thí nghiệm vật lý
1) Chồng giao thức: Chồng giao thức SDN-WISE được
trình bày ở Bảng I, trong đó tầng vật lý (PHY) và điều
khiển truy nhập (MAC) là của giao thức IEEE802.15.4,
các tầng phía trên được thiết kế với ý tưởng theo mô hình
mạng SDN Một mạng SDN-WISE gồm hai phần chính
là Control plane gồm Controller(s) và Data plane gồm
Sink và các node Controller có nhiệm vụ thu thập dữ
liệu về mạng, từ đó xây dựng đồ hình mạng và đưa ra
các quyết định về định tuyến Sink là node đặc biệt duy
nhất có kết nối với Controller, có thể xem Sink như là
gateway của toàn mạng Các node khác có nhiệm vụ thu
thập dữ liệu và gửi dữ liệu đến Sink theo đường định tuyến lên
Các chức năng chính của lớp mạng trong chồng giao
thức SDN-WISE đó là: (1)Topology Discovery, (2)In-network
Processing, và (3)Forwarding Lớp MAC sẽ chuyển tiếp bản
tin nhận được đến Forwarding layer và lớp này sẽ xác định
loại bản tin và chuyển đến cho các lớp trên xử lý SDN-WISE
đưa ra bảy loại bản tin:
• Data: bản tin được tạo bởi application layer
• Beacon: bản tin định tuyến, là bản tin broadcast phục
vụ cho quá trình khám phá đồ hình mạng - Topology
Discovery
• Report: bản tin unicast chứa thông tin về các hàng xóm
của từng node trong mạng, được gửi đến sink một cách
định kỳ Report và Beacon là hai loại bản tin được sử dụng
thường xuyên nhất trong quá trình định tuyến thông qua
cơ chế gửi định kỳ theo các quãng thời gian nhất định
• Request: tạo bởi một node khi node đó không tìm thấy
thông tin cần xử lý về gói tin vừa nhận được Bản
Bảng I
C HỒNG GIAO THỨC SDN-WISE
Protocol stack SDN-WISE
APP Controller NET
Topology discovery In-network processing Forwarding MAC CSMA RDC Contiki MAC PHY IEEE 802.15.4
tin Request được gửi tới Sink node và chuyển tiếp tới Controller
• Response: tạo bởi Controller để trả lời bản tin Request của các node trong mạng
• Open Path: sử dụng để tạo đường định tuyến duy nhất giữa các node
• Configure: giúp quản trị viên thay đổi thông số cài đặt của bất kì node trong mạng chỉ bằng cách gửi bản tin này từ Controller
2) Giao thức định tuyến: Trong mạng SDN-WISE, các node
sẽ liên tục trao đổi bản tin Beacon và Report Bản tin Beacon giúp các node khám phá và thiết lập thông tin về các node hàng xóm Các bản tin Report phục vụ cho việc giúp Controller cập nhật thông tin cục bộ về toàn mạng, từ đó Controlelr đưa ra giải pháp định tuyến hợp lý
Trong mạng SDN-WISE các node vận hành một bảng định tuyến đặc biệt là WISE Flow table Khác với bảng định tuyến thông thường, WISE Flow table chứa Các Flow Entry, các Flow Entry này có thể được cài đặt thêm hoặc xóa bỏ dựa vào Controller Trong WISE Flow table chỉ chứa thông về địa chỉ
kế tiếp trong đường định tuyến, các node chỉ có chức năng chuyển tiếp, còn việc thiết lập các Flow Entry sẽ được gửi tới bới Controller Ưu điểm của cơ chế này mang lại là các node
sẽ tiết kiệm được tài nguyên quản lý các bảng định tuyến, từ
đó việc chuyển tiếp sẽ nhanh hơn và độ trẽ đầu cuối sẽ được giảm đi Tuy nhiên với việc các quyết định của mạng tập trung tại Controller có thể dẫn tới sự mất mát thông tin trong quá trình trao đổi thông tin giữa Controller và các node
III SDN-WISE CONTROLLER:BỘ ĐIỀU KHIỂN ĐỊNH
TUYẾN CHO MẠNG
Trong phần này, chúng tôi trình bày về SDN-WISE Con-troller do nhóm phát triển trên hệ điều hành Contiki [12] SDN-WISE Controller là một phần mềm điều khiển có chức năng định tuyến cho toàn mạng SDN-WISE Controller được phát triển bằng ngôn ngữ Java và giao tiếp Sink node qua kết nối Serial Mô hình của mạng SDN-WISE và SDN-WISE Controller được thể hiện qua Hình 1
Về yêu cầu chức năng, SDN-WISE Controller được thiết kế với các chức năng đảm bảo cho việc định tuyến như sau:
• Xây dựng cây theo đường ngắn nhất (Shortest Path Tree -SPT) với nút gốc là Sink, sử dụng thuật toán Dijkstra và trọng số các link là chỉ số RSSI Thông tin về cây SPT
Trang 3Hình 1 Mô hình mạng SDN-WISE
được cập nhật mỗi khi nhận được một bản tin Report từ
mạng
• Tự động chuyển tiếp bản tin định tuyến cho tất cả các
node trong mạng thông qua kết nối Serial với Sink node
• Trả lời bản tin Request từ các node chưa có thông tin
định tuyến
• Gửi bản tin định tuyến cho một node nhất định trong
mạng
Các thông tin về mạng sẽ được Controller quản lý qua các
Object, các Object được sử dụng đó là:
• Node object: đại diện cho các sensor node trong mạng,
mỗi Node object lại có các trường thông tin như Neighbor
table, Battery, Distance to the Sink
• Edge object: đại diện cho các liên kết giữa các node, mỗi
Edge object có các trường thông tin như RSSI, Direction
• Network object: đại diện cho thông tin về đồ hình của
mạng, trong đó có chứa tập các Node và Edge
Với ý tưởng quản lý mạng bằng phần mềm của công nghệ
SDN, Controller sẽ có thông tin cụ thể của toàn mạng, qua đó
việc quản trị và vận hành mạng sẽ đơn giản và nhanh chóng
Việc điều khiển quá trình định tuyến và cập nhật thông tin về
mạng có thể dễ dàng thực hiện bằng phần mềm Mô hình của
mạng SDN-WISE và SDN-WISE controller được thể hiện qua
Hình 1
IV TRICKLE TIMER:ỨNG DỤNG VÀ TRIỂN KHAI TRÊN NỀN
GIAO THỨCSDN-WISE Như đã trình bày ở II-A, giao thức SDN-WISE cần một cơ
chế hợp lý để điểu khiển các bản định tuyến trao đổi trong
mạng một cách hợp lý và tối ưu nhất về tài nguyên Trong
chương này chúng tôi sẽ trình bày ý tưởng, ứng dụng và thực
thi thuật toán Trickle [7] trong việc cải thiện giao thức
SDN-WISE hướng tới tối ưu hóa năng lượng tiêu thụ trong mạng
cảm biến không dây
A Tổng quan về thuật toán Trickle
Ý tưởng của thuật toán Trickle [7] là hạn chế số lượng các
bản tin định tuyến trao đổi trong mạng đồng thời vẫn đảm
bảo các thông số về độ tin cậy của mạng như thời gian trễ, tỉ
lệ mất gói, từ đó giúp tối ưu về năng lượng tiêu thụ của việc trao đổi các bản tin định tuyến Việc kiểm soát quá trình trao đổi các bản tin được quản lý bởi một timer trong các thiết bị cảm biến, còn gọi là Trickle timer Trickle timer sẽ dựa vào trạng thái hiện tại của mạng để quyết định hành động gửi hoặc hủy bỏ bản tin định tuyến Trạng thái của mạng được dựa vào các tham số đó là: số lượng các node hàng xóm, trạng thái
"consistent" (ổn định) hay "inconsistent" (không ổn định) của các node hàng xóm (khái niệm "consistent" và "inconsistent"
sẽ được định nghĩa ở IV-C)
B Các tham số và tham biến của thuật toán Trickle
Một Trickle timer hoạt động theo những ’quãng’ và có ba tham số cấu hình: minimum interval size Imin, maximum interval Imax và redundancy constant k:
• The minimum interval size - độ dài quãng nhỏ nhất Imin,
là khoảng thời gian ngắn nhất có thể giữa hai lần gửi bản tin định tuyến liên tiếp Iminđược định nghĩa là một đơn
vị thời gian (e.g., miliseconds, seconds)
• The maximum interval size - độ dài quãng lớn nhất, Imax
là khoảng thời gian dài nhất có thể giữa hai lần gửi bản tin định tuyến liên tiếp Giá trị Imax có một ràng buộc là
Imax= Imin× 2d
(1) trong đó d là một số nguyên lớn hơn 0, d còn gọi là Interval doubling
• Hằng số dư thừa, k, một số tự nhiên lớn hơn 0
Thêm vào đó Trickle duy trì ba tham biến:
• I, độ dài quãng hiện tại với ràng buộc Imin≤ I ≤ Imax
• t, thời điểm gửi bản tin định tuyến trong quãng hiện tại
• c, counter - bộ đếm số bản tin trao đổi
C Hoạt động
Thuật toán Trickle tuân theo sáu bước sau:
1) Khi thuật toán được khởi tạo, giá trị I được đặt ngẫu nhiên trong đoạn [Imin, Imax], tức là lớn hơn hoặc bằng Imin và nhỏ hơn hoặc bằng Imax Thuật toán bắt đầu
"quãng" đầu tiên Thông thường để thời gian hội tụ của quá trình định tuyến được nhanh hơn thì có thể đặt I =
Imin 2) Khi một quãng được bắt đầu, Trickle đặt c về 0 và đặt
t là một giá trị thời gian ngẫu nhiên trong nửa khoảng [I/2, I), tức là lớn hơn hoặc bằng I/2 và nhỏ hơn I
"Quãng" kết thúc tại thời điểm I
3) Mỗi khi Trickle nghe thấy một tín hiệu "consistent" thì
nó sẽ tăng couter c
4) Ở thời điểm t, Trickle gửi bản tin nếu và chỉ nếu counter
c nhỏ hơn hằng số dư thừa k
5) Khi "quãng" I kết thúc, Trickle gấp đôi độ dài của
"quãng" I Nếu độ dài của "quãng" mới lớn hơn giá trị Imax thì nó sẽ được gán bằng giá trị Imax
6) Nếu Trickle nghe thấy một sự kiện "inconsistent" và I lớn hơn Imin, Trickle timer sẽ được reset Trickle đặt
I về giá trị Imin và bắt đầu một "quãng" mới như ở bước 2 Nếu I bằng Imin và Trickle nghe thấy tín hiệu
Trang 4"inconsistent" thì nó sẽ không thực hiện gì cả Ngoài
ra Trickle có thể reset dựa vào một sự kiện bên ngoài
("external events")
Các định nghĩa "consitent", "inconsistent" và "external
events" được định nghĩa tùy theo giao thức sử dụng thuật toán
Chúng tôi sẽ trình bày các định nghĩa này ở Phần IV-D Hoạt
động của thuật toán Trickle được khái quát qua Hình 2
D Tích hợp Trickle timer và giao thức SDN-WISE
Trickle timer đã được sử dụng như timer tiêu chuẩn của
giao thức định tuyến RPL [9] và cho thấy hiệu năng tin cậy
Do nhiều sự khác biệt giữa giao thức SDN-WISE và các giao
thức định tuyến khác nên việc ứng dụng thuật toán Trickle cần
những sự thay đổi phù hợp Chúng tôi định nghĩa các yêu cầu
hoạt động của Trickle timer trong giao thức SDN-WISE như
sau:
• Sự kiện "insonsistent" là những sự kiện mà chỉ số RSSI
tại một node vượt quá một mức ngưỡng đặt trước là RSSI
resolution Ví dụ, các sự kiện dẫn tới điều này có thể là
việc thêm hoặc bớt một node vào mạng ( một node phát
hiện một hàng xóm mới ), hoặc một node hàng xóm bị
dịch chuyển Các tác động trên có thể làm thay đổi chỉ
số RSSI vượt mức ngưỡng quy định gây ra "inconsistent"
event
• Nếu không xảy ra các sự kiện trên thì có thể xem như
mạng ở trạng thái "consistent"
• "External events" chúng tôi đưa ra là sự kiện Controller
gửi bản tin Configure để reset Trickle timer của một node
nhất định trong mạng theo ý của quản trị viên
V QUÁ TRÌNH MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG
Để đánh giá hiệu năng của giải pháp đề xuất, chúng tôi
thực hiện quá trình mô phỏng trên công cụ mô phỏng Cooja
simulator của hệ điều hành Contiki Cooja simulator là công
cụ mô phỏng cross-layer cho phép mô phỏng chính xác hiệu
năng của mạng bằng cách sử dụng firmware của các thiết bị
cảm biến thực tế để mô phỏng Chúng tôi sẽ đánh giá hiệu
năng của giải pháp đề xuất tương ứng với các thông số: năng
lượng tiêu thụ của mạng, độ tối ưu kênh truyền, tỉ lệ mất gói
và độ trễ Chúng tôi sẽ sử dụng một giao thức định tuyến khác
là RPL [9] để so sánh ưu, nhược điểm của giải pháp đề xuất
A Kịch bản mô phỏng
Với giao thức SDN-WISE, quá trình trao đổi các bản tin
định tuyến sẽ được điều khiển bởi Trickle timer như đã trình
bày ở phần IV-C Ngoài các bản tin định tuyến gồm các bản
tin Beacon và Report, các node trong mạng gửi bản tin Data
tới Sink node với chu kì mỗi phút một bản tin Đồ hình sử
dụng là dạng lưới (grid) 4 × 3 (11 node và 1 Sink) Thời gian
thực hiện là 60 phút cho mỗi thí nghiệm
Với giao thức RPL, Trickle timer cũng được cài đặt để kiểm
sát quá trình định tuyến Bản tin dữ liệu từ các node gửi tới
Sink được đóng gói trong bản tin UDP Đồ hình mạng và thời
gian thí nghiệm tương tự như giao thức SDN-WISE
Kịch bản mô phỏng được tóm tắt trong bảng II
Hình 2 Thuật toán Trickle
Để đánh giá tác động của Trickle timer đến năng lượng tiêu thụ trung bình của toàn mạng, chúng tôi đã đánh giá độ tối
ưu kênh truyền của hai giao thức theo các giá trị khác nhau của d ở công thức 1 Các Interval doubling d được chúng tôi đánh giá dao động từ 1 đến 8 Trickle timer trong RPL được đưa ra với Interval doubling tiêu chuẩn là d = 8 Khi
đó giá trị "quãng" hiện tại I của Trickle timer sẽ dao động trong đoạn [Imin, Imax]
B Kết quả mô phỏng và đánh giá 1) Năng lượng tiêu thụ trung bình của mạng: Về năng lượng tiêu thụ trung bình của mạng, chúng tôi sử dụng công
cụ Powertrace [11] Powertrace là một phần mềm đo đạc năng lượng tiêu thụ của thiết bị cảm biến dựa trên thời gian hoạt động của các module Từ thời gian hoạt động của các module
và các thông số về dòng và áp của thiết bị có thể tính ra năng lượng tiêu thụ trung bình theo công thức 2
E
V = Imtm+ Iltl+ Ittt+ Irtr+
X
i
Icitci, (2)
trong đó V là hiệu điện thế cung cấp, Im và tm lần lượt là dòng và thời gian hoạt động của MCU Il và tl là cường độ dòng điện và thời gian hoạt động của MCU khi ở trạng thái tiết kiệm năng lượng (low power mode) It và ttlà cường độ dòng và thời gian của radio ở trạng thái truyền, tương tự Irvà
tr là cường độ dòng và thời gian của radio ở trạng thái nhận Ngoài ra Ic i và tc i là dòng và thời gian hoạt động của các phần tử khác như sensor hoặc LED Trong mô hình mô phỏng
Trang 5Bảng II
C ÁC THAM SỐ MÔ PHỎNG
Operating System Contiki Contiki
Communication Controller CoAP
protocols Topology Discovery UDP
In-network processing RPL Forwarding 6LowPAN adaptation CSMA CSMA ContikiMAC RDC - 8Hz ContikiMAC RDC - 8Hz IEEE 802.15.4 PHY IEEE 802.15.4 PHY Minimum Interval 4(seconds) 4(seconds)
Redundancy constant 10 10
k
Default Interval 8 8
doubling
Topology Grid 4 × 3 Grid 4 × 3
Mote type Z1 Z1
Simulation time 60 minutes for each 60 minutes for each
của chúng tôi, các thông số về dòng và áp sẽ được lấy theo
Datasheet của thiết bị Z1 MCU [13] và Radio CC2420 [14] ,
do không sử dụng các thiết bị cảm biến nên Ic i và tc i sẽ đều
bằng 0
Hình 3 cho thấy năng lượng tiêu trung bình của mạng bởi
hai giao thức Trong đó năng lượng tiêu thụ chủ yếu bởi phần
tử Radio, thể hiện qua hai thông số Transmit và Listen Thuật
toán Trickle cho thấy có thể giảm đáng kể năng lượng tiêu
thụ của Radio ở cả hai giao thức SDN-WISE và RPL
(SDN-WISE-Trickle là giao thức SDN-WISE được tích hợp Trickle
timer còn SDN-WISE được dùng timer tiêu chuẩn với chu kì
gửi bản tin Beacon là 10 giây)
2) Mức độ tối ưu hóa tài nguyên kênh truyền: Mức tối ưu
hóa tài nguyên kênh truyền (channel utilization) được tính theo
công thức
RadioT X(%) = tt
tm+ tl
trong đó tt và tl tương ứng như trong công thức 2 Tỉ lệ tối
ưu về kênh truyền RadioT X đại diện cho tỉ lệ giữa thời gian
Radio ở chế độ truyền so với tổng thời gian hoạt động của
MCU Tỉ lệ này càng nhỏ thì năng lượng tiêu thụ bởi hoạt
động của Radio càng ít
Hình 4 cho thấy giao thức SDN-WISE-Trickle đạt được khả
năng tối ưu về kênh truyền tốt hơn giao thức RPL Kết quả
có thể được giải thích thông qua Bảng III và Hình 5 Trong
đó giao thức SDN-WISE với cơ chế định tuyến đã được tập
trung tại Controller nên trong bản tin định tuyến các trường
liên quan đến thông tin định tuyến đã được lược bỏ, cho độ dài
header của bản tin ngắn hơn so với giao thức RPL (48 bytes so
với 102 bytes) Với các thông số tương ứng về tốc độ bit của
Radio ta có thể tính được thời gian Radio truyền hết một đơn
vị bản tin tsend và thời gian hoàn tất việc truyền hết bản tin
tT X/strobe theo cơ chế của tại lớp MAC là ContikiMAC [10]
Để đánh giá ảnh hưởng của Trickle timer lên hai giao thức,
Hình 3 Năng lượng tiêu thụ trung bình của mạng bới MCU và Radio
Hình 4 Độ tối ưu kênh truyền
chúng tôi thay đổi thông số Interval doubling của thuật toán
từ giá trị 1 đến 8 Kết quả cho thấy giao thức SDN-WISE luôn tối ưu hơn về kênh truyền với các giá trị tham số khác nhau của thuật toán Trickle
3) Độ trễ và tỉ lệ mất gói: Chúng tôi đánh giá các thông
số về end-to-end delay và end-to-end PDR, trong đó End-to-end delay là trễ trung bình của các bản tin data gửi từ các node đến Sink, End-to-end PDR là tỉ lệ số bản tin data nhận được tại Sink trên tổng số bản tin gửi từ các node Kết quả
Hình 5 Với ContikiMAC, các bản tin broadcast được gửi lặp đi lặp lại nhiều lần trong một khoảng thời gian strobe time Ví dụ n p = 5 trong hình trên, dẫn tới t T X/strobe = t send × n p = t send × 5, trong đó t send =
P acket length/Radio bitrate
Trang 6Bảng III
Đ Ộ DÀI BẢN TIN ĐỊNH TUYẾN VÀ THỜI GIAN R ADIO HOÀN TẤT TRUYỀN
MỘT BẢN TIN BROADCAST
Parameters SDN-WISE Beacon packet RPL DIO packet
Strobe time 127.4 ms 127.4 ms
Radio bitrate 250 kbps 250 kbps
Packet length 48 bytes 102 bytes
t send 1.536 ms 3.264 ms
n p 49 packets 30 packets
tT X/strobe 75.264 ms 97.92 ms
Hình 6 Thời gian trễ đầu-cuối trung bình
Hình 7 Tỉ lệ nhận gói đầu cuối trung bình (PDR)
được thể hiện qua Hình 6 và 7 Với giao thức SDN-WISE, cơ chế chuyển tiếp của bản tin đơn giản do quá trình tính toán định tuyến phụ thuộc vào Controller, các node chỉ có chức năng chuyển tiếp bản tin nhận được nên sẽ cho độ trễ nhỏ hơn Nhưng bù lại với cơ chế quản lý hàng xóm và tính toàn định tuyến thì giao thức RPL cho tỉ lệ PDR cao hơn Tương ứng với tham số Interval doubling 1, tức là độ dài quãng
Imax = 2 × Imin, nghĩa là mật độ các bản tin trao đổi sẽ giày hơn do đó gây ra hiệu năng toàn mạng giảm Giá trị tiêu chuẩn của tham số Interval doubling được đưa ra bởi giao thức RPL là 8, ở đó hiệu năng của mạng có thể được đảm bảo
VI KẾT LUẬN
Kết quả mô phỏng cho thấy thuật toán Trickle đã giúp giảm năng lượng tiêu thụ của mạng qua việc giảm số lượng bản tin định tuyến trao đổi Với Trickle timer, giao thức SDN-WISE
đã giảm được số lượng trao đổi bản tin Beacon và Report, ngoài ra việc gửi bản tin ngẫu nhiên trong khoảng thời gian [I/2,I) của Trickle timer cũng giúp giảm việc xảy ra va đập khi các node trong mạng gửi bản tin trao đổi, do đó có thể tránh việc gửi lại các bản tin không cần thiết
TÀI LIỆU [1] RFC4919 IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals.
N Kushalnagar, G Montenegro, C Schumacher August 2007.
[2] [Online] https://www.zigbee.org/
[3] L Galluccio, S Milardo, G Morabito, and S Palazzo "SDN-WISE: Design, prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks" Proc of IEEE INFOCOM 2015 April 2015 [4] S Costanzo, L Galluccio, G Morabito and S Palazzo, "Software Defined Wireless Networks: Unbridling SDNs," 2012 European Workshop on Software Defined Networking, Darmstadt, 2012, pp 1-6.
[5] C Buratti, A Stajkic, G Gardasevic, S Milardo, M.D Abrignani, S Mijovic, G Morabito, and R Verdone "Testing Protocols for the Internet
of Things on the EuWIn Platform" in IEEE Internet of Things Journal 2015
[6] T Luo, H.-P Tan, and T Q S Quek Sensor OpenFlow: "Enabling Software-Defined Wireless Sensor Networks" IEEE Communications Letter Vol 16, No 11, pp: 1896–1899 November 2012.
[7] RFC6206 The Trickle Algorithm P Levis, T Clausen, J Hui, O Gnawali,
J Ko March 2011.
[8] Nguyen Quang Hieu, Nguyen Huu Thanh, Truong Thu Huong, Ngo Quynh Thu, "Integrating Trickle Timing in Software Defined WSNs for Energy Efficiency", 2018 IEEE Seventh International Conference on Communications and Electronics (ICCE) (IEEE ICCE 2018), 18th-20th July 2018, Hue City, Vietnam
[9] RFC6550 RPL: IPv6 Routing Protocol for Low-Power and Lossy Net-works T Winter, Ed., P Thubert, Ed., A Brandt, J Hui, R Kelsey, P Levis, K Pister, R Struik, JP Vasseur, R Alexander March 2012.
[10] A Dunkels "The ContikiMAC Radio Duty Cycling Protocol" SICS Technical Report T2011:13, ISSN 1100-3154, December 2011.
[11] A Dunkels, J Eriksson, N Finne, and N Tsiftes "Powertrace: Network-Level Power Profiling for Lowpower Wireless Networks" Technical Report T2011:05, SICS, 2011.
[12] A Dunkels, B Gronvall and T Voigt, "Contiki - a lightweight and flexible operating system for tiny networked sensors," 29th Annual IEEE International Conference on Local Computer Networks, 2004, pp 455-462.
[13] [Online] http://zolertia.sourceforge.net/wiki/images/e/e8/Z1_RevC_Datasheet.pdf [14] [Online] http://www.ti.com/lit/ds/symlink/cc2420.pdf