Hãy cùng tìm hiểu cách Thread xác định từng thiết bị trong mạng và loại địa chỉ mà họ sử dụng để liên lạc với nhau.
Kính ngắm

Có 3 phạm vi trong Mạng chuỗi để chỉ địa chỉ unicast:
- Link-Local — tất cả giao diện có thể truy cập qua một đường truyền vô tuyến duy nhất
- Mesh-Local — tất cả giao diện đều có thể truy cập được trong cùng một mạng Thread
- Toàn cầu — tất cả giao diện có thể truy cập từ bên ngoài Mạng chuỗi
Hai phạm vi đầu tiên tương ứng với các tiền tố được chỉ định bởi một mạng Thread.
Link-Local có tiền tố là fe80::/16
, còn Mesh-Local có tiền tố là
fd00::/8
.
Unicast
Có nhiều địa chỉ unicast IPv6 xác định một thiết bị Thread. Mỗi trường hợp có một hàm khác nhau dựa trên phạm vi và trường hợp sử dụng.
Trước khi đi sâu vào từng loại, hãy tìm hiểu thêm về một loại định dạng chung, được gọi là Bộ định vị (R họ). RURI xác định giao diện Luồng và dựa trên vị trí của giao diện đó trong cấu trúc liên kết mạng.
Cách tạo bộ định tuyến định tuyến
Tất cả các thiết bị đều được gán một mã định tuyến và mã nhận dạng con. Mỗi Bộ định tuyến duy trì một bảng gồm tất cả các nhà xuất bản con của họ. Tổ hợp này sẽ xác định duy nhất một thiết bị trong cấu trúc liên kết. Ví dụ: hãy xem xét các nút được đánh dấu trong cấu trúc liên kết sau, trong đó số trong Bộ định tuyến (ngũ giác) là Mã bộ định tuyến, và số trong Thiết bị cuối (hình tròn) là Mã con:

Mỗi Mã bộ định tuyến của con tương ứng với Cấp độ gốc (Bộ định tuyến) của chúng. Vì một Bộ định tuyến không phải là Cấp độ con nên Mã nhận dạng con của một Bộ định tuyến luôn là 0. Các giá trị này là duy nhất đối với mỗi thiết bị trong mạng Thread và được dùng để tạo RLAT16, đại diện cho 16 bit cuối cùng của RLAT.
Ví dụ: đây là cách tính X tính16 của nút trên bên trái (Mã bộ định tuyến = 1 và Mã con = 1):

RLAT16 là một phần của Giá trị nhận dạng giao diện (IID), tương ứng với 64 bit cuối cùng của địa chỉ IPv6. Một số IID có thể dùng để xác định một số loại giao diện Thread. Ví dụ: IID cho RLATs luôn có dạng sau:
0000:00ff:fe00:RLOC16
IID, kết hợp với Tiền tố mạng cục bộ, cho kết quả bằng RLAT. Ví dụ:
sử dụng Tiền tố cục bộ Mesh-Local của fde5:8dba:82e1:1::/64
, RLAT cho một nút có
RLAT16 = 0x401
là:

Bạn có thể dùng cùng một logic này để xác định RLAT cho tất cả các nút được đánh dấu trong cấu trúc liên kết mẫu ở trên:

Tuy nhiên, vì RLAT dựa trên vị trí của nút trong cấu trúc liên kết, thì RLAT của một nút có thể thay đổi khi cấu trúc liên kết thay đổi.
Ví dụ: có thể nút 0x400
bị xóa khỏi mạng Thread. Các nút
0x401
và 0x402
thiết lập các đường liên kết mới đến các Bộ định tuyến khác nhau. Do đó, các nút này được gán một RLAT16 và RLAT mới:

