ความหมายของ IP Address, IPConfig และการใช้งานคำสั่ง Ping

หมายเลข IP Address คือ?

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

IP Address จะประกอบไปด้วยตัวเลขจำนวน 4 ชุด ระหว่างตัวเลขแต่ละชุดจะถูกคั่นด้วยจุด “.” เช่น 192.168.0.1 โดยคอมพิวเตอร์จะแปลงค่าตัวเลขทั้ง 4 ชุดให้กลายเป็นเลขฐาน 2 ก่อนจะนำค่าที่แปลงได้ไปเก็บลงเครื่องทุกครั้ง และนอกจากนี้หมายเลข IP Address ยังแบ่งออกเป็น 2 ส่วนดังนี้

1.ส่วนที่ใช้เป็นหมายเลขเครือข่าย (Network Address)

2.ส่วนที่ใช้เป็นหมายเลขเครื่อง (Host Address)

ซึ่งหมายเลขทั้ง 2 ส่วนนี้สามารถแบ่งออกตามลักษณะการใช้งานได้ 5 Class ด้วยกันได้แก่ Class A, B, C, D และ E สำหรับ Class D และ E ทางหน่วยงาน InterNIC (Internet Network Information Center: หน่วยงานที่ได้รับการจัดตั้งจากรัฐบาลสหรัฐ ซึ่งทำหน้าที่เกี่ยวกับการออกมาตรฐานและจัดสรรหมายเลข IP Address ให้กับคอมพิวเตอร์ในเครือข่ายทั่วโลก) ได้มีการประกาศห้ามใช้งาน

Class A หมายเลข IP Address จะอยู่ในช่วง 0.0.0.0 ถึง 127.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดใหญ่ที่มีคอมพิวเตอร์เชื่อมต่อภายในเครือข่ายจำนวนมากๆ

Class B หมายเลข IP Address จะอยู่ในช่วง 128.0.0.0 ถึง 191.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดกลาง ซึ่งสามารถเชื่อมต่อคอมพิวเตอร์ในเครือข่ายได้มากถึง 65,534 เครื่อง

Class C หมายเลข IP Address จะอยู่ในช่วง 192.0.0.0 ถึง 223.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดเล็กและใช้กับคอมพิวเตอร์ส่วนใหญ่ในเครือข่ายอินเตอร์เน็ตสามารถต่อเชื่อมกับคอมพิวเตอร์ในเครือข่ายได้ 254 เครื่อง

Class D หมายเลข IP Address จะอยู่ในช่วง 224.0.0.0 ถึง 239.255.255.255 สำหรับหมายเลข IP Address ของ Class นี้มีไว้เพื่อใช้ในเครือข่ายแบบ Multicast เท่านั้น

Class E หมายเลข IP Address จะอยู่ในช่วง 240.0.0.0 ถึง 254.255.255.255 สำหรับหมายเลข IP Address ของ Class นี้จะเก็บสำรองไว้ใช้ในอนาคต ปัจจุบันจึงยังไม่ได้มีการนำมาใช้งาน

Public IP และ Private IP แตกต่างกัน?

บนเครือข่ายอินเตอร์เน็ตเราจะได้รับการจัดสรร IP Address จากผู้ให้บริการอินเตอร์เน็ต (ISP: Internet Service Providers) ที่ใช้อยู่ ซึ่งเป็น IP Address ของจริงหรือที่เรียกว่า “Public IP” แต่สำหรับการต่อเครือข่ายเพื่อใช้งานภายในบ้านหรือออฟฟิศต่างๆ เราจะใช้ IP Address ของปลอม หรือที่เรียกว่า “Private IP” ซึ่ง Class ที่นิยมใช้กันก็คือ Class C ที่อยู่ในช่วง 192.168.0.0 ถึง 192.168.255.0 โดยผู้ใช้หรือผู้ดูแลระบบจะสามารถเป็นผู้กำหนดหมายเลข IP Address แบบ Private IP ด้วยตนเองได้



IPConfig คำสั่งสำหรับเรียกดูหมายเลข IP Address ภายในเครื่อง

คำสั่ง IPConfig เป็นคำสั่งที่ใช้สำหรับเรียกดูหมายเลข IP Address ของเครื่องที่ท่านใช้งานอยู่ ซึ่งถ้าหากท่านไม่ทราบว่าหมายเลข IP Address ของเครื่องที่ท่านใช้งานอยู่นั้นเป็นหมายเลขอะไรหรือมีรายละเอียดอะไรที่เกี่ยวข้องกับหมายเลข IP Address บ้าง ก็สามารถใช้คำสั่งนี้เรียกดูผ่านหน้าต่าง Command Prompt ได้เลยครับ โดยเข้าไปที่

