ถ้าอย่างนั้นการไหลของข้อมูลจะอย่างไรถ้าอุปกรณ์ A ส่งทราฟฟิกไปยังอุปกรณ์ C
ดังนั้นขอยกตัวอย่างเช่นอุปกรณ์ A ส่ง Ping อุปกรณ์ C
ดังนั้นในโฮสต์ A หรืออุปกรณ์ A คำสั่ง ping 10 1 1 2 ถูกใช้
การรับส่งข้อมูลจะเป็นอย่างไรตอนนี้สิ่งสำคัญที่ต้องจำไว้คือ IP
คือเทคโนโลยีเลเยอร์ 3
ที่อยู่ Mac
นั้นถูกใช้ที่เลเยอร์ 2 ดังนั้นพีซี A จำเป็นต้องมีการจับคู่ระหว่างที่อยู่
IP
ของเลเยอร์ 3 และที่อยู่
MAC ของเลเยอร์ 2 นั่นเป็นเพราะอีเทอร์เน็ตถูกใช้ในสภาพแวดล้อมนี้และแพ็คเก็ตต้องห่อหุ้มที่ชั้น 2 .
ดังนั้นในอีเธอร์เน็ตจำเป็นต้องเพิ่มที่อยู่ MAC ที่ชั้น 2
ดังนั้นจุดนี้พีซี A จึงไม่ทราบที่อยู่ MAC ที่เชื่อมโยงกับที่อยู่ IP
10 1 1 2
อีเธอร์เน็ตอีกครั้งเป็นเทคโนโลยีเลเยอร์ 2 และต้องการการใช้ที่อยู่
MAC เมื่อการรับส่งข้อมูลถูกส่งไปยังเซ็กเมนต์อีเทอร์เน็ตดังนั้นก่อนที่ A สามารถส่งทราฟฟิกไปยังเซ็กเมนต์เครือข่ายที่จำเป็นต้องทราบที่อยู่ MAC ที่เชื่อมโยงกับที่อยู่
IP 10
1 1
2 ฉันจำได้ว่าในแบบจำลอง OSI
แต่ละเลเยอร์เป็นอิสระจากเลเยอร์อื่นและเลเยอร์ที่ต่ำกว่าห่อหุ้มชั้นที่สูงกว่า
ดังนั้น PC A จะเรียนรู้ที่อยู่ MAC ของ PC C ได้อย่างไร
ทำได้โดยใช้โปรโตคอลที่เรียกว่า Address Resolution Protocol หรือ ARP สิ่งแรกที่ PC A
ทำคือตรวจสอบแคช ARP ในเครื่องเพื่อดูว่ามีการทำแผนที่รายการที่อยู่ IP 10
อยู่แล้วหรือไม่
1 1 2 ถึงที่อยู่ MAC
หากไม่มีรายการที่มีอยู่ในแคชเครื่องท้องถิ่นมันจะส่งการออกอากาศเพื่อลองและหาผู้ที่มีที่อยู่ IP
1 1 2 และข้อความนั้นเรียกว่าข้อความคำขอ ARP
ในตัวอย่างนี้ PC A และ PC C
อยู่ในซับเน็ตเดียวกันดังนั้น PC A จะส่งการออกอากาศไปยังเครือข่ายย่อยในพื้นที่เพื่อขอที่อยู่ MAC ของ
PC C โดยใช้ ARP
คำขอ ARP
มีลักษณะดังนี้ที่อยู่ MAC ต้นทางในตัวอย่างนี้คือ
A
เนื่องจากเฟรมถูกส่งโดย A ที่อยู่ Mac ปลายทางคือการออกอากาศ
เนื่องจาก A ไม่ทราบว่าใครมีที่อยู่ IP 10 1 1
2 ดังนั้นคำขอ ARP จึงเป็นข้อความที่ถามว่าใครมีที่อยู่ IP นี้
ดังนั้นที่อยู่ IP ที่อ้างอิงในแพ็คเก็ตคือ 10 1 1 2 ที่อยู่ IP
ต้นทางคือ 10 1 1 1 ที่อยู่
MAC ของแหล่งที่มาคือ A และที่อยู่ MAC ของปลายทางคือการออกอากาศที่เลเยอร์ 2
เพียงแค่กล่าวย้ำอีกครั้งนี่คือเลเยอร์ 2
ของข้อความและนี่คือเลเยอร์ 3 ของข้อความตามโมเดล OSI
ตอนนี้ก่อนดำเนินการกับตัวอย่างของเราฉันต้องการแสดงตัวอย่าง ARP
หรือ Address Resolution Protocol
ดังนั้นบนพีซีของฉันฉันสามารถพิมพ์คำสั่ง arp-a และฉันจะเห็นแคช ARP ในพื้นที่ของฉันที่อยู่ IP ของฉันคือ
10 0 0 3 และอย่างที่คุณเห็นที่นี่ฉันได้เรียนรู้ที่อยู่ IP
เป็น 10 0 0 254 แบบไดนามิก
นอกจากนี้ยังมีรายการคงที่ในแคช ARP เป็นตัวอย่างนี่คือที่อยู่ออกอากาศที่ชั้น
3 ซึ่งเป็น
255 255 255 255 และที่อยู่เลเยอร์ 2 คือ 8Fs ดังนั้นสำหรับการออกอากาศเลเยอร์
3 ที่ 255 255 255 255
ที่อยู่เลเยอร์ 2 ที่เทียบเท่ากันคือ 8Fs
ในตัวอย่างนี้เรามีที่อยู่ MAC แบบไดนามิกเพียง 1
แห่งในแคช ARP
ในเครื่องพีซีของฉันดังนั้นคำสั่ง ip config จะแสดงที่อยู่ IP ของฉัน
ในตัวอย่างนี้เราสามารถเห็นที่อยู่ IPv6 ของฉันซึ่งก็คือ 2001: 20 :: 2 และที่อยู่ IPv4 ของฉันที่
10 0 0
3 ในขณะนี้เรามุ่งเน้นที่ที่อยู่ IPv4 เท่านั้น
ดังนั้นคุณสามารถเห็นเกตเวย์เริ่มต้นของฉันซึ่งจะตั้งค่าเป็น 10 0 0
254 ดังนั้นแคช ARP ของฉันจึงแสดงแผนที่ของที่อยู่เกตเวย์เริ่มต้นของฉันไปยังที่อยู่
MAC ที่เกี่ยวข้อง
ดังนั้นคำสั่ง arp - d จะอนุญาตให้ฉันลบรายการ ARP ในแคช ARP ในเครื่องของฉัน
arp - รายการนั้นแสดงรายการแบบไดนามิกเดียวดังนั้นฉันจะลบแคช ARP อีกครั้ง
และตอนนี้คุณสามารถเห็นได้ว่าไม่มีรายการในแคช ARP
ฉันจะทำเช่นนั้นอีกครั้งและสังเกตว่ารายการนั้นปรากฏขึ้นอีกครั้งและนั่นเป็นเพราะฉันกำลังส่งปริมาณข้อมูลจากพีซีในพื้นที่ของฉันไปยังเกตเวย์เริ่มต้นของฉัน
ฉันจะทำเช่นนั้นอีกครั้งดังนั้น arp - a จะแสดงที่อยู่ที่ออกอากาศโดยตรงสำหรับซับเน็ตนี้ซึ่งคือ 10
0 0
255 ตอนนี้ฉันจะ ping ที่อยู่ IP อีก 10 รายการ 0 0 123
ดังนั้นจึงไม่มีรายการ ARP สำหรับที่อยู่ IP นี้
แต่สังเกตว่าเมื่อฉัน ping, ping สำเร็จและถ้าฉันดูแคช ARP
อีกครั้งคุณจะสังเกตเห็นว่ามีการเพิ่มรายการ ARP สำหรับ IP
ที่เพิ่ม 10 0 0 123
ตอนนี้เป็นอีกที่อยู่ IP ที่กำหนดค่าในเราเตอร์ท้องถิ่นของฉัน
ดังนั้นที่อยู่ MAC ที่แก้ไขจึงเป็นที่อยู่ MAC เดียวกับที่อยู่ IP
10 0 0 254
ถ้าฉันลบแคช ARP อีกครั้งดังนั้น arp -
d สังเกตว่าไม่พบรายการในแคช ARP แต่ก็ยังไม่มีรายการ
มาปิง 10 0 0 123 การ
ping สำเร็จและถ้าเราดูแคช ARP อีกครั้งให้สังเกตว่ามีรายการและแคช ARP สำหรับที่อยู่
IP 10 0 0 123 ถ้าฉัน ping
เกตเวย์เริ่มต้นของฉันเป็น 10 0 0
254 ซึ่งก่อนหน้านี้ไม่มีรายการในแคช ARP ที่ฉันสามารถดูได้โดยใช้คำสั่ง
arp - ซึ่งมีการสร้างที่อยู่
IP ไปยังรายการที่อยู่ MAC
ดังนั้นคุณธรรมของเรื่องราวคืออะไร?
ก่อนที่จะสามารถส่งทราฟฟิกไปยังที่อยู่ IP ใน ARP เซกเมนต์ท้องถิ่นจำเป็นต้องสร้างการแมประหว่างที่อยู่
IP ของเลเยอร์ 3 และ
MAC 2 ของเลเยอร์
Wireshark เป็นเครื่องมือในการดมกลิ่นที่ช่วยให้คุณสามารถจับการจราจรของสายไฟในท้องถิ่นเพื่อดูว่าเกิดอะไรขึ้น
มันเป็นเครื่องมืออันล้ำค่าสำหรับวิศวกรเครือข่ายลองใช้ Wireshark เพื่อดูว่าเกิดอะไรขึ้นในตัวอย่างนี้ดังนั้นสิ่งแรกที่ฉันจะทำคือเริ่มจับภาพใน
Wireshark ดังนั้นบนอินเตอร์เฟส Ethernet ของฉันฉันจะเริ่มจับเฟรมฉันจะลบ
ARP cache ดังนั้นตอนนี้ไม่พบรายการในแคช
ARP ฉันจะ ping
0 0
254 และมาดูที่แคช ARP อีกครั้งหลังจากดูที่แคช
ARP เราจะเห็นว่ามีการเพิ่มรายการสำหรับที่อยู่นั้นและตอนนี้ฉันจะส่ง ping
0 0
123 ดังนั้นตอนนี้ arp - a
แสดงรายการ 2 รายการเหล่านั้นในแคช ARP
ลองหยุดการจับภาพและลองค้นหารายการ ARP ดังที่คุณเห็นนี่คือการออกอากาศที่ส่งจากอุปกรณ์ท้องถิ่นของฉันโปรโตคอลที่ใช้คือ ARP และฉัน ถามว่าใครมีที่อยู่
IP 10 0 0 254 บอก
10 0 0
3 พีซีในพื้นที่ของฉันดังนั้นที่เลเยอร์ 2
คุณจะเห็นว่าที่อยู่ปลายทางคือการออกอากาศที่อยู่ต้นทางคือเครื่องท้องถิ่นของฉันซึ่งเป็นคำขอ ARP
นี่คือประเภทอีเธอร์สำหรับ ARP 0x0806
และดูโปรโตคอลการแก้ไขที่อยู่สำหรับข้อมูล ARP
สังเกตว่าเรากำลังมองหาที่อยู่ IP 10 0 0 254
ที่อยู่ MAC ของผู้ส่งเป็นเครื่องในท้องถิ่นของฉันไม่ทราบที่อยู่
MAC เป้าหมายและเรากำลังมองหาที่อยู่ IP
10 0 0
254 เมื่ออุปกรณ์ตอบกลับโดยใช้ข้อความตอบกลับ ARP ฉันจะสามารถ
ping อุปกรณ์นั้น
ดังนั้นในการจับภาพ Wireshark คุณสามารถเห็นว่าฉันกำลังส่งเสียงสะท้อนเพื่อให้คุณเห็นคำขอ ICMP
echo ping
และฉันได้รับการตอบกลับหรือตอบกลับแล้ว
การลงต่อไปฉันจะเห็นคำขอ ARP สำหรับที่อยู่ IP 10
0 0
123 ปลายทางเลเยอร์ 2 เป็นการออกอากาศแหล่งที่มาคือที่อยู่ MAC ในเครื่องและเรากำลังร้องขอที่อยู่
MAC เป้าหมายในคำอื่น ๆ ที่มีที่อยู่ IP
10 0 0 123
การตอบกลับเป็นแบบ unicast เนื่องจากอุปกรณ์ถูกส่งคำขอ arp
เพื่อทราบว่าคำขอ arp มาจากไหน
ดังนั้นปลายทางที่เลเยอร์ 2 คือเครื่องของฉัน
แหล่งที่มาคือผู้ส่งเราเตอร์ท้องถิ่นของฉันที่อยู่ IP ผู้ส่ง Mac,
ที่อยู่ MAC เป้าหมาย, ที่อยู่ IP เป้าหมาย
ในกรณีนี้ฉันกำลังสื่อสารโดยตรงกับเราเตอร์ในพื้นที่ของฉันแทนที่จะส่งทราฟฟิกผ่านเราเตอร์ดังนั้นที่อยู่ MAC และที่อยู่
IP ที่ใช้ในตัวอย่างนี้คือเครื่องท้องถิ่นและเราเตอร์ท้องถิ่น
คุณสามารถดูผลลัพธ์ได้ที่นี่ว่าที่อยู่ MAC ของผู้ส่งคือเราเตอร์ของ Cisco
ที่อยู่ IP คือ 10 0 0 ที่อยู่
MAC เป้าหมาย 123 รายการคือแล็ปท็อปท้องถิ่นของฉันพร้อมที่อยู่ IP
เป้าหมาย 10 0 0 3