NHIỆM vụ CỦA ĐỒ ÁN
Đề tài tập trung vào nghiên cứu và triển khai một số thuật toán đánh giá chấtlượng tuyến của mạng cảm biến không dây dựa trên nền tảng cảm biến zolertia zl,nội dung đề tài bao gồm:
>• Tìm hiểu về mạng cảm biến không dây, hệ điều hành contiki, nền tảng cảm biến zolertia zl.
>• Tìm hiểu một số thuật toán đánh giá chất lượng tuyến trong mạng cảm biến không dây.
> Xây dựng, mô phỏng, triển khai thực tế các thuật toán đã nghiên cứu.Em xin cam đoan toàn bộ nội dung của đồ án này là do em tự tìm hiểu nghiêncứu duới sự định hướng của thầy giáo hướng dẫn Nội dung đồ án tốt nghiệp nàykhông sao chép và vi phạm bản quyền từ bất kỳ công trình nghiên cứu nào.
Nếu những lời cam đoan trên không đúng, em xin chịu hoàn toàn trách nhiệmtrước pháp luật.
Thái Nguyên, tháng 5 năm 2013Sinh viên thực hiện đồ án
Cao Văn Minh
Trang 21.3 Kiến trúc giao thức mạng cảm biến không dây 13
1.4 ứng dụng của mạng cảm biến không dây 16
CHƯƠNG 2 CÁC THUẬT TOÁN ĐÁNH GIÁ CHẤT LƯỢNG TUYẾN TRONGMẠNG CẢM BIẾN KHÔNG DÂY 17
2.1 Đặt vấn đề 17
2.2 Thông số đánh giá ETX 182.3 G
Trang 3iao thức thu thập và thuật toán ước lượng liên kết 20
2.3.1 Giao thức thu thập 20
2.3.2 Đánh giá ước lượng liên kết(Link Quality Estimation LQE) 22
2.4 Giao thức cây thu thập dữ liệu (Collection Tree Protocol- CTP) 24
2.4.1 Routing 27
2.4.2 Neighbor discovery và cơ chế quản lý(management) 28
2.4.3 Ước lượng liên kết (Link estimation) 29
2.4.4 Duplicate packet filtering and packet aging 31
2.5 Thuật toán DE (Direct Estimate) 31
2.6 Thuật toán LQI (Link Quality Indicator) 36
2.6.1 Khái quát thuật toán 36
2.6.2 Cài đặt thuật toán LQI 36
2.7 Thuật toán 4B (Four-bit) 37
2.7.1 Khái quát thuật toán 37
2.7.2 Cài đặt thuật toán 4B 39
2.8 Đánh giá thuật toán 45
CHƯƠNG 3 HỆ ĐIỀU HÀNH CONTIKI 47
3.1 Giới thiệu về Contiki 47
3.2 Kiến trúc giao thức mạng trong Contiki 49
3.2.1 Thủ tục truyền thông uIP 50
3.3.2 Thủ tục truyền thông Rime 51
3.3 Lớp điều khiển truy nhập (MAC) trong Contiki 54
3.4 Chương trình mô phỏng Cooja của Contiki 57
Trang 43.5 Nen tảng phần cứng zolertia zl 59
3.5.1 Giới thiệu 59
3.5.2 Các đặc điểm của Z1 60
3.5.3 Các đặc tính của Z1 60
CHƯƠNG 4 TRIỂN KHAI ĐÁNH GIÁ CÁC THUẬT TOÁN 63
4.1 Mục tiêu của quá trinh triển khai đánh giá các thuật toán 63
4.2 Các yêu cầu cần thiết khi triển khai mô phỏng và testbed 63
4.2.1 Yêu cầu về phần mềm 63
4.4.3 Chi phí gửi gói 69
4.5 Triển khai testbed 69
Trang 5PHỤ LỤC 74
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 86
DANH MỤC HÌNH VẼ•Hình 1 1 mô hình mạng cảm biến không dây 12
Hình 1 2 Kiến trúc giao thức mạng cảm biển 13
Hình 1.3 Phân chia kênh vô tuyển trong dải 24Ghz 15
Hình 2.1 ETX của một liên kết 18
Hình 2.2 ETX của một tuyến 19
Hình 2 3 Giao thức thu thập(Coỉlectỉon protocol) và ước lượng liên kết 21
Hình 2.4 phân loại LQEs 23
Hình 2.5 Contiki collectprotocol 25
Hình 2.6 Các module trong CTP 26
Hình 2.7 Một vỉ dụ về mạng lên kết hình cây 27
Hình 2.8 Ước lượng liên kết và cơ chế quản lý 30
Hình 2.9 Lưu đồ cập nhật ETX (DE) 33
Hình 2.10 Lưu đồ quá trình thêm hàng xóm (DE) 34
Hình 2.11 Lưu đồ cập nhật hàng xóm (ETX) 35
Hình 2.12 Lưu đồ cập nhật ETX (LQI) 37
Hình 2.13: 4B ánh xạ tới giao thức rime stack 39
Hình 2.14: Ước lượng liên kết của thuật toán 4b 41
Hình 2.15: Thuật toán 4B-thêm/ỉoại bỏ Neighbor 42
Hình 2.16: vỉ dụ tính giá trị ETX kết hợp 44
Hình 3.1 Lịch sử phát triển của Contỉki os 48
Hình 3.2 Kiến trúc giao thức mạng trong Contiki 49
Hình 3.3 Sơ đồ hoạt động các ứng dụng trong Contiki 50
Hình 3.4 Thủ tục truyền thông uIP 51
Hình 3.5 Tổ chức của Rime 52
Trang 6Hình 3.6 Quá trình trao đổi dữ liệu trong Contiki 54
Hình 3.7 Lớp MAC trong Contỉki os 55
Hình 4.2 giả trị rtmetrìc của từng node theo từng thuật toán 68
Hình 4.3 PDR của từng thuật toán tưomg ứng 68
Hình 4.4 PDC của từng thuật toán tương ứng 69
Hình 4.5: Kịch bản testbed 70
Hình 4.6: PDR của từng thuật toán triển khai testbed 70
Hình 4.7: PDC của từng thuật toán triển khai testbed 71
Trang 7LỜI NÓI ĐẦU
Những năm gần đây, nhờ có sự phát triển mạnh mẽ của khoa học kỹ thuậtcùng với những tiến bộ vượt bậc trong công nghệ chế tạo đã tạo điều kiện cho mộtthế hệ mạng mới ra đời - mạng cảm biến không dây (Wireless Sensor Network-WSN) Yới kích thước nhỏ gọn, tiêu thụ ít năng lượng và đa chức năng, mạng cảmbiến không dây đang được nghiên cứu, phát triển và ứng dụng sâu rộng trong đờisống hàng ngày trên khắp các lĩnh vực như y tế, quân sự, môi trường, giao thông
Tuy nhiên do mạng cảm biến truyền dẫn thông tin không dây, cách thứctruyền thông này xảy ra sự mất mất dữ liệu, nên thách thức lớn nhất đối với WSNlà thiết kế được những mạng cảm biến truyền thông đa chặng nhưng có thể giảmthiểu tối đa sự mất mát dữ liệu Là một phần vô cùng quan trọng trong quá trìnhđịnh tuyến đa chặng, việc ước lượng chất lượng tuyến trong mạng sẽ là khâu mấuchốt quyết định quá trình định tuyến là hiệu quả hay không hiệu quả.
Nhận thấy tầm quan trọng của việc đảm bảo chất lượng, hiệu năng của mạng
cảm biến em đã lựa chọn và nghiên cứu đề tài “Nghiên cứu và triển khai một sổ
thuật toán đánh giá chất lượng tuyến của mạng cảm biến không dây dựa trênnền tảng zolertia Zl” Đe tài tập trung vào việc tìm hiểu, xây dựng và đánh giá
một số thuật toán ước lượng tuyến của mạng cảm biến không dây Từ đó đưa rađược các nhận xét, đánh giá về chất lượng, hiệu năng của từng thuật toán ướclượng.
Trong quá trình thực hiện đồ án tốt nghiệp không thể tránh khỏi những sơsuất Yì vậy, em rất mong nhận được sự đóng góp ý kiến của thầy cô và bạn bè đểđồ án được hoàn thiện hơn.
Em xin chân thành cảm ơnỉ
Thái Nguyên, tháng 5 năm 2013Sinh viên
Cao Văn Minh
DANH SÁCH CÁC TỪ VIẾT TẮT
Trang 8ACK Acknowledgement Phản hồi báo nhậnCTP Collect Tree Protocol Giao thức thu thập cây
ETX Expected Transmission Count Số lần truyền lại kỳ vọngEWMA Exponentially Weighted Moving
OSI Open Systems Interconnection Reference Model
Mô hình tham chiếu kết nối các hệ thống mở
RDC Radio Duty Cycle Cơ chế điều khiển bộ thu phátRSSI Received Signal Strength
Chỉ thị cường độ tín hiệu nhận được
SNR Signal-to-Noise Ratio Tỷ lệ tín hiệu trên nhiễuTCP Transmission Control Protocol Giao thức điều khiển truyền
UDP User Datagram Protocol Giao thức sử dụng DatagramLQE Link Quality Estimation Đánh giá chất lượng liên kết
Trang 9CHƯƠNG 1
TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY
Trước khi đi vào đánh giá hiệu năng của các phương pháp ước lượng tuyến,ta cần có những khái niệm tổng quan, cơ bản nhất về mạng cảm biển không dầy -WSN Chương này trình bày một cách tổng quan nhất về mạng cảm biến khôngdây, những ứng dụng cũng như những thách thức của mạng cảm biến trong quátrình phát triển.
1.1Gỉổi thiêu
Cuộc cánh mạng kỹ thuật số của thế kỷ 21 đã và đang diễn ra với tốc độ vàquy mô lớn hơn nhiều so với cuộc cách mạng kỹ thuật số trước đây Những tiến bộvượt bậc trong công nghệ gần đây nói chung và sự hội tụ của hệ thống các côngnghệ như kỹ thuât vi điện tử, công nghệ mạch tích hợp, giao tiếp không dây, côngnghệ nano, vi mạch cảm biến, xử lý và tính toán tín hiệu nói riêng, đã tạo tiền đềcho những thiết bị cảm biến có kích thước nhỏ, đa chức năng, công suất tiêu thụthấp ra đời.
Mạng cảm biến không dây có thể hiển đơn giản là mạng của các đối tượngthông minh Trong đó mỗi nút mạng cảm biến không dây bao gồm một bộ thu phátvô tuyến, một bộ vi xử lý, và các cảm biến Mạng cảm biến mạng liên kết các nútcảm biến với nhau thông qua giao tiếp không dây trong đó các nút trong mạngthường là các (thiết bị) đơn giản, nhỏ gọn, giá thành thấp, đa chức năng, công suấttiêu thụ thấp và có số lượng lớn, được phân bố một cách không có hệ thống (non-topology) trên một diện tích rộng lớn (phạm vi hoạt động rộng), sử dụng nguồnnăng lượng hạn chế (pin), có thời gian hoạt động lâu dài (vài tháng đến vài năm) cónhiệm vụ cảm nhận, đo đạc, tính toán, thu thập, tập trung dữ liệu để đưa ra cácquyết định toàn cục về môi trường tự nhiên.
Các nút cảm biến thường có chức năng sensing (sensor node): cảm ứng, quansát môi trường xung quanh như: nhiệt độ, độ ẩm, ánh sáng theo dõi hay định vịcác mục tiêu cố định hoặc di động Các nút giao tiếp ad-hoc với nhau và
Trang 10truyền dữ liệu về trung tâm (base statỉon) một cách gián tiếp
bằng kỹ thuật đa chặng như hỉnh 1.1.
Hình 1 1 mồ hình mạng cảm biển không dây.
Mạng cảm biến không dây khác vởỉ các mạng thông thưởng và nó có một sốđặc điểm nểỉ bật như sau:
• Mạng cảm biến không dây thường được triển khai trên một phạm vi rộng,sế lượng node mạng lốn và được phân bố một cách tương đếỉ ngẫu nhiên, các nodemạng có thể di chuyển làm thay đổi sơ đồ mạng do vậy mạng cảm biến khôngdây đòi hỏi một sơ đồ mạng linh động và các node mạng có khả năng tợ điều chinh,tự cấu hình.
• WSN không sử dụng được các cơ chế và giao thức truyền thông phổ biếndùng cho mạng máy tính nhu 802 ỉ 1 mà đòi hỏi phải có cơ chế & giao thức truyềnvô tuyến riêng.
• Do giới hạn về nguồn năng lượng cung cấp (pin ), giá thành và yêu cầuhoạt động trong một thời gian dài, nên vấn đề tiêu thụ năng lượng là tiêu chí thiếtkế quan trọng nhất trong mạng cảm biến.
Trang 11• Các thiết bị ừong mạng cảm biến không dây có thời gian hoạt động lâudài (từ vài tháng đến vài năm) và có thể hoạt động trong môi trường khắc nghiệt(chất độc, ô nhiễm, nhiệt độ ).
• Các node ừong mạng cảm biến không dây có thể di động làm phức tạphóa vấn đề định tuyến trong mạng.
• Do giới hạn về năng lực tính toán (Chỉp vi xử lý, bộ nhớ hạn chế) củãtừng node mạng cũng như để tiết kiệm năng lượng, mạng cảm biến không dâythường sử dụng các phương pháp tính toán và xử lý tín hiệu phi tập trung (giảm tảicho node gần hết năng lượng) hoặc gửi dữ liệu cần tính toán cho các node có khảnăng xử lý tín hiệu mạnh và ít ràng buộc về tiêu thụ năng lượng.
Kiến trúc giao thức áp dụng cho WSN được trình bày trong hình 1.2 Kiếntrúc này bao gồm các lớp và các mặt phẳng quản lý Các mặt phẳng quản lý nàylàm cho các nút có thể làm việc cùng nhau theo cách có hiệu quả nhất, đinh tuyếndữ liệu trong mạng cảm biến di động và chia sẻ tài nguyên giữa các nút cảm biến.
• Mặt phẳng quản lý công suất: Quản lý cách cảm biến sử dụng nguồn năng
lượng của nó Yí dụ : Nút cảm biến có thể tắt bộ thu sau khi nhận được một bản tin.Khi mức công suất của nút cảm biến thấp, nó sẽ quảng bá sang cácnút cảm biến lâncận để thông báo rằng mức năng lượng của nó thấp và nó không thể tham gia vàoquá trình định tuyến.
Hình L 2 Kiến trúc giao thức mạng cảm biến.
Trang 12• Mặt phẳng quản lý di động: Có nhiệm vụ phát hiện và đăng ký sự chuyển
động của các nút cảm biến Các nút cảm biến giữ việc theo dõi xem nút nào là núthàng xóm của chúng.
• Mặt phẳng quản lý: Cân bằng và sắp xếp nhiệm vụ cảm biến giữa các nút
trong một vùng quan tâm Không phải tất cả các nút cảm biến đều thực hiện nhiệmvụ cảm nhận ở cùng một thời điểm.
802.15.4 sử dụng băng tần 868- 868.8MHz Phần còn lại của thế giới, 802.15.4 sửdụng băng tần 2400-2483.5MHz.
IEEE 802.15.4 định nghĩa 26 kênh khác nhau hoạt động Trong mỗi băngtần, có một số kênh quy định, như trong hình 1.3 Channel 0 được quy định chỉ ởchâu Âu, và nằm trên băng 868MHz Các kênh từ 1-10 được quy định chỉ ở HoaKỳ trên băng 902-982MHZ Khoảng cách giữa các kênh là 2MHz.
Các kênh từ 11-26 được quy định trên băng tần 2,4 GHz Các kênh đượcđịnh nghĩa với khoảng cách giữa các kênh là 5MHz.
IEEE 802.15.4 sử dụng hai loại điều chế vô tuyến, tùy thuộc vào tần sốkênh Các kênh từ 0-10 sử dụng khoá dịch pha nhị phân (BPSK), trong khi đó cáckênh từ 11-26 sử dụng khoá dịch pha vuông góc (QPSK) Trên tất cả các kênh,IEEE 802.15.4 sử dụng điều chế trải phổ chuỗi trực tiếp (DSSS).
Trang 13Hình 1.3 Phân chia kênh vô tuyến trong dải 24Ghz.
Giống như kỹ thuật điều chế, tốc độ bit là phụ thuộc vào kênh vô tuyến Tốcđộ bit của kênh là 0 là 20000 biưs Đối với các kênh từ 1-10, tốc độ bit là 40000bit/s, và cho các kênh 11-26 tốc độ bít là 250.000 bit/s.
Các kênh vô tuyến IEEE 802.15.4 trong băng tần 2.4GHz chia sẻ tần số vôtuyến của chúng với 802.1 l(WỈFi) và có một sự chồng lấn với các kênh 802.11.Bởi vì 802.11 có một công suất đầu ra cao hơn nhiều, nên lưu lượng 802.11 làmnhiễu lưu lượng theo chuẩn 802.15.4 Hình 1.3 cho thấy sự chồng lấn giữa
802.15.4 và 802.11 Tất cả kênh 802.15.4 ngoại trừ kênh 25 và 26 được bao bọcbởi các kênh 802.11 Khỉ các kênh 1, 6 và 11 của 802.11 được sử dụng, thì có 2kênh của 802.15.4 (là kênh 15 và 20) không thấy sự can nhiễu từ lưu lượng 802.11.Tuy nhiên, việc gán các kênh này tùy thuộc vào những thay đồi ở những khu vụcpháp lý khác nhau và có thề thay đồi theo thời gian.
Kênh 25 và 26 không được bao bọc bởi các kênh 802.11 Khi các kênh 1, 6và 11 của 802.11 được sử dụng, hai kênh 15 và 20 của 802.15.4 không bị ảnhhưởng bởi 802.11.
1.3.2 Lớp liên kết dữ liệu
Mục đích của lớp liên kết dữ liệu (MAC) là để kiểm soát truy cập vào cáckênh truyền vô tuyến Bởi vì kênh truyền vô tuyến được chia sẻ giữa tất cả các nútgửi và nút nhận trong vùng lân cận của chúng với nhau, lớp MAC cung cấp cơ chếcho các nút xác định khi nào kênh là nhàn rỗi và khi nào là an toàn để gửi các bảntin.
IEEE 802.15.4 channel ] 1:26
Frequency 2405 2410 2415 2420 Channel
11 12 13 14IEEE 802.1 lb channel 1:13
15 i 2430 2435 2440 2443 16 |17 18 19
Trang 14Lớp IEEE 802.15.4 MAC cung cấp việc quản lý truy cập kênh, xác nhận sựhọp lệ các khung đến và xác nhận sự tiếp nhận khung, ẩ goài ra, 802.15.4 MACcung cấp các cơ chế tùy chọn cho cơ chế đa truy cập phân chia thời gian (TDMA)để truy cập kênh truyền.
1.4 ứng dụng của mạng cảm biến không dây
- Quân sự: theo dõi mục tiêu, chiến trường, các nguy cơ tấn công nguyêntử, sinh hóa,
- Môi trường: giám sát môi trường thay đổi khí hậu , cháy rừng, lũ lụt, - Y tế, sức khỏe: giám sát bệnh nhân trong bệnh viện, quản ý thuốc, - Gia đình: ngôi nhà thông minh, điều khiển các thiết bị điện, hệ thống sưởiấm,
- Thương mại: điều khiển trong môi trường công nghiệp và văn phòng,giám sát xe cộ, giao thông,
Trang 15quan tâm nhất hiện nay của mạng cảm biển không dây đó là vẩn đề năng lượng.Năng lượng tiêu thụ của các nút cảm biến liên quan mật thiết đến thời gian sổngcủa mạng.
Tuy nhiên với phương tiện truyền thông trong mạng là sóng vô “wireless medium” thì quá trình mất dữ liệu, lãng phí năng lượng của mạngthường xảy ra nếu việc định tuyển không hiệu quả Vì vậy, việc đánh giá chấtlượng đường truyền để giảm thiểu truyền thông đóng vai trò quan trọng trong tiếtkiệm năng lượng của mạng Chương này sẽ trình bày về các phương pháp ướclượng tuyến ứng dụng trong mạng cảm biến không dây.
tuyến-2.1 Đặt vấn đề
Những năm gần đây mạng cảm biến không dây luôn là là một chủ đề đượcmang ra thảo luận nhiều nhất Với rất nhiều các công trình nhiên cứu đã chỉ ra tầmquan trọng và khả năng ứng dụng cao vào đời sống WSN được ứng dụng chủ yếutrong quá trình thu thập dữ liệu Quá trình thu thập dữ liệu khó có thể áp dụng trongmạng cảm biến truyền thống (có dây) bởi việc điều khiển mạng truyền thống rấtkhó khăn và hao tốn chi phí Vì vậy, mạng cảm biến không dây (WSN) ra đời vớinhững ưu điểm như là: chi phí thấp, tiêu tốn ít năng lượng, kích thước nút cảm biếnnhỏ và có thể truyền thông vô tuyến qua những khoảng cách ngắn Tuy nhiên, liênkết vô tuyến trong WSN lại là liên kết không tin cậy, có tính bất đối xứng, thườngthay đổi theo thời gian và không gian.
Trong mạng cảm biến không dây thì thông số định tuyến cũ- số bước nhảy
nhỏ nhất (minumum hop-count) không còn phù họp vì đặc điểm không tin
Trang 16cậy, bất đối xứng, thay đổi theo thời gian và không gian của liên kết vô tuyến, dẫn đến phải có thông số định tuyến mới phù hợp với những đặc tính này của liên kết vô tuyến Thông số mới
được đề xuất là “sổ lần truyền kỳ vọng’1 (Expected transmission count- ETX) Mục đích chù yếu của thông số ETX là tìm đường đi cố hiệu suất truyền thông cao và hiệu quả sử dụng năng lượng tốt để tránh những liên kết có chất lượng kém, phải truyền đỉ truyền lại nhiều lần mới có thể truyền thảnh công một gói tin ETX của một tuyến là sự cộng dồn số lần truyền được yêu cầu tại mỗi liên kết trong toàn tuyến đó ETX tại một liên kết được ước lượng theo tỷ lệmất gói theo 2 chiều Từ đó có thể thấy ước lượng tuyến đóng vai trò chủ yếu trong quyết định chọn đường đi tốt nhất của quá trình định tuyến.
2.2 Thông số đánh giá ETX
Với nhu cầu cần thiết có một thông số mới giúp cho việc ước lượng đượcchỉnh xác trạng thái của các liên kết trong mạng cảm biến không dây, khái niệm“Expected Transmission Count - ETX“ đã ra đời Thuật ngữ ETX - số lần truyềnbản tin kỳ vọng lần đầu tiên được đưa ra bởi Douglas s J De Couto trong bài luậnvăn tiến sĩ của mình tại học viện MIT (Hoa Kỳ) năm 2004, thông số này dựa ưênviệc tính toán số gói tin bị mất ưong quá trình truyền thông tin giữa một cặp nútláng giềng, từ đó có thể giảm thiểu tối đa số lần truyền dữ liệu giữa các nút trêntoần mạng.
Giá trị ETX của một liên kết ( link ETX ) là số lần truyền dữ liệu cần thiếtđể gửi một gói tin từ nguồn đến đích qua liên kết đó, bao gồm cả việc truyền lại.
Trang 17Hình 2.1 ETX của một liên kết.
DeTiverv RatioLinkEĨX Throuahput
100% 1 _ Q1 1100%
Trang 18Giá trị ETX của một liên kết này được tính toán dựa trên việc gửi broadcastđi những gói tin thăm dò (beacon) và nhận lại thông tin về các liên kết từ mọỉhướng.
Route ETX Throughput
Hình 2.2 ETX của một tuyến.
Giá trị ETX của một tuyến (route ETX) bằng tổng các ETX của mỗi liên kếttrong toàn tuyến đó.
ETX tối ưu hơn Hop cơunt, bởi vì thông số Hop count tìm ra đường đi vẫnhoạt động, ETX còn có thể tìm ra những con đường tốt hơn bởi nó còn tránh đượcnhững liên kết bị suy giảm phẩm chất Nếu chất lượng các tuyến đường là nhưnhau, lúc đó hiệu quả ước lượng của ETX và Hop count là như nhau, số lượng nút(hop) càng nhiều thì ETX càng phát huy được những hiệu quả của mình (sự sai
Trang 19khác trong chất lượng đường truyền càng thể hiện rõ rệt.
Hiện tại, khá nhiều thuật toán ước lượng tuyến đã được đề xuất Các thuậttoán có thể phân thành 2 loại: ước lượng dựa trên phần cứng và ước lượng dựa trênphần mềm.
Ước lượng dựa trên phần cứng sử dụng trực tiếp thông số bộ thu phát đượcgắn liền trong gói tin nhận được, ví dụ Link Quality Indicator (LQI), ReceivedSignal Strength Indicator (RSSI) và Signal-to-Noise Ratio (SNR)
Ước lượng dựa trên phần mềm phân ra hai loại nhỏ: ước lượng trực tiếp vàước lượng dựa trên độ tin cậy Trong thuật toán ước lượng trực tiếp, giá trị ETXcủa một liên kết được tính trực tiếp bằng số lần truyền vật lý của gói tinunicast.Trong khi thuật toán ước lượng dựa trên độ tin cậy lại ước lượng dựa trên tỷlệ nhận của gói tin quảng bá, gọi là beacon Ngoài ra, còn có thuật toán là sự kếthợp hai loại thuật toán trên: chất lượng tuyến được ước lượng dựa trên giao tiếpunicast và beacon.
2.3 Giao thức thu thập và thuật toán ước lượng liên kết2.3.1 Giao thức thu thập
Gần như tất cả các hệ thống mạng cảm biến hoạt động dựa trên giao thứcmulti-hop, khi thu thập được dữ liệu thì dữ liệu đó được đưa ra ngoài mạng và đưadữ liệu ra mạng thông qua một hoặc nhiều node riêng biệt.
Tất cả giao thức có phương thức thu thập sử dụng phương thức truyền tinkhông tin cậy từ một điểm thu thập(có thể gọi là node sink hoặc gateway) và sửdụng một chỉ số tối thiểu để định tuyến trong mạng Chỉ số này này hoặc giá trịETX xác định điều kiện dự kiến truyền tin, các node gửi bản tin trên tuyến đườngmà tuyến đường đó tới điểm thu thập là ngắn nhất.
Giao thức thu thập tự động cài đặt phương thức thu thập hình cây(collectiontrees) dựa trên yêu cầu của từng node riêng biệt Hiện nay, các giao thức mới hơnđã chuyển sang một cách tiếp cận đơn giản hơn, mỗi node quyết định một bướcnhảy tiếp theo cho tất cả lưu lượng dữ liệu phía trước bằng cách tạo ra định tuyếnhình cây đến điểm thu thập, xây dựng mạng hình cây này bằng cách thiết lập một
Trang 20chỉ số định truyến chênh lệch(routỉng cost gradient) Điểm thu thập gốc có chỉ số là0 Một node tính toán chỉ số của node tiếp theo(bước nhảy tiếp theo) là chi số củanó cộng với chỉ số liên kết với nó Tóm lại chỉ số của một node là tổng của các chỉsố liên kết trên tuyến đường của nó.
Ước lượng liên kết là một phần chức năng của giao thức thu thập này cốtrách nhiệm xác định số lượng và tính toán chỉ số các liên kết.
Hình 2.3 cho biết thông tin chung của giao thức thu thập và ước lượng liênkết và cho thấy xu huáng trong các phương pháp để tổỉ ưu hóa các giao thúc thuthập Giao thức Collection Tree Protocol (CTP) là giao thức thu thập tiêu chuNitrong TinyOS, và sử dụng ước lượng liên kết 4B để đánh giá chất lượng các liên kếtcủa nó.
Một mạng có thề có nhiều điểm thu thập dữ liệu, và tự động định tuyến tớimột nơi gần nhất Nhưng ở đây chỉ có một điểm đến bất kỳ, điểm thu thập bất kỳgửi yêu cầu định tuyến có thể là độc lập tới mạng Hầu hết các giao thức sử dụngmột bảng kích thước cố định bước nhảy tới node tiếp theo Chúng cố gắng tạo ra sựcân bằng giữa tuyến đường ổn đỉnh và khám phá mới, có thể tốt hơn node cha bởichuyển đổi node cha không thường xuyên và sử dụng cơ chế giảm thiểu giới hạntốc độ thay đổi.
2.3.2 Đánh giá ước lượng liên kết(Lỉnk Quality Estimation LQE)
Như đã biết ước lượng liên kết là một phần của giao thức thu thập này cótrách nhiệm ước lượng và tính toán chỉ số các liên kết nhằm tìm ra tuyến đường tốtnhất.
1*Hop-count is used as the Link cost metric (similar to MANET protocols such as
AGtJV and DSDV)• £P (Shortest Path)Y*
Periodic broadcasts aine used to estimate the number of transmissions per link.
* Mint route* Srer3-
Physical layer signal quality Is added to the metric.* MultiHopUQICurrent
Combine these imetlnodSr drawing information from multi ole Layers.• Collection Tree Protocol _[CTP] _
Hình 2 3 Giao thức thu thập(Colỉectỉon protocol) và ước lượng liên kết
Trang 21Để đánh giá chất lượng liên kết được hiệu quả thì cần chú ý một số yêu cầusau:
Hiệu suất năng lượng(Energy efficiency): năng lượng chính là điều cần
quan tâm nhất trong WSNs, LQE nên quan tâm đến việc giảm chi phí năng lượngtrong quá trình truyền thông Do đó một vài kỹ thuật ước lượng phức tạp có thể làkhông thích hợp trong WSNs Hơn nữa LQE lại rất quan tâm đến việc truyền thôngnăng lượng thấp.
Độ chính xác(Accuracy): Nó đề cập đến khả năng LQE đưa ra chính xác
tình trạng của các hên kết, nghĩa là cập nhật chính xác trạng thái của liên kết Độchính xác của ước lượng liên kết làm ảnh hưởng tới hiệu quả của các giao thứcmạng.
Mức độ phản ứng(Reactívity): mức độ phản ứng chỉ ra khả năng đáp ứng
với những thay đổi liên tục trong ước lượng liên kết [Kim and Noble 2001] Ví dụ,một LQE hoạt động cho phép giao thức định truyến và cơ chế kiểm soát cấu trúcliên kết để nhanh chóng thích ứng với những thay đổi trong liên kết Mức độ phảnứng phụ thuộc vào hai yếu tố:cửa sổ ước lượng w và chương trình giám sát liên kết.Giá trị w nhỏ và hoạt động giám sát với tỷ lệ beacon cao có thể làm cho LQE đápứng.
Độ bền (Stability): độ bền đề cập đến khả năng chống lại những thay đổi
ngắn(short-term) trong ước lượng liên kết Chẳng hặn, giao thức định tuyến khôngphải thiết lập lại thông tin khi một ước lượng liên kết cho thấy sự suy giảm, bởi vìsự định tuyến lại là tốn năng lượng và thời gian Lin et al [2009] đã chỉ ra rằng sựổn định được đáp ứng thông qua đánh giá ước lượng liên kết dài hạn Ước lượngliên kết dài hạn được thực hiện bởi các bộ lọc EWMA với một yếu tố làm mịnlớn(a=0.9) Tính ổn định của LQE có thế đánh giá bởi hệ số sai lệnh của đánh giáước lượng liên kết, được tính như tỷ lệ của độ lệnh trung bình [Woo and Culler2003] Nó cũng có thể đánh giá bởi các nhiên cứu sự tác động của LQẼ đến địnhtruyến Thường thì LQẼ ổn định thì topology sẽ ổn định, ví dụ: rất ít thay đồi nodecha trong sự phân cấp định tuyến.
Trên thực tế, độ phản ứng và độ bền là sự chênh lệch Chẳng hạn, khi cân
Trang 22nhắc sử dụng PRR như là LQE, nếu chúng ta thường xuyên tính toán PRR(w nhỏ),Chúng ta có được một phản ứng LQE như là bắt được một liên kết Tuy nhiên, độtin cậy sẽ được tính là chi phí ổn định bởi vì PRR sẽ xem xét một vài liên kếtthoáng qua biến đểỉ có thẻ được bỏ qua Vì vậy một LQE tết là cung cấp một sự cânbằng giữa phản ủng và sự ổn định.
Hiện nay, người ta đã đưa ra được rất nhiều thuật toán thỏa mãn các yếu tếtrên Ví dụ trong chương trình định tuyến hình cây, một node lựa chọn node chatiềm năng như là hàng xóm có chất lượng liên kết tốt nhất Trong số tất cả các hàngxóm có chỉ phí tuyến đường thấp, ở đây chi phí tuyến đường được tính toán dựaứên giá trị ETX.
2.4 Giao thức cây thu thập dữ liệu (Collectỉon Tree Protocol- CTP)
Trong Contiki, CTP được triển khai dựa trên cơ chế truyền dữ liệu tin cậygiữa các nút/chặng (hop-by-hop reliable unicast) Dữ liệu được tới node sink thôngqua một tree topology( liên kết dạng cây).
Đặc điểm chung của giao thức thu thập dữ liệu contiki được thể hiện nhưhình dưới đây.
Contiki collect protocol bao gồm một số thành phần cơ bản sau đây.
Routing (tree creation): Các node tự tổ chức thành mạng liên kết hình cây,
Hình 2.4 phân loại LQEs.
Trang 23với data liên tục gửi lên mạng liên kết hình cây cho đến khi node cao nhất nhậnđược Node sink là node cao nhất trong mạng này Tất cả các node khác sẽ là cácnode lá Dần dần hình thành sự liên kết rộng bắt đầu từ node sink Các node cậpnhật vị trí của mình trong mạng liên kết hình cây.
Neighbor discovery and management: trong một tiến trình riêng biệt,
node hàng xóm(node lân cận) thông báo có mặt của nó bằng cách định kỳ gửi mộtgói tin thông báo ra ngoài Thông báo này được sử dụng để xác định dánh sách cácláng giềng.
Link estimation: đây là cơ sở để đánh giá mức độ liên kết của các gói dữ
liệu gửi từ node Giá trị EXT của mỗi hàng xóm trong bảng danh sách láng giềngđể cập mỗi nhận sự chấp nhận hoặc time-out.
Duplicate packet filtering and packet aging: gói tin được chuyển tiếp
đến các node cho đến khi nó đến được node sink Đe giảm khả năng nhận lại bảnsao của gói tin node sẽ kiểm tra lịch sử chuyển tiếp gói tin Nếu nó đã được chuyểntới gần đây thì gói tin sẽ bị bỏ qua Ngoài ra, để ngăn cản gói tin được chuyển tiếptrong mạng mãi mãi Gói tin sẽ bị loại bỏ khi nó vượt qua số chuyển tiếp lớn nhấtcủa nó.
Trang 24IncomingANN, packet
Timer■ I
I Timer
Remweold neighbors
Hinh 2.5 Contiki collectprotocol.
Trang 25Hình 2.6 Các module trong CTP.
Cơ chế định tuyến để gửi một gói tin xuất phát từ nút bất kỳ đến sink dựa trên một cấu trúc mạng dạng cây Trong đó,tất cả các nút được tổ chức như một cây ảo, với vị trí của chúng ứên cây được xác định bằng một giá trịlổbit rtmetric Nút sinklà gốc của cây và có rtmetric bằng 0 Các nút con càng xa nút sink có giá trị càng lán Rtmetrỉc của nút con bằng rtmetric củanút cha cộng với giá trị ước lượng của liên kết nối nút cha và nút con, trong đó, nút cha (parenưnext- hop/next forwarder) đượclựa chọn là nút hàng xóm cung cấp đường đi có giá trị ETX thấp nhất tới nút sink.
Cây được tạo một cách tự động bằng cách cập nhật các giá trị rtmetríc mỗi khi có một sự kiện đặc biệt xảy ra.Ban đầu,trừ nút sink nhận giá trị là 0, tất cả các nút nhận giá trị rtmetric tối đa bằng (212 - 1 = 4095).
Các gói tin thông báo (announcement packet) được gửi đi để cập nhật giá trị rtmetric vào quản lý các nút hàng xóm trênmỗi nút.Giá trị rtmetric của các nút hàng xóm này được chứa trong bảng hàng xóm (neighbor table) của mỗi nút nhận được.
Giá trị rtmetric của một nút sau đó được tính toán dựa trênrtmetric của các nút hàng xóm Nút lụa chọn nút cha là nútcung cấp đường đi có giá trị ẼTX thấp nhất tới nút sink.
2.4.1 Routing
Routing định tuyến và truyền dẫn dữ liệu từ bất kỳ node nào đến node sink hình thành mạng liên kết hình cây.
Trang 26Hình 2.7 Một vỉ dụ về mạng lên kết hình cây.
Tất cả các node được tổ chức trong một cây ảo, với vị trí của chúng trong mạng được xác định bởi giá trị 16 bit rtmetrỉc(khoảng cách) Node sink là node trên cùng của mạng có giá trị rtmetric là 0 Các node con có vị trí càng xa sẽ có giá trịrtmetrỉc càng lớn Node cha là một node lân cận tốt nhất của node, tức là node có khả năng lốn nhất truyền thông với nodesink.
Mạng cây được tạo ra tợ động bởi quá trình cập nhật giá trị rtmetric ở mỗi sự kiện riêng biệt, ban đầu tất cả cá node cógiá trị rtmetric có giá ừị lởn nhất ( giá trị lớn nhất ở đây là 255, không phải tất cả 16 bit được sử dụng), ngoại trừ node sink cógiá trị là 0 được xác định bởi các ứng dụng sử dụng giao thức thu thập dữ liệu, khi một gói tin gửi thông báo cho node lân cậnthì node đó sẽ xác định được giá trị rtmetric của node gửi bản tin Giá trị rtmetric của node lẫn cận được lưu trong bảng danhsách các node lân cận của mỗi node nhận bản tin thông báo Giá trị rtmetrỉc riêng của mỗi node được tính toán dựa vào giá trịrtmetrỉc của node hàng xóm tốt nhất Node hàng xóm tốt nhất là node cung cấp đường truyền dẫn với khả năng cao đượctruyền thông tin tới node sink Giá trị rtmetric của node hàng xóm được tính là tổng nhỏ nhất của rtmetric các node hàng xóm
rtmetric =argmin{rtmetric + ETX )
và Số lượng EXT truyền từ node đó tới node lân cận.
Giá trị rtmetric được cập nhật sau các sự kiện sau: chỉ định một node là node sink, một gói tin thông báo đến, sự chậpnhận một gói tin dữ liệu và kết thúc thời gian sống của một gói tin.
Quá trình tính toán giá ứị rtmetric giảm dần từ node hàng xóm của node sink tới các node lá Khi quá trình đã ổn định,giá trị rtmetric của node tương ứng với tổng số khả năng truyền một gói tin tới node sink.
Trang 272.4.2 Neighbor discovery và cơ chế quản lý(management)
Neighbor discovery và management được đặt trong một mã code riêng biệt trong module (core/net/rime/neighbor.c) Đâylà vị trí quản lý bản danh sách các hàng xóm.
Thiết lập khám phá hàng xóm sử dụng cơ chế báo hiệu của Rime Bản tin báo hiệu gửi ra ngoài theo chu kỳ trong mộtkênh truyền xác định Bản tin báo hiệu mô tả các đặc điểm bằng các thông số (ID,value) và chia ra trên một phạm vi diện tíchhàng xóm Gói tin báo hiệu đến không thể ghi đè vào trong ngăn xếp rime stack, nhưng để không xảy ra điều này bản tin sẽ bịchặn ở lớp MAC Lớp MAC khi đó thông báo bất kỳ quá trình đăng ký(dựa trên ID của bản tin báo hiệu) bản tin báo hiệu.
Giao thức thu thập như là một quá trình đăng ký, và nó sử dụng bản tin báo hiệu đến để thêm vào bảng danh sách hàngxóm Bản tin báo hiệu đến chỉ rõ địa chỉ gửi của node hàng xóm, là ID (nó sử dụng để đặt số kênh truyền nhưng không sử dụngsau đó) Khi đó thông số này đặc trưng cho quá trình đinh truyền sử dụng tạo ra và định tuyến mạng cây Danh sách hàng xómbị hạn chế về độ lớn( thiết lập được cho 8 hàng xóm) Điều quan trọng là hàng xóm cũ không được lưu trữ trong bản danh sáchquá lâu Điều này được giải quyết bằng kích hoạt bộ đếm theo chu kỳ(ví dụ 1 giây) quét bảng danh sách hàng xóm và gỡ bỏ tấtcả các node không có phản hồi trong khoảng thời gian 120 lần trước khi quét(ví dụ khoảng 120 giây).
2.4.3 Ước lượng liên kết (Link estimation)
Giá trị ETX cho mỗi node hàng xóm được lưu trong bảng danh sách hàng xóm, và giá trị này được tính toán lại sau mỗilần một gói tin được gửi tới node hàng xóm Khi gửi gói tin ACK, số yêu cầu chuyển tiếp gói tin gián tiếp thông qua ước lượngliên kết.
Giá trị ETX của mỗi node kế cận được lưu trữ trong bảng neighbor table Và được tính toán mỗi khi gói dữ liệu được gửitới node xung quanh nó Khi một gói tin gửi đi được xác nhận, số lần truyền cần thiết để phát đi gói tin đó được thông báo đểước lượng liên kết
Giá trị của 8 lần truyền cuối cùng được lưu trong bảng Giá trị kết nối từ 1 node đến node kế cận nó được tính bằng trungbình cộng của 8 giá trị trong bảng.
Trang 28Hĩnh 2.8 ước lượng liên kết vờ cơ chế quản lý.
Trang 292.4.4 Duplicate packet lĩltering and packet agỉng
Những gói tin trùng nhau có thể được tạo ra trên việc truyền lại gói tin khibản tin ACK bị mất, nếu các gói tin này không bị khử Nó sẽ được chuyển tiếptrong mạng gây lãng phí năng lượng , để bảo vệ chống lại hiện tượng trùng lặp góitin này Một node sẽ không chyển tiếp gói tin này Nếu như gói tin đó giống goistinnó vừa mới gửi đi Thêm vào đó nó lưu giữ lịch sử hai gói tin đã được chuyển đigần đây nhất Với những đặc tính duy nhất Như chỉ số ID của gói tin và nơi phátgói tin đi, mếu node nhận gói tin có cùng chỉ số ID và địa chỉ ban đầu, gói tin sẽ bịloại bỏ.
Thêm vào đó đẻ chống lại hiện tượng các gói tin lang thang trong mạng( ROAMING) trong mạng mãi mãi không tới được đích Gói tin sẽ bị loại bỏ nếunó vượt qua số bước nhảy cố định tối đa trong mạng Thêm vào đó mỗi gói tin cómột giá trị thuộc tính TTL (time-to-live) nó được khởi tạo với giá trị bằng 10 Và sẽgiảm sau mỗi lần chuyển tiếp, nếu gói tin nhận được co giá trị bằng 1 hoặc nhỏhơn, nó sẽ bị loại bỏ.
2.5 Thuật toán DE (Dỉrect Estỉmate)2.5.1 Khái quát thuật toán
Thuật toán DE là thuật toán ước lượng dựa trên phần mềm, nhưng khônggiống cách ước lượng dựa trên gói tin beacon như thuật toán ETX, một số thuậttoán khác lại ước lượng dựa trên gói tin dữ liệu Thực tế là ước lượng dựa vào sựtrao đổi gói tin quảng bá beacon không còn chính xác khi áp dụng cho truyền thôngunicast Chất lượng tuyến ước lượng dựa trên beacon rất khác so với ước lượng dựatrên gói dữ liệu bởi quá trinh truyền thông dữ liệu unicast là tin cậy, gói tin dữ liệuvà beacon có kích thước khác nhau, hai loại gói tin được phương thức điều phốicủa lớp MAC xử lý khác nhau Đặc biệt truyền thông unicast tin cậy yêu cầu ACKphản hồi và cơ chế truyền lại, điều mà không được áp dụng trong truyền thôngbroadcast Thêm nữa, ước lượng dựa trên beacon không chỉ bị hạn chế trong việcphản ánh chính xác thực tế mà còn không đạt hiệu quả trong sử dụng năng lượng.
Trong truyền thông unicast tin cậy, phía gửi truyền lại nhiều lần gói tin dữ
Trang 30liệu cho tới khi nó nhận được phản hồi thông báo (ACK) rằng gói tin đã được gửithành công tới nút nhận hoặc số lần truyền lại đã tới giới hạn Thuật toán DữectEstimate (DE) là thuật toán thiết lập mặc định trong Contiki os, thuật toán sử dụngtrực tiếp số lần truyền đi truyền lại của gói tin dữ liệu để ước lượng tuyến tại phíagửi.Cửa sổ trung bình trượt đơn giản được áp dụng cho số lần truyền đi truyền lạicủa các lần truyền gói tin gần nhất để tính giá trị ETX Thuật toán DE yêu cầu bộnhớ cài đặt nhỏ và sử dụng năng lượng hiệu quả, bởi không cần phải truyền thêmgói tin beacon.Tuy thế, cách tính ETX của thuật toán lại phụ thuộc nhiều vào lưulượng dữ liệu của mạng.Trong trường hợp lưu lượng mạng thấp, thuật toán cậpnhật không phù họp và dẫn tới không chính xác.
2.5.2 Cài đăt thuât toán DE • •
Thuật toán DE đã được thiết lập mặc định trên Contiki os Cùng với quátrình cập nhật ETX của module ước lượng tuyến, chương 2 đã trình bày modulequản lý hàng xóm: module quan trọng trong quá trình định tuyến.
Quá trình câp nhât ETX
Trang 31Hình 2.9 Lim đồ cập nhật ETX (DE).
Giá trị ETX của 1 tuyến được tính bằng trung bình theo thời gian số lèntruyền lại để truyền 1 gói tin thành công giữa 2 nút.
Giá trị ETX cho mỗi nút hàng xóm được chứa trong bảng hàng xóm và đượctính toán mỗi khi một gói tin dữ liệu được gửi tới hàng xóm Khi bên gửi đóng góiACK, số lần truyền đi cần thiết để truyền gói tin đi cũng được gửi tới bộ ước lượngtuyến.
Giá trị ETX tức thời của mỗi thời điểm được tính toán dựa trên số lần truyềnlại các gói dữ liệu và được lưu vào trong các stack, lần lượt từ ngăn nhớ đầu tiêncho đến ngăn nhớ cuối củng (ngăn nhớ thứ 8), lấy trung bình 8 giá trị đó sẽ được giátrị ETX của liên kết cần tìm trong một khoảng thời gian nhất định (có thể hiểu đơngiản là ETX được tính bằng trung bình số lần truyền của 8 gối tin truyền thảnh cônggần nhất thời điểm đó)
Trang 32Các giá trị ETX này được cập nhật lần lượt khi có sự kiện nút gửi thànhcông một gói tin hoặc khi một gói tin timed out: Nêu nút gửi được 1 gói tin, giá trịETX được thay thế bởi số lần truyền lại gói tin đó; nếu khi gói tin timed out( vượtquá số lần truyền lại), ETX được nhân lên gấp đôi.
Hình 2J0 Lim đồ quả trình thêm hàng xóm (DE).
Tại một nút, nút hàng xóm được quản lỷ theo danh sách bảng hàng xóm, dođó, khi muốn cập nhật thêm một nút làm hảng xóm thì cần thêm nút đố vào trongbảng hàng xóm của nút Nếu bảng hàng xóm còn trống, thêm ngay nút mới vào làmhàng xóm được Nếu bảng hàng xóm đã đầy, phải tim hàng xóm kém nhất trongbảng (là nủt có rtmetric cao nhất trong số các hàng xóm) và so sánh, nếu rtmetrỉccủa hàng xóm kém nhất cao hơn rtmetrỉc của nút mới cập nhật thì thêm nút mới đóvào thay thế hảng xóm kém nhất ưong bảng hàng xóm.
Quả trình thêm hàng xóm vào bảng hàns xóm
Trang 33Theo module thêm hàng xóm ở trên, khỉ thêm thành công hàng xóm vàobảng hàng xóm, giá trị rtmetric của nút mới được cập nhật vào bảng hàng xóm vàkhôi phục thời gian đếm về 0 Vì trong quản lý hàng xóm, nút sẽ quét bảng hảngxóm sau 1 phút và nút sẽ khôi phục các giá trị ước lượng tuyến về ban đầu nếu saukhoảng MAX LE AGE =10 phút mà chất lượng tuyến đó không được cập nhật,cũng như loại bỏ hàng xóm khỏi bảng hàng xóm sau khoảng MAX AGE = 60 phútnếu nút hàng xóm đó không được cập nhật thông tin gì.
Hình 2.11 Lưu đồ cập nhật hàng xóm (ETX).
Trang 34Ưu điểm chính của những thông số trên là không yêu cầu bất cứ một sự tínhtoán nào mà chúng được lấy trực tiếp từ thiết bị phần cứng.Thêm nữa, những thôngsố này có thể lấy được từ bất kỳ gói tin nào nhận được, không phân biệt là gói tinunicast hay broadcast.
Nhược điểm thuật toán: Những thông số này phụ thuộc nhiều vào tính chínhxác của thiết bị phần cứng Ngoài ra việc tính toán thông số này chỉ có thể thựchiện khi nhận được gói tin, thuật toán ước lượng loại này không thể tận dụng đượcthông tin từ việc mất gói và thậm chí khi có nhiều gói tin bị mất trên tuyến, thuậttoán ước lượng loại này không còn chính xác Hơn nữa, thuật toán ước lượng tuyếndựa trên phần cứng chưa giải quyết được vấn đề bất đối xứng của tuyến.
2.6.2 Cài đặt thuật toán LQI
Thuật toán được lập trình trên hệ điều hành Contiki (Contiki OS) Thuậttoán sẽ sử dụng lại các mô đun (module) của giao thức cây thu thập (CTP) đượcthiết lập mặc định trong Contiki os, ví dụ như module thu thập, module quản lýhàng xóm, module định tuyến Thuật toán chỉ thay đổi module ước lượng tuyến.Cách tính giá trị ETX của thuật toán dựa vào thông số LQI được đính kèm trongcác gói tin nhận được.
Trang 35Quả trình cap nhât ETX
Hình 2.12 Lmi đồ cập nhật ETX (LQI).
Với các thông số lóp vật lý, chất lượng tuyến được đánh giá tốt khi giá trịLQI can, nên nếu lấy trực tiếp giá trị ETX = LQI để ước lượng thì bị ngược vói yêucầu của CTP là tìm tuyến có rtmetric nhỏ (tương đương với ETX nhỏ), nên giá trịETX được tính bằng công thức: ETX = 255- LQI (ở đây, 255 là giá trị lớn nhấtthông số LQI) Với cách tính này, đảm bảo sự chính xác của cơ chế CTP, nút chađược chọn là nút có rtmetric nhỏ nhất, tương ứng với ETX nhỏ nhất, tương ứng vớiLQI lớn nhất Hình 2.12 trình bày lưu đồ cách tính ETX trong LQI.
Sau khỉ tính được giá trị ETX thì giá trị này sẽ được lưu trong trong cácstack, lần lượt từ ngăn nhớ đầu tiên cho đến ngăn nhớ cuối cùng (ngăn nhớ thứ 8),lấy trung bình 8 giá trị đó sẽ được giá trị ETX của liên kết cần tìm trong một khoảngthời gian nhất định.
2.7 Thuật toán 4B (Four-bit)2.7.1 Khái quát thuật toán
Ước lượng liên kết trong giao thức thu thập contiki với cơ sở tính toán của nóđược lấy thông tin từ các lớp liên kết dữ liệu, tức là sự thùa nhận mức độ liên kếthoặc timer-out.
Thuật toán Four~bit(4B), được đề xuất bởiFonseca et al Thuật toán này cungcấp giao diện liên kết thông tin từ các lớp vật lý, lớp liên kết dữ liệu và lớp
Trang 36- Một bit white từ lớp vật lý, chỉ rõ xác xuất giải mã lỗi trong gói tin nhận
được Nếu white bit được thiết lập, chất lượng trung bình cao Nếu white bit khôngđược thiết lập thì chất lượng trung bình có thể cao hoặc không cao trong suốt quátrinh nhận gói tin.
Như là một quy tắc của Thumb, chất lượng trung bình được coi là cao khichất lượng liên kết LQI của gói tin là lớn hon 90% LQI là đặc tính xác định cườngđộ hoặc chất lượng của gói tin nhận được, như đã được xác định bởi tiêu chuẩnIEEE 802.15.4
- Một bit ack từ lớp liên kết dữ liệu, cho biết khi nhận được một bản tin ẩ
ếu bit ack được thiết lập khi gói tin đã được chấp nhận bởi lớp liên kết dữ liệu, nếukhông được thiết lập thì gói tin có thể hoặc không nhận được.
- Một bit pin từ lớp mạng, cho biết ước lượng liên kết có thể gỡ bỏ hoặcnhập vào bảng hàng xóm hay không Ví dụ như nút hàng xóm của node sink sẽ cốgắng giữ lại node sink trong bảng hàng xóm bằng mọi giá.
- Một bit compare từ lớp mạng, chỉ ra nếu giá trị metric của node hàng xómđược chỉ ra mà từ đó gói tin nhận được sẽ tốt hơn, nghĩa là thấp hơn giá trị metriccủa một hoặc nhiều node trong bản hàng xóm ẩ ếu bit compare được thiết lập khilớp mạng chỉ ra con đường thông qua hàng xóm đó là tốt hơn nhiều so với một conđường thông qua ít nhất một hàng xóm trong bảng hàng xóm.
Hình dưới đây minh họa 4B ánh xạ lên giao thức rime stack 4B thườngđược minh họa bởi một tam giác để chỉ ra ba lớp mà nó sử dụng.
Trang 37Hình 2.13: 4B ánh xạ tới giao thức rime stack
2.7.2 Cài địt thuật toán 4B
Trong phần này, chứng ta sẽ xem xét các chỉ tiết hoạt động của ước lượng4B, hiểu được sự khác nhau từ các ước lượng thu thập, và cài đặt thử thuật toán trêncontiki.
Giao thức thu thập dữ liệu của contiki được tạo thành từ một số thành phầncơ bản: quản lý và tìm kiếm node lân cận, ước lượng và định tuyến.
Quá trình cài đặt thuật toán 4B sẽ ảnh hưởng đến hai thành phần đầutiên( quản lý và tìm kiếm node lân cận, ước lượng liên kết) Thành phần định tuyếnsẽ không thay đổi gì khi cài đặt 4B.
Thuật toán 4Đ sẽ được cài đặt ưong giao thức thu thập contỉki tương tự nhưcài đặt trong 4B TinyOS Ước lượng liên kết 4B cũng có thể được cài đặt trongTinyOS là một ước lượng liên kết lai: để tính toán ước lượng liên kết 4B kết hợpthông tin được cung cấp bởi 3 lớp với các thông báo đỉnh kỳ(nghĩa là phát đi gói tinvới bất kỳ payload).
Bảng dưới đây nói lên sự khác nhau cơ bản giữa ước lượng thu thập contikivà ước lượng 4B.
Trang 38Hình 2.13 cho biết 4 bit sử dụng cho thật toán 4B Bit ack được sử dụng choviệc gửi các gói dữ liệu cho việc tính toán giá trị ETX Bit white, pin và bitcompare được sử dụng để quyết định xem có đưa một thành viên mới vào bảngdanh sách hàng xóm hay không.
Sự khác nhau giữa thuật toán ước lượng Contikicollect và ước lượng 4B là
• Sự khác nhau giữa loại bỏ/thêm node.
• Sử dụng các gói dữ liệu, trong việc bổ xung tuyến đường, tới việc cậpnhật chất lượng liên kết.
• Tính toán Chất lượng liên kết(ETX).
Sử dụng Data Packets tới
• Ước lượng chất lượng liên kết haichiều( sử dụng ack/timer-out).
• Ước lượng chất lượng liên kết hai chiều(sử dụng ack/timer-out).
• Thông báo giá trị metric(tuy nhiên không được thực hiện).Sử dụng
cảnhbáo/thông báo tới
Phát quảng bá(tới các thảnh viên cómặt trong bảng hàng xóm).
• Thông báo giá trị metric cho việc định tuyến
Phát quảng bá(tới các thành viêncó mặt trong bảng hàng xóm).• Thông báo giá trị metric cho
việc định tuyến
• Ước lượng chất lượng liên kết.
Trang 39• Bảng sẽ quét một lượt các nút hàng xóm có chất lượng liên kết xấu nhất,
Trang 40• Cuối cùng, một nút mạng đã được lựa chọn để thêm vào bảng, thuật toánloại bỏ ngẫu nhiên một liên kết nào đó trong bảng có giá trị Bit Pin chưa được thiếtlập và liên kết được lựa chọn kia được thêm vào.
Hình 2.15: Thuật toán 4B-thêmâoại bỏ Neighbor Chú ỷ: Sự khác nhau
giữa giao thức ước lượng Contỉkỉ collect, hàng xóm xấu nhất được tính toán như là hảng xóm với con đường định tuyến xấu nhất đến node sink, tức là hàng xóm có tổnggỉá trị liên kết ETX và giá trị metric lón.
Với 4B, hàng xóm xấu nhất trước tiên được đánh giá dựa trên giá trị liên kếtETX Giá trị metric chỉ được tính đến sau bằng cách sử dụng các bit so sánh Các lýdo này chia nhỏ ước lượng là vì giao diện chặt chẽ được đề xuất bởi 4B Thật vậy,giá trị liên kết ETX chỉ được biết đến bởi ước lượng liên kết, trong khi giá trịmetric là một phần của định tuyến logic Và do đó chỉ được biết đến bởi lớp mạng.
> Tính toán ước lượng liên kết
Trước khi được kết họp, giá ữị ETX được tính riêng cho việc gửi gói tin