1.คลิกปุ่ม Start > Run > พิมพ์ cmd วรรค /k วรรค ipconfig



จะได้ผลลัพธ์ออกมาดังรูป
2.ถ้าหากต้องการดูหมายเลข IP Address ซึ่งบอกรายละเอียดทั้งหมดก็สามารถดูได้โดยคลิกปุ่ม Start > Run > พิมพ์ cmd วรรค /k วรรค ipconfig วรรค /all
จะได้ผลลัพธ์ออกมาดังรูป

และนอกจากนี้ยังมีตัวเลือกเพิ่มเติมที่นิยมใช้ร่วมกับคำสั่ง IPConfig ได้แก่

ipconfig [/? | /all | /renew [adapter] | /release [adapter] | /flushdns | /displaydns | /registerdns | /showclassid adapter | /setclassid adapter [classid] ]

Options:
/? แสดง help ของคำสั่งนี้
/all แสดงรายละเอียดทั้งหมด
/release ยกเลิกหมายเลข IP ปัจจุบัน
/renew ขอหมายเลข IP ใหม่ ในกรณีที่เน็ตเวิร์คมีปัญหา เราอาจจะลองตรวจสอบได้โดยการใช้คำสั่งนี้ ซึ่งหากคำสั่งนี้ทำงานได้สำเร็จ แสดงว่าปัญหาไม่ได้มาจากระบบเครือข่าย แต่อาจจะเกิดจากซอฟท์แวร์ของเรา
/flushdns ขจัด DNS Resolver ออกจาก cache.
/registerdns ทำการ Refreshes DHCP ทั้งหมด และ registers DNS names ใหม่
/displaydns แสดง DNS Resolver ทั้งหมดที่มีในอยู่ Cache.
/showclassid แสดง class IDs ทั้งหมดที่ DHCP ยอมให้กับการ์ดแลนใบนี้
/setclassid แก้ไข dhcp class id.

การใช้คำสั่ง Ping ตรวจสอบการเชื่อมต่อเครือข่าย

คำสั่ง Ping เป็นคำสั่งที่ใช้ในการตรวจสอบการเชื่อมต่อกับเครือข่ายระหว่างคอมพิวเตอร์แต่ละเครื่องที่อยู่ในเครือข่าย โดยคำสั่ง Ping จะส่งข้อมูลที่เป็นแพ็คเกจ 4 ชุดๆละ 32 Byte ไปยังคอมพิวเตอร์ปลายทางที่ต้องการตรวจสอบ หากมีการตอบรับกลับมาจากคอมพิวเตอร์เป้าหมายก็แสดงว่าการเชื่อมต่อเครือข่ายยังเป็นปกติ แต่หากไม่มีการตอบรับกลับมาก็แสดงว่าคอมพิวเตอร์ปลายทางหรือเครือข่ายอยู่ในช่วงหนาแน่น ดังนั้นจะเห็นว่าคำสั่ง Ping มีประโยชน์อย่างมากในการตรวจสอบสถานะการเชื่อมต่อเครือข่ายเบื้องต้นได้เป็นอย่างดี

ขั้นตอนการเรียกใช้งานมีดังนี้

1.คลิกปุ่ม Start > Run > พิมพ์ cmd เพื่อเรียกใช้งาน Command Prompt ดังรูป

2.เมื่อปรากฏหน้าต่าง Command Prompt ให้พิมพ์คำสั่ง ping ตามด้วยหมายเลข IP Address ของเครื่องคอมพิวเตอร์ที่ต้องการเข้าไปตรวจสอบลงไป จากนั้นกดปุ่ม Enter

3.หากมีการตอบรับกลับมาจากคอมพิวเตอร์ปลายทาง จะปรากฏคำสั่งเหมือนในกรอบสีแดง แสดงว่าคอมพิวเตอร์ทั้ง 2 เครื่องสามารถติดต่อสื่อสารกันได้ตามปกติ

4.แต่ถ้าปรากฏคำสั่ง “Request timed out” นั่นแสดงว่าคอมพิวเตอร์ทั้ง 2 เกิดปัญหาขัดข้องไม่สามารถติดต่อสื่อสารถึงกันได้ ซึ่งจะต้องทำการตรวจสอบการเชื่อมต่อเครือข่ายรวมถึงการตั้งค่าต่างๆให้ถูกต้อง แล้วลองใช้คำสั่ง Ping ตรวจสอบอีกครั้งครับ

