2.2.1. Thông tin chung về MiWi PRO
Giao thức MiWi PRO được cấu hình để hỗ trợ tới 64 nút điều phối bao gồm cả nút chủ mạng (PAN Coordinator) khởi tạo mạng. Mỗi nút điều phối có thể hỗ trợ tới 127 thiết bị con. Các nút điều phối có thể kết nối được với tất cả các nút điều phối khác. Do đó, mạng MiWi PRO có thể hỗ trợ tới hơn 8000 thiết bị và bước nhảy của bản tin trong mạng có thể lên tới 65.
Giao thức MiWi PRO cũng được thiết kế cung cấp khả năng định tuyến được tăng cường mà chỉ cần tài nguyên hệ thống vừa phải. Ngăn xếp MiWi PRO đầy đủ tính năng cho nút điều phối chỉ sử dụng khoảng 25 KB bộ nhớ chương trình, trong khi với thiết bị cuối chỉ cần 16 KB bộ nhớ. Tuy nhiên yêu cầu về RAM cao hơn đối với thiết bị điều phối do yêu cầu cao cho việc định tuyến của giao thức MiWi PRO. Do sự phức tạp của việc lưu giữ các thông tin định tuyến của mạng, tính năng đóng băng mạng
(Network Freezer) là bắt buộc với giao thức MiWi PRO để có thể khôi phục lại mạng trong trường hợp mất điện nguồn. Tính năng đóng băng mạng này lưu giữ các thông tin quan trọng của mạng vào một vùng nhớ không bay hơi và khôi phục lại cấu hình mạng từ vùng nhớ đó sau khi bật nguồn điện.
Một mục đích thiết kế nữa của MiWi PRO là khả năng tương thích ngược. Giao thức MiWi PRO được thiết kể đảm bảo cho các thiết bị sử dụng giao thức MiWi thông thường có thể gia nhập mạng MiWi PRO và thực hiện các thao tác mạng tương tự như trong mạng MiWi thông thường mà không gặp phải vấn đề nào. Đồng thời, thiết bị MiWi PRO có thể gia nhập mạng MiWi thông thường và hoạt động bình thường. Khả năng này cho phép các nhà phát triển chi việc cập nhật phần mềm lõi (firmware) cho nút điều phối trong trường hợp việc thay đổi giao thức mạng là cần thiết. Trong hầu hết các ứng dụng thì gần như tất cả các thiết bị trong mạng đều là thiết bị cuối và khả năng các thiết bị cuối này có thể hoạt động được trong cả 2 giao thức mạng sẽ giúp tiết kiệm chi phí để bảo trì, cập nhật giao thức mạng.
Nói tóm lại, giao thức mạng không dây MiWi PRO cung cấp một giải pháp thay thế rẻ hơn cho các mạng lớn hơn trên thị trường thay vì sử dụng giao thức Zigbee trong những trường hợp mà khả năng tương tác giữa các mạng là không cần thiết.
2.2.2. Các tính năng chính của MiWi PRO
Phiên bản hiện tại của giao thức MiWi PRO có những tính năng chính sau đây: - Yên cầu bộ nhớ chương trình nhỏ: dưới 25 KB đối với thiết bị điều phối mạng và
dưới 13 KB với thiết bị cuối.
- Giao diện MiMAC để kết nối giao thức MiWi PRO với thiết bị thu phát cho phép thay thế dễ dàng thiết bị thu phát sóng vô tuyến (xem Hình 2-1).
- Giao diện MiApp giữa tầng ứng dụng và giao thức mạng cho phép dễ dàng thay đổi giữa các giao thức không dây của Microchip (xem Hình 2-1).
- Hỗ trợ lên tới 64 nút điều phối mạng, 65 bước nhảy và 8000 thiết bị cho một mạng lớn.
- Thiết bị cuối có khả năng tương thích với giao thức MiWi.
- Hỗ trợ đầy đủ trên các nhiều dòng chip PIC và dsPIC của Microchip (PIC18/PIC24/PIC32/dsPIC33).
2.2.3. Định dạng bản tin của giao thức MiWi PRO
MiWi PRO định nghĩa lớp mạng ở ngay trên lớp MAC tương tự như giao thức MiWi để hỗ trợ định tuyến đa bước (Multi-hop routing).
Định dạng khung của MiWi PRO như sau:
Hình 2-5: Định dạng khung của giao thức MiWi PRO.[10]
Các trường của định dạng bao gồm:
- Hops: Bước nhảy – trường 8 bit (1 byte) - quy định số bước nhảy mà gói tin được
phép phát lại (0x00 có nghĩa là không được phép phát lại gói tin.
- Frame Control: Trường điều khiển khung – 1 byte – định nghĩa cách thức hoạt
động của gói tin. Các bit trong trường điều khiển khung bao gồm bit 2 là bit yêu cầu nhận biết ACKREQ nghĩa là thiết bị gửi yêu cầu xác thực việc nhận được bản tin của phía thiết bị nhận; Các bit còn lại của trường đều là bit dự phòng và giữ giá trị mặc định của chúng (bit 7-3 luôn = 0, bit 1 = 1, bit 0 không được quy định)
Bảng 2.1: Định dạng bit của trường điều khiển khung.[10]
- Destination PANID: Trường PAN ID của nút đích – 2 byte.
- Destination short address: Trường địa chỉ rút gọn của nút đích – 2 byte.
- Source PANID: Trường PAN ID của nút nguồn – 2 byte.
- Source short address: Trường địa chỉ rút gọn của nút nguồn – 2 byte.
- Sequence number: Trường dùng để theo dõi trạng thái của gói tin khi nó di
chuyển trên mạng – 1 byte.
- Report type và Report ID: 2 byte - quy định loại và chức năng của gói tin được truyền đi giữa các thiết bị.
PAN Identifier (PANID) là một địa chỉ 16 bit xác định một nhóm các nút. Tất cả các nút trong mạng PAN đều có chung một PANID. Khi một thiết bị chọn gia nhập một mạng, nó sẽ mang PANID của mạng PAN đó.
Giao thức MiWi PRO sử dụng 2 byte địa chỉ rút gọn để chỉ định các nút trong
mạng khi thực hiện định tuyến. Trong đó byte thấp được dùng để xác định thiết bị cuối, 6 bit của byte cao được dùng để xác định các nút điều phối (do đó đủ để định vị
26 = 64 nút điều phối). Bảng 2.2 dưới đây sẽ minh họa chi tiết định dạng trường địa chỉ rút gọn.
Bảng 2.2: Định dạng trường địa chỉ rút gọn.[10]
Bit 7 – RxOnWhenIdle của địa chỉ rút gọn được mô tả ngược với mô tả của IEEE
802.15.4. Khi bit được đặt (RxOnWhenIdle =1), thiết bị sẽ tắt bộ thu phát của nó đi khi rảnh và sẽ không thể nhận gói tin nào nữa. Bất kể thiết bị nào, trừ thiết bị cha của nó sẽ định tuyến gói tin có bit này được đặt tới thiết bị cha của nó. Nút cha của thiết bị đích sẽ lưu tạm bản tin cho thiết bị con cho đến khi nó thức dậy và yêu cầu dữ liệu đó. Nếu bit này không được đặt trong địa chỉ thiết bị thì thiết bị luôn có khả năng nhận các gói tin.
2.2.4. Những điểm mới của giao thức MiWi PRO
Có 3 điểm mới được tăng cường cho giao thức MiWi PRO nhằm đạt được hiệu suất làm việc tốt với những mạng lớn hơn đó là:
- Tăng cường ở phương thức truyền quảng bá. - Khả năng định tuyến theo mạng lưới.
- Sự linh hoạt tần số.
2.2.4.1. Tăng cường phương thức truyền quảng bá
Truyền quảng bá là phương pháp giao tiếp mà đích đến của gói tin là một nhóm các thiết bị. Thông thường thì các đích đến của truyền quảng bá được phân biệt bởi vai trò của chúng trong mạng. Ví dụ, đích đến của truyền quảng bá có thể là tất cả các nút điều phối, hay tất cả các thiết bị đầy đủ tính năng trong mạng. Để đạt được mục đích này, một địa chỉ rút gọn đặc biệt sẽ được cấp phát để biểu diễn kiểu truyền đa hướng. Địa chỉ đích của lượt truyền đa hướng sẽ chỉ được truyền trong tiêu đề của MiWi PRO. Trong tiêu đề MAC, lượt truyền vẫn là quảng bá. Vai trò của ngăn xếp MiWi PRO là lọc ra các gói tin nhắm đến các loại thiết bị khác nhau, do đó các lượt truyền đa hướng không hướng đến nút hiện tại sẽ không được chuyển đến lớp ứng dụng.
Từ lớp ứng dụng, khi một địa chỉ truyền đa hướng được cấp phát như là địa chỉ đích trong giao diện MiApp (MiApp_UnicastAddress), bản tin sẽ được gửi đi như một bản tin đa hướng nhắm đến một nhóm các thiết bị nhất định.
2.2.4.2. Định tuyến theo mạng lưới trong những mạng lớn hơn
Trước khi mô tả chi tiết việc định tuyến theo mạng lưới của giao thức MiWi PRO, sẽ tốt hơn nếu xem qua cách tiếp cận chung trong công nghiệp để hỗ trợ các mạng hình lưới. Để hỗ trợ định tuyến theo mạng lưới, Zigbee sử dụng một thuật toán đặc biệt gọi là Cskip để tính toán vị trí nút theo địa chỉ rút gọn. Còn Zigbee PRO sử dụng phương pháp cấp phát ngẫu nhiên địa chỉ rút gọn. Kết quả là thiết bị Zigbee PRO không có cách nào để theo dõi cấu hình mạng và phụ thuộc vào mạng lưới chỉ cho mục đích truyền các gói tin. Tất cả các giải pháp của giao thức Zigbee yêu cầu nhiều hơn tài nguyên hệ thống và cũng phức tạp cho việc triển khai. Do đó, dung lượng cần thiết cho ngăn xếp của tất cả các giao thức Zigbee đều vượt xa đáng kể so với MiWi PRO. Thêm vào đó, do đường đi của bản tin từ nguồn đến đích được tìm ra trong khi truyền gói tin theo đường quảng bá liên quan đến các dịch vụ của giao thức, trễ của gói tin đầu tiên đến được đích là rất cao.
Họ giao thức MiWi sử dụng một cách khác để giải quyết vấn đề định tuyến. Giao thức MiWi P2P chỉ giao tiếp trong vùng phủ sóng của bộ thu phát và không cần đến việc định tuyến.
Trong khi giao thức MiWi thì chọn một cách đơn giản để bỏ qua vấn đề định tuyến. nó chỉ cho phép nút chủ mạng chấp nhận kết nối từ các nút điều phối. Do đó cấu hình mạng MiWi luôn là mạng hình sao mở rộng cố định. Thiết kế này trong giao thức MiWi cung cấp khả năng định tuyến mạng lưới, đồng thời đơn giản hóa hiệu quả cơ chế định tuyến. Tuy nhiên nó bộc lộ rõ hạn chế ở số bước nhảy tối đa trong mạng chỉ là 4 giữa các thiết bị cuối và 2 từ nút chủ mạng đến thiết bị cuối.
Giao thức MiWi PRO đi theo con đường tương tự để phân phối địa chỉ rút gọn giống như MiWi, ngoại trừ việc mở rộng căn cước của nút điều phối lên 6 bit, cho phép xác định 64 nút điều phối. Một bản tin luôn có thể được phân phối tới thiết bị cuối qua nút cha của nó. Cơ chế định tuyến tập trung vào việc định tuyến gói tin đến đích nếu đích là một nút điều phối hoặc cha của nút đích nếu đích là một thiết bị cuối.
Để định tuyến đến đích, có 2 cách phổ biến: - Định tuyến dọc theo cây.
Định tuyến dọc theo cây:
Là cơ chế định tuyến mà ở đó bản tin chuyển đến qua quan hệ nút cha – nút con. Để sử dụng định tuyến theo cây, tất cả các nút tham gia định tuyến đều phải biết cấu hình mạng. Giao thức MiWi PRO giữ thông tin cấu hình mạng bằng cách cho phép chỉ nút chủ mạng được cấp phát địa chỉ rút gọn cho một nút điều phối. Kết quả là nút chủ mạng thu thập tất cả thông tin về cấu hình mạng trong khi thực hiện cấp phát địa chỉ rút gọn cho một nút điều phối. Sau đó, nút chủ mạng sẽ phân phối thông tin cấu hình mạng tới tất cả nút điều phối, là những nút có khả năng định tuyến trong mạng. Bằng cách này, cấu hình mạng không còn bị cố định và bất cứ một nút điều phối nào cũng có thể kết nối với một nút điều phối khác. Số bước nhảy tối đa cũng không còn bị giới hạn bởi cấu hình mạng mà bởi số nút điều phối được cho phép trong mạng. Bước nhảy tối đa trong giao thức MiWi PRO có thể được tính bằng: (số nút điều phối tối đa + 1).
Để tiết kiệm tài nguyên hệ thống và cho phép truyền cấu hình mạng dễ dàng, MiWi PRO sử dụng bảng “cây gia phả” để biểu diễn cấu hình mạng như Bảng2.4 dưới đây.
Bảng 2.4: Bảng cây gia phả trong giao thức MiWi PRO.[10]
Mỗi lần một nút điều phối cố gắng gia nhập mạng, trách nhiệm của nút điều phối cha là báo cáo nút chủ mạng và lấy địa chỉ rút gọn cho nút đang gia nhập từ nút chủ mạng. Trách nhiệm của nút chủ mạng sau đó là cập nhật bảng cây gia phả và phân phối bảng cây gia phả mới tới tất cả các nút có khả năng định tuyến trong mạng. Vì tất cả các nút tham gia định tuyến đều có một bản sao của bảng cây gia phả nên chúng đều có thể định tuyến bản tin qua mạng theo quan hệ nút cha – nút con trong mạng.
Định tuyến theo mạng lưới:
Trong đa số các trường hợp, định tuyến theo mạng lưới được dùng để định tuyến các gói tin. Tuy nhiên, định tuyến theo cây là phương án dự phòng để định tuyến các
gói tin qua mạng. Định tuyến theo cây chỉ được dùng khi mà định tuyến theo mạng lưới không thể tìm ra được đường đi tốt hơn. Không giống như định tuyến theo cây phụ thuộc vào việc tham gia vào cấu trúc cây để thực hiện định tuyến, định tuyến theo mạng lưới cố gắng tìm ra một đường đi ngắn nhất giữa nguồn và đích mà không cần quan tâm đến quan hệ cha – con giữa các nút. Khả năng định tuyến theo mạng lưới cho phép giao thức MiWi PRO chuyển gói tin từ nguồn tới đích theo nhiều đường đi khác nhau. Nếu có một vài nút bị hỏng, định tuyến theo mạng lưới có thể dễ dàng bỏ qua các nút bị hỏng đó và tiếp tục truyền gói tin đi theo các đường thay thế. Nói cách khác, khả năng định tuyến theo mạng lưới có thể tránh được những điểm hỏng hóc có thể xảy ra. Mạng có khả năng định tuyến theo mạng lưới có thể linh động điều chỉnh đường đi của gói tin. Do đó, định tuyến theo mạng lưới mạnh mẽ và ổn định hơn.
Để sử dụng định tuyến theo mạng lưới, tất cả các nút tham gia định tuyến đều phải biết được các nút lân cận của nó và cả các nút lân cận của nút lân cận nó. Để làm được điều này, tất cả các nút điều phối phải trao đổi thông tin bảng các nút lân cận với các nút lân cận của nó sau khi gia nhập mạng. Bảng các nút lân cận cho mỗi nút điều phối sử dụng một bit để chỉ khả năng nó có thể giao tiếp trực tiếp với một nút điều phối khác hay không. Thứ tự bit biểu diễn byte cao của địa chỉ rút gọn của nút lân cận nút điều phối. Như vậy, nó sẽ có thể nhìn thấy ít nhất 2 bước trước khi thực hiện định tuyến. Bảng các nút lân cận có thể được bảo trì linh hoạt bằng cách trao đổi thông tin bảng lân cận với các nút lân cận một cách định kỳ trong khi làm việc bình thường.
Cơ chế định tuyến của giao thức MiWi PRO là sự kết hợp của định tuyến theo mạng lưới và định tuyến theo cây. Về cơ bản, một nút điều phối có thể nhìn xa 2 bước trước mặt nó để xem việc định tuyến theo mạng lưới có thể thực hiện được đến nút đích hoặc cây của nút đích hay không. Nếu không thể, nó sẽ gửi một bản tin dọc theo cây gia phả của nó xem có nút nào trong cây của nó có thể cung cấp định tuyến mạng lưới đến đích hay không. Giao thức MiWi PRO sử dụng một bảng tìm kiếm đơn giản để tìm đường đi theo mạng lưới đang có thay vì sử dụng phương pháp định tuyến yêu cầu / trả lời đắt đỏ mà Zigbee sử dụng. Do đó giảm bớt yêu cầu về tài nguyên hệ thống cũng như giảm bớt trễ khi gói tin đầu tiên được truyền đi. Hình 2-6 minh họa đầy đủ cơ chế định tuyến của giao thức MiWi PRO.
Hình 2-6: Cơ chế định tuyến của giao thức MiWi PRO. [10]
Để cho phép MiWi PRO hỗ trợ nhiều hơn 4 bước nhảy và thực hiện định tuyến mạng lưới, giao thức MiWi PRO đã giới thiệu một loạt các dịch vụ giao thức mới. Tất cả các dịch vụ giao thức đều tuân thủ cùng một định dạng báo cáo giống của giao thức MiWi. Các dịch vụ của giao thức sử dụng loại báo cáo 0x00. Với các dịch vụ giao thức
khác nhau, chúng sẽ sử dụng các mã căn cước của báo cáo khác nhau như được chỉ ra