Khuôn dạng dữliệu tầng mạng

Một phần của tài liệu Đánh giá hiệu năng của giao thức mạng không dây cá nhân Zigbee (Trang 70 - 74)

Dịch vụ tầng mạng chia ra làm 2 dịch vụ là dịch vụ dữ liệu NLDE và dịch vụ quản lí NLME:

- NLDE (Network Layer Data Entity): tầng này lưu trữ các dữ liệu cần

được truyền từ lớp con hỗ trợ ứng dụng APS (Application Support Layer) ở trên nó. Các APS sẽ sử dụng các nguyên hàm với khuôn mẫu NLDE-DATA.request để yêu cầu việc truyền dữ liệu tới các nút trong mạng với số chặng chuyển tiếp được quy định. Các dữ liệu này đi kèm với một thông số là số thứ tự (sequence number), số này được bắt đầu bằng số ngẫu nhiên và được tăng sau khi mỗi khung dữ liệu được truyền đi. Ở bên nhận gói tin cũng cung cấp các tham số cần thiết như khuôn dạng khung, LQI, trình tự dữ liệu... sử dụng nguyên hàm NLDE-DATA.indication. Phần gói tin của lớp hỗ trợ ứng dụng kết hợp với phần tiêu đề của tầng mạng sẽ là gói tin của tầng mạng NPDU (Network layer Protocol Data Unit).

- MLME(Network Layer Management Entity): nhiệm vụ chính của dịch

vụ quản lí là hình thành mạng lưới, quyết định tham gia hoặc rời bỏ một mạng, phát hiện định tuyến và bảo trì định tuyến.

Đồng thời tầng mạng cũng thực hiện một số chức năng bao gồm:

- Quét kênh: Tầng mạng sẽ sử dụng cơ chế quét kênh của tầng MAC để

tìm ra sự hiện diện của các mạng trong phạm vi phủ sóng. Việc quét kênh có thể diễn ra chủ động hoặc bị động tùy vào năng lực của thiết bị thu phát. Một danh sách các mạng sẽ được đưa ra bao gồm định danh của PAN, tần số kênh hiện thời và phiên bản Zigbee (được quy định ở tầng ứng dụng APL), ngoài ra cũng bao gồm giá trị của thứ tự gói beacon, thứ tự siêu khung, định danh của các khuôn dạng hồ sơ chuẩn định nghĩa trong Zigbee (Zigbee profile) đồng thời cũng đảm bảo ít nhất một thiết bị định tuyến ZR hoặc ZC đã tham gia.

- Hình thành mạng: tầng mạng khi này dựa vào yêu cầu của tầng ứng

dụng sẽ thiết lập vai trò của thiết bị (nút mạng) trong mạng. Nếu là khởi đầu, nó sẽ gán nút mạng là ZC và thực hiện dò năng lượng (ED) và lựa chọn một số kênh sử dụng bằng các dịch vụ tầng MAC. Dựa vào kết quả dò, tầng mạng chọn kênh và định danh PAN. Nhiệm vụ đầu tiên của ZC trong mạng là thiết lập siêu khung sử dụng dịch vụ quản lí tầng MAC.

- Tham gia và ra khỏi mạng: Tầng mạng (cụ thể là các ZC và ZR) muốn

cho phép một thiết bị tham gia vào mạng của mình, sẽ sửa thuộc tính macAssociationPermit thành giá trị TRUE. Thuộc tính này nằm ở tầng MAC. Ngược lại nếu muốn tham gia vào một mạng khác, nguyên hàm NLME.JOIN.request sẽ được gửi đến tầng Mạng của ZC hay ZR của mạng mà nút cần tham gia và chờ đợi phản hồi. Trong mạng, các nút con cũng phải tìm nút cha thích hợp để liên kết. Nút cha cũng sẽ thêm nút con vào danh sách hàng xóm của mình (nếu chưa có trong danh sách) và cung cấp địa chỉ 64 bit cho nút con (số địa chỉ sẽ được giới hạn), nút con cũng đồng thời phải có phản hồi xác nhận để kết thúc quá trình tham gia mạng. Việc gỡ bỏ một nút ra khỏi mạng được thực hiện bằng khung lệnh leave-request được ZC hay ZR gửi tới nút cần gỡ bỏ và thông điệp leave được quảng bá đến toàn mạng để cập nhật lại mô hình mạng cho việc định tuyến.

