Giao thức định tuyến thông tin qua sự thỏa thuận (SPIN –

Một phần của tài liệu NGHIÊN CỨU VÀ MÔ PHỎNG GIAO THỨC TÌM ĐƯỜNG TRONG MẠNG CẢM BIẾN KHÔNG DÂY (Trang 61 - 66)

1. Nội dung thiết kế tốt nghiệp:

4.2.2Giao thức định tuyến thông tin qua sự thỏa thuận (SPIN –

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ữ 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ự thich ứ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

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

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ữ 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.

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.

• Bước 3, Node A đáp ứng yêu cầu đó và gửi gói dữ liệu thực cho node B

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.

Hoạt động cơ bản của giao thức SPIN – BC được miêu tả chi tiết trên hình 4.8.

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. (adsbygoogle = window.adsbygoogle || []).push({});

 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 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.

Một phần của tài liệu NGHIÊN CỨU VÀ MÔ PHỎNG GIAO THỨC TÌM ĐƯỜNG TRONG MẠNG CẢM BIẾN KHÔNG DÂY (Trang 61 - 66)