ตัวเลือกเพิ่มเติมที่นิยมใช้ร่วมกันกับคำสั่ง Ping

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list] | [-w timeout] target_name

Options:
-t Ping ไปยัง Host ตามที่ระบุเรื่อยๆ จนกว่าจะสั่งยกเลิกโดยกดแป้น Ctrl-C.และหากต้องการดูสถิติให้กดแป้น Ctrl-Break
-a เปลี่ยนหมายเลข IP Address ของ Host เป็นชื่อแบบตัวอักษร
-n count Ping แบบระบุจำนวน echo ที่จะส่ง
-l size กำหนดขนาด buffer
-f ตั้งค่าไม่ให้แยก flag ใน packet.
-i TTL Ping แบบกำหนด Time To Live โดยกำหนดค่าตั้งแต่ 1-255
-v TOS กำหนดประเภทของบริการ (Type of service)
-r count Ping แบบให้มีการบันทึกเส้นทางและนับจำนวนครั้งในการ hops จนกว่าจะถึงปลายทาง
-s count Ping แบบนับเวลาในการ hop แต่ละครั้ง
-j host-list Loose source route along host-list.
-k host-list Strict source route along host-list.
-w timeout Ping แบบกำหนดเวลารอคอยการตอบรับ


Update



ระบบสื่อสารข้อมูล

ความรู้พื้นฐานเกี่ยวกับ TCP/IP

TCP/IP Protocal

โปรโตคอลมาตรฐานของระบบเครือข่าย

------------------------------------------------------------------------
ข่าวสาร IT
------------------------------------------------------------------------

โพรโตคอล ARP (Address Resolution Protocol)

เรื่อง โพรโตคอล ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) เป็นโพรโตคอลเป็นโพรโตคอลชนิดหนึ่งที่เป็นตัวกลางในการสื่อสารที่ทำหน้าที่หาแอดเดรสและจับคู่ระหว่างไอพีแอดเดรส ที่เชื่อมโยงเครือข่ายของระบบการขอหมายเลขไอพีแอดเดรสมาใช้บริการเพื่อให้สามารถสื่อสารกันระหว่างระบบเครือข่ายต่างๆได้ สามรถส่งข้อมูลระหว่างคอมพิวเตอร์ที่ติดต่อกัน โดยมีฮาร์ดแวร์สร้างเฟรมข้อมูลแล้วโพรโตคอล ARP จะนำข้อมุลเหล่านั้นเข้าที่เครื่อง host ในระบบเครือข่ายต่อไป

ในการสื่อสารใดๆ ก็ตาม จำเป็นต้องมีการสื่อสารผ่านตัวกลางในระดับ Physical เสมอ ซึ่่่่งเป็นระดับล่างสุดในการสื่อสาร สำหรับในโปรโตคอล TCP/IP ถือว่าเป็นชั้น Link Layer นั่นเอง การสื่อสารในระดับนี้เป็นการสื่อสารระหว่าง Hardware Interface ในเน็ตเวิร์คเดียวกัน ซึ่งมองข้อมูลเป็น Ethernet Frame เท่านั้น จะไม่สนใจว่าข้อมูลภายในเป็นอย่างไร มีต้นทางอยู่ที่ไหนหรือปลายทางไปหาใคร แต่สิ่งที่โปรโตคอลในชั้นนี้สนใจก็คือ ข้อมูลที่ Network Layer ส่งมาให้นั้น จะต้องส่งไปยัง Hardware Interface ไหน ซึ่งการระบุ Hardware Interface จะใช้เป็น MAC Address มีลักษณะเป็นเลขฐาน 16 ยาว 6 ไบต์ เช่น 23:43:AA:5B:32:2C ซึ่งจะไม่มีอุปกรณ์ที่มีหมายเลขนี้ซ้ำกันเด็ดขาด

