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