มาดูกันว่า Thread ระบุอุปกรณ์แต่ละเครื่องในเครือข่ายและประเภทของที่อยู่ที่ใช้สื่อสารกันได้อย่างไร
กล้องติดปืน

มี 3 ขอบเขตในเครือข่ายชุดข้อความสําหรับการระบุ Unicast ดังนี้
- Link-Local อินเทอร์เฟซทั้งหมดที่เข้าถึงได้ด้วยการส่งวิทยุครั้งเดียว
- Mesh-Local - อินเทอร์เฟซทั้งหมดที่เข้าถึงภายในเครือข่ายชุดข้อความเดียวกันได้
- ส่วนกลาง - อินเทอร์เฟซทั้งหมดที่เข้าถึงได้จากภายนอกเครือข่ายชุดข้อความ
2 ขอบเขตแรกสอดคล้องกับคํานําหน้าที่กําหนดโดยเครือข่ายชุดข้อความ
Link-Local มีคํานําหน้า fe80::/16
ขณะที่ Mesh-Local มีคํานําหน้าเป็น fd00::/8
Unicast
มีที่อยู่ IP แบบ IPv6 หลายรายการที่ระบุอุปกรณ์ Thread เดียว รวมถึงมีฟังก์ชันที่แตกต่างกันไปตามขอบเขตและกรณีการใช้งาน
ก่อนที่เราจะลงรายละเอียดแต่ละประเภท มาเรียนรู้เพิ่มเติมเกี่ยวกับประเภททั่วไปที่เรียกว่า Routing Locator (RLOC) RLOC ระบุอินเทอร์เฟซชุดข้อความตามตําแหน่งที่ตั้งในโทโพโลยีเครือข่าย
วิธีสร้างเครื่องระบุตําแหน่ง
อุปกรณ์ทุกเครื่องจะได้รับรหัสเราเตอร์และรหัสย่อย เราเตอร์แต่ละตัวจะดูแลตารางของบุตรหลานทั้งหมด ซึ่งเป็นชุดค่าผสมของเครื่องระบุเฉพาะอุปกรณ์ภายในโทโพโลยี เช่น ลองพิจารณาโหนดที่ไฮไลต์ในโทโพโลยีต่อไปนี้ โดยหมายเลขในเราเตอร์ (ห้าเหลี่ยม) คือรหัสเราเตอร์ และหมายเลขในอุปกรณ์ปิดท้าย (วงกลม) คือรหัสย่อย

รหัสเราเตอร์ย่อยแต่ละรายการสอดคล้องกับรหัสระดับบนสุด (เราเตอร์) เนื่องจากเราเตอร์ไม่ใช่ Child รหัส Child ของเราเตอร์จึงเป็น 0 เสมอ ค่าเหล่านี้จะไม่ซ้ํากันสําหรับแต่ละอุปกรณ์ในเครือข่ายชุดข้อความ และจะใช้เพื่อสร้าง RLOC16 ซึ่งแสดงถึง 16 บิตสุดท้ายของ RLOC
ตัวอย่างเช่น นี่คือวิธีคํานวณ RLOC16 สําหรับโหนดด้านซ้ายบน (Router ID = 1 และ Child ID = 1)

RLOC16 เป็นส่วนหนึ่งของตัวระบุอินเทอร์เฟซ (IID) ซึ่งสอดคล้องกับที่อยู่ IPv6 64 บิตสุดท้ายของที่อยู่ IPv6 คุณใช้ IID บางรายการเพื่อระบุอินเทอร์เฟซชุดข้อความบางประเภทได้ เช่น IID สําหรับ RLOC จะอยู่ในรูปแบบนี้เสมอ
0000:00ff:fe00:RLOC16
โดย IID เมื่อใช้ร่วมกับคํานําหน้า Mesh-Local ซึ่งจะส่งผลให้ RLOC ตัวอย่างเช่น การใช้คํานําหน้า Mesh-Local ของ fde5:8dba:82e1:1::/64
, RLOC สําหรับโหนดที่ RLOC16 = 0x401
มีลักษณะดังนี้

ตรรกะเดียวกันนี้ใช้เพื่อกําหนด RLOC สําหรับโหนดที่ไฮไลต์ทั้งหมดในโทโพโลยีตัวอย่างด้านบนได้