ในกรณีที่มีการส่งข้อมูลจาก interface หนึ่ง ทุกๆ interface ที่อยู่ในเน็ตเวิร์คเดียวกันจะได้รับข้อมูล แต่มีเพียงอินเทอร์เฟสที่มี MAC Address ตรงกับ MAC Address ของผู้รับที่ระบุในเฟรมข้อมูลเท่านั้น ที่จะนำข้อมูลนั้นไปประมวลผล ดังนั้นในการส่งข้อมูลจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ฝั่งผู้ส่งจะต้องระบุ MAC Address ของผู้รับให้ถูกต้อง จึงจะสามารถส่งข้อมูลไปได้ สมมติว่า เครื่องคอมพิวเตอร์ ip 172.17.3.12 ต้องการติดต่อกับ 161.246.10.21 การทำงานในระดับ IP จะสั่งให้ ส่งข้อมูลไปยัง 172.17.3.1 ซึ่งเป็น default Router แต่ 172.17.2.12 จะรู้ได้อย่างไรว่า 172.17.2.12 มี MAC Address คืออะไร ?

จุดนี้เองที่จะต้องมีการใช้ ARP ในการสอบถาม MAC Address จากเครื่องที่เราต้องการส่งข้อมูล เมื่อได้รับ MAC Address ของผู้รับมาแล้วจึงสามารถเชื่อมต่อกับ เครื่องอีกฝั่ง เพื่อการสื่อสารในระดับสูงขึ้นไปได้

บทบาทของโพรโตคอล ARP

โพรโตคอล ARP (Address Resolution Protocol) ทำหน้าที่ในการหาแอดเดรส โดยบทบาทของโพรโตคอล ARP มีความสำคัญมาก เพราะโพรโตคอล ARP ทำหน้าที่ในการจับคู่ระหว่างไอพีแอดเดรส ซึ่งเป็นแอดเดรสทางลอจิคัลกับฮาร์ดแวร์แอดเดรสซึ่งเป็นแอดเดรสทางฟิสิคัล ทั้งนี้เนื่องจากระบบของการส่งข้อมูลในระบบไอพีนั้นเป็นระบบที่ไม่ขึ้นกับฮาร์ดแวร์ใด ๆ ซึ่งหมายความว่าระบบไอพีไม่มีความสามารถในการเรียกใช้ฮาร์ดแวร์ในการส่งข้อมูลด้วยตัวเอง ทำให้เมื่อระบบไอพีต้องการส่งข้อมูล จะต้องร้องขอบริการจากระดับชั้นดาต้าลิงค์ แต่เนื่องจากระดับชั้นดาต้าลิงค์ไม่รู้จักแอดเดรสในระบบไอพี ดังนั้นระบบไอพีจึงต้องทำการหาแอดเดรสที่ระดับชั้นดาต้าลิงค์รู้จัก ซึ่งก็คือฮาร์ดแวร์แอดเดรส เพื่อที่จะสร้างเฟรมข้อมูลในชั้นดาต้าลิงค์ได้ โดยโพรโตคอล ARP จะทำหน้าที่นี้การทำงานของ ARP เมื่อแพ็คเกตนำเข้าที่ระบุเครื่อง host ในระบบเครือข่ายมาถึง Gateway เครื่องที่ Gateway จะเรียกโปรแกรม ARP ให้หาเครื่อง host หรือ MAC address ที่ตรงกับ IP address โปรแกรม ARP จะหาใน ARP cache เมื่อพบแล้วจะแปลงแพ็คเกต เป็นแพ็คเกตที่มีความ ยาวและรูปแบบที่ถูกต้อง เพื่อส่งไปยังเครื่องที่ระบุไว้ แต่ถ้าไม่พบ ARP จะกระจาย แพ็คเกตในรูปแบบพิเศษ ไปยังเครื่องทุกเครื่องในระบบ และถ้าเครื่องใดเครื่องหนึ่งทราบว่ามี IP address ตรงกันก็จะตอบกลับมาที่ ARP โปรแกรม ARP จะปรับปรุง ARP cache และส่งแพ็คเกตไปยัง MAC address หรือเครื่องที่ตอบมาโพรโตคอล ARP ได้กำหนดไว้เป็นมาตรฐานภายใต้ RFC 826 โดยการทำงานของ ARP จะมีรูปแบบการทำงานในแบบ บรอดคาสต์ ดังนั้นเครือข่ายที่ใช้งานกับโพรโตคอล ARP ได้จึงต้องเป็นเครือข่ายที่มีการทำงานในแบบบรอดคาสต์ ซึ่งระบบแลนส่วนใหญ่จะมีการทำงานเป็นแบบบรอดคาสต์อยู่แล้ว จึงสามารถทำงานร่วมกับโพรโตคอล ARPได้เป็นอย่างดี และนอกเหนือจากโพรโตคอล ARP แล้วยังมีอีกโพรโตคอลหนึ่งที่ถือว่าเป็นโพรโตคอลคู่แฝดของ ARP โดยจะมีการทำงานที่ย้อนกลับกันกับโพรโตคอล ARP ดังนั้นจึงมีชื่อว่า RARP (Reverse ARP) โดยกำหนดไว้ภายใต้ RFC 903 โดยรูปแบบเฟรมของ ARP และ RARP จะมีลักษณะเหมือนกัน


