แล้วจะเกิดอะไรขึ้นถ้าตอนนี้ A ต้องการ ping อุปกรณ์ระยะไกลในซับเน็ตแยกกัน
ตัวอย่างเช่นตอนนี้ A พร้อมที่อยู่ IP 10 1 1 1 ต้องการ
ping อุปกรณ์ B พร้อมที่อยู่ IP 10 1 2
1 ในตัวอย่างเหล่านี้ฉันกำลังพูดถึง ICMP หรือการรับส่งข้อมูล
ping แต่สิ่งที่คล้ายกันจะเกิดขึ้นหากคุณส่ง
HTTP, FTP หรือการรับส่งข้อมูลอื่น ๆ
สิ่งสำคัญที่ควรทราบที่นี่คืออุปกรณ์เหล่านี้อยู่ในเครือข่ายย่อยที่แยกต่างหากที่เราใช้มาสก์ / 24
ในโทโพโลยีนี้
ดังนั้นโฮสต์ A ไม่ได้อยู่ในซับเน็ตเดียวกันกับโฮสต์ B
ตอนนี้สิ่งแรกที่พีซีจะทำคือการตรวจสอบว่าที่อยู่ IP ที่พยายามสื่อสารด้วยอยู่ในซับเน็ตแยกต่างหากหรือในซับเน็ตเดียวกันกับตัวเอง
มันทำเช่นนี้โดยการทำตรรกะสิ้นสุดโดยใช้หน้ากากเครือข่าย
ดังนั้นในกรณีนี้เราได้ / 24 ปิดบังที่อยู่ IP ของพีซี A
คือ 10 1 1 1
และพยายามปิงที่อยู่ IP 10 1 2 1/24
ในเครื่องหมายทศนิยมแบบประมีลักษณะเช่นนี้ 255 255 255 0
ซึ่งหมายความว่าส่วนเครือข่ายเป็น 3 octets แรกของที่อยู่
ดังนั้นพีซีท้องถิ่น 10 1 1
1 เปรียบเทียบส่วนเครือข่ายกับอุปกรณ์ที่พยายามสื่อสารด้วยเพื่อตรวจสอบว่าอุปกรณ์นั้นอยู่ในพื้นที่หรือระยะไกล
ในกรณีนี้ส่วนเครือข่ายของที่อยู่จะแตกต่างกัน
ดังนั้นพีซีในพื้นที่รู้ว่าอุปกรณ์ระยะไกลอยู่ในเครือข่ายย่อยที่แตกต่างกันไปเองและมันจะส่งทราฟฟิกไปยังเกตเวย์เริ่มต้นเพื่อไปยังเครือข่ายย่อยระยะไกลที่อุปกรณ์อยู่
ในตัวอย่างนี้เราสมมติว่าอุปกรณ์ A
มีเกตเวย์เริ่มต้นที่กำหนดค่าไว้
ดังนั้นอุปกรณ์ A ได้รับการกำหนดค่าด้วยเกตเวย์เริ่มต้นของเราเตอร์ 10
1 1
ดังนั้นพีซีจะตรวจสอบก่อนว่ามีที่อยู่ MAC ของเราเตอร์ในแคช
ARP ในเครื่องหรือไม่เพราะมันต้องส่งทราฟฟิกไปยังเราเตอร์
และเนื่องจากนี่เป็นเซ็กเมนต์อีเทอร์เน็ตจึงจำเป็นต้องใช้ที่อยู่เลเยอร์ Mac 2
สำหรับการสื่อสาร
อีเธอร์เน็ตต้องการให้ใช้ที่อยู่ MAC อีกครั้งที่ชั้น
2 เพื่อการส่งผ่านเครือข่ายอีเธอร์เน็ต
ดังนั้นในเลเยอร์ 2 จำเป็นต้องใช้ที่อยู่ Mac ของพีซีพีซีจะได้รับการกำหนดค่าด้วยเกตเวย์เริ่มต้นที่
10 1 1
100 ซึ่งเป็นที่อยู่ IP
ที่เลเยอร์ 3 แต่ที่อยู่
MAC ของเกตเวย์เริ่มต้นจะไม่ได้รับการกำหนดค่าบนพีซีดังนั้นจึงไม่มีรายการบนพีซีท้องถิ่นสำหรับที่อยู่ MAC
ของเกตเวย์เริ่มต้นจึงต้องส่ง ออกอากาศไปยังกลุ่มที่ถามว่าใครมีที่อยู่
IP 10
1 1
100 กล่าวอีกนัยหนึ่งนี่คือคำขอ ARP
ที่กำลังมองหาที่อยู่ MAC ที่เชื่อมโยงกับที่อยู่ IP ของเกตเวย์เริ่มต้น
เมื่อฮับได้รับการออกอากาศมันจะท่วมมันออกจากพอร์ตทั้งหมดยกเว้นพอร์ตที่พวกเขามาถึง PC C จะได้รับการออกอากาศที่เลเยอร์ 2
แต่เมื่ออ่านข้อมูลเลเยอร์
3 จะเห็นว่านี่คือ ARP
สำหรับ 10 .
1 1 100 ซึ่งไม่ใช่ที่อยู่ IP
ดังนั้นพีซี C จึงจะลดลงตามคำขอ ARP
อย่างไรก็ตามเราเตอร์จะดำเนินการตามคำขอ ARP
ประการแรกมันจะได้รับทราฟฟิกที่เลเยอร์ 2
เพราะนี่เป็นการออกอากาศและเมื่อมันอ่านข้อมูลเลเยอร์ 3 มันจะเห็นว่านี่เป็นคำขอ ARP
สำหรับ IP address
ดังนั้นเราเตอร์จะตอบกลับด้วยการตอบกลับ ARP ไปยังคำขอ PC A ARP
การตอบกลับ ARP เป็นที่อยู่ unicast ดังนั้นที่อยู่ MAC ของแหล่งที่มาคือ
G ที่อยู่ MAC ของเราเตอร์ที่อยู่ MAC ปลายทางคือที่อยู่
IP ต้นทางคือที่อยู่
IP ของปลายทางของที่อยู่ IP ของเราเตอร์คือที่อยู่ IP
ฮับจะท่วมทราฟฟิกของพอร์ตทั้งหมดอีกครั้งยกเว้นพอร์ตที่มาถึง
C จะดรอปเฟรมเพราะมันไม่ได้กำหนดไว้กับตัวเอง
สังเกตุในกรอบที่อยู่ MAC ปลายทางคือ A แต่ที่อยู่
MAC ของพีซีคือ C ดังนั้นมันจะดรอปเฟรม
และสิ่งสำคัญที่ควรทราบคือการ์ดเครือข่ายอินเทอร์เฟซที่วางเฟรมไม่ใช่ซีพียูกลางของพีซี
A จะได้รับเฟรมและเมื่อได้รับจะประมวลผลเฟรมเพราะที่อยู่ MAC
ปลายทางนั้นเป็นของตัวเอง
ดังนั้นในเลเยอร์ 2 เฟรมจึงได้รับการยอมรับจาก NIC หรือการ์ดเชื่อมต่อเครือข่าย
ข้อมูลเลเยอร์ 2 จะถูกสตริปและส่งต่อไปยังโปรโตคอลชั้นสูง
เพราะนี่คือการตอบกลับ ARP โดยโพรโทคอลเลเยอร์สูงและแคช ARP ได้รับการอัปเดตด้วยที่อยู่ MAC ของเราเตอร์ดังนั้นพีซี A ในขณะนี้จึงมีการจับคู่กับที่อยู่
IP 10
1 1
100 ใช้ที่อยู่ MAC G ดังนั้นสิ่งนี้จึงสำคัญ PC A รู้ว่าที่อยู่ IP
10 1 1 100 เกี่ยวข้องกับที่อยู่ MAC G.
ดังนั้นพีซีสามารถส่งทราฟฟิกไปยังเครือข่ายที่กำหนดไว้สำหรับพีซีระยะไกล 10 1 2 1 ที่มีที่อยู่ IP ต้นทางตั้งไว้ที่
10 1 1
1 ตัวเอง แต่โปรดสังเกตว่าที่อยู่ MAC
ต้นทางคือพีซีในท้องถิ่นและที่อยู่ MAC ปลายทางคือเราเตอร์
เฟรมเลเยอร์ 2 ไปที่เราเตอร์ดังนั้นข้อมูลเลเยอร์ 2 จึงมีที่อยู่
MAC ของเซกเมนต์ในเครื่อง
แหล่งที่อยู่ MAC ของพีซีปลายทางของที่อยู่ MAC ของเราเตอร์
ข้อมูลเลเยอร์ 3 ประกอบด้วยที่อยู่ IP
ปลายทางของโฮสต์ระยะไกลและที่อยู่ IP ของพีซีในเครื่อง
ฮับจะท่วมเฟรมทั้ง c และ G, C จะลดเฟรมเนื่องจากที่อยู่
MAC ปลายทางไม่ใช่ตัวเราเตอร์จะรับเฟรมที่เลเยอร์ 2
เนื่องจากปลายทางไปยังที่อยู่ MAC
ของ G
จากนั้นจะดึงข้อมูลเลเยอร์ 2 และอ่านข้อมูลเลเยอร์
3 ในแพ็คเก็ต
ดังนั้นตอนนี้ลองมาดูตัวอย่างที่ใช้งานได้จริงฉันจะจับการจราจรใน Wireshark
ดังนั้นฉันจะเริ่มต้นการจับภาพฉันจะล้างแคช ARP ของฉันดังนั้น arp-a
แสดงให้เห็นว่าไม่มีรายการอยู่ในแคช ARP ในขณะนี้ แล้วฉันจะ ping
hp แจ้งให้ทราบล่วงหน้าว่ามีการแก้ไข
DNS เกิดขึ้นข้อความ ICMP หมดเวลาเนื่องจากไฟร์วอลล์กำลังบล็อกข้อความ
ICMP ไปยังเซิร์ฟเวอร์นั้น
ดังนั้นนี่เป็นอีกตัวอย่างลอง ping Google com
การสังเกตการปิงสำเร็จแล้วดังนั้นฉันจะหยุดการดักจับ
HP ใช้ที่อยู่ IP ในช่วง 15
ดังนั้นมาดูการรับส่งข้อมูล ICMP นั้นเพื่อแจ้งให้ทราบว่ามีข้อความ ICMP
ไปที่ hp com
และคุณจะเห็นว่าเพราะที่อยู่คือ 15
และ HP เป็นเจ้าของที่อยู่ IP 15 ช่วง
เราไม่ได้รับคำตอบจากเซิร์ฟเวอร์ แต่คำขอ echo ถูกส่งไปแล้ว
สิ่งที่ฉันต้องการให้คุณดูคือที่ชั้น 2 ที่อยู่ MAC
ต้นทางคือพีซีในพื้นที่ของฉัน
แต่ที่อยู่ MAC ปลายทางคือเราเตอร์ท้องถิ่นของฉัน
สังเกตุฉันเห็นว่านี่เป็นอุปกรณ์ของซิสโก้เพราะที่อยู่ MAC แสดงเป็นซิสโก้สำหรับ
OUI หรือส่วนผู้ขายของที่อยู่
เราจะเห็นว่าโดยการพิมพ์ arp-a ประกาศที่อยู่
MAC นี้คือที่อยู่ MAC ที่เชื่อมโยงกับที่อยู่ IP
10 0 0 254
การกำหนดค่า IP แสดงให้เราเห็นว่าเป็นที่อยู่ IP ของเกตเวย์เริ่มต้น
การรับส่งข้อมูลจึงเกิดขึ้นจากพีซีของฉันไปยัง hp
com แต่เราเตอร์ท้องถิ่นของฉันถูกกำหนดเส้นทาง
ที่เลเยอร์ 3 เรามีที่อยู่ IP
ของพีซีในเครื่องที่อยู่ IP ปลายทางคือ hp แต่ที่ชั้น
2 ที่อยู่ MAC
ต้นทางคือพีซีของฉันและที่อยู่ MAC ปลายทางคือเราเตอร์ท้องถิ่น
และอีกครั้งส่งการรับส่งข้อมูลไปยังเกตเวย์เริ่มต้นภายในเครื่องของฉันที่ชั้น 2
ฉันสามารถกรองการจับภาพ Wireshark เพื่อแสดงเฉพาะการรับส่งข้อมูล ICMP อีกครั้ง
ทราฟฟิกจะไปที่ Google ดังนั้นที่อยู่ IP ต้นทางคือที่อยู่
IP ของเครื่องปลายทางของฉันคือ Google
แต่สังเกตที่เลเยอร์ 2
ที่อยู่ MAC ต้นทางคือพีซีในเครื่องของฉันและที่อยู่ MAC ปลายทางคือเราเตอร์ในเครื่อง