ฉันใช้ Linux และฉันต้องการ ping fe80::1234:56ff:fe12:3456%eth0
ซึ่งเชื่อมต่อกับสวิตช์อีเทอร์เน็ตเดียวกันกับของฉัน eth0
อินเตอร์เฟซ. ฉันยังไม่ได้ติดต่อกับ fe80::1234:56ff:fe12:3456
ดังนั้นฉันจึงไม่มีที่อยู่ MAC แคชไว้ (ไม่ได้อยู่ใน รายการไอพีใกล้เคียง
). เมื่อฉันวิ่ง
ping fe80::1234:56ff:fe12:3456%eth0
ฉันส่ง
- แพ็กเก็ตการชักชวนเพื่อนบ้าน ICMP ภายใน
- ดาต้าแกรม IPv6 พร้อมที่อยู่ปลายทางแบบหลายผู้รับ
ff02::1:ff12:3456
ข้างใน
- เฟรมอีเธอร์เน็ตพร้อมที่อยู่ปลายทางแบบหลายผู้รับ
33:33:ff:12:34:56
.
ฉันเข้าใจ ff02::1:ff12:3456
ถูกสร้างขึ้นจากที่อยู่ MAC 24 บิตที่ต่ำกว่าและโหนดที่ใช้บิตเดียวกันทั้งหมดจะรับฟังที่อยู่แบบหลายผู้รับนี้ แต่ทำไมถึงระบุแบบนี้? ทำไมไม่เพียงแค่ส่งแพ็กเก็ต ICMP ไปยังที่อยู่ IPv6 ปลายทางโดยตรงโดยปล่อยให้ที่อยู่ MAC แบบหลายผู้รับดูแลการแจกจ่ายไปยังผู้สมัครที่เป็นไปได้ แบบนี้:
- แพ็กเก็ตการชักชวนเพื่อนบ้าน ICMP ภายใน
- IPv6 datagram พร้อมที่อยู่ปลายทางแบบ unicast
fe80::1234:56ff:fe12:3456
ข้างใน
- เฟรมอีเธอร์เน็ตพร้อมที่อยู่ปลายทางแบบหลายผู้รับ
33:33:ff:12:34:56
.