สำหรับรายละเอียดของแต่ละฟิลด์ภายในเฟรม ARP นั้น มีดังต่อไปนี้

- Hardware มีขนาด 16 บิต บอกถึงชนิดของฮาร์ดแวร์ที่เออาร์พีทำงานอยู่ เช่น 1 หมายถึงเครือข่ายอีเทอร์เน็ต 4 หมายถึง เครือข่ายโทเคนริง เป็นต้น

- Protocol มีขนาด 16 บิต ทำหน้าที่บอกว่าเฟรม ARP นี้ถูกเรียกใช้จากโพรโตคอลใด

- HLEN มีขนาด 8 บิต ทำหน้าที่ระบุความยาวของฮาร์ดแวร์แอดเดรส ในกรณีของอีเทอร์เน็ตก็จะมีค่าเป็น 6

- PLEN มีขนาด 8 บิต ทำหน้าที่ระบุความยาวของแอด3604.เดรสของโพรโตคอลที่เรียกใช้ ซึ่งในกรณีนี้ที่เรียกจากระบบไอพี ก็จะมีค่าเป็น 4

- Operation มีขนาด 16 บิตทำหน้าที่ระบุการทำงานของ ARP โดยจะมี 4 ค่า คือ

o 1 หมายถึง ARP Request ใช้ในการค้นหาหมายเลขฮาร์ดแวร์แอดเดรส

o 2 หมายถึง ARP Replay ใช้ในการตอบกลับเพื่อบอกหมายเลขฮาร์ดแวร์แอดเดรส

o 3 หมายถึง RARP Request ใช้ในการค้นหาหมายเลขของโพรโตคอล

o 4 หมายถึง RARP Replay ใช้ในการตอบกลับเพื่อบอกหมายเลขของโพรโตคอล

- Source Hardware Address ใช้ในการเก็บค่าฮาร์ดแวร์แอดเดรสของผู้ส่ง ไม่จำกัดความยาว

- Destination Hardware Address ใช้ในการเก็บค่าฮาร์ดแวร์แอดเดรสของผู้รับ ไม่จำกัดความยาว

- Source Protocol Address ใช้ในการเก็บค่าแอดเดรสของโพรโตคอลที่เรียกใช้ในฝั่งผู้ส่ง ไม่จำกัดความยาว

- Destination Protocol Address ใช้ในการเก็บค่าแอดเดรสของโพรโตคอลที่เรียกใช้ในฝั่งผู้รับ ไม่จำกัดความยาว

การทำงานของโพรโตคอล ARP

การทำงานของโพรโตคอล ARP จะเริ่มขึ้นเมื่อระบบไอพีต้องการจะส่งแพ็กเกจออกไปยังเป้าหมาย สมมติว่าทำงานกับเครือข่ายอีเทอร์เน็ต ระบบไอพีจะต้องอาศัยเฟรมของอีเทอร์เน็ตในการส่ง แต่เนื่องจากกระบวนการในการส่งเฟรมอีเทอร์เน็ตจากต้นทางไปยังปลายทางนั้น จำเป็นต้องทราบฮาร์ดแวร์แอดเดรสของอุปกรณ์ต้นทาง และอุปกรณ์ปลายทาง

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


สมมติว่าคอมพิวเตอร์ A ต้องการติดต่อกับคอมพิวเตอร์ B จึงส่งแพ็กเกจ ARP เข้าไปในเครือข่ายแบบบรอดคาสต์ ซึ่งทุกเครื่องที่อยู่ในเครือข่ายก็จะได้รับแพ็กเกจนี้ทั้งหมดโดยฟิลด์ต่าง ในแพ็กเกจจะมีค่าตามรูปที่ 5 โดยฟิล์ด Hardware มีค่าเท่ากับ 1 หมายความว่าเป็นเครือข่ายอีเทอร์เน็ต ฟิลด์โพรโตคอลมีค่าเท่ากับ 0800h หมายถึงถูกเรียกจากโพรโตคอลไอพี ฟิลด์ HLEN

