Giao thức định tuyến trong WSNs

Một phần của tài liệu Nghiên cứu và mô phỏng giao thức định tuyến flooding trong WSN (Trang 52)

4.2.1 Flooding và Gossiping.

Flooding là một kỹ thuật thường xuyờn được sử dụng để tỡm ra đường đi và phổ biến thụng tin trong cỏc mạng cú dõy và khụng dõy adhoc. Chiến lược định tuyến đơn giản và khụng đũi hỏi cấu hỡnh mạng tốn kộm và thuật toỏn tỡm đường phức tạp. Flooding dựng phương phỏp reactive (phản ứng lại), tức là khi mỗi node nhận được một gúi dữ liệu nú sẽ gửi đến tất cả cỏc node xung quanh nú. Sau khi truyền, một gúi đi theo tất cả cỏc đường cú thể được nếu khụng bị mất kết nối, gúi sẽ đến đớch. Hơn nữa khi cấu hỡnh mạng thay đổi, việc truyền gúi sẽ theo những tuyến mới. Hỡnh 4.3 minh họa nguyờn lý Flooding trong mạng truyền thụng dữ liệu. Flooding dạng đơn giản nhất cú thể làm cho cỏc gúi bị sao chộp lại một cỏch khụng giới hạn khi đi qua cỏc node mạng.

Lờ Th Thanh Huyn 10A-ĐTVT-VH

Hỡnh 4.3. Flooding cỏc gúi dữ liệu trong mạng thụng tin.

Để ngăn chặn một gúi tin lưu thụng vụ hạn trong mạng, một trường gọi là hop count được bổ sung vào gúi tin. Ban đầu, hop count được đặt giỏ trị xấp xỉ đường kớnh mạng. Khi gúi đi qua mạng hop count bị giảm đi một sau mỗi bước (một bước được tớnh là một lần truyền từ node này sang node kia). Khi hop count về 0, gúi tin sẽ bị hủy bỏ. Một phương phỏp khỏc cũng được sử dụng đú là việc thờm vào gúi tin một trường time-to-live (thời gian sống), trường này ghi lại thời gian mà một gúi tin được phộp tồn tại trong mạng. Khi thời gian kết thỳc, gúi tin sẽ bị hủy bỏ. Flooding cú thể được cải tiến bằng cỏch xỏc nhận gúi dữ liệu duy nhất, tức là mỗi node mạng sẽ bỏ qua những gúi đó nhận rồi.

Mặc dự, nguyờn lý hoạt động đơn giản và phự hợp với cấu hỡnh mạng cú chi phớ thấp nhưng Flooding gặp nhiều khú khăn khi ỏp dụng cho mạng WSNs. Nhược điểm đầu tiền của Flooding là gặp phải vấn đề traffic implosion (bựng nổ lưu lượng). Như trờn hỡnh 4.4 hiện tượng khụng mong muốn gõy ra do bản sao của cựng một gúi cựng gửi đến một node.

Lờ Th Thanh Huyn 10A-ĐTVT-VH

Hỡnh 4.4. Bựng nổ lưu lượng do Flooding.

Nhược điểm thứ hai là vấn đề overlap (chồng lấn) được minh họa trờn hỡnh 4.5. Overlaping xảy ra khi hai node bao phủ vựng giống nhau gửi cỏc gúi chứa thụng tin tương tự nhau đến cựng một node. Nhược điểm thứ ba và là nhược điểm nguy hiểm nhất của Flooding là resource blindness (sự mự quỏng tài nguyờn). Quy luật đơn giản của Flooding khụng xem xột đến nguồn năng lượng hạn chế của cỏc node. Năng lượng của cỏc node cú thể suy giảm nhanh chúng, giảm đỏng kể thời gian sống của mạng.

Hỡnh 4.5. Vấn đề overlap lưu lượng do Flooding.

