Thread và IPv6

Matter sử dụng IPv6 cho hoạt động liên lạc và tận dụng cả địa chỉ IPv6 UnicastMulticast để truy cập các Nút và Nhóm của mình.

Công suất thấp

Một số Nút Matter được kết nối bằng dây 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 radio. 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. Kiến trúc proxy, cùng với Thread Thiết bị Sleepy End, cho phép các Node có đầy đủ năng lực cung cấp cả chức năng cấp độ mạng và cấp độ ứng dụng để bảo vệ các Node 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 chuyển tiếp vào Thread, chúng ta sẽ gây quá tải cho mạng và có khả năng gây ngập mạng. Mục tiêu của Thread là cho phép IPv6 hoạt động trong mạng lưới công suất thấp, độ trễ thấp, chứ không phải truyền dữ liệu băng thông cao. Trong khi 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, tổng băng thông của nó bị giới hạn ở mức 250 kbps tại IEEE 802.15.4 PHY. 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, nhỏ hơn Wi-Fi rất nhiều lần.

Các khung trên IEEE 802.15.4 PHY có kích thước 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 tin 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 Địa chỉ IPv6 trong Thread Primer trên openthread.io.

Bộ định tuyến biên giới

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 chia sẻ thông tin xác thực Matter cấp ứng dụng, nhưng chúng không chia sẻ cùng một công nghệ liên kết. Trong trường hợp này, mạng cần có Thread Bộ định tuyến biên (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à liên kết giữa Stub Network và Mạng cơ sở hạ tầng liền kề, tức là mạng Wi-Fi hoặc Ethernet cục bộ. Chúng chỉ chuyển tiếp các gói tin 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 lệnh đơ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 cấu hình tiền tố và tuyến đường IPv6 cho cả Mạng Thread và Mạng cơ sở hạ tầng liền kề để các máy chủ ở cả hai phía của bộ định tuyến biên giới 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 Border Router trên openthread.io.

Đa hướng IPv6

Tin nhắn Nhóm cũng quan trọng vì chúng 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 Lược đồ định địa chỉ IPv6 dựa trên tiền tố Multicast do RFC 3306 xác định.

Phương pháp 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ố IPv6 Unicast được chia sẻ 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ố
Bit Nội dung mô tả
12 bit 0xFF3
4 bit 0x05

Phạm vi: site-local

8 bit 0x00

kín đáo

8 bit 0x40

Chỉ ra 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ể tìm thêm thông tin trong phần Multicast của Thread Primer và trên chính RFC.

Khi Địa chỉ IPv6 Multicast được hình thành, chúng cũng bao gồm 56 bit trên cùng của Fabric ID. Ý nghĩa quan trọng là phạm vi của Multicast nằm trong Fabric, trong khi đị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 đặt trong phạm vi ở mỗi cấu trúc liên kết.

Cổng

Matter sử dụng Cổng 5540 cho Đa hướng của nó.