มีค่าเท่ากับ 6 หมายถึงฮาร์ดแวร์แอดเดรสของเครือข่ายอีเทอร์เน็ตยาว 6 ไบต์ ฟิลด์ PLEN เท่ากับ 4 หมายถึงความยาวของแอดเดรสของโพรโตคอลที่เรียกใช้ ซึ่งก็คือไอพีแอดเดรสมีความยาว 4 ไบต์ ฟิลด์ Operation เป็น 1 หมายถึงเป็นการส่งแบบ ARP Request จากนั้นจะเป็นฮาร์ดแวร์ 3619 แอดเดรสของผู้ส่งหมายเลขไอพีของผู้ส่ง สำหรับฟิลด์ฮาร์ดแวร์แอดเดรสของผู้รับนั้น จะมีค่าเป็น 00:00:00:00:00:00 เนื่องจากยังไม่ทราบว่าผู้รับมีฮาร์ดแวร์แอดเดรสเป็นเท่าไร และสุดท้ายคือ หมายเลขไอพีแอดเดรสของผู้รับ ซึ่งฟิลด์นี้จะเสมือนกับเป็นคำถามว่าเครื่องที่มีไอพีแอดเดรสนี้ มีฮาร์ดแวร์แอดเดรสเป็นเท่าใดคอมพิวเตอร์ทุกเครื่องในเครือข่ายล้วนได้รับแพ็กเกจนี้ เพราะเป็นการส่งแบบบรอดคาสต์ แต่จะมีเพียงเครื่องที่มีหมายเลขไอพีแอดเดรสตรงกับที่ระบุไว้ในฟิลด์หมายเลขไอพีของผู้รับเท่านั้น ที่จะรับเอาแพ็กเกจนี้ไปประมวลผลแล้วตอบกลับ ดังนั้นเมื่อเครื่องคอม

พิวเตอร์ได้รับแพ็กเกจดังกล่าวแล้ว จะต้องเปรียบเทียบกับหมายเลขไอพีแอดเดรสของตนเองว่าตรงหรือไม่ หากไม่ตรงก็จะทิ้งแพ็กเกจนั้นไป หากตรงก็จะรับเข้ามาแล้วตอบกลับในแบบยูนิคาสต์

จะเห็นได้ว่าคอมพิวเตอร์ B จะส่งแพ็กเกจ ARP กลับมายังคอมพิวเตอร์ A ในแบบยูนิคาสต์ ทั้งนี้เนื่องจากคอมพิวเตอร์ B ทราบอยู่แล้วว่าคอมพิวเตอร์ A มีหมายเลขฮาร์ดแวร์แอดเดรส

เป็นอะไร จากแพ็กเกจ ARP ที่ส่งมาก่อนหน้านี้ โดยมีรายละเอียดของฟิลด์ คือ ฟิล์ด Hardware มีค่าเท่ากับ 1 หมายความว่าเป็นเครือข่ายอีเทอร์เน็ต ฟิลด์โพรโตคอลมีค่าเท่ากับ 0800h หมายถึง

