Hãy xem cách Thread xác định từng thiết bị trong mạng và loại địa chỉ mà họ sử dụng để giao tiếp với nhau.
Kính ngắm

Có 3 phạm vi trong một luồng luồng để xử lý các địa chỉ unicast:
- Link-Local — tất cả giao diện đều có thể truy cập được bằng một lần 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 Luồng
- Toàn cầu – tất cả giao diện có thể truy cập được 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 luồng.
Link-Local có tiền tố là fe80::/16
, trong khi Mesh-Local có tiền tố là
fd00::/8
.
Unicast
Có nhiều địa chỉ IPv6 unicast xác định một thiết bị luồng. Mỗi hàm 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 tìm hiểu chi tiết về từng loại, hãy tìm hiểu thêm về một loại định dạng có tên là Định vị định tuyến (RLAT). RLAT xác định giao diện Luồng, 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
Tất cả các thiết bị đều được gán mã nhận dạng bộ định tuyến và mã nhận dạng trẻ em. Mỗi Bộ định tuyến duy trì một bảng gồm tất cả các phần tử con, tổ hợp của chúng 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 làm nổi bật 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 (vòng tròn) là Mã con:

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

R đích16 là một phần của Mã 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ể được dùng để xác định một số loại giao diện Luồng. Ví dụ: IID cho RPATH luôn có dạng sau:
0000:00ff:fe00:RLOC16
IID, kết hợp với Tiền tố cục bộ lưới, dẫn đến RLAT. Ví dụ:
sử dụng Tiền tố lưới cục bộ của fde5:8dba:82e1:1::/64
, RLAT cho một nút mà
RLAT16 = 0x401
là:

Bạn có thể sử dụng cùng logic này để xác định RPATH cho tất cả các nút được làm nổi bật 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, nên 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ị xoá khỏi mạng Luồng. 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 đó, mỗi nút được gán một bộ dữ liệu RPATH16 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ị luồng có thể có. Một danh mục địa chỉ khác được gọi là Giá trị nhận dạng điểm cuối (EID), giúp xác định giao diện Luồng duy nhất trong phân vùng Mạng chuỗi. EID độc lập với 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ỉ đường liên kết tại địa phương (LLA) |
|
---|---|
EID xác định giao diện luồng có thể truy cập được qua một lần truyền vô tuyến duy nhất. | |
Ví dụ | fe80::54db:881c:3845:57f4 |
IID | Dựa trên địa chỉ mở rộng 802.15.4 |
Phạm vi | Liên kết địa phương |
Chi tiết |
|
EID cục bộ lưới (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 giao diện Luồng trong cùng một phân vùng Luồng. Còn được gọi là Địa chỉ địa phương duy nhất (ULA). | |
Ví dụ | fde5:8dba:82e1:1:416:993c:8399:35ab |
IID | Ngẫu nhiên, được chọn sau khi trả phí hoa hồng |
Phạm vi | Mạng lưới địa phương |
Chi tiết |
|
Bộ định tuyến (RLAT) |
|
---|---|
Xác định giao diện luồng, 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 |
IID | 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 luồng thông qua tính năng tra cứu RPATH, khi không biết R ghi của đích đến. | |
Ví dụ | fde5:8dba:82e1:1::ff:fe00:fc01 |
IID | 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 luồng trên phạm vi toàn cầu, ngoài mạng luồng. | |
Ví dụ | 2000::54db:881c:3845:57f4 |
IID |
|
Phạm vi | Toàn cầu |
Chi tiết |
|
Phát đa hướng
Phát đa hướng dùng để truyền thông tin đến nhiều thiết bị cùng một lúc. Trong một Mạng luồng, các địa chỉ cụ thể được dành riêng để sử dụng nhiều hướng với nhiều nhóm thiết bị, tuỳ thuộc vào phạm vi.
Địa chỉ IPv6 | Phạm vi | Đã gửi tới |
---|---|---|
ff02::1 |
Liên kết địa phương | Tất cả các FTD và MED |
ff02::2 |
Liên kết địa phương | Tất cả các FTD |
ff03::1 |
Mạng lưới địa phương | Tất cả các FTD và MED |
ff03::2 |
Mạng lưới địa phương | Tất cả các FTD |
Bạn có thể nhận thấy rằng Thiết bị kết thúc ngủ (SED) không được tính là người nhận trong bảng phát đa hướng ở trên. Thay vào đó, Thread xác định địa chỉ đa luồng dựa trên tiền tố IPv6 dựa trên đường liên kết cục bộ và cục bộ unicast dùng cho Tất cả các nút của chuỗi, bao gồm cả SED. Các địa chỉ phát đa hướng này thay đổi tuỳ theo mạng Luồng, vì địa chỉ này được xây dựng dựa trên tiền tố Maven-Local (xem RFC 3306 để biết thêm thông tin chi tiết về các địa chỉ IPv6 dựa trên IPv6 dựa trên unicast).
Các phạm vi tuỳ ý nằm ngoài các phạm vi tuỳ ý cũng được hỗ trợ cho các Thiết bị luồng.
Anycast
Anycast được dùng để định tuyến lưu lượng truy cập đến giao diện Luồng khi RLAT 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 Luồng. 16 bit cuối cùng của APATH,
được gọi là ALAT16, có định dạng 0xfcXX
, đại diện cho loại A ABI.
Ví dụ: A A11 giữa 0xfc01
và 0xfc0f
dành riêng cho các Nhân viên hỗ trợ DHCPv6. Nếu không xác định được tác nhân DHCPv6 của tác nhân DHCPv6 (có thể do cấu trúc liên kết mạng đã thay đổi), thông báo có thể được gửi tới tác nhân Avv6 A ABI để lấy RLAT.
Luồng xác định các giá trị ALAT16 sau:
ALU16 | 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 |
Tác nhân khám phá lân cận |
0xfc38 đến 0xfc3f 0xfc4f – 0xfcff |
Đã đặt chỗ |
Recap
Kiến thức bạn học được:
- Một mạng luồng 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
- R nỗ thể hiện vị trí của thiết bị trong mạng luồng
- ML-EID là mã duy nhất dành cho một thiết bị luồng trong một phân vùng và các ứng dụng nên dùng
- Luồng sử dụng đa hướng để chuyển tiếp dữ liệu đến các nhóm nút và bộ định tuyến
- Luồng sử dụng anycast khi không xác định được RPATH của một đích đến
Để tìm hiểu thêm về cách xử lý IPv6 của Luồng, hãy xem mục 5.2 và 5.3 của Thông số kỹ thuật luồng.
Kiểm tra mức độ hiểu biết của bạn
ff03::2
. Điều này cho chúng tôi biết điều gì về thiết bị?ff03::2
. Họ làm như vậy trong phạm vi Mesh-Local.