Loại địa chỉ Unicast
RLAT chỉ là một trong nhiều địa chỉ unicast IPv6 mà thiết bị Thread có thể có. Một danh mục địa chỉ khác có tên là Giá trị nhận dạng điểm cuối (EID), xác định một giao diện Thread duy nhất trong một phân vùng mạng Thread. EID không phụ thuộc vào cấu trúc liên kết mạng Thread.
Dưới đây là thông tin chi tiết về các loại unicast phổ biến.
Địa chỉ của đường liên kết tại địa phương (LLA) |
|
---|---|
Một EID xác định giao diện luồng mà một đường truyền vô tuyến có thể tiếp cận được. | |
Ví dụ | fe80::54db:881c:3845:57f4 |
Mã nhận dạng | Dựa trên 802.15.4 Địa chỉ mở rộng |
Phạm vi | Liên kết tại địa phương |
Chi tiết |
|
EID cục bộ Mesh (ML-EID) |
|
---|---|
EID xác định giao diện luồng, độc lập với cấu trúc liên kết mạng. Dùng để truy cập vào giao diện Thread trong cùng một phân vùng Thread. Còn được gọi là Địa chỉ duy nhất tại địa phương (ULA). | |
Ví dụ | fde5:8dba:82e1:1:416:993c:8399:35ab |
Mã nhận dạng | Ngẫu nhiên được chọn sau khi hoa hồng hoàn tất |
Phạm vi | Mạng lưới địa phương |
Chi tiết |
|
Bộ định tuyến (RLAT) |
|
---|---|
Xác định giao diện Thread, dựa trên vị trí của giao diện trong cấu trúc liên kết mạng. | |
Ví dụ | fde5:8dba:82e1:1::ff:fe00:1001 |
Mã nhận dạng | 0000:00ff:fe00:RLOC16 |
Phạm vi | Mạng lưới địa phương |
Chi tiết |
|
Bộ định vị Anycast (ALAT) |
|
---|---|
Xác định giao diện Chuỗi chỉ thông qua tra cứu RLAT khi không xác định RLAT của một đích đến. | |
Ví dụ | fde5:8dba:82e1:1::ff:fe00:fc01 |
Mã nhận dạng | 0000:00ff:fe00:fcXX |
Phạm vi | Mạng lưới địa phương |
Chi tiết |
|
Địa chỉ Unicast toàn cầu (GUA) |
|
---|---|
EID xác định giao diện Thread trên phạm vi toàn cầu, ngoài Mạng Thread. | |
Ví dụ | 2000::54db:881c:3845:57f4 |
Mã nhận dạng |
|
Phạm vi | Toàn cầu |
Chi tiết |
|
Phát đa hướng
Tính năng Đa hướng được dùng để truyền thông tin tới nhiều thiết bị cùng một lúc. Trong mạng lưới, các địa chỉ cụ thể được dành riêng để sử dụng đa hướng với các nhóm thiết bị khác nhau, tùy thuộc vào phạm vi.
Địa chỉ IPv6 | Phạm vi | Đã gửi tới |
---|---|---|
ff02::1 |
Liên kết tại địa phương | Tất cả FTD và MED |
ff02::2 |
Liên kết tại địa phương | Tất cả FTD |
ff03::1 |
Mạng lưới địa phương | Tất cả FTD và MED |
ff03::2 |
Mạng lưới địa phương | Tất cả FTD |
Bạn có thể nhận thấy rằng Thiết bị cuối ngủ (SED) không được đưa vào làm người nhận trong bảng đa hướng ở trên. Thay vào đó, Thread xác định địa chỉ đa hướng dựa trên đường liên kết cục bộ và đường địa phương unicast sử dụng cho Tất cả các nút, bao gồm cả SED. Các địa chỉ đa hướng này khác nhau theo mạng Thread, vì địa chỉ này được xây dựng trên tiền tố unicast Local-Local (xem RFC 3306 để biết thêm thông tin về địa chỉ đa hướng IPv6 dựa trên unicast).
Ngoài các phạm vi đã liệt kê, các phạm vi tùy ý cũng được hỗ trợ cho thiết bị Chuỗi.
Anycast
Anycast được dùng để định tuyến lưu lượng truy cập đến giao diện Thread khi R biết của đích đến
không xác định. Bộ định vị Anycast (ALAT) xác định vị trí của
nhiều giao diện trong một phân vùng Thread. 16 bit cuối cùng của ALAT,
được gọi là ALAT16, có định dạng 0xfcXX
, đại diện cho loại ALAT.
Ví dụ: một AURI16 giữa 0xfc01
và 0xfc0f
dành riêng cho các tác nhân có trong DHCPv6. Nếu không biết tác nhân DHCPv6 cụ thể của RLAT (có thể do cấu trúc liên kết mạng đã thay đổi), thì một thông báo có thể được gửi đến một tác nhân ALAT của DHCPv6 để
nhận được RLAT.
Chuỗi xác định các giá trị ALAT16 sau:
ALAT16 | Loại |
---|---|
0xfc00 |
Dẫn đầu |
0xfc01 – 0xfc0f |
Tác nhân DHCPv6 |
0xfc10 – 0xfc2f |
Dịch vụ |
0xfc30 – 0xfc37 |
Ủy viên |
0xfc40 – 0xfc4e |
Nhân viên hỗ trợ khám phá vùng lân cận |
0xfc38 đến 0xfc3f 0xfc4f – 0xfcff |
Đã đặt chỗ |
Tóm tắt
Những điều bạn đã tìm hiểu:
- Mạng Thread bao gồm ba phạm vi: Link-Local, Mesh-Local và Global
- Thiết bị luồng có nhiều địa chỉ IPv6 unicast
- RLAT thể hiện vị trí của thiết bị trong mạng Thread
- ML-EID là duy nhất đối với một thiết bị Thread trong một phân vùng và phải được các ứng dụng sử dụng
- Thread sử dụng tính năng phát đa hướng để chuyển tiếp dữ liệu tới các nhóm nút và bộ định tuyến
- Thread sử dụng anycast khi RLAT của một điểm đến không xác định
Để tìm hiểu thêm về cách xử lý IPv6 của Thread, hãy xem mục 5.2 và 5.3 của Quy cách luồng.
Kiểm tra mức độ hiểu biết của bạn
ff03::2
. Thông tin này cho chúng tôi biết gì về thiết bị?ff03::2
. Họ làm việc này trong phạm vi Mesh-Local.