ถูกเรียกจากโพรโตคอลไอพี ฟิลด์ HLEN มีค่าเท่ากับ 6 หมายถึงฮาร์ดแวร์แอดเดรสยาว 6 ไบต์ ฟิลด์ PLEN เท่ากับ 4 หมายถึงความยาวของไอพีแอดเดรส 4 ไบต์ ฟิลด์ Operation เป็น 2 หมายถึงเป็น ARP Reply จากนั้นจะเป็นฮาร์ดแวร์แอดเดรสของผู้ส่งหมายเลขไอพีของผู้ส่ง ฮาร์ดแวร์แอดเดรสของผู้รับ และหมายเลขไอพีแอดเดรสของผู้รับจากรูปที่ 2 และ 5 นั้นเป็นตัวอย่างของการติดต่อภายในเครือข่ายเดียวกัน (Local Network) แต่หากเป็นการติดต่อกันข้ามเครือข่าย (Remote Network) แล้ว การทำงานจะต่างออกไปจากในรูปเล็กน้อย แต่การทำงานที่ต่างออกไปนั้น มิใช่ต่างออกไปเพราะโพรโตคอล ARP เอง แต่ต่างออกไปเพราะเมื่อระบบไอพีทราบว่าคอมพิวเตอร์ที่ติดต่อด้วย เป็นแอดเดรสที่เป็นเครือข่ายอื่น มันจะทำการติดต่อไปยังอุปกรณ์เลือกเส้นทาง แทนที่จะส่งไปยังเครื่องนั้นโดยตรง จากการทำงานของโพรโตคอล ARP ที่ผ่านมานั้น จะเห็นถึงประโยชน์ของโพรโตคอลนี้แล้ว แต่ในสภาพการใช้งานจริงนั้น จะต่างจากนี้เล็กน้อย กล่าวคือ ในการค้นหาฮาร์ดแวร์แอดเดรสนั้น จะไม่ค้นหาในทุก ๆ ครั้งของการส่งข้อมูลในระบบไอพี ทั้งนี้เนื่องจากในการส่งข้อมูลแต่ละครั้ง เช่น การส่งไฟล์ 1 ไฟล์นั้น โดยส่วนใหญ่จะไม่สามารถส่งให้เสร็จสิ้นในแพ็กเกจเดียวได้ ดังนั้นหากต้องการส่งข้อมูล 1 แพ็กเกจ จะต้องไปหาฮาร์ดแวร์แอดเดรส 1 ครั้งแล้ว ก็หมายความว่าหากต้องการส่ง 10 แพ็กเกจ ก็จะต้องไปหาฮาร์ดแวร์แอดเดรส 10 ครั้งด้วย ซึ่งนั่นหมายความว่าระบบไม่มีประสิทธิภาพแล้ว ดังนั้นเพื่อป้องกันปัญหานี้ ระบบปฏิบัติการที่ใช้ไอพี จึงสร้างแคช ARP (ARP Cache) เอาไว้ เพื่อทำหน้าที่เก็บค่าของฮาร์ดแวร์แอดเดรสที่ได้ค้นหาก่อนหน้านี้เอาไว้ เพื่อที่เมื่อจะส่งข้อมูลในครั้งต่อไป ไปยังคอมพิวเตอร์เครื่องเดิม จะได้ไม่ต้องส่งแพ็กเกจ ARP ไปถามอีก สามารถใช้จากแคช ARP ได้เลย สำหรับการเรียกดูข้อมูลจาก แคช ARP นั้น สามารถใช้คำสั่ง arp –a หรือ arp –g เรียกดูได้ อย่างไรก็ตามข้อมูลในแคชนั้นจะไม่เก็บอย่างถาวร โดยจะมีค่า Time Out ที่ขึ้นอยู่กับระบบ

ปฏิบัติการ Network Security, สำหรับโพรโตคอล RARP นั้น มีหน้าที่ตรงข้ามกับ ARP คือ ทำหน้าที่ค้นหาไอพีแอดเดรส จากค่าฮาร์ดแวร์แอดเดรส โดยส่วนใหญ่โพรโตคอล RARP จะใช้กรณีที่มีการขอหมายเลขไอพีแอดเดรส เช่น ในเครื่องประเภทที่เป็นแบบ Diskless ซึ่งไม่มีการกำหนดไอพีแอดเดรสเอาไว้เครื่องประเภทนี้ เมื่อบูตแล้วก็จะใช้โพรโตคอล RARP เพื่อขอหมายเลขไอพีแอดเดรสมาใช้งาน

กลไกการทำงานของ ARP

การทำงานของ ARP เป็นเรื่องไม่ซับซ้อน มีเพียง 2 ขั้นตอนเท่านั้นคือ

1. เครื่องที่ต้องการสอบถาม MAC Address ส่ง ARP packet เรียกว่า ARP Request ซึ่งบรรจุ IP , MAC Address ของตนเอง และ IP Address ของเครื่องที่ต้องการทราบ MAC Address ส่วน MAC Address ปลายทางนั้น จะถูกกำหนดเป็น FF:FF:FF:FF:FF:FF ซึ่งเป็น Broardcast Address เพื่อให้ ARP packet ถูกส่งไปยังเครื่องทุกเครื่องที่อยู่ในเน็ตเวิร์คเดียวกัน


2. เฉพาะเครื่องที่มี IP Address ตรงกับที่ระบุใน ARP Packet จะตอบกลับมาด้วย ARP Packet เช่นกัน โดยใส่ MAC Address และ IP Address ของตนเองเป็นผู้ส่ง และใส่ MAC Address และ IP Address ของเครื่องที่ส่งมาเป็นผู้รับ packet ที่ตอบกลับนี้เรียกว่า ARP Reply