Để giải quyết nhược điểm nờu trờn một hướng mới cho định tuyến là phương phỏp gossiping. Tương tự như Flooding, Gossiping dựng quy luật đơn giản và khụng đũi hỏi cấu hỡnh mạng đắt tiền hay thuật toỏn định tuyến phức tạp. Khỏc với Flooding, gúi dữ liệu được phỏt quảng bỏ đến tất cả cỏc node, Gossiping chỉ yờu cầu mỗi node gửi gúi dữ liệu vừa nhận được đến một node được lựa chọn ngẫu nhiờn. Khi nhận được gúi, node lõn cận lại chuyển tiếp gúi dữ liệu đú đến một node lựa chọn

Lờ Th Thanh Huyn 10A-ĐTVT-VH

ngẫu nhiờn khỏc. Quỏ trỡnh cứ tiếp tục cho đến khi gúi đến được đớch hay hop count

bị giới hạn. Gossiping trỏnh được vấn đề bựng nổ lưu lượng mạng bằng cỏch giới hạn số gúi mà mỗi node gửi đến cỏc node lõn cận nú. Tuy nhiờn độ trễ gúi tại đớch đến cú thể rất lớn, đặc biệt trong mạng cú kớch thước lớn do chỉ cú một liờn kết được tạo thành tại một thời điểm.

4.2.2 Giao thức định tuyến thụng tin qua sự thỏa thuận (SPIN – Sensor Protocols for Information via Negotiation). Protocols for Information via Negotiation).

4.2.2.1 Nguyờn lý hoạt động.

Giao thức thụng tin qua sự thỏa thuận (SPIN) là họ cỏc giao thức dựa trờn thỏa thuận để phỏt thụng tin trong mạng WSNs. Đối tượng chớnh của cỏc giao thức này là tớnh hiệu quả của việc phỏt thụng tin từ một node nào đú đến tất cả cỏc node khỏc trong mạng. Giao thức đơn giản như Flooding và Gossiping thường được đề suất để phỏt thụng tin trong mạng WSNs. Flooding yờu cầu mỗi node sẽ gửi một bản sao của gúi dữ liệu đến tất cả cỏc node lõn cận cho đến khi thụng tin được gửi đến tất cả cỏc node trong mạng. Mặt khỏc, Gossiping sử dụng tớnh ngẫu nhiờn để giảm số bản sao của gúi dữ liệu và yờu cầu chỉ cú một node nhận được một gúi dữ liệu và sau đú chuyển tiếp đến một node được lựa chọn ngẫu nhiờn.

Cả hai giao thức Flooding và Gossiping đều sử dụng cỏc nguyờn tắc chuyển tiếp đơn giản và khụng đũi hỏi cấu hỡnh phức tạp. Tuy nhiờn, hai giao thức này cú sự trễ gúi lớn làm giảm chất lượng của mạng và lưu lượng tải, gõy sự bựng nổ lưu lượng và chồng lấn cỏc gúi trong cựng một vựng phõn bố. Cỏc giao thức đơn giản như Flooding và Gossiping đều khụng tớnh đến nguồn năng lượng hiện tại làm giảm một cỏch đỏng kể thời gian sống của mạng.

Để giải quyết nhược điểm của cỏc giao thức truyền thống người ta sử dụng giao thức định tuyến SPIN. Nguyờn lý cơ bản của họ giao thức này là sự thỏa thuận dữ liệu và sự thớch nghi tài nguyờn mạng. Nguyờn lý như sau:

 Thỏa thuận dữ liệu (data negotiation) yờu cầu cỏc node phải “học” nội dung của dữ liệu trước khi cú bất kỳ dữ liệu nào được phỏt giữa cỏc node mạng. SPIN sử dụng data naming (dữ liệu đặt tờn), theo đú cỏc node tiến hành kết hợp metadata (siờu dữ liệu) với dữ liệu tạo ra dữ liệu mụ tả để thực hiện thỏa thuận trước khi phỏt dữ liệu thực tế. Cỏc node thu khi nhận được gúi quảng cỏo nếu muốn nhận gúi dữ

Lờ Th Thanh Huyn 10A-ĐTVT-VH

