โปรโตคอล ARP ค้นหา MAC Address

ARP (Address Resolution Protocol) ทำหน้าที่หา Media Access Contron Address (MAC Address) ของเครื่องปลายทาง ตาม IP Address ที่เราบุ ซึ่ง MAC Address ก็คือ Address ของ LAN card ที่ถูกบรรจุ ROM มาให้จากโรงงาน เป็นตัวเลขจำนวน 6 ไบต์ เช่น 00-11-22-3A-44-5A และตัวเลขเหล่านี้ จะไม่ซ้ำกันเลยด้วยการควยคุมดูแลของสถาบัน IEEE

คุณคงสงสัยว่า ทำไมต้องหา MAC Address ใช่ใหม
เนื่องจากการสื่อสารระหว่างเครื่องคอมพิวเตอร์หรืออุปกรณ์ในระบบ Network นั้นจริงๆแล้วอาศัย MAC Address ในการอ้างถึงตำแหน่งที่อยู่ของอุปกรณ์หรือเครื่องต้นทางและเครื่องปลายทาง ดังนั้นก่อนจะส่งข้อมูลเครื่องต้นทางต้องแปลง IP Address ซึ่งเป็น Address ที่ใช้ใน Internet Layer (TCP/IP Model) ไปเป็น MAC Address ซึ่งเป็น Address ที่ใช้ใน Network Interface Layer แล้วจึงส่งข้อมูลไปยังเครื่องปลายทางต่อไป

ยกตัวอย่าง
ในการติดต่อระหว่างเครื่องคอมพิวเตอร์ 2 เครื่อง A และ B ซึ่งอยู่ในวงแลนเดียวกัน
โดย A มี IP Address เป็น 10.1.1.1
และ B มี IP Address เป็น 10.1.1.2
ขั้นตอนในการติดต่อ ระหว่าง เครื่อง A ไปหาเครื่อง B โดยการหา MAC Address ของ B
1. เครื่อง A ตรวจสอบใน ARP Cache ของเครื่อง A เอง ว่ามี MAC Address ของเครื่อง B อยู่หรือไม่ ซึ่ง ถ้ามีข้อมูล MAC Address ไว้อยู่แล้วก็เท่ากับว่า เครื่อง A รู้ตำแหน่งที่อยู่ หรือ MAC Address ของเครื่อง B แล้ว

ARP Cache เป็น แหล่งเก็บ MAC Address ในลักษณะตารางเปรียบเทียบค่า MAC Address และ IP Address ของเครื่องที่เคยติดต่อมาก่อน เช่น ถ้าเครื่อง A เคยติดต่อกะเครื่อง B มาก่อน ใน ARP Cache ของเครื่อง A ก็จะมี MAC Address ของเครื่อง B อยู่ และใน ARP Cache ของเครื่อง B จะมีข้อมูล MAC Address ของเครื่อง A อยู่เช่นกัน

2. ถ้าตรวจแล้วไม่พบว่ามี MAC Address ของเครื่อง B ใน ARP Cache แน่นอน A ก็จะส่งสัญญาณ ARP Boardcast กระจายไปยังทุกเครื่องใน Network เดียวกัน เพื่อ ค้นหา 10.1.1.2 ซึ่งเป็น MAC Address ของเครื่อง B คอมพิวเตอร์ทุกเครื่องจะรับและนำมาตรวจดูว่ามี IP Address ว่าตรงกับตนหรือไม่ ถ้าไม่ตรงกันเครื่องนั้นจะไม่สนใจและเงียบไป โดยไม่ตอบกลับไปยัง A

3. เมื่อ B ได้รับ MAC Boardcast และตรวจสอบดูแล้วพบว่า IP Address ตรงกับเครื่องตัวเอง ก็จะอับเดทข้องมูล MAC Address ของ A ไว้ในตาราง ของ ARP Cache ของ B ทันที ถ้าใน ARP Cache ของ B มีข้อมูลของ MAC Address ของ A อยู่ก่อนแล้ว ข้อมูล MAC Address ของ A ตัวเดิมจะถูกทับด้วยข้อมูลใหม่ทันที

4. B ส่งข้อมูล MAC Address ของตนไปใหนแก่ A
5. เมื่อเครื่อง A ได้รับข้อมูลมา ก็จะเก็บ MAC Address ของ B ไว้ใน ARP Cache ของ A เพื่อเอาไว้ติดต่อกันในคราวต่อๆไป

Note ARP Cache ช่วยลด traffic ของ Network ช่วยลดเวลาการทำงาน เนื่องจากช่วยให้เครื่องคอมพิวเตอร์แต่ละเครื่องไม่ต้องส่ง ARP Boardcast ทุกครั้ง เมื่อต่องการติดต่อกัน การทำงานของ ARP Cache อาจจะเป็นแบบ ststic หรือแบบ dynamic ถ้าเป็นแบบ dynamic ก็หมายความว่า ARP Cache จะจัดการเพิ่มและลบข้อมูลเองโดยอัตโนมัติ แต่ ถ้าเป็นแบบ ststic เราต้องเพิ่มหรือลบข้อมูล MAC Address เอง

เราสามารถใช้คำสั่งเพื่อดูรายการ MAC Address ที่เก็บอยู่ใน ARP Cache ได้โดยกรณีของระบบ Windows 2000 Server or Windowd Server 2003 ให้พิมคำสั่ง arp -a ที่ Command Prompt

ถ้าต้องการเพิ่มข้อมูลเข้าไปใน ARP Cache (แบบ ststic) ให้ป้อนคำสั่ง arp -s ตามด้วย IP Address and MAC Address ของเครื่องปลายทางเช่น arp -s 10.1.1.2 00-aa-00-62-a6-08 ถ้าต้องการดูคำสั่ง arp ให้พิมพ์ arp /?