กระบวนการ ARP จะเกิดขึ้นทุกครั้งที่มีการส่ง IP datagram และกระบวนการ ARP ก็กินเวลารับส่งข้อมูลและทรัพยากรในเน็ตเวิร์คพอสมควร โดยเฉพาะในจุดที่ต้องมีการ Broadcast ARP Request ซึ่งหากเป็นเช่นนั้น แบนวิธ์อันมีค่าของเน็ตเวิร์คคงหมดไปกับ ARP Packet ที่วิ่งพล่านในสายเคเบิ้ลแน่ๆ จึงมีการออกแบบบัฟเฟอร์เป็นตารางจับคู่ ระหว่าง ARP กับ IP Address เพื่อไม่ต้องส่ง ARP Request / Reply ทุกครั้งที่จะทำการส่ง IP datagram แต่ IP Address นั้นเป็นสิ่งที่ผู้ใช้กำหนดขึ้น เป็น Logical ซึ่งสามารถเปลี่ยนแปลงได้ ดังนั้น ข้อมูลในตารางนี้จึงต้องมีอายุการใช้งาน โดยทั่วไป กำหนดให้เป็นเวลา 20 นาที เมื่อหมดเวลาแล้ว หากจะส่ง IP Datagram ครั้งต่อไป จะต้องทำการส่ง ARP Request ใหม่ ท่านสามารถเรียกดู ARP cache ในระบบปฏิบัติการ Linux ได้ด้วยคำสั่ง

ข้อดีของโพรโตคอล ARP

1. การส่งข้อมูลจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง จึงจะต้องระบุ MAC Address ของผู้รับให้จะ

สามารถส่งข้อมูลไป

2. การใช้ ARP ในการสอบถาม MAC Address จากเครื่องที่เราต้องการส่งข้อมูล เมื่อได้รับ MAC

Address ของผู้รับมาแล้วจึงสามารถเชื่อมต่อกับเครื่องอีกฝั่งเพื่อการสื่อสารในระดับสูงขึ้นไปได้

3. เนื่องจากระบบไอพีแอดเดรสไม่มีความสามารถในการเรียกใช้ฮาร์ดแวร์ในการส่งข้อมูลด้วย

ตนเองจึงมีโพรโตคอล ARP เป็นตัวกลางเพื่อร้องขอบริการระดับชั้นดาต้าลิงค์

4. สามารถใช้โพรโตคอล ARP เชื่อมต่อระบบเครือข่ายในการส่งเฟรมข้อมูลได้

5. เป็นแอดเดรสที่ทำการติดต่อไปยังอุปกรณ์เลือกเส้นทางแทนที่จะส่งไปยังเครื่องนั้นโดยตรง

ข้อเสียของโพรโตคอล ARP

1. เป็นโพรโตคอลที่ต้องใช้ในการจดจำหมายเลขเพื่อส่งข้อมูลติดต่อกันฮาร์ดแวร์แอดเดรสของ

อุปกรณ์ปลายทางระหว่างเครือขาย

2. ในการค้นหาฮาร์ดแวร์แอดเดรสนั้น จะไม่ค้นหาในทุก ๆ ครั้งของการส่งข้อมูลในระบบไอพี

ทั้งนี้เนื่องจากในการส่งข้อมูลแต่ละครั้ง

3. กระบวนการ ARP จะเกิดขึ้นทุกครั้งที่มีการส่ง IP datagram และกระบวนการ ARP ก็กินเวลา

รับส่งข้อมูลและทรัพยากรในเน็ตเวิร์คพอสมควร โดยเฉพาะในจุดที่ต้องมีการ Broadcast ARP

Request ซึ่งหากเป็นเช่นนั้น แบนวิธ์อันมีค่าของเน็ตเวิร์คคงหมดไปกับ ARP Packet ที่วิ่ง

พล่านในสายเคเบิ้ล

4. มีอุปกรณ์หลายอย่างที่เกี่ยวข้องในเชื่อมระบบเครือข่าย

5. ARP Cache ไม่สามารถเก็บข้อมูลแคช ARP ได้อย่างถาวร


ประโยชน์และการนำไปประยุกต์ใช้ในทางสร้างสรรค์

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

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

จะเห็นได้ว่าโพรโตคอล ARP สามารถเป็นตัวกลางในการเชื่อมต่ออุปกรณ์อื่นๆให้ทำงานร่วมกันได้สามารถติดต่อสื่อสารระหว่างระบบเครือข่ายได้โดยอาศัยตัวกลางคือโพรโตคอล ARP ที่ทำหน้าที่ค้นหาหมายเลขจากฮาร์ดแวร์ โดยส่งข้อมูลเป็นแพกเก็จไปยังไอพีแอดเดรส และทำการเชื่อมโยงเครือข่ายส่งข้อมูลสื่อสารกันได้