Đối với mạng sử dụng cấu hình hình cây như trong hình 2.19, Zigbee coordinator đảm nhiệm vai trò gốc của cây. Một Zigbee coordinator hay router có thể hoạt động như một thiết bị cha (parent) và nhận các kết hợp từ các thiết bị khác trong mạng. Thiết bị được kết nối tới một thiết bị cha được gọi là thiết bị con (child). Các bản tin tới một thiết bị con có thể được định tuyến qua cha của nó. Một thiết bị đầu cuối Zigbee chỉ có thể hoạt động như một thiết bị con bởi nó thiếu chức năng định tuyến. Cấu hình cây cũng được gọi là cấu hình phân cấp.
Độ sâu của mạng – depth – được định nghĩa bằng số hop tối thiểu được yêu cầu để một khung vươn tới bộ điều phối Zigbee nếu chỉ sử dụng các liên kết cha-con. Các con trực tiếp của bộ điều phối Zigbee có độ sâu là 1 bởi vì nó có thể gửi một khung trực tiếp tới Zigbee coordinator với 1 hop đơn. Bộ điều phối Zigbee bản thân sẽ có độ sâu là 0.
Chuẩn Zigbee cung cấp một kĩ thuật định vị địa chỉ có các thiết bị trong một mạng hình cây. Kĩ thuật này được gọi là định vị địa chỉ phân bổ mặc định (default distributed address allocation). Tuy nhiên, các nhà phát triển ứng dụng được phép sử dụng phương thức cấp phát địa chỉ của riêng họ. Khi Zigbee coordinator bắt đầu thiết lập mạng của nó, nếu thuộc tính nwkUseTreeAddrAlloc
được thiết lập bằng TRUE, Zigbee coordinator sẽ sử dụng hệ thống địa chỉ phân bổ mặc định. Với phương thức này, Zigbee coordinator cung cấp cho mỗi thiết bị có khả năng trở thành một nút cha với một khối nhỏ địa chỉ mạng. Parent sẽ gán những địa chỉ này cho các nút con của nó. Zigbee coordinator sẽ xác định số con lớn nhất được cấp phát cho mỗi nút cha. Ngược lại, nếu
nwkUseTreeAddrAlloc được thiết lập bằng FALSE, lớp APL sẽ cung cấp phương thức đánh địa chỉ được định nghĩa bởi người sử dụng tới lớp NWK.
Phương thức đánh địa chỉ mặc định đơn giản sử dụng độ sâu và số nút con lớn nhất để cấp phát địa chỉ. Các tham số ảnh hưởng đến việc cấp phát địa chỉ gồm:
- Lm – Độ sâu lớn nhất của mạng(nwkMaxDepth).
- Cm – Số nút con lớn nhất một nút cha có thể chấp nhận(nwkMaxChildren).
- Rm – Số lượng lớn nhất các nút con có khả năng định tuyến mà một nút cha có thể chấp nhận(nwkMaxRouters).
- d – Độ sâu của một thiết bị trong một mạng.
Hình 2.20 mô tả một ví dụ về định vị địa chỉ trong đó Lm=3, Cm=Rm=2. Quá trình đánh địa chỉ bắt đầu bằng việc gán địa chỉ 0 (addr=0) cho Zigbee coordinator. Để xác định địa chỉ của các thiết bị còn lại trong mạng, một hàm đơn giản được đưa ra như sau:
(Công thức 2.5)
Trong ví dụ hình 2.20, tại mỗi độ sâu, giá trị của Cskip(d) lại được xác định. Tại mỗi độ sâu, sự khác nhau giữa địa chỉ của hai thiết bị có khả năng định tuyến bất kì là một số nguyên lần giá trị
Cskip của nút cha của chúng. Ví dụ như trong hình 2.20, địa chỉ của thiết bị X là tăng một so với địa chỉ của Zigbee coordinator (addr=1). Thiết bị Y có địa chỉ bằng địa chỉ của X cộng với giá trị của
Cskip của nút cha của nó (Cskip=7) nên địa chỉ của Y bằng 8 (addr=8). Địa chỉ của thiết bị khác có thể được xác định tương tự.
Hình 2-29 Mối quan hệ cha con trong mạng hình cây.
Nếu giá trị được tính toán của Cskip là 0 cho một thiết bị, có nghĩa rằng thiết bị sẽ không thể nhận thêm bất cứ nút con nào khác. Với ví dụ trên, thiết bị có độ sâu là 3 có Cskip là 0 sẽ không thể nhận thêm thiết bị con nào nữa. Vì vậy, thiết bị ở độ sâu 3 có thể chỉ là các thiết bị đầu cuối. Địa chỉ của thiết bị đầu cuối không có khả năng định tuyến sẽ được tính khác. Địa chỉ được gán cho nó sẽ tính dựa vào phương trình:
Địa chỉ của thiết bị đầu cuối thứ n = địa chỉ của cha + Cskip(d)×Rm +n. (Công thức 2.6)
Ví dụ trong hình 2.20, thiết bị đầu cuối kết nối tới Z sẽ có địa chỉ như sau:
Địa chỉ của thiết bị đầu cuối đầu tiên = 9 + 0×2 + 1 = 10; Địa chỉ của thiết bị đầu cuối thứ hai = 9 + 0×2 + 2 = 11;
Đồ án tốt nghiệp đại học Chương 2. Các công nghệ vô tuyến sử dụng trong mạng Mesh vô tuyến Giá trị của hàm Cskip(d) rất hữu dụng khi một thiết bị muốn chuyển tiếp một bản tin tới đích dựa trên thiết bị khác. Thiết bị chuyển tiếp cần biết thiết bị đích có phải là một nút con cháu của nó hay không. Nếu thiết bị chuyển tiếp ở độ sâu d và địa chỉ của nó bằng A, thiết bị đích với địa chỉ đích là D sẽ là một con cháu của nó nếu điều kiện sau thỏa mãn:
A < D < A + Cskip(d-1). Công thức 2.7)
Ví dụ, thiết bị Y ở độ sâu 1 và có địa chỉ là 8 (A=8), thiết bị Y nhận bản tin mà cần được chuyển tiếp tới địa chỉ đích là 11. Thiết bị Y dùng điều kiện sau để nhận ra rằng địa chỉ đích là một con cháu của nó.
8<11<8+7
Sau khi nhận thấy địa chỉ đích là con cháu của một thiết bị, bước tiếp theo là tính địa chỉ của hop tiếp theo. Nếu địa chỉ đích là một trong những con của thiết bị, địa chỉ của hop tiếp theo đơn giản bằng với địa chỉ đích. Nếu không phải, địa chỉ của hop tiếp theo sẽ được tính theo phương trình sau:
(Công thức 2.8)
Hàm int trả về phần nguyên của một số. Ví dụ int(4.95)=4.
Hình 2-30 Ví dụ về phương thức cấp phát địa chỉ mặc định.
Tiếp theo ví dụ trên, khi thiết bị Y hoạt động như là một router để chuyển tiếp bản tin tới địa chỉ đích 11, địa chỉ của next hop sẽ là 9:
Địa chỉ next hop = 8 +1+ int(11-(8+1)/3) x 3 = 9
Thiết bị nguồn là thiết bị khởi tạo việc truyền một khung. Trong một cấu hình phân cấp, một thiết bị sẽ chuyển tiếp một khung chỉ khi khung được nhận với một đường dẫn hợp lệ (valid path). Một đường là hợp lệ nếu một trong những điều kiện sau đây thỏa mãn:
- Khung được nhận từ một trong những nút con của thiết bị và thiết bị nguồn là nút cháu của thiết bị con đó.
- Khung được nhận từ một thiết bị cha và địa chỉ nguồn không phải là con cháu của thiết bị cha đó.
Cấu hình hình sao có thể được xem như là một dạng đặc biệt của một mạng hình cây trong đó chỉ có một cha duy nhât trong mạng là Zigbee coordinator. Trong cấu hình hình sao, tất cả các con có độ sâu là 1 và truyền thông trực tiếp với Zigbee coordinator. Không có một con nào hoạt động như là một router trong mạng hình sao.