Đề tài Tổng quan về mạng cảm ứng không dây Wireless Sensor Netwơrk - WSN

LỜI NÓI ĐẦU Nhờ có những tiến bộ trong lĩnh vực truyền thông vô tuyến trong những năm gần đây, mạng cảm biến không dây (Wireless Sensor Netwơrk-WSN) với giá thành rẻ, tiêu thụ ít năng lượng và đa chức năng nên rất được chú ý trong lĩnh vực thông tin. Hiện nay, người ta đang tập trung triển khai các mạng cảm ứng không dây để áp dụng vào trong cuộc sống hàng ngày. Mạng cảm ứng được ứng dụng rất nhiều trong đời sống hàng ngày, y tế, kinh doanh Tuy nhiên, mạng cảm ứng không dây đang phải đối mặt với rất nhiều thách thức, một trong những thách thức lớn nhất trong mạng cảm ứng không dây là nguồn năng lượng bị giới hạn, rất nhiều nghiên cứu đang tập trung vào việc cải thiện khả năng sử dụng hiệu quả năng lượng trong từng lĩnh vực khác nhau. Trong tương lai các ứng dụng của mạng cảm ứng không dây sẽ trở thành một phần không thể thiếu trong cuộc sống. Trong đồ án này sẽ giới thiệu một cách tổng quan về mạng cảm ứng không dây, các giao thức định tuyến phổ biến, đồng thời sử dụng phần mềm để mô phỏng và đánh giá 3 giao thức cơ bản trong mạng cảm biến không dây. Đó là các giao thức LEACH, LEACH-C, STAT_CLUSTER. CHƯƠNG I TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY WSN I.1 Giới thiệu Mạng cảm biến không dây là một trong những công nghệ thông tin mới phát triển nhanh chóng nhất, với nhiều ứng dụng trong nhiều lĩnh vực: điều khiển quá trình công nghiệp, bảo mật và giám sát, cảm biến môi trường, kiểm tra sức khỏe Hình 1.1: Biểu tượng của mạng như mô hình trên Mạng cảm biến không dây WSN là mạng liên kết các node với nhau nhờ sóng radio. Nhưng trong đó, mỗi node mạng bao gồm đầy đủ các chức năng để cảm nhận, thu thập, xử lý và truyền dữ liệu. Các node mạng thường là các thiết bị đơn giản, nhỏ gọn, giá thành thấp , và có số lượng lớn, được phân bố không có hệ thống trên phạm vi rộng, sử dụng nguồn năng lượng (pin) hạn chế thời gian hoạt động lâu dài. Các mạng vô tuyến khác bao gồm mạng cellular, mạng WLAN, và mạng phạm vi ở nhà (Bluetooth). Các gói chuyển từ mạng này qua mạng khác sẽ được hỗ trợ internet không dây. Mạng cellular đích đến là tại những người sử dụng với tính di động cao. Tốc độ dữ liệu cho tính di động tại mức này bị giới hạn do dịch tần Doppler. Mặt khác, WLAN có tốc độ dữ liệu cao. Bluetooth và Home RF đích đến là tại nhà. Tốc độ dữ liệu mong muốn có dải radio thấp hơn và ngắn hơn nhiều, tính di động cũng thấp. MỤC LỤC LỜI NÓI ĐẦU 1 CHƯƠNG I: TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY WSN 2 I.1 Giới thiệu 2 I.2 Cấu trúc mạng WSN 3 I.2.1 Cấu trúc 1 node mạng WSN 3 I.2.2 Cấu trúc mạng cảm biến không dây 5 I.3 Kiến trúc giao thức mạng WSN 6 I.4 Các yếu tố ảnh hưởng đến mạng WSN 8 I.4.1 Thời gian sống bên ngoài 8 I.4.2 Sự đáp ứng 9 I.4.3 Tính chất mạnh (Robustness) 9 I.4.4 Hiệu suất (Synergy) 9 I.4.5 Tính mở rộng (Scalability) 10 I.4.6 Tính không đồng nhất (Heterogeneity) 10 I.4.7 Tự cấu hình 10 I.4.8 Tự tối ưu và tự thích nghi 10 I.4.9 Thiết kế có hệ thống 10 I.5 Ứng dụng của mạng WSN 11 CHƯƠNG II: ĐỊNH TUYẾN TRONG MẠNG CẢM BIẾN KHÔNG DÂY 12 II.1 Giới thiệu 12 II.2 Thách thức trong vấn đề định tuyến 12 II.2.1 Tính động của mạng 12 II.2.2 Sự triển khai các node 12 II.2.3 Tính đến năng lượng 13 II.2.4 Phương pháp báo cáo số liệu 13 II.2.5 Khả năng của các node 14 II.2.6 Tập trung/ hợp nhất dữ liệu 14 II.3 Phân loại và so sánh các giao thức định tuyến trong WSN 15 II.4 Các loại giao thức định tuyến 17 II.4.1 Giao thức định tuyến trung tâm dữ liệu (data centric protocols) 17 II.4.2 Giao thức phân cấp (Hierarchical protocols) 22 II.4.3 Giao thức dựa trên vị trí (Location-based protocols) 25 CHƯƠNG III : KIẾN TRÚC GIAO THỨC LEACH 29 III.1 Giới thiệu 29 III.2 Tự định dạng cấu hình Cluster (Self – Configuring Cluster Formation) 31 III.2.1 Lựa chọn nút chủ của cụm (Determining Cluster- Head Nodes ) 31 III.2.2 Pha thiết lập (Set-up Phase) 32 III.2.3 Pha duy trì trạng thái – pha ổn định (Steady- state Phase) 33 III.2.4 Tổng hợp dữ liệu (Sensor Data Aggregation) 36 III.3 LEACH – C 37 III.4 Stat-Clustering 38 CHƯƠNG IV: MÔ PHỎNG LEACH BẰNG NS2 39 IV.1 Giới thiệu NS2 39 IV.1.1 Kiến trúc NS2 39 IV.1.2 Các đặc điểm NS2 41 IV.2 Các phần mềm dùng kết hợp với NS2 41 IV.2.1 NAM 41 IV.2.2 NSCRIPT 42 IV.2.3 XGRAPH 42 IV.2.4 TRACEGRAPH 43 IV.3 Mô phỏng WSN trên NS2 43 IV.3.1 Giả thiết 43 IV.3.2 Thực hiện mô phỏng cho 3 giao thức: Leach, Leach-C, Stat- Clus 43 IV.3.3 Kết quả mô phỏng 44 IV. 4 Kết luận 52 TÀI LIỆU THAM KHẢO 53 LỜI KẾT 55