liệu thực phải gửi một gúi yờu cầu cho node nguồn. Nhờ đú, gúi dữ liệu thực chỉ được gửi đến cỏc node quan tõm, hạn chế khả năng bị bựng nổ lưu lượng như trong Flooding và giảm đỏng kể lưu lượng dư thừa trong mạng. Hơn nữa, việc sử dụng cỏc dữ liệu meta descriptor loại bỏ khả năng overlap, vỡ cỏc node chỉ yờu cầu dữ liệu cần quan tõm.

 Sự thớch ứng tài nguyờn (Resource adaptation) cho phộp cỏc node sử dụng giao thức SPIN điều chỉnh hoạt động theo trạng thỏi năng lượng hiện tại. Mỗi node trong mạng cú thể theo dừi sự tiờu thụ năng lượng trước khi phỏt hay xử lý dữ liệu. Khi mức năng lượng xuống thấp, node sẽ giảm hay ngừng hoàn toàn cỏc hoạt động như việc chuyển tiếp gúi dữ liệu đến cỏc node khỏc. Và cỏc node cú năng lượng nhiều hơn sẽ tiến hành chuyển tiếp gúi tin. Do đú, SPIN giỳp kộo dài thời gian sống của mạng.

SPIN thực hiện việc thỏa thuận và truyền dữ liệu thụng qua 3 dạng thụng điệp sau:

 Dạng thụng điệp đầu tiờn là gúi ADV, được dựng để quảng cỏo cho gúi dữ liệu mới mà node muốn phỏt. Node cú dữ liệu sẽ phỏt gúi ADV chứa mụ tả dữ liệu đến cỏc node lõn cận.

 Dạng thụng điệp thứ hai là gúi REQ, được dựng để yờu cầu node nguồn phỏt gúi dữ liệu đó quảng cỏo trước đú. Một node mạng nhận được gúi ADV và thể hiện mong muốn nhận gúi dữ liệu thực bằng cỏch phỏt đi thụng điệp REQ.

 Dạng thụng điệp thứ 3 là DATA, chứa dữ liệu thực. Gúi DATA thường cú kớch thước lớn hơn cỏc gúi ADV và REQ. Việc hạn chế cỏc gúi dư thưa làm giảm đỏng kể năng lượng tiờu thụ tại cỏc node.

Hoạt động cơ bản của giao thức SPIN được minh họa chi tiết trờn hỡnh 4.6. Node nguồn A, phỏt gúi ADV quảng cỏo gúi dữ liệu mà nú muốn phỏt. Node B nhận được gúi ADV này. Node B thể hiện mong muốn nhận gúi dữ liệu được quảng cỏo theo như mụ tả của trong gúi ADV. Vi thế node B gửi gúi REQ cho node A. Sau đú node A gửi gúi dữ liệu thực cho node B. Node B sau khi nhận được gúi dữ liệu lại phỏt gúi ADV cho cỏc node C, D, E, F, G. Giả sử chỉ cú 3 node C, E, G quan tõm đến gúi này. Cỏc node này phỏt thụng điệp REQ cho node B. Ngay sau đú node B gửi dữ

Lờ Th Thanh Huyn 10A-ĐTVT-VH

liệu cho cỏc node C, E, G. Quỏ trỡnh cứ tiếp tục diễn ra cho đến khi gúi dữ liệu đến được đớch mong muốn.

Hỡnh 4.6. Hoạt động cơ bản của giao thức SPIN.

4.2.2.2 Một số loại giao thức SPIN thụng dụng.

 SPIN – PP (SPIN – Point – to – point).

Dạng đơn giản nhất của họ giao thức SPIN là SPIN-PP được thiết kế cho mạng liờn lạc điểm – điểm (point – to - point). Thủ tục bắt tay ba bước được chỉ rừ trờn hỡnh 4.7:

Hỡnh 4.7: Thủ tục bắt tay trong giao thức SPIN – PP.

 Bước 1, Node A cú dữ liệu cần phỏt vỡ thế node A phỏt gúi ADV quảng cỏo cho gúi dữ liệu thực của mỡnh.

 Bước 2, Node B quan tõm đến gúi dữ liệu đú liền gửi gúi REQ yờu cầu dữ liệu.

Lờ Th Thanh Huyn 10A-ĐTVT-VH

