เทรดและ IPv6

Matter ใช้ IPv6 สำหรับการสื่อสารในการทำงาน และ ใช้ประโยชน์จากทั้ง Unicast และ Multicast การกำหนดที่อยู่ของ IPv6 เพื่อเข้าถึงโหนดและกลุ่มตามลำดับ

พลังงานต่ำ

โหนด Matter บางประเภทเป็นแบบใช้สายและมีงบประมาณด้านพลังงานที่ ช่วยให้วิทยุของโหนดทำงานได้อย่างต่อเนื่อง โหนดประเภทอื่นๆ เช่น เซ็นเซอร์มีข้อกำหนดให้ทำงานได้เป็นเวลาหลายปีด้วยแบตเตอรี่ โดยวิทยุของโหนดจะทำงาน บนเครือข่ายพลังงานต่ำ เช่น Thread สถาปัตยกรรมพร็อกซี พร้อมกับ Threadอุปกรณ์ปลายทางที่หลับใหล, ช่วยให้โหนดที่ใช้พลังงานเต็มรูปแบบมีฟังก์ชันการทำงานทั้งระดับเครือข่ายและระดับแอปพลิเคชัน ซึ่งจะช่วยป้องกันโหนดย่อยจากการทำธุรกรรมที่ใช้พลังงานมาก

ลักษณะสำคัญของ Matter คือการทำงานได้ทั้งบน สื่อเครือข่ายที่มีปริมาณงานสูง เช่น Wi-Fi และอีเทอร์เน็ต แต่ยังทำงานได้บน สื่อที่มีความหน่วงต่ำและแบนด์วิดท์ต่ำ เช่น Thread หากเราบริดจ์แพ็กเก็ต Multicastทั้งหมดจาก Wi-Fi ไปยัง Threadเราจะทำให้เครือข่ายทำงานหนักเกินไปและอาจทำให้ เครือข่ายล่มได้ เป้าหมายของ Thread คือการเปิดใช้ IPv6 ในเครือข่ายเมชที่มีพลังงานต่ำ ความหน่วงต่ำ ไม่ใช่การโอนข้อมูลที่มีแบนด์วิดท์สูง แม้ว่าการ Ping ICMPv6 ของ Thread ในเครือข่ายท้องถิ่นมักจะใช้เวลา RTT ไม่กี่สิบมิลลิวินาที แต่แบนด์วิดท์ทั้งหมดจะจำกัดไว้ที่ 250 kbps ที่ IEEE 802.15.4 PHY เมื่อมีการส่งแพ็กเก็ตซ้ำและค่าใช้จ่ายเพิ่มเติม แบนด์วิดท์สูงสุดโดยทั่วไปจะอยู่ที่ประมาณ 125 kbps กล่าวคือ น้อยกว่า Wi-Fi หลายเท่า

เฟรมบน IEEE 802.15.4 PHY มีขนาด 127 ไบต์ แต่หน่วยส่งข้อมูลสูงสุด (MTU) ที่ใหญ่ที่สุด (และโดยทั่วไป) ของแพ็กเก็ต IPv6 ใน Thread คือ 1280 ไบต์ ดังนั้นแพ็กเก็ต IPv6 จึงมักจะต้องแยกออกเป็นเฟรม PHY หลายเฟรม กระบวนการนี้กำหนดโดย RFC4944

ดูข้อมูลเพิ่มเติมได้ที่ การกำหนดที่อยู่ IPv6 ใน Thread Primer ที่ openthread.io

Border Router

โหนดจะอยู่ร่วมกันบนสื่อการรับส่งข้อมูลทั้ง 2 ประเภทใน Fabric เดียวกันได้อย่างไร แม้ว่าเครือข่ายทั้ง 2 จะใช้Matter ข้อมูลเข้าสู่ระบบ Matter ระดับแอปพลิเคชันร่วมกัน แต่เครือข่ายทั้ง 2 ก็ไม่ได้ใช้เทคโนโลยีลิงก์เดียวกัน ในสถานการณ์นี้ เครือข่ายต้องมี Thread Border Router (TBR) เพื่อเปิดใช้การเชื่อมต่อ BR เป็นเราเตอร์ IPv6 แบบ Stub

