ZigBee là một công nghệ mạng không dây ra đời năm 2003 với đặc điểm là: mức năng lượng tiêu thụ và giá thành thấp, đa năng và dễ dàng mở rộng. ZigBee hỗ trợ việc quản lý, điều khiển cho các thiết bị gia dụng, công nghiệp, chăm sóc sức khỏe đặc biệt là cho nhu cầu cho các ngôi nhà thông minh.Trên thế giới, công nghệ ZigBee đã trở nên phổ biến vì giá thành rẻ, dễ triển khai và linh hoạt. Rất nhiều công ty như Alliance, Freescale, Atmel, …tham gia vào việc cung cấp các thiết bị mạng để triển khai lắp đặt. Các tập đoàn lớn như SamSung, Nokia, Panasonic, … đang chú ý đến ZigBee như là một mạng điều khiển quan trọng cho các sản phẩm của mình. Tại Việt Nam, bước đầu đã tiếp cận với công nghệ ZigBee tại các diễn đàn về thiết bị điện tử. Công ty ISolution có trụ sở tại Hà Nội đã đề cập đến ZigBee như là một công nghệ mới cho việc tự động hóa cho các biệt thự ở Việt Nam.Qua đó, nhu cầu về nắm bắt công nghệ ZigBee và triển khai xây dựng hệ thống mạng quản lý nhà thông minh đang là thị trường hấp dẫn tại Việt Nam. Hiện tại, là một sinh viên nên việc sở hữu một bộ kit để phát triển công nghệ này là không khả thi nên mục tiêu của đề tài là nắm được công nghệ ZigBee và từ đó áp dụng vào mô phỏng trên hai phần mềm là NS2 và OPNET.Phương pháp nghiên cứu chủ yếu là sưu tầm tài liệu trên mạng và các dự án nghiên cứu có liên quan để tổng hợp phân tích. Sau đó, từ các kiến thức tiếp thu được tiến hành mô phỏng để phân tích khả năng hoạt động của mạng không dây ZigBee.Đóng góp của đề tài là báo cáo lý thuyết về công nghệ ZigBee và kiến thức về hai phần mềm NS2 và OPNET, mô phỏng hoạt động của mạng hình sao ZigBee trên hai phần mềm này với các yêu cầu mô phỏng khác nhau. Từ đó, hiểu được hoạt động và phân tích, đánh giá hoạt động của mạng không dây ZigBee.Bố cục của đồ án: CHƯƠNG I: CƠ SỞ LÝ THUYẾT CHƯƠNG II: MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM NS2 CHƯƠNG III: MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM OPNET
Trang 1MỤC LỤC
DANH MỤC TỪ VIẾT TẮT 3
DANH MỤC HÌNH VẼ 5
DANH MỤC BẢNG BIỂU 7
LỜI MỞ ĐẦU 8
CHƯƠNG I 9
CƠ SỞ LÝ THUYẾT 9
1.1 Công nghệ ZigBee 9
1.1.1 Khái niệm về công nghệ ZigBee 9
1.1.2 Mối quan hệ giữa ZigBee và chuẩn IEEE 802.15.4 10
1.1.3 Tầng PHY 11
1.1.4 Tầng MAC 14
1.1.5 Tầng NWK 21
1.1.6 Tầng APL 35
1.2 Phần mềm mô phỏng 38
1.2.1 Phần mềm NS-2 38
1.2.2 Phần mềm OPNET 41
CHƯƠNG II 45
MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM NETWORK SIMULATOR-2 45
2.1 Mục đích mô phỏng 45
2.2 Thông tin cơ bản 46
2.2.1 Môi trường mô phỏng 46
2.2.2 Tham số 46
2.2.3 Tính toán tham số ban đầu đưa vào kịch bản 47
2.2.4 Mô đun phần mềm ZigBee 49
2.2.5 Cấu trúc xử lý 52
Trang 22.2.6 Hoạt động tổng quát của nút mạng và định tuyến 59
2.3 Phân tích kết quả 61
2.4 Kết luận 62
CHƯƠNG III 63
MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM OPNET 14.5 63
3.1 Mục đích mô phỏng 63
3.2 Cấu hình mô phỏng 63
3.2.1 Tạo giao diện mô phỏng và cấu trúc mạng 63
3.2.2 Cấu hình thiết bị 66
3.2.3 Cấu hình thống kê 68
3.2.4 Định trình lập lịch 69
3.2.5 Chạy mô phỏng 69
3.3 Phân tích kết quả 70
3.3.1 Mô phỏng tình huống 1 70
3.3.2 Mô phỏng tình huống 2 74
3.3.3 Mô phỏng tình huống 3 77
3.4 Kết luận 78
KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
2
Trang 3DANH MỤC TỪ VIẾT TẮT
APS Application Support
Bản ghi giao dịch quảng bá
BTT Broadcast Transaction Table Bảng giao dịch quảng bá
CAP Contention Access Period Giai đoạn truy nhập có xung đột
CCA Clear Channel Assessment Sự đánh giá độ thoáng kênh truyền
CFP Contention-Free Period Giai đoạn truy nhập tự do xung đột
CSMA/ CA Carrier Sense Multiple
Access with Collision Avoidance
Đa truy cập nhận biết sóng mang tránh xung đột
ED Energy Detection Cơ chế xác định mức năng lượng
FFD Full-Function Device Thiết bị đầy đủ chức năng
GTS Guaranteed Time Slot Khe thời gian bảo đảm
IFS Interframe Spacing Không gian liên khung
LQI Link Quality Indicator Chỉ thị chất lượng liên kết
LR-WPAN Low-Rate Wireless Personal
POS Personal Operating Space Không gian hoạt động cá nhân
PSDU PHY Service Data Unit Đơn vị dữ liệu dịch vụ
QOS Quality of Service Chất lượng dịch vụ
RFD Reduced Function Device Thiết bị giảm thiểu chức năng
SAP Service Access Point Điểm truy nhập dịch vụ
SNR Signal-to-Noise Ratio Tỷ lệ tín hiệu/ nhiễu
WLAN Wireless Local Area Mạng cục bộ không dây
Trang 4ZDO ZigBee Device Object Đối tượng thiết bị ZigBee
4
Trang 5DANH MỤC HÌNH VẼ
Hình 1-1 Các dịch vụ được cung cấp bởi ZigBee
Hình 1-2 Các tầng giao thức mạng không dây ZigBee
Hình 1-3 Cấu trúc siêu khung
Hình 1-4 Hẹn giờ siêu khung vào và ra
Hình 1-5 Lưu đồ thuật toán CSMA/CA
Hình 1-6 Truyền thông được khởi tạo bởi một thiết bị phi thành viên
Hinh 1-7 Truyền thông n - 1
Hình 1-8 Mối quan hệ giữa nút con và nút cha trong một mạng hình cây
Hình 1-9 Ví dụ về cấp phát địa chỉ mặc định
Hình 1-10 Phân tích chi phí đường đi
Hình 1-11 Phát hiện tuyến đường unicast với thiết bị nguồn và
thiết bị đích
Hình 1-12 Sửa chữa tuyến đường trong một mạng hình lưới
Hình 1-13 ZDO đóng vai trò như một giao diện giữa khung ứng dụng và tầng
Hình 2-3 Hoạt động trao đổi thông tin của nút mạng
Hình 3-1 Tạo dự án mới trong OPNET
Hình 3-2 Giao diện chọn kích thước môi trường mô phỏng
Hình 3-3 Bảng lựa chọn các thiết bị mạng không dây ZigBee
Hình 3-4 Cấu trúc mạng mô phỏng
Trang 6Hình 3-5 Giá trị các thuộc tính của một nút
Hình 3-6 Lựa chọn số liệu cần thống kê
Hình 3-7 Định trình thời gian hoạt động của các nút mạng
Hình 3-12 Gói tin đi từ Node 1 qua PAN Coordinator đến Node 2
Hình 3-13 Biểu đồ thống kê ETE của Node 1 so với Node 3 và Node 4
Hình 3-14 Cấu trúc mạng bổ sung với Node 5 hoạt động ở chế độ VBR
Hình 3-15 Kết quả thống kê từ Node 5 và PAN Coordinator
Hình 3-16 Kết quả phân tích độ trễ ETE của Node 5 so với Node 1 và 3
Hình 3-17 Cấu trúc mạng bổ sung với sự tham gia của nút mạng mới
Hình 3-18 Kết quả thống kê thời điểm Node 6 gửi và PAN Coordinator nhận
6
Trang 7Bảng 2-5 Độ suy hao tín hiệu của ăng ten TwoRayGround
Bảng 3-1 Giá trị thuộc tính Application Traffic cho các nút mạng
Bảng 3-2 Lựa chọn các tầng thống kê theo các nút mạng
Trang 8LỜI MỞ ĐẦU
ZigBee là một công nghệ mạng không dây ra đời năm 2003 với đặc điểm là: mức năng lượng tiêu thụ và giá thành thấp, đa năng và dễ dàng mở rộng ZigBee hỗ trợ việc quản lý, điều khiển cho các thiết bị gia dụng, công nghiệp, chăm sóc sức khỏe đặc biệt là cho nhu cầu cho các ngôi nhà thông minh
Trên thế giới, công nghệ ZigBee đã trở nên phổ biến vì giá thành rẻ, dễ triển khai và linh hoạt Rất nhiều công ty như Alliance, Freescale, Atmel, …tham gia vào việc cung cấp các thiết bị mạng để triển khai lắp đặt Các tập đoàn lớn như SamSung, Nokia, Panasonic, … đang chú ý đến ZigBee như là một mạng điều khiển quan trọng cho các sản phẩm của mình Tại Việt Nam, bước đầu đã tiếp cận với công nghệ ZigBee tại các diễn đàn về thiết bị điện tử Công ty I-Solution có trụ sở tại Hà Nội đã đề cập đến ZigBee như là một công nghệ mới cho việc tự động hóa cho các biệt thự ở Việt Nam
Qua đó, nhu cầu về nắm bắt công nghệ ZigBee và triển khai xây dựng hệ thống mạng quản lý nhà thông minh đang là thị trường hấp dẫn tại Việt Nam Hiện tại, là một sinh viên nên việc sở hữu một bộ kit để phát triển công nghệ này
là không khả thi nên mục tiêu của đề tài là nắm được công nghệ ZigBee và từ đó
áp dụng vào mô phỏng trên hai phần mềm là NS-2 và OPNET
Phương pháp nghiên cứu chủ yếu là sưu tầm tài liệu trên mạng và các dự
án nghiên cứu có liên quan để tổng hợp phân tích Sau đó, từ các kiến thức tiếp thu được tiến hành mô phỏng để phân tích khả năng hoạt động của mạng không dây ZigBee
Đóng góp của đề tài là báo cáo lý thuyết về công nghệ ZigBee và kiến thức về hai phần mềm NS-2 và OPNET, mô phỏng hoạt động của mạng hình sao ZigBee trên hai phần mềm này với các yêu cầu mô phỏng khác nhau Từ đó, hiểu được hoạt động và phân tích, đánh giá hoạt động của mạng không dây ZigBee
Bố cục của đồ án:
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
CHƯƠNG II: MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM NS-2
8
Trang 9CHƯƠNG III: MÔ PHỎNG MẠNG KHÔNG DÂY ZIGBEE BẰNG PHẦN MỀM OPNET
CHƯƠNG I
CƠ SỞ LÝ THUYẾT
1.1 Công nghệ ZigBee
1.1.1 Khái niệm về công nghệ ZigBee
ZigBee là một chuẩn định nghĩa một tập hợp các giao thức truyền thông cho mạng tốc độ thấp và tầm ngắn Thiết bị ZigBee hoạt động trong tần số 868MHz, 915 MHz và 2,4 GHz Tốc độ truyền dữ liệu tối đa là 250 Kb/s ZigBee nhắm đến mục tiêu chính là các ứng dụng sử dụng pin khi tốc độ dữ liệu thấp, chi phí thấp và thời gian sử dụng pin lâu dài Trong nhiều ứng dụng ZigBee, tổng thời gian các thiết bị hoạt động chủ động với nhau là rất giới hạn, thiết bị sử dụng phần lớn thời gian trong chế độ chờ, hay còn gọi là chế độ ngủ đông Kết quả là các thiết bị dạng ZigBee có thể hoạt động trong vài năm trước khi phải thay pin
Hình 1-1: Các dịch vụ được cung cấp bởi ZigBee
Trang 101.1.2 Mối quan hệ giữa ZigBee và chuẩn IEEE 802.15.4
Một trong các cách thiết lập mạng truyền thông là sử dụng khái niệm các lớp mạng, mỗi lớp có trách nhiệm và chức năng rõ ràng trong mạng Các lớp thông thường chỉ cho qua dữ liệu và lệnh đến tầng trên hay dưới nó
Các lớp giao thức mạng không dây ZigBee dựa trên mô hình tham chiếu
cơ bản OSI Việc chia giao thức mạng thành các lớp có rất nhiều lợi ích, nếu giao thức thay đổi theo thời gian, nó sẽ dễ dàng hơn khi thay thế hoặc lớp mà bị ảnh hưởng thay đổi sẽ được thay đổi thay vì toàn bộ giao thức Tương tự khi phát triển một ứng dụng, lớp thấp hơn của giao thức vẫn độc lập so với ứng dụng và
có thể được cung cấp từ một nhà phát hành thứ ba và mọi thứ sẽ hoàn thành mà chỉ cần thay đổi lớp ứng dụng của giao thức
Hình 1-2: Các tầng giao thức mạng không dây ZigBee
Trong hình 1-2 hai tầng mạng dưới cùng được định nghĩa bởi chuẩn IEEE 802.15.4 Chuẩn này được phát triển bởi tổ chức chuẩn IEEE 802 và phát hành đầu tiên vào năm 2003
Chuẩn ZigBee chỉ định nghĩa cho lớp mạng, ứng dụng và bảo mật của giao thức và thừa nhận các lớp PHY và MAC của IEEE 802.15.4 như là một phần của giao thức mạng không dây ZigBee Do đó, bất kỳ thiết bị tương tự ZigBee nào cũng tuân thủ chuẩn IEEE 802.15.4
10
Trang 11Chuẩn IEEE 802.15.4 được phát triển độc lập với chuẩn ZigBee, và nó có thể xây dựng mạng không dây tầm ngắn hoàn toàn dựa trên chuẩn IEEE 802.15.4
và không bao gồm các lớp đặc thù của ZigBee Trong trường hợp này, người dùng phát triển giao thức lớp ứng dụng mạng của riêng họ ở tầng trên của lớp PHY và MAC trong chuẩn IEEE 802.15.4 Những lớp ứng dụng mạng tùy chỉnh này đơn giản hơn các lớp giao thức ZigBee và hướng mục tiêu vào các ứng dụng đặc thù
1.1.3 Tầng PHY
1.1.3.1 Cơ chế xác định mức năng lượng (ED)
Khi một thiết bị muốn truyền tín hiệu, ban đầu nó đi vào chế độ nhận tín hiệu để xác định và giới hạn mức năng lượng tín hiệu trong kênh truyền mong đợi Tác vụ này được biết như là một sự xác định năng lượng (ED) Trong ED, thiết bị nhận không cố gắng giải mã tín hiệu mà chỉ xác định mức năng lượng tín hiệu bị giới hạn Nếu có một tín hiệu đã sẵn sàng trong dải mong đợi, ED không biết được là nó có phải là một tín hiệu của chuẩn IEEE 802.15.4 hay là không Năng lượng tín hiệu trong băng tần mong đợi trung bình là 8 chu kỳ ký hiệu
Tầng MAC yêu cầu tầng PHY thực hiện ED, tầng PHY trả về một số nguyên 8 bit chỉ định mức năng lượng nằm trong kênh tần số mong đợi Mức năng lượng chính xác phải lớn hơn hoặc bằng 6 dB
1.1.3.2 Cơ chế dò tìm sóng mang (CS)
Tương tự như cơ chế ED, cơ chế dò tìm sóng mang là một cách kiểm tra xem kênh tần số có sẵn sàng để sử dụng hay không Trong CS, khi một thiết bị muốn truyền thông điệp, ban đầu nó đi vào chế độ nhận tín hiệu để xác định kiểu của bất kỳ tín hiệu có thể nào mà hiện tại đang nằm trong kênh tín hiệu đòi hỏi, nhưng tương phản với ED, CS là tín hiệu được giải điều chế kiểm tra là tín hiệu điều chế hay phân bố là tuân thủ đặc tính của PHY mà hiện đang được dùng trong thiết bị Nếu tín hiệu đang chiếm giữ tuân thủ theo dạng PHY IEEE 802.15.4, thiết bị sẽ chọn xem xét là kênh bận mà không quan tâm tới mức năng lượng tín hiệu
Trang 121.1.3.3 Chỉ thị chất lượng liên kết (LQI)
Chỉ thị chất lượng liên kết (LQI-Link Quality Indication) là việc chỉ định chất lượng của gói tin dữ liệu được nhận bởi thiết bị nhận Độ mạnh tín hiệu nhận được (RSS) có thể được sử dụng như là việc tính toán chất lượng sóng RSS
là việc đo đạc tổng năng lượng của tín hiệu nhận được Tỷ số của năng lượng tín hiệu đòi hỏi so với tổng năng lượng nhiễu trong băng thông (tỷ số tín hiệu/nhiễu SNR-Signal to Noise Ratio) là một cách khác để đánh giá chất lượng tín hiệu Như là một luật tổng quát, SNR cao hơn đồng nghĩa với việc lỗi trong các gói tin thấp hơn Do đó, một tín hiệu với SNR cao được coi là một tín hiệu chất lượng cao Chất lượng liên kết còn có thể được ước lượng sử dụng cả mức năng lượng tín hiệu và tỷ lệ tín hiệu so với nhiễu
Sự đánh giá LQI được thực hiện cho mỗi gói tin nhận được, LQI phải có ít nhất 8 mức duy nhất LQI được báo cáo cho tầng MAC và sẵn sàng cho tầng NWK và APL các kiểu phân tích Ví dụ, tầng NWK có thể sử dụng mức LQI được báo cáo của thiết bị trong mạng để xem xét con đường nào được chọn để định tuyến thông điệp Nói chung, con đường với toàn bộ LQI cao nhất có cơ hội cao hơn trong việc chuyển thông điệp tới đích LQI chỉ là một trong các yếu tố trong việc lựa chon con đường để định tuyến Những yếu tố khác, ví dụ như xem xét tính hiệu quả của năng lượng định tuyến, cũng có thể ảnh hưởng đến sự lựa chọn định tuyến
1.1.3.4 Đánh giá độ thoáng kênh truyền
Trong bước đầu tiên của cơ chế truy cập kênh truyền CSMA/CA, tầng MAC yêu cầu tầng PHY thực hiện đánh giá độ thoáng kênh truyền (CCA) để đảm bảo rằng kênh truyền không bị đang sử dụng bởi một thiết bị nào khác CCA
là một phần của dịch vụ quản lý của tầng PHY Trong CCA, kết quả của ED hay
CS có thể được sử dụng để xem xét một kênh tần số có được xem là sẵn sàng hay bận Quá trình CCA phải là một chu kỳ 8 ký hiệu
Có 3 chế độ CCA, một PHY tuân thủ IEEE 802.15.4 phải có khả năng thực hiện bất kỳ một trong 3 chế độ này:
12
Trang 13• Chế độ CCA 1: Chỉ xem xét kết quả của ED, nếu mức năng lượng trên ngưỡng ED, kênh được xem là bận Ngưỡng ED có thể được thiết lập bởi nhà sản xuất.
• Chế độ CCA 2: Chỉ sử dụng kết quả của CS, và kênh truyền được xem là bận chỉ khi nếu tín hiệu đang chiếm là tuân thủ với PHY của thiết bị mà thực hiện CCA
• Chế độ CCA 3: Chế độ này là một sự kết hợp logic (AND/ OR) của chế
độ 1 và 2, tầng PHY có thể sử dụng những tiêu chí sau đây để xác định là kênh
Bảng 1-1: Hằng số PHY
aMaxPHYPacketSize Kích thước PSDU được cho phép (octet) 127aTurnaroundTime
Thời gian quay vòng RX thành TX và TX thanh RX tối đa được cho phép (chu kỳ ký hiệu)
12
Trong các tầng giao thức MAC và PHY, tất cả hằng số đều có tiền tố “a”, trong tầng NWK và APL các hằng số có tiền tố “nwkc” và “apsc” đại diện và không bị thay đổi trong suốt khoảng thời gian hoạt động
Bảng 1-2: Thuộc tính PHY PIB
Trang 14PhyCurrentChannel Kênh tần số thực hiện
phyChannelsSupported † Mảng các kênh sẵn sàng và không sẵn sàngphyTransmitPower* Nguồn ra thiết bị truyền (dBm)
PhyCCAMode Chế độ CCA thực hiện (1-3)
PhyCurrentPage Trang kênh PHY hiện tại
phyMaxFrameDuration † Số lượng tối đa của các biểu tượng trong
khung (55, 212, 266, 1064)phySHRDuration † Thởi gian tồn tại của header đồng bộ hóa
(SHR) (3,7, 10, 40)phySymbolsPerOctet † Số lượng các ký hiệu trong mỗi octet cho
PHY hiện tại (0.4, 1.6, 2, 8)
Các thuộc tính là các giá trị mà có thể thay đổi trong khi hoạt động Các thuộc tính tầng PHY chứa trong thông tin cơ bản PAN PHY (PHY-PIB) Các thuộc tính được đòi hỏi quản lý bởi các dịch vụ PHY và được đánh dấu bởi dấu trâm là các thuộc tính chỉ đọc, tầng cao hơn có thể đọc các thuộc tính chỉ đọc, nhưng chỉ tầng PHY là có thể thay đổi chúng Các thuộc tính được đánh dấu bởi dấu sao “*” có các bit đặc biệt mà chi đọc Các bit không được đánh dấu chỉ đọc có thể được đọc hoặc ghi bởi tầng trên nó Chỉ tầng PHY mới có thể thay đổi các bit chỉ đọc
1.1.4 Tầng MAC
1.1.4.1 Hoạt động của chế độ cho phép đèn hiệu và cấu trúc siêu khung
Một lợi ích của mạng chế độ cho phép đèn hiệu là khả năng của khe thời gian bảo đảm (GTS) Khung đèn hiệu là các khung MAC chứa thông tin đèn hiệu như thời gian cự ly giữa các khung đèn hiệu và số lượng GTS
14
Trang 15Hình 1-3: Cấu trúc siêu khung
Khi thực hiện chế độ cho phép đèn hiệu, nó có thể sử dụng một cấu trúc siêu khung như trong hình 1-3, được bao phủ bởi hai khung đèn hiệu Có thể có đến 3 kiểu giai đoạn trong một siêu khung: giai đoạn truy cập tranh chấp (CAP), giai đoạn tự do tranh chấp (CFP) và giai đoạn không hoạt động
Trong giai đoạn CAP, tất cả các thiết bị muốn truyền cần sử dụng cơ chế
CSMA/CA để có khả năng truy cập đến một kênh tần số sẵn sàng một cách công
bằng với tất cả các thiết bị trong cùng một mạng Thiết bị đầu tiên bắt đầu sử dụng một kênh sẵn sàng sẽ sử dụng nó cho chính thiết bị đó cho đến khi việc truyền hiện tại của nó hoàn thành Nếu thiết bị tìm ra kênh truyền bị bận, nó quay lại trong một khoảng thời gian ngẫu nhiên và thử lại Khung lệnh MAC phải được truyền trong quá trình CAP
Không có bảo đảm nào trong khoảng thời gian CAP cho bất kỳ thiết bị nào có thể sử dụng một kênh tần số chính xác khi nó cần CFP, trái ngược với CAP, bảo đảm một khe thời gian cho một thiết bị đặc biệt và do đó thiết bị không
cần sử dụng CSMA/CA để truy cập kênh truyền và CSMA/CA cũng không được
cho phép trong CFP
Sự kết hợp của CAP và CFP được biết là giai đoạn kích hoạt và được chia thành 16 khe thời gian bằng nhau Khung đèn hiệu luôn bắt đầu tại điểm bắt đầu của khe thời gian đầu tiên Có thể lên đến 7 GTS trong CFP Mỗi GTS có thể chiếm một hay nhiều hơn một khe thời gian Một siêu khung có thể tùy chọn là
có một giai đoạn không hoạt động, cho phép thiết bị chuyển vào chế độ tiết kiệm
Trang 16năng lượng và bộ phối hợp có thể bật tắt mạch truyền nhận của nó để bảo toàn năng lượng pin.
Cấu trúc của siêu khung được định nghĩa bởi bộ phối hợp và được cấu hình bởi tầng NWK sử dụng gốc MLME-START.request Khoảng thời gian giữa hai tín hiệu đèn hiệu liên tiếp (BI) được quyết định bởi giá trị của thuộc tính macBeaconOrder (BO) và hằng số aBaseSuperframeDuration sử dụng biểu thức:
BI = aBaseSuperframeDuration * 2 BO (Ký hiệu)
Thuộc tính BO có thể có bất kỳ giá trị nào từ 0–14 trong mạng chế độ đèn hiệu, nếu giá trị của nó được đặt là 15 mạng được xem xét là mạng không cho phép chế độ đèn hiệu và không có siêu khung nào được áp dụng
Chiều dài của giai đoạn kích hoạt của siêu khung được hiểu là giai đoạn siêu khung (SD), được tính toán từ phương trình sau:
SD = aBaseSuperframeDuratio * 2 SO (Ký hiệu)
SO chính là thuộc tính macSuperframeOrder Giai đoạn siêu khung không thể vượt quá các khoảng đèn hiệu liền kề, do đó giá trị của SO thường nhỏ hơn hoặc bằng BO Trong mạng không cho phép chế độ đèn hiệu, bộ phối hợp không truyền đèn hiệu trừ khi nó nhận một lệnh yêu cầu đèn hiệu từ một thiết bị trong mạng của nó với mục đích là định vị bộ phối hợp Bộ phối hợp PAN trong mạng không cho phép chế độ đèn hiệu đặt giá trị của SO là 15
Hình 1-4: Hẹn giờ siêu khung vào và ra
16
Trang 17Trong một mạng cho phép chế độ đèn hiệu, bất kỳ bộ phối hợp nào, thêm vào các bộ phối hợp PAN, có tùy chọn để truyền đèn hiệu và tạo ra siêu khung của nó Hình 1-4 chỉ ra thời gian được yêu cầu khi cả bộ phối hợp PAN và một
bộ phối hợp khác trong cùng một mạng đang truyền đèn hiệu Bộ phối hợp có thể bắt đầu truyền đèn hiệu của nó chỉ trong giai đoạn không hoạt động của siêu khung bộ phối hợp PAN Đèn hiệu bộ phối hợp PAN được ám chỉ đến một đèn hiệu được nhận Đèn hiệu của bất kỳ bộ phối hợp nào khác được biết như là đèn hiệu được truyền Giai đoạn hoạt động cả hai siêu khung phải có chiều dài tương đương Bộ phối hợp, khác với một bộ phối hợp PAN, chỉ truyền một đèn hiệu chỉ
rõ sự bắt đầu của siêu khung của nó và kết thúc siêu khung có thể tương đồng với kết thúc của siêu khung bộ phối hợp PAN
Nếu một thiết bị không sử dụng các GTS của nó cho một khoảng thời gian được mở rộng, GTS của nó sẽ hết hạn và bộ phối hợp có thể phân công GTS đặc biệt cho một thiết bị khác Giai đoạn không hoạt động mà sẽ là kết quả là sự hết hạn GTS thường là một số nguyên gấp đôi chiều dài một siêu khung Giá trị của
nó nhân (n) phụ thuộc vào macBeaconOrder:
n = 2 (8 - macBeaconOrder) nếu 0 <= macBeaconOrder <= 8
n = 1 nếu 8 <= macBeaconOrder <= 14
1.1.4.2 Không gian liên khung
Trong khi truyền dữ liệu từ một thiết bị đến một thiết bị khác, thiết bị truyền phải đợi trong thời gian ngắn giữa các khung được truyền liên tục của nó
để cho phép thiết bị nhận xử lý khung nhận được trước khi khung tiếp theo đến được biết là khoảng cách liên khung (IFS) Chiều dài của IFS phụ thuộc vào kích thước khung được truyền Các MPDU với các kích thước nhỏ hơn hay bằng aMaxSIFSFrameSize được xem xét là khung ngắn Một khung dài là một MPDU với kích thước vượt quá số octet của aMaxSIFSFrameSize
Giai đoạn chờ đợi sau mỗi khung ngắn được ám chỉ là một IFS ngắn (SIFS) Giá trị tối thiểu của SIFS là macMinSIFSPeriod Tương tự một khung dài theo sau bởi một IFS dài (LIFS) với giá trị tối thiểu là chiều dài
Trang 18macMinLIFSPeriod Giá trị của macMinSIFSPeriod và macMinLIFSPeriod là 12
và 14 ký hiệu
1.1.4.3 Cơ chế CSMA/CA
Cơ chế truy cập kênh truyền được hỗ trợ bởi tầng MAC trong chuẩn IEEE 802.15.4 là CSMA/CA, khi một thiết bị muốn truyền nó sẽ thực hiện một CCA
để đảm bảo rằng kênh truyền không bận sau đó nó sẽ truyền tín hiệu của nó
Truy cập kênh truyền trong giai đoạn tự do xung đột (CFP) Truyền ngay sau khi thông báo một lệnh yêu cầu dữ liệu Nói cách khác, nếu một thiết bị yêu cầu dữ liệu từ một bộ phối hợp, bộ phối hợp truyền thông báo ngay lập tức sau
đó mà không thực hiện CSMA/CA giữa 2 lần truyền, thậm chí trong giai đoạn truy cập xung đột (CAP)
Có hai kiểu CSMA/CA: có khe và không có khe CSMA/CA có khe được
ám chỉ tới việc thực thi CSMA/CA trong khi có một cấu trúc siêu khung trong
đó Một siêu khung chia giai đoạn hoạt động ra thành 16 khe thời gian bằng nhau Giai đoạn lặp lại của thuật toán CSMA/CA cần được sắp hàng thành các
khe thời gian riêng biệt Thuật toán CSMA/CA không có khe được sử dụng khi
không có cấu trúc siêu khung, thông thường, không có khe lặp lại yêu cầu Một mạng không cho phép chế độ đèn hiệu thường sử dụng thuật toán CSMA/CA không có khe để truy cập kênh truyền
Nếu CCA xác định được một kênh truyền bận, thiết bị sẽ lặp lại trong một khoảng thời gian ngẫu nhiên Khoảng thời gian lặp lại ngẫu nhiên trong cả CSMA/CA có khe và không có khe là một số nguyên là tích của đơn vị khoảng thời gian lặp lại aUnitBackoffPeriod ký hiệu
Hình 1-5 thể hiện lưu đồ của thuật toán CSMA/CA Có 3 biến được sử dụng trong thuật toán là: số mũ lặp lại (BE), số lần lặp lại (NB) và chiều dài cửa
sổ xung đột (CW) Biến BE quyết định khoảng cho phép cho khoảng thời gian lặp lại khi kênh truyền bận Khoảng thời gian lặp lại là một số nguyên nằm trong khoảng 0 – (2BE-1) nhân với đơn vị thời gian lặp lại:
Thời gian lặp lại = (Một số ngẫu nhiên trong khoảng 0 – (2BE - 1)) * aUnitBackoffPeriod
18
Trang 20Hình 1-5: Lưu đồ thuật toán CSMA/CA
Xác định giới hạn giai đoạn
quay lui
Đợi trong khoảng thời gian
ngẫu nhiên: (0->2 Be -1) * giai
đoạn quay lui đơn vị
BE=min(2, macMinBE)
NB=0, BE=macMinBE
Đợi trong khoảng thời gian ngẫu nhiên: (0->2 Be -1) * giai đoạn quay lui đơn vị
Thực hiện CCA
Kênh rỗi?
NB=NB+1, BE=min(BE+1, macMaxBE)
NB>macMax CSMSBackof fs?
S Đ
Trang 21Giá trị khởi tạo của BE bằng với macMinBE trong một truy cập kênh
truyền CSMA/CA không có khe Trong CSMA/CA có khe lựa chọn tùy chọn sự
mở rộng tuổi thọ pin (BLE) trong cấu trúc siêu khung ảnh hưởng đến giá trị của
BE Nếu tùy chọn BLE được kích hoạt, bộ phối hợp tắt bộ nhận tín hiệu của nó trong một khoảng thời gian bằng với các macBattLifeExPeriod theo sau việc truyền khung đèn hiệu, để bảo toàn năng lượng Trong trường hợp này, dải giá trị của khoảng thời gian lặp lại giới hạn trong ít hơn 2 và giá trị của macMinBe:
BE = min (2, macMinBE)
Nếu tùy chọn BLE không được lựa chọn, bộ phối hợp hoạt động trong toàn bộ CAP và giá trị của BE bằng macMinBE Giá trị của BE được tăng mỗi khi một CCA thực hiện và kênh truyền bận, nhưng giá trị BE không thể vượt quá macMaxBE
NB là một bộ đếm mà cập nhập số lần thiết bị lặp lại và thử lại cơ chế truy cập kênh truyền Khi bắt đầu thuật toán giá trị của NB được đặt là 0 và giá trị tăng lên một khi thiết bị phải lặp lại do kênh truyền bận Khi NB đạt đến giá trị macMaxCSMABackoff và kênh vẫn không được truy cập thành công, thuật toán
CSMA/CA kết thúc và báo cáo truy cập kênh truyền lỗi cho tầng NWK.
Biến cửa sổ xung đột (CW) quyết định số lượng khoảng thời gian lặp lại
mà kênh truyền phải sẵn sàng trước khi bắt đầu truyền Ví dụ CW = 2, thiết bị chỉ bắt đầu truyền sau 2 kết quả lặp lại liên tiếp trong một kênh hiện hữu CW chỉ được sử dụng trong thuật toán CSMA/CA có khe Nếu quá trình truyền không thể hoàn thành trước khoảng thời gian được cho phép, tầng MAC sẽ đợi đến khi
bắt đầu CAP tiếp theo và thử lại thuật toán truy cập kênh truyền CSMA/CA lần
nữa
1.1.5 Tầng NWK
1.1.5.1 Truyền thông broadcast
Trong truyền thông quảng bá, thông điệp có mục đích được truyền bởi một thiết bị mà đang lắng nghe một kênh tần số đặc biệt, chú ý địa chỉ của chúng hay định danh PAN Mỗi khi một thiết bị nhận một gói, nó sẽ kiểm tra địa chỉ đích được cung cấp trong gói để phê duyệt là thiết bị có ý định nhận gói hay
Trang 22không Để quảng bá trong mạng IEEE 802.15.4 chế độ địa chỉ ngắn được sử dụng và địa chỉ đích được đặt là 0xffff Địa chỉ này được chấp nhận bởi tất cả các thiết bị mà nhận gói như địa chỉ của chúng Định danh PAN cũng có thể được đặt
là 0xffff Thiết bị nhận sẽ chấp nhận 0xffff như là một định danh PAN hợp lệ Địa chỉ MAC 0xffff được biết như là địa chỉ quảng bá
Một bộ phối hợp ZigBee và các bộ định tuyến ZigBee duy trì bản ghi của tất cả thông điệp mà chúng quảng bá trong một bảng gọi là bảng giao dịch quảng
bá (BTT) Bản ghi tự nó không thể được biết là bản ghi giao dịch quảng bá (BTR) và chứa số hiệu chuỗi và địa chỉ nguồn của khung quảng bá Mỗi router ZigBee được có khả năng đệm ít nhất một khung tại tầng NWK Khả năng đệm giúp cho việc truyền lại các quảng bá này Mỗi BTR cho phép chỉ một khoảng thời gian giới hạn và sẽ hết hạn sau khoảng thời gian là nwkNetworkBroadcastDelivery-Time (giây) từ nó tạo ra Một BTR bị hết hạn có thể bị ghi đè nếu một BTR mới đang được tạo và BTT đầy Nếu một thiết bị đầu cuối ZigBee không giữ bộ nhận của nó trong chế độ ON trong khi thiết bị trong trạng thái chờ, thiết bị không chuyển tiếp thông điệp quảng bá hay bảo trì một BTT Nếu một bộ định tuyến ZigBee với macRxOnWhenIdle được đặt là FALSE nhận một thông điệp quảng bá, nó sẽ không sử dụng cơ chế quảng bá Thay vào
đó, nó sẽ sử dụng unicast để chuyển tiếp thông điệp mà không có độ trễ nào cho các hàng xóm của nó một cách riêng rẽ Trường address chứa địa chỉ của thiết bị
có mục đích và không phải địa chỉ quảng bá Trong thời gian quảng bá, thông điệp được chuyển tiếp bởi nhiều thiết bị và có khả năng xuất hiện xung đột về nút
ẩn Để giảm thiểu, tầng NWK yêu cầu là trước mỗi lần truyền lại thiết bị phải đợi trong một khoảng thời gian ngẫu nhiên gọi là broadcast jitter, chiều dài của nó phải nhỏ hơn giá trị của thuộc tính nwkcMaxBroadcastJitter theo đơn vị mili giây
1.1.5.2 Truyền thông multicast
Trong multicast một thiết bị chuyển thông điệp đến một nhóm thiết bị trong cùng mạng thay vì toàn bộ mạng Trong ứng dụng điều khiển đèn, khi
22
Trang 23truyền một khung đơn đến một thiết bị hoạt động như một công tắc có thể bật tắt một nhóm đèn.
Mỗi nhóm được định nghĩa bởi một ID nhóm là một địa chỉ 16 bit multicast Một thiết bị có thể là thành viên của một hay nhiều nhóm Mỗi thiết bị giữ danh sách của các thành viên nhóm multicast trong một bảng gọi là bảng multicast (nwkGroupIDTable)
Một thiết bị phi là thành viên của một nhóm multicast nào thì có thể sử dụng multicast để đến các thành viên bằng hai chế độ là chế độ thành viên và chế
độ phi thành viên Trong chế độ thành viên, một multicast được khởi tạo bởi một thiết bị thành viên và gửi cho các thành viên của nhóm multicast Trong chế độ phi thành viên, một thiết bị mà không là thành viên của một nhóm multicast định tuyến thông điệp đến một thành viên nhóm multicast, mà từ đó nó sẽ được gửi đến các thành viên trong nhóm của nó
Khung dữ liệu tầng NWK có một trường là multicast mode mà phân biệt
là khung này đang được truyền bởi một thiết bị là thiết bị thành viên hay phi thành viên
Hình 1-6: Truyền thông được khởi tạo bởi một thiết bị phi thành viên
Trong hình 1-6 là một thiết bị phi thành viên khởi tạo một multicast, nó tạo ra một khung dữ liệu NWK và đặt trường multicast mode là không thành viên Giả sử một bộ định tuyến khám phá đã thực hiện trước khi truyền thì thiết
bị nguồn biết được địa chỉ của hop tiếp theo có nghĩa là nó đã thiết lập định tuyến đẫn khung đến một thiêt bị thành viên bằng cách unicast liên tiếp Thiết bị tiếp theo nhận khung từ một thiết bị phi thành viên và lại chuyển tiếp cho thiết bị tiếp
Trang 24theo sử dụng unicast cho đến khi khung được nhận bởi một thành viên của một nhóm multicast Thiết bị này sẽ chuyển giá trị trường multicast mode thành chế
độ thành viên và gửi cho các thành viên của nó bằng cách broadcast Trong chế
độ này không có thừa nhận bị động
Với broadcast cả thành viên và không thành viên sẽ broadcast lại khung được nhận nếu BBT của nó không đầy và nó không broadcast trước đó chính khung này Trong multicast có thể giới hạn số lần một khung multicast được broadcast lại bởi các thiết bị phi thành viên Khung broadcast có trường là nomember radius mà sẽ giảm đi mỗi khi khung được broadcast lại bởi một thiết
bị phi thành viên, khi nó bằng 0 thì sẽ không được broadcast lại nữa Có một ngoại lệ là khi trường này đặt là 007 thì nó sẽ không bị giới hạn Trong chuẩn ZigBee chỉ có khung dữ liệu mới được truyền multicast còn khung lệnh thì không
1.1.5.3 Truyền thông many to one
Kịch bản truyền thông cho một thiết bị nhận các thông điệp từ nhiều thiết
bị trong cùng một mạng Thiết bị nhận được gọi là sink và sẽ thiết lập các định tuyến từ tất cả các bộ định tuyến ZigBee và bộ phối hợp ZigBee trong vùng bán kính
Hình 1-7: Truyền thông n – 1
24
Trang 251.1.5.4 Cấu trúc phân cấp dạng cây
Một mạng hình cây bắt đầu từ một bộ phối hợp ZigBee đóng vai trò như
là gốc của cây Một bộ phối hợp ZigBee hay là bộ định tuyến có thể đóng vai trò
là các thiết bị cha và chấp nhận kết hợp từ các thiết bị con khác trong mạng Một thiết bị đầu cuối ZigBee chỉ có thể là thiết bị con bởi vì nó thiếu khả năng định tuyến
Độ sâu của mạng được định nghĩa như là số lượng tối đa các hop được đòi hỏi cho một khung để đến được bộ phối hợp ZigBee nếu chỉ sử dụng liên kết cha/con Độ sâu của cha đến con của nó là 1 vì chỉ có một hop và độ sâu của bộ phối hợp Zigbee đến chính nó là 0
Chuẩn ZigBee cung cấp một cơ chế cấp phát địa chỉ cho các thiết bị trong một mạng cây, được biết là cấp phát địa chỉ được phân phối mặc định Tuy nhiên các nhà phát triển ứng dụng được cho phép sử dụng phương thức cấp phát địa chỉ của họ Khi bộ phối hợp ZigBee bắt đầu thiết lập mạng, nếu thuộc tính nwkUseTreeAddrAlloc được đặt là TRUE thì bộ phối hợp sẽ sử dụng sơ đồ đánh địa chỉ được phân phối mặc định Trong chế độ đánh địa chỉ này bộ phối hợp ZigBee cung cấp cho mỗi cha tiềm năng của nó một khối địa chỉ mạng con Thiết
bị cha sẽ gán các địa chỉ này cho các thiết bị con của nó Bộ phối hợp ZigBee quyết định số lượng tối đa của các thiết bị con được cho phép cho mỗi cha Nếu thuộc tính nwkUseTreeAddrAlloc được đặt là FALSE, tầng APL cung cấp việc đánh địa chỉ người dùng tự định nghĩa cho tầng NWK
Trang 26Hình 1-8: Mối quan hệ giữa nút con và nút cha trong một mạng hình cây
Sự cấp phát địa chỉ mặc định sử dụng chiều sâu và số lượng tối đa các con
để cấp phát địa chỉ Các thông số ảnh hưởng đến việc cấp phát địa chỉ là như sau:
Lm Chiều sâu mạng tối đa (nwkMaxDepth)
Cm Số lượng con tối đa một cha có thể chấp nhận (nwkMaxChildren)
Rm Số lượng con có khả năng định tuyến tối đa một cha có thể chấp nhận
(nwkMaxRouters)
d Chiều sâu của một thiết bị trong mạng
Trong hình 1-9 là sơ đồ cấp phát địa chỉ khi Lm = 3, Cm = Rm = 2 Việc
đánh địa chỉ bắt đầu với việc gán địa chỉ 0 (addr = 0) cho bộ phối hợp ZigBee
Để quyết định địa chỉ cho phần còn lại của các thiết bị một hàm đơn giản (Cskip(d)) được sử dụng:
Tại mỗi độ sâu, sự khác biệt giữa các địa chỉ trong bất kỳ 2 thiết bị có khả năng định tuyến nào là một số nguyên tích của giá trị Cskip của cha của nó
26
Trang 27Hình 1-9: Ví dụ về cấp phát địa chỉ mặc định
Cskip(d) có thể hữu dụng khi một thiết bị được mong đợi chuyển tiếp một thông điệp đến một đích thay mặt cho một thiết bị khác Thiết bị chuyển tiếp cần biết khi nào thiết bị đích là một con cháu của thiết bị chuyển tiếp Nếu thiết bị chuyển tiếp tại độ sâu d và địa chỉ của nó là A, thiết bị đích với một địa chỉ đích
là B là một con cháu của thiết bị chuyển tiếp nếu mối quan hệ sau là đúng:
A < D < A + Cskip(d-1)
Sau khi nhận ra đích là con cháu của thiết bị, bước tiếp theo là tính toán địa chỉ hop tiếp theo, nếu đích là một trong các con thiết bị, địa chỉ của hop tiếp theo đơn giản là bằng địa chỉ đích Nếu đích không là con nhưng là một con cháu thì địa chỉ của hop tiếp theo được tính toán từ phương trình sau:
Trang 28hoặc lợi dụng các thiết bị có khả năng định tuyến để chuyển tiếp thông điệp nhân danh thiết bị khởi tạo thông điệp Trong mạng hình lưới, định tuyến từ thiết bị nguồn đến thiết bị đích được thiết tạo ra khi có yêu cầu và có thể được thay đổi nếu môi trường thay đổi Khả năng của mạng dạng lưới là tạo ra và thay đổi định tuyến ngay lập tức tăng tính linh hoạt cho các kết nối không dây.
1.1.5.6 Định tuyến
Định tuyến là một quá trình lựa chọn đường dẫn thông qua các thông điệp được chuyển tiếp đến thiết bị đích Bộ phối hợp ZigBee và các bộ định tuyến có trách nhiệm khám phá và duy trì các định tuyến trong một mạng Một thiết bị đầu cuối ZigBee không thể thực hiện phát hiện định tuyến và bộ phối hợp ZigBee hay một bộ định tuyến sẽ thực hiện phát hiện nhân danh thiết bị đầu cuối
Chiều dài (L) của một con đường được định nghĩa là số thiết bị trong con đường đó
Hình 1-10: Phân tích chi phí đường đi
Các tham số như chất lượng liên kết, số lượng hop và sự xem xét bảo tồn năng lượng có thể được sử dụng để xem xét con đường tối ưu cho mỗi kịch bản định tuyến, để đơn giản hóa, mỗi liên kết gắn với một chi phí liên kết Giá trị chi phí liên kết thấp hơn được xem là khả năng chuyển gói thành công cao hơn
Chi phí của mỗi liên kết là tập giá trị C{[Di,Di+1]} như trong hình Có hai cách khác nhau để xem xét chi phí liên kết Chuẩn ZigBee sử dụng phương trình sau:
28
Trang 29C{l} là chi phí của liên kết l Khả năng thành công của gói chuyển tiếp trên liên kết l là Pl, giá trị chi phí thường là số nguyên trong khoảng 0-7 Ví dụ nếu Pl là 80% thì chi phí của liên kết là 2.
Một phương pháp đơn giản để tính toán chi phí liên kết là sử dụng bảng:
Bảng 1-3: Bảng định tuyến
Tên trường Kích
Destination address 2 byte Tuyến đường sẽ dẫn đến địa chỉ đích
Trạng thái của tuyến đường có thể là một trong các giá trị sau: ACTIVE,
DISCOVERY_UNDERWAY, DISCOVERY_FAILD, INACTIVE,VALIDATION_UNDERWAY
Nếu đích đã phát hành một yêu cầu tuyến đường many to one, trường này được đặt là 1
Route record
Nếu cờ này được đặt, tuyến đường chuyển gói sẽ được ghi lại chuyển cho thiết bị đích.Group ID flag 1 bit Cờ này được đặt nếu địa chỉ đích là một ID
nhóm
Next-hop address 2 byte Đây là một địa chỉ mạng 16 bit của hop tiếp
theo trong tuyến đường này
Để so sánh các con đường khác nhau, mỗi đường được gắn với một chi phí đường đi C{P} đơn giản là sự tổng hợp các chi phí của các liên kết mà hình thành con đường đó
Định tuyến với chi phí đường đi thấp nhất sẽ có cơ hội tốt nhất thành công của chuyển gói
Trang 30Bộ phối hợp ZigBee và các bộ định tuyến tạo ra và duy trì các bảng định tuyến, dùng để quyết định hop tiếp theo khi định tuyến một thông điệp đến một đích cụ thể Trường status xem xét trạng thái của truyến đường.
Một bảng khác cũng có liên quan đến định tuyến là bảng phát hiện định tuyến và được sử dụng để tìm ra các bộ định tuyến mới, chứa các chi phí đường dẫn, địa chỉ của thiết bị mà được yêu cầu định tuyến (thiết bị nguồn) và địa chỉ của thiết bị cuối mà đã chuyển tiếp đến thiết bị hiện tại
Bảng 1-4: Bảng phát hiện tuyến đường
Tên trường Kích
Route request ID 1 byte
Số hiệu chuỗi định danh một yêu cầu tuyến đường Mỗi tuyến đường từ thiết bị nguồn đến thiết bị đích có một ID yêu cầu tuyến đường duy nhất
Source address 2 byte Địa chỉ mạng 16 bit của thiết bị nguồn nơi phát
ra yêu cầu tuyến đường
Sender address 2 byte
Địa chỉ mạng 16 bit của thiết bị gửi là thiết bị gửi yêu cầu tuyến đường nhân danh thiết bị nguồn Địa chỉ này sẽ dùng để gửi lệnh trả lời tuyến đường trở lại thiết bị nguồn Nếu yêu cầu tuyến đường tương tự được nhận từ nhiều thiết
bị gửi, địa chỉ của thiết bị gửi có tổng chi phí đường đi thấp nhất sẽ được giữ ở đây
Forward cost 1 byte
Chi phí đường đi được thu thập từ thiết bị nguồn đến thiết bị hiện tại Trường này được cập nhật khi lệnh yêu cầu tuyến đường đang được gửi đến thiết bị đích
Residual cost 1 byte
Chi phí đường đi được thu thập từ thiết bị nguồn đến thiết bị đích Trường này được cập nhật khi lệnh trả lời tuyến đường đang được gửi đến thiết bị nguồn
Expiration time 2 byte Nội dung của bảng phát hiện tuyến đường sau
30
Trang 31một khoảng thời gian Giá trị khởi tạo của trường này bằng nwkcRouteDiscoveryTime.
Nội dung của bảng phát hiện định tuyến tương phản với bảng định tuyến
là nó tạm thời và sẽ hết hạn sau nwkcRouteDiscoveryTime mili giây
Một thiết bị trong mạng không dây ZigBee cũng duy trì một bảng các hàng xóm chứa thông tin về các thiết bị trong dải truyền của nó Bảng này được cập nhật mỗi khi thiết bị nhận một gói từ một trong các hàng xóm của nó và hữu dụng khi thiết bị muốn tìm một bộ định tuyến bên cạnh hay tham gia lại vào mạng Thiết bị cũng sử dụng bảng thiết bị hàng xóm khi nó tìm kiếm một cha mới
Bảng 1-5: Bảng hàng xóm
Extended address Địa chỉ IEEE 802.15.4 64 bit
Network address Địa chỉ mạng 16 bit
Device type Bộ phối hợp, bộ định tuyến ZigBee và thiết bị
đầu cuối
RxOnWhenIdle Nếu thiết bị nhận giữ bộ nhận của nó ON trong
chế độ chờ, trường này được đặt là TRUE
Relationship
Trường này xem xét mối quan hệ của hàng xóm với thiết bị là cha, con, anh chị em, con trước, hay không có quan hệ gì cả
Transmit failure Giá trị cao của trường này chỉ ra là nhiều nỗ lực
truyền trước đây bị kết quả lỗi
Incoming beacon timestamp Thời gian của đèn hiệu cuối cùng được nhận.Potential parent Trường này xem xét hàng xóm có khả năng là
một cha hay không
Cơ chế cho một mạng hình cây được gọi là định tuyến phân cấp Nếu thuộc tính nwkUseTreeRouting được đặt là TRUE, thiết bị sẽ có khả năng sử dụng định tuyến phân cấp
Trang 321.1.5.7 Phát hiện đường
Tầng APL có thể yêu cầu tầng NWK phát hiện các tuyến đường cho truyền thông unicast, multicast và many to one Nếu như yêu cầu phát hiện tuyến đường chứa địa chỉ của một thiết bị riêng lẻ như là địa chỉ đích tầng NWK sẽ thực hiện một phát hiện tuyến đường unicast Một tuyến đường unicast thường bắt đầu từ một địa chỉ nguồn đơn và kết thúc tại một địa chỉ đích đơn Phát hiện tuyến đường multicast sẽ được khởi tạo nếu địa chỉ đích ID nhóm 16 bit của một nhóm multicast Cuối cùng, nếu tầng APL không cung cấp bất kỳ địa chỉ đích nào, tầng NWK sẽ giả sử là tầng APL đã yêu cầu một phát hiện tuyến đường many to one
Hình 1-11: Phát hiện tuyến đường unicast với thiết bị nguồn và thiết bị đích
Hình 1-11 chỉ ra một kịch bản ví dụ phát hiện tuyến đường, thiết bị A muốn tìm một tuyến đường đến thiết bị F, nó bắt đầu một phát hiện tuyến đường bằng cách quảng bá một lệnh yêu cầu tuyến đường Khung lệnh yêu cầu tuyến đường chứa định danh yêu cầu tuyến đường, địa chỉ đích và trường path-cost Trường route-request identifier là một số hiệu chuỗi 8 bit để yêu cầu tuyến đường
và được tăng lên 1 mỗi khi tầng NWK phát hành một yêu cầu tuyến đường Trường path-cost được sử dụng để thu thập tổng chi phí đường đi của mỗi tuyến đường Thiết bị A sẽ đặt giá trị của trường path-cost là 0 trước khi quảng bá lệnh yêu cầu tuyến đường
32
Trang 33Nếu một thiết bị đã nhận lệnh yêu cầu tuyến đường là một thiết bị đầu cuối ZigBee, nó sẽ bỏ qua các lệnh yêu cầu tuyến đường vì nó không có khả năng định tuyến Như hình vẽ chỉ có các thiết bị được bố trí giữa thiết bị A và thiết bị F là các bộ phối hợp ZigBee hoặc là các bộ định tuyến ZigBee Thiết bị B
là một bộ định tuyến ZigBee và nếu thiết bị B có khả năng định tuyến (bảng định tuyến không đầy), nó bổ sung chi phí đường đi từ thiết bị A đến thiết bị B cho trường path-cost của lệnh yêu cầu tuyến đường và quảng bá một lệnh yêu cầu tuyến đường Nếu bảng phát hiện tuyến đường thiết bị B không chứa định danh yêu cầu tuyến đường này và địa chỉ nguồn, thiết bị B sẽ cập nhật bảng phát hiện tuyến đường tương ứng
Hình 1-12: Sửa chữa tuyến đường trong một mạng hình lưới
Nếu bảng định tuyến thiết bị B đầy và địa chỉ đích không trong bảng định tuyến, giả sử là mạng dựa trên định tuyến phân cấp và lệnh yêu cầu tuyến đường được nhận từ một đường dẫn hợp lệ, thiết bị B sẽ unicast lệnh yêu cầu tuyến đường dọc theo cây nhưng nếu bảng định tuyến thiết bị B đầy và yêu cầu tuyến đường không được nhận dọc theo đường đi hợp lệ, thiết bị B sẽ đơn giản bỏ qua lệnh yêu cầu tuyến đường
Thiết bị C cũng là một bộ phối hợp ZigBee và sẽ đóng vai trò để thiết bị B khi nhận lệnh yêu cầu tuyến đường Quảng bá từ thiết bị B và C có thể đến được thiết bị D và E Thiết bị D và E sẽ quảng bá lại yêu cầu tuyến đường một lần nữa, giả sử chúng có khả năng định tuyến Tương tự như các định tuyến khác, mỗi thiết bị bắt đầu một quàng bá với một trễ ngẫu nhiên
Trang 34Thiết bị D có thể nhận cùng một lệnh yêu cầu tuyến đường từ các thiết bị chuyển tiếp khác nhau Thiết bị D sẽ đảm bảo rằng bảng phát hiện tuyến đường của nó là được cập nhật để chứa chi phí đường đi thấp nhất từ thiết bị gửi đến thiết bị D Nó sẽ giúp thiết bị D khi nó là thời gian để liên hệ lại kết quả của phát hiện tuyến đường thẳng đến thiết bị A Tại thời gian đó thiết bị D lựa chọn hop tiếp theo của nó từ bảng phát hiện tuyến đường dựa trên chi phí đường đi thấp nhất hướng đến thiết bị A.
Quảng bá liên tục đươc lặp lại cho đến khi lệnh yêu cầu tuyến đường được nhận bởi đích có mục đích là thiết bị F, nó sẽ sử dụng toàn bộ chi phí đường đi thu thập được của mỗi lệnh yêu cầu tuyến đường được nhận để lựa chọn đường dẫn tối ưu từ thiết bị A đến thiết bị F Thiết bị F sẽ chọn thiết bị D hoặc E như là hop tiếp theo của nó để truyền lệnh trả lời tuyến đường trở lại thiết bị A Ví dụ nếu thiết bị D là hop tiếp theo thì nó sẽ sử dụng bảng phát hiện tuyến đường để tìm hop tiếp theo chuyển tiếp lệnh trả lời tuyến đường lại cho thiết bị A
Tuyến đường từ thiết bị nguồn A đến thiết bị đích F được gọi là tuyến đường về phía trước Tuyến đường từ thiết bị F đến thiết bị A được xem là tuyến đường quay lại Định tuyến có thể là đối xứng hoặc bất đối xứng Khi định tuyến đối xứng được lựa chọn bởi việc thiết lập nwkSymLink thành TRUE các tuyến đường đi và về là đồng nhất như việc truyền từ A đến F sử dụng chung các thiết
bị để chuyển tiếp Nếu giá trị của nwkSymLink được đặt là FALSE thiết bị F cần một phát hiện tuyến đường riêng để tìm một tuyến đường đến thiết bị A
Phát hiện tuyến đường multicast tương tự như sử dụng unicast, bắt đầu với một lệnh yêu cầu tuyến đường bởi thiết bị nguồn, nó sẽ tạo ra một bảng tuyến đường hoặc cập nhật một giá trị tồn tại sẵn để phản ánh sự thật là phát hiện tuyến đường là đang thực hiện
Bất cứ thiết bị nào nhận một quảng báo mà có khả năng định tuyến sẽ so sánh IP nhóm multicast được cung cấp bởi khung quảng bá với các địa chỉ ID nhóm trong bảng multicast của nó để biết nếu thiết bị làm một thành viên của nhóm multicast được yêu cầu Nếu thiết bị nhận không là thành viên của nhóm multicast được yêu cầu nó sẽ xử lý phát hiện tuyến đường multicast này tương tự
34
Trang 35như một phát hiện tuyến đường unicast nhung địa chỉ đích được đặt là ID nhóm multicast Nếu thiết bị nhận là một thành viên của nhóm multicast được yêu cầu
nó sẽ tạo mới hoặc cập nhật bảng phát hiện tuyến đường cho yêu cầu phát hiện tuyến đường mới này Nếu thiết bị thành viên này đã có trong bảng phát hiện tuyến đường tương ứng với địa chỉ thiết bị nguồn và cùng định danh yêu cầu tuyến đường, thiết bị thành viên sẽ giữ tuyến đường mà có chi phí đường đi nhỏ nhất Thiết bị thành viên sẽ gửi một lệnh tin vào tuyến đường thẳng đến thiết bị nguồn tương tự như một phát hiện tuyến đường unicast
1.1.6 Tầng APL
1.1.6.1 Khung ứng dụng
Chuẩn ZigBee cung cấp tùy chọn để sử dụng các mô tả sơ lược ứng dụng trong phát triển một ứng dụng cho phép hoạt động liên hợp giữa các sản phẩm được phát triển bởi các nhà phát hành khác nhau cho một ứng dụng cụ thể
Mỗi mô tả sơ lược ứng dụng được định nghĩa bởi một giá trị 16 bit được biết như là định danh mô tả sơ lược Một nhà phát hành đã phát triển một mô tả
có thể yêu cầu một định danh mô tả từ ZigBee Alliance, họ sẽ định giá mô tả ứng dụng được gợi ý và nếu phù hợp với các hướng dẫn của Alliance thì định danh cấu hình đó sẽ được phát hành Mô tả ứng dụng được đặt tên sau khi ứng dụng tương ứng của chúng được sử dụng
Một phần khác của một ứng dụng ZigBee là các miêu tả thiết bị, cung cấp thông tin có liên quan về chính thiết bị đó ví dụ như: băng tần tần số được hỗ trợ, kiểu logic của thiết bị (bộ phối hợp, bộ định tuyến hay là thiết bị đầu cuối) và năng lượng yêu cầu của pin Mỗi miêu tả thiết bị được định danh bởi một giá trị
16 bit Mô tả ứng dụng ZigBee sử dụng khái niệm về cấu trúc dữ liệu được miêu
tả Trong phương pháp này thay vì bao gồm dữ liệu trong miêu tả ứng dụng, một giá trị 16 bit được giữ và đóng vai trò như một con trỏ đến vị trí của dữ liệu Khi một thiết bị phát hiện ra sự hiện diện của một thiết bị khác trong mạng mô tả thiết bị được truyền để cung cấp thông tin cơ bản có liên quan đến thiết bị mới
Trang 361.1.6.2 Các đối tượng thiết bị ZigBee
Hình 1-13 chỉ ra các đối tượng thiết bị ZigBee như là một giao diện giữa tầng APS và khung ứng dụng có trách nhiệm khởi tạo APS, NWK và cung cấp dịch vụ an ninh (SSP) Tương tự như mô tả ứng dụng được định nghĩa trong khung ứng dụng, có một mô tả sơ lược được định nghĩa cho ZDO mà được biết như là mô tả ngắn gọn thiết bị ZigBee (ZDP) hay mô tả thiết bị đơn giản Mô tả
sơ lược thiết bị chứa miêu tả thiết bị và các cluster nhưng các cluster mô tả thiết
bị không sử dụng các thuộc tính ZDO tự nó có các thuộc tính cấu hình nhưng các thuộc tính này không được chứa trong mô tả thiết bị
Hình 1-13: ZDO đóng vai trò như một giao diện giữa khung ứng dụng và
tầng con APS
Điểm khác nhau còn lại giữa mô tả thiết bị và mô tả ứng dụng là mô tả ứng dụng được tạo ra cho một ứng dụng đặc thù bất cứ đâu mô tả thiết bị định nghĩa khả năng hỗ trợ bởi tất cả thiết bị ZigBee Mô tả sơ lược thiết bị chỉ có miêu tả thiết bị Các cluster được chia thành 2 nhóm bắt buộc và tùy chọn
Lệnh mô tả thiết bị ZigBee được gửi sử dụng dịch vụ dữ liệu APS định dạng của nó mô tả trong hình 1-24
36
Nền ứng dụng
Mô tả sơ lược ứng dụng
Đối tượng thiết bị ZigBee (ZDO)
Mô tả sơ lược thiết bị ZigBee
Tầng con APS
Số chuỗi giao dịch Dữ liệu giao dịch
Trang 37Hình 1-14: Định dạng lệnh mô tả sơ lược thiết bị ZigBee
Phần thứ nhất là một số hiệu giao dịch 8 bit Bất kỳ đối tương ứng dụng nào duy trì một bộ đếm và tăng mỗi khi có một giao dịch mới được truyền Nội dung của bộ đếm này được sao chép vào trường transaction sequence number của lệnh ZDP Dữ liệu giao dịch chứa trong lệnh của nó và bất kỳ dữ liệu nào được liên hệ với lệnh
Có hai nhóm chính của các lệnh là các dịch vụ client và các dịch vụ server Các lệnh ZDP trong mỗi nhóm được chia thành 3 nhóm: phát hiện dịch vụ
và thiết bị, quản lý liên kết và quản lý mạng Các lệnh trong 3 nhóm này từ 3 đối tượng trong ZDO là thiết bị và đối tượng phát hiện dịch vụ, đối tượng quản lý liên kết và đối tượng quản lý mạng
Lệnh phát hiện dịch vụ và thiết bị cho phép một thiết bị để yêu cầu thông tin như là địa chỉ NWK và danh sách miêu tả của các thiết bị khác trong mạng Chúng cũng cho phép một thiết bị lưu trữ miêu tả của nó trong thiết bị đệm phát hiện chính hay cấu hình miêu tả người dùng của một thiết bị khác trong mạng Lệnh quản lý liên kết cho phép thiết bị tạo ra hoặc gỡ bỏ các mối quan hệ liên kết, lưu trữ các bảng liên kết trên một thiết bị bảng liên kết chính, tạo các bảng liên kết dự phòng và phục hồi lại các bảng liên kết dự phòng được lưu trữ trước
đó Các lệnh quản lý mạng được sử dụng để định danh các mạng lân cận, yêu cầu nội dung các bảng định tuyến và hàng xóm và quản lý các thiết bị gia nhập và rời khỏi trong mạng
Có thêm hai đối tượng trong ZDO là quản lý mạng và quản lý an ninh Quản lý mạng chứa các gốc mạng có liên hệ với giao diện với NLME Đối tượng quản lý an ninh chứa các gốc an ninh có liên hệ với giao diện với thực thể quản lý tầng APS (APSME)
Trang 38NS-2 được xây dựng bằng ngôn ngữ lập trình hệ thống C++ và ngôn ngữ
mô phỏng Otcl Otcl là dạng ngôn ngữ kịch bản Tcl được mở rộng theo mô hình hướng đối tượng
Hình 1-15: NS-2 dưới góc độ người dùng
Hình 1-15 chỉ ra kiến trúc chung của công cụ mô phỏng NS-2 Trong hình
vẽ này, người sử dụng thiết kế, triển khai các mô phỏng bằng các câu lệnh Tcl,
sử dụng các đối tượng mô phỏng từ thư viện Otcl, các bộ định trình sự kiện và phần lớn các đối tượng mạng được xây dựng bằng C++ và các đối tượng này vẫn
có thể được sử dụng như là các đối tượng Octl thông qua các liên kết
38
Trang 39Hình 1-16: Sự tương đồng giữa C++ và Otcl
Toàn bộ các thành phần trong hình 1-17, kết hợp lại tạo nên một bộ công
cụ mô phỏng mạng NS-2 là một bộ thông dịch Tcl được mở rộng hướng đối tượng và một tập các thư viện đối tượng mô phỏng mạng
Hình 1-17: Mô hình kiến trúc NS-2
1.2.1.2 Mô phỏng mạng không dây ZigBee trong NS-2
NS-2 hỗ trợ mô phỏng mạng không dây Mạng không dây là một đối tượng nút NS-2 cơ bản mà được bổ sung các chức năng như khả năng chuyển động, truyền và nhận dữ liệu trên một kênh truyền, cho phép nó được sử dụng để tạo môi trường mô phỏng không dây và di động
Trang 40Có năm giao thức định tuyến hiện tại đang được hỗ trợ bởi NS-2 là: Destination Sequence Distance Vector (DSDV), Dynamic Source Routing (DSR), Temporally Ordered Routing Algorithm (TORA), Adhoc On-Demand Distance Vector (AODV) và Protocol for Unified Multicasting Through Announcement (PUMA).
Các định nghĩa DSDV, AODV, TORA, DSR, hay PUMA và id là giá trị cho mỗi mobilenode Việc sử dụng các API cũ không còn thích hợp nữa nên các API mới được mô tả như sau:
Ngăn xếp mạng cho một nút không dây bao gồm một lớp liên kết (LL – Link layer), một module ARP được kết nối đến LL, một hàng đợi ưu tiên giao diện (Ifq – Interface priority queue), một tầng MAC, một giao diện mạng (netIF), tất cả được kết nối đến kênh truyền Các thành phần mạng đó được tạo ra và kết nối với nhau trong Otcl
Để phục vụ cho việc mô phỏng mạng không dây ZigBee, NS cung cấp một thư viện wpan để dành cho mục đích này Có ba loại nút mạng không dây ZigBee được hỗ trợ theo chuẩn WPAN IEEE 802.15.4 là:
• PAN Coordinator
• FFD- Full Function Device
• RFD- Reduce Function Device
40