Giao thức này thỏa thuận giữa cỏc node để trỏnh nguy cơ bị bựng nổ lưu lượng và vấn đề overlap trong giao thức Flooding và Gossiping. Theo kết quả mụ phỏng của SPIN – 1, giao thức này giảm 3.5 lần mức tiờu thụ năng lượng so với Flooding. Giao thức này cũn đạt được tốc độ cao gần tối ưu so với lý thuyết.

 SPIN – EC.

Một loại khỏc của giao thức này là giao thức SPIN – EC, kết hợp chặt chẽ kỹ thuật quan sỏt năng lượng dựa trờn mức ngưỡng. Một node chỉ tham gia vào cỏc hoạt động của giao thức nếu node cú thể hoàn thành tất cả cỏc hoạt động mà khụng làm giảm năng lượng dưới mức cho phộp. Do đú, nếu một node nhận được một gúi quảng cỏo, nú sẽ khụng gửi thụng điệp REQ nếu nú xỏc định rằng nguồn năng lượng hiện tại của nú khụng đủ cao để gửi thụng điệp REQ và nhận gúi DATA tương ứng. Kết quả mụ phỏng cho thấy giao thức SPIN – EC cú thể truyền hơn 60% dữ liệu trờn một đơn vị năng lượng so với Flooding. Hơn nữa, dữ liệu cho thấy SPIN – EC tiến rất gần với lý tưởng về số lượng dữ liệu cú thể truyền trờn một đơn vị năng lượng.

 SPIN – BC.

Cả hai giao thức SPIN – PP và SPIN – EC đều được thiết kế cho liờn lạc điểm. Một loại thứ 3 của họ giao thức SPIN, SPIN – BC được thiết kế cho mạng quảng bỏ. Trong cỏc mạng này, cỏc node chia sẻ một kờnh truyền duy nhất cho việc giao tiếp. Trong giao thức này, khi một node gửi một gúi dữ liệu qua kờnh quảng bỏ thỡ gúi dữ liệu này sẽ được nhận bởi tất cả cỏc node khỏc trong một phạm vi nhất định của node gửi. Giao thức SPIN – BC tận dụng khả năng phỏt súng của kờnh và khụng yờu cầu một node sau khi nhận được thụng điệp ADV phải đỏp lại ngay lập tức gúi REQ. Thay vào đú cỏc node đợi trong khoảng một khoảng thời gian nhất định, trong thời gian đú nú theo dừi kờnh truyền. Nếu node nghe thấy thụng điệp REQ được phỏt ra từ một node khỏc (nghĩa là node kia mong muốn nhận được gúi dữ liệu từ node nguồn) và node sẽ hủy bỏ gúi REQ của nú, do đú loại bỏ được khả năng dư thừa của cỏc gúi REQ trong mạng. Khi nhận được gúi REQ từ một node nào đú trong mạng node nguồn sẽ gửi thụng điệp DATA chỉ một lần, ngay cả khi nú nhận được nhiều gúi yờu cầu giống nhau từ cỏc node mạng.

Lờ Th Thanh Huyn 10A-ĐTVT-VH

Hỡnh 4.8. Giao thức SPIN – BC.

Trong mụ hỡnh này, node cú dữ liệu là node A, gửi một gúi ADV để mụ tả dữ liệu của nú cho cỏc node lõn cận. Tất cả cỏc node đều nghe thấy thụng điệp này nhưng node C là node đầu tiờn phỏt gúi REQ để yờu cầu dữ liệu thực từ node A. Vỡ đõy là gúi phỏt quảng bỏ nờn cỏc node B và D cũng nghe được gúi này và ngưng việc phỏt gúi REQ của nú. Node E và node F khụng quan tõm và bỏ qua cỏc gúi này. Khi nghe được gúi REQ từ node C, node A sẽ phỏt gúi dữ liệu cho node C. Tất cả cỏc node trong phạm vi truyền của node A đều nhận được gúi dữ liệu này, bao gồm cả node E và F. Trong mụi trường quảng bỏ, SPIN – BC giảm hao phớ năng lượng bằng cỏch hạn chế cỏc gúi dư thừa trong mạng.

 Giao thức SPIN – RL.

