Thread và IPv6

Matter sử dụng IPv6 cho hoạt động giao tiếp và tận dụng cả địa chỉ IPv6 Unicast và Multicast để 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 có dây và có ngân sách năng lượng cho phép chúng luôn bật sóng vô tuyến. 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, vận hành bộ thu phát sóng vô tuyến trên các mạng có công suất thấp như Thread. Kiến 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, cũng như trên mạng 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 kết nối với Thread, chúng ta sẽ làm quá tải mạng và có khả năng làm tràn mạng. Mục tiêu của Thread là bật IPv6 trong mạng lưới có độ trễ thấp, công suất thấp, chứ không phải truyền dữ liệu băng thông cao. Mặc dù Thread ping ICMPv6 trong mạng cục bộ thường dưới vài chục mili giây RTT, nhưng tổng băng thông của mạng này 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à 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, mức độ thấp hơn nhiều so với Wi-Fi.

Khung 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à thông thường) của 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 Thread Sách hướng dẫn cơ bản 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 khi ở cùng một cấu trúc? Mặc dù cả hai mạng đều dùng chung thông tin xác thực cấp ứng dụng Matter, 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 (TBR) để 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 mạng Stub và mạng thông thường. Mạng Stub là một mạng "dặm cuối" 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 chuyển tiếp giữa các mạng khác. Thông thường, Mạng Stub Matter 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 nhánh.

Do đó, BR có trách nhiệm làm cầu nối giữa Mạng sơ khai và Mạng cơ sở hạ tầng liền kề, tức là mạng Wi-Fi hoặc Ethernet cục bộ. Các bộ định tuyến này chỉ chuyển tiếp những 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 đơ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 IPv6 cho cả Thread và Mạng cơ sở hạ tầng liền kề để các máy chủ ở hai bên TBR có thể giao tiếp.
  • xuất bản các gói khám phá mDNS DNS-SD thay mặt 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 liền kề.

Để tìm hiểu thêm, hãy tham khảo hướng dẫn về OpenThread Border Router (OTBR).

IPv6 Multicast

Thông báo Nhóm cũng rất quan trọng vì chúng cho phép điều khiển đồ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ả Matter và Thread đều triển khai UnicastLượ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 một gói Multicast dựa trên tiền tố IPv6 Unicast dùng chung của các nút đó.

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ố
Bits Nội dung mô tả
12 bit 0xFF3
4 bit 0x05

Phạm vi: cục bộ trang web

8 bit 0x00

đã đặ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ã 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 Mã mạng lưới. Ý nghĩa quan trọng 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 cấu trúc 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 của từng cấu trúc.

Cổng

Matter sử dụng Cổng 5540 cho tính năng Multicast.