- Khởi tạo lại tầng mạng: trong một số trường hợp đặc biệt, khi nhận

được yêu cầu từ tầng ứng dụng, tầng mạng khởi tạo lại bắt đầu từ tầng MAC, sau đó xóa hết dữ liệu ở NIB, các bảng định tuyến đưa về giá trị mặc định. Thiết bị sẽ thực hiện quá trình khởi tạo lại khi khởi động, trước khi bắt đầu tham gia một mạng hoặc sau khi rời khỏi mạng đó.

bộ hoặc trích xuất từ các thiết bị ZC và ZR.

Khuôn dạng dữ liệu tầng mạng có hai dạng là các khung dữ liệu và các khung lệnh, các khung dữ liệu có cấu trúc như sau:

Hình 3. 28: Cấu trúc khung dữ liệu tầng Mạng Zigbee [4,tr86]

Trong đó, bao gồm các trường:

Frame Control với các trường con:

- Frame Type: cho biết khung là dữ liệu hay lệnh. - Protocol Version: phiên bản Zigbee.

- Discover Route: gồm 3 loại là Supress (chặn):, Enable (kích hoạt) và Force (Ép), dùng cho chế độ rà định tuyến.

- Multicast flag: cờ, giá trị 1 nếu dùng multicast. - Security: 1 nếu bật chế độ bảo mật.

- Source Route: địa chỉ chuyển tiếp đến (có thể là địa chỉ trung gian) - Source & Destination IEEE: địa chỉ nguồn và đích đến theo IEEE.

Destination & Source Address: địa chỉ đích đến và nguồn của gói tin.

Radius: số chặng tối đa (max number of hops), giảm mỗi lần quảng bá. Nếu về 0 sẽ không được gửi quảng bá nữa.

Sequence Number: hỗ trợ theo dõi số lượng gói tin truyền trên một thiết bị, giá trị được tăng lên mỗi khi một khung mới được truyền đi.

Destination IEEE & Source IEEE Address: địa chỉ nguồn và đích đến theo IEEE (64bit).

Multicast Control: chỉ tồn tại nếu frame này là multicast.

Source Route Superframe: siêu khung.

Hình 3.29 mô tả cấu trúc khung của lệnh:

Hình 3. 29: Cấu trúc khung của lệnh ở tầng MAC trong mạng Zigbee [4, tr88]

Tập hợp các lệnh được định danh bằng 8-bit dữ liệu, mỗi lệnh có một ID lệnh riêng, phần ID này sẽ cùng phần dữ liệu tải của lệnh sẽ hợp thành tải của tầng mạng. Bảng 3.3 chứa các tập lệnh tương ứng với mã định danh:

Định danh của từng lệnh

Lệnh Ý nghĩ lệnh

00000001 Route request Yêu cầu định tuyến

00000002 Route reply Phản hồi định tuyến

00000003 Route error (network status) Báo lỗi định tuyến

00000004 Leave Yêu cầu rời bỏ khỏi mạng

00000005 Route record Ghi lại định tuyến

00000006 Rejoin request Yêu cầu tham gia lại

00000007 Rejoin response Phản hồi lại rejoin request

00000008 Link status (ZigBee-Pro) Cập nhật trạng thái liên kết

00000009 Network report (ZigBee-Pro) Báo cáo tình hình mạng

0000000A Network update (ZigBee-Pro) Cập nhật tình hình mạng

Một phần của tài liệu Đánh giá hiệu năng của giao thức mạng không dây cá nhân Zigbee (Trang 70 - 74)