Giao thức cuối cựng thuộc họ giao thức SPIN là giao thức SPIN – RL, mở rộng khả năng cho giao thức SPIN – BC để cải thiện độ tin cậy và lỗi thụng điệp do suy hao kờnh truyền. Cỏc gúi ADV và REQ được phỏt quảng bỏ lặp lại theo chu kỳ. Nếu một node gửi yờu cầu REQ nhận gúi dữ liệu nhưng sau khoảng thời gian định trước nú vẫn chưa nhận được thỡ node này sẽ gửi yờu cầu lại một lần nữa. Hơn nữa, độ tin cậy được cải thiện cũn do việc phỏt lại gúi mụ tả dữ liệu metadata theo chu kỳ. Cỏc node SPIN – RL hạn chế số lần phỏt lại thụng điệp DATA. Sau khi gửi thụng điệp DATA, node chờ hết một khoảng thời gian nhất định trước khi đỏp ứng cho cỏc yờu cầu khỏc cho cỏc thụng điệp dữ liệu tương tự.

Họ giao thức SPIN chỉ ra cỏc nhược điểm chớnh của 2 giao thức Flooding và Gossiping. SPIN cú hiệu suất sử dụng năng lượng và tốc độ phõn phỏt dữ liệu cao hơn Flooding và Gossiping. Tuy nhiờn, sự thỏa thuận cục bộ cú thể khụng đủ để bao bọc hết toàn bộ mạng để tất cả cỏc node cho nhu cầu đều nhận được gúi quảng bỏ và sau đú là gúi dữ liệu mong muốn. Trường hợp này cú thể xảy ra nếu cỏc node trung

Lờ Th Thanh Huyn 10A-ĐTVT-VH

tõm khụng quan tõm đến gúi dữ liệu và bỏ qua thụng điệp ADV tương ứng sau khi nhận được gúi này. Điều này hạn chế việc sử dụng của giao thức SPIN trong cỏc ứng dụng đặc biệt như giỏm sỏt phỏt hiện xõm nhập và bảo vệ cỏc cụng trỡnh trọng yếu.

4.2.3 Phõn nhúm phõn cấp thớch ứng năng lượng thấp (LEACH - Low-Energy Adaptive Clustering Hierarchy).

LEACH là một thuật toỏn định tuyến được thiết kế để thu thập và phõn phối dữ liệu đến cỏc bộ gúp dữ liệu, thụng thường là một trạm gốc. 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ụ tại cỏc node mạng.

 Sử dụng sự tập hợp dữ liệu để giảm bớt số thụng điệp cần truyền đi.

Để đạt được những mục tiờu này, LEACH xõy dựng cấu trỳc mạng thành cỏc cluster. Mỗi cluster được quản lý bởi cỏc node chớnh gọi là cluster head. LEACH lựa chọn ngẫu nhiờn một số node cảm biến để trở thành cỏc node chớnh và quay vũng vai trũ này để phõn bố đều tải năng lượng giữa cỏc node cảm biến trong mạng và thực hiện cỏc nhiệm vụ khỏc nhau. Nhiệm vụ đầu tiờn là cỏc node chớnh tập hợp dữ liệu đến từ cỏc node khỏc trong nhúm của chỳng. Sau khi thu thập dữ liệu, cỏc node chớnh cố gắng loại bỏ những dư thừa giữa cỏc giỏ trị tương quan. Nhiệm vụ thứ hai của cluster head là truyền trực tiếp dữ liệu tập hợp được đến trạm gốc nhằm mục đớch giảm số lượng thụng tin truyền về trạm gốc. Việc truyền dữ liệu tổng hợp được thực hiện thụng qua phương thức truyền đơn chặng (single hop). Mụ hỡnh mạng sử dụng giao thức LEACH được mụ tả trờn hỡnh 4.9. Nhiệm vụ thứ 3 của cluster head là tạo ra một bộ định thời TDMA, và cấp cho mỗi node một khe thời gian khi nú truyền phỏt.

Một phần của tài liệu Nghiên cứu và mô phỏng giao thức định tuyến flooding trong WSN (Trang 52)