อย่างไรก็ตาม เนื่องจาก RLOC จะอิงตามตําแหน่งของโหนดในโทโพโลยี RRC ของโหนดอาจเปลี่ยนแปลงได้เมื่อโทโพโลยีเปลี่ยนแปลง
ตัวอย่างเช่น โหนด 0x400
อาจถูกนําออกจากเครือข่ายชุดข้อความ โหนด 0x401
และ 0x402
จะสร้างลิงก์ใหม่ให้กับเราเตอร์ต่างๆ จึงทําให้แต่ละเซิร์ฟเวอร์ได้รับ RLOC16 และ RLOC ใหม่ดังนี้

ประเภทที่อยู่ Unicast
RLOC เป็นเพียงหนึ่งในที่อยู่ IP แบบ IPv6 ที่อุปกรณ์ชุดข้อความมีได้ มีหมวดหมู่อีเมลประเภทอื่นที่เรียกว่าตัวระบุปลายทาง (EID) ซึ่งระบุอินเทอร์เฟซชุดข้อความที่ไม่ซ้ํากันภายในพาร์ติชันเครือข่ายชุดข้อความ EID ไม่ขึ้นอยู่กับโทโพโลยีเครือข่ายเทรด
ประเภท Unicast ทั่วไปมีรายละเอียดที่ด้านล่าง
ที่อยู่ที่ลิงก์ในพื้นที่ (LLA) |
|
---|---|
EID ที่ระบุอินเทอร์เฟซเทรดที่เข้าถึงได้โดยการส่งทางวิทยุครั้งเดียว | |
ตัวอย่าง | fe80::54db:881c:3845:57f4 |
รหัส | จาก 802.15.4 Extended Address |
ขอบเขต | ลิงก์ในเครื่อง |
รายละเอียด |
|
Mesh-Local EID (ML-EID) |
|
---|---|
EID ที่ระบุอินเทอร์เฟซชุดข้อความ โดยไม่อิงตามโทโพโลยีเครือข่าย ใช้สําหรับเข้าถึงอินเทอร์เฟซชุดข้อความภายในพาร์ติชันชุดข้อความเดียวกัน เรียกอีกอย่างว่าที่อยู่เฉพาะในท้องถิ่น (ULA) | |
ตัวอย่าง | fde5:8dba:82e1:1:416:993c:8399:35ab |
รหัส | ระบบจะสุ่มเลือกหลังจากการดําเนินการเสร็จสมบูรณ์ |
ขอบเขต | ตาข่ายภายใน |
รายละเอียด |
|
เครื่องระบุตําแหน่งการกําหนดเส้นทาง (RLOC) |
|
---|---|
ระบุอินเทอร์เฟซชุดข้อความโดยดูจากตําแหน่งของโทโพโลยีเครือข่าย | |
ตัวอย่าง | fde5:8dba:82e1:1::ff:fe00:1001 |
รหัส | 0000:00ff:fe00:RLOC16 |
ขอบเขต | ตาข่ายภายใน |
รายละเอียด |
|
ตัวระบุตําแหน่ง Castcast (ALOC) |
|
---|---|
ระบุอินเทอร์เฟซชุดข้อความผ่านการค้นหา RLOC เมื่อไม่ทราบ RLOC ของปลายทาง | |
ตัวอย่าง | fde5:8dba:82e1:1::ff:fe00:fc01 |
รหัส | 0000:00ff:fe00:fcXX |
ขอบเขต | ตาข่ายภายใน |
รายละเอียด |
|
ที่อยู่ร่วม Unicast (GUA) |
|
---|---|
EID ที่ระบุอินเทอร์เฟซชุดข้อความบนขอบเขตส่วนกลาง นอกเหนือจากเครือข่ายชุดข้อความ | |
ตัวอย่าง | 2000::54db:881c:3845:57f4 |
รหัส |
|
ขอบเขต | ทั่วโลก |
รายละเอียด |
|
มัลติแคสต์
มัลติแคสต์ใช้เพื่อสื่อสารข้อมูลไปยังอุปกรณ์หลายเครื่องพร้อมกัน ในเครือข่ายชุดข้อความ ที่อยู่บางส่วนจะสงวนไว้สําหรับการใช้งานมัลติแคสต์กับกลุ่มอุปกรณ์ต่างๆ โดยขึ้นอยู่กับขอบเขต
ที่อยู่ IPv6 | ขอบเขต | ส่งถึง |
---|---|---|
ff02::1 |
ลิงก์ในเครื่อง | FTD และ MED ทั้งหมด |
ff02::2 |
ลิงก์ในเครื่อง | FTD ทั้งหมด |
ff03::1 |
ตาข่ายภายใน | FTD และ MED ทั้งหมด |
ff03::2 |
ตาข่ายภายใน | FTD ทั้งหมด |
คุณอาจสังเกตเห็นว่าอุปกรณ์แบบนอน (SED) ไม่รวมอยู่ด้วยในฐานะผู้รับในตารางมัลติแคสต์ด้านบน แต่ เทรด จะกําหนดที่อยู่มัลติแคสต์แบบ IPv6 ตามขอบเขต Local-Local และขอบเขตขอบเขตในเครื่องที่ใช้สําหรับโหนด Thread ทั้งหมด รวมถึง SED ที่อยู่แบบมัลติแคสต์เหล่านี้จะแตกต่างกันไปตามเครือข่ายชุดข้อความเนื่องจากสร้างขึ้นในคํานําหน้า unicast-Local (ดู RFC 3306 สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับมัลติแคสต์แบบ IPv6 ที่มีคํานําหน้าแบบ unicast )
นอกจากนี้ ยังรองรับขอบเขตที่กําหนดเองนอกเหนือจากที่ระบุอยู่แล้วในอุปกรณ์ของชุดข้อความ
Anycast
ใช้ Castcast เพื่อกําหนดเส้นทางการรับส่งข้อมูลไปยังอินเทอร์เฟซเทรดเมื่อไม่ทราบ RLOC ของปลายทาง Anycast Locator (ALOC) จะระบุตําแหน่งของอินเทอร์เฟซหลายรายการภายในพาร์ติชันชุดข้อความ ALOC 16 บิตสุดท้ายที่เรียกว่า ALOC16 จะอยู่ในรูปแบบ 0xfcXX
ซึ่งแสดงถึงประเภทของ ALOC
เช่น ALOC16 ระหว่าง 0xfc01
ถึง 0xfc0f
สงวนไว้สําหรับ DHCPv6
Agent หากไม่ทราบ RLOC ของ Agent DHCPv6 ที่เจาะจง (อาจเป็นเพราะมีการเปลี่ยนแปลงโทโพโลยีเครือข่าย) ข้อความอาจถูกส่งไปยัง ALOC ของ DHCPv6 Agent เพื่อรับ RLOC
ชุดข้อความจะกําหนดค่า ALOC16 ต่อไปนี้
แอลกอฮอล์ 16 | ประเภท |
---|---|
0xfc00 |
หัวหน้าพรรค |
0xfc01 – 0xfc0f |
Agent DHCPv6 |
0xfc10 – 0xfc2f |
บริการ |
0xfc30 – 0xfc37 |
ประธานสมาคม |
0xfc40 – 0xfc4e |
Agent การค้นพบ Neighbor |
0xfc38 - 0xfc3f 0xfc4f – 0xfcff |
สงวนไว้ |
สรุปการแข่งขัน
สิ่งที่ได้เรียนรู้มีดังนี้
- เครือข่ายชุดข้อความประกอบด้วย 3 ขอบเขต ได้แก่ Link-Local, Mesh-Local และ Global
- อุปกรณ์ชุดข้อความมีที่อยู่ IPv6 ที่ไม่ซ้ํากันหลายรายการ
- RLOC แสดงตําแหน่งของอุปกรณ์ในเครือข่ายชุดข้อความ
- ML-EID มีไว้สําหรับอุปกรณ์เทรดภายในพาร์ติชันและแอปพลิเคชันควรใช้
- ชุดข้อความใช้มัลติแคสต์เพื่อส่งต่อข้อมูลไปยังกลุ่มของโหนดและเราเตอร์
- เธรดจะใช้การแคสต์เมื่อไม่ทราบ RLOC ของปลายทาง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการระบุที่อยู่ IPv6 ของชุดข้อความได้ที่ส่วนที่ 5.2 และ 5.3 ของข้อกําหนดของชุดข้อความ
ตรวจสอบความเข้าใจ
ff03::2
ข้อมูลนี้บอกอะไรเกี่ยวกับอุปกรณ์บ้างff03::2
ซึ่งดําเนินการในขอบเขต Mesh-Local