Thread và IPv6

Matter sử dụng IPv6 cho các 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.

Công suất thấp

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 duy trì hoạt động liên tục của đài. Các loại Nút khác, chẳng hạn như cảm biến, có yêu cầu chạy trong nhiều năm bằng pin, vận hành các đài phát của chúng trên các mạng có mức tiêu thụ điện năng thấp như Thread. Cấu trúc proxy, cùng với Thread Thiết bị đầu cuối ở chế độ ngủ, 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 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à nó hoạt động trên cả các phương tiện mạng có thông lượng cao như Wi-Fi và Ethernet, nhưng cũng hoạt động 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ả các gói Multicast từ Wi-Fi được bắc cầu vào Thread, chúng ta sẽ làm quá tải 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 dạng lưới có công suất thấp và độ trễ thấp, chứ không phải truyền dữ liệu có băng thông cao. Mặc dù các lệnh 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 nó bị giới hạn ở 250 kbps tại PHY IEEE 802.15.4. Với việc truyền lại gói và chi phí chung, băng thông tối đa thông thường là khoảng 125 kbps. Nói cách khác, ít 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à đ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 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 bài viết Địa chỉ IPv6 trong ThreadPrimer 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 cấu trúc? Mặc dù cả hai mạng đều dùng chung thông tin đăng nhập 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ó Thread Border Router (BR) để bật kết nối. BR là Bộ định tuyến IPv6 Stub.

Bộ định tuyến Stub cho phép kết nối giữa các mạng stub và mạng thông thường. Mạng Stub là một mạng "chặng cuối" cung cấp kết nối bên ngoài cho các thành viên của mạng, 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 Matter Stub dựa trên Thread. Hãy tham khảo bản nháp RFC để biết thêm thông tin về mạng gốc.

Do đó, BR có trách nhiệm là mối liên kết giữa Mạng Stub và Mạng cơ sở hạ tầng lân cận, là mạng Wi-Fi hoặc Ethernet cục bộ. Chúng chỉ chuyển tiếp những 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 các tiền tố IPv6 khác nhau cho Thread và Mạng cơ sở hạ tầng lân cận. Do đó, BR chỉ chuyển tiếp các gói đơn hướng đến hoặc từ tiền tố IPv6 Thread.

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

  • tự động định cấu hình tiền tố và tuyến đường IPv6 cho cả Thread và Mạng cơ sở hạ tầng lân cận để các máy chủ ở cả hai phía của bộ định tuyến biên Thread có thể giao tiếp.
  • xuất bản các gói khám phá DNS-SD mDNS thay cho các Nút Thread để có thể khám phá các nút này trên mạng cơ sở hạ tầng lân cận.

Để 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.

IPv6 Multicast

Nhóm các thông báo cũng rất quan trọng vì chúng cho phép kiểm soát đồng thời một số Matter Nút 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 Lược đồ địa chỉ IPv6 dựa trên tiền tố Multicast 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 của chúng.

Ví dụ: địa chỉ Matter Multicast có thể trô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ố
Bits Nội dung mô tả
12 bit 0xFF3
4 bit 0x05

Phạm vi: site-local

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 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 được tạo, địa chỉ IPv6 Multicast cũng bao gồm 56 bit trên của Fabric ID. Hàm ý quan trọng là phạm vi của Multicast nằm trong một Fabric, trong khi các địa chỉ Unicast được chia sẻ giữa các Fabric. Các nút có nhiều cấu trúc liên kết có thể có một số địa chỉ Multicast xác định các Nhóm nút chồng chéo có phạm vi ở mỗi cấu trúc liên kết.

Cổng

Matter sử dụng Cổng 5540 cho các truyền phát đa hướng.