Stub Router ช่วยให้การเชื่อมต่อระหว่างเครือข่ายแบบ Stub กับเครือข่ายปกติเป็นไปได้ เครือข่ายแบบ Stub เป็นเครือข่าย "ไมล์สุดท้าย" ที่ให้การเชื่อมต่อภายนอกแก่สมาชิก แต่ไม่ได้ทำหน้าที่เป็นเส้นทางเครือข่ายการรับส่งข้อมูลระหว่างเครือข่ายอื่นๆ โดยปกติแล้วเครือข่ายแบบ Stub ของ Matter จะใช้ Thread-based ดูข้อมูลเพิ่มเติมเกี่ยวกับเครือข่ายแบบ Stub ได้ในฉบับร่าง RFC

ดังนั้น BR จึงมีหน้าที่เป็นลิงก์ระหว่างเครือข่ายแบบ Stub กับ เครือข่ายโครงสร้างพื้นฐานที่อยู่ติดกัน ซึ่งเป็นเครือข่าย Wi-Fi หรือ อีเทอร์เน็ตในพื้นที่ โดยจะส่งต่อเฉพาะแพ็กเก็ตที่เกี่ยวข้องกับ Thread เครือข่าย

กระบวนการนี้ทำได้โดยการกำหนดคำนำหน้า IPv6 ที่แตกต่างกันให้กับ Thread และเครือข่ายโครงสร้างพื้นฐานที่อยู่ติดกัน ดังนั้น BR จะส่งต่อเฉพาะ Unicast ไปยังหรือจากคำนำหน้า IPv6 ของ Thread

นอกจากนี้ Border Router ยังมีหน้าที่ดังนี้

  • กำหนดค่าคำนำหน้าและเส้นทาง IPv6 โดยอัตโนมัติสำหรับทั้ง Thread และเครือข่ายโครงสร้างพื้นฐานที่อยู่ติดกัน เพื่อให้ โฮสต์ใน TBR ทั้ง 2 ด้านสามารถ สื่อสารกันได้
  • เผยแพร่แพ็กเก็ตการค้นพบ mDNS DNS-SD ในนามของ Thread โหนด เพื่อให้ค้นพบได้ในเครือข่ายโครงสร้างพื้นฐานที่อยู่ติดกัน

ดูข้อมูลเพิ่มเติมได้ในคู่มือ OpenThread Border Router (OTBR)

IPv6 Multicast

ข้อความกลุ่ม มีความสำคัญเช่นกัน เนื่องจากช่วยให้ควบคุม โหนด Matter หลายโหนดพร้อมกันผ่าน Multicast ได้ ทั้ง Matter และ Thread ใช้ Unicast ตามคำนำหน้า Unicast IPv6 Multicast ที่กำหนดโดย RFC 3306 เพื่อกำหนดเส้นทางการรับส่งข้อมูลนี้ไปยังเครือข่าย Thread

วิธีนี้ช่วยให้เลือกโหนดปลายทางของแพ็กเก็ต Multicast ได้โดยอิงตามคำนำหน้า IPv6 Unicast ที่แชร์

ตัวอย่างเช่น ที่อยู่ Matter Multicast อาจมีลักษณะดังนี้

FF35:0040:FD<Fabric ID>00:<Group ID>

ตารางที่ 1 แสดงรายละเอียดวิธีสร้างที่อยู่นี้

ตารางที่ 1: Unicast ที่อยู่ IPv6 ตามคำนำหน้า
บิต คำอธิบาย
12 บิต 0xFF3
4 บิต 0x05

ขอบเขต: ระดับไซต์

8 บิต 0x00

สงวนไว้

8 บิต 0x40

ระบุคำนำหน้ายาว 64 บิต

8 บิต 0xFD

กำหนดคำนำหน้า ULA

56 บิต รหัส Fabric
8 บิต 0x00
16 บิต รหัสกลุ่ม

ดูข้อมูลเพิ่มเติมได้ใน Multicast ส่วนของ Thread Primer และใน RFC เอง

เมื่อสร้างที่อยู่ Multicast IPv6 ที่อยู่ดังกล่าวจะรวมบิต 56 บิตบนของรหัส Fabric ด้วย นัยสำคัญคือขอบเขตของ Multicast อยู่ภายใน Fabric ในขณะที่ Unicast ที่อยู่จะแชร์ระหว่าง Fabric โหนดที่มี Fabric หลายรายการอาจมี ที่อยู่ Multicast หลายรายการที่กำหนดกลุ่มโหนดที่ทับซ้อนกันซึ่งกำหนดขอบเขตไว้ที่ Fabric แต่ละรายการ

พอร์ต

Matter ใช้พอร์ต 5540 สำหรับ Multicast