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

Một phần của tài liệu Tìm hiểu một số giao thức định tuyến trong mạng cảm biến không dây (Trang 44 - 49)

Giao thức thông tin qua sự thỏa thuận giũa các node (SPIN) là họ các giao thức dựa trên thỏa thuận để phát thông tin trong mạng WSN. Đố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. Các giao thức đơn giản nhất là flooding và gossiping. Flooding đòi hỏi mỗi node gởi một bản sao gói dữ liệu đến tất cả các node lân cận với nó cho đến khi thông tin đến được đích. Gossiping dùng tính ngẫu nhiên để giảm số bản sao và yêu cầu chỉ có một node nhận đượ một gói dữ liệu và sau đó chuyển tiếp một cách ngẫu nhiên đến một node được chọn trước.

Sự đơn giản của flooding và gossiping do qui luật hoạt động đơn giản và không đòi hỏi cấu hình phức tạp. Tuy nhiên, đặc điểm các giao thức này là sự trể gói làm giảm chất lượng mạng và lưu lượng tải, gây ra bởi sự bùng nổ các gói và chồng lấn các gói trong cùng vùng phân bố. Các giao thức đơn giản như flooding và gossiping 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. Đối tượng chính của nhóm giao thức SPIN là giải quyết hạn chế của các giao thức truyền thống. Nguyên lý cơ bản của họ giao thức này là thỏa thuận dữ liệu và sự thích nghi tài nguyên mạng. 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 phát dữ liệu giữa các node mạng. SPIN dùng các gói như là mô tả trước khi phát gói dữ liệu thực. 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. Do đó gói dữ liệu thực chỉ được gởi cho các gói quan tâm, hạn chế khả năng bị bùng nổ gói như trong flooding và giảm đáng kể lưu lượng dư thừa trong mạng. Ngoài ra việc dùng khóa mô tả dữ liệu (meta data descriptors) loại trừ khả năng chồng lấn 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 mạng (Resource adaptation) cho phép các node dùng giao thức SPIN điều chỉnh hoạt động theo trạng thái hiện 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 xung thấp, node sẻ giảm hay ngừng hoàn toàn các hoạt động như chuyển tiếp gói cho các node khác. Việc này sẽ được các node còn năng lượng nhiều hơn thực hiện. SPIN giúp kéo dài thời gian sống của node.

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. Đầ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 các gói ADV chứa mô tả dữ liệu thực đến các

node xung quanh. Dạng thứ 2 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ứ 3 là DATA, chứa dữ liệu thực. Gói DATA thường 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.

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

Hoạt động cơ bản của giao thức SPIN được minh họa trên hình 2.7. Node nguồn là 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ả trong gói ADV. Vì thế B gởi gói REQ cho A. Sau đó A gởi gói dữ liệu thực cho B. Node B sau khi nhận dữ liệu lại phát gói ADV cho các node C,D,E,F,G. 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

liệu cho C,E,G. Quá trình diễn ra cho đến khi gói dữ lệiu đến được đích mong muốn.

Hình 2.8.Thủ tục bắt tay trong giao thức SPIN-PP

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 như trên hình 2.8. Bước 1, node A có dữ liệu cần phát vì thế 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 thực đó 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 B. Giao thức này thỏa thuận giữa các node để tránh nguy cơ bị bùng nổ các gói và vấn đề chồng lấn trong giao thức flooding và gossiping. Theo mô phỏng hiệu quả gấp 3.5 lần so với flooding. Giao thức còn đạt tốc độ dữ liệu cao gần tối ưu so với lý thuyết.

Một loại khác là SPIN-EC, kết hợp kỹ thuật quan sát nguồn năng lượng dựa trên mức ngưỡng. Một node chỉ tham gia vào hoạt động 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. Khi node nhận được một gói quảng cáo, nó không gởi thông điệp REQ nếu nó xác định nguồn năng lượng không đủ để gởi gói REQ và nhận gói DATA. Kết quả mô phỏng cho thấy giao thức SPIN-EC tăng 60% dữ liệu trên một đơn vị năng lượng so với flooding.

Cả SPIN-PP và SPIN-EC điều được thiết kế cho liên lạc điểm-diểm. Một loại thứ 3, SPIN-BC được thiết kế cho mạng quảng bá. Trong các loại mạng này, tất cả các node dùng chung một kênh truyền. Khi một node gởi một gói dữ liệu qua kênh quảng bá, gói sẻ được nhận bởi tất cả các node khác trong phạm vi của node. Giao thức SPIN-BC không yêu cầu các node sau khi nhận thông điệp ADV phải đáp lại ngay lập tức gói REQ. Thay vào đó node chờ một khoảng thời gian, trong khi nó

giám sát 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), node sẻ hủy gói yêu cầu của nó, do đó loại bỏ khả năng các gói REQ dư thừa 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, mặc dù có thể nó nhận 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ả trên hình 2.9. Trong mô hình này, node có dữ liệu là node A, gởi một gói ADV để giới thiệu dữ liệu của nó cho các node lân cận. Tất cả các node nghe thấy thông điệp này, nhưng node C phát trước gói REQ để yêu cầu gói dữ liệu từ node A. Vì đây là gói phát quảng bá nên các node B và D nghe được gói này và ngưng việc phát gói REQ của nó. Node E và 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 phát gói dữ liệu cho C. Tất cả các node điều nhận được gói này. 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.

Hình 2.9.Giao thức SPIN – BC

Giao thức cuối cùng thuộc họ SPIN là giao thức SPIN-RL, phát triển từ 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 nhận gói dữ liệu nhưng sau khoảng thời gian rảnh trước nó vẫn chưa nhận được thì node sẻ yêu cầu lại lần nữa. Hơn nữa, độ tin cậy 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 trước khi đáp ứng cho những yêu cầu khác cho dữ liệu tương tự.

Họ giao thức SPIN chỉ ra các nhược điểm chính của 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 có nhu cầu điều nhận được gói quảng bá và sau ñó là gói dữ liệu mong muốn. Tình huống đó có thể xảy ra nếu các node trung gian 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 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 Tìm hiểu một số giao thức định tuyến trong mạng cảm biến không dây (Trang 44 - 49)