doc58 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4441 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tổng quan về mạng cảm ứng không dây Wireless Sensor Netwơrk - WSN, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c nhau bằng việc dùng các chức năng như nén (suppression), lấy min (min), lấy max (max) và lấy trung bình (average). Các chức năng trên có thể được thực hiện một phần hoặc toàn bộ trong mỗi một nút cảm ứng. Việc tinh toán sẽ tiêu tốn ít năng lượng hơn so với giao tiếp, và quá trình tập hợp dữ liệu sẽ tiết kiệm được lượng năng lượng đáng kể. Kĩ thuật này được sử dụng trong khá nhiều các giao thức định tuyến. Trong một số cấu trúc mạng, tất cả các chức năng tập trung dữ liệu được chỉ định cho các nút nhiều năng lượng và chuyên dụng. Tập trung dữ liệu cũng khả thi trong kỹ thuật xử lý tín hiệu. II.3 Phân loại và so sánh các giao thức định tuyến trong WSN Có nhiều cách phân loại các giao thức chọn đường trong WSN. Ngoài cách chia làm ba loại như đã đề cập ở trên, đó là định tuyến trung tâm dữ liệu, định tuyến phân cấp và định tuyến dựa vào vị trí việc chọn đường trong WSN còn có thể được chia thành chọn đường ngang hàng, chọn đường phân cấp và chọn đường dựa theo vị trí tuỳ thuộc vào cấu trúc mạng. Những giao thức này cũng có thể được chia thành các giao thức chọn đường đa đường, yêu cầu hỏi/đáp, liên kết hoặc dựa vào chất lượng dịch vụ -QoS tuỳ theo cơ chế hoạt động của giao thức. Ngoài ra, các giao thức chọn đường có thể được chia thành ba loại là chủ động, tương tác hoặc ghép tuỳ thuộc vào cách thức mà nguồn tìm đường tới đích. Trong các giao thức chủ động, tất cả các đường được tính toán trước khi có yêu cầu, trong khi đối với các giao thức tương tác thì các đường được tính toán theo yêu cầu. Để khái quát, có thể sử dụng phân loại theo cấu trúc mạng và cơ chế hoạt động của giao thức (tiêu chuẩn chọn đường). Việc phân loại và so sánh các giao thức chọn đường trong WSN được chỉ ra trong hình 2.1 và hình 2.2 Hình 2.1: Phân loại giao thức chọn đường trong WSN Hình 2.2: Phân loại và so sánh các giao thức chọn đường trong WSN II.4 Các loại giao thức định tuyến II.4.1 Giao thức định tuyến trung tâm dữ liệu (data centric protocols) Trong nhiều ứng dụng của mạng cảm ứng thì việc xác định số nhận dạng toàn cầu cho từng nút là không khả thi. Việc thiếu số nhận dạng toàn cầu cùng với việc triển khai ngẫu nhiên các nút gây khó khăn trong việc chọn ra tập hợp các nút chuyên dụng. Vì thế dữ liệu được truyền từ mọi nút trong vùng triển khai với độ dư thừa đáng kể, nên việc sử dụng năng lượng sẽ không hiệu quả. Do vậy, người ta đã đưa ra các giao thức định tuyến mà có khả năng chọn ra tập hợp các nút và thực hiện tập trung dữ liệu trong suốt quá trình truyền. Điều này đã dẫn đến ý tưởng về giao thức trung tâm dữ liệu. Trong giao thức định tuyến này, sink gửi yêu cầu đến các vùng xác định và đợi dữ liệu từ các sensor đã được chọn trước trong vùng. SPIN là giao thức đầu tiên thuộc loại này mà đã đề cập đến việc dàn xếp dữ liệu giữa các nút để giảm bớt sự dư thừa dữ liệu và tiết kiệm năng lượng. Sau đó Directed Diffusion (truyền tin trực tiếp) được phát triển và là một giao thức rất đáng chú ý trong định tuyến trung tâm dữ liệu. II.4.1.1 SPIN (Sensor protocols for information via negotiation) SPIN (Sensor Protocol for Information via Negotiation) là giao thức định tuyến thông tin dựa trên sự dàn xếp dữ liệu. Mục tiêu chính của giao thức này đó là tập trung việc quan sát môi trường có hiệu quả bằng một số các nút cảm biến riêng biệt trong toàn bộ mạng. Nguyên lý của giao thức này đó là sự thích ứng về tài nguyên và sắp xếp dữ liệu. Ý nghĩa của việc dàn xếp dữ liệu (data negotiation) này là các nút trong SPIN sẽ biết về nội dung của dữ liệu trước khi bất kỳ dữ liệu nào được truyền trong mạng . Nơi nhận dữ liệu có thể bày tỏ mối quan tâm đến nội dung dữ liệu bằng cách gửi yêu cầu để lấy được dữ liệu quảng bá. Điều này tạo ra sự sắp xếp dữ liệu để đảm bảo rằng dữ liệu chỉ được truyền đến nút quan tâm loại dữ liệu này. Do đó mà loại trừ khả năng bản tin kép và giảm thiểu đáng kể việc truyền dữ liệu dư thừa qua mạng. Việc sử dụng bộ miêu tả dữ liệu cũng loại trừ khả năng chồng chất vì các nút có thể chỉ giới hạn về lọai dữ liệu mà chúng quan tâm đến. Mỗi nút có thể dò tìm tới bộ quản lý để theo dõi mức tiêu thụ năng lượng của mình trước khi truyền hoặc xử lý dữ liệu. Khi mức năng lượng còn lại thấp các nút này có thể giảm hoặc loại bỏ một số hoạt động như là truyền miêu tả dữ liệu hoặc các gói. Chính việc thích nghi với tài nguyên làm tăng thời gian sống của mạng. Để thực hiện truyền và sắp xếp dữ liệu các nút sử dụng giao thức này sử dụng ba loại bản tin (hình 2.3). Hình 2.3: Ba tín hiệu bắt tay của SPIN Hình 2.4: Hoạt động của SPIN Hoạt động của SPIN gồm 6 bước Bước 1: ADV (Advertise) để thông báo dữ liệu mới tới các nút. Bước 2: REQ (Request) để yêu cầu dữ liệu cần quan tâm. Sau khi nhận được ADV các nút quan tâm đến dữ liệu này sẽ gửi REQ để yêu cầu lấy dữ liệu. Bước 3: bản tin DATA, bản tin này thực sự chứa dữ liệu được cảm biến và kèm theo mào đầu miêu tả dữ liệu. Bước 4: sau khi nút này nhận dữ liệu nó sẽ chia sẻ dữ liệu của nó cho các nút còn lại trong mạng bằng việc phát bản tin ADV chứa miêu tả dữ liệu (metadata). Bước 5: sau đó các nút xung quanh lại gửi bản tin REQ yêu cầu dữ liệu. Bước 6: là DATA lại được truyền đến các nút mà yêu cầu dữ liệu này. Tuy nhiên giao thức SPIN cũng có hạn chế khi mà nút trung gian không quan tâm đến dữ liệu nào đó, khi đó dữ liệu không thể đến được đích. II.4.1.2 Truyền tin trực tiếp (Directed Diffusion) Đây là giao thức trung tâm dữ liệu đối với việc truyền và phân bổ thông tin trong mạng cảm biến không dây. Mục tiêu chính là tiết kiệm năng lượng để tăng thời gian sống của mạng để đạt được mục tiêu này, giao thức này giữ tương tác giữa các nút cảm biến, dựa vào việc trao đổi các bản tin, định vị trong vùng lân cận mạng. Sử dụng sự tương tác về vị trí nhận thấy có tập hợp tối thiểu các đường truyền dẫn. Đặc điểm duy nhất của giao thức này là sự kết hợp với khả năng của nút để có thể tập trung dữ liệu đáp ứng truy vấn của sink để tiết kiệm năng lượng. Thành phần chính của giao thức này bao gồm 4 thành phần: interest (thông tin yêu cầu), data message (các bản tin dữ liệu), gradient, reinforcements. Directed disffusion sử dụng mô hình publish- and subcribe trong đó một người kiểm tra (tại sink) sẽ miêu tả mối quan tâm (interest) bằng một cặp thuộc tính-giá trị. Như vậy, yêu cầu dữ liệu gửi từ cảm biến nhiệt độ trong vòng 10’s và trong một miền chi tiết như hình chử nhật có thể được trình bày như sau: Cặp thuộc tính – giá trị mô tả Type = temperature kiểu dữ liệu cảm biến Start = 01:00:00 thời gian bắt đầu Interval =1s báo cáo sự kiện, chu kỳ là 1s Duration = 10s thời gian sống của interes (cho 10s) Location = [24,48,36,40] ở trong miền này Và dữ liệu trả lời từ node chi tiết có thể là: Type = temperature kiểu của dữ liệu cảm biến Valus = 38.3 giá trị nhiệt độ được đọc Timestamp = 1:02:00 nhãn thời gian (t/g ngay tại thời điểm đọc) Location = [30,38] báo cáo từ cảm biến trong vùng x,y Hoạt động của Directed Dissfusion. ( hình 2.5) Sink sẽ gởi quảng bá bản tin interest theo chu kỳ cho các nút lân cận. Bản tin này sẽ truyền qua tất cả các nút trong mạng như là một sự quan tâm đến một dữ liệu nào đó. Mục đích của việc thăm dò này là để xem xét xem có nút cảm biến nào đó có thể tìm kiếm dữ liệu tương ứng với interest. Tất cả các nút đều duy trì một interest cache để lưu trữ các interest entry khác nhau. Mỗi một mục (entry) trong interest cache sẽ lưu trữ một interest khác nhau. Các entry cache này sẽ lưu trữ một số trường sau: một nhãn thời gian (timestamp), nhiều trường gradient cho mỗi nút lân cận và và trường duration. Nhãn thời gian sẽ lưu trữ nhãn thời gian của interest nhận được sau cùng. Mỗi gradient sẽ lưu trữ cả tốc độ dữ liệu và chiều mà dữ liệu được gửi đi. Trường duration sẽ xác định khoảng thời gian tồn tại của interest. Một gradient có thể coi như là một liên kết phản hồi của nút lân cận khi mà nhận được bản tin interest. Việc truyền bản tin interest trong toàn mạng cùng với việc thiết lập các gradient tại mỗi nút cho phép việc tìm ra và thiết lập các đường dẫn giữa sink để đưa ra yêu cầu về dữ liệu quan tâm và các nút mà đáp ứng mối quan tâm đó. Khi một nút phát hiện một sự kiện nó sẽ tìm kiếm trong cache xem có interest nào phù hợp không, nếu có nó sẽ tính toán tốc độ sự kiện cao nhất cho tất cả các gradient lối ra. Sau đó nó thiết lập một phân hệ cảm biến để lấy mẫu các sự kiện ở mức tốc độ cao này. Các nút sẽ gửi ra ngoài miêu tả về sự kiện cho các nút lân cận có gradient. Các nút lân cận này nhận dữ liệu và sẽ kiểm tra trong cache xem có entry nào phù hợp không, nếu không nó sẽ loại bỏ dữ liệu còn nếu phù hợp nó sẽ nhận dữ liệu các nút này, sẽ thêm bản tin vào cache dữ liệu và sau đó gửi bản tin dữ liệu cho các nút lân cận. Hình 2.5: Hoạt động cơ bản của Directed Diffusion Khi nhận được một interest các nút tìm kiếm trong interest cache của nó xem có entry nào phù hợp không, nếu không nút sẽ tạo một cache entry mới. Các nút sẽ sử dụng các thông tin chứa trong interest để tạo ra các thông số interest trong entry. Các entry này là một tập hợp chứa các trường gradient với tốc độ và chiều tương ứng với nút lân cận mà interest được nhận. Nếu như interest nhận được có trong cache thì nút sẽ cập nhật nhãn thời gian và trường duration cho phù hợp với entry. Một trường gradient sẽ được remove khỏi entry nếu quá hạn. Trong pha thiết lập gradient thì các sink sẽ thiết lập một tập hợp các đường dẫn. Sink có thể sử dụng đường dẫn này với sự kiện chất lượng cao để làm tăng tốc độ dữ liệu. Điều này đạt được thông qua một đường dẫn được hỗ trợ xử lý (path reinforcement process). Các sink này có thể sử dụng sự hỗ trợ của một số các nút lân cận. Để làm được điều này sink có thể gửi lại bản tin interest nguồn ở tốc độ cao thông qua các đường dẫn được chọn, nhờ việc tăng cường các nút nguồn trên đường dẫn để gửi dữ liệu thường xuyên hơn. Directed disffusion có ưu điểm nếu một đường dẫn nào đó giữa sink và một nút bị lỗi, một đường dẫn có tốc độ dữ liệu thấp hơn được thay thế. Kỹ thuật định tuyến này ổn định dưới phạm vi mạng động. Loại giao thức định tuyến này tiết kiệm năng lượng đáng kể. II.4.1.3 Định tuyến tải cân bằng năng lượng (Load-balanced Energy aware routing) Mức năng lượng cộng thêm vào của load balancing là cần thiết trong một mạng tĩnh, kỉ thuật chuyển tiếp theo xác suất cost-based sau đấy được sử dụng. Những node chỉ chuyển tiếp các gói tin đến các neighbor (các node lân cận), nó sẽ bị đóng khi đến đích. Đặt cost từ đích đến node i được xem là thích hợp khi neighbor j được định rõ là: Ci,j =Cj + ci.j Cj : là cost mong chờ tối thiểu từ đích đến j ci,j : là kết nối bất kì của link metric (vd: mectric thỏa thuận ở trên). Cho neighbor j, nó sẽ thiết lập những neighbor (Ni) được xem là thích hợp, node được gán với một xác suất chuyển tiếp, nó là số hạng (proportianal) từ cost đến đích Node i khi được tính toán là cost mong đợi nhỏ nhất đến đích cho bản thân nó Mỗi lần node cần định tuyến bất kì một gói tin nào đó , nó sẽ chuyển tiếp đến bất kì các neighbor nào mà có xác suất tương ứng. Điều này cung cấp cho load balancing, ngăn chặn một đường dẫn đơn nào đó sẽ làm cạn kiệt năng lượng nhanh hơn. II.4.2 Giao thức phân cấp (Hierarchical protocols) Mục đích chính của định tuyến phân cấp là để duy trì hiệu quả việc tiêu thụ năng lượng của các nút cảm ứng bằng việc đặt chúng trong giao tiếp multihop trong một cụm cụ thể và bằng việc thực hiện tập trung và hợp nhất dữ liệu để giảm số bản tin được truyền đến sink. Sự hình thành các cụm chủ yếu dựa trên năng lượng dự trữ của sensor và vùng lân cận của sensor so với các nút chủ của cụm. LEACH là một trong số những cách tiếp cận định tuyến phân cấp đầu tiên cho mạng cảm ứng. Ý tưởng của LEACH là động lực cho rất nhiều giao thức định tuyến phân cấp khác phát triển. LEACH (Low Energy Adaptive Clustering Hierarchy) LEACH là giao thức phân cấp theo cụm thích ứng năng lượng thấp. Đây là giao thức thu lượm và phân phát dữ liệu tới các sink đặc biệt là các trạm cơ sở. Mục tiêu chính của LEACH là: Mở rộng thời gian sống của mạng Giảm sự tiêu thụ năng lượng bởi mỗi nút mạng Sử dụng tập trung dữ liệu để giảm bản tin truyền trong mạng LEACH thông qua mô hình phân cấp để tổ chức mạng thành các cụm, mỗi cụm được quản lý bởi nút chủ. Nút chủ thực hiện nhiều nhiệm vụ. Đầu tiên là thu lượm dữ liệu theo chu kỳ từ các nút thành viên, trong quá trình tập trung dữ liệu nút chủ sẽ cố gắng tập hợp dữ liệu để giảm dư thừa về những dữ liệu giống nhau. Nhiệm vụ thứ hai đó là nút chủ sẽ trược tiếp truyền dữ liệu đã được tập hợp lại đến các trạm cơ sở, việc truyền này thực hiện theo kiểu single hop. Nhiệm vụ thứ ba là LEACH sẽ tạo ra mô hình ghép kênh theo thời gian TDMA (Time Division Multiple Access), mỗi nút trong cụm sẽ được gán một khe thời gian mà có thể sử dụng để truyền tin. Mô hình LEACH (hình 2.6). Các nút chủ sẽ quảng bá mô hình TDMA cho các nút thành viên trong cụm của nó. Để giảm thiểu khả năng xung đột giữa các nút cảm biến trong và ngoài cụm, LEACH sử dụng mô hình truy cập đa phân chia theo mã CDMA.Quá trình hoạt động của LEACH được chia thành hai pha là pha thiết lập và pha ổn định. Pha thiết lập bao gồm hai bước là lựa chọn nút chủ và thông tin về cụm. Pha ổn định trạng thái gồm thu lượm dữ liệu, tập trung dữ liệu và truyền dữ liệu đến các trạm cơ sở. Thời gian của bước ổn định kéo dài hơn so với thời gian của bước thiết lập để giảm thiểu mào đầu. Hình 2.6: Mô hình mạng LEACH Ở bước thiết lập, một nút cảm biến lựa chọn 1 số ngẫu nhiên giữa 0 và 1. Nếu số này nhỏ hơn ngưỡng T(n) thì nút cảm biến là nút chủ. T(n) được tính như sau: Trong đó: P : tỉ lệ phần trăm nút chủ r : sổ ngẫu nhiên giữa 0 và 1 G: tập hợp các nút không được lựa chọn làm nút chủ trong 1/p chu kì cuối. Sau khi được chọn làm nút chủ, các nút chủ sẽ quảng bá vai trò mới của chúng cho các nút còn lại trong mạng. Các nút còn lại trong mạng dựa vào bản tin đó và cường độ tín hiệu nhận được hoặc một số tiêu chuẩn nào đó để quyết định xem có tham gia vào cụm đó hay không. Và sau đó các nút này sẽ thông báo cho nút chủ biết là mình có mong muốn trở thành thành viên của cụm do nút chủ đó đảm nhận. Trong quá trình tạo cụm các nút chủ sẽ tạo và phân phát mô hình TDMA (Time Division Multiple Access) cho các nút thành viên trong cụm. Mỗi nút chủ cũng chọn lựa một mã CDMA (Carrier Sense Multiple Access) mà sau đó sẽ thông báo tới tất cả các thành viên trong cụm biết. Sau khi pha thiết lập hoàn thành báo hiệu sự bắt đầu của pha ổn định trạng thái và các nút trong cụm sẽ thu lượm dữ liệu và sử dụng các khe thời gian để truyền dữ liệu đến nút chủ. Dữ liệu được thu lượm theo chu kỳ. LEACH cũng có một số khuyết điểm sau: Giả sử rằng tất cả các nút chủ trong mạng đều truyền đến trạm cơ sở thông qua một bước nhảy là không thực tế, vì dự trữ năng lượng và khả năng của các nút thay đổi theo thời gian từ nút này đến nút khác. Hơn nữa khoảng chu kỳ ổn định trạng thái là vấn đề then chốt để đạt được giảm năng lượng cần thiết để bù đắp lượng mào đầu gay ra bởi xử lý lựa chọn cụm. Chu kỳ ngắn sẽ làm tăng lượng mào đầu, chu kỳ dài sẽ nhanh chóng làm tiêu hao năng lượng của nút chủ. LEACH có đặc tính giúp tiết kiệm năng lượng, yêu cầu về năng lượng trong LEACH được phân bố cho tất cả các nút trong mạng vì giả sử rằng vai trò nút chủ được luân chuyển vòng tròn dựa trên năng lượng còn lại trên mỗi nút. LEACH là thuật toán phân tán hoàn toàn và không yêu cầu sự điều khiển bởi trạm cơ sở. Việc quản lý cụm là cục bộ và không cần sự hiểu biết về mạng toàn cục. Việc tập trung dữ liệu theo cụm cũng tiết kiệm năng lượng đáng kể vì các nút không yêu cầu gửi trực tiếp dữ liệu đến sink. II.4.3 Giao thức dựa trên vị trí (Location-based protocols) Hầu hết các giao thức định tuyến cho mạng cảm ứng đều yêu cầu thông tin về vị trí của các nút cảm ứng, để có thể tính toán khoảng cách giữa hai nút xác định, từ đó có thể ước lượng được năng lượng cần thiết. Vì mạng cảm ứng không có chế độ địa chỉ nào như địa chỉ IP và chúng được triển khai trong không gian ở một vùng nào đó, vì vậy thông tin về vị trí cần phải được sử dụng trong các dữ liệu định tuyến theo cách hiệu quả về mặt năng lượng. II.4.3.1 GAF (Geographic adaptive fidelity) GAF dự trữ năng lượng bằng cách tắt các nút không cần thiết trong mạng mà không ảnh hưởng đến mức độ chính xác của định tuyến. Nó tạo ra một lưới ảo cho vùng bao phủ. Mỗi nút dùng hệ thống định vị toàn cầu (GPS - Global Poisitioning System) của nó, xác định vị trí để kết hợp với một điểm trên lưới được gọi là tương đương khi tính đến việc định tuyến gói, để giữ các nút định vị trong vùng lưới xác định ở trạng thái nghỉ để tiết kiệm năng lượng. Vì vậy GAF có thể tăng đáng kể thời gian sống của mạng cảm ứng khi mà số lượng các nút tăng lên. Ví dụ được đưa ra ở hình 2.7, nút 1 có thể truyền đến bất kì nút nào trong số các nút 2, 3 và 4 và các nút 2, 3, 4 có thể truyền tới nút 5. Do đó các nút 2, 3, và 4 là tương đương và 2 trong số 3 nút đó có thể ở trạng thái nghỉ. Hình 2.7: Ví dụ về lưới ảo trong GAF Các nút chuyển trạng thái từ nghỉ sang hoạt động lần lượt để cho các tải được cân bằng. Có ba trạng thái được định nghĩa trong GAF, đó là phát hiện (discovery) để xác định các nút lân cận trong lưới, hoạt động (active) thể hiện sự tham gia vào quá trình định tuyến và nghỉ (sleep) khi sóng được tắt đi. Sự chuyển trạng thái trong GAF (hình 2.8). Để điều khiển độ di động, mỗi nút trong lưới ước đoán thời gian rời khỏi lưới của nó và gửi thông tin này đến nút lân cận. Các nút đang không hoạt động điều chỉnh thời gian nghỉ của chúng cho phù hợp để có thể nhận được các thông tin từ các nút lân cận, để định tuyến được chính xác. Trước khi thời gian rời khỏi lưới của các nút đang hoạt động quá hạn, các nút đang nghỉ thoát khỏi trạng thái đó và một trong số các nút đó hoạt động trở lại. GAF được triển khai cho cả những mạng bao gồm các nút không di động (GAF cơ bản) và mạng bao gồm các nút di động (GAF thích ứng di động). GAF giữ mạng hoạt động bằng cách giữ cho các nút đại diện luôn ở chế độ hoạt động trong mỗi vùng ở lưới ảo của nó. Mặc dù GAF là một giao thức dựa trên vị trí, nó cũng có thể được coi là như một giao thức phân cấp khi mà các cụm dựa trên vị trí địa lý. Đối với mỗi vùng lưới xác định, mỗi nút đại điện hoạt động như một nút chủ để truyền dữ liệu đến các nút khác. Tuy nhiên nút chủ này không thực hiện bất cứ một nhiệm vụ hợp nhất hay tập trung dữ liệu nào như trong các giao thức phân cấp thông thường. Hình 2.8: Sự chuyển trạng thái trong GAF II.4.3.2 GEAR (Geographic and Energy-Aware Routing) Giao thức GEAR (Geographic and Energy-Aware Routing) dùng sự nhận biết về năng lượng và các phương pháp thông báo thông tin về địa lý tới các nút lân cận. Việc định tuyến thông tin theo vùng địa lý rất có ích trong các hệ thống xác định vị trí, đặc biệt là trong mạng cảm biến. Ý tưởng này hạn chế số lượng các yêu cầu ở Directed Diffusion bằng cách quan tâm đến một vùng xác định hơn là gửi các yêu cầu tới toàn mạng. GEAR cải tiến hơn Directed Diffusion ở điểm này và vì thế dự trữ được nhiều năng lượng hơn. Trong giao thức GEAR, mỗi một nút giữ một estimated cost và một learned cost trong quá trình đến đích qua các nút lân cận. Estimated cost là sự kết hợp của năng lượng còn dư và khoảng cách đến đích. Learned cost là sự cải tiến của estimated cost giải thích cho việc định tuyến xung quanh các hốc trong mạng. Hốc xảy ra khi mà một nút không có bất kì một nút lân cận nào gần hơn so với vùng đích hơn là chính nó. Trong trường hợp không có một hốc nào thì estimated cost bằng với learned cost. Learned cost được truyền ngược lại 1 hop mỗi lần một gói đến đích làm cho việc thiết lập đường cho gói tiếp theo được điều chỉnh. Có 2 giai đoạn trong giải thuật này: Chuyển tiếp gói đến vùng đích: GEAR dùng cách tự chọn nút lân cận dựa trên sự nhận biết về năng lượng và vị trí địa lý để định tuyến gói đến vùng đích. Có 2 trường hợp cần quan tâm: Khi tồn tại nhiều nút lân cận gần hơn so với đích: GEAR sẽ chọn hop tiếp theo trong số tất cả các nút lân cận gần đích hơn. Khi mà tất cả các nút đều xa hơn: trong trường hợp này sẽ có một lỗ hổng.GEAR chọn hop tiếp theo mà làm tối thiểu giá chi phí của nút lân cận này. Trong trường hợp này, một trong số các nút lân cận được chọn để chuyển tiếp gói dựa trên learned cost. Lựa chọn này có thể được cập nhật sau theo sự hội tụ của learned cost trong suốt quá trình truyền gói. Chuyển tiếp gói trong vùng: Nếu gói được chuyển đến vùng, nó có thể truyền dữ liệu trong vùng đó bằng cách chuyển tiếp địa lý đệ quy Ở những mạng có mật độ sensor cao, người ta chia thành 4 vùng nhỏ và tạo ra 4 bản copy của gói đó. Quá trình chuyển tiếp và chia nhỏ này được tiếp tục cho đến khi trong vùng chỉ còn 1 nút (hình 2.9). Để thỏa mãn các điều kiện chúng ta dùng giải thuật chuyển tiếp địa lý đệ qui để truyền gói trong vùng này. Tuy nhiên, với những vùng mật độ thấp, chuyển tiếp địa lý đệ quy đôi khi không hoàn thành, định tuyến vô tác dụng trong một vùng đích rỗng trước khi số hop gói đi qua vượt quá giới hạn. Hình 2.9: Chuyển tiếp địa lý đệ quy trong GEAR CHƯƠNG III KIẾN TRÚC GIAO THỨC LEACH Chương này sẽ tập trung chi tiết về giao thức LEACH. Cách hình thành các cụm (cluster) và nút chủ cụm (cluster-head), tìm hiểu chi tiết hai pha của LEACH là pha thiết lập (set-up phase) và pha ổn định (steady state phase)và tổng hợp dữ liệu ở nút chủ. III.1 Giới thiệu Vấn đề mà mạng WSN phải đối mặt là giới hạn về mặt năng lượng. Để thấy được các vấn đề trong mạng WSN thì chúng ta phát triển giao thức LEACH (Low Energy Adaptive Clustering Hierarchy). LEACH là giao thức phân cấp theo cụm thích ứng năng lượng thấp. Nó dựa trên thuật toán phân nhóm và có những đặc trưng sau : Các nút có thể phân bố ngẫu nhiên, và tự hình thành cụm (sefl configuring cluster formation). Nút chủ cụm sẽ điều khiển các nút gửi dữ liệu đến nó ở trong cụm. Quá trình xử lý dữ liệu là nút chủ cụm sẽ tổng hợp dữ liệu từ các nút gửi đến rồi gửi tới BS. Hình 3.1: Giao thức LEACH. Dữ liệu của các nút gửi về có mối tương quan với nhau trong mạng WSN, người dùng cuối không cần yêu cầu tất cả dữ liệu (các dữ liệu có thể giống nhau - Redundant), hay người dùng cuối chỉ cần các thông tin ở mức cao của dữ liệu mà mô tả về các sự kiện xuất hiện trong môi trường mà nút cảm biến được. Vì các tín hiệu dữ liệu được gửi từ các nút đặt gần nhau có sự tương quan rất lớn, do đó chúng ta chọn sử dụng kiến trúc phân nhóm cho LEACH. Điều này cho phép tất cả dữ liệu từ các nút trong phạm vi cụm sẽ được xử l‎ý cục bộ, giảm được lượng dữ liệu truyền tới người dùng cuối. Do đó mà tiết kiệm được năng lượng của nút. Trong giao thức LEACH, các nút tự tổ chức thành các cụm, trong đó một nút sẽ đóng vai trò là nút chủ cụm. Tất cả các nút không phải là nút chủ sẽ phải truyền dữ liệu của nó tới nút chủ, nút chủ cụm phải nhận dữ liệu từ tất cả các nút thành viên trong cụm, thực hiện xử lý dữ liệu cục bộ (tổng hợp dữ liệu- aggregation), rồi truyền tới BS (Basic Station). Bởi vậy, việc trở thành nút chủ sẽ tiêu hao nhiều năng lượng hơn các nút không được chọn là nút chủ. Mà năng lượng của các nút là giới hạn, nếu nút chủ được chọn cố định trong suốt thời gian sống của mạng, như trong giải thuật phân nhóm tĩnh (static clustering), thì các nút chủ sẽ hết năng lượng rất nhanh. Hình 3.2 : Time-line hoạt động của LEACH. Khi nút chủ chết, tất cả các nút trong cụm sẽ không có khả năng trao đổi thông tin nữa. Vì vậy, LEACH thực hiện ngẫu nhiên quay vòng vị trí các nút chủ có năng lượng cao trong số tất cả các nút để tránh sự tiêu hao năng lượng trên một nút cụ thể trong mạng. Với cách này, năng lượng tải liên quan đến việc trở thành nút chủ sẽ được phân bố đều cho tất cả các nút. Việc truy cập đường truyền trong LEACH được chọn sao cho giảm được sự tiêu hao năng lượng cho các nút không phải là CH (Cluster-Head). Khi các nút chủ biết được tất cả các nút trong cụm của nó, nó sẽ gửi bản tin định thời TDMA để thông báo cho mỗi nút chính xác khi nào thì truyền dữ liệu đến nó. Điều này cho phép các nút có thể duy trì trong trạng thái ngủ đông (sleep state), chỉ khi đến thời điểm nó gửi dữ liệu thì nó mới thức dậy. Hơn nữa, dùng bản tin TDMA cho việc truyền dữ liệu còn giúp tránh được hiện tượng đụng độ (collision) xảy ra trong cụm. Hoạt động của LEACH được chia thành các vòng (round), mỗi vòng bắt đầu với pha thiết lập khi mà các cụm được hình thành, sau đó đến pha ổn định khi mà các khung dữ liệu được gửi tới các nút chủ và gửi tới base station (hình 3.1). Tất cả các nút phải đồng bộ về mặt thời gian để bắt đầu pha thiết lập tại thời điểm giống nhau. Pha ổn định thường dài hơn rất nhiều so với pha thiết lập. III.2 Tự định dạng cấu hình Cluster (Self – Configuring Cluster Formation) LEACH thực hiện phân nhóm (cụm) bằng việc sử dụng giải thuật phân tán, các nút tự quyết định mà không cần bất cứ sự điều khiển tập trung nào. Ưu điểm của phương pháp này là không yêu cầu việc giao tiếp với BS, do đó tránh được việc tiêu hao năng lượng nếu các nút ở xa BS. Đồng thời việc hình thành các cụm phân tán mà không cần biết chính xác vị trí của các nút trong mạng. Và nó không yêu cầu sự liên lạc toàn cục trong pha thiết lập cụm, và không có giả thiết nào về trạng thái hiện tại của các nút khác trong quá trình hình thành III.2.1 Lựa chọn nút chủ của cụm (Determining Cluster- Head Nodes ) Khi các cụm được tạo ra, mỗi nút n tự động quyết định nó có là nút chủ cho vòng tiếp theo hay không. Quá trình chọn lựa diễn ra như sau: mỗi nút cảm biến chọn một số ngẫu nhiên giữa 0 và 1. Nếu con số này nhỏ hơn ngưỡng T(n) thì nút đó trở thành nút chủ. T(n) được xác định theo phương trình sau: Với những nút mà không được làm nút chủ trong 1/P vòng cuối thì ngược lại T1(n) = 0. P quyết định số lượng trung bình các nút chủ trong một vòng, r là số vòng hiện tại. Dùng thuật toán này thì mỗi nút sẽ là nút chủ đúng một lần trong vòng 1/P vòng. Chú ý: sau 1/P-1 vòng, T1(n) =1 với tất cả các nút chưa được làm nút chủ. Khi có một nút làm nút chủ, nó thông báo điều này tới tất cả các nút khác. Các nút không phải nút chủ dùng những bản tin này từ các nút chủ để chọn cụm mà chúng muốn tham gia dựa trên cường độ tín hiệu nhận được bản tin này. Sau khi các nút chủ đã được hình thành, nút chủ sau đó sẽ quyết định mô hình TDMA cho các nút tùy thuộc từng cụm, quảng bá mô hình và sau đó pha trạng thái tĩnh bắt đầu. III.2.2 Pha thiết lập (Set-up Phase) Mỗi một nút sẽ tự nó chọn làm nút chủ cụm nếu xác suất của nó thỏa mãn phương trình. Nút chủ phải thông báo cho các nút khác trong mạng biết rằng nó được chọn làm nút chủ ở vòng hiện tại. Để thực hiện điều này, mỗi nút chủ sẽ phát bản tin quảng bá (ADV – Advertise) dùng thuật toán CSMA (carrier sense multiple access) . Bản tin này là một bản tin nhỏ mà bao gồm ID của nút và header để phân biệt bản tin này là bản tin quảng bá. Tuy nhiên, bản tin này phải được broadcast tới tất cả các nút trong mạng. Thứ nhất là để đảm bảo tất cả các nút lắng nghe bản tin quảng bá để tránh xảy ra đụng độ khi CSMA được dùng. Thứ hai là không có cơ chế để đảm bảo rằng các nút mà được chọn là nút chủ cụm sẽ được phân bố đều trên toàn mạng. Nếu công suất phát bản tin quảng bá bị giảm đi, một số nút ở biên có thể sẽ không nhận được thông báo và do đó có thể sẽ không còn ở trong vòng này. Bản tin quảng bá là rất nhỏ, do đó việc tăng công suất phát bản tin này để nó đến được tất cả các nút trong mạng không phải là một trở ngại. Bởi vậy công suất phát sẽ được thiết lập ở mức cao vừa đủ để tất cả các nút trong mạng có thể lắng nghe được bản tin ADV này. Những nút không phải là nút chủ sẽ quyết định nó sẽ nằm trong cụm nào bằng việc chọn xem nút chủ nào yêu cầu chi phí năng lượng giao tiếp thấp nhất dựa trên cường độ của tín hiệu nhận được từ bản tin quảng bá của mỗi nút chủ. Sau khi mỗi nút quyết định nó là thành viên của cụm nào, nó sẽ báo cho nút chủ của cụm đó biết. Mỗi nút sẽ phát bản tin join-request (Join - REQ) tới nút chủ và cũng dùng giao thức CSMA. Bản tin này cũng là một bản tin nhỏ, nó bao gồm ID của nút, ID nút chủ và header để phân biệt với các bản tin khác. Các nút chủ trong LEACH hoạt động như khối điều khiển trung tâm cục bộ để liên kết các dữ liệu trong cụm mà nó làm nút chủ. Nút chủ thiết lập bản tin định thời TDMA và truyền tới các nút trong cụm. Điều này đảm bảo sẽ không có đụng độ xảy ra và cho phép phần phát sóng radio của các nút không phải nút chủ sẽ ở trạng thái tắt (sleep state). Nó chỉ thức dậy tại thời điểm mà nó truyền dữ liệu. Như vậy sẽ tiết kiệm được năng lượng cho các nút. Sau khi bản tin TDMA được truyền đến tất cả các nút trong cụm, pha thiết lập đã hoàn thành và bắt đầu pha ổn định (steady state phase). Hình 3.3: Giải thuật hình thành cluster trong LEACH. Hình 3.3 mô tả sơ đồ giải thuật của quá trình hình thành cụm trong LEACH. Sau mỗi vòng thì lại bắt đầu pha thiết lập mới để chọn ra cụm mới phù hợp với mô hình mạng. Hình 3.4: Sự hình thành cụm ở 2 vòng khác nhau. (Nút đen là nút chủ). III.2.3 Pha duy trì trạng thái – pha ổn định (Steady- state Phase) Hoạt động của pha ổn định được chia ra thành các frame (hình 3.6). Mỗi nút sẽ gửi dữ liệu của nó tới Cluster-Head một lần trên một frame trong khe định vị của nó. Mỗi nút sẽ có một khe thời gian cố định, cứ đến khe thời gian đó thì nút truyền dữ liệu tới Cluster-Head. Số khe thời gian cho một khung dữ liệu phụ thuộc vào số lượng nút ở trong cụm. Tức là có bao nhiêu nút trong cụm (trừ nút chủ) thì sẽ có bấy nhiêu khe thời gian. Trong khi giải thuật phân tán để xác định nút chủ, với số cụm trong mỗi vòng là k, nhưng nó lại không có cơ chế đảm bảo rằng sẽ có k cụm trong mỗi vòng. Thêm vào đó giao thức trong pha thiết lập không đảm bảo các nút sẽ phân bố đều cho mỗi nút chủ. Do đó, số nút trong một cụm là khác nhau và tổng dữ liệu mà mỗi nút gửi đến nút chủ phụ thuộc vào số nút trong cụm. Để giảm sự tiêu thụ năng lượng, mỗi nút không phải là nút chủ sẽ điều khiển công suất phát dựa trên cường độ của bản tin quảng bá nhận được từ nút chủ. Và kênh phát sóng của nút sẽ ở trạng thái ngủ cho đến khe thời gian phát sóng của nó. Các nút chủ sẽ phải giữ lại các dữ liệu mà các nút trong cụm gửi đến nó. Khi đã nhận được hết dữ liệu từ tất cả các nút, nó tiến hành xử l‎ý dữ liệu cục bộ như nén, tổng hợp dữ liệu, …. Dữ liệu đã được tổng hợp sau đó được gửi tới BS. Khoảng cách từ nút chủ tới BS có thể xa và kích cỡ bản tin dữ liệu thường là lớn, do đó mà năng lượng tiêu thụ do quá trình truyền này thường là cao. Nhìn vào hình 3.5 ta sẽ hiểu rõ hơn về hoạt động của pha ổn định. Hình 3.5: Mô hình Leach sau khi đã ổn định trạng thái Hình 3.6: Hoạt động của pha ổn định trong LEACH. Hình 3.7 chỉ ra time-line trong một vòng của LEACH, từ khi các cụm được hình thành trong pha thiết lập, quá hoạt động của pha ổn định khi dữ liệu được truyền từ các nút tới Cluster-Head rồi truyền đến BS. Hình 3.7: Time-line hoạt động của LEACH trong một vòng. Để mô tả về việc trao đổi thông tin trong phạm vi một cluster. Giao thức MAC và giao thức định tuyến được thiết kế để đảm bảo cho các nút tiêu thụ năng lượng thấp và không xảy ra xung đột trong cụm. Tuy nhiên, kênh phát sóng không dây vốn là broadcast medium. Do đó, sự phát sóng của một cụm cũng sẽ ảnh hưởng đến các cụm gần nó. Ví dụ như hình 3.8, sự phát sóng của nút A đến nút B, nó cũng ảnh hưởng đến nút C. Hình 3.8: Sự ảnh hưởng của kênh phát sóng. Để giảm thiểu sự ảnh hưởng này, mỗi cluster trong LEACH sẽ trao đổi thông tin dùng cơ chế dãy trãi phổ trực tiếp DS-SS (directed-sequence spread spectrum) hay CDMA (Code Division Multiple Access). Mỗi một cụm sẽ dùng một mã trải phổ (spread code) duy nhất, tất cả các nút trong cụm phát dữ liệu của chúng tới nút chủ sẽ dùng mã trải phổ này và nút chủ sẽ lọc tất cả các nút có mã trải phổ này. Chú ‎ y rằng mỗi nút chủ chỉ cần một mã trải phổ đơn để lọc cho tất cả các tín hiệu đến nó mà sử dụng mã trải phổ giống nhau. Điều này cũng hơi khác với cơ chế CDMA mà mỗi nút sẽ có một mã trải phổ duy nhất. Dữ liệu từ các nút chủ được gửi tới BS sẽ dùng một mã trải phổ cố định, và cũng dùng cơ chế CSMA để tránh xảy ra đụng độ với các nút chủ khác. Tuy là kênh truyền vô tuyến, nhưng khi một nút chủ có dữ liệu để gửi tới BS, nó sẽ phải lắng nghe xem có nút chủ nào phát dữ liệu không. Nếu không có nút nào phát thì nó sẽ phát dữ liệu tới BS, còn nếu có nút đang phát dữ liệu thì nó sẽ đợi để phát dữ liệu. III.2.4 Tổng hợp dữ liệu (Sensor Data Aggregation) Tổng hợp dữ liệu trong mạng cảm biến giúp loại trừ đi những thông tin dư thừa, trùng lặp để thu được thông tin có ích về môi trường cảm biến. Việc tổng hợp dữ liệu có thể được thực hiện tại trạm gốc (Base Station- BS) hoặc thực hiện cục bộ tại nút chủ (Cluster Head- CH) của một cụm, điều này là tùy thuộc vào năng lượng tiêu thụ để tổng hợp dữ liệu so với năng lượng sử dụng để truyền những thông tin đó đi. Khi mà năng lượng cho truyền tin lớn hơn, thực hiện tổng hợp dữ liệu cục bộ tại nút chủ giúp giảm năng lượng tiêu thụ của toàn hệ thống do có ít dữ liệu hơn phải truyền về trạm gốc. III.3 LEACH – C LEACH – C cũng giống như LEACH thông thường, nó chỉ khác ở pha thiết lập (Set - up Phase) cụm và nút chủ cụm, còn pha ổn định (Steady – state Phase ) thì giống với LEACH. Trong LEACH thì mỗi nút sẽ có 1 xác suất để nó có thể được chọn làm nút chủ cụm (đã trình bày ở trên). Ở LEACH – C thì cụm và nút chủ cụm do BS lựa chọn. Mỗi nút tự nó quyết định sẽ ở trong cụm nào, giải thuật này không đảm bảo được vị trí cũng như số lượng nút chủ trong toàn mạng. Tuy nhiên, việc dùng một giải thuật điều khiển trung tâm để hình thành cụm có thể tạo ra các cụm tốt hơn với các nút chủ phân tán trên toàn mạng. Giải thuật này gọi là LEACH – C (LEACH - Centralized) . LEACH – C có pha ổn định giống với LEACH (các nút gửi dữ liệu tới nút chủ và nút chủ tổng hợp dữ liệu rồi gửi về trạm gốc), nó chỉ khác LEACH ở pha thiết lập cụm. Trong pha thiết lập của LEACH – C, các nút sẽ gửi thông tin về trạng thái hiện tại của nó (bao gồm vị trí và năng lượng) về trạm gốc. Trạm gốc sau đó sẽ dùng thuật toán tối ưu để xác định ra các cụm và nút chủ cho vòng đó. Hình 3.9: Pha thiết lập của LEACH – C. Việc dùng trạm gốc BS để xác định cụm là tốt hơn so với việc hình thành cụm dùng giải thuật phân tán. Tuy nhiên, LEACH – C yêu cầu các nút phải gửi thông tin về vị trí của nó về BS tại thời điểm bắt đầu của mỗi vòng, thông tin này có thể bao gồm việc phải sử dụng GPS (Global positioning system) để xác định vị trí hiện tại của mỗi nút. Để xác định được các cụm thích ứng tốt thì năng lượng phải được phân bố đều trên tất cả các nút trong mạng. Để làm được điều này, BS tính toán năng lượng trung bình của các nút. Nút nào mà có năng lượng nhỏ hơn mức năng lượng trung bình này sẽ không được chọn làm nút chủ ở vòng đó, những nút còn lại có năng lượng lớn hơn giá trị trung bình đó có thể là nút chủ. BS sẽ chạy giải thuật nhiều lần để chọn ra k nút tốt nhất trở thành nút chủ cũng như chọn ra được k cụm tối ưu. Khi chọn được các nút chủ và các cụm tối ưu, trạm gốc sẽ gửi thông tin này tới tất cả các nút trong mạng. Việc này được thực hiện bằng việc quảng bá bản tin bao gồm ID của nút chủ cho mỗi nút. Nếu nút nào có ID trùng với ID trong bản tin nó sẽ trở thành nút chủ, các nút khác sẽ xác định khe thời gian của nó cho việc phát dữ liệu, và sẽ ở trạng thái sleep cho đến thời điểm nó phát dữ liệu về nút chủ. III.4 Stat-Clustering Stat-Clustering - phân chia cụm một lần rồi cố định, có nguyên tắc hoạt động tương tự với LEACH-C.BS sẽ căn cứ vào tọa độ và năng lượng hiện tại của các node để phân chia cấu hình mạng. Tuy nhiên. ở Stat-Clustering BS chỉ chia nhóm 1 lần và giữ nguyên cấu hình mạng đó để gửi dữ liệu. Ưu điểm: Các Cluster-Head là cố định nên không tốn thời gian và năng lượng cho quá trình phân chia lại. Nhược điểm: Thời gian sống ngắn vì quá trình bầu CH ban đầu là ngẫu nhiên và nếu các CH này ở quá xa BS thì sẽ mạng hết năng lượng rất nhanh. CHƯƠNG IV MÔ PHỎNG LEACH BẰNG NS2 Chương này sẽ giới thiệu về công cụ NS2 để mô phỏng và đánh giá 3 loại giao thức STAT-CLUS, LEACH, LEACH-C, các giả thiết đầu vào ban đầu và cuối cùng dựa trên kết quả đồ thị ta sẽ tiến hành đánh giá và kết luận. IV.1 Giới thiệu NS2 NS (phiên bản 2) là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl. Nó thực thi các giao thức mạng như giao thức điều khiển truyền tải (TCP) và giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR) ; các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN. IV.1.1 Kiến trúc NS2 Hình 4.1: Tổng quan về NS dưới góc độ người dùng OTcl Script Kịch bản OTcl Simulation Program Chương trình Mô phòng OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng NS Simulation Library Thư viện Mô phỏng NS Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện Network Component Objects Các đối tượng Thành phần Mạng Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng Plumbling Modules Các mô đun Plumbling Simulation Results Các kết quả Mô phỏng Analysis Phân tích NAM Network Animator Minh họa Mạng NAM NS là bộ biên dịch Tcl mở rộng hướng đối tượng, bao gồm bộ lập lịch sự kiện, các đối tượng thành phần mạng và các modul trợ giúp thiết lập Mạng (hay các mô đun Plumbing). Để sử dụng NS-2, user lập trình bằng ngôn ngữ kịch bản OTcl. User có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Thuật ngữ plumbing được dùng để xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương ứng. Mô đun plumbing OTcl trong thực tế thực hiện việc trên rất đơn giản. Thành phần mạng là bộ lập lịch sự kiện, bộ lập lịch sự kiện trong NS-2 thực hiện những việc sau: Tổ chức bộ định thời mô phỏng Huỷ các sự kiện trong hàng đợi sự kiện Gọi lại các thành phần mạng trong mô phỏng Phụ thuộc vào mục đích của user đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ như file trace. Định dạng file trace sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích: File nam trace (file.nam) được dùng cho công cụ Minh họa mạng NAM File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mô phỏng XGRAPH hay TRACEGRAPH Hình 4.2: Luồng các sự kiện cho file Tcl chạy trong NS NAM Visual Simulation Mô phỏng ảo NAM Tracing and Monitoring Simulation Mô phỏng Lần vết và Giám sát. IV.1.2 Các đặc điểm NS2 NS-2 thực thi những tính năng sau: Các kỹ thuật quản lý hàng đợi Router như DropTail, RED, CBQ, Multicasting Mô phỏng mạng không dây Được phát triển bởi Sun Microsystems + UC Berkeley (Dự án Daedalus) Thuộc mặt đất (di động, adhoc, GPRS, WLAN, BLUETOOTH), vệ tinh Chuẩn IEEE 802.11 có thể được mô phỏng, các giao thức Mobile-IP và adhoc như DSR, TORA, DSDV và AODV Hành vi nguồn traffic – www, CBR, VBR Các agent truyền tải – UDP, TCP Định tuyến Luồng packet Mô hình mạng Các ứng dụng – Telnet, FTP, Ping Các packet tracing trên tất cả các link và trên các link xác định IV.2 Các phần mềm dùng kết hợp với NS2 IV.2.1 NAM NAM thực hiện lại những sự kiện từ file lần vết nam (nam tracefile).Có thể tóm tắt các tính năng của NAM như sau: Cung cấp trình diễn ảo cho mạng đã được tạo Có thể thi hành trực tiếp từ kịch bản Tcl NAM có giao diện đồ hoạ bắt mắt của CD player với các điều khiển bao gồm play (chạy), stop (ngưng), fast forward (chạy tiếp nhanh), rw (lùi lại), pause (tạm ngưng), điều khiển tốc độ trình diễn và tính năng giám sát packet Biểu diễn thông tin như throughput (thông lượng), số packet trên từng link Cung cấp giao diện rê và thả cho việc tạo ra các topology (mô hình). IV.2.2 NSCRIPT Nscript là giao diện đồ hoạ người dùng để tạo kịch bản mô phỏng, được phát triển bằng ngôn ngữ Java 2. Với Nscript ta có thể: Tạo các topology và cấu hình các node, các link Thêm và cấu hình các transport agent (agent truyền tải), UDP, TCP… Lập lịch các sự kiện mô phỏng Các biến lần vết Nscript có thể mở rộng được, cho phép tạo ra các thư viện riêng (thư viện các đối tượng) để có thể dùng thêm đối tượng vào môi trường đồ họa IV.2.3 XGRAPH Xgraph là công cụ đính kèm trong gói và sử dụng để đọc file Trace của NS2. Câu lệnh và cấu trúc của Xgraph đơn giản, hiệu quả và rất dễ sử dụng. Hình 4.3: Cửa sổ minh họa Xgraph IV.2.4 TRACEGRAPH TraceGraph là bộ phân tích file trace. Tracegraph chạy trong hệ điều hành Windows, Linux, Unix và yêu cầu hệ thống có cài đặt Matlab 6.0 (hoặc các phiên bản cao hơn). Tracegraph hỗ trợ các định dạng file trace như sau: Wired (có dây) Satellite (vệ tinh) Wireless (không dây) Ứng dụng TRACEGRAPH bao gồm 3 thành phần chính: cửa sổ Tracegraph, cửa sổ Network Information (thông tin mạng) và cửa sổ Graphs (đồ thị). IV.3 Mô phỏng WSN trên NS2 IV.3.1 Giả thiết Thời gian mô phỏng: Max = 360s Số cluster khởi tạo: Num_cluster = 5 Năng lượng khởi tạo của node là 2 J Số node mạng: 101 (0→99; 100 = BS) BS đặ t ở tọa độ (50; 100) Vị trí các node mạng được khởi tạo ngẫu nhiên (100;100) BW = 1Mbps Data size: 500 Bytes Freq : 914 MHz IV.3.2 Thực hiện mô phỏng cho 3 giao thức: Leach, Leach-C, Stat- Clus IV.3.2.1 Câu lệnh ./ns wireless.tcl –sc nodescen –x 100 –y 100 –init_energy 2 –dirname wsn –topo wsn-topo –bs_x 50 –bs_y 150 –stop 600 –nn 101 –num_cluster 5 –eq_energy 0 –filename leach_file –rp leach IV.3.2.2 Ý nghĩa mã lệnh wireless.tcl : file Script tạo ra môi trường mô phỏng Wireless init_energy : năng lượng khởi tạo ban đầu dirname : tên thư mục chứa các Trace File topo : tên topo khởi tạo lúc đầu bs_x, bs_y : tọa độ của BS stop : thời gian mô phỏng nn: số node mạng num_cluster : số cụm dự tính sẽ chia eq_energy : 0 (khởi tạo năng lượng không bằng nhau), 1 ( khởi tạo năng lượng bằng nhau) filename : tên tracefile sẽ xuất hiện trong dỉname rp (routing protocol) : giao thức mô phỏng là leach, leach-c, stat-clus IV.3.3 Kết quả mô phỏng IV.3.3.1. Topo khởi tạo mạng Hình 4.4: Topo khởi tạo của mạng Hình 4.5: Leach ở chu kỳ đầu tiên ( các node đỏ là Cluster-Head) Hình 4.6: Leach ổn định ở chu kỳ đầu Hình 4.7: Leach-C: BS quyết định cà phân mạng thành các Cluster tối ưu (tương đối ổn định) Hình 4.8: BS chia cluster cho giao thức Stat-Clus chỉ một lần duy nhất Nhận xét: Qua quá trình khởi tạo topo ở các thời điểm khác nhau ta thấy: Leach: Quá trình chọn lựa Cluster là ngẫu nhiên và khó kiểm soát. Có lúc vượt quá, có lúc ít hơn số cluster mặc định chọn ban đầu. Leach-C : Tương đối ổn định trong việc phân chia nhóm và số cluster luôn bằng số cluster khởi tạo ban đầu trong suốt thời gian mô phỏng. Stat-Clus : Topo khởi tạo giống Leach-C, chỉ khác là tạo ra số Cluster-Head một lần nhưng phân chia rất đồng đều và chính xác. IV.3.3.2 Kết quả sau khi mô phỏng: IV.3.3.2.1 Kết quả mô phỏng với mức năng luợng là bằng nhau eq_energy =0 Hình 4.9: Thời gian sống của mạng Nhận xét: Leach-C có thời gian sống lâu nhất, dài hơn so với Leach và Stat-Clus Hình 4.10: Sự tiêu thụ năng lượng theo thời gian Nhận xét: Leach tiêu tốn năng lượng hơn so với Leach-C Hình 4.11: Tỷ lệ node/ số bytes nhận được trên BS Nhận xét: Leach-C vượt trội hơn về lưu lượng so với Leach và Stat-Clus Hình 4.12: Tỷ lệ data / energy Nhận xét: Giao thức Leach-C có tỷ lệ data/ energy lớn nhất Hình 4.13: Biểu đồ độ trể tín hiệu trên BS Nhận xét: - Leach-C và Stat-Clus đạt độ ổn định cao - Leach tồn tại khá nhiều biến động trong quá trình gửi dử liệu về BS IV.3.3.2.2 Kết quả mô phỏng với mức năng luợng không bằng nhau eq_energy =1 Hình 4.14: Thời gian sống của mạng Nhận xét: Leach-C có thời gian sống lâu nhất, dài hơn so với Leach và Stat-Clus. Mặc dù vậy thời gian sống giao thức Leach củng được cải thiên hơn. Hình 4.15 : Sự tiêu thụ năng lượng theo thời gian Nhận xét: Sự tiêu tốn năng lượng của Leach đã được cải thiện rất nhiều Hình 4.16: Tỷ lệ node/ số bytes nhận được trên BS Nhận xét: Leach-C thể hiện sự vượt trội hơn về lưu lượng so với Leach và Stat-Clus Hình 4.17 : Tỷ lệ data / energy Nhận xét: Tỷ lệ data/ energy của giao thức Stat_Clus giảm đi đáng kể Hình 4.18: Biểu đồ độ trể tín hiệu trên BS Nhận xét: Khi có một số nút có năng lượng cao thì thời gian sống của mạng kéo dài lên rất nhiều và qua mô phỏng ta thấy các nút có mức năng lượng cao sẽ được ưu tiên làm nút chủ (Cluster-Head). Thời gian trễ của các giao thức Leach được cải thiện rõ rệt. Leach-C vẫn thể hiện mặt vượt trội về độ ổn định. IV. 4 Kết luận Các kết quả đánh giá đã cho thấy Leach-C là một giao thức có mặt vượt trội về nhiều mặt so với các giao thức định tuyến khác. Sở dĩ có điều này là do ở Leach-C , BS được cài thêm một ứng dụng chọn và phân chia Cluster. Và chính những quyết định chính xác của BS đã ưu việt hóa mọi mặt cho mạng cảm biến. Một nhược điểm lớn nhất của Leach-C đó là thông tin lúc ban đầu gửi về BS của các node là thông tin có 2 tham số : Vị Trí và Năng Lượng. Năng lượng thì có thể BS sẽ xác định chính xác được còn vị trí thì cái này trên thực tế cần phải có một ứng dụng đặc biệt trên các node mới cho ta xác định được thông số này. So với giả thiết là mức năng lượng là bằng nhau thì giả thiết mức năng lượng không bằng nhau thì giao thức Leach được cải thiện hơn. Mặc dù vậy thì độ trể tín hiệu ở trên trạm BS vẫn tồn tại nhiều biến động trong quá trình truyền dữ liệu về trạm BS. Với giả thiết là mức năng lượng không bằng nhau thì độ trể trên trạm BS sẽ không ổn định, tùy thuộc vào việc lựa chọn các nút CH có mức năng lượng cao hay thấp. Hiện nay, các thiết bị mạng đã ra đời, tuy phần lớn vẫn là những giao thức mạng đơn giản như AODV, MTE, MultiHop và cũng xuất hiện một số firmware (BTNode) sử dụng giao thức phân cấp Leach. Tuy nhiên, với những ưu điểm vượt trội và tính khả thi cao thì hứa hẹn trong một tương lai gần, giao thức Leach sẽ được áp dụng và phổ biến rộng rãi hơn trên các node mạng cảm biến. TÀI LIỆU THAM KHẢO Kavin Fall, Kannan Varadhan. “The ns Manual”. The VINT Project, A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC. December 13, 2003. The MIT uAMPS ns Code Extensions Version 1.0 – Massachusetts Institute of Technology – Cambridge. MA 02139, uamps@.mit.edu Application Specific Protocol Architectures for Wireless Networks by Wendi Beth Heinzelman. NAM Network Animator W.R Heinzelman, A Chandrakasan, and H. Balakrishnan, “ Energy-Efficient Comminication Protocol for Wireless Microsensor Networks ” IEEE Proc. Hawaii Int’l. Conf. Sys. Sci., Jan 2000, pp. 1-10 Jamal N. Al-Karaki and Ahmed E. Kamal, “Routing Techniques in wireless sensor network: A survey”, IEEE Wireless Communications, December 2004. BẢNG THUẬT NGỮ VIẾT TẮT UDP User Datagram Protocol Giao thức gói người dùng WSN Wireless Sensor Network Mạng cảm biến không dây GPS Global Positioning System Hệ thống định vị toàn cầu ID Identifier Mã nhận dạng CDMA Code Division Multiple Access Đa truy nhập phân chia theo mã TDMA Time Divistion Multiple Access Đa truy nhập phân chia theo thời gian CSMA Carrier Sense Multiple Access Truy cập đường truyền có lắng nghe sóng mang. SPIN Sensor protocols for information via negotiation Giao thức cho thông tin dữ liệu thông qua đàm phán LEACH Low-energy adaptive clustering hierarchy Giao thức phân cấp theo cụm thích ứng năng lượng thấp MAC Media Access Control Điều khiển truy cập đường truyền GAF Geographic adaptive fidelity Giải thuật chính xác theo địa lý GEAR Geographic and Energy-Aware Routing Định tuyến theo vùng địa lý sử dụng hiệu quả năng lượng NAM Network Animator Minh họa mạng NS Network Simulator Mô phỏng mạng TCP Transmission Control Protocol Giao thức điều khiển truyền tải QoS Quanlity of Service Chất lượng dịch vụ SMP Sensor Management Protocol giao thúc quản lí mạng cảm biến TADAP Task Assignment and Data Advertisement Protocol G.thức quảng bá dữ liệu và chỉ định nhiệm vụ cho từng sensor SQDDP Sensor Query and Data giao thức phân phối dữ liệu và ADC Analog-to-Digital Converter Bộ chuyển đổi tương tự - Số MAC Media Access Control Điều khiển truy nhập môi trường ADV Advertise Bản tin quảng bá REQ Request Bản tin yêu cầu DS - SS Directed-Sequence Spread Spectrum Trải phổ tuần tự BS Base Station (Sink) Trạm gốc CH Cluster Head Nút chủ cụm LỜI KẾT WSN ra đời là sự kết hợp thành công của một loạt những thành tựu khoa học về công nghệ mạng máy tính. Hiện nay, nó được ứng dụng rất nhiều trong đời sống và để mang lại lợi ích tối ưu cho người sử dụng thì phải tận dụng các điểm mạnh riêng biệt của mạng cảm ứng, đó là các sensor giá thành thấp, tiêu thụ ít năng lượng và có thể thực hiện đa chức năng. Những sensor này có kích cỡ nhỏ, thực hiện chức năng thu phát dữ liệu và giao tiếp với nhau chủ yếu thông qua kênh vô tuyến. Dựa trên cơ sở đó người ta thiết kế ra mạng cảm biến, nhằm phát hiện ra những sự kiện hoặc hiện tượng, thu thập và truyền dữ liệu cảm biến được đến người dùng. Tuy nhiên, WSN vẫn còn rất nhiều vấn đề cần hoàn thiện, đặc biệt là vấn đề năng lượng và duy trì nguồn năng lượng cho các nút cảm biến. Các nhà khoa học trên thế giới đã không ngừng nghiên cứu và đưa ra công nghệ mới để cải thiện tất cả các phân lớp trong cấu trúc node cảm biến, mà mục đích cuối cùng là đưa WSN trở nên gần gũi với cuộc sống hơn. Trong phạm vi đồ án này, em đã nghiên cứu được những nét khái quát nhất về mạng cảm biến, mà cụ thể là các giao thức định tuyến phổ biến hiện nay. Đây là một đề tài còn nhiều mới mẻ và rộng lớn, thời gian thực hiện đề tài ngắn nên em rất mong nhận được sự đóng góp ý kiến của các thầy cô trong bộ môn cũng như trong khoa để đồ án của em được hoàn thiện hơn. Một lần nữa em xin chân thành cảm ơn thầy PGS.TS.Vương Đạo Vy – Khoa Điện Tử Viễn Thông – Trường Đại Học Công Nghệ - Đại học Quốc gia Hà Nội đã nhiệt tình hướng dẫn, chỉ bảo và định hướng cho em thực hiện thành công đồ án. MỤC LỤC

Các file đính kèm theo tài liệu này:

  • docTổng quan về mạng cảm ứng không dây Wireless Sensor Netwơrk-WSN.doc