เทรดและ IPv6

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

พลังงานต่ำ

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

แง่มุมพื้นฐานของ 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) สูงสุด (MTU) ของแพ็กเก็ต IPv6 ใน Thread คือ 1280 ไบต์ ดังนั้น แพ็กเก็ต IPv6 จึงมักจะต้องแยกออกเป็นเฟรม PHY หลายเฟรม กระบวนการนี้กําหนดโดย RFC4944

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

บอร์เดอร์เราเตอร์

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

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

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

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

Border Router ยังมีหน้าที่ต่อไปนี้ด้วย

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

ดูข้อมูลเพิ่มเติมได้ในคำแนะนำเราเตอร์เส้นขอบ ใน openthread.io

IPv6 Multicast

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

เมธอดนี้ช่วยให้เลือกโหนดปลายทางของแพ็กเกต 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 เอง

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

พอร์ต

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