Thread và IPv6

Matter sử dụng IPv6 để giao tiếp hoạt động, đồng thời sử dụng cả địa chỉ IPv6 UnicastMulticast để truy cập vào các Nút và Nhóm tương ứng.

Công suất thấp

Một số nút Matter có dây và có hạn mức năng lượng cho phép các nút này giữ cho đài phát liên tục ở trạng thái bật. Các loại Nút khác, chẳng hạn như cảm biến, phải đáp ứng yêu cầu phải chạy trong nhiều năm bằng pin, vận hành đài phát trên các mạng công suất thấp như Thread. Cấu trúc proxy, cùng với Thread Thiết bị Sleepy End, cho phép các Nút hoạt động hoàn toàn cung cấp cả chức năng cấp mạng và cấp ứng dụng giúp cách ly các Nút con khỏi các giao dịch tiêu tốn nhiều năng lượng.

Một khía cạnh cơ bản của Matter là hoạt động trên cả các phương tiện mạng thông lượng cao như Wi-Fi và Ethernet, nhưng cũng trên cả độ trễ thấp, băng thông thấp như Thread. Nếu tất cả các gói Multicast từ Wi-Fi được bắc cầu vào Thread, thì chúng tôi sẽ gây quá tải mạng và có thể gây ngập mạng. Mục tiêu của Thread là bật IPv6 trong chế độ nối mạng lưới công suất thấp, độ trễ thấp chứ không phải tính năng chuyển dữ liệu băng thông cao. Mặc dù các ping ICMPv6 của Thread trong mạng cục bộ thường có thời lượng RTT dưới vài chục mili giây, nhưng tổng băng thông của nó thường giới hạn ở 250 kb/giây tại IEEE 802.15.4 PHY. Với hoạt động truyền lại gói và mức hao tổn, băng thông tối đa thông thường là khoảng 125 kb/giây. Nói cách khác, đơn đặt hàng có độ lớn nhỏ hơn Wi-Fi.

Khung hình trên IEEE 802.15.4 PHY là 127 byte, nhưng đơn vị truyền tối đa (MTU) lớn nhất (và điển hình) của các gói IPv6 trong Thread là 1280 byte. Do đó, các gói IPv6 thường cần được chia thành vài khung PHY. Quy trình này do RFC4944 xác định.

Để tìm hiểu thêm, hãy tham khảo phần Địa chỉ IPv6 trong Thread Primer trên openthread.io.

Bộ định tuyến biên

Vậy làm cách nào các Nút có thể cùng tồn tại trên cả hai phương tiện truyền tải trong cùng một kết cấu? Mặc dù cả hai mạng đều dùng chung thông tin xác thực Matter ở cấp ứng dụng, nhưng không dùng chung một công nghệ liên kết. Trong trường hợp này, mạng cần có Bộ định tuyến biên giới Thread (BR) để bật khả năng kết nối. BR là Bộ định tuyến IPv6 tạm thời.

Bộ định tuyến mã giả lập cho phép kết nối giữa mạng mã giả lập và mạng thông thường. Mạng mã giả lập là một mạng "cứu cánh cuối cùng" cung cấp khả năng kết nối bên ngoài cho các thành viên trong mạng đó, nhưng không đóng vai trò là đường dẫn mạng chuyển tiếp giữa các mạng khác. Thường thì mạng tạm thời Matter dựa trên Thread. Tham khảo bản nháp RFC để biết thêm thông tin về mạng mã giả lập.

Do đó, BR có trách nhiệm là cầu nối giữa Mạng tạm thời và Mạng cơ sở hạ tầng liền kề (là mạng Wi-Fi hoặc mạng Ethernet cục bộ). Các nền tảng này chỉ chuyển tiếp các gói có liên quan đến mạng Thread.

Quá trình này được thực hiện bằng cách chỉ định nhiều tiền tố IPv6 cho Thread và Mạng cơ sở hạ tầng liền kề. Do đó, BR chỉ chuyển tiếp unicast đến hoặc từ tiền tố IPv6 Thread.

Bộ định tuyến biên giới cũng chịu trách nhiệm:

  • tự động định cấu hình tiền tố và tuyến IPv6 cho cả Thread và Mạng cơ sở hạ tầng liền kề để các máy chủ ở hai bên của bộ định tuyến Biên giới Thread có thể giao tiếp.
  • phát hành các gói phát hiện DNS-SD mDNS thay cho các Nút Thread, nhờ vậy, bạn có thể tìm thấy các gói này trên mạng cơ sở hạ tầng liền kề.

Để tìm hiểu thêm, hãy tham khảo hướng dẫn về Bộ định tuyến đường viền trên openthread.io.

Phát đa hướng IPv6

Thông báo Nhóm cũng quan trọng vì cho phép kiểm soát đồng thời một số Nút Matter thông qua Multicast. Để định tuyến lưu lượng truy cập này vào mạng Thread, cả MatterThread đều triển khai Giao thức địa chỉ IPv6 Multicast dựa trên tiền tố do RFC 3306 xác định.Unicast

Phương thức này cho phép lựa chọn các Nút đích của gói Multicast dựa trên tiền tố Unicast IPv6 dùng chung.

Ví dụ: địa chỉ Matter Multicast có thể có dạng như sau:

FF35:0040:FD<Fabric ID>00:<Group ID>

Bảng 1 trình bày chi tiết cách tạo địa chỉ này:

Bảng 1: Unicast Địa chỉ IPv6 dựa trên tiền tố
bit Mô tả
12 bit 0xFF3
4 bit 0x05

Phạm vi: trang web địa phương

8 bit 0x00

đã đặt trước

8 bit 0x40

Cho biết tiền tố dài 64 bit

8 bit 0xFD

Chỉ định một tiền tố ULA

56 bit ID vải
8 bit 0x00
16 bit Mã nhóm

Bạn có thể xem thêm thông tin trong phần Multicast của Thread Primer và trên chính RFC.

Khi Địa chỉ Multicast IPv6 được tạo, các địa chỉ này cũng bao gồm các giá trị 56 bit phía trên của ID Fabric. Tức là phạm vi của Multicast nằm trong một Fabric, trong khi địa chỉ Unicast được chia sẻ giữa các Fabric. Các nút có nhiều loại kết cấu có thể có một số địa chỉ Multicast xác định các Nhóm nút trùng lặp trong phạm vi mỗi kết cấu.

Cổng

Matter sử dụng Cổng 5540 cho Multicast.