Thread và IPv6

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

Tiết kiệm pin

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

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

Khung trên PHY IEEE 802.15.4 là 127 byte, nhưng đơn vị truyền tải tối đa (MTU) lớn nhất (và thông thường) 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 nhiều khung PHY. Quá trình này được xác định theo RFC4944.

Để tìm hiểu thêm, hãy tham khảo phần Địa chỉ IPv6 trong phần Giới thiệu về Thread 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 Fabric? 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 chúng không dùng chung 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 (BR) Thread để bật khả năng kết nối. BR là Bộ định tuyến IPv6 giả lập.

Trình định tuyến giả cho phép kết nối giữa mạng giả và mạng thông thường. Mạng giả lập là mạng "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, nhưng không đóng vai trò là đường dẫn mạng trung chuyển giữa các mạng khác. Thông thường, Mạng giả lập Matter dựa trên Thread. Hãy tham khảo bản thảo RFC để biết thêm thông tin về mạng giả lập.

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

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

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

  • tự động định cấu hình các 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ủ lưu trữ ở hai bên của bộ định tuyến Biên giới Thread có thể giao tiếp.
  • thay mặt cho các Nút Thread, phát hành các gói khám phá DNS-SD mDNS để các gói này có thể được phát hiện 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 biên trên openthread.io.

Truyền đa điểm IPv6

Tin nhắn Nhóm cũng rất quan trọng vì cho phép kiểm soát đồng thời nhiều 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 Unicast Multicast IPv6 dựa trên tiền tố giao thức định tuyến do RFC 3306 xác định.

Phương thức này cho phép 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 Nội dung mô tả
12 bit 0xFF3
4 bit 0x05

Phạm vi: cục bộ trên trang web

8 bit 0x00

được đặt trước

8 bit 0x40

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

8 bit 0xFD

Chỉ định tiền tố ULA

56 bit Mã nhận dạng Fabric
8 bit 0x00
16 bit Mã nhóm

Bạn có thể xem thêm thông tin trong phần Multicast của Tài liệu tham khảo về Thread và trên chính RFC.

Khi được tạo, Địa chỉ Multicast IPv6 cũng bao gồm 56 bit trên cùng của Mã nhận dạng Fabric. Điều quan trọng cần lưu ý 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 fabric có thể có một số địa chỉ Multicast xác định các Nhóm nút chồng chéo trong phạm vi của mỗi fabric.

Cổng

Matter sử dụng Cổng 5540 cho tính năng Truyền tin nhiều địa chỉ.